diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 63fe195530..a24595c0e8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -61,6 +61,8 @@ jobs: channel: 'stable' - name: Install project dependencies run: flutter pub get + - name: Install xcode platform support for iOS + run: xcodebuild -downloadPlatform iOS - name: Build for iOS working-directory: ./example run: flutter build ios --release --no-codesign diff --git a/CHANGELOG.md b/CHANGELOG.md index edac0eccd1..977d012d22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,22 @@ # Changelog +[1.2.0] - 2025-09-13 + +* [Android] upgrade compileSdk to 36 as standard for 16kb pages support (#1925) +* [Apple/Android] Local recording API for Darwin and Android (#1880) +* [Apple/Android] Data Packet Cryptor Support. + +[1.1.0] - 2025-08-20 + +* [Apple/Android] feat: Add H265/HEVC support. +* [Mobile/Desktop] feat: Support write logs with Logger (logger package) (#1891) +* [Android] fix: Reduce Recording Stop Delay and Prevent Encoder OOM Crashes (Android) (#1912) +* [Native/Web] feat: small setVolume addition (#1904) +* [Web] feat: Add texture-based video rendering for web (#1911) +* [Android] fix: RECORDINGS - Add fallback resolutions for unsupported stream frame sizes on low-end Android devices (#1900) +* [Android] fix: Update proguard-rules.pro (#1902) + [1.0.0] - 2025-07-25 * Bump version to 1.0.0 diff --git a/android/build.gradle b/android/build.gradle index 0d6571a581..d70364d663 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,7 +2,7 @@ group 'com.cloudwebrtc.webrtc' version '1.0-SNAPSHOT' buildscript { - ext.kotlin_version = '1.7.10' + ext.kotlin_version = '1.8.10' repositories { google() mavenCentral() @@ -29,7 +29,7 @@ android { if (project.android.hasProperty("namespace")) { namespace 'com.cloudwebrtc.webrtc' } - compileSdkVersion 31 + compileSdkVersion 36 defaultConfig { minSdkVersion 21 @@ -47,12 +47,12 @@ android { } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = JavaVersion.VERSION_1_8 } } dependencies { - implementation 'io.github.webrtc-sdk:android:137.7151.01' + implementation 'io.github.webrtc-sdk:android:137.7151.04' implementation 'com.github.davidliu:audioswitch:89582c47c9a04c62f90aa5e57251af4800a62c9a' implementation 'androidx.annotation:annotation:1.1.0' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" diff --git a/android/gradle.properties b/android/gradle.properties index e60119f371..f018a61817 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,4 +1,3 @@ -org.gradle.jvmargs=-Xmx1536M +org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true - diff --git a/android/proguard-rules.pro b/android/proguard-rules.pro index 6ce9896196..699b363c62 100644 --- a/android/proguard-rules.pro +++ b/android/proguard-rules.pro @@ -1,3 +1,4 @@ # Flutter WebRTC -keep class com.cloudwebrtc.webrtc.** { *; } -keep class org.webrtc.** { *; } +-keep class org.jni_zero.** { *; } diff --git a/android/src/main/java/com/cloudwebrtc/webrtc/FlutterDataPacketCryptor.java b/android/src/main/java/com/cloudwebrtc/webrtc/FlutterDataPacketCryptor.java new file mode 100644 index 0000000000..0e25f25822 --- /dev/null +++ b/android/src/main/java/com/cloudwebrtc/webrtc/FlutterDataPacketCryptor.java @@ -0,0 +1,183 @@ +package com.cloudwebrtc.webrtc; + +import androidx.annotation.NonNull; + +import com.cloudwebrtc.webrtc.utils.ConstraintsMap; + +import org.webrtc.DataPacketCryptor; +import org.webrtc.DataPacketCryptorFactory; +import org.webrtc.FrameCryptor; +import org.webrtc.FrameCryptorAlgorithm; +import org.webrtc.FrameCryptorKeyProvider; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import io.flutter.plugin.common.MethodCall; +import io.flutter.plugin.common.MethodChannel; + +class FlutterDataPacketCryptor { + private static final String TAG = "FlutterDataPacketCryptor"; + private final Map dataCryptos = new HashMap<>(); + + private final FlutterRTCFrameCryptor frameCryptor; + + public FlutterDataPacketCryptor(FlutterRTCFrameCryptor frameCryptor) { + this.frameCryptor = frameCryptor; + } + + public boolean handleMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result result) { + String method_name = call.method; + Map params = (Map) call.arguments; + if (method_name.equals("createDataPacketCryptor")) { + createDataPacketCryptor(params, result); + } else if(method_name.equals("dataPacketCryptorEncrypt")) { + dataPacketCryptorEncrypt(params, result); + } else if(method_name.equals("dataPacketCryptorDecrypt")) { + dataPacketCryptorDecrypt(params, result); + } else if(method_name.equals("dataPacketCryptorDispose")) { + dataPacketCryptorDispose(params, result); + } else { + return false; + } + return true; + } + + private void createDataPacketCryptor(@NonNull Map params, @NonNull MethodChannel.Result result) { + String keyProviderId = (String) params.get("keyProviderId"); + FrameCryptorKeyProvider keyProvider = frameCryptor.getKeyProvider(keyProviderId); + if (keyProvider == null) { + result.error("createDataPacketCryptorFailed", "keyProvider not found", null); + return; + } + + if(params.get("algorithm") == null) { + result.error("createDataPacketCryptorFailed", "algorithm is null", null); + return; + } + + int algorithm = (int) params.get("algorithm"); + + DataPacketCryptor dataPacketCryptor = DataPacketCryptorFactory.createDataPacketCryptor( + frameCryptor.frameCryptorAlgorithmFromInt(algorithm), + keyProvider); + if(dataPacketCryptor == null) { + result.error("createDataPacketCryptorFailed", "createDataPacketCryptor failed", null); + return; + } + + String dataCryptorId = UUID.randomUUID().toString(); + dataCryptos.put(dataCryptorId, dataPacketCryptor); + + ConstraintsMap paramsResult = new ConstraintsMap(); + paramsResult.putString("dataCryptorId", dataCryptorId); + result.success(paramsResult.toMap()); + } + + private void dataPacketCryptorEncrypt(@NonNull Map params, @NonNull MethodChannel.Result result) { + String dataCryptorId = (String) params.get("dataCryptorId"); + if (dataCryptorId == null) { + result.error("dataPacketCryptorEncryptFailed", "dataCryptorId is null", null); + return; + } + + DataPacketCryptor dataPacketCryptor = dataCryptos.get(dataCryptorId); + if(dataPacketCryptor == null) { + result.error("dataPacketCryptorEncryptFailed", "dataPacketCryptor not found", null); + return; + } + + String participantId = (String) params.get("participantId"); + if (participantId == null) { + result.error("dataPacketCryptorEncryptFailed", "participantId is null", null); + return; + } + + byte[] data = (byte[]) params.get("data"); + if (data == null) { + result.error("dataPacketCryptorEncryptFailed", "data is null", null); + return; + } + + int keyIndex = (int) params.get("keyIndex"); + if( keyIndex < 0 ) { + result.error("dataPacketCryptorEncryptFailed", "keyIndex is invalid", null); + return; + } + + DataPacketCryptor.EncryptedPacket packet = dataPacketCryptor.encrypt(participantId, keyIndex, data); + ConstraintsMap paramsResult = new ConstraintsMap(); + paramsResult.putInt("keyIndex", packet.keyIndex); + paramsResult.putByte("data", packet.payload); + paramsResult.putByte("iv", packet.iv); + result.success(paramsResult.toMap()); + } + + private void dataPacketCryptorDecrypt(@NonNull Map params, @NonNull MethodChannel.Result result) { + String dataCryptorId = (String) params.get("dataCryptorId"); + if (dataCryptorId == null) { + result.error("dataPacketCryptorEncryptFailed", "dataCryptorId is null", null); + return; + } + + DataPacketCryptor dataPacketCryptor = dataCryptos.get(dataCryptorId); + if(dataPacketCryptor == null) { + result.error("dataPacketCryptorEncryptFailed", "dataPacketCryptor not found", null); + return; + } + + String participantId = (String) params.get("participantId"); + if (participantId == null) { + result.error("dataPacketCryptorEncryptFailed", "participantId is null", null); + return; + } + + byte[] data = (byte[]) params.get("data"); + if (data == null) { + result.error("dataPacketCryptorEncryptFailed", "data is null", null); + return; + } + + byte[] iv = (byte[]) params.get("iv"); + if (iv == null) { + result.error("dataPacketCryptorEncryptFailed", "iv is null", null); + return; + } + + int keyIndex = (int) params.get("keyIndex"); + if( keyIndex < 0 ) { + result.error("dataPacketCryptorEncryptFailed", "keyIndex is invalid", null); + return; + } + DataPacketCryptor.EncryptedPacket encryptedPacket = new DataPacketCryptor.EncryptedPacket(data, iv, keyIndex); + byte[] decrypted = dataPacketCryptor.decrypt(participantId, encryptedPacket); + if(decrypted == null) { + result.error("dataPacketCryptorDecryptFailed", "decrypt failed", null); + return; + } + + ConstraintsMap paramsResult = new ConstraintsMap(); + paramsResult.putByte("data", decrypted); + result.success(paramsResult.toMap()); + } + + private void dataPacketCryptorDispose(@NonNull Map params, @NonNull MethodChannel.Result result) { + String dataCryptorId = (String) params.get("dataCryptorId"); + if (dataCryptorId == null) { + result.error("dataPacketCryptorDisposeFailed", "dataCryptorId is null", null); + return; + } + + DataPacketCryptor dataPacketCryptor = dataCryptos.remove(dataCryptorId); + if(dataPacketCryptor == null) { + result.error("dataPacketCryptorDisposeFailed", "dataPacketCryptor not found", null); + return; + } + + if (dataPacketCryptor != null) { + dataPacketCryptor.dispose(); + } + result.success(null); + } +} diff --git a/android/src/main/java/com/cloudwebrtc/webrtc/FlutterRTCFrameCryptor.java b/android/src/main/java/com/cloudwebrtc/webrtc/FlutterRTCFrameCryptor.java index 199afdc4b9..86739626ea 100644 --- a/android/src/main/java/com/cloudwebrtc/webrtc/FlutterRTCFrameCryptor.java +++ b/android/src/main/java/com/cloudwebrtc/webrtc/FlutterRTCFrameCryptor.java @@ -148,7 +148,7 @@ public boolean handleMethodCall(MethodCall call, @NonNull Result result) { return true; } - private FrameCryptorAlgorithm frameCryptorAlgorithmFromInt(int algorithm) { + public FrameCryptorAlgorithm frameCryptorAlgorithmFromInt(int algorithm) { switch (algorithm) { case 0: return FrameCryptorAlgorithm.AES_GCM; @@ -210,7 +210,6 @@ private void frameCryptorFactoryCreateFrameCryptor(Map params, @ result.success(paramsResult.toMap()); } else { result.error("frameCryptorFactoryCreateFrameCryptorFailed", "type must be sender or receiver", null); - return; } } @@ -431,4 +430,8 @@ private void keyProviderDispose(Map params, @NonNull Result resu paramsResult.putString("result", "success"); result.success(paramsResult.toMap()); } + + public FrameCryptorKeyProvider getKeyProvider(String id) { + return keyProviders.get(id); + } } diff --git a/android/src/main/java/com/cloudwebrtc/webrtc/FlutterWebRTCPlugin.java b/android/src/main/java/com/cloudwebrtc/webrtc/FlutterWebRTCPlugin.java index 3a49f88c85..d89377bcdf 100644 --- a/android/src/main/java/com/cloudwebrtc/webrtc/FlutterWebRTCPlugin.java +++ b/android/src/main/java/com/cloudwebrtc/webrtc/FlutterWebRTCPlugin.java @@ -41,7 +41,11 @@ public class FlutterWebRTCPlugin implements FlutterPlugin, ActivityAware, EventC private LifeCycleObserver observer; private Lifecycle lifecycle; private EventChannel eventChannel; - public EventChannel.EventSink eventSink; + + // eventSink is static because FlutterWebRTCPlugin can be instantiated multiple times + // but the onListen(Object, EventChannel.EventSink) event only fires once for the first + // FlutterWebRTCPlugin instance, so for the next instances eventSink will be == null + public static EventChannel.EventSink eventSink; public FlutterWebRTCPlugin() { sharedSingleton = this; diff --git a/android/src/main/java/com/cloudwebrtc/webrtc/GetUserMediaImpl.java b/android/src/main/java/com/cloudwebrtc/webrtc/GetUserMediaImpl.java index 75b85eda4e..5cc50b3ea8 100755 --- a/android/src/main/java/com/cloudwebrtc/webrtc/GetUserMediaImpl.java +++ b/android/src/main/java/com/cloudwebrtc/webrtc/GetUserMediaImpl.java @@ -184,7 +184,6 @@ public void requestStart(Activity activity, int requestCode) { Log.w( TAG, "Can't run requestStart() due to a low API level. API level 21 or higher is required."); - return; } else { MediaProjectionManager mediaProjectionManager = (MediaProjectionManager) activity.getSystemService(Context.MEDIA_PROJECTION_SERVICE); diff --git a/android/src/main/java/com/cloudwebrtc/webrtc/MethodCallHandlerImpl.java b/android/src/main/java/com/cloudwebrtc/webrtc/MethodCallHandlerImpl.java index dfa5de8e7a..e2b64abd2b 100644 --- a/android/src/main/java/com/cloudwebrtc/webrtc/MethodCallHandlerImpl.java +++ b/android/src/main/java/com/cloudwebrtc/webrtc/MethodCallHandlerImpl.java @@ -12,6 +12,8 @@ import android.media.AudioAttributes; import android.media.AudioDeviceInfo; import android.os.Build; +import android.os.Handler; +import android.os.Looper; import android.util.Log; import android.util.LongSparseArray; import android.view.Surface; @@ -49,6 +51,8 @@ import org.webrtc.EglBase; import org.webrtc.IceCandidate; import org.webrtc.Logging; +import org.webrtc.Logging.Severity; +import org.webrtc.Loggable; import org.webrtc.MediaConstraints; import org.webrtc.MediaConstraints.KeyValuePair; import org.webrtc.MediaStream; @@ -88,6 +92,8 @@ import java.util.Map; import java.util.Map.Entry; import java.util.UUID; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import io.flutter.plugin.common.BinaryMessenger; import io.flutter.plugin.common.EventChannel; @@ -121,10 +127,12 @@ public class MethodCallHandlerImpl implements MethodCallHandler, StateProvider { private CameraUtils cameraUtils; - private AudioDeviceModule audioDeviceModule; + private JavaAudioDeviceModule audioDeviceModule; private FlutterRTCFrameCryptor frameCryptor; + private FlutterDataPacketCryptor dataPacketCryptor; + private Activity activity; private CustomVideoEncoderFactory videoEncoderFactory; @@ -133,6 +141,21 @@ public class MethodCallHandlerImpl implements MethodCallHandler, StateProvider { public AudioProcessingController audioProcessingController; + public static class LogSink implements Loggable { + @Override + public void onLogMessage(String message, Severity sev, String tag) { + ConstraintsMap params = new ConstraintsMap(); + params.putString("event", "onLogData"); + params.putString("data", message); + FlutterWebRTCPlugin.sharedSingleton.sendEvent(params.toMap()); + } + } + + ExecutorService executor = Executors.newSingleThreadExecutor(); + Handler mainHandler = new Handler(Looper.getMainLooper()); + + public static LogSink logSink = new LogSink(); + MethodCallHandlerImpl(Context context, BinaryMessenger messenger, TextureRegistry textureRegistry) { this.context = context; this.textures = textureRegistry; @@ -161,7 +184,7 @@ void dispose() { mPeerConnectionObservers.clear(); } private void initialize(boolean bypassVoiceProcessing, int networkIgnoreMask, boolean forceSWCodec, List forceSWCodecList, - @Nullable ConstraintsMap androidAudioConfiguration) { + @Nullable ConstraintsMap androidAudioConfiguration, Severity logSeverity) { if (mFactory != null) { return; } @@ -169,6 +192,7 @@ private void initialize(boolean bypassVoiceProcessing, int networkIgnoreMask, bo PeerConnectionFactory.initialize( InitializationOptions.builder(context) .setEnableInternalTracer(true) + .setInjectableLogger(logSink, logSeverity) .createInitializationOptions()); getUserMediaImpl = new GetUserMediaImpl(this, context); @@ -177,6 +201,8 @@ private void initialize(boolean bypassVoiceProcessing, int networkIgnoreMask, bo frameCryptor = new FlutterRTCFrameCryptor(this); + dataPacketCryptor = new FlutterDataPacketCryptor(frameCryptor); + AudioAttributes audioAttributes = null; if (androidAudioConfiguration != null) { Integer usageType = AudioUtils.getAudioAttributesUsageTypeForString( @@ -342,7 +368,15 @@ public void onMethodCall(MethodCall call, @NonNull Result notSafeResult) { if(options.get("bypassVoiceProcessing") != null) { enableBypassVoiceProcessing = (boolean)options.get("bypassVoiceProcessing"); } - initialize(enableBypassVoiceProcessing, networkIgnoreMask, forceSWCodec, forceSWCodecList, androidAudioConfiguration); + + Severity logSeverity = Severity.LS_NONE; + if (constraintsMap.hasKey("logSeverity") + && constraintsMap.getType("logSeverity") == ObjectType.String) { + String logSeverityStr = constraintsMap.getString("logSeverity"); + logSeverity = str2LogSeverity(logSeverityStr); + } + + initialize(enableBypassVoiceProcessing, networkIgnoreMask, forceSWCodec, forceSWCodecList, androidAudioConfiguration, logSeverity); result.success(null); break; } @@ -1014,9 +1048,34 @@ public void onMethodCall(MethodCall call, @NonNull Result notSafeResult) { } break; } + case "startLocalRecording": { + executor.execute(() -> { + audioDeviceModule.prewarmRecording(); + mainHandler.post(() -> { + result.success(null); + }); + }); + break; + } + case "stopLocalRecording": { + executor.execute(() -> { + audioDeviceModule.requestStopRecording(); + mainHandler.post(() -> { + result.success(null); + }); + }); + break; + } + case "setLogSeverity": { + //now it's possible to setup logSeverity only via PeerConnectionFactory.initialize method + //Log.d(TAG, "no implementation for 'setLogSeverity'"); + break; + } default: if(frameCryptor.handleMethodCall(call, result)) { break; + } else if(dataPacketCryptor.handleMethodCall(call, result)) { + break; } result.notImplemented(); break; @@ -1566,7 +1625,7 @@ public void getSources(Result result) { ConstraintsMap audioOutputMap = new ConstraintsMap(); audioOutputMap.putString("label", audioOutput.getName()); audioOutputMap.putString("deviceId", AudioDeviceKind.fromAudioDevice(audioOutput).typeName); - audioOutputMap.putString("groupId", "" + AudioDeviceKind.fromAudioDevice(audioOutput).typeName); + audioOutputMap.putString("groupId", AudioDeviceKind.fromAudioDevice(audioOutput).typeName); audioOutputMap.putString("kind", "audiooutput"); array.pushMap(audioOutputMap); } @@ -2020,6 +2079,22 @@ private void removeTrackForRendererById(String trackId) { } } + private Severity str2LogSeverity(String severity) { + switch (severity) { + case "verbose": + return Severity.LS_VERBOSE; + case "info": + return Severity.LS_INFO; + case "warning": + return Severity.LS_WARNING; + case "error": + return Severity.LS_ERROR; + case "none": + default: + return Severity.LS_NONE; + } + } + public void createDataChannel(final String peerConnectionId, String label, ConstraintsMap config, Result result) { // Forward to PeerConnectionObserver which deals with DataChannels diff --git a/android/src/main/java/com/cloudwebrtc/webrtc/record/EncoderConfig.java b/android/src/main/java/com/cloudwebrtc/webrtc/record/EncoderConfig.java new file mode 100644 index 0000000000..129dfc55f7 --- /dev/null +++ b/android/src/main/java/com/cloudwebrtc/webrtc/record/EncoderConfig.java @@ -0,0 +1,20 @@ +package com.cloudwebrtc.webrtc.record; + +class EncoderConfig { + final int width; + final int height; + final int bitrate; + final int profile; + + EncoderConfig(int width, int height, int bitrate, int profile) { + this.width = width; + this.height = height; + this.bitrate = bitrate; + this.profile = profile; + } + + @Override + public String toString() { + return width + "x" + height + ", bitrate: " + bitrate + ", profile: " + profile; + } +} \ No newline at end of file diff --git a/android/src/main/java/com/cloudwebrtc/webrtc/record/VideoFileRenderer.java b/android/src/main/java/com/cloudwebrtc/webrtc/record/VideoFileRenderer.java index 275b33264a..f8c927b917 100644 --- a/android/src/main/java/com/cloudwebrtc/webrtc/record/VideoFileRenderer.java +++ b/android/src/main/java/com/cloudwebrtc/webrtc/record/VideoFileRenderer.java @@ -6,6 +6,7 @@ import android.media.MediaCodecInfo; import android.media.MediaFormat; import android.media.MediaMuxer; +import android.os.Build; import android.os.Handler; import android.os.HandlerThread; import android.util.Log; @@ -20,7 +21,13 @@ import org.webrtc.audio.JavaAudioDeviceModule.SamplesReadyCallback; import java.io.IOException; +import java.lang.reflect.Method; import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; import java.util.concurrent.CountDownLatch; class VideoFileRenderer implements VideoSink, SamplesReadyCallback { @@ -77,51 +84,213 @@ class VideoFileRenderer implements VideoSink, SamplesReadyCallback { audioTrackIndex = withAudio ? -1 : 0; } + private boolean tryConfigureEncoder(EncoderConfig config) { + try { + MediaFormat format = MediaFormat.createVideoFormat(MIME_TYPE, config.width, config.height); + format.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface); + format.setInteger(MediaFormat.KEY_BIT_RATE, config.bitrate); + format.setInteger(MediaFormat.KEY_FRAME_RATE, FRAME_RATE); + format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, IFRAME_INTERVAL); + // Use YUV420 semi-planar size (1.5 bytes per pixel) to reduce memory usage + format.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, config.width * config.height * 3 / 2); + format.setInteger(MediaFormat.KEY_PRIORITY, 0); + format.setInteger(MediaFormat.KEY_PROFILE, config.profile); - private void initVideoEncoder() { - MediaFormat format = MediaFormat.createVideoFormat(MIME_TYPE, outputFileWidth, outputFileHeight); + Log.d(TAG, "Trying encoder config: " + config); - // Set some properties. Failing to specify some of these can cause the MediaCodec - // configure() call to throw an unhelpful exception. - format.setInteger(MediaFormat.KEY_COLOR_FORMAT, - MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface); - format.setInteger(MediaFormat.KEY_BIT_RATE, 6000000); - format.setInteger(MediaFormat.KEY_FRAME_RATE, FRAME_RATE); - format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, IFRAME_INTERVAL); + encoder = MediaCodec.createEncoderByType(MIME_TYPE); + String codecName = encoder.getName(); + Log.d(TAG, "Codec name: " + codecName); - format.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, 0); // Para Surface input - format.setInteger(MediaFormat.KEY_PRIORITY, 0); // Background priority - format.setInteger(MediaFormat.KEY_PROFILE, MediaCodecInfo.CodecProfileLevel.AVCProfileBaseline); // AVC baseline + encoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE); + // Create input surface *before* starting the encoder + surface = encoder.createInputSurface(); + Log.d(TAG, "Input surface created successfully: " + surface); + return true; + } catch (Exception e) { + Log.w(TAG, "Failed to configure encoder for config: " + config + ", error: " + e.getMessage()); + if (surface != null) { + surface.release(); + surface = null; + } + if (encoder != null) { + try { + encoder.release(); + } catch (Exception ignored) { + } + encoder = null; + } + return false; + } + } - // Create a MediaCodec encoder, and configure it with our format. Get a Surface - // we can use for input and wrap it with a class that handles the EGL work. + private boolean startEncoder() { try { - encoder = MediaCodec.createEncoderByType(MIME_TYPE); - encoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE); + encoder.start(); + encoderOutputBuffers = encoder.getOutputBuffers(); + Log.d(TAG, "Encoder started successfully"); + return true; + } catch (Exception e) { + Log.w(TAG, "Failed to start encoder: " + e.getMessage()); + if (surface != null) { + surface.release(); + surface = null; + } + if (encoder != null) { + try { + encoder.release(); + } catch (Exception ignored) { + } + encoder = null; + } + return false; + } + } - CountDownLatch latch = new CountDownLatch(1); - renderThreadHandler.post(() -> { - eglBase = EglBase.create(sharedContext, EglBase.CONFIG_RECORDABLE); - surface = encoder.createInputSurface(); - eglBase.createSurface(surface); - eglBase.makeCurrent(); - drawer = new GlRectDrawer(); - latch.countDown(); - }); - latch.await(); // espera EGL estar pronto + private List getSupportedConfigurations(int frameWidth, int frameHeight) { + + int[] bitrates = {6000000, 4000000, 2000000, 1000000}; + int[] profiles = { + MediaCodecInfo.CodecProfileLevel.AVCProfileBaseline, + MediaCodecInfo.CodecProfileLevel.AVCProfileMain, + MediaCodecInfo.CodecProfileLevel.AVCProfileHigh + }; + List resolutions = new ArrayList<>(); + resolutions.add(new int[]{frameWidth, frameHeight}); + for (int[] res : Arrays.asList( + new int[]{1920, 1080}, + new int[]{1280, 720}, + new int[]{854, 480}, + new int[]{640, 360}, + new int[]{426, 240})) { + // only add resolutions bellow the original stream resolution + if (res[0] <= frameWidth && res[1] <= frameHeight) { + resolutions.add(res); + } + } + + List configs = new ArrayList<>(); + for (int[] res : resolutions) { + for (int bitrate : bitrates) { + for (int profile : profiles) { + configs.add(new EncoderConfig(res[0], res[1], bitrate, profile)); + } + } + } + + // Sort: prioritize higher resolutions, higher bitrates, Baseline profile + Collections.sort(configs, new Comparator() { + @Override + public int compare(EncoderConfig c1, EncoderConfig c2) { + int resCompare = Integer.compare(c2.width * c2.height, c1.width * c1.height); + if (resCompare != 0) return resCompare; + int bitrateCompare = Integer.compare(c2.bitrate, c1.bitrate); + if (bitrateCompare != 0) return bitrateCompare; + return Integer.compare(c1.profile, c2.profile); // Baseline first + } + }); + + return configs; + } + + private boolean isProfileSupported(MediaCodecInfo codecInfo, String mimeType, int profile) { + try { + MediaCodecInfo.CodecCapabilities caps = codecInfo.getCapabilitiesForType(mimeType); + for (MediaCodecInfo.CodecProfileLevel pl : caps.profileLevels) { + if (pl.profile == profile) { + return true; + } + } } catch (Exception e) { - Log.wtf(TAG, e); - Thread.currentThread().interrupt(); + Log.w(TAG, "Failed to check profile support: " + e.getMessage()); } + return false; } + + private void initVideoEncoder(int frameWidth, int frameHeight) { + if (encoder != null) { + encoder.stop(); + encoder.release(); + encoder = null; + } + if (surface != null) { + surface.release(); + surface = null; + } + + // Check codec capabilities + MediaCodecInfo codecInfo = null; + try { + MediaCodec codec = MediaCodec.createEncoderByType(MIME_TYPE); + codecInfo = codec.getCodecInfo(); + codec.release(); + } catch (Exception e) { + Log.e(TAG, "Failed to get codec info: " + e.getMessage()); + } + + List configs = getSupportedConfigurations(frameWidth, frameHeight); + + for (EncoderConfig config : configs) { + // Skip unsupported configurations + if (codecInfo != null) { + MediaCodecInfo.VideoCapabilities videoCaps = codecInfo.getCapabilitiesForType(MIME_TYPE).getVideoCapabilities(); + if (!videoCaps.isSizeSupported(config.width, config.height)) { + Log.d(TAG, "Skipping unsupported resolution: " + config); + continue; + } + if (!videoCaps.getBitrateRange().contains(config.bitrate)) { + Log.d(TAG, "Skipping unsupported bitrate: " + config); + continue; + } + if (!isProfileSupported(codecInfo, MIME_TYPE, config.profile)) { + Log.d(TAG, "Skipping unsupported profile: " + config); + continue; + } + } + + if (tryConfigureEncoder(config) && startEncoder()) { + outputFileWidth = config.width; + outputFileHeight = config.height; + CountDownLatch latch = new CountDownLatch(1); + renderThreadHandler.post(() -> { + try { + eglBase = EglBase.create(sharedContext, EglBase.CONFIG_RECORDABLE); + Log.d(TAG, "EGL context created"); + eglBase.createSurface(surface); + eglBase.makeCurrent(); + drawer = new GlRectDrawer(); + encoderStarted = true; + encoderInitializing = false; + Log.d(TAG, "Encoder surface setup complete: " + surface); + } catch (Exception e) { + Log.e(TAG, "Failed to setup EGL surface: " + e.getMessage()); + } finally { + latch.countDown(); + } + }); + try { + latch.await(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + Log.e(TAG, "Interrupted while awaiting EGL setup: " + e.getMessage()); + } + if (encoderStarted) { + return; + } + } + } + + Log.e(TAG, "Failed to configure and start encoder with any supported configuration."); + } @Override public void onFrame(VideoFrame frame) { frame.retain(); - if (outputFileWidth == -1) { - outputFileWidth = frame.getRotatedWidth(); - outputFileHeight = frame.getRotatedHeight(); - initVideoEncoder(); + if (outputFileWidth == -1 && !encoderInitializing) { + encoderInitializing = true; + int frameWidth = frame.getRotatedWidth(); + int frameHeight = frame.getRotatedHeight(); + initVideoEncoder(frameWidth, frameHeight); } renderThreadHandler.post(() -> renderFrameOnRenderThread(frame)); } @@ -192,18 +361,12 @@ void release() { } } // End Signify modification - + private boolean encoderInitializing = false; private boolean encoderStarted = false; private volatile boolean muxerStarted = false; private long videoFrameStart = 0; private void drainEncoder() { - if (!encoderStarted) { - encoder.start(); - encoderOutputBuffers = encoder.getOutputBuffers(); - encoderStarted = true; - return; - } while (true) { int encoderStatus = encoder.dequeueOutputBuffer(bufferInfo, 10000); if (encoderStatus == MediaCodec.INFO_TRY_AGAIN_LATER) { @@ -259,11 +422,15 @@ private void drainEncoder() { private long presTime = 0L; + + private void drainAudio() { if (audioBufferInfo == null) audioBufferInfo = new MediaCodec.BufferInfo(); + while (true) { - int encoderStatus = audioEncoder.dequeueOutputBuffer(audioBufferInfo, 10000); + int encoderStatus = audioEncoder.dequeueOutputBuffer(audioBufferInfo, 1000); + if (encoderStatus == MediaCodec.INFO_TRY_AGAIN_LATER) { break; } else if (encoderStatus == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) { @@ -285,24 +452,30 @@ private void drainAudio() { if (!muxerStarted) break; } else if (encoderStatus < 0) { - Log.e(TAG, "unexpected result fr om encoder.dequeueOutputBuffer: " + encoderStatus); + Log.e(TAG, "unexpected result from encoder.dequeueOutputBuffer: " + encoderStatus); } else { // encoderStatus >= 0 + try { ByteBuffer encodedData = audioOutputBuffers[encoderStatus]; if (encodedData == null) { Log.e(TAG, "encoderOutputBuffer " + encoderStatus + " was null"); break; } + // It's usually necessary to adjust the ByteBuffer values to match BufferInfo. encodedData.position(audioBufferInfo.offset); encodedData.limit(audioBufferInfo.offset + audioBufferInfo.size); + if (muxerStarted) mediaMuxer.writeSampleData(audioTrackIndex, encodedData, audioBufferInfo); + isRunning = isRunning && (audioBufferInfo.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) == 0; audioEncoder.releaseOutputBuffer(encoderStatus, false); + if ((audioBufferInfo.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) { break; } + } catch (Exception e) { Log.wtf(TAG, e); break; @@ -331,6 +504,7 @@ public void onWebRtcAudioRecordSamplesReady(JavaAudioDeviceModule.AudioSamples a } catch (IOException exception) { Log.wtf(TAG, exception); } + int bufferIndex = audioEncoder.dequeueInputBuffer(0); if (bufferIndex >= 0) { ByteBuffer buffer = audioInputBuffers[bufferIndex]; diff --git a/common/cpp/include/flutter_webrtc.h b/common/cpp/include/flutter_webrtc.h index 573956b9aa..526f07b877 100644 --- a/common/cpp/include/flutter_webrtc.h +++ b/common/cpp/include/flutter_webrtc.h @@ -11,6 +11,7 @@ #include "flutter_video_renderer.h" #include "libwebrtc.h" +#include "rtc_logging.h" namespace flutter_webrtc_plugin { @@ -38,6 +39,10 @@ class FlutterWebRTC : public FlutterWebRTCBase, void HandleMethodCall(const MethodCallProxy& method_call, std::unique_ptr result); + + private: + void initLoggerCallback(RTCLoggingSeverity severity); + RTCLoggingSeverity str2LogSeverity(std::string str); }; } // namespace flutter_webrtc_plugin diff --git a/common/cpp/src/flutter_webrtc.cc b/common/cpp/src/flutter_webrtc.cc index 5e0afb6e17..6ab12d316c 100644 --- a/common/cpp/src/flutter_webrtc.cc +++ b/common/cpp/src/flutter_webrtc.cc @@ -1,9 +1,12 @@ #include "flutter_webrtc.h" +#include "flutter_data_channel.h" #include "flutter_webrtc/flutter_web_r_t_c_plugin.h" namespace flutter_webrtc_plugin { +static EventChannelProxy* eventChannelProxy = nullptr; + FlutterWebRTC::FlutterWebRTC(FlutterWebRTCPlugin* plugin) : FlutterWebRTCBase::FlutterWebRTCBase(plugin->messenger(), plugin->textures(), @@ -24,6 +27,11 @@ void FlutterWebRTC::HandleMethodCall( const EncodableMap params = GetValue(*method_call.arguments()); const EncodableMap options = findMap(params, "options"); + std::string severityStr = findString(options, "logSeverity"); + if (severityStr.empty() == false) { + RTCLoggingSeverity severity = str2LogSeverity(severityStr); + initLoggerCallback(severity); + } result->Success(); } else if (method_call.method_name().compare("createPeerConnection") == 0) { if (!method_call.arguments()) { @@ -1266,6 +1274,18 @@ void FlutterWebRTC::HandleMethodCall( state[EncodableValue("state")] = peerConnectionStateString(pc->peer_connection_state()); result->Success(EncodableValue(state)); + } else if (method_call.method_name().compare("setLogSeverity") == 0) { + if (!method_call.arguments()) { + result->Error("Bad Arguments", "Bad arguments received"); + return; + } + const EncodableMap params = + GetValue(*method_call.arguments()); + std::string severityStr = findString(params, "severity"); + if (severityStr.empty() == false) { + RTCLoggingSeverity severity = str2LogSeverity(severityStr); + initLoggerCallback(severity); + } } else { if (HandleFrameCryptorMethodCall(method_call, std::move(result), &result)) { return; @@ -1275,4 +1295,32 @@ void FlutterWebRTC::HandleMethodCall( } } +void FlutterWebRTC::initLoggerCallback(RTCLoggingSeverity severity) { + if(eventChannelProxy == nullptr) { + eventChannelProxy = event_channel(); + } + + libwebrtc::LibWebRTCLogging::setLogSink(severity, [](const string& message){ + EncodableMap info; + info[EncodableValue("event")] = "onLogData"; + info[EncodableValue("data")] = message.c_string(); + eventChannelProxy->Success(EncodableValue(info), false); + }); +} + +RTCLoggingSeverity FlutterWebRTC::str2LogSeverity(std::string str) { + if(str == "verbose") + return Verbose; + else if(str == "info") + return Info; + else if(str == "warning") + return Warning; + else if(str == "error") + return Error; + else if(str == "none") + return None; + + return None; +} + } // namespace flutter_webrtc_plugin diff --git a/common/darwin/Classes/FlutterDataPacketCryptor.h b/common/darwin/Classes/FlutterDataPacketCryptor.h new file mode 100644 index 0000000000..033c910467 --- /dev/null +++ b/common/darwin/Classes/FlutterDataPacketCryptor.h @@ -0,0 +1,16 @@ +#if TARGET_OS_IPHONE +#import +#elif TARGET_OS_OSX +#import +#endif + +#import + +#import "FlutterWebRTCPlugin.h" + +@interface FlutterWebRTCPlugin (DataPacketCryptor) + +- (void)handleDataPacketCryptorMethodCall:(nonnull FlutterMethodCall*)call + result:(nonnull FlutterResult)result; + +@end diff --git a/common/darwin/Classes/FlutterDataPacketCryptor.m b/common/darwin/Classes/FlutterDataPacketCryptor.m new file mode 100644 index 0000000000..3dd66246d3 --- /dev/null +++ b/common/darwin/Classes/FlutterDataPacketCryptor.m @@ -0,0 +1,206 @@ +#import "FlutterDataPacketCryptor.h" +#import "FlutterRTCFrameCryptor.h" + +#include +#import + +@implementation FlutterWebRTCPlugin (DataPacketCryptor) + +- (void)handleDataPacketCryptorMethodCall:(nonnull FlutterMethodCall*)call + result:(nonnull FlutterResult)result { + NSDictionary* constraints = call.arguments; + NSString* method = call.method; + if ([method isEqualToString:@"createDataPacketCryptor"]) { + [self createDataPacketCryptor:constraints result:result]; + } else if ([method isEqualToString:@"dataPacketCryptorEncrypt"]) { + [self dataPacketCryptorEncrypt:constraints result:result]; + } else if ([method isEqualToString:@"dataPacketCryptorDecrypt"]) { + [self dataPacketCryptorDecrypt:constraints result:result]; + } else if ([method isEqualToString:@"dataPacketCryptorDispose"]) { + [self dataPacketCryptorDispose:constraints result:result]; + } else { + result(FlutterMethodNotImplemented); + } +} + +- (void)createDataPacketCryptor:(nonnull NSDictionary*)constraints + result:(nonnull FlutterResult)result { + NSNumber* algorithm = constraints[@"algorithm"]; + if (algorithm == nil) { + result([FlutterError errorWithCode:@"createDataPacketCryptorFailed" + message:@"Invalid algorithm" + details:nil]); + return; + } + + NSString* keyProviderId = constraints[@"keyProviderId"]; + if (keyProviderId == nil) { + result([FlutterError errorWithCode:@"createDataPacketCryptorFailed" + message:@"Invalid keyProviderId" + details:nil]); + return; + } + + RTCFrameCryptorKeyProvider* keyProvider = self.keyProviders[keyProviderId]; + if (keyProvider == nil) { + result([FlutterError errorWithCode:@"createDataPacketCryptorFailed" + message:@"Invalid keyProvider" + details:nil]); + return; + } + + RTCDataPacketCryptor* dataPacketCryptor = + [[RTCDataPacketCryptor alloc] initWithAlgorithm:[self getAlgorithm:algorithm] + keyProvider:keyProvider]; + NSString* dataCryptorId = [[NSUUID UUID] UUIDString]; + self.dataCryptors[dataCryptorId] = dataPacketCryptor; + + result(@{@"dataCryptorId" : dataCryptorId}); +} + +- (void)dataPacketCryptorDispose:(nonnull NSDictionary*)constraints + result:(nonnull FlutterResult)result { + NSString* dataCryptorId = constraints[@"dataCryptorId"]; + if (dataCryptorId == nil) { + result([FlutterError errorWithCode:@"dataPacketCryptorDisposeFailed" + message:@"Invalid dataCryptorId" + details:nil]); + return; + } + + RTCDataPacketCryptor* dataPacketCryptor = self.dataCryptors[dataCryptorId]; + if (dataPacketCryptor == nil) { + result([FlutterError errorWithCode:@"dataPacketCryptorDisposeFailed" + message:@"Invalid dataCryptor" + details:nil]); + return; + } + + [self.dataCryptors removeObjectForKey:dataCryptorId]; + result(nil); +} + +- (void)dataPacketCryptorEncrypt:(nonnull NSDictionary*)constraints + result:(nonnull FlutterResult)result { + NSString* dataCryptorId = constraints[@"dataCryptorId"]; + if (dataCryptorId == nil) { + result([FlutterError errorWithCode:@"dataPacketCryptorEncryptFailed" + message:@"Invalid dataCryptorId" + details:nil]); + return; + } + + FlutterStandardTypedData* data = constraints[@"data"]; + if (data == nil) { + result([FlutterError errorWithCode:@"dataPacketCryptorEncryptFailed" + message:@"Invalid data" + details:nil]); + return; + } + + NSString* participantId = constraints[@"participantId"]; + if (participantId == nil) { + result([FlutterError errorWithCode:@"dataPacketCryptorEncryptFailed" + message:@"Invalid iv" + details:nil]); + return; + } + + NSNumber* keyIndex = constraints[@"keyIndex"]; + if (keyIndex == nil) { + result([FlutterError errorWithCode:@"dataPacketCryptorEncryptFailed" + message:@"Invalid keyIndex" + details:nil]); + return; + } + + RTCDataPacketCryptor* dataPacketCryptor = self.dataCryptors[dataCryptorId]; + if (dataPacketCryptor == nil) { + result([FlutterError errorWithCode:@"dataPacketCryptorEncryptFailed" + message:@"Invalid dataCryptor" + details:nil]); + return; + } + + RTC_OBJC_TYPE(RTCEncryptedPacket)* encryptedData = + [dataPacketCryptor encrypt:participantId keyIndex:keyIndex.unsignedIntValue data:data.data]; + if (encryptedData == nil) { + result([FlutterError errorWithCode:@"dataPacketCryptorEncryptFailed" + message:@"Encrypt failed" + details:nil]); + return; + } + + result(@{ + @"data" : encryptedData.data, + @"iv" : encryptedData.iv, + @"keyIndex" : @(encryptedData.keyIndex) + }); +} + +- (void)dataPacketCryptorDecrypt:(nonnull NSDictionary*)constraints + result:(nonnull FlutterResult)result { + NSString* dataCryptorId = constraints[@"dataCryptorId"]; + if (dataCryptorId == nil) { + result([FlutterError errorWithCode:@"dataPacketCryptorDecryptFailed" + message:@"Invalid dataCryptorId" + details:nil]); + return; + } + + RTCDataPacketCryptor* dataPacketCryptor = self.dataCryptors[dataCryptorId]; + if (dataPacketCryptor == nil) { + result([FlutterError errorWithCode:@"dataPacketCryptorDecryptFailed" + message:@"Invalid dataCryptor" + details:nil]); + return; + } + + FlutterStandardTypedData* data = constraints[@"data"]; + if (data == nil) { + result([FlutterError errorWithCode:@"dataPacketCryptorDecryptFailed" + message:@"Invalid data" + details:nil]); + return; + } + + FlutterStandardTypedData* iv = constraints[@"iv"]; + if (iv == nil) { + result([FlutterError errorWithCode:@"dataPacketCryptorDecryptFailed" + message:@"Invalid iv" + details:nil]); + return; + } + + NSNumber* keyIndex = constraints[@"keyIndex"]; + if (keyIndex == nil) { + result([FlutterError errorWithCode:@"dataPacketCryptorDecryptFailed" + message:@"Invalid keyIndex" + details:nil]); + return; + } + + NSString* participantId = constraints[@"participantId"]; + if (participantId == nil) { + result([FlutterError errorWithCode:@"dataPacketCryptorDecryptFailed" + message:@"Invalid participantId" + details:nil]); + return; + } + + RTCEncryptedPacket* encryptedPacket = + [[RTCEncryptedPacket alloc] initWithData:data.data + iv:iv.data + keyIndex:keyIndex.unsignedIntValue]; + NSData* decryptedData = [dataPacketCryptor decrypt:participantId encryptedPacket:encryptedPacket]; + if (decryptedData == nil) { + result([FlutterError errorWithCode:@"dataPacketCryptorDecryptFailed" + message:@"Decrypt failed" + details:nil]); + return; + } + + result(@{@"data" : decryptedData}); +} + +@end diff --git a/common/darwin/Classes/FlutterRTCFrameCryptor.h b/common/darwin/Classes/FlutterRTCFrameCryptor.h index 0e7a2f6007..ca334cb4e9 100644 --- a/common/darwin/Classes/FlutterRTCFrameCryptor.h +++ b/common/darwin/Classes/FlutterRTCFrameCryptor.h @@ -16,7 +16,7 @@ @interface FlutterWebRTCPlugin (FrameCryptor) -- (void)handleFrameCryptorMethodCall:(nonnull FlutterMethodCall*)call result:(nonnull FlutterResult)result; +- (BOOL)handleFrameCryptorMethodCall:(nonnull FlutterMethodCall*)call result:(nonnull FlutterResult)result; - (void)frameCryptorFactoryCreateFrameCryptor:(nonnull NSDictionary*)constraints result:(nonnull FlutterResult)result; @@ -48,4 +48,6 @@ - (void)keyProviderDispose:(nonnull NSDictionary*)constraints result:(nonnull FlutterResult)result; +- (RTCCryptorAlgorithm)getAlgorithm:(nonnull NSNumber*)algorithm; + @end diff --git a/common/darwin/Classes/FlutterRTCFrameCryptor.m b/common/darwin/Classes/FlutterRTCFrameCryptor.m index 6196ffcf26..94cb121d98 100644 --- a/common/darwin/Classes/FlutterRTCFrameCryptor.m +++ b/common/darwin/Classes/FlutterRTCFrameCryptor.m @@ -38,7 +38,7 @@ - (FlutterError* _Nullable)onListenWithArguments:(id _Nullable)arguments @implementation FlutterWebRTCPlugin (FrameCryptor) -- (void)handleFrameCryptorMethodCall:(nonnull FlutterMethodCall*)call +- (BOOL)handleFrameCryptorMethodCall:(nonnull FlutterMethodCall*)call result:(nonnull FlutterResult)result { NSDictionary* constraints = call.arguments; NSString* method = call.method; @@ -73,8 +73,10 @@ - (void)handleFrameCryptorMethodCall:(nonnull FlutterMethodCall*)call } else if ([method isEqualToString:@"keyProviderDispose"]) { [self keyProviderDispose:constraints result:result]; } else { - result(FlutterMethodNotImplemented); + return NO; } + + return YES; } - (RTCCryptorAlgorithm)getAlgorithm:(NSNumber*)algorithm { diff --git a/common/darwin/Classes/FlutterWebRTCPlugin.h b/common/darwin/Classes/FlutterWebRTCPlugin.h index 6ca5f3dbb2..153d8db228 100644 --- a/common/darwin/Classes/FlutterWebRTCPlugin.h +++ b/common/darwin/Classes/FlutterWebRTCPlugin.h @@ -46,6 +46,8 @@ typedef void (^CapturerStopHandler)(CompletionHandler _Nonnull handler); NSMutableDictionary* _Nullable frameCryptors; @property(nonatomic, strong) NSMutableDictionary* _Nullable keyProviders; +@property(nonatomic, strong) + NSMutableDictionary* _Nullable dataCryptors; #if TARGET_OS_IPHONE @property(nonatomic, retain) diff --git a/common/darwin/Classes/FlutterWebRTCPlugin.m b/common/darwin/Classes/FlutterWebRTCPlugin.m index e7102173d3..26cfcbfa4b 100644 --- a/common/darwin/Classes/FlutterWebRTCPlugin.m +++ b/common/darwin/Classes/FlutterWebRTCPlugin.m @@ -1,7 +1,9 @@ #import "FlutterWebRTCPlugin.h" #import "AudioUtils.h" #import "CameraUtils.h" + #import "FlutterRTCDataChannel.h" +#import "FlutterDataPacketCryptor.h" #import "FlutterRTCDesktopCapturer.h" #import "FlutterRTCMediaStream.h" #import "FlutterRTCPeerConnection.h" @@ -18,6 +20,9 @@ #import #import +#import +#import + #import "LocalTrack.h" #import "LocalAudioTrack.h" #import "LocalVideoTrack.h" @@ -107,6 +112,8 @@ @implementation FlutterWebRTCPlugin { #if TARGET_OS_IPHONE FLutterRTCVideoPlatformViewFactory *_platformViewFactory; #endif + + RTC_OBJC_TYPE(RTCCallbackLogger) * loggerCallback; } static FlutterWebRTCPlugin *sharedSingleton; @@ -183,6 +190,7 @@ - (instancetype)initWithChannel:(FlutterMethodChannel*)channel self.localTracks = [NSMutableDictionary new]; self.renders = [NSMutableDictionary new]; self.frameCryptors = [NSMutableDictionary new]; + self.dataCryptors = [NSMutableDictionary new]; self.keyProviders = [NSMutableDictionary new]; self.videoCapturerStopHandlers = [NSMutableDictionary new]; self.recorders = [NSMutableDictionary new]; @@ -242,9 +250,42 @@ - (void)didSessionRouteChange:(NSNotification*)notification { #endif } +-(void) initLoggerCallback:(RTCLoggingSeverity)severity { + if(loggerCallback == nil) { + loggerCallback = [RTC_OBJC_TYPE(RTCCallbackLogger) new]; + [loggerCallback start:^(NSString *logMessage) { + postEvent(self.eventSink, @{ + @"event" : @"onLogData", + @"data" : logMessage + }); + }]; + } + + loggerCallback.severity = severity; +} + +-(RTCLoggingSeverity)str2LogSeverity:(NSString*)str { + if ([@"verbose" isEqualToString:str]) { + return RTCLoggingSeverityVerbose; + } else if ([@"info" isEqualToString:str]) { + return RTCLoggingSeverityInfo; + } else if ([@"warning" isEqualToString:str]) { + return RTCLoggingSeverityWarning; + } else if ([@"error" isEqualToString:str]) { + return RTCLoggingSeverityError; + } else if ([@"none" isEqualToString:str]) { + return RTCLoggingSeverityNone; + } + + return RTCLoggingSeverityNone; +} + - (void)initialize:(NSArray*)networkIgnoreMask -bypassVoiceProcessing:(BOOL)bypassVoiceProcessing { - // RTCSetMinDebugLogLevel(RTCLoggingSeverityVerbose); + bypassVoiceProcessing:(BOOL)bypassVoiceProcessing + severity:(RTCLoggingSeverity)severity { + // RTCSetMinDebugLogLevel(severity); + [self initLoggerCallback:severity]; + if (!_peerConnectionFactory) { VideoDecoderFactory* decoderFactory = [[VideoDecoderFactory alloc] init]; VideoEncoderFactory* encoderFactory = [[VideoEncoderFactory alloc] init]; @@ -297,7 +338,14 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result { if (options[@"networkIgnoreMask"] != nil) { networkIgnoreMask = ((NSArray*)options[@"networkIgnoreMask"]); } - [self initialize:networkIgnoreMask bypassVoiceProcessing:enableBypassVoiceProcessing]; + RTCLoggingSeverity severity = RTCLoggingSeverityNone; + if (options[@"logSeverity"] != nil) { + NSString* severityStr = ((NSString*)options[@"logSeverity"]); + severity = [self str2LogSeverity:severityStr]; + } + + [self initialize:networkIgnoreMask bypassVoiceProcessing:enableBypassVoiceProcessing + severity:severity]; result(@""); } else if ([@"createPeerConnection" isEqualToString:call.method]) { NSDictionary* argsMap = call.arguments; @@ -575,7 +623,7 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result { NSString* dataChannelId = argsMap[@"dataChannelId"]; [self dataChannelGetBufferedAmount:peerConnectionId dataChannelId:dataChannelId result:result]; - } + } else if ([@"dataChannelClose" isEqualToString:call.method]) { NSDictionary* argsMap = call.arguments; NSString* peerConnectionId = argsMap[@"peerConnectionId"]; @@ -1504,6 +1552,11 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result { message:[NSString stringWithFormat:@"Error: peerConnection not found!"] details:nil]); } + } else if ([@"setLogSeverity" isEqualToString:call.method]) { + NSDictionary* argsMap = call.arguments; + NSString* severityStr = argsMap[@"severity"]; + RTCLoggingSeverity severity = [self str2LogSeverity:severityStr]; + [self initLoggerCallback:severity]; #if TARGET_OS_IOS } else if ([@"startRecordToFile" isEqualToString:call.method]){ @@ -1538,9 +1591,64 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result { details:nil]); } #endif + } else if ([@"startLocalRecording" isEqualToString:call.method]) { + RTCAudioDeviceModule* adm = _peerConnectionFactory.audioDeviceModule; + // Run on background queue + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{ + NSInteger admResult = [adm initAndStartRecording]; + + // Return to main queue + dispatch_async(dispatch_get_main_queue(), ^{ + if (admResult == 0) { + result(nil); + } else { + result([FlutterError + errorWithCode:[NSString stringWithFormat:@"%@ failed", call.method] + message:[NSString stringWithFormat:@"Error: adm api failed with code: %ld", + (long)admResult] + details:nil]); + } + }); + }); + } else if ([@"stopLocalRecording" isEqualToString:call.method]) { + RTCAudioDeviceModule* adm = _peerConnectionFactory.audioDeviceModule; + // Run on background queue + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{ + NSInteger admResult = [adm stopRecording]; + + // Return to main queue + dispatch_async(dispatch_get_main_queue(), ^{ + if (admResult == 0) { + result(nil); + } else { + result([FlutterError + errorWithCode:[NSString stringWithFormat:@"%@ failed", call.method] + message:[NSString stringWithFormat:@"Error: adm api failed with code: %ld", + (long)admResult] + details:nil]); + } + }); + }); + } else if ([@"isVoiceProcessingEnabled" isEqualToString:call.method]) { + RTCAudioDeviceModule* adm = _peerConnectionFactory.audioDeviceModule; + NSNumber* admResult = [NSNumber numberWithBool:adm.isVoiceProcessingEnabled]; + result(admResult); + } else if ([@"isVoiceProcessingBypassed" isEqualToString:call.method]) { + RTCAudioDeviceModule* adm = _peerConnectionFactory.audioDeviceModule; + NSNumber* admResult = [NSNumber numberWithBool:adm.isVoiceProcessingBypassed]; + result(admResult); + } else if ([@"setIsVoiceProcessingBypassed" isEqualToString:call.method]) { + RTCAudioDeviceModule* adm = _peerConnectionFactory.audioDeviceModule; + NSNumber* value = call.arguments[@"value"]; + adm.voiceProcessingBypassed = value.boolValue; + result(nil); } else { - [self handleFrameCryptorMethodCall:call result:result]; - } + if([self handleFrameCryptorMethodCall:call result:result]) { + return; + } else { + [self handleDataPacketCryptorMethodCall:call result:result]; + } + } } - (void)dealloc { @@ -1839,7 +1947,7 @@ - (nonnull RTCConfiguration*)RTCConfiguration:(id)json { NSNumber* maxIPv6Networks = json[@"maxIPv6Networks"]; config.maxIPv6Networks = [maxIPv6Networks intValue]; } - + // === below is private api in webrtc === if (json[@"tcpCandidatePolicy"] != nil && [json[@"tcpCandidatePolicy"] isKindOfClass:[NSString class]]) { @@ -2057,7 +2165,7 @@ - (NSDictionary*)rtpParametersToMap:(RTCRtpParameters*)parameters { @"kind" : codec.kind }]; } - + NSString *degradationPreference = @"balanced"; if(parameters.degradationPreference != nil) { if ([parameters.degradationPreference intValue] == RTCDegradationPreferenceMaintainFramerate ) { @@ -2273,7 +2381,7 @@ - (RTCRtpParameters*)updateRtpParameters:(RTCRtpParameters*)parameters NSArray* currentEncodings = parameters.encodings; // new encodings NSArray* newEncodings = [newParameters objectForKey:@"encodings"]; - + NSString *degradationPreference = [newParameters objectForKey:@"degradationPreference"]; if( degradationPreference != nil) { diff --git a/example/android/gradle.properties b/example/android/gradle.properties index 94adc3a3f9..f018a61817 100644 --- a/example/android/gradle.properties +++ b/example/android/gradle.properties @@ -1,3 +1,3 @@ -org.gradle.jvmargs=-Xmx1536M +org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index bc5bce7aa1..73e10df7d4 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sat Nov 09 20:10:39 CST 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/example/android/settings.gradle b/example/android/settings.gradle index 4034dd79cc..f4e0879bf3 100644 --- a/example/android/settings.gradle +++ b/example/android/settings.gradle @@ -18,8 +18,8 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.3.0" apply false - id "org.jetbrains.kotlin.android" version "1.7.10" apply false + id "com.android.application" version "8.6.0" apply false + id "org.jetbrains.kotlin.android" version "2.1.0" apply false } include ":app" \ No newline at end of file diff --git a/example/lib/main.dart b/example/lib/main.dart index 53d6da088f..954282ba70 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -4,6 +4,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_background/flutter_background.dart'; import 'package:flutter_webrtc_example/src/capture_frame_sample.dart'; +import 'src/adm_sample.dart'; +import 'src/data_packet_cryptor_sample.dart'; import 'src/device_enumeration_sample.dart'; import 'src/get_display_media_sample.dart'; import 'src/get_user_media_sample.dart' @@ -127,6 +129,22 @@ class _MyAppState extends State { MaterialPageRoute( builder: (BuildContext context) => CaptureFrameSample())); }), + RouteItem( + title: 'ADM Sample', + push: (BuildContext context) { + Navigator.push( + context, + MaterialPageRoute( + builder: (BuildContext context) => AdmSample())); + }), + RouteItem( + title: 'Data Packet Cryptor Sample', + push: (BuildContext context) { + Navigator.push( + context, + MaterialPageRoute( + builder: (BuildContext context) => DataPacketCryptorSample())); + }), ]; } } diff --git a/example/lib/src/adm_sample.dart b/example/lib/src/adm_sample.dart new file mode 100644 index 0000000000..a24c43af47 --- /dev/null +++ b/example/lib/src/adm_sample.dart @@ -0,0 +1,49 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_webrtc/flutter_webrtc.dart'; + +class AdmSample extends StatelessWidget { + @override + Widget build(BuildContext context) => Scaffold( + appBar: AppBar( + title: Text('ADM Sample'), + ), + body: ListView( + children: [ + ListTile( + title: Text('startLocalRecording'), + onTap: () async { + await NativeAudioManagement.startLocalRecording(); + }, + ), + ListTile( + title: Text('stopLocalRecording'), + onTap: () async { + await NativeAudioManagement.stopLocalRecording(); + }, + ), + ListTile( + title: Text('isVoiceProcessingEnabled'), + onTap: () async { + final result = await NativeAudioManagement.isVoiceProcessingEnabled(); + print('isVoiceProcessingEnabled: $result'); + }, + ), + ListTile( + title: Text('Get isVoiceProcessingBypassed'), + onTap: () async { + final result = await NativeAudioManagement.isVoiceProcessingBypassed(); + print('isVoiceProcessingBypassed: $result'); + }, + ), + ListTile( + title: Text('Toggle isVoiceProcessingBypassed'), + onTap: () async { + final result = await NativeAudioManagement.isVoiceProcessingBypassed(); + await NativeAudioManagement.setIsVoiceProcessingBypassed(!result); + print('isVoiceProcessingBypassed: $result'); + }, + ), + ], + ), + ); +} diff --git a/example/lib/src/data_packet_cryptor_sample.dart b/example/lib/src/data_packet_cryptor_sample.dart new file mode 100644 index 0000000000..770e7804b0 --- /dev/null +++ b/example/lib/src/data_packet_cryptor_sample.dart @@ -0,0 +1,144 @@ +import 'dart:core'; + +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_webrtc/flutter_webrtc.dart'; + +class DataPacketCryptorSample extends StatefulWidget { + static String tag = 'data_packet_cryptor_sample'; + + @override + _MyAppState createState() => _MyAppState(); +} + +class _MyAppState extends State { + final DataPacketCryptorFactory _dataPacketCryptorFactory = + dataPacketCryptorFactory; + KeyProvider? _keySharedProvider; + DataPacketCryptor? _dataPacketCryptor; + final demoRatchetSalt = 'flutter-webrtc-ratchet-salt'; + + final aesKey = Uint8List.fromList([ + 200, + 244, + 58, + 72, + 214, + 245, + 86, + 82, + 192, + 127, + 23, + 153, + 167, + 172, + 122, + 234, + 140, + 70, + 175, + 74, + 61, + 11, + 134, + 58, + 185, + 102, + 172, + 17, + 11, + 6, + 119, + 253 + ]); + + @override + void initState() { + print('Init State'); + super.initState(); + } + + @override + void deactivate() { + super.deactivate(); + } + + void _onTestFunc() async { + var keyProviderOptions = KeyProviderOptions( + sharedKey: false, + ratchetSalt: Uint8List.fromList(demoRatchetSalt.codeUnits), + ratchetWindowSize: 16, + failureTolerance: -1, + ); + + _keySharedProvider ??= + await frameCryptorFactory.createDefaultKeyProvider(keyProviderOptions); + + var participantId = 'participantId_1'; + + await _keySharedProvider?.setKey( + participantId: participantId, index: 0, key: aesKey); + + _dataPacketCryptor ??= + await _dataPacketCryptorFactory.createDataPacketCryptor( + algorithm: Algorithm.kAesGcm, keyProvider: _keySharedProvider!); + + var data = Uint8List.fromList('Hello world!'.codeUnits); + print('plain data: $data'); + var encryptedPacket = await _dataPacketCryptor?.encrypt( + participantId: participantId, keyIndex: 0, data: data); + print( + 'encrypted data: ${encryptedPacket?.data}, keyIndex: ${encryptedPacket?.keyIndex}, iv: ${encryptedPacket?.iv}'); + var decryptedData = await _dataPacketCryptor?.decrypt( + participantId: participantId, encryptedPacket: encryptedPacket!); + print('decrypted data: $decryptedData'); + print('decrypted string: ${String.fromCharCodes(decryptedData!)}'); + await _dataPacketCryptor?.dispose(); + _dataPacketCryptor = null; + await _keySharedProvider?.dispose(); + _keySharedProvider = null; + } + + @override + Widget build(BuildContext context) { + var widgets = [ + Text('data cryptor sample'), + ]; + return Scaffold( + appBar: AppBar( + title: Text('Data packet cryptor sample'), + ), + body: OrientationBuilder( + builder: (context, orientation) { + return Stack( + children: [ + Container( + decoration: BoxDecoration(color: Colors.black54), + child: orientation == Orientation.portrait + ? Column( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: widgets) + : Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: widgets), + ), + Align( + alignment: Alignment.bottomCenter, + child: OverflowBar( + children: [ + FloatingActionButton( + heroTag: null, + tooltip: 'test', + onPressed: _onTestFunc, + child: Icon(Icons.play_arrow)), + ], + ), + ), + ], + ); + }, + ), + ); + } +} diff --git a/example/lib/src/loopback_sample_unified_tracks.dart b/example/lib/src/loopback_sample_unified_tracks.dart index ba84cabbf2..fdb5f7218b 100644 --- a/example/lib/src/loopback_sample_unified_tracks.dart +++ b/example/lib/src/loopback_sample_unified_tracks.dart @@ -19,7 +19,13 @@ const List audioCodecList = [ 'PCMU', 'G729' ]; -const List videoCodecList = ['VP8', 'VP9', 'H264', 'AV1']; +const List videoCodecList = [ + 'VP8', + 'VP9', + 'H264', + 'H265', + 'AV1' +]; class _MyAppState extends State { String audioDropdownValue = audioCodecList.first; diff --git a/example/web/e2ee.worker.dart.js b/example/web/e2ee.worker.dart.js index 546a5faa8a..568a14e498 100644 --- a/example/web/e2ee.worker.dart.js +++ b/example/web/e2ee.worker.dart.js @@ -1,4 +1,4 @@ -// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.7.0. +// Generated by dart2js (, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.9.2. // The code supports the following hooks: // dartPrint(message): // if this function is defined it is called instead of the Dart [print] @@ -125,7 +125,9 @@ return finalValue; }; } - function makeConstList(list) { + function makeConstList(list, rti) { + if (rti != null) + A._setArrayType(list, rti); list.$flags = 7; return list; } @@ -444,6 +446,8 @@ JSArray: function JSArray(t0) { this.$ti = t0; }, + JSArraySafeToStringHook: function JSArraySafeToStringHook() { + }, JSUnmodifiableArray: function JSUnmodifiableArray(t0) { this.$ti = t0; }, @@ -466,6 +470,9 @@ }, A = {JS_CONST: function JS_CONST() { }, + LateError$fieldNI(fieldName) { + return new A.LateError("Field '" + fieldName + "' has not been initialized."); + }, SystemHash_combine(hash, value) { hash = hash + value & 536870911; hash = hash + ((hash & 524287) << 10) & 536870911; @@ -493,7 +500,7 @@ }, _CopyingBytesBuilder: function _CopyingBytesBuilder(t0) { this.__internal$_length = 0; - this._buffer = t0; + this.__internal$_buffer = t0; }, LateError: function LateError(t0) { this._message = t0; @@ -593,9 +600,6 @@ return hash; }, Primitives_objectTypeName(object) { - return A.Primitives__objectTypeNameNewRti(object); - }, - Primitives__objectTypeNameNewRti(object) { var interceptor, dispatchName, $constructor, constructorName; if (object instanceof A.Object) return A._rtiToString(A.instanceType(object), null); @@ -614,12 +618,19 @@ return A._rtiToString(A.instanceType(object), null); }, Primitives_safeToString(object) { + var hooks, i, hookResult; if (typeof object == "number" || A._isBool(object)) return J.toString$0$(object); if (typeof object == "string") return JSON.stringify(object); if (object instanceof A.Closure) return object.toString$0(0); + hooks = $.$get$_safeToStringHooks(); + for (i = 0; i < 1; ++i) { + hookResult = hooks[i].tryFormat$1(object); + if (hookResult != null) + return hookResult; + } return "Instance of '" + A.Primitives_objectTypeName(object) + "'"; }, Primitives_stringFromNativeUint8List(charCodes, start, end) { @@ -704,10 +715,13 @@ return A.Primitives__generalApplyFunction($function, positionalArguments, namedArguments); }, Primitives__generalApplyFunction($function, positionalArguments, namedArguments) { - var defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, maxArguments, missingDefaults, keys, _i, defaultValue, used, key, - $arguments = Array.isArray(positionalArguments) ? positionalArguments : A.List_List$of(positionalArguments, true, type$.dynamic), - argumentCount = $arguments.length, - requiredParameterCount = $function.$requiredArgCount; + var $arguments, argumentCount, requiredParameterCount, defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, maxArguments, missingDefaults, keys, _i, defaultValue, used, key; + if (Array.isArray(positionalArguments)) + $arguments = positionalArguments; + else + $arguments = A.List_List$_of(positionalArguments, type$.dynamic); + argumentCount = $arguments.length; + requiredParameterCount = $function.$requiredArgCount; if (argumentCount < requiredParameterCount) return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); defaultValuesClosure = $function.$defaultValues; @@ -733,7 +747,7 @@ if (argumentCount < maxArguments) { missingDefaults = defaultValues.slice(argumentCount - requiredParameterCount); if ($arguments === positionalArguments) - $arguments = A.List_List$of($arguments, true, type$.dynamic); + $arguments = A.List_List$_of($arguments, type$.dynamic); B.JSArray_methods.addAll$1($arguments, missingDefaults); } return jsFunction.apply($function, $arguments); @@ -741,7 +755,7 @@ if (argumentCount > requiredParameterCount) return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); if ($arguments === positionalArguments) - $arguments = A.List_List$of($arguments, true, type$.dynamic); + $arguments = A.List_List$_of($arguments, type$.dynamic); keys = Object.keys(defaultValues); if (namedArguments == null) for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) { @@ -778,7 +792,8 @@ Primitives_trySetStackTrace(error, stackTrace) { var jsError; if (error.$thrownJsError == null) { - jsError = A.wrapException(error); + jsError = new Error(); + A.initializeExceptionWrapper(error, jsError); error.$thrownJsError = jsError; jsError.stack = stackTrace.toString$0(0); } @@ -812,9 +827,9 @@ return new A.ArgumentError(true, object, null, null); }, wrapException(ex) { - return A.initializeExceptionWrapper(new Error(), ex); + return A.initializeExceptionWrapper(ex, new Error()); }, - initializeExceptionWrapper(wrapper, ex) { + initializeExceptionWrapper(ex, wrapper) { var t1; if (ex == null) ex = new A.TypeError(); @@ -830,11 +845,8 @@ toStringWrapper() { return J.toString$0$(this.dartException); }, - throwExpression(ex) { - throw A.wrapException(ex); - }, - throwExpressionWithWrapper(ex, wrapper) { - throw A.initializeExceptionWrapper(wrapper, ex); + throwExpression(ex, wrapper) { + throw A.initializeExceptionWrapper(ex, wrapper == null ? new Error() : wrapper); }, throwUnsupportedOperation(o, operation, verb) { var wrapper; @@ -843,7 +855,7 @@ if (verb == null) verb = 0; wrapper = Error(); - A.throwExpressionWithWrapper(A._diagnoseUnsupportedOperation(o, operation, verb), wrapper); + A.throwExpression(A._diagnoseUnsupportedOperation(o, operation, verb), wrapper); }, _diagnoseUnsupportedOperation(o, encodedOperation, encodedVerb) { var operation, table, tableLength, index, verb, object, flags, article, adjective; @@ -918,7 +930,7 @@ return new A.NullThrownFromJavaScriptException(ex); if (ex instanceof A.ExceptionAndStackTrace) { t1 = ex.dartException; - return A.saveStackTrace(ex, t1 == null ? type$.Object._as(t1) : t1); + return A.saveStackTrace(ex, t1 == null ? A._asObject(t1) : t1); } if (typeof ex !== "object") return ex; @@ -1109,7 +1121,7 @@ $prototype.$static_name = $name; trampoline = $function; } - $prototype.$signature = A.Closure__computeSignatureFunctionNewRti(t1, isStatic, isIntercepted); + $prototype.$signature = A.Closure__computeSignatureFunction(t1, isStatic, isIntercepted); $prototype[callName] = trampoline; for (applyTrampoline = trampoline, i = 1; i < funsOrNames.length; ++i) { stub = funsOrNames[i]; @@ -1133,7 +1145,7 @@ $prototype.$defaultValues = parameters.dV; return $constructor; }, - Closure__computeSignatureFunctionNewRti(functionType, isStatic, isIntercepted) { + Closure__computeSignatureFunction(functionType, isStatic, isIntercepted) { if (typeof functionType == "number") return functionType; if (typeof functionType == "string") { @@ -1286,17 +1298,6 @@ } throw A.wrapException(A.ArgumentError$("Field name " + fieldName + " not found.", null)); }, - boolConversionCheck(value) { - if (value == null) - A.assertThrow("boolean expression must not be null"); - return value; - }, - assertThrow(message) { - throw A.wrapException(new A._AssertionError(message)); - }, - throwCyclicInit(staticName) { - throw A.wrapException(new A._CyclicInitializationError(staticName)); - }, getIsolateAffinityTag($name) { return init.getIsolateTag($name); }, @@ -1493,6 +1494,8 @@ this.namedArgumentList = t1; this.$arguments = t2; }, + SafeToStringHook: function SafeToStringHook() { + }, TypeErrorDecoder: function TypeErrorDecoder(t0, t1, t2, t3, t4, t5) { var _ = this; _._pattern = t0; @@ -1537,15 +1540,9 @@ this._receiver = t0; this._interceptor = t1; }, - _CyclicInitializationError: function _CyclicInitializationError(t0) { - this.variableName = t0; - }, RuntimeError: function RuntimeError(t0) { this.message = t0; }, - _AssertionError: function _AssertionError(t0) { - this.message = t0; - }, _Required: function _Required() { }, JsLinkedHashMap: function JsLinkedHashMap(t0) { @@ -1615,6 +1612,8 @@ }, NativeByteBuffer: function NativeByteBuffer() { }, + NativeArrayBuffer: function NativeArrayBuffer() { + }, NativeTypedData: function NativeTypedData() { }, _UnmodifiableNativeByteBufferView: function _UnmodifiableNativeByteBufferView(t0) { @@ -1654,19 +1653,15 @@ }, _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() { }, - Rti__getQuestionFromStar(universe, rti) { - var question = rti._precomputed1; - return question == null ? rti._precomputed1 = A._Universe__lookupQuestionRti(universe, rti._primary, true) : question; - }, Rti__getFutureFromFutureOr(universe, rti) { var future = rti._precomputed1; return future == null ? rti._precomputed1 = A._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]) : future; }, Rti__isUnionOfFunctionType(rti) { var kind = rti._kind; - if (kind === 6 || kind === 7 || kind === 8) + if (kind === 6 || kind === 7) return A.Rti__isUnionOfFunctionType(rti._primary); - return kind === 12 || kind === 13; + return kind === 11 || kind === 12; }, Rti__getCanonicalRecipe(rti) { return rti._canonicalRecipe; @@ -1685,30 +1680,24 @@ case 4: return rti; case 6: - baseType = rti._primary; - substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); - if (substitutedBaseType === baseType) - return rti; - return A._Universe__lookupStarRti(universe, substitutedBaseType, true); - case 7: baseType = rti._primary; substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); if (substitutedBaseType === baseType) return rti; return A._Universe__lookupQuestionRti(universe, substitutedBaseType, true); - case 8: + case 7: baseType = rti._primary; substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); if (substitutedBaseType === baseType) return rti; return A._Universe__lookupFutureOrRti(universe, substitutedBaseType, true); - case 9: + case 8: interfaceTypeArguments = rti._rest; substitutedInterfaceTypeArguments = A._substituteArray(universe, interfaceTypeArguments, typeArguments, depth); if (substitutedInterfaceTypeArguments === interfaceTypeArguments) return rti; return A._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments); - case 10: + case 9: base = rti._primary; substitutedBase = A._substitute(universe, base, typeArguments, depth); $arguments = rti._rest; @@ -1716,14 +1705,14 @@ if (substitutedBase === base && substitutedArguments === $arguments) return rti; return A._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments); - case 11: + case 10: t1 = rti._primary; fields = rti._rest; substitutedFields = A._substituteArray(universe, fields, typeArguments, depth); if (substitutedFields === fields) return rti; return A._Universe__lookupRecordRti(universe, t1, substitutedFields); - case 12: + case 11: returnType = rti._primary; substitutedReturnType = A._substitute(universe, returnType, typeArguments, depth); functionParameters = rti._rest; @@ -1731,7 +1720,7 @@ if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters) return rti; return A._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters); - case 13: + case 12: bounds = rti._rest; depth += bounds.length; substitutedBounds = A._substituteArray(universe, bounds, typeArguments, depth); @@ -1740,7 +1729,7 @@ if (substitutedBounds === bounds && substitutedBase === base) return rti; return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true); - case 14: + case 13: index = rti._primary; if (index < depth) return rti; @@ -1878,102 +1867,102 @@ }, createRuntimeType(rti) { var t1 = rti._cachedRuntimeType; - return t1 == null ? rti._cachedRuntimeType = A._createRuntimeType(rti) : t1; - }, - _createRuntimeType(rti) { - var starErasedRti, t1, - s = rti._canonicalRecipe, - starErasedRecipe = s.replace(/\*/g, ""); - if (starErasedRecipe === s) - return rti._cachedRuntimeType = new A._Type(rti); - starErasedRti = A._Universe_eval(init.typeUniverse, starErasedRecipe, true); - t1 = starErasedRti._cachedRuntimeType; - return t1 == null ? starErasedRti._cachedRuntimeType = A._createRuntimeType(starErasedRti) : t1; + return t1 == null ? rti._cachedRuntimeType = new A._Type(rti) : t1; }, typeLiteral(recipe) { return A.createRuntimeType(A._Universe_eval(init.typeUniverse, recipe, false)); }, _installSpecializedIsTest(object) { - var t1, unstarred, unstarredKind, isFn, $name, predicate, testRti = this; + var testRti = this; + testRti._is = A._specializedIsTest(testRti); + return testRti._is(object); + }, + _specializedIsTest(testRti) { + var kind, simpleIsFn, $name, predicate, t1; if (testRti === type$.Object) - return A._finishIsFn(testRti, object, A._isObject); - if (!A.isSoundTopType(testRti)) - t1 = testRti === type$.legacy_Object; - else - t1 = true; - if (t1) - return A._finishIsFn(testRti, object, A._isTop); - t1 = testRti._kind; - if (t1 === 7) - return A._finishIsFn(testRti, object, A._generalNullableIsTestImplementation); - if (t1 === 1) - return A._finishIsFn(testRti, object, A._isNever); - unstarred = t1 === 6 ? testRti._primary : testRti; - unstarredKind = unstarred._kind; - if (unstarredKind === 8) - return A._finishIsFn(testRti, object, A._isFutureOr); - if (unstarred === type$.int) - isFn = A._isInt; - else if (unstarred === type$.double || unstarred === type$.num) - isFn = A._isNum; - else if (unstarred === type$.String) - isFn = A._isString; - else - isFn = unstarred === type$.bool ? A._isBool : null; - if (isFn != null) - return A._finishIsFn(testRti, object, isFn); - if (unstarredKind === 9) { - $name = unstarred._primary; - if (unstarred._rest.every(A.isDefinitelyTopType)) { + return A._isObject; + if (A.isTopType(testRti)) + return A._isTop; + kind = testRti._kind; + if (kind === 6) + return A._generalNullableIsTestImplementation; + if (kind === 1) + return A._isNever; + if (kind === 7) + return A._isFutureOr; + simpleIsFn = A._simpleSpecializedIsTest(testRti); + if (simpleIsFn != null) + return simpleIsFn; + if (kind === 8) { + $name = testRti._primary; + if (testRti._rest.every(A.isTopType)) { testRti._specializedTestResource = "$is" + $name; if ($name === "List") - return A._finishIsFn(testRti, object, A._isListTestViaProperty); - return A._finishIsFn(testRti, object, A._isTestViaProperty); + return A._isListTestViaProperty; + if (testRti === type$.JSObject) + return A._isJSObject; + return A._isTestViaProperty; } - } else if (unstarredKind === 11) { - predicate = A.createRecordTypePredicate(unstarred._primary, unstarred._rest); - return A._finishIsFn(testRti, object, predicate == null ? A._isNever : predicate); + } else if (kind === 10) { + predicate = A.createRecordTypePredicate(testRti._primary, testRti._rest); + t1 = predicate == null ? A._isNever : predicate; + return t1 == null ? A._asObject(t1) : t1; + } + return A._generalIsTestImplementation; + }, + _simpleSpecializedIsTest(testRti) { + if (testRti._kind === 8) { + if (testRti === type$.int) + return A._isInt; + if (testRti === type$.double || testRti === type$.num) + return A._isNum; + if (testRti === type$.String) + return A._isString; + if (testRti === type$.bool) + return A._isBool; } - return A._finishIsFn(testRti, object, A._generalIsTestImplementation); - }, - _finishIsFn(testRti, object, isFn) { - testRti._is = isFn; - return testRti._is(object); + return null; }, _installSpecializedAsCheck(object) { - var t1, testRti = this, + var testRti = this, asFn = A._generalAsCheckImplementation; - if (!A.isSoundTopType(testRti)) - t1 = testRti === type$.legacy_Object; - else - t1 = true; - if (t1) + if (A.isTopType(testRti)) asFn = A._asTop; else if (testRti === type$.Object) asFn = A._asObject; - else { - t1 = A.isNullable(testRti); - if (t1) - asFn = A._generalNullableAsCheckImplementation; - } + else if (A.isNullable(testRti)) { + asFn = A._generalNullableAsCheckImplementation; + if (testRti === type$.nullable_int) + asFn = A._asIntQ; + else if (testRti === type$.nullable_String) + asFn = A._asStringQ; + else if (testRti === type$.nullable_bool) + asFn = A._asBoolQ; + else if (testRti === type$.nullable_num) + asFn = A._asNumQ; + else if (testRti === type$.nullable_double) + asFn = A._asDoubleQ; + else if (testRti === type$.nullable_JSObject) + asFn = A._asJSObjectQ; + } else if (testRti === type$.int) + asFn = A._asInt; + else if (testRti === type$.String) + asFn = A._asString; + else if (testRti === type$.bool) + asFn = A._asBool; + else if (testRti === type$.num) + asFn = A._asNum; + else if (testRti === type$.double) + asFn = A._asDouble; + else if (testRti === type$.JSObject) + asFn = A._asJSObject; testRti._as = asFn; return testRti._as(object); }, - _nullIs(testRti) { - var kind = testRti._kind, - t1 = true; - if (!A.isSoundTopType(testRti)) - if (!(testRti === type$.legacy_Object)) - if (!(testRti === type$.legacy_Never)) - if (kind !== 7) - if (!(kind === 6 && A._nullIs(testRti._primary))) - t1 = kind === 8 && A._nullIs(testRti._primary) || testRti === type$.Null || testRti === type$.JSNull; - return t1; - }, _generalIsTestImplementation(object) { var testRti = this; if (object == null) - return A._nullIs(testRti); + return A.isNullable(testRti); return A.isSubtype(init.typeUniverse, A.instanceOrFunctionType(object, testRti), testRti); }, _generalNullableIsTestImplementation(object) { @@ -1984,7 +1973,7 @@ _isTestViaProperty(object) { var tag, testRti = this; if (object == null) - return A._nullIs(testRti); + return A.isNullable(testRti); tag = testRti._specializedTestResource; if (object instanceof A.Object) return !!object[tag]; @@ -1993,7 +1982,7 @@ _isListTestViaProperty(object) { var tag, testRti = this; if (object == null) - return A._nullIs(testRti); + return A.isNullable(testRti); if (typeof object != "object") return false; if (Array.isArray(object)) @@ -2003,6 +1992,29 @@ return !!object[tag]; return !!J.getInterceptor$(object)[tag]; }, + _isJSObject(object) { + var t1 = this; + if (object == null) + return false; + if (typeof object == "object") { + if (object instanceof A.Object) + return !!object[t1._specializedTestResource]; + return true; + } + if (typeof object == "function") + return true; + return false; + }, + _isJSObjectStandalone(object) { + if (typeof object == "object") { + if (object instanceof A.Object) + return type$.JSObject._is(object); + return true; + } + if (typeof object == "function") + return true; + return false; + }, _generalAsCheckImplementation(object) { var testRti = this; if (object == null) { @@ -2010,32 +2022,26 @@ return object; } else if (testRti._is(object)) return object; - A._failedAsCheck(object, testRti); + throw A.initializeExceptionWrapper(A._errorForAsCheck(object, testRti), new Error()); }, _generalNullableAsCheckImplementation(object) { var testRti = this; - if (object == null) - return object; - else if (testRti._is(object)) + if (object == null || testRti._is(object)) return object; - A._failedAsCheck(object, testRti); + throw A.initializeExceptionWrapper(A._errorForAsCheck(object, testRti), new Error()); }, - _failedAsCheck(object, testRti) { - throw A.wrapException(A._TypeError$fromMessage(A._Error_compose(object, A._rtiToString(testRti, null)))); + _errorForAsCheck(object, testRti) { + return new A._TypeError("TypeError: " + A._Error_compose(object, A._rtiToString(testRti, null))); }, _Error_compose(object, checkedTypeDescription) { return A.Error_safeToString(object) + ": type '" + A._rtiToString(A._structuralTypeOf(object), null) + "' is not a subtype of type '" + checkedTypeDescription + "'"; }, - _TypeError$fromMessage(message) { - return new A._TypeError("TypeError: " + message); - }, _TypeError__TypeError$forType(object, type) { return new A._TypeError("TypeError: " + A._Error_compose(object, type)); }, _isFutureOr(object) { - var testRti = this, - unstarred = testRti._kind === 6 ? testRti._primary : testRti; - return unstarred._primary._is(object) || A.Rti__getFutureFromFutureOr(init.typeUniverse, unstarred)._is(object); + var testRti = this; + return testRti._primary._is(object) || A.Rti__getFutureFromFutureOr(init.typeUniverse, testRti)._is(object); }, _isObject(object) { return object != null; @@ -2043,7 +2049,7 @@ _asObject(object) { if (object != null) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "Object")); + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "Object"), new Error()); }, _isTop(object) { return true; @@ -2062,16 +2068,7 @@ return true; if (false === object) return false; - throw A.wrapException(A._TypeError__TypeError$forType(object, "bool")); - }, - _asBoolS(object) { - if (true === object) - return true; - if (false === object) - return false; - if (object == null) - return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "bool")); + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "bool"), new Error()); }, _asBoolQ(object) { if (true === object) @@ -2080,26 +2077,19 @@ return false; if (object == null) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "bool?")); + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "bool?"), new Error()); }, _asDouble(object) { if (typeof object == "number") return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "double")); - }, - _asDoubleS(object) { - if (typeof object == "number") - return object; - if (object == null) - return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "double")); + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "double"), new Error()); }, _asDoubleQ(object) { if (typeof object == "number") return object; if (object == null) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "double?")); + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "double?"), new Error()); }, _isInt(object) { return typeof object == "number" && Math.floor(object) === object; @@ -2107,21 +2097,14 @@ _asInt(object) { if (typeof object == "number" && Math.floor(object) === object) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "int")); - }, - _asIntS(object) { - if (typeof object == "number" && Math.floor(object) === object) - return object; - if (object == null) - return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "int")); + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "int"), new Error()); }, _asIntQ(object) { if (typeof object == "number" && Math.floor(object) === object) return object; if (object == null) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "int?")); + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "int?"), new Error()); }, _isNum(object) { return typeof object == "number"; @@ -2129,21 +2112,14 @@ _asNum(object) { if (typeof object == "number") return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "num")); - }, - _asNumS(object) { - if (typeof object == "number") - return object; - if (object == null) - return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "num")); + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "num"), new Error()); }, _asNumQ(object) { if (typeof object == "number") return object; if (object == null) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "num?")); + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "num?"), new Error()); }, _isString(object) { return typeof object == "string"; @@ -2151,21 +2127,26 @@ _asString(object) { if (typeof object == "string") return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "String")); + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "String"), new Error()); }, - _asStringS(object) { + _asStringQ(object) { if (typeof object == "string") return object; if (object == null) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "String")); + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "String?"), new Error()); }, - _asStringQ(object) { - if (typeof object == "string") + _asJSObject(object) { + if (A._isJSObjectStandalone(object)) return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "JSObject"), new Error()); + }, + _asJSObjectQ(object) { if (object == null) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "String?")); + if (A._isJSObjectStandalone(object)) + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "JSObject?"), new Error()); }, _rtiArrayToString(array, genericContext) { var s, sep, i; @@ -2194,7 +2175,7 @@ return s + "})"; }, _functionRtiToString(functionType, genericContext, bounds) { - var boundsLength, offset, i, t1, t2, typeParametersText, typeSep, t3, t4, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", ", outerContextLength = null; + var boundsLength, offset, i, t1, typeParametersText, typeSep, t2, t3, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", ", outerContextLength = null; if (bounds != null) { boundsLength = bounds.length; if (genericContext == null) @@ -2204,19 +2185,15 @@ offset = genericContext.length; for (i = boundsLength; i > 0; --i) B.JSArray_methods.add$1(genericContext, "T" + (offset + i)); - for (t1 = type$.nullable_Object, t2 = type$.legacy_Object, typeParametersText = "<", typeSep = "", i = 0; i < boundsLength; ++i, typeSep = _s2_) { - t3 = genericContext.length; - t4 = t3 - 1 - i; - if (!(t4 >= 0)) - return A.ioore(genericContext, t4); - typeParametersText = typeParametersText + typeSep + genericContext[t4]; + for (t1 = type$.nullable_Object, typeParametersText = "<", typeSep = "", i = 0; i < boundsLength; ++i, typeSep = _s2_) { + t2 = genericContext.length; + t3 = t2 - 1 - i; + if (!(t3 >= 0)) + return A.ioore(genericContext, t3); + typeParametersText = typeParametersText + typeSep + genericContext[t3]; boundRti = bounds[i]; kind = boundRti._kind; if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1)) - t3 = boundRti === t2; - else - t3 = true; - if (!t3) typeParametersText += " extends " + A._rtiToString(boundRti, genericContext); } typeParametersText += ">"; @@ -2268,28 +2245,26 @@ return "Never"; if (kind === 4) return "any"; - if (kind === 6) - return A._rtiToString(rti._primary, genericContext); - if (kind === 7) { + if (kind === 6) { questionArgument = rti._primary; s = A._rtiToString(questionArgument, genericContext); argumentKind = questionArgument._kind; - return (argumentKind === 12 || argumentKind === 13 ? "(" + s + ")" : s) + "?"; + return (argumentKind === 11 || argumentKind === 12 ? "(" + s + ")" : s) + "?"; } - if (kind === 8) + if (kind === 7) return "FutureOr<" + A._rtiToString(rti._primary, genericContext) + ">"; - if (kind === 9) { + if (kind === 8) { $name = A._unminifyOrTag(rti._primary); $arguments = rti._rest; return $arguments.length > 0 ? $name + ("<" + A._rtiArrayToString($arguments, genericContext) + ">") : $name; } - if (kind === 11) + if (kind === 10) return A._recordRtiToString(rti, genericContext); - if (kind === 12) + if (kind === 11) return A._functionRtiToString(rti, genericContext, null); - if (kind === 13) + if (kind === 12) return A._functionRtiToString(rti._primary, genericContext, rti._rest); - if (kind === 14) { + if (kind === 13) { t1 = rti._primary; t2 = genericContext.length; t1 = t2 - 1 - t1; @@ -2313,8 +2288,8 @@ }, _Universe_findErasedType(universe, cls) { var $length, erased, $arguments, i, $interface, - t1 = universe.eT, - probe = t1[cls]; + metadata = universe.eT, + probe = metadata[cls]; if (probe == null) return A._Universe_eval(universe, cls, false); else if (typeof probe == "number") { @@ -2324,7 +2299,7 @@ for (i = 0; i < $length; ++i) $arguments[i] = erased; $interface = A._Universe__lookupInterfaceRti(universe, cls, $arguments); - t1[cls] = $interface; + metadata[cls] = $interface; return $interface; } else return probe; @@ -2337,12 +2312,12 @@ }, _Universe_eval(universe, recipe, normalize) { var rti, - t1 = universe.eC, - probe = t1.get(recipe); + cache = universe.eC, + probe = cache.get(recipe); if (probe != null) return probe; - rti = A._Parser_parse(A._Parser_create(universe, null, recipe, normalize)); - t1.set(recipe, rti); + rti = A._Parser_parse(A._Parser_create(universe, null, recipe, false)); + cache.set(recipe, rti); return rti; }, _Universe_evalInEnvironment(universe, environment, recipe) { @@ -2366,7 +2341,7 @@ probe = cache.get(argumentsRecipe); if (probe != null) return probe; - rti = A._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 10 ? argumentsRti._rest : [argumentsRti]); + rti = A._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 9 ? argumentsRti._rest : [argumentsRti]); cache.set(argumentsRecipe, rti); return rti; }, @@ -2387,33 +2362,6 @@ universe.eC.set(key, t1); return t1; }, - _Universe__lookupStarRti(universe, baseType, normalize) { - var t1, - key = baseType._canonicalRecipe + "*", - probe = universe.eC.get(key); - if (probe != null) - return probe; - t1 = A._Universe__createStarRti(universe, baseType, key, normalize); - universe.eC.set(key, t1); - return t1; - }, - _Universe__createStarRti(universe, baseType, key, normalize) { - var baseKind, t1, rti; - if (normalize) { - baseKind = baseType._kind; - if (!A.isSoundTopType(baseType)) - t1 = baseType === type$.Null || baseType === type$.JSNull || baseKind === 7 || baseKind === 6; - else - t1 = true; - if (t1) - return baseType; - } - rti = new A.Rti(null, null); - rti._kind = 6; - rti._primary = baseType; - rti._canonicalRecipe = key; - return A._Universe__installTypeTests(universe, rti); - }, _Universe__lookupQuestionRti(universe, baseType, normalize) { var t1, key = baseType._canonicalRecipe + "?", @@ -2425,28 +2373,21 @@ return t1; }, _Universe__createQuestionRti(universe, baseType, key, normalize) { - var baseKind, t1, starArgument, rti; + var baseKind, t1, rti; if (normalize) { baseKind = baseType._kind; t1 = true; - if (!A.isSoundTopType(baseType)) + if (!A.isTopType(baseType)) if (!(baseType === type$.Null || baseType === type$.JSNull)) - if (baseKind !== 7) - t1 = baseKind === 8 && A.isNullable(baseType._primary); + if (baseKind !== 6) + t1 = baseKind === 7 && A.isNullable(baseType._primary); if (t1) return baseType; - else if (baseKind === 1 || baseType === type$.legacy_Never) + else if (baseKind === 1) return type$.Null; - else if (baseKind === 6) { - starArgument = baseType._primary; - if (starArgument._kind === 8 && A.isNullable(starArgument._primary)) - return starArgument; - else - return A.Rti__getQuestionFromStar(universe, baseType); - } } rti = new A.Rti(null, null); - rti._kind = 7; + rti._kind = 6; rti._primary = baseType; rti._canonicalRecipe = key; return A._Universe__installTypeTests(universe, rti); @@ -2465,7 +2406,7 @@ var t1, rti; if (normalize) { t1 = baseType._kind; - if (A.isSoundTopType(baseType) || baseType === type$.Object || baseType === type$.legacy_Object) + if (A.isTopType(baseType) || baseType === type$.Object) return baseType; else if (t1 === 1) return A._Universe__lookupInterfaceRti(universe, "Future", [baseType]); @@ -2473,7 +2414,7 @@ return type$.nullable_Future_Null; } rti = new A.Rti(null, null); - rti._kind = 8; + rti._kind = 7; rti._primary = baseType; rti._canonicalRecipe = key; return A._Universe__installTypeTests(universe, rti); @@ -2485,7 +2426,7 @@ if (probe != null) return probe; rti = new A.Rti(null, null); - rti._kind = 14; + rti._kind = 13; rti._primary = index; rti._canonicalRecipe = key; t1 = A._Universe__installTypeTests(universe, rti); @@ -2518,7 +2459,7 @@ if (probe != null) return probe; rti = new A.Rti(null, null); - rti._kind = 9; + rti._kind = 8; rti._primary = $name; rti._rest = $arguments; if ($arguments.length > 0) @@ -2530,7 +2471,7 @@ }, _Universe__lookupBindingRti(universe, base, $arguments) { var newBase, newArguments, key, probe, rti, t1; - if (base._kind === 10) { + if (base._kind === 9) { newBase = base._primary; newArguments = base._rest.concat($arguments); } else { @@ -2542,7 +2483,7 @@ if (probe != null) return probe; rti = new A.Rti(null, null); - rti._kind = 10; + rti._kind = 9; rti._primary = newBase; rti._rest = newArguments; rti._canonicalRecipe = key; @@ -2557,7 +2498,7 @@ if (probe != null) return probe; rti = new A.Rti(null, null); - rti._kind = 11; + rti._kind = 10; rti._primary = partialShapeTag; rti._rest = fields; rti._canonicalRecipe = key; @@ -2588,7 +2529,7 @@ if (probe != null) return probe; rti = new A.Rti(null, null); - rti._kind = 12; + rti._kind = 11; rti._primary = returnType; rti._rest = parameters; rti._canonicalRecipe = key; @@ -2625,7 +2566,7 @@ } } rti = new A.Rti(null, null); - rti._kind = 13; + rti._kind = 12; rti._primary = baseFunctionType; rti._rest = bounds; rti._canonicalRecipe = key; @@ -2635,101 +2576,97 @@ return {u: universe, e: environment, r: recipe, s: [], p: 0, n: normalize}; }, _Parser_parse(parser) { - var t2, i, ch, t3, array, end, item, + var t1, i, ch, u, array, end, item, source = parser.r, - t1 = parser.s; - for (t2 = source.length, i = 0; i < t2;) { + stack = parser.s; + for (t1 = source.length, i = 0; i < t1;) { ch = source.charCodeAt(i); if (ch >= 48 && ch <= 57) - i = A._Parser_handleDigit(i + 1, ch, source, t1); + i = A._Parser_handleDigit(i + 1, ch, source, stack); else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36 || ch === 124) - i = A._Parser_handleIdentifier(parser, i, source, t1, false); + i = A._Parser_handleIdentifier(parser, i, source, stack, false); else if (ch === 46) - i = A._Parser_handleIdentifier(parser, i, source, t1, true); + i = A._Parser_handleIdentifier(parser, i, source, stack, true); else { ++i; switch (ch) { case 44: break; case 58: - t1.push(false); + stack.push(false); break; case 33: - t1.push(true); + stack.push(true); break; case 59: - t1.push(A._Parser_toType(parser.u, parser.e, t1.pop())); + stack.push(A._Parser_toType(parser.u, parser.e, stack.pop())); break; case 94: - t1.push(A._Universe__lookupGenericFunctionParameterRti(parser.u, t1.pop())); + stack.push(A._Universe__lookupGenericFunctionParameterRti(parser.u, stack.pop())); break; case 35: - t1.push(A._Universe__lookupTerminalRti(parser.u, 5, "#")); + stack.push(A._Universe__lookupTerminalRti(parser.u, 5, "#")); break; case 64: - t1.push(A._Universe__lookupTerminalRti(parser.u, 2, "@")); + stack.push(A._Universe__lookupTerminalRti(parser.u, 2, "@")); break; case 126: - t1.push(A._Universe__lookupTerminalRti(parser.u, 3, "~")); + stack.push(A._Universe__lookupTerminalRti(parser.u, 3, "~")); break; case 60: - t1.push(parser.p); - parser.p = t1.length; + stack.push(parser.p); + parser.p = stack.length; break; case 62: - A._Parser_handleTypeArguments(parser, t1); + A._Parser_handleTypeArguments(parser, stack); break; case 38: - A._Parser_handleExtendedOperations(parser, t1); - break; - case 42: - t3 = parser.u; - t1.push(A._Universe__lookupStarRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n)); + A._Parser_handleExtendedOperations(parser, stack); break; case 63: - t3 = parser.u; - t1.push(A._Universe__lookupQuestionRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n)); + u = parser.u; + stack.push(A._Universe__lookupQuestionRti(u, A._Parser_toType(u, parser.e, stack.pop()), parser.n)); break; case 47: - t3 = parser.u; - t1.push(A._Universe__lookupFutureOrRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n)); + u = parser.u; + stack.push(A._Universe__lookupFutureOrRti(u, A._Parser_toType(u, parser.e, stack.pop()), parser.n)); break; case 40: - t1.push(-3); - t1.push(parser.p); - parser.p = t1.length; + stack.push(-3); + stack.push(parser.p); + parser.p = stack.length; break; case 41: - A._Parser_handleArguments(parser, t1); + A._Parser_handleArguments(parser, stack); break; case 91: - t1.push(parser.p); - parser.p = t1.length; + stack.push(parser.p); + parser.p = stack.length; break; case 93: - array = t1.splice(parser.p); + array = stack.splice(parser.p); A._Parser_toTypes(parser.u, parser.e, array); - parser.p = t1.pop(); - t1.push(array); - t1.push(-1); + parser.p = stack.pop(); + stack.push(array); + stack.push(-1); break; case 123: - t1.push(parser.p); - parser.p = t1.length; + stack.push(parser.p); + parser.p = stack.length; break; case 125: - array = t1.splice(parser.p); + array = stack.splice(parser.p); A._Parser_toTypesNamed(parser.u, parser.e, array); - parser.p = t1.pop(); - t1.push(array); - t1.push(-2); + parser.p = stack.pop(); + stack.push(array); + stack.push(-2); break; case 43: end = source.indexOf("(", i); - t1.push(source.substring(i, end)); - t1.push(-4); - t1.push(parser.p); - parser.p = t1.length; + stack.push(source.substring(i, end)); + stack.push(-4); + stack.push(parser.p); + parser.p = stack.length; i = end + 1; break; default: @@ -2737,7 +2674,7 @@ } } } - item = t1.pop(); + item = stack.pop(); return A._Parser_toType(parser.u, parser.e, item); }, _Parser_handleDigit(i, digit, source, stack) { @@ -2774,7 +2711,7 @@ if (hasPeriod) { t1 = parser.u; environment = parser.e; - if (environment._kind === 10) + if (environment._kind === 9) environment = environment._primary; recipe = A._Universe_findRule(t1, environment._primary)[string]; if (recipe == null) @@ -2786,26 +2723,26 @@ }, _Parser_handleTypeArguments(parser, stack) { var base, - t1 = parser.u, + universe = parser.u, $arguments = A._Parser_collectArray(parser, stack), head = stack.pop(); if (typeof head == "string") - stack.push(A._Universe__lookupInterfaceRti(t1, head, $arguments)); + stack.push(A._Universe__lookupInterfaceRti(universe, head, $arguments)); else { - base = A._Parser_toType(t1, parser.e, head); + base = A._Parser_toType(universe, parser.e, head); switch (base._kind) { - case 12: - stack.push(A._Universe__lookupGenericFunctionRti(t1, base, $arguments, parser.n)); + case 11: + stack.push(A._Universe__lookupGenericFunctionRti(universe, base, $arguments, parser.n)); break; default: - stack.push(A._Universe__lookupBindingRti(t1, base, $arguments)); + stack.push(A._Universe__lookupBindingRti(universe, base, $arguments)); break; } } }, _Parser_handleArguments(parser, stack) { var requiredPositional, returnType, parameters, - t1 = parser.u, + universe = parser.u, head = stack.pop(), optionalPositional = null, named = null; if (typeof head == "number") @@ -2828,18 +2765,18 @@ case -3: head = stack.pop(); if (optionalPositional == null) - optionalPositional = t1.sEA; + optionalPositional = universe.sEA; if (named == null) - named = t1.sEA; - returnType = A._Parser_toType(t1, parser.e, head); + named = universe.sEA; + returnType = A._Parser_toType(universe, parser.e, head); parameters = new A._FunctionParameters(); parameters._requiredPositional = requiredPositional; parameters._optionalPositional = optionalPositional; parameters._named = named; - stack.push(A._Universe__lookupFunctionRti(t1, returnType, parameters)); + stack.push(A._Universe__lookupFunctionRti(universe, returnType, parameters)); return; case -4: - stack.push(A._Universe__lookupRecordRti(t1, stack.pop(), requiredPositional)); + stack.push(A._Universe__lookupRecordRti(universe, stack.pop(), requiredPositional)); return; default: throw A.wrapException(A.AssertionError$("Unexpected state under `()`: " + A.S(head))); @@ -2887,7 +2824,7 @@ _Parser_indexToType(universe, environment, index) { var typeArguments, len, kind = environment._kind; - if (kind === 10) { + if (kind === 9) { if (index === 0) return environment._primary; typeArguments = environment._rest; @@ -2899,7 +2836,7 @@ kind = environment._kind; } else if (index === 0) return environment; - if (kind !== 9) + if (kind !== 8) throw A.wrapException(A.AssertionError$("Indexed base must be an interface type")); typeArguments = environment._rest; if (index <= typeArguments.length) @@ -2913,87 +2850,66 @@ sCache = s._isSubtypeCache = new Map(); result = sCache.get(t); if (result == null) { - result = A._isSubtype(universe, s, null, t, null, false) ? 1 : 0; + result = A._isSubtype(universe, s, null, t, null); sCache.set(t, result); } - if (0 === result) - return false; - if (1 === result) - return true; - return true; + return result; }, - _isSubtype(universe, s, sEnv, t, tEnv, isLegacy) { - var t1, sKind, leftTypeVariable, tKind, t2, sBounds, tBounds, sLength, i, sBound, tBound; + _isSubtype(universe, s, sEnv, t, tEnv) { + var sKind, leftTypeVariable, tKind, t1, t2, sBounds, tBounds, sLength, i, sBound, tBound; if (s === t) return true; - if (!A.isSoundTopType(t)) - t1 = t === type$.legacy_Object; - else - t1 = true; - if (t1) + if (A.isTopType(t)) return true; sKind = s._kind; if (sKind === 4) return true; - if (A.isSoundTopType(s)) + if (A.isTopType(s)) return false; - t1 = s._kind; - if (t1 === 1) + if (s._kind === 1) return true; - leftTypeVariable = sKind === 14; + leftTypeVariable = sKind === 13; if (leftTypeVariable) - if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv, false)) + if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv)) return true; tKind = t._kind; - t1 = s === type$.Null || s === type$.JSNull; - if (t1) { - if (tKind === 8) - return A._isSubtype(universe, s, sEnv, t._primary, tEnv, false); - return t === type$.Null || t === type$.JSNull || tKind === 7 || tKind === 6; + t1 = type$.Null; + if (s === t1 || s === type$.JSNull) { + if (tKind === 7) + return A._isSubtype(universe, s, sEnv, t._primary, tEnv); + return t === t1 || t === type$.JSNull || tKind === 6; } if (t === type$.Object) { - if (sKind === 8) - return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false); - if (sKind === 6) - return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false); - return sKind !== 7; - } - if (sKind === 6) - return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false); - if (tKind === 6) { - t1 = A.Rti__getQuestionFromStar(universe, t); - return A._isSubtype(universe, s, sEnv, t1, tEnv, false); - } - if (sKind === 8) { - if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv, false)) - return false; - return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv, false); + if (sKind === 7) + return A._isSubtype(universe, s._primary, sEnv, t, tEnv); + return sKind !== 6; } if (sKind === 7) { - t1 = A._isSubtype(universe, type$.Null, sEnv, t, tEnv, false); - return t1 && A._isSubtype(universe, s._primary, sEnv, t, tEnv, false); - } - if (tKind === 8) { - if (A._isSubtype(universe, s, sEnv, t._primary, tEnv, false)) - return true; - return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv, false); + if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv)) + return false; + return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv); } + if (sKind === 6) + return A._isSubtype(universe, t1, sEnv, t, tEnv) && A._isSubtype(universe, s._primary, sEnv, t, tEnv); if (tKind === 7) { - t1 = A._isSubtype(universe, s, sEnv, type$.Null, tEnv, false); - return t1 || A._isSubtype(universe, s, sEnv, t._primary, tEnv, false); + if (A._isSubtype(universe, s, sEnv, t._primary, tEnv)) + return true; + return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv); } + if (tKind === 6) + return A._isSubtype(universe, s, sEnv, t1, tEnv) || A._isSubtype(universe, s, sEnv, t._primary, tEnv); if (leftTypeVariable) return false; - t1 = sKind !== 12; - if ((!t1 || sKind === 13) && t === type$.Function) + t1 = sKind !== 11; + if ((!t1 || sKind === 12) && t === type$.Function) return true; - t2 = sKind === 11; + t2 = sKind === 10; if (t2 && t === type$.Record) return true; - if (tKind === 13) { + if (tKind === 12) { if (s === type$.JavaScriptFunction) return true; - if (sKind !== 13) + if (sKind !== 12) return false; sBounds = s._rest; tBounds = t._rest; @@ -3005,30 +2921,30 @@ for (i = 0; i < sLength; ++i) { sBound = sBounds[i]; tBound = tBounds[i]; - if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv, false) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv, false)) + if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv)) return false; } - return A._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv, false); + return A._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv); } - if (tKind === 12) { + if (tKind === 11) { if (s === type$.JavaScriptFunction) return true; if (t1) return false; - return A._isFunctionSubtype(universe, s, sEnv, t, tEnv, false); + return A._isFunctionSubtype(universe, s, sEnv, t, tEnv); } - if (sKind === 9) { - if (tKind !== 9) + if (sKind === 8) { + if (tKind !== 8) return false; - return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv, false); + return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv); } - if (t2 && tKind === 11) - return A._isRecordSubtype(universe, s, sEnv, t, tEnv, false); + if (t2 && tKind === 10) + return A._isRecordSubtype(universe, s, sEnv, t, tEnv); return false; }, - _isFunctionSubtype(universe, s, sEnv, t, tEnv, isLegacy) { + _isFunctionSubtype(universe, s, sEnv, t, tEnv) { var sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, t1, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName, sIsRequired; - if (!A._isSubtype(universe, s._primary, sEnv, t._primary, tEnv, false)) + if (!A._isSubtype(universe, s._primary, sEnv, t._primary, tEnv)) return false; sParameters = s._rest; tParameters = t._rest; @@ -3047,17 +2963,17 @@ return false; for (i = 0; i < sRequiredPositionalLength; ++i) { t1 = sRequiredPositional[i]; - if (!A._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv, false)) + if (!A._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv)) return false; } for (i = 0; i < requiredPositionalDelta; ++i) { t1 = sOptionalPositional[i]; - if (!A._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv, false)) + if (!A._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv)) return false; } for (i = 0; i < tOptionalPositionalLength; ++i) { t1 = sOptionalPositional[requiredPositionalDelta + i]; - if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv, false)) + if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv)) return false; } sNamed = sParameters._named; @@ -3083,7 +2999,7 @@ if (sIsRequired && !t1) return false; t1 = sNamed[sIndex - 1]; - if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv, false)) + if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv)) return false; break; } @@ -3095,7 +3011,7 @@ } return true; }, - _isInterfaceSubtype(universe, s, sEnv, t, tEnv, isLegacy) { + _isInterfaceSubtype(universe, s, sEnv, t, tEnv) { var rule, recipes, $length, supertypeArgs, i, sName = s._primary, tName = t._primary; @@ -3114,19 +3030,19 @@ supertypeArgs = $length > 0 ? new Array($length) : init.typeUniverse.sEA; for (i = 0; i < $length; ++i) supertypeArgs[i] = A._Universe_evalInEnvironment(universe, s, recipes[i]); - return A._areArgumentsSubtypes(universe, supertypeArgs, null, sEnv, t._rest, tEnv, false); + return A._areArgumentsSubtypes(universe, supertypeArgs, null, sEnv, t._rest, tEnv); } - return A._areArgumentsSubtypes(universe, s._rest, null, sEnv, t._rest, tEnv, false); + return A._areArgumentsSubtypes(universe, s._rest, null, sEnv, t._rest, tEnv); }, - _areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv, isLegacy) { + _areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv) { var i, $length = sArgs.length; for (i = 0; i < $length; ++i) - if (!A._isSubtype(universe, sArgs[i], sEnv, tArgs[i], tEnv, false)) + if (!A._isSubtype(universe, sArgs[i], sEnv, tArgs[i], tEnv)) return false; return true; }, - _isRecordSubtype(universe, s, sEnv, t, tEnv, isLegacy) { + _isRecordSubtype(universe, s, sEnv, t, tEnv) { var i, sFields = s._rest, tFields = t._rest, @@ -3136,7 +3052,7 @@ if (s._primary !== t._primary) return false; for (i = 0; i < sCount; ++i) - if (!A._isSubtype(universe, sFields[i], sEnv, tFields[i], tEnv, false)) + if (!A._isSubtype(universe, sFields[i], sEnv, tFields[i], tEnv)) return false; return true; }, @@ -3144,21 +3060,12 @@ var kind = t._kind, t1 = true; if (!(t === type$.Null || t === type$.JSNull)) - if (!A.isSoundTopType(t)) - if (kind !== 7) - if (!(kind === 6 && A.isNullable(t._primary))) - t1 = kind === 8 && A.isNullable(t._primary); + if (!A.isTopType(t)) + if (kind !== 6) + t1 = kind === 7 && A.isNullable(t._primary); return t1; }, - isDefinitelyTopType(t) { - var t1; - if (!A.isSoundTopType(t)) - t1 = t === type$.legacy_Object; - else - t1 = true; - return t1; - }, - isSoundTopType(t) { + isTopType(t) { var kind = t._kind; return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object; }, @@ -3312,7 +3219,8 @@ _box_0.source = source; } if (t1 === target) { - target._asyncCompleteError$2(new A.ArgumentError(true, t1, null, "Cannot complete a future with itself"), A.StackTrace_current()); + t2 = A.StackTrace_current(); + target._asyncCompleteErrorObject$1(new A.AsyncError(new A.ArgumentError(true, t1, null, "Cannot complete a future with itself"), t2)); return; } ignoreError = target._state & 1; @@ -3341,15 +3249,15 @@ A._rootScheduleMicrotask(null, null, target._zone, type$.void_Function._as(new A._Future__chainCoreFuture_closure(_box_0, target))); }, _Future__propagateToListeners(source, listeners) { - var t2, t3, t4, _box_0, t5, t6, hasError, asyncError, nextListener, nextListener0, sourceResult, t7, zone, oldZone, result, current, _box_1 = {}, + var t2, t3, _box_0, t4, t5, hasError, asyncError, nextListener, nextListener0, sourceResult, t6, zone, oldZone, result, current, _box_1 = {}, t1 = _box_1.source = source; - for (t2 = type$.AsyncError, t3 = type$.nullable__FutureListener_dynamic_dynamic, t4 = type$.Future_dynamic; true;) { + for (t2 = type$.AsyncError, t3 = type$.nullable__FutureListener_dynamic_dynamic; true;) { _box_0 = {}; - t5 = t1._state; - t6 = (t5 & 16) === 0; - hasError = !t6; + t4 = t1._state; + t5 = (t4 & 16) === 0; + hasError = !t5; if (listeners == null) { - if (hasError && (t5 & 1) === 0) { + if (hasError && (t4 & 1) === 0) { asyncError = t2._as(t1._resultOrListeners); A._rootHandleError(asyncError.error, asyncError.stackTrace); } @@ -3363,23 +3271,23 @@ _box_0.listener = nextListener; nextListener0 = nextListener._nextListener; } - t5 = _box_1.source; - sourceResult = t5._resultOrListeners; + t4 = _box_1.source; + sourceResult = t4._resultOrListeners; _box_0.listenerHasError = hasError; _box_0.listenerValueOrError = sourceResult; - if (t6) { - t7 = t1.state; - t7 = (t7 & 1) !== 0 || (t7 & 15) === 8; + if (t5) { + t6 = t1.state; + t6 = (t6 & 1) !== 0 || (t6 & 15) === 8; } else - t7 = true; - if (t7) { + t6 = true; + if (t6) { zone = t1.result._zone; if (hasError) { - t5 = t5._zone === zone; - t5 = !(t5 || t5); + t4 = t4._zone === zone; + t4 = !(t4 || t4); } else - t5 = false; - if (t5) { + t4 = false; + if (t4) { t2._as(sourceResult); A._rootHandleError(sourceResult.error, sourceResult.stackTrace); return; @@ -3392,7 +3300,7 @@ t1 = t1.state; if ((t1 & 15) === 8) new A._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0(); - else if (t6) { + else if (t5) { if ((t1 & 1) !== 0) new A._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0(); } else if ((t1 & 2) !== 0) @@ -3401,12 +3309,11 @@ $.Zone__current = oldZone; t1 = _box_0.listenerValueOrError; if (t1 instanceof A._Future) { - t5 = _box_0.listener.$ti; - t5 = t5._eval$1("Future<2>")._is(t1) || !t5._rest[1]._is(t1); + t4 = _box_0.listener.$ti; + t4 = t4._eval$1("Future<2>")._is(t1) || !t4._rest[1]._is(t1); } else - t5 = false; - if (t5) { - t4._as(t1); + t4 = false; + if (t4) { result = _box_0.listener.result; if ((t1._state & 24) !== 0) { current = t3._as(result._resultOrListeners); @@ -3426,15 +3333,15 @@ result._resultOrListeners = null; listeners = result._reverseListeners$1(current); t1 = _box_0.listenerHasError; - t5 = _box_0.listenerValueOrError; + t4 = _box_0.listenerValueOrError; if (!t1) { - result.$ti._precomputed1._as(t5); + result.$ti._precomputed1._as(t4); result._state = 8; - result._resultOrListeners = t5; + result._resultOrListeners = t4; } else { - t2._as(t5); + t2._as(t4); result._state = result._state & 1 | 16; - result._resultOrListeners = t5; + result._resultOrListeners = t4; } _box_1.source = result; t1 = result; @@ -3563,7 +3470,7 @@ $.Zone__current = old; } }, - _rootRunBinary($self, $parent, zone, f, arg1, arg2, $R, T1, T2) { + _rootRunBinary($self, $parent, zone, f, arg1, arg2, $R, $T1, $T2) { var old, t1 = $.Zone__current; if (t1 === zone) @@ -3579,8 +3486,10 @@ }, _rootScheduleMicrotask($self, $parent, zone, f) { type$.void_Function._as(f); - if (B.C__RootZone !== zone) + if (B.C__RootZone !== zone) { f = zone.bindCallbackGuarded$1(f); + f = f; + } A._scheduleAsyncCallback(f); }, _AsyncRun__initializeScheduleImmediate_internalCallback: function _AsyncRun__initializeScheduleImmediate_internalCallback(t0) { @@ -3680,17 +3589,6 @@ this._box_0 = t0; this.$this = t1; }, - _Future__chainForeignFuture_closure: function _Future__chainForeignFuture_closure(t0) { - this.$this = t0; - }, - _Future__chainForeignFuture_closure0: function _Future__chainForeignFuture_closure0(t0) { - this.$this = t0; - }, - _Future__chainForeignFuture_closure1: function _Future__chainForeignFuture_closure1(t0, t1, t2) { - this.$this = t0; - this.e = t1; - this.s = t2; - }, _Future__chainCoreFuture_closure: function _Future__chainCoreFuture_closure(t0, t1) { this._box_0 = t0; this.target = t1; @@ -3699,10 +3597,9 @@ this.$this = t0; this.value = t1; }, - _Future__asyncCompleteError_closure: function _Future__asyncCompleteError_closure(t0, t1, t2) { + _Future__asyncCompleteErrorObject_closure: function _Future__asyncCompleteErrorObject_closure(t0, t1) { this.$this = t0; this.error = t1; - this.stackTrace = t2; }, _Future__propagateToListeners_handleWhenCompleteCallback: function _Future__propagateToListeners_handleWhenCompleteCallback(t0, t1, t2) { this._box_0 = t0; @@ -4177,12 +4074,11 @@ Converter: function Converter() { }, Error__throw(error, stackTrace) { - error = A.wrapException(error); + error = A.initializeExceptionWrapper(error, new Error()); if (error == null) - error = type$.Object._as(error); + error = A._asObject(error); error.stack = stackTrace.toString$0(0); throw error; - throw A.wrapException("unreachable"); }, List_List$filled($length, fill, growable, $E) { var i, @@ -4192,10 +4088,6 @@ result[i] = fill; return result; }, - List_List$of(elements, growable, $E) { - var t1 = A.List_List$_of(elements, $E); - return t1; - }, List_List$_of(elements, $E) { var list, t1; if (Array.isArray(elements)) @@ -4617,7 +4509,36 @@ this.isUndefined = t0; }, _JSSecureRandom: function _JSSecureRandom(t0) { - this._math$_buffer = t0; + this._buffer = t0; + }, + EncryptedPacket: function EncryptedPacket(t0, t1, t2) { + this.data = t0; + this.keyIndex = t1; + this.iv = t2; + }, + E2EEDataPacketCryptor: function E2EEDataPacketCryptor(t0, t1, t2, t3) { + var _ = this; + _.sendCount_ = -1; + _.participantIdentity = t0; + _.dataCryptorId = t1; + _.keyHandler = t2; + _.worker = t3; + }, + E2EEDataPacketCryptor_decrypt_decryptFrameInternal: function E2EEDataPacketCryptor_decrypt_decryptFrameInternal(t0, t1, t2, t3, t4, t5) { + var _ = this; + _._box_1 = t0; + _._box_0 = t1; + _.$this = t2; + _.iv = t3; + _.payload = t4; + _.initialKeyIndex = t5; + }, + E2EEDataPacketCryptor_decrypt_ratchedKeyInternal: function E2EEDataPacketCryptor_decrypt_ratchedKeyInternal(t0, t1, t2, t3) { + var _ = this; + _._box_1 = t0; + _._box_0 = t1; + _.$this = t2; + _.decryptFrameInternal = t3; }, findNALUIndices(stream) { var start, pos0, t1, end, @@ -4706,7 +4627,7 @@ t2 = keyOptions.keyRingSze; if (t2 <= 0 || t2 > 255) A.throwExpression(A.Exception_Exception("Invalid key ring size")); - t1.set$__ParticipantKeyHandler_cryptoKeyRing_A(type$.List_nullable_KeySet._as(A.List_List$filled(t2, null, false, type$.nullable_KeySet))); + t1.__ParticipantKeyHandler_cryptoKeyRing_A = type$.List_nullable_KeySet._as(A.List_List$filled(t2, null, false, type$.nullable_KeySet)); return t1; }, KeyOptions: function KeyOptions(t0, t1, t2, t3, t4, t5, t6) { @@ -4752,7 +4673,7 @@ cryptor = A.IterableExtension_firstWhereOrNull($.participantCryptors, new A.getTrackCryptor_closure(trackId), type$.FrameCryptor); if (cryptor == null) { $.$get$logger().log$4(B.Level_INFO_800, "creating new cryptor for " + participantIdentity + ", trackId " + trackId, _null, _null); - t1 = type$.JSObject._as(self.self); + t1 = A._asJSObject(init.G.self); t2 = type$.int; cryptor = new A.FrameCryptor(A.LinkedHashMap_LinkedHashMap$_empty(t2, t2), participantIdentity, trackId, keyProvider.getParticipantKeyHandler$1(participantIdentity), B.CryptorError_0, t1, new A.SifGuard()); B.JSArray_methods.add$1($.participantCryptors, cryptor); @@ -4768,15 +4689,35 @@ } return cryptor; }, + getDataPacketCryptor(participantIdentity, dataCryptorId, keyProvider) { + var t1, + cryptor = A.IterableExtension_firstWhereOrNull($.participantDataCryptors, new A.getDataPacketCryptor_closure(dataCryptorId), type$.E2EEDataPacketCryptor); + if (cryptor == null) { + $.$get$logger().log$4(B.Level_INFO_800, "creating new cryptor for " + participantIdentity + ", dataCryptorId " + dataCryptorId, null, null); + t1 = A._asJSObject(init.G.self); + cryptor = new A.E2EEDataPacketCryptor(participantIdentity, dataCryptorId, keyProvider.getParticipantKeyHandler$1(participantIdentity), t1); + B.JSArray_methods.add$1($.participantDataCryptors, cryptor); + } else if (participantIdentity !== cryptor.participantIdentity) { + t1 = keyProvider.getParticipantKeyHandler$1(participantIdentity); + cryptor.participantIdentity = participantIdentity; + cryptor.keyHandler = t1; + } + return cryptor; + }, unsetCryptorParticipant(trackId) { var t1 = A.IterableExtension_firstWhereOrNull($.participantCryptors, new A.unsetCryptorParticipant_closure(trackId), type$.FrameCryptor); if (t1 != null) t1.participantIdentity = null; }, + unsetDataPacketCryptorParticipant(dataCryptorId) { + var t1 = A.IterableExtension_firstWhereOrNull($.participantDataCryptors, new A.unsetDataPacketCryptorParticipant_closure(dataCryptorId), type$.E2EEDataPacketCryptor); + if (t1 != null) + t1.participantIdentity = null; + }, main() { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), - t2, t3, t1; + t2, t1; var $async$main = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -4792,13 +4733,12 @@ t1._getStream$0().listen$1(new A.main_closure()); t1 = $.$get$logger(); t1.log$4(B.Level_INFO_800, "Worker created", null, null); - t2 = self; - t3 = type$.JSObject; - if ("RTCTransformEvent" in t3._as(t2.self)) { + t2 = init.G; + if ("RTCTransformEvent" in A._asJSObject(t2.self)) { t1.log$4(B.Level_INFO_800, "setup RTCTransformEvent event handler", null, null); - t3._as(t2.self).onrtctransform = A._functionToJS1(new A.main_closure0()); + A._asJSObject(t2.self).onrtctransform = A._functionToJS1(new A.main_closure0()); } - t3._as(t2.self).onmessage = A._functionToJS1(new A.main_closure1(new A.main_closure2())); + A._asJSObject(t2.self).onmessage = A._functionToJS1(new A.main_closure1(new A.main_closure2())); // implicit return return A._asyncReturn(null, $async$completer); } @@ -4808,9 +4748,15 @@ getTrackCryptor_closure: function getTrackCryptor_closure(t0) { this.trackId = t0; }, + getDataPacketCryptor_closure: function getDataPacketCryptor_closure(t0) { + this.dataCryptorId = t0; + }, unsetCryptorParticipant_closure: function unsetCryptorParticipant_closure(t0) { this.trackId = t0; }, + unsetDataPacketCryptorParticipant_closure: function unsetDataPacketCryptorParticipant_closure(t0) { + this.dataCryptorId = t0; + }, main_closure: function main_closure() { }, main_closure0: function main_closure0() { @@ -4829,6 +4775,12 @@ main__closure2: function main__closure2(t0) { this.trackId = t0; }, + main__closure3: function main__closure3(t0) { + this.algorithmStr = t0; + }, + main__closure4: function main__closure4(t0) { + this.algorithmStr = t0; + }, main_closure1: function main_closure1(t0) { this.handleMessage = t0; }, @@ -4855,6 +4807,9 @@ Logger_Logger_closure: function Logger_Logger_closure(t0) { this.name = t0; }, + Algorithm: function Algorithm(t0) { + this._name = t0; + }, printString(string) { if (typeof dartPrint == "function") { dartPrint(string); @@ -4871,16 +4826,16 @@ throw "Unable to print message: " + String(string); }, throwLateFieldNI(fieldName) { - A.throwExpressionWithWrapper(new A.LateError("Field '" + fieldName + "' has not been initialized."), new Error()); + throw A.initializeExceptionWrapper(A.LateError$fieldNI(fieldName), new Error()); }, throwLateFieldADI(fieldName) { - A.throwExpressionWithWrapper(new A.LateError("Field '" + fieldName + "' has been assigned during initialization."), new Error()); + throw A.initializeExceptionWrapper(new A.LateError("Field '" + fieldName + "' has been assigned during initialization."), new Error()); }, IterableExtension_firstWhereOrNull(_this, test, $T) { var t1, _i, element; for (t1 = _this.length, _i = 0; _i < _this.length; _this.length === t1 || (0, A.throwConcurrentModificationError)(_this), ++_i) { element = _this[_i]; - if (A.boolConversionCheck(test.call$1(element))) + if (test.call$1(element)) return element; } return null; @@ -5051,6 +5006,24 @@ $isIterable: 1, $isList: 1 }; + J.JSArraySafeToStringHook.prototype = { + tryFormat$1(array) { + var flags, info, base; + if (!Array.isArray(array)) + return null; + flags = array.$flags | 0; + if ((flags & 4) !== 0) + info = "const, "; + else if ((flags & 2) !== 0) + info = "unmodifiable, "; + else + info = (flags & 1) !== 0 ? "fixed, " : ""; + base = "Instance of '" + A.Primitives_objectTypeName(array) + "'"; + if (info === "") + return base; + return base + " (" + info + "length: " + array.length + ")"; + } + }; J.JSUnmodifiableArray.prototype = {}; J.ArrayIterator.prototype = { get$current() { @@ -5067,16 +5040,13 @@ } t2 = _this._index; if (t2 >= $length) { - _this.set$_current(null); + _this._current = null; return false; } - _this.set$_current(t1[t2]); - ++_this._index; + _this._current = t1[t2]; + _this._index = t2 + 1; return true; }, - set$_current(_current) { - this._current = this.$ti._eval$1("1?")._as(_current); - }, $isIterator: 1 }; J.JSNumber.prototype = { @@ -5272,7 +5242,7 @@ if (byteCount === 0) return; required = _this.__internal$_length + byteCount; - t1 = _this._buffer; + t1 = _this.__internal$_buffer; t2 = t1.length; if (t2 < required) { newSize = required * 2; @@ -5288,7 +5258,7 @@ } newBuffer = new Uint8Array(newSize); B.NativeUint8List_methods.setRange$3(newBuffer, 0, t2, t1); - _this._buffer = newBuffer; + _this.__internal$_buffer = newBuffer; t1 = newBuffer; } B.NativeUint8List_methods.setRange$3(t1, _this.__internal$_length, required, bytes); @@ -5298,7 +5268,7 @@ var _this = this; if (_this.__internal$_length === 0) return $.$get$_CopyingBytesBuilder__emptyList(); - return new Uint8Array(A._ensureNativeList(J.asUint8List$2$x(B.NativeUint8List_methods.get$buffer(_this._buffer), _this._buffer.byteOffset, _this.__internal$_length))); + return new Uint8Array(A._ensureNativeList(J.asUint8List$2$x(B.NativeUint8List_methods.get$buffer(_this.__internal$_buffer), _this.__internal$_buffer.byteOffset, _this.__internal$_length))); }, get$length(_) { return this.__internal$_length; @@ -5336,16 +5306,13 @@ throw A.wrapException(A.ConcurrentModificationError$(t1)); t3 = _this.__internal$_index; if (t3 >= $length) { - _this.set$__internal$_current(null); + _this.__internal$_current = null; return false; } - _this.set$__internal$_current(t2.elementAt$1(t1, t3)); + _this.__internal$_current = t2.elementAt$1(t1, t3); ++_this.__internal$_index; return true; }, - set$__internal$_current(_current) { - this.__internal$_current = this.$ti._eval$1("1?")._as(_current); - }, $isIterator: 1 }; A.MappedIterable.prototype = { @@ -5364,19 +5331,16 @@ var _this = this, t1 = _this._iterator; if (t1.moveNext$0()) { - _this.set$__internal$_current(_this._f.call$1(t1.get$current())); + _this.__internal$_current = _this._f.call$1(t1.get$current()); return true; } - _this.set$__internal$_current(null); + _this.__internal$_current = null; return false; }, get$current() { var t1 = this.__internal$_current; return t1 == null ? this.$ti._rest[1]._as(t1) : t1; }, - set$__internal$_current(_current) { - this.__internal$_current = this.$ti._eval$1("2?")._as(_current); - }, $isIterator: 1 }; A.MappedListIterable.prototype = { @@ -5400,7 +5364,7 @@ moveNext$0() { var t1, t2; for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();) - if (A.boolConversionCheck(t2.call$1(t1.get$current()))) + if (t2.call$1(t1.get$current())) return true; return false; }, @@ -5490,16 +5454,13 @@ var _this = this, t1 = _this.__js_helper$_index; if (t1 >= _this.__js_helper$_length) { - _this.set$__js_helper$_current(null); + _this.__js_helper$_current = null; return false; } - _this.set$__js_helper$_current(_this._elements[t1]); - ++_this.__js_helper$_index; + _this.__js_helper$_current = _this._elements[t1]; + _this.__js_helper$_index = t1 + 1; return true; }, - set$__js_helper$_current(_current) { - this.__js_helper$_current = this.$ti._eval$1("1?")._as(_current); - }, $isIterator: 1 }; A.JSInvocationMirror.prototype = { @@ -5510,35 +5471,42 @@ return this._memberName = new A.Symbol(A._asString(t1)); }, get$positionalArguments() { - var t1, t2, argumentCount, list, index, _this = this; + var t1, argumentCount, list, index, _this = this; if (_this.__js_helper$_kind === 1) return B.List_empty; t1 = _this._arguments; - t2 = J.getInterceptor$asx(t1); - argumentCount = t2.get$length(t1) - J.get$length$asx(_this._namedArgumentNames) - _this._typeArgumentCount; + argumentCount = t1.length - _this._namedArgumentNames.length - _this._typeArgumentCount; if (argumentCount === 0) return B.List_empty; list = []; - for (index = 0; index < argumentCount; ++index) - list.push(t2.$index(t1, index)); + for (index = 0; index < argumentCount; ++index) { + if (!(index < t1.length)) + return A.ioore(t1, index); + list.push(t1[index]); + } list.$flags = 3; return list; }, get$namedArguments() { - var t1, t2, namedArgumentCount, t3, t4, namedArgumentsStartIndex, map, i, _this = this; + var t1, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, t3, t4, _this = this; if (_this.__js_helper$_kind !== 0) return B.Map_empty; t1 = _this._namedArgumentNames; - t2 = J.getInterceptor$asx(t1); - namedArgumentCount = t2.get$length(t1); - t3 = _this._arguments; - t4 = J.getInterceptor$asx(t3); - namedArgumentsStartIndex = t4.get$length(t3) - namedArgumentCount - _this._typeArgumentCount; + namedArgumentCount = t1.length; + t2 = _this._arguments; + namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount; if (namedArgumentCount === 0) return B.Map_empty; map = new A.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic); - for (i = 0; i < namedArgumentCount; ++i) - map.$indexSet(0, new A.Symbol(A._asString(t2.$index(t1, i))), t4.$index(t3, namedArgumentsStartIndex + i)); + for (i = 0; i < namedArgumentCount; ++i) { + if (!(i < t1.length)) + return A.ioore(t1, i); + t3 = A._asString(t1[i]); + t4 = namedArgumentsStartIndex + i; + if (!(t4 >= 0 && t4 < t2.length)) + return A.ioore(t2, t4); + map.$indexSet(0, new A.Symbol(t3), t2[t4]); + } return new A.ConstantMapView(map, type$.ConstantMapView_Symbol_dynamic); }, $isInvocation: 1 @@ -5553,8 +5521,9 @@ B.JSArray_methods.add$1(this.$arguments, argument); ++t1.argumentCount; }, - $signature: 12 + $signature: 13 }; + A.SafeToStringHook.prototype = {}; A.TypeErrorDecoder.prototype = { matchTypeError$1(message) { var result, t1, _this = this, @@ -5664,21 +5633,11 @@ return "Closure '" + this.$_name + "' of " + ("Instance of '" + A.Primitives_objectTypeName(this._receiver) + "'"); } }; - A._CyclicInitializationError.prototype = { - toString$0(_) { - return "Reading static variable '" + this.variableName + "' during its initialization"; - } - }; A.RuntimeError.prototype = { toString$0(_) { return "RuntimeError: " + this.message; } }; - A._AssertionError.prototype = { - toString$0(_) { - return "Assertion failed: " + A.Error_safeToString(this.message); - } - }; A._Required.prototype = {}; A.JsLinkedHashMap.prototype = { get$length(_) { @@ -5881,36 +5840,33 @@ throw A.wrapException(A.ConcurrentModificationError$(t1)); cell = _this._cell; if (cell == null) { - _this.set$__js_helper$_current(null); + _this.__js_helper$_current = null; return false; } else { - _this.set$__js_helper$_current(cell.hashMapCellKey); + _this.__js_helper$_current = cell.hashMapCellKey; _this._cell = cell._next; return true; } }, - set$__js_helper$_current(_current) { - this.__js_helper$_current = this.$ti._eval$1("1?")._as(_current); - }, $isIterator: 1 }; A.initHooks_closure.prototype = { call$1(o) { return this.getTag(o); }, - $signature: 13 + $signature: 14 }; A.initHooks_closure0.prototype = { call$2(o, tag) { return this.getUnknownTag(o, tag); }, - $signature: 14 + $signature: 15 }; A.initHooks_closure1.prototype = { call$1(tag) { return this.prototypeForTag(A._asString(tag)); }, - $signature: 15 + $signature: 16 }; A.NativeByteBuffer.prototype = { get$runtimeType(receiver) { @@ -5926,6 +5882,7 @@ $isNativeByteBuffer: 1, $isByteBuffer: 1 }; + A.NativeArrayBuffer.prototype = {$isNativeArrayBuffer: 1}; A.NativeTypedData.prototype = { get$buffer(receiver) { if (((receiver.$flags | 0) & 2) !== 0) @@ -6142,7 +6099,7 @@ t1.storedCallback = null; f.call$0(); }, - $signature: 2 + $signature: 5 }; A._AsyncRun__initializeScheduleImmediate_closure.prototype = { call$1(callback) { @@ -6152,19 +6109,19 @@ t2 = this.span; t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); }, - $signature: 16 + $signature: 17 }; A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { call$0() { this.callback.call$0(); }, - $signature: 5 + $signature: 6 }; A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = { call$0() { this.callback.call$0(); }, - $signature: 5 + $signature: 6 }; A._TimerImpl.prototype = { _TimerImpl$2(milliseconds, callback) { @@ -6200,9 +6157,9 @@ completeError$2(e, st) { var t1 = this._future; if (this.isSync) - t1._completeError$2(e, st); + t1._completeErrorObject$1(new A.AsyncError(e, st)); else - t1._asyncCompleteError$2(e, st); + t1._asyncCompleteErrorObject$1(new A.AsyncError(e, st)); } }; A._awaitOnObject_closure.prototype = { @@ -6215,13 +6172,13 @@ call$2(error, stackTrace) { this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace))); }, - $signature: 17 + $signature: 18 }; A._wrapJsFunctionForAsync_closure.prototype = { call$2(errorCode, result) { this.$protected(A._asInt(errorCode), result); }, - $signature: 18 + $signature: 19 }; A.AsyncError.prototype = { toString$0(_) { @@ -6258,7 +6215,7 @@ t1 = new A._DoneStreamSubscription($.Zone__current, t1._eval$1("_DoneStreamSubscription<1>")); A.scheduleMicrotask(t1.get$_onMicrotask()); if (onDone != null) - t1.set$_onDone(type$.void_Function._as(onDone)); + t1._onDone = type$.void_Function._as(onDone); return t1; } t2 = $.Zone__current; @@ -6270,16 +6227,16 @@ type$.void_Function._as(t5); t1 = t1._eval$1("_BroadcastSubscription<1>"); subscription = new A._BroadcastSubscription(_this, onData, t2, t3 | t4, t1); - subscription.set$_async$_previous(subscription); - subscription.set$_async$_next(subscription); + subscription._async$_previous = subscription; + subscription._async$_next = subscription; t1._as(subscription); subscription._eventState = _this._state & 1; oldLast = _this._lastSubscription; - _this.set$_lastSubscription(subscription); + _this._lastSubscription = subscription; subscription.set$_async$_next(null); subscription.set$_async$_previous(oldLast); if (oldLast == null) - _this.set$_firstSubscription(subscription); + _this._firstSubscription = subscription; else oldLast.set$_async$_next(subscription); if (_this._firstSubscription == _this._lastSubscription) @@ -6314,11 +6271,11 @@ t1._as(subscription); previous = subscription._async$_previous; if (previous == null) - _this.set$_firstSubscription(next); + _this._firstSubscription = next; else previous.set$_async$_next(next); if (next == null) - _this.set$_lastSubscription(previous); + _this._lastSubscription = previous; else next.set$_async$_previous(previous); subscription.set$_async$_previous(subscription); @@ -6339,12 +6296,6 @@ null._asyncComplete$1(null); A._runGuarded(this.onCancel); }, - set$_firstSubscription(_firstSubscription) { - this._firstSubscription = A._instanceType(this)._eval$1("_BroadcastSubscription<1>?")._as(_firstSubscription); - }, - set$_lastSubscription(_lastSubscription) { - this._lastSubscription = A._instanceType(this)._eval$1("_BroadcastSubscription<1>?")._as(_lastSubscription); - }, $isStreamController: 1, $is_StreamControllerLifecycle: 1, $is_EventDispatch: 1 @@ -6385,12 +6336,10 @@ }; A._Completer.prototype = { completeError$2(error, stackTrace) { - var _0_0, - t1 = this.future; + var t1 = this.future; if ((t1._state & 30) !== 0) throw A.wrapException(A.StateError$("Future already completed")); - _0_0 = A._interceptUserError(error, stackTrace); - t1._asyncCompleteError$2(_0_0.error, _0_0.stackTrace); + t1._asyncCompleteErrorObject$1(A._interceptUserError(error, stackTrace)); }, completeError$1(error) { return this.completeError$2(error, null); @@ -6530,17 +6479,6 @@ } return prev; }, - _chainForeignFuture$1(source) { - var e, s, exception, _this = this; - _this._state ^= 2; - try { - source.then$1$2$onError(new A._Future__chainForeignFuture_closure(_this), new A._Future__chainForeignFuture_closure0(_this), type$.Null); - } catch (exception) { - e = A.unwrapException(exception); - s = A.getTraceFromException(exception); - A.scheduleMicrotask(new A._Future__chainForeignFuture_closure1(_this, e, s)); - } - }, _completeWithValue$1(value) { var listeners, _this = this; _this.$ti._precomputed1._as(value); @@ -6562,13 +6500,15 @@ _this._cloneResult$1(source); A._Future__propagateToListeners(_this, listeners); }, + _completeErrorObject$1(error) { + var listeners = this._removeListeners$0(); + this._setErrorObject$1(error); + A._Future__propagateToListeners(this, listeners); + }, _completeError$2(error, stackTrace) { - var listeners; - type$.Object._as(error); + A._asObject(error); type$.StackTrace._as(stackTrace); - listeners = this._removeListeners$0(); - this._setErrorObject$1(new A.AsyncError(error, stackTrace)); - A._Future__propagateToListeners(this, listeners); + this._completeErrorObject$1(new A.AsyncError(error, stackTrace)); }, _asyncComplete$1(value) { var t1 = this.$ti; @@ -6586,17 +6526,12 @@ A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__asyncCompleteWithValue_closure(_this, value))); }, _chainFuture$1(value) { - var t1 = this.$ti; - t1._eval$1("Future<1>")._as(value); - if (t1._is(value)) { - A._Future__chainCoreFuture(value, this, false); - return; - } - this._chainForeignFuture$1(value); + A._Future__chainCoreFuture(this.$ti._eval$1("Future<1>")._as(value), this, false); + return; }, - _asyncCompleteError$2(error, stackTrace) { + _asyncCompleteErrorObject$1(error) { this._state ^= 2; - A._rootScheduleMicrotask(null, null, this._zone, type$.void_Function._as(new A._Future__asyncCompleteError_closure(this, error, stackTrace))); + A._rootScheduleMicrotask(null, null, this._zone, type$.void_Function._as(new A._Future__asyncCompleteErrorObject_closure(this, error))); }, $isFuture: 1 }; @@ -6612,33 +6547,6 @@ }, $signature: 0 }; - A._Future__chainForeignFuture_closure.prototype = { - call$1(value) { - var error, stackTrace, exception, - t1 = this.$this; - t1._state ^= 2; - try { - t1._completeWithValue$1(t1.$ti._precomputed1._as(value)); - } catch (exception) { - error = A.unwrapException(exception); - stackTrace = A.getTraceFromException(exception); - t1._completeError$2(error, stackTrace); - } - }, - $signature: 2 - }; - A._Future__chainForeignFuture_closure0.prototype = { - call$2(error, stackTrace) { - this.$this._completeError$2(type$.Object._as(error), type$.StackTrace._as(stackTrace)); - }, - $signature: 7 - }; - A._Future__chainForeignFuture_closure1.prototype = { - call$0() { - this.$this._completeError$2(this.e, this.s); - }, - $signature: 0 - }; A._Future__chainCoreFuture_closure.prototype = { call$0() { A._Future__chainCoreFuture(this._box_0.source, this.target, true); @@ -6651,9 +6559,9 @@ }, $signature: 0 }; - A._Future__asyncCompleteError_closure.prototype = { + A._Future__asyncCompleteErrorObject_closure.prototype = { call$0() { - this.$this._completeError$2(this.error, this.stackTrace); + this.$this._completeErrorObject$1(this.error); }, $signature: 0 }; @@ -6704,13 +6612,15 @@ call$1(__wc0_formal) { this.joinedResult._completeWithResultOf$1(this.originalSource); }, - $signature: 2 + $signature: 5 }; A._Future__propagateToListeners_handleWhenCompleteCallback_closure0.prototype = { call$2(e, s) { - this.joinedResult._completeError$2(type$.Object._as(e), type$.StackTrace._as(s)); + A._asObject(e); + type$.StackTrace._as(s); + this.joinedResult._completeErrorObject$1(new A.AsyncError(e, s)); }, - $signature: 7 + $signature: 20 }; A._Future__propagateToListeners_handleValueCallback.prototype = { call$0() { @@ -6840,10 +6750,8 @@ _addPending$1($event) { var lastEvent, t1, _this = this, pending = _this._pending; - if (pending == null) { - pending = new A._PendingEvents(A._instanceType(_this)._eval$1("_PendingEvents<1>")); - _this.set$_pending(pending); - } + if (pending == null) + pending = _this._pending = new A._PendingEvents(A._instanceType(_this)._eval$1("_PendingEvents<1>")); lastEvent = pending.lastPendingEvent; if (lastEvent == null) pending.firstPendingEvent = pending.lastPendingEvent = $event; @@ -6886,7 +6794,7 @@ } for (; true; wasInputPaused = isInputPaused) { if ((t1 & 8) !== 0) { - _this.set$_pending(null); + _this._pending = null; return; } isInputPaused = (t1 & 4) !== 0; @@ -6902,9 +6810,6 @@ if ((t1 & 128) !== 0 && t1 < 256) _this._pending.schedule$1(_this); }, - set$_pending(_pending) { - this._pending = A._instanceType(this)._eval$1("_PendingEvents<1>?")._as(_pending); - }, $isStreamSubscription: 1, $is_EventDispatch: 1 }; @@ -6962,15 +6867,12 @@ _this._state = -1; _0_0 = _this._onDone; if (_0_0 != null) { - _this.set$_onDone(null); + _this._onDone = null; _this._zone.runGuarded$1(_0_0); } } else _this._state = unscheduledState; }, - set$_onDone(_onDone) { - this._onDone = type$.nullable_void_Function._as(_onDone); - }, $isStreamSubscription: 1 }; A._StreamIterator.prototype = {}; @@ -6994,7 +6896,7 @@ } catch (exception) { e = A.unwrapException(exception); s = A.getTraceFromException(exception); - A._rootHandleError(type$.Object._as(e), type$.StackTrace._as(s)); + A._rootHandleError(A._asObject(e), type$.StackTrace._as(s)); } }, runUnaryGuarded$1$2(f, arg, $T) { @@ -7010,7 +6912,7 @@ } catch (exception) { e = A.unwrapException(exception); s = A.getTraceFromException(exception); - A._rootHandleError(type$.Object._as(e), type$.StackTrace._as(s)); + A._rootHandleError(A._asObject(e), type$.StackTrace._as(s)); } }, bindCallbackGuarded$1(f) { @@ -7032,16 +6934,16 @@ return f.call$1(arg); return A._rootRunUnary(null, null, this, f, arg, $R, $T); }, - runBinary$3$3(f, arg1, arg2, $R, T1, T2) { - $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); - T1._as(arg1); - T2._as(arg2); + runBinary$3$3(f, arg1, arg2, $R, $T1, $T2) { + $R._eval$1("@<0>")._bind$1($T1)._bind$1($T2)._eval$1("1(2,3)")._as(f); + $T1._as(arg1); + $T2._as(arg2); if ($.Zone__current === B.C__RootZone) return f.call$2(arg1, arg2); - return A._rootRunBinary(null, null, this, f, arg1, arg2, $R, T1, T2); + return A._rootRunBinary(null, null, this, f, arg1, arg2, $R, $T1, $T2); }, - registerBinaryCallback$3$1(f, $R, T1, T2) { - return $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f); + registerBinaryCallback$3$1(f, $R, $T1, $T2) { + return $R._eval$1("@<0>")._bind$1($T1)._bind$1($T2)._eval$1("1(2,3)")._as(f); } }; A._RootZone_bindCallbackGuarded_closure.prototype = { @@ -7233,25 +7135,24 @@ if (keys !== t1._collection$_keys) throw A.wrapException(A.ConcurrentModificationError$(t1)); else if (offset >= keys.length) { - _this.set$_collection$_current(null); + _this._collection$_current = null; return false; } else { - _this.set$_collection$_current(keys[offset]); + _this._collection$_current = keys[offset]; _this._offset = offset + 1; return true; } }, - set$_collection$_current(_current) { - this._collection$_current = this.$ti._eval$1("1?")._as(_current); - }, $isIterator: 1 }; A.ListBase.prototype = { get$iterator(receiver) { - return new A.ListIterator(receiver, this.get$length(receiver), A.instanceType(receiver)._eval$1("ListIterator")); + return new A.ListIterator(receiver, receiver.length, A.instanceType(receiver)._eval$1("ListIterator")); }, elementAt$1(receiver, index) { - return this.$index(receiver, index); + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; }, map$1$1(receiver, f, $T) { var t1 = A.instanceType(receiver); @@ -7290,12 +7191,11 @@ t1.first = false; t1 = this.result; t2 = A.S(k); - t2 = t1._contents += t2; - t1._contents = t2 + ": "; + t1._contents = (t1._contents += t2) + ": "; t2 = A.S(v); t1._contents += t2; }, - $signature: 19 + $signature: 21 }; A._UnmodifiableMapMixin.prototype = {}; A.MapView.prototype = { @@ -7390,15 +7290,14 @@ type$.Symbol._as(key); t1 = this.sb; t2 = this._box_0; - t3 = t1._contents += t2.comma; - t3 += key.__internal$_name; + t3 = (t1._contents += t2.comma) + key.__internal$_name; t1._contents = t3; t1._contents = t3 + ": "; t3 = A.Error_safeToString(value); t1._contents += t3; t2.comma = ", "; }, - $signature: 20 + $signature: 22 }; A.DateTime.prototype = { $eq(_, other) { @@ -7717,7 +7616,7 @@ t1 = this._convertedObjects; if (t1.containsKey$1(o)) return t1.$index(0, o); - if (type$.Map_of_nullable_Object_and_nullable_Object._is(o)) { + if (type$.Map_dynamic_dynamic._is(o)) { convertedMap = {}; t1.$indexSet(0, o, convertedMap); for (t1 = o.get$keys(), t1 = t1.get$iterator(t1); t1.moveNext$0();) { @@ -7725,7 +7624,7 @@ convertedMap[key] = this.call$1(o.$index(0, key)); } return convertedMap; - } else if (type$.Iterable_nullable_Object._is(o)) { + } else if (type$.Iterable_dynamic._is(o)) { convertedList = []; t1.$indexSet(0, o, convertedList); B.JSArray_methods.addAll$1(convertedList, J.map$1$1$ax(o, this, type$.dynamic)); @@ -7751,7 +7650,7 @@ }; A.dartify_convert.prototype = { call$1(o) { - var t1, millisSinceEpoch, proto, t2, dartObject, originalKeys, dartKeys, i, jsKey, dartKey, l, $length; + var t1, millisSinceEpoch, proto, t2, dartObject, originalKeys, dartKeys, _i, i, jsKey, dartKey, l, $length; if (A._noDartifyRequired(o)) return o; t1 = this._convertedObjects; @@ -7776,10 +7675,10 @@ t1.$indexSet(0, o, dartObject); originalKeys = Object.keys(o); dartKeys = []; - for (t1 = J.getInterceptor$ax(originalKeys), t2 = t1.get$iterator(originalKeys); t2.moveNext$0();) - dartKeys.push(A.dartify(t2.get$current())); - for (i = 0; i < t1.get$length(originalKeys); ++i) { - jsKey = t1.$index(originalKeys, i); + for (t1 = originalKeys.length, _i = 0; _i < originalKeys.length; originalKeys.length === t1 || (0, A.throwConcurrentModificationError)(originalKeys), ++_i) + dartKeys.push(A.dartify(originalKeys[_i])); + for (i = 0; i < originalKeys.length; ++i) { + jsKey = originalKeys[i]; if (!(i < dartKeys.length)) return A.ioore(dartKeys, i); dartKey = dartKeys[i]; @@ -7793,8 +7692,11 @@ dartObject = []; t1.$indexSet(0, o, dartObject); $length = A._asInt(o.length); - for (t1 = J.getInterceptor$asx(l), i = 0; i < $length; ++i) - dartObject.push(this.call$1(t1.$index(l, i))); + for (i = 0; i < $length; ++i) { + if (!(i < l.length)) + return A.ioore(l, i); + dartObject.push(this.call$1(l[i])); + } return dartObject; } return o; @@ -7825,12 +7727,12 @@ byteCount = 2; else byteCount = 1; - t1 = this._math$_buffer; + t1 = this._buffer; t1.$flags & 2 && A.throwUnsupportedOperation(t1, 11); t1.setUint32(0, 0, false); start = 4 - byteCount; randomLimit = A._asInt(Math.pow(256, byteCount)); - for (t2 = max - 1, t3 = (max & t2) === 0; true;) { + for (t2 = max - 1, t3 = (max & t2) >>> 0 === 0; true;) { crypto.getRandomValues(J.asUint8List$2$x(B.NativeByteData_methods.get$buffer(t1), start, byteCount)); random = t1.getUint32(0, false); if (t3) @@ -7841,6 +7743,318 @@ } } }; + A.EncryptedPacket.prototype = {}; + A.E2EEDataPacketCryptor.prototype = { + encrypt$2(keys, data) { + return this.encrypt$body$E2EEDataPacketCryptor(keys, data); + }, + encrypt$body$E2EEDataPacketCryptor(keys, data) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_EncryptedPacket), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$self = this, secretKey, keyIndex, iv, cipherText, e, t3, iv0, t4, frameTrailer, exception, t1, t2, $async$exception, $async$temp1; + var $async$encrypt$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $.$get$logger(); + t2 = "" + data.length; + t1.log$4(B.Level_FINE_500, "encodeFunction: buffer " + t2, null, null); + t3 = $async$self.keyHandler.getKeySet$1(0); + secretKey = t3 == null ? null : t3.encryptionKey; + keyIndex = 0; + if (secretKey == null) { + t1.log$4(B.Level_WARNING_900, "encodeFunction: no secretKey for index " + A.S(keyIndex) + ", cannot encrypt", null, null); + $async$returnValue = null; + // goto return + $async$goto = 1; + break; + } + t3 = Date.now(); + iv0 = new DataView(new ArrayBuffer(12)); + t4 = $async$self.sendCount_; + if (t4 === -1) + t4 = $async$self.sendCount_ = $.$get$Random__secureRandom().nextInt$1(65535); + iv0.setUint32(0, ($.$get$Random__secureRandom().nextInt$1(Math.max(0, 4294967295)) & -1) >>> 0, false); + iv0.setUint32(4, t3, false); + iv0.setUint32(8, t3 - B.JSInt_methods.$mod(t4, 65535), false); + $async$self.sendCount_ = t4 + 1; + iv = J.asUint8List$0$x(B.NativeByteData_methods.get$buffer(iv0)); + frameTrailer = new DataView(new ArrayBuffer(2)); + frameTrailer.setInt8(0, 12); + frameTrailer.setInt8(1, A._asInt(keyIndex)); + $async$handler = 4; + t3 = A._asJSObject(A._asJSObject($async$self.worker.crypto).subtle); + t4 = A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["name", "AES-GCM", "iv", iv], type$.String, type$.Object)); + if (t4 == null) + t4 = A._asObject(t4); + $async$temp1 = type$.NativeArrayBuffer; + $async$goto = 7; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(t3.encrypt(t4, secretKey, data)), type$.nullable_Object), $async$encrypt$2); + case 7: + // returning from await. + cipherText = $async$temp1._as($async$result); + t1.log$4(B.Level_FINER_400, "encodeFunction: encrypted buffer: " + t2 + ", cipherText: " + A.NativeUint8List_NativeUint8List$view(cipherText, 0, null).length, null, null); + t2 = A.NativeUint8List_NativeUint8List$view(cipherText, 0, null); + $async$returnValue = new A.EncryptedPacket(t2, keyIndex, iv); + // goto return + $async$goto = 1; + break; + $async$handler = 2; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$errorStack.pop(); + e = A.unwrapException($async$exception); + $.$get$logger().log$4(B.Level_WARNING_900, "encodeFunction encrypt: e " + J.toString$0$(e), null, null); + throw $async$exception; + // goto after finally + $async$goto = 6; + break; + case 3: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 6: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$encrypt$2, $async$completer); + }, + decrypt$2(keys, encryptedPacket) { + return this.decrypt$body$E2EEDataPacketCryptor(keys, encryptedPacket); + }, + decrypt$body$E2EEDataPacketCryptor(keys, encryptedPacket) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Uint8List), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$self = this, initialKeyIndex, ivLength, keyIndex, iv, payload, decryptFrameInternal, ratchedKeyInternal, e, t2, t3, t4, t5, initialKeySet, exception, t1, $async$exception, $async$exception1; + var $async$decrypt$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = {}; + t1.ratchetCount = 0; + t2 = $.$get$logger(); + t3 = encryptedPacket.data; + t2.log$4(B.Level_FINE_500, "decodeFunction: data packet lenght " + t3.length, null, null); + t1.initialKeySet = t1.decrypted = null; + initialKeyIndex = 0; + $async$handler = 4; + t4 = {}; + t5 = encryptedPacket.iv; + ivLength = t5.length; + keyIndex = encryptedPacket.keyIndex; + iv = t5; + payload = t3; + initialKeySet = t1.initialKeySet = $async$self.keyHandler.getKeySet$1(initialKeyIndex); + t2.log$4(B.Level_FINER_400, "decodeFunction: start decrypting data packet length " + J.get$length$asx(payload) + ", ivLength " + A.S(ivLength) + ", keyIndex " + A.S(keyIndex) + ", iv " + A.S(iv), null, null); + if (initialKeySet == null || !$async$self.keyHandler._hasValidKey) { + $async$returnValue = null; + // goto return + $async$goto = 1; + break; + } + t4.currentkeySet = initialKeySet; + decryptFrameInternal = new A.E2EEDataPacketCryptor_decrypt_decryptFrameInternal(t1, t4, $async$self, iv, payload, initialKeyIndex); + ratchedKeyInternal = new A.E2EEDataPacketCryptor_decrypt_ratchedKeyInternal(t1, t4, $async$self, decryptFrameInternal); + $async$handler = 8; + $async$goto = 11; + return A._asyncAwait(decryptFrameInternal.call$0(), $async$decrypt$2); + case 11: + // returning from await. + $async$handler = 4; + // goto after finally + $async$goto = 10; + break; + case 8: + // catch + $async$handler = 7; + $async$exception = $async$errorStack.pop(); + e = A.unwrapException($async$exception); + t2 = $.$get$logger(); + t2.log$4(B.Level_FINER_400, "decodeFunction: kInternalError catch " + A.S(e), null, null); + $async$goto = 12; + return A._asyncAwait(ratchedKeyInternal.call$0(), $async$decrypt$2); + case 12: + // returning from await. + // goto after finally + $async$goto = 10; + break; + case 7: + // uncaught + // goto catch + $async$goto = 4; + break; + case 10: + // after finally + t3 = t1.decrypted; + if (t3 == null) { + t1 = A.Exception_Exception(string$.x5bdecod); + throw A.wrapException(t1); + } + t4 = $async$self.keyHandler; + t4._decryptionFailureCount = 0; + t4._hasValidKey = true; + t2.log$4(B.Level_FINER_400, string$.decodex20 + J.get$length$asx(payload) + ", decrypted: " + A.NativeUint8List_NativeUint8List$view(t3, 0, null).length, null, null); + t1 = t1.decrypted; + t1.toString; + t1 = A.NativeUint8List_NativeUint8List$view(t1, 0, null); + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + $async$handler = 2; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception1 = $async$errorStack.pop(); + $async$self.keyHandler.decryptionFailure$0(); + throw $async$exception1; + // goto after finally + $async$goto = 6; + break; + case 3: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 6: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$decrypt$2, $async$completer); + } + }; + A.E2EEDataPacketCryptor_decrypt_decryptFrameInternal.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t4, decrypted, t5, t1, t2, t3, $async$temp1; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.$this; + t2 = A._asJSObject(A._asJSObject(t1.worker.crypto).subtle); + t3 = A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["name", "AES-GCM", "iv", $async$self.iv], type$.String, type$.Object)); + if (t3 == null) + t3 = A._asObject(t3); + t4 = $async$self._box_0; + $async$temp1 = type$.NativeArrayBuffer; + $async$goto = 2; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(t2.decrypt(t3, t4.currentkeySet.encryptionKey, $async$self.payload)), type$.nullable_Object), $async$call$0); + case 2: + // returning from await. + decrypted = $async$temp1._as($async$result); + t3 = $async$self._box_1; + t3.decrypted = decrypted; + t2 = $.$get$logger(); + t2.log$4(B.Level_FINER_400, string$.decodex3ad + A.NativeUint8List_NativeUint8List$view(decrypted, 0, null).length, null, null); + t5 = t3.decrypted; + if (t5 == null) + throw A.wrapException(A.Exception_Exception("[decryptFrameInternal] could not decrypt")); + t2.log$4(B.Level_FINER_400, string$.decodex3ad + A.NativeUint8List_NativeUint8List$view(t5, 0, null).length, null, null); + $async$goto = t4.currentkeySet !== t3.initialKeySet ? 3 : 4; + break; + case 3: + // then + t2.log$4(B.Level_FINE_500, string$.decodex3ar, null, null); + $async$goto = 5; + return A._asyncAwait(t1.keyHandler.setKeySetFromMaterial$2(t4.currentkeySet, $async$self.initialKeyIndex), $async$call$0); + case 5: + // returning from await. + case 4: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 2 + }; + A.E2EEDataPacketCryptor_decrypt_ratchedKeyInternal.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, newKeyBuffer, newMaterial, t1, t2, t3, t4, t5, t6, $async$temp1; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._box_1; + t2 = t1.ratchetCount; + t3 = $async$self.$this; + t4 = t3.keyHandler; + t5 = t4.keyOptions; + t6 = t5.ratchetWindowSize; + if (t2 >= t6 || t6 <= 0) + throw A.wrapException(A.Exception_Exception(string$.x5bratch)); + t2 = $async$self._box_0; + $async$goto = 2; + return A._asyncAwait(t4.ratchet$2(t2.currentkeySet.material, t5.ratchetSalt), $async$call$0); + case 2: + // returning from await. + newKeyBuffer = $async$result; + $async$goto = 3; + return A._asyncAwait(t3.keyHandler.ratchetMaterial$2(t2.currentkeySet.material, J.get$buffer$x(newKeyBuffer)), $async$call$0); + case 3: + // returning from await. + newMaterial = $async$result; + t3 = t3.keyHandler; + $async$temp1 = t2; + $async$goto = 4; + return A._asyncAwait(t3.deriveKeys$2(newMaterial, t3.keyOptions.ratchetSalt), $async$call$0); + case 4: + // returning from await. + $async$temp1.currentkeySet = $async$result; + ++t1.ratchetCount; + $async$goto = 5; + return A._asyncAwait($async$self.decryptFrameInternal.call$0(), $async$call$0); + case 5: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 2 + }; A.CryptorError.prototype = { _enumToString$0() { return "CryptorError." + this._name; @@ -7862,7 +8076,7 @@ setupTransform$body$FrameCryptor(codec, kind, operation, readable, trackId, writable) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $async$self = this, transformer, e, t2, t3, t4, t5, exception, t1; + $async$self = this, transformer, e, t2, t3, t4, exception, t1; var $async$setupTransform$6$codec$kind$operation$readable$trackId$writable = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -7877,14 +8091,13 @@ t1.log$4(B.Level_INFO_800, "setting codec on cryptor to " + codec, null, null); $async$self.codec = codec; } - t1 = self.TransformStream; + t1 = init.G.TransformStream; t2 = operation === "encode" ? $async$self.get$encodeFunction() : $async$self.get$decodeFunction(); t3 = type$.Future_void_Function_JSObject_JSObject; t4 = type$.String; - t5 = type$.JSObject; - transformer = t5._as(new t1(t5._as(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["transform", A.allowInterop(t2, t3)], t4, t3))))); + transformer = A._asJSObject(new t1(A._asJSObject(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["transform", A.allowInterop(t2, t3)], t4, t3))))); try { - t5._as(t5._as(readable.pipeThrough(transformer)).pipeTo(writable)); + A._asJSObject(A._asJSObject(readable.pipeThrough(transformer)).pipeTo(writable)); } catch (exception) { e = A.unwrapException(exception); $.$get$logger().log$4(B.Level_WARNING_900, "e " + J.toString$0$(e), null, null); @@ -7901,8 +8114,10 @@ return A._asyncStartSync($async$setupTransform$6$codec$kind$operation$readable$trackId$writable, $async$completer); }, getUnencryptedBytes$2(obj, codec) { - var naluIndices, t1, t2, _i, index, type, _null = null, frameType = "", - data = A.NativeUint8List_NativeUint8List$view(type$.NativeByteBuffer._as(obj.data), 0, _null); + var naluIndices, t2, _i, index, type, _null = null, + t1 = type$.NativeArrayBuffer._as(obj.data), + frameType = "", + data = A.NativeUint8List_NativeUint8List$view(t1, 0, _null); if ("type" in obj) { frameType = A._asString(obj.type); $.$get$logger().log$4(B.Level_FINER_400, "frameType: " + frameType, _null, _null); @@ -7940,35 +8155,33 @@ } }, readFrameInfo$1(frameObj) { - var buffer, frameType, t1, synchronizationSource, timestamp; + var t1, buffer, frameType, synchronizationSource, timestamp; new Uint8Array(0); - buffer = A.NativeUint8List_NativeUint8List$view(type$.NativeByteBuffer._as(frameObj.data), 0, null); + t1 = type$.NativeArrayBuffer._as(frameObj.data); + buffer = A.NativeUint8List_NativeUint8List$view(t1, 0, null); if ("type" in frameObj) { frameType = A._asString(frameObj.type); $.$get$logger().log$4(B.Level_FINER_400, "frameType: " + frameType, null, null); } else frameType = ""; - t1 = type$.JSObject; - synchronizationSource = A._asInt(t1._as(frameObj.getMetadata()).synchronizationSource); - if ("rtpTimestamp" in t1._as(frameObj.getMetadata())) - timestamp = B.JSInt_methods.toInt$0(A._asInt(t1._as(frameObj.getMetadata()).rtpTimestamp)); + synchronizationSource = A._asInt(A._asJSObject(frameObj.getMetadata()).synchronizationSource); + if ("rtpTimestamp" in A._asJSObject(frameObj.getMetadata())) + timestamp = B.JSInt_methods.toInt$0(A._asInt(A._asJSObject(frameObj.getMetadata()).rtpTimestamp)); else timestamp = "timestamp" in frameObj ? A._asInt(A._asDouble(frameObj.timestamp)) : 0; return new A.FrameInfo(frameType, synchronizationSource, timestamp, buffer); }, enqueueFrame$3(frameObj, controller, buffer) { - var t1 = type$.NativeByteBuffer._as(B.NativeUint8List_methods.get$buffer(buffer.toBytes$0())); - frameObj.data = t1; + frameObj.data = type$.NativeArrayBuffer._as(B.NativeUint8List_methods.get$buffer(buffer.toBytes$0())); controller.enqueue(frameObj); }, encodeFunction$2(frameObj, controller) { - var t1 = type$.JSObject; - return this.encodeFunction$body$FrameCryptor(t1._as(frameObj), t1._as(controller)); + return this.encodeFunction$body$FrameCryptor(A._asJSObject(frameObj), A._asJSObject(controller)); }, encodeFunction$body$FrameCryptor(frameObj, controller) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$self = this, srcFrame, secretKey, keyIndex, headerLength, iv, frameTrailer, cipherText, finalBuffer, e, t1, t2, t3, t4, iv0, sendCount, t5, t6, t7, exception, $async$exception, $async$temp1; + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$self = this, srcFrame, secretKey, keyIndex, headerLength, iv, frameTrailer, cipherText, finalBuffer, e, t1, t2, t3, t4, iv0, sendCount, t5, exception, $async$exception, $async$temp1; var $async$encodeFunction$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) { $async$errorStack.push($async$result); @@ -7981,9 +8194,12 @@ $async$handler = 4; t1 = true; if ($async$self.get$enabled()) { - t2 = type$.NativeByteBuffer; - if (!(t2._as(frameObj.data).byteLength === 0)) - t1 = t2._as(frameObj.data).byteLength === 0; + t2 = type$.NativeArrayBuffer; + t3 = t2._as(frameObj.data); + if (!(t3.byteLength === 0)) { + t1 = t2._as(frameObj.data); + t1 = t1.byteLength === 0; + } } if (t1) { if ($async$self.keyHandler.keyOptions.discardFrameWhenCryptorNotReady) { @@ -8041,15 +8257,14 @@ t2.$flags & 2 && A.throwUnsupportedOperation(t2, 6); J._setInt8$2$x(t2, 1, t3); t3 = $async$self.worker; - t2 = type$.JSObject; - t4 = t2._as(t2._as(t3.crypto).subtle); - t5 = type$.String; - t6 = type$.Object; - t7 = A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["name", "AES-GCM", "iv", iv, "additionalData", B.NativeUint8List_methods.sublist$2(srcFrame.buffer, 0, headerLength)], t5, t6)); - t6 = t7 == null ? t6._as(t7) : t7; - $async$temp1 = type$.NativeByteBuffer; + t2 = A._asJSObject(A._asJSObject(t3.crypto).subtle); + t4 = type$.String; + t5 = A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["name", "AES-GCM", "iv", iv, "additionalData", B.NativeUint8List_methods.sublist$2(srcFrame.buffer, 0, headerLength)], t4, type$.Object)); + if (t5 == null) + t5 = A._asObject(t5); + $async$temp1 = type$.NativeArrayBuffer; $async$goto = 7; - return A._asyncAwait(A.promiseToFuture(t2._as(t4.encrypt(t6, secretKey, B.NativeUint8List_methods.sublist$2(srcFrame.buffer, headerLength, srcFrame.buffer.length))), type$.nullable_Object), $async$encodeFunction$2); + return A._asyncAwait(A.promiseToFuture(A._asJSObject(t2.encrypt(t5, secretKey, B.NativeUint8List_methods.sublist$2(srcFrame.buffer, headerLength, srcFrame.buffer.length))), type$.nullable_Object), $async$encodeFunction$2); case 7: // returning from await. cipherText = $async$temp1._as($async$result); @@ -8063,7 +8278,7 @@ $async$self.enqueueFrame$3(frameObj, controller, finalBuffer); if ($async$self.lastError !== B.CryptorError_1) { $async$self.lastError = B.CryptorError_1; - t3.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "msgType", "event", "participantId", $async$self.participantIdentity, "trackId", $async$self.trackId, "kind", $async$self.__FrameCryptor_kind_A, "state", "ok", "error", "encryption ok"], t5, type$.nullable_String))); + t3.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "msgType", "event", "participantId", $async$self.participantIdentity, "trackId", $async$self.trackId, "kind", $async$self.__FrameCryptor_kind_A, "state", "ok", "error", "encryption ok"], t4, type$.nullable_String))); } t1.log$4(B.Level_FINER_400, "encodeFunction[CryptorError.kOk]: frame enqueued kind " + $async$self.__FrameCryptor_kind_A + ",codec " + A.S($async$self.codec) + " headerLength: " + A.S(headerLength) + ", timestamp: " + srcFrame.timestamp + ", ssrc: " + srcFrame.ssrc + ", data length: " + srcFrame.buffer.length + ", encrypted length: " + finalBuffer.toBytes$0().length + ", iv " + A.S(iv), null, null); $async$handler = 2; @@ -8105,8 +8320,7 @@ return A._asyncStartSync($async$encodeFunction$2, $async$completer); }, decodeFunction$2(frameObj, controller) { - var t1 = type$.JSObject; - return this.decodeFunction$body$FrameCryptor(t1._as(frameObj), t1._as(controller)); + return this.decodeFunction$body$FrameCryptor(A._asJSObject(frameObj), A._asJSObject(controller)); }, decodeFunction$body$FrameCryptor(frameObj, controller) { var $async$goto = 0, @@ -8260,13 +8474,13 @@ // after finally t3 = t1.decrypted; if (t3 == null) { - t1 = A.Exception_Exception("[decodeFunction] decryption failed even after ratchting"); + t1 = A.Exception_Exception(string$.x5bdecod); throw A.wrapException(t1); } t4 = $async$self.keyHandler; t4._decryptionFailureCount = 0; t4._hasValidKey = true; - t2.log$4(B.Level_FINER_400, "decodeFunction: decryption success, buffer length " + srcFrame.buffer.length + ", decrypted: " + A.NativeUint8List_NativeUint8List$view(t3, 0, null).length, null, null); + t2.log$4(B.Level_FINER_400, string$.decodex20 + srcFrame.buffer.length + ", decrypted: " + A.NativeUint8List_NativeUint8List$view(t3, 0, null).length, null, null); t3 = $.$get$_CopyingBytesBuilder__emptyList(); finalBuffer = new A._CopyingBytesBuilder(t3); J.add$1$ax(finalBuffer, new Uint8Array(A._ensureNativeList(B.NativeUint8List_methods.sublist$2(srcFrame.buffer, 0, headerLength)))); @@ -8322,7 +8536,7 @@ call$0() { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $async$self = this, decrypted, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, $async$temp1; + $async$self = this, t9, decrypted, t1, t2, t3, t4, t5, t6, t7, t8, $async$temp1; var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -8332,51 +8546,50 @@ // Function start t1 = $async$self.$this; t2 = t1.worker; - t3 = type$.JSObject; - t4 = t3._as(t3._as(t2.crypto).subtle); - t5 = $async$self.srcFrame; - t6 = t5.buffer; - t7 = $async$self.headerLength; - t8 = type$.String; - t9 = type$.Object; - t10 = A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["name", "AES-GCM", "iv", $async$self.iv, "additionalData", B.NativeUint8List_methods.sublist$2(t6, 0, t7)], t8, t9)); - t9 = t10 == null ? t9._as(t10) : t10; - t10 = $async$self._box_0; - $async$temp1 = type$.NativeByteBuffer; + t3 = A._asJSObject(A._asJSObject(t2.crypto).subtle); + t4 = $async$self.srcFrame; + t5 = t4.buffer; + t6 = $async$self.headerLength; + t7 = type$.String; + t8 = A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["name", "AES-GCM", "iv", $async$self.iv, "additionalData", B.NativeUint8List_methods.sublist$2(t5, 0, t6)], t7, type$.Object)); + if (t8 == null) + t8 = A._asObject(t8); + t9 = $async$self._box_0; + $async$temp1 = type$.NativeArrayBuffer; $async$goto = 2; - return A._asyncAwait(A.promiseToFuture(t3._as(t4.decrypt(t9, t10.currentkeySet.encryptionKey, B.NativeUint8List_methods.sublist$2(t6, t7, t6.length - $async$self.ivLength - 2))), type$.nullable_Object), $async$call$0); + return A._asyncAwait(A.promiseToFuture(A._asJSObject(t3.decrypt(t8, t9.currentkeySet.encryptionKey, B.NativeUint8List_methods.sublist$2(t5, t6, t5.length - $async$self.ivLength - 2))), type$.nullable_Object), $async$call$0); case 2: // returning from await. decrypted = $async$temp1._as($async$result); - t6 = $async$self._box_1; - t6.decrypted = decrypted; - t7 = $.$get$logger(); - t7.log$4(B.Level_FINER_400, string$.decode + A.NativeUint8List_NativeUint8List$view(decrypted, 0, null).length, null, null); - t3 = t6.decrypted; + t5 = $async$self._box_1; + t5.decrypted = decrypted; + t6 = $.$get$logger(); + t6.log$4(B.Level_FINER_400, string$.decodex3ad + A.NativeUint8List_NativeUint8List$view(decrypted, 0, null).length, null, null); + t3 = t5.decrypted; if (t3 == null) throw A.wrapException(A.Exception_Exception("[decryptFrameInternal] could not decrypt")); - t7.log$4(B.Level_FINER_400, string$.decode + A.NativeUint8List_NativeUint8List$view(t3, 0, null).length, null, null); - $async$goto = t10.currentkeySet !== t6.initialKeySet ? 3 : 4; + t6.log$4(B.Level_FINER_400, string$.decodex3ad + A.NativeUint8List_NativeUint8List$view(t3, 0, null).length, null, null); + $async$goto = t9.currentkeySet !== t5.initialKeySet ? 3 : 4; break; case 3: // then - t7.log$4(B.Level_FINE_500, "decodeFunction::decryptFrameInternal: ratchetKey: decryption ok, newState: kKeyRatcheted", null, null); + t6.log$4(B.Level_FINE_500, string$.decodex3ar, null, null); $async$goto = 5; - return A._asyncAwait(t1.keyHandler.setKeySetFromMaterial$2(t10.currentkeySet, t6.initialKeyIndex), $async$call$0); + return A._asyncAwait(t1.keyHandler.setKeySetFromMaterial$2(t9.currentkeySet, t5.initialKeyIndex), $async$call$0); case 5: // returning from await. case 4: // join t3 = t1.lastError; - if (t3 !== B.CryptorError_1 && t3 !== B.CryptorError_6 && t6.ratchetCount > 0) { - t7.log$4(B.Level_FINER_400, "decodeFunction::decryptFrameInternal: KeyRatcheted: ssrc " + t5.ssrc + " timestamp " + t5.timestamp + " ratchetCount " + t6.ratchetCount + " participantId: " + A.S(t1.participantIdentity), null, null); - t7.log$4(B.Level_FINER_400, "decodeFunction::decryptFrameInternal: ratchetKey: lastError != CryptorError.kKeyRatcheted, reset state to kKeyRatcheted", null, null); + if (t3 !== B.CryptorError_1 && t3 !== B.CryptorError_6 && t5.ratchetCount > 0) { + t6.log$4(B.Level_FINER_400, "decodeFunction::decryptFrameInternal: KeyRatcheted: ssrc " + t4.ssrc + " timestamp " + t4.timestamp + " ratchetCount " + t5.ratchetCount + " participantId: " + A.S(t1.participantIdentity), null, null); + t6.log$4(B.Level_FINER_400, "decodeFunction::decryptFrameInternal: ratchetKey: lastError != CryptorError.kKeyRatcheted, reset state to kKeyRatcheted", null, null); t1.lastError = B.CryptorError_6; t3 = t1.participantIdentity; t4 = t1.trackId; t1 = t1.__FrameCryptor_kind_A; t1 === $ && A.throwLateFieldNI("kind"); - t2.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "msgType", "event", "participantId", t3, "trackId", t4, "kind", t1, "state", "keyRatcheted", "error", "Key ratcheted ok"], t8, type$.nullable_String))); + t2.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "msgType", "event", "participantId", t3, "trackId", t4, "kind", t1, "state", "keyRatcheted", "error", "Key ratcheted ok"], t7, type$.nullable_String))); } // implicit return return A._asyncReturn(null, $async$completer); @@ -8384,7 +8597,7 @@ }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 10 + $signature: 2 }; A.FrameCryptor_decodeFunction_ratchedKeyInternal.prototype = { call$0() { @@ -8405,7 +8618,7 @@ t5 = t4.keyOptions; t6 = t5.ratchetWindowSize; if (t2 >= t6 || t6 <= 0) - throw A.wrapException(A.Exception_Exception("[ratchedKeyInternal] cannot ratchet anymore")); + throw A.wrapException(A.Exception_Exception(string$.x5bratch)); t2 = $async$self._box_0; $async$goto = 2; return A._asyncAwait(t4.ratchet$2(t2.currentkeySet.material, t5.ratchetSalt), $async$call$0); @@ -8435,7 +8648,7 @@ }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 10 + $signature: 2 }; A.KeyOptions.prototype = { toString$0(_) { @@ -8500,10 +8713,9 @@ break; } $async$handler = 4; - t1 = type$.JSObject; - $async$temp1 = type$.NativeByteBuffer; + $async$temp1 = type$.NativeArrayBuffer; $async$goto = 7; - return A._asyncAwait(A.promiseToFuture(t1._as(t1._as(t1._as($async$self.worker.crypto).subtle).exportKey("raw", currentMaterial)), type$.nullable_Object), $async$exportKey$1); + return A._asyncAwait(A.promiseToFuture(A._asJSObject(A._asJSObject(A._asJSObject($async$self.worker.crypto).subtle).exportKey("raw", currentMaterial)), type$.nullable_Object), $async$exportKey$1); case 7: // returning from await. key = $async$temp1._as($async$result); @@ -8608,7 +8820,7 @@ // Function start t1 = type$.JSObject; $async$goto = 3; - return A._asyncAwait(A.promiseToFuture(A.callMethod(t1._as(t1._as($async$self.worker.crypto).subtle), "importKey", ["raw", type$.NativeByteBuffer._as(newKeyBuffer), type$.Object._as(t1._as(currentMaterial.algorithm).name), false, type$.JSArray_nullable_Object._as(A.jsify(A._setArrayType(["deriveBits", "deriveKey"], type$.JSArray_String)))], t1), t1), $async$ratchetMaterial$2); + return A._asyncAwait(A.promiseToFuture(A.callMethod(A._asJSObject(A._asJSObject($async$self.worker.crypto).subtle), "importKey", ["raw", type$.NativeArrayBuffer._as(newKeyBuffer), A._asObject(A._asJSObject(currentMaterial.algorithm).name), false, type$.JSArray_nullable_Object._as(A.jsify(A._setArrayType(["deriveBits", "deriveKey"], type$.JSArray_String)))], t1), t1), $async$ratchetMaterial$2); case 3: // returning from await. $async$returnValue = $async$result; @@ -8634,7 +8846,7 @@ setKey$2$keyIndex(key, keyIndex) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $async$self = this, t1, t2, t3; + $async$self = this, t3, t1, t2; var $async$setKey$2$keyIndex = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -8642,14 +8854,14 @@ switch ($async$goto) { case 0: // Function start - t1 = type$.JSObject; - t2 = t1._as(t1._as($async$self.worker.crypto).subtle); - t3 = type$.String; - t3 = A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["name", "PBKDF2"], t3, t3)); - if (t3 == null) - t3 = type$.Object._as(t3); + t1 = A._asJSObject(A._asJSObject($async$self.worker.crypto).subtle); + t2 = type$.String; + t2 = A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["name", "PBKDF2"], t2, t2)); + if (t2 == null) + t2 = A._asObject(t2); + t3 = type$.JSObject; $async$goto = 4; - return A._asyncAwait(A.promiseToFuture(A.callMethod(t2, "importKey", ["raw", key, t3, false, type$.JSArray_nullable_Object._as(A.jsify(A._setArrayType(["deriveBits", "deriveKey"], type$.JSArray_String)))], t1), t1), $async$setKey$2$keyIndex); + return A._asyncAwait(A.promiseToFuture(A.callMethod(t1, "importKey", ["raw", key, t2, false, type$.JSArray_nullable_Object._as(A.jsify(A._setArrayType(["deriveBits", "deriveKey"], type$.JSArray_String)))], t3), t3), $async$setKey$2$keyIndex); case 4: // returning from await. $async$goto = 3; @@ -8700,7 +8912,7 @@ deriveKeys$2(material, salt) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.KeySet), - $async$returnValue, $async$self = this, t4, t5, t1, algorithmOptions, t2, t3, $async$temp1, $async$temp2, $async$temp3; + $async$returnValue, $async$self = this, t3, algorithmOptions, t1, t2, $async$temp1, $async$temp2, $async$temp3; var $async$deriveKeys$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -8708,23 +8920,22 @@ switch ($async$goto) { case 0: // Function start - t1 = type$.JSObject; - algorithmOptions = A.getAlgoOptions(A._asString(t1._as(material.algorithm).name), salt); - t2 = t1._as(t1._as($async$self.worker.crypto).subtle); - t3 = A.jsify(algorithmOptions); + algorithmOptions = A.getAlgoOptions(A._asString(A._asJSObject(material.algorithm).name), salt); + t1 = A._asJSObject(A._asJSObject($async$self.worker.crypto).subtle); + t2 = A.jsify(algorithmOptions); + if (t2 == null) + t2 = A._asObject(t2); + t3 = A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["name", "AES-GCM", "length", 128], type$.String, type$.Object)); if (t3 == null) - t3 = type$.Object._as(t3); - t4 = type$.Object; - t5 = A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["name", "AES-GCM", "length", 128], type$.String, t4)); - t4 = t5 == null ? t4._as(t5) : t5; + t3 = A._asObject(t3); $async$temp1 = A; $async$temp2 = material; - $async$temp3 = t1; + $async$temp3 = A; $async$goto = 3; - return A._asyncAwait(A.promiseToFuture(A.callMethod(t2, "deriveKey", [t3, material, t4, false, type$.JSArray_nullable_Object._as(A.jsify(A._setArrayType(["encrypt", "decrypt"], type$.JSArray_String)))], t1), type$.nullable_Object), $async$deriveKeys$2); + return A._asyncAwait(A.promiseToFuture(A.callMethod(t1, "deriveKey", [t2, material, t3, false, type$.JSArray_nullable_Object._as(A.jsify(A._setArrayType(["encrypt", "decrypt"], type$.JSArray_String)))], type$.JSObject), type$.nullable_Object), $async$deriveKeys$2); case 3: // returning from await. - $async$returnValue = new $async$temp1.KeySet($async$temp2, $async$temp3._as($async$result)); + $async$returnValue = new $async$temp1.KeySet($async$temp2, $async$temp3._asJSObject($async$result)); // goto return $async$goto = 1; break; @@ -8738,7 +8949,7 @@ ratchet$2(material, salt) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Uint8List), - $async$returnValue, $async$self = this, algorithmOptions, t1, t2, t3, $async$temp1; + $async$returnValue, $async$self = this, algorithmOptions, t1, t2, $async$temp1; var $async$ratchet$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -8747,14 +8958,13 @@ case 0: // Function start algorithmOptions = A.getAlgoOptions("PBKDF2", salt); - t1 = type$.JSObject; - t2 = t1._as(t1._as($async$self.worker.crypto).subtle); - t3 = A.jsify(algorithmOptions); - if (t3 == null) - t3 = type$.Object._as(t3); + t1 = A._asJSObject(A._asJSObject($async$self.worker.crypto).subtle); + t2 = A.jsify(algorithmOptions); + if (t2 == null) + t2 = A._asObject(t2); $async$temp1 = A; $async$goto = 3; - return A._asyncAwait(A.promiseToFuture(t1._as(t2.deriveBits(t3, material, 256)), type$.NativeByteBuffer), $async$ratchet$2); + return A._asyncAwait(A.promiseToFuture(A._asJSObject(t1.deriveBits(t2, material, 256)), type$.NativeArrayBuffer), $async$ratchet$2); case 3: // returning from await. $async$returnValue = $async$temp1.NativeUint8List_NativeUint8List$view($async$result, 0, null); @@ -8767,9 +8977,6 @@ } }); return A._asyncStartSync($async$ratchet$2, $async$completer); - }, - set$__ParticipantKeyHandler_cryptoKeyRing_A(__ParticipantKeyHandler_cryptoKeyRing_A) { - this.__ParticipantKeyHandler_cryptoKeyRing_A = type$.List_nullable_KeySet._as(__ParticipantKeyHandler_cryptoKeyRing_A); } }; A.SifGuard.prototype = { @@ -8791,29 +8998,40 @@ }, $signature: 1 }; + A.getDataPacketCryptor_closure.prototype = { + call$1(c) { + return type$.E2EEDataPacketCryptor._as(c).dataCryptorId === this.dataCryptorId; + }, + $signature: 10 + }; A.unsetCryptorParticipant_closure.prototype = { call$1(c) { return type$.FrameCryptor._as(c).trackId === this.trackId; }, $signature: 1 }; + A.unsetDataPacketCryptorParticipant_closure.prototype = { + call$1(c) { + return type$.E2EEDataPacketCryptor._as(c).dataCryptorId === this.dataCryptorId; + }, + $signature: 10 + }; A.main_closure.prototype = { call$1(record) { type$.LogRecord._as(record); A.printString("[" + record.loggerName + "] " + record.level.name + ": " + record.message); }, - $signature: 21 + $signature: 23 }; A.main_closure0.prototype = { call$1($event) { - var t2, transformer, options, kind, participantId, trackId, codec, msgType, keyProviderId, keyProvider, cryptor, _null = null, - t1 = type$.JSObject; - t1._as($event); - t2 = $.$get$logger(); - t2.log$4(B.Level_INFO_800, "Got onrtctransform event", _null, _null); - transformer = t1._as($event.transformer); + var t1, transformer, options, kind, participantId, trackId, codec, msgType, keyProviderId, keyProvider, cryptor, t2, _null = null; + A._asJSObject($event); + t1 = $.$get$logger(); + t1.log$4(B.Level_INFO_800, "Got onrtctransform event", _null, _null); + transformer = A._asJSObject($event.transformer); transformer.handled = true; - options = t1._as(transformer.options); + options = A._asJSObject(transformer.options); kind = A._asString(options.kind); participantId = A._asString(options.participantId); trackId = A._asString(options.trackId); @@ -8822,13 +9040,13 @@ keyProviderId = A._asString(options.keyProviderId); keyProvider = $.keyProviders.$index(0, keyProviderId); if (keyProvider == null) { - t2.log$4(B.Level_WARNING_900, "KeyProvider not found for " + keyProviderId, _null, _null); + t1.log$4(B.Level_WARNING_900, "KeyProvider not found for " + keyProviderId, _null, _null); return; } cryptor = A.getTrackCryptor(participantId, trackId, keyProvider); - t2 = t1._as(transformer.readable); - t1 = t1._as(transformer.writable); - cryptor.setupTransform$6$codec$kind$operation$readable$trackId$writable(codec == null ? _null : codec, kind, msgType, t2, trackId, t1); + t1 = A._asJSObject(transformer.readable); + t2 = A._asJSObject(transformer.writable); + cryptor.setupTransform$6$codec$kind$operation$readable$trackId$writable(codec == null ? _null : codec, kind, msgType, t1, trackId, t2); }, $signature: 11 }; @@ -8836,10 +9054,12 @@ call$1(e) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Null), - $async$returnValue, options, keyProviderId, t2, t3, t4, t5, t6, t7, t8, keyProviderOptions, enabled, trackId, cryptors, _i, cryptor, kind, exist, participantId, readable, writable, keyProvider, key, keyIndex, newKey, c, sifTrailer, codec, msg, msgType, msgId, t1; + $async$returnValue, $async$handler = 2, $async$errorStack = [], participantId, data, dataCryptorId, cryptor, encryptedPacket, e0, participantId0, data0, iv, keyIndex, dataCryptorId0, cryptor0, decryptedData, e1, options, keyProviderId, t2, t3, t4, t5, t6, t7, t8, keyProviderOptions, enabled, trackId, cryptors, _i, kind, exist, readable, writable, keyProvider, key, newKey, c, sifTrailer, codec, algorithmStr, exception, msg, msgType, msgId, t1, $async$exception, $async$exception1; var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { - if ($async$errorCode === 1) - return A._asyncRethrow($async$result, $async$completer); + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } while (true) switch ($async$goto) { case 0: @@ -8916,9 +9136,21 @@ // goto case $async$goto = 20; break; + case "dataCryptorEncrypt": + // goto case + $async$goto = 21; + break; + case "dataCryptorDecrypt": + // goto case + $async$goto = 22; + break; + case "dataCryptorDispose": + // goto case + $async$goto = 23; + break; default: // goto default - $async$goto = 21; + $async$goto = 24; break; } break; @@ -8938,13 +9170,12 @@ t2 = t2.$index(options, "discardFrameWhenCryptorNotReady"); keyProviderOptions = new A.KeyOptions(t3, t4, t5, t6, t7, t8, A._asBool(t2 == null ? false : t2)); t1.log$4(B.Level_CONFIG_700, "Init with keyProviderOptions:\n " + keyProviderOptions.toString$0(0), null, null); - t1 = self; - t2 = type$.JSObject; - t3 = t2._as(t1.self); - t4 = type$.String; - t5 = new Uint8Array(0); - $.keyProviders.$indexSet(0, keyProviderId, new A.KeyProvider(t3, keyProviderOptions, A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.ParticipantKeyHandler), t5)); - t2._as(t1.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "init", "msgId", msgId, "msgType", "response"], t4, type$.nullable_String))); + t1 = init.G; + t2 = A._asJSObject(t1.self); + t3 = type$.String; + t4 = new Uint8Array(0); + $.keyProviders.$indexSet(0, keyProviderId, new A.KeyProvider(t2, keyProviderOptions, A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ParticipantKeyHandler), t4)); + A._asJSObject(t1.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "init", "msgId", msgId, "msgType", "response"], t3, type$.nullable_String))); // goto after switch $async$goto = 4; break; @@ -8953,7 +9184,7 @@ keyProviderId = A._asString(msg.$index(0, "keyProviderId")); t1.log$4(B.Level_CONFIG_700, "Dispose keyProvider " + keyProviderId, null, null); $.keyProviders.remove$1(0, keyProviderId); - type$.JSObject._as(self.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "dispose", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "dispose", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); // goto after switch $async$goto = 4; break; @@ -8964,8 +9195,8 @@ t2 = $.participantCryptors; t3 = A._arrayInstanceType(t2); t4 = t3._eval$1("WhereIterable<1>"); - cryptors = A.List_List$of(new A.WhereIterable(t2, t3._eval$1("bool(1)")._as(new A.main__closure(trackId)), t4), true, t4._eval$1("Iterable.E")); - for (t2 = cryptors.length, t3 = "" + enabled, t4 = "Set enable " + t3 + " for trackId ", t5 = "setEnabled[" + t3 + string$.___las, _i = 0; _i < t2; ++_i) { + cryptors = A.List_List$_of(new A.WhereIterable(t2, t3._eval$1("bool(1)")._as(new A.main__closure(trackId)), t4), t4._eval$1("Iterable.E")); + for (t2 = cryptors.length, t3 = "" + enabled, t4 = "Set enable " + t3 + " for trackId ", t5 = "setEnabled[" + t3 + string$.x5d__las, _i = 0; _i < cryptors.length; cryptors.length === t2 || (0, A.throwConcurrentModificationError)(cryptors), ++_i) { cryptor = cryptors[_i]; t1.log$4(B.Level_CONFIG_700, t4 + cryptor.trackId, null, null); if (cryptor.lastError !== B.CryptorError_1) { @@ -8975,7 +9206,7 @@ t1.log$4(B.Level_CONFIG_700, "setEnabled for " + A.S(cryptor.participantIdentity) + ", enabled: " + t3, null, null); cryptor._enabled = enabled; } - type$.JSObject._as(self.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorEnabled", "enable", enabled, "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_Object))); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorEnabled", "enable", enabled, "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_Object))); // goto after switch $async$goto = 4; break; @@ -8987,15 +9218,14 @@ exist = A._asBool(msg.$index(0, "exist")); participantId = A._asString(msg.$index(0, "participantId")); trackId = msg.$index(0, "trackId"); - t2 = type$.JSObject; - readable = t2._as(msg.$index(0, "readableStream")); - writable = t2._as(msg.$index(0, "writableStream")); + readable = A._asJSObject(msg.$index(0, "readableStream")); + writable = A._asJSObject(msg.$index(0, "writableStream")); keyProviderId = A._asString(msg.$index(0, "keyProviderId")); t1.log$4(B.Level_CONFIG_700, "SetupTransform for kind " + A.S(kind) + ", trackId " + A.S(trackId) + ", participantId " + participantId + ", " + J.get$runtimeType$(readable).toString$0(0) + " " + J.get$runtimeType$(writable).toString$0(0) + "}", null, null); keyProvider = $.keyProviders.$index(0, keyProviderId); if (keyProvider == null) { t1.log$4(B.Level_WARNING_900, "KeyProvider not found for " + keyProviderId, null, null); - t2._as(self.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorSetup", "participantId", participantId, "trackId", trackId, "exist", exist, "operation", msgType, "error", "KeyProvider not found", "msgId", msgId, "msgType", "response"], type$.String, type$.dynamic))); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorSetup", "participantId", participantId, "trackId", trackId, "exist", exist, "operation", msgType, "error", "KeyProvider not found", "msgId", msgId, "msgType", "response"], type$.String, type$.dynamic))); // goto return $async$goto = 1; break; @@ -9003,11 +9233,11 @@ A._asString(trackId); cryptor = A.getTrackCryptor(participantId, trackId, keyProvider); A._asString(msgType); - $async$goto = 22; + $async$goto = 25; return A._asyncAwait(cryptor.setupTransform$5$kind$operation$readable$trackId$writable(A._asString(kind), msgType, readable, trackId, writable), $async$call$1); - case 22: + case 25: // returning from await. - t2._as(self.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorSetup", "participantId", participantId, "trackId", trackId, "exist", exist, "operation", msgType, "msgId", msgId, "msgType", "response"], type$.String, type$.dynamic))); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorSetup", "participantId", participantId, "trackId", trackId, "exist", exist, "operation", msgType, "msgId", msgId, "msgType", "response"], type$.String, type$.dynamic))); cryptor.lastError = B.CryptorError_0; // goto after switch $async$goto = 4; @@ -9017,7 +9247,7 @@ trackId = A._asString(msg.$index(0, "trackId")); t1.log$4(B.Level_CONFIG_700, "Removing trackId " + trackId, null, null); A.unsetCryptorParticipant(trackId); - type$.JSObject._as(self.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorRemoved", "trackId", trackId, "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorRemoved", "trackId", trackId, "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); // goto after switch $async$goto = 4; break; @@ -9031,35 +9261,35 @@ keyProvider = $.keyProviders.$index(0, keyProviderId); if (keyProvider == null) { t1.log$4(B.Level_WARNING_900, "KeyProvider not found for " + keyProviderId, null, null); - type$.JSObject._as(self.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "setKey", "error", "KeyProvider not found", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "setKey", "error", "KeyProvider not found", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); // goto return $async$goto = 1; break; } t2 = keyProvider.keyProviderOptions.sharedKey; t3 = "" + keyIndex; - $async$goto = t2 ? 23 : 25; + $async$goto = t2 ? 26 : 28; break; - case 23: + case 26: // then t1.log$4(B.Level_CONFIG_700, "Set SharedKey keyIndex " + t3, null, null); t1.log$4(B.Level_INFO_800, "setting shared key", null, null); keyProvider.sharedKey = key; keyProvider.getSharedKeyHandler$0().setKey$2$keyIndex(key, keyIndex); // goto join - $async$goto = 24; + $async$goto = 27; break; - case 25: + case 28: // else participantId = A._asString(msg.$index(0, "participantId")); t1.log$4(B.Level_CONFIG_700, "Set key for participant " + participantId + ", keyIndex " + t3, null, null); - $async$goto = 26; + $async$goto = 29; return A._asyncAwait(keyProvider.getParticipantKeyHandler$1(participantId).setKey$2$keyIndex(key, keyIndex), $async$call$1); - case 26: + case 29: // returning from await. - case 24: + case 27: // join - type$.JSObject._as(self.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "setKey", "participantId", msg.$index(0, "participantId"), "sharedKey", t2, "keyIndex", keyIndex, "msgId", msgId, "msgType", "response"], type$.String, type$.dynamic))); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "setKey", "participantId", msg.$index(0, "participantId"), "sharedKey", t2, "keyIndex", keyIndex, "msgId", msgId, "msgType", "response"], type$.String, type$.dynamic))); // goto after switch $async$goto = 4; break; @@ -9073,37 +9303,38 @@ keyProvider = $.keyProviders.$index(0, keyProviderId); if (keyProvider == null) { t1.log$4(B.Level_WARNING_900, "KeyProvider not found for " + keyProviderId, null, null); - type$.JSObject._as(self.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "setKey", "error", "KeyProvider not found", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "setKey", "error", "KeyProvider not found", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); // goto return $async$goto = 1; break; } t2 = keyProvider.keyProviderOptions.sharedKey; - $async$goto = t2 ? 27 : 29; + $async$goto = t2 ? 30 : 32; break; - case 27: + case 30: // then t1.log$4(B.Level_CONFIG_700, "RatchetKey for SharedKey, keyIndex " + A.S(keyIndex), null, null); - $async$goto = 30; + $async$goto = 33; return A._asyncAwait(keyProvider.getSharedKeyHandler$0().ratchetKey$1(A._asIntQ(keyIndex)), $async$call$1); - case 30: + case 33: // returning from await. newKey = $async$result; // goto join - $async$goto = 28; + $async$goto = 31; break; - case 29: + case 32: // else t1.log$4(B.Level_CONFIG_700, "RatchetKey for participant " + participantId + ", keyIndex " + A.S(keyIndex), null, null); - $async$goto = 31; + $async$goto = 34; return A._asyncAwait(keyProvider.getParticipantKeyHandler$1(participantId).ratchetKey$1(A._asIntQ(keyIndex)), $async$call$1); - case 31: + case 34: // returning from await. newKey = $async$result; - case 28: + case 31: // join - t1 = type$.JSObject._as(self.self); - t1.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "ratchetKey", "sharedKey", t2, "participantId", participantId, "newKey", newKey != null ? B.C_Base64Encoder.convert$1(type$.Base64Codec._eval$1("Codec.S")._as(newKey)) : "", "keyIndex", keyIndex, "msgId", msgId, "msgType", "response"], type$.String, type$.dynamic))); + t1 = A._asJSObject(init.G.self); + t3 = newKey != null ? B.C_Base64Encoder.convert$1(type$.Base64Codec._eval$1("Codec.S")._as(newKey)) : ""; + t1.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "ratchetKey", "sharedKey", t2, "participantId", participantId, "newKey", t3, "keyIndex", keyIndex, "msgId", msgId, "msgType", "response"], type$.String, type$.dynamic))); // goto after switch $async$goto = 4; break; @@ -9115,8 +9346,8 @@ t2 = $.participantCryptors; t3 = A._arrayInstanceType(t2); t4 = t3._eval$1("WhereIterable<1>"); - cryptors = A.List_List$of(new A.WhereIterable(t2, t3._eval$1("bool(1)")._as(new A.main__closure0(trackId)), t4), true, t4._eval$1("Iterable.E")); - for (t2 = cryptors.length, _i = 0; _i < t2; ++_i) { + cryptors = A.List_List$_of(new A.WhereIterable(t2, t3._eval$1("bool(1)")._as(new A.main__closure0(trackId)), t4), t4._eval$1("Iterable.E")); + for (t2 = cryptors.length, _i = 0; _i < cryptors.length; cryptors.length === t2 || (0, A.throwConcurrentModificationError)(cryptors), ++_i) { c = cryptors[_i]; t1.log$4(B.Level_CONFIG_700, "Set keyIndex for trackId " + c.trackId, null, null); A._asInt(keyIndex); @@ -9127,7 +9358,7 @@ t1.log$4(B.Level_CONFIG_700, "setKeyIndex for " + A.S(c.participantIdentity) + ", newIndex: " + keyIndex, null, null); c.currentKeyIndex = keyIndex; } - type$.JSObject._as(self.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "setKeyIndex", "keyIndex", keyIndex, "msgId", msgId, "msgType", "response"], type$.String, type$.dynamic))); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "setKeyIndex", "keyIndex", keyIndex, "msgId", msgId, "msgType", "response"], type$.String, type$.dynamic))); // goto after switch $async$goto = 4; break; @@ -9141,37 +9372,38 @@ keyProvider = $.keyProviders.$index(0, keyProviderId); if (keyProvider == null) { t1.log$4(B.Level_WARNING_900, "KeyProvider not found for " + keyProviderId, null, null); - type$.JSObject._as(self.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "setKey", "error", "KeyProvider not found", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "setKey", "error", "KeyProvider not found", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); // goto return $async$goto = 1; break; } t2 = "" + keyIndex; - $async$goto = keyProvider.keyProviderOptions.sharedKey ? 32 : 34; + $async$goto = keyProvider.keyProviderOptions.sharedKey ? 35 : 37; break; - case 32: + case 35: // then t1.log$4(B.Level_CONFIG_700, "Export SharedKey keyIndex " + t2, null, null); - $async$goto = 35; + $async$goto = 38; return A._asyncAwait(keyProvider.getSharedKeyHandler$0().exportKey$1(keyIndex), $async$call$1); - case 35: + case 38: // returning from await. key = $async$result; // goto join - $async$goto = 33; + $async$goto = 36; break; - case 34: + case 37: // else t1.log$4(B.Level_CONFIG_700, "Export key for participant " + participantId + ", keyIndex " + t2, null, null); - $async$goto = 36; + $async$goto = 39; return A._asyncAwait(keyProvider.getParticipantKeyHandler$1(participantId).exportKey$1(keyIndex), $async$call$1); - case 36: + case 39: // returning from await. key = $async$result; - case 33: + case 36: // join - t1 = type$.JSObject._as(self.self); - t1.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "exportKey", "participantId", participantId, "keyIndex", keyIndex, "exportedKey", key != null ? B.C_Base64Encoder.convert$1(type$.Base64Codec._eval$1("Codec.S")._as(key)) : "", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_Object))); + t1 = A._asJSObject(init.G.self); + t2 = key != null ? B.C_Base64Encoder.convert$1(type$.Base64Codec._eval$1("Codec.S")._as(key)) : ""; + t1.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "exportKey", "participantId", participantId, "keyIndex", keyIndex, "exportedKey", t2, "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_Object))); // goto after switch $async$goto = 4; break; @@ -9182,7 +9414,7 @@ keyProvider = $.keyProviders.$index(0, keyProviderId); if (keyProvider == null) { t1.log$4(B.Level_WARNING_900, "KeyProvider not found for " + keyProviderId, null, null); - type$.JSObject._as(self.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "setKey", "error", "KeyProvider not found", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "setKey", "error", "KeyProvider not found", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); // goto return $async$goto = 1; break; @@ -9194,7 +9426,7 @@ t1.log$4(B.Level_CONFIG_700, "setSifTrailer for " + A.S(c.participantIdentity) + ", magicBytes: " + A.S(sifTrailer), null, null); c.keyHandler.keyOptions.uncryptedMagicBytes = sifTrailer; } - type$.JSObject._as(self.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "setSifTrailer", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "setSifTrailer", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); // goto after switch $async$goto = 4; break; @@ -9206,13 +9438,13 @@ cryptor = A.IterableExtension_firstWhereOrNull($.participantCryptors, new A.main__closure1(trackId), type$.FrameCryptor); if (cryptor != null) { if (cryptor.lastError !== B.CryptorError_1) { - t1.log$4(B.Level_INFO_800, "updateCodec[" + codec + string$.___las, null, null); + t1.log$4(B.Level_INFO_800, "updateCodec[" + codec + string$.x5d__las, null, null); cryptor.lastError = B.CryptorError_0; } t1.log$4(B.Level_CONFIG_700, "updateCodec for " + A.S(cryptor.participantIdentity) + ", codec: " + codec, null, null); cryptor.codec = codec; } - type$.JSObject._as(self.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "updateCodec", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "updateCodec", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); // goto after switch $async$goto = 4; break; @@ -9221,18 +9453,139 @@ trackId = A._asString(msg.$index(0, "trackId")); t1.log$4(B.Level_CONFIG_700, "Dispose for trackId " + trackId, null, null); cryptor = A.IterableExtension_firstWhereOrNull($.participantCryptors, new A.main__closure2(trackId), type$.FrameCryptor); - t1 = type$.JSObject; + t1 = init.G; t2 = type$.String; t3 = type$.nullable_String; if (cryptor != null) { cryptor.lastError = B.CryptorError_8; - t1._as(self.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorDispose", "participantId", cryptor.participantIdentity, "trackId", trackId, "msgId", msgId, "msgType", "response"], t2, t3))); + A._asJSObject(t1.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorDispose", "participantId", cryptor.participantIdentity, "trackId", trackId, "msgId", msgId, "msgType", "response"], t2, t3))); } else - t1._as(self.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorDispose", "error", "cryptor not found", "msgId", msgId, "msgType", "response"], t2, t3))); + A._asJSObject(t1.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorDispose", "error", "cryptor not found", "msgId", msgId, "msgType", "response"], t2, t3))); // goto after switch $async$goto = 4; break; case 21: + // case + participantId = A._asString(msg.$index(0, "participantId")); + data = type$.Uint8List._as(msg.$index(0, "data")); + keyIndex = A._asInt(msg.$index(0, "keyIndex")); + dataCryptorId = A._asString(msg.$index(0, "dataCryptorId")); + algorithmStr = A._asString(msg.$index(0, "algorithm")); + if (A.IterableExtension_firstWhereOrNull(B.List_Algorithm_0_Algorithm_1, new A.main__closure3(algorithmStr), type$.Algorithm) == null) { + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "dataCryptorEncrypt", "error", "algorithm not found", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + // goto return + $async$goto = 1; + break; + } + t1.log$4(B.Level_CONFIG_700, "Encrypt for dataCryptorId " + A.S(dataCryptorId) + ", participantId " + A.S(participantId) + ", keyIndex " + keyIndex + ", data length " + J.get$length$asx(data) + ", algorithm " + algorithmStr, null, null); + keyProviderId = A._asString(msg.$index(0, "keyProviderId")); + keyProvider = $.keyProviders.$index(0, keyProviderId); + if (keyProvider == null) { + t1.log$4(B.Level_WARNING_900, "KeyProvider not found for " + keyProviderId, null, null); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "dataCryptorEncrypt", "error", "KeyProvider not found", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + // goto return + $async$goto = 1; + break; + } + cryptor = A.getDataPacketCryptor(participantId, dataCryptorId, keyProvider); + $async$handler = 41; + $async$goto = 44; + return A._asyncAwait(cryptor.encrypt$2(cryptor.keyHandler, data), $async$call$1); + case 44: + // returning from await. + encryptedPacket = $async$result; + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "dataCryptorEncrypt", "participantId", participantId, "dataCryptorId", dataCryptorId, "data", encryptedPacket.data, "keyIndex", encryptedPacket.keyIndex, "iv", encryptedPacket.iv, "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_Object))); + $async$handler = 2; + // goto after finally + $async$goto = 43; + break; + case 41: + // catch + $async$handler = 40; + $async$exception = $async$errorStack.pop(); + e0 = A.unwrapException($async$exception); + $.$get$logger().log$4(B.Level_WARNING_900, "Error encrypting data: " + A.S(e0), null, null); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "dataCryptorEncrypt", "error", J.toString$0$(e0), "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + // goto after finally + $async$goto = 43; + break; + case 40: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 43: + // after finally + // goto after switch + $async$goto = 4; + break; + case 22: + // case + participantId0 = A._asString(msg.$index(0, "participantId")); + t2 = type$.Uint8List; + data0 = t2._as(msg.$index(0, "data")); + iv = t2._as(msg.$index(0, "iv")); + keyIndex = A._asInt(msg.$index(0, "keyIndex")); + dataCryptorId0 = A._asString(msg.$index(0, "dataCryptorId")); + algorithmStr = A._asString(msg.$index(0, "algorithm")); + if (A.IterableExtension_firstWhereOrNull(B.List_Algorithm_0_Algorithm_1, new A.main__closure4(algorithmStr), type$.Algorithm) == null) { + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "dataCryptorDecrypt", "error", "algorithm not found", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + // goto return + $async$goto = 1; + break; + } + t1.log$4(B.Level_CONFIG_700, "Decrypt for dataCryptorId " + A.S(dataCryptorId0) + ", participantId " + A.S(participantId0) + ", keyIndex " + A.S(keyIndex) + ", data length " + J.get$length$asx(data0) + ", algorithm " + algorithmStr, null, null); + keyProviderId = A._asString(msg.$index(0, "keyProviderId")); + keyProvider = $.keyProviders.$index(0, keyProviderId); + if (keyProvider == null) { + t1.log$4(B.Level_WARNING_900, "KeyProvider not found for " + keyProviderId, null, null); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "dataCryptorDecrypt", "error", "KeyProvider not found", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + // goto return + $async$goto = 1; + break; + } + cryptor0 = A.getDataPacketCryptor(participantId0, dataCryptorId0, keyProvider); + $async$handler = 46; + $async$goto = 49; + return A._asyncAwait(cryptor0.decrypt$2(cryptor0.keyHandler, new A.EncryptedPacket(data0, keyIndex, iv)), $async$call$1); + case 49: + // returning from await. + decryptedData = $async$result; + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "dataCryptorDecrypt", "participantId", participantId0, "dataCryptorId", dataCryptorId0, "data", decryptedData, "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_Object))); + $async$handler = 2; + // goto after finally + $async$goto = 48; + break; + case 46: + // catch + $async$handler = 45; + $async$exception1 = $async$errorStack.pop(); + e1 = A.unwrapException($async$exception1); + $.$get$logger().log$4(B.Level_WARNING_900, "Error decrypting data: " + A.S(e1), null, null); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "dataCryptorDecrypt", "error", J.toString$0$(e1), "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + // goto after finally + $async$goto = 48; + break; + case 45: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 48: + // after finally + // goto after switch + $async$goto = 4; + break; + case 23: + // case + dataCryptorId = A._asString(msg.$index(0, "dataCryptorId")); + t1.log$4(B.Level_CONFIG_700, "Dispose for dataCryptorId " + dataCryptorId, null, null); + A.unsetDataPacketCryptorParticipant(dataCryptorId); + A._asJSObject(init.G.self).postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "dataCryptorDispose", "dataCryptorId", dataCryptorId, "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + // goto after switch + $async$goto = 4; + break; + case 24: // default t1.log$4(B.Level_WARNING_900, "Unknown message kind " + msg.toString$0(0), null, null); case 4: @@ -9240,11 +9593,14 @@ case 1: // return return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); } }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 22 + $signature: 24 }; A.main__closure.prototype = { call$1(c) { @@ -9270,9 +9626,21 @@ }, $signature: 1 }; + A.main__closure3.prototype = { + call$1(a) { + return type$.Algorithm._as(a)._name === this.algorithmStr; + }, + $signature: 12 + }; + A.main__closure4.prototype = { + call$1(a) { + return type$.Algorithm._as(a)._name === this.algorithmStr; + }, + $signature: 12 + }; A.main_closure1.prototype = { call$1(e) { - this.handleMessage.call$1(type$.JSObject._as(e)); + this.handleMessage.call$1(A._asJSObject(e)); }, $signature: 11 }; @@ -9335,10 +9703,8 @@ _getStream$0() { if (this.parent == null) { var t1 = this._controller; - if (t1 == null) { - t1 = new A._SyncBroadcastStreamController(null, null, type$._SyncBroadcastStreamController_LogRecord); - this.set$_controller(t1); - } + if (t1 == null) + t1 = this._controller = new A._SyncBroadcastStreamController(null, null, type$._SyncBroadcastStreamController_LogRecord); return new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")); } else return $.$get$Logger_root()._getStream$0(); @@ -9352,9 +9718,6 @@ t1._sendData$1(record); } return null; - }, - set$_controller(_controller) { - this._controller = type$.nullable_StreamController_LogRecord._as(_controller); } }; A.Logger_Logger_closure.prototype = { @@ -9379,7 +9742,12 @@ $parent._children.$indexSet(0, thisName, t1); return t1; }, - $signature: 23 + $signature: 25 + }; + A.Algorithm.prototype = { + _enumToString$0() { + return "Algorithm." + this._name; + } }; (function aliases() { var _ = J.LegacyJavaScriptObject.prototype; @@ -9397,9 +9765,9 @@ _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 4); _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 4); _static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0); - _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 6); + _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 7); _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0); - _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 6); + _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 7); _instance_0_u(A._DoneStreamSubscription.prototype, "get$_onMicrotask", "_onMicrotask$0", 0); var _; _instance_2_u(_ = A.FrameCryptor.prototype, "get$encodeFunction", "encodeFunction$2", 9); @@ -9410,13 +9778,14 @@ _inherit = hunkHelpers.inherit, _inheritMany = hunkHelpers.inheritMany; _inherit(A.Object, null); - _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A._CopyingBytesBuilder, A.Error, A.SentinelValue, A.Iterable, A.ListIterator, A.MappedIterator, A.WhereIterator, A.FixedLengthListMixin, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.Closure, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.MapBase, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A._UnmodifiableNativeByteBufferView, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A.Stream, A._BufferingStreamSubscription, A._BroadcastStreamController, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A._DelayedEvent, A._PendingEvents, A._DoneStreamSubscription, A._StreamIterator, A._Zone, A._HashMapKeyIterator, A.ListBase, A._UnmodifiableMapMixin, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A.DateTime, A._Enum, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.Null, A._StringStackTrace, A.StringBuffer, A.NullRejectionException, A._JSSecureRandom, A.FrameInfo, A.FrameCryptor, A.KeyOptions, A.KeyProvider, A.KeySet, A.ParticipantKeyHandler, A.SifGuard, A.Level, A.LogRecord, A.Logger]); + _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, A.SafeToStringHook, J.ArrayIterator, A._CopyingBytesBuilder, A.Error, A.SentinelValue, A.Iterable, A.ListIterator, A.MappedIterator, A.WhereIterator, A.FixedLengthListMixin, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.Closure, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.MapBase, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A._UnmodifiableNativeByteBufferView, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A.Stream, A._BufferingStreamSubscription, A._BroadcastStreamController, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A._DelayedEvent, A._PendingEvents, A._DoneStreamSubscription, A._StreamIterator, A._Zone, A._HashMapKeyIterator, A.ListBase, A._UnmodifiableMapMixin, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A.DateTime, A._Enum, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.Null, A._StringStackTrace, A.StringBuffer, A.NullRejectionException, A._JSSecureRandom, A.EncryptedPacket, A.E2EEDataPacketCryptor, A.FrameInfo, A.FrameCryptor, A.KeyOptions, A.KeyProvider, A.KeySet, A.ParticipantKeyHandler, A.SifGuard, A.Level, A.LogRecord, A.Logger]); _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JavaScriptBigInt, J.JavaScriptSymbol, J.JSNumber, J.JSString]); _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData]); _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction]); + _inherit(J.JSArraySafeToStringHook, A.SafeToStringHook); _inherit(J.JSUnmodifiableArray, J.JSArray); _inheritMany(J.JSNumber, [J.JSInt, J.JSNumNotInt]); - _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError]); + _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A.RuntimeError, A._Error, A.AssertionError, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError]); _inheritMany(A.Iterable, [A.EfficientLengthIterable, A.MappedIterable, A.WhereIterable, A._KeysOrValues]); _inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.LinkedHashMapKeysIterable, A._HashMapKeyIterable]); _inherit(A.EfficientLengthMappedIterable, A.MappedIterable); @@ -9425,12 +9794,12 @@ _inherit(A.UnmodifiableMapView, A._UnmodifiableMapView_MapView__UnmodifiableMapMixin); _inherit(A.ConstantMapView, A.UnmodifiableMapView); _inherit(A.ConstantStringMap, A.ConstantMap); - _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._SyncBroadcastStreamController__sendData_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A.Stream_length_closure, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.getTrackCryptor_closure, A.unsetCryptorParticipant_closure, A.main_closure, A.main_closure0, A.main_closure2, A.main__closure, A.main__closure0, A.main__closure1, A.main__closure2, A.main_closure1]); - _inheritMany(A.Closure2Args, [A.Primitives_functionNoSuchMethod_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future__propagateToListeners_handleWhenCompleteCallback_closure0, A.MapBase_mapToString_closure, A.NoSuchMethodError_toString_closure]); + _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._SyncBroadcastStreamController__sendData_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A.Stream_length_closure, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.getTrackCryptor_closure, A.getDataPacketCryptor_closure, A.unsetCryptorParticipant_closure, A.unsetDataPacketCryptorParticipant_closure, A.main_closure, A.main_closure0, A.main_closure2, A.main__closure, A.main__closure0, A.main__closure1, A.main__closure2, A.main__closure3, A.main__closure4, A.main_closure1]); + _inheritMany(A.Closure2Args, [A.Primitives_functionNoSuchMethod_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure0, A.MapBase_mapToString_closure, A.NoSuchMethodError_toString_closure]); _inherit(A.NullError, A.TypeError); _inheritMany(A.TearOffClosure, [A.StaticClosure, A.BoundClosure]); - _inherit(A._AssertionError, A.AssertionError); _inheritMany(A.MapBase, [A.JsLinkedHashMap, A._HashMap]); + _inherit(A.NativeArrayBuffer, A.NativeByteBuffer); _inheritMany(A.NativeTypedData, [A.NativeByteData, A.NativeTypedArray]); _inheritMany(A.NativeTypedArray, [A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin]); _inherit(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin); @@ -9440,7 +9809,7 @@ _inheritMany(A.NativeTypedArrayOfDouble, [A.NativeFloat32List, A.NativeFloat64List]); _inheritMany(A.NativeTypedArrayOfInt, [A.NativeInt16List, A.NativeInt32List, A.NativeInt8List, A.NativeUint16List, A.NativeUint32List, A.NativeUint8ClampedList, A.NativeUint8List]); _inherit(A._TypeError, A._Error); - _inheritMany(A.Closure0Args, [A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFuture_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A.Stream_length_closure0, A._PendingEvents_schedule_closure, A._rootHandleError_closure, A._RootZone_bindCallbackGuarded_closure, A.FrameCryptor_decodeFunction_decryptFrameInternal, A.FrameCryptor_decodeFunction_ratchedKeyInternal, A.Logger_Logger_closure]); + _inheritMany(A.Closure0Args, [A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainCoreFuture_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteErrorObject_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A.Stream_length_closure0, A._PendingEvents_schedule_closure, A._rootHandleError_closure, A._RootZone_bindCallbackGuarded_closure, A.E2EEDataPacketCryptor_decrypt_decryptFrameInternal, A.E2EEDataPacketCryptor_decrypt_ratchedKeyInternal, A.FrameCryptor_decodeFunction_decryptFrameInternal, A.FrameCryptor_decodeFunction_ratchedKeyInternal, A.Logger_Logger_closure]); _inherit(A._StreamImpl, A.Stream); _inherit(A._ControllerStream, A._StreamImpl); _inherit(A._BroadcastStream, A._ControllerStream); @@ -9454,7 +9823,7 @@ _inherit(A.Base64Codec, A.Codec); _inheritMany(A.Converter, [A.Base64Encoder, A.Base64Decoder]); _inheritMany(A.ArgumentError, [A.RangeError, A.IndexError]); - _inherit(A.CryptorError, A._Enum); + _inheritMany(A._Enum, [A.CryptorError, A.Algorithm]); _mixin(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, A.ListBase); _mixin(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin); _mixin(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin, A.ListBase); @@ -9462,38 +9831,44 @@ _mixin(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A._UnmodifiableMapMixin); })(); var init = { + G: typeof self != "undefined" ? self : globalThis, typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []}, - mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List", Object: "Object", Map: "Map"}, + mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List", Object: "Object", Map: "Map", JSObject: "JSObject"}, mangledNames: {}, - types: ["~()", "bool(FrameCryptor)", "Null(@)", "~(@)", "~(~())", "Null()", "~(Object,StackTrace)", "Null(Object,StackTrace)", "Object?(Object?)", "Future<~>(JSObject,JSObject)", "Future<~>()", "Null(JSObject)", "~(String,@)", "@(@)", "@(@,String)", "@(String)", "Null(~())", "Null(@,StackTrace)", "~(int,@)", "~(Object?,Object?)", "~(Symbol0,@)", "~(LogRecord)", "Future(JSObject)", "Logger()"], + types: ["~()", "bool(FrameCryptor)", "Future<~>()", "~(@)", "~(~())", "Null(@)", "Null()", "~(Object,StackTrace)", "Object?(Object?)", "Future<~>(JSObject,JSObject)", "bool(E2EEDataPacketCryptor)", "Null(JSObject)", "bool(Algorithm)", "~(String,@)", "@(@)", "@(@,String)", "@(String)", "Null(~())", "Null(@,StackTrace)", "~(int,@)", "Null(Object,StackTrace)", "~(Object?,Object?)", "~(Symbol0,@)", "~(LogRecord)", "Future(JSObject)", "Logger()"], interceptorsByTag: null, leafTags: null, arrayRti: Symbol("$ti") }; - A._Universe_addRules(init.typeUniverse, JSON.parse('{"JavaScriptFunction":"LegacyJavaScriptObject","PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JavaScriptObject":{"JSObject":[]},"LegacyJavaScriptObject":{"JSObject":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[]},"JSInt":{"double":[],"int":[],"num":[],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Pattern":[],"TrustedGetRuntimeType":[]},"_CopyingBytesBuilder":{"BytesBuilder":[]},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2","ListIterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"]},"LinkedHashMapKeysIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"NativeByteBuffer":{"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JSObject":[]},"_UnmodifiableNativeByteBufferView":{"ByteBuffer":[]},"NativeByteData":{"ByteData":[],"JSObject":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JSObject":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"Float32List":[],"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeFloat64List":{"Float64List":[],"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeInt16List":{"Int16List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt32List":{"Int32List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt8List":{"Int8List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint16List":{"Uint16List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint32List":{"Uint32List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8ClampedList":{"Uint8ClampedList":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8List":{"Uint8List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventDispatch":["1"]},"AsyncError":{"Error":[]},"_BroadcastStream":{"_ControllerStream":["1"],"_StreamImpl":["1"],"Stream":["1"]},"_BroadcastSubscription":{"_ControllerSubscription":["1"],"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventDispatch":["1"]},"_BroadcastStreamController":{"StreamController":["1"],"_StreamControllerLifecycle":["1"],"_EventDispatch":["1"]},"_SyncBroadcastStreamController":{"_BroadcastStreamController":["1"],"StreamController":["1"],"_StreamControllerLifecycle":["1"],"_EventDispatch":["1"]},"_AsyncCompleter":{"_Completer":["1"]},"_Future":{"Future":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"]},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventDispatch":["1"]},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DoneStreamSubscription":{"StreamSubscription":["1"]},"_Zone":{"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_HashMap":{"MapBase":["1","2"],"Map":["1","2"]},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"]},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"double":{"num":[]},"int":{"num":[]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Pattern":[]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]}}')); + A._Universe_addRules(init.typeUniverse, JSON.parse('{"JavaScriptFunction":"LegacyJavaScriptObject","PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","NativeSharedArrayBuffer":"NativeByteBuffer","JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JavaScriptObject":{"JSObject":[]},"LegacyJavaScriptObject":{"JSObject":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"]},"JSArraySafeToStringHook":{"SafeToStringHook":[]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[]},"JSInt":{"double":[],"int":[],"num":[],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Pattern":[],"TrustedGetRuntimeType":[]},"_CopyingBytesBuilder":{"BytesBuilder":[]},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2","ListIterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"RuntimeError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"]},"LinkedHashMapKeysIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"NativeArrayBuffer":{"NativeByteBuffer":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeByteBuffer":{"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JSObject":[]},"_UnmodifiableNativeByteBufferView":{"ByteBuffer":[]},"NativeByteData":{"ByteData":[],"JSObject":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JSObject":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"Float32List":[],"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeFloat64List":{"Float64List":[],"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeInt16List":{"Int16List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt32List":{"Int32List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt8List":{"Int8List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint16List":{"Uint16List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint32List":{"Uint32List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8ClampedList":{"Uint8ClampedList":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8List":{"Uint8List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventDispatch":["1"]},"AsyncError":{"Error":[]},"_BroadcastStream":{"_ControllerStream":["1"],"_StreamImpl":["1"],"Stream":["1"]},"_BroadcastSubscription":{"_ControllerSubscription":["1"],"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventDispatch":["1"]},"_BroadcastStreamController":{"StreamController":["1"],"_StreamControllerLifecycle":["1"],"_EventDispatch":["1"]},"_SyncBroadcastStreamController":{"_BroadcastStreamController":["1"],"StreamController":["1"],"_StreamControllerLifecycle":["1"],"_EventDispatch":["1"]},"_AsyncCompleter":{"_Completer":["1"]},"_Future":{"Future":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"]},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventDispatch":["1"]},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DoneStreamSubscription":{"StreamSubscription":["1"]},"_Zone":{"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_HashMap":{"MapBase":["1","2"],"Map":["1","2"]},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"]},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"double":{"num":[]},"int":{"num":[]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Pattern":[]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]}}')); A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"EfficientLengthIterable":1,"NativeTypedArray":1,"_DelayedEvent":1,"Converter":2}')); var string$ = { Cannot: "Cannot fire new event. Controller is already firing an event", Error_: "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type", - ___las: "]: lastError != CryptorError.kOk, reset state to kNew", - decode: "decodeFunction::decryptFrameInternal: decrypted: " + x5bdecod: "[decodeFunction] decryption failed even after ratchting", + x5bratch: "[ratchedKeyInternal] cannot ratchet anymore", + x5d__las: "]: lastError != CryptorError.kOk, reset state to kNew", + decodex20: "decodeFunction: decryption success, buffer length ", + decodex3ad: "decodeFunction::decryptFrameInternal: decrypted: ", + decodex3ar: "decodeFunction::decryptFrameInternal: ratchetKey: decryption ok, newState: kKeyRatcheted" }; var type$ = (function rtii() { var findType = A.findType; return { $env_1_1_void: findType("@<~>"), + Algorithm: findType("Algorithm"), AsyncError: findType("AsyncError"), Base64Codec: findType("Base64Codec"), ByteBuffer: findType("ByteBuffer"), ByteData: findType("ByteData"), ConstantMapView_Symbol_dynamic: findType("ConstantMapView"), + E2EEDataPacketCryptor: findType("E2EEDataPacketCryptor"), EfficientLengthIterable_dynamic: findType("EfficientLengthIterable<@>"), Error: findType("Error"), Float32List: findType("Float32List"), Float64List: findType("Float64List"), FrameCryptor: findType("FrameCryptor"), Function: findType("Function"), - Future_dynamic: findType("Future<@>"), Future_void_Function_JSObject_JSObject: findType("Future<~>(JSObject,JSObject)"), Int16List: findType("Int16List"), Int32List: findType("Int32List"), @@ -9501,7 +9876,6 @@ Invocation: findType("Invocation"), Iterable_dynamic: findType("Iterable<@>"), Iterable_int: findType("Iterable"), - Iterable_nullable_Object: findType("Iterable"), JSArray_String: findType("JSArray"), JSArray_dynamic: findType("JSArray<@>"), JSArray_int: findType("JSArray"), @@ -9518,8 +9892,7 @@ LogRecord: findType("LogRecord"), Logger: findType("Logger"), Map_dynamic_dynamic: findType("Map<@,@>"), - Map_of_nullable_Object_and_nullable_Object: findType("Map"), - NativeByteBuffer: findType("NativeByteBuffer"), + NativeArrayBuffer: findType("NativeArrayBuffer"), Null: findType("Null"), Object: findType("Object"), ParticipantKeyHandler: findType("ParticipantKeyHandler"), @@ -9546,15 +9919,18 @@ dynamic_Function_Object: findType("@(Object)"), dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"), int: findType("int"), - legacy_Never: findType("0&*"), - legacy_Object: findType("Object*"), + nullable_EncryptedPacket: findType("EncryptedPacket?"), nullable_Future_Null: findType("Future?"), + nullable_JSObject: findType("JSObject?"), nullable_KeySet: findType("KeySet?"), nullable_Object: findType("Object?"), - nullable_StreamController_LogRecord: findType("StreamController?"), nullable_String: findType("String?"), nullable_Uint8List: findType("Uint8List?"), nullable__FutureListener_dynamic_dynamic: findType("_FutureListener<@,@>?"), + nullable_bool: findType("bool?"), + nullable_double: findType("double?"), + nullable_int: findType("int?"), + nullable_num: findType("num?"), nullable_void_Function: findType("~()?"), num: findType("num"), void: findType("~"), @@ -9720,7 +10096,10 @@ B.Level_FINE_500 = new A.Level("FINE", 500); B.Level_INFO_800 = new A.Level("INFO", 800); B.Level_WARNING_900 = new A.Level("WARNING", 900); - B.List_empty = A._setArrayType(makeConstList([]), type$.JSArray_dynamic); + B.Algorithm_0 = new A.Algorithm("kAesGcm"); + B.Algorithm_1 = new A.Algorithm("kAesCbc"); + B.List_Algorithm_0_Algorithm_1 = makeConstList([B.Algorithm_0, B.Algorithm_1], A.findType("JSArray")); + B.List_empty = makeConstList([], type$.JSArray_dynamic); B.Object_empty = {}; B.Map_empty = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap")); B.Symbol_call = new A.Symbol("call"); @@ -9756,6 +10135,7 @@ $._isInCallbackLoop = false; $.Zone__current = B.C__RootZone; $.participantCryptors = A._setArrayType([], A.findType("JSArray")); + $.participantDataCryptors = A._setArrayType([], A.findType("JSArray")); $.keyProviders = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, A.findType("KeyProvider")); $.LogRecord__nextNumber = 0; $.Logger__loggers = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Logger); @@ -9765,6 +10145,7 @@ _lazy = hunkHelpers.lazy; _lazyFinal($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", () => A.getIsolateAffinityTag("_$dart_dartClosure")); _lazyFinal($, "_CopyingBytesBuilder__emptyList", "$get$_CopyingBytesBuilder__emptyList", () => A.NativeUint8List_NativeUint8List(0)); + _lazyFinal($, "_safeToStringHooks", "$get$_safeToStringHooks", () => A._setArrayType([new J.JSArraySafeToStringHook()], A.findType("JSArray"))); _lazyFinal($, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethodPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn({ toString: function() { return "$receiver$"; @@ -9844,8 +10225,8 @@ } init.dispatchPropertyName = init.getIsolateTag("dispatch_record"); }(); - hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer: A.NativeByteBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List}); - 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}); + hunkHelpers.setOrUpdateInterceptorsByTag({SharedArrayBuffer: A.NativeByteBuffer, ArrayBuffer: A.NativeArrayBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List}); + hunkHelpers.setOrUpdateLeafTags({SharedArrayBuffer: true, 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.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView"; A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; diff --git a/example/web/e2ee.worker.dart.js.deps b/example/web/e2ee.worker.dart.js.deps index 45a7692f9d..5e2d252edb 100644 --- a/example/web/e2ee.worker.dart.js.deps +++ b/example/web/e2ee.worker.dart.js.deps @@ -22,203 +22,228 @@ file:///Users/duan/.pub-cache/hosted/pub.dev/collection-1.19.1/lib/src/union_set file:///Users/duan/.pub-cache/hosted/pub.dev/collection-1.19.1/lib/src/unmodifiable_wrappers.dart file:///Users/duan/.pub-cache/hosted/pub.dev/collection-1.19.1/lib/src/utils.dart file:///Users/duan/.pub-cache/hosted/pub.dev/collection-1.19.1/lib/src/wrappers.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/js-0.7.1/lib/js.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/js-0.7.1/lib/js_util.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/js-0.7.2/lib/js.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/js-0.7.2/lib/js_util.dart file:///Users/duan/.pub-cache/hosted/pub.dev/logging-1.3.0/lib/logging.dart file:///Users/duan/.pub-cache/hosted/pub.dev/logging-1.3.0/lib/src/level.dart file:///Users/duan/.pub-cache/hosted/pub.dev/logging-1.3.0/lib/src/log_record.dart file:///Users/duan/.pub-cache/hosted/pub.dev/logging-1.3.0/lib/src/logger.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/accelerometer.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/angle_instanced_arrays.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/attribution_reporting_api.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/background_sync.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/battery_status.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/clipboard_apis.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/compression.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/console.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/cookie_store.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/credential_management.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/csp.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_animations.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_animations_2.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_cascade.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_cascade_6.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_conditional.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_conditional_5.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_contain.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_counter_styles.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_font_loading.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_fonts.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_highlight_api.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_masking.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_paint_api.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_properties_values_api.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_transitions.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_transitions_2.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_typed_om.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_view_transitions.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/css_view_transitions_2.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/cssom.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/cssom_view.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/digital_identities.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/dom.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/dom_parsing.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/encoding.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/encrypted_media.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/entries_api.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/event_timing.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/ext_blend_minmax.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/ext_color_buffer_float.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/ext_color_buffer_half_float.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/ext_disjoint_timer_query.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/ext_disjoint_timer_query_webgl2.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/ext_float_blend.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/ext_frag_depth.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/ext_shader_texture_lod.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/ext_srgb.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/ext_texture_compression_bptc.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/ext_texture_compression_rgtc.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/ext_texture_filter_anisotropic.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/ext_texture_norm16.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/fedcm.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/fetch.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/fido.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/fileapi.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/filter_effects.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/fs.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/fullscreen.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/gamepad.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/generic_sensor.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/geolocation.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/geometry.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/gyroscope.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/hr_time.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/html.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/image_capture.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/indexeddb.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/intersection_observer.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/khr_parallel_shader_compile.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/largest_contentful_paint.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/mathml_core.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/media_capabilities.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/media_playback_quality.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/media_source.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/mediacapture_fromelement.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/mediacapture_streams.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/mediacapture_transform.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/mediasession.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/mediastream_recording.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/mst_content_hint.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/navigation_timing.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/netinfo.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/notifications.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/oes_draw_buffers_indexed.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/oes_element_index_uint.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/oes_fbo_render_mipmap.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/oes_standard_derivatives.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/oes_texture_float.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/oes_texture_float_linear.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/oes_texture_half_float.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/oes_texture_half_float_linear.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/oes_vertex_array_object.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/orientation_event.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/orientation_sensor.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/ovr_multiview2.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/paint_timing.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/payment_request.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/performance_timeline.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/permissions.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/picture_in_picture.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/pointerevents.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/pointerlock.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/private_network_access.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/push_api.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/referrer_policy.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/remote_playback.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/reporting.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/requestidlecallback.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/resize_observer.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/resource_timing.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/saa_non_cookie_storage.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/sanitizer_api.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/scheduling_apis.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/screen_capture.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/screen_orientation.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/screen_wake_lock.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/secure_payment_confirmation.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/selection_api.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/server_timing.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/service_workers.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/speech_api.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/storage.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/streams.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/svg.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/svg_animations.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/touch_events.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/trust_token_api.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/trusted_types.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/uievents.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/url.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/user_timing.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/vibration.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/video_rvfc.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/wasm_js_api.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/web_animations.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/web_animations_2.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/web_bluetooth.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/web_locks.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/web_otp.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/web_share.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webaudio.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webauthn.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webcodecs.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webcodecs_av1_codec_registration.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webcodecs_avc_codec_registration.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webcodecs_hevc_codec_registration.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webcodecs_vp9_codec_registration.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webcryptoapi.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgl1.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgl2.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgl_color_buffer_float.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgl_compressed_texture_astc.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgl_compressed_texture_etc.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgl_compressed_texture_etc1.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgl_compressed_texture_pvrtc.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgl_compressed_texture_s3tc.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgl_compressed_texture_s3tc_srgb.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgl_debug_renderer_info.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgl_debug_shaders.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgl_depth_texture.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgl_draw_buffers.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgl_lose_context.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgl_multi_draw.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webgpu.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webidl.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webmidi.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webrtc.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webrtc_encoded_transform.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webrtc_identity.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webrtc_priority.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/websockets.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webtransport.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webvtt.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webxr.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/webxr_hand_input.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/dom/xhr.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/helpers.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/helpers/cross_origin.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/helpers/enums.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/helpers/events/events.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/helpers/events/providers.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/helpers/events/streams.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/helpers/extensions.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/helpers/http.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/helpers/lists.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/src/helpers/renames.dart -file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.0/lib/web.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/accelerometer.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/angle_instanced_arrays.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/attribution_reporting_api.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/background_sync.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/battery_status.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/clipboard_apis.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/compression.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/console.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/cookie_store.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/credential_management.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/csp.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_animations.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_animations_2.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_cascade.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_cascade_6.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_conditional.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_conditional_5.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_contain.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_counter_styles.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_font_loading.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_fonts.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_highlight_api.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_masking.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_paint_api.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_properties_values_api.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_transitions.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_transitions_2.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_typed_om.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_view_transitions.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/css_view_transitions_2.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/cssom.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/cssom_view.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/digital_identities.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/dom.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/dom_parsing.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/encoding.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/encrypted_media.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/entries_api.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/event_timing.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/ext_blend_minmax.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/ext_color_buffer_float.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/ext_color_buffer_half_float.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/ext_disjoint_timer_query.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/ext_disjoint_timer_query_webgl2.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/ext_float_blend.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/ext_frag_depth.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/ext_shader_texture_lod.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/ext_srgb.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/ext_texture_compression_bptc.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/ext_texture_compression_rgtc.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/ext_texture_filter_anisotropic.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/ext_texture_norm16.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/fedcm.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/fetch.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/fido.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/fileapi.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/filter_effects.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/fs.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/fullscreen.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/gamepad.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/generic_sensor.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/geolocation.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/geometry.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/gyroscope.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/hr_time.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/html.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/image_capture.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/indexeddb.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/intersection_observer.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/khr_parallel_shader_compile.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/largest_contentful_paint.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/mathml_core.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/media_capabilities.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/media_playback_quality.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/media_source.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/mediacapture_fromelement.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/mediacapture_streams.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/mediacapture_transform.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/mediasession.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/mediastream_recording.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/mst_content_hint.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/navigation_timing.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/netinfo.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/notifications.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/oes_draw_buffers_indexed.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/oes_element_index_uint.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/oes_fbo_render_mipmap.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/oes_standard_derivatives.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/oes_texture_float.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/oes_texture_float_linear.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/oes_texture_half_float.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/oes_texture_half_float_linear.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/oes_vertex_array_object.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/orientation_event.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/orientation_sensor.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/ovr_multiview2.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/paint_timing.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/payment_request.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/performance_timeline.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/permissions.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/picture_in_picture.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/pointerevents.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/pointerlock.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/private_network_access.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/push_api.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/referrer_policy.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/remote_playback.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/reporting.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/requestidlecallback.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/resize_observer.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/resource_timing.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/saa_non_cookie_storage.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/sanitizer_api.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/scheduling_apis.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/screen_capture.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/screen_orientation.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/screen_wake_lock.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/secure_payment_confirmation.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/selection_api.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/server_timing.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/service_workers.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/speech_api.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/storage.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/streams.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/svg.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/svg_animations.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/touch_events.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/trust_token_api.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/trusted_types.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/uievents.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/url.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/user_timing.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/vibration.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/video_rvfc.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/wasm_js_api.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/web_animations.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/web_animations_2.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/web_bluetooth.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/web_locks.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/web_otp.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/web_share.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webaudio.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webauthn.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webcodecs.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webcodecs_av1_codec_registration.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webcodecs_avc_codec_registration.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webcodecs_hevc_codec_registration.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webcodecs_vp9_codec_registration.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webcryptoapi.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgl1.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgl2.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgl_color_buffer_float.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgl_compressed_texture_astc.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgl_compressed_texture_etc.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgl_compressed_texture_etc1.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgl_compressed_texture_pvrtc.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgl_compressed_texture_s3tc.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgl_compressed_texture_s3tc_srgb.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgl_debug_renderer_info.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgl_debug_shaders.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgl_depth_texture.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgl_draw_buffers.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgl_lose_context.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgl_multi_draw.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webgpu.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webidl.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webmidi.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webrtc.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webrtc_encoded_transform.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webrtc_identity.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webrtc_priority.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/websockets.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webtransport.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webvtt.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webxr.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/webxr_hand_input.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/dom/xhr.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/helpers.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/helpers/cross_origin.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/helpers/enums.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/helpers/events/events.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/helpers/events/providers.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/helpers/events/streams.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/helpers/extensions.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/helpers/http.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/helpers/lists.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/src/helpers/renames.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/web-1.1.1/lib/web.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/data_packet_cryptor.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/enums.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/factory.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/frame_cryptor.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/media_recorder.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/media_stream.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/media_stream_track.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/mediadevices.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/navigator.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/rtc_data_channel.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/rtc_dtmf_sender.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/rtc_ice_candidate.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/rtc_peerconnection.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/rtc_rtcp_parameters.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/rtc_rtp_capabilities.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/rtc_rtp_parameters.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/rtc_rtp_receiver.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/rtc_rtp_sender.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/rtc_rtp_transceiver.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/rtc_session_description.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/rtc_stats_report.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/rtc_track_event.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/rtc_video_renderer.dart +file:///Users/duan/.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/webrtc_interface.dart file:///Users/duan/Desktop/dart-webrtc/.dart_tool/package_config.json -file:///Users/duan/Desktop/dart-webrtc/lib/src/e2ee.worker/e2ee.cryptor.dart +file:///Users/duan/Desktop/dart-webrtc/lib/src/e2ee.worker/e2ee.data_packet_cryptor.dart +file:///Users/duan/Desktop/dart-webrtc/lib/src/e2ee.worker/e2ee.frame_cryptor.dart file:///Users/duan/Desktop/dart-webrtc/lib/src/e2ee.worker/e2ee.keyhandler.dart file:///Users/duan/Desktop/dart-webrtc/lib/src/e2ee.worker/e2ee.logger.dart file:///Users/duan/Desktop/dart-webrtc/lib/src/e2ee.worker/e2ee.sfi_guard.dart diff --git a/example/web/e2ee.worker.dart.js.map b/example/web/e2ee.worker.dart.js.map index 8288579a95..ec89954587 100644 --- a/example/web/e2ee.worker.dart.js.map +++ b/example/web/e2ee.worker.dart.js.map @@ -3,14 +3,14 @@ "engine": "v2", "file": "e2ee.worker.dart.js", "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/_internal/js_shared/lib/date_time_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/linked_hash_map.dart","org-dartlang-sdk:///lib/core/errors.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/convert/base64.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_string.dart","org-dartlang-sdk:///lib/core/date_time.dart","org-dartlang-sdk:///lib/core/exceptions.dart","org-dartlang-sdk:///lib/core/iterable.dart","org-dartlang-sdk:///lib/core/object.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","../lib/src/e2ee.worker/e2ee.cryptor.dart","../lib/src/e2ee.worker/e2ee.keyhandler.dart","../lib/src/e2ee.worker/e2ee.worker.dart","../../../.pub-cache/hosted/pub.dev/logging-1.3.0/lib/src/logger.dart","../lib/src/e2ee.worker/e2ee.sfi_guard.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","../../../.pub-cache/hosted/pub.dev/collection-1.19.1/lib/src/iterable_extensions.dart","../lib/src/e2ee.worker/e2ee.utils.dart","org-dartlang-sdk:///lib/collection/list.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_number.dart","org-dartlang-sdk:///lib/internal/bytes_builder.dart","org-dartlang-sdk:///lib/typed_data/typed_data.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/internal_patch.dart","org-dartlang-sdk:///lib/internal/symbol.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/constant_map.dart","org-dartlang-sdk:///lib/async/broadcast_stream_controller.dart","org-dartlang-sdk:///lib/core/enum.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_runtime/lib/math_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_unsafe_patch.dart","org-dartlang-sdk:///lib/convert/codec.dart","../../../.pub-cache/hosted/pub.dev/logging-1.3.0/lib/src/level.dart","../../../.pub-cache/hosted/pub.dev/logging-1.3.0/lib/src/log_record.dart","../lib/src/e2ee.worker/e2ee.logger.dart","org-dartlang-sdk:///lib/async/future.dart","org-dartlang-sdk:///lib/core/print.dart"], - "names": ["makeDispatchRecord","getNativeInterceptor","lookupInterceptorByConstructor","JS_INTEROP_INTERCEPTOR_TAG","cacheInterceptorOnConstructor","JSArray.fixed","JSArray.markFixed","SystemHash.combine","SystemHash.finish","checkNotNullable","isToStringVisiting","MappedIterable","unminifyOrTag","isJsIndexable","S","Primitives.objectHashCode","Primitives.objectTypeName","Primitives._objectTypeNameNewRti","Primitives.safeToString","Primitives.stringSafeToString","Primitives.stringFromNativeUint8List","Primitives.lazyAsJsDate","Primitives.getYear","Primitives.getMonth","Primitives.getDay","Primitives.getHours","Primitives.getMinutes","Primitives.getSeconds","Primitives.getMilliseconds","Primitives.functionNoSuchMethod","createUnmangledInvocationMirror","Primitives.applyFunction","Primitives._generalApplyFunction","JsLinkedHashMap.isNotEmpty","Primitives.extractStackTrace","Primitives.trySetStackTrace","iae","ioore","diagnoseIndexError","diagnoseRangeError","argumentErrorValue","wrapException","initializeExceptionWrapper","toStringWrapper","throwExpression","throwExpressionWithWrapper","throwUnsupportedOperation","_diagnoseUnsupportedOperation","throwConcurrentModificationError","TypeErrorDecoder.extractPattern","TypeErrorDecoder.provokeCallErrorOn","TypeErrorDecoder.provokePropertyErrorOn","JsNoSuchMethodError","unwrapException","saveStackTrace","_unwrapNonDartException","getTraceFromException","objectHashCode","fillLiteralMap","_invokeClosure","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","boolConversionCheck","assertThrow","throwCyclicInit","getIsolateAffinityTag","defineProperty","lookupAndCacheInterceptor","setDispatchProperty","patchInstance","lookupInterceptor","patchProto","patchInteriorProto","makeLeafDispatchRecord","makeDefaultDispatchRecord","initNativeDispatch","initNativeDispatchContinue","initHooks","applyHooksTransformer","createRecordTypePredicate","quoteStringForRegExp","NativeByteData","_ensureNativeList","NativeUint8List","NativeUint8List.view","_checkValidIndex","_checkValidRange","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._chainCoreFuture","_Future._propagateToListeners","_registerErrorHandler","_microtaskLoop","_startMicrotaskLoop","_scheduleAsyncCallback","_schedulePriorityAsyncCallback","scheduleMicrotask","StreamIterator","_runGuarded","_BufferingStreamSubscription._registerErrorHandler","_nullErrorHandler","_nullDoneHandler","_rootHandleError","_rootRun","_rootRunUnary","_rootRunBinary","_rootScheduleMicrotask","_HashMap._getTableEntry","_HashMap._setTableEntry","_HashMap._newHashTable","LinkedHashMap._literal","LinkedHashMap._empty","MapBase.mapToString","_Base64Encoder.encodeChunk","_Base64Decoder.decodeChunk","_Base64Decoder._allocateBuffer","_Base64Decoder._trimPaddingChars","_Base64Decoder._checkPadding","Error._throw","List.filled","List.of","List._of","List._ofArray","JSArray.markGrowable","String.fromCharCodes","String._stringFromUint8List","StringBuffer._writeAll","NoSuchMethodError.withInvocation","StackTrace.current","DateTime._fourDigits","DateTime._threeDigits","DateTime._twoDigits","Error.safeToString","Error.throwWithStackTrace","AssertionError","ArgumentError","ArgumentError.value","RangeError.value","RangeError.range","RangeError.checkValidRange","RangeError.checkNotNegative","IndexError.withLength","UnsupportedError","UnimplementedError","StateError","ConcurrentModificationError","Exception","FormatException","Iterable.iterableToShortString","Iterable.iterableToFullString","_iterablePartsToStrings","Object.hash","_convertDartFunctionFast","_callDartFunctionFast","allowInterop","_functionToJS1","_callDartFunctionFast1","_noJsifyRequired","jsify","callMethod","promiseToFuture","_Completer.future","Completer","_noDartifyRequired","dartify","findNALUIndices","ParticipantKeyHandler","getTrackCryptor","FrameCryptor","FrameCryptor.sifGuard","FrameCryptor.setParticipant","unsetCryptorParticipant","main","Logger","printString","throwLateFieldNI","throwLateFieldADI","IterableExtension.firstWhereOrNull","getAlgoOptions","Interceptor.hashCode","Interceptor.==","Interceptor.toString","Interceptor.noSuchMethod","Interceptor.runtimeType","JSBool.toString","JSBool.hashCode","JSBool.runtimeType","JSNull.==","JSNull.toString","JSNull.hashCode","LegacyJavaScriptObject.toString","LegacyJavaScriptObject.hashCode","LegacyJavaScriptObject.runtimeType","JavaScriptFunction.toString","JavaScriptBigInt.toString","JavaScriptBigInt.hashCode","JavaScriptSymbol.toString","JavaScriptSymbol.hashCode","JSArray.add","JSArray.addAll","JSArray._addAllFromArray","JSArray.map","JSArray.elementAt","JSArray.toString","JSArray.iterator","JSArray.hashCode","JSArray.length","JSArray.[]","JSArray.[]=","JSArray.runtimeType","getRuntimeTypeOfArray","ArrayIterator.current","ArrayIterator.moveNext","ArrayIterator._current","JSNumber.toInt","JSNumber.truncateToDouble","JSNumber.toRadixString","JSNumber.toString","JSNumber.hashCode","JSNumber.%","JSNumber._tdivFast","JSNumber._tdivSlow","JSNumber._shrOtherPositive","JSNumber._shrBothPositive","JSNumber.runtimeType","JSInt.runtimeType","JSNumNotInt.runtimeType","JSString.endsWith","JSString.startsWith","JSString.substring","JSString.substring[function-entry$1]","JSString.*","JSString.lastIndexOf","JSString.toString","JSString.hashCode","JSString.runtimeType","JSString.length","JSString.[]","_CopyingBytesBuilder.add","_CopyingBytesBuilder._grow","_CopyingBytesBuilder.toBytes","NativeUint8List.fromList","_CopyingBytesBuilder.length","LateError.toString","ListIterable.iterator","ListIterable.map","ListIterator.current","ListIterator.moveNext","ListIterator._current","MappedIterable.iterator","MappedIterable.length","MappedIterator.moveNext","MappedIterator.current","MappedIterator._current","MappedListIterable.length","MappedListIterable.elementAt","WhereIterable.iterator","WhereIterable.map","WhereIterator.moveNext","WhereIterator.current","Symbol.hashCode","Symbol.toString","Symbol.==","ConstantMap.toString","ConstantStringMap.length","ConstantStringMap._keys","ConstantStringMap.containsKey","ConstantStringMap.[]","ConstantStringMap.forEach","ConstantStringMap.keys","_KeysOrValues.length","_KeysOrValues.iterator","_KeysOrValuesOrElementsIterator.current","_KeysOrValuesOrElementsIterator.moveNext","_KeysOrValuesOrElementsIterator._current","JSInvocationMirror.memberName","JSInvocationMirror.positionalArguments","JSInvocationMirror.namedArguments","Primitives.functionNoSuchMethod.","TypeErrorDecoder.matchTypeError","NullError.toString","JsNoSuchMethodError.toString","UnknownJsTypeError.toString","NullThrownFromJavaScriptException.toString","_StackTrace.toString","Closure.toString","StaticClosure.toString","BoundClosure.==","BoundClosure.hashCode","BoundClosure.toString","_CyclicInitializationError.toString","RuntimeError.toString","_AssertionError.toString","JsLinkedHashMap.keys","JsLinkedHashMap.length","JsLinkedHashMap.containsKey","JsLinkedHashMap._containsTableEntry","JsLinkedHashMap.[]","JsLinkedHashMap.internalGet","JsLinkedHashMap._getBucket","JsLinkedHashMap.[]=","JsLinkedHashMap.internalSet","JsLinkedHashMap.putIfAbsent","JsLinkedHashMap.remove","JsLinkedHashMap.forEach","JsLinkedHashMap._addHashTableEntry","JsLinkedHashMap._removeHashTableEntry","JsLinkedHashMap._modified","JsLinkedHashMap._newLinkedCell","JsLinkedHashMap._unlinkCell","JsLinkedHashMap.internalComputeHashCode","JsLinkedHashMap.internalFindBucketIndex","JsLinkedHashMap.toString","JsLinkedHashMap._newHashTable","LinkedHashMapKeysIterable.length","LinkedHashMapKeysIterable.iterator","LinkedHashMapKeyIterator.current","LinkedHashMapKeyIterator.moveNext","LinkedHashMapKeyIterator._current","initHooks.","NativeByteBuffer.runtimeType","NativeByteBuffer.asUint8List","NativeByteBuffer.asUint8List[function-entry$0]","NativeTypedData.buffer","NativeTypedData._invalidPosition","NativeTypedData._checkPosition","_UnmodifiableNativeByteBufferView.asUint8List","_UnmodifiableNativeByteBufferView.asUint8List[function-entry$0]","NativeByteData.runtimeType","NativeByteData._setInt8","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeTypedArrayOfInt.setRange","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.[]","NativeUint8List.sublist","NativeUint8List.sublist[function-entry$1]","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","_BroadcastSubscription._next","_BroadcastSubscription._previous","_BroadcastStreamController._mayAddEvent","_BroadcastStreamController._subscribe","_DoneStreamSubscription","_BufferingStreamSubscription","_BufferingStreamSubscription._registerDataHandler","_BufferingStreamSubscription.zoned","_BufferingStreamSubscription._registerDoneHandler","_BroadcastSubscription","_BroadcastStreamController._addEventError","_BroadcastStreamController._forEachListener","_BroadcastStreamController._callOnCancel","_BroadcastStreamController._firstSubscription","_BroadcastStreamController._lastSubscription","_SyncBroadcastStreamController._mayAddEvent","_SyncBroadcastStreamController._addEventError","_SyncBroadcastStreamController._sendData","_SyncBroadcastStreamController._sendData.","_SyncBroadcastStreamController__sendData_closure","_Completer.completeError","_Completer.completeError[function-entry$1]","_AsyncCompleter.complete","_FutureListener.matchesErrorTest","_FutureListener._errorTest","_FutureListener.handleError","_Future.then","_Future._thenAwait","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._completeWithValue","_Future._completeWithResultOf","_Future._completeError","_Future._setError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.","_Future._prependListeners.","_Future._chainForeignFuture.","_Future._chainCoreFuture.","_Future._asyncCompleteWithValue.","_Future._asyncCompleteError.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_FutureListener._whenCompleteAction","_Future._newFutureWithSameType","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_FutureListener._onValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","Stream.length","Stream.length.","Stream_length_closure","_Future._complete","_ControllerStream.hashCode","_ControllerStream.==","_ControllerSubscription._onPause","_ControllerSubscription._onResume","_BufferingStreamSubscription._add","_BufferingStreamSubscription._onPause","_BufferingStreamSubscription._onResume","_BufferingStreamSubscription._addPending","_BufferingStreamSubscription._sendData","_BufferingStreamSubscription._checkState","_BufferingStreamSubscription._mayResumeInput","_BufferingStreamSubscription._pending","_StreamImpl.listen","_StreamImpl.listen[function-entry$1]","_PendingEvents.schedule","_PendingEvents.schedule.","_PendingEvents.handleNext","_DoneStreamSubscription._onMicrotask","_DoneStreamSubscription._onDone","_rootHandleError.","_RootZone.runGuarded","_RootZone.runUnaryGuarded","_RootZone.bindCallbackGuarded","_RootZone.[]","_RootZone.run","_RootZone.runUnary","_RootZone.runBinary","_RootZone.registerBinaryCallback","_RootZone.bindCallbackGuarded.","_HashMap.keys","_HashMap.length","_HashMap.containsKey","_HashMap._containsKey","_HashMap.[]","_HashMap._get","_HashMap.[]=","_IdentityHashMap._computeHashCode","_HashMap.forEach","_HashMap._computeKeys","_HashMap._addHashTableEntry","_HashMap._getBucket","_IdentityHashMap._findBucketIndex","_HashMapKeyIterable.length","_HashMapKeyIterable.iterator","_HashMapKeyIterator.current","_HashMapKeyIterator.moveNext","_HashMapKeyIterator._current","ListBase.iterator","ListBase.elementAt","ListBase.map","ListBase.toString","MapBase.forEach","MapBase.length","MapBase.toString","MapBase.mapToString.","StringBuffer.write","MapView.[]","MapView.forEach","MapView.length","MapView.keys","MapView.toString","Base64Encoder.convert","_Base64Encoder.encode","Base64Decoder.convert","_Base64Decoder.decode","NoSuchMethodError.toString.","_symbolToString","DateTime.==","DateTime.hashCode","DateTime.toString","_Enum.toString","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","NoSuchMethodError.toString","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","OutOfMemoryError.toString","OutOfMemoryError.stackTrace","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","FormatException.toString","Iterable.map","Iterable.length","Iterable.elementAt","Iterable.toString","Null.hashCode","Null.toString","Object.hashCode","Object.==","Object.toString","Object.noSuchMethod","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","jsify._convert","promiseToFuture.","dartify.convert","DateTime._withValueChecked","_dateToDateTime","NullRejectionException.toString","_JSSecureRandom","_JSSecureRandom.nextInt","NativeByteData.setUint32","CryptorError._enumToString","FrameCryptor.enabled","FrameCryptor.setupTransform","FrameCryptor.setupTransform[function-entry$0$kind$operation$readable$trackId$writable]","FrameCryptor.postMessage","FrameCryptor.getUnencryptedBytes","FrameCryptor.readFrameInfo","FrameCryptor.enqueueFrame","FrameCryptor.encodeFunction","FrameCryptor.makeIv","NativeByteData.setInt8","BytesBuilder","FrameCryptor.decodeFunction","DateTime._now","DateTime.now","ParticipantKeyHandler.decryptionSuccess","FrameCryptor.decodeFunction.decryptFrameInternal","FrameCryptor.decodeFunction.ratchedKeyInternal","KeyOptions.toString","KeyProvider.getParticipantKeyHandler","ListBase.isNotEmpty","KeyProvider.getSharedKeyHandler","ParticipantKeyHandler.decryptionFailure","ParticipantKeyHandler.exportKey","ParticipantKeyHandler.ratchetKey","ParticipantKeyHandler.ratchetMaterial","ParticipantKeyHandler.getKeySet","ParticipantKeyHandler.setKey","ParticipantKeyHandler.setKey[function-entry$1]","ParticipantKeyHandler.setKeySetFromMaterial","ParticipantKeyHandler.deriveKeys","ParticipantKeyHandler.ratchet","ParticipantKeyHandler._#ParticipantKeyHandler#cryptoKeyRing#A","SifGuard.recordUserFrame","SifGuard.reset","getTrackCryptor.","unsetCryptorParticipant.","main.","print","base64Decode","Base64Codec.decode","KeyProvider","JSArray.where","FrameCryptor.setEnabled","KeyProvider.setSharedKey","base64Encode","Codec.encode","FrameCryptor.setKeyIndex","FrameCryptor.setSifTrailer","FrameCryptor.updateCodec","main..","Level.==","Level.hashCode","Level.toString","LogRecord.toString","Logger.fullName","JSString.isNotEmpty","Logger.level","Logger.log","Logger.isLoggable","Logger._getStream","StreamController.broadcast","_BroadcastStreamController.stream","Logger._publish","Logger._controller","Logger.","Logger._named","Logger._internal","DART_CLOSURE_PROPERTY_NAME","_CopyingBytesBuilder._emptyList","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","_Base64Decoder._inverseAlphabet","NativeInt8List.fromList","_Base64Decoder._emptyBuffer","_hashSeed","Random._secureRandom","logger","Logger.root","","ArrayIterator","AsyncError","Base64Codec","Base64Decoder","Base64Encoder","BoundClosure","ByteBuffer","ByteData","Closure","Closure0Args","Closure2Args","Codec","ConstantMap","ConstantMapView","ConstantStringMap","Converter","CryptorError","DateTime","EfficientLengthIterable","EfficientLengthMappedIterable","Error","ExceptionAndStackTrace","FixedLengthListMixin","Float32List","Float64List","FrameCryptor_decodeFunction_decryptFrameInternal","FrameCryptor_decodeFunction_ratchedKeyInternal","FrameInfo","Function","Future","IndexError","Int16List","Int32List","Int8List","Interceptor","Invocation","Iterable","IterableExtension|firstWhereOrNull","Iterator","JSArray","JSBool","JSInt","JSInvocationMirror","JSNull","JSNumNotInt","JSNumber","JSObject","JSString","JSUnmodifiableArray","JS_CONST","JavaScriptBigInt","JavaScriptFunction","JavaScriptIndexingBehavior","JavaScriptObject","JavaScriptSymbol","JsLinkedHashMap","KeyOptions","KeySet","LateError","LegacyJavaScriptObject","Level","LinkedHashMap","LinkedHashMapCell","LinkedHashMapKeyIterator","LinkedHashMapKeysIterable","List","ListBase","ListIterable","ListIterator","LogRecord","Logger_Logger_closure","Map","MapBase","MapBase_mapToString_closure","MapView","MappedIterator","MappedListIterable","NativeByteBuffer","NativeFloat32List","NativeFloat64List","NativeInt16List","NativeInt32List","NativeInt8List","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeTypedData","NativeUint16List","NativeUint32List","NativeUint8ClampedList","NoSuchMethodError","NoSuchMethodError_toString_closure","Null","NullError","NullRejectionException","NullThrownFromJavaScriptException","Object","OutOfMemoryError","Pattern","PlainJavaScriptObject","Primitives_functionNoSuchMethod_closure","RangeError","Record","Rti","RuntimeError","SentinelValue","SifGuard","StackOverflowError","StackTrace","StaticClosure","Stream","StreamController","StreamSubscription","String","StringBuffer","Symbol","TearOffClosure","TrustedGetRuntimeType","TypeError","TypeErrorDecoder","Uint16List","Uint32List","Uint8ClampedList","Uint8List","UnknownJavaScriptObject","UnknownJsTypeError","UnmodifiableMapView","WhereIterable","WhereIterator","Zone","_AddStreamState","_AssertionError","_AsyncAwaitCompleter","_AsyncCallbackEntry","_AsyncCompleter","_AsyncRun__initializeScheduleImmediate_closure","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_Base64Decoder","_Base64Encoder","_BroadcastStream","_BroadcastStreamController","_Completer","_ControllerStream","_ControllerSubscription","_CopyingBytesBuilder","_CyclicInitializationError","_DelayedData","_DelayedEvent","_Enum","_Error","_EventDispatch","_Exception","_FunctionParameters","_Future","_FutureListener","_Future__addListener_closure","_Future__asyncCompleteError_closure","_Future__asyncCompleteWithValue_closure","_Future__chainCoreFuture_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","_KeysOrValues","_KeysOrValuesOrElementsIterator","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_PendingEvents","_PendingEvents_schedule_closure","_Required","_RootZone","_RootZone_bindCallbackGuarded_closure","_StackTrace","_StreamControllerLifecycle","_StreamImpl","_StreamIterator","_StringStackTrace","_SyncBroadcastStreamController","_TimerImpl_internalCallback","_TypeError","_UnmodifiableMapMixin","_UnmodifiableMapView&MapView&_UnmodifiableMapMixin","_UnmodifiableNativeByteBufferView","_Zone","_allocateBuffer","_awaitOnObject_closure","_canonicalRecipeJoin","_canonicalRecipeJoinNamed","_chainCoreFuture","_checkPadding","_computeFieldNamed","_computeSignatureFunctionNewRti","_createFutureOrRti","_createGenericFunctionRti","_createQuestionRti","_createStarRti","_current","_empty","_emptyBuffer","_emptyList","_fourDigits","_generalApplyFunction","_getCanonicalRecipe","_getFutureFromFutureOr","_getQuestionFromStar","_getTableEntry","_identityHashCodeProperty","_initializeScheduleImmediate","_installTypeTests","_interceptorFieldNameCache","_inverseAlphabet","_isInCallbackLoop","_isUnionOfFunctionType","_lastCallback","_lastPriorityCallback","_literal","_loggers","_lookupBindingRti","_lookupFunctionRti","_lookupFutureOrRti","_lookupGenericFunctionParameterRti","_lookupGenericFunctionRti","_lookupInterfaceRti","_lookupQuestionRti","_lookupRecordRti","_lookupStarRti","_lookupTerminalRti","_newHashTable","_nextCallback","_nextNumber","_objectTypeNameNewRti","_of","_propagateToListeners","_receiverFieldNameCache","_rootHandleError_closure","_scheduleImmediateClosure","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_secureRandom","_setTableEntry","_stringFromUint8List","_threeDigits","_throw","_trimPaddingChars","_twoDigits","_wrapJsFunctionForAsync_closure","_writeAll","addErasedTypes","addRules","alternateTagFunction","applyFunction","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","async___nullDoneHandler$closure","async___nullErrorHandler$closure","async___startMicrotaskLoop$closure","bind","bool","checkNotNegative","checkValidRange","collectArray","combine","compose","create","cspForwardCall","cspForwardInterceptedCall","current","dartify_convert","decodeChunk","defaultStackTrace","dispatchRecordsForInstanceTags","double","encodeChunk","eval","evalInEnvironment","evalRecipe","extractPattern","extractStackTrace","filled","findErasedType","findRule","finish","fixed","forType","forwardCallTo","forwardInterceptedCallTo","fromCharCodes","fromMessage","fromTearOff","functionNoSuchMethod","getDay","getHours","getInterceptor$","getInterceptor$asx","getInterceptor$ax","getInterceptor$x","getMilliseconds","getMinutes","getMonth","getSeconds","getTagFunction","getTrackCryptor_closure","getYear","handleArguments","handleDigit","handleExtendedOperations","handleIdentifier","handleTypeArguments","hash","indexToType","initHooks_closure","initNativeDispatchFlag","int","interceptorOf","interceptorsForUncacheableTags","iterableToFullString","iterableToShortString","jsify__convert","keyProviders","lazyAsJsDate","main__closure","main_closure","mapToString","markFixed","newArrayOrEmpty","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","nullLiteralPropertyPattern","nullPropertyPattern","num","objectAssign","objectTypeName","of","parse","participantCryptors","promiseToFuture_closure","prototypeForTagFunction","provokeCallErrorOn","provokePropertyErrorOn","range","receiverOf","root","safeToString","stringFromNativeUint8List","throwWithStackTrace","toStringVisiting","toType","toTypes","toTypesNamed","trySetStackTrace","undefinedCallPattern","undefinedLiteralCallPattern","undefinedLiteralPropertyPattern","undefinedPropertyPattern","unsetCryptorParticipant_closure","value","view","withInvocation","withLength","$add","$and","$div","$eq","$ge","$gt","$index","$indexSet","$le","$lt","$mod","$mul","$negate","$or","$shl","$shr","$sub","$tdiv","$xor","%","*","==","[]","[]=","_addEventError","_captured_T_1","_captured__convertedObjects_0","_captured_arguments_2","_captured_bodyFunction_0","_captured_completer_0","_captured_data_1","_captured_decryptFrameInternal_3","_captured_dispatch_1","_captured_div_1","_captured_e_1","_captured_f_1","_captured_getTag_0","_captured_getUnknownTag_0","_captured_handleMessage_0","_captured_hasError_2","_captured_headerLength_5","_captured_ivLength_6","_captured_iv_3","_captured_joinedResult_0","_captured_namedArgumentList_1","_captured_originalSource_1","_captured_protected_0","_captured_prototypeForTag_0","_captured_s_2","_captured_sb_1","_captured_sourceResult_1","_captured_span_2","_captured_srcFrame_4","_captured_target_1","_captured_this_0","abs","add","addAll","argumentCount","asUint8List","bindCallback","bindCallbackGuarded","buffer","call","callback","ceilToDouble","checkGrowable","children","close","code","codeUnitAt","codec","comma","complete","completeError","config","consecutiveSifCount","contains","containsKey","convert","count","createBuffer","cryptoKeyRing","currentKeyIndex","currentkeySet","dart:_interceptors#_addAllFromArray","dart:_interceptors#_codeUnitAt","dart:_interceptors#_current=","dart:_interceptors#_index","dart:_interceptors#_isInt32","dart:_interceptors#_iterable","dart:_interceptors#_length","dart:_interceptors#_shlPositive","dart:_interceptors#_shrBothPositive","dart:_interceptors#_shrOtherPositive","dart:_interceptors#_shrReceiverPositive","dart:_interceptors#_tdivFast","dart:_interceptors#_tdivSlow","dart:_interceptors#_toListFixed","dart:_interceptors#_toListGrowable","dart:_internal#_buffer","dart:_internal#_current=","dart:_internal#_f","dart:_internal#_grow","dart:_internal#_index","dart:_internal#_iterable","dart:_internal#_iterator","dart:_internal#_length","dart:_internal#_message","dart:_internal#_name","dart:_internal#_source","dart:_js_helper#_addHashTableEntry","dart:_js_helper#_arguments","dart:_js_helper#_argumentsExpr","dart:_js_helper#_box_0","dart:_js_helper#_captured_arguments_2","dart:_js_helper#_captured_getTag_0","dart:_js_helper#_captured_getUnknownTag_0","dart:_js_helper#_captured_namedArgumentList_1","dart:_js_helper#_captured_prototypeForTag_0","dart:_js_helper#_cell","dart:_js_helper#_containsTableEntry","dart:_js_helper#_current=","dart:_js_helper#_deleteTableEntry","dart:_js_helper#_elements","dart:_js_helper#_exception","dart:_js_helper#_expr","dart:_js_helper#_first","dart:_js_helper#_getBucket","dart:_js_helper#_getTableBucket","dart:_js_helper#_getTableCell","dart:_js_helper#_index","dart:_js_helper#_interceptor","dart:_js_helper#_internalName","dart:_js_helper#_irritant","dart:_js_helper#_jsIndex","dart:_js_helper#_keys","dart:_js_helper#_kind","dart:_js_helper#_last","dart:_js_helper#_length","dart:_js_helper#_map","dart:_js_helper#_memberName","dart:_js_helper#_message","dart:_js_helper#_method","dart:_js_helper#_modifications","dart:_js_helper#_modified","dart:_js_helper#_name","dart:_js_helper#_namedArgumentNames","dart:_js_helper#_newHashTable","dart:_js_helper#_newLinkedCell","dart:_js_helper#_next","dart:_js_helper#_nums","dart:_js_helper#_pattern","dart:_js_helper#_previous","dart:_js_helper#_receiver","dart:_js_helper#_removeHashTableEntry","dart:_js_helper#_rest","dart:_js_helper#_setKeys","dart:_js_helper#_setTableEntry","dart:_js_helper#_strings","dart:_js_helper#_target","dart:_js_helper#_trace","dart:_js_helper#_typeArgumentCount","dart:_js_helper#_unlinkCell","dart:_js_helper#_values","dart:_native_typed_data#_checkMutable","dart:_native_typed_data#_checkPosition","dart:_native_typed_data#_data","dart:_native_typed_data#_getUint32","dart:_native_typed_data#_invalidPosition","dart:_native_typed_data#_isUnmodifiable","dart:_native_typed_data#_nativeBuffer","dart:_native_typed_data#_setInt8","dart:_native_typed_data#_setRangeFast","dart:_native_typed_data#_setUint32","dart:_rti#_as","dart:_rti#_bind","dart:_rti#_bindCache","dart:_rti#_cachedRuntimeType","dart:_rti#_canonicalRecipe","dart:_rti#_dynamicCheckData","dart:_rti#_eval","dart:_rti#_evalCache","dart:_rti#_is","dart:_rti#_isSubtypeCache","dart:_rti#_kind","dart:_rti#_message","dart:_rti#_named","dart:_rti#_optionalPositional","dart:_rti#_precomputed1","dart:_rti#_primary","dart:_rti#_requiredPositional","dart:_rti#_rest","dart:_rti#_rti","dart:_rti#_specializedTestResource","dart:async#_add","dart:async#_addEventError","dart:async#_addListener","dart:async#_addPending","dart:async#_addStreamState","dart:async#_asyncComplete","dart:async#_asyncCompleteError","dart:async#_asyncCompleteWithValue","dart:async#_box_0","dart:async#_box_1","dart:async#_callOnCancel","dart:async#_canFire","dart:async#_cancelFuture","dart:async#_captured_bodyFunction_0","dart:async#_captured_callback_0","dart:async#_captured_callback_1","dart:async#_captured_data_1","dart:async#_captured_dispatch_1","dart:async#_captured_div_1","dart:async#_captured_e_1","dart:async#_captured_error_0","dart:async#_captured_error_1","dart:async#_captured_f_1","dart:async#_captured_future_1","dart:async#_captured_hasError_2","dart:async#_captured_joinedResult_0","dart:async#_captured_listener_1","dart:async#_captured_originalSource_1","dart:async#_captured_protected_0","dart:async#_captured_s_2","dart:async#_captured_sourceResult_1","dart:async#_captured_span_2","dart:async#_captured_stackTrace_1","dart:async#_captured_stackTrace_2","dart:async#_captured_target_1","dart:async#_captured_this_0","dart:async#_captured_this_1","dart:async#_captured_value_1","dart:async#_chainForeignFuture","dart:async#_chainFuture","dart:async#_chainSource","dart:async#_checkState","dart:async#_clearPendingComplete","dart:async#_cloneResult","dart:async#_complete","dart:async#_completeError","dart:async#_completeWithResultOf","dart:async#_completeWithValue","dart:async#_controller","dart:async#_createSubscription","dart:async#_doneFuture","dart:async#_error","dart:async#_errorTest","dart:async#_eventScheduled","dart:async#_eventState","dart:async#_expectsEvent","dart:async#_firstSubscription=","dart:async#_forEachListener","dart:async#_future","dart:async#_handle","dart:async#_hasError","dart:async#_hasOneListener","dart:async#_hasPending","dart:async#_hasValue","dart:async#_ignoreError","dart:async#_isCanceled","dart:async#_isChained","dart:async#_isComplete","dart:async#_isEmpty","dart:async#_isFiring","dart:async#_isInputPaused","dart:async#_isPaused","dart:async#_lastSubscription","dart:async#_mayAddEvent","dart:async#_mayAddListener","dart:async#_mayComplete","dart:async#_mayResumeInput","dart:async#_newFutureWithSameType","dart:async#_next=","dart:async#_nextListener","dart:async#_onData","dart:async#_onDone=","dart:async#_onError","dart:async#_onListen","dart:async#_onMicrotask","dart:async#_onPause","dart:async#_onResume","dart:async#_onValue","dart:async#_once","dart:async#_pending","dart:async#_prependListeners","dart:async#_previous=","dart:async#_recordPause","dart:async#_recordResume","dart:async#_removeAfterFiring","dart:async#_removeListener","dart:async#_removeListeners","dart:async#_resultOrListeners","dart:async#_reverseListeners","dart:async#_scheduleMicrotask","dart:async#_sendData","dart:async#_setChained","dart:async#_setError","dart:async#_setErrorObject","dart:async#_setPendingComplete","dart:async#_setValue","dart:async#_state","dart:async#_stateData","dart:async#_subscribe","dart:async#_subscription","dart:async#_thenAwait","dart:async#_tick","dart:async#_toggleEventId","dart:async#_whenCompleteAction","dart:async#_zone","dart:collection#_addHashTableEntry","dart:collection#_box_0","dart:collection#_captured_result_1","dart:collection#_computeHashCode","dart:collection#_computeKeys","dart:collection#_containsKey","dart:collection#_current=","dart:collection#_findBucketIndex","dart:collection#_get","dart:collection#_getBucket","dart:collection#_keys","dart:collection#_length","dart:collection#_map","dart:collection#_nums","dart:collection#_offset","dart:collection#_remove","dart:collection#_removeHashTableEntry","dart:collection#_rest","dart:collection#_set","dart:collection#_strings","dart:convert#_alphabet","dart:convert#_encoder","dart:convert#_state","dart:convert#_urlSafe","dart:core#_arguments","dart:core#_box_0","dart:core#_captured_sb_1","dart:core#_contents","dart:core#_enumToString","dart:core#_errorExplanation","dart:core#_errorName","dart:core#_existingArgumentNames","dart:core#_hasValue","dart:core#_memberName","dart:core#_microsecond","dart:core#_name","dart:core#_namedArguments","dart:core#_receiver","dart:core#_stackTrace","dart:core#_value","dart:core#_writeString","dart:js_util#_captured_T_1","dart:js_util#_captured__convertedObjects_0","dart:js_util#_captured_completer_0","dart:math#_buffer","dart:math#_getRandomBytes","dartException","day","decode","decodeFunction","decoder","decrypted","decryptionFailure","decryptionSuccess","deriveKeys","discardFrameWhenCryptorNotReady","elementAt","enabled","encode","encodeFunction","encoder","encryptionKey","end","endsWith","enqueueFrame","error","errorCallback","errorZone","exportKey","failureTolerance","fine","finer","first","firstPendingEvent","floorToDouble","forEach","frameType","fullName","future","getKeySet","getParticipantKeyHandler","getRange","getSharedKeyHandler","getUint32","getUnencryptedBytes","handleError","handleNext","handleUncaughtError","handleValue","handleWhenComplete","handlesComplete","handlesError","handlesValue","hasErrorCallback","hasErrorTest","hasValidKey","hashCode","hashMapCellKey","hashMapCellValue","hour","id","inSameErrorZone","index","indexable","info","initialKeyIndex","initialKeySet","internalComputeHashCode","internalContainsKey","internalFindBucketIndex","internalGet","internalRemove","internalSet","invalidValue","isAccessor","isClosed","isEmpty","isGetter","isLoggable","isNotEmpty","isScheduled","isSifAllowed","isSync","isUndefined","isUtc","iterator","join","keyHandler","keyOptions","keyProviderOptions","keyRingSze","keys","kind","lastError","lastIndexOf","lastPendingEvent","lastSifReceivedAt","length","lengthInBytes","level","listen","listener","listenerHasError","listenerValueOrError","listeners","log","loggerName","makeIv","map","matchAsPrefix","matchTypeError","matchesErrorTest","material","memberName","message","microsecond","millisecond","millisecondsSinceEpoch","minute","modifiedObject","month","moveNext","name","namedArguments","names","next","nextInt","noSuchMethod","object","offset","offsetInBytes","onCancel","onListen","onRecord","package:dart_webrtc/src/e2ee.worker/e2ee.cryptor.dart#_#FrameCryptor#kind#A","package:dart_webrtc/src/e2ee.worker/e2ee.cryptor.dart#_box_0","package:dart_webrtc/src/e2ee.worker/e2ee.cryptor.dart#_box_1","package:dart_webrtc/src/e2ee.worker/e2ee.cryptor.dart#_captured_decryptFrameInternal_3","package:dart_webrtc/src/e2ee.worker/e2ee.cryptor.dart#_captured_headerLength_5","package:dart_webrtc/src/e2ee.worker/e2ee.cryptor.dart#_captured_ivLength_6","package:dart_webrtc/src/e2ee.worker/e2ee.cryptor.dart#_captured_iv_3","package:dart_webrtc/src/e2ee.worker/e2ee.cryptor.dart#_captured_srcFrame_4","package:dart_webrtc/src/e2ee.worker/e2ee.cryptor.dart#_captured_this_2","package:dart_webrtc/src/e2ee.worker/e2ee.cryptor.dart#_enabled","package:dart_webrtc/src/e2ee.worker/e2ee.keyhandler.dart#_#ParticipantKeyHandler#cryptoKeyRing#A","package:dart_webrtc/src/e2ee.worker/e2ee.keyhandler.dart#_decryptionFailureCount","package:dart_webrtc/src/e2ee.worker/e2ee.keyhandler.dart#_hasValidKey","package:dart_webrtc/src/e2ee.worker/e2ee.worker.dart#_captured_handleMessage_0","package:dart_webrtc/src/e2ee.worker/e2ee.worker.dart#_captured_trackId_0","package:logging/src/logger.dart#_captured_name_0","package:logging/src/logger.dart#_children","package:logging/src/logger.dart#_controller","package:logging/src/logger.dart#_getStream","package:logging/src/logger.dart#_level","package:logging/src/logger.dart#_levelChangedController","package:logging/src/logger.dart#_publish","padLeft","parent","participantIdentity","participantKeys","perform","positionalArguments","postMessage","putIfAbsent","ratchet","ratchetCount","ratchetKey","ratchetMaterial","ratchetSalt","ratchetWindowSize","readFrameInfo","recordSif","recordUserFrame","registerBinaryCallback","registerCallback","registerUnaryCallback","remainder","remove","removeLast","reset","resetKeyStatus","result","run","runBinary","runGuarded","runUnary","runUnaryGuarded","runtimeType","schedule","second","sendCounts","sequenceNumber","setEnabled","setInt8","setKey","setKeyIndex","setKeySetFromMaterial","setParticipant","setRange","setSharedKey","setSifTrailer","setUint32","setupTransform","sharedKey","sharedKeyHandler","shouldChain","sifGuard","sifSequenceStartedAt","skip","source","ssrc","stackTrace","start","startsWith","state","storedCallback","stream","sublist","substring","take","then","time","timestamp","toBytes","toInt","toList","toLowerCase","toRadixString","toString","trackId","truncateToDouble","uncryptedMagicBytes","unsetParticipant","updateCodec","userFramesSinceSif","variableName","warning","where","worker","write","writeAll","year","zone","Rti._unstar","isTopType","_Universe._canonicalRecipeOfStar","_Universe._canonicalRecipeOfQuestion","_Universe._canonicalRecipeOfFutureOr","_Universe._canonicalRecipeOfBinding","_Universe._canonicalRecipeOfGenericFunction","Error._stringToSafeString","_HashMap._set","_Base64Encoder.createBuffer","DateTime.fromMillisecondsSinceEpoch","SifGuard.recordSif","SifGuard.isSifAllowed",">=","ByteBufferToJSArrayBuffer|get#toJS","JSAnyUtilityExtension|dartify","JSNumberToNumber|get#toDartInt","JSObjectUnsafeUtilExtension|getProperty","JSPromiseToFuture|get#toDart","NullableObjectUtilExtension|jsify","_","_addListener","_asCheck","_buffer","_callConstructorUnchecked1","_callMethodUnchecked0","_callMethodUnchecked1","_callMethodUnchecked2","_callMethodUnchecked3","_canonicalRecipeOfBinding","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_canonicalRecipeOfFutureOr","_canonicalRecipeOfGenericFunction","_canonicalRecipeOfInterface","_canonicalRecipeOfQuestion","_canonicalRecipeOfRecord","_canonicalRecipeOfStar","_chainSource","_checkMutable","_cloneResult","_complete","_completeError","_computeHashCode","_computeIdentityHashCodeProperty","_containsTableEntry","_create1","_create2","_create3","_createBindingRti","_createFunctionRti","_createGenericFunctionParameterRti","_createInterfaceRti","_createLength","_createRecordRti","_createSubscription","_createTerminalRti","_createTimer","_error","_errorTest","_expectsEvent","_failedAsCheckError","_findRule","_future","_getBindCache","_getBindingArguments","_getBindingBase","_getBucket","_getCachedRuntimeType","_getEvalCache","_getFunctionParameters","_getFutureOrArgument","_getGenericFunctionBase","_getGenericFunctionBounds","_getGenericFunctionParameterIndex","_getInterfaceName","_getInterfaceTypeArguments","_getIsSubtypeCache","_getKind","_getNamed","_getOptionalPositional","_getPrimary","_getPropertyTrustType","_getQuestionArgument","_getRandomBytes","_getRecordFields","_getRecordPartialShapeTag","_getRequiredPositional","_getReturnType","_getRuntimeTypeOfArrayAsRti","_getSpecializedTestResource","_getStarArgument","_getTableBucket","_getTableCell","_grow","_handleIEtoString","_hasError","_hasOneListener","_hasPending","_hasTableEntry","_hasTimer","_installRti","_internal","_isCanceled","_isChained","_isCheck","_isClosure","_isComplete","_isDartObject","_isEmpty","_isFiring","_isInputPaused","_isSubtypeUncached","_keysFromIndex","_lookupAnyRti","_lookupDynamicRti","_lookupErasedRti","_lookupFutureRti","_lookupNeverRti","_lookupVoidRti","_mayAddListener","_mayComplete","_mayResumeInput","_name","_named","_newFutureWithSameType","_now","_objectToString","_ofArray","_onError","_onValue","_parseRecipe","_pow2roundup","_recipeJoin","_registerDataHandler","_registerDoneHandler","_removeListener","_removeListeners","_scheduleImmediate","_set","_setAsCheckFunction","_setBindCache","_setCachedRuntimeType","_setCanonicalRecipe","_setChained","_setError","_setErrorObject","_setEvalCache","_setIsTestFunction","_setKind","_setNamed","_setOptionalPositional","_setPrecomputed1","_setPrimary","_setRangeFast","_setRequiredPositional","_setRest","_setSpecializedTestResource","_setValue","_stateBits","_statePadding","_stringToSafeString","_target","_theUniverse","_trySetStackTrace","_unstar","_validate","_whenCompleteAction","_withValueChecked","_writeOne","_writeString","_zone","allocate","apply","arrayAt","arrayConcat","arrayLength","arraySplice","asBool","asInt","asRti","asRtiOrNull","asString","as_Type","broadcast","charCodeAt","collectNamed","constructorNameFallback","dateNow","dispatchRecordExtension","dispatchRecordIndexability","dispatchRecordInterceptor","dispatchRecordProto","environment","erasedTypes","evalCache","evalTypeVariable","fieldADI","fieldNI","fromList","fromMillisecondsSinceEpoch","getDispatchProperty","getIndex","getLegacyErasedRecipe","getLength","getName","getProperty","getRuntimeTypeOfInterceptorNotArray","handleNamedGroup","handleOptionalGroup","handleStartRecord","hash2","identityHashCode","instanceTypeName","interceptorFieldName","interceptorsByTag","isArray","isDigit","isIdentical","isJavaScriptSimpleObject","isRequired","jsHasOwnProperty","jsonEncodeNative","leafTags","listToString","lookupSupertype","lookupTypeVariable","mapGet","mapSet","markFixedList","markGrowable","markUnmodifiableList","normalize","now","objectKeys","objectToHumanReadableString","pop","position","pow","printToConsole","propertyGet","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","push","pushStackFrame","receiverFieldName","recipe","secure","sharedEmptyArray","stack","staticInteropGlobalContext","stringIndexOf","stringLastIndexOfUnchecked","stringSafeToString","stringSplit","thenAwait","toGenericFunctionParameter","tryStringifyException","typeRules","typed","universe","unmangleGlobalNameIfPreservedAnyways","unsafeCast","unvalidated","writeFinalChunk","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/js_runtime/lib/js_array.dart","org-dartlang-sdk:///lib/internal/errors.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/_internal/js_shared/lib/date_time_patch.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/linked_hash_map.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/core_patch.dart","org-dartlang-sdk:///lib/core/errors.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/convert/base64.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_string.dart","org-dartlang-sdk:///lib/core/date_time.dart","org-dartlang-sdk:///lib/core/exceptions.dart","org-dartlang-sdk:///lib/core/iterable.dart","org-dartlang-sdk:///lib/core/object.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","../lib/src/e2ee.worker/e2ee.frame_cryptor.dart","../lib/src/e2ee.worker/e2ee.keyhandler.dart","../lib/src/e2ee.worker/e2ee.worker.dart","../../../.pub-cache/hosted/pub.dev/logging-1.3.0/lib/src/logger.dart","../lib/src/e2ee.worker/e2ee.sfi_guard.dart","../lib/src/e2ee.worker/e2ee.data_packet_cryptor.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_primitives.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/late_helper.dart","../../../.pub-cache/hosted/pub.dev/collection-1.19.1/lib/src/iterable_extensions.dart","../lib/src/e2ee.worker/e2ee.utils.dart","org-dartlang-sdk:///lib/collection/list.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_number.dart","org-dartlang-sdk:///lib/internal/bytes_builder.dart","org-dartlang-sdk:///lib/typed_data/typed_data.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/internal_patch.dart","org-dartlang-sdk:///lib/internal/symbol.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/constant_map.dart","org-dartlang-sdk:///lib/async/broadcast_stream_controller.dart","org-dartlang-sdk:///lib/core/enum.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_runtime/lib/math_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_patch.dart","org-dartlang-sdk:///lib/_internal/js_shared/lib/js_interop_unsafe_patch.dart","org-dartlang-sdk:///lib/convert/codec.dart","../../../.pub-cache/hosted/pub.dev/logging-1.3.0/lib/src/level.dart","../../../.pub-cache/hosted/pub.dev/logging-1.3.0/lib/src/log_record.dart","../../../.pub-cache/hosted/pub.dev/webrtc_interface-1.3.0/lib/src/frame_cryptor.dart","../lib/src/e2ee.worker/e2ee.logger.dart","org-dartlang-sdk:///lib/async/future.dart","org-dartlang-sdk:///lib/core/print.dart"], + "names": ["makeDispatchRecord","getNativeInterceptor","lookupInterceptorByConstructor","JS_INTEROP_INTERCEPTOR_TAG","cacheInterceptorOnConstructor","JSArray.fixed","JSArray.markFixed","LateError.fieldNI","SystemHash.combine","SystemHash.finish","checkNotNullable","isToStringVisiting","MappedIterable","unminifyOrTag","isJsIndexable","S","Primitives.objectHashCode","Primitives.objectTypeName","instanceTypeName","rtiToString","Primitives.safeToString","Primitives.stringSafeToString","Primitives.stringFromNativeUint8List","Primitives.lazyAsJsDate","Primitives.getYear","Primitives.getMonth","Primitives.getDay","Primitives.getHours","Primitives.getMinutes","Primitives.getSeconds","Primitives.getMilliseconds","Primitives.functionNoSuchMethod","createUnmangledInvocationMirror","Primitives.applyFunction","Primitives._generalApplyFunction","JsLinkedHashMap.isNotEmpty","Primitives.extractStackTrace","Primitives.trySetStackTrace","iae","ioore","diagnoseIndexError","diagnoseRangeError","argumentErrorValue","wrapException","initializeExceptionWrapper","toStringWrapper","throwExpression","throwUnsupportedOperation","_diagnoseUnsupportedOperation","throwConcurrentModificationError","TypeErrorDecoder.extractPattern","TypeErrorDecoder.provokeCallErrorOn","TypeErrorDecoder.provokePropertyErrorOn","JsNoSuchMethodError","unwrapException","saveStackTrace","_unwrapNonDartException","getTraceFromException","objectHashCode","fillLiteralMap","_invokeClosure","convertDartClosureToJS","convertDartClosureToJSUncached","Closure.fromTearOff","Closure._computeSignatureFunction","Closure.cspForwardCall","Closure.forwardCallTo","Closure.cspForwardInterceptedCall","Closure.forwardInterceptedCallTo","closureFromTearOff","BoundClosure.evalRecipe","evalInInstance","BoundClosure.receiverOf","BoundClosure.interceptorOf","BoundClosure._computeFieldNamed","getIsolateAffinityTag","defineProperty","lookupAndCacheInterceptor","setDispatchProperty","patchInstance","lookupInterceptor","patchProto","patchInteriorProto","makeLeafDispatchRecord","makeDefaultDispatchRecord","initNativeDispatch","initNativeDispatchContinue","initHooks","applyHooksTransformer","createRecordTypePredicate","quoteStringForRegExp","NativeByteData","_ensureNativeList","NativeUint8List","NativeUint8List.view","_checkValidIndex","_checkValidRange","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","_Type","typeLiteral","_installSpecializedIsTest","_specializedIsTest","_recordSpecializedIsTest","_simpleSpecializedIsTest","_installSpecializedAsCheck","_generalIsTestImplementation","_generalNullableIsTestImplementation","Rti._getQuestionArgument","_isTestViaProperty","_isListTestViaProperty","_isJSObject","_isJSObjectStandalone","_generalAsCheckImplementation","_generalNullableAsCheckImplementation","_errorForAsCheck","_Error.compose","_TypeError.forType","_isFutureOr","_isObject","_asObject","_isTop","_asTop","_isNever","_isBool","_asBool","_asBoolQ","_asDouble","_asDoubleQ","_isInt","_asInt","_asIntQ","_isNum","_asNum","_asNumQ","_isString","_asString","_asStringQ","_asJSObject","_asJSObjectQ","_rtiArrayToString","_recordRtiToString","_functionRtiToString","_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._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","_isFunctionSubtype","_isInterfaceSubtype","_Utils.newArrayOrEmpty","_areArgumentsSubtypes","_isRecordSubtype","isNullable","isTopType","_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._chainCoreFuture","_Future._asyncCompleteError","_Future._propagateToListeners","_registerErrorHandler","_microtaskLoop","_startMicrotaskLoop","_scheduleAsyncCallback","_schedulePriorityAsyncCallback","scheduleMicrotask","StreamIterator","_runGuarded","_BufferingStreamSubscription._registerErrorHandler","_nullErrorHandler","_nullDoneHandler","_rootHandleError","_rootRun","_rootRunUnary","_rootRunBinary","_rootScheduleMicrotask","_HashMap._getTableEntry","_HashMap._setTableEntry","_HashMap._newHashTable","LinkedHashMap._literal","LinkedHashMap._empty","MapBase.mapToString","_Base64Encoder.encodeChunk","_Base64Decoder.decodeChunk","_Base64Decoder._allocateBuffer","_Base64Decoder._trimPaddingChars","_Base64Decoder._checkPadding","Error._throw","List.filled","List._of","List._ofArray","JSArray.markGrowable","String.fromCharCodes","String._stringFromUint8List","StringBuffer._writeAll","NoSuchMethodError.withInvocation","StackTrace.current","DateTime._fourDigits","DateTime._threeDigits","DateTime._twoDigits","Error.safeToString","Error.throwWithStackTrace","AssertionError","ArgumentError","ArgumentError.value","RangeError.value","RangeError.range","RangeError.checkValidRange","RangeError.checkNotNegative","IndexError.withLength","UnsupportedError","UnimplementedError","StateError","ConcurrentModificationError","Exception","FormatException","Iterable.iterableToShortString","Iterable.iterableToFullString","_iterablePartsToStrings","Object.hash","_convertDartFunctionFast","_callDartFunctionFast","allowInterop","_functionToJS1","_callDartFunctionFast1","_noJsifyRequired","jsify","callMethod","promiseToFuture","_Completer.future","Completer","_noDartifyRequired","dartify","findNALUIndices","ParticipantKeyHandler","getTrackCryptor","FrameCryptor","FrameCryptor.sifGuard","FrameCryptor.setParticipant","getDataPacketCryptor","unsetCryptorParticipant","unsetDataPacketCryptorParticipant","main","Logger","printString","throwLateFieldNI","throwLateFieldADI","IterableExtension.firstWhereOrNull","getAlgoOptions","Interceptor.hashCode","Interceptor.==","Interceptor.toString","Interceptor.noSuchMethod","Interceptor.runtimeType","JSBool.toString","JSBool.hashCode","JSBool.runtimeType","JSNull.==","JSNull.toString","JSNull.hashCode","LegacyJavaScriptObject.toString","LegacyJavaScriptObject.hashCode","LegacyJavaScriptObject.runtimeType","JavaScriptFunction.toString","JavaScriptBigInt.toString","JavaScriptBigInt.hashCode","JavaScriptSymbol.toString","JavaScriptSymbol.hashCode","JSArray.add","JSArray.addAll","JSArray._addAllFromArray","JSArray.map","JSArray.elementAt","JSArray.toString","JSArray.iterator","JSArray.hashCode","JSArray.length","JSArray.[]","JSArray.[]=","JSArray.runtimeType","getRuntimeTypeOfArray","JSArraySafeToStringHook.tryFormat","ArrayIterator.current","ArrayIterator.moveNext","JSNumber.toInt","JSNumber.truncateToDouble","JSNumber.toRadixString","JSNumber.toString","JSNumber.hashCode","JSNumber.%","JSNumber._tdivFast","JSNumber._tdivSlow","JSNumber._shrOtherPositive","JSNumber._shrBothPositive","JSNumber.runtimeType","JSInt.runtimeType","JSNumNotInt.runtimeType","JSString.endsWith","JSString.startsWith","JSString.substring","JSString.substring[function-entry$1]","JSString.*","JSString.lastIndexOf","JSString.toString","JSString.hashCode","JSString.runtimeType","JSString.length","JSString.[]","_CopyingBytesBuilder.add","_CopyingBytesBuilder._grow","_CopyingBytesBuilder.toBytes","NativeUint8List.fromList","_CopyingBytesBuilder.length","LateError.toString","ListIterable.iterator","ListIterable.map","ListIterator.current","ListIterator.moveNext","MappedIterable.iterator","MappedIterable.length","MappedIterator.moveNext","MappedIterator.current","MappedListIterable.length","MappedListIterable.elementAt","WhereIterable.iterator","WhereIterable.map","WhereIterator.moveNext","WhereIterator.current","Symbol.hashCode","Symbol.toString","Symbol.==","ConstantMap.toString","ConstantStringMap.length","ConstantStringMap._keys","ConstantStringMap.containsKey","ConstantStringMap.[]","ConstantStringMap.forEach","ConstantStringMap.keys","_KeysOrValues.length","_KeysOrValues.iterator","_KeysOrValuesOrElementsIterator.current","_KeysOrValuesOrElementsIterator.moveNext","JSInvocationMirror.memberName","JSInvocationMirror.positionalArguments","JSInvocationMirror.namedArguments","Primitives.functionNoSuchMethod.","TypeErrorDecoder.matchTypeError","NullError.toString","JsNoSuchMethodError.toString","UnknownJsTypeError.toString","NullThrownFromJavaScriptException.toString","_StackTrace.toString","Closure.toString","StaticClosure.toString","BoundClosure.==","BoundClosure.hashCode","BoundClosure.toString","RuntimeError.toString","JsLinkedHashMap.keys","JsLinkedHashMap.length","JsLinkedHashMap.containsKey","JsLinkedHashMap._containsTableEntry","JsLinkedHashMap.[]","JsLinkedHashMap.internalGet","JsLinkedHashMap._getBucket","JsLinkedHashMap.[]=","JsLinkedHashMap.internalSet","JsLinkedHashMap.putIfAbsent","JsLinkedHashMap.remove","JsLinkedHashMap.forEach","JsLinkedHashMap._addHashTableEntry","JsLinkedHashMap._removeHashTableEntry","JsLinkedHashMap._modified","JsLinkedHashMap._newLinkedCell","JsLinkedHashMap._unlinkCell","JsLinkedHashMap.internalComputeHashCode","JsLinkedHashMap.internalFindBucketIndex","JsLinkedHashMap.toString","JsLinkedHashMap._newHashTable","LinkedHashMapKeysIterable.length","LinkedHashMapKeysIterable.iterator","LinkedHashMapKeyIterator.current","LinkedHashMapKeyIterator.moveNext","initHooks.","NativeByteBuffer.runtimeType","NativeByteBuffer.asUint8List","NativeByteBuffer.asUint8List[function-entry$0]","NativeTypedData.buffer","NativeTypedData._invalidPosition","NativeTypedData._checkPosition","_UnmodifiableNativeByteBufferView.asUint8List","_UnmodifiableNativeByteBufferView.asUint8List[function-entry$0]","NativeByteData.runtimeType","NativeByteData._setInt8","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeTypedArrayOfInt.setRange","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.[]","NativeUint8List.sublist","NativeUint8List.sublist[function-entry$1]","Rti._eval","Rti._bind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_AsyncAwaitCompleter.complete","_AsyncAwaitCompleter.completeError","_Future._completeError","_awaitOnObject.","_wrapJsFunctionForAsync.","AsyncError.toString","_BroadcastSubscription._onPause","_BroadcastSubscription._onResume","_BroadcastSubscription._next","_BroadcastSubscription._previous","_BroadcastStreamController._mayAddEvent","_BroadcastStreamController._subscribe","_DoneStreamSubscription","_BufferingStreamSubscription","_BufferingStreamSubscription._registerDataHandler","_BufferingStreamSubscription.zoned","_BufferingStreamSubscription._registerDoneHandler","_BroadcastSubscription","_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._errorTest","_FutureListener.handleError","_Future.then","_Future._thenAwait","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._completeWithValue","_Future._completeWithResultOf","_Future._completeErrorObject","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteErrorObject","_Future._addListener.","_Future._prependListeners.","_Future._chainCoreFuture.","_Future._asyncCompleteWithValue.","_Future._asyncCompleteErrorObject.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_FutureListener._whenCompleteAction","_Future._newFutureWithSameType","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_FutureListener._onValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","Stream.length","Stream.length.","Stream_length_closure","_Future._complete","_ControllerStream.hashCode","_ControllerStream.==","_ControllerSubscription._onPause","_ControllerSubscription._onResume","_BufferingStreamSubscription._add","_BufferingStreamSubscription._onPause","_BufferingStreamSubscription._onResume","_BufferingStreamSubscription._addPending","_BufferingStreamSubscription._sendData","_BufferingStreamSubscription._checkState","_BufferingStreamSubscription._mayResumeInput","_StreamImpl.listen","_StreamImpl.listen[function-entry$1]","_PendingEvents.schedule","_PendingEvents.schedule.","_PendingEvents.handleNext","_DoneStreamSubscription._onMicrotask","_rootHandleError.","_RootZone.runGuarded","_RootZone.runUnaryGuarded","_RootZone.bindCallbackGuarded","_RootZone.[]","_RootZone.run","_RootZone.runUnary","_RootZone.runBinary","_RootZone.registerBinaryCallback","_RootZone.bindCallbackGuarded.","_HashMap.keys","_HashMap.length","_HashMap.containsKey","_HashMap._containsKey","_HashMap.[]","_HashMap._get","_HashMap.[]=","_IdentityHashMap._computeHashCode","_HashMap.forEach","_HashMap._computeKeys","_HashMap._addHashTableEntry","_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","MapView.[]","MapView.forEach","MapView.length","MapView.keys","MapView.toString","Base64Encoder.convert","_Base64Encoder.encode","Base64Decoder.convert","_Base64Decoder.decode","NoSuchMethodError.toString.","_symbolToString","DateTime.==","DateTime.hashCode","DateTime.toString","_Enum.toString","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","NoSuchMethodError.toString","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","OutOfMemoryError.toString","OutOfMemoryError.stackTrace","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","FormatException.toString","Iterable.map","Iterable.length","Iterable.elementAt","Iterable.toString","Null.hashCode","Null.toString","Object.hashCode","Object.==","Object.toString","Object.noSuchMethod","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","jsify._convert","promiseToFuture.","dartify.convert","DateTime._withValueChecked","_dateToDateTime","NullRejectionException.toString","_JSSecureRandom","_JSSecureRandom.nextInt","NativeByteData.setUint32","E2EEDataPacketCryptor.encrypt","DateTime.timestamp","DateTime._nowUtc","E2EEDataPacketCryptor.makeIv","E2EEDataPacketCryptor.decrypt","ParticipantKeyHandler.decryptionSuccess","E2EEDataPacketCryptor.decrypt.decryptFrameInternal","E2EEDataPacketCryptor.decrypt.ratchedKeyInternal","CryptorError._enumToString","FrameCryptor.enabled","FrameCryptor.setupTransform","FrameCryptor.setupTransform[function-entry$0$kind$operation$readable$trackId$writable]","FrameCryptor.postMessage","FrameCryptor.getUnencryptedBytes","FrameCryptor.readFrameInfo","FrameCryptor.enqueueFrame","FrameCryptor.encodeFunction","FrameCryptor.makeIv","NativeByteData.setInt8","BytesBuilder","FrameCryptor.decodeFunction","DateTime._now","DateTime.now","FrameCryptor.decodeFunction.decryptFrameInternal","FrameCryptor.decodeFunction.ratchedKeyInternal","KeyOptions.toString","KeyProvider.getParticipantKeyHandler","ListBase.isNotEmpty","KeyProvider.getSharedKeyHandler","ParticipantKeyHandler.decryptionFailure","ParticipantKeyHandler.exportKey","ParticipantKeyHandler.ratchetKey","ParticipantKeyHandler.ratchetMaterial","ParticipantKeyHandler.getKeySet","ParticipantKeyHandler.setKey","ParticipantKeyHandler.setKey[function-entry$1]","ParticipantKeyHandler.setKeySetFromMaterial","ParticipantKeyHandler.deriveKeys","ParticipantKeyHandler.ratchet","SifGuard.recordUserFrame","SifGuard.reset","getTrackCryptor.","getDataPacketCryptor.","unsetCryptorParticipant.","unsetDataPacketCryptorParticipant.","main.","print","base64Decode","Base64Codec.decode","KeyProvider","JSArray.where","Iterable.toList","FrameCryptor.setEnabled","KeyProvider.setSharedKey","base64Encode","Codec.encode","FrameCryptor.setKeyIndex","FrameCryptor.setSifTrailer","FrameCryptor.updateCodec","main..","Level.==","Level.hashCode","Level.toString","LogRecord.toString","Logger.fullName","JSString.isNotEmpty","Logger.level","Logger.log","Logger.isLoggable","Logger._getStream","StreamController.broadcast","_BroadcastStreamController.stream","Logger._publish","Logger.","Logger._named","Logger._internal","Algorithm._enumToString","DART_CLOSURE_PROPERTY_NAME","_CopyingBytesBuilder._emptyList","_safeToStringHooks","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","_Base64Decoder._inverseAlphabet","NativeInt8List.fromList","_Base64Decoder._emptyBuffer","_hashSeed","Random._secureRandom","logger","Logger.root","","Algorithm","ArrayIterator","AsyncError","Base64Codec","Base64Decoder","Base64Encoder","BoundClosure","ByteBuffer","ByteData","Closure","Closure0Args","Closure2Args","Codec","ConstantMap","ConstantMapView","ConstantStringMap","Converter","CryptorError","DateTime","E2EEDataPacketCryptor","E2EEDataPacketCryptor_decrypt_decryptFrameInternal","E2EEDataPacketCryptor_decrypt_ratchedKeyInternal","EfficientLengthIterable","EfficientLengthMappedIterable","EncryptedPacket","Error","ExceptionAndStackTrace","FixedLengthListMixin","Float32List","Float64List","FrameCryptor_decodeFunction_decryptFrameInternal","FrameCryptor_decodeFunction_ratchedKeyInternal","FrameInfo","Function","Future","IndexError","Int16List","Int32List","Int8List","Interceptor","Invocation","Iterable","IterableExtension|firstWhereOrNull","Iterator","JSArray","JSArraySafeToStringHook","JSBool","JSInt","JSInvocationMirror","JSNull","JSNumNotInt","JSNumber","JSObject","JSString","JSUnmodifiableArray","JS_CONST","JavaScriptBigInt","JavaScriptFunction","JavaScriptIndexingBehavior","JavaScriptObject","JavaScriptSymbol","JsLinkedHashMap","KeyOptions","KeySet","LateError","LegacyJavaScriptObject","Level","LinkedHashMap","LinkedHashMapCell","LinkedHashMapKeyIterator","LinkedHashMapKeysIterable","List","ListBase","ListIterable","ListIterator","LogRecord","Logger_Logger_closure","Map","MapBase","MapBase_mapToString_closure","MapView","MappedIterator","MappedListIterable","NativeArrayBuffer","NativeByteBuffer","NativeFloat32List","NativeFloat64List","NativeInt16List","NativeInt32List","NativeInt8List","NativeSharedArrayBuffer","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeTypedData","NativeUint16List","NativeUint32List","NativeUint8ClampedList","NoSuchMethodError","NoSuchMethodError_toString_closure","Null","NullError","NullRejectionException","NullThrownFromJavaScriptException","Object","OutOfMemoryError","Pattern","PlainJavaScriptObject","Primitives_functionNoSuchMethod_closure","RangeError","Record","Rti","RuntimeError","SafeToStringHook","SentinelValue","SifGuard","StackOverflowError","StackTrace","StaticClosure","Stream","StreamController","StreamSubscription","String","StringBuffer","Symbol","TearOffClosure","TrustedGetRuntimeType","TypeError","TypeErrorDecoder","Uint16List","Uint32List","Uint8ClampedList","Uint8List","UnknownJavaScriptObject","UnknownJsTypeError","UnmodifiableMapView","WhereIterable","WhereIterator","Zone","_AddStreamState","_AsyncAwaitCompleter","_AsyncCallbackEntry","_AsyncCompleter","_AsyncRun__initializeScheduleImmediate_closure","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_Base64Decoder","_Base64Encoder","_BroadcastStream","_BroadcastStreamController","_Completer","_ControllerStream","_ControllerSubscription","_CopyingBytesBuilder","_DelayedData","_DelayedEvent","_Enum","_Error","_EventDispatch","_Exception","_FunctionParameters","_Future","_FutureListener","_Future__addListener_closure","_Future__asyncCompleteErrorObject_closure","_Future__asyncCompleteWithValue_closure","_Future__chainCoreFuture_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","_KeysOrValues","_KeysOrValuesOrElementsIterator","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_PendingEvents","_PendingEvents_schedule_closure","_Required","_RootZone","_RootZone_bindCallbackGuarded_closure","_StackTrace","_StreamControllerLifecycle","_StreamImpl","_StreamIterator","_StringStackTrace","_SyncBroadcastStreamController","_TimerImpl_internalCallback","_TypeError","_UnmodifiableMapMixin","_UnmodifiableMapView&MapView&_UnmodifiableMapMixin","_UnmodifiableNativeByteBufferView","_Zone","_allocateBuffer","_awaitOnObject_closure","_canonicalRecipeJoin","_canonicalRecipeJoinNamed","_chainCoreFuture","_checkPadding","_computeFieldNamed","_computeSignatureFunction","_createFutureOrRti","_createGenericFunctionRti","_createQuestionRti","_current","_empty","_emptyBuffer","_emptyList","_fourDigits","_generalApplyFunction","_getCanonicalRecipe","_getFutureFromFutureOr","_getTableEntry","_identityHashCodeProperty","_initializeScheduleImmediate","_installTypeTests","_interceptorFieldNameCache","_inverseAlphabet","_isInCallbackLoop","_isUnionOfFunctionType","_lastCallback","_lastPriorityCallback","_literal","_loggers","_lookupBindingRti","_lookupFunctionRti","_lookupFutureOrRti","_lookupGenericFunctionParameterRti","_lookupGenericFunctionRti","_lookupInterfaceRti","_lookupQuestionRti","_lookupRecordRti","_lookupTerminalRti","_newHashTable","_nextCallback","_nextNumber","_of","_propagateToListeners","_receiverFieldNameCache","_rootHandleError_closure","_scheduleImmediateClosure","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_secureRandom","_setTableEntry","_stringFromUint8List","_threeDigits","_throw","_trimPaddingChars","_twoDigits","_wrapJsFunctionForAsync_closure","_writeAll","addErasedTypes","addRules","alternateTagFunction","applyFunction","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","async___nullDoneHandler$closure","async___nullErrorHandler$closure","async___startMicrotaskLoop$closure","bind","bool","checkNotNegative","checkValidRange","collectArray","combine","compose","create","cspForwardCall","cspForwardInterceptedCall","current","dartify_convert","decodeChunk","defaultStackTrace","dispatchRecordsForInstanceTags","double","encodeChunk","eval","evalInEnvironment","evalRecipe","extractPattern","extractStackTrace","fieldNI","filled","findErasedType","findRule","finish","fixed","forType","forwardCallTo","forwardInterceptedCallTo","fromCharCodes","fromTearOff","functionNoSuchMethod","getDataPacketCryptor_closure","getDay","getHours","getInterceptor$","getInterceptor$asx","getInterceptor$ax","getInterceptor$x","getMilliseconds","getMinutes","getMonth","getSeconds","getTagFunction","getTrackCryptor_closure","getYear","handleArguments","handleDigit","handleExtendedOperations","handleIdentifier","handleTypeArguments","hash","indexToType","initHooks_closure","initNativeDispatchFlag","int","interceptorOf","interceptorsForUncacheableTags","iterableToFullString","iterableToShortString","jsify__convert","keyProviders","lazyAsJsDate","main__closure","main_closure","mapToString","markFixed","newArrayOrEmpty","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","nullLiteralPropertyPattern","nullPropertyPattern","num","objectAssign","objectTypeName","parse","participantCryptors","participantDataCryptors","promiseToFuture_closure","prototypeForTagFunction","provokeCallErrorOn","provokePropertyErrorOn","range","receiverOf","root","safeToString","stringFromNativeUint8List","throwWithStackTrace","toStringVisiting","toType","toTypes","toTypesNamed","trySetStackTrace","undefinedCallPattern","undefinedLiteralCallPattern","undefinedLiteralPropertyPattern","undefinedPropertyPattern","unsetCryptorParticipant_closure","unsetDataPacketCryptorParticipant_closure","value","view","withInvocation","withLength","$add","$and","$div","$eq","$ge","$gt","$index","$indexSet","$le","$lt","$mod","$mul","$negate","$or","$shl","$shr","$sub","$tdiv","$xor","%","*","==","[]","[]=","_addEventError","_captured_T_1","_captured__convertedObjects_0","_captured_algorithmStr_0","_captured_arguments_2","_captured_bodyFunction_0","_captured_completer_0","_captured_decryptFrameInternal_3","_captured_dispatch_1","_captured_div_1","_captured_f_1","_captured_getTag_0","_captured_getUnknownTag_0","_captured_handleMessage_0","_captured_hasError_2","_captured_headerLength_5","_captured_ivLength_6","_captured_joinedResult_0","_captured_namedArgumentList_1","_captured_originalSource_1","_captured_payload_4","_captured_protected_0","_captured_prototypeForTag_0","_captured_sb_1","_captured_sourceResult_1","_captured_span_2","_captured_srcFrame_4","_captured_target_1","_captured_this_0","abs","add","addAll","argumentCount","asUint8List","bindCallback","bindCallbackGuarded","buffer","call","callback","ceilToDouble","checkGrowable","children","close","code","codeUnitAt","codec","comma","complete","completeError","config","consecutiveSifCount","contains","containsKey","convert","count","createBuffer","cryptoKeyRing","currentKeyIndex","currentkeySet","dart:_interceptors#_addAllFromArray","dart:_interceptors#_codeUnitAt","dart:_interceptors#_current","dart:_interceptors#_index","dart:_interceptors#_isInt32","dart:_interceptors#_iterable","dart:_interceptors#_length","dart:_interceptors#_shlPositive","dart:_interceptors#_shrBothPositive","dart:_interceptors#_shrOtherPositive","dart:_interceptors#_shrReceiverPositive","dart:_interceptors#_tdivFast","dart:_interceptors#_tdivSlow","dart:_interceptors#_toListFixed","dart:_interceptors#_toListGrowable","dart:_internal#_buffer","dart:_internal#_current","dart:_internal#_f","dart:_internal#_grow","dart:_internal#_index","dart:_internal#_iterable","dart:_internal#_iterator","dart:_internal#_length","dart:_internal#_message","dart:_internal#_name","dart:_internal#_source","dart:_js_helper#_addHashTableEntry","dart:_js_helper#_arguments","dart:_js_helper#_argumentsExpr","dart:_js_helper#_box_0","dart:_js_helper#_captured_arguments_2","dart:_js_helper#_captured_getTag_0","dart:_js_helper#_captured_getUnknownTag_0","dart:_js_helper#_captured_namedArgumentList_1","dart:_js_helper#_captured_prototypeForTag_0","dart:_js_helper#_cell","dart:_js_helper#_containsTableEntry","dart:_js_helper#_current","dart:_js_helper#_deleteTableEntry","dart:_js_helper#_elements","dart:_js_helper#_exception","dart:_js_helper#_expr","dart:_js_helper#_first","dart:_js_helper#_getBucket","dart:_js_helper#_getTableBucket","dart:_js_helper#_getTableCell","dart:_js_helper#_index","dart:_js_helper#_interceptor","dart:_js_helper#_internalName","dart:_js_helper#_irritant","dart:_js_helper#_jsIndex","dart:_js_helper#_keys","dart:_js_helper#_kind","dart:_js_helper#_last","dart:_js_helper#_length","dart:_js_helper#_map","dart:_js_helper#_memberName","dart:_js_helper#_message","dart:_js_helper#_method","dart:_js_helper#_modifications","dart:_js_helper#_modified","dart:_js_helper#_name","dart:_js_helper#_namedArgumentNames","dart:_js_helper#_newHashTable","dart:_js_helper#_newLinkedCell","dart:_js_helper#_next","dart:_js_helper#_nums","dart:_js_helper#_pattern","dart:_js_helper#_previous","dart:_js_helper#_receiver","dart:_js_helper#_removeHashTableEntry","dart:_js_helper#_rest","dart:_js_helper#_setKeys","dart:_js_helper#_setTableEntry","dart:_js_helper#_strings","dart:_js_helper#_target","dart:_js_helper#_trace","dart:_js_helper#_typeArgumentCount","dart:_js_helper#_unlinkCell","dart:_js_helper#_values","dart:_native_typed_data#_checkMutable","dart:_native_typed_data#_checkPosition","dart:_native_typed_data#_data","dart:_native_typed_data#_getUint32","dart:_native_typed_data#_invalidPosition","dart:_native_typed_data#_isUnmodifiable","dart:_native_typed_data#_nativeBuffer","dart:_native_typed_data#_setInt8","dart:_native_typed_data#_setRangeFast","dart:_native_typed_data#_setUint32","dart:_rti#_as","dart:_rti#_bind","dart:_rti#_bindCache","dart:_rti#_cachedRuntimeType","dart:_rti#_canonicalRecipe","dart:_rti#_dynamicCheckData","dart:_rti#_eval","dart:_rti#_evalCache","dart:_rti#_is","dart:_rti#_isSubtypeCache","dart:_rti#_kind","dart:_rti#_message","dart:_rti#_named","dart:_rti#_optionalPositional","dart:_rti#_precomputed1","dart:_rti#_primary","dart:_rti#_requiredPositional","dart:_rti#_rest","dart:_rti#_rti","dart:_rti#_specializedTestResource","dart:async#_add","dart:async#_addEventError","dart:async#_addListener","dart:async#_addPending","dart:async#_addStreamState","dart:async#_asyncComplete","dart:async#_asyncCompleteError","dart:async#_asyncCompleteErrorObject","dart:async#_asyncCompleteWithValue","dart:async#_box_0","dart:async#_box_1","dart:async#_callOnCancel","dart:async#_canFire","dart:async#_cancelFuture","dart:async#_captured_bodyFunction_0","dart:async#_captured_callback_0","dart:async#_captured_callback_1","dart:async#_captured_data_1","dart:async#_captured_dispatch_1","dart:async#_captured_div_1","dart:async#_captured_error_0","dart:async#_captured_error_1","dart:async#_captured_f_1","dart:async#_captured_future_1","dart:async#_captured_hasError_2","dart:async#_captured_joinedResult_0","dart:async#_captured_listener_1","dart:async#_captured_originalSource_1","dart:async#_captured_protected_0","dart:async#_captured_sourceResult_1","dart:async#_captured_span_2","dart:async#_captured_stackTrace_1","dart:async#_captured_target_1","dart:async#_captured_this_0","dart:async#_captured_this_1","dart:async#_captured_value_1","dart:async#_chainForeignFuture","dart:async#_chainFuture","dart:async#_chainSource","dart:async#_checkState","dart:async#_clearPendingComplete","dart:async#_cloneResult","dart:async#_complete","dart:async#_completeError","dart:async#_completeErrorObject","dart:async#_completeWithResultOf","dart:async#_completeWithValue","dart:async#_controller","dart:async#_createSubscription","dart:async#_doneFuture","dart:async#_error","dart:async#_errorTest","dart:async#_eventScheduled","dart:async#_eventState","dart:async#_expectsEvent","dart:async#_firstSubscription","dart:async#_forEachListener","dart:async#_future","dart:async#_handle","dart:async#_hasError","dart:async#_hasOneListener","dart:async#_hasPending","dart:async#_hasValue","dart:async#_ignoreError","dart:async#_isCanceled","dart:async#_isChained","dart:async#_isComplete","dart:async#_isEmpty","dart:async#_isFiring","dart:async#_isInputPaused","dart:async#_isPaused","dart:async#_lastSubscription","dart:async#_mayAddEvent","dart:async#_mayAddListener","dart:async#_mayComplete","dart:async#_mayResumeInput","dart:async#_newFutureWithSameType","dart:async#_next","dart:async#_nextListener","dart:async#_onData","dart:async#_onDone","dart:async#_onError","dart:async#_onListen","dart:async#_onMicrotask","dart:async#_onPause","dart:async#_onResume","dart:async#_onValue","dart:async#_once","dart:async#_pending","dart:async#_prependListeners","dart:async#_previous","dart:async#_recordPause","dart:async#_recordResume","dart:async#_removeAfterFiring","dart:async#_removeListener","dart:async#_removeListeners","dart:async#_resultOrListeners","dart:async#_reverseListeners","dart:async#_scheduleMicrotask","dart:async#_sendData","dart:async#_setChained","dart:async#_setErrorObject","dart:async#_setPendingComplete","dart:async#_setValue","dart:async#_state","dart:async#_stateData","dart:async#_subscribe","dart:async#_subscription","dart:async#_thenAwait","dart:async#_tick","dart:async#_toggleEventId","dart:async#_whenCompleteAction","dart:async#_zone","dart:collection#_addHashTableEntry","dart:collection#_box_0","dart:collection#_captured_result_1","dart:collection#_computeHashCode","dart:collection#_computeKeys","dart:collection#_containsKey","dart:collection#_current","dart:collection#_findBucketIndex","dart:collection#_get","dart:collection#_getBucket","dart:collection#_keys","dart:collection#_length","dart:collection#_map","dart:collection#_nums","dart:collection#_offset","dart:collection#_remove","dart:collection#_removeHashTableEntry","dart:collection#_rest","dart:collection#_set","dart:collection#_strings","dart:convert#_alphabet","dart:convert#_encoder","dart:convert#_state","dart:convert#_urlSafe","dart:core#_arguments","dart:core#_box_0","dart:core#_captured_sb_1","dart:core#_contents","dart:core#_enumToString","dart:core#_errorExplanation","dart:core#_errorName","dart:core#_existingArgumentNames","dart:core#_hasValue","dart:core#_memberName","dart:core#_microsecond","dart:core#_name","dart:core#_namedArguments","dart:core#_receiver","dart:core#_stackTrace","dart:core#_value","dart:core#_writeString","dart:js_util#_captured_T_1","dart:js_util#_captured__convertedObjects_0","dart:js_util#_captured_completer_0","dart:math#_buffer","dart:math#_getRandomBytes","dartException","data","dataCryptorId","day","decode","decodeFunction","decoder","decrypt","decrypted","decryptionFailure","decryptionSuccess","deriveKeys","discardFrameWhenCryptorNotReady","elementAt","enabled","encode","encodeFunction","encoder","encrypt","encryptionKey","end","endsWith","enqueueFrame","error","errorCallback","errorZone","exportKey","failureTolerance","fine","finer","first","firstPendingEvent","floorToDouble","forEach","frameType","fullName","future","getKeySet","getParticipantKeyHandler","getRange","getSharedKeyHandler","getUint32","getUnencryptedBytes","handleError","handleNext","handleUncaughtError","handleValue","handleWhenComplete","handlesComplete","handlesError","handlesValue","hasErrorCallback","hasErrorTest","hasValidKey","hashCode","hashMapCellKey","hashMapCellValue","hour","id","inSameErrorZone","index","indexable","info","initialKeyIndex","initialKeySet","internalComputeHashCode","internalContainsKey","internalFindBucketIndex","internalGet","internalRemove","internalSet","invalidValue","isAccessor","isClosed","isEmpty","isGetter","isLoggable","isNotEmpty","isScheduled","isSifAllowed","isSync","isUndefined","isUtc","iterator","iv","join","keyHandler","keyIndex","keyOptions","keyProviderOptions","keyRingSze","keys","kind","lastError","lastIndexOf","lastPendingEvent","lastSifReceivedAt","length","lengthInBytes","level","listen","listener","listenerHasError","listenerValueOrError","listeners","log","loggerName","makeIv","map","matchAsPrefix","matchTypeError","matchesErrorTest","material","memberName","message","microsecond","millisecond","millisecondsSinceEpoch","minute","modifiedObject","month","moveNext","name","namedArguments","names","next","nextInt","noSuchMethod","object","offset","offsetInBytes","onCancel","onListen","onRecord","package:dart_webrtc/src/e2ee.worker/e2ee.data_packet_cryptor.dart#_box_0","package:dart_webrtc/src/e2ee.worker/e2ee.data_packet_cryptor.dart#_box_1","package:dart_webrtc/src/e2ee.worker/e2ee.data_packet_cryptor.dart#_captured_decryptFrameInternal_3","package:dart_webrtc/src/e2ee.worker/e2ee.data_packet_cryptor.dart#_captured_initialKeyIndex_5","package:dart_webrtc/src/e2ee.worker/e2ee.data_packet_cryptor.dart#_captured_iv_3","package:dart_webrtc/src/e2ee.worker/e2ee.data_packet_cryptor.dart#_captured_payload_4","package:dart_webrtc/src/e2ee.worker/e2ee.data_packet_cryptor.dart#_captured_this_2","package:dart_webrtc/src/e2ee.worker/e2ee.frame_cryptor.dart#_#FrameCryptor#kind#A","package:dart_webrtc/src/e2ee.worker/e2ee.frame_cryptor.dart#_box_0","package:dart_webrtc/src/e2ee.worker/e2ee.frame_cryptor.dart#_box_1","package:dart_webrtc/src/e2ee.worker/e2ee.frame_cryptor.dart#_captured_decryptFrameInternal_3","package:dart_webrtc/src/e2ee.worker/e2ee.frame_cryptor.dart#_captured_headerLength_5","package:dart_webrtc/src/e2ee.worker/e2ee.frame_cryptor.dart#_captured_ivLength_6","package:dart_webrtc/src/e2ee.worker/e2ee.frame_cryptor.dart#_captured_iv_3","package:dart_webrtc/src/e2ee.worker/e2ee.frame_cryptor.dart#_captured_srcFrame_4","package:dart_webrtc/src/e2ee.worker/e2ee.frame_cryptor.dart#_captured_this_2","package:dart_webrtc/src/e2ee.worker/e2ee.frame_cryptor.dart#_enabled","package:dart_webrtc/src/e2ee.worker/e2ee.keyhandler.dart#_#ParticipantKeyHandler#cryptoKeyRing#A","package:dart_webrtc/src/e2ee.worker/e2ee.keyhandler.dart#_decryptionFailureCount","package:dart_webrtc/src/e2ee.worker/e2ee.keyhandler.dart#_hasValidKey","package:dart_webrtc/src/e2ee.worker/e2ee.worker.dart#_captured_algorithmStr_0","package:dart_webrtc/src/e2ee.worker/e2ee.worker.dart#_captured_dataCryptorId_0","package:dart_webrtc/src/e2ee.worker/e2ee.worker.dart#_captured_handleMessage_0","package:dart_webrtc/src/e2ee.worker/e2ee.worker.dart#_captured_trackId_0","package:logging/src/logger.dart#_captured_name_0","package:logging/src/logger.dart#_children","package:logging/src/logger.dart#_controller","package:logging/src/logger.dart#_getStream","package:logging/src/logger.dart#_level","package:logging/src/logger.dart#_levelChangedController","package:logging/src/logger.dart#_publish","padLeft","parent","participantIdentity","participantKeys","perform","positionalArguments","postMessage","putIfAbsent","ratchet","ratchetCount","ratchetKey","ratchetMaterial","ratchetSalt","ratchetWindowSize","readFrameInfo","recordSif","recordUserFrame","registerBinaryCallback","registerCallback","registerUnaryCallback","remainder","remove","removeLast","reset","resetKeyStatus","result","run","runBinary","runGuarded","runUnary","runUnaryGuarded","runtimeType","schedule","second","sendCount_","sendCounts","sequenceNumber","setEnabled","setInt8","setKey","setKeyIndex","setKeySetFromMaterial","setParticipant","setRange","setSharedKey","setSifTrailer","setUint32","setupTransform","sharedKey","sharedKeyHandler","shouldChain","sifGuard","sifSequenceStartedAt","skip","source","ssrc","stackTrace","start","startsWith","state","storedCallback","stream","sublist","substring","take","then","time","timestamp","toBytes","toInt","toList","toLowerCase","toRadixString","toString","toUnsigned","trackId","truncateToDouble","tryFormat","uncryptedMagicBytes","unsetParticipant","updateCodec","userFramesSinceSif","warning","where","worker","write","writeAll","year","zone","_Universe._canonicalRecipeOfQuestion","_Universe._canonicalRecipeOfFutureOr","_Universe._canonicalRecipeOfBinding","_Universe._canonicalRecipeOfGenericFunction","isBottomType","Error._stringToSafeString","_HashMap._set","_Base64Encoder.createBuffer","DateTime.fromMillisecondsSinceEpoch","SifGuard.recordSif","SifGuard.isSifAllowed",">=","ByteBufferToJSArrayBuffer|get#toJS","EnumName|get#name","JSAnyUtilityExtension|dartify","JSNumberToNumber|get#toDartInt","JSObjectUnsafeUtilExtension|getProperty","JSPromiseToFuture|get#toDart","NullableObjectUtilExtension|jsify","_","_addListener","_asCheck","_asyncCompleteError","_buffer","_callConstructorUnchecked1","_callMethodUnchecked0","_callMethodUnchecked1","_callMethodUnchecked2","_callMethodUnchecked3","_canonicalRecipeOfBinding","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_canonicalRecipeOfFutureOr","_canonicalRecipeOfGenericFunction","_canonicalRecipeOfInterface","_canonicalRecipeOfQuestion","_canonicalRecipeOfRecord","_chainSource","_checkMutable","_cloneResult","_complete","_completeError","_completeErrorObject","_computeHashCode","_computeIdentityHashCodeProperty","_containsTableEntry","_create1","_create2","_create3","_createBindingRti","_createFunctionRti","_createGenericFunctionParameterRti","_createInterfaceRti","_createLength","_createRecordRti","_createSubscription","_createTerminalRti","_createTimer","_error","_errorTest","_expectsEvent","_findRule","_future","_getBindCache","_getBindingArguments","_getBindingBase","_getBucket","_getCachedRuntimeType","_getEvalCache","_getFunctionParameters","_getFutureOrArgument","_getGenericFunctionBase","_getGenericFunctionBounds","_getGenericFunctionParameterIndex","_getInterfaceName","_getInterfaceTypeArguments","_getIsSubtypeCache","_getKind","_getNamed","_getOptionalPositional","_getPrimary","_getPropertyTrustType","_getQuestionArgument","_getRandomBytes","_getRecordFields","_getRecordPartialShapeTag","_getRequiredPositional","_getReturnType","_getRuntimeTypeOfArrayAsRti","_getSpecializedTestResource","_getTableBucket","_getTableCell","_grow","_handleIEtoString","_hasError","_hasOneListener","_hasPending","_hasTableEntry","_hasTimer","_installRti","_internal","_isCanceled","_isChained","_isCheck","_isClosure","_isComplete","_isDartObject","_isEmpty","_isFiring","_isInputPaused","_keysFromIndex","_lookupAnyRti","_lookupDynamicRti","_lookupErasedRti","_lookupFutureRti","_lookupNeverRti","_lookupVoidRti","_mayAddListener","_mayComplete","_mayResumeInput","_microtaskEntryCallback","_name","_named","_newFutureWithSameType","_now","_nowUtc","_objectToString","_ofArray","_onError","_onValue","_parseRecipe","_pow2roundup","_recipeJoin","_registerDataHandler","_registerDoneHandler","_removeListener","_removeListeners","_rtiBind","_rtiEval","_scheduleImmediate","_set","_setAsCheckFunction","_setBindCache","_setCachedRuntimeType","_setCanonicalRecipe","_setChained","_setErrorObject","_setEvalCache","_setIsTestFunction","_setKind","_setNamed","_setOptionalPositional","_setPrecomputed1","_setPrimary","_setRangeFast","_setRequiredPositional","_setRest","_setSpecializedTestResource","_setValue","_specializedAsCheck","_stateBits","_statePadding","_stringToSafeString","_target","_trySetStackTrace","_validate","_whenCompleteAction","_withValueChecked","_writeOne","_writeString","_zone","allocate","apply","arrayAt","arrayConcat","arrayLength","arraySplice","asBool","asBoolOrNull","asInt","asRti","asRtiOrNull","asString","as_Type","broadcast","charCodeAt","collectNamed","constructorNameFallback","dateNow","dispatchRecordExtension","dispatchRecordIndexability","dispatchRecordInterceptor","dispatchRecordProto","environment","erasedTypes","evalCache","evalTypeVariable","fieldADI","fromList","fromMessage","fromMillisecondsSinceEpoch","getDispatchProperty","getIndex","getLength","getName","getProperty","getRuntimeTypeOfInterceptorNotArray","handleNamedGroup","handleOptionalGroup","handleStartRecord","hash2","identityHashCode","interceptorFieldName","isArray","isDigit","isJavaScriptSimpleObject","isRequired","jsHasOwnProperty","jsonEncodeNative","listToString","lookupSupertype","lookupTypeVariable","mapGet","mapSet","markFixedList","markGrowable","markUnmodifiableList","max","normalize","now","objectKeys","objectToHumanReadableString","of","pop","position","pow","printToConsole","propertyGet","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","push","pushStackFrame","receiverFieldName","recipe","secure","sharedEmptyArray","stack","stringIndexOf","stringLastIndexOfUnchecked","stringSafeToString","stringSplit","thenAwait","toGenericFunctionParameter","tryStringifyException","typeRules","typed","universe","unmangleGlobalNameIfPreservedAnyways","unsafeCast","unvalidated","writeFinalChunk","zoned"], + "mappings": "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", "x_org_dartlang_dart2js": { "minified_names": { - "global": "$get$DART_CLOSURE_PROPERTY_NAME,794,$get$Logger_root,1171,$get$Random__secureRandom,1065,$get$TypeErrorDecoder_noSuchMethodPattern,1153,$get$TypeErrorDecoder_notClosurePattern,1154,$get$TypeErrorDecoder_nullCallPattern,1155,$get$TypeErrorDecoder_nullLiteralCallPattern,1156,$get$TypeErrorDecoder_nullLiteralPropertyPattern,1157,$get$TypeErrorDecoder_nullPropertyPattern,1158,$get$TypeErrorDecoder_undefinedCallPattern,1180,$get$TypeErrorDecoder_undefinedLiteralCallPattern,1181,$get$TypeErrorDecoder_undefinedLiteralPropertyPattern,1182,$get$TypeErrorDecoder_undefinedPropertyPattern,1183,$get$_AsyncRun__scheduleImmediateClosure,1061,$get$_Base64Decoder__emptyBuffer,1024,$get$_Base64Decoder__inverseAlphabet,1036,$get$_CopyingBytesBuilder__emptyList,1025,$get$_hashSeed,810,$get$logger,812,ArgumentError,312,ArgumentError$,814,ArgumentError$value,1185,ArrayIterator,815,AssertionError,311,AssertionError$,814,AsyncError,816,AsyncError_defaultStackTrace,1097,Base64Codec,817,Base64Decoder,818,Base64Encoder,819,BoundClosure,820,BoundClosure__computeFieldNamed,1016,BoundClosure__interceptorFieldNameCache,1035,BoundClosure__receiverFieldNameCache,1059,BoundClosure_evalRecipe,1103,BoundClosure_interceptorOf,1141,BoundClosure_receiverOf,1170,ByteBuffer,821,ByteData,822,BytesBuilder,737,Closure,823,Closure0Args,824,Closure2Args,825,Closure__computeSignatureFunctionNewRti,1017,Closure_cspForwardCall,1092,Closure_cspForwardInterceptedCall,1093,Closure_forwardCallTo,1112,Closure_forwardInterceptedCallTo,1113,Closure_fromTearOff,1116,Codec,826,ConcurrentModificationError,322,ConcurrentModificationError$,814,ConstantMap,827,ConstantMapView,828,ConstantStringMap,829,Converter,830,CryptorError,831,DART_CLOSURE_PROPERTY_NAME,794,DateTime,832,DateTime__fourDigits,1026,DateTime__threeDigits,1068,DateTime__twoDigits,1071,EfficientLengthIterable,833,EfficientLengthMappedIterable,834,Error,835,Error__throw,1069,Error_safeToString,1172,Error_throwWithStackTrace,1174,ExceptionAndStackTrace,836,Exception_Exception,814,FixedLengthListMixin,837,Float32List,838,Float64List,839,FormatException,324,FormatException$,814,FrameCryptor,345,FrameCryptor_decodeFunction_decryptFrameInternal,840,FrameCryptor_decodeFunction_ratchedKeyInternal,841,FrameInfo,842,Function,843,Future,844,IndexError,845,IndexError$withLength,1188,Int16List,846,Int32List,847,Int8List,848,Interceptor,849,Invocation,850,Iterable,851,IterableExtension_firstWhereOrNull,852,Iterable_iterableToFullString,1143,Iterable_iterableToShortString,1144,Iterator,853,JSArray,854,JSArray_JSArray$fixed,1110,JSArray_JSArray$markFixed,1151,JSBool,855,JSInt,856,JSInvocationMirror,857,JSNull,858,JSNumNotInt,859,JSNumber,860,JSObject,861,JSString,862,JSUnmodifiableArray,863,JS_CONST,864,JavaScriptBigInt,865,JavaScriptFunction,866,JavaScriptIndexingBehavior,867,JavaScriptObject,868,JavaScriptSymbol,869,JsLinkedHashMap,870,JsNoSuchMethodError,52,JsNoSuchMethodError$,814,KeyOptions,871,KeyProvider,767,KeySet,872,LateError,873,LegacyJavaScriptObject,874,Level,875,LinkedHashMap,876,LinkedHashMapCell,877,LinkedHashMapKeyIterator,878,LinkedHashMapKeysIterable,879,LinkedHashMap_LinkedHashMap$_empty,1023,LinkedHashMap_LinkedHashMap$_literal,1041,List,880,ListBase,881,ListIterable,882,ListIterator,883,List_List$_of,1057,List_List$filled,1106,List_List$of,1162,LogRecord,884,LogRecord__nextNumber,1055,Logger,350,Logger_Logger,814,Logger_Logger_closure,885,Logger__loggers,1042,Logger_root,1171,Map,886,MapBase,887,MapBase_mapToString,1150,MapBase_mapToString_closure,888,MapView,889,MappedIterable,11,MappedIterable_MappedIterable,814,MappedIterator,890,MappedListIterable,891,NativeByteBuffer,892,NativeByteData,94,NativeByteData_NativeByteData,814,NativeFloat32List,893,NativeFloat64List,894,NativeInt16List,895,NativeInt32List,896,NativeInt8List,897,NativeTypedArray,898,NativeTypedArrayOfDouble,899,NativeTypedArrayOfInt,900,NativeTypedData,901,NativeUint16List,902,NativeUint32List,903,NativeUint8ClampedList,904,NativeUint8List,96,NativeUint8List_NativeUint8List,814,NativeUint8List_NativeUint8List$view,1186,NoSuchMethodError,905,NoSuchMethodError_NoSuchMethodError$withInvocation,1187,NoSuchMethodError_toString_closure,906,Null,907,NullError,908,NullRejectionException,909,NullThrownFromJavaScriptException,910,Object,911,Object_hash,1136,OutOfMemoryError,912,ParticipantKeyHandler,343,ParticipantKeyHandler$,814,Pattern,913,PlainJavaScriptObject,914,Primitives__generalApplyFunction,1027,Primitives__identityHashCodeProperty,1032,Primitives__objectTypeNameNewRti,1056,Primitives_applyFunction,1077,Primitives_extractStackTrace,1105,Primitives_functionNoSuchMethod,1117,Primitives_functionNoSuchMethod_closure,915,Primitives_getDay,1118,Primitives_getHours,1119,Primitives_getMilliseconds,1124,Primitives_getMinutes,1125,Primitives_getMonth,1126,Primitives_getSeconds,1127,Primitives_getYear,1130,Primitives_lazyAsJsDate,1147,Primitives_objectHashCode,57,Primitives_objectTypeName,1161,Primitives_safeToString,1172,Primitives_stringFromNativeUint8List,1173,Primitives_trySetStackTrace,1179,Random__secureRandom,1065,RangeError,916,RangeError$range,1169,RangeError$value,1185,RangeError_checkNotNegative,1086,RangeError_checkValidRange,1087,Record,917,Rti,918,Rti__getCanonicalRecipe,1028,Rti__getFutureFromFutureOr,1029,Rti__getQuestionFromStar,1030,Rti__isUnionOfFunctionType,1038,RuntimeError,919,S,14,SentinelValue,920,SifGuard,921,StackOverflowError,922,StackTrace,923,StackTrace_current,1094,StateError,321,StateError$,814,StaticClosure,924,Stream,925,StreamController,926,StreamIterator_StreamIterator,814,StreamSubscription,927,Stream_length_closure,608,Stream_length_closure0,608,String,928,StringBuffer,929,StringBuffer__writeAll,1073,String_String$fromCharCodes,1114,String__stringFromUint8List,1067,Symbol,930,Symbol0,930,SystemHash_combine,1089,SystemHash_finish,1109,TearOffClosure,931,TrustedGetRuntimeType,932,TypeError,933,TypeErrorDecoder,934,TypeErrorDecoder_extractPattern,1104,TypeErrorDecoder_noSuchMethodPattern,1153,TypeErrorDecoder_notClosurePattern,1154,TypeErrorDecoder_nullCallPattern,1155,TypeErrorDecoder_nullLiteralCallPattern,1156,TypeErrorDecoder_nullLiteralPropertyPattern,1157,TypeErrorDecoder_nullPropertyPattern,1158,TypeErrorDecoder_provokeCallErrorOn,1167,TypeErrorDecoder_provokePropertyErrorOn,1168,TypeErrorDecoder_undefinedCallPattern,1180,TypeErrorDecoder_undefinedLiteralCallPattern,1181,TypeErrorDecoder_undefinedLiteralPropertyPattern,1182,TypeErrorDecoder_undefinedPropertyPattern,1183,Uint16List,935,Uint32List,936,Uint8ClampedList,937,Uint8List,938,UnimplementedError,320,UnimplementedError$,814,UnknownJavaScriptObject,939,UnknownJsTypeError,940,UnmodifiableMapView,941,UnsupportedError,319,UnsupportedError$,814,WhereIterable,942,WhereIterator,943,Zone,944,Zone__current,1022,_AddStreamState,945,_AssertionError,946,_AsyncAwaitCompleter,947,_AsyncCallbackEntry,948,_AsyncCompleter,949,_AsyncRun__initializeScheduleImmediate,1033,_AsyncRun__initializeScheduleImmediate_closure,950,_AsyncRun__initializeScheduleImmediate_internalCallback,951,_AsyncRun__scheduleImmediateClosure,1061,_AsyncRun__scheduleImmediateJsOverride,1062,_AsyncRun__scheduleImmediateJsOverride_internalCallback,952,_AsyncRun__scheduleImmediateWithSetImmediate,1063,_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback,953,_AsyncRun__scheduleImmediateWithTimer,1064,_Base64Decoder,954,_Base64Decoder__allocateBuffer,1010,_Base64Decoder__checkPadding,1015,_Base64Decoder__emptyBuffer,1024,_Base64Decoder__inverseAlphabet,1036,_Base64Decoder__trimPaddingChars,1070,_Base64Decoder_decodeChunk,1096,_Base64Encoder,955,_Base64Encoder_encodeChunk,1100,_BroadcastStream,956,_BroadcastStreamController,957,_BroadcastSubscription,556,_BufferingStreamSubscription,552,_BufferingStreamSubscription__registerErrorHandler,268,_Completer,958,_ControllerStream,959,_ControllerSubscription,960,_CopyingBytesBuilder,961,_CopyingBytesBuilder__emptyList,1025,_CyclicInitializationError,962,_DelayedData,963,_DelayedEvent,964,_DoneStreamSubscription,551,_Enum,965,_Error,966,_Error_compose,1090,_EventDispatch,967,_Exception,968,_FunctionParameters,969,_Future,970,_FutureListener,971,_Future__addListener_closure,972,_Future__asyncCompleteError_closure,973,_Future__asyncCompleteWithValue_closure,974,_Future__chainCoreFuture,1014,_Future__chainCoreFuture_closure,975,_Future__chainForeignFuture_closure,976,_Future__chainForeignFuture_closure0,976,_Future__chainForeignFuture_closure1,976,_Future__prependListeners_closure,977,_Future__propagateToListeners,1058,_Future__propagateToListeners_handleError,978,_Future__propagateToListeners_handleValueCallback,979,_Future__propagateToListeners_handleWhenCompleteCallback,980,_Future__propagateToListeners_handleWhenCompleteCallback_closure,981,_Future__propagateToListeners_handleWhenCompleteCallback_closure0,981,_HashMap,982,_HashMapKeyIterable,983,_HashMapKeyIterator,984,_HashMap__getTableEntry,1031,_HashMap__newHashTable,1053,_HashMap__setTableEntry,1066,_IdentityHashMap,985,_JSSecureRandom,723,_JS_INTEROP_INTERCEPTOR_TAG,986,_KeysOrValues,987,_KeysOrValuesOrElementsIterator,988,_NativeTypedArrayOfDouble_NativeTypedArray_ListMixin,989,_NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin,990,_NativeTypedArrayOfInt_NativeTypedArray_ListMixin,991,_NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin,992,_Parser_collectArray,1088,_Parser_create,1091,_Parser_handleArguments,1131,_Parser_handleDigit,1132,_Parser_handleExtendedOperations,1133,_Parser_handleIdentifier,1134,_Parser_handleTypeArguments,1135,_Parser_indexToType,1137,_Parser_parse,1163,_Parser_toType,1176,_Parser_toTypes,1177,_Parser_toTypesNamed,1178,_PendingEvents,993,_PendingEvents_schedule_closure,994,_Required,995,_RootZone,996,_RootZone_bindCallbackGuarded_closure,997,_StackTrace,998,_StreamControllerLifecycle,999,_StreamImpl,1000,_StreamIterator,1001,_StringStackTrace,1002,_SyncBroadcastStreamController,1003,_SyncBroadcastStreamController__sendData_closure,566,_TimerImpl,254,_TimerImpl$,814,_TimerImpl_internalCallback,1004,_Type,134,_TypeError,1005,_TypeError$fromMessage,1115,_TypeError__TypeError$forType,1111,_Universe__canonicalRecipeJoin,1012,_Universe__canonicalRecipeJoinNamed,1013,_Universe__createFutureOrRti,1018,_Universe__createGenericFunctionRti,1019,_Universe__createQuestionRti,1020,_Universe__createStarRti,1021,_Universe__installTypeTests,1034,_Universe__lookupBindingRti,1043,_Universe__lookupFunctionRti,1044,_Universe__lookupFutureOrRti,1045,_Universe__lookupGenericFunctionParameterRti,1046,_Universe__lookupGenericFunctionRti,1047,_Universe__lookupInterfaceRti,1048,_Universe__lookupQuestionRti,1049,_Universe__lookupRecordRti,1050,_Universe__lookupStarRti,1051,_Universe__lookupTerminalRti,1052,_Universe_addErasedTypes,1074,_Universe_addRules,1075,_Universe_bind,1084,_Universe_eval,1101,_Universe_evalInEnvironment,1102,_Universe_findErasedType,1107,_Universe_findRule,1108,_UnmodifiableMapMixin,1006,_UnmodifiableMapView_MapView__UnmodifiableMapMixin,1007,_UnmodifiableNativeByteBufferView,1008,_Utils_newArrayOrEmpty,1152,_Utils_objectAssign,1160,_Zone,1009,_areArgumentsSubtypes,245,_arrayInstanceType,123,_asBool,160,_asBoolQ,162,_asBoolS,161,_asDouble,163,_asDoubleQ,165,_asDoubleS,164,_asInt,167,_asIntQ,169,_asIntS,168,_asNum,171,_asNumQ,173,_asNumS,172,_asObject,155,_asString,175,_asStringQ,177,_asStringS,176,_asTop,157,_asyncAwait,258,_asyncRethrow,260,_asyncReturn,259,_asyncStartSync,257,_awaitOnObject,261,_awaitOnObject_closure,1011,_awaitOnObject_closure0,1011,_callDartFunctionFast,330,_callDartFunctionFast1,333,_checkValidIndex,98,_checkValidRange,99,_convertDartFunctionFast,329,_createRuntimeType,133,_diagnoseUnsupportedOperation,47,_ensureNativeList,95,_failedAsCheck,149,_finishIsFn,139,_functionRtiToString,180,_functionToJS1,332,_generalAsCheckImplementation,147,_generalIsTestImplementation,142,_generalNullableAsCheckImplementation,148,_generalNullableIsTestImplementation,143,_hashSeed,810,_installSpecializedAsCheck,140,_installSpecializedIsTest,136,_instanceType,124,_instanceTypeFromConstructor,125,_instanceTypeFromConstructorMiss,126,_interceptError,264,_interceptUserError,265,_invokeClosure,59,_isBool,159,_isFunctionSubtype,242,_isFutureOr,153,_isInCallbackLoop,1037,_isInt,166,_isInterfaceSubtype,243,_isListTestViaProperty,146,_isNever,158,_isNum,170,_isObject,154,_isRecordSubtype,246,_isString,174,_isSubtype,240,_isTestViaProperty,145,_isTop,156,_iterablePartsToStrings,327,_lastCallback,1039,_lastPriorityCallback,1040,_makeAsyncAwaitCompleter,255,_microtaskLoop,269,_nextCallback,1054,_noDartifyRequired,340,_noJsifyRequired,334,_nullDoneHandler,278,_nullErrorHandler,277,_nullIs,141,_recordRtiToString,179,_registerErrorHandler,268,_rootHandleError,279,_rootHandleError_closure,1060,_rootRun,280,_rootRunBinary,282,_rootRunUnary,281,_rootScheduleMicrotask,283,_rtiArrayToString,178,_rtiToString,182,_runGuarded,275,_scheduleAsyncCallback,271,_schedulePriorityAsyncCallback,272,_setArrayType,119,_startMicrotaskLoop,270,_structuralTypeOf,129,_substitute,108,_substituteArray,115,_substituteFunctionParameters,117,_substituteNamed,116,_unminifyOrTag,183,_unwrapNonDartException,55,_wrapJsFunctionForAsync,262,_wrapJsFunctionForAsync_closure,1072,allowInterop,331,alternateTagFunction,1076,applyHooksTransformer,91,argumentErrorValue,40,assertThrow,76,async__AsyncRun__scheduleImmediateJsOverride$closure,1078,async__AsyncRun__scheduleImmediateWithSetImmediate$closure,1079,async__AsyncRun__scheduleImmediateWithTimer$closure,1080,async___nullDoneHandler$closure,1081,async___nullErrorHandler$closure,1082,async___startMicrotaskLoop$closure,1083,bool,1085,boolConversionCheck,75,callMethod,336,checkNotNullable,9,closureFromTearOff,68,closureFunctionType,120,convertDartClosureToJS,60,convertDartClosureToJSUncached,61,createRecordTypePredicate,92,createRuntimeType,131,dartify,341,dartify_convert,1095,defineProperty,79,diagnoseIndexError,38,diagnoseRangeError,39,dispatchRecordsForInstanceTags,1098,double,1099,fillLiteralMap,58,findNALUIndices,342,findType,107,getAlgoOptions,355,getInterceptor$,1120,getInterceptor$asx,1121,getInterceptor$ax,1122,getInterceptor$x,1123,getIsolateAffinityTag,78,getNativeInterceptor,1,getRuntimeTypeOfDartObject,128,getTagFunction,1128,getTraceFromException,56,getTrackCryptor,344,getTrackCryptor_closure,1129,getTypeFromTypesTable,127,iae,36,initHooks,90,initHooks_closure,1138,initHooks_closure0,1138,initHooks_closure1,1138,initNativeDispatch,88,initNativeDispatchContinue,89,initNativeDispatchFlag,1139,initializeExceptionWrapper,42,instanceOrFunctionType,121,instanceType,122,int,1140,interceptorsForUncacheableTags,1142,ioore,37,isDefinitelyTopType,137,isJsIndexable,13,isNullable,247,isSoundTopType,248,isSubtype,239,isToStringVisiting,10,jsify,335,jsify__convert,1145,keyProviders,1146,logger,812,lookupAndCacheInterceptor,80,main,349,main__closure,1148,main__closure0,1148,main__closure1,1148,main__closure2,1148,main_closure,1149,main_closure0,1149,main_closure1,1149,main_closure2,1149,makeDefaultDispatchRecord,87,makeDispatchRecord,0,makeLeafDispatchRecord,86,num,1159,objectHashCode,57,participantCryptors,1164,patchInteriorProto,85,printString,351,promiseToFuture,337,promiseToFuture_closure,1165,promiseToFuture_closure0,1165,prototypeForTagFunction,1166,quoteStringForRegExp,93,saveStackTrace,54,scheduleMicrotask,273,throwConcurrentModificationError,48,throwCyclicInit,77,throwExpression,44,throwExpressionWithWrapper,45,throwLateFieldADI,353,throwLateFieldNI,352,throwUnsupportedOperation,46,toStringVisiting,1175,toStringWrapper,43,typeLiteral,135,unminifyOrTag,12,unsetCryptorParticipant,348,unsetCryptorParticipant_closure,1184,unwrapException,53,wrapException,41", - "instance": "$add,1189,$and,1190,$arguments,1216,$call,1252,$div,1191,$eq,1192,$ge,1193,$gt,1194,$index,1195,$indexSet,1196,$le,1197,$lt,1198,$mod,1199,$mul,1200,$negate,1201,$or,1202,$protected,1235,$shl,1203,$shr,1204,$sub,1205,$tdiv,1206,$this,1243,$xor,1207,T,1214,_,1208,_0,1209,_JSSecureRandom$0,814,_TimerImpl$2,814,__,1210,__0,1211,__FrameCryptor_kind_A,1673,__ParticipantKeyHandler_cryptoKeyRing_A,1683,___,1212,__internal$_current,1290,__internal$_index,1293,__internal$_iterable,1294,__internal$_length,1296,__internal$_name,1298,__js_helper$_addHashTableEntry,1300,__js_helper$_addHashTableEntry$3,1300,__js_helper$_current,1311,__js_helper$_getBucket$2,1317,__js_helper$_index,1320,__js_helper$_kind,1326,__js_helper$_length,1328,__js_helper$_message,1331,__js_helper$_name,1335,__js_helper$_rest,1345,__rti$_message,1375,_add,1384,_add$1,1384,_addAllFromArray,1274,_addAllFromArray$1,1274,_addEventError,1385,_addEventError$0,1385,_addHashTableEntry,1499,_addHashTableEntry$3,1499,_addListener,1386,_addListener$1,1386,_addPending,1387,_addPending$1,1387,_addStreamState,1388,_alphabet,1519,_arguments,1301,_argumentsExpr,1302,_as,1364,_async$_box_0,1392,_async$_controller,1432,_async$_hasValue,1447,_async$_next,1462,_async$_previous,1475,_asyncComplete,1389,_asyncComplete$1,1389,_asyncCompleteError,1390,_asyncCompleteError$2,1390,_asyncCompleteWithValue,1391,_asyncCompleteWithValue$1,1391,_bind,1365,_bind$1,1365,_bindCache,1366,_box_0,1303,_box_1,1393,_buffer,1289,_cachedRuntimeType,1367,_callOnCancel,1394,_callOnCancel$0,1394,_canFire,1395,_cancelFuture,1396,_canonicalRecipe,1368,_captured_T_1,1540,_captured__convertedObjects_0,1541,_captured_arguments_2,1304,_captured_bodyFunction_0,1397,_captured_callback_0,1398,_captured_callback_1,1399,_captured_completer_0,1542,_captured_data_1,1400,_captured_decryptFrameInternal_3,1676,_captured_dispatch_1,1401,_captured_div_1,1402,_captured_e_1,1403,_captured_error_0,1404,_captured_error_1,1405,_captured_f_1,1406,_captured_future_1,1407,_captured_getTag_0,1305,_captured_getUnknownTag_0,1306,_captured_handleMessage_0,1686,_captured_hasError_2,1408,_captured_headerLength_5,1677,_captured_ivLength_6,1678,_captured_iv_3,1679,_captured_joinedResult_0,1409,_captured_listener_1,1410,_captured_name_0,1688,_captured_namedArgumentList_1,1307,_captured_originalSource_1,1411,_captured_protected_0,1412,_captured_prototypeForTag_0,1308,_captured_result_1,1501,_captured_s_2,1413,_captured_sb_1,1525,_captured_sourceResult_1,1414,_captured_span_2,1415,_captured_srcFrame_4,1680,_captured_stackTrace_1,1416,_captured_stackTrace_2,1417,_captured_target_1,1418,_captured_this_0,1419,_captured_this_1,1420,_captured_this_2,1681,_captured_trackId_0,1687,_captured_value_1,1421,_cell,1309,_chainForeignFuture,1422,_chainForeignFuture$1,1422,_chainFuture,1423,_chainFuture$1,1423,_chainSource,1424,_checkMutable$1,1354,_checkPosition,1355,_checkPosition$3,1355,_checkState,1425,_checkState$1,1425,_children,1689,_clearPendingComplete$0,1426,_cloneResult,1427,_cloneResult$1,1427,_codeUnitAt$1,1275,_collection$_box_0,1500,_collection$_current,1505,_collection$_keys,1509,_collection$_length,1510,_collection$_map,1511,_collection$_nums,1512,_collection$_removeHashTableEntry$2,1515,_collection$_rest,1516,_collection$_strings,1518,_complete$1,1428,_completeError,1429,_completeError$2,1429,_completeWithResultOf,1430,_completeWithResultOf$1,1430,_completeWithValue,1431,_completeWithValue$1,1431,_computeHashCode$1,1502,_computeKeys,1503,_computeKeys$0,1503,_containsKey,1504,_containsKey$1,1504,_containsTableEntry$2,1310,_contents,1526,_controller,1690,_convert$_state,1521,_convertedObjects,1215,_core$_arguments,1523,_core$_box_0,1524,_core$_memberName,1532,_core$_receiver,1536,_createSubscription$4,1433,_current,1276,_data,1356,_decryptionFailureCount,1684,_deleteTableEntry$2,1312,_doneFuture,1434,_dynamicCheckData,1369,_e2ee_cryptor$_box_0,1674,_e2ee_cryptor$_box_1,1675,_elements,1313,_enabled,1682,_encoder,1520,_enumToString,1527,_enumToString$0,1527,_error,1435,_errorExplanation,1528,_errorName,1529,_errorTest,1436,_eval,1370,_eval$1,1370,_evalCache,1371,_eventScheduled,1437,_eventState,1438,_exception,1314,_existingArgumentNames,1530,_expectsEvent$1,1439,_expr,1315,_f,1291,_findBucketIndex,1506,_findBucketIndex$2,1506,_first,1316,_firstSubscription,1440,_forEachListener,1441,_forEachListener$1,1441,_future,1442,_get,1507,_get$1,1507,_getBucket,1508,_getBucket$2,1508,_getRandomBytes$2,1544,_getStream,1691,_getStream$0,1691,_getTableBucket$2,1318,_getTableCell$2,1319,_getUint32$2,1357,_grow$1,1292,_handle,1443,_hasError,1444,_hasOneListener,1445,_hasPending,1446,_hasValidKey,1685,_hasValue,1531,_ignoreError,1448,_index,1277,_interceptor,1321,_internalName,1322,_invalidPosition,1358,_invalidPosition$3,1358,_irritant,1323,_is,1372,_isCanceled,1449,_isChained,1450,_isComplete,1451,_isEmpty,1452,_isFiring,1453,_isInputPaused,1454,_isInt32$1,1278,_isPaused,1455,_isSubtypeCache,1373,_isUnmodifiable$0,1359,_iterable,1279,_iterator,1295,_jsIndex,1324,_keys,1325,_kind,1374,_last,1327,_lastSubscription,1456,_length,1280,_level,1692,_levelChangedController,1693,_map,1329,_math$_buffer,1543,_mayAddEvent,1457,_mayAddListener,1458,_mayComplete,1459,_mayResumeInput,1460,_memberName,1330,_message,1297,_method,1332,_microsecond,1533,_modifications,1333,_modified,1334,_modified$0,1334,_name,1534,_named,1376,_namedArgumentNames,1336,_namedArguments,1535,_nativeBuffer,1360,_newFutureWithSameType$0,1461,_newHashTable,1337,_newHashTable$0,1337,_newLinkedCell,1338,_newLinkedCell$2,1338,_next,1339,_nextListener,1463,_nums,1340,_offset,1513,_onData,1464,_onDone,1465,_onError,1466,_onListen$1,1467,_onMicrotask,1468,_onMicrotask$0,1468,_onPause,1469,_onPause$0,1469,_onResume,1470,_onResume$0,1470,_onValue,1471,_once,1472,_optionalPositional,1377,_pattern,1341,_pending,1473,_precomputed1,1378,_prependListeners,1474,_prependListeners$1,1474,_previous,1342,_primary,1379,_publish,1694,_publish$1,1694,_receiver,1343,_recordPause$1,1476,_recordResume$1,1477,_remove$1,1514,_removeAfterFiring,1478,_removeHashTableEntry,1344,_removeHashTableEntry$2,1344,_removeListener$1,1479,_removeListeners,1480,_removeListeners$0,1480,_requiredPositional,1380,_rest,1381,_resultOrListeners,1481,_reverseListeners,1482,_reverseListeners$1,1482,_rti,1382,_scheduleMicrotask,1483,_sendData,1484,_sendData$1,1484,_set$2,1517,_setChained$1,1485,_setError$2,1486,_setErrorObject,1487,_setErrorObject$1,1487,_setInt8,1361,_setInt8$2,1361,_setKeys$1,1346,_setPendingComplete$0,1488,_setRangeFast$4,1362,_setTableEntry$3,1347,_setUint32$3,1363,_setValue$1,1489,_shlPositive$1,1281,_shrBothPositive,1282,_shrBothPositive$1,1282,_shrOtherPositive,1283,_shrOtherPositive$1,1283,_shrReceiverPositive$1,1284,_source,1299,_specializedTestResource,1383,_stackTrace,1537,_state,1490,_stateData,1491,_strings,1348,_subscribe,1492,_subscribe$4,1492,_subscription,1493,_target,1349,_tdivFast,1285,_tdivFast$1,1285,_tdivSlow,1286,_tdivSlow$1,1286,_thenAwait,1494,_thenAwait$1$2,1494,_tick,1495,_toListFixed$0,1287,_toListGrowable$0,1288,_toggleEventId$0,1496,_trace,1350,_typeArgumentCount,1351,_unlinkCell,1352,_unlinkCell$1,1352,_urlSafe,1522,_value,1538,_values,1353,_whenCompleteAction,1497,_writeString$1,1539,_zone,1498,abs$0,1244,add,1245,add$1,1245,addAll,1246,addAll$1,1246,argumentCount,1247,asUint8List,1248,asUint8List$0,1248,asUint8List$2,1248,bindCallback$1$1,1249,bindCallbackGuarded,1250,bindCallbackGuarded$1,1250,bodyFunction,1217,buffer,1251,callback,1253,ceilToDouble$0,1254,checkGrowable$2,1255,children,1256,close$2,1257,code,1258,codeUnitAt$1,1259,codec,1260,comma,1261,complete,1262,complete$1,1262,completeError,1263,completeError$1,1263,completeError$2,1263,completer,1218,config$1,1264,consecutiveSifCount,1265,contains$1,1266,containsKey,1267,containsKey$1,1267,convert,1268,convert$1,1268,count,1269,createBuffer$1,1270,cryptoKeyRing,1271,current,1094,currentKeyIndex,1272,currentkeySet,1273,dartException,1545,data,1219,day,1546,decode,1547,decode$1,1547,decode$3,1547,decodeFunction,1548,decodeFunction$2,1548,decodeFunction$body$FrameCryptor,1548,decoder,1549,decryptFrameInternal,1220,decrypted,1550,decryptionFailure,1551,decryptionFailure$0,1551,decryptionSuccess$0,1552,deriveKeys,1553,deriveKeys$2,1553,discardFrameWhenCryptorNotReady,1554,dispatch,1221,div,1222,e,1223,elementAt,1555,elementAt$1,1555,enabled,1556,encode,1557,encode$1,1557,encode$4,1557,encodeFunction,1558,encodeFunction$2,1558,encodeFunction$body$FrameCryptor,1558,encoder,1559,encryptionKey,1560,end,1561,endsWith,1562,endsWith$1,1562,enqueueFrame,1563,enqueueFrame$3,1563,error,1564,errorCallback,1565,errorCallback$2,1565,errorZone,1566,exportKey,1567,exportKey$1,1567,f,1224,failureTolerance,1568,fine$1,1569,finer$1,1570,first,1571,firstPendingEvent,1572,floorToDouble$0,1573,forEach,1574,forEach$1,1574,frameType,1575,fullName,1576,future,1577,get$$call,1252,get$_,1208,get$_0,1209,get$__,1210,get$__0,1211,get$___,1212,get$__js_helper$_addHashTableEntry,1300,get$__js_helper$_name,1335,get$_add,1384,get$_addAllFromArray,1274,get$_addEventError,1385,get$_addHashTableEntry,1499,get$_addListener,1386,get$_addPending,1387,get$_asyncComplete,1389,get$_asyncCompleteError,1390,get$_asyncCompleteWithValue,1391,get$_bind,1365,get$_callOnCancel,1394,get$_canFire,1395,get$_chainForeignFuture,1422,get$_chainFuture,1423,get$_chainSource,1424,get$_checkPosition,1355,get$_checkState,1425,get$_cloneResult,1427,get$_completeError,1429,get$_completeWithResultOf,1430,get$_completeWithValue,1431,get$_computeKeys,1503,get$_containsKey,1504,get$_core$_arguments,1523,get$_core$_memberName,1532,get$_core$_receiver,1536,get$_enumToString,1527,get$_error,1435,get$_errorExplanation,1528,get$_errorName,1529,get$_errorTest,1436,get$_eval,1370,get$_eventScheduled,1437,get$_existingArgumentNames,1530,get$_findBucketIndex,1506,get$_forEachListener,1441,get$_get,1507,get$_getBucket,1508,get$_getStream,1691,get$_hasError,1444,get$_hasOneListener,1445,get$_hasPending,1446,get$_ignoreError,1448,get$_invalidPosition,1358,get$_isCanceled,1449,get$_isChained,1450,get$_isComplete,1451,get$_isEmpty,1452,get$_isFiring,1453,get$_isInputPaused,1454,get$_isPaused,1455,get$_keys,1325,get$_mayAddEvent,1457,get$_mayAddListener,1458,get$_mayComplete,1459,get$_mayResumeInput,1460,get$_modified,1334,get$_namedArguments,1535,get$_nativeBuffer,1360,get$_newHashTable,1337,get$_newLinkedCell,1338,get$_onError,1466,get$_onMicrotask,1468,get$_onPause,1469,get$_onResume,1470,get$_onValue,1471,get$_prependListeners,1474,get$_publish,1694,get$_removeAfterFiring,1478,get$_removeHashTableEntry,1344,get$_removeListeners,1480,get$_reverseListeners,1482,get$_scheduleMicrotask,1483,get$_sendData,1484,get$_setErrorObject,1487,get$_setInt8,1361,get$_shrBothPositive,1282,get$_shrOtherPositive,1283,get$_subscribe,1492,get$_target,1349,get$_tdivFast,1285,get$_tdivSlow,1286,get$_thenAwait,1494,get$_unlinkCell,1352,get$_whenCompleteAction,1497,get$_zone,1498,get$add,1245,get$addAll,1246,get$asUint8List,1248,get$bindCallbackGuarded,1250,get$buffer,1251,get$complete,1262,get$completeError,1263,get$containsKey,1267,get$convert,1268,get$cryptoKeyRing,1271,get$current,1094,get$day,1546,get$decode,1547,get$decodeFunction,1548,get$decoder,1549,get$decryptionFailure,1551,get$deriveKeys,1553,get$elementAt,1555,get$enabled,1556,get$encode,1557,get$encodeFunction,1558,get$encoder,1559,get$end,1561,get$endsWith,1562,get$enqueueFrame,1563,get$errorZone,1566,get$exportKey,1567,get$forEach,1574,get$fullName,1576,get$future,1577,get$getKeySet,1578,get$getParticipantKeyHandler,1579,get$getSharedKeyHandler,1581,get$getUnencryptedBytes,1583,get$handleError,1584,get$handlesComplete,1589,get$handlesError,1590,get$handlesValue,1591,get$hasErrorCallback,1592,get$hasErrorTest,1593,get$hasValidKey,1594,get$hashCode,1595,get$hour,1598,get$internalComputeHashCode,1606,get$internalFindBucketIndex,1608,get$internalGet,1609,get$invalidValue,1612,get$isAccessor,1613,get$isClosed,1614,get$isEmpty,1615,get$isGetter,1616,get$isNotEmpty,1618,get$isScheduled,1619,get$iterator,1624,get$keyOptions,1627,get$keys,1630,get$kind,1631,get$lastIndexOf,1633,get$length,1636,get$lengthInBytes,1637,get$level,1638,get$listen,1639,get$log,1644,get$map,1647,get$matchTypeError,1649,get$matchesErrorTest,1650,get$memberName,1652,get$microsecond,1654,get$millisecond,1655,get$millisecondsSinceEpoch,1656,get$minute,1657,get$month,1659,get$moveNext,1660,get$namedArguments,1662,get$nextInt,1665,get$noSuchMethod,1666,get$offsetInBytes,1669,get$onRecord,1672,get$positionalArguments,1700,get$putIfAbsent,1702,get$ratchet,1703,get$ratchetKey,1705,get$ratchetMaterial,1706,get$readFrameInfo,1709,get$recordUserFrame,1711,get$registerBinaryCallback,1712,get$remove,1716,get$reset,1718,get$run,1721,get$runBinary,1722,get$runGuarded,1723,get$runUnary,1724,get$runUnaryGuarded,1725,get$runtimeType,1726,get$schedule,1727,get$second,1728,get$setKey,1733,get$setKeySetFromMaterial,1735,get$setRange,1737,get$setupTransform,1741,get$stackTrace,1750,get$start,1751,get$startsWith,1752,get$stream,1755,get$sublist,1756,get$substring,1757,get$then,1759,get$toBytes,1762,get$toInt,1763,get$toRadixString,1766,get$toString,1767,get$year,1780,getKeySet,1578,getKeySet$1,1578,getParticipantKeyHandler,1579,getParticipantKeyHandler$1,1579,getRange$2,1580,getSharedKeyHandler,1581,getSharedKeyHandler$0,1581,getTag,1225,getUint32$1,1582,getUnencryptedBytes,1583,getUnencryptedBytes$2,1583,getUnknownTag,1226,handleError,1584,handleError$1,1584,handleMessage,1227,handleNext$1,1585,handleUncaughtError$2,1586,handleValue$1,1587,handleWhenComplete$0,1588,handlesComplete,1589,handlesError,1590,handlesValue,1591,hasError,1228,hasErrorCallback,1592,hasErrorTest,1593,hasValidKey,1594,hashCode,1595,hashMapCellKey,1596,hashMapCellValue,1597,headerLength,1229,hour,1598,id,1599,inSameErrorZone$1,1600,index,1601,indexable,1602,info$1,1603,initialKeyIndex,1604,initialKeySet,1605,internalComputeHashCode,1606,internalComputeHashCode$1,1606,internalContainsKey$1,1607,internalFindBucketIndex,1608,internalFindBucketIndex$2,1608,internalGet,1609,internalGet$1,1609,internalRemove$1,1610,internalSet$2,1611,invalidValue,1612,isAccessor,1613,isClosed,1614,isEmpty,1615,isGetter,1616,isLoggable$1,1617,isNotEmpty,1618,isScheduled,1619,isSifAllowed$0,1620,isSync,1621,isUndefined,1622,isUtc,1623,iterator,1624,iv,1231,ivLength,1230,join$1,1625,joinedResult,1232,keyHandler,1626,keyOptions,1627,keyProviderOptions,1628,keyRingSze,1629,keys,1630,kind,1631,lastError,1632,lastIndexOf,1633,lastIndexOf$1,1633,lastPendingEvent,1634,lastSifReceivedAt,1635,length,1636,lengthInBytes,1637,level,1638,listen,1639,listen$1,1639,listen$4$cancelOnError$onDone$onError,1639,listener,1640,listenerHasError,1641,listenerValueOrError,1642,listeners,1643,log,1644,log$4,1644,loggerName,1645,makeIv$2$synchronizationSource$timestamp,1646,map,1647,map$1$1,1647,matchAsPrefix$2,1648,matchTypeError,1649,matchTypeError$1,1649,matchesErrorTest,1650,matchesErrorTest$1,1650,material,1651,memberName,1652,message,1653,microsecond,1654,millisecond,1655,millisecondsSinceEpoch,1656,minute,1657,modifiedObject,1658,month,1659,moveNext,1660,moveNext$0,1660,name,1661,namedArgumentList,1233,namedArguments,1662,names,1663,next,1664,nextInt,1665,nextInt$1,1665,noSuchMethod,1666,noSuchMethod$1,1666,object,1667,offset,1668,offsetInBytes,1669,onCancel,1670,onListen,1671,onRecord,1672,originalSource,1234,padLeft$2,1695,parent,1696,participantIdentity,1697,participantKeys,1698,perform$1,1699,positionalArguments,1700,postMessage$1,1701,prototypeForTag,1236,putIfAbsent,1702,putIfAbsent$2,1702,ratchet,1703,ratchet$2,1703,ratchetCount,1704,ratchetKey,1705,ratchetKey$1,1705,ratchetMaterial,1706,ratchetMaterial$2,1706,ratchetSalt,1707,ratchetWindowSize,1708,readFrameInfo,1709,readFrameInfo$1,1709,recordSif$0,1710,recordUserFrame,1711,recordUserFrame$0,1711,registerBinaryCallback,1712,registerBinaryCallback$3$1,1712,registerCallback$1$1,1713,registerUnaryCallback$2$1,1714,remainder$1,1715,remove,1716,remove$1,1716,removeLast$0,1717,reset,1718,reset$0,1718,resetKeyStatus$0,1719,result,1720,run,1721,run$1$1,1721,runBinary,1722,runBinary$3$3,1722,runGuarded,1723,runGuarded$1,1723,runUnary,1724,runUnary$2$2,1724,runUnaryGuarded,1725,runUnaryGuarded$1$2,1725,runtimeType,1726,s,1237,sb,1238,schedule,1727,schedule$1,1727,scheduleMicrotask$1,273,second,1728,sendCounts,1729,sequenceNumber,1730,set$__ParticipantKeyHandler_cryptoKeyRing_A,1683,set$__internal$_current,1290,set$__js_helper$_current,1311,set$_async$_next,1462,set$_async$_previous,1475,set$_collection$_current,1505,set$_controller,1690,set$_current,1276,set$_firstSubscription,1440,set$_lastSubscription,1456,set$_onDone,1465,set$_pending,1473,set$cryptoKeyRing,1271,set$kind,1631,set$length,1636,set$level,1638,setEnabled$1,1731,setInt8$2,1732,setKey,1733,setKey$1,1733,setKey$2$keyIndex,1733,setKeyIndex$1,1734,setKeySetFromMaterial,1735,setKeySetFromMaterial$2,1735,setParticipant$2,1736,setRange,1737,setRange$3,1737,setRange$4,1737,setSharedKey$2$keyIndex,1738,setSifTrailer$1,1739,setUint32$2,1740,setupTransform,1741,setupTransform$5$kind$operation$readable$trackId$writable,1741,setupTransform$6$codec$kind$operation$readable$trackId$writable,1741,setupTransform$body$FrameCryptor,1741,sharedKey,1742,sharedKeyHandler,1743,shouldChain$1,1744,sifGuard,1745,sifSequenceStartedAt,1746,skip$1,1747,source,1748,sourceResult,1239,span,1240,srcFrame,1241,ssrc,1749,stackTrace,1750,start,1751,startsWith,1752,startsWith$1,1752,state,1753,storedCallback,1754,stream,1755,sublist,1756,sublist$1,1756,sublist$2,1756,substring,1757,substring$1,1757,substring$2,1757,super$LegacyJavaScriptObject$toString,1767,super$_BroadcastStreamController$_addEventError,1213,take$1,1758,target,1242,then,1759,then$1$2$onError,1759,time,1760,timestamp,1761,toBytes,1762,toBytes$0,1762,toInt,1763,toInt$0,1763,toList$1$growable,1764,toLowerCase$0,1765,toRadixString,1766,toRadixString$1,1766,toString,1767,toString$0,1767,trackId,1768,truncateToDouble$0,1769,uncryptedMagicBytes,1770,unsetParticipant$0,1771,updateCodec$1,1772,userFramesSinceSif,1773,value,1185,variableName,1774,warning$1,1775,where$1,1776,worker,1777,write$1,1778,writeAll$2,1779,year,1780,zone,1781" + "global": "$get$DART_CLOSURE_PROPERTY_NAME,778,$get$Logger_root,1159,$get$Random__secureRandom,1052,$get$TypeErrorDecoder_noSuchMethodPattern,1141,$get$TypeErrorDecoder_notClosurePattern,1142,$get$TypeErrorDecoder_nullCallPattern,1143,$get$TypeErrorDecoder_nullLiteralCallPattern,1144,$get$TypeErrorDecoder_nullLiteralPropertyPattern,1145,$get$TypeErrorDecoder_nullPropertyPattern,1146,$get$TypeErrorDecoder_undefinedCallPattern,1168,$get$TypeErrorDecoder_undefinedLiteralCallPattern,1169,$get$TypeErrorDecoder_undefinedLiteralPropertyPattern,1170,$get$TypeErrorDecoder_undefinedPropertyPattern,1171,$get$_AsyncRun__scheduleImmediateClosure,1048,$get$_Base64Decoder__emptyBuffer,1014,$get$_Base64Decoder__inverseAlphabet,1025,$get$_CopyingBytesBuilder__emptyList,1015,$get$_hashSeed,795,$get$_safeToStringHooks,780,$get$logger,797,Algorithm,800,ArgumentError,299,ArgumentError$,799,ArgumentError$value,1174,ArrayIterator,801,AssertionError,298,AssertionError$,799,AsyncError,802,AsyncError_defaultStackTrace,1084,Base64Codec,803,Base64Decoder,804,Base64Encoder,805,BoundClosure,806,BoundClosure__computeFieldNamed,1007,BoundClosure__interceptorFieldNameCache,1024,BoundClosure__receiverFieldNameCache,1046,BoundClosure_evalRecipe,1090,BoundClosure_interceptorOf,1129,BoundClosure_receiverOf,1158,ByteBuffer,807,ByteData,808,BytesBuilder,720,Closure,809,Closure0Args,810,Closure2Args,811,Closure__computeSignatureFunction,1008,Closure_cspForwardCall,1079,Closure_cspForwardInterceptedCall,1080,Closure_forwardCallTo,1100,Closure_forwardInterceptedCallTo,1101,Closure_fromTearOff,1103,Codec,812,ConcurrentModificationError,309,ConcurrentModificationError$,799,ConstantMap,813,ConstantMapView,814,ConstantStringMap,815,Converter,816,CryptorError,817,DART_CLOSURE_PROPERTY_NAME,778,DateTime,818,DateTime__fourDigits,1016,DateTime__threeDigits,1055,DateTime__twoDigits,1058,E2EEDataPacketCryptor,819,E2EEDataPacketCryptor_decrypt_decryptFrameInternal,820,E2EEDataPacketCryptor_decrypt_ratchedKeyInternal,821,EfficientLengthIterable,822,EfficientLengthMappedIterable,823,EncryptedPacket,824,Error,825,Error__throw,1056,Error_safeToString,1160,Error_throwWithStackTrace,1162,ExceptionAndStackTrace,826,Exception_Exception,799,FixedLengthListMixin,827,Float32List,828,Float64List,829,FormatException,311,FormatException$,799,FrameCryptor,332,FrameCryptor_decodeFunction_decryptFrameInternal,830,FrameCryptor_decodeFunction_ratchedKeyInternal,831,FrameInfo,832,Function,833,Future,834,IndexError,835,IndexError$withLength,1177,Int16List,836,Int32List,837,Int8List,838,Interceptor,839,Invocation,840,Iterable,841,IterableExtension_firstWhereOrNull,842,Iterable_iterableToFullString,1131,Iterable_iterableToShortString,1132,Iterator,843,JSArray,844,JSArraySafeToStringHook,845,JSArray_JSArray$fixed,1098,JSArray_JSArray$markFixed,1139,JSBool,846,JSInt,847,JSInvocationMirror,848,JSNull,849,JSNumNotInt,850,JSNumber,851,JSObject,852,JSString,853,JSUnmodifiableArray,854,JS_CONST,855,JavaScriptBigInt,856,JavaScriptFunction,857,JavaScriptIndexingBehavior,858,JavaScriptObject,859,JavaScriptSymbol,860,JsLinkedHashMap,861,JsNoSuchMethodError,53,JsNoSuchMethodError$,799,KeyOptions,862,KeyProvider,750,KeySet,863,LateError,864,LateError$fieldNI,1093,LegacyJavaScriptObject,865,Level,866,LinkedHashMap,867,LinkedHashMapCell,868,LinkedHashMapKeyIterator,869,LinkedHashMapKeysIterable,870,LinkedHashMap_LinkedHashMap$_empty,1013,LinkedHashMap_LinkedHashMap$_literal,1030,List,871,ListBase,872,ListIterable,873,ListIterator,874,List_List$_of,1044,List_List$filled,1094,LogRecord,875,LogRecord__nextNumber,1043,Logger,339,Logger_Logger,799,Logger_Logger_closure,876,Logger__loggers,1031,Logger_root,1159,Map,877,MapBase,878,MapBase_mapToString,1138,MapBase_mapToString_closure,879,MapView,880,MappedIterable,12,MappedIterable_MappedIterable,799,MappedIterator,881,MappedListIterable,882,NativeArrayBuffer,883,NativeByteBuffer,884,NativeByteData,91,NativeByteData_NativeByteData,799,NativeFloat32List,885,NativeFloat64List,886,NativeInt16List,887,NativeInt32List,888,NativeInt8List,889,NativeSharedArrayBuffer,890,NativeTypedArray,891,NativeTypedArrayOfDouble,892,NativeTypedArrayOfInt,893,NativeTypedData,894,NativeUint16List,895,NativeUint32List,896,NativeUint8ClampedList,897,NativeUint8List,93,NativeUint8List_NativeUint8List,799,NativeUint8List_NativeUint8List$view,1175,NoSuchMethodError,898,NoSuchMethodError_NoSuchMethodError$withInvocation,1176,NoSuchMethodError_toString_closure,899,Null,900,NullError,901,NullRejectionException,902,NullThrownFromJavaScriptException,903,Object,904,Object_hash,1124,OutOfMemoryError,905,ParticipantKeyHandler,330,ParticipantKeyHandler$,799,Pattern,906,PlainJavaScriptObject,907,Primitives__generalApplyFunction,1017,Primitives__identityHashCodeProperty,1021,Primitives_applyFunction,1064,Primitives_extractStackTrace,1092,Primitives_functionNoSuchMethod,1104,Primitives_functionNoSuchMethod_closure,908,Primitives_getDay,1106,Primitives_getHours,1107,Primitives_getMilliseconds,1112,Primitives_getMinutes,1113,Primitives_getMonth,1114,Primitives_getSeconds,1115,Primitives_getYear,1118,Primitives_lazyAsJsDate,1135,Primitives_objectHashCode,58,Primitives_objectTypeName,1149,Primitives_safeToString,1160,Primitives_stringFromNativeUint8List,1161,Primitives_trySetStackTrace,1167,Random__secureRandom,1052,RangeError,909,RangeError$range,1157,RangeError$value,1174,RangeError_checkNotNegative,1073,RangeError_checkValidRange,1074,Record,910,Rti,911,Rti__getCanonicalRecipe,1018,Rti__getFutureFromFutureOr,1019,Rti__isUnionOfFunctionType,1027,RuntimeError,912,S,15,SafeToStringHook,913,SentinelValue,914,SifGuard,915,StackOverflowError,916,StackTrace,917,StackTrace_current,1081,StateError,308,StateError$,799,StaticClosure,918,Stream,919,StreamController,920,StreamIterator_StreamIterator,799,StreamSubscription,921,Stream_length_closure,586,Stream_length_closure0,586,String,922,StringBuffer,923,StringBuffer__writeAll,1060,String_String$fromCharCodes,1102,String__stringFromUint8List,1054,Symbol,924,Symbol0,924,SystemHash_combine,1076,SystemHash_finish,1097,TearOffClosure,925,TrustedGetRuntimeType,926,TypeError,927,TypeErrorDecoder,928,TypeErrorDecoder_extractPattern,1091,TypeErrorDecoder_noSuchMethodPattern,1141,TypeErrorDecoder_notClosurePattern,1142,TypeErrorDecoder_nullCallPattern,1143,TypeErrorDecoder_nullLiteralCallPattern,1144,TypeErrorDecoder_nullLiteralPropertyPattern,1145,TypeErrorDecoder_nullPropertyPattern,1146,TypeErrorDecoder_provokeCallErrorOn,1155,TypeErrorDecoder_provokePropertyErrorOn,1156,TypeErrorDecoder_undefinedCallPattern,1168,TypeErrorDecoder_undefinedLiteralCallPattern,1169,TypeErrorDecoder_undefinedLiteralPropertyPattern,1170,TypeErrorDecoder_undefinedPropertyPattern,1171,Uint16List,929,Uint32List,930,Uint8ClampedList,931,Uint8List,932,UnimplementedError,307,UnimplementedError$,799,UnknownJavaScriptObject,933,UnknownJsTypeError,934,UnmodifiableMapView,935,UnsupportedError,306,UnsupportedError$,799,WhereIterable,936,WhereIterator,937,Zone,938,Zone__current,1012,_AddStreamState,939,_AsyncAwaitCompleter,940,_AsyncCallbackEntry,941,_AsyncCompleter,942,_AsyncRun__initializeScheduleImmediate,1022,_AsyncRun__initializeScheduleImmediate_closure,943,_AsyncRun__initializeScheduleImmediate_internalCallback,944,_AsyncRun__scheduleImmediateClosure,1048,_AsyncRun__scheduleImmediateJsOverride,1049,_AsyncRun__scheduleImmediateJsOverride_internalCallback,945,_AsyncRun__scheduleImmediateWithSetImmediate,1050,_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback,946,_AsyncRun__scheduleImmediateWithTimer,1051,_Base64Decoder,947,_Base64Decoder__allocateBuffer,1001,_Base64Decoder__checkPadding,1006,_Base64Decoder__emptyBuffer,1014,_Base64Decoder__inverseAlphabet,1025,_Base64Decoder__trimPaddingChars,1057,_Base64Decoder_decodeChunk,1083,_Base64Encoder,948,_Base64Encoder_encodeChunk,1087,_BroadcastStream,949,_BroadcastStreamController,950,_BroadcastSubscription,539,_BufferingStreamSubscription,535,_BufferingStreamSubscription__registerErrorHandler,256,_Completer,951,_ControllerStream,952,_ControllerSubscription,953,_CopyingBytesBuilder,954,_CopyingBytesBuilder__emptyList,1015,_DelayedData,955,_DelayedEvent,956,_DoneStreamSubscription,534,_Enum,957,_Error,958,_Error_compose,1077,_EventDispatch,959,_Exception,960,_FunctionParameters,961,_Future,962,_FutureListener,963,_Future__addListener_closure,964,_Future__asyncCompleteErrorObject_closure,965,_Future__asyncCompleteWithValue_closure,966,_Future__chainCoreFuture,1005,_Future__chainCoreFuture_closure,967,_Future__prependListeners_closure,968,_Future__propagateToListeners,1045,_Future__propagateToListeners_handleError,969,_Future__propagateToListeners_handleValueCallback,970,_Future__propagateToListeners_handleWhenCompleteCallback,971,_Future__propagateToListeners_handleWhenCompleteCallback_closure,972,_Future__propagateToListeners_handleWhenCompleteCallback_closure0,972,_HashMap,973,_HashMapKeyIterable,974,_HashMapKeyIterator,975,_HashMap__getTableEntry,1020,_HashMap__newHashTable,1041,_HashMap__setTableEntry,1053,_IdentityHashMap,976,_JSSecureRandom,698,_JS_INTEROP_INTERCEPTOR_TAG,977,_KeysOrValues,978,_KeysOrValuesOrElementsIterator,979,_NativeTypedArrayOfDouble_NativeTypedArray_ListMixin,980,_NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin,981,_NativeTypedArrayOfInt_NativeTypedArray_ListMixin,982,_NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin,983,_Parser_collectArray,1075,_Parser_create,1078,_Parser_handleArguments,1119,_Parser_handleDigit,1120,_Parser_handleExtendedOperations,1121,_Parser_handleIdentifier,1122,_Parser_handleTypeArguments,1123,_Parser_indexToType,1125,_Parser_parse,1150,_Parser_toType,1164,_Parser_toTypes,1165,_Parser_toTypesNamed,1166,_PendingEvents,984,_PendingEvents_schedule_closure,985,_Required,986,_RootZone,987,_RootZone_bindCallbackGuarded_closure,988,_StackTrace,989,_StreamControllerLifecycle,990,_StreamImpl,991,_StreamIterator,992,_StringStackTrace,993,_SyncBroadcastStreamController,994,_SyncBroadcastStreamController__sendData_closure,547,_TimerImpl,241,_TimerImpl$,799,_TimerImpl_internalCallback,995,_Type,128,_TypeError,996,_TypeError__TypeError$forType,1099,_Universe__canonicalRecipeJoin,1003,_Universe__canonicalRecipeJoinNamed,1004,_Universe__createFutureOrRti,1009,_Universe__createGenericFunctionRti,1010,_Universe__createQuestionRti,1011,_Universe__installTypeTests,1023,_Universe__lookupBindingRti,1032,_Universe__lookupFunctionRti,1033,_Universe__lookupFutureOrRti,1034,_Universe__lookupGenericFunctionParameterRti,1035,_Universe__lookupGenericFunctionRti,1036,_Universe__lookupInterfaceRti,1037,_Universe__lookupQuestionRti,1038,_Universe__lookupRecordRti,1039,_Universe__lookupTerminalRti,1040,_Universe_addErasedTypes,1061,_Universe_addRules,1062,_Universe_bind,1071,_Universe_eval,1088,_Universe_evalInEnvironment,1089,_Universe_findErasedType,1095,_Universe_findRule,1096,_UnmodifiableMapMixin,997,_UnmodifiableMapView_MapView__UnmodifiableMapMixin,998,_UnmodifiableNativeByteBufferView,999,_Utils_newArrayOrEmpty,1140,_Utils_objectAssign,1148,_Zone,1000,_areArgumentsSubtypes,232,_arrayInstanceType,118,_asBool,154,_asBoolQ,155,_asDouble,156,_asDoubleQ,157,_asInt,159,_asIntQ,160,_asJSObject,167,_asJSObjectQ,168,_asNum,162,_asNumQ,163,_asObject,149,_asString,165,_asStringQ,166,_asTop,151,_asyncAwait,245,_asyncRethrow,247,_asyncReturn,246,_asyncStartSync,244,_awaitOnObject,248,_awaitOnObject_closure,1002,_awaitOnObject_closure0,1002,_callDartFunctionFast,317,_callDartFunctionFast1,320,_checkValidIndex,95,_checkValidRange,96,_convertDartFunctionFast,316,_diagnoseUnsupportedOperation,48,_ensureNativeList,92,_errorForAsCheck,144,_functionRtiToString,171,_functionToJS1,319,_generalAsCheckImplementation,142,_generalIsTestImplementation,135,_generalNullableAsCheckImplementation,143,_generalNullableIsTestImplementation,136,_hashSeed,795,_installSpecializedAsCheck,134,_installSpecializedIsTest,130,_instanceType,119,_instanceTypeFromConstructor,120,_instanceTypeFromConstructorMiss,121,_interceptError,251,_interceptUserError,252,_invokeClosure,60,_isBool,153,_isFunctionSubtype,229,_isFutureOr,147,_isInCallbackLoop,1026,_isInt,158,_isInterfaceSubtype,230,_isJSObject,140,_isJSObjectStandalone,141,_isListTestViaProperty,139,_isNever,152,_isNum,161,_isObject,148,_isRecordSubtype,233,_isString,164,_isSubtype,228,_isTestViaProperty,138,_isTop,150,_iterablePartsToStrings,314,_lastCallback,1028,_lastPriorityCallback,1029,_makeAsyncAwaitCompleter,242,_microtaskLoop,257,_nextCallback,1042,_noDartifyRequired,327,_noJsifyRequired,321,_nullDoneHandler,266,_nullErrorHandler,265,_recordRtiToString,170,_registerErrorHandler,256,_rootHandleError,267,_rootHandleError_closure,1047,_rootRun,268,_rootRunBinary,270,_rootRunUnary,269,_rootScheduleMicrotask,271,_rtiArrayToString,169,_rtiToString,172,_runGuarded,263,_safeToStringHooks,780,_scheduleAsyncCallback,259,_schedulePriorityAsyncCallback,260,_setArrayType,114,_simpleSpecializedIsTest,133,_specializedIsTest,131,_startMicrotaskLoop,258,_structuralTypeOf,124,_substitute,103,_substituteArray,110,_substituteFunctionParameters,112,_substituteNamed,111,_unminifyOrTag,173,_unwrapNonDartException,56,_wrapJsFunctionForAsync,249,_wrapJsFunctionForAsync_closure,1059,allowInterop,318,alternateTagFunction,1063,applyHooksTransformer,88,argumentErrorValue,42,async__AsyncRun__scheduleImmediateJsOverride$closure,1065,async__AsyncRun__scheduleImmediateWithSetImmediate$closure,1066,async__AsyncRun__scheduleImmediateWithTimer$closure,1067,async___nullDoneHandler$closure,1068,async___nullErrorHandler$closure,1069,async___startMicrotaskLoop$closure,1070,bool,1072,callMethod,323,checkNotNullable,10,closureFromTearOff,69,closureFunctionType,115,convertDartClosureToJS,61,convertDartClosureToJSUncached,62,createRecordTypePredicate,89,createRuntimeType,126,dartify,328,dartify_convert,1082,defineProperty,76,diagnoseIndexError,40,diagnoseRangeError,41,dispatchRecordsForInstanceTags,1085,double,1086,fillLiteralMap,59,findNALUIndices,329,findType,102,getAlgoOptions,344,getDataPacketCryptor,335,getDataPacketCryptor_closure,1105,getInterceptor$,1108,getInterceptor$asx,1109,getInterceptor$ax,1110,getInterceptor$x,1111,getIsolateAffinityTag,75,getNativeInterceptor,1,getRuntimeTypeOfDartObject,123,getTagFunction,1116,getTraceFromException,57,getTrackCryptor,331,getTrackCryptor_closure,1117,getTypeFromTypesTable,122,iae,38,initHooks,87,initHooks_closure,1126,initHooks_closure0,1126,initHooks_closure1,1126,initNativeDispatch,85,initNativeDispatchContinue,86,initNativeDispatchFlag,1127,initializeExceptionWrapper,44,instanceOrFunctionType,116,instanceType,117,int,1128,interceptorsForUncacheableTags,1130,ioore,39,isJsIndexable,14,isNullable,234,isSubtype,227,isToStringVisiting,11,isTopType,235,jsify,322,jsify__convert,1133,keyProviders,1134,logger,797,lookupAndCacheInterceptor,77,main,338,main__closure,1136,main__closure0,1136,main__closure1,1136,main__closure2,1136,main__closure3,1136,main__closure4,1136,main_closure,1137,main_closure0,1137,main_closure1,1137,main_closure2,1137,makeDefaultDispatchRecord,84,makeDispatchRecord,0,makeLeafDispatchRecord,83,num,1147,objectHashCode,58,participantCryptors,1151,participantDataCryptors,1152,patchInteriorProto,82,printString,340,promiseToFuture,324,promiseToFuture_closure,1153,promiseToFuture_closure0,1153,prototypeForTagFunction,1154,quoteStringForRegExp,90,saveStackTrace,55,scheduleMicrotask,261,throwConcurrentModificationError,49,throwExpression,46,throwLateFieldADI,342,throwLateFieldNI,341,throwUnsupportedOperation,47,toStringVisiting,1163,toStringWrapper,45,typeLiteral,129,unminifyOrTag,13,unsetCryptorParticipant,336,unsetCryptorParticipant_closure,1172,unsetDataPacketCryptorParticipant,337,unsetDataPacketCryptorParticipant_closure,1173,unwrapException,54,wrapException,43", + "instance": "$add,1178,$and,1179,$arguments,1206,$call,1239,$div,1180,$eq,1181,$ge,1182,$gt,1183,$index,1184,$indexSet,1185,$le,1186,$lt,1187,$mod,1188,$mul,1189,$negate,1190,$or,1191,$protected,1223,$shl,1192,$shr,1193,$sub,1194,$tdiv,1195,$this,1230,$xor,1196,T,1203,_,1197,_0,1198,_JSSecureRandom$0,799,_TimerImpl$2,799,__,1199,__0,1200,__FrameCryptor_kind_A,1671,__ParticipantKeyHandler_cryptoKeyRing_A,1681,___,1201,__internal$_buffer,1276,__internal$_current,1277,__internal$_index,1280,__internal$_iterable,1281,__internal$_length,1283,__internal$_name,1285,__js_helper$_addHashTableEntry,1287,__js_helper$_addHashTableEntry$3,1287,__js_helper$_current,1298,__js_helper$_getBucket$2,1304,__js_helper$_index,1307,__js_helper$_kind,1313,__js_helper$_length,1315,__js_helper$_message,1318,__js_helper$_name,1322,__js_helper$_rest,1332,__rti$_message,1362,_add,1371,_add$1,1371,_addAllFromArray,1261,_addAllFromArray$1,1261,_addEventError,1372,_addEventError$0,1372,_addHashTableEntry,1484,_addHashTableEntry$3,1484,_addListener,1373,_addListener$1,1373,_addPending,1374,_addPending$1,1374,_addStreamState,1375,_alphabet,1504,_arguments,1288,_argumentsExpr,1289,_as,1351,_async$_box_0,1380,_async$_controller,1418,_async$_hasValue,1433,_async$_next,1448,_async$_previous,1461,_asyncComplete,1376,_asyncComplete$1,1376,_asyncCompleteError$2,1377,_asyncCompleteErrorObject,1378,_asyncCompleteErrorObject$1,1378,_asyncCompleteWithValue,1379,_asyncCompleteWithValue$1,1379,_bind,1352,_bind$1,1352,_bindCache,1353,_box_0,1290,_box_1,1381,_buffer,1528,_cachedRuntimeType,1354,_callOnCancel,1382,_callOnCancel$0,1382,_canFire,1383,_cancelFuture,1384,_canonicalRecipe,1355,_captured_T_1,1525,_captured__convertedObjects_0,1526,_captured_algorithmStr_0,1684,_captured_arguments_2,1291,_captured_bodyFunction_0,1385,_captured_callback_0,1386,_captured_callback_1,1387,_captured_completer_0,1527,_captured_dataCryptorId_0,1685,_captured_data_1,1388,_captured_decryptFrameInternal_3,1666,_captured_dispatch_1,1389,_captured_div_1,1390,_captured_error_0,1391,_captured_error_1,1392,_captured_f_1,1393,_captured_future_1,1394,_captured_getTag_0,1292,_captured_getUnknownTag_0,1293,_captured_handleMessage_0,1686,_captured_hasError_2,1395,_captured_headerLength_5,1675,_captured_initialKeyIndex_5,1667,_captured_ivLength_6,1676,_captured_iv_3,1668,_captured_joinedResult_0,1396,_captured_listener_1,1397,_captured_name_0,1688,_captured_namedArgumentList_1,1294,_captured_originalSource_1,1398,_captured_payload_4,1669,_captured_protected_0,1399,_captured_prototypeForTag_0,1295,_captured_result_1,1486,_captured_sb_1,1510,_captured_sourceResult_1,1400,_captured_span_2,1401,_captured_srcFrame_4,1678,_captured_stackTrace_1,1402,_captured_target_1,1403,_captured_this_0,1404,_captured_this_1,1405,_captured_this_2,1670,_captured_trackId_0,1687,_captured_value_1,1406,_cell,1296,_chainForeignFuture$1,1407,_chainFuture,1408,_chainFuture$1,1408,_chainSource,1409,_checkMutable$1,1341,_checkPosition,1342,_checkPosition$3,1342,_checkState,1410,_checkState$1,1410,_children,1689,_clearPendingComplete$0,1411,_cloneResult,1412,_cloneResult$1,1412,_codeUnitAt$1,1262,_collection$_box_0,1485,_collection$_current,1490,_collection$_keys,1494,_collection$_length,1495,_collection$_map,1496,_collection$_nums,1497,_collection$_removeHashTableEntry$2,1500,_collection$_rest,1501,_collection$_strings,1503,_complete$1,1413,_completeError,1414,_completeError$2,1414,_completeErrorObject,1415,_completeErrorObject$1,1415,_completeWithResultOf,1416,_completeWithResultOf$1,1416,_completeWithValue,1417,_completeWithValue$1,1417,_computeHashCode$1,1487,_computeKeys,1488,_computeKeys$0,1488,_containsKey,1489,_containsKey$1,1489,_containsTableEntry$2,1297,_contents,1511,_controller,1690,_convert$_state,1506,_convertedObjects,1204,_core$_arguments,1508,_core$_box_0,1509,_core$_memberName,1517,_core$_receiver,1521,_createSubscription$4,1419,_current,1263,_data,1343,_decryptionFailureCount,1682,_deleteTableEntry$2,1299,_doneFuture,1420,_dynamicCheckData,1356,_e2ee_data_packet_cryptor$_box_0,1664,_e2ee_data_packet_cryptor$_box_1,1665,_e2ee_frame_cryptor$_box_0,1672,_e2ee_frame_cryptor$_box_1,1673,_e2ee_frame_cryptor$_captured_decryptFrameInternal_3,1674,_e2ee_frame_cryptor$_captured_iv_3,1677,_e2ee_frame_cryptor$_captured_this_2,1679,_elements,1300,_enabled,1680,_encoder,1505,_enumToString,1512,_enumToString$0,1512,_error,1421,_errorExplanation,1513,_errorName,1514,_errorTest,1422,_eval,1357,_eval$1,1357,_evalCache,1358,_eventScheduled,1423,_eventState,1424,_exception,1301,_existingArgumentNames,1515,_expectsEvent$1,1425,_expr,1302,_f,1278,_findBucketIndex,1491,_findBucketIndex$2,1491,_first,1303,_firstSubscription,1426,_forEachListener,1427,_forEachListener$1,1427,_future,1428,_get,1492,_get$1,1492,_getBucket,1493,_getBucket$2,1493,_getRandomBytes$2,1529,_getStream,1691,_getStream$0,1691,_getTableBucket$2,1305,_getTableCell$2,1306,_getUint32$2,1344,_grow$1,1279,_handle,1429,_hasError,1430,_hasOneListener,1431,_hasPending,1432,_hasValidKey,1683,_hasValue,1516,_ignoreError,1434,_index,1264,_interceptor,1308,_internalName,1309,_invalidPosition,1345,_invalidPosition$3,1345,_irritant,1310,_is,1359,_isCanceled,1435,_isChained,1436,_isComplete,1437,_isEmpty,1438,_isFiring,1439,_isInputPaused,1440,_isInt32$1,1265,_isPaused,1441,_isSubtypeCache,1360,_isUnmodifiable$0,1346,_iterable,1266,_iterator,1282,_jsIndex,1311,_keys,1312,_kind,1361,_last,1314,_lastSubscription,1442,_length,1267,_level,1692,_levelChangedController,1693,_map,1316,_mayAddEvent,1443,_mayAddListener,1444,_mayComplete,1445,_mayResumeInput,1446,_memberName,1317,_message,1284,_method,1319,_microsecond,1518,_modifications,1320,_modified,1321,_modified$0,1321,_name,1519,_named,1363,_namedArgumentNames,1323,_namedArguments,1520,_nativeBuffer,1347,_newFutureWithSameType$0,1447,_newHashTable,1324,_newHashTable$0,1324,_newLinkedCell,1325,_newLinkedCell$2,1325,_next,1326,_nextListener,1449,_nums,1327,_offset,1498,_onData,1450,_onDone,1451,_onError,1452,_onListen$1,1453,_onMicrotask,1454,_onMicrotask$0,1454,_onPause,1455,_onPause$0,1455,_onResume,1456,_onResume$0,1456,_onValue,1457,_once,1458,_optionalPositional,1364,_pattern,1328,_pending,1459,_precomputed1,1365,_prependListeners,1460,_prependListeners$1,1460,_previous,1329,_primary,1366,_publish,1694,_publish$1,1694,_receiver,1330,_recordPause$1,1462,_recordResume$1,1463,_remove$1,1499,_removeAfterFiring,1464,_removeHashTableEntry,1331,_removeHashTableEntry$2,1331,_removeListener$1,1465,_removeListeners,1466,_removeListeners$0,1466,_requiredPositional,1367,_rest,1368,_resultOrListeners,1467,_reverseListeners,1468,_reverseListeners$1,1468,_rti,1369,_scheduleMicrotask,1469,_sendData,1470,_sendData$1,1470,_set$2,1502,_setChained$1,1471,_setErrorObject,1472,_setErrorObject$1,1472,_setInt8,1348,_setInt8$2,1348,_setKeys$1,1333,_setPendingComplete$0,1473,_setRangeFast$4,1349,_setTableEntry$3,1334,_setUint32$3,1350,_setValue$1,1474,_shlPositive$1,1268,_shrBothPositive,1269,_shrBothPositive$1,1269,_shrOtherPositive,1270,_shrOtherPositive$1,1270,_shrReceiverPositive$1,1271,_source,1286,_specializedTestResource,1370,_stackTrace,1522,_state,1475,_stateData,1476,_strings,1335,_subscribe,1477,_subscribe$4,1477,_subscription,1478,_target,1336,_tdivFast,1272,_tdivFast$1,1272,_tdivSlow,1273,_tdivSlow$1,1273,_thenAwait,1479,_thenAwait$1$2,1479,_tick,1480,_toListFixed$0,1274,_toListGrowable$0,1275,_toggleEventId$0,1481,_trace,1337,_typeArgumentCount,1338,_unlinkCell,1339,_unlinkCell$1,1339,_urlSafe,1507,_value,1523,_values,1340,_whenCompleteAction,1482,_writeString$1,1524,_zone,1483,abs$0,1231,add,1232,add$1,1232,addAll,1233,addAll$1,1233,algorithmStr,1205,argumentCount,1234,asUint8List,1235,asUint8List$0,1235,asUint8List$2,1235,bindCallback$1$1,1236,bindCallbackGuarded,1237,bindCallbackGuarded$1,1237,bodyFunction,1207,buffer,1238,callback,1240,ceilToDouble$0,1241,checkGrowable$2,1242,children,1243,close$2,1244,code,1245,codeUnitAt$1,1246,codec,1247,comma,1248,complete,1249,complete$1,1249,completeError,1250,completeError$1,1250,completeError$2,1250,completer,1208,config$1,1251,consecutiveSifCount,1252,contains$1,1253,containsKey,1254,containsKey$1,1254,convert,1255,convert$1,1255,count,1256,createBuffer$1,1257,cryptoKeyRing,1258,current,1081,currentKeyIndex,1259,currentkeySet,1260,dartException,1530,data,1531,dataCryptorId,1532,day,1533,decode,1534,decode$1,1534,decode$3,1534,decodeFunction,1535,decodeFunction$2,1535,decodeFunction$body$FrameCryptor,1535,decoder,1536,decrypt,1537,decrypt$2,1537,decrypt$body$E2EEDataPacketCryptor,1537,decryptFrameInternal,1209,decrypted,1538,decryptionFailure,1539,decryptionFailure$0,1539,decryptionSuccess$0,1540,deriveKeys,1541,deriveKeys$2,1541,discardFrameWhenCryptorNotReady,1542,dispatch,1210,div,1211,elementAt,1543,elementAt$1,1543,enabled,1544,encode,1545,encode$1,1545,encode$4,1545,encodeFunction,1546,encodeFunction$2,1546,encodeFunction$body$FrameCryptor,1546,encoder,1547,encrypt,1548,encrypt$2,1548,encrypt$body$E2EEDataPacketCryptor,1548,encryptionKey,1549,end,1550,endsWith,1551,endsWith$1,1551,enqueueFrame,1552,enqueueFrame$3,1552,error,1553,errorCallback,1554,errorCallback$2,1554,errorZone,1555,exportKey,1556,exportKey$1,1556,f,1212,failureTolerance,1557,fine$1,1558,finer$1,1559,first,1560,firstPendingEvent,1561,floorToDouble$0,1562,forEach,1563,forEach$1,1563,frameType,1564,fullName,1565,future,1566,get$$call,1239,get$_,1197,get$_0,1198,get$__,1199,get$__0,1200,get$___,1201,get$__js_helper$_addHashTableEntry,1287,get$__js_helper$_name,1322,get$_add,1371,get$_addAllFromArray,1261,get$_addEventError,1372,get$_addHashTableEntry,1484,get$_addListener,1373,get$_addPending,1374,get$_asyncComplete,1376,get$_asyncCompleteErrorObject,1378,get$_asyncCompleteWithValue,1379,get$_bind,1352,get$_callOnCancel,1382,get$_canFire,1383,get$_chainFuture,1408,get$_chainSource,1409,get$_checkPosition,1342,get$_checkState,1410,get$_cloneResult,1412,get$_completeError,1414,get$_completeErrorObject,1415,get$_completeWithResultOf,1416,get$_completeWithValue,1417,get$_computeKeys,1488,get$_containsKey,1489,get$_core$_arguments,1508,get$_core$_memberName,1517,get$_core$_receiver,1521,get$_enumToString,1512,get$_error,1421,get$_errorExplanation,1513,get$_errorName,1514,get$_errorTest,1422,get$_eval,1357,get$_eventScheduled,1423,get$_existingArgumentNames,1515,get$_findBucketIndex,1491,get$_forEachListener,1427,get$_get,1492,get$_getBucket,1493,get$_getStream,1691,get$_hasError,1430,get$_hasOneListener,1431,get$_hasPending,1432,get$_ignoreError,1434,get$_invalidPosition,1345,get$_isCanceled,1435,get$_isChained,1436,get$_isComplete,1437,get$_isEmpty,1438,get$_isFiring,1439,get$_isInputPaused,1440,get$_isPaused,1441,get$_keys,1312,get$_mayAddEvent,1443,get$_mayAddListener,1444,get$_mayComplete,1445,get$_mayResumeInput,1446,get$_modified,1321,get$_namedArguments,1520,get$_nativeBuffer,1347,get$_newHashTable,1324,get$_newLinkedCell,1325,get$_onError,1452,get$_onMicrotask,1454,get$_onPause,1455,get$_onResume,1456,get$_onValue,1457,get$_prependListeners,1460,get$_publish,1694,get$_removeAfterFiring,1464,get$_removeHashTableEntry,1331,get$_removeListeners,1466,get$_reverseListeners,1468,get$_scheduleMicrotask,1469,get$_sendData,1470,get$_setErrorObject,1472,get$_setInt8,1348,get$_shrBothPositive,1269,get$_shrOtherPositive,1270,get$_subscribe,1477,get$_target,1336,get$_tdivFast,1272,get$_tdivSlow,1273,get$_thenAwait,1479,get$_unlinkCell,1339,get$_whenCompleteAction,1482,get$_zone,1483,get$add,1232,get$addAll,1233,get$asUint8List,1235,get$bindCallbackGuarded,1237,get$buffer,1238,get$complete,1249,get$completeError,1250,get$containsKey,1254,get$convert,1255,get$cryptoKeyRing,1258,get$current,1081,get$day,1533,get$decode,1534,get$decodeFunction,1535,get$decoder,1536,get$decrypt,1537,get$decryptionFailure,1539,get$deriveKeys,1541,get$elementAt,1543,get$enabled,1544,get$encode,1545,get$encodeFunction,1546,get$encoder,1547,get$encrypt,1548,get$end,1550,get$endsWith,1551,get$enqueueFrame,1552,get$errorZone,1555,get$exportKey,1556,get$forEach,1563,get$fullName,1565,get$future,1566,get$getKeySet,1567,get$getParticipantKeyHandler,1568,get$getSharedKeyHandler,1570,get$getUnencryptedBytes,1572,get$handleError,1573,get$handlesComplete,1578,get$handlesError,1579,get$handlesValue,1580,get$hasErrorCallback,1581,get$hasErrorTest,1582,get$hasValidKey,1583,get$hashCode,1584,get$hour,1587,get$internalComputeHashCode,1595,get$internalFindBucketIndex,1597,get$internalGet,1598,get$invalidValue,1601,get$isAccessor,1602,get$isClosed,1603,get$isEmpty,1604,get$isGetter,1605,get$isNotEmpty,1607,get$isScheduled,1608,get$iterator,1613,get$keyOptions,1618,get$keys,1621,get$kind,1622,get$lastIndexOf,1624,get$length,1627,get$lengthInBytes,1628,get$level,1629,get$listen,1630,get$log,1635,get$map,1638,get$matchTypeError,1640,get$matchesErrorTest,1641,get$memberName,1643,get$microsecond,1645,get$millisecond,1646,get$millisecondsSinceEpoch,1647,get$minute,1648,get$month,1650,get$moveNext,1651,get$namedArguments,1653,get$nextInt,1656,get$noSuchMethod,1657,get$offsetInBytes,1660,get$onRecord,1663,get$positionalArguments,1700,get$putIfAbsent,1702,get$ratchet,1703,get$ratchetKey,1705,get$ratchetMaterial,1706,get$readFrameInfo,1709,get$recordUserFrame,1711,get$registerBinaryCallback,1712,get$remove,1716,get$reset,1718,get$run,1721,get$runBinary,1722,get$runGuarded,1723,get$runUnary,1724,get$runUnaryGuarded,1725,get$runtimeType,1726,get$schedule,1727,get$second,1728,get$setKey,1734,get$setKeySetFromMaterial,1736,get$setRange,1738,get$setupTransform,1742,get$stackTrace,1751,get$start,1752,get$startsWith,1753,get$stream,1756,get$sublist,1757,get$substring,1758,get$then,1760,get$toBytes,1763,get$toInt,1764,get$toRadixString,1767,get$toString,1768,get$tryFormat,1772,get$year,1782,getKeySet,1567,getKeySet$1,1567,getParticipantKeyHandler,1568,getParticipantKeyHandler$1,1568,getRange$2,1569,getSharedKeyHandler,1570,getSharedKeyHandler$0,1570,getTag,1213,getUint32$1,1571,getUnencryptedBytes,1572,getUnencryptedBytes$2,1572,getUnknownTag,1214,handleError,1573,handleError$1,1573,handleMessage,1215,handleNext$1,1574,handleUncaughtError$2,1575,handleValue$1,1576,handleWhenComplete$0,1577,handlesComplete,1578,handlesError,1579,handlesValue,1580,hasError,1216,hasErrorCallback,1581,hasErrorTest,1582,hasValidKey,1583,hashCode,1584,hashMapCellKey,1585,hashMapCellValue,1586,headerLength,1217,hour,1587,id,1588,inSameErrorZone$1,1589,index,1590,indexable,1591,info$1,1592,initialKeyIndex,1593,initialKeySet,1594,internalComputeHashCode,1595,internalComputeHashCode$1,1595,internalContainsKey$1,1596,internalFindBucketIndex,1597,internalFindBucketIndex$2,1597,internalGet,1598,internalGet$1,1598,internalRemove$1,1599,internalSet$2,1600,invalidValue,1601,isAccessor,1602,isClosed,1603,isEmpty,1604,isGetter,1605,isLoggable$1,1606,isNotEmpty,1607,isScheduled,1608,isSifAllowed$0,1609,isSync,1610,isUndefined,1611,isUtc,1612,iterator,1613,iv,1614,ivLength,1218,join$1,1615,joinedResult,1219,keyHandler,1616,keyIndex,1617,keyOptions,1618,keyProviderOptions,1619,keyRingSze,1620,keys,1621,kind,1622,lastError,1623,lastIndexOf,1624,lastIndexOf$1,1624,lastPendingEvent,1625,lastSifReceivedAt,1626,length,1627,lengthInBytes,1628,level,1629,listen,1630,listen$1,1630,listen$4$cancelOnError$onDone$onError,1630,listener,1631,listenerHasError,1632,listenerValueOrError,1633,listeners,1634,log,1635,log$4,1635,loggerName,1636,makeIv$1$timestamp,1637,makeIv$2$synchronizationSource$timestamp,1637,map,1638,map$1$1,1638,matchAsPrefix$2,1639,matchTypeError,1640,matchTypeError$1,1640,matchesErrorTest,1641,matchesErrorTest$1,1641,material,1642,memberName,1643,message,1644,microsecond,1645,millisecond,1646,millisecondsSinceEpoch,1647,minute,1648,modifiedObject,1649,month,1650,moveNext,1651,moveNext$0,1651,name,1652,namedArgumentList,1220,namedArguments,1653,names,1654,next,1655,nextInt,1656,nextInt$1,1656,noSuchMethod,1657,noSuchMethod$1,1657,object,1658,offset,1659,offsetInBytes,1660,onCancel,1661,onListen,1662,onRecord,1663,originalSource,1221,padLeft$2,1695,parent,1696,participantIdentity,1697,participantKeys,1698,payload,1222,perform$1,1699,positionalArguments,1700,postMessage$1,1701,prototypeForTag,1224,putIfAbsent,1702,putIfAbsent$2,1702,ratchet,1703,ratchet$2,1703,ratchetCount,1704,ratchetKey,1705,ratchetKey$1,1705,ratchetMaterial,1706,ratchetMaterial$2,1706,ratchetSalt,1707,ratchetWindowSize,1708,readFrameInfo,1709,readFrameInfo$1,1709,recordSif$0,1710,recordUserFrame,1711,recordUserFrame$0,1711,registerBinaryCallback,1712,registerBinaryCallback$3$1,1712,registerCallback$1$1,1713,registerUnaryCallback$2$1,1714,remainder$1,1715,remove,1716,remove$1,1716,removeLast$0,1717,reset,1718,reset$0,1718,resetKeyStatus$0,1719,result,1720,run,1721,run$1$1,1721,runBinary,1722,runBinary$3$3,1722,runGuarded,1723,runGuarded$1,1723,runUnary,1724,runUnary$2$2,1724,runUnaryGuarded,1725,runUnaryGuarded$1$2,1725,runtimeType,1726,sb,1225,schedule,1727,schedule$1,1727,scheduleMicrotask$1,261,second,1728,sendCount_,1729,sendCounts,1730,sequenceNumber,1731,set$_async$_next,1448,set$_async$_previous,1461,set$cryptoKeyRing,1258,set$kind,1622,set$length,1627,set$level,1629,setEnabled$1,1732,setInt8$2,1733,setKey,1734,setKey$1,1734,setKey$2$keyIndex,1734,setKeyIndex$1,1735,setKeySetFromMaterial,1736,setKeySetFromMaterial$2,1736,setParticipant$2,1737,setRange,1738,setRange$3,1738,setRange$4,1738,setSharedKey$2$keyIndex,1739,setSifTrailer$1,1740,setUint32$2,1741,setupTransform,1742,setupTransform$5$kind$operation$readable$trackId$writable,1742,setupTransform$6$codec$kind$operation$readable$trackId$writable,1742,setupTransform$body$FrameCryptor,1742,sharedKey,1743,sharedKeyHandler,1744,shouldChain$1,1745,sifGuard,1746,sifSequenceStartedAt,1747,skip$1,1748,source,1749,sourceResult,1226,span,1227,srcFrame,1228,ssrc,1750,stackTrace,1751,start,1752,startsWith,1753,startsWith$1,1753,state,1754,storedCallback,1755,stream,1756,sublist,1757,sublist$1,1757,sublist$2,1757,substring,1758,substring$1,1758,substring$2,1758,super$LegacyJavaScriptObject$toString,1768,super$_BroadcastStreamController$_addEventError,1202,take$1,1759,target,1229,then,1760,then$1$2$onError,1760,time,1761,timestamp,1762,toBytes,1763,toBytes$0,1763,toInt,1764,toInt$0,1764,toList$1$growable,1765,toLowerCase$0,1766,toRadixString,1767,toRadixString$1,1767,toString,1768,toString$0,1768,toUnsigned$1,1769,trackId,1770,truncateToDouble$0,1771,tryFormat,1772,tryFormat$1,1772,uncryptedMagicBytes,1773,unsetParticipant$0,1774,updateCodec$1,1775,userFramesSinceSif,1776,value,1174,warning$1,1777,where$1,1778,worker,1779,write$1,1780,writeAll$2,1781,year,1782,zone,1783" }, - "frames": "8vTAqIe+7DmC;+HAKAA6C;4CAKCTY;4CACeDE;sKAIlBAE;oBAGOF8B;8OAaAj7DAA8CgBCgEANK2EwG,A,oB;sgBATrC1EAAmB0BDgEAVW2E8E,A,AAUvCCiD,A;6qOK0KW+tBsI;eAEF49BwG;ssDJ5RWmPyC;4LA6BLzEY;mrBAuJqBlJmG;yXA8JlByKuB;uCAAAA6B;uMAuBQ1B6C;+YAYV0B4C;mMAqBL0CAARFjCsB,A;6GAkBWayC;2kBA2OHzWgB;0sDAwH+BzCoC;yJAYjBjjDAA/rBxBgxB0B,A;mRAsuByCiyB+C;g1EAmGCGAQv8BzBHsC,A;gYRq9ByBGAQr9BzBHsC,A;utCR6/BZmY6C;4lBAAAA+C;iNAmBqB9WkC;09BAgDOnc4C;ghBAgCnBA2C;uDASAA6C;8LAyCAnX8F;k1DAqHdAkG;iuBA8NEA+S;u4BA4MAA2C;8xCA0DyBAkB;8oDAkCJAkB;4DAOpBAoE;wDAIiBockF;OAChBpc0B;sJAOC2sCc;4BAIgB3sCoE;sOASjBA0B;4NAiCmBA4B;6FAGtBA4C;ubAsEKopCe;qJAEDFsB;AACEAyB;wrEA0NJlpC+C;cAEAAgG;4rIAyPEA0F;m7DAqF6B8pCmK;AACHiCsK;wRA4HtBv6DAM/gETCkCA7C4Bk1De,A,sB;sPNklElB3mCoG;iEACK6qCiC;qbAyIhB7qCqC;iEAaAAmD;ocCloFOwrCa;8BACcp5DAAsE3BDAF1IAF+B,wG,A;aEoE2BGAAuEpBm2DE,A;8DAtEWiDa;kFAKKn5DAAzCJ03DkB,AAAZyBa,A;yLA+CMAoB;kCACkBp5DAAyD/BDAF1IAF+B,4G,A;aEiF+BGAA0DxBm2DE,A;sEAzDWiDoB;0FAGKn5DAApDJ03DkB,AAAZyB0D,A;0QA0EEp5DAA+BTDAF1IAF+B,wG,A;aE2GSGAAgCFm2DE,A;2NAvBEj2DAA2BTHAF/IAFsB,A,gCE+IAEoG,A;SA3BSGAA4BFi2DE,A;0LAfoCgCmC;oDAElCj4DAAYTHAF/IAFsB,A,gCE+IAEoG,A;SAZSGAAaFi2DE,A;4KAMPp2DAFtJAFiC,+B;2aEkK2Cs4DiC;wjBAsCjCR0B;6ZAaF53DAFrNRFiC,uL;iIEmO2Bu5D8P;o2BA+EX34D6E;gnJWsJsBysDuD;wMA6xBCOuB;mHAS/BNwC;AACAC8C;uvENhpCiBqIsB;6BAOjB7B6D;AAHF7DAAqKUyF2B,A;+DAzJO/DgB;AAFAgEsB;2BAGf7ByE;AAD0CjFAAmKlC6GoB,A;mEApFCtGAAzBsBqGc,A;2FA2BECU;qGA2JzBEiB;kEAyKMnB6B;gZAiFPrFAAhbwBqGc,A;8JAybbCqB;iRAUAAqB;qRAUAAqB;mSAUWxGkB;kRAc3BDAAlaM2G6C,A;uCAsaGpHAA1ZHkHqB,A;iGA4ZQnHkB;kUAgBHqBAAlaILiC,A;AAmaJIkB;+QAUIGAApZT4FqB,A;qHA2ZiC9GkB;iZAiB5BGiC;AACDuGmB;oGAODxGAA1aH4GqB,A;yTAsbI1GAA5aJyGqB,A;6EAgbUL2B;0VAmBNEmE;uEAGDIa;kXAiBCJmE;2EAImBF4B;AACEAiC;AACtBMiB;4YAyB0B7FqL;AASAP8D;0GASbDoC;0PAWiB6FAA9YRpnCkD,A;AA+YrBmmCkE;AAIAJkE;AAIADkC;gVA4CF8BoB;iLAaZ1EsB;sMAuBFEiB;sCAIO4GmC;k4BAoFL9GiE;0EAQFyDmC;qKAiBcWe;uCAENzzD2BAtgBU8yDqC,A;2NAglBFvxDqCAlFlB8tDuD,A;uHAsFc6E0B;aAELiCmC;OAAwB/H4B;iFAOM3sDY;AAA9BsrD2B;uBAA8BtrDAAKrCgwDoD,A;6CAS0B6DsC;AADV77B0E;8CAGXtNAAoCTAAAAAAAACMslCsB,A,A,gB;6CAnC6BqB8C;AAE/BrxDkB;AADOsrD2B;iCACPtrDAAfAgwD8D,A;oEAwCqBzxDqBA1oBH8yD8B,A;uOA0sBlBhxDAAm7F6B8mDkH,A;mFAh7FzB6Ec;wNAiBYuFAAvoCY1EAA6KhByFoD,A,A;AA29BQtGAA9jCeqGc,A;ugBA0kCnBxGAAvgCJ2GmB,A;aAwgCM1GwD;AAiBdiFqD;qOAgBCzwDiDAiCmBksDAApjCZgGoB,A,AAqjCMjGiB,A;8NArBXoBO;AADP2CmB;gKAwCAjwDAA4zF6B8mDiG,A;gQAjzFtBqBO;AADPsHmB;kFAKW9DAA/qCwBqGiC,A;gNAorCCxFAAjlCxByF6B,A;oCAklC4B7GAAxkC5B6GwE,A;iLAmlCCjBe;2KAeN1DI;AADOtBAAtmCFiGqB,A;yJAgnCF1FiC;uBAKVkBiB;8QAsBO4GmC;gCACG9HiC;uBAKVkBiB;uPA4BWHiC;yMAaAAiC;iIAYT5CwF;+YAwCcxtBiC;wEAiBTowB+C;AADS4DAAh7ChBvFAA0EmCqGsB,A,AA1EPxFAA6KhByF2B,A,A;gBAowCQ7GAA1vCR6GyB,A;iCA4vCiBjB0B;AADzB1DW;08HAyOmBuES;wDAGDI4B;6JAYA9FAAvgDVgGsC,A;AAwgDKjGc;0HAMG2Fe;AACFgFyD;AACEhF4B;8KAOGI8B;+CAELEsB;sdAgBMNiB;ktBAgBFI8B;AACjBjyDAAy0EwB8mDAAO/B//CAAGa4kDAAt+HwBqGkB,A,A,4FAm+HhBpvDAAgBd2xDiD,A,qB,A;qNAv1EYlIAA1iDCP0C,A;AA2iDeX6C;AACQiByE;AAGPyF8C;AACOhGyE;AAGPgGiC;AACNjGkC;AACPiGe;oNAWVI4B;uNAaEA8B;uNAaFFqB;6EAKEEsC;AAIFEuB;8XA6BAxGAAlvDwBqGc,A;uRA2vDdxFAAxpDTyF0B,A;wDAuqDajGAAlqDbiGmB,A;6FAoqDStGAA5wDcqGgB,A;4JAqxDV5GAAxqDb6GgC,A;8DA6qDIzGAAvtDJ2GoB,A;gBAguDM1GgB;gWAgBOJAAvrDb4G8B,A;AAwrDG3GO;2CAUDCAAxrDIOsC,A;qPAgsDFsLyC;2JA2LPzMAAHKsMG,2B;iDAKPtMAALOsMG,c;6IAWDlEuB;0IAKOfyB;AACP/DmE;iYAiBOgJW;oGAqCAlEW;iEAeHiC8B;AADPhC2C;+CAGFhEkF;AACHiG2B;qIASS/JmB;8CAGV8E+B;AAEagFiC;+CAEThGoF;AACHiG8B;+IAKSpKmB;8CAGV6E6D;AAEuB/3BAA57Dfw6ByB,A;AA67DK6C0C;sHAGXrJAAtnE6BqG4B,A;AAunEdlHgC;AAKhBmKuC;6EAyCHxF8C;AACAQ0C;iFAyGe+EqC;AADPhCoB;+CAGsB3IAAIpBoHAAvmEPpnCsC,A,AAwmEH6lCwB,AACAN+B,yD;AANG1CAAtGA+HQ,AAAOjCwB,A;sFAmHKgC8B;AAFN9LAA3DKvxBAA3iEJw6BiD,A,A;AAumEFaoB;0HAGL9FAArHA+HQ,AAAOjCwB,A;oKAmIOrHAA9yEgBqGgB,A;qOAszEvBPAAxoEPpnCsC,A;AAyoEH6lCqB;AACAI4B;GACAV+B;oIAWeoF8B;AAFNhMAA/FKrxBAA7iEJw6BiD,A,A;AA6oEFaoB;8HAGL9FAA3JA+HQ,AAAOjCwB,A;sLAyKOrHAAp1EgBqGmC,A;kMAy1EZ5GAA5uEX6GoB,A;wMAkvEazFAA5vEbyFqB,A;gBA6vEiBtGAAh2EMqGyC,A;AAk2Ed5GAArvET6GwB,A;+HA4vEARAA3rEPpnCsC,A;AA4rEH6lCqB;AACAI4B;GACAV+B;oIAWeoF8B;AAFNnMAAhJKlxBAA/iEJw6BiD,A,A;AAgsEFaoB;8HAGL9FAA9MA+HQ,AAAOjCwB,A;wJA4NOrHgB;wKAMVuC+D;oIAKGuDAApuEPpnCsC,A;AAquEH6lCqB;AACAI4B;GACAV+B;sIAOeoFqE;AADPhCoB;+CAMVhJAASYyHAA5vEPpnCsC,A,AA6vEH6lCsB,AACAI4B,AACAV+B,yD;AAfG1CAAnPA+HQ,AAAOjCwB,A;oHAwQMnBe;wFAEIIG;AACCt6BAAhwEXw6ByB,A;qIAywEMNe;uFAGmBFiC;AACZIiE;AAKPEO;AACKt6BAAnxEXw6BiC,A;mJA8yEDpJAAjBO8IqB,qE;AAmBDmDgB;AADPhCkB;+CAMV/IAAUYwHAAv0EPpnCsC,A,AAw0EH6lCqB,AACAI4B,AACAGyC,AACgBoBwB,AAEdxB2B,AAA6BsBc,AAE/B/B6B,yD;AArBG1CAA7TA+HQ,AAAOjCsB,A;oJA4WNrHAAvhF6BqGuC,A;AAwhFrBjHAAz8EFkHmB,A;AA08EULmB;AAChB9GkD;iEAIKpCaApBP/wBAAp1EQw6ByF,A,A;AA02EK6CgB;AADPhCoB;+CAMVlJAAUY2HAAj4EPpnCsC,A,AAk4EH6lCsB,AACAI8B,AACAGgC,AACAb+B,yD;AAjBG1CAAvXA+HQ,AAAOjCwB,A;4FA8ZD/J2H;AAEM+LQ;AADPhCoB;+CAMV7IAAUYsHAA56EPpnCsC,A,AA66EH6lCsB,AACAIsC,AACAG0B,AACAb+B,yD;AAjBG1CAAlaA+HQ,AAAOjCwB,A;6FAifDrKAArDbCoD,AADIjxB0D,AACJixBAAM6CwD2E,AAGPyFgD,AACOhG2E,AAGPgGmC,AACNjGoC,AACPiG4F,iX,AAjBtB3CgC,A;AAyDgB8FgB;AADPhCoB;+CAMVjJAAUY0HAA//EPpnCsC,A,AAggFH6lCsB,AACAIiC,AACAG8B,AACAb+B,yD;AAjBG1CAArfA+HQ,AAAOjCwB,A;iHA0hBDlKsCAZTnxBAAngFUw6B4F,A,A;AAihFK6CQ;AADPhCoB;qJAGL9FAA9hBA+HQ,AAAOjCwB,A;2PAmjBQnBiB;8HAICIwB;AACXtGAAnuFyBqGkE,A;mYA6vFvBPAA/kFPpnCsC,A;AAglFH6lCsB;AACAIuC;AACAGuB;GACAb+B;kTA0KoByGuB;AACJG0B;mCAGTlEmC;oeAcH4D8B;0CAIAA6B;0CAIAAQ;uBAESiBU;AAAkBrEI;AAAqB2C0B;0CAKhDSQ;AAEEaqD;AAA2BII;AAA3BJAA4YD/E0B,A;0CAvYDkEQ;AAAsBjIqC;AAAiBkJ4B;0CAIvCjBQ;AAAsBlIqC;AAAkBmJ4B;2CAIxCjBQ;AAAsB9HqC;AAAe+I4B;0CAIrChBAAsFRDc,AAAYRgC,AACe7DuB,A;gQA3EXsFkB;AACRjBQ;0DAIcpDI;AAAqB2CiB;AAC/BJoB;qDAMI8BkB;AACRjBQ;8DAIcpDI;AAAqB2CiB;AAC/BJoB;qDAMI8BkB;AACRjBQ;8DAIcpDI;AAAqB2CiB;AAC/BJoB;0CAMJa2B;AACACAAqCRDc,AAAYRgC,AACe7DuB,A;yIA9BnBsEAA6BRDc,AAAYRgC,AACe7DuB,A;0CA1BnBiCAAmMSv4BAA2CEu2BwB,AAAmB4DmB,wBACtByBU,AAAkBrE0B,AACPdmC,A,AA5C3BkE8B,AACAA2B,A;2CAjMQCAAqBRDc,AAAYRgC,AACe7DuB,A;2CAlBnBgCAAiMStBAA4CETwB,AAAmB4DmB,6BACjByBU,AAAkBrE0B,AACZdmC,A,AA7C3BkE8B,AACAA2B,A;0CA/LYnCAAwMK2C4C,AAMjBRQ,AAAmB9QyC,AACnB8Q2B,AACACAAnMADc,AAAYRgC,AACe7DuB,A,2B;2GANhB4DuB;8BACG0BU;AAAkBrES;gKAWrBRmC;oGAIX4DyB;yNAaW5DmC;sNAIyCgCsD;yEAM7BlP2C;oCAKjB+RgC;AACArE2B;AAFQGAAt9BCtHAAroEsBqGkD,A,AAuoEjBjHAAxjENkHmB,A,6CA2jEazGAAvkEb2GU,A,AA0kEY4CkB,oI;AA48BxBmBW;AAEYjD8E;AAOZiD0B;qGAMqBiB+E;AAEZ1BmB;qCAGTSW;+GAE4BpD+B;AAChBnHAAhnGuBqGyC,A;AAknG/BkEW;kEAMIbkB;sCAMJaW;qJA+BKTmE;AAnBY0BuF;oFAwBI1B8C;sCAIbAiC;sCAIRS8B;oCAIJAwB;kEAKKT0B;2CAGIAiG;AAC0BcyD;AACbAgB;wCACczDqB;AACmBrBAA/6FlBpnC8D,A;AAg7FfmmC+D;AAIAJ+D;AAIAD2B;AACpB+FW;0GAWAAW;iCAIW/D6C;qMA0CLsD8B;0BAERSW;AAAsB/HqC;AAAgBgJuB;gDAItCjBW;AAAsBnIqC;AAAcoJuB;qKAOnBrF+B;AAAmB4DW;wBACtByBU;AAAkBrEkB;AACPd8B;iLAmBbuEK;8QAUM1Ee;8FAEAFU;gGAOAEe;iGAGAFU;mHAOLhGAA5zGsBqGc,A;wEA8zGRjHAA/uGfkHS,A;qCAgvGYnHmC;AACP+GiB;gDAEDIW;yDAIElHAAvvGNkHqC,A;AAwvGDtGAAv0GwBqGqB,A;gMA80GbvGwC;AACPoGiB;oBAEDIW;yLA0DDvGkG;AACGsJ8B;8BAETnH0E;AACFoHqC;oTAsELnOqF;6DAEY6EAAv9GuBqGc,A;uGA89GnCxrDAAihBEmlDc,A;6IA3gBesGE;AADH1GAA71GFyG6C,A;4BAk2GArGAAx+GuBqGiE,A;qFAm/G7B5GAAt4GM6GuB,A;iMAm5GN7GAAn5GM6GgC,A;oEA65GNzFAAv6GMyFgC,A;oGAq7GRzFAAr7GQyFgC,A;wNA+8GR7GAAr8GQ6G4C,A;2QA69GJjGAAl+GIiGgC,A;gFAq/GR7GAAh/GQ6GmC,A;mRAwgHJjGAA7gHIiGuB,A;uZAwiHI3G2B;AACAAiC;AACGuGwC;AACAAmB;sBAGkBD8D;AACAA8D;0DAGjBK+B;AACAAe;iNAShB5GAAxiHQ4GkB,A;AA0iHR5GAA1iHQ4GuB,A;s7BA8kHM5FAAxlHN4FkB,A;AAylHM5FAAzlHN4FiC,A;mCA8lHsB9G6B;AACAA+C;AAEQiB6D;AAGAA2E;AAGPyF8D;AACAAe;+MAKOhG6D;AAGAA2E;AAGPgG8D;AACAAe;iOAMAFa;+CACbMuC;4GAOaNa;+CACbMmE;8GAUfNuC;+CAEeMuC;gDAMOrGmC;AACAAoC;AACPiGoC;AACAAe;yFAIFMyB;iGAGEAoB;kGAIEJwB;qIAMcJwB;uEAENAwB;kCACbMkD;0GAQRFwB;0MAeIvGAAlvHH2G4B,A;AAmvHG3GAAnvHH2GwB,A;2CAiwHOxHAAt0DLsMG,iB;2FAy0DC9EwB;0CAIM2CiB;sEAEHjDiB;AACWtyBuDA0NIyxBa,AAAjBuFc,A;6GAxNOpEc;qEAIT1GoB;0DAcFAqB;AACAAoB;mIAyBIoGe;uEAUAIgB;AACAA6B;qIAgDA/F2B;AACAAgC;AACA2FqC;AACAAiB;yBAEF1FAAn2HFgGe,A;AAo2HEhGAAp2HFgGmB,A;4FAw2HMFkB;AACAA6B;8EASPtGAA38HwBqGwF,A;kGA+8HIxFAA52H3ByF2B,A;iCA62H+B7GAAn2H/B6GkB,A;mEA+2HiBnLsG;4DAUlB6EAAt+HwBqGc,A;6IA0hI1BuDqE;AACE1De;kDAEEMa;8HAWoBnBa;AAAjBuFI;s/DQlsIZjMgC;sFA2BRjgC+C;kEAwGOA2BApCSugCAAAAvgC0D,A,sC;iJAmDC2vBQ;4yBA2DE3vBgF;AAAAsmCqE;geAiCP90B0C;+hBC9SIAoB;+NAYVo1BsC;2JAMJA4F;OAEgBhJmC;wMA8kBFoFyB;uBACIlEsD;0FAIA3nB6E;+QAehBquBiF;sOAfgBruBiB;6NAiCXh5B2C;QAAAAwB;odAmJkBqkDuE;iFAGYtCwD;AACxB9P6B;2pBAiCcKkB;iHACD0WyB;2JAGWjHkC;AACxB9P+B;uOAuFIGkB;woBAkBT2J8D;wHAMgBiJqC;AACF8BgL;AACZjGmI;gNAcIiGmK;0FAEVqBoI;4BAGAZoG;gYA4EGtNoB;qqBGhgCK8MoD;qGAUqBllC4E;oJAKrBklCoD;oYAoBkBllC2E;8mBA2D3B7hB4E;4GC8/ED6hB0D;OAAAAuD;geCz9EOo4B8C;+NAgXNhI2C;6uREXkCpwBuF;uEAQ9BAqF;6HCjbMAqD;8YAoBNy7BkB;8kGEuQHyR4N;cAAAAqK;cAAAAsJ;cAAAA4E;cAAAAoL;qDAAAA0E;uEAAAA6F;cAAAAqK;cAAAAuJ;cAAAA4E;cAAAAmM;cAAAA4E;cAAAAsI;inBAyTO3GkR;sqGAmFkBvmCAb+hBQ6/B4B,A;84Cavdf2G4D;s2EDzfehCAAL9BsGgBtB/OwB+B4C,A,A;uyBsBobjB5asC;AAEDgVc;uFAGFAc;0EAGEAkC;yJAsBOrJkC;s6BfrfX6IAeyLS8FAxB4NXjCsB,A,A;eSnZA/FiC;68DmB9D2BvkCyB;wvBCm0B1Bq8B8G;yPAwBcr8BkD;gGAGpBq8BiG;2LAMKZkB;wxFC9qBakOwE;i0FCvJNtCsD;myCChBUrnCuF;8JA4gBRAA8B8nBSAA/ChmCvBAAAtB0B2vBAAAA3vBuF,A,A,mE,A;+tBiBulBJAuF;kpGErjB1BAAAAAA6HAQEyc8E,oE,A;m7CC7EA4U2H;AAIUiYoE;AADAtpC6BFkHem5B4E,A;8DElHfn5BAF0H0BkzBqB,AAGlBiHAAAAn6B2B,A,A;8NEnHlB05B6DFuHErIO,A;AEpIFAyH;AAaAqIc;AAVU15BAF0H0BkzB0C,A;AEhHpCwG+H;8OASGmCiC;8eAMOrImN;qCAAAAW;kCACAkCkB;kFAIZrEwE;AAEI+a4D;AAAA9C8D;AACFjYU;AAHFAuF;AAIEiYiC;uEA+XFA4B;4kEI9aqCRwE;2FAYADuF;olBGiBvB7oCA9BgxCyB6/BkD,A;qpBb5+BPsL2C;uOAqB5B5ByD;6qDGlMF9tBwE;mKA4GAAiF;8oBA2COzbkE;QAAAAkE;sNA2ZqBwqCmD;mDAaFxqC+C;+BAAAA4B;gqBAqGJ3a6B;oEAAAAAI6Sd48C+B,A;sgCsC/gCqBtGAA6ESngB0C,AAAiB+T8B,A;0jBA8DhDgT4M;sBAAAAwD;yBAAAAqH;+lHlBoJE+JoC;iyCmBrSPhKuGA+BUsCqN,AAEI5kCAjC4rCqB6/B6C,A,qI;iSiC9qCpBkJAjCirCfzJe,oB;AiChrCUloBkB;6ezClGcpXmD;uBAAAAwC;4FA+IxBA2E;gBAAAA+E;m5BA6MwBAa;6GAAAA+B;29BA6DAA8C;8FAAAAqC;+CAIxB49ByB;iFAAAA8D;qvC6ChVO6FuB;4NAkBF4GI;gcAmBerqCoB;kBAAAAqC;wIAyCpBAa;qEAAAAgE;wvBjDiCsCitCoC;4LAmBpC/akC;2QAQW6YiB;kRAIXhZkC;yXAKM/xByE;kEAEeitCa;2FAGlBjtCgE;4yDA26CqBiyBwC;8jDA85BCyUmB;AAAeAiB;8IAOQAiB;4DAOlCvCuC;AACAgHgC;8dQ1jFInrC8C;8IAAAAwC;0IAUbq/BAA+PiBgDa,A;+NAhOEA+C;+MAKAAe;8QAUf1BaAgLNyB6C,A;iyBA/JLvQ4LAQWuQgB,gV;gqCA0EaCa;6PAUAAa;uVAiBDriCwB;qhDAwHlBAa;4EAAAAyD;ulCInTgBoXAA0xCjBmoBoD,A;uLA1xCiBnoBAA2xCjBooBgD,A;4PAx9BGx/B+C;+kBAiEMkbwD;0hCAigBf6jB8F;AAEEmH2gB;uuFAyaK5Ge;mjBNzsCA7tD+B;0DAAAAAAia0Bk1D4B,A;iDA3ZDr4CqBAmaZq4CiC,A;itCQ7bhB/D6B;quCAsKA5iCoC;2oCoCpFAgyB8B;AACShyBoC9B2gBEwRgB,mDADjBxRAAAAAiGAKcm4B0C,A,A,A;+B8B7gBWn4BAAlLrBAA7B80BAAADjvBgBwR2H,A,A,A;gC8BqFKxRAAlLrBAA7B80BAAADjvBKmtCAAWKrIAA4BL1MmB,A,yEA1BK2M0EA+DL5MmC,A,A,A,A,uI8B/KTn4BAAAAA0G,A,A;AA+LE69ByZ;wJAgCa79BS;AADTgyB4B;mFAIOhyBkE;iOA6DPsjCe;4GAKAD2B;qMAaEjDsB;iPAMA4E8nB;wEAUF3BqC;uEAOArRqC;8rBAkB0CsRkB;wCAIjCtjCS;AADTsjC4B;kOASAD2B;sDACAZyD;sEAMEYuC;ilBnCrUMY6B;+HAEZ/E6B;iSAgBY+E6B;2NAgIPtT4B;8BACEwW2B;AAA6BhHAAxB7B6MmC,sB;yRAwCI7FqB;qdAUL1W+B;khBA2IkBjf2C;oTAalB4mBgB;uEAQkBp4BqE;oBACPi7BqH;wJASOj7ByE;oBACPysCsH;uXA2GbzIe;kOAQiBlFmF;AACLqEmC;2HAQdhlD0C;QAAAAwB;qSAQE6lDe;qeAiBiBlFmF;AACLqEmC;kMAQdhlD0C;QAAAAwB;2rCA+IFmoD2D;wJAMW9DyC;6bAYXiDuBApOoBzlC4C,A;2bAkSpB7hB0C;QAAAAwB;6YAwBAAyC;QAAAAwB;g8DA8EyBmyCmBA3nBlB6WsB,AAAUJAAhEViG6B,gE,A;0FA6rBkC9MS;qDAAAAoB;uDACDAE;gEAAAAiD;gEAEHlgCkF;2MAKiBmjCkD;AAC3BX8D;AACqBtCE;2DAAAAkC;mKAWrBmEAAiGzB9H2C,qC;6iCAjF6BlMgB;wBAAAAE;0BAAAAAAptBxB8W2B,AAA+BzCoBA1B/BsIM,2E,A;oJAgvB4BhtC6E;4RAOIkgC8C;OAAAAyD;6DAElBxPAAruBd+ToC,A;gPA0uBsBvEsC;OAAAAoC;mMAGQlgCkF;oPIqZXAyF;+jBAQtBi/Be;6BAAAA+BJtpBFqHuF,oD;4BM8J4BzVkD;yxBDtiB1BkSe;+HAIc/iC8D;kMAiDSA+B;uBAAAAuC;8DAC3B+a8M;AACK2nBe;2RAciBaoB;wQA6FlBb4C;6IAEoBwBwFAhM2BjS8E,A;gPA2M5BsRwC;8uBA+BcxD8G;qWA0HjC1Ne;keAWFlCQ;6BAAAAuNA6BFkHuC,A;wqCJqkCEjH8E;2aAYAA8E;wtCM/pDKpwBuC;kHAAAA2C;mNAU8B2iCa;4JAGHAa;ktDAqDhCwC6HAOShGAAoOeyKgE,A,8e;g9DAvGrBjHiE;gJAuEMxDAAgCeyKmC,A;6fAmEnB5pCa;mFAAAA2C;s0BqB/ZmBAyC;uDAAAA2B;yBAAAAoC;mLA2IUA2E;QAAAA2E;iDA6WjBwqCmD;+xBpBlafpOoD;AACAAAC0YJ8K8B,A;ADzYI9K2C;qWAiOiB9IoB;gCACMNAfpTLhzBa,A;oEeoTKgzBoBfpTLhzBwC,A;0CesTHy7B0B;mTE7FTxJe;uCACIjyB8F;8gBAoFDwcAA3B6BxcAby/BL6/B6C,A,A;uXalxBZ7/BAbkxBY6/BiB,A;QajxBvB7/BwC;2EAEd2bgS;6UAqHyB3bAb0pBY6/BiB,A;ofYhtBxBvoCAAlkBM+xC2B,A;AAkkBfjNAAjGJ8KyB,A;AAkGI9KAAlGJ8K8B,A;gQjBtTExSiB;AAAgCAe;AAChCFuB;AAAqBAqB;uMoB6aA8H0C;sBACDzH2C;sBACAjHyC;sBACAoD6C;sBACE2D+C;sBACAuE8C;wBACCzEwD;AACbD4C;0zElB9GY1C6C;uTekEN9xBsJ;8LAKdo8BAAxFJ8K8B,A;uYAuGoB5vCAAxkBD+xC8F,A;uhJAwBW8BuC;yxDQ2f1BnrC8C;gcAmGK7FwCAxDK6uCAzBnkBNhCAARIFgP,A,A,A;OyBmoBH3sCAAxDK6uCyC,A;iQAqEVmBwI;2GAGmBe8D;0cASa5B6B;mJAUnBAsC;y1BuB1ZTtpCoH;6GAYR85BA3C0gBAiFkC,A;oD2C1gBAjFA3C0gBAiF4D,iC;oD2CxgBkBuMiC;2DAEhB1J8G;AAEa5RyC;sDAKAqI+B;ggDtB1EfhHkH;AACK4BkF;AAEH5BU;AAHFAiG;uDAMsBqQgC;sPAAA1D4B;OAGpBLQ;+HAIKOO;AADAA0C;AACAAuE;kEAELjCkC;+KAGE1EAA7BG2GW,oBAAoBPQ,A;imBA6CTziB8H;AAALouBuD;6BAEOA2C;gBAChBlaiF;AAIiBmM+D;wgBAQbnMO;AAZJA2G;8DAgBIAO;AAhBJAgF;uaAmCSpvBArB8/BwB6/ByB,A;AqBz/BZ3kBgD;AAALouB2D;kCAEKAgD;gBACrBlasF;iDAE6CkaiC;AAAdrL8B;AAAcqL+B;AAClCrL8D;oCACwBqLS;AAAdrL8B;AAAcqLoC;AAGsB9L+C;oBAA3CCwB;OAkBXz9BoE;kEAWmCs9BoC;2FAI/BYkC;6lCAWYoL2B;sCAEAA0B;0FACfzWsB;mKAGOqL6E;0KAMb/O+D;omBAcc8DoG;AALVsEAAnKC2GW,oBAAoBPQ,A;mYAiLrB1K4F;kQAEKe6FAlMkCiY8B,oH;6BAkMlCjYAA7LX8F2C,AACAA2C,AACAAsB,gS;AA+LERArB2XFyFmE,0E;AqB1XEzFuCrB0XFyFmE,yD;0DqBxXuCuKY;AAAPAiB;AAAOA0F;AAM7B3La;iVAIHDkB;AATAUiC;qRAWLhP2E;oCAC2FlU2D;oCACzElbAYnZXAyH,A;uCZsZY+oCoB;gHACQ7tB4E;4UAQzBqcAApNG2Ge,AAAoBPQ,A;yLAyNb1K8H;AAMZ7DU;AAzBAAwF;AA0B4D6DqC;mmBAE5DgJ0D;yRAQYhJgG;AALVsEAArOG2GW,oBAAoBPQ,A;g/DAyP3BxOqE;kNAQoB8CiC;yEAEdYsB;mKACJ1DU;AAXFAsE;AAYa+O8C;AACX9OiH;sFAIEyDsB;yWAMAzDU;AAVFAwC;+HAYMqMAUqCW+OoE,A;AVrCoB/OAUqCpB+OyH,A;AVpCbxSqDI9e4BiTAVgOd3GApBhJE8DE,A,A,wD8B/EO6CAV+NT3GApBhJE8DE,A,A,2D;A0B+ZZ9ViHIxdO2YAVyMG3GApBhJE8DgD,A,A,+L;A0BoaIpoC0D;AANpBg4BAI9e4BiTAVgOd3GgE,A,A;6VMkRZlVU;AAjBNAmE;iFAmBwBpvBAYpejBAiE,A;oCZqeyB+oCoB;oMAG1B5ZU;AApCRA4F;AAqCmB+O+E;AAEX9OU;AA1BNAuG;AA4BIAU;AA5BJA2F;AA6Be8OqF;0OAUXjL4F;i3BAWJ7DU;AAlDAA2E;4PA2DyCwBgD;qNAGrC2GAApUC2GW,oBAAoBPQ,A;2IAyUX1KiM;igCAqFZ7DU;AAxJFA4D;ovBAkKAlBAC9gBFuKkF,A;ADghBErJU;AApKAAiF;mCAqKwGlUmD;oCAEtFlbAYxnBXAyH,A;uCZ2nBY+oCoB;4KACM7tBoE;yMAKvBqcAAtbG2GW,oBAAoBPQ,A;yLA2bb1KwI;AAMZ9DU;AAxMFA2F;AAyMkE8D8C;mzBASpDAgG;AALVsEAAtcG2GW,oBAAoBPQ,A;+kDAoVW2LY;AAAPAiB;AAAOAwC;sKAMtB3Lc;iXAOHDkB;AAZAUyB;kZAcThP6C;AACiElU0D;6MAKjEkUU;AANAAmC;AAOiElUmD;+KAE/DiUkJ;uYASACU;AAlBFAkF;4JAoBEAU;AApBFA4K;oIA6BY6DgG;AALVsEAA3XC2Ge,AAAoBPQ,A;+nCAwYH9KoE;u3BAUyBAW;+2CCnkBjCTASIMHyB,A;0mBTiEpBgK6C;4uCAwBKyBkB;AADASO;AADyBmLO;AAAPAkB;OAAAAQ;AAAOAS;AACzBnL+E;gIAEMjjByE;gcAEX+gB2C;0/GA2BGyBkB;aARiC4LO;AAAPAkB;OAAAAQ;AAAOA+B;AAGnBhM0C;AACaGiB;AAAV6LiC;AAAU7Le;kCAEEEQ;qkBAO3BlhBmI;2pBAI+B6sBY;AAAPAkB;OAAAAQ;AAAOAyD;AACkB3La;gNAEnDDkB;wFADsCCQ;2nBAQ3ClF4C;WAAAAqE;8uBAIAvcoK;AAE+BO2H;uHAE/BAuH;86BAM6B6sB0B;AAAU7L6B;AAIC6LY;AAAPAkB;OAAAAQ;AAAOAwB;AAEjB3L8E;0EAEkBAa;0TAIpCDkB;0FAFwBCQ;8sCAcI2LY;AAAPAkB;OAAAAQ;AAAOAwB;AAER3L8E;6HACpBDkB;AAFAUoF;2EAGSljB2I;mnBGpNG+vBAVkNG3GApBhJE8DsC,A,A;6nB4BzCtBtrCA4B/BAyuC0B,A;+W5BuCEla4E;AACwBiYkF;4BAIEAiB;0BACP7Lc;mCACSAuB;6BACNAiB;4BACFAe;6BACEAiB;mCACMAuB;gGAK1BxBmG;8FASwBqNyC;AACAAyC;w6BAQX/LW;AAAL+LuB;kJAGZptB8C;ulFAQiC6sBoB;AACnBhsCAVxDuB8wBCA+BHE2B,A,A;6TU6BRgboB;AACRhsCAV7DmB8wBC,A;AUwDvB9wBAVxDuB8wBAA+BHE2B,A,A;oXUmC5B7RU;AAnBNAwD;6DAuBsBkwB4D;AAAA9C2G;qFAAZtpCADhFyCo3B2F,A;ACmF7CkSgB;AAAKpLY;AAIHPQ;wVAMFzhBU;AApCNAsF;yDAsCMotB8B;AAAKpLY;AAIHPQ;6eASEzBAjCgHHl8BmD,A;AiChHuBs7BwE;AAApBY8C;AAAoBZ2D;kMAEtBpfU;AArDRA+B;kDAsDQmdqDFkCNhIqE,iEAIFnVU,A;AE5FAAuC;AAsDQmd8I;AAEFiQ8B;AAAKpLY;AAKHPQ;kzBAcFzhBU;AA3ENAgD;sUAgFQ+fyG;AACAqNkB;AAAKpLY;AASHPQ;4xBAcJ2LkB;AAAKpLY;AAQHPQ;qQA1DAtEkE;8JAiEFndU;AAvHNA6E;kDAyHMotB8B;AAAKpLY;AAKHPQ;sXAMkBoLoB;AAAShsCAVnLE8wBC,A;AUwDvB9wBAVxDuB8wBAA+BHE2B,A,A;6SUyJ1BkOU;AAzDAA+F;AA0DAqN8B;AAAKpLY;AAKHPQ;0eAKFzhBU;AApJRA8E;AAqJQ0dAD5KRvIU,A;AC6EQgIAFkCNhI6E,A;AE6DMuI+I;2KAGA1dU;AAxJRA+G;kRA+JMotB8B;AAAKpLY;AAOHPQ;+sBAWA1BU;AAjGAA+F;AAkGAqN8B;AAAKpLY;AAKHPQ;wcAMFzhBU;AA7LRA2D;iaAiMQAU;AAjMRAmF;mWAwMMotBkD;AAAKpLe;AAQHPQ;0IAJ2BtgCAVtQCkxBCiChBjBEgE,kK,A;+MvBiSbvSU;AAvNNA4F;iFAyNUggBAjCtDHl8BmD,A;AiCsDuBs7BwE;AAApBY+C;AAAoBZ2D;oFAEtBpfU;AA3NRAkD;gFA4NQsdgB;AAtKAHqC;AAsKAGAFpJNnIU,A;AElBMgIAFkCNhIoH,A;AEoIMmIc;AAtKAHmD;AAsKAGAFhJRtdU,A;AE5EAAwC;AA4NQsdiJ;AAGF8P8B;AAAKpLY;AAKHPQ;4pBAWA1BU;AA/JAA+F;AAgKAqN8B;AAAKpLY;AAKHPQ;mdAMFzhBU;AA3PRAiF;wWA8PQAU;AA9PRAkH;0SAoQMotBkD;AAAKpLe;AAOHPQ;gJAH6BtgCAVlUDkxBC,A;AUsQDlxBAVtQCkxBAiChBjBEgE,A,A;AvBkVkBpxBAVlUDkxBiJ,A;2HU2UhBwaoB;AAAShsCAVhUQ8wBC,A;AUwDvB9wBAVxDuB8wBAA+BHE2B,A,A;sPUqS1BkOU;AArMAA+F;AAsMAqN8B;AAAKpLY;AAKHPQ;4SAGJ9DoE;AACA3dU;AA/RNAwC;0OAiSQ2dAFhNR3dU,A;AEjFAA0C;AAiSQ2d+FF9MRhHsB,iE;AEiNMyW8B;AAAKpLY;AAIHPQ;2ZAOFzhBU;AA/SNA0G;0LAkTM4fgB;AA5PEzCqC;AA4PFyCAFzMJzKU,A;AEnDMgIAFkCNhIgG,A;AE0NIyKc;AA5PEzCmD;AA4PFyCAFrMN5fU,A;AE7GAAwC;AAkTM4f0I;AAEAwN8B;AAAKpLY;AAIHPQ;8VAMFzhBU;AA9TNAgF;mVAmUQotBkB;AAAKpLY;AAMHPQ;4NAEF2LkB;AAAKpLY;AAKHPQ;sSAKN1BU;AArQIA8C;yhDCjJO7JAVmXOHgC,A;ueUjMlBEAA1B0BkLc,2BAAAAkB,A;2IA+CxBr9BAwBhMcirCAjCsMA3GApBhJE8D+C,A,A,sG;iQ6BoNIJAfjIpBhoCiH,A;mDekIC66BActLmB76B2B,oBAAAA+B,A;sMd4LO+amJ;8QAvPSqpB+lBAgC5BtBqC,yEAAAAAAGhBAAAAAAkI,A,A,A;i0+BpCuxCmB2IsK;CAAAAG;oWAUAC0K;CAAAAG;kWAUAC0G;CAAAAG;wXAUAC8G;CAAAAG;8PyB30BgC7CAbgiB/CzJc,oB;mtBkB1hBgBsKkB;yGyBnhBgB5pC+BAsLpB+9B2C,AAEhB/9B8B,A;" + "frames": "syTAoJei8DmC;+HAKAA6C;4CAKCTY;4CACeDE;sKAIlBAE;oBAGOF8B;8OAaAn7DAA8CgBCgEANKwEwG,A,oB;sgBATrCvEAAmB0BDgEAVWwE8E,A,AAUvCCiD,A;q3OM2JWmtBsI;eAEF4+BwG;ouDL1RWgPsB;4LAmCLrEY;mrBAyLTlJmG;0QAwJSlxDAO0fRCuB,A;uCP1fQDAO0fRCAAo5B6Cy5D6B,A,A;uMPv3C1BO6C;+YAYbj6DAOudNCeAo5B6Cy5D6B,A,A;mOPt1CzCuEAARFjCsB,A;gTAyBWayC;2kBAuRLhXgB;0sDA+HiC3CoC;yJAa5CpiDAAjwBG+vB0B,A;mRAkzByCqyB+C;+tDAyFzB4ZkG;imBAgD0BzZAStlCzBHsC,A;gYTomCyBGASpmCzBHsC,A;qdTynCC4ZmE;mVAgBFAiE;iSAOXhB6C;4lBAAAA+C;iNAmBqBrXkC;qgCA+DOrc4C;ghBAoCnBA2C;uDASAA6C;8LA8CAvX8F;0xDAuHdAkG;iuBAsPEA+S;u4BAkNAA2C;yxCA4DyBAkB;8oDAkCJAkB;4DAQ1BAoE;wDAKuBsckF;OAChBtc0B;sJAOCwtCc;4BAIgBxtCoE;sOAUjBA0B;4NA8BmBA4B;6FAGtBA4C;ubAsEKoqCe;qJAEDDsB;AACEAyB;wrEAmQJnqC+C;cAKAAgG;grIAyTEA0F;m7DA+F6B6qCmK;AACHgCsK;wRAwIzBr6DAO16EN2zDiD,sB;sPPg8EUnmCoG;iEACKyrCiC;4qBCtzFTaa;8BACct5DAAsE3BDAFzIAFuI,A,A;aEmE2BGAAuEpBw2DE,A;8DAtEW8Ca;oGAKKr5DAAzChBq5Da,A;yLA+CMAoB;kCACkBt5DAAyD/BDAFzIAF2I,A,A;aEgF+BGAA0DxBw2DE,A;sEAzDW8CoB;4GAGKr5DAApDhBq5D0D,A;0QA0EEt5DAA+BTDAFzIAFuI,A,A;aE0GSGAAgCFw2DE,A;2NAvBEt2DAA2BTHAF9IAFsB,A,oI;SEmHSKAA4BFs2DE,A;iRAbEt2DAAYTHAF9IAFsB,A,oI;SEkISKAAaFs2DE,A;4KAMPz2DAFrJAFgE,A;27CEwNQEAFxNRFwN,A;iIEsO2By5D8P;o2BAqFX74D6E;w+Ia6LsB8sDuD;wMAq2BCOuB;mHAY/BNwC;AACAC8C;oyEP1zCekEgB;AAFAmEsB;2BAGf7ByE;AAD0ClFAA6JlC8GoB,A;mEA/ECvGAAxBsBsGc,A;6EA0BECU;qGAsJzBEiB;+eA4ODzGAA5ZwBsGc,A;8JAqabCqB;qRAUAAqB;mSAUWzGkB;kRAe3BDAAtYM4G6C,A;sCA0YGrHAA9XHmHqB,A;iGAgYQpHkB;kUAiBHqBAAvYILiC,A;AAwYJIkB;+QAUIGAA9XT6FqB,A;qHAqYiC/GkB;iZAqB5BGiC;AACDuGmB;oGAODxGAAxZH6GqB,A;yTAqaI3GAA3ZJ0GqB,A;6EA+ZUN2B;0VAmBNEmE;uEAGDKa;kXAiBCLmE;2EAImBF4B;AACEAiC;AACtBOiB;4YAyB0B9FqL;AASAP8D;0GASbDoC;0PAYiB6FAAhZRpoCkD,A;AAiZrBonCkE;AAIAJkE;AAIADkC;gVA4CF8BoB;iLAaZ5EsB;sMAuBFEiB;sCAIO2GmC;k4BAmFkB7GiE;kRAyBXqEe;uCAEN/zDgE;2NA0EQuBqCAlFlBmuDuD,A;uHAsFc+E0B;aAEL8BmC;OAAwB7H4B;iFAOMjtDAAI5BgqBY,A;AAJF4hC2B;uBAA8B5rDAAI5BgqBAAkCbAAAAAAAACMwmC2C,A,A,A,A;oEARmBjyDmD;wFA6DrBsyD4C;OACO7CmB;0OAWI1BAA7gCwBsGc,A;4UA+hCnBzGAA79BJ4GmB,A;WA89BM3G8C;AAWdkFqD;wOAYCjxD+CA2BmBysDAA1/BZiGkB,A,AA2/BMlGiB,yD;+JArBPPAA9jCwBsG6D,A;0YAmmC1BpBmlC;AAEF1IO;AADPwHmB;+XAiEOtCI;AADOrBAAlkCFkGqB,A;4JA4kCF3FiC;uBAKViBiB;iRAsBO2GmC;gCACG5HiC;uBAKViBiB;iPAkBEAmB;kBAOYjB0B;gOAwBZiBmB;kUA0BSHiC;sMAaWAmD;uKAQRgGiC;yBADsB56D+B;uHA6BPAeA8VmBy5DkG,A;wEAhVhCmBiC;yGAgBThGO;AAAajCAAlwCR8GyB,A;yDAmwCR7EW;ijHAwKmBwES;wDAGDK4B;6JAYA/FAAz8CViGsC,A;AA08CKlGc;0HAMG2Fe;AACF6EyD;AACE7E4B;8KAOGK8B;+CAELEsB;kdAgBMPiB;wrBAgBFK8B;AACjBjsDAAukEM0lDAA3pHwBsGkB,A,A;4RA6lDlB5FAAj/CCP0C,A;AAk/CeX6C;AACQiByE;AAGPyF8C;AACOhGyE;AAGPgGiC;AACNjGkC;AACPiGe;oNAWVK4B;uNAaEA8B;uNAaFHqB;6EAKEGsC;AAIFEuB;8XAsBAzGAA5qDwBsGc,A;sRAqrDVjGAAnlDbkGmB,A;6FAqlDSvGAAvrDcsGgB,A;4JAgsDV7GAAzlDb8GgC,A;8DA8lDI1GAAnoDJ4GoB,A;gBA4oDM3GgB;gWAgBOJAAxmDb6G8B,A;AAymDG5GO;2CAUDCAAzmDIOsC,A;wQAinDFmLsB;2JAsLPtMAAHKmMG,2B;iDAKPnMAALOmMG,c;mJAWD9D6B;0IAKOfyB;AACPlEmE;uYAiBO+IW;oGAqCA9DW;iEAeH4BiC;AADP3B8C;+CAGFjE8E;AACH6F8B;qIASS3JmB;8CAGV+E+B;AAEa2EiC;+CAET5FoF;AACH6F8B;+IAKShKmB;8CAGV+E6D;AAEuB54BAAx2Dfo7ByB,A;AAy2DKwC0C;sHAGXjJAA5hE6BsG2B,A;AA6hEdnHgC;AAKhB+JuC;6EAyCHlF8C;AACAO0C;iFAuGe0EqC;AADP3BoB;+CAGsB3IAAIpBmHAAjhEPpoCsC,A,AAkhEH8mCwB,AACAL+B,yD;AANG7CAApGA4HQ,AAAO5BwB,A;0FAqHK2B8B;AAFN3LAA7DKjyBAAv9DJo7BiD,A,A;AAqhEFaoB;8HAGLhGAAvHA4HQ,AAAO5BwB,A;wKAqIOtHAAttEgBsGmC,A;6LA2tEZ7GAApnEX8GoB,A;+GA0nEATAAzjEPpoCsC,A;AA0jEH8mCqB;AACAI4B;GACAT+B;oIAWe8E8B;AAFN9LAApGK9xBAAz9DJo7BiD,A,A;AA8jEFaoB;8HAGLhGAAhKA4HQ,AAAO5BwB,A;wJA8KOtHgB;+HAIVqC+D;oIAKGyDAAhmEPpoCsC,A;AAimEH8mCqB;AACAI4B;GACAT+B;sIAOe8EqE;AADP3BoB;+CAMVhJAASYwHAAxnEPpoCsC,A,AAynEH8mCsB,AACAI4B,AACAT+B,yD;AAfG7CAAnMA4HQ,AAAO5BwB,A;oHAwNMpBe;wFAEIKG;AACCl7BAA5nEXo7ByB,A;qIAqoEMPe;uFAGmBFiC;AACZIiE;AAIPGO;AACKl7BAA9oEXo7BiC,A;mJAyqEDpJAAjBO6IqB,qE;AAmBD+CgB;AADP3BkB;+CAMV/IAAUYuHAAlsEPpoCsC,A,AAmsEH8mCqB,AACAI4B,AACAGyC,AACgBmBwB,AAEdvB2B,AAA6BqBc,AAE/B7B6B,yD;AArBG7CAA5QA4HQ,AAAO5BsB,A;oJA2TNtHAA54E6BsGsC,A;AA64ErBlHAA/zEFmHmB,A;AAg0EUNmB;AAChB9GkD;iEAIKnCaApBP3xBAA/sEQo7ByF,A,A;AAquEKwCgB;AADP3BoB;+CAMVlJAAUY0HAA5vEPpoCsC,A,AA6vEH8mCqB,AACAI8B,AACAGgC,AACAZ+B,yD;AAjBG7CAAtUA4HQ,AAAO5BwB,A;4FA6WD/J2H;AAEM0LQ;AADP3BoB;+CAMV7IAAUYqHAAvyEPpoCsC,A,AAwyEH8mCsB,AACAIsC,AACAG0B,AACAZ+B,yD;AAjBG7CAAjXA4HQ,AAAO5BwB,A;6FAgcDrKAArDbCoD,AADI7xB0D,AACJ6xBAAM6CuD2E,AAGPyFgD,AACOhG2E,AAGPgGmC,AACNjGoC,AACPiG4F,iX,AAjBtB3CgC,A;AAyDgB0FgB;AADP3BoB;+CAMVjJAAUYyHAA13EPpoCsC,A,AA23EH8mCsB,AACAIiC,AACAG8B,AACAZ+B,yD;AAjBG7CAApcA4HQ,AAAO5BwB,A;iHAyeDlKsCAZT/xBAA93EUo7B4F,A,A;AA44EKwCQ;AADP3BoB;qJAGLhGAA7eA4HQ,AAAO5BwB,A;2PAkgBQpBiB;8HAICKwB;AACXvGAAxlFyBsGkE,A;mYAknFvBRAA18EPpoCsC,A;AA28EH8mCsB;AACAIuC;AACAGuB;GACAZ+B;iTA0KoBqG0B;AACJG0B;mCAGT/DmC;6eAcHyDiC;0CAIAAgC;0CAIAAW;uBAESgBU;AAAkBjEI;AAAqBwC6B;0CAKhDSW;AAEEYqD;AAA2BII;AAA3BJAAgYD3E6B,A;0CA3XD+DW;AAAsBjIqC;AAAiBiJ4B;0CAIvChBW;AAAsBlIqC;AAAkBkJ4B;2CAIxChBW;AAAsB9HqC;AAAe8I4B;0CAIrCfAA0ERDiB,AAAYRmC,AACe3DuB,A;qQA/DXmFkB;AACRhBW;4DAIcjDI;AAAqBwCoB;AAC/BLoB;oDAMI8BkB;AACRhBW;4DAIcjDI;AAAqBwCoB;AAC/BLoB;0CAMJc8B;AACACAAqCRDiB,AAAYRmC,AACe3DuB,A;4IA9BnBoEAA6BRDiB,AAAYRmC,AACe3DuB,A;0CA1BnBiCAAmMSr5BAA2CEq3B2B,AAAmB0DmB,wBACtBwBU,AAAkBjE0B,AACPdsC,A,AA5C3B+DiC,AACAA8B,A;2CAjMQCAAqBRDiB,AAAYRmC,AACe3DuB,A;2CAlBnBgCAAiMSrBAA4CEV2B,AAAmB0DmB,6BACjBwBU,AAAkBjE0B,AACZdsC,A,AA7C3B+DiC,AACAA8B,A;0CA/LYjCAAwMKwC4C,AAMjBPW,AAAmB5QyC,AACnB4Q8B,AACACAAnMADiB,AAAYRmC,AACe3DuB,A,2B;2GANhB0D0B;8BACGyBU;AAAkBjES;gKAWrBRmC;oGAIXyDyB;yNAaWzDmC;sNAIyC6BsD;yEAM7BhP2C;oCAKjB4RgC;AACAjE2B;AAFQGAAz5BCvHAA3iEsBsGiD,A,AA6iEjBlHAA/9DNmHmB,A,6CAk+Da1GAA9+Db4GU,A,AAi/DYuCkB,oI;AA+4BxBqBW;AAEY9C8E;AAOZ8C0B;2GAMqBgB+E;AAEZzBmB;qCAGTSW;2HAE4BjD+B;AAChBpHAAz9FuBsGyC,A;AA29F/B+DW;wEAMIdkB;sCAMJcW;2JA+BKTyE;AAnBYyBuF;oFAwBIzB8C;sCAIbAiC;sCAIRS8B;oCAIJAwB;kEAKKT0B;2CAGIAuG;AAC0Bc+D;AACbAgB;8CACctDqB;AACmBtBAAhzFlBpoC8D,A;AAizFfonC+D;AAIAJ+D;AAIAD2B;AACpB4FW;gHAWAAW;uCAIW5D6C;qMA0CLmD8B;0BAERSW;AAAsB/HqC;AAAgB+IuB;gDAItChBW;AAAsBnIqC;AAAcmJuB;qKAOnBlF+B;AAAmB0DW;wBACtBwBU;AAAkBjEkB;AACPd8B;iLAmBboEK;8QAUMxEe;8FAEAFU;gGAOAEe;iGAGAFU;mHAOLhGAArqGsBsGc,A;uEAuqGRlHAAzlGfmHS,A;qCA0lGYpHmC;AACP+GiB;gDAEDKW;yDAIEnHAAjmGNmHqC,A;AAkmGDvGAAhrGwBsGqB,A;gMAurGbxGwC;AACPoGiB;oBAEDKW;yLA0CDxGkG;AACGsG8B;yFAGX6CqC;yQA2BOlJAAnwGuBsGc,A;iGA0wGnC/KAAyZ0ByEAAnqHSsGsB,A,A;uHAgxGlBCE;AADH3GAA/oGF0GsC,A;4BAopGAtGAApxGuBsGmF,A;mEA2xGM7GAAprG7B8GgB,A;0KA4rGoB9GAA5rGpB8GyB,A;oGAmsGgB9GAAnsGhB8GqC,A;kOAktGelGAAvtGfkGyB,A;wEAiuGwB9GAA5tGxB8G4B,A;0OA2uGwBlGAAhvGxBkGgB,A;+YAwwGI5G2B;AACAAiC;AACGuGwC;AACAAmB;sBAGkBD8D;AACAA8D;0DAGjBM+B;AACAAe;mMAShB7GAAxwGQ6GkB,A;AA0wGR7GAA1wGQ6GgB,A;u5BA4yGM7FAAtzGN6FkB,A;AAuzGM7FAAvzGN6F0B,A;mCA4zGsB/G6B;AACAA+C;AAEQiB6D;AAGAA2E;AAGPyF8D;AACAAe;+MAKOhG6D;AAGAA2E;AAGPgG8D;AACAAe;iOAOAFa;+CACbOgC;4GAOaPa;+CACbO4D;8GAUfPuC;+CAEeOgC;gDAMOtGmC;AACAAoC;AACPiGoC;AACAAe;yFAIFOyB;iGAGEAoB;kGAGILwB;qIAKcJwB;uEAERAwB;kCACbO2C;0GAMVHwB;gMAaMvGAAt8GH4G4B,A;AAu8GG5GAAv8GH4GwB,A;2CAq9GOzHAAnnDLmMG,iB;2FAsnDC1EwB;0CAIMsCiB;sEAEH7CiB;AACWnzBoEA0LjB23Bc,A;6GAxLWjEc;qEAIT3Ga;0DAaFAqB;AACAAa;yHAgBIoGe;uEAUAKgB;AACAAsB;2HA8CAhG2B;AACAAgC;AACA2FqC;AACAAiB;yBAEF1FAA3iHFiGe,A;AA4iHEjGAA5iHFiGmB,A;4FAgjHMFkB;AACAAsB;8EASPvGAAlpHwBsGwF,A;4FAspHQ7GAA/iH/B8GkB,A;uDAojHDvGAA3pHwBsGc,A;6IA8sH1BmDqE;AACEvDe;kDAEEOa;2IAUDiEI;s/DS7yHR9LgC;sFA6BRlhC+C;kEA6GOA2BApCSuhCAAAAvhC0D,A,sC;iJAqDC+vBQ;4yBA+DE/vBgF;AAAAunCqE;geAkCP71B0C;+hBC1TIAoB;+NAYVm2BsC;2JAMJA4F;OAEgBjJmC;wMAqkBFmFyB;uBACIjEsD;kGAGhBfmCAyKwB/+BiB,A;AAxKRuX2F;8OAehBmvBiF;uMAhBA3HAAyKwB/+B+B,A;AAxKRuXiB;6NAiCXj5B2C;QAAAAwB;qbA2JkBilDuE;iFAGYpCwD;AACxB3Q6B;2pBAiCcKkB;iHACDsXyB;2JAGWhHkC;AACxB3Q+B;uOAuFIGkB;woBAkBTuK8D;gGAMgBgJqC;AACF+BgL;AACZjGmI;gNAcIiGmK;0FAEVsBoI;4BAGAZoG;gYA8EGxNoB;8YGhiCP8LgC;uPAcYmBoD;qGAUiBpmC4E;oJAMjBomCoD;oYAoBcpmC2E;8mBA0EvB1hB4E;4GCk+ED0hB0D;OAAAAuD;geC78EOm5B8C;+NAgXN3I2C;o1QETkCxwBuF;uEAQ9BAqF;6HCnbMAqD;8YAoBNy8BkB;8kGCuQHsR4N;cAAAAqK;cAAAAsJ;cAAAA4E;cAAAAoL;qDAAAA0E;uEAAAA6F;cAAAAqK;cAAAAuJ;cAAAA4E;cAAAAmM;cAAAA4E;cAAAAsI;inBAyTOtGkR;sqGAmFkBznCAZ6pBQ8gC4B,A;84CYrlBf4G4D;8tEhB/eelCAAN9BkGgBRxPwBgC4C,A,A;uyBQ+cjBrbsC;AAED4Vc;uFAGFAc;0EAGEAkC;yJAuBQrJkC;s6BCjhBZ+IADwMSyFAViPXjCsB,A,A;eWvbA5FiC;68DkB9D2BvlCyB;wvBCq1B1Bs9B8G;yPAwBct9BkD;gGAGpBs9BiG;2LAMKbkB;wxFC/rBakOwE;i0FCtJNtCsD;myCCjBUroCuF;8JA4gBRAA+BunBKAA/C5kCnBAAApBsB+vBAAAA/vBuF,A,A,mE,A;+tBgBolBAAuF;yiIEjkB1BAAAAAA6HAQE2c4E,mE,A;m7CC3EA8U2H;AAIU6YiE;AADAtqC6BF8Gem6B4E,A;8DE9Gfn6BAFsH0BwzBqB,AAGlB2HAAAAn7B2B,A,A;8NE/GlB06B6DFmHEjJO,A;AEhIFAyH;AAaAiJc;AAVU16BAFsH0BwzB0C,A;AE5GpCkH+H;yUAYAjJqI;AAIU6YyC;AADAtqC0E;wSAUV06B2F;8OASGqCiC;uQAMAAiC;0eAMOjJmN;qCAAAAW;kCACAkCkB;kFAIZvEmG;AAEI6YqE;AACF7YU;AAHFAuF;AAIE6YwC;uEAogBFAmC;ysFK1kBgBRuF;6jBEmBF9pCA7B64CyB8gCkD,A;qpBfzlCPkL2C;uOAqB5BzByD;6qDGxMF5uBwE;mKA4GAAiF;8oBA2CO3bkE;QAAAAkE;sNA0ZqBorCmD;mDAcFprC+C;+BAAAA4B;gqBA2GJva6B;oEAAAAAK4Mdw9C+B,A;wcL3LgB+IyE;u8B2C/vBKpPAA6ESlhB0C,AAAiBiU8B,A;0jBA8DhD2T4M;sBAAAAwD;yBAAAAqH;+lHlB2JE6JoC;4yCmBjTP9JuGA+BUuCqN,AAEI5lCAhC0zCqB8gC6C,A,gJ;iSgC5yCpBiJAhC+yCfxJe,oB;AgC9yCU/oBkB;mgBzClGcxXmD;uBAAAAwC;4FA+IxBA2E;gBAAAA+E;uxBA6MwBAa;6GAAAA+B;+1BA6DAA8C;8FAAAAqC;+CAIxB4+ByB;iFAAAA8D;8tC6C9UO2FuB;4NAkBF2GI;gcAmBelrCoB;kBAAAAqC;wIAyCpBAa;qEAAAAgE;ioBlDyEsC8tCoC;wLAmBpCxbkC;mNAQWqZiB;wVAIXxZkC;+RAKMnyByE;2RAEe8tCoB;4BAGlB9tCgE;i1DA2kDqBqyBwC;8jDAmiCCuVmB;AAAeAiB;8IAOQAiB;4DAOlC1CuC;AACA8GgC;2KSz4FIhsC8C;8IAAAAwC;0IAUbsgCAA+PiB8Ca,A;+NAhOEA+C;+MAKAAe;8QAUfzBaAgLNwB6C,A;iyBA/JLlR4LAQWkRgB,gV;gqCA0EaCa;6PAUAAa;uVAiBDpjCwB;qhDAwHlBAa;4EAAAAyD;y9BKhTgBwXAAw5CjBgpBoD,A;uLAx5CiBhpBAAy5CjBipBgD,A;yTAviCGzgC+C;+kBAqEMobwD;0hCAmhBf2kB8F;AAEEoH2gB;uuFAoeK5Ge;mjBPl3CA4F+B;uIAMyBDsD;uDAiiCb92DoC;sCAAAAAAytB+By5DY,A;okCS7tD9ClF6B;g5BA6FFzD0BC2fmBlgC6C,A;ADzfnB++B+BC2kBwB/+B8B,A;iQD5fgBAoC;2oCmC7GtCoyB8B;AACKpyBoC7B2gBM0RgB,mDADjB1RAAAAAkFAKck5BE,oD,A,A;+B6B7gBOl5BAAlLjBAA5B80BAAADjvBgB0R2H,A,A,A;gC6BqFC1RAAlLjBAA5B80BAAADjvBKguCAAWKlIAA4BL3MmB,A,yEA1BK4M0EA+DL7MmC,A,A,A,A,mJ6B/KTl5BAAAAAwF,A,A;AA+LE6+BmZ;wJAgCS7+BS;AADLoyB4B;mFAIGpyBkE;iOAyDHqkCe;4GAKAD2B;qMAaE/CsB;iPAMA2EwnB;wEAUF5BqC;uEAOAhSqC;wWAkB0CiSkB;wCAIrCrkCS;AADLqkC4B;kOASAD2B;sDACAZyD;sEAMEYuC;mkBlClTMW6B;wEACZ5E+B;kTAeY4E6B;2NAiIPhU4B;8BACEoX2B;AAA6B/GAAzB7ByMmC,sB;yRAyCI1FqB;qdAULtX+B;khBAyIkBnf2C;oTAalBynBgB;uEAQcn5BqE;oBACPi8BqH;wJASOj8ByE;oBACPstCsH;uXAuGTxIe;kOAQiBhFmF;AACLoEmC;2HAQd5lD0C;QAAAAwB;qSAQEwmDe;qeAiBiBhFmF;AACLoEmC;kMAQd5lD0C;QAAAAwB;4tBA+IFipD2D;wJAMWhEyC;2kBAiBUvjC0C;qYA6DrB1hB0C;QAAAAwB;uRA4BAAyC;QAAAAwB;moCA8EyBoyCmBA7nBlByXsB,AAAUJAAjEV8F6B,gE,A;0FAgsBkC1MS;qDAAAAoB;uDACDAE;gEAAAAiD;gEAEPnhCkF;2MAKqBkkCkD;AAC3BX8D;AACqBpCE;2DAAAAkC;mKAWrBiEAAiGzB5H2C,qC;6xBA3F4Cx9B6B;yRAUfywBgB;wBAAAAE;0BAAAAAAttBxB0X2B,AAA+BzCoBA3B/BmIM,2E,A;oJAmvBwB7tC6E;4RAOQmhC8C;OAAAAyD;6DAElBrQAAxuBd2UoC,A;gPA6uBsBtEsC;OAAAAoC;mMAGInhCkF;oPImYXAyF;+jBAQlBigCe;6BAAAA+BJ5oBFsHuF,oD;4BMsJ4BtWkD;yxBDtiB1B6Se;+HAIc9jC8D;gMAiDSAe;wDAAAAwD;AAC3Bib8M;AACKwoBe;2RAciBaoB;wQA6FlBb4C;6IAEoBuBwFAhM2B3S8E,A;6OA2M5BiSwC;inBA+BctD8G;qWA0HjCvOe;keAWFlCQ;6BAAAAuNA6BF6HuC,A;mkCJqkCE5HyE;2aAYAAyE;ouCM9pDKxwBuC;kHAAAA2C;mNAU8B0jCa;4JAGHAa;ktDAqDhC2C6HAOSjGAAoOewKgE,A,8e;g9DAvGrBlHiE;gJAuEMtDAAgCewKmC,A;6fAmEnB5qCa;mFAAAA2C;wsBoBhamBAyC;+DAAAAS;yBAAAAoC;mQA2IUA2E;QAAAA2E;iDA6WjBorCmD;+xBnBlaf/NqB;AACAAAfqaJ6KgD,A;AepaI7K2C;qWAiOiBzJoB;gCACMNAhBpTLtzBa,A;oEgBoTKszBoBhBpTLtzBwC,A;0CgBsTHy8B0B;mTC7FTpKe;uCACIryB8F;8gBAoFD0cAA3B6B1cAZunCL8gC6C,A,A;uXYh5BZ9gCAZg5BY8gCiB,A;QY/4BvB9gCwC;2EAEd6bgS;6UAqHyB7bAZwxBY8gCiB,A;2eJnyBxBlqCAA9mBMyzC2B,A;AA8mBfhNAAjHJ6KyB,A;AAkHI7KAAlHJ6K8B,A;gQFhVElTiB;AAAgCAe;AAChCFuB;AAAqBAqB;uMoB4aAyI0C;sBACDpI2C;sBACArHyC;sBACAsD6C;sBACE6D+C;sBACAgF8C;wBACClFwD;AACbD4C;0zEjB/GY5C6C;uTD8GNlyBsJ;8LAKdq9BAAxGJ6K8B,A;uYAuHoBtxCAApnBDyzC8F,A;uhJAwBW2BuC;0vDuBygB1BhsC8C;ocAmGKvGwCAxDKwwCAzBhlBNjCAARIFgP,A,A,A;OyBgpBHruCAAxDKwwCyC,A;iQAqEVewI;2GAGmBeoF;0dASazB6B;mJAUnBAsC;63BuBjaTtqCoH;6GAYR86BA1C+jBAiFkC,A;8C0C/jBAjFA1C+jBAiF4D,iC;oD0C7jBkBqMiC;iEAEhBxJ8G;AAEaxSyC;sDAKAgJ+B;4iCjBnPf7JsF;0HAWoC4MAX2JVmJqE,A;AWhKxBpI0E;iNAKkCfAX2JVmJApBlJJ+DsG,A,A;A+BTb/U0DAnCayYgB,4EAOtBjSkB,AAFWiS8B,UAAiBnB4D,AAG5B9Q2C,AACAAsB,qP;AA6BAR2C;AACAA6F;AAGuCgQmB;AAAPAyB;OAAAAQ;AAAOAwB;AAK7B3La;gSAIHDkB;AARAWyF;uIAUL7P2F;AACgFpU2D;oCAG7DAyL;4XAKnB8hBO;AAhCAAmD;usDA2CF3NqE;6cAcECqF;8LASyCwBiC;wgCAuDvCxBU;AAhEFA4D;osBA0EAnBAJtFFmLkF,A;AIwFEhKU;AA5EAAsC;8CA6EgGpUmD;gGAEhFAwE;qpDAhEoBkvBmB;AAAPAgB;OAAAAQ;AAAOAwB;AAKtB3La;mVAIHDkB;AARAW+B;oVAUT7PiD;AACiEpU0D;6MAKjEoUU;AANAAuC;AAOiEpUmD;8KAE/DmU0E;spCAQkB4DoE;01BAUyBAW;u+DL8CjD1BkH;AACK8BkF;AAEH9BU;AAHFAiG;yDAMsBiRgC;mNAAAzDmC;cAGpBNQ;+HAIKQc;AADAAiD;AACAAuE;kEAELjCkC;+KAGE5EAA7BG6GW,oBAAoBRQ,A;imBA6Cd2L+I;AAAKlvB4D;6BAEEkvB2C;gBAChB9aiF;AAIiB+M+D;wgBAQb/MO;AAZJA2G;8DAgBIAO;AAhBJAgF;uaAmCSxvBApB6nCwB8gCyB,A;AoBxnCjBwJuD;AAAKlvBoE;kCAEAkvBgD;gBACrB9asF;sBAE6C8aiC;AAAdpLqC;AAAcoL+B;AAClCpLqE;oCACwBoLS;AAAdpLqC;AAAcoLoC;AAGsB9L+C;oBAA3CCwB;OAkBXz+BoE;kEAWmCq+B4C;iEAI/BckC;qkCAWYmLoD;AAAYzWwC;AAEZyWqD;AAAYzW4G;AAC3BVsB;mKAGOgM6E;0KAMb5P+D;omBAccgEoG;AALV+EAAnKC6GW,oBAAoBRQ,A;mYAiLrBpL4F;kQAEKe6FAlMkCyY8B,oH;6BAkMlCzYAA7LXwG2C,AACAA2C,AACAAsB,gS;AA+LERApBubFyFmE,0E;AoBtbEzFuCpBsbFyFmE,yD;uBoBpbuCuKmB;AAAPAwB;AAAOAyD;AAM7B3La;+WAIHDkB;AATAWwC;qRAWL7P2E;oCAC2FpU2D;oCACzEpbAYlZXAyH,A;uCZqZY+pCoB;gHACQ3uB4E;4UAQzBkdAApNG6Ge,AAAoBRQ,A;yLAyNbpL8H;AAMZ/DU;AAzBAAwF;AA0B4D+DqC;mmBAE5D2J0D;yRAQY3JgG;AALV+EAArOG6GW,oBAAoBRQ,A;+9DAyP3BpPqE;kNAQoB8CiC;yEAEdcsB;mKACJ5DU;AAXFAsE;AAYa4P8C;AACX3PiH;sFAIE2DsB;yWAMA3DU;AAVFAwC;+HAYMiNAUsCW2OoE,A;AVtCoB3OAUsCpB2OyH,A;AVrCbrSqDI7e4B+SAVgOdzGApB/IEgEE,A,A,wD8BhFOyCAV+NTzGApB/IEgEE,A,A,2D;A0B6ZZ3WiHIvdOoZAVyMGzGApB/IEgEgD,A,A,+L;A0BkaIrpC0D;AANpB+4BAI7e4B+SAVgOdzGgE,A,A;6VMiRZ7VU;AAjBNAmE;iFAmBwBxvBAYnejBAiE,A;oCZoeyB+pCoB;oMAG1BxaU;AApCRA4F;AAqCmB4P+E;AAEX3PU;AA1BNAuG;AA4BIAU;AA5BJA2F;AA6Be2PqF;0OAUX5L4F;i3BAWJ/DU;AAlDAA2E;4PA2DyCwBgD;qNAGrCsHAApUC6GW,oBAAoBRQ,A;2IAyUXpLiM;igCAqFZ/DU;AAxJFA4D;2sBAkKAnBAC5gBFmLkF,A;AD8gBEhKU;AApKAA8C;mCAqKwGpUmD;oCAEtFpbAYvnBXAyH,A;uCZ0nBY+pCoB;4KACM3uBoE;yMAKvBkdAAtbG6GW,oBAAoBRQ,A;yLA2bbpLwI;AAMZhEU;AAxMFA2F;AAyMkEgE8C;mzBASpDAgG;AALV+EAAtcG6GW,oBAAoBRQ,A;uiDAoVW2LmB;AAAPAwB;AAAOAwC;qIAMtB3La;2YAOHDkB;AAZAW+B;kZAcT7PiD;AACiEpU0D;6MAKjEoUU;AANAAuC;AAOiEpUmD;8KAE/DmU0E;sYASACU;AAlBFAkF;4JAoBEAU;AApBFA4K;oIA6BY+DgG;AALV+EAA3XC6Ge,AAAoBRQ,A;8nCAwYHxLoE;01BAUyBAW;82CCjkBjCXASGMHyB,A;0mBTkEpB6K6C;0sCAwBKwBkB;AADAUc;AADyBkLc;AAAPAyB;OAAAAQ;AAAOAS;AACzBlL+E;gIAEMhkByE;gcAEX8hB2C;0/GA2BGwBkB;aARiC4Lc;AAAPAyB;OAAAAQ;AAAOA+B;AAGnBjM2C;AACaIY;AAAV6LwC;AAAU7Le;kCAEEEQ;qkBAO3BhiBmI;wnBAI+B2tBmB;AAAPAyB;OAAAAQ;AAAOAyD;AACkB3La;8OAEnDDkB;wFADsCCQ;2nBAQ3CnF4C;WAAAAqE;8uBAIApdoK;AAE+BO2H;uHAE/BAuH;m4BAM6B2tBiC;AAAU7L6B;AAIC6LmB;AAAPAyB;OAAAAQ;AAAOAwB;AAEjB3L8E;oCAEkBAa;sVAIpCDkB;0FAFwBCQ;2rCAcI2LmB;AAAPAyB;OAAAAQ;AAAOAwB;AAER3L8E;wHACpBDkB;AAFAW4F;2EAGSjkB2I;mZGrNG0wBAVkNGzGApB/IEgEsC,A,A;k/B4BRtBzsCA6BjEAyvC0B,A;6V7ByEE5a4E;AACwB6YyF;mCAIEAiB;0BACP7Lc;mCACSAuB;6BACNAiB;4BACFAe;6BACEAiB;mCACMAuB;gGAK1BvBmG;8FASwBoNgD;AACAAgD;sqCAQX/LW;AAAL+LuB;kJAGZluB8C;4+FAQiC2tBoB;AACnBltCAV1FuBkxBCA+BHE2B,A,A;6TU+DR8boB;AACRltCAV/FmBkxBC,A;AU0FvBlxBAV1FuBkxBAA+BHE2B,A,A;oXUqE5B7RU;AAnBNAwD;wFAuBsBkuBkH;qFAAZtqCADjHyCm4B2F,A;ACoH7CmSuB;AAAKnLY;AAIHRQ;wVAMFviBU;AApCNAsF;yDAsCMkuB2B;AAAKnLY;AAIHRQ;6eASExBAlCyFHn9BmD,A;AkCzFuBs8BAN6U5B2PyE,A;AM7UQ9OwC;AAAoBb2D;8RAEtBlgBU;AArDRA+B;kDAsDQieqDFDN5IqE,iEAIFrVU,A;AEzDAAuC;AAsDQie8I;AAEFiQ2B;AAAKnLY;AAKHRQ;6xBAcFviBU;AA3ENAgD;sUAgFQ8gByG;AACAoN2B;AAAKnLY;AASHRQ;4xBAcJ2L2B;AAAKnLY;AAQHRQ;qQA1DAtEkE;8JAiEFjeU;AAvHNA6E;kDAyHMkuB2B;AAAKnLY;AAKHRQ;sXAMkBoLoB;AAASltCAVrNEkxBC,A;AU0FvBlxBAV1FuBkxBAA+BHE2B,A,A;6SU2L1BiPU;AAzDAA+F;AA0DAoN2B;AAAKnLY;AAKHRQ;0eAKFviBU;AApJRA8E;AAqJQweAD7MRnJU,A;AC8GQ4IAFDN5I6E,A;AEgGMmJ+I;2KAGAxeU;AAxJRA+G;kRA+JMkuB2B;AAAKnLY;AAOHRQ;+sBAWAzBU;AAjGAA+F;AAkGAoN2B;AAAKnLY;AAKHRQ;wcAMFviBU;AA7LRA2D;iaAiMQAU;AAjMRAmF;mWAwMMkuB+C;AAI6BltCAVxSCsxBuBiChBjBEgE,iC,A;AvBoTRuQe;AAQHRQ;2dAOFviBU;AAvNNA4F;iFAyNU+gBAlC7EHn9BmD,A;AkC6EuBs8BANuK5B2PyE,A;AMvKQ9OyC;AAAoBb2D;8KAEtBlgBU;AA3NRAkD;gFA4NQoegB;AAtKAHqC;AAsKAGAFvLN/IU,A;AEiBM4IAFDN5IoH,A;AEuKM+Ic;AAtKAHmD;AAsKAGAFnLRpeU,A;AEzCAAwC;AA4NQoeiJ;AAGF8P2B;AAAKnLY;AAKHRQ;4pBAWAzBU;AA/JAA+F;AAgKAoN2B;AAAKnLY;AAKHRQ;mdAMFviBU;AA3PRAiF;wWA8PQAU;AA9PRAkH;0SAoQMkuB+C;AAI+BltCAVpWDsxBoB,A;AUwSDtxBAVxSCsxBAiChBjBEgE,A,A;AvBoXkBxxBAVpWDsxB8B,A;AUgWzByQe;AAOHRQ;kYAMYoLoB;AAASltCAVlWQkxBC,A;AU0FvBlxBAV1FuBkxBAA+BHE2B,A,A;sPUuU1BiPU;AArMAA+F;AAsMAoN2B;AAAKnLY;AAKHRQ;4SAGJ9DoE;AACAzeU;AA/RNAwC;0OAiSQyeAFnPRzeU,A;AE9CAA0C;AAiSQye+FFjPR1HsB,iE;AEoPMmX2B;AAAKnLY;AAIHRQ;2ZAOFviBU;AA/SNA0G;0LAkTM4gBgB;AA5PE3CqC;AA4PF2CAF5OJvLU,A;AEhBM4IAFDN5IkG,A;AE6PIuLc;AA5PE3CmD;AA4PF2CAFxON5gBU,A;AE1EAAwC;AAkTM4gB0I;AAEAsN2B;AAAKnLY;AAIHRQ;8VAMFviBU;AA9TNAgF;2UAmUQkuBuB;AAAKnLY;AAMHRQ;4NAEF2LuB;AAAKnLY;AAKHRQ;uxBAcF2L2B;AAAKnLY;AAKHRQ;2SAGJviBU;AAtWNAkD;2XA2WQ8gBU;AA3RAA+F;AA4RAoN2B;AAAKnLY;AAKHRQ;spBAQF2L2B;AAAKnLY;AASHRQ;8oBAEFzBO;AApTAAgD;oCAqTAoN2B;AAAKnLY;AAKHRQ;8oCAeF2L2B;AAAKnLY;AAKHRQ;2SAGJviBU;AAjaNAkD;mYAsaQ8gBU;AAtVAA+F;AAuVAoN2B;AAAKnLY;AAKHRQ;+rBAaF2L2B;AAAKnLY;AAOHRQ;2kBAEFzBO;AAlXAAgD;oCAmXAoN2B;AAAKnLY;AAKHRQ;2pBAOJviBU;AA/cNA4F;kEAidMkuB2B;AAAKnLY;AAKHRQ;yUAIJzBU;AA1YIA8C;ilCA4Q6CoBe;kIA2DAAe;osBC1ftC9LAV+XOHgC,A;ueU7MlBEAA1B0B6Lc,2BAAAAkB,A;2IA+CxBp+BAwBhMc8rCAjCsMAzGApB/IEgE+C,A,A,sG;+P6BmNIJAdjIpBjpCS,A;gIckIC67BActLe77B2B,oBAAAA+B,A;sMd4LWibmJ;+IAvPSkqB+lBAgC5BtBqC,yEAAAAAAGhBAAAAAAkI,A,A,A;yv/BrC2oCiD7jC0E;+1BA4T/CusCsK;CAAAAG;oWAYAC0K;CAAAAG;kWAYAC0G;CAAAAG;wXAYiBC8G;CAAAAG;8P0BjgCgC3CAZgoB/CxJc,oB;mtBiBznBgBqKkB;yGyBlhBgB5qC+BAsLpBg/B2C,AAEhBh/B8B,A;" } } diff --git a/ios/Classes/FlutterDataPacketCryptor.h b/ios/Classes/FlutterDataPacketCryptor.h new file mode 120000 index 0000000000..089d791551 --- /dev/null +++ b/ios/Classes/FlutterDataPacketCryptor.h @@ -0,0 +1 @@ +../../common/darwin/Classes/FlutterDataPacketCryptor.h \ No newline at end of file diff --git a/ios/Classes/FlutterDataPacketCryptor.m b/ios/Classes/FlutterDataPacketCryptor.m new file mode 120000 index 0000000000..975b6b964b --- /dev/null +++ b/ios/Classes/FlutterDataPacketCryptor.m @@ -0,0 +1 @@ +../../common/darwin/Classes/FlutterDataPacketCryptor.m \ No newline at end of file diff --git a/ios/flutter_webrtc.podspec b/ios/flutter_webrtc.podspec index 5ebc220adf..c64e5022b0 100644 --- a/ios/flutter_webrtc.podspec +++ b/ios/flutter_webrtc.podspec @@ -3,7 +3,7 @@ # Pod::Spec.new do |s| s.name = 'flutter_webrtc' - s.version = '1.0.0' + s.version = '1.2.0' s.summary = 'Flutter WebRTC plugin for iOS.' s.description = <<-DESC A new flutter plugin project. @@ -15,7 +15,7 @@ A new flutter plugin project. s.source_files = 'Classes/**/*' s.public_header_files = 'Classes/**/*.h' s.dependency 'Flutter' - s.dependency 'WebRTC-SDK', '137.7151.02' + s.dependency 'WebRTC-SDK', '137.7151.04' s.ios.deployment_target = '13.0' s.static_framework = true s.pod_target_xcconfig = { diff --git a/lib/src/helper.dart b/lib/src/helper.dart index 6f1e9666bf..5044c986b0 100644 --- a/lib/src/helper.dart +++ b/lib/src/helper.dart @@ -2,9 +2,21 @@ import 'dart:math'; import 'package:flutter/foundation.dart'; +import 'package:logger/logger.dart'; + import '../flutter_webrtc.dart'; +import 'native_logs_listener.dart'; class Helper { + /// Set Logger object for webrtc; + /// + /// Params: + /// + /// "severity": possible values: ['verbose', 'info', 'warning', 'error', 'none'] + static void setLogger(Logger logger, [String severity = 'none']) { + NativeLogsListener.instance.setLogger(logger, severity); + } + static Future> enumerateDevices(String type) async { var devices = await navigator.mediaDevices.enumerateDevices(); return devices.where((d) => d.kind == type).toList(); diff --git a/lib/src/native/audio_management.dart b/lib/src/native/audio_management.dart index dabf4d5b0f..878391f120 100644 --- a/lib/src/native/audio_management.dart +++ b/lib/src/native/audio_management.dart @@ -66,4 +66,72 @@ class NativeAudioManagement { } track.enabled = !mute; } + + // ADM APIs + static Future startLocalRecording() async { + if (!kIsWeb) { + try { + await WebRTC.invokeMethod( + 'startLocalRecording', + {}, + ); + } on PlatformException catch (e) { + throw 'Unable to start local recording: ${e.message}'; + } + } + } + + static Future stopLocalRecording() async { + if (!kIsWeb) { + try { + await WebRTC.invokeMethod( + 'stopLocalRecording', + {}, + ); + } on PlatformException catch (e) { + throw 'Unable to stop local recording: ${e.message}'; + } + } + } + + static Future isVoiceProcessingEnabled() async { + if (kIsWeb) return false; + + try { + final result = await WebRTC.invokeMethod( + 'isVoiceProcessingEnabled', + {}, + ); + return result as bool; + } on PlatformException catch (e) { + throw 'Unable to get isVoiceProcessingEnabled: ${e.message}'; + } + } + + static Future isVoiceProcessingBypassed() async { + if (kIsWeb) return false; + + try { + final result = await WebRTC.invokeMethod( + 'isVoiceProcessingBypassed', + {}, + ); + return result as bool; + } on PlatformException catch (e) { + throw 'Unable to get isVoiceProcessingBypassed: ${e.message}'; + } + } + + static Future setIsVoiceProcessingBypassed(bool value) async { + if (kIsWeb) return; + + try { + await WebRTC.invokeMethod( + 'setIsVoiceProcessingBypassed', + {"value": value}, + ); + } on PlatformException catch (e) { + throw 'Unable to set isVoiceProcessingBypassed: ${e.message}'; + } + } } diff --git a/lib/src/native/data_packet_cryptor_impl.dart b/lib/src/native/data_packet_cryptor_impl.dart new file mode 100644 index 0000000000..3691f7706f --- /dev/null +++ b/lib/src/native/data_packet_cryptor_impl.dart @@ -0,0 +1,84 @@ +import 'dart:typed_data'; + +import 'package:webrtc_interface/webrtc_interface.dart'; + +import 'utils.dart'; + +class DataPacketCryptorImpl implements DataPacketCryptor { + DataPacketCryptorImpl({required this.algorithm, required this.dataCryptorId}); + final Algorithm algorithm; + final String dataCryptorId; + + @override + Future encrypt({ + required String participantId, + required int keyIndex, + required Uint8List data, + }) { + try { + return WebRTC.invokeMethod('dataPacketCryptorEncrypt', { + 'dataCryptorId': dataCryptorId, + 'participantId': participantId, + 'keyIndex': keyIndex, + 'data': data, + }).then((response) { + return EncryptedPacket( + data: response['data'], + keyIndex: response['keyIndex'], + iv: response['iv'], + ); + }); + } catch (e) { + throw Exception('encryptDataPacket failed: $e'); + } + } + + @override + Future decrypt({ + required String participantId, + required EncryptedPacket encryptedPacket, + }) async { + try { + final response = await WebRTC.invokeMethod('dataPacketCryptorDecrypt', { + 'dataCryptorId': dataCryptorId, + 'participantId': participantId, + 'data': encryptedPacket.data, + 'keyIndex': encryptedPacket.keyIndex, + 'iv': encryptedPacket.iv, + }); + return response['data']; + } catch (e) { + throw Exception('decryptDataPacket failed: $e'); + } + } + + @override + Future dispose() { + return WebRTC.invokeMethod('dataPacketCryptorDispose', { + 'dataCryptorId': dataCryptorId, + }); + } +} + +class DataPacketCryptorFactoryImpl implements DataPacketCryptorFactory { + DataPacketCryptorFactoryImpl._internal(); + + static final DataPacketCryptorFactoryImpl instance = + DataPacketCryptorFactoryImpl._internal(); + @override + Future createDataPacketCryptor( + {required Algorithm algorithm, required KeyProvider keyProvider}) async { + try { + final response = await WebRTC.invokeMethod('createDataPacketCryptor', { + 'algorithm': algorithm.index, + 'keyProviderId': keyProvider.id, + }); + return DataPacketCryptorImpl( + algorithm: algorithm, + dataCryptorId: response['dataCryptorId'], + ); + } catch (e) { + throw Exception('createDataPacketCryptor failed: $e'); + } + } +} diff --git a/lib/src/native/factory_impl.dart b/lib/src/native/factory_impl.dart index 676e8c67da..862285e0f6 100644 --- a/lib/src/native/factory_impl.dart +++ b/lib/src/native/factory_impl.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'package:webrtc_interface/webrtc_interface.dart'; import '../desktop_capturer.dart'; +import 'data_packet_cryptor_impl.dart'; import 'desktop_capturer_impl.dart'; import 'frame_cryptor_impl.dart'; import 'media_recorder_impl.dart'; @@ -120,3 +121,6 @@ DesktopCapturer get desktopCapturer => DesktopCapturerNative.instance; MediaDevices get mediaDevices => MediaDeviceNative.instance; FrameCryptorFactory get frameCryptorFactory => FrameCryptorFactoryImpl.instance; + +DataPacketCryptorFactory get dataPacketCryptorFactory => + DataPacketCryptorFactoryImpl.instance; diff --git a/lib/src/native/rtc_video_platform_view_controller.dart b/lib/src/native/rtc_video_platform_view_controller.dart index e9eeb1d51c..0694bde381 100644 --- a/lib/src/native/rtc_video_platform_view_controller.dart +++ b/lib/src/native/rtc_video_platform_view_controller.dart @@ -6,10 +6,11 @@ import 'package:flutter/services.dart'; import 'package:webrtc_interface/webrtc_interface.dart'; import '../helper.dart'; +import '../video_renderer_extension.dart' show AudioControl; import 'utils.dart'; class RTCVideoPlatformViewController extends ValueNotifier - implements VideoRenderer { + implements VideoRenderer, AudioControl { RTCVideoPlatformViewController(int viewId) : super(RTCVideoValue.empty) { _viewId = viewId; } @@ -180,4 +181,18 @@ class RTCVideoPlatformViewController extends ValueNotifier } return true; } + + @override + Future setVolume(double value) async { + try { + if (_srcObject == null) { + throw Exception('Can\'t set volume: The MediaStream is null'); + } + for (MediaStreamTrack track in _srcObject!.getAudioTracks()) { + await Helper.setVolume(value, track); + } + } catch (e) { + print('Helper.setVolume ${e.toString()}'); + } + } } diff --git a/lib/src/native/rtc_video_renderer_impl.dart b/lib/src/native/rtc_video_renderer_impl.dart index c2a46cba75..89ca1341d0 100644 --- a/lib/src/native/rtc_video_renderer_impl.dart +++ b/lib/src/native/rtc_video_renderer_impl.dart @@ -6,10 +6,11 @@ import 'package:flutter/services.dart'; import 'package:webrtc_interface/webrtc_interface.dart'; import '../helper.dart'; +import '../video_renderer_extension.dart' show AudioControl; import 'utils.dart'; class RTCVideoRenderer extends ValueNotifier - implements VideoRenderer { + implements VideoRenderer, AudioControl { RTCVideoRenderer() : super(RTCVideoValue.empty); Completer? _initializing; int? _textureId; @@ -176,4 +177,18 @@ class RTCVideoRenderer extends ValueNotifier } return true; } + + @override + Future setVolume(double value) async { + try { + if (_srcObject == null) { + throw Exception('Can\'t set volume: The MediaStream is null'); + } + for (MediaStreamTrack track in _srcObject!.getAudioTracks()) { + await Helper.setVolume(value, track); + } + } catch (e) { + print('Helper.setVolume ${e.toString()}'); + } + } } diff --git a/lib/src/native/utils.dart b/lib/src/native/utils.dart index 362e7917cd..8d8e6a1687 100644 --- a/lib/src/native/utils.dart +++ b/lib/src/native/utils.dart @@ -2,6 +2,8 @@ import 'dart:io'; import 'package:flutter/services.dart'; +import '../native_logs_listener.dart'; + class WebRTC { static const MethodChannel _channel = MethodChannel('FlutterWebRTC.Method'); @@ -24,7 +26,9 @@ class WebRTC { static Future invokeMethod(String methodName, [dynamic param]) async { - await initialize(); + await initialize(options: { + 'logSeverity': NativeLogsListener.instance.severity, + }); return _channel.invokeMethod( methodName, diff --git a/lib/src/native_logs_listener.dart b/lib/src/native_logs_listener.dart new file mode 100644 index 0000000000..4ea6dca2d5 --- /dev/null +++ b/lib/src/native_logs_listener.dart @@ -0,0 +1,44 @@ +import 'package:logger/logger.dart'; + +import './native/utils.dart'; +import 'native/event_channel.dart'; + +class NativeLogsListener { + NativeLogsListener._internal() { + FlutterWebRTCEventChannel.instance.handleEvents.stream.listen((data) { + var event = data.keys.first; + Map map = data[event]; + handleEvent(event, map); + }); + } + + static final NativeLogsListener instance = NativeLogsListener._internal(); + Logger? _logger; + String _severity = 'none'; + + String get severity => _severity; + + /// Set Logger object; + /// + /// Params: + /// + /// "severity": possible values: ['verbose', 'info', 'warning', 'error', 'none'] + void setLogger(Logger logger, [String severity = 'none']) { + _logger = logger; + _severity = severity; + + WebRTC.invokeMethod('setLogSeverity', { + 'severity': severity, + }); + } + + void handleEvent(String event, final Map map) async { + switch (map['event']) { + case 'onLogData': + if (_logger != null) { + _logger?.i('webrtc: ${map['data']}'); + } + break; + } + } +} diff --git a/lib/src/video_renderer_extension.dart b/lib/src/video_renderer_extension.dart index fa8b7ac78b..d1a3021124 100644 --- a/lib/src/video_renderer_extension.dart +++ b/lib/src/video_renderer_extension.dart @@ -3,3 +3,7 @@ import 'package:flutter_webrtc/flutter_webrtc.dart'; extension VideoRendererExtension on RTCVideoRenderer { RTCVideoValue get videoValue => value; } + +abstract class AudioControl { + Future setVolume(double volume); +} diff --git a/lib/src/web/rtc_video_renderer_impl.dart b/lib/src/web/rtc_video_renderer_impl.dart index 69df097e0c..14d710552d 100644 --- a/lib/src/web/rtc_video_renderer_impl.dart +++ b/lib/src/web/rtc_video_renderer_impl.dart @@ -1,5 +1,6 @@ import 'dart:async'; import 'dart:js_interop'; +import 'dart:js_interop_unsafe'; import 'dart:ui_web' as web_ui; import 'package:flutter/foundation.dart'; @@ -8,6 +9,11 @@ import 'package:flutter/services.dart'; import 'package:dart_webrtc/dart_webrtc.dart'; import 'package:web/web.dart' as web; +import '../video_renderer_extension.dart' show AudioControl; + +const bool useHtmlElementView = + bool.fromEnvironment("WEBRTC_USE_HTML_ELEMENT_VIEW", defaultValue: false); + // An error code value to error name Map. // See: https://developer.mozilla.org/en-US/docs/Web/API/MediaError/code const Map _kErrorValueToErrorName = { @@ -32,7 +38,7 @@ const String _kDefaultErrorMessage = 'No further diagnostic information can be determined or provided.'; class RTCVideoRenderer extends ValueNotifier - implements VideoRenderer { + implements VideoRenderer, AudioControl { RTCVideoRenderer() : _textureId = _textureCounter++, super(RTCVideoValue.empty); @@ -59,6 +65,8 @@ class RTCVideoRenderer extends ValueNotifier bool _muted = false; + web.HTMLVideoElement? element; + set objectFit(String fit) { if (_objectFit == fit) return; _objectFit = fit; @@ -233,6 +241,9 @@ class RTCVideoRenderer extends ValueNotifier if (audioManager != null && !audioManager.hasChildNodes()) { audioManager.remove(); } + if (!useHtmlElementView) { + element?.remove(); + } return super.dispose(); } @@ -240,8 +251,11 @@ class RTCVideoRenderer extends ValueNotifier Future audioOutput(String deviceId) async { try { final element = _audioElement; - if (null != element) { - await element.setSinkId(deviceId).toDart; + if (null != element && + element.getProperty('setSinkId'.toJS).isDefinedAndNotNull) { + await (element.callMethod('setSinkId'.toJS, deviceId.toJS) as JSPromise) + .toDart; + return true; } } catch (e) { @@ -250,62 +264,71 @@ class RTCVideoRenderer extends ValueNotifier return false; } + web.HTMLVideoElement createElement() { + for (var s in _subscriptions) { + s.cancel(); + } + _subscriptions.clear(); + + final element = web.HTMLVideoElement() + ..autoplay = true + ..muted = true + ..controls = false + ..srcObject = _videoStream + ..id = _elementIdForVideo + ..setAttribute('playsinline', 'true'); + + _applyDefaultVideoStyles(element); + + _subscriptions.add( + element.onCanPlay.listen((dynamic _) { + _updateAllValues(element); + }), + ); + + _subscriptions.add( + element.onResize.listen((dynamic _) { + _updateAllValues(element); + onResize?.call(); + }), + ); + + // The error event fires when some form of error occurs while attempting to load or perform the media. + _subscriptions.add( + element.onError.listen((web.Event _) { + // The Event itself (_) doesn't contain info about the actual error. + // We need to look at the HTMLMediaElement.error. + // See: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/error + final error = element.error; + print('RTCVideoRenderer: videoElement.onError, ${error.toString()}'); + throw PlatformException( + code: _kErrorValueToErrorName[error!.code]!, + message: error.message != '' ? error.message : _kDefaultErrorMessage, + details: _kErrorValueToErrorDescription[error.code], + ); + }), + ); + + _subscriptions.add( + element.onEnded.listen((dynamic _) { + // print('RTCVideoRenderer: videoElement.onEnded'); + }), + ); + + return element; + } + @override Future initialize() async { - web_ui.platformViewRegistry.registerViewFactory(viewType, (int viewId) { - for (var s in _subscriptions) { - s.cancel(); - } - _subscriptions.clear(); - - final element = web.HTMLVideoElement() - ..autoplay = true - ..muted = true - ..controls = false - ..srcObject = _videoStream - ..id = _elementIdForVideo - ..setAttribute('playsinline', 'true'); - - _applyDefaultVideoStyles(element); - - _subscriptions.add( - element.onCanPlay.listen((dynamic _) { - _updateAllValues(element); - }), - ); - - _subscriptions.add( - element.onResize.listen((dynamic _) { - _updateAllValues(element); - onResize?.call(); - }), - ); - - // The error event fires when some form of error occurs while attempting to load or perform the media. - _subscriptions.add( - element.onError.listen((web.Event _) { - // The Event itself (_) doesn't contain info about the actual error. - // We need to look at the HTMLMediaElement.error. - // See: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/error - final error = element.error; - print('RTCVideoRenderer: videoElement.onError, ${error.toString()}'); - throw PlatformException( - code: _kErrorValueToErrorName[error!.code]!, - message: - error.message != '' ? error.message : _kDefaultErrorMessage, - details: _kErrorValueToErrorDescription[error.code], - ); - }), - ); - - _subscriptions.add( - element.onEnded.listen((dynamic _) { - // print('RTCVideoRenderer: videoElement.onEnded'); - }), - ); - - return element; - }); + bool isVisible = useHtmlElementView; + if (isVisible) { + web_ui.platformViewRegistry.registerViewFactory(viewType, (int viewId) { + return createElement(); + }, isVisible: isVisible); + } else { + final element = createElement(); + web.window.document.body!.appendChild(element); + } } void _applyDefaultVideoStyles(web.HTMLVideoElement element) { @@ -314,11 +337,17 @@ class RTCVideoRenderer extends ValueNotifier element.style.transform = 'scaleX(-1)'; } - element - ..style.objectFit = _objectFit - ..style.border = 'none' - ..style.width = '100%' - ..style.height = '100%'; + if (useHtmlElementView) { + element + ..style.objectFit = _objectFit + ..style.border = 'none' + ..style.width = '100%' + ..style.height = '100%'; + } else { + element.style.pointerEvents = "none"; + element.style.opacity = "0"; + element.style.position = "absolute"; + } } @override @@ -326,4 +355,9 @@ class RTCVideoRenderer extends ValueNotifier @override Function? onFirstFrameRendered; + + @override + Future setVolume(double volume) async { + _audioElement?.volume = volume.clamp(0.0, 1.0); + } } diff --git a/lib/src/web/rtc_video_view_impl.dart b/lib/src/web/rtc_video_view_impl.dart index 9ef8ff1461..fab26ca0b8 100644 --- a/lib/src/web/rtc_video_view_impl.dart +++ b/lib/src/web/rtc_video_view_impl.dart @@ -1,8 +1,13 @@ import 'dart:async'; +import 'dart:js_interop'; +import 'dart:js_interop_unsafe'; +import 'dart:ui' as ui; +import 'dart:ui_web' as ui_web; import 'package:flutter/material.dart'; import 'package:dart_webrtc/dart_webrtc.dart'; +import 'package:web/web.dart' as web; import 'package:webrtc_interface/webrtc_interface.dart'; import 'rtc_video_renderer_impl.dart'; @@ -41,17 +46,97 @@ class RTCVideoViewState extends State { widget.objectFit == RTCVideoViewObjectFit.RTCVideoViewObjectFitContain ? 'contain' : 'cover'; + + videoElement = + web.document.getElementById("video_${videoRenderer.viewType}") + as web.HTMLVideoElement?; + frameCallback(0.toJS, 0.toJS); } void _onRendererListener() { if (mounted) setState(() {}); } + int? callbackID; + + void getFrame(web.HTMLVideoElement element) { + callbackID = + element.requestVideoFrameCallbackWithFallback(frameCallback.toJS); + } + + void cancelFrame(web.HTMLVideoElement element) { + if (callbackID != null) { + element.cancelVideoFrameCallbackWithFallback(callbackID!); + } + } + + void frameCallback(JSAny now, JSAny metadata) { + final web.HTMLVideoElement? element = videoElement; + if (element != null) { + // only capture frames if video is playing (optimization for RAF) + if (element.readyState > 2) { + capture().then((_) async { + getFrame(element); + }); + } else { + getFrame(element); + } + } else { + if (mounted) { + Future.delayed(Duration(milliseconds: 100)).then((_) { + frameCallback(0.toJS, 0.toJS); + }); + } + } + } + + ui.Image? capturedFrame; + num? lastFrameTime; + Future capture() async { + final element = videoElement!; + if (lastFrameTime != element.currentTime) { + lastFrameTime = element.currentTime; + try { + final ui.Image img = await ui_web.createImageFromTextureSource(element, + width: element.videoWidth, + height: element.videoHeight, + transferOwnership: true); + + if (mounted) { + setState(() { + capturedFrame?.dispose(); + capturedFrame = img; + }); + } + } on web.DOMException catch (err) { + lastFrameTime = null; + if (err.name == 'InvalidStateError') { + // We don't have enough data yet, continue on + } else { + rethrow; + } + } + } + } + @override void dispose() { if (mounted) { super.dispose(); } + capturedFrame?.dispose(); + if (videoElement != null) { + cancelFrame(videoElement!); + } + } + + Size? size; + + void updateElement() { + if (videoElement != null && size != null) { + videoElement!.width = size!.width.toInt(); + videoElement!.height = size!.height.toInt(); + } } @override @@ -65,8 +150,40 @@ class RTCVideoViewState extends State { : 'cover'; } + web.HTMLVideoElement? videoElement; + Widget buildVideoElementView() { - return HtmlElementView(viewType: videoRenderer.viewType); + if (useHtmlElementView) { + return HtmlElementView(viewType: videoRenderer.viewType); + } else { + return LayoutBuilder(builder: (context, constraints) { + if (videoElement != null && size != constraints.biggest) { + size = constraints.biggest; + updateElement(); + } + + return Stack(children: [ + if (capturedFrame != null) + Positioned.fill( + child: FittedBox( + fit: switch (widget.objectFit) { + RTCVideoViewObjectFit.RTCVideoViewObjectFitContain => + BoxFit.contain, + RTCVideoViewObjectFit.RTCVideoViewObjectFitCover => + BoxFit.cover, + }, + child: SizedBox( + width: capturedFrame!.width.toDouble(), + height: capturedFrame!.height.toDouble(), + child: CustomPaint( + willChange: true, + painter: _ImageFlipPainter( + capturedFrame!, + widget.mirror, + ))))) + ]); + }); + } } @override @@ -86,3 +203,53 @@ class RTCVideoViewState extends State { ); } } + +typedef _VideoFrameRequestCallback = JSFunction; + +extension _HTMLVideoElementRequestAnimationFrame on web.HTMLVideoElement { + int requestVideoFrameCallbackWithFallback( + _VideoFrameRequestCallback callback) { + if (hasProperty('requestVideoFrameCallback'.toJS).toDart) { + return requestVideoFrameCallback(callback); + } else { + return web.window.requestAnimationFrame((double num) { + callback.callAsFunction(this, 0.toJS, 0.toJS); + }.toJS); + } + } + + void cancelVideoFrameCallbackWithFallback(int callbackID) { + if (hasProperty('requestVideoFrameCallback'.toJS).toDart) { + cancelVideoFrameCallback(callbackID); + } else { + web.window.cancelAnimationFrame(callbackID); + } + } + + external int requestVideoFrameCallback(_VideoFrameRequestCallback callback); + external void cancelVideoFrameCallback(int callbackID); +} + +class _ImageFlipPainter extends CustomPainter { + _ImageFlipPainter(this.image, this.flip); + + final ui.Image image; + final bool flip; + + @override + void paint(Canvas canvas, Size size) { + if (flip) { + canvas.scale(-1, 1); + canvas.drawImage(image, Offset(-size.width, 0), + Paint()..filterQuality = ui.FilterQuality.high); + } else { + canvas.drawImage( + image, Offset(0, 0), Paint()..filterQuality = ui.FilterQuality.high); + } + } + + @override + bool shouldRepaint(CustomPainter oldDelegate) { + return false; + } +} diff --git a/macos/Classes/FlutterDataPacketCryptor.h b/macos/Classes/FlutterDataPacketCryptor.h new file mode 120000 index 0000000000..089d791551 --- /dev/null +++ b/macos/Classes/FlutterDataPacketCryptor.h @@ -0,0 +1 @@ +../../common/darwin/Classes/FlutterDataPacketCryptor.h \ No newline at end of file diff --git a/macos/Classes/FlutterDataPacketCryptor.m b/macos/Classes/FlutterDataPacketCryptor.m new file mode 120000 index 0000000000..975b6b964b --- /dev/null +++ b/macos/Classes/FlutterDataPacketCryptor.m @@ -0,0 +1 @@ +../../common/darwin/Classes/FlutterDataPacketCryptor.m \ No newline at end of file diff --git a/macos/flutter_webrtc.podspec b/macos/flutter_webrtc.podspec index 673097f0c7..462a86bfc2 100644 --- a/macos/flutter_webrtc.podspec +++ b/macos/flutter_webrtc.podspec @@ -3,7 +3,7 @@ # Pod::Spec.new do |s| s.name = 'flutter_webrtc' - s.version = '1.0.0' + s.version = '1.2.0' s.summary = 'Flutter WebRTC plugin for macOS.' s.description = <<-DESC A new flutter plugin project. @@ -15,6 +15,6 @@ A new flutter plugin project. s.source_files = ['Classes/**/*'] s.dependency 'FlutterMacOS' - s.dependency 'WebRTC-SDK', '137.7151.02' + s.dependency 'WebRTC-SDK', '137.7151.04' s.osx.deployment_target = '10.15' end diff --git a/pubspec.yaml b/pubspec.yaml index 3fa077509b..877e066553 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_webrtc description: Flutter WebRTC plugin for iOS/Android/Desktop/Web, based on GoogleWebRTC. -version: 1.0.0 +version: 1.2.0 homepage: https://github.com/cloudwebrtc/flutter-webrtc environment: sdk: ">=3.3.0 <4.0.0" @@ -8,12 +8,13 @@ environment: dependencies: collection: ^1.17.0 - dart_webrtc: ^1.5.3+hotfix.3 + dart_webrtc: ^1.6.0 flutter: sdk: flutter + logger: ^2.0.2+1 path_provider: ^2.0.2 web: ^1.0.0 - webrtc_interface: ^1.2.2+hotfix.2 + webrtc_interface: ^1.3.0 dev_dependencies: flutter_test: diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt index 5afd943325..203ecd25e1 100644 --- a/third_party/CMakeLists.txt +++ b/third_party/CMakeLists.txt @@ -1,7 +1,7 @@ include(ExternalProject) set(ZIPFILE "${CMAKE_CURRENT_LIST_DIR}/downloads/libwebrtc.zip") -set(DOWNLOAD_URL "https://github.com/flutter-webrtc/flutter-webrtc/releases/download/v1.0.0/libwebrtc.zip") +set(DOWNLOAD_URL "https://github.com/flutter-webrtc/flutter-webrtc/releases/download/v1.1.0/libwebrtc.zip") if(NOT EXISTS "${ZIPFILE}") message(NOTICE "download: ${DOWNLOAD_URL}")