From 9a286b8da5bdb491e09398c8e3437b545704e152 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Sat, 13 Sep 2025 18:35:27 +0800 Subject: [PATCH 01/18] feat: Data Packet Cryptor. --- android/build.gradle | 2 +- ios/livekit_client.podspec | 4 ++-- macos/livekit_client.podspec | 4 ++-- pubspec.yaml | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 6ea991acd..bf2649ffa 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -52,7 +52,7 @@ android { dependencies { testImplementation("org.jetbrains.kotlin:kotlin-test") testImplementation("org.mockito:mockito-core:5.0.0") - implementation 'io.github.webrtc-sdk:android:137.7151.03' + implementation 'io.github.webrtc-sdk:android:137.7151.04' implementation 'io.livekit:noise:2.0.0' } diff --git a/ios/livekit_client.podspec b/ios/livekit_client.podspec index bae4ad60a..a35368f04 100644 --- a/ios/livekit_client.podspec +++ b/ios/livekit_client.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'livekit_client' - s.version = '2.5.0' + s.version = '2.5.1' s.summary = 'Open source platform for real-time audio and video.' s.description = 'Open source platform for real-time audio and video.' s.homepage = 'https://livekit.io/' @@ -16,6 +16,6 @@ Pod::Spec.new do |s| s.static_framework = true s.dependency 'Flutter' - s.dependency 'WebRTC-SDK', '137.7151.03' + s.dependency 'WebRTC-SDK', '137.7151.04' s.dependency 'flutter_webrtc' end diff --git a/macos/livekit_client.podspec b/macos/livekit_client.podspec index 5000c68cc..dff3b7e0f 100644 --- a/macos/livekit_client.podspec +++ b/macos/livekit_client.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'livekit_client' - s.version = '2.5.0' + s.version = '2.5.1' s.summary = 'Open source platform for real-time audio and video.' s.description = 'Open source platform for real-time audio and video.' s.homepage = 'https://livekit.io/' @@ -16,6 +16,6 @@ Pod::Spec.new do |s| s.static_framework = true s.dependency 'FlutterMacOS' - s.dependency 'WebRTC-SDK', '137.7151.03' + s.dependency 'WebRTC-SDK', '137.7151.04' s.dependency 'flutter_webrtc' end diff --git a/pubspec.yaml b/pubspec.yaml index bdc3e3b79..341f7fa2d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -37,9 +37,9 @@ dependencies: uuid: ^4.5.1 synchronized: ^3.0.0+3 protobuf: ^4.1.0 - flutter_webrtc: ^1.1.0 + flutter_webrtc: ^1.2.0 device_info_plus: ^11.3.0 - dart_webrtc: ^1.5.3+hotfix.5 + dart_webrtc: ^1.6.0 sdp_transform: ^0.3.2 web: ^1.0.0 mime_type: ^1.0.1 From 07c7dc921a7a30414e9c5f4db6da5fc9a4ee2fdd Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Sun, 14 Sep 2025 21:54:09 +0800 Subject: [PATCH 02/18] wip. --- lib/src/core/engine.dart | 69 ++++++++++++++++++++++++++++++++-- lib/src/e2ee/e2ee_manager.dart | 55 ++++++++++++++++++++++++--- lib/src/options.dart | 5 +++ 3 files changed, 121 insertions(+), 8 deletions(-) diff --git a/lib/src/core/engine.dart b/lib/src/core/engine.dart index 6625f19e1..0a0701d45 100644 --- a/lib/src/core/engine.dart +++ b/lib/src/core/engine.dart @@ -21,6 +21,7 @@ import 'package:flutter/foundation.dart' hide internal; import 'package:collection/collection.dart'; import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc; +import 'package:livekit_client/livekit_client.dart'; import 'package:meta/meta.dart'; import '../events.dart'; @@ -149,6 +150,8 @@ class Engine extends Disposable with EventsEmittable { List? get enabledPublishCodecs => _enabledPublishCodecs; + E2EEManager? _e2eeManager; + void clearReconnectTimeout() { if (reconnectTimeout != null) { reconnectTimeout?.cancel(); @@ -313,6 +316,7 @@ class Engine extends Disposable with EventsEmittable { completer.completeError('Engine disconnected'); } } + events.once((e) => onClosing()); while (!_dcBufferStatus[kind]!) { @@ -333,8 +337,7 @@ class Engine extends Disposable with EventsEmittable { bool? reliability = true, }) async { // construct the data channel message - final message = - rtc.RTCDataChannelMessage.fromBinary(packet.writeToBuffer()); + var message = rtc.RTCDataChannelMessage.fromBinary(packet.writeToBuffer()); final reliabilityType = reliability == true ? Reliability.reliable : Reliability.lossy; @@ -364,6 +367,28 @@ class Engine extends Disposable with EventsEmittable { 'Data channel for ${packet.kind.toSDKType()} is null'); } + if (_e2eeManager != null && _e2eeManager!.isDataChannelEncryptionEnabled) { + final encryptablePacket = asEncryptablePacket(packet); + if (encryptablePacket != null) { + final encryptedData = await _e2eeManager?.encryptData( + data: encryptablePacket.writeToBuffer()); + + if (encryptedData == null) { + logger.warning('Failed to encrypt data packet'); + return; + } + + final packet = lk_models.EncryptedPacket( + encryptionType: lk_models.Encryption_Type.GCM, + encryptedValue: encryptedData.data, + iv: encryptedData.iv, + keyIndex: encryptedData.keyIndex, + ); + + message = rtc.RTCDataChannelMessage.fromBinary(packet.writeToBuffer()); + } + } + logger.fine('sendDataPacket(label:${channel.label})'); await channel.send(message); @@ -390,6 +415,22 @@ class Engine extends Disposable with EventsEmittable { } } + lk_models.EncryptedPacketPayload? asEncryptablePacket( + lk_models.DataPacket packet) { + if ([ + lk_models.DataPacket_Value.sipDtmf, + lk_models.DataPacket_Value.metrics, + lk_models.DataPacket_Value.speaker, + lk_models.DataPacket_Value.transcription, + lk_models.DataPacket_Value.encryptedPacket + ].contains(packet.whichValue()) == + false) { + return lk_models.EncryptedPacketPayload.fromBuffer( + packet.writeToBuffer()); + } + return null; + } + Future _buildRtcConfiguration( {required lk_models.ClientConfigSetting serverResponseForceRelay, required List serverProvidedIceServers}) async { @@ -636,7 +677,7 @@ class Engine extends Disposable with EventsEmittable { } } - void _onDCMessage(rtc.RTCDataChannelMessage message) { + void _onDCMessage(rtc.RTCDataChannelMessage message) async { // always expect binary if (!message.isBinary) { logger.warning('Data message is not binary'); @@ -711,6 +752,28 @@ class Engine extends Disposable with EventsEmittable { identity: dp.participantIdentity, ), ); + } else if (dp.whichValue() == lk_models.DataPacket_Value.encryptedPacket) { + if (_e2eeManager != null) { + logger.warning('Received encrypted packet but E2EE not set up'); + return; + } + final decryptedData = await _e2eeManager?.handleEncryptedData( + data: Uint8List.fromList(dp.encryptedPacket.encryptedValue), + iv: Uint8List.fromList(dp.encryptedPacket.iv), + participantIdentity: dp.participantIdentity, + keyIndex: dp.encryptedPacket.keyIndex, + ); + if (decryptedData == null) { + logger.warning('Failed to decrypt data packet'); + return; + } + final newDp = lk_models.DataPacket.fromBuffer(decryptedData); + // User packet + events.emit(EngineDataPacketReceivedEvent( + packet: newDp.user, + kind: newDp.kind, + identity: newDp.participantIdentity, + )); } else { logger.warning('Unknown data packet type: ${dp.whichValue()}'); } diff --git a/lib/src/e2ee/e2ee_manager.dart b/lib/src/e2ee/e2ee_manager.dart index b6a9c0023..f59296a4b 100644 --- a/lib/src/e2ee/e2ee_manager.dart +++ b/lib/src/e2ee/e2ee_manager.dart @@ -31,6 +31,7 @@ class E2EEManager { final Map, FrameCryptor> _frameCryptors = {}; final BaseKeyProvider _keyProvider; final Algorithm _algorithm = Algorithm.kAesGcm; + DataPacketCryptor? _dataPacketCryptor; bool _enabled = true; EventsListener? _listener; E2EEManager(this._keyProvider); @@ -117,6 +118,10 @@ class E2EEManager { } } }); + + _dataPacketCryptor ??= + await dataPacketCryptorFactory.createDataPacketCryptor( + algorithm: _algorithm, keyProvider: _keyProvider.keyProvider); } } @@ -144,17 +149,21 @@ class E2EEManager { await frameCryptor.dispose(); } _frameCryptors.clear(); + + await _dataPacketCryptor?.dispose(); + _dataPacketCryptor = null; } Future _addRtpSender( {required RTCRtpSender sender, required String identity, required String sid}) async { - final frameCryptor = await frameCryptorFactory.createFrameCryptorForRtpSender( - participantId: identity, - sender: sender, - algorithm: _algorithm, - keyProvider: _keyProvider.keyProvider); + final frameCryptor = + await frameCryptorFactory.createFrameCryptorForRtpSender( + participantId: identity, + sender: sender, + algorithm: _algorithm, + keyProvider: _keyProvider.keyProvider); _frameCryptors[{identity: sid}] = frameCryptor; await frameCryptor.setEnabled(_enabled); logger.info( @@ -237,4 +246,40 @@ class E2EEManager { return E2EEState.kKeyRatcheted; } } + + bool get isDataChannelEncryptionEnabled => + _room?.roomOptions.encryption != null; + + Future handleEncryptedData({ + required Uint8List data, + required Uint8List iv, + required String participantIdentity, + required int keyIndex, + }) async { + if (_dataPacketCryptor == null) { + throw Exception('DataPacketCryptor is not initialized'); + } + try { + final decryptedData = await _dataPacketCryptor!.decrypt( + participantId: participantIdentity, + encryptedPacket: + EncryptedPacket(data: data, keyIndex: keyIndex, iv: iv), + ); + return decryptedData; + } catch (e) { + logger.warning('handleEncryptedData error: $e'); + return null; + } + } + + Future encryptData({required Uint8List data}) async { + final participantId = _room?.localParticipant?.identity; + if (participantId == null || _dataPacketCryptor == null) { + throw Exception('DataPacketCryptor is not initialized'); + } + return await _dataPacketCryptor!.encrypt( + participantId: participantId, + keyIndex: _keyProvider.getLatestIndex(participantId), + data: data); + } } diff --git a/lib/src/options.dart b/lib/src/options.dart index bd63f796d..200562042 100644 --- a/lib/src/options.dart +++ b/lib/src/options.dart @@ -110,8 +110,11 @@ class RoomOptions { final bool stopLocalTrackOnUnpublish; /// Options for end-to-end encryption. + @Deprecated('Use encryption instead') final E2EEOptions? e2eeOptions; + final E2EEOptions? encryption; + /// fast track publication final bool fastPublish; @@ -131,6 +134,7 @@ class RoomOptions { this.dynacast = false, this.stopLocalTrackOnUnpublish = true, this.e2eeOptions, + this.encryption, this.enableVisualizer = false, this.fastPublish = true, }); @@ -166,6 +170,7 @@ class RoomOptions { stopLocalTrackOnUnpublish: stopLocalTrackOnUnpublish ?? this.stopLocalTrackOnUnpublish, e2eeOptions: e2eeOptions ?? this.e2eeOptions, + encryption: encryption ?? this.encryption, fastPublish: fastPublish ?? this.fastPublish, ); } From 2569bbaa78ba5e068eab5d67b564b566bf478b22 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Fri, 19 Sep 2025 18:48:27 +0800 Subject: [PATCH 03/18] wip. --- lib/src/core/engine.dart | 70 ++++++++++++++++++++++------------ lib/src/e2ee/e2ee_manager.dart | 16 +++++--- 2 files changed, 55 insertions(+), 31 deletions(-) diff --git a/lib/src/core/engine.dart b/lib/src/core/engine.dart index 0a0701d45..113d28959 100644 --- a/lib/src/core/engine.dart +++ b/lib/src/core/engine.dart @@ -425,8 +425,29 @@ class Engine extends Disposable with EventsEmittable { lk_models.DataPacket_Value.encryptedPacket ].contains(packet.whichValue()) == false) { - return lk_models.EncryptedPacketPayload.fromBuffer( - packet.writeToBuffer()); + switch (packet.whichValue()) { + case lk_models.DataPacket_Value.user: + return lk_models.EncryptedPacketPayload(user: packet.user); + case lk_models.DataPacket_Value.rpcRequest: + return lk_models.EncryptedPacketPayload( + rpcRequest: packet.rpcRequest); + case lk_models.DataPacket_Value.rpcResponse: + return lk_models.EncryptedPacketPayload( + rpcResponse: packet.rpcResponse); + case lk_models.DataPacket_Value.rpcAck: + return lk_models.EncryptedPacketPayload(rpcAck: packet.rpcAck); + case lk_models.DataPacket_Value.streamHeader: + return lk_models.EncryptedPacketPayload( + streamHeader: packet.streamHeader); + case lk_models.DataPacket_Value.streamChunk: + return lk_models.EncryptedPacketPayload( + streamChunk: packet.streamChunk); + case lk_models.DataPacket_Value.streamTrailer: + return lk_models.EncryptedPacketPayload( + streamTrailer: packet.streamTrailer); + default: + return null; + } } return null; } @@ -683,9 +704,30 @@ class Engine extends Disposable with EventsEmittable { logger.warning('Data message is not binary'); return; } - final dp = lk_models.DataPacket.fromBuffer(message.binary); + if (dp.whichValue() == lk_models.DataPacket_Value.encryptedPacket) { + if (_e2eeManager != null) { + logger.warning('Received encrypted packet but E2EE not set up'); + return; + } + final decryptedData = await _e2eeManager?.handleEncryptedData( + data: Uint8List.fromList(dp.encryptedPacket.encryptedValue), + iv: Uint8List.fromList(dp.encryptedPacket.iv), + participantIdentity: dp.participantIdentity, + keyIndex: dp.encryptedPacket.keyIndex, + ); + if (decryptedData == null) { + logger.warning('Failed to decrypt data packet'); + return; + } + final newDp = lk_models.DataPacket.fromBuffer(decryptedData); + _emitDataPacket(newDp); + } else { + _emitDataPacket(dp); + } + } + void _emitDataPacket(lk_models.DataPacket dp) { if (dp.whichValue() == lk_models.DataPacket_Value.speaker) { // Speaker packet events.emit(EngineActiveSpeakersUpdateEvent( @@ -752,28 +794,6 @@ class Engine extends Disposable with EventsEmittable { identity: dp.participantIdentity, ), ); - } else if (dp.whichValue() == lk_models.DataPacket_Value.encryptedPacket) { - if (_e2eeManager != null) { - logger.warning('Received encrypted packet but E2EE not set up'); - return; - } - final decryptedData = await _e2eeManager?.handleEncryptedData( - data: Uint8List.fromList(dp.encryptedPacket.encryptedValue), - iv: Uint8List.fromList(dp.encryptedPacket.iv), - participantIdentity: dp.participantIdentity, - keyIndex: dp.encryptedPacket.keyIndex, - ); - if (decryptedData == null) { - logger.warning('Failed to decrypt data packet'); - return; - } - final newDp = lk_models.DataPacket.fromBuffer(decryptedData); - // User packet - events.emit(EngineDataPacketReceivedEvent( - packet: newDp.user, - kind: newDp.kind, - identity: newDp.participantIdentity, - )); } else { logger.warning('Unknown data packet type: ${dp.whichValue()}'); } diff --git a/lib/src/e2ee/e2ee_manager.dart b/lib/src/e2ee/e2ee_manager.dart index f59296a4b..865afa1c0 100644 --- a/lib/src/e2ee/e2ee_manager.dart +++ b/lib/src/e2ee/e2ee_manager.dart @@ -33,8 +33,11 @@ class E2EEManager { final Algorithm _algorithm = Algorithm.kAesGcm; DataPacketCryptor? _dataPacketCryptor; bool _enabled = true; + bool encryptionEnabled = false; EventsListener? _listener; - E2EEManager(this._keyProvider); + E2EEManager(this._keyProvider, {bool dcEncryptionEnabled = false}) { + encryptionEnabled = dcEncryptionEnabled; + } Future setup(Room room) async { if (_room != room) { @@ -118,10 +121,11 @@ class E2EEManager { } } }); - - _dataPacketCryptor ??= - await dataPacketCryptorFactory.createDataPacketCryptor( - algorithm: _algorithm, keyProvider: _keyProvider.keyProvider); + if (encryptionEnabled && room.roomOptions.encryption != null) { + _dataPacketCryptor ??= + await dataPacketCryptorFactory.createDataPacketCryptor( + algorithm: _algorithm, keyProvider: _keyProvider.keyProvider); + } } } @@ -248,7 +252,7 @@ class E2EEManager { } bool get isDataChannelEncryptionEnabled => - _room?.roomOptions.encryption != null; + encryptionEnabled && _dataPacketCryptor != null; Future handleEncryptedData({ required Uint8List data, From 39c7d2eb9547a78fcaaa06894936a8de33561a89 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Fri, 19 Sep 2025 19:00:12 +0800 Subject: [PATCH 04/18] wip. --- lib/src/core/room.dart | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/src/core/room.dart b/lib/src/core/room.dart index ad092c031..9a5e8f263 100644 --- a/lib/src/core/room.dart +++ b/lib/src/core/room.dart @@ -230,11 +230,12 @@ class Room extends DisposableChangeNotifier with EventsEmittable { }) async { var roomOptions = this.roomOptions; connectOptions ??= ConnectOptions(); - if (roomOptions.e2eeOptions != null) { + if (roomOptions.e2eeOptions != null || roomOptions.encryption != null) { if (!lkPlatformSupportsE2EE()) { throw LiveKitE2EEException('E2EE is not supported on this platform'); } - _e2eeManager = E2EEManager(roomOptions.e2eeOptions!.keyProvider); + _e2eeManager = E2EEManager(roomOptions.e2eeOptions!.keyProvider, + dcEncryptionEnabled: roomOptions.encryption != null); await _e2eeManager!.setup(this); // Disable backup codec when e2ee is enabled @@ -447,7 +448,8 @@ class Room extends DisposableChangeNotifier with EventsEmittable { final bool audioEnabled = audio.enabled == true || audio.track != null; if (audioEnabled) { if (audio.track != null) { - await _localParticipant!.publishAudioTrack(audio.track as LocalAudioTrack, + await _localParticipant!.publishAudioTrack( + audio.track as LocalAudioTrack, publishOptions: roomOptions.defaultAudioPublishOptions); } else { await _localParticipant!.setMicrophoneEnabled(true, @@ -459,7 +461,8 @@ class Room extends DisposableChangeNotifier with EventsEmittable { final bool videoEnabled = video.enabled == true || video.track != null; if (videoEnabled) { if (video.track != null) { - await _localParticipant!.publishVideoTrack(video.track as LocalVideoTrack, + await _localParticipant!.publishVideoTrack( + video.track as LocalVideoTrack, publishOptions: roomOptions.defaultVideoPublishOptions); } else { await _localParticipant!.setCameraEnabled(true, @@ -468,7 +471,8 @@ class Room extends DisposableChangeNotifier with EventsEmittable { } final screen = options.screen; - final bool screenEnabled = screen.enabled == true || screen.track != null; + final bool screenEnabled = + screen.enabled == true || screen.track != null; if (screenEnabled) { if (screen.track != null) { await _localParticipant!.publishVideoTrack( From 2a3680006ab4c42e6c8e3ed8f13f59205792676e Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Fri, 19 Sep 2025 19:02:41 +0800 Subject: [PATCH 05/18] update. --- lib/src/core/engine.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/core/engine.dart b/lib/src/core/engine.dart index 113d28959..f8ed6fb19 100644 --- a/lib/src/core/engine.dart +++ b/lib/src/core/engine.dart @@ -21,9 +21,9 @@ import 'package:flutter/foundation.dart' hide internal; import 'package:collection/collection.dart'; import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc; -import 'package:livekit_client/livekit_client.dart'; import 'package:meta/meta.dart'; +import '../e2ee/e2ee_manager.dart'; import '../events.dart'; import '../exceptions.dart'; import '../extensions.dart'; From 97e828fac2c06d9081d0d6e1fe78b0a0415a5033 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Mon, 22 Sep 2025 13:08:53 +0800 Subject: [PATCH 06/18] fix. --- lib/src/core/room.dart | 3 ++- pubspec.yaml | 2 -- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/src/core/room.dart b/lib/src/core/room.dart index 9a5e8f263..718fee0bb 100644 --- a/lib/src/core/room.dart +++ b/lib/src/core/room.dart @@ -234,7 +234,8 @@ class Room extends DisposableChangeNotifier with EventsEmittable { if (!lkPlatformSupportsE2EE()) { throw LiveKitE2EEException('E2EE is not supported on this platform'); } - _e2eeManager = E2EEManager(roomOptions.e2eeOptions!.keyProvider, + final e2eeOptions = roomOptions.e2eeOptions ?? roomOptions.encryption; + _e2eeManager = E2EEManager(e2eeOptions!.keyProvider, dcEncryptionEnabled: roomOptions.encryption != null); await _e2eeManager!.setup(this); diff --git a/pubspec.yaml b/pubspec.yaml index 356025e42..2d867b364 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -37,9 +37,7 @@ dependencies: uuid: ^4.5.1 synchronized: ^3.0.0+3 protobuf: ^4.1.0 - flutter_webrtc: ^1.2.0 device_info_plus: ^11.3.0 - dart_webrtc: ^1.6.0 sdp_transform: ^0.3.2 web: ^1.0.0 mime_type: ^1.0.1 From 1c693ff73621b4ef95ffb2931f0afec18008d400 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Mon, 22 Sep 2025 14:21:51 +0800 Subject: [PATCH 07/18] fix. --- example/lib/pages/prejoin.dart | 1 + example/lib/widgets/controls.dart | 1 + example/web/e2ee.worker.dart.js | 14560 +++++++++++++++++-------- example/web/e2ee.worker.dart.js.deps | 41 +- example/web/e2ee.worker.dart.js.map | 12 +- lib/src/core/engine.dart | 52 +- lib/src/core/room.dart | 8 +- 7 files changed, 10273 insertions(+), 4402 deletions(-) diff --git a/example/lib/pages/prejoin.dart b/example/lib/pages/prejoin.dart index 87d2ed245..2e221e776 100644 --- a/example/lib/pages/prejoin.dart +++ b/example/lib/pages/prejoin.dart @@ -210,6 +210,7 @@ class _PreJoinPageState extends State { screenShareEncoding: screenEncoding, ), e2eeOptions: e2eeOptions, + encryption: e2eeOptions, ), ); // Create a Listener before connecting diff --git a/example/lib/widgets/controls.dart b/example/lib/widgets/controls.dart index c65c3c7fc..f48b9cd9d 100644 --- a/example/lib/widgets/controls.dart +++ b/example/lib/widgets/controls.dart @@ -269,6 +269,7 @@ class _ControlsWidgetState extends State { if (result == true) { await widget.participant.publishData( utf8.encode('This is a sample data message'), + reliable: true, ); } } diff --git a/example/web/e2ee.worker.dart.js b/example/web/e2ee.worker.dart.js index 8486b2b4b..568a14e49 100644 --- a/example/web/e2ee.worker.dart.js +++ b/example/web/e2ee.worker.dart.js @@ -1,4270 +1,9963 @@ -(function dartProgram(){function copyProperties(a,b){var s=Object.keys(a) -for(var r=0;r=0)return true -if(typeof version=="function"&&version.length==0){var q=version() -if(/^\d+\.\d+\.\d+\.\d+$/.test(q))return true}}catch(p){}return false}() -function inherit(a,b){a.prototype.constructor=a -a.prototype["$i"+a.name]=a -if(b!=null){if(z){Object.setPrototypeOf(a.prototype,b.prototype) -return}var s=Object.create(b.prototype) -copyProperties(a.prototype,s) -a.prototype=s}}function inheritMany(a,b){for(var s=0;s4294967295)throw A.b(A.a6(a,0,4294967295,"length",null)) -return J.hg(new Array(a),b)}, -hg(a,b){var s=A.O(a,b.h("z<0>")) -s.$flags=1 -return s}, -aF(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.bb.prototype -return J.c6.prototype}if(typeof a=="string")return J.aN.prototype -if(a==null)return J.bc.prototype -if(typeof a=="boolean")return J.c5.prototype -if(Array.isArray(a))return J.z.prototype -if(typeof a!="object"){if(typeof a=="function")return J.a2.prototype -if(typeof a=="symbol")return J.aP.prototype -if(typeof a=="bigint")return J.aO.prototype -return a}if(a instanceof A.h)return a -return J.dU(a)}, -cE(a){if(typeof a=="string")return J.aN.prototype -if(a==null)return a -if(Array.isArray(a))return J.z.prototype -if(typeof a!="object"){if(typeof a=="function")return J.a2.prototype -if(typeof a=="symbol")return J.aP.prototype -if(typeof a=="bigint")return J.aO.prototype -return a}if(a instanceof A.h)return a -return J.dU(a)}, -cF(a){if(a==null)return a -if(Array.isArray(a))return J.z.prototype -if(typeof a!="object"){if(typeof a=="function")return J.a2.prototype -if(typeof a=="symbol")return J.aP.prototype -if(typeof a=="bigint")return J.aO.prototype -return a}if(a instanceof A.h)return a -return J.dU(a)}, -dT(a){if(a==null)return a -if(typeof a!="object"){if(typeof a=="function")return J.a2.prototype -if(typeof a=="symbol")return J.aP.prototype -if(typeof a=="bigint")return J.aO.prototype -return a}if(a instanceof A.h)return a -return J.dU(a)}, -eC(a,b){if(a==null)return b==null -if(typeof a!="object")return b!=null&&a===b -return J.aF(a).F(a,b)}, -eD(a,b){if(typeof b==="number")if(Array.isArray(a)||typeof a=="string"||A.j1(a,a[v.dispatchPropertyName]))if(b>>>0===b&&b>>6}, -hA(a){a=a+((a&67108863)<<3)&536870911 -a^=a>>>11 -return a+((a&16383)<<15)&536870911}, -dP(a,b,c){return a}, -ey(a){var s,r -for(s=$.N.length,r=0;r").l(d).h("b9<1,2>")) -return new A.a4(a,b,c.h("@<0>").l(d).h("a4<1,2>"))}, -aX:function aX(a){this.a=0 -this.b=a}, -be:function be(a){this.a=a}, -d5:function d5(){}, -f:function f(){}, -a3:function a3(){}, -au:function au(a,b,c){var _=this -_.a=a -_.b=b -_.c=0 -_.d=null -_.$ti=c}, -a4:function a4(a,b,c){this.a=a -this.b=b -this.$ti=c}, -b9:function b9(a,b,c){this.a=a -this.b=b -this.$ti=c}, -bj:function bj(a,b,c){var _=this -_.a=null -_.b=a -_.c=b -_.$ti=c}, -a5:function a5(a,b,c){this.a=a -this.b=b -this.$ti=c}, -ay:function ay(a,b,c){this.a=a -this.b=b -this.$ti=c}, -bw:function bw(a,b,c){this.a=a -this.b=b -this.$ti=c}, -D:function D(){}, -fN(a){var s=v.mangledGlobalNames[a] -if(s!=null)return s -return"minified:"+a}, -j1(a,b){var s -if(b!=null){s=b.x -if(s!=null)return s}return t.r.b(a)}, -d(a){var s -if(typeof a=="string")return a -if(typeof a=="number"){if(a!==0)return""+a}else if(!0===a)return"true" -else if(!1===a)return"false" -else if(a==null)return"null" -s=J.a1(a) -return s}, -br(a){var s,r=$.eX -if(r==null)r=$.eX=Symbol("identityHashCode") -s=a[r] -if(s==null){s=Math.random()*0x3fffffff|0 -a[r]=s}return s}, -d4(a){var s,r,q,p -if(a instanceof A.h)return A.L(A.b4(a),null) -s=J.aF(a) -if(s===B.J||s===B.L||t.cr.b(a)){r=B.u(a) -if(r!=="Object"&&r!=="")return r -q=a.constructor -if(typeof q=="function"){p=q.name -if(typeof p=="string"&&p!=="Object"&&p!=="")return p}}return A.L(A.b4(a),null)}, -hu(a){if(typeof a=="number"||A.dM(a))return J.a1(a) -if(typeof a=="string")return JSON.stringify(a) -if(a instanceof A.ad)return a.k(0) -return"Instance of '"+A.d4(a)+"'"}, -hv(a,b,c){var s,r,q,p -if(c<=500&&b===0&&c===a.length)return String.fromCharCode.apply(null,a) -for(s=b,r="";s=s)return A.eO(b,s,a,r) -return A.hw(b,r)}, -iR(a,b,c){if(a<0||a>c)return A.a6(a,0,c,"start",null) -if(b!=null)if(bc)return A.a6(b,a,c,"end",null) -return new A.S(!0,b,"end",null)}, -iJ(a){return new A.S(!0,a,null,null)}, -b(a){return A.A(a,new Error())}, -A(a,b){var s -if(a==null)a=new A.a7() -b.dartException=a -s=A.j8 -if("defineProperty" in Object){Object.defineProperty(b,"message",{get:s}) -b.name=""}else b.toString=s -return b}, -j8(){return J.a1(this.dartException)}, -P(a,b){throw A.A(a,b==null?new Error():b)}, -Q(a,b,c){var s -if(b==null)b=0 -if(c==null)c=0 -s=Error() -A.P(A.i9(a,b,c),s)}, -i9(a,b,c){var s,r,q,p,o,n,m,l,k -if(typeof b=="string")s=b -else{r="[]=;add;removeWhere;retainWhere;removeRange;setRange;setInt8;setInt16;setInt32;setUint8;setUint16;setUint32;setFloat32;setFloat64".split(";") -q=r.length -p=b -if(p>q){c=p/q|0 -p%=q}s=r[p]}o=typeof c=="string"?c:"modify;remove from;add to".split(";")[c] -n=t.x.b(a)?"list":"ByteData" -m=a.$flags|0 -l="a " -if((m&4)!==0)k="constant " -else if((m&2)!==0){k="unmodifiable " -l="an "}else k=(m&1)!==0?"fixed-length ":"" -return new A.bu("'"+s+"': Cannot "+o+" "+l+k+n)}, -bT(a){throw A.b(A.b8(a))}, -a8(a){var s,r,q,p,o,n -a=A.j6(a.replace(String({}),"$receiver$")) -s=a.match(/\\\$[a-zA-Z]+\\\$/g) -if(s==null)s=A.O([],t.s) -r=s.indexOf("\\$arguments\\$") -q=s.indexOf("\\$argumentsExpr\\$") -p=s.indexOf("\\$expr\\$") -o=s.indexOf("\\$method\\$") -n=s.indexOf("\\$receiver\\$") -return new A.da(a.replace(new RegExp("\\\\\\$arguments\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$","g"),"((?:x|[^x])*)"),r,q,p,o,n)}, -db(a){return function($expr$){var $argumentsExpr$="$arguments$" -try{$expr$.$method$($argumentsExpr$)}catch(s){return s.message}}(a)}, -f5(a){return function($expr$){try{$expr$.$method$}catch(s){return s.message}}(a)}, -el(a,b){var s=b==null,r=s?null:b.method -return new A.c8(a,r,s?null:b.receiver)}, -W(a){var s -if(a==null)return new A.d3(a) -if(a instanceof A.ba){s=a.a -return A.ao(a,s==null?t.K.a(s):s)}if(typeof a!=="object")return a -if("dartException" in a)return A.ao(a,a.dartException) -return A.iI(a)}, -ao(a,b){if(t.C.b(b))if(b.$thrownJsError==null)b.$thrownJsError=a -return b}, -iI(a){var s,r,q,p,o,n,m,l,k,j,i,h,g -if(!("message" in a))return a -s=a.message -if("number" in a&&typeof a.number=="number"){r=a.number -q=r&65535 -if((B.i.a2(r,16)&8191)===10)switch(q){case 438:return A.ao(a,A.el(A.d(s)+" (Error "+q+")",null)) -case 445:case 5007:A.d(s) -return A.ao(a,new A.bq())}}if(a instanceof TypeError){p=$.fP() -o=$.fQ() -n=$.fR() -m=$.fS() -l=$.fV() -k=$.fW() -j=$.fU() -$.fT() -i=$.fY() -h=$.fX() -g=p.C(s) -if(g!=null)return A.ao(a,A.el(A.i(s),g)) -else{g=o.C(s) -if(g!=null){g.method="call" -return A.ao(a,A.el(A.i(s),g))}else if(n.C(s)!=null||m.C(s)!=null||l.C(s)!=null||k.C(s)!=null||j.C(s)!=null||m.C(s)!=null||i.C(s)!=null||h.C(s)!=null){A.i(s) -return A.ao(a,new A.bq())}}return A.ao(a,new A.cq(typeof s=="string"?s:""))}if(a instanceof RangeError){if(typeof s=="string"&&s.indexOf("call stack")!==-1)return new A.bs() -s=function(b){try{return String(b)}catch(f){}return null}(a) -return A.ao(a,new A.S(!1,null,null,typeof s=="string"?s.replace(/^RangeError:\s*/,""):s))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof s=="string"&&s==="too much recursion")return new A.bs() -return a}, -an(a){var s -if(a instanceof A.ba)return a.b -if(a==null)return new A.bJ(a) -s=a.$cachedTrace -if(s!=null)return s -s=new A.bJ(a) -if(typeof a==="object")a.$cachedTrace=s -return s}, -e9(a){if(a==null)return J.cI(a) -if(typeof a=="object")return A.br(a) -return J.cI(a)}, -iS(a,b){var s,r,q,p=a.length -for(s=0;s>>0!==a||a>=c)throw A.b(A.cD(b,a))}, -i8(a,b,c){var s -if(!(a>>>0!==a))if(b==null)s=a>c -else s=b>>>0!==b||a>b||b>c -else s=!0 -if(s)throw A.b(A.iR(a,b,c)) -if(b==null)return c -return b}, -aS:function aS(){}, -bn:function bn(){}, -cA:function cA(a){this.a=a}, -bk:function bk(){}, -B:function B(){}, -bl:function bl(){}, -bm:function bm(){}, -ca:function ca(){}, -cb:function cb(){}, -cc:function cc(){}, -cd:function cd(){}, -ce:function ce(){}, -cf:function cf(){}, -cg:function cg(){}, -bo:function bo(){}, -bp:function bp(){}, -bF:function bF(){}, -bG:function bG(){}, -bH:function bH(){}, -bI:function bI(){}, -em(a,b){var s=b.c -return s==null?b.c=A.bN(a,"T",[b.x]):s}, -f0(a){var s=a.w -if(s===6||s===7)return A.f0(a.x) -return s===11||s===12}, -hx(a){return a.as}, -dS(a){return A.dG(v.typeUniverse,a,!1)}, -aE(a1,a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=a2.w -switch(a0){case 5:case 1:case 2:case 3:case 4:return a2 -case 6:s=a2.x -r=A.aE(a1,s,a3,a4) -if(r===s)return a2 -return A.fj(a1,r,!0) -case 7:s=a2.x -r=A.aE(a1,s,a3,a4) -if(r===s)return a2 -return A.fi(a1,r,!0) -case 8:q=a2.y -p=A.b2(a1,q,a3,a4) -if(p===q)return a2 -return A.bN(a1,a2.x,p) -case 9:o=a2.x -n=A.aE(a1,o,a3,a4) -m=a2.y -l=A.b2(a1,m,a3,a4) -if(n===o&&l===m)return a2 -return A.eq(a1,n,l) -case 10:k=a2.x -j=a2.y -i=A.b2(a1,j,a3,a4) -if(i===j)return a2 -return A.fk(a1,k,i) -case 11:h=a2.x -g=A.aE(a1,h,a3,a4) -f=a2.y -e=A.iF(a1,f,a3,a4) -if(g===h&&e===f)return a2 -return A.fh(a1,g,e) -case 12:d=a2.y -a4+=d.length -c=A.b2(a1,d,a3,a4) -o=a2.x -n=A.aE(a1,o,a3,a4) -if(c===d&&n===o)return a2 -return A.er(a1,n,c,!0) -case 13:b=a2.x -if(b=0)p+=" "+r[q];++q}return p+"})"}, -fq(a3,a4,a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1=", ",a2=null -if(a5!=null){s=a5.length -if(a4==null)a4=A.O([],t.s) -else a2=a4.length -r=a4.length -for(q=s;q>0;--q)B.d.u(a4,"T"+(r+q)) -for(p=t.X,o="<",n="",q=0;q=0))return A.c(a4,l) -o=o+n+a4[l] -k=a5[q] -j=k.w -if(!(j===2||j===3||j===4||j===5||k===p))o+=" extends "+A.L(k,a4)}o+=">"}else o="" -p=a3.x -i=a3.y -h=i.a -g=h.length -f=i.b -e=f.length -d=i.c -c=d.length -b=A.L(p,a4) -for(a="",a0="",q=0;q0){a+=a0+"[" -for(a0="",q=0;q0){a+=a0+"{" -for(a0="",q=0;q "+b}, -L(a,b){var s,r,q,p,o,n,m,l=a.w -if(l===5)return"erased" -if(l===2)return"dynamic" -if(l===3)return"void" -if(l===1)return"Never" -if(l===4)return"any" -if(l===6){s=a.x -r=A.L(s,b) -q=s.w -return(q===11||q===12?"("+r+")":r)+"?"}if(l===7)return"FutureOr<"+A.L(a.x,b)+">" -if(l===8){p=A.iH(a.x) -o=a.y -return o.length>0?p+("<"+A.fA(o,b)+">"):p}if(l===10)return A.iz(a,b) -if(l===11)return A.fq(a,b,null) -if(l===12)return A.fq(a.x,b,a.y) -if(l===13){n=a.x -m=b.length -n=m-1-n -if(!(n>=0&&n0)p+="<"+A.bM(c)+">" -s=a.eC.get(p) -if(s!=null)return s -r=new A.U(null,null) -r.w=8 -r.x=b -r.y=c -if(c.length>0)r.c=c[0] -r.as=p -q=A.aj(a,r) -a.eC.set(p,q) -return q}, -eq(a,b,c){var s,r,q,p,o,n -if(b.w===9){s=b.x -r=b.y.concat(c)}else{r=c -s=b}q=s.as+(";<"+A.bM(r)+">") -p=a.eC.get(q) -if(p!=null)return p -o=new A.U(null,null) -o.w=9 -o.x=s -o.y=r -o.as=q -n=A.aj(a,o) -a.eC.set(q,n) -return n}, -fk(a,b,c){var s,r,q="+"+(b+"("+A.bM(c)+")"),p=a.eC.get(q) -if(p!=null)return p -s=new A.U(null,null) -s.w=10 -s.x=b -s.y=c -s.as=q -r=A.aj(a,s) -a.eC.set(q,r) -return r}, -fh(a,b,c){var s,r,q,p,o,n=b.as,m=c.a,l=m.length,k=c.b,j=k.length,i=c.c,h=i.length,g="("+A.bM(m) -if(j>0){s=l>0?",":"" -g+=s+"["+A.bM(k)+"]"}if(h>0){s=l>0?",":"" -g+=s+"{"+A.hR(i)+"}"}r=n+(g+")") -q=a.eC.get(r) -if(q!=null)return q -p=new A.U(null,null) -p.w=11 -p.x=b -p.y=c -p.as=r -o=A.aj(a,p) -a.eC.set(r,o) -return o}, -er(a,b,c,d){var s,r=b.as+("<"+A.bM(c)+">"),q=a.eC.get(r) -if(q!=null)return q -s=A.hT(a,b,c,r,d) -a.eC.set(r,s) -return s}, -hT(a,b,c,d,e){var s,r,q,p,o,n,m,l -if(e){s=c.length -r=A.dI(s) -for(q=0,p=0;p0){n=A.aE(a,b,r,0) -m=A.b2(a,c,r,0) -return A.er(a,n,m,c!==m)}}l=new A.U(null,null) -l.w=12 -l.x=b -l.y=c -l.as=d -return A.aj(a,l)}, -fc(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}}, -fe(a){var s,r,q,p,o,n,m,l=a.r,k=a.s -for(s=l.length,r=0;r=48&&q<=57)r=A.hL(r+1,q,l,k) -else if((((q|32)>>>0)-97&65535)<26||q===95||q===36||q===124)r=A.fd(a,r,l,k,!1) -else if(q===46)r=A.fd(a,r,l,k,!0) -else{++r -switch(q){case 44:break -case 58:k.push(!1) -break -case 33:k.push(!0) -break -case 59:k.push(A.aC(a.u,a.e,k.pop())) -break -case 94:k.push(A.hV(a.u,k.pop())) -break -case 35:k.push(A.bO(a.u,5,"#")) -break -case 64:k.push(A.bO(a.u,2,"@")) -break -case 126:k.push(A.bO(a.u,3,"~")) -break -case 60:k.push(a.p) -a.p=k.length -break -case 62:A.hN(a,k) -break -case 38:A.hM(a,k) -break -case 63:p=a.u -k.push(A.fj(p,A.aC(p,a.e,k.pop()),a.n)) -break -case 47:p=a.u -k.push(A.fi(p,A.aC(p,a.e,k.pop()),a.n)) -break -case 40:k.push(-3) -k.push(a.p) -a.p=k.length -break -case 41:A.hK(a,k) -break -case 91:k.push(a.p) -a.p=k.length -break -case 93:o=k.splice(a.p) -A.ff(a.u,a.e,o) -a.p=k.pop() -k.push(o) -k.push(-1) -break -case 123:k.push(a.p) -a.p=k.length -break -case 125:o=k.splice(a.p) -A.hP(a.u,a.e,o) -a.p=k.pop() -k.push(o) -k.push(-2) -break -case 43:n=l.indexOf("(",r) -k.push(l.substring(r,n)) -k.push(-4) -k.push(a.p) -a.p=k.length -r=n+1 -break -default:throw"Bad character "+q}}}m=k.pop() -return A.aC(a.u,a.e,m)}, -hL(a,b,c,d){var s,r,q=b-48 -for(s=c.length;a=48&&r<=57))break -q=q*10+(r-48)}d.push(q) -return a}, -fd(a,b,c,d,e){var s,r,q,p,o,n,m=b+1 -for(s=c.length;m>>0)-97&65535)<26||r===95||r===36||r===124))q=r>=48&&r<=57 -else q=!0 -if(!q)break}}p=c.substring(b,m) -if(e){s=a.u -o=a.e -if(o.w===9)o=o.x -n=A.i_(s,o.x)[p] -if(n==null)A.P('No "'+p+'" in "'+A.hx(o)+'"') -d.push(A.dH(s,o,n))}else d.push(p) -return m}, -hN(a,b){var s,r=a.u,q=A.fb(a,b),p=b.pop() -if(typeof p=="string")b.push(A.bN(r,p,q)) -else{s=A.aC(r,a.e,p) -switch(s.w){case 11:b.push(A.er(r,s,q,a.n)) -break -default:b.push(A.eq(r,s,q)) -break}}}, -hK(a,b){var s,r,q,p=a.u,o=b.pop(),n=null,m=null -if(typeof o=="number")switch(o){case-1:n=b.pop() -break -case-2:m=b.pop() -break -default:b.push(o) -break}else b.push(o) -s=A.fb(a,b) -o=b.pop() -switch(o){case-3:o=b.pop() -if(n==null)n=p.sEA -if(m==null)m=p.sEA -r=A.aC(p,a.e,o) -q=new A.cv() -q.a=s -q.b=n -q.c=m -b.push(A.fh(p,r,q)) -return -case-4:b.push(A.fk(p,b.pop(),s)) -return -default:throw A.b(A.bV("Unexpected state under `()`: "+A.d(o)))}}, -hM(a,b){var s=b.pop() -if(0===s){b.push(A.bO(a.u,1,"0&")) -return}if(1===s){b.push(A.bO(a.u,4,"1&")) -return}throw A.b(A.bV("Unexpected extended operation "+A.d(s)))}, -fb(a,b){var s=b.splice(a.p) -A.ff(a.u,a.e,s) -a.p=b.pop() -return s}, -aC(a,b,c){if(typeof c=="string")return A.bN(a,c,a.sEA) -else if(typeof c=="number"){b.toString -return A.hO(a,b,c)}else return c}, -ff(a,b,c){var s,r=c.length -for(s=0;sn)return!1 -m=n-o -l=s.b -k=r.b -j=l.length -i=k.length -if(o+j=d)return!1 -a1=f[b] -b+=3 -if(a00?new Array(q):v.typeUniverse.sEA -for(o=0;o0?new Array(a):v.typeUniverse.sEA}, -U:function U(a,b){var _=this -_.a=a -_.b=b -_.r=_.f=_.d=_.c=null -_.w=0 -_.as=_.Q=_.z=_.y=_.x=null}, -cv:function cv(){this.c=this.b=this.a=null}, -dF:function dF(a){this.a=a}, -cu:function cu(){}, -bL:function bL(a){this.a=a}, -hB(){var s,r,q -if(self.scheduleImmediate!=null)return A.iK() -if(self.MutationObserver!=null&&self.document!=null){s={} -r=self.document.createElement("div") -q=self.document.createElement("span") -s.a=null -new self.MutationObserver(A.bS(new A.dg(s),1)).observe(r,{childList:true}) -return new A.df(s,r,q)}else if(self.setImmediate!=null)return A.iL() -return A.iM()}, -hC(a){self.scheduleImmediate(A.bS(new A.dh(t.M.a(a)),0))}, -hD(a){self.setImmediate(A.bS(new A.di(t.M.a(a)),0))}, -hE(a){t.M.a(a) -A.hQ(0,a)}, -hQ(a,b){var s=new A.dD() -s.bc(a,b) -return s}, -K(a){return new A.cr(new A.v($.q,a.h("v<0>")),a.h("cr<0>"))}, -J(a,b){a.$2(0,null) -b.b=!0 -return b.a}, -u(a,b){b.toString -A.i5(a,b)}, -I(a,b){b.ak(a)}, -H(a,b){b.al(A.W(a),A.an(a))}, -i5(a,b){var s,r,q=new A.dK(b),p=new A.dL(b) -if(a instanceof A.v)a.aQ(q,p,t.z) -else{s=t.z -if(a instanceof A.v)a.b1(q,p,s) -else{r=new A.v($.q,t._) -r.a=8 -r.c=a -r.aQ(q,p,s)}}}, -M(a){var s=function(b,c){return function(d,e){while(true){try{b(d,e) -break}catch(r){e=r -d=c}}}}(a,1) -return $.q.ap(new A.dO(s),t.H,t.S,t.z)}, -ei(a){var s -if(t.C.b(a)){s=a.gL() -if(s!=null)return s}return B.n}, -ii(a,b){if($.q===B.h)return null -return null}, -ij(a,b){if($.q!==B.h)A.ii(a,b) -if(b==null)if(t.C.b(a)){b=a.gL() -if(b==null){A.eY(a,B.n) -b=B.n}}else b=B.n -else if(t.C.b(a))A.eY(a,b) -return new A.E(a,b)}, -en(a,b,c){var s,r,q,p,o={},n=o.a=a -for(s=t._;r=n.a,(r&4)!==0;n=a){a=s.a(n.c) -o.a=a}if(n===b){s=A.f1() -b.aa(new A.E(new A.S(!0,n,null,"Cannot complete a future with itself"),s)) -return}q=b.a&1 -s=n.a=r|q -if((s&24)===0){p=t.F.a(b.c) -b.a=b.a&1|4 -b.c=n -n.aO(p) -return}if(!c)if(b.c==null)n=(s&16)===0||q!==0 -else n=!1 -else n=!0 -if(n){p=b.M() -b.Y(o.a) -A.aB(b,p) -return}b.a^=2 -A.b1(null,null,b.b,t.M.a(new A.dr(o,b)))}, -aB(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d={},c=d.a=a -for(s=t.n,r=t.F;!0;){q={} -p=c.a -o=(p&16)===0 -n=!o -if(b==null){if(n&&(p&1)===0){m=s.a(c.c) -A.cC(m.a,m.b)}return}q.a=b -l=b.a -for(c=b;l!=null;c=l,l=k){c.a=null -A.aB(d.a,c) -q.a=l -k=l.a}p=d.a -j=p.c -q.b=n -q.c=j -if(o){i=c.c -i=(i&1)!==0||(i&15)===8}else i=!0 -if(i){h=c.b.b -if(n){p=p.b===h -p=!(p||p)}else p=!1 -if(p){s.a(j) -A.cC(j.a,j.b) -return}g=$.q -if(g!==h)$.q=h -else g=null -c=c.c -if((c&15)===8)new A.dv(q,d,n).$0() -else if(o){if((c&1)!==0)new A.du(q,j).$0()}else if((c&2)!==0)new A.dt(d,q).$0() -if(g!=null)$.q=g -c=q.c -if(c instanceof A.v){p=q.a.$ti -p=p.h("T<2>").b(c)||!p.y[1].b(c)}else p=!1 -if(p){f=q.a.b -if((c.a&24)!==0){e=r.a(f.c) -f.c=null -b=f.a0(e) -f.a=c.a&30|f.a&1 -f.c=c.c -d.a=c -continue}else A.en(c,f,!0) -return}}f=q.a.b -e=r.a(f.c) -f.c=null -b=f.a0(e) -c=q.b -p=q.c -if(!c){f.$ti.c.a(p) -f.a=8 -f.c=p}else{s.a(p) -f.a=f.a&1|16 -f.c=p}d.a=f -c=f}}, -iA(a,b){var s -if(t.Q.b(a))return b.ap(a,t.z,t.K,t.l) -s=t.v -if(s.b(a))return s.a(a) -throw A.b(A.eh(a,"onError",u.c))}, -iw(){var s,r -for(s=$.b0;s!=null;s=$.b0){$.bR=null -r=s.b -$.b0=r -if(r==null)$.bQ=null -s.a.$0()}}, -iD(){$.eu=!0 -try{A.iw()}finally{$.bR=null -$.eu=!1 -if($.b0!=null)$.eB().$1(A.fE())}}, -fC(a){var s=new A.cs(a),r=$.bQ -if(r==null){$.b0=$.bQ=s -if(!$.eu)$.eB().$1(A.fE())}else $.bQ=r.b=s}, -iC(a){var s,r,q,p=$.b0 -if(p==null){A.fC(a) -$.bR=$.bQ -return}s=new A.cs(a) -r=$.bR -if(r==null){s.b=p -$.b0=$.bR=s}else{q=r.b -s.b=q -$.bR=r.b=s -if(q==null)$.bQ=s}}, -fM(a){var s=null,r=$.q -if(B.h===r){A.b1(s,s,B.h,a) -return}A.b1(s,s,r,t.M.a(r.aS(a)))}, -je(a,b){A.dP(a,"stream",t.K) -return new A.cy(b.h("cy<0>"))}, -fB(a){return}, -hJ(a,b){if(b==null)b=A.iO() -if(t.aD.b(b))return a.ap(b,t.z,t.K,t.l) -if(t.bo.b(b))return t.v.a(b) -throw A.b(A.ac("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.",null))}, -iy(a,b){A.cC(a,b)}, -ix(){}, -cC(a,b){A.iC(new A.dN(a,b))}, -fy(a,b,c,d,e){var s,r=$.q -if(r===c)return d.$0() -$.q=c -s=r -try{r=d.$0() -return r}finally{$.q=s}}, -fz(a,b,c,d,e,f,g){var s,r=$.q -if(r===c)return d.$1(e) -$.q=c -s=r -try{r=d.$1(e) -return r}finally{$.q=s}}, -iB(a,b,c,d,e,f,g,h,i){var s,r=$.q -if(r===c)return d.$2(e,f) -$.q=c -s=r -try{r=d.$2(e,f) -return r}finally{$.q=s}}, -b1(a,b,c,d){t.M.a(d) -if(B.h!==c)d=c.aS(d) -A.fC(d)}, -dg:function dg(a){this.a=a}, -df:function df(a,b,c){this.a=a -this.b=b -this.c=c}, -dh:function dh(a){this.a=a}, -di:function di(a){this.a=a}, -dD:function dD(){}, -dE:function dE(a,b){this.a=a -this.b=b}, -cr:function cr(a,b){this.a=a -this.b=!1 -this.$ti=b}, -dK:function dK(a){this.a=a}, -dL:function dL(a){this.a=a}, -dO:function dO(a){this.a=a}, -E:function E(a,b){this.a=a -this.b=b}, -aW:function aW(a,b){this.a=a -this.$ti=b}, -ah:function ah(a,b,c,d,e){var _=this -_.ay=0 -_.CW=_.ch=null -_.w=a -_.a=b -_.d=c -_.e=d -_.r=null -_.$ti=e}, -az:function az(){}, -bK:function bK(a,b,c){var _=this -_.a=a -_.b=b -_.c=0 -_.e=_.d=null -_.$ti=c}, -dC:function dC(a,b){this.a=a -this.b=b}, -ct:function ct(){}, -bx:function bx(a,b){this.a=a -this.$ti=b}, -aA:function aA(a,b,c,d,e){var _=this -_.a=null -_.b=a -_.c=b -_.d=c -_.e=d -_.$ti=e}, -v:function v(a,b){var _=this -_.a=0 -_.b=a -_.c=null -_.$ti=b}, -dn:function dn(a,b){this.a=a -this.b=b}, -ds:function ds(a,b){this.a=a -this.b=b}, -dr:function dr(a,b){this.a=a -this.b=b}, -dq:function dq(a,b){this.a=a -this.b=b}, -dp:function dp(a,b){this.a=a -this.b=b}, -dv:function dv(a,b,c){this.a=a -this.b=b -this.c=c}, -dw:function dw(a,b){this.a=a -this.b=b}, -dx:function dx(a){this.a=a}, -du:function du(a,b){this.a=a -this.b=b}, -dt:function dt(a,b){this.a=a -this.b=b}, -cs:function cs(a){this.a=a -this.b=null}, -aU:function aU(){}, -d8:function d8(a,b){this.a=a -this.b=b}, -d9:function d9(a,b){this.a=a -this.b=b}, -by:function by(){}, -bz:function bz(){}, -a9:function a9(){}, -b_:function b_(){}, -bB:function bB(){}, -bA:function bA(a,b){this.b=a -this.a=null -this.$ti=b}, -cw:function cw(a){var _=this -_.a=0 -_.c=_.b=null -_.$ti=a}, -dA:function dA(a,b){this.a=a -this.b=b}, -aY:function aY(a,b){var _=this -_.a=1 -_.b=a -_.c=null -_.$ti=b}, -cy:function cy(a){this.$ti=a}, -bP:function bP(){}, -dN:function dN(a,b){this.a=a -this.b=b}, -cx:function cx(){}, -dB:function dB(a,b){this.a=a -this.b=b}, -fa(a,b){var s=a[b] -return s===a?null:s}, -ep(a,b,c){if(c==null)a[b]=a -else a[b]=c}, -eo(){var s=Object.create(null) -A.ep(s,"",s) -delete s[""] -return s}, -l(a,b,c){return b.h("@<0>").l(c).h("eP<1,2>").a(A.iS(a,new A.at(b.h("@<0>").l(c).h("at<1,2>"))))}, -bh(a,b){return new A.at(a.h("@<0>").l(b).h("at<1,2>"))}, -eT(a){var s,r -if(A.ey(a))return"{...}" -s=new A.cm("") -try{r={} -B.d.u($.N,a) -s.a+="{" -r.a=!0 -a.an(0,new A.d1(r,s)) -s.a+="}"}finally{if(0>=$.N.length)return A.c($.N,-1) -$.N.pop()}r=s.a -return r.charCodeAt(0)==0?r:r}, -bC:function bC(){}, -aZ:function aZ(a){var _=this -_.a=0 -_.e=_.d=_.c=_.b=null -_.$ti=a}, -bD:function bD(a,b){this.a=a -this.$ti=b}, -bE:function bE(a,b,c){var _=this -_.a=a -_.b=b -_.c=0 -_.d=null -_.$ti=c}, -r:function r(){}, -aw:function aw(){}, -d1:function d1(a,b){this.a=a -this.b=b}, -hI(a,b,c,d,e,f,g,a0){var s,r,q,p,o,n,m,l,k,j,i=a0>>>2,h=3-(a0&3) -for(s=b.length,r=a.length,q=f.$flags|0,p=c,o=0;p>>18&63 -if(!(l>>12&63 -if(!(l>>6&63 -if(!(l=0&&o<=255){if(h<3){m=g+1 -j=m+1 -if(3-h===1){s=i>>>2&63 -if(!(s>>10&63 -if(!(s>>4&63 -if(!(s>>0}for(p=c;p255)break;++p}if(!(p=0){g=(g<<6|l)&16777215 -f=f+1&3 -if(f===0){k=a0+1 -q&2&&A.Q(d) -m=d.length -if(!(a0>>16&255 -a0=k+1 -if(!(k>>8&255 -k=a0+1 -if(!(a01){if(o>127)break -if(f===3){if((g&3)!==0)throw A.b(A.aM(i,a,p)) -k=a0+1 -q&2&&A.Q(d) -s=d.length -if(!(a0>>10 -if(!(k>>2}else{if((g&15)!==0)throw A.b(A.aM(i,a,p)) -q&2&&A.Q(d) -if(!(a0>>4}j=(3-f)*3 -if(n===37)j+=2 -return A.f8(a,p+1,c,-j-1)}throw A.b(A.aM(h,a,p))}if(o>=0&&o<=127)return(g<<2|f)>>>0 -for(p=b;p127)break}throw A.b(A.aM(h,a,p))}, -hF(a,b,c,d){var s=A.hG(a,b,c),r=(d&3)+(s-b),q=B.i.a2(r,2)*3,p=r&3 -if(p!==0&&s0)return new Uint8Array(q) -return $.fZ()}, -hG(a,b,c){var s,r=a.length,q=c,p=q,o=0 -while(!0){if(!(p>b&&o<2))break -c$0:{--p -if(!(p>=0&&p=0&&p=0&&p0;){if(!(b3?s-3:s)===2){if(q!==51)break;++b;--s -if(b===c)break -if(!(b")) -s=A.O([],b.h("z<0>")) -for(r=J.ee(a);r.p();)B.d.u(s,r.gn()) -return s}, -hy(a){var s -A.eZ(0,"start") -s=A.hz(a,0,null) -return s}, -hz(a,b,c){var s=a.length -if(b>=s)return"" -return A.hv(a,b,s)}, -f3(a,b,c){var s=J.ee(b) -if(!s.p())return a -if(c.length===0){do a+=A.d(s.gn()) -while(s.p())}else{a+=A.d(s.gn()) -for(;s.p();)a=a+c+A.d(s.gn())}return a}, -f1(){return A.an(new Error())}, -hb(a){var s=Math.abs(a),r=a<0?"-":"" -if(s>=1000)return""+a -if(s>=100)return r+"0"+s -if(s>=10)return r+"00"+s -return r+"000"+s}, -eN(a){if(a>=100)return""+a -if(a>=10)return"0"+a -return"00"+a}, -c2(a){if(a>=10)return""+a -return"0"+a}, -cL(a){if(typeof a=="number"||A.dM(a)||a==null)return J.a1(a) -if(typeof a=="string")return JSON.stringify(a) -return A.hu(a)}, -hd(a,b){A.dP(a,"error",t.K) -A.dP(b,"stackTrace",t.l) -A.hc(a,b)}, -bV(a){return new A.bU(a)}, -ac(a,b){return new A.S(!1,null,b,a)}, -eh(a,b,c){return new A.S(!0,a,b,c)}, -hw(a,b){return new A.aT(null,null,!0,a,b,"Value not in range")}, -a6(a,b,c,d,e){return new A.aT(b,c,!0,a,d,"Invalid value")}, -f_(a,b,c){if(0>a||a>c)throw A.b(A.a6(a,0,c,"start",null)) -if(b!=null){if(a>b||b>c)throw A.b(A.a6(b,a,c,"end",null)) -return b}return c}, -eZ(a,b){if(a<0)throw A.b(A.a6(a,0,null,b,null)) -return a}, -eO(a,b,c,d){return new A.c3(b,!0,a,d,"Index out of range")}, -bv(a){return new A.bu(a)}, -f6(a){return new A.cp(a)}, -d7(a){return new A.ax(a)}, -b8(a){return new A.c_(a)}, -ar(a){return new A.dm(a)}, -aM(a,b,c){return new A.cO(a,b,c)}, -he(a,b,c){var s,r -if(A.ey(a)){if(b==="("&&c===")")return"(...)" -return b+"..."+c}s=A.O([],t.s) -B.d.u($.N,a) -try{A.iv(a,s)}finally{if(0>=$.N.length)return A.c($.N,-1) -$.N.pop()}r=A.f3(b,t.R.a(s),", ")+c -return r.charCodeAt(0)==0?r:r}, -cW(a,b,c){var s,r -if(A.ey(a))return b+"..."+c -s=new A.cm(b) -B.d.u($.N,a) -try{r=s -r.a=A.f3(r.a,a,", ")}finally{if(0>=$.N.length)return A.c($.N,-1) -$.N.pop()}s.a+=c -r=s.a -return r.charCodeAt(0)==0?r:r}, -iv(a,b){var s,r,q,p,o,n,m,l=a.gA(a),k=0,j=0 -while(!0){if(!(k<80||j<3))break -if(!l.p())return -s=A.d(l.gn()) -B.d.u(b,s) -k+=s.length+2;++j}if(!l.p()){if(j<=5)return -if(0>=b.length)return A.c(b,-1) -r=b.pop() -if(0>=b.length)return A.c(b,-1) -q=b.pop()}else{p=l.gn();++j -if(!l.p()){if(j<=4){B.d.u(b,A.d(p)) -return}r=A.d(p) -if(0>=b.length)return A.c(b,-1) -q=b.pop() -k+=r.length+2}else{o=l.gn();++j -for(;l.p();p=o,o=n){n=l.gn();++j -if(j>100){while(!0){if(!(k>75&&j>3))break -if(0>=b.length)return A.c(b,-1) -k-=b.pop().length+2;--j}B.d.u(b,"...") -return}}q=A.d(p) -r=A.d(o) -k+=r.length+q.length+4}}if(j>b.length+2){k+=5 -m="..."}else m=null -while(!0){if(!(k>80&&b.length>3))break -if(0>=b.length)return A.c(b,-1) -k-=b.pop().length+2 -if(m==null){k+=5 -m="..."}}if(m!=null)B.d.u(b,m) -B.d.u(b,q) -B.d.u(b,r)}, -hl(a,b){var s=B.i.gt(a) -b=B.i.gt(b) -b=A.hA(A.f4(A.f4($.h0(),s),b)) -return b}, -c1:function c1(a,b,c){this.a=a -this.b=b -this.c=c}, -dl:function dl(){}, -t:function t(){}, -bU:function bU(a){this.a=a}, -a7:function a7(){}, -S:function S(a,b,c,d){var _=this -_.a=a -_.b=b -_.c=c -_.d=d}, -aT:function aT(a,b,c,d,e,f){var _=this -_.e=a -_.f=b -_.a=c -_.b=d -_.c=e -_.d=f}, -c3:function c3(a,b,c,d,e){var _=this -_.f=a -_.a=b -_.b=c -_.c=d -_.d=e}, -bu:function bu(a){this.a=a}, -cp:function cp(a){this.a=a}, -ax:function ax(a){this.a=a}, -c_:function c_(a){this.a=a}, -ch:function ch(){}, -bs:function bs(){}, -dm:function dm(a){this.a=a}, -cO:function cO(a,b,c){this.a=a -this.b=b -this.c=c}, -e:function e(){}, -w:function w(){}, -h:function h(){}, -cz:function cz(){}, -cm:function cm(a){this.a=a}, -fr(a){var s -if(typeof a=="function")throw A.b(A.ac("Attempting to rewrap a JS function.",null)) -s=function(b,c){return function(d){return b(c,d,arguments.length)}}(A.i6,a) -s[$.ed()]=a -return s}, -fs(a){var s -if(typeof a=="function")throw A.b(A.ac("Attempting to rewrap a JS function.",null)) -s=function(b,c){return function(d,e){return b(c,d,e,arguments.length)}}(A.i7,a) -s[$.ed()]=a -return s}, -i6(a,b,c){t.Z.a(a) -if(A.o(c)>=1)return a.$1(b) -return a.$0()}, -i7(a,b,c,d){t.Z.a(a) -A.o(d) -if(d>=2)return a.$2(b,c) -if(d===1)return a.$1(b) -return a.$0()}, -fx(a){return a==null||A.dM(a)||typeof a=="number"||typeof a=="string"||t.U.b(a)||t.D.b(a)||t.ca.b(a)||t.O.b(a)||t.c0.b(a)||t.k.b(a)||t.bk.b(a)||t.G.b(a)||t.q.b(a)||t.J.b(a)||t.V.b(a)}, -k(a){if(A.fx(a))return a -return new A.e_(new A.aZ(t.A)).$1(a)}, -ev(a,b,c,d){return d.a(a[b].apply(a,c))}, -aK(a,b){var s=new A.v($.q,b.h("v<0>")),r=new A.bx(s,b.h("bx<0>")) -a.then(A.bS(new A.ea(r,b),1),A.bS(new A.eb(r),1)) -return s}, -fw(a){return a==null||typeof a==="boolean"||typeof a==="number"||typeof a==="string"||a instanceof Int8Array||a instanceof Uint8Array||a instanceof Uint8ClampedArray||a instanceof Int16Array||a instanceof Uint16Array||a instanceof Int32Array||a instanceof Uint32Array||a instanceof Float32Array||a instanceof Float64Array||a instanceof ArrayBuffer||a instanceof DataView}, -fG(a){if(A.fw(a))return a -return new A.dQ(new A.aZ(t.A)).$1(a)}, -e_:function e_(a){this.a=a}, -ea:function ea(a,b){this.a=a -this.b=b}, -eb:function eb(a){this.a=a}, -dQ:function dQ(a){this.a=a}, -d2:function d2(a){this.a=a}, -dy:function dy(a){this.a=a}, -ag:function ag(a,b){this.a=a -this.b=b}, -av:function av(a,b,c){this.a=a -this.b=b -this.d=c}, -d_(a){return $.hi.bP(a,new A.d0(a))}, -aR:function aR(a,b,c){var _=this -_.a=a -_.b=b -_.c=null -_.d=c -_.f=null}, -d0:function d0(a){this.a=a}, -iT(a){var s,r,q,p,o=A.O([],t.t),n=a.length,m=n-2 -for(s=0,r=0;r=0))return A.c(a,r) -q=!(a[r]===0&&a[r+1]===0&&a[r+2]===1)}else q=!1 -if(!q)break;++r}if(r>=m)r=n -p=r -while(!0){if(p>s){q=p-1 -if(!(q>=0))return A.c(a,q) -q=a[q]===0}else q=!1 -if(!q)break;--p}if(s===0){if(p!==s)throw A.b(A.ar("byte stream contains leading data"))}else B.d.u(o,s) -r+=3}return o}, -X:function X(a){this.b=a}, -cR:function cR(a,b,c,d){var _=this -_.a=a -_.b=b -_.c=c -_.d=d}, -ae:function ae(a,b,c,d,e,f,g){var _=this -_.a=a -_.b=b -_.c=c -_.d=null -_.e=d -_.f=$ -_.w=_.r=!1 -_.x=e -_.y=0 -_.z=f -_.Q=g}, -cP:function cP(a,b,c,d,e,f,g){var _=this -_.a=a -_.b=b -_.c=c -_.d=d -_.e=e -_.f=f -_.r=g}, -cQ:function cQ(a,b,c,d){var _=this -_.a=a -_.b=b -_.c=c -_.d=d}, -eV(a,b,c){var s=new A.ci(a,c,b),r=a.f -if(r<=0||r>255)A.P(A.ar("Invalid key ring size")) -s.b=t.bG.a(A.eR(r,null,!1,t.aF)) -return s}, -cY:function cY(a,b,c,d,e,f,g){var _=this -_.a=a -_.b=b -_.c=c -_.d=d -_.e=e -_.f=f -_.r=g}, -c9:function c9(a,b,c,d){var _=this -_.a=a -_.c=b -_.d=c -_.e=null -_.f=d}, -aQ:function aQ(a,b){this.a=a -this.b=b}, -ci:function ci(a,b,c){var _=this -_.a=0 -_.b=$ -_.c=!1 -_.d=a -_.e=b -_.f=c -_.r=0}, -d6:function d6(){var _=this -_.a=0 -_.b=null -_.d=_.c=0}, -fJ(a,b,c){var s,r,q=null,p=A.cV($.aJ,new A.dV(b),t.j) -if(p==null){$.y().j(B.e,"creating new cryptor for "+a+", trackId "+b,q,q) -s=t.m.a(v.G.self) -r=t.S -p=new A.ae(A.bh(r,r),a,b,c.J(a),B.l,s,new A.d6()) -B.d.u($.aJ,p)}else if(a!==p.b){s=c.J(a) -if(p.x!==B.j){$.y().j(B.e,"setParticipantId: lastError != CryptorError.kOk, reset state to kNew",q,q) -p.x=B.l}p.b=a -p.e=s -p.Q.b_()}return p}, -j9(a){var s=A.cV($.aJ,new A.ec(a),t.j) -if(s!=null)s.b=null}, -ez(){var s=0,r=A.K(t.H),q,p,o -var $async$ez=A.M(function(a,b){if(a===1)return A.H(b,r) -while(true)switch(s){case 0:o=$.cG() -if(o.b!=null)A.P(A.bv('Please set "hierarchicalLoggingEnabled" to true if you want to change the level on a non-root logger.')) -J.eC(o.c,B.f) -o.c=B.f -o.aM().bM(new A.e0()) -o=$.y() -o.j(B.e,"Worker created",null,null) -q=v.G -p=t.m -if("RTCTransformEvent" in p.a(q.self)){o.j(B.e,"setup RTCTransformEvent event handler",null,null) -p.a(q.self).onrtctransform=A.fr(new A.e1())}p.a(q.self).onmessage=A.fr(new A.e2(new A.e3())) -return A.I(null,r)}}) -return A.J($async$ez,r)}, -dV:function dV(a){this.a=a}, -ec:function ec(a){this.a=a}, -e0:function e0(){}, -e1:function e1(){}, -e3:function e3(){}, -e4:function e4(a){this.a=a}, -e5:function e5(a){this.a=a}, -e6:function e6(a){this.a=a}, -e7:function e7(a){this.a=a}, -e2:function e2(a){this.a=a}, -j5(a){if(typeof dartPrint=="function"){dartPrint(a) -return}if(typeof console=="object"&&typeof console.log!="undefined"){console.log(a) -return}if(typeof print=="function"){print(a) -return}throw"Unable to print message: "+String(a)}, -ap(a){throw A.A(A.hh(a),new Error())}, -j7(a){throw A.A(new A.be("Field '"+a+"' has been assigned during initialization."),new Error())}, -cV(a,b,c){var s,r,q -for(s=a.length,r=0;r").a(b) -a.$flags&1&&A.Q(a,"addAll",2) -for(s=b.gA(b);s.p();)a.push(s.gn())}, -R(a,b,c){var s=A.aa(a) -return new A.a5(a,s.l(c).h("1(2)").a(b),s.h("@<1>").l(c).h("a5<1,2>"))}, -O(a,b){if(!(b>=0&&b"))}, -gt(a){return A.br(a)}, -gm(a){return a.length}, -i(a,b){A.o(b) -if(!(b>=0&&b=0&&b=p){r.d=null -return!1}r.d=q[s] -r.c=s+1 -return!0}, -$iY:1} -J.c7.prototype={ -bW(a){var s -if(a>=-2147483648&&a<=2147483647)return a|0 -if(isFinite(a)){s=a<0?Math.ceil(a):Math.floor(a) -return s+0}throw A.b(A.bv(""+a+".toInt()"))}, -bX(a,b){var s,r,q,p,o -if(b<2||b>36)throw A.b(A.a6(b,2,36,"radix",null)) -s=a.toString(b) -r=s.length -q=r-1 -if(!(q>=0))return A.c(s,q) -if(s.charCodeAt(q)!==41)return s -p=/^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(s) -if(p==null)A.P(A.bv("Unexpected toString result: "+s)) -r=p.length -if(1>=r)return A.c(p,1) -s=p[1] -if(3>=r)return A.c(p,3) -o=+p[3] -r=p[2] -if(r!=null){s+=r -o-=r.length}return s+B.k.aw("0",o)}, -k(a){if(a===0&&1/a<0)return"-0.0" -else return""+a}, -gt(a){var s,r,q,p,o=a|0 -if(a===o)return o&536870911 -s=Math.abs(a) -r=Math.log(s)/0.6931471805599453|0 -q=Math.pow(2,r) -p=s<1?s/q:q/s -return((p*9007199254740992|0)+(p*3542243181176521|0))*599197+r*1259&536870911}, -av(a,b){var s=a%b -if(s===0)return 0 -if(s>0)return s -return s+b}, -bv(a,b){return(a|0)===a?a/b|0:this.bw(a,b)}, -bw(a,b){var s=a/b -if(s>=-2147483648&&s<=2147483647)return s|0 -if(s>0){if(s!==1/0)return Math.floor(s)}else if(s>-1/0)return Math.ceil(s) -throw A.b(A.bv("Result of truncating division is "+A.d(s)+": "+A.d(a)+" ~/ "+b))}, -a2(a,b){var s -if(a>0)s=this.bt(a,b) -else{s=b>31?31:b -s=a>>s>>>0}return s}, -bt(a,b){return b>31?0:a>>>b}, -gq(a){return A.am(t.p)}, -$ij:1, -$iaI:1} -J.bb.prototype={ -gq(a){return A.am(t.S)}, -$in:1, -$ia:1} -J.c6.prototype={ -gq(a){return A.am(t.i)}, -$in:1} -J.aN.prototype={ -bH(a,b){var s=b.length,r=a.length -if(s>r)return!1 -return b===this.aC(a,r-s)}, -b8(a,b){var s=b.length -if(s>a.length)return!1 -return b===a.substring(0,s)}, -X(a,b,c){return a.substring(b,A.f_(b,c,a.length))}, -aC(a,b){return this.X(a,b,null)}, -aw(a,b){var s,r -if(0>=b)return"" -if(b===1||a.length===0)return a -if(b!==b>>>0)throw A.b(B.H) -for(s=a,r="";!0;){if((b&1)===1)r=s+r -b=b>>>1 -if(b===0)break -s+=s}return r}, -bK(a,b){var s=a.length,r=b.length -if(s+r>s)s-=r -return a.lastIndexOf(b,s)}, -k(a){return a}, -gt(a){var s,r,q -for(s=a.length,r=0,q=0;q>6}r=r+((r&67108863)<<3)&536870911 -r^=r>>11 -return r+((r&16383)<<15)&536870911}, -gq(a){return A.am(t.N)}, -gm(a){return a.length}, -i(a,b){A.o(b) -if(!(b.bZ(0,0)&&b.c_(0,a.length)))throw A.b(A.cD(a,b)) -return a[b]}, -$in:1, -$ieW:1, -$ia_:1} -A.aX.prototype={ -u(a,b){var s,r,q,p,o,n,m,l=this -t.L.a(b) -s=b.length -if(s===0)return -r=l.a+s -q=l.b -p=q.length -if(p>>2 -n|=n>>>4 -n|=n>>>8 -o=((n|n>>>16)>>>0)+1}m=new Uint8Array(o) -B.c.aA(m,0,p,q) -l.b=m -q=m}B.c.aA(q,l.a,r,b) -l.a=r}, -ar(){var s=this -if(s.a===0)return $.cH() -return new Uint8Array(A.ak(J.eG(B.c.gH(s.b),s.b.byteOffset,s.a)))}, -gm(a){return this.a}, -$ih5:1} -A.be.prototype={ -k(a){return"LateInitializationError: "+this.a}} -A.d5.prototype={} -A.f.prototype={} -A.a3.prototype={ -gA(a){var s=this -return new A.au(s,s.gm(s),A.C(s).h("au"))}, -R(a,b,c){var s=A.C(this) -return new A.a5(this,s.l(c).h("1(a3.E)").a(b),s.h("@").l(c).h("a5<1,2>"))}} -A.au.prototype={ -gn(){var s=this.d -return s==null?this.$ti.c.a(s):s}, -p(){var s,r=this,q=r.a,p=J.cE(q),o=p.gm(q) -if(r.b!==o)throw A.b(A.b8(q)) -s=r.c -if(s>=o){r.d=null -return!1}r.d=p.O(q,s);++r.c -return!0}, -$iY:1} -A.a4.prototype={ -gA(a){var s=this.a -return new A.bj(s.gA(s),this.b,A.C(this).h("bj<1,2>"))}, -gm(a){var s=this.a -return s.gm(s)}} -A.b9.prototype={$if:1} -A.bj.prototype={ -p(){var s=this,r=s.b -if(r.p()){s.a=s.c.$1(r.gn()) -return!0}s.a=null -return!1}, -gn(){var s=this.a -return s==null?this.$ti.y[1].a(s):s}, -$iY:1} -A.a5.prototype={ -gm(a){return J.ef(this.a)}, -O(a,b){return this.b.$1(J.h1(this.a,b))}} -A.ay.prototype={ -gA(a){return new A.bw(J.ee(this.a),this.b,this.$ti.h("bw<1>"))}, -R(a,b,c){var s=this.$ti -return new A.a4(this,s.l(c).h("1(2)").a(b),s.h("@<1>").l(c).h("a4<1,2>"))}} -A.bw.prototype={ -p(){var s,r -for(s=this.a,r=this.b;s.p();)if(r.$1(s.gn()))return!0 -return!1}, -gn(){return this.a.gn()}, -$iY:1} -A.D.prototype={} -A.da.prototype={ -C(a){var s,r,q=this,p=new RegExp(q.a).exec(a) -if(p==null)return null -s=Object.create(null) -r=q.b -if(r!==-1)s.arguments=p[r+1] -r=q.c -if(r!==-1)s.argumentsExpr=p[r+1] -r=q.d -if(r!==-1)s.expr=p[r+1] -r=q.e -if(r!==-1)s.method=p[r+1] -r=q.f -if(r!==-1)s.receiver=p[r+1] -return s}} -A.bq.prototype={ -k(a){return"Null check operator used on a null value"}} -A.c8.prototype={ -k(a){var s,r=this,q="NoSuchMethodError: method not found: '",p=r.b -if(p==null)return"NoSuchMethodError: "+r.a -s=r.c -if(s==null)return q+p+"' ("+r.a+")" -return q+p+"' on '"+s+"' ("+r.a+")"}} -A.cq.prototype={ -k(a){var s=this.a -return s.length===0?"Error":"Error: "+s}} -A.d3.prototype={ -k(a){return"Throw of null ('"+(this.a===null?"null":"undefined")+"' from JavaScript)"}} -A.ba.prototype={} -A.bJ.prototype={ -k(a){var s,r=this.b -if(r!=null)return r -r=this.a -s=r!==null&&typeof r==="object"?r.stack:null -return this.b=s==null?"":s}, -$iV:1} -A.ad.prototype={ -k(a){var s=this.constructor,r=s==null?null:s.name -return"Closure '"+A.fN(r==null?"unknown":r)+"'"}, -$ias:1, -gbY(){return this}, -$C:"$1", -$R:1, -$D:null} -A.bY.prototype={$C:"$0",$R:0} -A.bZ.prototype={$C:"$2",$R:2} -A.cn.prototype={} -A.cl.prototype={ -k(a){var s=this.$static_name -if(s==null)return"Closure of unknown static method" -return"Closure '"+A.fN(s)+"'"}} -A.aL.prototype={ -F(a,b){if(b==null)return!1 -if(this===b)return!0 -if(!(b instanceof A.aL))return!1 -return this.$_target===b.$_target&&this.a===b.a}, -gt(a){return(A.e9(this.a)^A.br(this.$_target))>>>0}, -k(a){return"Closure '"+this.$_name+"' of "+("Instance of '"+A.d4(this.a)+"'")}} -A.ck.prototype={ -k(a){return"RuntimeError: "+this.a}} -A.at.prototype={ -gm(a){return this.a}, -ga6(){return new A.bg(this,this.$ti.h("bg<1>"))}, -a4(a){var s=this.b -if(s==null)return!1 -return s[a]!=null}, -i(a,b){var s,r,q,p,o=null -if(typeof b=="string"){s=this.b -if(s==null)return o -r=s[b] -q=r==null?o:r.b -return q}else if(typeof b=="number"&&(b&0x3fffffff)===b){p=this.c -if(p==null)return o -r=p[b] -q=r==null?o:r.b -return q}else return this.bJ(b)}, -bJ(a){var s,r,q=this.d -if(q==null)return null -s=q[J.cI(a)&1073741823] -r=this.aW(s,a) -if(r<0)return null -return s[r].b}, -v(a,b,c){var s,r,q,p,o,n,m=this,l=m.$ti -l.c.a(b) -l.y[1].a(c) -if(typeof b=="string"){s=m.b -m.aD(s==null?m.b=m.af():s,b,c)}else if(typeof b=="number"&&(b&0x3fffffff)===b){r=m.c -m.aD(r==null?m.c=m.af():r,b,c)}else{q=m.d -if(q==null)q=m.d=m.af() -p=J.cI(b)&1073741823 -o=q[p] -if(o==null)q[p]=[m.ag(b,c)] -else{n=m.aW(o,b) -if(n>=0)o[n].b=c -else o.push(m.ag(b,c))}}}, -bP(a,b){var s,r,q=this,p=q.$ti -p.c.a(a) -p.h("2()").a(b) -if(q.a4(a)){s=q.i(0,a) -return s==null?p.y[1].a(s):s}r=b.$0() -q.v(0,a,r) -return r}, -bS(a,b){var s=this.bq(this.b,b) -return s}, -an(a,b){var s,r,q=this -q.$ti.h("~(1,2)").a(b) -s=q.e -r=q.r -for(;s!=null;){b.$2(s.a,s.b) -if(r!==q.r)throw A.b(A.b8(q)) -s=s.c}}, -aD(a,b,c){var s,r=this.$ti -r.c.a(b) -r.y[1].a(c) -s=a[b] -if(s==null)a[b]=this.ag(b,c) -else s.b=c}, -bq(a,b){var s -if(a==null)return null -s=a[b] -if(s==null)return null -this.bx(s) -delete a[b] -return s.b}, -aN(){this.r=this.r+1&1073741823}, -ag(a,b){var s=this,r=s.$ti,q=new A.cZ(r.c.a(a),r.y[1].a(b)) -if(s.e==null)s.e=s.f=q -else{r=s.f -r.toString -q.d=r -s.f=r.c=q}++s.a -s.aN() -return q}, -bx(a){var s=this,r=a.d,q=a.c -if(r==null)s.e=q -else r.c=q -if(q==null)s.f=r -else q.d=r;--s.a -s.aN()}, -aW(a,b){var s,r -if(a==null)return-1 -s=a.length -for(r=0;r"]=s -delete s[""] -return s}, -$ieP:1} -A.cZ.prototype={} -A.bg.prototype={ -gm(a){return this.a.a}, -gA(a){var s=this.a -return new A.bf(s,s.r,s.e,this.$ti.h("bf<1>"))}} -A.bf.prototype={ -gn(){return this.d}, -p(){var s,r=this,q=r.a -if(r.b!==q.r)throw A.b(A.b8(q)) -s=r.c -if(s==null){r.d=null -return!1}else{r.d=s.a -r.c=s.c -return!0}}, -$iY:1} -A.dW.prototype={ -$1(a){return this.a(a)}, -$S:11} -A.dX.prototype={ -$2(a,b){return this.a(a,b)}, -$S:12} -A.dY.prototype={ -$1(a){return this.a(A.i(a))}, -$S:13} -A.aS.prototype={ -gq(a){return B.M}, -a3(a,b,c){return c==null?new Uint8Array(a,b):new Uint8Array(a,b,c)}, -aR(a){return this.a3(a,0,null)}, -$in:1, -$iaS:1, -$ibX:1} -A.bn.prototype={ -gH(a){if(((a.$flags|0)&2)!==0)return new A.cA(a.buffer) -else return a.buffer}, -bn(a,b,c,d){var s=A.a6(b,0,c,d,null) -throw A.b(s)}, -aI(a,b,c,d){if(b>>>0!==b||b>c)this.bn(a,b,c,d)}} -A.cA.prototype={ -a3(a,b,c){var s=A.Z(this.a,b,c) -s.$flags=3 -return s}, -aR(a){return this.a3(0,0,null)}, -$ibX:1} -A.bk.prototype={ -gq(a){return B.N}, -bs(a,b,c){return a.setInt8(b,c)}, -$in:1, -$iej:1} -A.B.prototype={ -gm(a){return a.length}, -$iF:1} -A.bl.prototype={ -i(a,b){A.o(b) -A.aD(b,a,a.length) -return a[b]}, -$if:1, -$ie:1, -$im:1} -A.bm.prototype={ -aA(a,b,c,d){var s,r,q,p -t.e.a(d) -a.$flags&2&&A.Q(a,5) -s=a.length -this.aI(a,b,s,"start") -this.aI(a,c,s,"end") -if(b>c)A.P(A.a6(b,0,c,null,null)) -r=c-b -q=d.length -if(q").b(a))s.aH(a) -else s.aJ(a)}}, -al(a,b){var s=this.a -if(this.b)s.Z(new A.E(a,b)) -else s.aa(new A.E(a,b))}} -A.dK.prototype={ -$1(a){return this.a.$2(0,a)}, -$S:2} -A.dL.prototype={ -$2(a,b){this.a.$2(1,new A.ba(a,t.l.a(b)))}, -$S:15} -A.dO.prototype={ -$2(a,b){this.a(A.o(a),b)}, -$S:16} -A.E.prototype={ -k(a){return A.d(this.a)}, -$it:1, -gL(){return this.b}} -A.aW.prototype={} -A.ah.prototype={ -ah(){}, -ai(){}, -sa_(a){this.ch=this.$ti.h("ah<1>?").a(a)}, -saj(a){this.CW=this.$ti.h("ah<1>?").a(a)}} -A.az.prototype={ -gae(){return this.c<4}, -bu(a,b,c,d){var s,r,q,p,o,n,m=this,l=A.C(m) -l.h("~(1)?").a(a) -t.Y.a(c) -if((m.c&4)!==0){l=new A.aY($.q,l.h("aY<1>")) -A.fM(l.gbo()) -if(c!=null)l.c=t.M.a(c) -return l}s=$.q -r=d?1:0 -q=b!=null?32:0 -t.h.l(l.c).h("1(2)").a(a) -A.hJ(s,b) -p=c==null?A.iN():c -t.M.a(p) -l=l.h("ah<1>") -o=new A.ah(m,a,s,r|q,l) -o.CW=o -o.ch=o -l.a(o) -o.ay=m.c&1 -n=m.e -m.e=o -o.sa_(null) -o.saj(n) -if(n==null)m.d=o -else n.sa_(o) -if(m.d==m.e)A.fB(m.a) -return o}, -a7(){if((this.c&4)!==0)return new A.ax("Cannot add new events after calling close") -return new A.ax("Cannot add new events while doing an addStream")}, -bl(a){var s,r,q,p,o,n=this,m=A.C(n) -m.h("~(a9<1>)").a(a) -s=n.c -if((s&2)!==0)throw A.b(A.d7(u.o)) -r=n.d -if(r==null)return -q=s&1 -n.c=s^3 -for(m=m.h("ah<1>");r!=null;){s=r.ay -if((s&1)===q){r.ay=s|2 -a.$1(r) -s=r.ay^=1 -p=r.ch -if((s&4)!==0){m.a(r) -o=r.CW -if(o==null)n.d=p -else o.sa_(p) -if(p==null)n.e=o -else p.saj(o) -r.saj(r) -r.sa_(r)}r.ay&=4294967293 -r=p}else r=r.ch}n.c&=4294967293 -if(n.d==null)n.aG()}, -aG(){if((this.c&4)!==0)if(null.gc0())null.a9(null) -A.fB(this.b)}, -$if2:1, -$ifg:1, -$iai:1} -A.bK.prototype={ -gae(){return A.az.prototype.gae.call(this)&&(this.c&2)===0}, -a7(){if((this.c&2)!==0)return new A.ax(u.o) -return this.ba()}, -a1(a){var s,r=this -r.$ti.c.a(a) -s=r.d -if(s==null)return -if(s===r.e){r.c|=2 -s.aE(a) -r.c&=4294967293 -if(r.d==null)r.aG() -return}r.bl(new A.dC(r,a))}} -A.dC.prototype={ -$1(a){this.a.$ti.h("a9<1>").a(a).aE(this.b)}, -$S(){return this.a.$ti.h("~(a9<1>)")}} -A.ct.prototype={ -al(a,b){var s=this.a -if((s.a&30)!==0)throw A.b(A.d7("Future already completed")) -s.aa(A.ij(a,b))}, -aT(a){return this.al(a,null)}} -A.bx.prototype={ -ak(a){var s,r=this.$ti -r.h("1/?").a(a) -s=this.a -if((s.a&30)!==0)throw A.b(A.d7("Future already completed")) -s.a9(r.h("1/").a(a))}} -A.aA.prototype={ -bN(a){if((this.c&15)!==6)return!0 -return this.b.b.aq(t.c1.a(this.d),a.a,t.y,t.K)}, -bI(a){var s,r=this,q=r.e,p=null,o=t.z,n=t.K,m=a.a,l=r.b.b -if(t.Q.b(q))p=l.bU(q,m,a.b,o,n,t.l) -else p=l.aq(t.v.a(q),m,o,n) -try{o=r.$ti.h("2/").a(p) -return o}catch(s){if(t.b7.b(A.W(s))){if((r.c&1)!==0)throw A.b(A.ac("The error handler of Future.then must return a value of the returned future's type","onError")) -throw A.b(A.ac("The error handler of Future.catchError must return a value of the future's type","onError"))}else throw s}}} -A.v.prototype={ -b1(a,b,c){var s,r,q=this.$ti -q.l(c).h("1/(2)").a(a) -s=$.q -if(s===B.h){if(!t.Q.b(b)&&!t.v.b(b))throw A.b(A.eh(b,"onError",u.c))}else{c.h("@<0/>").l(q.c).h("1(2)").a(a) -b=A.iA(b,s)}r=new A.v(s,c.h("v<0>")) -this.a8(new A.aA(r,3,a,b,q.h("@<1>").l(c).h("aA<1,2>"))) -return r}, -aQ(a,b,c){var s,r=this.$ti -r.l(c).h("1/(2)").a(a) -s=new A.v($.q,c.h("v<0>")) -this.a8(new A.aA(s,19,a,b,r.h("@<1>").l(c).h("aA<1,2>"))) -return s}, -br(a){this.a=this.a&1|16 -this.c=a}, -Y(a){this.a=a.a&30|this.a&1 -this.c=a.c}, -a8(a){var s,r=this,q=r.a -if(q<=3){a.a=t.F.a(r.c) -r.c=a}else{if((q&4)!==0){s=t._.a(r.c) -if((s.a&24)===0){s.a8(a) -return}r.Y(s)}A.b1(null,null,r.b,t.M.a(new A.dn(r,a)))}}, -aO(a){var s,r,q,p,o,n,m=this,l={} -l.a=a -if(a==null)return -s=m.a -if(s<=3){r=t.F.a(m.c) -m.c=a -if(r!=null){q=a.a -for(p=a;q!=null;p=q,q=o)o=q.a -p.a=r}}else{if((s&4)!==0){n=t._.a(m.c) -if((n.a&24)===0){n.aO(a) -return}m.Y(n)}l.a=m.a0(a) -A.b1(null,null,m.b,t.M.a(new A.ds(l,m)))}}, -M(){var s=t.F.a(this.c) -this.c=null -return this.a0(s)}, -a0(a){var s,r,q -for(s=a,r=null;s!=null;r=s,s=q){q=s.a -s.a=r}return r}, -aJ(a){var s,r=this -r.$ti.c.a(a) -s=r.M() -r.a=8 -r.c=a -A.aB(r,s)}, -bi(a){var s,r,q=this -if((a.a&16)!==0){s=q.b===a.b -s=!(s||s)}else s=!1 -if(s)return -r=q.M() -q.Y(a) -A.aB(q,r)}, -Z(a){var s=this.M() -this.br(a) -A.aB(this,s)}, -bh(a,b){t.K.a(a) -t.l.a(b) -this.Z(new A.E(a,b))}, -a9(a){var s=this.$ti -s.h("1/").a(a) -if(s.h("T<1>").b(a)){this.aH(a) -return}this.be(a)}, -be(a){var s=this -s.$ti.c.a(a) -s.a^=2 -A.b1(null,null,s.b,t.M.a(new A.dq(s,a)))}, -aH(a){A.en(this.$ti.h("T<1>").a(a),this,!1) -return}, -aa(a){this.a^=2 -A.b1(null,null,this.b,t.M.a(new A.dp(this,a)))}, -$iT:1} -A.dn.prototype={ -$0(){A.aB(this.a,this.b)}, -$S:0} -A.ds.prototype={ -$0(){A.aB(this.b,this.a.a)}, -$S:0} -A.dr.prototype={ -$0(){A.en(this.a.a,this.b,!0)}, -$S:0} -A.dq.prototype={ -$0(){this.a.aJ(this.b)}, -$S:0} -A.dp.prototype={ -$0(){this.a.Z(this.b)}, -$S:0} -A.dv.prototype={ -$0(){var s,r,q,p,o,n,m,l,k=this,j=null -try{q=k.a.a -j=q.b.b.bT(t.bd.a(q.d),t.z)}catch(p){s=A.W(p) -r=A.an(p) -if(k.c&&t.n.a(k.b.a.c).a===s){q=k.a -q.c=t.n.a(k.b.a.c)}else{q=s -o=r -if(o==null)o=A.ei(q) -n=k.a -n.c=new A.E(q,o) -q=n}q.b=!0 -return}if(j instanceof A.v&&(j.a&24)!==0){if((j.a&16)!==0){q=k.a -q.c=t.n.a(j.c) -q.b=!0}return}if(j instanceof A.v){m=k.b.a -l=new A.v(m.b,m.$ti) -j.b1(new A.dw(l,m),new A.dx(l),t.H) -q=k.a -q.c=l -q.b=!1}}, -$S:0} -A.dw.prototype={ -$1(a){this.a.bi(this.b)}, -$S:4} -A.dx.prototype={ -$2(a,b){t.K.a(a) -t.l.a(b) -this.a.Z(new A.E(a,b))}, -$S:17} -A.du.prototype={ -$0(){var s,r,q,p,o,n,m,l -try{q=this.a -p=q.a -o=p.$ti -n=o.c -m=n.a(this.b) -q.c=p.b.b.aq(o.h("2/(1)").a(p.d),m,o.h("2/"),n)}catch(l){s=A.W(l) -r=A.an(l) -q=s -p=r -if(p==null)p=A.ei(q) -o=this.a -o.c=new A.E(q,p) -o.b=!0}}, -$S:0} -A.dt.prototype={ -$0(){var s,r,q,p,o,n,m,l=this -try{s=t.n.a(l.a.a.c) -p=l.b -if(p.a.bN(s)&&p.a.e!=null){p.c=p.a.bI(s) -p.b=!1}}catch(o){r=A.W(o) -q=A.an(o) -p=t.n.a(l.a.a.c) -if(p.a===r){n=l.b -n.c=p -p=n}else{p=r -n=q -if(n==null)n=A.ei(p) -m=l.b -m.c=new A.E(p,n) -p=m}p.b=!0}}, -$S:0} -A.cs.prototype={} -A.aU.prototype={ -gm(a){var s={},r=new A.v($.q,t.a) -s.a=0 -this.aX(new A.d8(s,this),!0,new A.d9(s,r),r.gbg()) -return r}} -A.d8.prototype={ -$1(a){this.b.$ti.c.a(a);++this.a.a}, -$S(){return this.b.$ti.h("~(1)")}} -A.d9.prototype={ -$0(){var s=this.b,r=s.$ti,q=r.h("1/").a(this.a.a),p=s.M() -r.c.a(q) -s.a=8 -s.c=q -A.aB(s,p)}, -$S:0} -A.by.prototype={ -gt(a){return(A.br(this.a)^892482866)>>>0}, -F(a,b){if(b==null)return!1 -if(this===b)return!0 -return b instanceof A.aW&&b.a===this.a}} -A.bz.prototype={ -ah(){A.C(this.w).h("aV<1>").a(this)}, -ai(){A.C(this.w).h("aV<1>").a(this)}} -A.a9.prototype={ -aE(a){var s,r=this,q=A.C(r) -q.c.a(a) -s=r.e -if((s&8)!==0)return -if(s<64)r.a1(a) -else r.bd(new A.bA(a,q.h("bA<1>")))}, -ah(){}, -ai(){}, -bd(a){var s,r,q=this,p=q.r -if(p==null)p=q.r=new A.cw(A.C(q).h("cw<1>")) -s=p.c -if(s==null)p.b=p.c=a -else p.c=s.a=a -r=q.e -if((r&128)===0){r|=128 -q.e=r -if(r<256)p.az(q)}}, -a1(a){var s,r=this,q=A.C(r).c -q.a(a) -s=r.e -r.e=s|64 -r.d.bV(r.a,a,q) -r.e&=4294967231 -r.bf((s&4)!==0)}, -bf(a){var s,r,q=this,p=q.e -if((p&128)!==0&&q.r.c==null){p=q.e=p&4294967167 -s=!1 -if((p&4)!==0)if(p<256){s=q.r -s=s==null?null:s.c==null -s=s!==!1}if(s){p&=4294967291 -q.e=p}}for(;!0;a=r){if((p&8)!==0){q.r=null -return}r=(p&4)!==0 -if(a===r)break -q.e=p^64 -if(r)q.ah() -else q.ai() -p=q.e&=4294967231}if((p&128)!==0&&p<256)q.r.az(q)}, -$iaV:1, -$iai:1} -A.b_.prototype={ -aX(a,b,c,d){var s=this.$ti -s.h("~(1)?").a(a) -t.Y.a(c) -return this.a.bu(s.h("~(1)?").a(a),d,c,b===!0)}, -bM(a){return this.aX(a,null,null,null)}} -A.bB.prototype={} -A.bA.prototype={} -A.cw.prototype={ -az(a){var s,r=this -r.$ti.h("ai<1>").a(a) -s=r.a -if(s===1)return -if(s>=1){r.a=1 -return}A.fM(new A.dA(r,a)) -r.a=1}} -A.dA.prototype={ -$0(){var s,r,q,p=this.a,o=p.a -p.a=0 -if(o===3)return -s=p.$ti.h("ai<1>").a(this.b) -r=p.b -q=r.a -p.b=q -if(q==null)p.c=null -A.C(r).h("ai<1>").a(s).a1(r.b)}, -$S:0} -A.aY.prototype={ -bp(){var s,r=this,q=r.a-1 -if(q===0){r.a=-1 -s=r.c -if(s!=null){r.c=null -r.b.b0(s)}}else r.a=q}, -$iaV:1} -A.cy.prototype={} -A.bP.prototype={$if7:1} -A.dN.prototype={ -$0(){A.hd(this.a,this.b)}, -$S:0} -A.cx.prototype={ -b0(a){var s,r,q -t.M.a(a) -try{if(B.h===$.q){a.$0() -return}A.fy(null,null,this,a,t.H)}catch(q){s=A.W(q) -r=A.an(q) -A.cC(t.K.a(s),t.l.a(r))}}, -bV(a,b,c){var s,r,q -c.h("~(0)").a(a) -c.a(b) -try{if(B.h===$.q){a.$1(b) -return}A.fz(null,null,this,a,b,t.H,c)}catch(q){s=A.W(q) -r=A.an(q) -A.cC(t.K.a(s),t.l.a(r))}}, -aS(a){return new A.dB(this,t.M.a(a))}, -i(a,b){return null}, -bT(a,b){b.h("0()").a(a) -if($.q===B.h)return a.$0() -return A.fy(null,null,this,a,b)}, -aq(a,b,c,d){c.h("@<0>").l(d).h("1(2)").a(a) -d.a(b) -if($.q===B.h)return a.$1(b) -return A.fz(null,null,this,a,b,c,d)}, -bU(a,b,c,d,e,f){d.h("@<0>").l(e).l(f).h("1(2,3)").a(a) -e.a(b) -f.a(c) -if($.q===B.h)return a.$2(b,c) -return A.iB(null,null,this,a,b,c,d,e,f)}, -ap(a,b,c,d){return b.h("@<0>").l(c).l(d).h("1(2,3)").a(a)}} -A.dB.prototype={ -$0(){return this.a.b0(this.b)}, -$S:0} -A.bC.prototype={ -gm(a){return this.a}, -ga6(){return new A.bD(this,this.$ti.h("bD<1>"))}, -a4(a){var s,r -if(typeof a=="string"&&a!=="__proto__"){s=this.b -return s==null?!1:s[a]!=null}else if(typeof a=="number"&&(a&1073741823)===a){r=this.c -return r==null?!1:r[a]!=null}else return this.bj(a)}, -bj(a){var s=this.d -if(s==null)return!1 -return this.ad(this.aL(s,a),a)>=0}, -i(a,b){var s,r,q -if(typeof b=="string"&&b!=="__proto__"){s=this.b -r=s==null?null:A.fa(s,b) -return r}else if(typeof b=="number"&&(b&1073741823)===b){q=this.c -r=q==null?null:A.fa(q,b) -return r}else return this.bm(b)}, -bm(a){var s,r,q=this.d -if(q==null)return null -s=this.aL(q,a) -r=this.ad(s,a) -return r<0?null:s[r+1]}, -v(a,b,c){var s,r,q,p,o,n,m=this,l=m.$ti -l.c.a(b) -l.y[1].a(c) -if(typeof b=="string"&&b!=="__proto__"){s=m.b -m.aF(s==null?m.b=A.eo():s,b,c)}else if(typeof b=="number"&&(b&1073741823)===b){r=m.c -m.aF(r==null?m.c=A.eo():r,b,c)}else{q=m.d -if(q==null)q=m.d=A.eo() -p=A.e9(b)&1073741823 -o=q[p] -if(o==null){A.ep(q,p,[b,c]);++m.a -m.e=null}else{n=m.ad(o,b) -if(n>=0)o[n+1]=c -else{o.push(b,c);++m.a -m.e=null}}}}, -an(a,b){var s,r,q,p,o,n,m=this,l=m.$ti -l.h("~(1,2)").a(b) -s=m.aK() -for(r=s.length,q=l.c,l=l.y[1],p=0;p"))}} -A.bE.prototype={ -gn(){var s=this.d -return s==null?this.$ti.c.a(s):s}, -p(){var s=this,r=s.b,q=s.c,p=s.a -if(r!==p.e)throw A.b(A.b8(p)) -else if(q>=r.length){s.d=null -return!1}else{s.d=r[q] -s.c=q+1 -return!0}}, -$iY:1} -A.r.prototype={ -gA(a){return new A.au(a,this.gm(a),A.b4(a).h("au"))}, -O(a,b){return this.i(a,b)}, -R(a,b,c){var s=A.b4(a) -return new A.a5(a,s.l(c).h("1(r.E)").a(b),s.h("@").l(c).h("a5<1,2>"))}, -k(a){return A.cW(a,"[","]")}} -A.aw.prototype={ -an(a,b){var s,r,q,p=A.C(this) -p.h("~(1,2)").a(b) -for(s=this.ga6(),s=s.gA(s),p=p.y[1];s.p();){r=s.gn() -q=this.i(0,r) -b.$2(r,q==null?p.a(q):q)}}, -gm(a){var s=this.ga6() -return s.gm(s)}, -k(a){return A.eT(this)}, -$ibi:1} -A.d1.prototype={ -$2(a,b){var s,r=this.a -if(!r.a)this.b.a+=", " -r.a=!1 -r=this.b -s=A.d(a) -r.a=(r.a+=s)+": " -s=A.d(b) -r.a+=s}, -$S:18} -A.bW.prototype={} -A.cK.prototype={ -G(a){var s -t.L.a(a) -s=a.length -if(s===0)return"" -s=new A.dk("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").bE(a,0,s,!0) -s.toString -return A.hy(s)}} -A.dk.prototype={ -bE(a,b,c,d){var s,r,q,p,o -t.L.a(a) -s=this.a -r=(s&3)+(c-b) -q=B.i.bv(r,3) -p=q*4 -if(r-q*3>0)p+=4 -o=new Uint8Array(p) -this.a=A.hI(this.b,a,b,c,!0,o,0,s) -if(p>0)return o -return null}} -A.cJ.prototype={ -G(a){var s,r,q,p=A.f_(0,null,a.length) -if(0===p)return new Uint8Array(0) -s=new A.dj() -r=s.bz(a,0,p) -r.toString -q=s.a -if(q<-1)A.P(A.aM("Missing padding character",a,p)) -if(q>0)A.P(A.aM("Invalid length, must be multiple of four",a,p)) -s.a=-1 -return r}} -A.dj.prototype={ -bz(a,b,c){var s,r=this,q=r.a -if(q<0){r.a=A.f8(a,b,c,q) -return null}if(b===c)return new Uint8Array(0) -s=A.hF(a,b,c,q) -r.a=A.hH(a,b,c,s,0,r.a) -return s}} -A.aq.prototype={} -A.c0.prototype={} -A.c1.prototype={ -F(a,b){if(b==null)return!1 -return b instanceof A.c1&&this.a===b.a&&this.b===b.b&&this.c===b.c}, -gt(a){return A.hl(this.a,this.b)}, -k(a){var s=this,r=A.hb(A.ht(s)),q=A.c2(A.hr(s)),p=A.c2(A.hn(s)),o=A.c2(A.ho(s)),n=A.c2(A.hq(s)),m=A.c2(A.hs(s)),l=A.eN(A.hp(s)),k=s.b,j=k===0?"":A.eN(k) -k=r+"-"+q -if(s.c)return k+"-"+p+" "+o+":"+n+":"+m+"."+l+j+"Z" -else return k+"-"+p+" "+o+":"+n+":"+m+"."+l+j}} -A.dl.prototype={ -k(a){return this.bk()}} -A.t.prototype={ -gL(){return A.hm(this)}} -A.bU.prototype={ -k(a){var s=this.a -if(s!=null)return"Assertion failed: "+A.cL(s) -return"Assertion failed"}} -A.a7.prototype={} -A.S.prototype={ -gac(){return"Invalid argument"+(!this.a?"(s)":"")}, -gab(){return""}, -k(a){var s=this,r=s.c,q=r==null?"":" ("+r+")",p=s.d,o=p==null?"":": "+A.d(p),n=s.gac()+q+o -if(!s.a)return n -return n+s.gab()+": "+A.cL(s.gao())}, -gao(){return this.b}} -A.aT.prototype={ -gao(){return A.fo(this.b)}, -gac(){return"RangeError"}, -gab(){var s,r=this.e,q=this.f -if(r==null)s=q!=null?": Not less than or equal to "+A.d(q):"" -else if(q==null)s=": Not greater than or equal to "+A.d(r) -else if(q>r)s=": Not in inclusive range "+A.d(r)+".."+A.d(q) -else s=qf.length -if(e)g=null -if(g==null){if(f.length>78)f=B.k.X(f,0,75)+"..." -return h+"\n"+f}for(s=f.length,r=1,q=0,p=!1,o=0;o1?h+(" (at line "+r+", character "+(g-q+1)+")\n"):h+(" (at character "+(g+1)+")\n") -for(o=g;o=0))return A.c(f,o) -n=f.charCodeAt(o) -if(n===10||n===13){s=o -break}}m="" -if(s-q>78){l="..." -if(g-q<75){k=q+75 -j=q}else{if(s-g<75){j=s-75 -k=s -l=""}else{j=g-36 -k=g+36}m="..."}}else{k=s -j=q -l=""}return h+m+B.k.X(f,j,k)+l+"\n"+B.k.aw(" ",g-j+m.length)+"^\n"}} -A.e.prototype={ -R(a,b,c){var s=A.C(this) -return A.hj(this,s.l(c).h("1(e.E)").a(b),s.h("e.E"),c)}, -gm(a){var s,r=this.gA(this) -for(s=0;r.p();)++s -return s}, -O(a,b){var s,r -A.eZ(b,"index") -s=this.gA(this) -for(r=b;s.p();){if(r===0)return s.gn();--r}throw A.b(A.eO(b,b-r,this,"index"))}, -k(a){return A.he(this,"(",")")}} -A.w.prototype={ -gt(a){return A.h.prototype.gt.call(this,0)}, -k(a){return"null"}} -A.h.prototype={$ih:1, -F(a,b){return this===b}, -gt(a){return A.br(this)}, -k(a){return"Instance of '"+A.d4(this)+"'"}, -gq(a){return A.iV(this)}, -toString(){return this.k(this)}} -A.cz.prototype={ -k(a){return""}, -$iV:1} -A.cm.prototype={ -gm(a){return this.a.length}, -k(a){var s=this.a -return s.charCodeAt(0)==0?s:s}} -A.e_.prototype={ -$1(a){var s,r,q,p -if(A.fx(a))return a -s=this.a -if(s.a4(a))return s.i(0,a) -if(t.f.b(a)){r={} -s.v(0,a,r) -for(s=a.ga6(),s=s.gA(s);s.p();){q=s.gn() -r[q]=this.$1(a.i(0,q))}return r}else if(t.R.b(a)){p=[] -s.v(0,a,p) -B.d.by(p,J.h2(a,this,t.z)) -return p}else return a}, -$S:7} -A.ea.prototype={ -$1(a){return this.a.ak(this.b.h("0/?").a(a))}, -$S:2} -A.eb.prototype={ -$1(a){if(a==null)return this.a.aT(new A.d2(a===undefined)) -return this.a.aT(a)}, -$S:2} -A.dQ.prototype={ -$1(a){var s,r,q,p,o,n,m,l,k,j,i,h -if(A.fw(a))return a -s=this.a -a.toString -if(s.a4(a))return s.i(0,a) -if(a instanceof Date){r=a.getTime() -if(r<-864e13||r>864e13)A.P(A.a6(r,-864e13,864e13,"millisecondsSinceEpoch",null)) -A.dP(!0,"isUtc",t.y) -return new A.c1(r,0,!0)}if(a instanceof RegExp)throw A.b(A.ac("structured clone of RegExp",null)) -if(typeof Promise!="undefined"&&a instanceof Promise)return A.aK(a,t.X) -q=Object.getPrototypeOf(a) -if(q===Object.prototype||q===null){p=t.X -o=A.bh(p,p) -s.v(0,a,o) -n=Object.keys(a) -m=[] -for(s=J.cF(n),p=s.gA(n);p.p();)m.push(A.fG(p.gn())) -for(l=0;l4294967296)throw A.b(new A.aT(k,k,!1,k,k,"max must be in range 0 < max \u2264 2^32, was "+a)) -if(a>255)if(a>65535)s=a>16777215?4:3 -else s=2 -else s=1 -r=this.a -r.$flags&2&&A.Q(r,11) -r.setUint32(0,0,!1) -q=4-s -p=A.o(Math.pow(256,s)) -for(o=a-1,n=(a&o)===0;!0;){crypto.getRandomValues(J.eG(B.z.gH(r),q,s)) -m=r.getUint32(0,!1) -if(n)return(m&o)>>>0 -l=m%a -if(m-l+a=r.gbL().b){if(q>=2000){A.f1() -a.k(0)}q=r.gaV() -Date.now() -$.eS=$.eS+1 -s=new A.av(a,b,q) -if(r.b==null)r.aP(s) -else $.cG().aP(s)}}, -aM(){if(this.b==null){var s=this.f -if(s==null)s=this.f=new A.bK(null,null,t.W) -return new A.aW(s,A.C(s).h("aW<1>"))}else return $.cG().aM()}, -aP(a){var s=this.f -if(s!=null){A.C(s).c.a(a) -if(!s.gae())A.P(s.a7()) -s.a1(a)}return null}} -A.d0.prototype={ -$0(){var s,r,q,p=this.a -if(B.k.b8(p,"."))A.P(A.ac("name shouldn't start with a '.'",null)) -if(B.k.bH(p,"."))A.P(A.ac("name shouldn't end with a '.'",null)) -s=B.k.bK(p,".") -if(s===-1)r=p!==""?A.d_(""):null -else{r=A.d_(B.k.X(p,0,s)) -p=B.k.aC(p,s+1)}q=new A.aR(p,r,A.bh(t.N,t.I)) -if(r==null)q.c=B.e -else r.d.v(0,p,q) -return q}, -$S:19} -A.X.prototype={ -bk(){return"CryptorError."+this.b}} -A.cR.prototype={} -A.ae.prototype={ -gaU(){if(this.b==null)return!1 -return this.r}, -W(a,b,c,d,e,f,g){return this.b7(a,b,c,d,e,f,g)}, -b6(a,b,c,d,e,f){return this.W(null,a,b,c,d,e,f)}, -b7(a,b,c,d,e,f,g){var s=0,r=A.K(t.H),q,p=this,o,n,m,l,k,j,i -var $async$W=A.M(function(a0,a1){if(a0===1)return A.H(a1,r) -while(true)switch(s){case 0:i=$.y() -i.j(B.e,"setupTransform "+d+" kind "+c,null,null) -p.f=c -if(a!=null){i.j(B.e,"setting codec on cryptor to "+a,null,null) -p.d=a}if(b&&p.w){i.j(B.e,"setupTransform: transform already active, skipping setup",null,null) -s=1 -break}i=v.G.TransformStream -m=d==="encode"?A.fs(p.gbF()):A.fs(p.gbA()) -l=t.N -k=t.m -o=k.a(new i(k.a(A.k(A.l(["transform",m],l,t.g))))) -try{k.a(k.a(e.pipeThrough(o)).pipeTo(g))}catch(h){n=A.W(h) -$.y().j(B.f,"e "+J.a1(n),null,null) -if(p.x!==B.q){p.x=B.q -p.z.postMessage(A.k(A.l(["type","cryptorState","msgType","event","participantId",p.b,"state","internalError","error","Internal error: "+J.a1(n)],l,t.T)))}}p.w=!0 -p.c=f -case 1:return A.I(q,r)}}) -return A.J($async$W,r)}, -au(a,b){var s,r,q,p,o,n,m=null,l=new Uint8Array(0),k="" -l=A.Z(t.o.a(a.data),0,m) -if("type" in a){k=A.i(a.type) -$.y().j(B.b,"frameType: "+k,m,m)}if(b!=null&&b.toLowerCase()==="h264"){s=A.iT(l) -for(r=s.length,q=l.length,p=0;pa2){a3=B.c.B(a8.d,a8.d.length-a1,a8.d.length) -b.j(B.b,"magicBytesBuffer "+A.d(a3)+", magicBytes "+A.d(a),null,null) -a0=n.Q -if(A.cW(a3,"[","]")===A.cW(a,"[","]")){++a0.a -if(a0.b==null)a0.b=Date.now() -a0.c=Date.now() -if(a0.a<100)if(a0.b!=null){a7=Date.now() -a0=a0.b -a0.toString -a0=a7-a0<2000 -a7=a0}else a7=!0 -else a7=!1 -if(a7){a7=B.c.aB(a8.d,a8.d.length-1) -if(0>=a7.length){q=A.c(a7,0) -s=1 -break}b.j(B.b,"encodeFunction: skip unencrypted frame, type "+a7[0],null,null) -e=new A.aX($.cH()) -e.u(0,new Uint8Array(A.ak(B.c.B(a8.d,0,a8.d.length-a2)))) -b.j(B.p,"encodeFunction: enqueing silent frame",null,null) -n.am(b1,b2,e) -s=1 -break}else{b.j(B.p,"encodeFunction: SIF limit reached, dropping frame",null,null) -s=1 -break}}else a0.aZ()}}p=4 -a={} -a0=n.f -a0===$&&A.ap("kind") -m=a0==="video"?n.au(b1,n.d):1 -l=B.c.aB(a8.d,a8.d.length-2) -k=J.eD(l,0) -j=J.eD(l,1) -a1=a8.d -a2=a8.d -a4=k -if(typeof a4!=="number"){q=A.iX(a4) -s=1 -break}i=B.c.B(a1,a2.length-a4-2,a8.d.length-2) -a5=a7.b=n.e.U(j) -a7.d=j -b.j(B.b,"decodeFunction: start decrypting frame headerLength "+A.d(m)+" "+a8.d.length+" frameTrailer "+A.d(l)+", ivLength "+A.d(k)+", keyIndex "+A.d(j)+", iv "+A.d(i),null,null) -if(a5==null||!n.e.c){if(n.x!==B.o){n.x=B.o -a7=n.b -b=n.c -n.z.postMessage(A.k(A.l(["type","cryptorState","msgType","event","participantId",a7,"trackId",b,"kind",n.f,"state","missingKey","error","Missing key for track "+b],t.N,t.T)))}s=1 -break}a.a=a5 -h=new A.cP(a7,a,n,i,a8,m,k) -g=new A.cQ(a7,a,n,h) -p=8 -s=11 -return A.u(h.$0(),$async$N) -case 11:p=4 -s=10 -break -case 8:p=7 -a9=o.pop() -f=A.W(a9) -n.x=B.q -b=$.y() -b.j(B.b,"decodeFunction: kInternalError catch "+A.d(f),null,null) -s=12 -return A.u(g.$0(),$async$N) -case 12:s=10 -break -case 7:s=4 -break -case 10:a=a7.c -if(a==null){a7=A.ar("[decodeFunction] decryption failed even after ratchting") -throw A.b(a7)}a0=n.e -a0.r=0 -a0.c=!0 -b.j(B.b,"decodeFunction: decryption success, buffer length "+a8.d.length+", decrypted: "+A.Z(a,0,null).length,null,null) -a=$.cH() -e=new A.aX(a) -J.b6(e,new Uint8Array(A.ak(B.c.B(a8.d,0,m)))) -a7=a7.c -a7.toString -J.b6(e,A.Z(a7,0,null)) -n.am(b1,b2,e) -if(n.x!==B.j){n.x=B.j -n.z.postMessage(A.k(A.l(["type","cryptorState","msgType","event","participantId",n.b,"trackId",n.c,"kind",n.f,"state","ok","error","decryption ok"],t.N,t.T)))}b.j(B.b,"decodeFunction[CryptorError.kOk]: decryption success kind "+n.f+", headerLength: "+A.d(m)+", timestamp: "+a8.c+", ssrc: "+a8.b+", data length: "+a8.d.length+", decrypted length: "+e.ar().length+", keyindex "+A.d(j)+" iv "+A.d(i),null,null) -p=2 -s=6 -break -case 4:p=3 -b0=o.pop() -d=A.W(b0) -c=A.an(b0) -$.y().j(B.e,"decodeFunction[CryptorError.kDecryptError]: "+A.d(d)+", "+A.d(c),null,null) -if(n.x!==B.w){n.x=B.w -a7=n.b -b=n.c -a=n.f -a===$&&A.ap("kind") -n.z.postMessage(A.k(A.l(["type","cryptorState","msgType","event","participantId",a7,"trackId",b,"kind",a,"state","decryptError","error",J.a1(d)],t.N,t.T)))}n.e.bC() -s=6 -break -case 3:s=2 -break -case 6:case 1:return A.I(q,r) -case 2:return A.H(o.at(-1),r)}}) -return A.J($async$N,r)}} -A.cP.prototype={ -$0(){var s=0,r=A.K(t.H),q=this,p,o,n,m,l,k,j,i,h,g,f,e -var $async$$0=A.M(function(a,b){if(a===1)return A.H(b,r) -while(true)switch(s){case 0:o=q.c -n=o.z -m=t.m -l=m.a(m.a(n.crypto).subtle) -k=q.e -j=k.d -i=q.f -h=t.N -g=t.K -f=A.k(A.l(["name","AES-GCM","iv",q.d,"additionalData",B.c.B(j,0,i)],h,g)) -g=f==null?g.a(f):f -f=q.b -e=t.o -s=2 -return A.u(A.aK(m.a(l.decrypt(g,f.a.b,B.c.B(j,i,j.length-q.r-2))),t.X),$async$$0) -case 2:p=e.a(b) -j=q.a -j.c=p -i=$.y() -i.j(B.b,u.n+A.Z(p,0,null).length,null,null) -m=j.c -if(m==null)throw A.b(A.ar("[decryptFrameInternal] could not decrypt")) -i.j(B.b,u.n+A.Z(m,0,null).length,null,null) -s=f.a!==j.b?3:4 -break -case 3:i.j(B.p,"decodeFunction::decryptFrameInternal: ratchetKey: decryption ok, newState: kKeyRatcheted",null,null) -s=5 -return A.u(o.e.K(f.a,j.d),$async$$0) -case 5:case 4:m=o.x -if(m!==B.j&&m!==B.y&&j.a>0){i.j(B.b,"decodeFunction::decryptFrameInternal: KeyRatcheted: ssrc "+k.b+" timestamp "+k.c+" ratchetCount "+j.a+" participantId: "+A.d(o.b),null,null) -i.j(B.b,"decodeFunction::decryptFrameInternal: ratchetKey: lastError != CryptorError.kKeyRatcheted, reset state to kKeyRatcheted",null,null) -o.x=B.y -m=o.b -l=o.c -o=o.f -o===$&&A.ap("kind") -n.postMessage(A.k(A.l(["type","cryptorState","msgType","event","participantId",m,"trackId",l,"kind",o,"state","keyRatcheted","error","Key ratcheted ok"],h,t.T)))}return A.I(null,r)}}) -return A.J($async$$0,r)}, -$S:9} -A.cQ.prototype={ -$0(){var s=0,r=A.K(t.H),q=this,p,o,n,m,l,k,j,i,h -var $async$$0=A.M(function(a,b){if(a===1)return A.H(b,r) -while(true)switch(s){case 0:n=q.a -m=n.a -l=q.c -k=l.e -j=k.d -i=j.c -if(m>=i||i<=0)throw A.b(A.ar("[ratchedKeyInternal] cannot ratchet anymore")) -m=q.b -s=2 -return A.u(k.S(m.a.a,j.b),$async$$0) -case 2:p=b -s=3 -return A.u(l.e.T(m.a.a,J.eH(p)),$async$$0) -case 3:o=b -l=l.e -h=m -s=4 -return A.u(l.I(o,l.d.b),$async$$0) -case 4:h.a=b;++n.a -s=5 -return A.u(q.d.$0(),$async$$0) -case 5:return A.I(null,r)}}) -return A.J($async$$0,r)}, -$S:9} -A.cY.prototype={ -k(a){var s=this -return"KeyOptions{sharedKey: "+s.a+", ratchetWindowSize: "+s.c+", failureTolerance: "+s.d+", uncryptedMagicBytes: "+A.d(s.e)+", ratchetSalt: "+A.d(s.b)+"}"}} -A.c9.prototype={ -J(a){var s,r,q=this,p=q.c -if(p.a)return q.V() -s=q.d -r=s.i(0,a) -if(r==null){r=A.eV(p,a,q.a) -p=q.f -if(p.length!==0)r.b3(p) -s.v(0,a,r)}return r}, -V(){var s=this,r=s.e -return r==null?s.e=A.eV(s.c,"shared-key",s.a):r}} -A.aQ.prototype={} -A.ci.prototype={ -bC(){var s=this,r=s.d.d -if(r<0)return -if(++s.r>r){$.y().j(B.f,"key for "+s.f+" is being marked as invalid",null,null) -s.c=!1}}, -P(a){var s=0,r=A.K(t.E),q,p=2,o=[],n=this,m,l,k,j,i,h,g -var $async$P=A.M(function(b,c){if(b===1){o.push(c) -s=p}while(true)switch(s){case 0:j=n.U(a) -i=j==null?null:j.a -if(i==null){q=null -s=1 -break}p=4 -j=t.m -g=t.o -s=7 -return A.u(A.aK(j.a(j.a(j.a(n.e.crypto).subtle).exportKey("raw",i)),t.X),$async$P) -case 7:m=g.a(c) -j=A.Z(m,0,null) -q=j -s=1 -break -p=2 -s=6 -break -case 4:p=3 -h=o.pop() -l=A.W(h) -$.y().j(B.f,"exportKey: "+A.d(l),null,null) -q=null -s=1 -break -s=6 -break -case 3:s=2 -break -case 6:case 1:return A.I(q,r) -case 2:return A.H(o.at(-1),r)}}) -return A.J($async$P,r)}, -E(a){var s=0,r=A.K(t.E),q,p=this,o,n,m,l -var $async$E=A.M(function(b,c){if(b===1)return A.H(c,r) -while(true)switch(s){case 0:m=p.U(a) -l=m==null?null:m.a -if(l==null){q=null -s=1 -break}m=p.d.b -s=3 -return A.u(p.S(l,m),$async$E) -case 3:o=c -s=5 -return A.u(p.T(l,B.c.gH(o)),$async$E) -case 5:s=4 -return A.u(p.I(c,m),$async$E) -case 4:n=c -s=6 -return A.u(p.K(n,a==null?p.a:a),$async$E) -case 6:q=o -s=1 -break -case 1:return A.I(q,r)}}) -return A.J($async$E,r)}, -T(a,b){return this.bR(a,b)}, -bR(a,b){var s=0,r=A.K(t.m),q,p=this,o -var $async$T=A.M(function(c,d){if(c===1)return A.H(d,r) -while(true)switch(s){case 0:o=t.m -s=3 -return A.u(A.aK(A.ev(o.a(o.a(p.e.crypto).subtle),"importKey",["raw",t.o.a(b),t.K.a(o.a(a.algorithm).name),!1,t.c.a(A.k(A.O(["deriveBits","deriveKey"],t.s)))],o),o),$async$T) -case 3:q=d -s=1 -break -case 1:return A.I(q,r)}}) -return A.J($async$T,r)}, -U(a){var s,r=this.b -r===$&&A.ap("cryptoKeyRing") -s=a==null?this.a:a -if(!(s>=0&&s=0){p=q.b -p===$&&A.ap("cryptoKeyRing") -q.a=B.i.av(b,p.length)}p=q.b -p===$&&A.ap("cryptoKeyRing") -B.d.v(p,q.a,a) -return A.I(null,r)}}) -return A.J($async$K,r)}, -I(a,b){return this.bD(a,b)}, -bD(a,b){var s=0,r=A.K(t.w),q,p=this,o,n,m,l,k,j,i,h,g -var $async$I=A.M(function(c,d){if(c===1)return A.H(d,r) -while(true)switch(s){case 0:m=t.m -l=A.fH(A.i(m.a(a.algorithm).name),b) -k=m.a(m.a(p.e.crypto).subtle) -j=A.k(l) -if(j==null)j=t.K.a(j) -o=t.K -n=A.k(A.l(["name","AES-GCM","length",128],t.N,o)) -o=n==null?o.a(n):n -i=A -h=a -g=m -s=3 -return A.u(A.aK(A.ev(k,"deriveKey",[j,a,o,!1,t.c.a(A.k(A.O(["encrypt","decrypt"],t.s)))],m),t.X),$async$I) -case 3:q=new i.aQ(h,g.a(d)) -s=1 -break -case 1:return A.I(q,r)}}) -return A.J($async$I,r)}, -S(a,b){return this.bQ(a,b)}, -bQ(a,b){var s=0,r=A.K(t.D),q,p=this,o,n,m,l,k -var $async$S=A.M(function(c,d){if(c===1)return A.H(d,r) -while(true)switch(s){case 0:o=A.fH("PBKDF2",b) -n=t.m -m=n.a(n.a(p.e.crypto).subtle) -l=A.k(o) -if(l==null)l=t.K.a(l) -k=A -s=3 -return A.u(A.aK(n.a(m.deriveBits(l,a,256)),t.o),$async$S) -case 3:q=k.Z(d,0,null) -s=1 -break -case 1:return A.I(q,r)}}) -return A.J($async$S,r)}} -A.d6.prototype={ -aZ(){var s=this -if(s.b==null)return -if(++s.d>s.a||Date.now()-s.c>2000)s.b_()}, -b_(){this.a=this.d=0 -this.b=null}} -A.dV.prototype={ -$1(a){return t.j.a(a).c===this.a}, -$S:1} -A.ec.prototype={ -$1(a){return t.j.a(a).c===this.a}, -$S:1} -A.e0.prototype={ -$1(a){t.cH.a(a) -A.j5("["+a.d+"] "+a.a.a+": "+a.b)}, -$S:20} -A.e1.prototype={ -$1(a){var s,r,q,p,o,n,m,l,k,j,i,h=null,g=t.m -g.a(a) -s=$.y() -s.j(B.e,"Got onrtctransform event",h,h) -r=g.a(a.transformer) -r.handled=!0 -q=g.a(r.options) -p=A.i(q.kind) -o=A.i(q.participantId) -n=A.i(q.trackId) -m=A.dJ(q.codec) -l=A.i(q.msgType) -k=A.i(q.keyProviderId) -j=$.aH.i(0,k) -if(j==null){s.j(B.f,"KeyProvider not found for "+k,h,h) -return}i=A.fJ(o,n,j) -s=g.a(r.readable) -g=g.a(r.writable) -i.W(m==null?h:m,!1,p,l,s,n,g)}, -$S:10} -A.e3.prototype={ -b2(b5){var s=0,r=A.K(t.P),q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4 -var $async$$1=A.M(function(b6,b7){if(b6===1)return A.H(b7,r) -while(true)switch(s){case 0:b1=t.f.a(A.fG(b5.data)) -b2=b1.i(0,"msgType") -b3=A.dJ(b1.i(0,"msgId")) -b4=$.y() -b4.j(B.a,"Got message "+A.d(b2)+", msgId "+A.d(b3),null,null) -case 3:switch(b2){case"keyProviderInit":s=5 -break -case"keyProviderDispose":s=6 -break -case"enable":s=7 -break -case"decode":s=8 -break -case"encode":s=9 -break -case"removeTransform":s=10 -break -case"setKey":s=11 -break -case"setSharedKey":s=12 -break -case"ratchetKey":s=13 -break -case"ratchetSharedKey":s=14 -break -case"setKeyIndex":s=15 -break -case"exportKey":s=16 -break -case"exportSharedKey":s=17 -break -case"setSifTrailer":s=18 -break -case"updateCodec":s=19 -break -case"dispose":s=20 -break -default:s=21 -break}break -case 5:p=b1.i(0,"keyOptions") -o=A.i(b1.i(0,"keyProviderId")) -n=J.cE(p) -m=A.cB(n.i(p,"sharedKey")) -l=new Uint8Array(A.ak(B.m.G(A.i(n.i(p,"ratchetSalt"))))) -k=A.o(n.i(p,"ratchetWindowSize")) -j=n.i(p,"failureTolerance") -j=A.o(j==null?-1:j) -i=n.i(p,"uncryptedMagicBytes")!=null?new Uint8Array(A.ak(B.m.G(A.i(n.i(p,"uncryptedMagicBytes"))))):null -h=n.i(p,"keyRingSize") -h=A.o(h==null?16:h) -n=n.i(p,"discardFrameWhenCryptorNotReady") -g=new A.cY(m,l,k,j,i,h,A.cB(n==null?!1:n)) -b4.j(B.a,"Init with keyProviderOptions:\n "+g.k(0),null,null) -b4=v.G -n=t.m -m=n.a(b4.self) -l=t.N -k=new Uint8Array(0) -$.aH.v(0,o,new A.c9(m,g,A.bh(l,t.bW),k)) -n.a(b4.self).postMessage(A.k(A.l(["type","init","msgId",b3,"msgType","response"],l,t.T))) -s=4 -break -case 6:o=A.i(b1.i(0,"keyProviderId")) -b4.j(B.a,"Dispose keyProvider "+o,null,null) -$.aH.bS(0,o) -t.m.a(v.G.self).postMessage(A.k(A.l(["type","dispose","msgId",b3,"msgType","response"],t.N,t.T))) -s=4 -break -case 7:f=A.cB(b1.i(0,"enabled")) -e=A.i(b1.i(0,"trackId")) -n=$.aJ -m=A.aa(n) -l=m.h("ay<1>") -d=A.eQ(new A.ay(n,m.h("al(1)").a(new A.e4(e)),l),l.h("e.E")) -for(n=d.length,m=""+f,l="Set enable "+m+" for trackId ",k="setEnabled["+m+u.h,c=0;c") -d=A.eQ(new A.ay(n,m.h("al(1)").a(new A.e5(e)),l),l.h("e.E")) -for(n=d.length,c=0;c()","w(p)","@(@)","@(@,a_)","@(a_)","w(~())","w(@,V)","~(a,@)","w(h,V)","~(h?,h?)","aR()","~(av)","T(p)"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti")} -A.hX(v.typeUniverse,JSON.parse('{"a2":"af","cj":"af","bt":"af","c5":{"al":[],"n":[]},"bc":{"w":[],"n":[]},"bd":{"p":[]},"af":{"p":[]},"z":{"m":["1"],"f":["1"],"p":[],"e":["1"]},"cX":{"z":["1"],"m":["1"],"f":["1"],"p":[],"e":["1"]},"b7":{"Y":["1"]},"c7":{"j":[],"aI":[]},"bb":{"j":[],"a":[],"aI":[],"n":[]},"c6":{"j":[],"aI":[],"n":[]},"aN":{"a_":[],"eW":[],"n":[]},"aX":{"h5":[]},"be":{"t":[]},"f":{"e":["1"]},"a3":{"f":["1"],"e":["1"]},"au":{"Y":["1"]},"a4":{"e":["2"],"e.E":"2"},"b9":{"a4":["1","2"],"f":["2"],"e":["2"],"e.E":"2"},"bj":{"Y":["2"]},"a5":{"a3":["2"],"f":["2"],"e":["2"],"e.E":"2","a3.E":"2"},"ay":{"e":["1"],"e.E":"1"},"bw":{"Y":["1"]},"bq":{"a7":[],"t":[]},"c8":{"t":[]},"cq":{"t":[]},"bJ":{"V":[]},"ad":{"as":[]},"bY":{"as":[]},"bZ":{"as":[]},"cn":{"as":[]},"cl":{"as":[]},"aL":{"as":[]},"ck":{"t":[]},"at":{"aw":["1","2"],"eP":["1","2"],"bi":["1","2"]},"bg":{"f":["1"],"e":["1"],"e.E":"1"},"bf":{"Y":["1"]},"aS":{"p":[],"bX":[],"n":[]},"bn":{"p":[]},"cA":{"bX":[]},"bk":{"ej":[],"p":[],"n":[]},"B":{"F":["1"],"p":[]},"bl":{"r":["j"],"B":["j"],"m":["j"],"F":["j"],"f":["j"],"p":[],"e":["j"],"D":["j"]},"bm":{"r":["a"],"B":["a"],"m":["a"],"F":["a"],"f":["a"],"p":[],"e":["a"],"D":["a"]},"ca":{"cM":[],"r":["j"],"B":["j"],"m":["j"],"F":["j"],"f":["j"],"p":[],"e":["j"],"D":["j"],"n":[],"r.E":"j"},"cb":{"cN":[],"r":["j"],"B":["j"],"m":["j"],"F":["j"],"f":["j"],"p":[],"e":["j"],"D":["j"],"n":[],"r.E":"j"},"cc":{"cS":[],"r":["a"],"B":["a"],"m":["a"],"F":["a"],"f":["a"],"p":[],"e":["a"],"D":["a"],"n":[],"r.E":"a"},"cd":{"cT":[],"r":["a"],"B":["a"],"m":["a"],"F":["a"],"f":["a"],"p":[],"e":["a"],"D":["a"],"n":[],"r.E":"a"},"ce":{"cU":[],"r":["a"],"B":["a"],"m":["a"],"F":["a"],"f":["a"],"p":[],"e":["a"],"D":["a"],"n":[],"r.E":"a"},"cf":{"dc":[],"r":["a"],"B":["a"],"m":["a"],"F":["a"],"f":["a"],"p":[],"e":["a"],"D":["a"],"n":[],"r.E":"a"},"cg":{"dd":[],"r":["a"],"B":["a"],"m":["a"],"F":["a"],"f":["a"],"p":[],"e":["a"],"D":["a"],"n":[],"r.E":"a"},"bo":{"de":[],"r":["a"],"B":["a"],"m":["a"],"F":["a"],"f":["a"],"p":[],"e":["a"],"D":["a"],"n":[],"r.E":"a"},"bp":{"co":[],"r":["a"],"B":["a"],"m":["a"],"F":["a"],"f":["a"],"p":[],"e":["a"],"D":["a"],"n":[],"r.E":"a"},"cu":{"t":[]},"bL":{"a7":[],"t":[]},"a9":{"aV":["1"],"ai":["1"]},"E":{"t":[]},"aW":{"by":["1"],"b_":["1"],"aU":["1"]},"ah":{"bz":["1"],"a9":["1"],"aV":["1"],"ai":["1"]},"az":{"f2":["1"],"fg":["1"],"ai":["1"]},"bK":{"az":["1"],"f2":["1"],"fg":["1"],"ai":["1"]},"bx":{"ct":["1"]},"v":{"T":["1"]},"by":{"b_":["1"],"aU":["1"]},"bz":{"a9":["1"],"aV":["1"],"ai":["1"]},"b_":{"aU":["1"]},"bA":{"bB":["1"]},"aY":{"aV":["1"]},"bP":{"f7":[]},"cx":{"bP":[],"f7":[]},"bC":{"aw":["1","2"],"bi":["1","2"]},"aZ":{"bC":["1","2"],"aw":["1","2"],"bi":["1","2"]},"bD":{"f":["1"],"e":["1"],"e.E":"1"},"bE":{"Y":["1"]},"aw":{"bi":["1","2"]},"bW":{"aq":["m","a_"],"aq.S":"m"},"j":{"aI":[]},"a":{"aI":[]},"m":{"f":["1"],"e":["1"]},"a_":{"eW":[]},"bU":{"t":[]},"a7":{"t":[]},"S":{"t":[]},"aT":{"t":[]},"c3":{"t":[]},"bu":{"t":[]},"cp":{"t":[]},"ax":{"t":[]},"c_":{"t":[]},"ch":{"t":[]},"bs":{"t":[]},"cz":{"V":[]},"cU":{"m":["a"],"f":["a"],"e":["a"]},"co":{"m":["a"],"f":["a"],"e":["a"]},"de":{"m":["a"],"f":["a"],"e":["a"]},"cS":{"m":["a"],"f":["a"],"e":["a"]},"dc":{"m":["a"],"f":["a"],"e":["a"]},"cT":{"m":["a"],"f":["a"],"e":["a"]},"dd":{"m":["a"],"f":["a"],"e":["a"]},"cM":{"m":["j"],"f":["j"],"e":["j"]},"cN":{"m":["j"],"f":["j"],"e":["j"]}}')) -A.hW(v.typeUniverse,JSON.parse('{"f":1,"B":1,"bB":1,"c0":2}')) -var u={o:"Cannot fire new event. Controller is already firing an event",c:"Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type",h:"]: lastError != CryptorError.kOk, reset state to kNew",n:"decodeFunction::decryptFrameInternal: decrypted: "} -var t=(function rtii(){var s=A.dS -return{h:s("@<~>"),n:s("E"),B:s("bW"),J:s("bX"),V:s("ej"),d:s("f<@>"),C:s("t"),G:s("cM"),q:s("cN"),j:s("ae"),Z:s("as"),O:s("cS"),k:s("cT"),U:s("cU"),R:s("e<@>"),e:s("e"),s:s("z"),b:s("z<@>"),t:s("z"),c:s("z"),u:s("bc"),m:s("p"),g:s("a2"),r:s("F<@>"),w:s("aQ"),x:s("m<@>"),L:s("m"),bG:s("m"),cH:s("av"),I:s("aR"),f:s("bi<@,@>"),o:s("aS"),P:s("w"),K:s("h"),bW:s("ci"),cY:s("jd"),l:s("V"),N:s("a_"),a4:s("n"),b7:s("a7"),c0:s("dc"),bk:s("dd"),ca:s("de"),D:s("co"),cr:s("bt"),_:s("v<@>"),a:s("v"),A:s("aZ"),W:s("bK"),y:s("al"),c1:s("al(h)"),i:s("j"),z:s("@"),bd:s("@()"),v:s("@(h)"),Q:s("@(h,V)"),S:s("a"),bc:s("T?"),aF:s("aQ?"),X:s("h?"),T:s("a_?"),E:s("co?"),F:s("aA<@,@>?"),cG:s("al?"),dd:s("j?"),a3:s("a?"),ae:s("aI?"),Y:s("~()?"),p:s("aI"),H:s("~"),M:s("~()"),bo:s("~(h)"),aD:s("~(h,V)")}})();(function constants(){B.J=J.c4.prototype -B.d=J.z.prototype -B.i=J.bb.prototype -B.k=J.aN.prototype -B.K=J.a2.prototype -B.L=J.bd.prototype -B.z=A.bk.prototype -B.c=A.bp.prototype -B.A=J.cj.prototype -B.r=J.bt.prototype -B.m=new A.cJ() -B.t=new A.cK() -B.u=function getTagFallback(o) { +// 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] +// method. +// +// dartMainRunner(main, args): +// if this function is defined, the Dart [main] method will not be invoked +// directly. Instead, a closure that will invoke [main], and its arguments +// [args] is passed to [dartMainRunner]. +// +// dartDeferredLibraryLoader(uri, successCallback, errorCallback, loadId, loadPriority): +// if this function is defined, it will be called when a deferred library +// is loaded. It should load and eval the javascript of `uri`, and call +// successCallback. If it fails to do so, it should call errorCallback with +// an error. The loadId argument is the deferred import that resulted in +// this uri being loaded. The loadPriority argument is an arbitrary argument +// string forwarded from the 'dart2js:load-priority' pragma option. +// dartDeferredLibraryMultiLoader(uris, successCallback, errorCallback, loadId, loadPriority): +// if this function is defined, it will be called when a deferred library +// is loaded. It should load and eval the javascript of every URI in `uris`, +// and call successCallback. If it fails to do so, it should call +// errorCallback with an error. The loadId argument is the deferred import +// that resulted in this uri being loaded. The loadPriority argument is an +// arbitrary argument string forwarded from the 'dart2js:load-priority' +// pragma option. +// +// dartCallInstrumentation(id, qualifiedName): +// if this function is defined, it will be called at each entry of a +// method or constructor. Used only when compiling programs with +// --experiment-call-instrumentation. +(function dartProgram() { + function copyProperties(from, to) { + var keys = Object.keys(from); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + to[key] = from[key]; + } + } + function mixinPropertiesHard(from, to) { + var keys = Object.keys(from); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!to.hasOwnProperty(key)) { + to[key] = from[key]; + } + } + } + function mixinPropertiesEasy(from, to) { + Object.assign(to, from); + } + var supportsDirectProtoAccess = function() { + var cls = function() { + }; + cls.prototype = {p: {}}; + var object = new cls(); + if (!(Object.getPrototypeOf(object) && Object.getPrototypeOf(object).p === cls.prototype.p)) + return false; + try { + if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0) + return true; + if (typeof version == "function" && version.length == 0) { + var v = version(); + if (/^\d+\.\d+\.\d+\.\d+$/.test(v)) + return true; + } + } catch (_) { + } + return false; + }(); + function inherit(cls, sup) { + cls.prototype.constructor = cls; + cls.prototype["$is" + cls.name] = cls; + if (sup != null) { + if (supportsDirectProtoAccess) { + Object.setPrototypeOf(cls.prototype, sup.prototype); + return; + } + var clsPrototype = Object.create(sup.prototype); + copyProperties(cls.prototype, clsPrototype); + cls.prototype = clsPrototype; + } + } + function inheritMany(sup, classes) { + for (var i = 0; i < classes.length; i++) { + inherit(classes[i], sup); + } + } + function mixinEasy(cls, mixin) { + mixinPropertiesEasy(mixin.prototype, cls.prototype); + cls.prototype.constructor = cls; + } + function mixinHard(cls, mixin) { + mixinPropertiesHard(mixin.prototype, cls.prototype); + cls.prototype.constructor = cls; + } + function lazy(holder, name, getterName, initializer) { + var uninitializedSentinel = holder; + holder[name] = uninitializedSentinel; + holder[getterName] = function() { + if (holder[name] === uninitializedSentinel) { + holder[name] = initializer(); + } + holder[getterName] = function() { + return this[name]; + }; + return holder[name]; + }; + } + function lazyFinal(holder, name, getterName, initializer) { + var uninitializedSentinel = holder; + holder[name] = uninitializedSentinel; + holder[getterName] = function() { + if (holder[name] === uninitializedSentinel) { + var value = initializer(); + if (holder[name] !== uninitializedSentinel) { + A.throwLateFieldADI(name); + } + holder[name] = value; + } + var finalValue = holder[name]; + holder[getterName] = function() { + return finalValue; + }; + return finalValue; + }; + } + function makeConstList(list, rti) { + if (rti != null) + A._setArrayType(list, rti); + list.$flags = 7; + return list; + } + function convertToFastObject(properties) { + function t() { + } + t.prototype = properties; + new t(); + return properties; + } + function convertAllToFastObject(arrayOfObjects) { + for (var i = 0; i < arrayOfObjects.length; ++i) { + convertToFastObject(arrayOfObjects[i]); + } + } + var functionCounter = 0; + function instanceTearOffGetter(isIntercepted, parameters) { + var cache = null; + return isIntercepted ? function(receiver) { + if (cache === null) + cache = A.closureFromTearOff(parameters); + return new cache(receiver, this); + } : function() { + if (cache === null) + cache = A.closureFromTearOff(parameters); + return new cache(this, null); + }; + } + function staticTearOffGetter(parameters) { + var cache = null; + return function() { + if (cache === null) + cache = A.closureFromTearOff(parameters).prototype; + return cache; + }; + } + var typesOffset = 0; + function tearOffParameters(container, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) { + if (typeof funType == "number") { + funType += typesOffset; + } + return {co: container, iS: isStatic, iI: isIntercepted, rC: requiredParameterCount, dV: optionalParameterDefaultValues, cs: callNames, fs: funsOrNames, fT: funType, aI: applyIndex || 0, nDA: needsDirectAccess}; + } + function installStaticTearOff(holder, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { + var parameters = tearOffParameters(holder, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, false); + var getterFunction = staticTearOffGetter(parameters); + holder[getterName] = getterFunction; + } + function installInstanceTearOff(prototype, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) { + isIntercepted = !!isIntercepted; + var parameters = tearOffParameters(prototype, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, !!needsDirectAccess); + var getterFunction = instanceTearOffGetter(isIntercepted, parameters); + prototype[getterName] = getterFunction; + } + function setOrUpdateInterceptorsByTag(newTags) { + var tags = init.interceptorsByTag; + if (!tags) { + init.interceptorsByTag = newTags; + return; + } + copyProperties(newTags, tags); + } + function setOrUpdateLeafTags(newTags) { + var tags = init.leafTags; + if (!tags) { + init.leafTags = newTags; + return; + } + copyProperties(newTags, tags); + } + function updateTypes(newTypes) { + var types = init.types; + var length = types.length; + types.push.apply(types, newTypes); + return length; + } + function updateHolder(holder, newHolder) { + copyProperties(newHolder, holder); + return holder; + } + var hunkHelpers = function() { + var mkInstance = function(isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { + return function(container, getterName, name, funType) { + return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex, false); + }; + }, + mkStatic = function(requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { + return function(container, getterName, name, funType) { + return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex); + }; + }; + return {inherit: inherit, inheritMany: inheritMany, mixin: mixinEasy, mixinHard: mixinHard, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, lazyFinal: lazyFinal, updateHolder: updateHolder, convertToFastObject: convertToFastObject, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags}; + }(); + function initializeDeferredHunk(hunk) { + typesOffset = init.types.length; + hunk(hunkHelpers, init, holders, $); + } + var J = { + makeDispatchRecord(interceptor, proto, extension, indexability) { + return {i: interceptor, p: proto, e: extension, x: indexability}; + }, + getNativeInterceptor(object) { + var proto, objectProto, $constructor, interceptor, t1, + record = object[init.dispatchPropertyName]; + if (record == null) + if ($.initNativeDispatchFlag == null) { + A.initNativeDispatch(); + record = object[init.dispatchPropertyName]; + } + if (record != null) { + proto = record.p; + if (false === proto) + return record.i; + if (true === proto) + return object; + objectProto = Object.getPrototypeOf(object); + if (proto === objectProto) + return record.i; + if (record.e === objectProto) + throw A.wrapException(A.UnimplementedError$("Return interceptor for " + A.S(proto(object, record)))); + } + $constructor = object.constructor; + if ($constructor == null) + interceptor = null; + else { + t1 = $._JS_INTEROP_INTERCEPTOR_TAG; + if (t1 == null) + t1 = $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js"); + interceptor = $constructor[t1]; + } + if (interceptor != null) + return interceptor; + interceptor = A.lookupAndCacheInterceptor(object); + if (interceptor != null) + return interceptor; + if (typeof object == "function") + return B.JavaScriptFunction_methods; + proto = Object.getPrototypeOf(object); + if (proto == null) + return B.PlainJavaScriptObject_methods; + if (proto === Object.prototype) + return B.PlainJavaScriptObject_methods; + if (typeof $constructor == "function") { + t1 = $._JS_INTEROP_INTERCEPTOR_TAG; + if (t1 == null) + t1 = $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js"); + Object.defineProperty($constructor, t1, {value: B.UnknownJavaScriptObject_methods, enumerable: false, writable: true, configurable: true}); + return B.UnknownJavaScriptObject_methods; + } + return B.UnknownJavaScriptObject_methods; + }, + JSArray_JSArray$fixed($length, $E) { + if ($length < 0 || $length > 4294967295) + throw A.wrapException(A.RangeError$range($length, 0, 4294967295, "length", null)); + return J.JSArray_JSArray$markFixed(new Array($length), $E); + }, + JSArray_JSArray$markFixed(allocation, $E) { + var t1 = A._setArrayType(allocation, $E._eval$1("JSArray<0>")); + t1.$flags = 1; + return t1; + }, + getInterceptor$(receiver) { + if (typeof receiver == "number") { + if (Math.floor(receiver) == receiver) + return J.JSInt.prototype; + return J.JSNumNotInt.prototype; + } + if (typeof receiver == "string") + return J.JSString.prototype; + if (receiver == null) + return J.JSNull.prototype; + if (typeof receiver == "boolean") + return J.JSBool.prototype; + if (Array.isArray(receiver)) + return J.JSArray.prototype; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + if (typeof receiver == "symbol") + return J.JavaScriptSymbol.prototype; + if (typeof receiver == "bigint") + return J.JavaScriptBigInt.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$asx(receiver) { + if (typeof receiver == "string") + return J.JSString.prototype; + if (receiver == null) + return receiver; + if (Array.isArray(receiver)) + return J.JSArray.prototype; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + if (typeof receiver == "symbol") + return J.JavaScriptSymbol.prototype; + if (typeof receiver == "bigint") + return J.JavaScriptBigInt.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$ax(receiver) { + if (receiver == null) + return receiver; + if (Array.isArray(receiver)) + return J.JSArray.prototype; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + if (typeof receiver == "symbol") + return J.JavaScriptSymbol.prototype; + if (typeof receiver == "bigint") + return J.JavaScriptBigInt.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$x(receiver) { + if (receiver == null) + return receiver; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + if (typeof receiver == "symbol") + return J.JavaScriptSymbol.prototype; + if (typeof receiver == "bigint") + return J.JavaScriptBigInt.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + get$buffer$x(receiver) { + return J.getInterceptor$x(receiver).get$buffer(receiver); + }, + get$hashCode$(receiver) { + return J.getInterceptor$(receiver).get$hashCode(receiver); + }, + get$iterator$ax(receiver) { + return J.getInterceptor$ax(receiver).get$iterator(receiver); + }, + get$length$asx(receiver) { + return J.getInterceptor$asx(receiver).get$length(receiver); + }, + get$runtimeType$(receiver) { + return J.getInterceptor$(receiver).get$runtimeType(receiver); + }, + $eq$(receiver, a0) { + if (receiver == null) + return a0 == null; + if (typeof receiver != "object") + return a0 != null && receiver === a0; + return J.getInterceptor$(receiver).$eq(receiver, a0); + }, + $index$asx(receiver, a0) { + if (typeof a0 === "number") + if (Array.isArray(receiver) || typeof receiver == "string" || A.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) + if (a0 >>> 0 === a0 && a0 < receiver.length) + return receiver[a0]; + return J.getInterceptor$asx(receiver).$index(receiver, a0); + }, + _setInt8$2$x(receiver, a0, a1) { + return J.getInterceptor$x(receiver)._setInt8$2(receiver, a0, a1); + }, + add$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).add$1(receiver, a0); + }, + asUint8List$0$x(receiver) { + return J.getInterceptor$x(receiver).asUint8List$0(receiver); + }, + asUint8List$2$x(receiver, a0, a1) { + return J.getInterceptor$x(receiver).asUint8List$2(receiver, a0, a1); + }, + elementAt$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0); + }, + map$1$1$ax(receiver, a0, $T1) { + return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1); + }, + noSuchMethod$1$(receiver, a0) { + return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0); + }, + toString$0$(receiver) { + return J.getInterceptor$(receiver).toString$0(receiver); + }, + Interceptor: function Interceptor() { + }, + JSBool: function JSBool() { + }, + JSNull: function JSNull() { + }, + JavaScriptObject: function JavaScriptObject() { + }, + LegacyJavaScriptObject: function LegacyJavaScriptObject() { + }, + PlainJavaScriptObject: function PlainJavaScriptObject() { + }, + UnknownJavaScriptObject: function UnknownJavaScriptObject() { + }, + JavaScriptFunction: function JavaScriptFunction() { + }, + JavaScriptBigInt: function JavaScriptBigInt() { + }, + JavaScriptSymbol: function JavaScriptSymbol() { + }, + JSArray: function JSArray(t0) { + this.$ti = t0; + }, + JSArraySafeToStringHook: function JSArraySafeToStringHook() { + }, + JSUnmodifiableArray: function JSUnmodifiableArray(t0) { + this.$ti = t0; + }, + ArrayIterator: function ArrayIterator(t0, t1, t2) { + var _ = this; + _._iterable = t0; + _._length = t1; + _._index = 0; + _._current = null; + _.$ti = t2; + }, + JSNumber: function JSNumber() { + }, + JSInt: function JSInt() { + }, + JSNumNotInt: function JSNumNotInt() { + }, + JSString: function JSString() { + } + }, + 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; + return hash ^ hash >>> 6; + }, + SystemHash_finish(hash) { + hash = hash + ((hash & 67108863) << 3) & 536870911; + hash ^= hash >>> 11; + return hash + ((hash & 16383) << 15) & 536870911; + }, + checkNotNullable(value, $name, $T) { + return value; + }, + isToStringVisiting(object) { + var t1, i; + for (t1 = $.toStringVisiting.length, i = 0; i < t1; ++i) + if (object === $.toStringVisiting[i]) + return true; + return false; + }, + MappedIterable_MappedIterable(iterable, $function, $S, $T) { + if (type$.EfficientLengthIterable_dynamic._is(iterable)) + return new A.EfficientLengthMappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>")); + return new A.MappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("MappedIterable<1,2>")); + }, + _CopyingBytesBuilder: function _CopyingBytesBuilder(t0) { + this.__internal$_length = 0; + this.__internal$_buffer = t0; + }, + LateError: function LateError(t0) { + this._message = t0; + }, + SentinelValue: function SentinelValue() { + }, + EfficientLengthIterable: function EfficientLengthIterable() { + }, + ListIterable: function ListIterable() { + }, + ListIterator: function ListIterator(t0, t1, t2) { + var _ = this; + _.__internal$_iterable = t0; + _.__internal$_length = t1; + _.__internal$_index = 0; + _.__internal$_current = null; + _.$ti = t2; + }, + MappedIterable: function MappedIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + EfficientLengthMappedIterable: function EfficientLengthMappedIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + MappedIterator: function MappedIterator(t0, t1, t2) { + var _ = this; + _.__internal$_current = null; + _._iterator = t0; + _._f = t1; + _.$ti = t2; + }, + MappedListIterable: function MappedListIterable(t0, t1, t2) { + this._source = t0; + this._f = t1; + this.$ti = t2; + }, + WhereIterable: function WhereIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + WhereIterator: function WhereIterator(t0, t1, t2) { + this._iterator = t0; + this._f = t1; + this.$ti = t2; + }, + FixedLengthListMixin: function FixedLengthListMixin() { + }, + Symbol: function Symbol(t0) { + this.__internal$_name = t0; + }, + unminifyOrTag(rawClassName) { + var preserved = init.mangledGlobalNames[rawClassName]; + if (preserved != null) + return preserved; + return rawClassName; + }, + isJsIndexable(object, record) { + var result; + if (record != null) { + result = record.x; + if (result != null) + return result; + } + return type$.JavaScriptIndexingBehavior_dynamic._is(object); + }, + S(value) { + var result; + if (typeof value == "string") + return value; + if (typeof value == "number") { + if (value !== 0) + return "" + value; + } else if (true === value) + return "true"; + else if (false === value) + return "false"; + else if (value == null) + return "null"; + result = J.toString$0$(value); + return result; + }, + Primitives_objectHashCode(object) { + var hash, + property = $.Primitives__identityHashCodeProperty; + if (property == null) + property = $.Primitives__identityHashCodeProperty = Symbol("identityHashCode"); + hash = object[property]; + if (hash == null) { + hash = Math.random() * 0x3fffffff | 0; + object[property] = hash; + } + return hash; + }, + Primitives_objectTypeName(object) { + var interceptor, dispatchName, $constructor, constructorName; + if (object instanceof A.Object) + return A._rtiToString(A.instanceType(object), null); + interceptor = J.getInterceptor$(object); + if (interceptor === B.Interceptor_methods || interceptor === B.JavaScriptObject_methods || type$.UnknownJavaScriptObject._is(object)) { + dispatchName = B.C_JS_CONST(object); + if (dispatchName !== "Object" && dispatchName !== "") + return dispatchName; + $constructor = object.constructor; + if (typeof $constructor == "function") { + constructorName = $constructor.name; + if (typeof constructorName == "string" && constructorName !== "Object" && constructorName !== "") + return constructorName; + } + } + 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) { + var i, result, i0, chunkEnd; + if (end <= 500 && start === 0 && end === charCodes.length) + return String.fromCharCode.apply(null, charCodes); + for (i = start, result = ""; i < end; i = i0) { + i0 = i + 500; + chunkEnd = i0 < end ? i0 : end; + result += String.fromCharCode.apply(null, charCodes.subarray(i, chunkEnd)); + } + return result; + }, + Primitives_lazyAsJsDate(receiver) { + if (receiver.date === void 0) + receiver.date = new Date(receiver._value); + return receiver.date; + }, + Primitives_getYear(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCFullYear() + 0 : A.Primitives_lazyAsJsDate(receiver).getFullYear() + 0; + }, + Primitives_getMonth(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCMonth() + 1 : A.Primitives_lazyAsJsDate(receiver).getMonth() + 1; + }, + Primitives_getDay(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCDate() + 0 : A.Primitives_lazyAsJsDate(receiver).getDate() + 0; + }, + Primitives_getHours(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCHours() + 0 : A.Primitives_lazyAsJsDate(receiver).getHours() + 0; + }, + Primitives_getMinutes(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCMinutes() + 0 : A.Primitives_lazyAsJsDate(receiver).getMinutes() + 0; + }, + Primitives_getSeconds(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCSeconds() + 0 : A.Primitives_lazyAsJsDate(receiver).getSeconds() + 0; + }, + Primitives_getMilliseconds(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCMilliseconds() + 0 : A.Primitives_lazyAsJsDate(receiver).getMilliseconds() + 0; + }, + Primitives_functionNoSuchMethod($function, positionalArguments, namedArguments) { + var $arguments, namedArgumentList, t1 = {}; + t1.argumentCount = 0; + $arguments = []; + namedArgumentList = []; + t1.argumentCount = positionalArguments.length; + B.JSArray_methods.addAll$1($arguments, positionalArguments); + t1.names = ""; + if (namedArguments != null && namedArguments.__js_helper$_length !== 0) + namedArguments.forEach$1(0, new A.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments)); + return J.noSuchMethod$1$($function, new A.JSInvocationMirror(B.Symbol_call, 0, $arguments, namedArgumentList, 0)); + }, + Primitives_applyFunction($function, positionalArguments, namedArguments) { + var t1, argumentCount, jsStub; + if (Array.isArray(positionalArguments)) + t1 = namedArguments == null || namedArguments.__js_helper$_length === 0; + else + t1 = false; + if (t1) { + argumentCount = positionalArguments.length; + if (argumentCount === 0) { + if (!!$function.call$0) + return $function.call$0(); + } else if (argumentCount === 1) { + if (!!$function.call$1) + return $function.call$1(positionalArguments[0]); + } else if (argumentCount === 2) { + if (!!$function.call$2) + return $function.call$2(positionalArguments[0], positionalArguments[1]); + } else if (argumentCount === 3) { + if (!!$function.call$3) + return $function.call$3(positionalArguments[0], positionalArguments[1], positionalArguments[2]); + } else if (argumentCount === 4) { + if (!!$function.call$4) + return $function.call$4(positionalArguments[0], positionalArguments[1], positionalArguments[2], positionalArguments[3]); + } else if (argumentCount === 5) + if (!!$function.call$5) + return $function.call$5(positionalArguments[0], positionalArguments[1], positionalArguments[2], positionalArguments[3], positionalArguments[4]); + jsStub = $function["call" + "$" + argumentCount]; + if (jsStub != null) + return jsStub.apply($function, positionalArguments); + } + return A.Primitives__generalApplyFunction($function, positionalArguments, namedArguments); + }, + Primitives__generalApplyFunction($function, positionalArguments, namedArguments) { + 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; + t1 = defaultValuesClosure == null; + defaultValues = !t1 ? defaultValuesClosure() : null; + interceptor = J.getInterceptor$($function); + jsFunction = interceptor["call*"]; + if (typeof jsFunction == "string") + jsFunction = interceptor[jsFunction]; + if (t1) { + if (namedArguments != null && namedArguments.__js_helper$_length !== 0) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + if (argumentCount === requiredParameterCount) + return jsFunction.apply($function, $arguments); + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + } + if (Array.isArray(defaultValues)) { + if (namedArguments != null && namedArguments.__js_helper$_length !== 0) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + maxArguments = requiredParameterCount + defaultValues.length; + if (argumentCount > maxArguments) + return A.Primitives_functionNoSuchMethod($function, $arguments, null); + if (argumentCount < maxArguments) { + missingDefaults = defaultValues.slice(argumentCount - requiredParameterCount); + if ($arguments === positionalArguments) + $arguments = A.List_List$_of($arguments, type$.dynamic); + B.JSArray_methods.addAll$1($arguments, missingDefaults); + } + return jsFunction.apply($function, $arguments); + } else { + if (argumentCount > requiredParameterCount) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + if ($arguments === positionalArguments) + $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) { + defaultValue = defaultValues[A._asString(keys[_i])]; + if (B.C__Required === defaultValue) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + B.JSArray_methods.add$1($arguments, defaultValue); + } + else { + for (t1 = keys.length, used = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) { + key = A._asString(keys[_i]); + if (namedArguments.containsKey$1(key)) { + ++used; + B.JSArray_methods.add$1($arguments, namedArguments.$index(0, key)); + } else { + defaultValue = defaultValues[key]; + if (B.C__Required === defaultValue) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + B.JSArray_methods.add$1($arguments, defaultValue); + } + } + if (used !== namedArguments.__js_helper$_length) + return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); + } + return jsFunction.apply($function, $arguments); + } + }, + Primitives_extractStackTrace(error) { + var jsError = error.$thrownJsError; + if (jsError == null) + return null; + return A.getTraceFromException(jsError); + }, + Primitives_trySetStackTrace(error, stackTrace) { + var jsError; + if (error.$thrownJsError == null) { + jsError = new Error(); + A.initializeExceptionWrapper(error, jsError); + error.$thrownJsError = jsError; + jsError.stack = stackTrace.toString$0(0); + } + }, + iae(argument) { + throw A.wrapException(A.argumentErrorValue(argument)); + }, + ioore(receiver, index) { + if (receiver == null) + J.get$length$asx(receiver); + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + }, + diagnoseIndexError(indexable, index) { + var $length, _s5_ = "index"; + if (!A._isInt(index)) + return new A.ArgumentError(true, index, _s5_, null); + $length = A._asInt(J.get$length$asx(indexable)); + if (index < 0 || index >= $length) + return A.IndexError$withLength(index, $length, indexable, _s5_); + return A.RangeError$value(index, _s5_); + }, + diagnoseRangeError(start, end, $length) { + if (start < 0 || start > $length) + return A.RangeError$range(start, 0, $length, "start", null); + if (end != null) + if (end < start || end > $length) + return A.RangeError$range(end, start, $length, "end", null); + return new A.ArgumentError(true, end, "end", null); + }, + argumentErrorValue(object) { + return new A.ArgumentError(true, object, null, null); + }, + wrapException(ex) { + return A.initializeExceptionWrapper(ex, new Error()); + }, + initializeExceptionWrapper(ex, wrapper) { + var t1; + if (ex == null) + ex = new A.TypeError(); + wrapper.dartException = ex; + t1 = A.toStringWrapper; + if ("defineProperty" in Object) { + Object.defineProperty(wrapper, "message", {get: t1}); + wrapper.name = ""; + } else + wrapper.toString = t1; + return wrapper; + }, + toStringWrapper() { + return J.toString$0$(this.dartException); + }, + throwExpression(ex, wrapper) { + throw A.initializeExceptionWrapper(ex, wrapper == null ? new Error() : wrapper); + }, + throwUnsupportedOperation(o, operation, verb) { + var wrapper; + if (operation == null) + operation = 0; + if (verb == null) + verb = 0; + wrapper = Error(); + A.throwExpression(A._diagnoseUnsupportedOperation(o, operation, verb), wrapper); + }, + _diagnoseUnsupportedOperation(o, encodedOperation, encodedVerb) { + var operation, table, tableLength, index, verb, object, flags, article, adjective; + if (typeof encodedOperation == "string") + operation = encodedOperation; + else { + table = "[]=;add;removeWhere;retainWhere;removeRange;setRange;setInt8;setInt16;setInt32;setUint8;setUint16;setUint32;setFloat32;setFloat64".split(";"); + tableLength = table.length; + index = encodedOperation; + if (index > tableLength) { + encodedVerb = index / tableLength | 0; + index %= tableLength; + } + operation = table[index]; + } + verb = typeof encodedVerb == "string" ? encodedVerb : "modify;remove from;add to".split(";")[encodedVerb]; + object = type$.List_dynamic._is(o) ? "list" : "ByteData"; + flags = o.$flags | 0; + article = "a "; + if ((flags & 4) !== 0) + adjective = "constant "; + else if ((flags & 2) !== 0) { + adjective = "unmodifiable "; + article = "an "; + } else + adjective = (flags & 1) !== 0 ? "fixed-length " : ""; + return new A.UnsupportedError("'" + operation + "': Cannot " + verb + " " + article + adjective + object); + }, + throwConcurrentModificationError(collection) { + throw A.wrapException(A.ConcurrentModificationError$(collection)); + }, + TypeErrorDecoder_extractPattern(message) { + var match, $arguments, argumentsExpr, expr, method, receiver; + message = A.quoteStringForRegExp(message.replace(String({}), "$receiver$")); + match = message.match(/\\\$[a-zA-Z]+\\\$/g); + if (match == null) + match = A._setArrayType([], type$.JSArray_String); + $arguments = match.indexOf("\\$arguments\\$"); + argumentsExpr = match.indexOf("\\$argumentsExpr\\$"); + expr = match.indexOf("\\$expr\\$"); + method = match.indexOf("\\$method\\$"); + receiver = match.indexOf("\\$receiver\\$"); + return new A.TypeErrorDecoder(message.replace(new RegExp("\\\\\\$arguments\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$", "g"), "((?:x|[^x])*)"), $arguments, argumentsExpr, expr, method, receiver); + }, + TypeErrorDecoder_provokeCallErrorOn(expression) { + return function($expr$) { + var $argumentsExpr$ = "$arguments$"; + try { + $expr$.$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }(expression); + }, + TypeErrorDecoder_provokePropertyErrorOn(expression) { + return function($expr$) { + try { + $expr$.$method$; + } catch (e) { + return e.message; + } + }(expression); + }, + JsNoSuchMethodError$(_message, match) { + var t1 = match == null, + t2 = t1 ? null : match.method; + return new A.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver); + }, + unwrapException(ex) { + var t1; + if (ex == null) + return new A.NullThrownFromJavaScriptException(ex); + if (ex instanceof A.ExceptionAndStackTrace) { + t1 = ex.dartException; + return A.saveStackTrace(ex, t1 == null ? A._asObject(t1) : t1); + } + if (typeof ex !== "object") + return ex; + if ("dartException" in ex) + return A.saveStackTrace(ex, ex.dartException); + return A._unwrapNonDartException(ex); + }, + saveStackTrace(ex, error) { + if (type$.Error._is(error)) + if (error.$thrownJsError == null) + error.$thrownJsError = ex; + return error; + }, + _unwrapNonDartException(ex) { + var message, number, ieErrorCode, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match; + if (!("message" in ex)) + return ex; + message = ex.message; + if ("number" in ex && typeof ex.number == "number") { + number = ex.number; + ieErrorCode = number & 65535; + if ((B.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10) + switch (ieErrorCode) { + case 438: + return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A.S(message) + " (Error " + ieErrorCode + ")", null)); + case 445: + case 5007: + A.S(message); + return A.saveStackTrace(ex, new A.NullError()); + } + } + if (ex instanceof TypeError) { + nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern(); + notClosure = $.$get$TypeErrorDecoder_notClosurePattern(); + nullCall = $.$get$TypeErrorDecoder_nullCallPattern(); + nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern(); + undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern(); + undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern(); + nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern(); + $.$get$TypeErrorDecoder_nullLiteralPropertyPattern(); + undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern(); + undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern(); + match = nsme.matchTypeError$1(message); + if (match != null) + return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asString(message), match)); + else { + match = notClosure.matchTypeError$1(message); + if (match != null) { + match.method = "call"; + return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asString(message), match)); + } else if (nullCall.matchTypeError$1(message) != null || nullLiteralCall.matchTypeError$1(message) != null || undefCall.matchTypeError$1(message) != null || undefLiteralCall.matchTypeError$1(message) != null || nullProperty.matchTypeError$1(message) != null || nullLiteralCall.matchTypeError$1(message) != null || undefProperty.matchTypeError$1(message) != null || undefLiteralProperty.matchTypeError$1(message) != null) { + A._asString(message); + return A.saveStackTrace(ex, new A.NullError()); + } + } + return A.saveStackTrace(ex, new A.UnknownJsTypeError(typeof message == "string" ? message : "")); + } + if (ex instanceof RangeError) { + if (typeof message == "string" && message.indexOf("call stack") !== -1) + return new A.StackOverflowError(); + message = function(ex) { + try { + return String(ex); + } catch (e) { + } + return null; + }(ex); + return A.saveStackTrace(ex, new A.ArgumentError(false, null, null, typeof message == "string" ? message.replace(/^RangeError:\s*/, "") : message)); + } + if (typeof InternalError == "function" && ex instanceof InternalError) + if (typeof message == "string" && message === "too much recursion") + return new A.StackOverflowError(); + return ex; + }, + getTraceFromException(exception) { + var trace; + if (exception instanceof A.ExceptionAndStackTrace) + return exception.stackTrace; + if (exception == null) + return new A._StackTrace(exception); + trace = exception.$cachedTrace; + if (trace != null) + return trace; + trace = new A._StackTrace(exception); + if (typeof exception === "object") + exception.$cachedTrace = trace; + return trace; + }, + objectHashCode(object) { + if (object == null) + return J.get$hashCode$(object); + if (typeof object == "object") + return A.Primitives_objectHashCode(object); + return J.get$hashCode$(object); + }, + fillLiteralMap(keyValuePairs, result) { + var index, index0, index1, + $length = keyValuePairs.length; + for (index = 0; index < $length; index = index1) { + index0 = index + 1; + index1 = index0 + 1; + result.$indexSet(0, keyValuePairs[index], keyValuePairs[index0]); + } + return result; + }, + _invokeClosure(closure, numberOfArguments, arg1, arg2, arg3, arg4) { + type$.Function._as(closure); + switch (A._asInt(numberOfArguments)) { + case 0: + return closure.call$0(); + case 1: + return closure.call$1(arg1); + case 2: + return closure.call$2(arg1, arg2); + case 3: + return closure.call$3(arg1, arg2, arg3); + case 4: + return closure.call$4(arg1, arg2, arg3, arg4); + } + throw A.wrapException(A.Exception_Exception("Unsupported number of arguments for wrapped closure")); + }, + convertDartClosureToJS(closure, arity) { + var $function = closure.$identity; + if (!!$function) + return $function; + $function = A.convertDartClosureToJSUncached(closure, arity); + closure.$identity = $function; + return $function; + }, + convertDartClosureToJSUncached(closure, arity) { + var entry; + switch (arity) { + case 0: + entry = closure.call$0; + break; + case 1: + entry = closure.call$1; + break; + case 2: + entry = closure.call$2; + break; + case 3: + entry = closure.call$3; + break; + case 4: + entry = closure.call$4; + break; + default: + entry = null; + } + if (entry != null) + return entry.bind(closure); + return function(closure, arity, invoke) { + return function(a1, a2, a3, a4) { + return invoke(closure, arity, a1, a2, a3, a4); + }; + }(closure, arity, A._invokeClosure); + }, + Closure_fromTearOff(parameters) { + var $prototype, $constructor, t2, trampoline, applyTrampoline, i, stub, stub0, stubName, stubCallName, + container = parameters.co, + isStatic = parameters.iS, + isIntercepted = parameters.iI, + needsDirectAccess = parameters.nDA, + applyTrampolineIndex = parameters.aI, + funsOrNames = parameters.fs, + callNames = parameters.cs, + $name = funsOrNames[0], + callName = callNames[0], + $function = container[$name], + t1 = parameters.fT; + t1.toString; + $prototype = isStatic ? Object.create(new A.StaticClosure().constructor.prototype) : Object.create(new A.BoundClosure(null, null).constructor.prototype); + $prototype.$initialize = $prototype.constructor; + $constructor = isStatic ? function static_tear_off() { + this.$initialize(); + } : function tear_off(a, b) { + this.$initialize(a, b); + }; + $prototype.constructor = $constructor; + $constructor.prototype = $prototype; + $prototype.$_name = $name; + $prototype.$_target = $function; + t2 = !isStatic; + if (t2) + trampoline = A.Closure_forwardCallTo($name, $function, isIntercepted, needsDirectAccess); + else { + $prototype.$static_name = $name; + trampoline = $function; + } + $prototype.$signature = A.Closure__computeSignatureFunction(t1, isStatic, isIntercepted); + $prototype[callName] = trampoline; + for (applyTrampoline = trampoline, i = 1; i < funsOrNames.length; ++i) { + stub = funsOrNames[i]; + if (typeof stub == "string") { + stub0 = container[stub]; + stubName = stub; + stub = stub0; + } else + stubName = ""; + stubCallName = callNames[i]; + if (stubCallName != null) { + if (t2) + stub = A.Closure_forwardCallTo(stubName, stub, isIntercepted, needsDirectAccess); + $prototype[stubCallName] = stub; + } + if (i === applyTrampolineIndex) + applyTrampoline = stub; + } + $prototype["call*"] = applyTrampoline; + $prototype.$requiredArgCount = parameters.rC; + $prototype.$defaultValues = parameters.dV; + return $constructor; + }, + Closure__computeSignatureFunction(functionType, isStatic, isIntercepted) { + if (typeof functionType == "number") + return functionType; + if (typeof functionType == "string") { + if (isStatic) + throw A.wrapException("Cannot compute signature for static tearoff."); + return function(recipe, evalOnReceiver) { + return function() { + return evalOnReceiver(this, recipe); + }; + }(functionType, A.BoundClosure_evalRecipe); + } + throw A.wrapException("Error in functionType of tearoff"); + }, + Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function) { + var getReceiver = A.BoundClosure_receiverOf; + switch (needsDirectAccess ? -1 : arity) { + case 0: + return function(entry, receiverOf) { + return function() { + return receiverOf(this)[entry](); + }; + }(stubName, getReceiver); + case 1: + return function(entry, receiverOf) { + return function(a) { + return receiverOf(this)[entry](a); + }; + }(stubName, getReceiver); + case 2: + return function(entry, receiverOf) { + return function(a, b) { + return receiverOf(this)[entry](a, b); + }; + }(stubName, getReceiver); + case 3: + return function(entry, receiverOf) { + return function(a, b, c) { + return receiverOf(this)[entry](a, b, c); + }; + }(stubName, getReceiver); + case 4: + return function(entry, receiverOf) { + return function(a, b, c, d) { + return receiverOf(this)[entry](a, b, c, d); + }; + }(stubName, getReceiver); + case 5: + return function(entry, receiverOf) { + return function(a, b, c, d, e) { + return receiverOf(this)[entry](a, b, c, d, e); + }; + }(stubName, getReceiver); + default: + return function(f, receiverOf) { + return function() { + return f.apply(receiverOf(this), arguments); + }; + }($function, getReceiver); + } + }, + Closure_forwardCallTo(stubName, $function, isIntercepted, needsDirectAccess) { + if (isIntercepted) + return A.Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess); + return A.Closure_cspForwardCall($function.length, needsDirectAccess, stubName, $function); + }, + Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function) { + var getReceiver = A.BoundClosure_receiverOf, + getInterceptor = A.BoundClosure_interceptorOf; + switch (needsDirectAccess ? -1 : arity) { + case 0: + throw A.wrapException(new A.RuntimeError("Intercepted function with no arguments.")); + case 1: + return function(entry, interceptorOf, receiverOf) { + return function() { + return interceptorOf(this)[entry](receiverOf(this)); + }; + }(stubName, getInterceptor, getReceiver); + case 2: + return function(entry, interceptorOf, receiverOf) { + return function(a) { + return interceptorOf(this)[entry](receiverOf(this), a); + }; + }(stubName, getInterceptor, getReceiver); + case 3: + return function(entry, interceptorOf, receiverOf) { + return function(a, b) { + return interceptorOf(this)[entry](receiverOf(this), a, b); + }; + }(stubName, getInterceptor, getReceiver); + case 4: + return function(entry, interceptorOf, receiverOf) { + return function(a, b, c) { + return interceptorOf(this)[entry](receiverOf(this), a, b, c); + }; + }(stubName, getInterceptor, getReceiver); + case 5: + return function(entry, interceptorOf, receiverOf) { + return function(a, b, c, d) { + return interceptorOf(this)[entry](receiverOf(this), a, b, c, d); + }; + }(stubName, getInterceptor, getReceiver); + case 6: + return function(entry, interceptorOf, receiverOf) { + return function(a, b, c, d, e) { + return interceptorOf(this)[entry](receiverOf(this), a, b, c, d, e); + }; + }(stubName, getInterceptor, getReceiver); + default: + return function(f, interceptorOf, receiverOf) { + return function() { + var a = [receiverOf(this)]; + Array.prototype.push.apply(a, arguments); + return f.apply(interceptorOf(this), a); + }; + }($function, getInterceptor, getReceiver); + } + }, + Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess) { + var arity, t1; + if ($.BoundClosure__interceptorFieldNameCache == null) + $.BoundClosure__interceptorFieldNameCache = A.BoundClosure__computeFieldNamed("interceptor"); + if ($.BoundClosure__receiverFieldNameCache == null) + $.BoundClosure__receiverFieldNameCache = A.BoundClosure__computeFieldNamed("receiver"); + arity = $function.length; + t1 = A.Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function); + return t1; + }, + closureFromTearOff(parameters) { + return A.Closure_fromTearOff(parameters); + }, + BoundClosure_evalRecipe(closure, recipe) { + return A._Universe_evalInEnvironment(init.typeUniverse, A.instanceType(closure._receiver), recipe); + }, + BoundClosure_receiverOf(closure) { + return closure._receiver; + }, + BoundClosure_interceptorOf(closure) { + return closure._interceptor; + }, + BoundClosure__computeFieldNamed(fieldName) { + var names, i, $name, + template = new A.BoundClosure("receiver", "interceptor"), + t1 = Object.getOwnPropertyNames(template); + t1.$flags = 1; + names = t1; + for (t1 = names.length, i = 0; i < t1; ++i) { + $name = names[i]; + if (template[$name] === fieldName) + return $name; + } + throw A.wrapException(A.ArgumentError$("Field name " + fieldName + " not found.", null)); + }, + getIsolateAffinityTag($name) { + return init.getIsolateTag($name); + }, + defineProperty(obj, property, value) { + Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true}); + }, + lookupAndCacheInterceptor(obj) { + var interceptor, interceptorClass, altTag, mark, t1, + tag = A._asString($.getTagFunction.call$1(obj)), + record = $.dispatchRecordsForInstanceTags[tag]; + if (record != null) { + Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + return record.i; + } + interceptor = $.interceptorsForUncacheableTags[tag]; + if (interceptor != null) + return interceptor; + interceptorClass = init.interceptorsByTag[tag]; + if (interceptorClass == null) { + altTag = A._asStringQ($.alternateTagFunction.call$2(obj, tag)); + if (altTag != null) { + record = $.dispatchRecordsForInstanceTags[altTag]; + if (record != null) { + Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + return record.i; + } + interceptor = $.interceptorsForUncacheableTags[altTag]; + if (interceptor != null) + return interceptor; + interceptorClass = init.interceptorsByTag[altTag]; + tag = altTag; + } + } + if (interceptorClass == null) + return null; + interceptor = interceptorClass.prototype; + mark = tag[0]; + if (mark === "!") { + record = A.makeLeafDispatchRecord(interceptor); + $.dispatchRecordsForInstanceTags[tag] = record; + Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + return record.i; + } + if (mark === "~") { + $.interceptorsForUncacheableTags[tag] = interceptor; + return interceptor; + } + if (mark === "-") { + t1 = A.makeLeafDispatchRecord(interceptor); + Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true}); + return t1.i; + } + if (mark === "+") + return A.patchInteriorProto(obj, interceptor); + if (mark === "*") + throw A.wrapException(A.UnimplementedError$(tag)); + if (init.leafTags[tag] === true) { + t1 = A.makeLeafDispatchRecord(interceptor); + Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true}); + return t1.i; + } else + return A.patchInteriorProto(obj, interceptor); + }, + patchInteriorProto(obj, interceptor) { + var proto = Object.getPrototypeOf(obj); + Object.defineProperty(proto, init.dispatchPropertyName, {value: J.makeDispatchRecord(interceptor, proto, null, null), enumerable: false, writable: true, configurable: true}); + return interceptor; + }, + makeLeafDispatchRecord(interceptor) { + return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior); + }, + makeDefaultDispatchRecord(tag, interceptorClass, proto) { + var interceptor = interceptorClass.prototype; + if (init.leafTags[tag] === true) + return A.makeLeafDispatchRecord(interceptor); + else + return J.makeDispatchRecord(interceptor, proto, null, null); + }, + initNativeDispatch() { + if (true === $.initNativeDispatchFlag) + return; + $.initNativeDispatchFlag = true; + A.initNativeDispatchContinue(); + }, + initNativeDispatchContinue() { + var map, tags, fun, i, tag, proto, record, interceptorClass; + $.dispatchRecordsForInstanceTags = Object.create(null); + $.interceptorsForUncacheableTags = Object.create(null); + A.initHooks(); + map = init.interceptorsByTag; + tags = Object.getOwnPropertyNames(map); + if (typeof window != "undefined") { + window; + fun = function() { + }; + for (i = 0; i < tags.length; ++i) { + tag = tags[i]; + proto = $.prototypeForTagFunction.call$1(tag); + if (proto != null) { + record = A.makeDefaultDispatchRecord(tag, map[tag], proto); + if (record != null) { + Object.defineProperty(proto, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + fun.prototype = proto; + } + } + } + } + for (i = 0; i < tags.length; ++i) { + tag = tags[i]; + if (/^[A-Za-z_]/.test(tag)) { + interceptorClass = map[tag]; + map["!" + tag] = interceptorClass; + map["~" + tag] = interceptorClass; + map["-" + tag] = interceptorClass; + map["+" + tag] = interceptorClass; + map["*" + tag] = interceptorClass; + } + } + }, + initHooks() { + var transformers, i, transformer, getTag, getUnknownTag, prototypeForTag, + hooks = B.C_JS_CONST0(); + hooks = A.applyHooksTransformer(B.C_JS_CONST1, A.applyHooksTransformer(B.C_JS_CONST2, A.applyHooksTransformer(B.C_JS_CONST3, A.applyHooksTransformer(B.C_JS_CONST3, A.applyHooksTransformer(B.C_JS_CONST4, A.applyHooksTransformer(B.C_JS_CONST5, A.applyHooksTransformer(B.C_JS_CONST6(B.C_JS_CONST), hooks))))))); + if (typeof dartNativeDispatchHooksTransformer != "undefined") { + transformers = dartNativeDispatchHooksTransformer; + if (typeof transformers == "function") + transformers = [transformers]; + if (Array.isArray(transformers)) + for (i = 0; i < transformers.length; ++i) { + transformer = transformers[i]; + if (typeof transformer == "function") + hooks = transformer(hooks) || hooks; + } + } + getTag = hooks.getTag; + getUnknownTag = hooks.getUnknownTag; + prototypeForTag = hooks.prototypeForTag; + $.getTagFunction = new A.initHooks_closure(getTag); + $.alternateTagFunction = new A.initHooks_closure0(getUnknownTag); + $.prototypeForTagFunction = new A.initHooks_closure1(prototypeForTag); + }, + applyHooksTransformer(transformer, hooks) { + return transformer(hooks) || hooks; + }, + createRecordTypePredicate(shape, fieldRtis) { + var $length = fieldRtis.length, + $function = init.rttc["" + $length + ";" + shape]; + if ($function == null) + return null; + if ($length === 0) + return $function; + if ($length === $function.length) + return $function.apply(null, fieldRtis); + return $function(fieldRtis); + }, + quoteStringForRegExp(string) { + if (/[[\]{}()*+?.\\^$|]/.test(string)) + return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&"); + return string; + }, + ConstantMapView: function ConstantMapView(t0, t1) { + this._collection$_map = t0; + this.$ti = t1; + }, + ConstantMap: function ConstantMap() { + }, + ConstantStringMap: function ConstantStringMap(t0, t1, t2) { + this._jsIndex = t0; + this._values = t1; + this.$ti = t2; + }, + _KeysOrValues: function _KeysOrValues(t0, t1) { + this._elements = t0; + this.$ti = t1; + }, + _KeysOrValuesOrElementsIterator: function _KeysOrValuesOrElementsIterator(t0, t1, t2) { + var _ = this; + _._elements = t0; + _.__js_helper$_length = t1; + _.__js_helper$_index = 0; + _.__js_helper$_current = null; + _.$ti = t2; + }, + JSInvocationMirror: function JSInvocationMirror(t0, t1, t2, t3, t4) { + var _ = this; + _._memberName = t0; + _.__js_helper$_kind = t1; + _._arguments = t2; + _._namedArgumentNames = t3; + _._typeArgumentCount = t4; + }, + Primitives_functionNoSuchMethod_closure: function Primitives_functionNoSuchMethod_closure(t0, t1, t2) { + this._box_0 = t0; + this.namedArgumentList = t1; + this.$arguments = t2; + }, + SafeToStringHook: function SafeToStringHook() { + }, + TypeErrorDecoder: function TypeErrorDecoder(t0, t1, t2, t3, t4, t5) { + var _ = this; + _._pattern = t0; + _._arguments = t1; + _._argumentsExpr = t2; + _._expr = t3; + _._method = t4; + _._receiver = t5; + }, + NullError: function NullError() { + }, + JsNoSuchMethodError: function JsNoSuchMethodError(t0, t1, t2) { + this.__js_helper$_message = t0; + this._method = t1; + this._receiver = t2; + }, + UnknownJsTypeError: function UnknownJsTypeError(t0) { + this.__js_helper$_message = t0; + }, + NullThrownFromJavaScriptException: function NullThrownFromJavaScriptException(t0) { + this._irritant = t0; + }, + ExceptionAndStackTrace: function ExceptionAndStackTrace(t0, t1) { + this.dartException = t0; + this.stackTrace = t1; + }, + _StackTrace: function _StackTrace(t0) { + this._exception = t0; + this._trace = null; + }, + Closure: function Closure() { + }, + Closure0Args: function Closure0Args() { + }, + Closure2Args: function Closure2Args() { + }, + TearOffClosure: function TearOffClosure() { + }, + StaticClosure: function StaticClosure() { + }, + BoundClosure: function BoundClosure(t0, t1) { + this._receiver = t0; + this._interceptor = t1; + }, + RuntimeError: function RuntimeError(t0) { + this.message = t0; + }, + _Required: function _Required() { + }, + JsLinkedHashMap: function JsLinkedHashMap(t0) { + var _ = this; + _.__js_helper$_length = 0; + _._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null; + _._modifications = 0; + _.$ti = t0; + }, + LinkedHashMapCell: function LinkedHashMapCell(t0, t1) { + var _ = this; + _.hashMapCellKey = t0; + _.hashMapCellValue = t1; + _._previous = _._next = null; + }, + LinkedHashMapKeysIterable: function LinkedHashMapKeysIterable(t0, t1) { + this._map = t0; + this.$ti = t1; + }, + LinkedHashMapKeyIterator: function LinkedHashMapKeyIterator(t0, t1, t2, t3) { + var _ = this; + _._map = t0; + _._modifications = t1; + _._cell = t2; + _.__js_helper$_current = null; + _.$ti = t3; + }, + initHooks_closure: function initHooks_closure(t0) { + this.getTag = t0; + }, + initHooks_closure0: function initHooks_closure0(t0) { + this.getUnknownTag = t0; + }, + initHooks_closure1: function initHooks_closure1(t0) { + this.prototypeForTag = t0; + }, + _ensureNativeList(list) { + return list; + }, + NativeByteData_NativeByteData($length) { + return new DataView(new ArrayBuffer($length)); + }, + NativeUint8List_NativeUint8List($length) { + return new Uint8Array($length); + }, + NativeUint8List_NativeUint8List$view(buffer, offsetInBytes, $length) { + return $length == null ? new Uint8Array(buffer, offsetInBytes) : new Uint8Array(buffer, offsetInBytes, $length); + }, + _checkValidIndex(index, list, $length) { + if (index >>> 0 !== index || index >= $length) + throw A.wrapException(A.diagnoseIndexError(list, index)); + }, + _checkValidRange(start, end, $length) { + var t1; + if (!(start >>> 0 !== start)) + if (end == null) + t1 = start > $length; + else + t1 = end >>> 0 !== end || start > end || end > $length; + else + t1 = true; + if (t1) + throw A.wrapException(A.diagnoseRangeError(start, end, $length)); + if (end == null) + return $length; + return end; + }, + NativeByteBuffer: function NativeByteBuffer() { + }, + NativeArrayBuffer: function NativeArrayBuffer() { + }, + NativeTypedData: function NativeTypedData() { + }, + _UnmodifiableNativeByteBufferView: function _UnmodifiableNativeByteBufferView(t0) { + this._data = t0; + }, + NativeByteData: function NativeByteData() { + }, + NativeTypedArray: function NativeTypedArray() { + }, + NativeTypedArrayOfDouble: function NativeTypedArrayOfDouble() { + }, + NativeTypedArrayOfInt: function NativeTypedArrayOfInt() { + }, + NativeFloat32List: function NativeFloat32List() { + }, + NativeFloat64List: function NativeFloat64List() { + }, + NativeInt16List: function NativeInt16List() { + }, + NativeInt32List: function NativeInt32List() { + }, + NativeInt8List: function NativeInt8List() { + }, + NativeUint16List: function NativeUint16List() { + }, + NativeUint32List: function NativeUint32List() { + }, + NativeUint8ClampedList: function NativeUint8ClampedList() { + }, + NativeUint8List: function NativeUint8List() { + }, + _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin() { + }, + _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin() { + }, + _NativeTypedArrayOfInt_NativeTypedArray_ListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin() { + }, + _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() { + }, + 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) + return A.Rti__isUnionOfFunctionType(rti._primary); + return kind === 11 || kind === 12; + }, + Rti__getCanonicalRecipe(rti) { + return rti._canonicalRecipe; + }, + findType(recipe) { + return A._Universe_eval(init.typeUniverse, recipe, false); + }, + _substitute(universe, rti, typeArguments, depth) { + var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, t1, fields, substitutedFields, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument, + kind = rti._kind; + switch (kind) { + case 5: + case 1: + case 2: + case 3: + case 4: + return rti; + case 6: + baseType = rti._primary; + substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); + if (substitutedBaseType === baseType) + return rti; + return A._Universe__lookupQuestionRti(universe, substitutedBaseType, true); + 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 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 9: + base = rti._primary; + substitutedBase = A._substitute(universe, base, typeArguments, depth); + $arguments = rti._rest; + substitutedArguments = A._substituteArray(universe, $arguments, typeArguments, depth); + if (substitutedBase === base && substitutedArguments === $arguments) + return rti; + return A._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments); + 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 11: + returnType = rti._primary; + substitutedReturnType = A._substitute(universe, returnType, typeArguments, depth); + functionParameters = rti._rest; + substitutedFunctionParameters = A._substituteFunctionParameters(universe, functionParameters, typeArguments, depth); + if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters) + return rti; + return A._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters); + case 12: + bounds = rti._rest; + depth += bounds.length; + substitutedBounds = A._substituteArray(universe, bounds, typeArguments, depth); + base = rti._primary; + substitutedBase = A._substitute(universe, base, typeArguments, depth); + if (substitutedBounds === bounds && substitutedBase === base) + return rti; + return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true); + case 13: + index = rti._primary; + if (index < depth) + return rti; + argument = typeArguments[index - depth]; + if (argument == null) + return rti; + return argument; + default: + throw A.wrapException(A.AssertionError$("Attempted to substitute unexpected RTI kind " + kind)); + } + }, + _substituteArray(universe, rtiArray, typeArguments, depth) { + var changed, i, rti, substitutedRti, + $length = rtiArray.length, + result = A._Utils_newArrayOrEmpty($length); + for (changed = false, i = 0; i < $length; ++i) { + rti = rtiArray[i]; + substitutedRti = A._substitute(universe, rti, typeArguments, depth); + if (substitutedRti !== rti) + changed = true; + result[i] = substitutedRti; + } + return changed ? result : rtiArray; + }, + _substituteNamed(universe, namedArray, typeArguments, depth) { + var changed, i, t1, t2, rti, substitutedRti, + $length = namedArray.length, + result = A._Utils_newArrayOrEmpty($length); + for (changed = false, i = 0; i < $length; i += 3) { + t1 = namedArray[i]; + t2 = namedArray[i + 1]; + rti = namedArray[i + 2]; + substitutedRti = A._substitute(universe, rti, typeArguments, depth); + if (substitutedRti !== rti) + changed = true; + result.splice(i, 3, t1, t2, substitutedRti); + } + return changed ? result : namedArray; + }, + _substituteFunctionParameters(universe, functionParameters, typeArguments, depth) { + var result, + requiredPositional = functionParameters._requiredPositional, + substitutedRequiredPositional = A._substituteArray(universe, requiredPositional, typeArguments, depth), + optionalPositional = functionParameters._optionalPositional, + substitutedOptionalPositional = A._substituteArray(universe, optionalPositional, typeArguments, depth), + named = functionParameters._named, + substitutedNamed = A._substituteNamed(universe, named, typeArguments, depth); + if (substitutedRequiredPositional === requiredPositional && substitutedOptionalPositional === optionalPositional && substitutedNamed === named) + return functionParameters; + result = new A._FunctionParameters(); + result._requiredPositional = substitutedRequiredPositional; + result._optionalPositional = substitutedOptionalPositional; + result._named = substitutedNamed; + return result; + }, + _setArrayType(target, rti) { + target[init.arrayRti] = rti; + return target; + }, + closureFunctionType(closure) { + var signature = closure.$signature; + if (signature != null) { + if (typeof signature == "number") + return A.getTypeFromTypesTable(signature); + return closure.$signature(); + } + return null; + }, + instanceOrFunctionType(object, testRti) { + var rti; + if (A.Rti__isUnionOfFunctionType(testRti)) + if (object instanceof A.Closure) { + rti = A.closureFunctionType(object); + if (rti != null) + return rti; + } + return A.instanceType(object); + }, + instanceType(object) { + if (object instanceof A.Object) + return A._instanceType(object); + if (Array.isArray(object)) + return A._arrayInstanceType(object); + return A._instanceTypeFromConstructor(J.getInterceptor$(object)); + }, + _arrayInstanceType(object) { + var rti = object[init.arrayRti], + defaultRti = type$.JSArray_dynamic; + if (rti == null) + return defaultRti; + if (rti.constructor !== defaultRti.constructor) + return defaultRti; + return rti; + }, + _instanceType(object) { + var rti = object.$ti; + return rti != null ? rti : A._instanceTypeFromConstructor(object); + }, + _instanceTypeFromConstructor(instance) { + var $constructor = instance.constructor, + probe = $constructor.$ccache; + if (probe != null) + return probe; + return A._instanceTypeFromConstructorMiss(instance, $constructor); + }, + _instanceTypeFromConstructorMiss(instance, $constructor) { + var effectiveConstructor = instance instanceof A.Closure ? Object.getPrototypeOf(Object.getPrototypeOf(instance)).constructor : $constructor, + rti = A._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name); + $constructor.$ccache = rti; + return rti; + }, + getTypeFromTypesTable(index) { + var rti, + table = init.types, + type = table[index]; + if (typeof type == "string") { + rti = A._Universe_eval(init.typeUniverse, type, false); + table[index] = rti; + return rti; + } + return type; + }, + getRuntimeTypeOfDartObject(object) { + return A.createRuntimeType(A._instanceType(object)); + }, + _structuralTypeOf(object) { + var functionRti = object instanceof A.Closure ? A.closureFunctionType(object) : null; + if (functionRti != null) + return functionRti; + if (type$.TrustedGetRuntimeType._is(object)) + return J.get$runtimeType$(object)._rti; + if (Array.isArray(object)) + return A._arrayInstanceType(object); + return A.instanceType(object); + }, + createRuntimeType(rti) { + var t1 = rti._cachedRuntimeType; + 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 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._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._isListTestViaProperty; + if (testRti === type$.JSObject) + return A._isJSObject; + return A._isTestViaProperty; + } + } 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 null; + }, + _installSpecializedAsCheck(object) { + var testRti = this, + asFn = A._generalAsCheckImplementation; + if (A.isTopType(testRti)) + asFn = A._asTop; + else if (testRti === type$.Object) + asFn = A._asObject; + 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); + }, + _generalIsTestImplementation(object) { + var testRti = this; + if (object == null) + return A.isNullable(testRti); + return A.isSubtype(init.typeUniverse, A.instanceOrFunctionType(object, testRti), testRti); + }, + _generalNullableIsTestImplementation(object) { + if (object == null) + return true; + return this._primary._is(object); + }, + _isTestViaProperty(object) { + var tag, testRti = this; + if (object == null) + return A.isNullable(testRti); + tag = testRti._specializedTestResource; + if (object instanceof A.Object) + return !!object[tag]; + return !!J.getInterceptor$(object)[tag]; + }, + _isListTestViaProperty(object) { + var tag, testRti = this; + if (object == null) + return A.isNullable(testRti); + if (typeof object != "object") + return false; + if (Array.isArray(object)) + return true; + tag = testRti._specializedTestResource; + if (object instanceof A.Object) + 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) { + if (A.isNullable(testRti)) + return object; + } else if (testRti._is(object)) + return object; + throw A.initializeExceptionWrapper(A._errorForAsCheck(object, testRti), new Error()); + }, + _generalNullableAsCheckImplementation(object) { + var testRti = this; + if (object == null || testRti._is(object)) + return object; + throw A.initializeExceptionWrapper(A._errorForAsCheck(object, testRti), new Error()); + }, + _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__TypeError$forType(object, type) { + return new A._TypeError("TypeError: " + A._Error_compose(object, type)); + }, + _isFutureOr(object) { + var testRti = this; + return testRti._primary._is(object) || A.Rti__getFutureFromFutureOr(init.typeUniverse, testRti)._is(object); + }, + _isObject(object) { + return object != null; + }, + _asObject(object) { + if (object != null) + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "Object"), new Error()); + }, + _isTop(object) { + return true; + }, + _asTop(object) { + return object; + }, + _isNever(object) { + return false; + }, + _isBool(object) { + return true === object || false === object; + }, + _asBool(object) { + if (true === object) + return true; + if (false === object) + return false; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "bool"), new Error()); + }, + _asBoolQ(object) { + if (true === object) + return true; + if (false === object) + return false; + if (object == null) + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "bool?"), new Error()); + }, + _asDouble(object) { + if (typeof object == "number") + return object; + 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.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "double?"), new Error()); + }, + _isInt(object) { + return typeof object == "number" && Math.floor(object) === object; + }, + _asInt(object) { + if (typeof object == "number" && Math.floor(object) === object) + return object; + 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.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "int?"), new Error()); + }, + _isNum(object) { + return typeof object == "number"; + }, + _asNum(object) { + if (typeof object == "number") + return object; + 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.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "num?"), new Error()); + }, + _isString(object) { + return typeof object == "string"; + }, + _asString(object) { + if (typeof object == "string") + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "String"), new Error()); + }, + _asStringQ(object) { + if (typeof object == "string") + return object; + if (object == null) + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "String?"), new Error()); + }, + _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; + if (A._isJSObjectStandalone(object)) + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "JSObject?"), new Error()); + }, + _rtiArrayToString(array, genericContext) { + var s, sep, i; + for (s = "", sep = "", i = 0; i < array.length; ++i, sep = ", ") + s += sep + A._rtiToString(array[i], genericContext); + return s; + }, + _recordRtiToString(recordType, genericContext) { + var fieldCount, names, namesIndex, s, comma, i, + partialShape = recordType._primary, + fields = recordType._rest; + if ("" === partialShape) + return "(" + A._rtiArrayToString(fields, genericContext) + ")"; + fieldCount = fields.length; + names = partialShape.split(","); + namesIndex = names.length - fieldCount; + for (s = "(", comma = "", i = 0; i < fieldCount; ++i, comma = ", ") { + s += comma; + if (namesIndex === 0) + s += "{"; + s += A._rtiToString(fields[i], genericContext); + if (namesIndex >= 0) + s += " " + names[namesIndex]; + ++namesIndex; + } + return s + "})"; + }, + _functionRtiToString(functionType, genericContext, bounds) { + 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) + genericContext = A._setArrayType([], type$.JSArray_String); + else + outerContextLength = genericContext.length; + offset = genericContext.length; + for (i = boundsLength; i > 0; --i) + B.JSArray_methods.add$1(genericContext, "T" + (offset + i)); + 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)) + typeParametersText += " extends " + A._rtiToString(boundRti, genericContext); + } + typeParametersText += ">"; + } else + typeParametersText = ""; + t1 = functionType._primary; + parameters = functionType._rest; + requiredPositional = parameters._requiredPositional; + requiredPositionalLength = requiredPositional.length; + optionalPositional = parameters._optionalPositional; + optionalPositionalLength = optionalPositional.length; + named = parameters._named; + namedLength = named.length; + returnTypeText = A._rtiToString(t1, genericContext); + for (argumentsText = "", sep = "", i = 0; i < requiredPositionalLength; ++i, sep = _s2_) + argumentsText += sep + A._rtiToString(requiredPositional[i], genericContext); + if (optionalPositionalLength > 0) { + argumentsText += sep + "["; + for (sep = "", i = 0; i < optionalPositionalLength; ++i, sep = _s2_) + argumentsText += sep + A._rtiToString(optionalPositional[i], genericContext); + argumentsText += "]"; + } + if (namedLength > 0) { + argumentsText += sep + "{"; + for (sep = "", i = 0; i < namedLength; i += 3, sep = _s2_) { + argumentsText += sep; + if (named[i + 1]) + argumentsText += "required "; + argumentsText += A._rtiToString(named[i + 2], genericContext) + " " + named[i]; + } + argumentsText += "}"; + } + if (outerContextLength != null) { + genericContext.toString; + genericContext.length = outerContextLength; + } + return typeParametersText + "(" + argumentsText + ") => " + returnTypeText; + }, + _rtiToString(rti, genericContext) { + var questionArgument, s, argumentKind, $name, $arguments, t1, t2, + kind = rti._kind; + if (kind === 5) + return "erased"; + if (kind === 2) + return "dynamic"; + if (kind === 3) + return "void"; + if (kind === 1) + return "Never"; + if (kind === 4) + return "any"; + if (kind === 6) { + questionArgument = rti._primary; + s = A._rtiToString(questionArgument, genericContext); + argumentKind = questionArgument._kind; + return (argumentKind === 11 || argumentKind === 12 ? "(" + s + ")" : s) + "?"; + } + if (kind === 7) + return "FutureOr<" + A._rtiToString(rti._primary, genericContext) + ">"; + if (kind === 8) { + $name = A._unminifyOrTag(rti._primary); + $arguments = rti._rest; + return $arguments.length > 0 ? $name + ("<" + A._rtiArrayToString($arguments, genericContext) + ">") : $name; + } + if (kind === 10) + return A._recordRtiToString(rti, genericContext); + if (kind === 11) + return A._functionRtiToString(rti, genericContext, null); + if (kind === 12) + return A._functionRtiToString(rti._primary, genericContext, rti._rest); + if (kind === 13) { + t1 = rti._primary; + t2 = genericContext.length; + t1 = t2 - 1 - t1; + if (!(t1 >= 0 && t1 < t2)) + return A.ioore(genericContext, t1); + return genericContext[t1]; + } + return "?"; + }, + _unminifyOrTag(rawClassName) { + var preserved = init.mangledGlobalNames[rawClassName]; + if (preserved != null) + return preserved; + return rawClassName; + }, + _Universe_findRule(universe, targetType) { + var rule = universe.tR[targetType]; + for (; typeof rule == "string";) + rule = universe.tR[rule]; + return rule; + }, + _Universe_findErasedType(universe, cls) { + var $length, erased, $arguments, i, $interface, + metadata = universe.eT, + probe = metadata[cls]; + if (probe == null) + return A._Universe_eval(universe, cls, false); + else if (typeof probe == "number") { + $length = probe; + erased = A._Universe__lookupTerminalRti(universe, 5, "#"); + $arguments = A._Utils_newArrayOrEmpty($length); + for (i = 0; i < $length; ++i) + $arguments[i] = erased; + $interface = A._Universe__lookupInterfaceRti(universe, cls, $arguments); + metadata[cls] = $interface; + return $interface; + } else + return probe; + }, + _Universe_addRules(universe, rules) { + return A._Utils_objectAssign(universe.tR, rules); + }, + _Universe_addErasedTypes(universe, types) { + return A._Utils_objectAssign(universe.eT, types); + }, + _Universe_eval(universe, recipe, normalize) { + var rti, + cache = universe.eC, + probe = cache.get(recipe); + if (probe != null) + return probe; + rti = A._Parser_parse(A._Parser_create(universe, null, recipe, false)); + cache.set(recipe, rti); + return rti; + }, + _Universe_evalInEnvironment(universe, environment, recipe) { + var probe, rti, + cache = environment._evalCache; + if (cache == null) + cache = environment._evalCache = new Map(); + probe = cache.get(recipe); + if (probe != null) + return probe; + rti = A._Parser_parse(A._Parser_create(universe, environment, recipe, true)); + cache.set(recipe, rti); + return rti; + }, + _Universe_bind(universe, environment, argumentsRti) { + var argumentsRecipe, probe, rti, + cache = environment._bindCache; + if (cache == null) + cache = environment._bindCache = new Map(); + argumentsRecipe = argumentsRti._canonicalRecipe; + probe = cache.get(argumentsRecipe); + if (probe != null) + return probe; + rti = A._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 9 ? argumentsRti._rest : [argumentsRti]); + cache.set(argumentsRecipe, rti); + return rti; + }, + _Universe__installTypeTests(universe, rti) { + rti._as = A._installSpecializedAsCheck; + rti._is = A._installSpecializedIsTest; + return rti; + }, + _Universe__lookupTerminalRti(universe, kind, key) { + var rti, t1, + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = kind; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupQuestionRti(universe, baseType, normalize) { + var t1, + key = baseType._canonicalRecipe + "?", + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = A._Universe__createQuestionRti(universe, baseType, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createQuestionRti(universe, baseType, key, normalize) { + var baseKind, t1, rti; + if (normalize) { + baseKind = baseType._kind; + t1 = true; + if (!A.isTopType(baseType)) + if (!(baseType === type$.Null || baseType === type$.JSNull)) + if (baseKind !== 6) + t1 = baseKind === 7 && A.isNullable(baseType._primary); + if (t1) + return baseType; + else if (baseKind === 1) + return type$.Null; + } + rti = new A.Rti(null, null); + rti._kind = 6; + rti._primary = baseType; + rti._canonicalRecipe = key; + return A._Universe__installTypeTests(universe, rti); + }, + _Universe__lookupFutureOrRti(universe, baseType, normalize) { + var t1, + key = baseType._canonicalRecipe + "/", + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = A._Universe__createFutureOrRti(universe, baseType, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createFutureOrRti(universe, baseType, key, normalize) { + var t1, rti; + if (normalize) { + t1 = baseType._kind; + if (A.isTopType(baseType) || baseType === type$.Object) + return baseType; + else if (t1 === 1) + return A._Universe__lookupInterfaceRti(universe, "Future", [baseType]); + else if (baseType === type$.Null || baseType === type$.JSNull) + return type$.nullable_Future_Null; + } + rti = new A.Rti(null, null); + rti._kind = 7; + rti._primary = baseType; + rti._canonicalRecipe = key; + return A._Universe__installTypeTests(universe, rti); + }, + _Universe__lookupGenericFunctionParameterRti(universe, index) { + var rti, t1, + key = "" + index + "^", + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 13; + rti._primary = index; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__canonicalRecipeJoin($arguments) { + var s, sep, i, + $length = $arguments.length; + for (s = "", sep = "", i = 0; i < $length; ++i, sep = ",") + s += sep + $arguments[i]._canonicalRecipe; + return s; + }, + _Universe__canonicalRecipeJoinNamed($arguments) { + var s, sep, i, t1, nameSep, + $length = $arguments.length; + for (s = "", sep = "", i = 0; i < $length; i += 3, sep = ",") { + t1 = $arguments[i]; + nameSep = $arguments[i + 1] ? "!" : ":"; + s += sep + t1 + nameSep + $arguments[i + 2]._canonicalRecipe; + } + return s; + }, + _Universe__lookupInterfaceRti(universe, $name, $arguments) { + var probe, rti, t1, + s = $name; + if ($arguments.length > 0) + s += "<" + A._Universe__canonicalRecipeJoin($arguments) + ">"; + probe = universe.eC.get(s); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 8; + rti._primary = $name; + rti._rest = $arguments; + if ($arguments.length > 0) + rti._precomputed1 = $arguments[0]; + rti._canonicalRecipe = s; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(s, t1); + return t1; + }, + _Universe__lookupBindingRti(universe, base, $arguments) { + var newBase, newArguments, key, probe, rti, t1; + if (base._kind === 9) { + newBase = base._primary; + newArguments = base._rest.concat($arguments); + } else { + newArguments = $arguments; + newBase = base; + } + key = newBase._canonicalRecipe + (";<" + A._Universe__canonicalRecipeJoin(newArguments) + ">"); + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 9; + rti._primary = newBase; + rti._rest = newArguments; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupRecordRti(universe, partialShapeTag, fields) { + var rti, t1, + key = "+" + (partialShapeTag + "(" + A._Universe__canonicalRecipeJoin(fields) + ")"), + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 10; + rti._primary = partialShapeTag; + rti._rest = fields; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupFunctionRti(universe, returnType, parameters) { + var sep, key, probe, rti, t1, + s = returnType._canonicalRecipe, + requiredPositional = parameters._requiredPositional, + requiredPositionalLength = requiredPositional.length, + optionalPositional = parameters._optionalPositional, + optionalPositionalLength = optionalPositional.length, + named = parameters._named, + namedLength = named.length, + recipe = "(" + A._Universe__canonicalRecipeJoin(requiredPositional); + if (optionalPositionalLength > 0) { + sep = requiredPositionalLength > 0 ? "," : ""; + recipe += sep + "[" + A._Universe__canonicalRecipeJoin(optionalPositional) + "]"; + } + if (namedLength > 0) { + sep = requiredPositionalLength > 0 ? "," : ""; + recipe += sep + "{" + A._Universe__canonicalRecipeJoinNamed(named) + "}"; + } + key = s + (recipe + ")"); + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 11; + rti._primary = returnType; + rti._rest = parameters; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupGenericFunctionRti(universe, baseFunctionType, bounds, normalize) { + var t1, + key = baseFunctionType._canonicalRecipe + ("<" + A._Universe__canonicalRecipeJoin(bounds) + ">"), + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = A._Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize) { + var $length, typeArguments, count, i, bound, substitutedBase, substitutedBounds, rti; + if (normalize) { + $length = bounds.length; + typeArguments = A._Utils_newArrayOrEmpty($length); + for (count = 0, i = 0; i < $length; ++i) { + bound = bounds[i]; + if (bound._kind === 1) { + typeArguments[i] = bound; + ++count; + } + } + if (count > 0) { + substitutedBase = A._substitute(universe, baseFunctionType, typeArguments, 0); + substitutedBounds = A._substituteArray(universe, bounds, typeArguments, 0); + return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, bounds !== substitutedBounds); + } + } + rti = new A.Rti(null, null); + rti._kind = 12; + rti._primary = baseFunctionType; + rti._rest = bounds; + rti._canonicalRecipe = key; + return A._Universe__installTypeTests(universe, rti); + }, + _Parser_create(universe, environment, recipe, normalize) { + return {u: universe, e: environment, r: recipe, s: [], p: 0, n: normalize}; + }, + _Parser_parse(parser) { + var t1, i, ch, u, array, end, item, + source = parser.r, + 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, stack); + else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36 || ch === 124) + i = A._Parser_handleIdentifier(parser, i, source, stack, false); + else if (ch === 46) + i = A._Parser_handleIdentifier(parser, i, source, stack, true); + else { + ++i; + switch (ch) { + case 44: + break; + case 58: + stack.push(false); + break; + case 33: + stack.push(true); + break; + case 59: + stack.push(A._Parser_toType(parser.u, parser.e, stack.pop())); + break; + case 94: + stack.push(A._Universe__lookupGenericFunctionParameterRti(parser.u, stack.pop())); + break; + case 35: + stack.push(A._Universe__lookupTerminalRti(parser.u, 5, "#")); + break; + case 64: + stack.push(A._Universe__lookupTerminalRti(parser.u, 2, "@")); + break; + case 126: + stack.push(A._Universe__lookupTerminalRti(parser.u, 3, "~")); + break; + case 60: + stack.push(parser.p); + parser.p = stack.length; + break; + case 62: + A._Parser_handleTypeArguments(parser, stack); + break; + case 38: + A._Parser_handleExtendedOperations(parser, stack); + break; + case 63: + u = parser.u; + stack.push(A._Universe__lookupQuestionRti(u, A._Parser_toType(u, parser.e, stack.pop()), parser.n)); + break; + case 47: + u = parser.u; + stack.push(A._Universe__lookupFutureOrRti(u, A._Parser_toType(u, parser.e, stack.pop()), parser.n)); + break; + case 40: + stack.push(-3); + stack.push(parser.p); + parser.p = stack.length; + break; + case 41: + A._Parser_handleArguments(parser, stack); + break; + case 91: + stack.push(parser.p); + parser.p = stack.length; + break; + case 93: + array = stack.splice(parser.p); + A._Parser_toTypes(parser.u, parser.e, array); + parser.p = stack.pop(); + stack.push(array); + stack.push(-1); + break; + case 123: + stack.push(parser.p); + parser.p = stack.length; + break; + case 125: + array = stack.splice(parser.p); + A._Parser_toTypesNamed(parser.u, parser.e, array); + parser.p = stack.pop(); + stack.push(array); + stack.push(-2); + break; + case 43: + end = source.indexOf("(", i); + stack.push(source.substring(i, end)); + stack.push(-4); + stack.push(parser.p); + parser.p = stack.length; + i = end + 1; + break; + default: + throw "Bad character " + ch; + } + } + } + item = stack.pop(); + return A._Parser_toType(parser.u, parser.e, item); + }, + _Parser_handleDigit(i, digit, source, stack) { + var t1, ch, + value = digit - 48; + for (t1 = source.length; i < t1; ++i) { + ch = source.charCodeAt(i); + if (!(ch >= 48 && ch <= 57)) + break; + value = value * 10 + (ch - 48); + } + stack.push(value); + return i; + }, + _Parser_handleIdentifier(parser, start, source, stack, hasPeriod) { + var t1, ch, t2, string, environment, recipe, + i = start + 1; + for (t1 = source.length; i < t1; ++i) { + ch = source.charCodeAt(i); + if (ch === 46) { + if (hasPeriod) + break; + hasPeriod = true; + } else { + if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36 || ch === 124)) + t2 = ch >= 48 && ch <= 57; + else + t2 = true; + if (!t2) + break; + } + } + string = source.substring(start, i); + if (hasPeriod) { + t1 = parser.u; + environment = parser.e; + if (environment._kind === 9) + environment = environment._primary; + recipe = A._Universe_findRule(t1, environment._primary)[string]; + if (recipe == null) + A.throwExpression('No "' + string + '" in "' + A.Rti__getCanonicalRecipe(environment) + '"'); + stack.push(A._Universe_evalInEnvironment(t1, environment, recipe)); + } else + stack.push(string); + return i; + }, + _Parser_handleTypeArguments(parser, stack) { + var base, + universe = parser.u, + $arguments = A._Parser_collectArray(parser, stack), + head = stack.pop(); + if (typeof head == "string") + stack.push(A._Universe__lookupInterfaceRti(universe, head, $arguments)); + else { + base = A._Parser_toType(universe, parser.e, head); + switch (base._kind) { + case 11: + stack.push(A._Universe__lookupGenericFunctionRti(universe, base, $arguments, parser.n)); + break; + default: + stack.push(A._Universe__lookupBindingRti(universe, base, $arguments)); + break; + } + } + }, + _Parser_handleArguments(parser, stack) { + var requiredPositional, returnType, parameters, + universe = parser.u, + head = stack.pop(), + optionalPositional = null, named = null; + if (typeof head == "number") + switch (head) { + case -1: + optionalPositional = stack.pop(); + break; + case -2: + named = stack.pop(); + break; + default: + stack.push(head); + break; + } + else + stack.push(head); + requiredPositional = A._Parser_collectArray(parser, stack); + head = stack.pop(); + switch (head) { + case -3: + head = stack.pop(); + if (optionalPositional == null) + optionalPositional = universe.sEA; + if (named == null) + 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(universe, returnType, parameters)); + return; + case -4: + stack.push(A._Universe__lookupRecordRti(universe, stack.pop(), requiredPositional)); + return; + default: + throw A.wrapException(A.AssertionError$("Unexpected state under `()`: " + A.S(head))); + } + }, + _Parser_handleExtendedOperations(parser, stack) { + var $top = stack.pop(); + if (0 === $top) { + stack.push(A._Universe__lookupTerminalRti(parser.u, 1, "0&")); + return; + } + if (1 === $top) { + stack.push(A._Universe__lookupTerminalRti(parser.u, 4, "1&")); + return; + } + throw A.wrapException(A.AssertionError$("Unexpected extended operation " + A.S($top))); + }, + _Parser_collectArray(parser, stack) { + var array = stack.splice(parser.p); + A._Parser_toTypes(parser.u, parser.e, array); + parser.p = stack.pop(); + return array; + }, + _Parser_toType(universe, environment, item) { + if (typeof item == "string") + return A._Universe__lookupInterfaceRti(universe, item, universe.sEA); + else if (typeof item == "number") { + environment.toString; + return A._Parser_indexToType(universe, environment, item); + } else + return item; + }, + _Parser_toTypes(universe, environment, items) { + var i, + $length = items.length; + for (i = 0; i < $length; ++i) + items[i] = A._Parser_toType(universe, environment, items[i]); + }, + _Parser_toTypesNamed(universe, environment, items) { + var i, + $length = items.length; + for (i = 2; i < $length; i += 3) + items[i] = A._Parser_toType(universe, environment, items[i]); + }, + _Parser_indexToType(universe, environment, index) { + var typeArguments, len, + kind = environment._kind; + if (kind === 9) { + if (index === 0) + return environment._primary; + typeArguments = environment._rest; + len = typeArguments.length; + if (index <= len) + return typeArguments[index - 1]; + index -= len; + environment = environment._primary; + kind = environment._kind; + } else if (index === 0) + return environment; + if (kind !== 8) + throw A.wrapException(A.AssertionError$("Indexed base must be an interface type")); + typeArguments = environment._rest; + if (index <= typeArguments.length) + return typeArguments[index - 1]; + throw A.wrapException(A.AssertionError$("Bad index " + index + " for " + environment.toString$0(0))); + }, + isSubtype(universe, s, t) { + var result, + sCache = s._isSubtypeCache; + if (sCache == null) + sCache = s._isSubtypeCache = new Map(); + result = sCache.get(t); + if (result == null) { + result = A._isSubtype(universe, s, null, t, null); + sCache.set(t, result); + } + return result; + }, + _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.isTopType(t)) + return true; + sKind = s._kind; + if (sKind === 4) + return true; + if (A.isTopType(s)) + return false; + if (s._kind === 1) + return true; + leftTypeVariable = sKind === 13; + if (leftTypeVariable) + if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv)) + return true; + tKind = t._kind; + 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 === 7) + return A._isSubtype(universe, s._primary, sEnv, t, tEnv); + return sKind !== 6; + } + if (sKind === 7) { + 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) { + 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 !== 11; + if ((!t1 || sKind === 12) && t === type$.Function) + return true; + t2 = sKind === 10; + if (t2 && t === type$.Record) + return true; + if (tKind === 12) { + if (s === type$.JavaScriptFunction) + return true; + if (sKind !== 12) + return false; + sBounds = s._rest; + tBounds = t._rest; + sLength = sBounds.length; + if (sLength !== tBounds.length) + return false; + sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv); + tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv); + for (i = 0; i < sLength; ++i) { + sBound = sBounds[i]; + tBound = tBounds[i]; + 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); + } + if (tKind === 11) { + if (s === type$.JavaScriptFunction) + return true; + if (t1) + return false; + return A._isFunctionSubtype(universe, s, sEnv, t, tEnv); + } + if (sKind === 8) { + if (tKind !== 8) + return false; + return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv); + } + if (t2 && tKind === 10) + return A._isRecordSubtype(universe, s, sEnv, t, tEnv); + return false; + }, + _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)) + return false; + sParameters = s._rest; + tParameters = t._rest; + sRequiredPositional = sParameters._requiredPositional; + tRequiredPositional = tParameters._requiredPositional; + sRequiredPositionalLength = sRequiredPositional.length; + tRequiredPositionalLength = tRequiredPositional.length; + if (sRequiredPositionalLength > tRequiredPositionalLength) + return false; + requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength; + sOptionalPositional = sParameters._optionalPositional; + tOptionalPositional = tParameters._optionalPositional; + sOptionalPositionalLength = sOptionalPositional.length; + tOptionalPositionalLength = tOptionalPositional.length; + if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength) + return false; + for (i = 0; i < sRequiredPositionalLength; ++i) { + t1 = sRequiredPositional[i]; + 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)) + return false; + } + for (i = 0; i < tOptionalPositionalLength; ++i) { + t1 = sOptionalPositional[requiredPositionalDelta + i]; + if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv)) + return false; + } + sNamed = sParameters._named; + tNamed = tParameters._named; + sNamedLength = sNamed.length; + tNamedLength = tNamed.length; + for (sIndex = 0, tIndex = 0; tIndex < tNamedLength; tIndex += 3) { + tName = tNamed[tIndex]; + for (; true;) { + if (sIndex >= sNamedLength) + return false; + sName = sNamed[sIndex]; + sIndex += 3; + if (tName < sName) + return false; + sIsRequired = sNamed[sIndex - 2]; + if (sName < tName) { + if (sIsRequired) + return false; + continue; + } + t1 = tNamed[tIndex + 1]; + if (sIsRequired && !t1) + return false; + t1 = sNamed[sIndex - 1]; + if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv)) + return false; + break; + } + } + for (; sIndex < sNamedLength;) { + if (sNamed[sIndex + 1]) + return false; + sIndex += 3; + } + return true; + }, + _isInterfaceSubtype(universe, s, sEnv, t, tEnv) { + var rule, recipes, $length, supertypeArgs, i, + sName = s._primary, + tName = t._primary; + for (; sName !== tName;) { + rule = universe.tR[sName]; + if (rule == null) + return false; + if (typeof rule == "string") { + sName = rule; + continue; + } + recipes = rule[tName]; + if (recipes == null) + return false; + $length = recipes.length; + 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); + } + return A._areArgumentsSubtypes(universe, s._rest, null, sEnv, t._rest, tEnv); + }, + _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)) + return false; + return true; + }, + _isRecordSubtype(universe, s, sEnv, t, tEnv) { + var i, + sFields = s._rest, + tFields = t._rest, + sCount = sFields.length; + if (sCount !== tFields.length) + return false; + if (s._primary !== t._primary) + return false; + for (i = 0; i < sCount; ++i) + if (!A._isSubtype(universe, sFields[i], sEnv, tFields[i], tEnv)) + return false; + return true; + }, + isNullable(t) { + var kind = t._kind, + t1 = true; + if (!(t === type$.Null || t === type$.JSNull)) + if (!A.isTopType(t)) + if (kind !== 6) + t1 = kind === 7 && A.isNullable(t._primary); + return t1; + }, + isTopType(t) { + var kind = t._kind; + return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object; + }, + _Utils_objectAssign(o, other) { + var i, key, + keys = Object.keys(other), + $length = keys.length; + for (i = 0; i < $length; ++i) { + key = keys[i]; + o[key] = other[key]; + } + }, + _Utils_newArrayOrEmpty($length) { + return $length > 0 ? new Array($length) : init.typeUniverse.sEA; + }, + Rti: function Rti(t0, t1) { + var _ = this; + _._as = t0; + _._is = t1; + _._cachedRuntimeType = _._specializedTestResource = _._isSubtypeCache = _._precomputed1 = null; + _._kind = 0; + _._canonicalRecipe = _._bindCache = _._evalCache = _._rest = _._primary = null; + }, + _FunctionParameters: function _FunctionParameters() { + this._named = this._optionalPositional = this._requiredPositional = null; + }, + _Type: function _Type(t0) { + this._rti = t0; + }, + _Error: function _Error() { + }, + _TypeError: function _TypeError(t0) { + this.__rti$_message = t0; + }, + _AsyncRun__initializeScheduleImmediate() { + var t1, div, span; + if (self.scheduleImmediate != null) + return A.async__AsyncRun__scheduleImmediateJsOverride$closure(); + if (self.MutationObserver != null && self.document != null) { + t1 = {}; + div = self.document.createElement("div"); + span = self.document.createElement("span"); + t1.storedCallback = null; + new self.MutationObserver(A.convertDartClosureToJS(new A._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, {childList: true}); + return new A._AsyncRun__initializeScheduleImmediate_closure(t1, div, span); + } else if (self.setImmediate != null) + return A.async__AsyncRun__scheduleImmediateWithSetImmediate$closure(); + return A.async__AsyncRun__scheduleImmediateWithTimer$closure(); + }, + _AsyncRun__scheduleImmediateJsOverride(callback) { + self.scheduleImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateJsOverride_internalCallback(type$.void_Function._as(callback)), 0)); + }, + _AsyncRun__scheduleImmediateWithSetImmediate(callback) { + self.setImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(type$.void_Function._as(callback)), 0)); + }, + _AsyncRun__scheduleImmediateWithTimer(callback) { + type$.void_Function._as(callback); + A._TimerImpl$(0, callback); + }, + _TimerImpl$(milliseconds, callback) { + var t1 = new A._TimerImpl(); + t1._TimerImpl$2(milliseconds, callback); + return t1; + }, + _makeAsyncAwaitCompleter($T) { + return new A._AsyncAwaitCompleter(new A._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncAwaitCompleter<0>")); + }, + _asyncStartSync(bodyFunction, completer) { + bodyFunction.call$2(0, null); + completer.isSync = true; + return completer._future; + }, + _asyncAwait(object, bodyFunction) { + A._awaitOnObject(object, bodyFunction); + }, + _asyncReturn(object, completer) { + completer.complete$1(object); + }, + _asyncRethrow(object, completer) { + completer.completeError$2(A.unwrapException(object), A.getTraceFromException(object)); + }, + _awaitOnObject(object, bodyFunction) { + var t1, future, + thenCallback = new A._awaitOnObject_closure(bodyFunction), + errorCallback = new A._awaitOnObject_closure0(bodyFunction); + if (object instanceof A._Future) + object._thenAwait$1$2(thenCallback, errorCallback, type$.dynamic); + else { + t1 = type$.dynamic; + if (object instanceof A._Future) + object.then$1$2$onError(thenCallback, errorCallback, t1); + else { + future = new A._Future($.Zone__current, type$._Future_dynamic); + future._state = 8; + future._resultOrListeners = object; + future._thenAwait$1$2(thenCallback, errorCallback, t1); + } + } + }, + _wrapJsFunctionForAsync($function) { + var $protected = function(fn, ERROR) { + return function(errorCode, result) { + while (true) { + try { + fn(errorCode, result); + break; + } catch (error) { + result = error; + errorCode = ERROR; + } + } + }; + }($function, 1); + return $.Zone__current.registerBinaryCallback$3$1(new A._wrapJsFunctionForAsync_closure($protected), type$.void, type$.int, type$.dynamic); + }, + AsyncError_defaultStackTrace(error) { + var stackTrace; + if (type$.Error._is(error)) { + stackTrace = error.get$stackTrace(); + if (stackTrace != null) + return stackTrace; + } + return B.C__StringStackTrace; + }, + _interceptError(error, stackTrace) { + if ($.Zone__current === B.C__RootZone) + return null; + return null; + }, + _interceptUserError(error, stackTrace) { + if ($.Zone__current !== B.C__RootZone) + A._interceptError(error, stackTrace); + if (stackTrace == null) + if (type$.Error._is(error)) { + stackTrace = error.get$stackTrace(); + if (stackTrace == null) { + A.Primitives_trySetStackTrace(error, B.C__StringStackTrace); + stackTrace = B.C__StringStackTrace; + } + } else + stackTrace = B.C__StringStackTrace; + else if (type$.Error._is(error)) + A.Primitives_trySetStackTrace(error, stackTrace); + return new A.AsyncError(error, stackTrace); + }, + _Future__chainCoreFuture(source, target, sync) { + var t2, t3, ignoreError, listeners, _box_0 = {}, + t1 = _box_0.source = source; + for (t2 = type$._Future_dynamic; t3 = t1._state, (t3 & 4) !== 0; t1 = source) { + source = t2._as(t1._resultOrListeners); + _box_0.source = source; + } + if (t1 === target) { + 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; + t2 = t1._state = t3 | ignoreError; + if ((t2 & 24) === 0) { + listeners = type$.nullable__FutureListener_dynamic_dynamic._as(target._resultOrListeners); + target._state = target._state & 1 | 4; + target._resultOrListeners = t1; + t1._prependListeners$1(listeners); + return; + } + if (!sync) + if (target._resultOrListeners == null) + t1 = (t2 & 16) === 0 || ignoreError !== 0; + else + t1 = false; + else + t1 = true; + if (t1) { + listeners = target._removeListeners$0(); + target._cloneResult$1(_box_0.source); + A._Future__propagateToListeners(target, listeners); + return; + } + target._state ^= 2; + 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, _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; true;) { + _box_0 = {}; + t4 = t1._state; + t5 = (t4 & 16) === 0; + hasError = !t5; + if (listeners == null) { + if (hasError && (t4 & 1) === 0) { + asyncError = t2._as(t1._resultOrListeners); + A._rootHandleError(asyncError.error, asyncError.stackTrace); + } + return; + } + _box_0.listener = listeners; + nextListener = listeners._nextListener; + for (t1 = listeners; nextListener != null; t1 = nextListener, nextListener = nextListener0) { + t1._nextListener = null; + A._Future__propagateToListeners(_box_1.source, t1); + _box_0.listener = nextListener; + nextListener0 = nextListener._nextListener; + } + t4 = _box_1.source; + sourceResult = t4._resultOrListeners; + _box_0.listenerHasError = hasError; + _box_0.listenerValueOrError = sourceResult; + if (t5) { + t6 = t1.state; + t6 = (t6 & 1) !== 0 || (t6 & 15) === 8; + } else + t6 = true; + if (t6) { + zone = t1.result._zone; + if (hasError) { + t4 = t4._zone === zone; + t4 = !(t4 || t4); + } else + t4 = false; + if (t4) { + t2._as(sourceResult); + A._rootHandleError(sourceResult.error, sourceResult.stackTrace); + return; + } + oldZone = $.Zone__current; + if (oldZone !== zone) + $.Zone__current = zone; + else + oldZone = null; + t1 = t1.state; + if ((t1 & 15) === 8) + new A._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0(); + else if (t5) { + if ((t1 & 1) !== 0) + new A._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0(); + } else if ((t1 & 2) !== 0) + new A._Future__propagateToListeners_handleError(_box_1, _box_0).call$0(); + if (oldZone != null) + $.Zone__current = oldZone; + t1 = _box_0.listenerValueOrError; + if (t1 instanceof A._Future) { + t4 = _box_0.listener.$ti; + t4 = t4._eval$1("Future<2>")._is(t1) || !t4._rest[1]._is(t1); + } else + t4 = false; + if (t4) { + result = _box_0.listener.result; + if ((t1._state & 24) !== 0) { + current = t3._as(result._resultOrListeners); + result._resultOrListeners = null; + listeners = result._reverseListeners$1(current); + result._state = t1._state & 30 | result._state & 1; + result._resultOrListeners = t1._resultOrListeners; + _box_1.source = t1; + continue; + } else + A._Future__chainCoreFuture(t1, result, true); + return; + } + } + result = _box_0.listener.result; + current = t3._as(result._resultOrListeners); + result._resultOrListeners = null; + listeners = result._reverseListeners$1(current); + t1 = _box_0.listenerHasError; + t4 = _box_0.listenerValueOrError; + if (!t1) { + result.$ti._precomputed1._as(t4); + result._state = 8; + result._resultOrListeners = t4; + } else { + t2._as(t4); + result._state = result._state & 1 | 16; + result._resultOrListeners = t4; + } + _box_1.source = result; + t1 = result; + } + }, + _registerErrorHandler(errorHandler, zone) { + var t1; + if (type$.dynamic_Function_Object_StackTrace._is(errorHandler)) + return zone.registerBinaryCallback$3$1(errorHandler, type$.dynamic, type$.Object, type$.StackTrace); + t1 = type$.dynamic_Function_Object; + if (t1._is(errorHandler)) + return t1._as(errorHandler); + throw A.wrapException(A.ArgumentError$value(errorHandler, "onError", string$.Error_)); + }, + _microtaskLoop() { + var entry, next; + for (entry = $._nextCallback; entry != null; entry = $._nextCallback) { + $._lastPriorityCallback = null; + next = entry.next; + $._nextCallback = next; + if (next == null) + $._lastCallback = null; + entry.callback.call$0(); + } + }, + _startMicrotaskLoop() { + $._isInCallbackLoop = true; + try { + A._microtaskLoop(); + } finally { + $._lastPriorityCallback = null; + $._isInCallbackLoop = false; + if ($._nextCallback != null) + $.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure()); + } + }, + _scheduleAsyncCallback(callback) { + var newEntry = new A._AsyncCallbackEntry(callback), + lastCallback = $._lastCallback; + if (lastCallback == null) { + $._nextCallback = $._lastCallback = newEntry; + if (!$._isInCallbackLoop) + $.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure()); + } else + $._lastCallback = lastCallback.next = newEntry; + }, + _schedulePriorityAsyncCallback(callback) { + var entry, lastPriorityCallback, next, + t1 = $._nextCallback; + if (t1 == null) { + A._scheduleAsyncCallback(callback); + $._lastPriorityCallback = $._lastCallback; + return; + } + entry = new A._AsyncCallbackEntry(callback); + lastPriorityCallback = $._lastPriorityCallback; + if (lastPriorityCallback == null) { + entry.next = t1; + $._nextCallback = $._lastPriorityCallback = entry; + } else { + next = lastPriorityCallback.next; + entry.next = next; + $._lastPriorityCallback = lastPriorityCallback.next = entry; + if (next == null) + $._lastCallback = entry; + } + }, + scheduleMicrotask(callback) { + var _null = null, + currentZone = $.Zone__current; + if (B.C__RootZone === currentZone) { + A._rootScheduleMicrotask(_null, _null, B.C__RootZone, callback); + return; + } + A._rootScheduleMicrotask(_null, _null, currentZone, type$.void_Function._as(currentZone.bindCallbackGuarded$1(callback))); + }, + StreamIterator_StreamIterator(stream, $T) { + A.checkNotNullable(stream, "stream", type$.Object); + return new A._StreamIterator($T._eval$1("_StreamIterator<0>")); + }, + _runGuarded(notificationHandler) { + return; + }, + _BufferingStreamSubscription__registerErrorHandler(zone, handleError) { + if (handleError == null) + handleError = A.async___nullErrorHandler$closure(); + if (type$.void_Function_Object_StackTrace._is(handleError)) + return zone.registerBinaryCallback$3$1(handleError, type$.dynamic, type$.Object, type$.StackTrace); + if (type$.void_Function_Object._is(handleError)) + return type$.dynamic_Function_Object._as(handleError); + throw A.wrapException(A.ArgumentError$("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.", null)); + }, + _nullErrorHandler(error, stackTrace) { + A._rootHandleError(error, stackTrace); + }, + _nullDoneHandler() { + }, + _rootHandleError(error, stackTrace) { + A._schedulePriorityAsyncCallback(new A._rootHandleError_closure(error, stackTrace)); + }, + _rootRun($self, $parent, zone, f, $R) { + var old, + t1 = $.Zone__current; + if (t1 === zone) + return f.call$0(); + $.Zone__current = zone; + old = t1; + try { + t1 = f.call$0(); + return t1; + } finally { + $.Zone__current = old; + } + }, + _rootRunUnary($self, $parent, zone, f, arg, $R, $T) { + var old, + t1 = $.Zone__current; + if (t1 === zone) + return f.call$1(arg); + $.Zone__current = zone; + old = t1; + try { + t1 = f.call$1(arg); + return t1; + } finally { + $.Zone__current = old; + } + }, + _rootRunBinary($self, $parent, zone, f, arg1, arg2, $R, $T1, $T2) { + var old, + t1 = $.Zone__current; + if (t1 === zone) + return f.call$2(arg1, arg2); + $.Zone__current = zone; + old = t1; + try { + t1 = f.call$2(arg1, arg2); + return t1; + } finally { + $.Zone__current = old; + } + }, + _rootScheduleMicrotask($self, $parent, zone, f) { + type$.void_Function._as(f); + if (B.C__RootZone !== zone) { + f = zone.bindCallbackGuarded$1(f); + f = f; + } + A._scheduleAsyncCallback(f); + }, + _AsyncRun__initializeScheduleImmediate_internalCallback: function _AsyncRun__initializeScheduleImmediate_internalCallback(t0) { + this._box_0 = t0; + }, + _AsyncRun__initializeScheduleImmediate_closure: function _AsyncRun__initializeScheduleImmediate_closure(t0, t1, t2) { + this._box_0 = t0; + this.div = t1; + this.span = t2; + }, + _AsyncRun__scheduleImmediateJsOverride_internalCallback: function _AsyncRun__scheduleImmediateJsOverride_internalCallback(t0) { + this.callback = t0; + }, + _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: function _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(t0) { + this.callback = t0; + }, + _TimerImpl: function _TimerImpl() { + }, + _TimerImpl_internalCallback: function _TimerImpl_internalCallback(t0, t1) { + this.$this = t0; + this.callback = t1; + }, + _AsyncAwaitCompleter: function _AsyncAwaitCompleter(t0, t1) { + this._future = t0; + this.isSync = false; + this.$ti = t1; + }, + _awaitOnObject_closure: function _awaitOnObject_closure(t0) { + this.bodyFunction = t0; + }, + _awaitOnObject_closure0: function _awaitOnObject_closure0(t0) { + this.bodyFunction = t0; + }, + _wrapJsFunctionForAsync_closure: function _wrapJsFunctionForAsync_closure(t0) { + this.$protected = t0; + }, + AsyncError: function AsyncError(t0, t1) { + this.error = t0; + this.stackTrace = t1; + }, + _BroadcastStream: function _BroadcastStream(t0, t1) { + this._async$_controller = t0; + this.$ti = t1; + }, + _BroadcastSubscription: function _BroadcastSubscription(t0, t1, t2, t3, t4) { + var _ = this; + _._eventState = 0; + _._async$_previous = _._async$_next = null; + _._async$_controller = t0; + _._onData = t1; + _._zone = t2; + _._state = t3; + _._pending = null; + _.$ti = t4; + }, + _BroadcastStreamController: function _BroadcastStreamController() { + }, + _SyncBroadcastStreamController: function _SyncBroadcastStreamController(t0, t1, t2) { + var _ = this; + _.onListen = t0; + _.onCancel = t1; + _._state = 0; + _._lastSubscription = _._firstSubscription = null; + _.$ti = t2; + }, + _SyncBroadcastStreamController__sendData_closure: function _SyncBroadcastStreamController__sendData_closure(t0, t1) { + this.$this = t0; + this.data = t1; + }, + _Completer: function _Completer() { + }, + _AsyncCompleter: function _AsyncCompleter(t0, t1) { + this.future = t0; + this.$ti = t1; + }, + _FutureListener: function _FutureListener(t0, t1, t2, t3, t4) { + var _ = this; + _._nextListener = null; + _.result = t0; + _.state = t1; + _.callback = t2; + _.errorCallback = t3; + _.$ti = t4; + }, + _Future: function _Future(t0, t1) { + var _ = this; + _._state = 0; + _._zone = t0; + _._resultOrListeners = null; + _.$ti = t1; + }, + _Future__addListener_closure: function _Future__addListener_closure(t0, t1) { + this.$this = t0; + this.listener = t1; + }, + _Future__prependListeners_closure: function _Future__prependListeners_closure(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + _Future__chainCoreFuture_closure: function _Future__chainCoreFuture_closure(t0, t1) { + this._box_0 = t0; + this.target = t1; + }, + _Future__asyncCompleteWithValue_closure: function _Future__asyncCompleteWithValue_closure(t0, t1) { + this.$this = t0; + this.value = t1; + }, + _Future__asyncCompleteErrorObject_closure: function _Future__asyncCompleteErrorObject_closure(t0, t1) { + this.$this = t0; + this.error = t1; + }, + _Future__propagateToListeners_handleWhenCompleteCallback: function _Future__propagateToListeners_handleWhenCompleteCallback(t0, t1, t2) { + this._box_0 = t0; + this._box_1 = t1; + this.hasError = t2; + }, + _Future__propagateToListeners_handleWhenCompleteCallback_closure: function _Future__propagateToListeners_handleWhenCompleteCallback_closure(t0, t1) { + this.joinedResult = t0; + this.originalSource = t1; + }, + _Future__propagateToListeners_handleWhenCompleteCallback_closure0: function _Future__propagateToListeners_handleWhenCompleteCallback_closure0(t0) { + this.joinedResult = t0; + }, + _Future__propagateToListeners_handleValueCallback: function _Future__propagateToListeners_handleValueCallback(t0, t1) { + this._box_0 = t0; + this.sourceResult = t1; + }, + _Future__propagateToListeners_handleError: function _Future__propagateToListeners_handleError(t0, t1) { + this._box_1 = t0; + this._box_0 = t1; + }, + _AsyncCallbackEntry: function _AsyncCallbackEntry(t0) { + this.callback = t0; + this.next = null; + }, + Stream: function Stream() { + }, + Stream_length_closure: function Stream_length_closure(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + Stream_length_closure0: function Stream_length_closure0(t0, t1) { + this._box_0 = t0; + this.future = t1; + }, + _ControllerStream: function _ControllerStream() { + }, + _ControllerSubscription: function _ControllerSubscription() { + }, + _BufferingStreamSubscription: function _BufferingStreamSubscription() { + }, + _StreamImpl: function _StreamImpl() { + }, + _DelayedEvent: function _DelayedEvent() { + }, + _DelayedData: function _DelayedData(t0, t1) { + this.value = t0; + this.next = null; + this.$ti = t1; + }, + _PendingEvents: function _PendingEvents(t0) { + var _ = this; + _._state = 0; + _.lastPendingEvent = _.firstPendingEvent = null; + _.$ti = t0; + }, + _PendingEvents_schedule_closure: function _PendingEvents_schedule_closure(t0, t1) { + this.$this = t0; + this.dispatch = t1; + }, + _DoneStreamSubscription: function _DoneStreamSubscription(t0, t1) { + var _ = this; + _._state = 1; + _._zone = t0; + _._onDone = null; + _.$ti = t1; + }, + _StreamIterator: function _StreamIterator(t0) { + this.$ti = t0; + }, + _Zone: function _Zone() { + }, + _rootHandleError_closure: function _rootHandleError_closure(t0, t1) { + this.error = t0; + this.stackTrace = t1; + }, + _RootZone: function _RootZone() { + }, + _RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) { + this.$this = t0; + this.f = t1; + }, + _HashMap__getTableEntry(table, key) { + var entry = table[key]; + return entry === table ? null : entry; + }, + _HashMap__setTableEntry(table, key, value) { + if (value == null) + table[key] = table; + else + table[key] = value; + }, + _HashMap__newHashTable() { + var table = Object.create(null); + A._HashMap__setTableEntry(table, "", table); + delete table[""]; + return table; + }, + LinkedHashMap_LinkedHashMap$_literal(keyValuePairs, $K, $V) { + return $K._eval$1("@<0>")._bind$1($V)._eval$1("LinkedHashMap<1,2>")._as(A.fillLiteralMap(keyValuePairs, new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")))); + }, + LinkedHashMap_LinkedHashMap$_empty($K, $V) { + return new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")); + }, + MapBase_mapToString(m) { + var result, t1; + if (A.isToStringVisiting(m)) + return "{...}"; + result = new A.StringBuffer(""); + try { + t1 = {}; + B.JSArray_methods.add$1($.toStringVisiting, m); + result._contents += "{"; + t1.first = true; + m.forEach$1(0, new A.MapBase_mapToString_closure(t1, result)); + result._contents += "}"; + } finally { + if (0 >= $.toStringVisiting.length) + return A.ioore($.toStringVisiting, -1); + $.toStringVisiting.pop(); + } + t1 = result._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _HashMap: function _HashMap() { + }, + _IdentityHashMap: function _IdentityHashMap(t0) { + var _ = this; + _._collection$_length = 0; + _._collection$_keys = _._collection$_rest = _._collection$_nums = _._collection$_strings = null; + _.$ti = t0; + }, + _HashMapKeyIterable: function _HashMapKeyIterable(t0, t1) { + this._collection$_map = t0; + this.$ti = t1; + }, + _HashMapKeyIterator: function _HashMapKeyIterator(t0, t1, t2) { + var _ = this; + _._collection$_map = t0; + _._collection$_keys = t1; + _._offset = 0; + _._collection$_current = null; + _.$ti = t2; + }, + ListBase: function ListBase() { + }, + MapBase: function MapBase() { + }, + MapBase_mapToString_closure: function MapBase_mapToString_closure(t0, t1) { + this._box_0 = t0; + this.result = t1; + }, + _UnmodifiableMapMixin: function _UnmodifiableMapMixin() { + }, + MapView: function MapView() { + }, + UnmodifiableMapView: function UnmodifiableMapView() { + }, + _UnmodifiableMapView_MapView__UnmodifiableMapMixin: function _UnmodifiableMapView_MapView__UnmodifiableMapMixin() { + }, + _Base64Encoder_encodeChunk(alphabet, bytes, start, end, isLast, output, outputIndex, state) { + var t1, t2, t3, i, byteOr, byte, outputIndex0, t4, t5, outputIndex1, + bits = state >>> 2, + expectedChars = 3 - (state & 3); + for (t1 = bytes.length, t2 = alphabet.length, t3 = output.$flags | 0, i = start, byteOr = 0; i < end; ++i) { + if (!(i < t1)) + return A.ioore(bytes, i); + byte = bytes[i]; + byteOr |= byte; + bits = (bits << 8 | byte) & 16777215; + --expectedChars; + if (expectedChars === 0) { + outputIndex0 = outputIndex + 1; + t4 = bits >>> 18 & 63; + if (!(t4 < t2)) + return A.ioore(alphabet, t4); + t3 & 2 && A.throwUnsupportedOperation(output); + t5 = output.length; + if (!(outputIndex < t5)) + return A.ioore(output, outputIndex); + output[outputIndex] = alphabet.charCodeAt(t4); + outputIndex = outputIndex0 + 1; + t4 = bits >>> 12 & 63; + if (!(t4 < t2)) + return A.ioore(alphabet, t4); + if (!(outputIndex0 < t5)) + return A.ioore(output, outputIndex0); + output[outputIndex0] = alphabet.charCodeAt(t4); + outputIndex0 = outputIndex + 1; + t4 = bits >>> 6 & 63; + if (!(t4 < t2)) + return A.ioore(alphabet, t4); + if (!(outputIndex < t5)) + return A.ioore(output, outputIndex); + output[outputIndex] = alphabet.charCodeAt(t4); + outputIndex = outputIndex0 + 1; + t4 = bits & 63; + if (!(t4 < t2)) + return A.ioore(alphabet, t4); + if (!(outputIndex0 < t5)) + return A.ioore(output, outputIndex0); + output[outputIndex0] = alphabet.charCodeAt(t4); + bits = 0; + expectedChars = 3; + } + } + if (byteOr >= 0 && byteOr <= 255) { + if (expectedChars < 3) { + outputIndex0 = outputIndex + 1; + outputIndex1 = outputIndex0 + 1; + if (3 - expectedChars === 1) { + t1 = bits >>> 2 & 63; + if (!(t1 < t2)) + return A.ioore(alphabet, t1); + t3 & 2 && A.throwUnsupportedOperation(output); + t3 = output.length; + if (!(outputIndex < t3)) + return A.ioore(output, outputIndex); + output[outputIndex] = alphabet.charCodeAt(t1); + t1 = bits << 4 & 63; + if (!(t1 < t2)) + return A.ioore(alphabet, t1); + if (!(outputIndex0 < t3)) + return A.ioore(output, outputIndex0); + output[outputIndex0] = alphabet.charCodeAt(t1); + outputIndex = outputIndex1 + 1; + if (!(outputIndex1 < t3)) + return A.ioore(output, outputIndex1); + output[outputIndex1] = 61; + if (!(outputIndex < t3)) + return A.ioore(output, outputIndex); + output[outputIndex] = 61; + } else { + t1 = bits >>> 10 & 63; + if (!(t1 < t2)) + return A.ioore(alphabet, t1); + t3 & 2 && A.throwUnsupportedOperation(output); + t3 = output.length; + if (!(outputIndex < t3)) + return A.ioore(output, outputIndex); + output[outputIndex] = alphabet.charCodeAt(t1); + t1 = bits >>> 4 & 63; + if (!(t1 < t2)) + return A.ioore(alphabet, t1); + if (!(outputIndex0 < t3)) + return A.ioore(output, outputIndex0); + output[outputIndex0] = alphabet.charCodeAt(t1); + outputIndex = outputIndex1 + 1; + t1 = bits << 2 & 63; + if (!(t1 < t2)) + return A.ioore(alphabet, t1); + if (!(outputIndex1 < t3)) + return A.ioore(output, outputIndex1); + output[outputIndex1] = alphabet.charCodeAt(t1); + if (!(outputIndex < t3)) + return A.ioore(output, outputIndex); + output[outputIndex] = 61; + } + return 0; + } + return (bits << 2 | 3 - expectedChars) >>> 0; + } + for (i = start; i < end;) { + if (!(i < t1)) + return A.ioore(bytes, i); + byte = bytes[i]; + if (byte > 255) + break; + ++i; + } + if (!(i < t1)) + return A.ioore(bytes, i); + throw A.wrapException(A.ArgumentError$value(bytes, "Not a byte value at index " + i + ": 0x" + B.JSInt_methods.toRadixString$1(bytes[i], 16), null)); + }, + _Base64Decoder_decodeChunk(input, start, end, output, outIndex, state) { + var t1, t2, t3, i, charOr, char, t4, code, outIndex0, expectedPadding, + _s31_ = "Invalid encoding before padding", + _s17_ = "Invalid character", + bits = B.JSInt_methods._shrOtherPositive$1(state, 2), + count = state & 3, + inverseAlphabet = $.$get$_Base64Decoder__inverseAlphabet(); + for (t1 = input.length, t2 = inverseAlphabet.length, t3 = output.$flags | 0, i = start, charOr = 0; i < end; ++i) { + if (!(i < t1)) + return A.ioore(input, i); + char = input.charCodeAt(i); + charOr |= char; + t4 = char & 127; + if (!(t4 < t2)) + return A.ioore(inverseAlphabet, t4); + code = inverseAlphabet[t4]; + if (code >= 0) { + bits = (bits << 6 | code) & 16777215; + count = count + 1 & 3; + if (count === 0) { + outIndex0 = outIndex + 1; + t3 & 2 && A.throwUnsupportedOperation(output); + t4 = output.length; + if (!(outIndex < t4)) + return A.ioore(output, outIndex); + output[outIndex] = bits >>> 16 & 255; + outIndex = outIndex0 + 1; + if (!(outIndex0 < t4)) + return A.ioore(output, outIndex0); + output[outIndex0] = bits >>> 8 & 255; + outIndex0 = outIndex + 1; + if (!(outIndex < t4)) + return A.ioore(output, outIndex); + output[outIndex] = bits & 255; + outIndex = outIndex0; + bits = 0; + } + continue; + } else if (code === -1 && count > 1) { + if (charOr > 127) + break; + if (count === 3) { + if ((bits & 3) !== 0) + throw A.wrapException(A.FormatException$(_s31_, input, i)); + outIndex0 = outIndex + 1; + t3 & 2 && A.throwUnsupportedOperation(output); + t1 = output.length; + if (!(outIndex < t1)) + return A.ioore(output, outIndex); + output[outIndex] = bits >>> 10; + if (!(outIndex0 < t1)) + return A.ioore(output, outIndex0); + output[outIndex0] = bits >>> 2; + } else { + if ((bits & 15) !== 0) + throw A.wrapException(A.FormatException$(_s31_, input, i)); + t3 & 2 && A.throwUnsupportedOperation(output); + if (!(outIndex < output.length)) + return A.ioore(output, outIndex); + output[outIndex] = bits >>> 4; + } + expectedPadding = (3 - count) * 3; + if (char === 37) + expectedPadding += 2; + return A._Base64Decoder__checkPadding(input, i + 1, end, -expectedPadding - 1); + } + throw A.wrapException(A.FormatException$(_s17_, input, i)); + } + if (charOr >= 0 && charOr <= 127) + return (bits << 2 | count) >>> 0; + for (i = start; i < end; ++i) { + if (!(i < t1)) + return A.ioore(input, i); + if (input.charCodeAt(i) > 127) + break; + } + throw A.wrapException(A.FormatException$(_s17_, input, i)); + }, + _Base64Decoder__allocateBuffer(input, start, end, state) { + var paddingStart = A._Base64Decoder__trimPaddingChars(input, start, end), + $length = (state & 3) + (paddingStart - start), + bufferLength = B.JSInt_methods._shrOtherPositive$1($length, 2) * 3, + remainderLength = $length & 3; + if (remainderLength !== 0 && paddingStart < end) + bufferLength += remainderLength - 1; + if (bufferLength > 0) + return new Uint8Array(bufferLength); + return $.$get$_Base64Decoder__emptyBuffer(); + }, + _Base64Decoder__trimPaddingChars(input, start, end) { + var char, + t1 = input.length, + newEnd = end, + index = newEnd, + padding = 0; + while (true) { + if (!(index > start && padding < 2)) + break; + c$0: { + --index; + if (!(index >= 0 && index < t1)) + return A.ioore(input, index); + char = input.charCodeAt(index); + if (char === 61) { + ++padding; + newEnd = index; + break c$0; + } + if ((char | 32) === 100) { + if (index === start) + break; + --index; + if (!(index >= 0 && index < t1)) + return A.ioore(input, index); + char = input.charCodeAt(index); + } + if (char === 51) { + if (index === start) + break; + --index; + if (!(index >= 0 && index < t1)) + return A.ioore(input, index); + char = input.charCodeAt(index); + } + if (char === 37) { + ++padding; + newEnd = index; + break c$0; + } + break; + } + } + return newEnd; + }, + _Base64Decoder__checkPadding(input, start, end, state) { + var expectedPadding, t1, char; + if (start === end) + return state; + expectedPadding = -state - 1; + for (t1 = input.length; expectedPadding > 0;) { + if (!(start < t1)) + return A.ioore(input, start); + char = input.charCodeAt(start); + if (expectedPadding === 3) { + if (char === 61) { + expectedPadding -= 3; + ++start; + break; + } + if (char === 37) { + --expectedPadding; + ++start; + if (start === end) + break; + if (!(start < t1)) + return A.ioore(input, start); + char = input.charCodeAt(start); + } else + break; + } + if ((expectedPadding > 3 ? expectedPadding - 3 : expectedPadding) === 2) { + if (char !== 51) + break; + ++start; + --expectedPadding; + if (start === end) + break; + if (!(start < t1)) + return A.ioore(input, start); + char = input.charCodeAt(start); + } + if ((char | 32) !== 100) + break; + ++start; + --expectedPadding; + if (start === end) + break; + } + if (start !== end) + throw A.wrapException(A.FormatException$("Invalid padding character", input, start)); + return -expectedPadding - 1; + }, + Base64Codec: function Base64Codec() { + }, + Base64Encoder: function Base64Encoder() { + }, + _Base64Encoder: function _Base64Encoder(t0) { + this._convert$_state = 0; + this._alphabet = t0; + }, + Base64Decoder: function Base64Decoder() { + }, + _Base64Decoder: function _Base64Decoder() { + this._convert$_state = 0; + }, + Codec: function Codec() { + }, + Converter: function Converter() { + }, + Error__throw(error, stackTrace) { + error = A.initializeExceptionWrapper(error, new Error()); + if (error == null) + error = A._asObject(error); + error.stack = stackTrace.toString$0(0); + throw error; + }, + List_List$filled($length, fill, growable, $E) { + var i, + result = J.JSArray_JSArray$fixed($length, $E); + if ($length !== 0 && fill != null) + for (i = 0; i < $length; ++i) + result[i] = fill; + return result; + }, + List_List$_of(elements, $E) { + var list, t1; + if (Array.isArray(elements)) + return A._setArrayType(elements.slice(0), $E._eval$1("JSArray<0>")); + list = A._setArrayType([], $E._eval$1("JSArray<0>")); + for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) + B.JSArray_methods.add$1(list, t1.get$current()); + return list; + }, + String_String$fromCharCodes(charCodes) { + var t1; + A.RangeError_checkNotNegative(0, "start"); + t1 = A.String__stringFromUint8List(charCodes, 0, null); + return t1; + }, + String__stringFromUint8List(charCodes, start, endOrNull) { + var len = charCodes.length; + if (start >= len) + return ""; + return A.Primitives_stringFromNativeUint8List(charCodes, start, len); + }, + StringBuffer__writeAll(string, objects, separator) { + var iterator = J.get$iterator$ax(objects); + if (!iterator.moveNext$0()) + return string; + if (separator.length === 0) { + do + string += A.S(iterator.get$current()); + while (iterator.moveNext$0()); + } else { + string += A.S(iterator.get$current()); + for (; iterator.moveNext$0();) + string = string + separator + A.S(iterator.get$current()); + } + return string; + }, + NoSuchMethodError_NoSuchMethodError$withInvocation(receiver, invocation) { + return new A.NoSuchMethodError(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()); + }, + StackTrace_current() { + return A.getTraceFromException(new Error()); + }, + DateTime__fourDigits(n) { + var absN = Math.abs(n), + sign = n < 0 ? "-" : ""; + if (absN >= 1000) + return "" + n; + if (absN >= 100) + return sign + "0" + absN; + if (absN >= 10) + return sign + "00" + absN; + return sign + "000" + absN; + }, + DateTime__threeDigits(n) { + if (n >= 100) + return "" + n; + if (n >= 10) + return "0" + n; + return "00" + n; + }, + DateTime__twoDigits(n) { + if (n >= 10) + return "" + n; + return "0" + n; + }, + Error_safeToString(object) { + if (typeof object == "number" || A._isBool(object) || object == null) + return J.toString$0$(object); + if (typeof object == "string") + return JSON.stringify(object); + return A.Primitives_safeToString(object); + }, + Error_throwWithStackTrace(error, stackTrace) { + A.checkNotNullable(error, "error", type$.Object); + A.checkNotNullable(stackTrace, "stackTrace", type$.StackTrace); + A.Error__throw(error, stackTrace); + }, + AssertionError$(message) { + return new A.AssertionError(message); + }, + ArgumentError$(message, $name) { + return new A.ArgumentError(false, null, $name, message); + }, + ArgumentError$value(value, $name, message) { + return new A.ArgumentError(true, value, $name, message); + }, + RangeError$value(value, $name) { + return new A.RangeError(null, null, true, value, $name, "Value not in range"); + }, + RangeError$range(invalidValue, minValue, maxValue, $name, message) { + return new A.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value"); + }, + RangeError_checkValidRange(start, end, $length) { + if (0 > start || start > $length) + throw A.wrapException(A.RangeError$range(start, 0, $length, "start", null)); + if (end != null) { + if (start > end || end > $length) + throw A.wrapException(A.RangeError$range(end, start, $length, "end", null)); + return end; + } + return $length; + }, + RangeError_checkNotNegative(value, $name) { + if (value < 0) + throw A.wrapException(A.RangeError$range(value, 0, null, $name, null)); + return value; + }, + IndexError$withLength(invalidValue, $length, indexable, $name) { + return new A.IndexError($length, true, invalidValue, $name, "Index out of range"); + }, + UnsupportedError$(message) { + return new A.UnsupportedError(message); + }, + UnimplementedError$(message) { + return new A.UnimplementedError(message); + }, + StateError$(message) { + return new A.StateError(message); + }, + ConcurrentModificationError$(modifiedObject) { + return new A.ConcurrentModificationError(modifiedObject); + }, + Exception_Exception(message) { + return new A._Exception(message); + }, + FormatException$(message, source, offset) { + return new A.FormatException(message, source, offset); + }, + Iterable_iterableToShortString(iterable, leftDelimiter, rightDelimiter) { + var parts, t1; + if (A.isToStringVisiting(iterable)) { + if (leftDelimiter === "(" && rightDelimiter === ")") + return "(...)"; + return leftDelimiter + "..." + rightDelimiter; + } + parts = A._setArrayType([], type$.JSArray_String); + B.JSArray_methods.add$1($.toStringVisiting, iterable); + try { + A._iterablePartsToStrings(iterable, parts); + } finally { + if (0 >= $.toStringVisiting.length) + return A.ioore($.toStringVisiting, -1); + $.toStringVisiting.pop(); + } + t1 = A.StringBuffer__writeAll(leftDelimiter, type$.Iterable_dynamic._as(parts), ", ") + rightDelimiter; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + Iterable_iterableToFullString(iterable, leftDelimiter, rightDelimiter) { + var buffer, t1; + if (A.isToStringVisiting(iterable)) + return leftDelimiter + "..." + rightDelimiter; + buffer = new A.StringBuffer(leftDelimiter); + B.JSArray_methods.add$1($.toStringVisiting, iterable); + try { + t1 = buffer; + t1._contents = A.StringBuffer__writeAll(t1._contents, iterable, ", "); + } finally { + if (0 >= $.toStringVisiting.length) + return A.ioore($.toStringVisiting, -1); + $.toStringVisiting.pop(); + } + buffer._contents += rightDelimiter; + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _iterablePartsToStrings(iterable, parts) { + var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision, + it = iterable.get$iterator(iterable), + $length = 0, count = 0; + while (true) { + if (!($length < 80 || count < 3)) + break; + if (!it.moveNext$0()) + return; + next = A.S(it.get$current()); + B.JSArray_methods.add$1(parts, next); + $length += next.length + 2; + ++count; + } + if (!it.moveNext$0()) { + if (count <= 5) + return; + if (0 >= parts.length) + return A.ioore(parts, -1); + ultimateString = parts.pop(); + if (0 >= parts.length) + return A.ioore(parts, -1); + penultimateString = parts.pop(); + } else { + penultimate = it.get$current(); + ++count; + if (!it.moveNext$0()) { + if (count <= 4) { + B.JSArray_methods.add$1(parts, A.S(penultimate)); + return; + } + ultimateString = A.S(penultimate); + if (0 >= parts.length) + return A.ioore(parts, -1); + penultimateString = parts.pop(); + $length += ultimateString.length + 2; + } else { + ultimate = it.get$current(); + ++count; + for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0) { + ultimate0 = it.get$current(); + ++count; + if (count > 100) { + while (true) { + if (!($length > 75 && count > 3)) + break; + if (0 >= parts.length) + return A.ioore(parts, -1); + $length -= parts.pop().length + 2; + --count; + } + B.JSArray_methods.add$1(parts, "..."); + return; + } + } + penultimateString = A.S(penultimate); + ultimateString = A.S(ultimate); + $length += ultimateString.length + penultimateString.length + 4; + } + } + if (count > parts.length + 2) { + $length += 5; + elision = "..."; + } else + elision = null; + while (true) { + if (!($length > 80 && parts.length > 3)) + break; + if (0 >= parts.length) + return A.ioore(parts, -1); + $length -= parts.pop().length + 2; + if (elision == null) { + $length += 5; + elision = "..."; + } + } + if (elision != null) + B.JSArray_methods.add$1(parts, elision); + B.JSArray_methods.add$1(parts, penultimateString); + B.JSArray_methods.add$1(parts, ultimateString); + }, + Object_hash(object1, object2) { + var t1 = B.JSInt_methods.get$hashCode(object1); + object2 = B.JSInt_methods.get$hashCode(object2); + object2 = A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2)); + return object2; + }, + NoSuchMethodError_toString_closure: function NoSuchMethodError_toString_closure(t0, t1) { + this._box_0 = t0; + this.sb = t1; + }, + DateTime: function DateTime(t0, t1, t2) { + this._value = t0; + this._microsecond = t1; + this.isUtc = t2; + }, + _Enum: function _Enum() { + }, + Error: function Error() { + }, + AssertionError: function AssertionError(t0) { + this.message = t0; + }, + TypeError: function TypeError() { + }, + ArgumentError: function ArgumentError(t0, t1, t2, t3) { + var _ = this; + _._hasValue = t0; + _.invalidValue = t1; + _.name = t2; + _.message = t3; + }, + RangeError: function RangeError(t0, t1, t2, t3, t4, t5) { + var _ = this; + _.start = t0; + _.end = t1; + _._hasValue = t2; + _.invalidValue = t3; + _.name = t4; + _.message = t5; + }, + IndexError: function IndexError(t0, t1, t2, t3, t4) { + var _ = this; + _.length = t0; + _._hasValue = t1; + _.invalidValue = t2; + _.name = t3; + _.message = t4; + }, + NoSuchMethodError: function NoSuchMethodError(t0, t1, t2, t3) { + var _ = this; + _._core$_receiver = t0; + _._core$_memberName = t1; + _._core$_arguments = t2; + _._namedArguments = t3; + }, + UnsupportedError: function UnsupportedError(t0) { + this.message = t0; + }, + UnimplementedError: function UnimplementedError(t0) { + this.message = t0; + }, + StateError: function StateError(t0) { + this.message = t0; + }, + ConcurrentModificationError: function ConcurrentModificationError(t0) { + this.modifiedObject = t0; + }, + OutOfMemoryError: function OutOfMemoryError() { + }, + StackOverflowError: function StackOverflowError() { + }, + _Exception: function _Exception(t0) { + this.message = t0; + }, + FormatException: function FormatException(t0, t1, t2) { + this.message = t0; + this.source = t1; + this.offset = t2; + }, + Iterable: function Iterable() { + }, + Null: function Null() { + }, + Object: function Object() { + }, + _StringStackTrace: function _StringStackTrace() { + }, + StringBuffer: function StringBuffer(t0) { + this._contents = t0; + }, + _convertDartFunctionFast(f) { + var ret, + existing = f.$dart_jsFunction; + if (existing != null) + return existing; + ret = function(_call, f) { + return function() { + return _call(f, Array.prototype.slice.apply(arguments)); + }; + }(A._callDartFunctionFast, f); + ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; + f.$dart_jsFunction = ret; + return ret; + }, + _callDartFunctionFast(callback, $arguments) { + type$.List_dynamic._as($arguments); + type$.Function._as(callback); + return A.Primitives_applyFunction(callback, $arguments, null); + }, + allowInterop(f, $F) { + if (typeof f == "function") + return f; + else + return $F._as(A._convertDartFunctionFast(f)); + }, + _functionToJS1(f) { + var result; + if (typeof f == "function") + throw A.wrapException(A.ArgumentError$("Attempting to rewrap a JS function.", null)); + result = function(_call, f) { + return function(arg1) { + return _call(f, arg1, arguments.length); + }; + }(A._callDartFunctionFast1, f); + result[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; + return result; + }, + _callDartFunctionFast1(callback, arg1, $length) { + type$.Function._as(callback); + if (A._asInt($length) >= 1) + return callback.call$1(arg1); + return callback.call$0(); + }, + _noJsifyRequired(o) { + return o == null || A._isBool(o) || typeof o == "number" || typeof o == "string" || type$.Int8List._is(o) || type$.Uint8List._is(o) || type$.Uint8ClampedList._is(o) || type$.Int16List._is(o) || type$.Uint16List._is(o) || type$.Int32List._is(o) || type$.Uint32List._is(o) || type$.Float32List._is(o) || type$.Float64List._is(o) || type$.ByteBuffer._is(o) || type$.ByteData._is(o); + }, + jsify(object) { + if (A._noJsifyRequired(object)) + return object; + return new A.jsify__convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(object); + }, + callMethod(o, method, args, $T) { + return $T._as(o[method].apply(o, args)); + }, + promiseToFuture(jsPromise, $T) { + var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), + completer = new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>")); + jsPromise.then(A.convertDartClosureToJS(new A.promiseToFuture_closure(completer, $T), 1), A.convertDartClosureToJS(new A.promiseToFuture_closure0(completer), 1)); + return t1; + }, + _noDartifyRequired(o) { + return o == null || typeof o === "boolean" || typeof o === "number" || typeof o === "string" || o instanceof Int8Array || o instanceof Uint8Array || o instanceof Uint8ClampedArray || o instanceof Int16Array || o instanceof Uint16Array || o instanceof Int32Array || o instanceof Uint32Array || o instanceof Float32Array || o instanceof Float64Array || o instanceof ArrayBuffer || o instanceof DataView; + }, + dartify(o) { + if (A._noDartifyRequired(o)) + return o; + return new A.dartify_convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(o); + }, + jsify__convert: function jsify__convert(t0) { + this._convertedObjects = t0; + }, + promiseToFuture_closure: function promiseToFuture_closure(t0, t1) { + this.completer = t0; + this.T = t1; + }, + promiseToFuture_closure0: function promiseToFuture_closure0(t0) { + this.completer = t0; + }, + dartify_convert: function dartify_convert(t0) { + this._convertedObjects = t0; + }, + NullRejectionException: function NullRejectionException(t0) { + this.isUndefined = t0; + }, + _JSSecureRandom: function _JSSecureRandom(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, + result = A._setArrayType([], type$.JSArray_int), + pos = stream.length, + searchLength = pos - 2; + for (start = 0, pos0 = 0; pos0 < searchLength; start = pos0) { + while (true) { + if (pos0 < searchLength) { + if (!(pos0 >= 0)) + return A.ioore(stream, pos0); + t1 = !(stream[pos0] === 0 && stream[pos0 + 1] === 0 && stream[pos0 + 2] === 1); + } else + t1 = false; + if (!t1) + break; + ++pos0; + } + if (pos0 >= searchLength) + pos0 = pos; + end = pos0; + while (true) { + if (end > start) { + t1 = end - 1; + if (!(t1 >= 0)) + return A.ioore(stream, t1); + t1 = stream[t1] === 0; + } else + t1 = false; + if (!t1) + break; + --end; + } + if (start === 0) { + if (end !== start) + throw A.wrapException(A.Exception_Exception("byte stream contains leading data")); + } else + B.JSArray_methods.add$1(result, start); + pos0 += 3; + } + return result; + }, + CryptorError: function CryptorError(t0) { + this._name = t0; + }, + FrameInfo: function FrameInfo(t0, t1, t2, t3) { + var _ = this; + _.frameType = t0; + _.ssrc = t1; + _.timestamp = t2; + _.buffer = t3; + }, + FrameCryptor: function FrameCryptor(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _.sendCounts = t0; + _.participantIdentity = t1; + _.trackId = t2; + _.codec = null; + _.keyHandler = t3; + _.__FrameCryptor_kind_A = $; + _._enabled = false; + _.lastError = t4; + _.currentKeyIndex = 0; + _.worker = t5; + _.sifGuard = t6; + }, + FrameCryptor_decodeFunction_decryptFrameInternal: function FrameCryptor_decodeFunction_decryptFrameInternal(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _._box_1 = t0; + _._box_0 = t1; + _.$this = t2; + _.iv = t3; + _.srcFrame = t4; + _.headerLength = t5; + _.ivLength = t6; + }, + FrameCryptor_decodeFunction_ratchedKeyInternal: function FrameCryptor_decodeFunction_ratchedKeyInternal(t0, t1, t2, t3) { + var _ = this; + _._box_1 = t0; + _._box_0 = t1; + _.$this = t2; + _.decryptFrameInternal = t3; + }, + ParticipantKeyHandler$(keyOptions, participantIdentity, worker) { + var t1 = new A.ParticipantKeyHandler(keyOptions, worker, participantIdentity), + t2 = keyOptions.keyRingSze; + if (t2 <= 0 || t2 > 255) + A.throwExpression(A.Exception_Exception("Invalid key ring size")); + 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) { + var _ = this; + _.sharedKey = t0; + _.ratchetSalt = t1; + _.ratchetWindowSize = t2; + _.failureTolerance = t3; + _.uncryptedMagicBytes = t4; + _.keyRingSze = t5; + _.discardFrameWhenCryptorNotReady = t6; + }, + KeyProvider: function KeyProvider(t0, t1, t2, t3) { + var _ = this; + _.worker = t0; + _.keyProviderOptions = t1; + _.participantKeys = t2; + _.sharedKeyHandler = null; + _.sharedKey = t3; + }, + KeySet: function KeySet(t0, t1) { + this.material = t0; + this.encryptionKey = t1; + }, + ParticipantKeyHandler: function ParticipantKeyHandler(t0, t1, t2) { + var _ = this; + _.currentKeyIndex = 0; + _.__ParticipantKeyHandler_cryptoKeyRing_A = $; + _._hasValidKey = false; + _.keyOptions = t0; + _.worker = t1; + _.participantIdentity = t2; + _._decryptionFailureCount = 0; + }, + SifGuard: function SifGuard() { + var _ = this; + _.consecutiveSifCount = 0; + _.sifSequenceStartedAt = null; + _.userFramesSinceSif = _.lastSifReceivedAt = 0; + }, + getTrackCryptor(participantIdentity, trackId, keyProvider) { + var t1, t2, _null = null, + 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 = 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); + } else if (participantIdentity !== cryptor.participantIdentity) { + t1 = keyProvider.getParticipantKeyHandler$1(participantIdentity); + if (cryptor.lastError !== B.CryptorError_1) { + $.$get$logger().log$4(B.Level_INFO_800, "setParticipantId: lastError != CryptorError.kOk, reset state to kNew", _null, _null); + cryptor.lastError = B.CryptorError_0; + } + cryptor.participantIdentity = participantIdentity; + cryptor.keyHandler = t1; + cryptor.sifGuard.reset$0(); + } + 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, t1; + var $async$main = 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 = $.$get$Logger_root(); + if (t1.parent != null) + A.throwExpression(A.UnsupportedError$('Please set "hierarchicalLoggingEnabled" to true if you want to change the level on a non-root logger.')); + J.$eq$(t1._level, B.Level_WARNING_900); + t1._level = B.Level_WARNING_900; + t1._getStream$0().listen$1(new A.main_closure()); + t1 = $.$get$logger(); + t1.log$4(B.Level_INFO_800, "Worker created", null, null); + t2 = init.G; + if ("RTCTransformEvent" in A._asJSObject(t2.self)) { + t1.log$4(B.Level_INFO_800, "setup RTCTransformEvent event handler", null, null); + A._asJSObject(t2.self).onrtctransform = A._functionToJS1(new A.main_closure0()); + } + A._asJSObject(t2.self).onmessage = A._functionToJS1(new A.main_closure1(new A.main_closure2())); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$main, $async$completer); + }, + 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() { + }, + main_closure2: function main_closure2() { + }, + main__closure: function main__closure(t0) { + this.trackId = t0; + }, + main__closure0: function main__closure0(t0) { + this.trackId = t0; + }, + main__closure1: function main__closure1(t0) { + this.trackId = t0; + }, + 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; + }, + Level: function Level(t0, t1) { + this.name = t0; + this.value = t1; + }, + LogRecord: function LogRecord(t0, t1, t2) { + this.level = t0; + this.message = t1; + this.loggerName = t2; + }, + Logger_Logger($name) { + return $.Logger__loggers.putIfAbsent$2($name, new A.Logger_Logger_closure($name)); + }, + Logger: function Logger(t0, t1, t2) { + var _ = this; + _.name = t0; + _.parent = t1; + _._level = null; + _._children = t2; + _._controller = null; + }, + 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); + return; + } + if (typeof console == "object" && typeof console.log != "undefined") { + console.log(string); + return; + } + if (typeof print == "function") { + print(string); + return; + } + throw "Unable to print message: " + String(string); + }, + throwLateFieldNI(fieldName) { + throw A.initializeExceptionWrapper(A.LateError$fieldNI(fieldName), new Error()); + }, + throwLateFieldADI(fieldName) { + 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 (test.call$1(element)) + return element; + } + return null; + }, + getAlgoOptions(algorithmName, salt) { + switch (algorithmName) { + case "HKDF": + return A.LinkedHashMap_LinkedHashMap$_literal(["name", "HKDF", "salt", salt, "hash", "SHA-256", "info", new Uint8Array(128)], type$.String, type$.dynamic); + case "PBKDF2": + return A.LinkedHashMap_LinkedHashMap$_literal(["name", "PBKDF2", "salt", salt, "hash", "SHA-256", "iterations", 100000], type$.String, type$.dynamic); + default: + throw A.wrapException(A.Exception_Exception("algorithm " + algorithmName + " is currently unsupported")); + } + } + }, + B = {}; + var holders = [A, J, B]; + var $ = {}; + A.JS_CONST.prototype = {}; + J.Interceptor.prototype = { + $eq(receiver, other) { + return receiver === other; + }, + get$hashCode(receiver) { + return A.Primitives_objectHashCode(receiver); + }, + toString$0(receiver) { + return "Instance of '" + A.Primitives_objectTypeName(receiver) + "'"; + }, + noSuchMethod$1(receiver, invocation) { + throw A.wrapException(A.NoSuchMethodError_NoSuchMethodError$withInvocation(receiver, type$.Invocation._as(invocation))); + }, + get$runtimeType(receiver) { + return A.createRuntimeType(A._instanceTypeFromConstructor(this)); + } + }; + J.JSBool.prototype = { + toString$0(receiver) { + return String(receiver); + }, + get$hashCode(receiver) { + return receiver ? 519018 : 218159; + }, + get$runtimeType(receiver) { + return A.createRuntimeType(type$.bool); + }, + $isTrustedGetRuntimeType: 1, + $isbool: 1 + }; + J.JSNull.prototype = { + $eq(receiver, other) { + return null == other; + }, + toString$0(receiver) { + return "null"; + }, + get$hashCode(receiver) { + return 0; + }, + $isTrustedGetRuntimeType: 1, + $isNull: 1 + }; + J.JavaScriptObject.prototype = {$isJSObject: 1}; + J.LegacyJavaScriptObject.prototype = { + get$hashCode(receiver) { + return 0; + }, + get$runtimeType(receiver) { + return B.Type_JSObject_ttY; + }, + toString$0(receiver) { + return String(receiver); + } + }; + J.PlainJavaScriptObject.prototype = {}; + J.UnknownJavaScriptObject.prototype = {}; + J.JavaScriptFunction.prototype = { + toString$0(receiver) { + var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()]; + if (dartClosure == null) + return this.super$LegacyJavaScriptObject$toString(receiver); + return "JavaScript function for " + J.toString$0$(dartClosure); + }, + $isFunction: 1 + }; + J.JavaScriptBigInt.prototype = { + get$hashCode(receiver) { + return 0; + }, + toString$0(receiver) { + return String(receiver); + } + }; + J.JavaScriptSymbol.prototype = { + get$hashCode(receiver) { + return 0; + }, + toString$0(receiver) { + return String(receiver); + } + }; + J.JSArray.prototype = { + add$1(receiver, value) { + A._arrayInstanceType(receiver)._precomputed1._as(value); + receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, 29); + receiver.push(value); + }, + addAll$1(receiver, collection) { + var t1; + A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(collection); + receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, "addAll", 2); + if (Array.isArray(collection)) { + this._addAllFromArray$1(receiver, collection); + return; + } + for (t1 = J.get$iterator$ax(collection); t1.moveNext$0();) + receiver.push(t1.get$current()); + }, + _addAllFromArray$1(receiver, array) { + var len, i; + type$.JSArray_dynamic._as(array); + len = array.length; + if (len === 0) + return; + if (receiver === array) + throw A.wrapException(A.ConcurrentModificationError$(receiver)); + for (i = 0; i < len; ++i) + receiver.push(array[i]); + }, + map$1$1(receiver, f, $T) { + var t1 = A._arrayInstanceType(receiver); + return new A.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>")); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + toString$0(receiver) { + return A.Iterable_iterableToFullString(receiver, "[", "]"); + }, + get$iterator(receiver) { + return new J.ArrayIterator(receiver, receiver.length, A._arrayInstanceType(receiver)._eval$1("ArrayIterator<1>")); + }, + get$hashCode(receiver) { + return A.Primitives_objectHashCode(receiver); + }, + get$length(receiver) { + return receiver.length; + }, + $index(receiver, index) { + A._asInt(index); + if (!(index >= 0 && index < receiver.length)) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + return receiver[index]; + }, + $indexSet(receiver, index, value) { + A._arrayInstanceType(receiver)._precomputed1._as(value); + receiver.$flags & 2 && A.throwUnsupportedOperation(receiver); + if (!(index >= 0 && index < receiver.length)) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + receiver[index] = value; + }, + get$runtimeType(receiver) { + return A.createRuntimeType(A._arrayInstanceType(receiver)); + }, + $isEfficientLengthIterable: 1, + $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() { + var t1 = this._current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var t2, _this = this, + t1 = _this._iterable, + $length = t1.length; + if (_this._length !== $length) { + t1 = A.throwConcurrentModificationError(t1); + throw A.wrapException(t1); + } + t2 = _this._index; + if (t2 >= $length) { + _this._current = null; + return false; + } + _this._current = t1[t2]; + _this._index = t2 + 1; + return true; + }, + $isIterator: 1 + }; + J.JSNumber.prototype = { + toInt$0(receiver) { + var t1; + if (receiver >= -2147483648 && receiver <= 2147483647) + return receiver | 0; + if (isFinite(receiver)) { + t1 = receiver < 0 ? Math.ceil(receiver) : Math.floor(receiver); + return t1 + 0; + } + throw A.wrapException(A.UnsupportedError$("" + receiver + ".toInt()")); + }, + toRadixString$1(receiver, radix) { + var result, t1, t2, match, exponent; + if (radix < 2 || radix > 36) + throw A.wrapException(A.RangeError$range(radix, 2, 36, "radix", null)); + result = receiver.toString(radix); + t1 = result.length; + t2 = t1 - 1; + if (!(t2 >= 0)) + return A.ioore(result, t2); + if (result.charCodeAt(t2) !== 41) + return result; + match = /^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(result); + if (match == null) + A.throwExpression(A.UnsupportedError$("Unexpected toString result: " + result)); + t1 = match.length; + if (1 >= t1) + return A.ioore(match, 1); + result = match[1]; + if (3 >= t1) + return A.ioore(match, 3); + exponent = +match[3]; + t1 = match[2]; + if (t1 != null) { + result += t1; + exponent -= t1.length; + } + return result + B.JSString_methods.$mul("0", exponent); + }, + toString$0(receiver) { + if (receiver === 0 && 1 / receiver < 0) + return "-0.0"; + else + return "" + receiver; + }, + get$hashCode(receiver) { + var absolute, floorLog2, factor, scaled, + intValue = receiver | 0; + if (receiver === intValue) + return intValue & 536870911; + absolute = Math.abs(receiver); + floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0; + factor = Math.pow(2, floorLog2); + scaled = absolute < 1 ? absolute / factor : factor / absolute; + return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911; + }, + $mod(receiver, other) { + var result = receiver % other; + if (result === 0) + return 0; + if (result > 0) + return result; + return result + other; + }, + _tdivFast$1(receiver, other) { + return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other); + }, + _tdivSlow$1(receiver, other) { + var quotient = receiver / other; + if (quotient >= -2147483648 && quotient <= 2147483647) + return quotient | 0; + if (quotient > 0) { + if (quotient !== 1 / 0) + return Math.floor(quotient); + } else if (quotient > -1 / 0) + return Math.ceil(quotient); + throw A.wrapException(A.UnsupportedError$("Result of truncating division is " + A.S(quotient) + ": " + A.S(receiver) + " ~/ " + other)); + }, + _shrOtherPositive$1(receiver, other) { + var t1; + if (receiver > 0) + t1 = this._shrBothPositive$1(receiver, other); + else { + t1 = other > 31 ? 31 : other; + t1 = receiver >> t1 >>> 0; + } + return t1; + }, + _shrBothPositive$1(receiver, other) { + return other > 31 ? 0 : receiver >>> other; + }, + get$runtimeType(receiver) { + return A.createRuntimeType(type$.num); + }, + $isdouble: 1, + $isnum: 1 + }; + J.JSInt.prototype = { + get$runtimeType(receiver) { + return A.createRuntimeType(type$.int); + }, + $isTrustedGetRuntimeType: 1, + $isint: 1 + }; + J.JSNumNotInt.prototype = { + get$runtimeType(receiver) { + return A.createRuntimeType(type$.double); + }, + $isTrustedGetRuntimeType: 1 + }; + J.JSString.prototype = { + endsWith$1(receiver, other) { + var otherLength = other.length, + t1 = receiver.length; + if (otherLength > t1) + return false; + return other === this.substring$1(receiver, t1 - otherLength); + }, + startsWith$1(receiver, pattern) { + var otherLength = pattern.length; + if (otherLength > receiver.length) + return false; + return pattern === receiver.substring(0, otherLength); + }, + substring$2(receiver, start, end) { + return receiver.substring(start, A.RangeError_checkValidRange(start, end, receiver.length)); + }, + substring$1(receiver, start) { + return this.substring$2(receiver, start, null); + }, + $mul(receiver, times) { + var s, result; + if (0 >= times) + return ""; + if (times === 1 || receiver.length === 0) + return receiver; + if (times !== times >>> 0) + throw A.wrapException(B.C_OutOfMemoryError); + for (s = receiver, result = ""; true;) { + if ((times & 1) === 1) + result = s + result; + times = times >>> 1; + if (times === 0) + break; + s += s; + } + return result; + }, + lastIndexOf$1(receiver, pattern) { + var start = receiver.length, + t1 = pattern.length; + if (start + t1 > start) + start -= t1; + return receiver.lastIndexOf(pattern, start); + }, + toString$0(receiver) { + return receiver; + }, + get$hashCode(receiver) { + var t1, hash, i; + for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) { + hash = hash + receiver.charCodeAt(i) & 536870911; + hash = hash + ((hash & 524287) << 10) & 536870911; + hash ^= hash >> 6; + } + hash = hash + ((hash & 67108863) << 3) & 536870911; + hash ^= hash >> 11; + return hash + ((hash & 16383) << 15) & 536870911; + }, + get$runtimeType(receiver) { + return A.createRuntimeType(type$.String); + }, + get$length(receiver) { + return receiver.length; + }, + $index(receiver, index) { + A._asInt(index); + if (!(index.$ge(0, 0) && index.$lt(0, receiver.length))) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + return receiver[index]; + }, + $isTrustedGetRuntimeType: 1, + $isPattern: 1, + $isString: 1 + }; + A._CopyingBytesBuilder.prototype = { + add$1(_, bytes) { + var byteCount, required, t1, t2, newSize, x, newBuffer, _this = this; + type$.List_int._as(bytes); + byteCount = bytes.length; + if (byteCount === 0) + return; + required = _this.__internal$_length + byteCount; + t1 = _this.__internal$_buffer; + t2 = t1.length; + if (t2 < required) { + newSize = required * 2; + if (newSize < 1024) + newSize = 1024; + else { + x = newSize - 1; + x |= B.JSInt_methods._shrOtherPositive$1(x, 1); + x |= x >>> 2; + x |= x >>> 4; + x |= x >>> 8; + newSize = ((x | x >>> 16) >>> 0) + 1; + } + newBuffer = new Uint8Array(newSize); + B.NativeUint8List_methods.setRange$3(newBuffer, 0, t2, t1); + _this.__internal$_buffer = newBuffer; + t1 = newBuffer; + } + B.NativeUint8List_methods.setRange$3(t1, _this.__internal$_length, required, bytes); + _this.__internal$_length = required; + }, + toBytes$0() { + 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.__internal$_buffer), _this.__internal$_buffer.byteOffset, _this.__internal$_length))); + }, + get$length(_) { + return this.__internal$_length; + }, + $isBytesBuilder: 1 + }; + A.LateError.prototype = { + toString$0(_) { + return "LateInitializationError: " + this._message; + } + }; + A.SentinelValue.prototype = {}; + A.EfficientLengthIterable.prototype = {}; + A.ListIterable.prototype = { + get$iterator(_) { + var _this = this; + return new A.ListIterator(_this, _this.get$length(_this), A._instanceType(_this)._eval$1("ListIterator")); + }, + map$1$1(_, toElement, $T) { + var t1 = A._instanceType(this); + return new A.MappedListIterable(this, t1._bind$1($T)._eval$1("1(ListIterable.E)")._as(toElement), t1._eval$1("@")._bind$1($T)._eval$1("MappedListIterable<1,2>")); + } + }; + A.ListIterator.prototype = { + get$current() { + var t1 = this.__internal$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var t3, _this = this, + t1 = _this.__internal$_iterable, + t2 = J.getInterceptor$asx(t1), + $length = t2.get$length(t1); + if (_this.__internal$_length !== $length) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + t3 = _this.__internal$_index; + if (t3 >= $length) { + _this.__internal$_current = null; + return false; + } + _this.__internal$_current = t2.elementAt$1(t1, t3); + ++_this.__internal$_index; + return true; + }, + $isIterator: 1 + }; + A.MappedIterable.prototype = { + get$iterator(_) { + var t1 = this.__internal$_iterable; + return new A.MappedIterator(t1.get$iterator(t1), this._f, A._instanceType(this)._eval$1("MappedIterator<1,2>")); + }, + get$length(_) { + var t1 = this.__internal$_iterable; + return t1.get$length(t1); + } + }; + A.EfficientLengthMappedIterable.prototype = {$isEfficientLengthIterable: 1}; + A.MappedIterator.prototype = { + moveNext$0() { + var _this = this, + t1 = _this._iterator; + if (t1.moveNext$0()) { + _this.__internal$_current = _this._f.call$1(t1.get$current()); + return true; + } + _this.__internal$_current = null; + return false; + }, + get$current() { + var t1 = this.__internal$_current; + return t1 == null ? this.$ti._rest[1]._as(t1) : t1; + }, + $isIterator: 1 + }; + A.MappedListIterable.prototype = { + get$length(_) { + return J.get$length$asx(this._source); + }, + elementAt$1(_, index) { + return this._f.call$1(J.elementAt$1$ax(this._source, index)); + } + }; + A.WhereIterable.prototype = { + get$iterator(_) { + return new A.WhereIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, this.$ti._eval$1("WhereIterator<1>")); + }, + map$1$1(_, toElement, $T) { + var t1 = this.$ti; + return new A.MappedIterable(this, t1._bind$1($T)._eval$1("1(2)")._as(toElement), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedIterable<1,2>")); + } + }; + A.WhereIterator.prototype = { + moveNext$0() { + var t1, t2; + for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();) + if (t2.call$1(t1.get$current())) + return true; + return false; + }, + get$current() { + return this._iterator.get$current(); + }, + $isIterator: 1 + }; + A.FixedLengthListMixin.prototype = {}; + A.Symbol.prototype = { + get$hashCode(_) { + var hash = this._hashCode; + if (hash != null) + return hash; + hash = 664597 * B.JSString_methods.get$hashCode(this.__internal$_name) & 536870911; + this._hashCode = hash; + return hash; + }, + toString$0(_) { + return 'Symbol("' + this.__internal$_name + '")'; + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.Symbol && this.__internal$_name === other.__internal$_name; + }, + $isSymbol0: 1 + }; + A.ConstantMapView.prototype = {}; + A.ConstantMap.prototype = { + toString$0(_) { + return A.MapBase_mapToString(this); + }, + $isMap: 1 + }; + A.ConstantStringMap.prototype = { + get$length(_) { + return this._values.length; + }, + get$_keys() { + var keys = this.$keys; + if (keys == null) { + keys = Object.keys(this._jsIndex); + this.$keys = keys; + } + return keys; + }, + containsKey$1(key) { + if (typeof key != "string") + return false; + if ("__proto__" === key) + return false; + return this._jsIndex.hasOwnProperty(key); + }, + $index(_, key) { + if (!this.containsKey$1(key)) + return null; + return this._values[this._jsIndex[key]]; + }, + forEach$1(_, f) { + var keys, values, t1, i; + this.$ti._eval$1("~(1,2)")._as(f); + keys = this.get$_keys(); + values = this._values; + for (t1 = keys.length, i = 0; i < t1; ++i) + f.call$2(keys[i], values[i]); + }, + get$keys() { + return new A._KeysOrValues(this.get$_keys(), this.$ti._eval$1("_KeysOrValues<1>")); + } + }; + A._KeysOrValues.prototype = { + get$length(_) { + return this._elements.length; + }, + get$iterator(_) { + var t1 = this._elements; + return new A._KeysOrValuesOrElementsIterator(t1, t1.length, this.$ti._eval$1("_KeysOrValuesOrElementsIterator<1>")); + } + }; + A._KeysOrValuesOrElementsIterator.prototype = { + get$current() { + var t1 = this.__js_helper$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var _this = this, + t1 = _this.__js_helper$_index; + if (t1 >= _this.__js_helper$_length) { + _this.__js_helper$_current = null; + return false; + } + _this.__js_helper$_current = _this._elements[t1]; + _this.__js_helper$_index = t1 + 1; + return true; + }, + $isIterator: 1 + }; + A.JSInvocationMirror.prototype = { + get$memberName() { + var t1 = this._memberName; + if (t1 instanceof A.Symbol) + return t1; + return this._memberName = new A.Symbol(A._asString(t1)); + }, + get$positionalArguments() { + var t1, argumentCount, list, index, _this = this; + if (_this.__js_helper$_kind === 1) + return B.List_empty; + t1 = _this._arguments; + argumentCount = t1.length - _this._namedArgumentNames.length - _this._typeArgumentCount; + if (argumentCount === 0) + return B.List_empty; + list = []; + 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, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, t3, t4, _this = this; + if (_this.__js_helper$_kind !== 0) + return B.Map_empty; + t1 = _this._namedArgumentNames; + 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) { + 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 + }; + A.Primitives_functionNoSuchMethod_closure.prototype = { + call$2($name, argument) { + var t1; + A._asString($name); + t1 = this._box_0; + t1.names = t1.names + "$" + $name; + B.JSArray_methods.add$1(this.namedArgumentList, $name); + B.JSArray_methods.add$1(this.$arguments, argument); + ++t1.argumentCount; + }, + $signature: 13 + }; + A.SafeToStringHook.prototype = {}; + A.TypeErrorDecoder.prototype = { + matchTypeError$1(message) { + var result, t1, _this = this, + match = new RegExp(_this._pattern).exec(message); + if (match == null) + return null; + result = Object.create(null); + t1 = _this._arguments; + if (t1 !== -1) + result.arguments = match[t1 + 1]; + t1 = _this._argumentsExpr; + if (t1 !== -1) + result.argumentsExpr = match[t1 + 1]; + t1 = _this._expr; + if (t1 !== -1) + result.expr = match[t1 + 1]; + t1 = _this._method; + if (t1 !== -1) + result.method = match[t1 + 1]; + t1 = _this._receiver; + if (t1 !== -1) + result.receiver = match[t1 + 1]; + return result; + } + }; + A.NullError.prototype = { + toString$0(_) { + return "Null check operator used on a null value"; + } + }; + A.JsNoSuchMethodError.prototype = { + toString$0(_) { + var t2, _this = this, + _s38_ = "NoSuchMethodError: method not found: '", + t1 = _this._method; + if (t1 == null) + return "NoSuchMethodError: " + _this.__js_helper$_message; + t2 = _this._receiver; + if (t2 == null) + return _s38_ + t1 + "' (" + _this.__js_helper$_message + ")"; + return _s38_ + t1 + "' on '" + t2 + "' (" + _this.__js_helper$_message + ")"; + } + }; + A.UnknownJsTypeError.prototype = { + toString$0(_) { + var t1 = this.__js_helper$_message; + return t1.length === 0 ? "Error" : "Error: " + t1; + } + }; + A.NullThrownFromJavaScriptException.prototype = { + toString$0(_) { + return "Throw of null ('" + (this._irritant === null ? "null" : "undefined") + "' from JavaScript)"; + } + }; + A.ExceptionAndStackTrace.prototype = {}; + A._StackTrace.prototype = { + toString$0(_) { + var trace, + t1 = this._trace; + if (t1 != null) + return t1; + t1 = this._exception; + trace = t1 !== null && typeof t1 === "object" ? t1.stack : null; + return this._trace = trace == null ? "" : trace; + }, + $isStackTrace: 1 + }; + A.Closure.prototype = { + toString$0(_) { + var $constructor = this.constructor, + $name = $constructor == null ? null : $constructor.name; + return "Closure '" + A.unminifyOrTag($name == null ? "unknown" : $name) + "'"; + }, + $isFunction: 1, + get$$call() { + return this; + }, + "call*": "call$1", + $requiredArgCount: 1, + $defaultValues: null + }; + A.Closure0Args.prototype = {"call*": "call$0", $requiredArgCount: 0}; + A.Closure2Args.prototype = {"call*": "call$2", $requiredArgCount: 2}; + A.TearOffClosure.prototype = {}; + A.StaticClosure.prototype = { + toString$0(_) { + var $name = this.$static_name; + if ($name == null) + return "Closure of unknown static method"; + return "Closure '" + A.unminifyOrTag($name) + "'"; + } + }; + A.BoundClosure.prototype = { + $eq(_, other) { + if (other == null) + return false; + if (this === other) + return true; + if (!(other instanceof A.BoundClosure)) + return false; + return this.$_target === other.$_target && this._receiver === other._receiver; + }, + get$hashCode(_) { + return (A.objectHashCode(this._receiver) ^ A.Primitives_objectHashCode(this.$_target)) >>> 0; + }, + toString$0(_) { + return "Closure '" + this.$_name + "' of " + ("Instance of '" + A.Primitives_objectTypeName(this._receiver) + "'"); + } + }; + A.RuntimeError.prototype = { + toString$0(_) { + return "RuntimeError: " + this.message; + } + }; + A._Required.prototype = {}; + A.JsLinkedHashMap.prototype = { + get$length(_) { + return this.__js_helper$_length; + }, + get$keys() { + return new A.LinkedHashMapKeysIterable(this, A._instanceType(this)._eval$1("LinkedHashMapKeysIterable<1>")); + }, + containsKey$1(key) { + var strings = this._strings; + if (strings == null) + return false; + return strings[key] != null; + }, + $index(_, key) { + var strings, cell, t1, nums, _null = null; + if (typeof key == "string") { + strings = this._strings; + if (strings == null) + return _null; + cell = strings[key]; + t1 = cell == null ? _null : cell.hashMapCellValue; + return t1; + } else if (typeof key == "number" && (key & 0x3fffffff) === key) { + nums = this._nums; + if (nums == null) + return _null; + cell = nums[key]; + t1 = cell == null ? _null : cell.hashMapCellValue; + return t1; + } else + return this.internalGet$1(key); + }, + internalGet$1(key) { + var bucket, index, + rest = this.__js_helper$_rest; + if (rest == null) + return null; + bucket = rest[this.internalComputeHashCode$1(key)]; + index = this.internalFindBucketIndex$2(bucket, key); + if (index < 0) + return null; + return bucket[index].hashMapCellValue; + }, + $indexSet(_, key, value) { + var strings, nums, rest, hash, bucket, index, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + if (typeof key == "string") { + strings = _this._strings; + _this.__js_helper$_addHashTableEntry$3(strings == null ? _this._strings = _this._newHashTable$0() : strings, key, value); + } else if (typeof key == "number" && (key & 0x3fffffff) === key) { + nums = _this._nums; + _this.__js_helper$_addHashTableEntry$3(nums == null ? _this._nums = _this._newHashTable$0() : nums, key, value); + } else { + rest = _this.__js_helper$_rest; + if (rest == null) + rest = _this.__js_helper$_rest = _this._newHashTable$0(); + hash = _this.internalComputeHashCode$1(key); + bucket = rest[hash]; + if (bucket == null) + rest[hash] = [_this._newLinkedCell$2(key, value)]; + else { + index = _this.internalFindBucketIndex$2(bucket, key); + if (index >= 0) + bucket[index].hashMapCellValue = value; + else + bucket.push(_this._newLinkedCell$2(key, value)); + } + } + }, + putIfAbsent$2(key, ifAbsent) { + var t2, value, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._eval$1("2()")._as(ifAbsent); + if (_this.containsKey$1(key)) { + t2 = _this.$index(0, key); + return t2 == null ? t1._rest[1]._as(t2) : t2; + } + value = ifAbsent.call$0(); + _this.$indexSet(0, key, value); + return value; + }, + remove$1(_, key) { + var t1 = this._removeHashTableEntry$2(this._strings, key); + return t1; + }, + forEach$1(_, action) { + var cell, modifications, _this = this; + A._instanceType(_this)._eval$1("~(1,2)")._as(action); + cell = _this._first; + modifications = _this._modifications; + for (; cell != null;) { + action.call$2(cell.hashMapCellKey, cell.hashMapCellValue); + if (modifications !== _this._modifications) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + cell = cell._next; + } + }, + __js_helper$_addHashTableEntry$3(table, key, value) { + var cell, + t1 = A._instanceType(this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + cell = table[key]; + if (cell == null) + table[key] = this._newLinkedCell$2(key, value); + else + cell.hashMapCellValue = value; + }, + _removeHashTableEntry$2(table, key) { + var cell; + if (table == null) + return null; + cell = table[key]; + if (cell == null) + return null; + this._unlinkCell$1(cell); + delete table[key]; + return cell.hashMapCellValue; + }, + _modified$0() { + this._modifications = this._modifications + 1 & 1073741823; + }, + _newLinkedCell$2(key, value) { + var _this = this, + t1 = A._instanceType(_this), + cell = new A.LinkedHashMapCell(t1._precomputed1._as(key), t1._rest[1]._as(value)); + if (_this._first == null) + _this._first = _this._last = cell; + else { + t1 = _this._last; + t1.toString; + cell._previous = t1; + _this._last = t1._next = cell; + } + ++_this.__js_helper$_length; + _this._modified$0(); + return cell; + }, + _unlinkCell$1(cell) { + var _this = this, + previous = cell._previous, + next = cell._next; + if (previous == null) + _this._first = next; + else + previous._next = next; + if (next == null) + _this._last = previous; + else + next._previous = previous; + --_this.__js_helper$_length; + _this._modified$0(); + }, + internalComputeHashCode$1(key) { + return J.get$hashCode$(key) & 1073741823; + }, + internalFindBucketIndex$2(bucket, key) { + var $length, i; + if (bucket == null) + return -1; + $length = bucket.length; + for (i = 0; i < $length; ++i) + if (J.$eq$(bucket[i].hashMapCellKey, key)) + return i; + return -1; + }, + toString$0(_) { + return A.MapBase_mapToString(this); + }, + _newHashTable$0() { + var table = Object.create(null); + table[""] = table; + delete table[""]; + return table; + }, + $isLinkedHashMap: 1 + }; + A.LinkedHashMapCell.prototype = {}; + A.LinkedHashMapKeysIterable.prototype = { + get$length(_) { + return this._map.__js_helper$_length; + }, + get$iterator(_) { + var t1 = this._map; + return new A.LinkedHashMapKeyIterator(t1, t1._modifications, t1._first, this.$ti._eval$1("LinkedHashMapKeyIterator<1>")); + } + }; + A.LinkedHashMapKeyIterator.prototype = { + get$current() { + return this.__js_helper$_current; + }, + moveNext$0() { + var cell, _this = this, + t1 = _this._map; + if (_this._modifications !== t1._modifications) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + cell = _this._cell; + if (cell == null) { + _this.__js_helper$_current = null; + return false; + } else { + _this.__js_helper$_current = cell.hashMapCellKey; + _this._cell = cell._next; + return true; + } + }, + $isIterator: 1 + }; + A.initHooks_closure.prototype = { + call$1(o) { + return this.getTag(o); + }, + $signature: 14 + }; + A.initHooks_closure0.prototype = { + call$2(o, tag) { + return this.getUnknownTag(o, tag); + }, + $signature: 15 + }; + A.initHooks_closure1.prototype = { + call$1(tag) { + return this.prototypeForTag(A._asString(tag)); + }, + $signature: 16 + }; + A.NativeByteBuffer.prototype = { + get$runtimeType(receiver) { + return B.Type_ByteBuffer_rqD; + }, + asUint8List$2(receiver, offsetInBytes, $length) { + return $length == null ? new Uint8Array(receiver, offsetInBytes) : new Uint8Array(receiver, offsetInBytes, $length); + }, + asUint8List$0(receiver) { + return this.asUint8List$2(receiver, 0, null); + }, + $isTrustedGetRuntimeType: 1, + $isNativeByteBuffer: 1, + $isByteBuffer: 1 + }; + A.NativeArrayBuffer.prototype = {$isNativeArrayBuffer: 1}; + A.NativeTypedData.prototype = { + get$buffer(receiver) { + if (((receiver.$flags | 0) & 2) !== 0) + return new A._UnmodifiableNativeByteBufferView(receiver.buffer); + else + return receiver.buffer; + }, + _invalidPosition$3(receiver, position, $length, $name) { + var t1 = A.RangeError$range(position, 0, $length, $name, null); + throw A.wrapException(t1); + }, + _checkPosition$3(receiver, position, $length, $name) { + if (position >>> 0 !== position || position > $length) + this._invalidPosition$3(receiver, position, $length, $name); + } + }; + A._UnmodifiableNativeByteBufferView.prototype = { + asUint8List$2(_, offsetInBytes, $length) { + var result = A.NativeUint8List_NativeUint8List$view(this._data, offsetInBytes, $length); + result.$flags = 3; + return result; + }, + asUint8List$0(_) { + return this.asUint8List$2(0, 0, null); + }, + $isByteBuffer: 1 + }; + A.NativeByteData.prototype = { + get$runtimeType(receiver) { + return B.Type_ByteData_9dB; + }, + _setInt8$2(receiver, byteOffset, value) { + return receiver.setInt8(byteOffset, value); + }, + $isTrustedGetRuntimeType: 1, + $isByteData: 1 + }; + A.NativeTypedArray.prototype = { + get$length(receiver) { + return receiver.length; + }, + $isJavaScriptIndexingBehavior: 1 + }; + A.NativeTypedArrayOfDouble.prototype = { + $index(receiver, index) { + A._asInt(index); + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.NativeTypedArrayOfInt.prototype = { + setRange$3(receiver, start, end, iterable) { + var targetLength, count, sourceLength, source; + type$.Iterable_int._as(iterable); + receiver.$flags & 2 && A.throwUnsupportedOperation(receiver, 5); + targetLength = receiver.length; + this._checkPosition$3(receiver, start, targetLength, "start"); + this._checkPosition$3(receiver, end, targetLength, "end"); + if (start > end) + A.throwExpression(A.RangeError$range(start, 0, end, null, null)); + count = end - start; + sourceLength = iterable.length; + if (sourceLength < count) + A.throwExpression(A.StateError$("Not enough elements")); + source = sourceLength !== count ? iterable.subarray(0, count) : iterable; + receiver.set(source, start); + return; + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.NativeFloat32List.prototype = { + get$runtimeType(receiver) { + return B.Type_Float32List_9Kz; + }, + $isTrustedGetRuntimeType: 1, + $isFloat32List: 1 + }; + A.NativeFloat64List.prototype = { + get$runtimeType(receiver) { + return B.Type_Float64List_9Kz; + }, + $isTrustedGetRuntimeType: 1, + $isFloat64List: 1 + }; + A.NativeInt16List.prototype = { + get$runtimeType(receiver) { + return B.Type_Int16List_s5h; + }, + $index(receiver, index) { + A._asInt(index); + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + $isTrustedGetRuntimeType: 1, + $isInt16List: 1 + }; + A.NativeInt32List.prototype = { + get$runtimeType(receiver) { + return B.Type_Int32List_O8Z; + }, + $index(receiver, index) { + A._asInt(index); + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + $isTrustedGetRuntimeType: 1, + $isInt32List: 1 + }; + A.NativeInt8List.prototype = { + get$runtimeType(receiver) { + return B.Type_Int8List_rFV; + }, + $index(receiver, index) { + A._asInt(index); + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + $isTrustedGetRuntimeType: 1, + $isInt8List: 1 + }; + A.NativeUint16List.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint16List_kmP; + }, + $index(receiver, index) { + A._asInt(index); + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + $isTrustedGetRuntimeType: 1, + $isUint16List: 1 + }; + A.NativeUint32List.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint32List_kmP; + }, + $index(receiver, index) { + A._asInt(index); + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + $isTrustedGetRuntimeType: 1, + $isUint32List: 1 + }; + A.NativeUint8ClampedList.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint8ClampedList_04U; + }, + get$length(receiver) { + return receiver.length; + }, + $index(receiver, index) { + A._asInt(index); + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + $isTrustedGetRuntimeType: 1, + $isUint8ClampedList: 1 + }; + A.NativeUint8List.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint8List_8Eb; + }, + get$length(receiver) { + return receiver.length; + }, + $index(receiver, index) { + A._asInt(index); + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Uint8Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + sublist$1(receiver, start) { + return this.sublist$2(receiver, start, null); + }, + $isTrustedGetRuntimeType: 1, + $isUint8List: 1 + }; + A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.prototype = {}; + A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.prototype = {}; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; + A.Rti.prototype = { + _eval$1(recipe) { + return A._Universe_evalInEnvironment(init.typeUniverse, this, recipe); + }, + _bind$1(typeOrTuple) { + return A._Universe_bind(init.typeUniverse, this, typeOrTuple); + } + }; + A._FunctionParameters.prototype = {}; + A._Type.prototype = { + toString$0(_) { + return A._rtiToString(this._rti, null); + } + }; + A._Error.prototype = { + toString$0(_) { + return this.__rti$_message; + } + }; + A._TypeError.prototype = {$isTypeError: 1}; + A._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = { + call$1(__wc0_formal) { + var t1 = this._box_0, + f = t1.storedCallback; + t1.storedCallback = null; + f.call$0(); + }, + $signature: 5 + }; + A._AsyncRun__initializeScheduleImmediate_closure.prototype = { + call$1(callback) { + var t1, t2; + this._box_0.storedCallback = type$.void_Function._as(callback); + t1 = this.div; + t2 = this.span; + t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); + }, + $signature: 17 + }; + A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { + call$0() { + this.callback.call$0(); + }, + $signature: 6 + }; + A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = { + call$0() { + this.callback.call$0(); + }, + $signature: 6 + }; + A._TimerImpl.prototype = { + _TimerImpl$2(milliseconds, callback) { + if (self.setTimeout != null) + self.setTimeout(A.convertDartClosureToJS(new A._TimerImpl_internalCallback(this, callback), 0), milliseconds); + else + throw A.wrapException(A.UnsupportedError$("`setTimeout()` not found.")); + } + }; + A._TimerImpl_internalCallback.prototype = { + call$0() { + this.callback.call$0(); + }, + $signature: 0 + }; + A._AsyncAwaitCompleter.prototype = { + complete$1(value) { + var t2, _this = this, + t1 = _this.$ti; + t1._eval$1("1/?")._as(value); + if (value == null) + value = t1._precomputed1._as(value); + if (!_this.isSync) + _this._future._asyncComplete$1(value); + else { + t2 = _this._future; + if (t1._eval$1("Future<1>")._is(value)) + t2._chainFuture$1(value); + else + t2._completeWithValue$1(value); + } + }, + completeError$2(e, st) { + var t1 = this._future; + if (this.isSync) + t1._completeErrorObject$1(new A.AsyncError(e, st)); + else + t1._asyncCompleteErrorObject$1(new A.AsyncError(e, st)); + } + }; + A._awaitOnObject_closure.prototype = { + call$1(result) { + return this.bodyFunction.call$2(0, result); + }, + $signature: 3 + }; + A._awaitOnObject_closure0.prototype = { + call$2(error, stackTrace) { + this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace))); + }, + $signature: 18 + }; + A._wrapJsFunctionForAsync_closure.prototype = { + call$2(errorCode, result) { + this.$protected(A._asInt(errorCode), result); + }, + $signature: 19 + }; + A.AsyncError.prototype = { + toString$0(_) { + return A.S(this.error); + }, + $isError: 1, + get$stackTrace() { + return this.stackTrace; + } + }; + A._BroadcastStream.prototype = {}; + A._BroadcastSubscription.prototype = { + _onPause$0() { + }, + _onResume$0() { + }, + set$_async$_next(_next) { + this._async$_next = this.$ti._eval$1("_BroadcastSubscription<1>?")._as(_next); + }, + set$_async$_previous(_previous) { + this._async$_previous = this.$ti._eval$1("_BroadcastSubscription<1>?")._as(_previous); + } + }; + A._BroadcastStreamController.prototype = { + get$_mayAddEvent() { + return this._state < 4; + }, + _subscribe$4(onData, onError, onDone, cancelOnError) { + var t2, t3, t4, t5, subscription, oldLast, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + if ((_this._state & 4) !== 0) { + t1 = new A._DoneStreamSubscription($.Zone__current, t1._eval$1("_DoneStreamSubscription<1>")); + A.scheduleMicrotask(t1.get$_onMicrotask()); + if (onDone != null) + t1._onDone = type$.void_Function._as(onDone); + return t1; + } + t2 = $.Zone__current; + t3 = cancelOnError ? 1 : 0; + t4 = onError != null ? 32 : 0; + type$.$env_1_1_void._bind$1(t1._precomputed1)._eval$1("1(2)")._as(onData); + A._BufferingStreamSubscription__registerErrorHandler(t2, onError); + t5 = onDone == null ? A.async___nullDoneHandler$closure() : onDone; + type$.void_Function._as(t5); + t1 = t1._eval$1("_BroadcastSubscription<1>"); + subscription = new A._BroadcastSubscription(_this, onData, t2, t3 | t4, t1); + subscription._async$_previous = subscription; + subscription._async$_next = subscription; + t1._as(subscription); + subscription._eventState = _this._state & 1; + oldLast = _this._lastSubscription; + _this._lastSubscription = subscription; + subscription.set$_async$_next(null); + subscription.set$_async$_previous(oldLast); + if (oldLast == null) + _this._firstSubscription = subscription; + else + oldLast.set$_async$_next(subscription); + if (_this._firstSubscription == _this._lastSubscription) + A._runGuarded(_this.onListen); + return subscription; + }, + _addEventError$0() { + if ((this._state & 4) !== 0) + return new A.StateError("Cannot add new events after calling close"); + return new A.StateError("Cannot add new events while doing an addStream"); + }, + _forEachListener$1(action) { + var t2, subscription, id, next, previous, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("~(_BufferingStreamSubscription<1>)")._as(action); + t2 = _this._state; + if ((t2 & 2) !== 0) + throw A.wrapException(A.StateError$(string$.Cannot)); + subscription = _this._firstSubscription; + if (subscription == null) + return; + id = t2 & 1; + _this._state = t2 ^ 3; + for (t1 = t1._eval$1("_BroadcastSubscription<1>"); subscription != null;) { + t2 = subscription._eventState; + if ((t2 & 1) === id) { + subscription._eventState = t2 | 2; + action.call$1(subscription); + t2 = subscription._eventState ^= 1; + next = subscription._async$_next; + if ((t2 & 4) !== 0) { + t1._as(subscription); + previous = subscription._async$_previous; + if (previous == null) + _this._firstSubscription = next; + else + previous.set$_async$_next(next); + if (next == null) + _this._lastSubscription = previous; + else + next.set$_async$_previous(previous); + subscription.set$_async$_previous(subscription); + subscription.set$_async$_next(subscription); + } + subscription._eventState &= 4294967293; + subscription = next; + } else + subscription = subscription._async$_next; + } + _this._state &= 4294967293; + if (_this._firstSubscription == null) + _this._callOnCancel$0(); + }, + _callOnCancel$0() { + if ((this._state & 4) !== 0) + if (null.get$_mayComplete()) + null._asyncComplete$1(null); + A._runGuarded(this.onCancel); + }, + $isStreamController: 1, + $is_StreamControllerLifecycle: 1, + $is_EventDispatch: 1 + }; + A._SyncBroadcastStreamController.prototype = { + get$_mayAddEvent() { + return A._BroadcastStreamController.prototype.get$_mayAddEvent.call(this) && (this._state & 2) === 0; + }, + _addEventError$0() { + if ((this._state & 2) !== 0) + return new A.StateError(string$.Cannot); + return this.super$_BroadcastStreamController$_addEventError(); + }, + _sendData$1(data) { + var t1, _this = this; + _this.$ti._precomputed1._as(data); + t1 = _this._firstSubscription; + if (t1 == null) + return; + if (t1 === _this._lastSubscription) { + _this._state |= 2; + t1._add$1(data); + _this._state &= 4294967293; + if (_this._firstSubscription == null) + _this._callOnCancel$0(); + return; + } + _this._forEachListener$1(new A._SyncBroadcastStreamController__sendData_closure(_this, data)); + } + }; + A._SyncBroadcastStreamController__sendData_closure.prototype = { + call$1(subscription) { + this.$this.$ti._eval$1("_BufferingStreamSubscription<1>")._as(subscription)._add$1(this.data); + }, + $signature() { + return this.$this.$ti._eval$1("~(_BufferingStreamSubscription<1>)"); + } + }; + A._Completer.prototype = { + completeError$2(error, stackTrace) { + var t1 = this.future; + if ((t1._state & 30) !== 0) + throw A.wrapException(A.StateError$("Future already completed")); + t1._asyncCompleteErrorObject$1(A._interceptUserError(error, stackTrace)); + }, + completeError$1(error) { + return this.completeError$2(error, null); + } + }; + A._AsyncCompleter.prototype = { + complete$1(value) { + var t2, + t1 = this.$ti; + t1._eval$1("1/?")._as(value); + t2 = this.future; + if ((t2._state & 30) !== 0) + throw A.wrapException(A.StateError$("Future already completed")); + t2._asyncComplete$1(t1._eval$1("1/")._as(value)); + } + }; + A._FutureListener.prototype = { + matchesErrorTest$1(asyncError) { + if ((this.state & 15) !== 6) + return true; + return this.result._zone.runUnary$2$2(type$.bool_Function_Object._as(this.callback), asyncError.error, type$.bool, type$.Object); + }, + handleError$1(asyncError) { + var exception, _this = this, + errorCallback = _this.errorCallback, + result = null, + t1 = type$.dynamic, + t2 = type$.Object, + t3 = asyncError.error, + t4 = _this.result._zone; + if (type$.dynamic_Function_Object_StackTrace._is(errorCallback)) + result = t4.runBinary$3$3(errorCallback, t3, asyncError.stackTrace, t1, t2, type$.StackTrace); + else + result = t4.runUnary$2$2(type$.dynamic_Function_Object._as(errorCallback), t3, t1, t2); + try { + t1 = _this.$ti._eval$1("2/")._as(result); + return t1; + } catch (exception) { + if (type$.TypeError._is(A.unwrapException(exception))) { + if ((_this.state & 1) !== 0) + throw A.wrapException(A.ArgumentError$("The error handler of Future.then must return a value of the returned future's type", "onError")); + throw A.wrapException(A.ArgumentError$("The error handler of Future.catchError must return a value of the future's type", "onError")); + } else + throw exception; + } + } + }; + A._Future.prototype = { + then$1$2$onError(f, onError, $R) { + var currentZone, result, + t1 = this.$ti; + t1._bind$1($R)._eval$1("1/(2)")._as(f); + currentZone = $.Zone__current; + if (currentZone === B.C__RootZone) { + if (!type$.dynamic_Function_Object_StackTrace._is(onError) && !type$.dynamic_Function_Object._is(onError)) + throw A.wrapException(A.ArgumentError$value(onError, "onError", string$.Error_)); + } else { + $R._eval$1("@<0/>")._bind$1(t1._precomputed1)._eval$1("1(2)")._as(f); + onError = A._registerErrorHandler(onError, currentZone); + } + result = new A._Future(currentZone, $R._eval$1("_Future<0>")); + this._addListener$1(new A._FutureListener(result, 3, f, onError, t1._eval$1("@<1>")._bind$1($R)._eval$1("_FutureListener<1,2>"))); + return result; + }, + _thenAwait$1$2(f, onError, $E) { + var result, + t1 = this.$ti; + t1._bind$1($E)._eval$1("1/(2)")._as(f); + result = new A._Future($.Zone__current, $E._eval$1("_Future<0>")); + this._addListener$1(new A._FutureListener(result, 19, f, onError, t1._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>"))); + return result; + }, + _setErrorObject$1(error) { + this._state = this._state & 1 | 16; + this._resultOrListeners = error; + }, + _cloneResult$1(source) { + this._state = source._state & 30 | this._state & 1; + this._resultOrListeners = source._resultOrListeners; + }, + _addListener$1(listener) { + var source, _this = this, + t1 = _this._state; + if (t1 <= 3) { + listener._nextListener = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); + _this._resultOrListeners = listener; + } else { + if ((t1 & 4) !== 0) { + source = type$._Future_dynamic._as(_this._resultOrListeners); + if ((source._state & 24) === 0) { + source._addListener$1(listener); + return; + } + _this._cloneResult$1(source); + } + A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__addListener_closure(_this, listener))); + } + }, + _prependListeners$1(listeners) { + var t1, existingListeners, next, cursor, next0, source, _this = this, _box_0 = {}; + _box_0.listeners = listeners; + if (listeners == null) + return; + t1 = _this._state; + if (t1 <= 3) { + existingListeners = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); + _this._resultOrListeners = listeners; + if (existingListeners != null) { + next = listeners._nextListener; + for (cursor = listeners; next != null; cursor = next, next = next0) + next0 = next._nextListener; + cursor._nextListener = existingListeners; + } + } else { + if ((t1 & 4) !== 0) { + source = type$._Future_dynamic._as(_this._resultOrListeners); + if ((source._state & 24) === 0) { + source._prependListeners$1(listeners); + return; + } + _this._cloneResult$1(source); + } + _box_0.listeners = _this._reverseListeners$1(listeners); + A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__prependListeners_closure(_box_0, _this))); + } + }, + _removeListeners$0() { + var current = type$.nullable__FutureListener_dynamic_dynamic._as(this._resultOrListeners); + this._resultOrListeners = null; + return this._reverseListeners$1(current); + }, + _reverseListeners$1(listeners) { + var current, prev, next; + for (current = listeners, prev = null; current != null; prev = current, current = next) { + next = current._nextListener; + current._nextListener = prev; + } + return prev; + }, + _completeWithValue$1(value) { + var listeners, _this = this; + _this.$ti._precomputed1._as(value); + listeners = _this._removeListeners$0(); + _this._state = 8; + _this._resultOrListeners = value; + A._Future__propagateToListeners(_this, listeners); + }, + _completeWithResultOf$1(source) { + var t1, listeners, _this = this; + if ((source._state & 16) !== 0) { + t1 = _this._zone === source._zone; + t1 = !(t1 || t1); + } else + t1 = false; + if (t1) + return; + listeners = _this._removeListeners$0(); + _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) { + A._asObject(error); + type$.StackTrace._as(stackTrace); + this._completeErrorObject$1(new A.AsyncError(error, stackTrace)); + }, + _asyncComplete$1(value) { + var t1 = this.$ti; + t1._eval$1("1/")._as(value); + if (t1._eval$1("Future<1>")._is(value)) { + this._chainFuture$1(value); + return; + } + this._asyncCompleteWithValue$1(value); + }, + _asyncCompleteWithValue$1(value) { + var _this = this; + _this.$ti._precomputed1._as(value); + _this._state ^= 2; + A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__asyncCompleteWithValue_closure(_this, value))); + }, + _chainFuture$1(value) { + A._Future__chainCoreFuture(this.$ti._eval$1("Future<1>")._as(value), this, false); + return; + }, + _asyncCompleteErrorObject$1(error) { + this._state ^= 2; + A._rootScheduleMicrotask(null, null, this._zone, type$.void_Function._as(new A._Future__asyncCompleteErrorObject_closure(this, error))); + }, + $isFuture: 1 + }; + A._Future__addListener_closure.prototype = { + call$0() { + A._Future__propagateToListeners(this.$this, this.listener); + }, + $signature: 0 + }; + A._Future__prependListeners_closure.prototype = { + call$0() { + A._Future__propagateToListeners(this.$this, this._box_0.listeners); + }, + $signature: 0 + }; + A._Future__chainCoreFuture_closure.prototype = { + call$0() { + A._Future__chainCoreFuture(this._box_0.source, this.target, true); + }, + $signature: 0 + }; + A._Future__asyncCompleteWithValue_closure.prototype = { + call$0() { + this.$this._completeWithValue$1(this.value); + }, + $signature: 0 + }; + A._Future__asyncCompleteErrorObject_closure.prototype = { + call$0() { + this.$this._completeErrorObject$1(this.error); + }, + $signature: 0 + }; + A._Future__propagateToListeners_handleWhenCompleteCallback.prototype = { + call$0() { + var e, s, t1, exception, t2, t3, originalSource, joinedResult, _this = this, completeResult = null; + try { + t1 = _this._box_0.listener; + completeResult = t1.result._zone.run$1$1(type$.dynamic_Function._as(t1.callback), type$.dynamic); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + if (_this.hasError && type$.AsyncError._as(_this._box_1.source._resultOrListeners).error === e) { + t1 = _this._box_0; + t1.listenerValueOrError = type$.AsyncError._as(_this._box_1.source._resultOrListeners); + } else { + t1 = e; + t2 = s; + if (t2 == null) + t2 = A.AsyncError_defaultStackTrace(t1); + t3 = _this._box_0; + t3.listenerValueOrError = new A.AsyncError(t1, t2); + t1 = t3; + } + t1.listenerHasError = true; + return; + } + if (completeResult instanceof A._Future && (completeResult._state & 24) !== 0) { + if ((completeResult._state & 16) !== 0) { + t1 = _this._box_0; + t1.listenerValueOrError = type$.AsyncError._as(completeResult._resultOrListeners); + t1.listenerHasError = true; + } + return; + } + if (completeResult instanceof A._Future) { + originalSource = _this._box_1.source; + joinedResult = new A._Future(originalSource._zone, originalSource.$ti); + completeResult.then$1$2$onError(new A._Future__propagateToListeners_handleWhenCompleteCallback_closure(joinedResult, originalSource), new A._Future__propagateToListeners_handleWhenCompleteCallback_closure0(joinedResult), type$.void); + t1 = _this._box_0; + t1.listenerValueOrError = joinedResult; + t1.listenerHasError = false; + } + }, + $signature: 0 + }; + A._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = { + call$1(__wc0_formal) { + this.joinedResult._completeWithResultOf$1(this.originalSource); + }, + $signature: 5 + }; + A._Future__propagateToListeners_handleWhenCompleteCallback_closure0.prototype = { + call$2(e, s) { + A._asObject(e); + type$.StackTrace._as(s); + this.joinedResult._completeErrorObject$1(new A.AsyncError(e, s)); + }, + $signature: 20 + }; + A._Future__propagateToListeners_handleValueCallback.prototype = { + call$0() { + var e, s, t1, t2, t3, t4, t5, exception; + try { + t1 = this._box_0; + t2 = t1.listener; + t3 = t2.$ti; + t4 = t3._precomputed1; + t5 = t4._as(this.sourceResult); + t1.listenerValueOrError = t2.result._zone.runUnary$2$2(t3._eval$1("2/(1)")._as(t2.callback), t5, t3._eval$1("2/"), t4); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + t1 = e; + t2 = s; + if (t2 == null) + t2 = A.AsyncError_defaultStackTrace(t1); + t3 = this._box_0; + t3.listenerValueOrError = new A.AsyncError(t1, t2); + t3.listenerHasError = true; + } + }, + $signature: 0 + }; + A._Future__propagateToListeners_handleError.prototype = { + call$0() { + var asyncError, e, s, t1, exception, t2, t3, _this = this; + try { + asyncError = type$.AsyncError._as(_this._box_1.source._resultOrListeners); + t1 = _this._box_0; + if (t1.listener.matchesErrorTest$1(asyncError) && t1.listener.errorCallback != null) { + t1.listenerValueOrError = t1.listener.handleError$1(asyncError); + t1.listenerHasError = false; + } + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + t1 = type$.AsyncError._as(_this._box_1.source._resultOrListeners); + if (t1.error === e) { + t2 = _this._box_0; + t2.listenerValueOrError = t1; + t1 = t2; + } else { + t1 = e; + t2 = s; + if (t2 == null) + t2 = A.AsyncError_defaultStackTrace(t1); + t3 = _this._box_0; + t3.listenerValueOrError = new A.AsyncError(t1, t2); + t1 = t3; + } + t1.listenerHasError = true; + } + }, + $signature: 0 + }; + A._AsyncCallbackEntry.prototype = {}; + A.Stream.prototype = { + get$length(_) { + var t1 = {}, + future = new A._Future($.Zone__current, type$._Future_int); + t1.count = 0; + this.listen$4$cancelOnError$onDone$onError(new A.Stream_length_closure(t1, this), true, new A.Stream_length_closure0(t1, future), future.get$_completeError()); + return future; + } + }; + A.Stream_length_closure.prototype = { + call$1(__wc0_formal) { + this.$this.$ti._precomputed1._as(__wc0_formal); + ++this._box_0.count; + }, + $signature() { + return this.$this.$ti._eval$1("~(1)"); + } + }; + A.Stream_length_closure0.prototype = { + call$0() { + var t1 = this.future, + t2 = t1.$ti, + t3 = t2._eval$1("1/")._as(this._box_0.count), + listeners = t1._removeListeners$0(); + t2._precomputed1._as(t3); + t1._state = 8; + t1._resultOrListeners = t3; + A._Future__propagateToListeners(t1, listeners); + }, + $signature: 0 + }; + A._ControllerStream.prototype = { + get$hashCode(_) { + return (A.Primitives_objectHashCode(this._async$_controller) ^ 892482866) >>> 0; + }, + $eq(_, other) { + if (other == null) + return false; + if (this === other) + return true; + return other instanceof A._BroadcastStream && other._async$_controller === this._async$_controller; + } + }; + A._ControllerSubscription.prototype = { + _onPause$0() { + A._instanceType(this._async$_controller)._eval$1("StreamSubscription<1>")._as(this); + }, + _onResume$0() { + A._instanceType(this._async$_controller)._eval$1("StreamSubscription<1>")._as(this); + } + }; + A._BufferingStreamSubscription.prototype = { + _add$1(data) { + var t2, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(data); + t2 = _this._state; + if ((t2 & 8) !== 0) + return; + if (t2 < 64) + _this._sendData$1(data); + else + _this._addPending$1(new A._DelayedData(data, t1._eval$1("_DelayedData<1>"))); + }, + _onPause$0() { + }, + _onResume$0() { + }, + _addPending$1($event) { + var lastEvent, t1, _this = this, + pending = _this._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; + else + pending.lastPendingEvent = lastEvent.next = $event; + t1 = _this._state; + if ((t1 & 128) === 0) { + t1 |= 128; + _this._state = t1; + if (t1 < 256) + pending.schedule$1(_this); + } + }, + _sendData$1(data) { + var t2, _this = this, + t1 = A._instanceType(_this)._precomputed1; + t1._as(data); + t2 = _this._state; + _this._state = t2 | 64; + _this._zone.runUnaryGuarded$1$2(_this._onData, data, t1); + _this._state &= 4294967231; + _this._checkState$1((t2 & 4) !== 0); + }, + _checkState$1(wasInputPaused) { + var t2, isInputPaused, _this = this, + t1 = _this._state; + if ((t1 & 128) !== 0 && _this._pending.lastPendingEvent == null) { + t1 = _this._state = t1 & 4294967167; + t2 = false; + if ((t1 & 4) !== 0) + if (t1 < 256) { + t2 = _this._pending; + t2 = t2 == null ? null : t2.lastPendingEvent == null; + t2 = t2 !== false; + } + if (t2) { + t1 &= 4294967291; + _this._state = t1; + } + } + for (; true; wasInputPaused = isInputPaused) { + if ((t1 & 8) !== 0) { + _this._pending = null; + return; + } + isInputPaused = (t1 & 4) !== 0; + if (wasInputPaused === isInputPaused) + break; + _this._state = t1 ^ 64; + if (isInputPaused) + _this._onPause$0(); + else + _this._onResume$0(); + t1 = _this._state &= 4294967231; + } + if ((t1 & 128) !== 0 && t1 < 256) + _this._pending.schedule$1(_this); + }, + $isStreamSubscription: 1, + $is_EventDispatch: 1 + }; + A._StreamImpl.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var t1 = this.$ti; + t1._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + return this._async$_controller._subscribe$4(t1._eval$1("~(1)?")._as(onData), onError, onDone, cancelOnError === true); + }, + listen$1(onData) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null); + } + }; + A._DelayedEvent.prototype = {}; + A._DelayedData.prototype = {}; + A._PendingEvents.prototype = { + schedule$1(dispatch) { + var t1, _this = this; + _this.$ti._eval$1("_EventDispatch<1>")._as(dispatch); + t1 = _this._state; + if (t1 === 1) + return; + if (t1 >= 1) { + _this._state = 1; + return; + } + A.scheduleMicrotask(new A._PendingEvents_schedule_closure(_this, dispatch)); + _this._state = 1; + } + }; + A._PendingEvents_schedule_closure.prototype = { + call$0() { + var t2, $event, nextEvent, + t1 = this.$this, + oldState = t1._state; + t1._state = 0; + if (oldState === 3) + return; + t2 = t1.$ti._eval$1("_EventDispatch<1>")._as(this.dispatch); + $event = t1.firstPendingEvent; + nextEvent = $event.next; + t1.firstPendingEvent = nextEvent; + if (nextEvent == null) + t1.lastPendingEvent = null; + A._instanceType($event)._eval$1("_EventDispatch<1>")._as(t2)._sendData$1($event.value); + }, + $signature: 0 + }; + A._DoneStreamSubscription.prototype = { + _onMicrotask$0() { + var _0_0, _this = this, + unscheduledState = _this._state - 1; + if (unscheduledState === 0) { + _this._state = -1; + _0_0 = _this._onDone; + if (_0_0 != null) { + _this._onDone = null; + _this._zone.runGuarded$1(_0_0); + } + } else + _this._state = unscheduledState; + }, + $isStreamSubscription: 1 + }; + A._StreamIterator.prototype = {}; + A._Zone.prototype = {$isZone: 1}; + A._rootHandleError_closure.prototype = { + call$0() { + A.Error_throwWithStackTrace(this.error, this.stackTrace); + }, + $signature: 0 + }; + A._RootZone.prototype = { + runGuarded$1(f) { + var e, s, exception; + type$.void_Function._as(f); + try { + if (B.C__RootZone === $.Zone__current) { + f.call$0(); + return; + } + A._rootRun(null, null, this, f, type$.void); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._rootHandleError(A._asObject(e), type$.StackTrace._as(s)); + } + }, + runUnaryGuarded$1$2(f, arg, $T) { + var e, s, exception; + $T._eval$1("~(0)")._as(f); + $T._as(arg); + try { + if (B.C__RootZone === $.Zone__current) { + f.call$1(arg); + return; + } + A._rootRunUnary(null, null, this, f, arg, type$.void, $T); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._rootHandleError(A._asObject(e), type$.StackTrace._as(s)); + } + }, + bindCallbackGuarded$1(f) { + return new A._RootZone_bindCallbackGuarded_closure(this, type$.void_Function._as(f)); + }, + $index(_, key) { + return null; + }, + run$1$1(f, $R) { + $R._eval$1("0()")._as(f); + if ($.Zone__current === B.C__RootZone) + return f.call$0(); + return A._rootRun(null, null, this, f, $R); + }, + runUnary$2$2(f, arg, $R, $T) { + $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + $T._as(arg); + if ($.Zone__current === B.C__RootZone) + 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); + if ($.Zone__current === B.C__RootZone) + return f.call$2(arg1, arg2); + 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); + } + }; + A._RootZone_bindCallbackGuarded_closure.prototype = { + call$0() { + return this.$this.runGuarded$1(this.f); + }, + $signature: 0 + }; + A._HashMap.prototype = { + get$length(_) { + return this._collection$_length; + }, + get$keys() { + return new A._HashMapKeyIterable(this, this.$ti._eval$1("_HashMapKeyIterable<1>")); + }, + containsKey$1(key) { + var strings, nums; + if (typeof key == "string" && key !== "__proto__") { + strings = this._collection$_strings; + return strings == null ? false : strings[key] != null; + } else if (typeof key == "number" && (key & 1073741823) === key) { + nums = this._collection$_nums; + return nums == null ? false : nums[key] != null; + } else + return this._containsKey$1(key); + }, + _containsKey$1(key) { + var rest = this._collection$_rest; + if (rest == null) + return false; + return this._findBucketIndex$2(this._getBucket$2(rest, key), key) >= 0; + }, + $index(_, key) { + var strings, t1, nums; + if (typeof key == "string" && key !== "__proto__") { + strings = this._collection$_strings; + t1 = strings == null ? null : A._HashMap__getTableEntry(strings, key); + return t1; + } else if (typeof key == "number" && (key & 1073741823) === key) { + nums = this._collection$_nums; + t1 = nums == null ? null : A._HashMap__getTableEntry(nums, key); + return t1; + } else + return this._get$1(key); + }, + _get$1(key) { + var bucket, index, + rest = this._collection$_rest; + if (rest == null) + return null; + bucket = this._getBucket$2(rest, key); + index = this._findBucketIndex$2(bucket, key); + return index < 0 ? null : bucket[index + 1]; + }, + $indexSet(_, key, value) { + var strings, nums, rest, hash, bucket, index, _this = this, + t1 = _this.$ti; + t1._precomputed1._as(key); + t1._rest[1]._as(value); + if (typeof key == "string" && key !== "__proto__") { + strings = _this._collection$_strings; + _this._addHashTableEntry$3(strings == null ? _this._collection$_strings = A._HashMap__newHashTable() : strings, key, value); + } else if (typeof key == "number" && (key & 1073741823) === key) { + nums = _this._collection$_nums; + _this._addHashTableEntry$3(nums == null ? _this._collection$_nums = A._HashMap__newHashTable() : nums, key, value); + } else { + rest = _this._collection$_rest; + if (rest == null) + rest = _this._collection$_rest = A._HashMap__newHashTable(); + hash = A.objectHashCode(key) & 1073741823; + bucket = rest[hash]; + if (bucket == null) { + A._HashMap__setTableEntry(rest, hash, [key, value]); + ++_this._collection$_length; + _this._collection$_keys = null; + } else { + index = _this._findBucketIndex$2(bucket, key); + if (index >= 0) + bucket[index + 1] = value; + else { + bucket.push(key, value); + ++_this._collection$_length; + _this._collection$_keys = null; + } + } + } + }, + forEach$1(_, action) { + var keys, $length, t2, i, key, t3, _this = this, + t1 = _this.$ti; + t1._eval$1("~(1,2)")._as(action); + keys = _this._computeKeys$0(); + for ($length = keys.length, t2 = t1._precomputed1, t1 = t1._rest[1], i = 0; i < $length; ++i) { + key = keys[i]; + t2._as(key); + t3 = _this.$index(0, key); + action.call$2(key, t3 == null ? t1._as(t3) : t3); + if (keys !== _this._collection$_keys) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + } + }, + _computeKeys$0() { + var strings, index, names, entries, i, nums, rest, bucket, $length, i0, _this = this, + result = _this._collection$_keys; + if (result != null) + return result; + result = A.List_List$filled(_this._collection$_length, null, false, type$.dynamic); + strings = _this._collection$_strings; + index = 0; + if (strings != null) { + names = Object.getOwnPropertyNames(strings); + entries = names.length; + for (i = 0; i < entries; ++i) { + result[index] = names[i]; + ++index; + } + } + nums = _this._collection$_nums; + if (nums != null) { + names = Object.getOwnPropertyNames(nums); + entries = names.length; + for (i = 0; i < entries; ++i) { + result[index] = +names[i]; + ++index; + } + } + rest = _this._collection$_rest; + if (rest != null) { + names = Object.getOwnPropertyNames(rest); + entries = names.length; + for (i = 0; i < entries; ++i) { + bucket = rest[names[i]]; + $length = bucket.length; + for (i0 = 0; i0 < $length; i0 += 2) { + result[index] = bucket[i0]; + ++index; + } + } + } + return _this._collection$_keys = result; + }, + _addHashTableEntry$3(table, key, value) { + var t1 = this.$ti; + t1._precomputed1._as(key); + t1._rest[1]._as(value); + if (table[key] == null) { + ++this._collection$_length; + this._collection$_keys = null; + } + A._HashMap__setTableEntry(table, key, value); + }, + _getBucket$2(table, key) { + return table[A.objectHashCode(key) & 1073741823]; + } + }; + A._IdentityHashMap.prototype = { + _findBucketIndex$2(bucket, key) { + var $length, i, t1; + if (bucket == null) + return -1; + $length = bucket.length; + for (i = 0; i < $length; i += 2) { + t1 = bucket[i]; + if (t1 == null ? key == null : t1 === key) + return i; + } + return -1; + } + }; + A._HashMapKeyIterable.prototype = { + get$length(_) { + return this._collection$_map._collection$_length; + }, + get$iterator(_) { + var t1 = this._collection$_map; + return new A._HashMapKeyIterator(t1, t1._computeKeys$0(), this.$ti._eval$1("_HashMapKeyIterator<1>")); + } + }; + A._HashMapKeyIterator.prototype = { + get$current() { + var t1 = this._collection$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var _this = this, + keys = _this._collection$_keys, + offset = _this._offset, + t1 = _this._collection$_map; + if (keys !== t1._collection$_keys) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + else if (offset >= keys.length) { + _this._collection$_current = null; + return false; + } else { + _this._collection$_current = keys[offset]; + _this._offset = offset + 1; + return true; + } + }, + $isIterator: 1 + }; + A.ListBase.prototype = { + get$iterator(receiver) { + return new A.ListIterator(receiver, receiver.length, A.instanceType(receiver)._eval$1("ListIterator")); + }, + elementAt$1(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); + return new A.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(ListBase.E)")._as(f), t1._eval$1("@")._bind$1($T)._eval$1("MappedListIterable<1,2>")); + }, + toString$0(receiver) { + return A.Iterable_iterableToFullString(receiver, "[", "]"); + } + }; + A.MapBase.prototype = { + forEach$1(_, action) { + var t2, key, t3, + t1 = A._instanceType(this); + t1._eval$1("~(1,2)")._as(action); + for (t2 = this.get$keys(), t2 = t2.get$iterator(t2), t1 = t1._rest[1]; t2.moveNext$0();) { + key = t2.get$current(); + t3 = this.$index(0, key); + action.call$2(key, t3 == null ? t1._as(t3) : t3); + } + }, + get$length(_) { + var t1 = this.get$keys(); + return t1.get$length(t1); + }, + toString$0(_) { + return A.MapBase_mapToString(this); + }, + $isMap: 1 + }; + A.MapBase_mapToString_closure.prototype = { + call$2(k, v) { + var t2, + t1 = this._box_0; + if (!t1.first) + this.result._contents += ", "; + t1.first = false; + t1 = this.result; + t2 = A.S(k); + t1._contents = (t1._contents += t2) + ": "; + t2 = A.S(v); + t1._contents += t2; + }, + $signature: 21 + }; + A._UnmodifiableMapMixin.prototype = {}; + A.MapView.prototype = { + $index(_, key) { + return this._collection$_map.$index(0, key); + }, + forEach$1(_, action) { + this._collection$_map.forEach$1(0, A._instanceType(this)._eval$1("~(1,2)")._as(action)); + }, + get$length(_) { + return this._collection$_map.__js_helper$_length; + }, + get$keys() { + var t1 = this._collection$_map; + return new A.LinkedHashMapKeysIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeysIterable<1>")); + }, + toString$0(_) { + return A.MapBase_mapToString(this._collection$_map); + }, + $isMap: 1 + }; + A.UnmodifiableMapView.prototype = {}; + A._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {}; + A.Base64Codec.prototype = {}; + A.Base64Encoder.prototype = { + convert$1(input) { + var t1; + type$.List_int._as(input); + t1 = input.length; + if (t1 === 0) + return ""; + t1 = new A._Base64Encoder("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").encode$4(input, 0, t1, true); + t1.toString; + return A.String_String$fromCharCodes(t1); + } + }; + A._Base64Encoder.prototype = { + encode$4(bytes, start, end, isLast) { + var t1, byteCount, fullChunks, bufferLength, output; + type$.List_int._as(bytes); + t1 = this._convert$_state; + byteCount = (t1 & 3) + (end - start); + fullChunks = B.JSInt_methods._tdivFast$1(byteCount, 3); + bufferLength = fullChunks * 4; + if (byteCount - fullChunks * 3 > 0) + bufferLength += 4; + output = new Uint8Array(bufferLength); + this._convert$_state = A._Base64Encoder_encodeChunk(this._alphabet, bytes, start, end, true, output, 0, t1); + if (bufferLength > 0) + return output; + return null; + } + }; + A.Base64Decoder.prototype = { + convert$1(input) { + var decoder, t1, t2, + end = A.RangeError_checkValidRange(0, null, input.length); + if (0 === end) + return new Uint8Array(0); + decoder = new A._Base64Decoder(); + t1 = decoder.decode$3(input, 0, end); + t1.toString; + t2 = decoder._convert$_state; + if (t2 < -1) + A.throwExpression(A.FormatException$("Missing padding character", input, end)); + if (t2 > 0) + A.throwExpression(A.FormatException$("Invalid length, must be multiple of four", input, end)); + decoder._convert$_state = -1; + return t1; + } + }; + A._Base64Decoder.prototype = { + decode$3(input, start, end) { + var buffer, _this = this, + t1 = _this._convert$_state; + if (t1 < 0) { + _this._convert$_state = A._Base64Decoder__checkPadding(input, start, end, t1); + return null; + } + if (start === end) + return new Uint8Array(0); + buffer = A._Base64Decoder__allocateBuffer(input, start, end, t1); + _this._convert$_state = A._Base64Decoder_decodeChunk(input, start, end, buffer, 0, _this._convert$_state); + return buffer; + } + }; + A.Codec.prototype = {}; + A.Converter.prototype = {}; + A.NoSuchMethodError_toString_closure.prototype = { + call$2(key, value) { + var t1, t2, t3; + type$.Symbol._as(key); + t1 = this.sb; + t2 = this._box_0; + 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: 22 + }; + A.DateTime.prototype = { + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.DateTime && this._value === other._value && this._microsecond === other._microsecond && this.isUtc === other.isUtc; + }, + get$hashCode(_) { + return A.Object_hash(this._value, this._microsecond); + }, + toString$0(_) { + var _this = this, + y = A.DateTime__fourDigits(A.Primitives_getYear(_this)), + m = A.DateTime__twoDigits(A.Primitives_getMonth(_this)), + d = A.DateTime__twoDigits(A.Primitives_getDay(_this)), + h = A.DateTime__twoDigits(A.Primitives_getHours(_this)), + min = A.DateTime__twoDigits(A.Primitives_getMinutes(_this)), + sec = A.DateTime__twoDigits(A.Primitives_getSeconds(_this)), + ms = A.DateTime__threeDigits(A.Primitives_getMilliseconds(_this)), + t1 = _this._microsecond, + us = t1 === 0 ? "" : A.DateTime__threeDigits(t1); + t1 = y + "-" + m; + if (_this.isUtc) + return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + us + "Z"; + else + return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + us; + } + }; + A._Enum.prototype = { + toString$0(_) { + return this._enumToString$0(); + } + }; + A.Error.prototype = { + get$stackTrace() { + return A.Primitives_extractStackTrace(this); + } + }; + A.AssertionError.prototype = { + toString$0(_) { + var t1 = this.message; + if (t1 != null) + return "Assertion failed: " + A.Error_safeToString(t1); + return "Assertion failed"; + } + }; + A.TypeError.prototype = {}; + A.ArgumentError.prototype = { + get$_errorName() { + return "Invalid argument" + (!this._hasValue ? "(s)" : ""); + }, + get$_errorExplanation() { + return ""; + }, + toString$0(_) { + var _this = this, + $name = _this.name, + nameString = $name == null ? "" : " (" + $name + ")", + message = _this.message, + messageString = message == null ? "" : ": " + A.S(message), + prefix = _this.get$_errorName() + nameString + messageString; + if (!_this._hasValue) + return prefix; + return prefix + _this.get$_errorExplanation() + ": " + A.Error_safeToString(_this.get$invalidValue()); + }, + get$invalidValue() { + return this.invalidValue; + } + }; + A.RangeError.prototype = { + get$invalidValue() { + return A._asNumQ(this.invalidValue); + }, + get$_errorName() { + return "RangeError"; + }, + get$_errorExplanation() { + var explanation, + start = this.start, + end = this.end; + if (start == null) + explanation = end != null ? ": Not less than or equal to " + A.S(end) : ""; + else if (end == null) + explanation = ": Not greater than or equal to " + A.S(start); + else if (end > start) + explanation = ": Not in inclusive range " + A.S(start) + ".." + A.S(end); + else + explanation = end < start ? ": Valid value range is empty" : ": Only valid value is " + A.S(start); + return explanation; + } + }; + A.IndexError.prototype = { + get$invalidValue() { + return A._asInt(this.invalidValue); + }, + get$_errorName() { + return "RangeError"; + }, + get$_errorExplanation() { + if (A._asInt(this.invalidValue) < 0) + return ": index must not be negative"; + var t1 = this.length; + if (t1 === 0) + return ": no indices are valid"; + return ": index should be less than " + t1; + }, + get$length(receiver) { + return this.length; + } + }; + A.NoSuchMethodError.prototype = { + toString$0(_) { + var $arguments, t1, _i, t2, t3, argument, receiverText, actualParameters, _this = this, _box_0 = {}, + sb = new A.StringBuffer(""); + _box_0.comma = ""; + $arguments = _this._core$_arguments; + for (t1 = $arguments.length, _i = 0, t2 = "", t3 = ""; _i < t1; ++_i, t3 = ", ") { + argument = $arguments[_i]; + sb._contents = t2 + t3; + t2 = A.Error_safeToString(argument); + t2 = sb._contents += t2; + _box_0.comma = ", "; + } + _this._namedArguments.forEach$1(0, new A.NoSuchMethodError_toString_closure(_box_0, sb)); + receiverText = A.Error_safeToString(_this._core$_receiver); + actualParameters = sb.toString$0(0); + return "NoSuchMethodError: method not found: '" + _this._core$_memberName.__internal$_name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]"; + } + }; + A.UnsupportedError.prototype = { + toString$0(_) { + return "Unsupported operation: " + this.message; + } + }; + A.UnimplementedError.prototype = { + toString$0(_) { + return "UnimplementedError: " + this.message; + } + }; + A.StateError.prototype = { + toString$0(_) { + return "Bad state: " + this.message; + } + }; + A.ConcurrentModificationError.prototype = { + toString$0(_) { + var t1 = this.modifiedObject; + if (t1 == null) + return "Concurrent modification during iteration."; + return "Concurrent modification during iteration: " + A.Error_safeToString(t1) + "."; + } + }; + A.OutOfMemoryError.prototype = { + toString$0(_) { + return "Out of Memory"; + }, + get$stackTrace() { + return null; + }, + $isError: 1 + }; + A.StackOverflowError.prototype = { + toString$0(_) { + return "Stack Overflow"; + }, + get$stackTrace() { + return null; + }, + $isError: 1 + }; + A._Exception.prototype = { + toString$0(_) { + return "Exception: " + this.message; + } + }; + A.FormatException.prototype = { + toString$0(_) { + var lineEnd, lineNum, lineStart, previousCharWasCR, i, char, prefix, postfix, end, start, + message = this.message, + report = "" !== message ? "FormatException: " + message : "FormatException", + offset = this.offset, + source = this.source, + t1 = offset < 0 || offset > source.length; + if (t1) + offset = null; + if (offset == null) { + if (source.length > 78) + source = B.JSString_methods.substring$2(source, 0, 75) + "..."; + return report + "\n" + source; + } + for (lineEnd = source.length, lineNum = 1, lineStart = 0, previousCharWasCR = false, i = 0; i < offset; ++i) { + if (!(i < lineEnd)) + return A.ioore(source, i); + char = source.charCodeAt(i); + if (char === 10) { + if (lineStart !== i || !previousCharWasCR) + ++lineNum; + lineStart = i + 1; + previousCharWasCR = false; + } else if (char === 13) { + ++lineNum; + lineStart = i + 1; + previousCharWasCR = true; + } + } + report = lineNum > 1 ? report + (" (at line " + lineNum + ", character " + (offset - lineStart + 1) + ")\n") : report + (" (at character " + (offset + 1) + ")\n"); + for (i = offset; i < lineEnd; ++i) { + if (!(i >= 0)) + return A.ioore(source, i); + char = source.charCodeAt(i); + if (char === 10 || char === 13) { + lineEnd = i; + break; + } + } + prefix = ""; + if (lineEnd - lineStart > 78) { + postfix = "..."; + if (offset - lineStart < 75) { + end = lineStart + 75; + start = lineStart; + } else { + if (lineEnd - offset < 75) { + start = lineEnd - 75; + end = lineEnd; + postfix = ""; + } else { + start = offset - 36; + end = offset + 36; + } + prefix = "..."; + } + } else { + end = lineEnd; + start = lineStart; + postfix = ""; + } + return report + prefix + B.JSString_methods.substring$2(source, start, end) + postfix + "\n" + B.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n"; + } + }; + A.Iterable.prototype = { + map$1$1(_, toElement, $T) { + var t1 = A._instanceType(this); + return A.MappedIterable_MappedIterable(this, t1._bind$1($T)._eval$1("1(Iterable.E)")._as(toElement), t1._eval$1("Iterable.E"), $T); + }, + get$length(_) { + var count, + it = this.get$iterator(this); + for (count = 0; it.moveNext$0();) + ++count; + return count; + }, + elementAt$1(_, index) { + var iterator, skipCount; + A.RangeError_checkNotNegative(index, "index"); + iterator = this.get$iterator(this); + for (skipCount = index; iterator.moveNext$0();) { + if (skipCount === 0) + return iterator.get$current(); + --skipCount; + } + throw A.wrapException(A.IndexError$withLength(index, index - skipCount, this, "index")); + }, + toString$0(_) { + return A.Iterable_iterableToShortString(this, "(", ")"); + } + }; + A.Null.prototype = { + get$hashCode(_) { + return A.Object.prototype.get$hashCode.call(this, 0); + }, + toString$0(_) { + return "null"; + } + }; + A.Object.prototype = {$isObject: 1, + $eq(_, other) { + return this === other; + }, + get$hashCode(_) { + return A.Primitives_objectHashCode(this); + }, + toString$0(_) { + return "Instance of '" + A.Primitives_objectTypeName(this) + "'"; + }, + noSuchMethod$1(_, invocation) { + throw A.wrapException(A.NoSuchMethodError_NoSuchMethodError$withInvocation(this, type$.Invocation._as(invocation))); + }, + get$runtimeType(_) { + return A.getRuntimeTypeOfDartObject(this); + }, + toString() { + return this.toString$0(this); + } + }; + A._StringStackTrace.prototype = { + toString$0(_) { + return ""; + }, + $isStackTrace: 1 + }; + A.StringBuffer.prototype = { + get$length(_) { + return this._contents.length; + }, + toString$0(_) { + var t1 = this._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + } + }; + A.jsify__convert.prototype = { + call$1(o) { + var t1, convertedMap, key, convertedList; + if (A._noJsifyRequired(o)) + return o; + t1 = this._convertedObjects; + if (t1.containsKey$1(o)) + return t1.$index(0, 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();) { + key = t1.get$current(); + convertedMap[key] = this.call$1(o.$index(0, key)); + } + return convertedMap; + } 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)); + return convertedList; + } else + return o; + }, + $signature: 8 + }; + A.promiseToFuture_closure.prototype = { + call$1(r) { + return this.completer.complete$1(this.T._eval$1("0/?")._as(r)); + }, + $signature: 3 + }; + A.promiseToFuture_closure0.prototype = { + call$1(e) { + if (e == null) + return this.completer.completeError$1(new A.NullRejectionException(e === undefined)); + return this.completer.completeError$1(e); + }, + $signature: 3 + }; + A.dartify_convert.prototype = { + call$1(o) { + var t1, millisSinceEpoch, proto, t2, dartObject, originalKeys, dartKeys, _i, i, jsKey, dartKey, l, $length; + if (A._noDartifyRequired(o)) + return o; + t1 = this._convertedObjects; + o.toString; + if (t1.containsKey$1(o)) + return t1.$index(0, o); + if (o instanceof Date) { + millisSinceEpoch = o.getTime(); + if (millisSinceEpoch < -864e13 || millisSinceEpoch > 864e13) + A.throwExpression(A.RangeError$range(millisSinceEpoch, -864e13, 864e13, "millisecondsSinceEpoch", null)); + A.checkNotNullable(true, "isUtc", type$.bool); + return new A.DateTime(millisSinceEpoch, 0, true); + } + if (o instanceof RegExp) + throw A.wrapException(A.ArgumentError$("structured clone of RegExp", null)); + if (typeof Promise != "undefined" && o instanceof Promise) + return A.promiseToFuture(o, type$.nullable_Object); + proto = Object.getPrototypeOf(o); + if (proto === Object.prototype || proto === null) { + t2 = type$.nullable_Object; + dartObject = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2); + t1.$indexSet(0, o, dartObject); + originalKeys = Object.keys(o); + dartKeys = []; + 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]; + if (jsKey != null) + dartObject.$indexSet(0, dartKey, this.call$1(o[jsKey])); + } + return dartObject; + } + if (o instanceof Array) { + l = o; + dartObject = []; + t1.$indexSet(0, o, dartObject); + $length = A._asInt(o.length); + 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; + }, + $signature: 8 + }; + A.NullRejectionException.prototype = { + toString$0(_) { + return "Promise was rejected with a value of `" + (this.isUndefined ? "undefined" : "null") + "`."; + } + }; + A._JSSecureRandom.prototype = { + _JSSecureRandom$0() { + var $crypto = self.crypto; + if ($crypto != null) + if ($crypto.getRandomValues != null) + return; + throw A.wrapException(A.UnsupportedError$("No source of cryptographically secure random numbers available.")); + }, + nextInt$1(max) { + var byteCount, t1, start, randomLimit, t2, t3, random, result, _null = null; + if (max <= 0 || max > 4294967296) + throw A.wrapException(new A.RangeError(_null, _null, false, _null, _null, "max must be in range 0 < max \u2264 2^32, was " + max)); + if (max > 255) + if (max > 65535) + byteCount = max > 16777215 ? 4 : 3; + else + byteCount = 2; + else + byteCount = 1; + 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 === 0; true;) { + crypto.getRandomValues(J.asUint8List$2$x(B.NativeByteData_methods.get$buffer(t1), start, byteCount)); + random = t1.getUint32(0, false); + if (t3) + return (random & t2) >>> 0; + result = random % max; + if (random - result + max < randomLimit) + return result; + } + } + }; + 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; + } + }; + A.FrameInfo.prototype = {}; + A.FrameCryptor.prototype = { + get$enabled() { + if (this.participantIdentity == null) + return false; + return this._enabled; + }, + setupTransform$6$codec$kind$operation$readable$trackId$writable(codec, kind, operation, readable, trackId, writable) { + return this.setupTransform$body$FrameCryptor(codec, kind, operation, readable, trackId, writable); + }, + setupTransform$5$kind$operation$readable$trackId$writable(kind, operation, readable, trackId, writable) { + return this.setupTransform$6$codec$kind$operation$readable$trackId$writable(null, kind, operation, readable, trackId, writable); + }, + 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, 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); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $.$get$logger(); + t1.log$4(B.Level_INFO_800, "setupTransform " + operation + " kind " + kind, null, null); + $async$self.__FrameCryptor_kind_A = kind; + if (codec != null) { + t1.log$4(B.Level_INFO_800, "setting codec on cryptor to " + codec, null, null); + $async$self.codec = codec; + } + 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; + transformer = A._asJSObject(new t1(A._asJSObject(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["transform", A.allowInterop(t2, t3)], t4, t3))))); + try { + 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); + if ($async$self.lastError !== B.CryptorError_7) { + $async$self.lastError = B.CryptorError_7; + $async$self.worker.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "msgType", "event", "participantId", $async$self.participantIdentity, "state", "internalError", "error", "Internal error: " + J.toString$0$(e)], t4, type$.nullable_String))); + } + } + $async$self.trackId = trackId; + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$setupTransform$6$codec$kind$operation$readable$trackId$writable, $async$completer); + }, + getUnencryptedBytes$2(obj, codec) { + 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); + } + if (codec != null && codec.toLowerCase() === "h264") { + type$.Uint8List._as(data); + naluIndices = A.findNALUIndices(data); + for (t1 = naluIndices.length, t2 = data.length, _i = 0; _i < naluIndices.length; naluIndices.length === t1 || (0, A.throwConcurrentModificationError)(naluIndices), ++_i) { + index = naluIndices[_i]; + if (!(index < t2)) + return A.ioore(data, index); + type = data[index] & 31; + switch (type) { + case 5: + case 1: + t1 = index + 2; + $.$get$logger().log$4(B.Level_FINER_400, "unEncryptedBytes NALU of type " + type + ", offset " + t1, _null, _null); + return t1; + default: + $.$get$logger().log$4(B.Level_FINER_400, "skipping NALU of type " + type, _null, _null); + break; + } + } + throw A.wrapException(A.Exception_Exception("Could not find NALU")); + } + switch (frameType) { + case "key": + return 10; + case "delta": + return 3; + case "audio": + return 1; + default: + return 0; + } + }, + readFrameInfo$1(frameObj) { + var t1, buffer, frameType, synchronizationSource, timestamp; + new Uint8Array(0); + 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 = ""; + 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) { + frameObj.data = type$.NativeArrayBuffer._as(B.NativeUint8List_methods.get$buffer(buffer.toBytes$0())); + controller.enqueue(frameObj); + }, + encodeFunction$2(frameObj, 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, 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); + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$handler = 4; + t1 = true; + if ($async$self.get$enabled()) { + 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) { + // goto return + $async$goto = 1; + break; + } + controller.enqueue(frameObj); + // goto return + $async$goto = 1; + break; + } + srcFrame = $async$self.readFrameInfo$1(frameObj); + t1 = $.$get$logger(); + t1.log$4(B.Level_FINE_500, "encodeFunction: buffer " + srcFrame.buffer.length + ", synchronizationSource " + srcFrame.ssrc + " frameType " + srcFrame.frameType, null, null); + t2 = $async$self.keyHandler.getKeySet$1($async$self.currentKeyIndex); + secretKey = t2 == null ? null : t2.encryptionKey; + keyIndex = $async$self.currentKeyIndex; + if (secretKey == null) { + if ($async$self.lastError !== B.CryptorError_5) { + $async$self.lastError = B.CryptorError_5; + t1 = $async$self.participantIdentity; + t2 = $async$self.trackId; + t3 = $async$self.__FrameCryptor_kind_A; + t3 === $ && A.throwLateFieldNI("kind"); + $async$self.worker.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "msgType", "event", "participantId", t1, "trackId", t2, "kind", t3, "state", "missingKey", "error", "Missing key for track " + t2], type$.String, type$.nullable_String))); + } + // goto return + $async$goto = 1; + break; + } + t2 = $async$self.__FrameCryptor_kind_A; + t2 === $ && A.throwLateFieldNI("kind"); + headerLength = t2 === "video" ? $async$self.getUnencryptedBytes$2(frameObj, $async$self.codec) : 1; + t3 = srcFrame.ssrc; + t4 = srcFrame.timestamp; + iv0 = new DataView(new ArrayBuffer(12)); + t2 = $async$self.sendCounts; + if (t2.$index(0, t3) == null) + t2.$indexSet(0, t3, $.$get$Random__secureRandom().nextInt$1(65535)); + sendCount = t2.$index(0, t3); + if (sendCount == null) + sendCount = 0; + iv0.setUint32(0, t3, false); + iv0.setUint32(4, t4, false); + iv0.setUint32(8, t4 - B.JSInt_methods.$mod(sendCount, 65535), false); + t2.$indexSet(0, t3, sendCount + 1); + iv = J.asUint8List$0$x(B.NativeByteData_methods.get$buffer(iv0)); + frameTrailer = new DataView(new ArrayBuffer(2)); + t2 = frameTrailer; + t2.$flags & 2 && A.throwUnsupportedOperation(t2, 6); + J._setInt8$2$x(t2, 0, 12); + t2 = frameTrailer; + t3 = A._asInt(keyIndex); + t2.$flags & 2 && A.throwUnsupportedOperation(t2, 6); + J._setInt8$2$x(t2, 1, t3); + t3 = $async$self.worker; + 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(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); + t1.log$4(B.Level_FINER_400, "encodeFunction: encrypted buffer: " + srcFrame.buffer.length + ", cipherText: " + A.NativeUint8List_NativeUint8List$view(cipherText, 0, null).length, null, null); + t2 = $.$get$_CopyingBytesBuilder__emptyList(); + finalBuffer = new A._CopyingBytesBuilder(t2); + J.add$1$ax(finalBuffer, new Uint8Array(A._ensureNativeList(B.NativeUint8List_methods.sublist$2(srcFrame.buffer, 0, headerLength)))); + J.add$1$ax(finalBuffer, A.NativeUint8List_NativeUint8List$view(cipherText, 0, null)); + J.add$1$ax(finalBuffer, iv); + J.add$1$ax(finalBuffer, J.asUint8List$0$x(J.get$buffer$x(frameTrailer))); + $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"], 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; + // 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); + if ($async$self.lastError !== B.CryptorError_3) { + $async$self.lastError = B.CryptorError_3; + t1 = $async$self.participantIdentity; + t2 = $async$self.trackId; + t3 = $async$self.__FrameCryptor_kind_A; + t3 === $ && A.throwLateFieldNI("kind"); + $async$self.worker.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "msgType", "event", "participantId", t1, "trackId", t2, "kind", t3, "state", "encryptError", "error", J.toString$0$(e)], type$.String, type$.nullable_String))); + } + // 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$encodeFunction$2, $async$completer); + }, + decodeFunction$2(frameObj, controller) { + return this.decodeFunction$body$FrameCryptor(A._asJSObject(frameObj), A._asJSObject(controller)); + }, + decodeFunction$body$FrameCryptor(frameObj, controller) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$self = this, headerLength, frameTrailer, ivLength, keyIndex, iv, decryptFrameInternal, ratchedKeyInternal, e, finalBuffer, e0, t2, t3, t4, t5, t6, magicBytesBuffer, t7, initialKeySet, exception, t1, srcFrame, $async$exception, $async$exception1; + var $async$decodeFunction$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 = {}; + srcFrame = $async$self.readFrameInfo$1(frameObj); + t1.ratchetCount = 0; + t2 = $.$get$logger(); + t2.log$4(B.Level_FINE_500, "decodeFunction: frame lenght " + srcFrame.buffer.length, null, null); + t1.initialKeySet = t1.decrypted = null; + t1.initialKeyIndex = $async$self.currentKeyIndex; + if (!$async$self.get$enabled() || srcFrame.buffer.length === 0) { + $async$self.sifGuard.recordUserFrame$0(); + if ($async$self.keyHandler.keyOptions.discardFrameWhenCryptorNotReady) { + // goto return + $async$goto = 1; + break; + } + t2.log$4(B.Level_FINE_500, "enqueing empty frame", null, null); + controller.enqueue(frameObj); + t2.log$4(B.Level_FINER_400, "enqueing silent frame", null, null); + // goto return + $async$goto = 1; + break; + } + t3 = $async$self.keyHandler.keyOptions.uncryptedMagicBytes; + if (t3 != null) { + t4 = srcFrame.buffer; + t5 = t3.length; + t6 = t5 + 1; + if (t4.length > t6) { + magicBytesBuffer = B.NativeUint8List_methods.sublist$2(srcFrame.buffer, srcFrame.buffer.length - t5 - 1, srcFrame.buffer.length - 1); + t2.log$4(B.Level_FINER_400, "magicBytesBuffer " + A.S(magicBytesBuffer) + ", magicBytes " + A.S(t3), null, null); + t4 = $async$self.sifGuard; + if (A.Iterable_iterableToFullString(magicBytesBuffer, "[", "]") === A.Iterable_iterableToFullString(t3, "[", "]")) { + ++t4.consecutiveSifCount; + if (t4.sifSequenceStartedAt == null) + t4.sifSequenceStartedAt = Date.now(); + t4.lastSifReceivedAt = Date.now(); + if (t4.consecutiveSifCount < 100) + if (t4.sifSequenceStartedAt != null) { + t1 = Date.now(); + t4 = t4.sifSequenceStartedAt; + t4.toString; + t4 = t1 - t4 < 2000; + t1 = t4; + } else + t1 = true; + else + t1 = false; + if (t1) { + t1 = B.NativeUint8List_methods.sublist$1(srcFrame.buffer, srcFrame.buffer.length - 1); + if (0 >= t1.length) { + $async$returnValue = A.ioore(t1, 0); + // goto return + $async$goto = 1; + break; + } + t2.log$4(B.Level_FINER_400, "ecodeFunction: skip uncrypted frame, type " + t1[0], null, null); + finalBuffer = new A._CopyingBytesBuilder($.$get$_CopyingBytesBuilder__emptyList()); + finalBuffer.add$1(0, new Uint8Array(A._ensureNativeList(B.NativeUint8List_methods.sublist$2(srcFrame.buffer, 0, srcFrame.buffer.length - t6)))); + $async$self.enqueueFrame$3(frameObj, controller, finalBuffer); + t2.log$4(B.Level_FINE_500, "ecodeFunction: enqueing silent frame", null, null); + controller.enqueue(frameObj); + } else + t2.log$4(B.Level_FINER_400, "ecodeFunction: SIF limit reached, dropping frame", null, null); + t2.log$4(B.Level_FINER_400, "ecodeFunction: enqueing silent frame", null, null); + controller.enqueue(frameObj); + // goto return + $async$goto = 1; + break; + } else + t4.recordUserFrame$0(); + } + } + $async$handler = 4; + t3 = {}; + t4 = $async$self.__FrameCryptor_kind_A; + t4 === $ && A.throwLateFieldNI("kind"); + headerLength = t4 === "video" ? $async$self.getUnencryptedBytes$2(frameObj, $async$self.codec) : 1; + frameTrailer = B.NativeUint8List_methods.sublist$1(srcFrame.buffer, srcFrame.buffer.length - 2); + ivLength = J.$index$asx(frameTrailer, 0); + keyIndex = J.$index$asx(frameTrailer, 1); + t5 = srcFrame.buffer; + t6 = srcFrame.buffer; + t7 = ivLength; + if (typeof t7 !== "number") { + $async$returnValue = A.iae(t7); + // goto return + $async$goto = 1; + break; + } + iv = B.NativeUint8List_methods.sublist$2(t5, t6.length - t7 - 2, srcFrame.buffer.length - 2); + initialKeySet = t1.initialKeySet = $async$self.keyHandler.getKeySet$1(keyIndex); + t1.initialKeyIndex = keyIndex; + t2.log$4(B.Level_FINER_400, "decodeFunction: start decrypting frame headerLength " + A.S(headerLength) + " " + srcFrame.buffer.length + " frameTrailer " + A.S(frameTrailer) + ", ivLength " + A.S(ivLength) + ", keyIndex " + A.S(keyIndex) + ", iv " + A.S(iv), null, null); + if (initialKeySet == null || !$async$self.keyHandler._hasValidKey) { + if ($async$self.lastError !== B.CryptorError_5) { + $async$self.lastError = B.CryptorError_5; + t1 = $async$self.participantIdentity; + t2 = $async$self.trackId; + $async$self.worker.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "msgType", "event", "participantId", t1, "trackId", t2, "kind", $async$self.__FrameCryptor_kind_A, "state", "missingKey", "error", "Missing key for track " + t2], type$.String, type$.nullable_String))); + } + // goto return + $async$goto = 1; + break; + } + t3.currentkeySet = initialKeySet; + decryptFrameInternal = new A.FrameCryptor_decodeFunction_decryptFrameInternal(t1, t3, $async$self, iv, srcFrame, headerLength, ivLength); + ratchedKeyInternal = new A.FrameCryptor_decodeFunction_ratchedKeyInternal(t1, t3, $async$self, decryptFrameInternal); + $async$handler = 8; + $async$goto = 11; + return A._asyncAwait(decryptFrameInternal.call$0(), $async$decodeFunction$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); + $async$self.lastError = B.CryptorError_7; + 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$decodeFunction$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 + 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)))); + t1 = t1.decrypted; + t1.toString; + J.add$1$ax(finalBuffer, A.NativeUint8List_NativeUint8List$view(t1, 0, null)); + $async$self.enqueueFrame$3(frameObj, controller, finalBuffer); + if ($async$self.lastError !== B.CryptorError_1) { + $async$self.lastError = B.CryptorError_1; + $async$self.worker.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", "decryption ok"], type$.String, type$.nullable_String))); + } + t2.log$4(B.Level_FINE_500, "decodeFunction[CryptorError.kOk]: decryption success kind " + $async$self.__FrameCryptor_kind_A + ", headerLength: " + A.S(headerLength) + ", timestamp: " + srcFrame.timestamp + ", ssrc: " + srcFrame.ssrc + ", data length: " + srcFrame.buffer.length + ", decrypted length: " + finalBuffer.toBytes$0().length + ", keyindex " + A.S(keyIndex) + " iv " + A.S(iv), null, null); + $async$handler = 2; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception1 = $async$errorStack.pop(); + e0 = A.unwrapException($async$exception1); + if ($async$self.lastError !== B.CryptorError_2) { + $async$self.lastError = B.CryptorError_2; + t1 = $async$self.participantIdentity; + t2 = $async$self.trackId; + t3 = $async$self.__FrameCryptor_kind_A; + t3 === $ && A.throwLateFieldNI("kind"); + $async$self.worker.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "msgType", "event", "participantId", t1, "trackId", t2, "kind", t3, "state", "decryptError", "error", J.toString$0$(e0)], type$.String, type$.nullable_String))); + } + $async$self.keyHandler.decryptionFailure$0(); + // 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$decodeFunction$2, $async$completer); + } + }; + A.FrameCryptor_decodeFunction_decryptFrameInternal.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $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); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.$this; + t2 = t1.worker; + 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(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); + 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")); + 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 + t6.log$4(B.Level_FINE_500, string$.decodex3ar, null, null); + $async$goto = 5; + 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 && 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"], t7, type$.nullable_String))); + } + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 2 + }; + A.FrameCryptor_decodeFunction_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.KeyOptions.prototype = { + toString$0(_) { + var _this = this; + return "KeyOptions{sharedKey: " + _this.sharedKey + ", ratchetWindowSize: " + _this.ratchetWindowSize + ", failureTolerance: " + _this.failureTolerance + ", uncryptedMagicBytes: " + A.S(_this.uncryptedMagicBytes) + ", ratchetSalt: " + A.S(_this.ratchetSalt) + "}"; + } + }; + A.KeyProvider.prototype = { + getParticipantKeyHandler$1(participantIdentity) { + var t2, keys, _this = this, + t1 = _this.keyProviderOptions; + if (t1.sharedKey) + return _this.getSharedKeyHandler$0(); + t2 = _this.participantKeys; + keys = t2.$index(0, participantIdentity); + if (keys == null) { + keys = A.ParticipantKeyHandler$(t1, participantIdentity, _this.worker); + t1 = _this.sharedKey; + if (t1.length !== 0) + keys.setKey$1(t1); + t2.$indexSet(0, participantIdentity, keys); + } + return keys; + }, + getSharedKeyHandler$0() { + var _this = this, + t1 = _this.sharedKeyHandler; + return t1 == null ? _this.sharedKeyHandler = A.ParticipantKeyHandler$(_this.keyProviderOptions, "shared-key", _this.worker) : t1; + } + }; + A.KeySet.prototype = {}; + A.ParticipantKeyHandler.prototype = { + decryptionFailure$0() { + var _this = this, + t1 = _this.keyOptions.failureTolerance; + if (t1 < 0) + return; + if (++_this._decryptionFailureCount > t1) { + $.$get$logger().log$4(B.Level_WARNING_900, "key for " + _this.participantIdentity + " is being marked as invalid", null, null); + _this._hasValidKey = false; + } + }, + exportKey$1(keyIndex) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Uint8List), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$self = this, key, e, exception, t1, currentMaterial, $async$exception, $async$temp1; + var $async$exportKey$1 = 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 = $async$self.getKeySet$1(keyIndex); + currentMaterial = t1 == null ? null : t1.material; + if (currentMaterial == null) { + $async$returnValue = null; + // goto return + $async$goto = 1; + break; + } + $async$handler = 4; + $async$temp1 = type$.NativeArrayBuffer; + $async$goto = 7; + 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); + t1 = A.NativeUint8List_NativeUint8List$view(key, 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$exception = $async$errorStack.pop(); + e = A.unwrapException($async$exception); + $.$get$logger().log$4(B.Level_WARNING_900, "exportKey: " + A.S(e), null, null); + $async$returnValue = null; + // goto return + $async$goto = 1; + break; + // 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$exportKey$1, $async$completer); + }, + ratchetKey$1(keyIndex) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Uint8List), + $async$returnValue, $async$self = this, newKey, newKeySet, t1, currentMaterial; + var $async$ratchetKey$1 = 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.getKeySet$1(keyIndex); + currentMaterial = t1 == null ? null : t1.material; + if (currentMaterial == null) { + $async$returnValue = null; + // goto return + $async$goto = 1; + break; + } + t1 = $async$self.keyOptions.ratchetSalt; + $async$goto = 3; + return A._asyncAwait($async$self.ratchet$2(currentMaterial, t1), $async$ratchetKey$1); + case 3: + // returning from await. + newKey = $async$result; + $async$goto = 5; + return A._asyncAwait($async$self.ratchetMaterial$2(currentMaterial, B.NativeUint8List_methods.get$buffer(newKey)), $async$ratchetKey$1); + case 5: + // returning from await. + $async$goto = 4; + return A._asyncAwait($async$self.deriveKeys$2($async$result, t1), $async$ratchetKey$1); + case 4: + // returning from await. + newKeySet = $async$result; + $async$goto = 6; + return A._asyncAwait($async$self.setKeySetFromMaterial$2(newKeySet, keyIndex == null ? $async$self.currentKeyIndex : keyIndex), $async$ratchetKey$1); + case 6: + // returning from await. + $async$returnValue = newKey; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$ratchetKey$1, $async$completer); + }, + ratchetMaterial$2(currentMaterial, newKeyBuffer) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.JSObject), + $async$returnValue, $async$self = this, t1; + var $async$ratchetMaterial$2 = 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 = type$.JSObject; + $async$goto = 3; + 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; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$ratchetMaterial$2, $async$completer); + }, + getKeySet$1(keyIndex) { + var t2, + t1 = this.__ParticipantKeyHandler_cryptoKeyRing_A; + t1 === $ && A.throwLateFieldNI("cryptoKeyRing"); + t2 = keyIndex == null ? this.currentKeyIndex : keyIndex; + if (!(t2 >= 0 && t2 < t1.length)) + return A.ioore(t1, t2); + return t1[t2]; + }, + setKey$2$keyIndex(key, keyIndex) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $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); + while (true) + switch ($async$goto) { + case 0: + // Function start + 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(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; + return A._asyncAwait($async$self.deriveKeys$2($async$result, $async$self.keyOptions.ratchetSalt), $async$setKey$2$keyIndex); + case 3: + // returning from await. + $async$goto = 2; + return A._asyncAwait($async$self.setKeySetFromMaterial$2($async$result, keyIndex), $async$setKey$2$keyIndex); + case 2: + // returning from await. + $async$self._decryptionFailureCount = 0; + $async$self._hasValidKey = true; + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$setKey$2$keyIndex, $async$completer); + }, + setKey$1(key) { + return this.setKey$2$keyIndex(key, 0); + }, + setKeySetFromMaterial$2(keySet, keyIndex) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1; + var $async$setKeySetFromMaterial$2 = 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 + $.$get$logger().log$4(B.Level_CONFIG_700, "setKeySetFromMaterial: set new key, index: " + keyIndex, null, null); + if (keyIndex >= 0) { + t1 = $async$self.__ParticipantKeyHandler_cryptoKeyRing_A; + t1 === $ && A.throwLateFieldNI("cryptoKeyRing"); + $async$self.currentKeyIndex = B.JSInt_methods.$mod(keyIndex, t1.length); + } + t1 = $async$self.__ParticipantKeyHandler_cryptoKeyRing_A; + t1 === $ && A.throwLateFieldNI("cryptoKeyRing"); + B.JSArray_methods.$indexSet(t1, $async$self.currentKeyIndex, keySet); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$setKeySetFromMaterial$2, $async$completer); + }, + deriveKeys$2(material, salt) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.KeySet), + $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); + while (true) + switch ($async$goto) { + case 0: + // Function start + 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 = A._asObject(t3); + $async$temp1 = A; + $async$temp2 = material; + $async$temp3 = A; + $async$goto = 3; + 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._asJSObject($async$result)); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$deriveKeys$2, $async$completer); + }, + ratchet$2(material, salt) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Uint8List), + $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); + while (true) + switch ($async$goto) { + case 0: + // Function start + algorithmOptions = A.getAlgoOptions("PBKDF2", salt); + 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(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); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$ratchet$2, $async$completer); + } + }; + A.SifGuard.prototype = { + recordUserFrame$0() { + var _this = this; + if (_this.sifSequenceStartedAt == null) + return; + if (++_this.userFramesSinceSif > _this.consecutiveSifCount || Date.now() - _this.lastSifReceivedAt > 2000) + _this.reset$0(); + }, + reset$0() { + this.consecutiveSifCount = this.userFramesSinceSif = 0; + this.sifSequenceStartedAt = null; + } + }; + A.getTrackCryptor_closure.prototype = { + call$1(c) { + return type$.FrameCryptor._as(c).trackId === this.trackId; + }, + $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: 23 + }; + A.main_closure0.prototype = { + call$1($event) { + 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 = A._asJSObject(transformer.options); + kind = A._asString(options.kind); + participantId = A._asString(options.participantId); + trackId = A._asString(options.trackId); + codec = A._asStringQ(options.codec); + msgType = A._asString(options.msgType); + keyProviderId = A._asString(options.keyProviderId); + keyProvider = $.keyProviders.$index(0, keyProviderId); + if (keyProvider == null) { + t1.log$4(B.Level_WARNING_900, "KeyProvider not found for " + keyProviderId, _null, _null); + return; + } + cryptor = A.getTrackCryptor(participantId, trackId, keyProvider); + 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 + }; + A.main_closure2.prototype = { + call$1(e) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Null), + $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) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + msg = type$.Map_dynamic_dynamic._as(A.dartify(e.data)); + msgType = msg.$index(0, "msgType"); + msgId = A._asStringQ(msg.$index(0, "msgId")); + t1 = $.$get$logger(); + t1.log$4(B.Level_CONFIG_700, "Got message " + A.S(msgType) + ", msgId " + A.S(msgId), null, null); + case 3: + // switch + switch (msgType) { + case "keyProviderInit": + // goto case + $async$goto = 5; + break; + case "keyProviderDispose": + // goto case + $async$goto = 6; + break; + case "enable": + // goto case + $async$goto = 7; + break; + case "decode": + // goto case + $async$goto = 8; + break; + case "encode": + // goto case + $async$goto = 9; + break; + case "removeTransform": + // goto case + $async$goto = 10; + break; + case "setKey": + // goto case + $async$goto = 11; + break; + case "setSharedKey": + // goto case + $async$goto = 12; + break; + case "ratchetKey": + // goto case + $async$goto = 13; + break; + case "ratchetSharedKey": + // goto case + $async$goto = 14; + break; + case "setKeyIndex": + // goto case + $async$goto = 15; + break; + case "exportKey": + // goto case + $async$goto = 16; + break; + case "exportSharedKey": + // goto case + $async$goto = 17; + break; + case "setSifTrailer": + // goto case + $async$goto = 18; + break; + case "updateCodec": + // goto case + $async$goto = 19; + break; + case "dispose": + // 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 = 24; + break; + } + break; + case 5: + // case + options = msg.$index(0, "keyOptions"); + keyProviderId = A._asString(msg.$index(0, "keyProviderId")); + t2 = J.getInterceptor$asx(options); + t3 = A._asBool(t2.$index(options, "sharedKey")); + t4 = new Uint8Array(A._ensureNativeList(B.C_Base64Decoder.convert$1(A._asString(t2.$index(options, "ratchetSalt"))))); + t5 = A._asInt(t2.$index(options, "ratchetWindowSize")); + t6 = t2.$index(options, "failureTolerance"); + t6 = A._asInt(t6 == null ? -1 : t6); + t7 = t2.$index(options, "uncryptedMagicBytes") != null ? new Uint8Array(A._ensureNativeList(B.C_Base64Decoder.convert$1(A._asString(t2.$index(options, "uncryptedMagicBytes"))))) : null; + t8 = t2.$index(options, "keyRingSize"); + t8 = A._asInt(t8 == null ? 16 : t8); + 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 = 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; + case 6: + // case + keyProviderId = A._asString(msg.$index(0, "keyProviderId")); + t1.log$4(B.Level_CONFIG_700, "Dispose keyProvider " + keyProviderId, null, null); + $.keyProviders.remove$1(0, keyProviderId); + 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; + case 7: + // case + enabled = A._asBool(msg.$index(0, "enabled")); + trackId = A._asString(msg.$index(0, "trackId")); + 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), 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) { + t1.log$4(B.Level_INFO_800, t5, null, null); + cryptor.lastError = B.CryptorError_0; + } + t1.log$4(B.Level_CONFIG_700, "setEnabled for " + A.S(cryptor.participantIdentity) + ", enabled: " + t3, null, null); + cryptor._enabled = enabled; + } + 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; + case 8: + // case + case 9: + // case + kind = msg.$index(0, "kind"); + exist = A._asBool(msg.$index(0, "exist")); + participantId = A._asString(msg.$index(0, "participantId")); + trackId = msg.$index(0, "trackId"); + 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); + 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; + } + A._asString(trackId); + cryptor = A.getTrackCryptor(participantId, trackId, keyProvider); + A._asString(msgType); + $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 25: + // returning from await. + 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; + break; + case 10: + // case + trackId = A._asString(msg.$index(0, "trackId")); + t1.log$4(B.Level_CONFIG_700, "Removing trackId " + trackId, null, null); + A.unsetCryptorParticipant(trackId); + 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; + case 11: + // case + case 12: + // case + key = new Uint8Array(A._ensureNativeList(B.C_Base64Decoder.convert$1(A._asString(msg.$index(0, "key"))))); + keyIndex = A._asInt(msg.$index(0, "keyIndex")); + 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", "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 ? 26 : 28; + break; + 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 = 27; + break; + 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 = 29; + return A._asyncAwait(keyProvider.getParticipantKeyHandler$1(participantId).setKey$2$keyIndex(key, keyIndex), $async$call$1); + case 29: + // returning from await. + case 27: + // join + 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; + case 13: + // case + case 14: + // case + keyIndex = msg.$index(0, "keyIndex"); + participantId = A._asString(msg.$index(0, "participantId")); + 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", "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 ? 30 : 32; + break; + case 30: + // then + t1.log$4(B.Level_CONFIG_700, "RatchetKey for SharedKey, keyIndex " + A.S(keyIndex), null, null); + $async$goto = 33; + return A._asyncAwait(keyProvider.getSharedKeyHandler$0().ratchetKey$1(A._asIntQ(keyIndex)), $async$call$1); + case 33: + // returning from await. + newKey = $async$result; + // goto join + $async$goto = 31; + break; + case 32: + // else + t1.log$4(B.Level_CONFIG_700, "RatchetKey for participant " + participantId + ", keyIndex " + A.S(keyIndex), null, null); + $async$goto = 34; + return A._asyncAwait(keyProvider.getParticipantKeyHandler$1(participantId).ratchetKey$1(A._asIntQ(keyIndex)), $async$call$1); + case 34: + // returning from await. + newKey = $async$result; + case 31: + // join + 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; + case 15: + // case + keyIndex = msg.$index(0, "index"); + trackId = A._asString(msg.$index(0, "trackId")); + t1.log$4(B.Level_CONFIG_700, "Setup key index for track " + trackId, null, null); + 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), 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); + if (c.lastError !== B.CryptorError_1) { + t1.log$4(B.Level_INFO_800, "setKeyIndex: lastError != CryptorError.kOk, reset state to kNew", null, null); + c.lastError = B.CryptorError_0; + } + t1.log$4(B.Level_CONFIG_700, "setKeyIndex for " + A.S(c.participantIdentity) + ", newIndex: " + keyIndex, null, null); + c.currentKeyIndex = keyIndex; + } + 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; + case 16: + // case + case 17: + // case + keyIndex = A._asInt(msg.$index(0, "keyIndex")); + participantId = A._asString(msg.$index(0, "participantId")); + 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", "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 ? 35 : 37; + break; + case 35: + // then + t1.log$4(B.Level_CONFIG_700, "Export SharedKey keyIndex " + t2, null, null); + $async$goto = 38; + return A._asyncAwait(keyProvider.getSharedKeyHandler$0().exportKey$1(keyIndex), $async$call$1); + case 38: + // returning from await. + key = $async$result; + // goto join + $async$goto = 36; + break; + case 37: + // else + t1.log$4(B.Level_CONFIG_700, "Export key for participant " + participantId + ", keyIndex " + t2, null, null); + $async$goto = 39; + return A._asyncAwait(keyProvider.getParticipantKeyHandler$1(participantId).exportKey$1(keyIndex), $async$call$1); + case 39: + // returning from await. + key = $async$result; + case 36: + // join + 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; + case 18: + // case + sifTrailer = new Uint8Array(A._ensureNativeList(B.C_Base64Decoder.convert$1(A._asString(msg.$index(0, "sifTrailer"))))); + 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", "setKey", "error", "KeyProvider not found", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); + // goto return + $async$goto = 1; + break; + } + keyProvider.keyProviderOptions.uncryptedMagicBytes = sifTrailer; + t1.log$4(B.Level_CONFIG_700, "SetSifTrailer = " + A.S(sifTrailer), null, null); + for (t2 = $.participantCryptors, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) { + c = t2[_i]; + t1.log$4(B.Level_CONFIG_700, "setSifTrailer for " + A.S(c.participantIdentity) + ", magicBytes: " + A.S(sifTrailer), null, null); + c.keyHandler.keyOptions.uncryptedMagicBytes = sifTrailer; + } + 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; + case 19: + // case + codec = A._asString(msg.$index(0, "codec")); + trackId = A._asString(msg.$index(0, "trackId")); + t1.log$4(B.Level_CONFIG_700, "Update codec for trackId " + trackId + ", codec " + codec, null, null); + 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$.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; + } + 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; + case 20: + // case + 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 = init.G; + t2 = type$.String; + t3 = type$.nullable_String; + if (cryptor != null) { + cryptor.lastError = B.CryptorError_8; + 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 + 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: + // after switch + 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: 24 + }; + A.main__closure.prototype = { + call$1(c) { + return type$.FrameCryptor._as(c).trackId === this.trackId; + }, + $signature: 1 + }; + A.main__closure0.prototype = { + call$1(c) { + return type$.FrameCryptor._as(c).trackId === this.trackId; + }, + $signature: 1 + }; + A.main__closure1.prototype = { + call$1(c) { + return type$.FrameCryptor._as(c).trackId === this.trackId; + }, + $signature: 1 + }; + A.main__closure2.prototype = { + call$1(c) { + return type$.FrameCryptor._as(c).trackId === this.trackId; + }, + $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(A._asJSObject(e)); + }, + $signature: 11 + }; + A.Level.prototype = { + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.Level && this.value === other.value; + }, + get$hashCode(_) { + return this.value; + }, + toString$0(_) { + return this.name; + } + }; + A.LogRecord.prototype = { + toString$0(_) { + return "[" + this.level.name + "] " + this.loggerName + ": " + this.message; + } + }; + A.Logger.prototype = { + get$fullName() { + var t1 = this.parent, + t2 = t1 == null ? null : t1.name.length !== 0, + t3 = this.name; + return t2 === true ? t1.get$fullName() + "." + t3 : t3; + }, + get$level() { + var t1, effectiveLevel; + if (this.parent == null) { + t1 = this._level; + t1.toString; + effectiveLevel = t1; + } else { + t1 = $.$get$Logger_root()._level; + t1.toString; + effectiveLevel = t1; + } + return effectiveLevel; + }, + log$4(logLevel, message, error, stackTrace) { + var record, _this = this, + t1 = logLevel.value; + if (t1 >= _this.get$level().value) { + if (t1 >= 2000) { + A.StackTrace_current(); + logLevel.toString$0(0); + } + t1 = _this.get$fullName(); + Date.now(); + $.LogRecord__nextNumber = $.LogRecord__nextNumber + 1; + record = new A.LogRecord(logLevel, message, t1); + if (_this.parent == null) + _this._publish$1(record); + else + $.$get$Logger_root()._publish$1(record); + } + }, + _getStream$0() { + if (this.parent == null) { + var t1 = this._controller; + 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(); + }, + _publish$1(record) { + var t1 = this._controller; + if (t1 != null) { + A._instanceType(t1)._precomputed1._as(record); + if (!t1.get$_mayAddEvent()) + A.throwExpression(t1._addEventError$0()); + t1._sendData$1(record); + } + return null; + } + }; + A.Logger_Logger_closure.prototype = { + call$0() { + var dot, $parent, t1, + thisName = this.name; + if (B.JSString_methods.startsWith$1(thisName, ".")) + A.throwExpression(A.ArgumentError$("name shouldn't start with a '.'", null)); + if (B.JSString_methods.endsWith$1(thisName, ".")) + A.throwExpression(A.ArgumentError$("name shouldn't end with a '.'", null)); + dot = B.JSString_methods.lastIndexOf$1(thisName, "."); + if (dot === -1) + $parent = thisName !== "" ? A.Logger_Logger("") : null; + else { + $parent = A.Logger_Logger(B.JSString_methods.substring$2(thisName, 0, dot)); + thisName = B.JSString_methods.substring$1(thisName, dot + 1); + } + t1 = new A.Logger(thisName, $parent, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Logger)); + if ($parent == null) + t1._level = B.Level_INFO_800; + else + $parent._children.$indexSet(0, thisName, t1); + return t1; + }, + $signature: 25 + }; + A.Algorithm.prototype = { + _enumToString$0() { + return "Algorithm." + this._name; + } + }; + (function aliases() { + var _ = J.LegacyJavaScriptObject.prototype; + _.super$LegacyJavaScriptObject$toString = _.toString$0; + _ = A._BroadcastStreamController.prototype; + _.super$_BroadcastStreamController$_addEventError = _._addEventError$0; + })(); + (function installTearOffs() { + var _static_1 = hunkHelpers._static_1, + _static_0 = hunkHelpers._static_0, + _static_2 = hunkHelpers._static_2, + _instance_2_u = hunkHelpers._instance_2u, + _instance_0_u = hunkHelpers._instance_0u; + _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 4); + _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", 7); + _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0); + _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); + _instance_2_u(_, "get$decodeFunction", "decodeFunction$2", 9); + })(); + (function inheritance() { + var _mixin = hunkHelpers.mixin, + _inherit = hunkHelpers.inherit, + _inheritMany = hunkHelpers.inheritMany; + _inherit(A.Object, null); + _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.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); + _inherit(A.MappedListIterable, A.ListIterable); + _inherit(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A.MapView); + _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__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]); + _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); + _inherit(A.NativeTypedArrayOfDouble, A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin); + _inherit(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin); + _inherit(A.NativeTypedArrayOfInt, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin); + _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__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); + _inherit(A._ControllerSubscription, A._BufferingStreamSubscription); + _inherit(A._BroadcastSubscription, A._ControllerSubscription); + _inherit(A._SyncBroadcastStreamController, A._BroadcastStreamController); + _inherit(A._AsyncCompleter, A._Completer); + _inherit(A._DelayedData, A._DelayedEvent); + _inherit(A._RootZone, A._Zone); + _inherit(A._IdentityHashMap, A._HashMap); + _inherit(A.Base64Codec, A.Codec); + _inheritMany(A.Converter, [A.Base64Encoder, A.Base64Decoder]); + _inheritMany(A.ArgumentError, [A.RangeError, A.IndexError]); + _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); + _mixin(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin); + _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", JSObject: "JSObject"}, + mangledNames: {}, + 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","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", + 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_void_Function_JSObject_JSObject: findType("Future<~>(JSObject,JSObject)"), + Int16List: findType("Int16List"), + Int32List: findType("Int32List"), + Int8List: findType("Int8List"), + Invocation: findType("Invocation"), + Iterable_dynamic: findType("Iterable<@>"), + Iterable_int: findType("Iterable"), + JSArray_String: findType("JSArray"), + JSArray_dynamic: findType("JSArray<@>"), + JSArray_int: findType("JSArray"), + JSArray_nullable_Object: findType("JSArray"), + JSNull: findType("JSNull"), + JSObject: findType("JSObject"), + JavaScriptFunction: findType("JavaScriptFunction"), + JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"), + JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap"), + KeySet: findType("KeySet"), + List_dynamic: findType("List<@>"), + List_int: findType("List"), + List_nullable_KeySet: findType("List"), + LogRecord: findType("LogRecord"), + Logger: findType("Logger"), + Map_dynamic_dynamic: findType("Map<@,@>"), + NativeArrayBuffer: findType("NativeArrayBuffer"), + Null: findType("Null"), + Object: findType("Object"), + ParticipantKeyHandler: findType("ParticipantKeyHandler"), + Record: findType("Record"), + StackTrace: findType("StackTrace"), + String: findType("String"), + Symbol: findType("Symbol0"), + TrustedGetRuntimeType: findType("TrustedGetRuntimeType"), + TypeError: findType("TypeError"), + Uint16List: findType("Uint16List"), + Uint32List: findType("Uint32List"), + Uint8ClampedList: findType("Uint8ClampedList"), + Uint8List: findType("Uint8List"), + UnknownJavaScriptObject: findType("UnknownJavaScriptObject"), + _Future_dynamic: findType("_Future<@>"), + _Future_int: findType("_Future"), + _IdentityHashMap_of_nullable_Object_and_nullable_Object: findType("_IdentityHashMap"), + _SyncBroadcastStreamController_LogRecord: findType("_SyncBroadcastStreamController"), + bool: findType("bool"), + bool_Function_Object: findType("bool(Object)"), + double: findType("double"), + dynamic: findType("@"), + dynamic_Function: findType("@()"), + dynamic_Function_Object: findType("@(Object)"), + dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"), + int: findType("int"), + nullable_EncryptedPacket: findType("EncryptedPacket?"), + nullable_Future_Null: findType("Future?"), + nullable_JSObject: findType("JSObject?"), + nullable_KeySet: findType("KeySet?"), + nullable_Object: findType("Object?"), + 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("~"), + void_Function: findType("~()"), + void_Function_Object: findType("~(Object)"), + void_Function_Object_StackTrace: findType("~(Object,StackTrace)") + }; + })(); + (function constants() { + var makeConstList = hunkHelpers.makeConstList; + B.Interceptor_methods = J.Interceptor.prototype; + B.JSArray_methods = J.JSArray.prototype; + B.JSInt_methods = J.JSInt.prototype; + B.JSString_methods = J.JSString.prototype; + B.JavaScriptFunction_methods = J.JavaScriptFunction.prototype; + B.JavaScriptObject_methods = J.JavaScriptObject.prototype; + B.NativeByteData_methods = A.NativeByteData.prototype; + B.NativeUint8List_methods = A.NativeUint8List.prototype; + B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype; + B.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype; + B.C_Base64Decoder = new A.Base64Decoder(); + B.C_Base64Encoder = new A.Base64Encoder(); + B.C_JS_CONST = function getTagFallback(o) { var s = Object.prototype.toString.call(o); return s.substring(8, s.length - 1); -} -B.B=function() { +}; + B.C_JS_CONST0 = function() { var toStringFunction = Object.prototype.toString; function getTag(o) { var s = toStringFunction.call(o); @@ -4295,8 +9988,8 @@ B.B=function() { getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, prototypeForTag: prototypeForTag, discriminator: discriminator }; -} -B.G=function(getTagFallback) { +}; + B.C_JS_CONST6 = function(getTagFallback) { return function(hooks) { if (typeof navigator != "object") return hooks; var userAgent = navigator.userAgent; @@ -4310,12 +10003,12 @@ B.G=function(getTagFallback) { } hooks.getTag = getTagFallback; }; -} -B.C=function(hooks) { +}; + B.C_JS_CONST1 = function(hooks) { if (typeof dartExperimentalFixupGetTag != "function") return hooks; hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); -} -B.F=function(hooks) { +}; + B.C_JS_CONST5 = function(hooks) { if (typeof navigator != "object") return hooks; var userAgent = navigator.userAgent; if (typeof userAgent != "string") return hooks; @@ -4333,8 +10026,8 @@ B.F=function(hooks) { return quickMap[tag] || tag; } hooks.getTag = getTagFirefox; -} -B.E=function(hooks) { +}; + B.C_JS_CONST4 = function(hooks) { if (typeof navigator != "object") return hooks; var userAgent = navigator.userAgent; if (typeof userAgent != "string") return hooks; @@ -4364,8 +10057,8 @@ B.E=function(hooks) { } hooks.getTag = getTagIE; hooks.prototypeForTag = prototypeForTagIE; -} -B.D=function(hooks) { +}; + B.C_JS_CONST2 = function(hooks) { var getTag = hooks.getTag; var prototypeForTag = hooks.prototypeForTag; function getTagFixed(o) { @@ -4382,113 +10075,214 @@ B.D=function(hooks) { } hooks.getTag = getTagFixed; hooks.prototypeForTag = prototypeForTagFixed; -} -B.v=function(hooks) { return hooks; } +}; + B.C_JS_CONST3 = function(hooks) { return hooks; } +; + B.C_OutOfMemoryError = new A.OutOfMemoryError(); + B.C_SentinelValue = new A.SentinelValue(); + B.C__Required = new A._Required(); + B.C__RootZone = new A._RootZone(); + B.C__StringStackTrace = new A._StringStackTrace(); + B.CryptorError_0 = new A.CryptorError("kNew"); + B.CryptorError_1 = new A.CryptorError("kOk"); + B.CryptorError_2 = new A.CryptorError("kDecryptError"); + B.CryptorError_3 = new A.CryptorError("kEncryptError"); + B.CryptorError_5 = new A.CryptorError("kMissingKey"); + B.CryptorError_6 = new A.CryptorError("kKeyRatcheted"); + B.CryptorError_7 = new A.CryptorError("kInternalError"); + B.CryptorError_8 = new A.CryptorError("kDisposed"); + B.Level_CONFIG_700 = new A.Level("CONFIG", 700); + B.Level_FINER_400 = new A.Level("FINER", 400); + 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.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"); + B.Type_ByteBuffer_rqD = A.typeLiteral("ByteBuffer"); + B.Type_ByteData_9dB = A.typeLiteral("ByteData"); + B.Type_Float32List_9Kz = A.typeLiteral("Float32List"); + B.Type_Float64List_9Kz = A.typeLiteral("Float64List"); + B.Type_Int16List_s5h = A.typeLiteral("Int16List"); + B.Type_Int32List_O8Z = A.typeLiteral("Int32List"); + B.Type_Int8List_rFV = A.typeLiteral("Int8List"); + B.Type_JSObject_ttY = A.typeLiteral("JSObject"); + B.Type_Object_A4p = A.typeLiteral("Object"); + B.Type_Uint16List_kmP = A.typeLiteral("Uint16List"); + B.Type_Uint32List_kmP = A.typeLiteral("Uint32List"); + B.Type_Uint8ClampedList_04U = A.typeLiteral("Uint8ClampedList"); + B.Type_Uint8List_8Eb = A.typeLiteral("Uint8List"); + })(); + (function staticFields() { + $._JS_INTEROP_INTERCEPTOR_TAG = null; + $.toStringVisiting = A._setArrayType([], A.findType("JSArray")); + $.Primitives__identityHashCodeProperty = null; + $.BoundClosure__receiverFieldNameCache = null; + $.BoundClosure__interceptorFieldNameCache = null; + $.getTagFunction = null; + $.alternateTagFunction = null; + $.prototypeForTagFunction = null; + $.dispatchRecordsForInstanceTags = null; + $.interceptorsForUncacheableTags = null; + $.initNativeDispatchFlag = null; + $._nextCallback = null; + $._lastCallback = null; + $._lastPriorityCallback = null; + $._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); + })(); + (function lazyInitializers() { + var _lazyFinal = hunkHelpers.lazyFinal, + _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$"; + } + }))); + _lazyFinal($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn({$method$: null, + toString: function() { + return "$receiver$"; + } + }))); + _lazyFinal($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn(null))); + _lazyFinal($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", () => A.TypeErrorDecoder_extractPattern(function() { + var $argumentsExpr$ = "$arguments$"; + try { + null.$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn(void 0))); + _lazyFinal($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", () => A.TypeErrorDecoder_extractPattern(function() { + var $argumentsExpr$ = "$arguments$"; + try { + (void 0).$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokePropertyErrorOn(null))); + _lazyFinal($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", () => A.TypeErrorDecoder_extractPattern(function() { + try { + null.$method$; + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokePropertyErrorOn(void 0))); + _lazyFinal($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", () => A.TypeErrorDecoder_extractPattern(function() { + try { + (void 0).$method$; + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", () => A._AsyncRun__initializeScheduleImmediate()); + _lazyFinal($, "_Base64Decoder__inverseAlphabet", "$get$_Base64Decoder__inverseAlphabet", () => new Int8Array(A._ensureNativeList(A._setArrayType([-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, 62, -2, 62, -2, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -2, -2, -2, -1, -2, -2, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -2, -2, -2, -2, 63, -2, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -2, -2, -2, -2, -2], type$.JSArray_int)))); + _lazy($, "_Base64Decoder__emptyBuffer", "$get$_Base64Decoder__emptyBuffer", () => A.NativeUint8List_NativeUint8List(0)); + _lazyFinal($, "_hashSeed", "$get$_hashSeed", () => A.objectHashCode(B.Type_Object_A4p)); + _lazyFinal($, "Random__secureRandom", "$get$Random__secureRandom", () => { + var t1 = new A._JSSecureRandom(A.NativeByteData_NativeByteData(8)); + t1._JSSecureRandom$0(); + return t1; + }); + _lazyFinal($, "logger", "$get$logger", () => A.Logger_Logger("E2EE.Worker")); + _lazyFinal($, "Logger_root", "$get$Logger_root", () => A.Logger_Logger("")); + })(); + (function nativeSupport() { + !function() { + var intern = function(s) { + var o = {}; + o[s] = 1; + return Object.keys(hunkHelpers.convertToFastObject(o))[0]; + }; + init.getIsolateTag = function(name) { + return intern("___dart_" + name + init.isolateTag); + }; + var tableProperty = "___dart_isolate_tags_"; + var usedProperties = Object[tableProperty] || (Object[tableProperty] = Object.create(null)); + var rootProperty = "_ZxYxX"; + for (var i = 0;; i++) { + var property = intern(rootProperty + "_" + i + "_"); + if (!(property in usedProperties)) { + usedProperties[property] = 1; + init.isolateTag = property; + break; + } + } + init.dispatchPropertyName = init.getIsolateTag("dispatch_record"); + }(); + 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"; + A.NativeTypedArrayOfDouble.$nativeSuperclassTag = "ArrayBufferView"; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; + A.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView"; + })(); + Function.prototype.call$1 = function(a) { + return this(a); + }; + Function.prototype.call$0 = function() { + return this(); + }; + Function.prototype.call$2 = function(a, b) { + return this(a, b); + }; + Function.prototype.call$3 = function(a, b, c) { + return this(a, b, c); + }; + Function.prototype.call$4 = function(a, b, c, d) { + return this(a, b, c, d); + }; + Function.prototype.call$1$1 = function(a) { + return this(a); + }; + convertAllToFastObject(holders); + convertToFastObject($); + (function(callback) { + if (typeof document === "undefined") { + callback(null); + return; + } + if (typeof document.currentScript != "undefined") { + callback(document.currentScript); + return; + } + var scripts = document.scripts; + function onLoad(event) { + for (var i = 0; i < scripts.length; ++i) { + scripts[i].removeEventListener("load", onLoad, false); + } + callback(event.target); + } + for (var i = 0; i < scripts.length; ++i) { + scripts[i].addEventListener("load", onLoad, false); + } + })(function(currentScript) { + init.currentScript = currentScript; + var callMain = A.main; + if (typeof dartMainRunner === "function") { + dartMainRunner(callMain, []); + } else { + callMain([]); + } + }); +})(); -B.H=new A.ch() -B.Z=new A.d5() -B.h=new A.cx() -B.n=new A.cz() -B.l=new A.X("kNew") -B.j=new A.X("kOk") -B.w=new A.X("kDecryptError") -B.x=new A.X("kEncryptError") -B.o=new A.X("kMissingKey") -B.y=new A.X("kKeyRatcheted") -B.q=new A.X("kInternalError") -B.I=new A.X("kDisposed") -B.a=new A.ag("CONFIG",700) -B.b=new A.ag("FINER",400) -B.p=new A.ag("FINE",500) -B.e=new A.ag("INFO",800) -B.f=new A.ag("WARNING",900) -B.M=A.R("bX") -B.N=A.R("ej") -B.O=A.R("cM") -B.P=A.R("cN") -B.Q=A.R("cS") -B.R=A.R("cT") -B.S=A.R("cU") -B.T=A.R("p") -B.U=A.R("h") -B.V=A.R("dc") -B.W=A.R("dd") -B.X=A.R("de") -B.Y=A.R("co")})();(function staticFields(){$.dz=null -$.N=A.O([],A.dS("z")) -$.eX=null -$.eK=null -$.eJ=null -$.fI=null -$.fD=null -$.fL=null -$.dR=null -$.dZ=null -$.ex=null -$.b0=null -$.bQ=null -$.bR=null -$.eu=!1 -$.q=B.h -$.eS=0 -$.hi=A.bh(t.N,t.I) -$.aJ=A.O([],A.dS("z")) -$.aH=A.bh(t.N,A.dS("c9"))})();(function lazyInitializers(){var s=hunkHelpers.lazyFinal,r=hunkHelpers.lazy -s($,"ja","ed",()=>A.iU("_$dart_dartClosure")) -s($,"js","cH",()=>A.eU(0)) -s($,"jf","fP",()=>A.a8(A.db({ -toString:function(){return"$receiver$"}}))) -s($,"jg","fQ",()=>A.a8(A.db({$method$:null, -toString:function(){return"$receiver$"}}))) -s($,"jh","fR",()=>A.a8(A.db(null))) -s($,"ji","fS",()=>A.a8(function(){var $argumentsExpr$="$arguments$" -try{null.$method$($argumentsExpr$)}catch(q){return q.message}}())) -s($,"jl","fV",()=>A.a8(A.db(void 0))) -s($,"jm","fW",()=>A.a8(function(){var $argumentsExpr$="$arguments$" -try{(void 0).$method$($argumentsExpr$)}catch(q){return q.message}}())) -s($,"jk","fU",()=>A.a8(A.f5(null))) -s($,"jj","fT",()=>A.a8(function(){try{null.$method$}catch(q){return q.message}}())) -s($,"jo","fY",()=>A.a8(A.f5(void 0))) -s($,"jn","fX",()=>A.a8(function(){try{(void 0).$method$}catch(q){return q.message}}())) -s($,"jp","eB",()=>A.hB()) -s($,"jr","h_",()=>new Int8Array(A.ak(A.O([-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-2,-2,-2,-2,-2,62,-2,62,-2,63,52,53,54,55,56,57,58,59,60,61,-2,-2,-2,-1,-2,-2,-2,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-2,-2,-2,-2,63,-2,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-2,-2,-2,-2,-2],t.t)))) -r($,"jq","fZ",()=>A.eU(0)) -s($,"jt","h0",()=>A.e9(B.U)) -s($,"jc","fO",()=>{var q=new A.dy(A.hk(8)) -q.bb() -return q}) -s($,"jb","cG",()=>A.d_("")) -s($,"jv","y",()=>A.d_("E2EE.Worker"))})();(function nativeSupport(){!function(){var s=function(a){var m={} -m[a]=1 -return Object.keys(hunkHelpers.convertToFastObject(m))[0]} -v.getIsolateTag=function(a){return s("___dart_"+a+v.isolateTag)} -var r="___dart_isolate_tags_" -var q=Object[r]||(Object[r]=Object.create(null)) -var p="_ZxYxX" -for(var o=0;;o++){var n=s(p+"_"+o+"_") -if(!(n in q)){q[n]=1 -v.isolateTag=n -break}}v.dispatchPropertyName=v.getIsolateTag("dispatch_record")}() -hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer:A.aS,ArrayBufferView:A.bn,DataView:A.bk,Float32Array:A.ca,Float64Array:A.cb,Int16Array:A.cc,Int32Array:A.cd,Int8Array:A.ce,Uint16Array:A.cf,Uint32Array:A.cg,Uint8ClampedArray:A.bo,CanvasPixelArray:A.bo,Uint8Array:A.bp}) -hunkHelpers.setOrUpdateLeafTags({ArrayBuffer:true,ArrayBufferView:false,DataView:true,Float32Array:true,Float64Array:true,Int16Array:true,Int32Array:true,Int8Array:true,Uint16Array:true,Uint32Array:true,Uint8ClampedArray:true,CanvasPixelArray:true,Uint8Array:false}) -A.B.$nativeSuperclassTag="ArrayBufferView" -A.bF.$nativeSuperclassTag="ArrayBufferView" -A.bG.$nativeSuperclassTag="ArrayBufferView" -A.bl.$nativeSuperclassTag="ArrayBufferView" -A.bH.$nativeSuperclassTag="ArrayBufferView" -A.bI.$nativeSuperclassTag="ArrayBufferView" -A.bm.$nativeSuperclassTag="ArrayBufferView"})() -Function.prototype.$1=function(a){return this(a)} -Function.prototype.$0=function(){return this()} -Function.prototype.$2=function(a,b){return this(a,b)} -Function.prototype.$3=function(a,b,c){return this(a,b,c)} -Function.prototype.$4=function(a,b,c,d){return this(a,b,c,d)} -Function.prototype.$1$1=function(a){return this(a)} -convertAllToFastObject(w) -convertToFastObject($);(function(a){if(typeof document==="undefined"){a(null) -return}if(typeof document.currentScript!="undefined"){a(document.currentScript) -return}var s=document.scripts -function onLoad(b){for(var q=0;q","NativeByteBuffer.runtimeType","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","_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","Base64Encoder.convert","_Base64Encoder.encode","Base64Decoder.convert","_Base64Decoder.decode","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","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.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","jsify._convert","promiseToFuture.","dartify.convert","DateTime._withValueChecked","_dateToDateTime","NullRejectionException.toString","_JSSecureRandom","_JSSecureRandom.nextInt","NativeByteData.setUint32","Level.==","Level.hashCode","Level.toString","LogRecord.toString","Logger.fullName","JSString.isNotEmpty","Logger.level","Logger.log","Logger.isLoggable","DateTime._now","Logger._getStream","StreamController.broadcast","_BroadcastStreamController.stream","Logger._publish","Logger.","Logger._named","Logger._internal","CryptorError._enumToString","FrameCryptor.enabled","FrameCryptor.setupTransform","FrameCryptor.setupTransform[function-entry$0$isReuse$kind$operation$readable$trackId$writable]","FrameCryptor.postMessage","FrameCryptor.getUnencryptedBytes","FrameCryptor.readFrameInfo","FrameCryptor.enqueueFrame","FrameCryptor.encodeFunction","FrameCryptor.makeIv","NativeByteData.setInt8","BytesBuilder","FrameCryptor.decodeFunction","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","SifGuard.recordUserFrame","SifGuard.reset","getTrackCryptor.","unsetCryptorParticipant.","main.","print","main_handleMessage","main.handleMessage","base64Decode","Base64Codec.decode","KeyProvider","JSArray.where","Iterable.toList","FrameCryptor.setEnabled","KeyProvider.setSharedKey","base64Encode","Codec.encode","FrameCryptor.setKeyIndex","FrameCryptor.setSifTrailer","FrameCryptor.updateCodec","main.handleMessage.","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.root","logger","","$intercepted$$eq$Iu","$intercepted$__$asx","$intercepted$_setInt82$x","$intercepted$add1$ax","$intercepted$asUint8List0$x","$intercepted$asUint8List2$x","$intercepted$elementAt1$ax","$intercepted$get$buffer$x","$intercepted$get$hashCode$IJavaScriptBigIntJavaScriptSymbolLegacyJavaScriptObjectabnsu","$intercepted$get$iterator$ax","$intercepted$get$length$asx","$intercepted$get$runtimeType$ILegacyJavaScriptObjectabdinsux","$intercepted$map11$ax","$intercepted$toString0$IJavaScriptBigIntJavaScriptFunctionJavaScriptSymbolLegacyJavaScriptObjectabnsux","ArrayIterator","AsyncError","Base64Codec","Base64Decoder","Base64Encoder","BoundClosure","ByteBuffer","ByteData","Closure","Closure0Args","Closure2Args","Codec","Converter","CryptorError","DateTime","EfficientLengthIterable","EfficientLengthMappedIterable","Error","ExceptionAndStackTrace","FixedLengthListMixin","Float32List","Float64List","FrameCryptor_decodeFunction_decryptFrameInternal","FrameCryptor_decodeFunction_ratchedKeyInternal","FrameInfo","Function","Future","IndexError","Int16List","Int32List","Int8List","Interceptor","Iterable","IterableExtension|firstWhereOrNull","Iterator","JSArray","JSBool","JSInt","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","MappedIterator","MappedListIterable","NativeByteBuffer","NativeFloat32List","NativeFloat64List","NativeInt16List","NativeInt32List","NativeInt8List","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeTypedData","NativeUint16List","NativeUint32List","NativeUint8ClampedList","Null","NullError","NullRejectionException","NullThrownFromJavaScriptException","Object","OutOfMemoryError","Pattern","PlainJavaScriptObject","RangeError","Record","Rti","RuntimeError","SentinelValue","SifGuard","StackOverflowError","StackTrace","StaticClosure","Stream","StreamController","StreamSubscription","String","StringBuffer","TearOffClosure","TrustedGetRuntimeType","TypeError","TypeErrorDecoder","Uint16List","Uint32List","Uint8ClampedList","Uint8List","UnknownJavaScriptObject","UnknownJsTypeError","WhereIterable","WhereIterator","Zone","_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","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_PendingEvents","_PendingEvents_schedule_closure","_RootZone","_RootZone_bindCallbackGuarded_closure","_StackTrace","_StreamControllerLifecycle","_StreamImpl","_StreamIterator","_StringStackTrace","_SyncBroadcastStreamController","_TimerImpl_internalCallback","_TypeError","_UnmodifiableNativeByteBufferView","_Zone","_allocateBuffer","_awaitOnObject_closure","_canonicalRecipeJoin","_canonicalRecipeJoinNamed","_chainCoreFuture","_checkPadding","_computeFieldNamed","_computeSignatureFunction","_createFutureOrRti","_createGenericFunctionRti","_createQuestionRti","_current","_empty","_emptyBuffer","_emptyList","_fourDigits","_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","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","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_handleMessage_closure","mapToString","markFixed","newArrayOrEmpty","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","nullLiteralPropertyPattern","nullPropertyPattern","num","objectAssign","objectTypeName","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","withLength","$eq","$ge","$index","$indexSet","$lt","$mod","$mul","_addEventError","add","addAll","asUint8List","bindCallbackGuarded","buffer","call","complete","completeError","containsKey","convert","dart:_interceptors#_shrBothPositive","dart:_interceptors#_shrOtherPositive","dart:_interceptors#_tdivFast","dart:_interceptors#_tdivSlow","dart:_js_helper#_addHashTableEntry","dart:_js_helper#_modified","dart:_js_helper#_newHashTable","dart:_js_helper#_newLinkedCell","dart:_js_helper#_removeHashTableEntry","dart:_js_helper#_unlinkCell","dart:_native_typed_data#_checkPosition","dart:_native_typed_data#_invalidPosition","dart:_native_typed_data#_setInt8","dart:_rti#_bind","dart:_rti#_eval","dart:async#_add","dart:async#_addEventError","dart:async#_addListener","dart:async#_addPending","dart:async#_asyncComplete","dart:async#_asyncCompleteErrorObject","dart:async#_asyncCompleteWithValue","dart:async#_callOnCancel","dart:async#_chainFuture","dart:async#_checkState","dart:async#_cloneResult","dart:async#_completeError","dart:async#_completeErrorObject","dart:async#_completeWithResultOf","dart:async#_completeWithValue","dart:async#_forEachListener","dart:async#_mayAddEvent","dart:async#_mayComplete","dart:async#_next=","dart:async#_onMicrotask","dart:async#_onPause","dart:async#_onResume","dart:async#_prependListeners","dart:async#_previous=","dart:async#_removeListeners","dart:async#_reverseListeners","dart:async#_sendData","dart:async#_setErrorObject","dart:async#_subscribe","dart:async#_thenAwait","dart:collection#_addHashTableEntry","dart:collection#_computeKeys","dart:collection#_containsKey","dart:collection#_findBucketIndex","dart:collection#_get","dart:collection#_getBucket","dart:core#_enumToString","dart:core#_errorExplanation","dart:core#_errorName","decode","decodeFunction","decryptionFailure","deriveKeys","elementAt","enabled","encode","encodeFunction","endsWith","enqueueFrame","exportKey","forEach","fullName","getKeySet","getParticipantKeyHandler","getSharedKeyHandler","getUnencryptedBytes","handleError","hashCode","internalFindBucketIndex","internalGet","invalidValue","iterator","keys","lastIndexOf","length","level","listen","log","map","matchTypeError","matchesErrorTest","moveNext","nextInt","package:logging/src/logger.dart#_getStream","package:logging/src/logger.dart#_publish","putIfAbsent","ratchet","ratchetKey","ratchetMaterial","readFrameInfo","recordUserFrame","registerBinaryCallback","remove","reset","run","runBinary","runGuarded","runUnary","runUnaryGuarded","runtimeType","schedule","setKey","setKeySetFromMaterial","setRange","setupTransform","stackTrace","startsWith","sublist","substring","then","toBytes","toInt","toRadixString","toString","_Universe._canonicalRecipeOfQuestion","_Universe._canonicalRecipeOfFutureOr","_Universe._canonicalRecipeOfBinding","_Universe._canonicalRecipeOfGenericFunction","isBottomType","Error._stringToSafeString","_HashMap._set","_Base64Encoder.createBuffer","DateTime.fromMillisecondsSinceEpoch","DateTime.now","SifGuard.recordSif","SifGuard.isSifAllowed",">=","ByteBufferToJSArrayBuffer|get#toJS","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","_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","_setErrorObject","_setEvalCache","_setIsTestFunction","_setKind","_setNamed","_setOptionalPositional","_setPrecomputed1","_setPrimary","_setRangeFast","_setRequiredPositional","_setRest","_setSpecializedTestResource","_setValue","_stateBits","_statePadding","_stringToSafeString","_target","_theUniverse","_trySetStackTrace","_validate","_whenCompleteAction","_withValueChecked","_writeOne","_writeString","_zone","allocate","arrayAt","arrayConcat","arrayLength","arraySplice","asBool","asBoolOrNull","asInt","asRti","asRtiOrNull","asString","as_Type","broadcast","ceilToDouble","charCodeAt","checkGrowable","close","collectNamed","config","constructorNameFallback","contains","createBuffer","cryptoKeyRing","dateNow","day","decoder","decryptionSuccess","dispatchRecordExtension","dispatchRecordIndexability","dispatchRecordInterceptor","dispatchRecordProto","encoder","environment","erasedTypes","evalCache","evalTypeVariable","fieldADI","fine","finer","floorToDouble","fromList","fromMessage","fromMillisecondsSinceEpoch","future","getDispatchProperty","getIndex","getLength","getProperty","getRuntimeTypeOfInterceptorNotArray","getUint32","handleNamedGroup","handleNext","handleOptionalGroup","handleStartRecord","handleUncaughtError","handleValue","handleWhenComplete","handlesComplete","handlesValue","hasErrorCallback","hasErrorTest","hasValidKey","hash2","hour","identityHashCode","info","instanceTypeName","interceptorFieldName","interceptorsByTag","internalComputeHashCode","internalSet","isArray","isClosed","isDigit","isEmpty","isJavaScriptSimpleObject","isLoggable","isNotEmpty","isScheduled","isSifAllowed","jsonEncodeNative","keyOptions","kind","lastError","leafTags","listToString","lookupSupertype","lookupTypeVariable","makeIv","mapGet","mapSet","markFixedList","markGrowable","microsecond","millisecond","millisecondsSinceEpoch","minute","month","normalize","now","objectKeys","objectToHumanReadableString","of","onRecord","participantKeys","perform","pop","position","postMessage","pow","printToConsole","propertyGet","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","push","pushStackFrame","receiverFieldName","recipe","recordSif","registerCallback","registerUnaryCallback","remainder","resetKeyStatus","second","secure","sendCounts","setEnabled","setInt8","setKeyIndex","setParticipant","setSharedKey","setSifTrailer","setUint32","sharedEmptyArray","shouldChain","sifGuard","stack","staticInteropGlobalContext","stream","stringIndexOf","stringLastIndexOfUnchecked","stringSafeToString","stringSplit","thenAwait","toGenericFunctionParameter","toList","toLowerCase","truncateToDouble","tryStringifyException","typeRules","typed","universe","unmangleGlobalNameIfPreservedAnyways","unsafeCast","unsetParticipant","updateCodec","warning","where","write","writeAll","writeFinalChunk","year","zone","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": "A,37,B,836,C,113,D,778,E,760,F,806,G,1064,H,236,I,235,J,233,K,231,L,161,M,238,N,1091,O,108,P,39,Q,40,R,123,S,287,T,785,U,853,V,858,W,47,X,772,Y,793,Z,1102,a,1057,a0,1030,a1,758,a2,805,a3,821,a4,12,a5,829,a6,1085,a7,867,a8,1022,a9,499,aA,901,aB,977,aC,1092,aD,89,aE,97,aF,1037,aG,224,aH,1063,aI,1076,aJ,1080,aK,311,aL,764,aM,744,aN,801,aO,804,aP,808,aQ,811,aR,316,aS,830,aT,851,aU,860,aV,862,aW,887,aX,892,aY,498,aZ,914,a_,863,aa,112,ab,126,ac,744,ad,767,ae,320,af,813,ag,814,ah,503,ai,897,aj,955,ak,86,al,1003,am,120,an,50,ao,48,ap,326,aq,770,ar,744,as,784,at,809,au,822,av,823,aw,826,ax,296,ay,875,az,888,b,36,b0,974,b1,260,b2,104,b3,82,b4,111,b5,223,b6,748,b7,759,b8,744,b9,775,bA,893,bB,894,bC,911,bD,912,bE,913,bF,916,bG,917,bH,918,bI,919,bJ,924,bK,929,bL,931,bM,936,bN,969,bO,972,bP,933,bQ,960,bR,961,bS,54,bT,42,bU,286,bV,744,bW,761,bX,765,bY,768,bZ,769,b_,926,ba,777,bb,796,bc,797,bd,807,be,812,bf,817,bg,818,bh,946,bi,825,bj,828,bk,85,bl,837,bm,838,bn,839,bo,842,bp,87,bq,844,br,51,bs,857,bt,873,bu,294,bv,744,bw,876,bx,880,by,890,bz,891,c,32,c0,771,c1,773,c2,990,c3,786,c4,790,c5,795,c6,798,c7,799,c8,46,c9,713,cA,932,cB,145,cC,256,cD,33,cE,1038,cF,1039,cG,1087,cH,948,cI,753,cJ,762,cK,763,cL,1088,cM,779,cN,780,cO,299,cP,781,cQ,782,cR,783,cS,787,cT,788,cU,789,cV,792,cW,1060,cX,802,cY,810,cZ,816,c_,297,ca,831,cb,832,cc,833,cd,834,ce,835,cf,840,cg,841,ch,848,ci,318,cj,850,ck,854,cl,859,cm,864,cn,865,co,872,cp,295,cq,874,cr,878,cs,879,ct,889,cu,896,cv,899,cw,920,cx,922,cy,927,cz,928,d,15,d0,824,d1,827,d2,845,d3,846,d4,1078,d5,855,d6,856,d7,744,d8,550,d9,550,dA,921,dB,923,dC,511,dD,230,dE,930,dF,122,dG,1019,dH,1020,dI,1069,dJ,157,dK,935,dL,935,dM,144,dN,979,dO,991,dP,10,dQ,1013,dR,1016,dS,96,dT,1040,dU,1,dV,1046,dW,1055,dX,1055,dY,1055,dZ,1059,d_,744,da,868,db,1083,dc,869,dd,870,de,871,df,881,dg,882,dh,883,di,884,dj,885,dk,886,dl,895,dm,898,dn,902,dp,903,dq,904,dr,905,ds,906,dt,907,du,908,dv,909,dw,910,dx,910,dy,653,dz,915,e,791,e0,1065,e1,1065,e2,1065,e3,709,e4,1066,e5,1066,e6,1066,e7,1066,e8,77,e9,51,eA,0,eB,980,eC,745,eD,746,eE,747,eF,749,eG,750,eH,752,eI,940,eJ,956,eK,978,eL,1086,eM,1031,eN,987,eO,1103,eP,815,eQ,976,eR,1025,eS,975,eT,1067,eU,744,eV,744,eW,849,eX,953,eY,1095,eZ,1004,e_,1062,ea,1081,eb,1081,ec,1100,ed,724,ee,754,ef,755,eg,756,eh,1101,ei,1015,ej,766,ek,803,el,744,em,951,en,938,eo,973,ep,985,eq,964,er,968,es,151,et,114,eu,958,ev,310,ew,62,ex,1056,ey,11,ez,324,f,774,f0,959,f1,1012,f2,861,f3,992,f4,1007,f5,1084,f6,744,f7,877,f8,939,f9,1008,fA,158,fB,252,fC,248,fD,995,fE,1001,fF,109,fG,315,fH,329,fI,1045,fJ,319,fK,76,fL,1082,fM,250,fN,13,fO,984,fP,1070,fQ,1071,fR,1072,fS,1073,fT,1074,fU,1075,fV,1096,fW,1097,fX,1098,fY,1099,fZ,947,f_,1005,fa,952,fb,1006,fc,1009,fd,1051,fe,1079,ff,1093,fg,925,fh,965,fi,966,fj,970,fk,971,fl,1077,fm,221,fn,147,fo,154,fp,135,fq,160,fr,304,fs,305,ft,218,fu,149,fv,143,fw,314,fx,308,fy,257,fz,258,h,847,h0,740,h1,751,h2,757,h3,1021,h4,1058,h5,684,h6,941,h7,1010,h8,1011,h9,1032,hA,1028,hB,954,hC,981,hD,982,hE,983,hF,934,hG,989,hH,1014,hI,1018,hJ,245,hK,1048,hL,1049,hM,1050,hN,1052,hO,1054,hP,1094,hQ,744,hR,937,hS,942,hT,943,hU,944,hV,967,hW,993,hX,994,hY,1002,hZ,1026,h_,957,ha,1034,hb,949,hc,988,hd,1090,he,1061,hf,1029,hg,1068,hh,1024,hi,963,hj,744,hk,744,hl,1053,hm,1023,hn,1035,ho,1036,hp,1041,hq,1042,hr,1043,hs,1044,ht,1047,hu,1088,hv,1089,hw,1101,hx,950,hy,1033,hz,986,i,156,i0,146,i1,148,i2,153,i3,140,i4,142,i5,237,i6,306,i7,307,i8,90,i9,41,iA,245,iB,259,iC,249,iD,247,iE,118,iF,106,iG,105,iH,162,iI,49,iJ,35,iK,996,iL,997,iM,998,iN,999,iO,1000,iP,55,iQ,83,iR,34,iS,52,iT,317,iU,69,iV,117,iW,116,iX,31,iY,81,iZ,79,i_,1027,ia,133,ib,128,ic,134,id,129,ie,127,ig,124,ih,115,ii,240,ij,241,ik,53,il,138,im,219,io,132,ip,152,iq,139,ir,222,is,155,it,131,iu,141,iv,302,iw,246,ix,255,iy,254,iz,159,j,1017,j0,110,j1,14,j2,216,j3,71,j4,78,j5,325,j6,84,j7,327,j8,38,j9,323,j_,80,ja,724,jb,1087,jc,984,jd,852,je,744,jf,1070,jg,1071,jh,1072,ji,1073,jj,1074,jk,1075,jl,1096,jm,1097,jn,1098,jo,1099,jp,980,jq,947,jr,957,js,948,jt,740,ju,70,jv,743,k,309,l,962,m,819,n,866,o,150,p,800,q,945,r,820,t,776,u,234,v,900,w,843,x,217,y,743,z,794", - "instance": "A,1198,B,1234,C,1206,D,1228,E,1214,F,1104,G,1121,H,1116,I,1179,J,1190,K,1229,L,1232,M,1161,N,1177,O,1180,P,1186,R,1205,S,1213,T,1215,U,1189,V,1191,W,1231,X,1235,Y,1147,Z,1149,a0,1162,a1,1163,a2,1123,a3,1114,a4,1120,a5,1183,a6,1199,a7,1138,a8,1139,a9,1141,aA,1230,aB,1234,aC,1235,aD,1126,aE,1137,aF,1167,aG,1144,aH,1145,aI,1132,aJ,1151,aK,1168,aL,1172,aM,1210,aN,1127,aO,1159,aP,1211,aQ,1166,aR,1114,aS,1115,aT,1119,aU,1181,aV,1188,aW,1195,aX,1203,aY,1216,aZ,1217,a_,1155,aa,1142,ab,1174,ac,1175,ad,1170,ae,1153,af,1128,ag,1129,ah,1157,ai,1158,aj,1160,ak,1118,al,1119,am,1185,an,1187,ao,1197,ap,1218,aq,1224,ar,1237,au,1192,av,1109,aw,1110,az,1227,b0,1223,b1,1236,b2,1117,b3,1228,b4,1228,b5,1229,b6,1231,b7,1231,b8,1233,b9,1240,bA,1177,bB,1177,bC,1178,bD,1179,bE,1182,bF,1183,bG,1183,bH,1184,bI,1193,bJ,1196,bK,1200,bL,1202,bM,1203,bN,1207,bO,1209,bP,1212,bQ,1213,bR,1215,bS,1219,bT,1221,bU,1222,bV,1225,bW,1238,bX,1239,bY,1117,bZ,1105,b_,1220,ba,1111,bb,744,bc,744,bd,1140,be,1143,bf,1146,bg,1148,bh,1148,bi,1150,bj,1169,bk,1173,bl,1152,bm,1171,bn,1133,bo,1156,bp,1156,bq,1130,br,1164,bs,1134,bt,1122,bu,1165,bv,1124,bw,1125,bx,1131,by,1113,bz,1176,c0,1154,c_,1108,gA,1198,gH,1116,gL,1232,ga6,1199,gaU,1181,gaV,1188,gab,1174,gac,1175,gae,1153,gao,1197,gbA,1177,gbF,1183,gbL,1202,gbY,1117,gbg,1148,gbo,1156,gc0,1154,gm,1201,gn,1012,gq,1226,gt,1194,h,1136,i,1106,j,1204,k,1240,l,1135,m,1201,n,1012,p,1208,q,1226,sa_,1155,saj,1160,sbL,1202,sm,1201,t,1194,u,1112,v,1107" + "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": "2xHAmJe26CyB;oCAKAAyB;eAKCdG;kBACeDE;gEAIlBAE;KAGOFO;iGAaAx5CAA8CgBCeANKkEuC,A,I;qMATrCjEAAmB0BDeAVWkEoC,A,AAUvCCkC,A;i6FM4JWkqB2C;QAEFogB2C;8iBL1RW6SuB;uEAmCL9HG;oQAyLqBtJqC;iFAwJrB4LiB;cAAAAa;2CAuBW/CS;gJAYb+CiB;oFAqBF6EAARF/DiB,A;0DAkBWqBW;gPAsRLNI;6vBAocyBjZoB;uLAoCnBAwB;gBASAAuB;4DA8CArWsC;gvBAuHdAwC;qTAsPEAmR;sZAiNAAW;4gBA4DyBAW;4XAkCJAW;gBAQ1BAkC;6BAKuB2qBoD;OAChB3qBU;0DAOC6yBI;cAIgB7yBwC;2JAUjBAU;0EA8BmBAW;sCAGtBAc;8JAsEKqsBQ;oCAEDDK;AACEAK;otBAgQFpsBkC;cAKAA0D;y4CA0TAA4D;6sBA+F6B0tBuC;AACHmDmC;yEAuIzBr7CAOh5ENCMAlD4BszCc,A,M;qDPw9ElB/oBiD;yCACKkvBW;uRC3xFToBI;YACcr6CAAsE3BDAF3IAFyB,kF,A;QEqE2BGAAuEpBm1CE,A;OAtEWkFI;uBAKKp6CAAzCJy3CkB,AAAZ2CI,A;mDA+CMAI;YACkBr6CAAyD/BDAF3IAFyB,kF,A;QEkF+BGAA0DxBm1CE,A;OAzDWkFI;uBAGKp6CAApDJy3CkB,AAAZ2CS,A;4EA0EEr6CAA+BTDAF3IAFyB,kF,A;QE4GSGAAgCFm1CE,A;sDAvBEj1CAA2BTHAFhJAFsB,A,0BEgJAEkF,A;QA3BSGAA4BFi1CE,A;+DAfoCuDqB;UAElCx4CAAYTHAFhJAFsB,A,0BEgJAEkF,A;QAZSGAAaFi1CE,A;gEAMPp1CAFvJAFyB,6B;yJEmK2C64CoB;gLA0CjChBmB;0KAaF33CAF1NRFyB,mG;2DEwO2Bw6C4D;wTAqFX55Cc;knCWkJsBqrCa;4EAq2BCOiB;2BAY/BNoB;AACACqB;umBLhxCeiEO;AAFA8DG;gBAGf5BgB;AAD0C7EAA6JlCwGM,A;gBA/ECjGAAxBsBgGG,A;6BA0BECG;uCAsJzBEG;sBA4JMlBmB;kEAiFPjFAA7ZwBgGG,A;mEAsabCG;sEAUAAG;sEAUWnGG;uDAe3BDAAvYMsGK,A;YA2YG/GAA/XH6GG,A;uBAiYQ9GG;6EAiBHqBAAxYILO,A;AAyYJIG;sEAUIGAA/XTuFG,A;uBAsYiCzGG;6EAqB5BGQ;AACDiGQ;uBAODlGAAzZHuGG,A;gFAsaIrGAA5ZJoGG,A;sBAgaUNO;uIAmBNEkB;yBAGDKI;mFAiBCLkB;0BAImBFO;AACEAS;AACtBOM;sFAyB0BxFsB;AASAPK;iBASbDK;8CAYiBwFAAjZRvpBc,A;AAkZrBuoBM;AAIAJM;AAIADK;sHA4CF6BM;yDAaZtEK;sEAuBFEG;cAIOmIoB;oSAoFLrImD;uBAQFsDe;uDAiBcSI;uBAENhyCQApgBUuxCoB,A;6DA8kBFhwCoBAlFlB0sCiB,A;wCAsFcyEO;GAEL4DoB;OAAwBrJO;wBAOMxrCAAI5B+mBO,A;AAJFojBG;gBAA8BnqCAAI5B+mBAAkCbAAAAAAAACM2nBgB,A,A,A,A;oBARmBnwCMA1nBHuxCoB,A;iGA8rBPjFAA1gCwBgGG,A;0OAkiCnBnGAAh+BJsGG,A;IAi+BMrGiB;AAYd6EU;wEAgBCpvCQAiCmBirCAAxgCZ2FI,A,AAygCM5FI,A;kEArBXmBC;AADPwCK;2UAsEO1HC;AADPmHK;wEAWasBc;gDAeNvDI;AADOrBAAvkCF4FO,A;mDAilCFrFG;iBAKViBG;8GAsBOmIoB;YACGpJG;iBAKViBG;wFAoBWHU;6DAaWAmB;2DAQRwGuB;iIA0CEAuB;qCAgBTxGC;AAAajCAAhtCRwGS,A;MAitC4BhBiB;AAApCvDI;+uCAuJmBkEQ;qBAGDKO;sCAYAzFAAt4CV2FM,A;AAu4CK5FG;qCAMGqFQ;AACF6IkB;AACE7IU;gEAOGKO;gBAELEI;+GAgBMPQ;oMAgBFKO;AACjBvqCAA6kEMskCAA9lHwBgGG,A,A;sFA0hDlBtFAA96CCPO,A;AA+6CeXM;AACQiBM;AAGPmFW;AACO1FM;AAGP0FW;AACN3FM;AACP2FQ;wDAWVKQ;yDAaEAQ;iEAaFHM;uBAKEGe;AAIFEI;oGA0BAnGAA7mDwBgGG,A;gIAsnDV3FAAphDb4FG,A;cAshDSjGAAxnDcgGG,A;uEAioDVvGAA1hDbwGS,A;mBA+hDIpGAApkDJsGI,A;GA6kDMrGG;4HAgBOJAAziDbuGM,A;AA0iDGtGG;eAUDCAA1iDIOM,A;qFAkjDFgPuB;yDAsLPnQAAHKgQG,S;uBAKPhQAALOgQG,I;oCAWDtHO;+DAKO1BI;AACP7DgB;oGAiBO6MM;wBAqCAtHM;aAeHwDS;AADPvDe;oBAGFzE0B;AACHiIW;gCASS5LG;cAGV0Ea;AAEaiHW;oBAEThIuB;AACHiIW;kCAKSjMG;cAGV0EgB;AAEuB5aAAzyDfmdI,A;AA0yDK+EW;gCAGXlLAA79D6BgGQ,A;AA89Dd7GQ;AAKhBgMW;oBAyCHxHS;AACAOQ;qBAuGegHW;AADPvDW;oBAGsBhJAAIpB8GAAl9DPvpBsB,A,AAm9DHioBM,AACALM,Y;AANGxCAApGA6JC,AAAOxDa,A;qBAqHKuDS;AAFN5NAA7DKtUAAx5DJmdW,A,A;AAs9DFwBW;oCAGLrGAAvHA6JC,AAAOxDa,A;0CAqIO3HAAvpEgBgGQ,A;2DA4pEZvGAArjEXwGI,A;uCA2jEARAA1/DPvpBsB,A;AA2/DHioBM;AACAIK;CACATM;6BAWeoHS;AAFN/NAApGKnUAA15DJmdW,A,A;AA+/DFwBW;oCAGLrGAAhKA6JC,AAAOxDa,A;wCA8KO3HG;kDAIVoCe;sCAKGqDAAjiEPvpBsB,A;AAkiEHioBM;AACAIK;CACATM;2BAOeoHsB;AADPvDW;oBAMVrJAASYmHAAzjEPvpBsB,A,AA0jEHioBO,AACAIM,AACATM,Y;AAfGxCAAnMA6JC,AAAOxDa,A;8BAwNM/BQ;sCAEIKG;AACCjdAA7jEXmdI,A;kCAskEMPQ;qCAGmBFO;AACZIwB;AAKPGK;AACKjdAAhlEXmdI,A;uCA2mED9IAAjBOuIU,mB;AAmBDsFG;AADPvDW;oBAMVpJAAUYkHAApoEPvpBsB,A,AAqoEHioBM,AACAIM,AACAGS,AACgBkBW,AAEdtBI,AAA6BoBK,AAE/B5BM,Y;AArBGxCAA7QA6JC,AAAOxDa,A;yCA4TN3HAA90E6BgGW,A;AA+0ErB5GAAjwEF6GG,A;AAkwEUNG;AAChBxGkB;QAIKnCGApBPhUAAjpEQmduB,A,A;AAuqEK+EG;AADPvDW;oBAMVvJAAUYqHAA9rEPvpBsB,A,AA+rEHioBM,AACAIM,AACAGM,AACAZM,Y;AAjBGxCAAvUA6JC,AAAOxDa,A;qBA8WDpKoC;AAEM2NC;AADPvDW;oBAMVlJAAUYgHAAzuEPvpBsB,A,AA0uEHioBO,AACAIM,AACAGM,AACAZM,Y;AAjBGxCAAlXA6JC,AAAOxDa,A;qBAicD1KAArDbCiB,AADIlUO,AACJkUAAM6CuDM,AAGPmFW,AACO1FM,AAGP0FW,AACN3FM,AACP2FsB,oF,AAjBtBxCY,A;AAyDgB8HG;AADPvDW;oBAMVtJAAUYoHAA5zEPvpBsB,A,AA6zEHioBO,AACAIM,AACAGM,AACAZM,Y;AAjBGxCAArcA6JC,AAAOxDa,A;uBA0eDvKSAZTpUAAh0EUmdwB,A,A;AA80EK+EC;AADPvDW;sCAGLrGAA9eA6JC,AAAOxDa,A;sDAmgBQ/BQ;kCAICKQ;AACXjGAA1hFyBgGe,A;uEAojFvBPAA54EPvpBsB,A;AA64EHioBO;AACAIM;AACAGK;CACAZM;6FA0KoBkJM;AACJmBU;kBAGT5HkB;4LAcHsGW;cAIAAW;cAIAAO;MAESqCI;AAAkBzHG;AAAqB0EU;cAKhDUO;AAEE8BM;AAA2BOG;AAA3BPAAgYD3IU,A;cA3XD6GO;AAAsB1KM;AAAiB+MW;cAIvCrCO;AAAsB3KM;AAAkBgNW;eAIxCrCO;AAAsBvKM;AAAe4MW;cAIrCpCAA0ERDQ,AAAYTS,AACexGQ,A;iEA/DXsJG;AACRrCO;eAIcpFG;AAAqB0EU;AAC/BRK;iBAMIuDG;AACRrCO;eAIcpFG;AAAqB0EU;AAC/BRK;cAMJkBW;AACACAAqCRDQ,AAAYTS,AACexGQ,A;sCA9BnBkHAA6BRDQ,AAAYTS,AACexGQ,A;cA1BnBiDAAmMSrcAA2CEqZY,AAAmBuGI,MACtB8CI,AAAkBzHM,AACPzBY,A,AA5C3B6GU,AACAAW,A;eAjMQCAAqBRDQ,AAAYTS,AACexGQ,A;eAlBnB+CAAiMSjCAA4CEbY,AAAmBuGI,MACjB8CI,AAAkBzHM,AACZzBY,A,AA7C3B6GU,AACAAW,A;cA/LY/DAAwMKwFmB,AAMjBzBO,AAAmBhSkB,AACnBgSW,AACACAAnMADQ,AAAYTS,AACexGQ,A,M;wCANhBuGU;aACG+CI;AAAkBzHK;sDAWrBlBkB;uCAIXsGU;uEAaWtGkB;0FAIyC2DoB;kBAM7BrPmB;SAKjBqUM;AACAzHO;AAFQGAA15BC5HAA5+DsBgGU,A,AA8+DjB5GAAh6DN6GG,A,UAm6DapGAA/6DbsGG,A,AAk7DY6EI,8C;AAg5BxB6BO;AAEYjFkB;AAOZiFU;4BAMqBqCiB;AAEZ/CQ;sBAGTUO;4BAE4BpFc;AAChBzHAA35FuBgGY,A;AA65F/B6GO;YAMIlBK;cAMJkBO;+BA+BKVa;AAnBY+C2B;uCAwBI/CU;aAIbAU;cAIRUU;WAIJAU;YAKKVU;iBAGIAwB;AAC0B6BmB;AACbAK;UACcvGM;AACmBhCAAlvFlBvpBc,A;AAmvFfuoBM;AAIAJM;AAIADK;AACpByIO;2BAWAAO;OAIW1GY;kFA0CLgGc;UAERUO;AAAsBxKM;AAAgB6MY;iBAItCrCO;AAAsB5KM;AAAciNY;0EAOnBrJgB;AAAmBuGI;MACtB8CI;AAAkBzHM;AACPzBY;4DAmBbgIK;8FAUMpIQ;+BAEAFI;sBAOAEQ;gCAGAFI;wBAOL1FAAvmGsBgGG,A;2BAymGR5GAA3hGf6GE,A;IA4hGY9GM;AACPyGQ;gBAEDKK;SAIE7GAAniGN6GM,A;AAoiGDjGAAlnGwBgGQ,A;wFAynGblGU;AACP8FQ;QAEDKK;qEA0CDlG8B;AACGgGW;mCAGXoFW;2FA2BOnLAArsGuBgGG,A;0CA4sGnCzKAA0Z0ByEAAtmHSgGO,A,A;iCAktGlBCE;AADHrGAAjlGFoGW,A;YAslGAhGAAttGuBgG4B,A;2BA6tGMvGAAtnG7BwGK,A;iEA8nGoBxGAA9nGpBwGS,A;mCAqoGgBxGAAroGhBwGU,A;8EAopGe5FAAzpGf4FS,A;yBAmqGwBxGAA9pGxBwGM,A;kFA6qGwB5FAAlrGxB4FK,A;gJA0sGItGM;AACAAM;AACGiGgB;AACAAQ;SAGkBDwB;AACAAwB;oBAGjBMO;AACAAI;4DAShBvGAA1sGQuGM,A;AA4sGRvGAA5sGQuGK,A;0PA8uGMvFAAxvGNuFQ,A;AAyvGMvFAAzvGNuFO,A;aA8vGsBzGO;AACAAM;AAEQiBM;AAGAAM;AAGPmFW;AACAAQ;yBAKO1FM;AAGAAM;AAGP0FW;AACAAQ;wCAOAFI;YACbOa;6BAOaPI;YACbOe;6BAUfPM;YAEeOa;YAMOhGM;AACAAM;AACP2FW;AACAAQ;0BAIFOS;0BAGEAI;2BAGILM;qCAKcJM;sBAERAM;YACbOe;+BAMVHM;wDAaMjGAAx4GHsGM,A;AAy4GGtGAAz4GHsGQ,A;WAu5GOnHAApnDLgQG,I;2CAunDC7II;YAIM4EI;uBAEHnFQ;AACWrVoBA2LI0Ua,AAAjB+IK,A;+BAzLO7HK;wBAITrGK;gBAaFAW;AACAAK;4BAgBI8FQ;2BAUAKO;AACAAO;2CA+CA1FM;AACAAM;AACAqFgB;AACAAQ;aAEFpFAA9+GF2FM,A;AA++GE3FAA/+GF2FG,A;oCAm/GMFO;AACAAO;iCASPjGAArlHwBgG+B,A;oCAylHQvGAAl/G/BwGI,A;wBAu/GDjGAA9lHwBgGG,A;qDAgpH1B6F4B;AACEjGQ;oBAEEOI;4CAWoBlBa;AAAjB+II;ysBOhvHZpPS;4BA6BR1iBU;uBA6GOASApCS+iBAAAA/iByB,A,a;sCAqDCksBE;8MA+DElsBoB;AAAA0oBW;6HAkCP9XM;yJC1TIAM;0DAYVoYQ;2BAMJAsB;OAEgB5IY;mDAwkBFmFa;KACIjEY;wBAGhBfKAyKwBvgBQ,A;AAxKRqW8D;sDAehBwRiB;2DAhBAtHAAyKwBvgBU,A;AAxKRqWK;+CAiCXn1BgB;GAAAAM;sGA2JkB6jCqB;6BAGYpCW;AACxBkKM;sHAiCcIG;2CACD3DK;0CAGW3GO;AACxBkKM;mDAuFIGG;uLAkBT+EwB;wBAMgBrMY;AACF4B+B;AACZ9FyB;gDAcI8FiC;gBAEVoB8B;QAGAZmB;wFA8EGmJM;oMGrhCK1JU;iBAUiBvnBqB;qCAKjBunBU;sFAoBcvnBiB;6IA2DvB9eiB;oBCk/EL8eqB;OAAAAsB;0GC78EWixBQ;gJAgXNpES;k9EETkC7sByC;kBAQ9BAuC;0CEnbMAmB;0HAoBNgfG;o5BEuQHyU4D;CAAAAgD;CAAAAwD;CAAAAyB;CAAAAoD;SAAAAyB;cAAAAqC;CAAAAgD;CAAAAyD;CAAAAyB;CAAAA8D;CAAAAyB;CAAAA8C;qOAyTO9K0G;09BAmFkB3oBAdmnBQsiBiB,A;4ac3iBfsGsB;yvBD/ee/BAAN9BsIIvBxPwB4DuB,A,A;6OuB8cjB9EgB;AAED7EO;0BAGFAO;oBAGEAU;oXhBzfJPAgByMSyJAzBgPX/DiB,A,A;QSvbA3HO;gqBoB9D2B5mBW;sNCq1B1BwzB0B;8EAwBcxzBc;qBAGpBwzB6B;wDAMKxUG;21BChsBaqOiB;28CEvKIrtBe;0DA4gBRAA2BwnBKAA7C1kCnBAAArBsBksBAAAAlsBiC,A,A,yB,A;4dkBskBAAe;2qCGrjB1BAAAAAAqDAQE6qBW,sB,A;2ZC7EA2CwD;AAIUlBS;AAAA4FE;AAAA5Fa;AADAtsBWFiHesxBc,A;QEjHftxBAF0H0B0uBK,AAGlBsDAAAAhyBY,A,A;4CEnHlB0xBgBFuHElEG,A;AEpIFAgF;AAaAkEI;AAVU1xBAF0H0B0uBI,A;AEhHpCgDoB;8DASGyBO;mIAMOzWsI;KAAAAI;GACAoTO;uBAIZtCuC;AAEI0ES;AAAA5FuC;AACFkBK;AAHFAsD;AAIElB2B;iBAkYFAsB;knBGtagBXmE;iOEmBF3rBA9Bm2CyBsiB6B,A;6SbhjCPsNW;gBAqB5BrDgB;umBGvMFjCsB;iDA4GAA8B;oEA2COtqB4B;KAAAA8B;2EA0ZqB4uBe;gBAcF5uBoB;QAAAAW;iNA2GJjYM;qBAAAAAK8Md08BQ,A;kVqC57BqBmOAA6ESxImB,AAAiB0Bc,A;iQA8DhDhHiG;IAAAA2B;KAAAAwC;q0CjB2JEuNkB;uekBjTPxN4BA+BUoCqE,AAEIjnBAjCgxCqBsiBoB,A,0B;0EiClwCpByJAjCqwCfhKe,K;AiCpwCUzLK;+MxClGctWmB;OAAAAc;mCA+IxBAkC;KAAAAiC;+OA6MwBAU;4CAAAAa;oTA6DAAmB;wCAAAAoB;YAIxBogBe;2CAAAA8B;uvBLu6C0B6N+B;uvBA+hCCnFa;AAAeAe;8CAOQAe;8BAOlCtCiC;AACAoJS;iEuB/2FI5vBmB;+CAAAAoB;kDAUb8hBAA+PiB8CS,A;oFAhOEAiB;4FAKAAI;gGAUfzBAA+KFyKG,AACJjJqB,A;wQA/JLkJ2BAOSDwB,AACEjJI,sF;0WA0EaCI;kFAUAAI;qGAiBD5kB8B;6fAwHlBAU;0BAAAAuB;wUXnTgBsWAAi3CjB0LmB,A;8DAj3CiB1LAAk3CjB2LqB,A;kFAviCGjiBwB;iLAqEMkXc;kVAmhBfqKwB;AAEE+GoL;m2BAoeKvGe;6JLx0CAtsCiB;iBAAAAAAsX0BszCqB,A;eAhXDz5BMAwXZy5BqB,A;obO3VhB5DkB;oUA6FFzDIC8fmB1hBmB,A;AD5fnBugBKC8kBwBvgBa,A;6FD/fgBAW;2YiC7GtC+tBW;AACK/tBY3B2gBM4QG,cADjB5QAAAAAyBAKcgxBC,Y,A,A;Y2B7gBOhxBAAlLjBAA1B80BAAADjvBgB4QiC,A,A,A;c2BqFC5QAAlLjBAA1B80BAAADjvBK4zBAAWKzMAA4BL8JK,A,UA1BK7JmBA+DL4JS,A,A,A,A,wC2B/KThxBAAAAAa,A,A;AA+LEqgBsF;kCAgCSrgBQ;AADL+tBU;oEAIG/tB0D;+DAyDH6lBG;qCAKADG;gEAaE/CI;8DAMAwE2H;wBAUFzBS;sBAOAmIkB;6HAkB0ClIS;QAIrC7lBQ;AADL6lBU;2EASADG;0BACAZW;4BAMEYS;qLhChTMUW;4CACZ3EK;kHAgBY2EW;kGAgIP6GW;oBACE7DQ;AAA6B1GAAxB7BsQW,K;mEAwCI5JK;mIAUL2DU;oTA0IkBrcW;gGAalBqgBK;YAQcjxByB;QACP4eiD;6DASO5e2B;QACPwyBkD;8GAuGTnMG;iDAQiB/EkB;AACLoEY;sBAQdxkCgB;GAAAAM;gFAQEmlCG;sGAiBiB/EkB;AACLoEY;kCAQdxkCgB;GAAAAM;2LA+IFwnCW;sCAMW3De;mJAiBU/kBa;gIA6DrB9egB;GAAAAM;uFA4BAAmB;GAAAAM;4VA8EyB6rCGA9nBlBzDQ,AAAUJAAhEVgKQ,kB,A;mBAgsBkCvQI;eAAAAG;cACDAC;cAAAAS;mBAEP3iBiB;yDAKqB0lBiB;AAC3BXkB;AACqBpCC;UAAAAK;0CAWrB+DAAiGzBiNW,U;qKA3F4C3zBa;qFAUf8sBU;IAAAAC;IAAAAAAvtBxBxDQ,AAA+BvCaA1B/BmMG,4B,A;sCAmvBwBlzBoB;mFAOQ2iBW;EAAAAU;iBAElBuKAAxuBdpGU,A;kDA6uBsBnEW;EAAAAQ;gDAGI3iBiB;6EIgYXA6B;mNAQlByhBQ;MAAAAMJzoBFiHqB,S;SMmJ4BxMmB;wRDtiB1BoJG;8CAIctlByB;yDAiDSAG;mBAAAAe;AAC3BgX0C;AACKiOG;yFAciBaI;kFA6FlBboB;iDAEoBsBgCAhM2B0HkB,A;sEA2M5BnIY;kMA+BctDuC;6IA0HjC6LG;0JAWF3BM;OAAAAqDA6BFsDY,A;6VJqkCEnDwB;2IAYAAwB;ygBM9pDK7sBmB;+CAAAAoB;qFAU8BklBS;6EAGHAS;yoBAqDhCsC2BAOS5FAAoOe2LwB,A,mH;+pBAvGrBrIwB;uCAuEMtDAAgCe2LmB,A;0LAmEnBvtBU;4BAAAAoB;wNqBhamBAkB;sBAAAAW;QAAAAa;6DA2IUA8B;KAAAAgC;eA6WjB4uBe;4TnBlaf2EU;AACAAACoaJlKiB,A;ADnaIkKe;oEEuIMtFQ;kBACIjuB+E;wJAoFD4qBAA3B6B5qBAd6kCLsiBoB,A,A;yIct2BZtiBAds2BYsiBiB,A;Ccr2BvBtiBa;4BAEduqB8H;+GAqHyBvqBAd8uBYsiBiB,A;kKJ3rCnCgNM;AAAgCAQ;AAChCFM;AAAqBAQ;qEoB6aAsEW;KACDlEW;KACAzEW;KACAuCW;KACEiCW;KACA6BW;KACC/BY;AACbDc;igCnB/GY/SiB;m4DgB1dMuTc;4lBQ4f1B5vBwB;yKAmGK7FcAxDK8xBAzBnkBN9CAARIFsG,A,A,A;OyBmoBH9uBAAxDK8xBgB,A;mJAqEViCoE;uBAGmByBsB;0JASarDM;oDAUnBAgB;iaoBpZTtsByE;0CAYR6xBAzCqhBAtQS,A;ayCrhBAsQAzCqhBAtQsB,oB;YyCnhBkB6OiB;2BAEhBhM4C;AAEaoIoB;qBAKA0EM;gRnBnSA9CAP+XOHkB,A;+JO7MlBEAA1B0BtOG,aAAAAI,A;oCA+CxB7fAqBhMc0vBA3BsMA/IApBhJEmEiB,A,A,4B;oF0BoNIXAbjIpBnqBM,A;kCakICmyBAatLenyBW,OAAAAW,A;mEb4LWgXqC;uDAvPSyP+NAgC5BpBe,eAAAAAAGhBAAAAAAqC,A,A,A;uZCgJEmImD;AACKiBiB;AAEHjBK;AAHFAgD;gBAOEAK;AAPFAyE;aAUsB0EE;AAAAhOiB;uDAAAzDY;IAGpBNI;mCAIKQI;AADAAsB;AACAAoB;eAEL0SW;yCAGElDAAlCGxPC,eAAoBRI,A;+MAgDVngBAvBqnCoBsiBgD,A;AuBlnCnBpLM;AAALoVmB;gBAEOAc;MAChBT2B;AAIiB8GsC;iKAQb9GG;AAZJAyD;uBAgBIAG;AAhBJAmC;8JAmCS7rBAvB4kCwBsiBkB,A;AuBvkCZpLM;AAALoVsB;gBAEKAc;MACrBTsC;WAE6CSM;AAAd5LoB;AAAc4LwB;AAClC5L0C;SACwB4LI;AAAd5LoB;AAAc4LqB;AAGsBtMuB;MAA3CCe;OAkBXjgBiB;aAWmC8fY;yBAI/BaY;yQAWY2LiB;iBAEAAc;0BACfkCI;cAGO7Ne;6BAMbkLmC;6JAcc4CuB;AALV0BAAzKCxPC,eAAoBRI,A;qKAuLrBsOuB;iFAEKM6BAxMkCsCO,mC;KAwMlCtCAAnMX8CqB,AACAAqB,AACAAiB,6F;AAqMELAvBsYFjQqB,iB;AuBrYEiQSvBqYFjQqB,e;SuBnYuC+KM;AAAPAa;AAAOAuB;AAM7BnMO;oHAIHDK;AATAWmB;4DAWLgLK;AA5CAAyC;2BA6C2F3Ua;mBACzElXAUzZXAuB,A;sBV4ZY+rBK;yBACQ7Ue;oEAQzBiZAA1NGxPc,AAAoBRI,A;uFA+NbsOmD;AAMZ5CK;AArEAA6D;AAsE4D4Ca;sNAE5D4EmC;wDAQY5EuB;AALV0BAA3OGxPC,eAAoBRI,A;8gBA+P3B0L0C;8DAQoBoCa;aAEdOI;cACJ5C8C;AACWjLe;aAIT6NI;sGAKA3CK;AArBJAuB;iDAuBQ7MAQiCW4PsB,A;ARjCoB5PAQiCpB4P6B,A;ARhCbmCSGlf4BrBAVgOd/IApBhJEmEE,A,A,c8B/EO4EAV+NT/IApBhJEmEE,A,A,mB;A2BmaZwDsBG5dOoBAVyMG/IApBhJEmEmB,A,A,gE;qE2BsadeK;AA5BRAqD;0BA8B0B7rBAUxejBAQ,A;qBVyeyB+rBK;gCAE1BHK;AAtBNAsD;6BA0BMAK;AA1BNAkE;sCAqCI6CwB;uNAWJ5CK;AA3DFA0D;oIAoE2CuBQ;+BAGrC+CAAtUCxPC,eAAoBRI,A;oFA2UXsOuE;8KAqFZ5CK;AAjKJA2C;4MA2KEZAChhBFkGa,A;ADkhBEtFK;AA7KFA0D;0BA8K0G3Ua;mBAEtFlXAU1nBXAuB,A;sBV6nBY+rBK;8CACM7UgB;oCAKvBiZAAxbGxPC,eAAoBRI,A;uFA6bbsOoD;AAMZ5CK;AApMFAiE;AAqMkE4CsB;4NAEhEjBqD;oEASYiBuB;AALV0BAA1cGxPC,eAAoBRI,A;mbAsVWmMM;AAAPAa;AAAOAY;2BAMtBnMM;kHAOHDK;AAZAWiB;qFAcTgLY;AACiE3Ua;gGAKjE2UK;AANAAO;AAOiE3Ua;gDAE/D0U8G;yFASACK;AAlBFAgE;kFAoBEAK;AApBFAyI;sBA6BY4CuB;AALV0BAA7XCxPc,AAAoBRI,A;kXA0YHqOY;oOAUyBAE;ubCrkBjCJAOIMHY,A;gMPiEpBoFkB;yRAwBKnTK;AADAUI;AADyB0LI;AAAPAK;EAAAAQ;AAAOAS;AACzB1LkC;iBAEM1JgB;gEAEXmcoB;iwBA2BGnTK;KARiCoMI;AAAPAK;EAAAAQ;AAAOA4B;AAGnBxMS;AACaGM;AAAVqMgB;AAAUrMU;MAEEEI;gJAO3B0K8C;oPAI+ByBM;AAAPAK;EAAAAQ;AAAOAe;AACkBnMM;iEAEnDDK;uCADsCCI;qJAQ3CgRK;CAAAAM;0MAIA1G6E;AAE+BIgC;0BAE/BAgC;sPAM6ByBgB;AAAUrMU;AAICqMM;AAAPAK;EAAAAQ;AAAOAS;AAEjBnMoB;iBAEkBAM;0FAIpCDK;mCAFwBCI;qUAcImMM;AAAPAK;EAAAAQ;AAAOAS;AAERnMoB;8BACpBDK;AAFAWyC;QAGS3JgB;kHEpNGwYAVkNG/IApBhJEmEU,A,A;yN6BzCtBltBAwB/BAyyBU,A;8GxBuCE7CwC;AACwBlBkC;OAIEAU;OACPrMO;OACSAgB;OACNAU;QACFAQ;OACEAU;OACMAgB;0BAK1BoT4C;qBASsB/GkB;AACAAkB;mQAUTvMO;AAALuMQ;uDAGZ7BwB;+oBAQiCsBK;AACnBhuBAX1DuBidCA+BHgQK,A,A;mKW+BReK;AACRhuBAX/DmBidC,A;AW0DvBjdAX1DuBidAA+BHgQK,A,A;2KWqC5BPM;AAnBNAsC;sBAuBsByHS;AAAA5FyC;wBAAZtsBADlFyC+vBiB,A;ACqF7CzDa;AAAK3LY;AAIHRI;6GAMFsKM;AApCNAuC;aAsCM6BO;AAAA4FE;AAAA5FO;AAAK3LY;AAIHRI;uJASEmTAnCyHHtzBe,A;AmCzHuB0yBAP6W5B7C+B,A;AO7WQyDkB;AAAoBZmB;4HAEtBjIM;AArDRAM;kBAsDQ8GUFgCN/DuB,OAIF/CM,A;AE1FAAqB;AAsDQ8G0C;AAEFjFO;AAAA4FE;AAAA5FO;AAAK3LY;AAKHRI;iTAcFsKM;AA3ENA8B;iIAgFQ4ImD;AACA/GK;AAAA4FE;AAAA5FO;AAAK3LY;AASHRI;wRAeJmMK;AAAA4FE;AAAA5FO;AAAK3LY;AAQHRI;qIA3DAoRG;2CAkEF9GM;AAxHNAoC;QA0HM6BO;AAAA4FE;AAAA5FO;AAAK3LY;AAKHRI;iIAMkB4LK;AAAShuBAXtLEidC,A;AW0DvBjdAX1DuBidAA+BHgQK,A,A;4GW4J1BqIM;AA1DAA6C;AA2DA/GO;AAAA4FE;AAAA5FO;AAAK3LY;AAKHRI;oJAKFsKM;AArJRA0C;AAsJQkHAD/KRnEM,A;AC+EQ+DAFgCN/DqC,A;AEgEMmEsB;mDAGAlHM;AAzJRA4D;6DAgKM6BO;AAAA4FE;AAAA5FO;AAAK3LY;AAOHRI;gRAWAkTM;AAlGAA6C;AAmGA/GO;AAAA4FE;AAAA5FO;AAAK3LY;AAKHRI;4IAMFsKM;AA9LRAyC;kGAkMQAM;AAlMRAkD;yFAyMM6BU;AAAA4FE;AAAA5FO;AAAK3Le;AAQHRI;4EAJ2B7hBAXzQCgdCgChBjBgQmB,oE,A;8DrBoSbbM;AAxNNAgD;cA0NU6IAnC9CHtzBe,A;AmC8CuB0yBAPsM5B7C+B,A;AOtMQyDkB;AAAoBZmB;8DAEtBjIM;AA5NRAiC;2BA6NQgHM;AAvKAFI;AAuKAEAFvJNjEM,A;AEhBM+DAFgCN/DkF,A;AEuIMiEI;AAvKAFG;AAuKAEAFnJRhHM,A;AE1EAAsB;AA6NQgH+C;AAGFnFO;AAAA4FE;AAAA5FO;AAAK3LY;AAKHRI;oOAWAkTM;AAhKAA6C;AAiKA/GO;AAAA4FE;AAAA5FO;AAAK3LY;AAKHRI;gJAMFsKM;AA5PRA6C;yEA+PQAM;AA/PRA+D;gEAqQM6BU;AAAA4FE;AAAA5FO;AAAK3Le;AAOHRI;gFAH6B7hBAXrUDgdC,A;AWyQDhdAXzQCgdAgChBjBgQmB,A,A;ArBqVkBhtBAXrUDgdsD,A;oCW8UhByQK;AAAShuBAXnUQidC,A;AW0DvBjdAX1DuBidAA+BHgQK,A,A;wFWwS1BqIM;AAtMAA6C;AAuMA/GO;AAAA4FE;AAAA5FO;AAAK3LY;AAKHRI;6GAGJyRQ;AACAnHM;AAhSNAsB;+FAkSQmHAFnNRnHM,A;AE/EAAwB;AAkSQmHgDFjNRpDI,M;AEoNMlCO;AAAA4FE;AAAA5FO;AAAK3LY;AAIHRI;2IAOFsKM;AAhTNA0D;6CAmTM2IM;AA7PE7BI;AA6PF6BAF5MJ5FM,A;AEjDM+DAFgCN/DqC,A;AE6NI4FI;AA7PE7BG;AA6PF6BAFxMN3IM,A;AE3GAAsB;AAmTM2I0C;AAEA9GO;AAAA4FE;AAAA5FO;AAAK3LY;AAIHRI;iHAMFsKM;AA/TNAuC;iCAoUQyHkC;OAAA5Fa;AAAK3LY;AAMHRI;0GAEFmMa;AAAK3LY;AAKHRI;mHAKNkTM;AAtQIA2B;6mZrCk2CR9C0G;CAAAAG;+DAYAC8G;CAAAAG;6DAYACuD;CAAAAG;+DAYiBC2D;CAAAAG;8C0B3+BgC3EAdslB/ChKc,K;ibmBhlBgBwLM;wBsBjhBgBvtBeAsLpBwgBS,AAEhBxgBO,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/lib/src/core/engine.dart b/lib/src/core/engine.dart index f8ed6fb19..07cfe9841 100644 --- a/lib/src/core/engine.dart +++ b/lib/src/core/engine.dart @@ -152,6 +152,12 @@ class Engine extends Disposable with EventsEmittable { E2EEManager? _e2eeManager; + E2EEManager? get e2eeManager => _e2eeManager; + + void setE2eeManager(E2EEManager? e2eeManager) { + _e2eeManager = e2eeManager; + } + void clearReconnectTimeout() { if (reconnectTimeout != null) { reconnectTimeout?.cancel(); @@ -169,9 +175,11 @@ class Engine extends Disposable with EventsEmittable { required this.roomOptions, SignalClient? signalClient, PeerConnectionCreate? peerConnectionCreate, + E2EEManager? e2eeManager, }) : signalClient = signalClient ?? SignalClient(LiveKitWebSocket.connect), _peerConnectionCreate = - peerConnectionCreate ?? rtc.createPeerConnection { + peerConnectionCreate ?? rtc.createPeerConnection, + _e2eeManager = e2eeManager { if (kDebugMode) { // log all EngineEvents events.listen((event) => logger.fine('[EngineEvent] $objectId $event')); @@ -378,14 +386,22 @@ class Engine extends Disposable with EventsEmittable { return; } - final packet = lk_models.EncryptedPacket( + final encryptedPacket = lk_models.EncryptedPacket( encryptionType: lk_models.Encryption_Type.GCM, encryptedValue: encryptedData.data, iv: encryptedData.iv, keyIndex: encryptedData.keyIndex, ); - message = rtc.RTCDataChannelMessage.fromBinary(packet.writeToBuffer()); + final dataToSend = lk_models.DataPacket( + participantIdentity: packet.participantIdentity, + kind: packet.kind, + encryptedPacket: encryptedPacket, + destinationIdentities: packet.destinationIdentities, + ); + + message = + rtc.RTCDataChannelMessage.fromBinary(dataToSend.writeToBuffer()); } } @@ -452,6 +468,28 @@ class Engine extends Disposable with EventsEmittable { return null; } + lk_models.DataPacket asDataPacket(lk_models.EncryptedPacketPayload packet) { + switch (packet.whichValue()) { + case lk_models.EncryptedPacketPayload_Value.user: + return lk_models.DataPacket(user: packet.user); + case lk_models.EncryptedPacketPayload_Value.rpcRequest: + return lk_models.DataPacket(rpcRequest: packet.rpcRequest); + case lk_models.EncryptedPacketPayload_Value.rpcResponse: + return lk_models.DataPacket(rpcResponse: packet.rpcResponse); + case lk_models.EncryptedPacketPayload_Value.rpcAck: + return lk_models.DataPacket(rpcAck: packet.rpcAck); + case lk_models.EncryptedPacketPayload_Value.streamHeader: + return lk_models.DataPacket(streamHeader: packet.streamHeader); + case lk_models.EncryptedPacketPayload_Value.streamChunk: + return lk_models.DataPacket(streamChunk: packet.streamChunk); + case lk_models.EncryptedPacketPayload_Value.streamTrailer: + return lk_models.DataPacket(streamTrailer: packet.streamTrailer); + default: + throw Exception( + 'Unknown encrypted packet type: ${packet.whichValue()}'); + } + } + Future _buildRtcConfiguration( {required lk_models.ClientConfigSetting serverResponseForceRelay, required List serverProvidedIceServers}) async { @@ -706,7 +744,7 @@ class Engine extends Disposable with EventsEmittable { } final dp = lk_models.DataPacket.fromBuffer(message.binary); if (dp.whichValue() == lk_models.DataPacket_Value.encryptedPacket) { - if (_e2eeManager != null) { + if (_e2eeManager == null) { logger.warning('Received encrypted packet but E2EE not set up'); return; } @@ -720,7 +758,11 @@ class Engine extends Disposable with EventsEmittable { logger.warning('Failed to decrypt data packet'); return; } - final newDp = lk_models.DataPacket.fromBuffer(decryptedData); + + final decryptedPacketPayload = + lk_models.EncryptedPacketPayload.fromBuffer(decryptedData); + final newDp = asDataPacket(decryptedPacketPayload); + _emitDataPacket(newDp); } else { _emitDataPacket(dp); diff --git a/lib/src/core/room.dart b/lib/src/core/room.dart index 718fee0bb..d0f5303be 100644 --- a/lib/src/core/room.dart +++ b/lib/src/core/room.dart @@ -230,7 +230,8 @@ class Room extends DisposableChangeNotifier with EventsEmittable { }) async { var roomOptions = this.roomOptions; connectOptions ??= ConnectOptions(); - if (roomOptions.e2eeOptions != null || roomOptions.encryption != null) { + if (roomOptions.e2eeOptions != null || + roomOptions.encryption != null && engine.e2eeManager == null) { if (!lkPlatformSupportsE2EE()) { throw LiveKitE2EEException('E2EE is not supported on this platform'); } @@ -238,7 +239,12 @@ class Room extends DisposableChangeNotifier with EventsEmittable { _e2eeManager = E2EEManager(e2eeOptions!.keyProvider, dcEncryptionEnabled: roomOptions.encryption != null); await _e2eeManager!.setup(this); + engine.setE2eeManager(_e2eeManager); + } else { + _e2eeManager = engine.e2eeManager; + } + if (_e2eeManager != null) { // Disable backup codec when e2ee is enabled roomOptions = roomOptions.copyWith( defaultVideoPublishOptions: From d033f9e1e168d82d15dd7e8394eaf96556a02bbe Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Mon, 22 Sep 2025 14:23:09 +0800 Subject: [PATCH 08/18] update. --- lib/src/e2ee/e2ee_manager.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/src/e2ee/e2ee_manager.dart b/lib/src/e2ee/e2ee_manager.dart index 865afa1c0..69acb7e1f 100644 --- a/lib/src/e2ee/e2ee_manager.dart +++ b/lib/src/e2ee/e2ee_manager.dart @@ -33,10 +33,10 @@ class E2EEManager { final Algorithm _algorithm = Algorithm.kAesGcm; DataPacketCryptor? _dataPacketCryptor; bool _enabled = true; - bool encryptionEnabled = false; + bool _encryptionEnabled = false; EventsListener? _listener; E2EEManager(this._keyProvider, {bool dcEncryptionEnabled = false}) { - encryptionEnabled = dcEncryptionEnabled; + _encryptionEnabled = dcEncryptionEnabled; } Future setup(Room room) async { @@ -121,7 +121,7 @@ class E2EEManager { } } }); - if (encryptionEnabled && room.roomOptions.encryption != null) { + if (_encryptionEnabled && room.roomOptions.encryption != null) { _dataPacketCryptor ??= await dataPacketCryptorFactory.createDataPacketCryptor( algorithm: _algorithm, keyProvider: _keyProvider.keyProvider); @@ -252,7 +252,7 @@ class E2EEManager { } bool get isDataChannelEncryptionEnabled => - encryptionEnabled && _dataPacketCryptor != null; + _encryptionEnabled && _dataPacketCryptor != null; Future handleEncryptedData({ required Uint8List data, From 91f64b820b4eb53f5698fa7b5df44cc4ab7136ce Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Mon, 22 Sep 2025 14:27:19 +0800 Subject: [PATCH 09/18] dart format. --- lib/src/data_stream/stream_writer.dart | 3 +-- lib/src/participant/local.dart | 8 +++++++- lib/src/participant/remote.dart | 3 ++- lib/src/publication/track_publication.dart | 3 ++- lib/src/track/local/audio.dart | 3 ++- lib/src/track/remote/audio.dart | 3 ++- lib/src/track/remote/video.dart | 3 ++- lib/src/widgets/screen_select_dialog.dart | 3 ++- 8 files changed, 20 insertions(+), 9 deletions(-) diff --git a/lib/src/data_stream/stream_writer.dart b/lib/src/data_stream/stream_writer.dart index a182b58bd..57e6a42c2 100644 --- a/lib/src/data_stream/stream_writer.dart +++ b/lib/src/data_stream/stream_writer.dart @@ -9,7 +9,6 @@ import '../types/data_stream.dart'; import '../types/other.dart'; import '../utils.dart'; - class BaseStreamWriter { final StreamWriter writableStream; Function()? onClose; @@ -49,7 +48,7 @@ class WritableStream implements StreamWriter { int chunkId = 0; List? destinationIdentities; Engine engine; - + WritableStream({ required this.streamId, required this.engine, diff --git a/lib/src/participant/local.dart b/lib/src/participant/local.dart index 9c4f88130..37e27c027 100644 --- a/lib/src/participant/local.dart +++ b/lib/src/participant/local.dart @@ -53,7 +53,13 @@ import '../types/other.dart'; import '../types/participant_permissions.dart'; import '../types/rpc.dart'; import '../types/video_dimensions.dart'; -import '../utils.dart' show buildStreamId, mimeTypeToVideoCodecString, Utils, compareVersions, isSVCCodec; +import '../utils.dart' + show + buildStreamId, + mimeTypeToVideoCodecString, + Utils, + compareVersions, + isSVCCodec; import 'participant.dart'; /// Represents the current participant in the room. Instance of [LocalParticipant] is automatically diff --git a/lib/src/participant/remote.dart b/lib/src/participant/remote.dart index ca3f571cd..910e5bad5 100644 --- a/lib/src/participant/remote.dart +++ b/lib/src/participant/remote.dart @@ -203,7 +203,8 @@ class RemoteParticipant extends Participant { final newPubs = {}; for (final trackInfo in info.tracks) { - final RemoteTrackPublication? pub = getTrackPublicationBySid(trackInfo.sid); + final RemoteTrackPublication? pub = + getTrackPublicationBySid(trackInfo.sid); if (pub == null) { final RemoteTrackPublication pub; if (trackInfo.type == lk_models.TrackType.VIDEO) { diff --git a/lib/src/publication/track_publication.dart b/lib/src/publication/track_publication.dart index eff2b2c7b..2836d424e 100644 --- a/lib/src/publication/track_publication.dart +++ b/lib/src/publication/track_publication.dart @@ -121,7 +121,8 @@ abstract class TrackPublication extends Disposable { void _attachTrackListener(T track) { // listen for Track's muted events final listener = track.createListener() - ..on((event) => _onTrackMuteUpdatedEvent(event)); + ..on( + (event) => _onTrackMuteUpdatedEvent(event)); // dispose listener when the track is disposed track.onDispose(() => listener.dispose()); } diff --git a/lib/src/track/local/audio.dart b/lib/src/track/local/audio.dart index d14ab864e..33d179e6c 100644 --- a/lib/src/track/local/audio.dart +++ b/lib/src/track/local/audio.dart @@ -63,7 +63,8 @@ class LocalAudioTrack extends LocalTrack if (stats != null && prevStats != null && sender != null) { final bitrate = computeBitrateForSenderStats(stats, prevStats); _currentBitrate = bitrate; - events.emit(AudioSenderStatsEvent(stats: stats, currentBitrate: bitrate)); + events + .emit(AudioSenderStatsEvent(stats: stats, currentBitrate: bitrate)); } prevStats = stats; diff --git a/lib/src/track/remote/audio.dart b/lib/src/track/remote/audio.dart index f691e709a..776090097 100644 --- a/lib/src/track/remote/audio.dart +++ b/lib/src/track/remote/audio.dart @@ -93,7 +93,8 @@ class RemoteAudioTrack extends RemoteTrack if (stats != null && prevStats != null && receiver != null) { final bitrate = computeBitrateForReceiverStats(stats, prevStats); _currentBitrate = bitrate; - events.emit(AudioReceiverStatsEvent(stats: stats, currentBitrate: bitrate)); + events.emit( + AudioReceiverStatsEvent(stats: stats, currentBitrate: bitrate)); } prevStats = stats; diff --git a/lib/src/track/remote/video.dart b/lib/src/track/remote/video.dart index 83401d506..e9241280b 100644 --- a/lib/src/track/remote/video.dart +++ b/lib/src/track/remote/video.dart @@ -56,7 +56,8 @@ class RemoteVideoTrack extends RemoteTrack with VideoTrack { if (stats != null && prevStats != null && receiver != null) { final bitrate = computeBitrateForReceiverStats(stats, prevStats); _currentBitrate = bitrate; - events.emit(VideoReceiverStatsEvent(stats: stats, currentBitrate: bitrate)); + events.emit( + VideoReceiverStatsEvent(stats: stats, currentBitrate: bitrate)); } prevStats = stats; diff --git a/lib/src/widgets/screen_select_dialog.dart b/lib/src/widgets/screen_select_dialog.dart index 6d8c08a5e..490f73956 100644 --- a/lib/src/widgets/screen_select_dialog.dart +++ b/lib/src/widgets/screen_select_dialog.dart @@ -152,7 +152,8 @@ class ScreenSelectDialog extends Dialog { Future _getSources() async { try { - final sources = await rtc.desktopCapturer.getSources(types: [_sourceType]); + final sources = + await rtc.desktopCapturer.getSources(types: [_sourceType]); for (var element in sources) { if (kDebugMode) { print( From 1cda8de73f9883e29fa6869efdda21dc2da52aa4 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Mon, 22 Sep 2025 14:30:42 +0800 Subject: [PATCH 10/18] fmt. --- test/core/data_stream_test.dart | 92 +++++++++++++++++++++------------ 1 file changed, 60 insertions(+), 32 deletions(-) diff --git a/test/core/data_stream_test.dart b/test/core/data_stream_test.dart index 152465763..f846acea9 100644 --- a/test/core/data_stream_test.dart +++ b/test/core/data_stream_test.dart @@ -42,9 +42,11 @@ void main() { group('Stream Handler Registration', () { test('Register And Unregister Text And Byte Stream Handlers', () async { - room.registerTextStreamHandler('chat', (TextStreamReader reader, String participantIdentity) {}); + room.registerTextStreamHandler( + 'chat', (TextStreamReader reader, String participantIdentity) {}); - room.registerByteStreamHandler('file', (ByteStreamReader reader, String participantIdentity) {}); + room.registerByteStreamHandler( + 'file', (ByteStreamReader reader, String participantIdentity) {}); expect(room.textStreamHandlers.keys.first, 'chat'); @@ -60,7 +62,8 @@ void main() { group('Text Streaming', () { test('Send Basic Text Message', () async { - room.registerTextStreamHandler('chat', (TextStreamReader reader, String participantIdentity) async { + room.registerTextStreamHandler('chat', + (TextStreamReader reader, String participantIdentity) async { final text = await reader.readAll(); print('received chat message from $participantIdentity: $text'); expect('some text !!!', text); @@ -75,9 +78,11 @@ void main() { test('Send Large Text Message With Progress Tracking', () async { final longText = 'a' * 100000; - room.registerTextStreamHandler('chat-long-text', (TextStreamReader reader, String participantIdentity) async { + room.registerTextStreamHandler('chat-long-text', + (TextStreamReader reader, String participantIdentity) async { final text = await reader.readAll(); - print('received chat message from $participantIdentity: long text length: ${text.length}'); + print( + 'received chat message from $participantIdentity: long text length: ${text.length}'); expect(longText, text); }); @@ -92,7 +97,8 @@ void main() { }); test('Stream Text With Multiple Chunks', () async { - room.registerTextStreamHandler('chat-stream', (TextStreamReader reader, String participantIdentity) async { + room.registerTextStreamHandler('chat-stream', + (TextStreamReader reader, String participantIdentity) async { reader.listen((chunk) { print( 'received chunk: ${chunk.content.length}, total: ${reader.info?.size}, progress: ${utf8.decode(chunk.content)}'); @@ -122,14 +128,16 @@ void main() { for (var file in files) { final randomFile = File(file); final random = Random(); - final bytes = List.generate(100000, (index) => random.nextInt(256)); + final bytes = + List.generate(100000, (index) => random.nextInt(256)); randomFile.writeAsBytesSync(bytes); } room.registerTextStreamHandler('chat-stream-with-files', (TextStreamReader reader, String participantIdentity) async { final receivedText = await reader.readAll(); - print('received chat message from $participantIdentity: long text length: ${receivedText.length}'); + print( + 'received chat message from $participantIdentity: long text length: ${receivedText.length}'); expect(longText, receivedText); }); @@ -161,19 +169,22 @@ void main() { final receivedMessages = []; for (var operationType in operationTypes) { - room.registerTextStreamHandler('chat-operations', (TextStreamReader reader, String participantIdentity) async { + room.registerTextStreamHandler('chat-operations', + (TextStreamReader reader, String participantIdentity) async { final text = await reader.readAll(); receivedMessages.add('${operationType}: ${text}'); print('received ${operationType} message: ${text}'); }); - final info = await room.localParticipant?.sendText('Test ${operationType}', - options: SendTextOptions( - topic: 'chat-operations', - )); + final info = + await room.localParticipant?.sendText('Test ${operationType}', + options: SendTextOptions( + topic: 'chat-operations', + )); // Test with streamText and different operation types - final stream = await room.localParticipant?.streamText(StreamTextOptions( + final stream = + await room.localParticipant?.streamText(StreamTextOptions( topic: 'chat-operations', type: operationType, version: operationType == 'update' ? 2 : null, @@ -187,9 +198,14 @@ void main() { }); test('Text Stream With Attributes And Metadata', () async { - final testAttributes = {'userId': '12345', 'sessionId': 'abc123', 'priority': 'high'}; + final testAttributes = { + 'userId': '12345', + 'sessionId': 'abc123', + 'priority': 'high' + }; - room.registerTextStreamHandler('chat-metadata', (TextStreamReader reader, String participantIdentity) async { + room.registerTextStreamHandler('chat-metadata', + (TextStreamReader reader, String participantIdentity) async { final text = await reader.readAll(); print('received message with text: ${text}'); print('received message attributes: ${reader.info?.attributes}'); @@ -203,11 +219,12 @@ void main() { expect(reader.info!.attributes['priority'], 'high'); }); - final info = await room.localParticipant?.sendText('Test message with metadata', - options: SendTextOptions( - topic: 'chat-metadata', - attributes: testAttributes, - )); + final info = + await room.localParticipant?.sendText('Test message with metadata', + options: SendTextOptions( + topic: 'chat-metadata', + attributes: testAttributes, + )); expect(info, isNotNull); }); @@ -215,7 +232,8 @@ void main() { const originalStreamId = 'original-stream-123'; const replyStreamId = 'reply-stream-456'; - room.registerTextStreamHandler('chat-replies', (TextStreamReader reader, String participantIdentity) async { + room.registerTextStreamHandler('chat-replies', + (TextStreamReader reader, String participantIdentity) async { final text = await reader.readAll(); print('received reply message: ${text}'); expect(text, 'This is a reply to the original message'); @@ -234,7 +252,8 @@ void main() { }); test('Text Stream With AI Generated Flag', () async { - room.registerTextStreamHandler('chat-ai-generated', (TextStreamReader reader, String participantIdentity) async { + room.registerTextStreamHandler('chat-ai-generated', + (TextStreamReader reader, String participantIdentity) async { final text = await reader.readAll(); print('received AI-generated message: ${text}'); expect(text, 'This message was generated by AI'); @@ -280,7 +299,8 @@ void main() { final bytes = List.generate(100000, (index) => random.nextInt(256)); randomFile.writeAsBytesSync(bytes); - room.registerByteStreamHandler('file', (ByteStreamReader reader, String participantIdentity) async { + room.registerByteStreamHandler('file', + (ByteStreamReader reader, String participantIdentity) async { final file = await reader.readAll(); final fileName = 'testfiles/copy-${reader.info!.name}'; print('received file from $participantIdentity: ${file.length}'); @@ -305,13 +325,16 @@ void main() { }); test('Stream Raw Bytes With UTF8 Content', () async { - room.registerByteStreamHandler('bytes-stream', (ByteStreamReader reader, String participantIdentity) async { + room.registerByteStreamHandler('bytes-stream', + (ByteStreamReader reader, String participantIdentity) async { final chunks = await reader.readAll(); final content = chunks.expand((element) => element).toList(); - print('bytes content = ${content}, \n string content = ${utf8.decode(content)}'); + print( + 'bytes content = ${content}, \n string content = ${utf8.decode(content)}'); }); - final stream = await room.localParticipant?.streamBytes(StreamBytesOptions( + final stream = + await room.localParticipant?.streamBytes(StreamBytesOptions( topic: 'bytes-stream', totalSize: 30, )); @@ -350,7 +373,8 @@ void main() { expect(content, expectedContent); }); - final stream = await room.localParticipant?.streamBytes(StreamBytesOptions( + final stream = + await room.localParticipant?.streamBytes(StreamBytesOptions( topic: 'files-with-metadata', name: testFileName, mimeType: testMimeType, @@ -370,7 +394,8 @@ void main() { var receivedCount = 0; const expectedCount = 3; - room.registerTextStreamHandler('concurrent-streams', (TextStreamReader reader, String participantIdentity) async { + room.registerTextStreamHandler('concurrent-streams', + (TextStreamReader reader, String participantIdentity) async { final text = await reader.readAll(); receivedCount++; print('received concurrent message ${receivedCount}: ${text}'); @@ -380,7 +405,8 @@ void main() { final futures = []; for (int i = 0; i < expectedCount; i++) { futures.add(() async { - final stream = await room.localParticipant?.streamText(StreamTextOptions( + final stream = + await room.localParticipant?.streamText(StreamTextOptions( topic: 'concurrent-streams', streamId: 'stream-${i}', type: 'create', @@ -401,7 +427,8 @@ void main() { const chunkSize = 50000; // Larger than normal chunk size final largeData = 'x' * chunkSize; - room.registerTextStreamHandler('large-chunks', (TextStreamReader reader, String participantIdentity) async { + room.registerTextStreamHandler('large-chunks', + (TextStreamReader reader, String participantIdentity) async { final text = await reader.readAll(); print('received large text, length: ${text.length}'); expect(text.length, chunkSize); @@ -422,7 +449,8 @@ void main() { // Test comprehensive header data transmission final testCompleter = Completer(); - room.registerTextStreamHandler('header-validation', (TextStreamReader reader, String participantIdentity) async { + room.registerTextStreamHandler('header-validation', + (TextStreamReader reader, String participantIdentity) async { final text = await reader.readAll(); print('=== Header Validation Test ==='); print('Received text: ${text}'); From e8aa8614ce2b9b4dee0486457c04808e1c0fdb0c Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Mon, 22 Sep 2025 14:33:48 +0800 Subject: [PATCH 11/18] fmt. --- lib/src/participant/local.dart | 3 ++- test/core/data_stream_test.dart | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/src/participant/local.dart b/lib/src/participant/local.dart index 37e27c027..f3c5a9b68 100644 --- a/lib/src/participant/local.dart +++ b/lib/src/participant/local.dart @@ -53,6 +53,8 @@ import '../types/other.dart'; import '../types/participant_permissions.dart'; import '../types/rpc.dart'; import '../types/video_dimensions.dart'; +import 'participant.dart'; + import '../utils.dart' show buildStreamId, @@ -60,7 +62,6 @@ import '../utils.dart' Utils, compareVersions, isSVCCodec; -import 'participant.dart'; /// Represents the current participant in the room. Instance of [LocalParticipant] is automatically /// created after successfully connecting to a [Room] and will be accessible from [Room.localParticipant]. diff --git a/test/core/data_stream_test.dart b/test/core/data_stream_test.dart index f846acea9..60fd2e3c6 100644 --- a/test/core/data_stream_test.dart +++ b/test/core/data_stream_test.dart @@ -22,8 +22,8 @@ import 'dart:math'; import 'dart:typed_data'; import 'package:flutter_test/flutter_test.dart'; -import 'package:livekit_client/livekit_client.dart'; +import 'package:livekit_client/livekit_client.dart'; import '../mock/e2e_container.dart'; void main() { From 0dad4093515eedeb1e4c7ff4bffa271223bc4203 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Mon, 22 Sep 2025 14:55:29 +0800 Subject: [PATCH 12/18] new e2ee worker for data packet encryption. --- web/e2ee.data_packet_cryptor.dart | 230 +++++++++++++ ...e.cryptor.dart => e2ee.frame_cryptor.dart} | 103 +++--- web/e2ee.keyhandler.dart | 29 +- web/e2ee.sfi_guard.dart | 8 +- web/e2ee.utils.dart | 18 +- web/e2ee.worker.dart | 304 ++++++++++++++---- 6 files changed, 541 insertions(+), 151 deletions(-) create mode 100644 web/e2ee.data_packet_cryptor.dart rename web/{e2ee.cryptor.dart => e2ee.frame_cryptor.dart} (89%) diff --git a/web/e2ee.data_packet_cryptor.dart b/web/e2ee.data_packet_cryptor.dart new file mode 100644 index 000000000..a70b1ef67 --- /dev/null +++ b/web/e2ee.data_packet_cryptor.dart @@ -0,0 +1,230 @@ +import 'dart:async'; +import 'dart:js_interop'; +import 'dart:math'; +import 'dart:typed_data'; + +import 'package:web/web.dart' as web; + +import 'e2ee.keyhandler.dart'; +import 'e2ee.logger.dart'; + +class EncryptedPacket { + EncryptedPacket({ + required this.data, + required this.keyIndex, + required this.iv, + }); + + Uint8List data; + int keyIndex; + Uint8List iv; +} + +class E2EEDataPacketCryptor { + E2EEDataPacketCryptor({ + required this.worker, + required this.participantIdentity, + required this.dataCryptorId, + required this.keyHandler, + }); + int sendCount_ = -1; + String? participantIdentity; + String? dataCryptorId; + ParticipantKeyHandler keyHandler; + KeyOptions get keyOptions => keyHandler.keyOptions; + int currentKeyIndex = 0; + final web.DedicatedWorkerGlobalScope worker; + + void setParticipant(String identity, ParticipantKeyHandler keys) { + participantIdentity = identity; + keyHandler = keys; + } + + void unsetParticipant() { + participantIdentity = null; + } + + void setKeyIndex(int keyIndex) { + logger.config('setKeyIndex for $participantIdentity, newIndex: $keyIndex'); + currentKeyIndex = keyIndex; + } + + Uint8List makeIv({required int timestamp}) { + var iv = ByteData(IV_LENGTH); + + // having to keep our own send count (similar to a picture id) is not ideal. + if (sendCount_ == -1) { + // Initialize with a random offset, similar to the RTP sequence number. + sendCount_ = Random.secure().nextInt(0xffff); + } + + var sendCount = sendCount_; + final randomBytes = + Random.secure().nextInt(max(0, 0xffffffff)).toUnsigned(32); + + iv.setUint32(0, randomBytes); + iv.setUint32(4, timestamp); + iv.setUint32(8, timestamp - (sendCount % 0xffff)); + + sendCount_ = sendCount + 1; + + return iv.buffer.asUint8List(); + } + + void postMessage(Object message) { + worker.postMessage(message.jsify()); + } + + Future encrypt( + ParticipantKeyHandler keys, + Uint8List data, + ) async { + logger.fine('encodeFunction: buffer ${data.length}'); + + var secretKey = keyHandler.getKeySet(currentKeyIndex)?.encryptionKey; + var keyIndex = currentKeyIndex; + + if (secretKey == null) { + logger.warning( + 'encodeFunction: no secretKey for index $keyIndex, cannot encrypt'); + return null; + } + + var iv = makeIv(timestamp: DateTime.timestamp().millisecondsSinceEpoch); + + var frameTrailer = ByteData(2); + frameTrailer.setInt8(0, IV_LENGTH); + frameTrailer.setInt8(1, keyIndex); + + try { + var cipherText = await worker.crypto.subtle + .encrypt( + { + 'name': 'AES-GCM', + 'iv': iv, + }.jsify() as web.AlgorithmIdentifier, + secretKey, + data.toJS, + ) + .toDart as JSArrayBuffer; + + logger.finer( + 'encodeFunction: encrypted buffer: ${data.length}, cipherText: ${cipherText.toDart.asUint8List().length}'); + + return EncryptedPacket( + data: cipherText.toDart.asUint8List(), + keyIndex: keyIndex, + iv: iv, + ); + } catch (e) { + logger.warning('encodeFunction encrypt: e ${e.toString()}'); + rethrow; + } + } + + Future decrypt( + ParticipantKeyHandler keys, + EncryptedPacket encryptedPacket, + ) async { + var ratchetCount = 0; + + logger.fine( + 'decodeFunction: data packet lenght ${encryptedPacket.data.length}'); + + ByteBuffer? decrypted; + KeySet? initialKeySet; + var initialKeyIndex = currentKeyIndex; + + try { + var ivLength = encryptedPacket.iv.length; + var keyIndex = encryptedPacket.keyIndex; + var iv = encryptedPacket.iv; + var payload = encryptedPacket.data; + initialKeySet = keyHandler.getKeySet(initialKeyIndex); + + logger.finer( + 'decodeFunction: start decrypting data packet length ${payload.length}, ivLength $ivLength, keyIndex $keyIndex, iv $iv'); + + /// missingKey flow: + /// tries to decrypt once, fails, tries to ratchet once and decrypt again, + /// fails (does not save ratcheted key), bumps _decryptionFailureCount, + /// if higher than failuretolerance hasValidKey is set to false, on next + /// frame it fires a missingkey + /// to throw missingkeys faster lower your failureTolerance + if (initialKeySet == null || !keyHandler.hasValidKey) { + return null; + } + var currentkeySet = initialKeySet; + + Future decryptFrameInternal() async { + decrypted = ((await worker.crypto.subtle + .decrypt( + { + 'name': 'AES-GCM', + 'iv': iv, + }.jsify() as web.AlgorithmIdentifier, + currentkeySet.encryptionKey, + payload.toJS, + ) + .toDart) as JSArrayBuffer) + .toDart; + logger.finer( + 'decodeFunction::decryptFrameInternal: decrypted: ${decrypted!.asUint8List().length}'); + + if (decrypted == null) { + throw Exception('[decryptFrameInternal] could not decrypt'); + } + logger.finer( + 'decodeFunction::decryptFrameInternal: decrypted: ${decrypted!.asUint8List().length}'); + if (currentkeySet != initialKeySet) { + logger.fine( + 'decodeFunction::decryptFrameInternal: ratchetKey: decryption ok, newState: kKeyRatcheted'); + await keyHandler.setKeySetFromMaterial( + currentkeySet, initialKeyIndex); + } + } + + Future ratchedKeyInternal() async { + if (ratchetCount >= keyOptions.ratchetWindowSize || + keyOptions.ratchetWindowSize <= 0) { + throw Exception('[ratchedKeyInternal] cannot ratchet anymore'); + } + + var newKeyBuffer = await keyHandler.ratchet( + currentkeySet.material, keyOptions.ratchetSalt); + var newMaterial = await keyHandler.ratchetMaterial( + currentkeySet.material, newKeyBuffer.buffer); + currentkeySet = + await keyHandler.deriveKeys(newMaterial, keyOptions.ratchetSalt); + ratchetCount++; + await decryptFrameInternal(); + } + + try { + /// gets frame -> tries to decrypt -> tries to ratchet (does this failureTolerance + /// times, then says missing key) + /// we only save the new key after ratcheting if we were able to decrypt something + await decryptFrameInternal(); + } catch (e) { + logger.finer('decodeFunction: kInternalError catch $e'); + await ratchedKeyInternal(); + } + + if (decrypted == null) { + throw Exception( + '[decodeFunction] decryption failed even after ratchting'); + } + + // we can now be sure that decryption was a success + keyHandler.decryptionSuccess(); + + logger.finer( + 'decodeFunction: decryption success, buffer length ${payload.length}, decrypted: ${decrypted!.asUint8List().length}'); + + return decrypted!.asUint8List(); + } catch (e) { + keyHandler.decryptionFailure(); + rethrow; + } + } +} diff --git a/web/e2ee.cryptor.dart b/web/e2ee.frame_cryptor.dart similarity index 89% rename from web/e2ee.cryptor.dart rename to web/e2ee.frame_cryptor.dart index bc9c3bb0f..137e9937b 100644 --- a/web/e2ee.cryptor.dart +++ b/web/e2ee.frame_cryptor.dart @@ -4,13 +4,13 @@ import 'dart:js_interop_unsafe'; import 'dart:math'; import 'dart:typed_data'; +// ignore: deprecated_member_use +import 'package:js/js.dart'; import 'package:web/web.dart' as web; import 'e2ee.keyhandler.dart'; import 'e2ee.logger.dart'; import 'e2ee.sfi_guard.dart'; -const IV_LENGTH = 12; - const kNaluTypeMask = 0x1f; /// Coded slice of a non-IDR picture @@ -75,7 +75,7 @@ const SLICE_LAYER_EXT = 21; // 22, 23 reserved List findNALUIndices(Uint8List stream) { - final result = []; + var result = []; var start = 0, pos = 0, searchLength = stream.length - 2; while (pos < searchLength) { // skip until end of current NALU @@ -145,7 +145,6 @@ class FrameCryptor { KeyOptions get keyOptions => keyHandler.keyOptions; late String kind; bool _enabled = false; - bool _transformIsActive = false; CryptorError lastError = CryptorError.kNew; int currentKeyIndex = 0; final web.DedicatedWorkerGlobalScope worker; @@ -211,7 +210,7 @@ class FrameCryptor { Uint8List makeIv( {required int synchronizationSource, required int timestamp}) { - final iv = ByteData(IV_LENGTH); + var iv = ByteData(IV_LENGTH); // having to keep our own send count (similar to a picture id) is not ideal. if (sendCounts[synchronizationSource] == null) { @@ -219,7 +218,7 @@ class FrameCryptor { sendCounts[synchronizationSource] = Random.secure().nextInt(0xffff); } - final sendCount = sendCounts[synchronizationSource] ?? 0; + var sendCount = sendCounts[synchronizationSource] ?? 0; iv.setUint32(0, synchronizationSource); iv.setUint32(4, timestamp); @@ -240,7 +239,6 @@ class FrameCryptor { required web.WritableStream writable, required String trackId, required String kind, - required bool isReuse, String? codec, }) async { logger.info('setupTransform $operation kind $kind'); @@ -249,13 +247,9 @@ class FrameCryptor { logger.info('setting codec on cryptor to $codec'); this.codec = codec; } - if (isReuse && _transformIsActive) { - logger.info('setupTransform: transform already active, skipping setup'); - return; - } - final transformer = web.TransformStream({ + var transformer = web.TransformStream({ 'transform': - (operation == 'encode' ? encodeFunction.toJS : decodeFunction.toJS) + allowInterop(operation == 'encode' ? encodeFunction : decodeFunction) }.jsify() as JSObject); try { readable @@ -274,12 +268,11 @@ class FrameCryptor { }); } } - _transformIsActive = true; this.trackId = trackId; } int getUnencryptedBytes(JSObject obj, String? codec) { - Uint8List data = Uint8List(0); + var data; var frameType = ''; if (obj is web.RTCEncodedVideoFrame) { data = obj.data.toDart.asUint8List(); @@ -290,9 +283,9 @@ class FrameCryptor { } if (codec != null && codec.toLowerCase() == 'h264') { - final naluIndices = findNALUIndices(data); + var naluIndices = findNALUIndices(data); for (var index in naluIndices) { - final type = parseNALUType(data[index]); + var type = parseNALUType(data[index]); switch (type) { case SLICE_IDR: case SLICE_NON_IDR: @@ -371,7 +364,7 @@ class FrameCryptor { controller.enqueue(frameObj); } - void encodeFunction( + Future encodeFunction( JSObject frameObj, web.TransformStreamDefaultController controller, ) async { @@ -389,13 +382,13 @@ class FrameCryptor { return; } - final srcFrame = readFrameInfo(frameObj); + var srcFrame = readFrameInfo(frameObj); - logger.finer( + logger.fine( 'encodeFunction: buffer ${srcFrame.buffer.length}, synchronizationSource ${srcFrame.ssrc} frameType ${srcFrame.frameType}'); - final secretKey = keyHandler.getKeySet(currentKeyIndex)?.encryptionKey; - final keyIndex = currentKeyIndex; + var secretKey = keyHandler.getKeySet(currentKeyIndex)?.encryptionKey; + var keyIndex = currentKeyIndex; if (secretKey == null) { if (lastError != CryptorError.kMissingKey) { @@ -413,17 +406,17 @@ class FrameCryptor { return; } - final headerLength = + var headerLength = kind == 'video' ? getUnencryptedBytes(frameObj, codec) : 1; - final iv = makeIv( + var iv = makeIv( synchronizationSource: srcFrame.ssrc, timestamp: srcFrame.timestamp); - final frameTrailer = ByteData(2); + var frameTrailer = ByteData(2); frameTrailer.setInt8(0, IV_LENGTH); frameTrailer.setInt8(1, keyIndex); - final cipherText = await worker.crypto.subtle + var cipherText = await worker.crypto.subtle .encrypt( { 'name': 'AES-GCM', @@ -437,7 +430,7 @@ class FrameCryptor { logger.finer( 'encodeFunction: encrypted buffer: ${srcFrame.buffer.length}, cipherText: ${cipherText.toDart.asUint8List().length}'); - final finalBuffer = BytesBuilder(); + var finalBuffer = BytesBuilder(); finalBuffer .add(Uint8List.fromList(srcFrame.buffer.sublist(0, headerLength))); @@ -479,14 +472,14 @@ class FrameCryptor { } } - void decodeFunction( + Future decodeFunction( JSObject frameObj, web.TransformStreamDefaultController controller, ) async { - final srcFrame = readFrameInfo(frameObj); + var srcFrame = readFrameInfo(frameObj); var ratchetCount = 0; - logger.finer('decodeFunction: frame length ${srcFrame.buffer.length}'); + logger.fine('decodeFunction: frame lenght ${srcFrame.buffer.length}'); ByteBuffer? decrypted; KeySet? initialKeySet; @@ -497,35 +490,39 @@ class FrameCryptor { srcFrame.buffer.isEmpty) { sifGuard.recordUserFrame(); if (keyOptions.discardFrameWhenCryptorNotReady) return; - logger.fine('enqueing empty dtx frame'); + logger.fine('enqueing empty frame'); controller.enqueue(frameObj); + logger.finer('enqueing silent frame'); return; } if (keyOptions.uncryptedMagicBytes != null) { - final magicBytes = keyOptions.uncryptedMagicBytes!; + var magicBytes = keyOptions.uncryptedMagicBytes!; if (srcFrame.buffer.length > magicBytes.length + 1) { - final magicBytesBuffer = srcFrame.buffer.sublist( - srcFrame.buffer.length - magicBytes.length, srcFrame.buffer.length); + var magicBytesBuffer = srcFrame.buffer.sublist( + srcFrame.buffer.length - magicBytes.length - 1, + srcFrame.buffer.length - 1); logger.finer( 'magicBytesBuffer $magicBytesBuffer, magicBytes $magicBytes'); if (magicBytesBuffer.toString() == magicBytes.toString()) { sifGuard.recordSif(); if (sifGuard.isSifAllowed()) { - final frameType = + var frameType = srcFrame.buffer.sublist(srcFrame.buffer.length - 1)[0]; - logger.finer( - 'encodeFunction: skip unencrypted frame, type $frameType'); - final finalBuffer = BytesBuilder(); + logger + .finer('ecodeFunction: skip uncrypted frame, type $frameType'); + var finalBuffer = BytesBuilder(); finalBuffer.add(Uint8List.fromList(srcFrame.buffer .sublist(0, srcFrame.buffer.length - (magicBytes.length + 1)))); - logger.fine('encodeFunction: enqueing silent frame'); enqueueFrame(frameObj, controller, finalBuffer); - return; + logger.fine('ecodeFunction: enqueing silent frame'); + controller.enqueue(frameObj); } else { - logger.fine('encodeFunction: SIF limit reached, dropping frame'); - return; + logger.finer('ecodeFunction: SIF limit reached, dropping frame'); } + logger.finer('ecodeFunction: enqueing silent frame'); + controller.enqueue(frameObj); + return; } else { sifGuard.recordUserFrame(); } @@ -533,13 +530,13 @@ class FrameCryptor { } try { - final headerLength = + var headerLength = kind == 'video' ? getUnencryptedBytes(frameObj, codec) : 1; - final frameTrailer = srcFrame.buffer.sublist(srcFrame.buffer.length - 2); - final ivLength = frameTrailer[0]; - final keyIndex = frameTrailer[1]; - final iv = srcFrame.buffer.sublist( + var frameTrailer = srcFrame.buffer.sublist(srcFrame.buffer.length - 2); + var ivLength = frameTrailer[0]; + var keyIndex = frameTrailer[1]; + var iv = srcFrame.buffer.sublist( srcFrame.buffer.length - ivLength - 2, srcFrame.buffer.length - 2); initialKeySet = keyHandler.getKeySet(keyIndex); @@ -630,9 +627,9 @@ class FrameCryptor { throw Exception('[ratchedKeyInternal] cannot ratchet anymore'); } - final newKeyBuffer = await keyHandler.ratchet( + var newKeyBuffer = await keyHandler.ratchet( currentkeySet.material, keyOptions.ratchetSalt); - final newMaterial = await keyHandler.ratchetMaterial( + var newMaterial = await keyHandler.ratchetMaterial( currentkeySet.material, newKeyBuffer.buffer); currentkeySet = await keyHandler.deriveKeys(newMaterial, keyOptions.ratchetSalt); @@ -662,7 +659,7 @@ class FrameCryptor { logger.finer( 'decodeFunction: decryption success, buffer length ${srcFrame.buffer.length}, decrypted: ${decrypted!.asUint8List().length}'); - final finalBuffer = BytesBuilder(); + var finalBuffer = BytesBuilder(); finalBuffer .add(Uint8List.fromList(srcFrame.buffer.sublist(0, headerLength))); @@ -682,11 +679,9 @@ class FrameCryptor { }); } - logger.finer( + logger.fine( 'decodeFunction[CryptorError.kOk]: decryption success kind $kind, headerLength: $headerLength, timestamp: ${srcFrame.timestamp}, ssrc: ${srcFrame.ssrc}, data length: ${srcFrame.buffer.length}, decrypted length: ${finalBuffer.toBytes().length}, keyindex $keyIndex iv $iv'); - } catch (e, s) { - logger.info('decodeFunction[CryptorError.kDecryptError]: $e, $s'); - + } catch (e) { if (lastError != CryptorError.kDecryptError) { lastError = CryptorError.kDecryptError; postMessage({ diff --git a/web/e2ee.keyhandler.dart b/web/e2ee.keyhandler.dart index b22cc91d7..365d8e320 100644 --- a/web/e2ee.keyhandler.dart +++ b/web/e2ee.keyhandler.dart @@ -9,6 +9,7 @@ import 'e2ee.logger.dart'; import 'e2ee.utils.dart'; const KEYRING_SIZE = 16; +const IV_LENGTH = 12; class KeyOptions { KeyOptions({ @@ -140,12 +141,12 @@ class ParticipantKeyHandler { } Future exportKey(int? keyIndex) async { - final currentMaterial = getKeySet(keyIndex)?.material; + var currentMaterial = getKeySet(keyIndex)?.material; if (currentMaterial == null) { return null; } try { - final key = await worker.crypto.subtle + var key = await worker.crypto.subtle .exportKey('raw', currentMaterial) .toDart as JSArrayBuffer; return key.toDart.asUint8List(); @@ -156,20 +157,20 @@ class ParticipantKeyHandler { } Future ratchetKey(int? keyIndex) async { - final currentMaterial = getKeySet(keyIndex)?.material; + var currentMaterial = getKeySet(keyIndex)?.material; if (currentMaterial == null) { return null; } - final newKey = await ratchet(currentMaterial, keyOptions.ratchetSalt); - final newMaterial = await ratchetMaterial(currentMaterial, newKey.buffer); - final newKeySet = await deriveKeys(newMaterial, keyOptions.ratchetSalt); + var newKey = await ratchet(currentMaterial, keyOptions.ratchetSalt); + var newMaterial = await ratchetMaterial(currentMaterial, newKey.buffer); + var newKeySet = await deriveKeys(newMaterial, keyOptions.ratchetSalt); await setKeySetFromMaterial(newKeySet, keyIndex ?? currentKeyIndex); return newKey; } Future ratchetMaterial( web.CryptoKey currentMaterial, ByteBuffer newKeyBuffer) async { - final newMaterial = await worker.crypto.subtle + var newMaterial = await worker.crypto.subtle .importKey( 'raw', newKeyBuffer.toJS, @@ -186,12 +187,12 @@ class ParticipantKeyHandler { } Future setKey(Uint8List key, {int keyIndex = 0}) async { - final keyMaterial = await worker.crypto.subtle + var keyMaterial = await worker.crypto.subtle .importKey('raw', key.toJS, {'name': 'PBKDF2'.toJS}.jsify() as JSAny, false, ['deriveBits', 'deriveKey'].jsify() as JSArray) .toDart; - final keySet = await deriveKeys( + var keySet = await deriveKeys( keyMaterial, keyOptions.ratchetSalt, ); @@ -210,11 +211,11 @@ class ParticipantKeyHandler { /// Derives a set of keys from the master key. /// See https://tools.ietf.org/html/draft-omara-sframe-00#section-4.3.1 Future deriveKeys(web.CryptoKey material, Uint8List salt) async { - final algorithmName = material.algorithm.getProperty('name'.toJS) as JSString; - final algorithmOptions = getAlgoOptions(algorithmName.toDart, salt); + var algorithmName = material.algorithm.getProperty('name'.toJS) as JSString; + var algorithmOptions = getAlgoOptions(algorithmName.toDart, salt); // https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/deriveKey#HKDF // https://developer.mozilla.org/en-US/docs/Web/API/HkdfParams - final encryptionKey = await worker.crypto.subtle + var encryptionKey = await worker.crypto.subtle .deriveKey( algorithmOptions.jsify() as web.AlgorithmIdentifier, material, @@ -231,10 +232,10 @@ class ParticipantKeyHandler { /// https://tools.ietf.org/html/draft-omara-sframe-00#section-4.3.5.1 Future ratchet(web.CryptoKey material, Uint8List salt) async { - final algorithmOptions = getAlgoOptions('PBKDF2', salt); + var algorithmOptions = getAlgoOptions('PBKDF2', salt); // https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/deriveBits - final newKey = await worker.crypto.subtle + var newKey = await worker.crypto.subtle .deriveBits( algorithmOptions.jsify() as web.AlgorithmIdentifier, material, 256) .toDart; diff --git a/web/e2ee.sfi_guard.dart b/web/e2ee.sfi_guard.dart index afb759163..3778230d9 100644 --- a/web/e2ee.sfi_guard.dart +++ b/web/e2ee.sfi_guard.dart @@ -12,8 +12,8 @@ class SifGuard { void recordSif() { consecutiveSifCount += 1; - sifSequenceStartedAt ??= DateTime.timestamp().millisecondsSinceEpoch; - lastSifReceivedAt = DateTime.timestamp().millisecondsSinceEpoch; + sifSequenceStartedAt ??= DateTime.now().millisecondsSinceEpoch; + lastSifReceivedAt = DateTime.now().millisecondsSinceEpoch; } void recordUserFrame() { @@ -26,7 +26,7 @@ class SifGuard { // reset if we received more user frames than SIFs userFramesSinceSif > consecutiveSifCount || // also reset if we got a new user frame and the latest SIF frame hasn't been updated in a while - DateTime.timestamp().millisecondsSinceEpoch - lastSifReceivedAt > + DateTime.now().millisecondsSinceEpoch - lastSifReceivedAt > MAX_SIF_DURATION) { reset(); } @@ -35,7 +35,7 @@ class SifGuard { bool isSifAllowed() { return consecutiveSifCount < MAX_SIF_COUNT && (sifSequenceStartedAt == null || - DateTime.timestamp().millisecondsSinceEpoch - sifSequenceStartedAt! < + DateTime.now().millisecondsSinceEpoch - sifSequenceStartedAt! < MAX_SIF_DURATION); } diff --git a/web/e2ee.utils.dart b/web/e2ee.utils.dart index 9d405f074..e91c4da52 100644 --- a/web/e2ee.utils.dart +++ b/web/e2ee.utils.dart @@ -2,6 +2,8 @@ import 'dart:js_interop'; import 'dart:js_interop_unsafe'; import 'dart:typed_data'; +// ignore: deprecated_member_use +import 'package:js/js_util.dart'; import 'package:web/web.dart' as web; bool isE2EESupported() { @@ -23,15 +25,13 @@ bool isInsertableStreamSupported() { Future createKeyMaterialFromString( Uint8List keyBytes, String algorithm, String usage) { // https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey - return web.window.crypto.subtle - .importKey( - 'raw', - keyBytes.toJS, - {'name': 'PBKDF2'}.jsify() as web.AlgorithmIdentifier, - false, - ['deriveBits', 'deriveKey'].jsify() as JSArray, - ) - .toDart; + return promiseToFuture(web.window.crypto.subtle.importKey( + 'raw', + keyBytes.toJS, + {'name': 'PBKDF2'}.jsify() as web.AlgorithmIdentifier, + false, + ['deriveBits', 'deriveKey'].jsify() as JSArray, + )); } Map getAlgoOptions(String algorithmName, Uint8List salt) { diff --git a/web/e2ee.worker.dart b/web/e2ee.worker.dart index 66a916f8d..d5f8f109c 100644 --- a/web/e2ee.worker.dart +++ b/web/e2ee.worker.dart @@ -6,7 +6,9 @@ import 'dart:typed_data'; import 'package:collection/collection.dart'; import 'package:logging/logging.dart'; import 'package:web/web.dart' as web; -import 'e2ee.cryptor.dart'; +import 'package:webrtc_interface/webrtc_interface.dart' show Algorithm; +import 'e2ee.data_packet_cryptor.dart'; +import 'e2ee.frame_cryptor.dart'; import 'e2ee.keyhandler.dart'; import 'e2ee.logger.dart'; @@ -14,6 +16,7 @@ import 'e2ee.logger.dart'; external web.DedicatedWorkerGlobalScope get self; var participantCryptors = []; +var participantDataCryptors = []; var keyProviders = {}; FrameCryptor getTrackCryptor( @@ -41,12 +44,43 @@ FrameCryptor getTrackCryptor( return cryptor; } +E2EEDataPacketCryptor getDataPacketCryptor( + String participantIdentity, String dataCryptorId, KeyProvider keyProvider) { + var cryptor = participantDataCryptors + .firstWhereOrNull((c) => c.dataCryptorId == dataCryptorId); + if (cryptor == null) { + logger.info( + 'creating new cryptor for $participantIdentity, dataCryptorId $dataCryptorId'); + + cryptor = E2EEDataPacketCryptor( + worker: self, + participantIdentity: participantIdentity, + dataCryptorId: dataCryptorId, + keyHandler: keyProvider.getParticipantKeyHandler(participantIdentity), + ); + //setupCryptorErrorEvents(cryptor); + participantDataCryptors.add(cryptor); + } else if (participantIdentity != cryptor.participantIdentity) { + // assign new participant id to track cryptor and pass in correct key handler + cryptor.setParticipant(participantIdentity, + keyProvider.getParticipantKeyHandler(participantIdentity)); + } + if (keyProvider.keyProviderOptions.sharedKey) {} + return cryptor; +} + void unsetCryptorParticipant(String trackId) { participantCryptors .firstWhereOrNull((c) => c.trackId == trackId) ?.unsetParticipant(); } +void unsetDataPacketCryptorParticipant(String dataCryptorId) { + participantDataCryptors + .firstWhereOrNull((c) => c.dataCryptorId == dataCryptorId) + ?.unsetParticipant(); +} + void main() async { // configure logs for debugging Logger.root.level = Level.WARNING; @@ -60,51 +94,49 @@ void main() async { logger.info('setup RTCTransformEvent event handler'); self.onrtctransform = (web.RTCTransformEvent event) { logger.info('Got onrtctransform event'); - final transformer = event.transformer; + var transformer = event.transformer; transformer.setProperty('handled'.toJS, true.toJS); - final options = transformer.options as JSObject; - final kind = options.getProperty('kind'.toJS) as JSString; - final participantId = options.getProperty('participantId'.toJS) as JSString; - final trackId = options.getProperty('trackId'.toJS) as JSString; - final codec = options.getProperty('codec'.toJS) as JSString?; - final msgType = options.getProperty('msgType'.toJS) as JSString; - final keyProviderId = options.getProperty('keyProviderId'.toJS) as JSString; + var options = transformer.options as JSObject; + var kind = options.getProperty('kind'.toJS) as JSString; + var participantId = options.getProperty('participantId'.toJS) as JSString; + var trackId = options.getProperty('trackId'.toJS) as JSString; + var codec = options.getProperty('codec'.toJS) as JSString?; + var msgType = options.getProperty('msgType'.toJS) as JSString; + var keyProviderId = options.getProperty('keyProviderId'.toJS) as JSString; - final keyProvider = keyProviders[keyProviderId.toDart]; + var keyProvider = keyProviders[keyProviderId.toDart]; if (keyProvider == null) { logger.warning('KeyProvider not found for $keyProviderId'); return; } - final cryptor = + var cryptor = getTrackCryptor(participantId.toDart, trackId.toDart, keyProvider); cryptor.setupTransform( - operation: msgType.toDart, - readable: transformer.readable, - writable: transformer.writable, - trackId: trackId.toDart, - kind: kind.toDart, - codec: codec?.toDart, - isReuse: false, - ); + operation: msgType.toDart, + readable: transformer.readable, + writable: transformer.writable, + trackId: trackId.toDart, + kind: kind.toDart, + codec: codec?.toDart); }.toJS; } - handleMessage(web.MessageEvent e) async { - final msg = e.data.dartify() as Map; - final msgType = msg['msgType']; - final msgId = msg['msgId'] as String?; + var handleMessage = (web.MessageEvent e) async { + var msg = e.data.dartify() as Map; + var msgType = msg['msgType']; + var msgId = msg['msgId'] as String?; logger.config('Got message $msgType, msgId $msgId'); switch (msgType) { case 'keyProviderInit': { - final options = msg['keyOptions']; - final keyProviderId = msg['keyProviderId'] as String; - final keyProviderOptions = KeyOptions( + var options = msg['keyOptions']; + var keyProviderId = msg['keyProviderId'] as String; + var keyProviderOptions = KeyOptions( sharedKey: options['sharedKey'], ratchetSalt: Uint8List.fromList( base64Decode(options['ratchetSalt'] as String)), @@ -120,7 +152,7 @@ void main() async { logger.config( 'Init with keyProviderOptions:\n ${keyProviderOptions.toString()}'); - final keyProvider = + var keyProvider = KeyProvider(self, keyProviderId, keyProviderOptions); keyProviders[keyProviderId] = keyProvider; @@ -133,7 +165,7 @@ void main() async { } case 'keyProviderDispose': { - final keyProviderId = msg['keyProviderId'] as String; + var keyProviderId = msg['keyProviderId'] as String; logger.config('Dispose keyProvider $keyProviderId'); keyProviders.remove(keyProviderId); self.postMessage({ @@ -145,10 +177,10 @@ void main() async { break; case 'enable': { - final enabled = msg['enabled'] as bool; - final trackId = msg['trackId'] as String; + var enabled = msg['enabled'] as bool; + var trackId = msg['trackId'] as String; - final cryptors = + var cryptors = participantCryptors.where((c) => c.trackId == trackId).toList(); for (var cryptor in cryptors) { logger.config('Set enable $enabled for trackId ${cryptor.trackId}'); @@ -165,18 +197,18 @@ void main() async { case 'decode': case 'encode': { - final kind = msg['kind']; - final exist = msg['exist'] as bool; - final participantId = msg['participantId'] as String; - final trackId = msg['trackId']; - final readable = msg['readableStream'] as web.ReadableStream; - final writable = msg['writableStream'] as web.WritableStream; - final keyProviderId = msg['keyProviderId'] as String; + var kind = msg['kind']; + var exist = msg['exist'] as bool; + var participantId = msg['participantId'] as String; + var trackId = msg['trackId']; + var readable = msg['readableStream'] as web.ReadableStream; + var writable = msg['writableStream'] as web.WritableStream; + var keyProviderId = msg['keyProviderId'] as String; logger.config( 'SetupTransform for kind $kind, trackId $trackId, participantId $participantId, ${readable.runtimeType} ${writable.runtimeType}}'); - final keyProvider = keyProviders[keyProviderId]; + var keyProvider = keyProviders[keyProviderId]; if (keyProvider == null) { logger.warning('KeyProvider not found for $keyProviderId'); self.postMessage({ @@ -192,7 +224,7 @@ void main() async { return; } - final cryptor = getTrackCryptor(participantId, trackId, keyProvider); + var cryptor = getTrackCryptor(participantId, trackId, keyProvider); await cryptor.setupTransform( operation: msgType, @@ -200,7 +232,6 @@ void main() async { writable: writable, trackId: trackId, kind: kind, - isReuse: exist && msgType == 'decode', ); self.postMessage({ @@ -217,7 +248,7 @@ void main() async { break; case 'removeTransform': { - final trackId = msg['trackId'] as String; + var trackId = msg['trackId'] as String; logger.config('Removing trackId $trackId'); unsetCryptorParticipant(trackId); self.postMessage({ @@ -231,10 +262,10 @@ void main() async { case 'setKey': case 'setSharedKey': { - final key = Uint8List.fromList(base64Decode(msg['key'] as String)); - final keyIndex = msg['keyIndex'] as int; - final keyProviderId = msg['keyProviderId'] as String; - final keyProvider = keyProviders[keyProviderId]; + var key = Uint8List.fromList(base64Decode(msg['key'] as String)); + var keyIndex = msg['keyIndex'] as int; + var keyProviderId = msg['keyProviderId'] as String; + var keyProvider = keyProviders[keyProviderId]; if (keyProvider == null) { logger.warning('KeyProvider not found for $keyProviderId'); self.postMessage({ @@ -245,12 +276,12 @@ void main() async { }.jsify()); return; } - final keyProviderOptions = keyProvider.keyProviderOptions; + var keyProviderOptions = keyProvider.keyProviderOptions; if (keyProviderOptions.sharedKey) { logger.config('Set SharedKey keyIndex $keyIndex'); keyProvider.setSharedKey(key, keyIndex: keyIndex); } else { - final participantId = msg['participantId'] as String; + var participantId = msg['participantId'] as String; logger.config( 'Set key for participant $participantId, keyIndex $keyIndex'); await keyProvider @@ -271,10 +302,10 @@ void main() async { case 'ratchetKey': case 'ratchetSharedKey': { - final keyIndex = msg['keyIndex']; - final participantId = msg['participantId'] as String; - final keyProviderId = msg['keyProviderId'] as String; - final keyProvider = keyProviders[keyProviderId]; + var keyIndex = msg['keyIndex']; + var participantId = msg['participantId'] as String; + var keyProviderId = msg['keyProviderId'] as String; + var keyProvider = keyProviders[keyProviderId]; if (keyProvider == null) { logger.warning('KeyProvider not found for $keyProviderId'); self.postMessage({ @@ -285,7 +316,7 @@ void main() async { }.jsify()); return; } - final keyProviderOptions = keyProvider.keyProviderOptions; + var keyProviderOptions = keyProvider.keyProviderOptions; Uint8List? newKey; if (keyProviderOptions.sharedKey) { logger.config('RatchetKey for SharedKey, keyIndex $keyIndex'); @@ -312,10 +343,10 @@ void main() async { break; case 'setKeyIndex': { - final keyIndex = msg['index']; - final trackId = msg['trackId'] as String; + var keyIndex = msg['index']; + var trackId = msg['trackId'] as String; logger.config('Setup key index for track $trackId'); - final cryptors = + var cryptors = participantCryptors.where((c) => c.trackId == trackId).toList(); for (var c in cryptors) { logger.config('Set keyIndex for trackId ${c.trackId}'); @@ -333,10 +364,10 @@ void main() async { case 'exportKey': case 'exportSharedKey': { - final keyIndex = msg['keyIndex'] as int; - final participantId = msg['participantId'] as String; - final keyProviderId = msg['keyProviderId'] as String; - final keyProvider = keyProviders[keyProviderId]; + var keyIndex = msg['keyIndex'] as int; + var participantId = msg['participantId'] as String; + var keyProviderId = msg['keyProviderId'] as String; + var keyProvider = keyProviders[keyProviderId]; if (keyProvider == null) { logger.warning('KeyProvider not found for $keyProviderId'); self.postMessage({ @@ -347,7 +378,7 @@ void main() async { }.jsify()); return; } - final keyProviderOptions = keyProvider.keyProviderOptions; + var keyProviderOptions = keyProvider.keyProviderOptions; Uint8List? key; if (keyProviderOptions.sharedKey) { logger.config('Export SharedKey keyIndex $keyIndex'); @@ -371,10 +402,10 @@ void main() async { break; case 'setSifTrailer': { - final sifTrailer = + var sifTrailer = Uint8List.fromList(base64Decode(msg['sifTrailer'] as String)); - final keyProviderId = msg['keyProviderId'] as String; - final keyProvider = keyProviders[keyProviderId]; + var keyProviderId = msg['keyProviderId'] as String; + var keyProvider = keyProviders[keyProviderId]; if (keyProvider == null) { logger.warning('KeyProvider not found for $keyProviderId'); self.postMessage({ @@ -400,10 +431,10 @@ void main() async { break; case 'updateCodec': { - final codec = msg['codec'] as String; - final trackId = msg['trackId'] as String; + var codec = msg['codec'] as String; + var trackId = msg['trackId'] as String; logger.config('Update codec for trackId $trackId, codec $codec'); - final cryptor = + var cryptor = participantCryptors.firstWhereOrNull((c) => c.trackId == trackId); cryptor?.updateCodec(codec); @@ -416,9 +447,9 @@ void main() async { break; case 'dispose': { - final trackId = msg['trackId'] as String; + var trackId = msg['trackId'] as String; logger.config('Dispose for trackId $trackId'); - final cryptor = + var cryptor = participantCryptors.firstWhereOrNull((c) => c.trackId == trackId); if (cryptor != null) { cryptor.lastError = CryptorError.kDisposed; @@ -439,10 +470,143 @@ void main() async { } } break; + case 'dataCryptorEncrypt': + { + var participantId = msg['participantId'] as String; + var data = msg['data'] as Uint8List; + var keyIndex = msg['keyIndex'] as int; + var dataCryptorId = msg['dataCryptorId'] as String; + var algorithmStr = msg['algorithm'] as String; + var algorithm = + Algorithm.values.firstWhereOrNull((a) => a.name == algorithmStr); + if (algorithm == null) { + self.postMessage({ + 'type': 'dataCryptorEncrypt', + 'error': 'algorithm not found', + 'msgId': msgId, + 'msgType': 'response', + }.jsify()); + return; + } + logger.config( + 'Encrypt for dataCryptorId $dataCryptorId, participantId $participantId, keyIndex $keyIndex, data length ${data.length}, algorithm $algorithmStr'); + var keyProviderId = msg['keyProviderId'] as String; + var keyProvider = keyProviders[keyProviderId]; + if (keyProvider == null) { + logger.warning('KeyProvider not found for $keyProviderId'); + self.postMessage({ + 'type': 'dataCryptorEncrypt', + 'error': 'KeyProvider not found', + 'msgId': msgId, + 'msgType': 'response', + }.jsify()); + return; + } + var cryptor = + getDataPacketCryptor(participantId, dataCryptorId, keyProvider); + try { + var encryptedPacket = + await cryptor.encrypt(cryptor.keyHandler, data); + self.postMessage({ + 'type': 'dataCryptorEncrypt', + 'participantId': participantId, + 'dataCryptorId': dataCryptorId, + 'data': encryptedPacket!.data, + 'keyIndex': encryptedPacket.keyIndex, + 'iv': encryptedPacket.iv, + 'msgId': msgId, + 'msgType': 'response', + }.jsify()); + } catch (e) { + logger.warning('Error encrypting data: $e'); + self.postMessage({ + 'type': 'dataCryptorEncrypt', + 'error': e.toString(), + 'msgId': msgId, + 'msgType': 'response', + }.jsify()); + } + } + break; + case 'dataCryptorDecrypt': + { + var participantId = msg['participantId'] as String; + var data = msg['data'] as Uint8List; + var iv = msg['iv'] as Uint8List; + var keyIndex = msg['keyIndex'] as int; + var dataCryptorId = msg['dataCryptorId'] as String; + var algorithmStr = msg['algorithm'] as String; + var algorithm = + Algorithm.values.firstWhereOrNull((a) => a.name == algorithmStr); + if (algorithm == null) { + self.postMessage({ + 'type': 'dataCryptorDecrypt', + 'error': 'algorithm not found', + 'msgId': msgId, + 'msgType': 'response', + }.jsify()); + return; + } + logger.config( + 'Decrypt for dataCryptorId $dataCryptorId, participantId $participantId, keyIndex $keyIndex, data length ${data.length}, algorithm $algorithmStr'); + var keyProviderId = msg['keyProviderId'] as String; + var keyProvider = keyProviders[keyProviderId]; + if (keyProvider == null) { + logger.warning('KeyProvider not found for $keyProviderId'); + self.postMessage({ + 'type': 'dataCryptorDecrypt', + 'error': 'KeyProvider not found', + 'msgId': msgId, + 'msgType': 'response', + }.jsify()); + return; + } + var cryptor = + getDataPacketCryptor(participantId, dataCryptorId, keyProvider); + try { + var decryptedData = await cryptor.decrypt( + cryptor.keyHandler, + EncryptedPacket( + data: data, + keyIndex: keyIndex, + iv: iv, + )); + self.postMessage({ + 'type': 'dataCryptorDecrypt', + 'participantId': participantId, + 'dataCryptorId': dataCryptorId, + 'data': decryptedData, + 'msgId': msgId, + 'msgType': 'response', + }.jsify()); + } catch (e) { + logger.warning('Error decrypting data: $e'); + self.postMessage({ + 'type': 'dataCryptorDecrypt', + 'error': e.toString(), + 'msgId': msgId, + 'msgType': 'response', + }.jsify()); + } + } + break; + case 'dataCryptorDispose': + { + var dataCryptorId = msg['dataCryptorId'] as String; + logger.config('Dispose for dataCryptorId $dataCryptorId'); + unsetDataPacketCryptorParticipant(dataCryptorId); + self.postMessage({ + 'type': 'dataCryptorDispose', + 'dataCryptorId': dataCryptorId, + 'msgId': msgId, + 'msgType': 'response', + }.jsify()); + } + break; default: logger.warning('Unknown message kind $msg'); } - } + }; self.onmessage = (web.MessageEvent e) { handleMessage(e); From 90b3f7e1f998713ae52a20e5bd05deb49bce3e43 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Mon, 22 Sep 2025 15:04:39 +0800 Subject: [PATCH 13/18] revert changes. --- web/e2ee.data_packet_cryptor.dart | 28 ++--- web/e2ee.frame_cryptor.dart | 62 ++++++----- web/e2ee.keyhandler.dart | 29 +++--- web/e2ee.sfi_guard.dart | 6 +- web/e2ee.utils.dart | 20 ++-- web/e2ee.worker.dart | 164 +++++++++++++++--------------- 6 files changed, 155 insertions(+), 154 deletions(-) diff --git a/web/e2ee.data_packet_cryptor.dart b/web/e2ee.data_packet_cryptor.dart index a70b1ef67..939f688a1 100644 --- a/web/e2ee.data_packet_cryptor.dart +++ b/web/e2ee.data_packet_cryptor.dart @@ -50,7 +50,7 @@ class E2EEDataPacketCryptor { } Uint8List makeIv({required int timestamp}) { - var iv = ByteData(IV_LENGTH); + final iv = ByteData(IV_LENGTH); // having to keep our own send count (similar to a picture id) is not ideal. if (sendCount_ == -1) { @@ -58,7 +58,7 @@ class E2EEDataPacketCryptor { sendCount_ = Random.secure().nextInt(0xffff); } - var sendCount = sendCount_; + final sendCount = sendCount_; final randomBytes = Random.secure().nextInt(max(0, 0xffffffff)).toUnsigned(32); @@ -81,8 +81,8 @@ class E2EEDataPacketCryptor { ) async { logger.fine('encodeFunction: buffer ${data.length}'); - var secretKey = keyHandler.getKeySet(currentKeyIndex)?.encryptionKey; - var keyIndex = currentKeyIndex; + final secretKey = keyHandler.getKeySet(currentKeyIndex)?.encryptionKey; + final keyIndex = currentKeyIndex; if (secretKey == null) { logger.warning( @@ -90,14 +90,14 @@ class E2EEDataPacketCryptor { return null; } - var iv = makeIv(timestamp: DateTime.timestamp().millisecondsSinceEpoch); + final iv = makeIv(timestamp: DateTime.timestamp().millisecondsSinceEpoch); - var frameTrailer = ByteData(2); + final frameTrailer = ByteData(2); frameTrailer.setInt8(0, IV_LENGTH); frameTrailer.setInt8(1, keyIndex); try { - var cipherText = await worker.crypto.subtle + final cipherText = await worker.crypto.subtle .encrypt( { 'name': 'AES-GCM', @@ -133,13 +133,13 @@ class E2EEDataPacketCryptor { ByteBuffer? decrypted; KeySet? initialKeySet; - var initialKeyIndex = currentKeyIndex; + final initialKeyIndex = currentKeyIndex; try { - var ivLength = encryptedPacket.iv.length; - var keyIndex = encryptedPacket.keyIndex; - var iv = encryptedPacket.iv; - var payload = encryptedPacket.data; + final ivLength = encryptedPacket.iv.length; + final keyIndex = encryptedPacket.keyIndex; + final iv = encryptedPacket.iv; + final payload = encryptedPacket.data; initialKeySet = keyHandler.getKeySet(initialKeyIndex); logger.finer( @@ -190,9 +190,9 @@ class E2EEDataPacketCryptor { throw Exception('[ratchedKeyInternal] cannot ratchet anymore'); } - var newKeyBuffer = await keyHandler.ratchet( + final newKeyBuffer = await keyHandler.ratchet( currentkeySet.material, keyOptions.ratchetSalt); - var newMaterial = await keyHandler.ratchetMaterial( + final newMaterial = await keyHandler.ratchetMaterial( currentkeySet.material, newKeyBuffer.buffer); currentkeySet = await keyHandler.deriveKeys(newMaterial, keyOptions.ratchetSalt); diff --git a/web/e2ee.frame_cryptor.dart b/web/e2ee.frame_cryptor.dart index 137e9937b..2ddb9e353 100644 --- a/web/e2ee.frame_cryptor.dart +++ b/web/e2ee.frame_cryptor.dart @@ -4,8 +4,6 @@ import 'dart:js_interop_unsafe'; import 'dart:math'; import 'dart:typed_data'; -// ignore: deprecated_member_use -import 'package:js/js.dart'; import 'package:web/web.dart' as web; import 'e2ee.keyhandler.dart'; import 'e2ee.logger.dart'; @@ -75,7 +73,7 @@ const SLICE_LAYER_EXT = 21; // 22, 23 reserved List findNALUIndices(Uint8List stream) { - var result = []; + final result = []; var start = 0, pos = 0, searchLength = stream.length - 2; while (pos < searchLength) { // skip until end of current NALU @@ -210,7 +208,7 @@ class FrameCryptor { Uint8List makeIv( {required int synchronizationSource, required int timestamp}) { - var iv = ByteData(IV_LENGTH); + final iv = ByteData(IV_LENGTH); // having to keep our own send count (similar to a picture id) is not ideal. if (sendCounts[synchronizationSource] == null) { @@ -218,7 +216,7 @@ class FrameCryptor { sendCounts[synchronizationSource] = Random.secure().nextInt(0xffff); } - var sendCount = sendCounts[synchronizationSource] ?? 0; + final sendCount = sendCounts[synchronizationSource] ?? 0; iv.setUint32(0, synchronizationSource); iv.setUint32(4, timestamp); @@ -247,9 +245,9 @@ class FrameCryptor { logger.info('setting codec on cryptor to $codec'); this.codec = codec; } - var transformer = web.TransformStream({ + final transformer = web.TransformStream({ 'transform': - allowInterop(operation == 'encode' ? encodeFunction : decodeFunction) + (operation == 'encode' ? encodeFunction.toJS : decodeFunction.toJS) }.jsify() as JSObject); try { readable @@ -283,9 +281,9 @@ class FrameCryptor { } if (codec != null && codec.toLowerCase() == 'h264') { - var naluIndices = findNALUIndices(data); + final naluIndices = findNALUIndices(data); for (var index in naluIndices) { - var type = parseNALUType(data[index]); + final type = parseNALUType(data[index]); switch (type) { case SLICE_IDR: case SLICE_NON_IDR: @@ -364,7 +362,7 @@ class FrameCryptor { controller.enqueue(frameObj); } - Future encodeFunction( + void encodeFunction( JSObject frameObj, web.TransformStreamDefaultController controller, ) async { @@ -382,13 +380,13 @@ class FrameCryptor { return; } - var srcFrame = readFrameInfo(frameObj); + final srcFrame = readFrameInfo(frameObj); logger.fine( 'encodeFunction: buffer ${srcFrame.buffer.length}, synchronizationSource ${srcFrame.ssrc} frameType ${srcFrame.frameType}'); - var secretKey = keyHandler.getKeySet(currentKeyIndex)?.encryptionKey; - var keyIndex = currentKeyIndex; + final secretKey = keyHandler.getKeySet(currentKeyIndex)?.encryptionKey; + final keyIndex = currentKeyIndex; if (secretKey == null) { if (lastError != CryptorError.kMissingKey) { @@ -406,17 +404,17 @@ class FrameCryptor { return; } - var headerLength = + final headerLength = kind == 'video' ? getUnencryptedBytes(frameObj, codec) : 1; - var iv = makeIv( + final iv = makeIv( synchronizationSource: srcFrame.ssrc, timestamp: srcFrame.timestamp); - var frameTrailer = ByteData(2); + final frameTrailer = ByteData(2); frameTrailer.setInt8(0, IV_LENGTH); frameTrailer.setInt8(1, keyIndex); - var cipherText = await worker.crypto.subtle + final cipherText = await worker.crypto.subtle .encrypt( { 'name': 'AES-GCM', @@ -430,7 +428,7 @@ class FrameCryptor { logger.finer( 'encodeFunction: encrypted buffer: ${srcFrame.buffer.length}, cipherText: ${cipherText.toDart.asUint8List().length}'); - var finalBuffer = BytesBuilder(); + final finalBuffer = BytesBuilder(); finalBuffer .add(Uint8List.fromList(srcFrame.buffer.sublist(0, headerLength))); @@ -472,11 +470,11 @@ class FrameCryptor { } } - Future decodeFunction( + void decodeFunction( JSObject frameObj, web.TransformStreamDefaultController controller, ) async { - var srcFrame = readFrameInfo(frameObj); + final srcFrame = readFrameInfo(frameObj); var ratchetCount = 0; logger.fine('decodeFunction: frame lenght ${srcFrame.buffer.length}'); @@ -497,9 +495,9 @@ class FrameCryptor { } if (keyOptions.uncryptedMagicBytes != null) { - var magicBytes = keyOptions.uncryptedMagicBytes!; + final magicBytes = keyOptions.uncryptedMagicBytes!; if (srcFrame.buffer.length > magicBytes.length + 1) { - var magicBytesBuffer = srcFrame.buffer.sublist( + final magicBytesBuffer = srcFrame.buffer.sublist( srcFrame.buffer.length - magicBytes.length - 1, srcFrame.buffer.length - 1); logger.finer( @@ -507,11 +505,11 @@ class FrameCryptor { if (magicBytesBuffer.toString() == magicBytes.toString()) { sifGuard.recordSif(); if (sifGuard.isSifAllowed()) { - var frameType = + final frameType = srcFrame.buffer.sublist(srcFrame.buffer.length - 1)[0]; logger .finer('ecodeFunction: skip uncrypted frame, type $frameType'); - var finalBuffer = BytesBuilder(); + final finalBuffer = BytesBuilder(); finalBuffer.add(Uint8List.fromList(srcFrame.buffer .sublist(0, srcFrame.buffer.length - (magicBytes.length + 1)))); enqueueFrame(frameObj, controller, finalBuffer); @@ -530,13 +528,13 @@ class FrameCryptor { } try { - var headerLength = + final headerLength = kind == 'video' ? getUnencryptedBytes(frameObj, codec) : 1; - var frameTrailer = srcFrame.buffer.sublist(srcFrame.buffer.length - 2); - var ivLength = frameTrailer[0]; - var keyIndex = frameTrailer[1]; - var iv = srcFrame.buffer.sublist( + final frameTrailer = srcFrame.buffer.sublist(srcFrame.buffer.length - 2); + final ivLength = frameTrailer[0]; + final keyIndex = frameTrailer[1]; + final iv = srcFrame.buffer.sublist( srcFrame.buffer.length - ivLength - 2, srcFrame.buffer.length - 2); initialKeySet = keyHandler.getKeySet(keyIndex); @@ -627,9 +625,9 @@ class FrameCryptor { throw Exception('[ratchedKeyInternal] cannot ratchet anymore'); } - var newKeyBuffer = await keyHandler.ratchet( + final newKeyBuffer = await keyHandler.ratchet( currentkeySet.material, keyOptions.ratchetSalt); - var newMaterial = await keyHandler.ratchetMaterial( + final newMaterial = await keyHandler.ratchetMaterial( currentkeySet.material, newKeyBuffer.buffer); currentkeySet = await keyHandler.deriveKeys(newMaterial, keyOptions.ratchetSalt); @@ -659,7 +657,7 @@ class FrameCryptor { logger.finer( 'decodeFunction: decryption success, buffer length ${srcFrame.buffer.length}, decrypted: ${decrypted!.asUint8List().length}'); - var finalBuffer = BytesBuilder(); + final finalBuffer = BytesBuilder(); finalBuffer .add(Uint8List.fromList(srcFrame.buffer.sublist(0, headerLength))); diff --git a/web/e2ee.keyhandler.dart b/web/e2ee.keyhandler.dart index 365d8e320..543ac6fa3 100644 --- a/web/e2ee.keyhandler.dart +++ b/web/e2ee.keyhandler.dart @@ -141,12 +141,12 @@ class ParticipantKeyHandler { } Future exportKey(int? keyIndex) async { - var currentMaterial = getKeySet(keyIndex)?.material; + final currentMaterial = getKeySet(keyIndex)?.material; if (currentMaterial == null) { return null; } try { - var key = await worker.crypto.subtle + final key = await worker.crypto.subtle .exportKey('raw', currentMaterial) .toDart as JSArrayBuffer; return key.toDart.asUint8List(); @@ -157,20 +157,20 @@ class ParticipantKeyHandler { } Future ratchetKey(int? keyIndex) async { - var currentMaterial = getKeySet(keyIndex)?.material; + final currentMaterial = getKeySet(keyIndex)?.material; if (currentMaterial == null) { return null; } - var newKey = await ratchet(currentMaterial, keyOptions.ratchetSalt); - var newMaterial = await ratchetMaterial(currentMaterial, newKey.buffer); - var newKeySet = await deriveKeys(newMaterial, keyOptions.ratchetSalt); + final newKey = await ratchet(currentMaterial, keyOptions.ratchetSalt); + final newMaterial = await ratchetMaterial(currentMaterial, newKey.buffer); + final newKeySet = await deriveKeys(newMaterial, keyOptions.ratchetSalt); await setKeySetFromMaterial(newKeySet, keyIndex ?? currentKeyIndex); return newKey; } Future ratchetMaterial( web.CryptoKey currentMaterial, ByteBuffer newKeyBuffer) async { - var newMaterial = await worker.crypto.subtle + final newMaterial = await worker.crypto.subtle .importKey( 'raw', newKeyBuffer.toJS, @@ -187,12 +187,12 @@ class ParticipantKeyHandler { } Future setKey(Uint8List key, {int keyIndex = 0}) async { - var keyMaterial = await worker.crypto.subtle + final keyMaterial = await worker.crypto.subtle .importKey('raw', key.toJS, {'name': 'PBKDF2'.toJS}.jsify() as JSAny, false, ['deriveBits', 'deriveKey'].jsify() as JSArray) .toDart; - var keySet = await deriveKeys( + final keySet = await deriveKeys( keyMaterial, keyOptions.ratchetSalt, ); @@ -211,11 +211,12 @@ class ParticipantKeyHandler { /// Derives a set of keys from the master key. /// See https://tools.ietf.org/html/draft-omara-sframe-00#section-4.3.1 Future deriveKeys(web.CryptoKey material, Uint8List salt) async { - var algorithmName = material.algorithm.getProperty('name'.toJS) as JSString; - var algorithmOptions = getAlgoOptions(algorithmName.toDart, salt); + final algorithmName = + material.algorithm.getProperty('name'.toJS) as JSString; + final algorithmOptions = getAlgoOptions(algorithmName.toDart, salt); // https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/deriveKey#HKDF // https://developer.mozilla.org/en-US/docs/Web/API/HkdfParams - var encryptionKey = await worker.crypto.subtle + final encryptionKey = await worker.crypto.subtle .deriveKey( algorithmOptions.jsify() as web.AlgorithmIdentifier, material, @@ -232,10 +233,10 @@ class ParticipantKeyHandler { /// https://tools.ietf.org/html/draft-omara-sframe-00#section-4.3.5.1 Future ratchet(web.CryptoKey material, Uint8List salt) async { - var algorithmOptions = getAlgoOptions('PBKDF2', salt); + final algorithmOptions = getAlgoOptions('PBKDF2', salt); // https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/deriveBits - var newKey = await worker.crypto.subtle + final newKey = await worker.crypto.subtle .deriveBits( algorithmOptions.jsify() as web.AlgorithmIdentifier, material, 256) .toDart; diff --git a/web/e2ee.sfi_guard.dart b/web/e2ee.sfi_guard.dart index 3778230d9..6aabf88ea 100644 --- a/web/e2ee.sfi_guard.dart +++ b/web/e2ee.sfi_guard.dart @@ -12,8 +12,8 @@ class SifGuard { void recordSif() { consecutiveSifCount += 1; - sifSequenceStartedAt ??= DateTime.now().millisecondsSinceEpoch; - lastSifReceivedAt = DateTime.now().millisecondsSinceEpoch; + sifSequenceStartedAt ??= DateTime.timestamp().millisecondsSinceEpoch; + lastSifReceivedAt = DateTime.timestamp().millisecondsSinceEpoch; } void recordUserFrame() { @@ -26,7 +26,7 @@ class SifGuard { // reset if we received more user frames than SIFs userFramesSinceSif > consecutiveSifCount || // also reset if we got a new user frame and the latest SIF frame hasn't been updated in a while - DateTime.now().millisecondsSinceEpoch - lastSifReceivedAt > + DateTime.timestamp().millisecondsSinceEpoch - lastSifReceivedAt > MAX_SIF_DURATION) { reset(); } diff --git a/web/e2ee.utils.dart b/web/e2ee.utils.dart index e91c4da52..a66d7af28 100644 --- a/web/e2ee.utils.dart +++ b/web/e2ee.utils.dart @@ -2,8 +2,6 @@ import 'dart:js_interop'; import 'dart:js_interop_unsafe'; import 'dart:typed_data'; -// ignore: deprecated_member_use -import 'package:js/js_util.dart'; import 'package:web/web.dart' as web; bool isE2EESupported() { @@ -23,15 +21,17 @@ bool isInsertableStreamSupported() { } Future createKeyMaterialFromString( - Uint8List keyBytes, String algorithm, String usage) { + Uint8List keyBytes, String algorithm, String usage) async { // https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey - return promiseToFuture(web.window.crypto.subtle.importKey( - 'raw', - keyBytes.toJS, - {'name': 'PBKDF2'}.jsify() as web.AlgorithmIdentifier, - false, - ['deriveBits', 'deriveKey'].jsify() as JSArray, - )); + return web.window.crypto.subtle + .importKey( + 'raw', + keyBytes.toJS, + {'name': 'PBKDF2'}.jsify() as web.AlgorithmIdentifier, + false, + ['deriveBits', 'deriveKey'].jsify() as JSArray, + ) + .toDart; } Map getAlgoOptions(String algorithmName, Uint8List salt) { diff --git a/web/e2ee.worker.dart b/web/e2ee.worker.dart index d5f8f109c..7e9713f13 100644 --- a/web/e2ee.worker.dart +++ b/web/e2ee.worker.dart @@ -94,26 +94,28 @@ void main() async { logger.info('setup RTCTransformEvent event handler'); self.onrtctransform = (web.RTCTransformEvent event) { logger.info('Got onrtctransform event'); - var transformer = event.transformer; + final transformer = event.transformer; transformer.setProperty('handled'.toJS, true.toJS); - var options = transformer.options as JSObject; - var kind = options.getProperty('kind'.toJS) as JSString; - var participantId = options.getProperty('participantId'.toJS) as JSString; - var trackId = options.getProperty('trackId'.toJS) as JSString; - var codec = options.getProperty('codec'.toJS) as JSString?; - var msgType = options.getProperty('msgType'.toJS) as JSString; - var keyProviderId = options.getProperty('keyProviderId'.toJS) as JSString; + final options = transformer.options as JSObject; + final kind = options.getProperty('kind'.toJS) as JSString; + final participantId = + options.getProperty('participantId'.toJS) as JSString; + final trackId = options.getProperty('trackId'.toJS) as JSString; + final codec = options.getProperty('codec'.toJS) as JSString?; + final msgType = options.getProperty('msgType'.toJS) as JSString; + final keyProviderId = + options.getProperty('keyProviderId'.toJS) as JSString; - var keyProvider = keyProviders[keyProviderId.toDart]; + final keyProvider = keyProviders[keyProviderId.toDart]; if (keyProvider == null) { logger.warning('KeyProvider not found for $keyProviderId'); return; } - var cryptor = + final cryptor = getTrackCryptor(participantId.toDart, trackId.toDart, keyProvider); cryptor.setupTransform( @@ -126,17 +128,17 @@ void main() async { }.toJS; } - var handleMessage = (web.MessageEvent e) async { - var msg = e.data.dartify() as Map; - var msgType = msg['msgType']; - var msgId = msg['msgId'] as String?; + final handleMessage = (web.MessageEvent e) async { + final msg = e.data.dartify() as Map; + final msgType = msg['msgType']; + final msgId = msg['msgId'] as String?; logger.config('Got message $msgType, msgId $msgId'); switch (msgType) { case 'keyProviderInit': { - var options = msg['keyOptions']; - var keyProviderId = msg['keyProviderId'] as String; - var keyProviderOptions = KeyOptions( + final options = msg['keyOptions']; + final keyProviderId = msg['keyProviderId'] as String; + final keyProviderOptions = KeyOptions( sharedKey: options['sharedKey'], ratchetSalt: Uint8List.fromList( base64Decode(options['ratchetSalt'] as String)), @@ -152,7 +154,7 @@ void main() async { logger.config( 'Init with keyProviderOptions:\n ${keyProviderOptions.toString()}'); - var keyProvider = + final keyProvider = KeyProvider(self, keyProviderId, keyProviderOptions); keyProviders[keyProviderId] = keyProvider; @@ -165,7 +167,7 @@ void main() async { } case 'keyProviderDispose': { - var keyProviderId = msg['keyProviderId'] as String; + final keyProviderId = msg['keyProviderId'] as String; logger.config('Dispose keyProvider $keyProviderId'); keyProviders.remove(keyProviderId); self.postMessage({ @@ -177,10 +179,10 @@ void main() async { break; case 'enable': { - var enabled = msg['enabled'] as bool; - var trackId = msg['trackId'] as String; + final enabled = msg['enabled'] as bool; + final trackId = msg['trackId'] as String; - var cryptors = + final cryptors = participantCryptors.where((c) => c.trackId == trackId).toList(); for (var cryptor in cryptors) { logger.config('Set enable $enabled for trackId ${cryptor.trackId}'); @@ -197,18 +199,18 @@ void main() async { case 'decode': case 'encode': { - var kind = msg['kind']; - var exist = msg['exist'] as bool; - var participantId = msg['participantId'] as String; - var trackId = msg['trackId']; - var readable = msg['readableStream'] as web.ReadableStream; - var writable = msg['writableStream'] as web.WritableStream; - var keyProviderId = msg['keyProviderId'] as String; + final kind = msg['kind']; + final exist = msg['exist'] as bool; + final participantId = msg['participantId'] as String; + final trackId = msg['trackId']; + final readable = msg['readableStream'] as web.ReadableStream; + final writable = msg['writableStream'] as web.WritableStream; + final keyProviderId = msg['keyProviderId'] as String; logger.config( 'SetupTransform for kind $kind, trackId $trackId, participantId $participantId, ${readable.runtimeType} ${writable.runtimeType}}'); - var keyProvider = keyProviders[keyProviderId]; + final keyProvider = keyProviders[keyProviderId]; if (keyProvider == null) { logger.warning('KeyProvider not found for $keyProviderId'); self.postMessage({ @@ -224,7 +226,7 @@ void main() async { return; } - var cryptor = getTrackCryptor(participantId, trackId, keyProvider); + final cryptor = getTrackCryptor(participantId, trackId, keyProvider); await cryptor.setupTransform( operation: msgType, @@ -248,7 +250,7 @@ void main() async { break; case 'removeTransform': { - var trackId = msg['trackId'] as String; + final trackId = msg['trackId'] as String; logger.config('Removing trackId $trackId'); unsetCryptorParticipant(trackId); self.postMessage({ @@ -262,10 +264,10 @@ void main() async { case 'setKey': case 'setSharedKey': { - var key = Uint8List.fromList(base64Decode(msg['key'] as String)); - var keyIndex = msg['keyIndex'] as int; - var keyProviderId = msg['keyProviderId'] as String; - var keyProvider = keyProviders[keyProviderId]; + final key = Uint8List.fromList(base64Decode(msg['key'] as String)); + final keyIndex = msg['keyIndex'] as int; + final keyProviderId = msg['keyProviderId'] as String; + final keyProvider = keyProviders[keyProviderId]; if (keyProvider == null) { logger.warning('KeyProvider not found for $keyProviderId'); self.postMessage({ @@ -276,12 +278,12 @@ void main() async { }.jsify()); return; } - var keyProviderOptions = keyProvider.keyProviderOptions; + final keyProviderOptions = keyProvider.keyProviderOptions; if (keyProviderOptions.sharedKey) { logger.config('Set SharedKey keyIndex $keyIndex'); keyProvider.setSharedKey(key, keyIndex: keyIndex); } else { - var participantId = msg['participantId'] as String; + final participantId = msg['participantId'] as String; logger.config( 'Set key for participant $participantId, keyIndex $keyIndex'); await keyProvider @@ -302,10 +304,10 @@ void main() async { case 'ratchetKey': case 'ratchetSharedKey': { - var keyIndex = msg['keyIndex']; - var participantId = msg['participantId'] as String; - var keyProviderId = msg['keyProviderId'] as String; - var keyProvider = keyProviders[keyProviderId]; + final keyIndex = msg['keyIndex']; + final participantId = msg['participantId'] as String; + final keyProviderId = msg['keyProviderId'] as String; + final keyProvider = keyProviders[keyProviderId]; if (keyProvider == null) { logger.warning('KeyProvider not found for $keyProviderId'); self.postMessage({ @@ -316,7 +318,7 @@ void main() async { }.jsify()); return; } - var keyProviderOptions = keyProvider.keyProviderOptions; + final keyProviderOptions = keyProvider.keyProviderOptions; Uint8List? newKey; if (keyProviderOptions.sharedKey) { logger.config('RatchetKey for SharedKey, keyIndex $keyIndex'); @@ -343,10 +345,10 @@ void main() async { break; case 'setKeyIndex': { - var keyIndex = msg['index']; - var trackId = msg['trackId'] as String; + final keyIndex = msg['index']; + final trackId = msg['trackId'] as String; logger.config('Setup key index for track $trackId'); - var cryptors = + final cryptors = participantCryptors.where((c) => c.trackId == trackId).toList(); for (var c in cryptors) { logger.config('Set keyIndex for trackId ${c.trackId}'); @@ -364,10 +366,10 @@ void main() async { case 'exportKey': case 'exportSharedKey': { - var keyIndex = msg['keyIndex'] as int; - var participantId = msg['participantId'] as String; - var keyProviderId = msg['keyProviderId'] as String; - var keyProvider = keyProviders[keyProviderId]; + final keyIndex = msg['keyIndex'] as int; + final participantId = msg['participantId'] as String; + final keyProviderId = msg['keyProviderId'] as String; + final keyProvider = keyProviders[keyProviderId]; if (keyProvider == null) { logger.warning('KeyProvider not found for $keyProviderId'); self.postMessage({ @@ -378,7 +380,7 @@ void main() async { }.jsify()); return; } - var keyProviderOptions = keyProvider.keyProviderOptions; + final keyProviderOptions = keyProvider.keyProviderOptions; Uint8List? key; if (keyProviderOptions.sharedKey) { logger.config('Export SharedKey keyIndex $keyIndex'); @@ -402,10 +404,10 @@ void main() async { break; case 'setSifTrailer': { - var sifTrailer = + final sifTrailer = Uint8List.fromList(base64Decode(msg['sifTrailer'] as String)); - var keyProviderId = msg['keyProviderId'] as String; - var keyProvider = keyProviders[keyProviderId]; + final keyProviderId = msg['keyProviderId'] as String; + final keyProvider = keyProviders[keyProviderId]; if (keyProvider == null) { logger.warning('KeyProvider not found for $keyProviderId'); self.postMessage({ @@ -431,10 +433,10 @@ void main() async { break; case 'updateCodec': { - var codec = msg['codec'] as String; - var trackId = msg['trackId'] as String; + final codec = msg['codec'] as String; + final trackId = msg['trackId'] as String; logger.config('Update codec for trackId $trackId, codec $codec'); - var cryptor = + final cryptor = participantCryptors.firstWhereOrNull((c) => c.trackId == trackId); cryptor?.updateCodec(codec); @@ -447,9 +449,9 @@ void main() async { break; case 'dispose': { - var trackId = msg['trackId'] as String; + final trackId = msg['trackId'] as String; logger.config('Dispose for trackId $trackId'); - var cryptor = + final cryptor = participantCryptors.firstWhereOrNull((c) => c.trackId == trackId); if (cryptor != null) { cryptor.lastError = CryptorError.kDisposed; @@ -472,12 +474,12 @@ void main() async { break; case 'dataCryptorEncrypt': { - var participantId = msg['participantId'] as String; - var data = msg['data'] as Uint8List; - var keyIndex = msg['keyIndex'] as int; - var dataCryptorId = msg['dataCryptorId'] as String; - var algorithmStr = msg['algorithm'] as String; - var algorithm = + final participantId = msg['participantId'] as String; + final data = msg['data'] as Uint8List; + final keyIndex = msg['keyIndex'] as int; + final dataCryptorId = msg['dataCryptorId'] as String; + final algorithmStr = msg['algorithm'] as String; + final algorithm = Algorithm.values.firstWhereOrNull((a) => a.name == algorithmStr); if (algorithm == null) { self.postMessage({ @@ -490,8 +492,8 @@ void main() async { } logger.config( 'Encrypt for dataCryptorId $dataCryptorId, participantId $participantId, keyIndex $keyIndex, data length ${data.length}, algorithm $algorithmStr'); - var keyProviderId = msg['keyProviderId'] as String; - var keyProvider = keyProviders[keyProviderId]; + final keyProviderId = msg['keyProviderId'] as String; + final keyProvider = keyProviders[keyProviderId]; if (keyProvider == null) { logger.warning('KeyProvider not found for $keyProviderId'); self.postMessage({ @@ -502,10 +504,10 @@ void main() async { }.jsify()); return; } - var cryptor = + final cryptor = getDataPacketCryptor(participantId, dataCryptorId, keyProvider); try { - var encryptedPacket = + final encryptedPacket = await cryptor.encrypt(cryptor.keyHandler, data); self.postMessage({ 'type': 'dataCryptorEncrypt', @@ -530,13 +532,13 @@ void main() async { break; case 'dataCryptorDecrypt': { - var participantId = msg['participantId'] as String; - var data = msg['data'] as Uint8List; - var iv = msg['iv'] as Uint8List; - var keyIndex = msg['keyIndex'] as int; - var dataCryptorId = msg['dataCryptorId'] as String; - var algorithmStr = msg['algorithm'] as String; - var algorithm = + final participantId = msg['participantId'] as String; + final data = msg['data'] as Uint8List; + final iv = msg['iv'] as Uint8List; + final keyIndex = msg['keyIndex'] as int; + final dataCryptorId = msg['dataCryptorId'] as String; + final algorithmStr = msg['algorithm'] as String; + final algorithm = Algorithm.values.firstWhereOrNull((a) => a.name == algorithmStr); if (algorithm == null) { self.postMessage({ @@ -549,8 +551,8 @@ void main() async { } logger.config( 'Decrypt for dataCryptorId $dataCryptorId, participantId $participantId, keyIndex $keyIndex, data length ${data.length}, algorithm $algorithmStr'); - var keyProviderId = msg['keyProviderId'] as String; - var keyProvider = keyProviders[keyProviderId]; + final keyProviderId = msg['keyProviderId'] as String; + final keyProvider = keyProviders[keyProviderId]; if (keyProvider == null) { logger.warning('KeyProvider not found for $keyProviderId'); self.postMessage({ @@ -561,10 +563,10 @@ void main() async { }.jsify()); return; } - var cryptor = + final cryptor = getDataPacketCryptor(participantId, dataCryptorId, keyProvider); try { - var decryptedData = await cryptor.decrypt( + final decryptedData = await cryptor.decrypt( cryptor.keyHandler, EncryptedPacket( data: data, @@ -592,7 +594,7 @@ void main() async { break; case 'dataCryptorDispose': { - var dataCryptorId = msg['dataCryptorId'] as String; + final dataCryptorId = msg['dataCryptorId'] as String; logger.config('Dispose for dataCryptorId $dataCryptorId'); unsetDataPacketCryptorParticipant(dataCryptorId); self.postMessage({ From 880bd8131c5204a509d534aaaff55d10ec6c6004 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Mon, 22 Sep 2025 15:06:58 +0800 Subject: [PATCH 14/18] update. --- example/web/e2ee.worker.dart.js | 14886 ++++++++----------------- example/web/e2ee.worker.dart.js.deps | 464 - example/web/e2ee.worker.dart.js.map | 12 +- 3 files changed, 4715 insertions(+), 10647 deletions(-) delete mode 100644 example/web/e2ee.worker.dart.js.deps diff --git a/example/web/e2ee.worker.dart.js b/example/web/e2ee.worker.dart.js index 568a14e49..434bc8b9b 100644 --- a/example/web/e2ee.worker.dart.js +++ b/example/web/e2ee.worker.dart.js @@ -1,9963 +1,4591 @@ -// 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] -// method. -// -// dartMainRunner(main, args): -// if this function is defined, the Dart [main] method will not be invoked -// directly. Instead, a closure that will invoke [main], and its arguments -// [args] is passed to [dartMainRunner]. -// -// dartDeferredLibraryLoader(uri, successCallback, errorCallback, loadId, loadPriority): -// if this function is defined, it will be called when a deferred library -// is loaded. It should load and eval the javascript of `uri`, and call -// successCallback. If it fails to do so, it should call errorCallback with -// an error. The loadId argument is the deferred import that resulted in -// this uri being loaded. The loadPriority argument is an arbitrary argument -// string forwarded from the 'dart2js:load-priority' pragma option. -// dartDeferredLibraryMultiLoader(uris, successCallback, errorCallback, loadId, loadPriority): -// if this function is defined, it will be called when a deferred library -// is loaded. It should load and eval the javascript of every URI in `uris`, -// and call successCallback. If it fails to do so, it should call -// errorCallback with an error. The loadId argument is the deferred import -// that resulted in this uri being loaded. The loadPriority argument is an -// arbitrary argument string forwarded from the 'dart2js:load-priority' -// pragma option. -// -// dartCallInstrumentation(id, qualifiedName): -// if this function is defined, it will be called at each entry of a -// method or constructor. Used only when compiling programs with -// --experiment-call-instrumentation. -(function dartProgram() { - function copyProperties(from, to) { - var keys = Object.keys(from); - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - to[key] = from[key]; - } - } - function mixinPropertiesHard(from, to) { - var keys = Object.keys(from); - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - if (!to.hasOwnProperty(key)) { - to[key] = from[key]; - } - } - } - function mixinPropertiesEasy(from, to) { - Object.assign(to, from); - } - var supportsDirectProtoAccess = function() { - var cls = function() { - }; - cls.prototype = {p: {}}; - var object = new cls(); - if (!(Object.getPrototypeOf(object) && Object.getPrototypeOf(object).p === cls.prototype.p)) - return false; - try { - if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0) - return true; - if (typeof version == "function" && version.length == 0) { - var v = version(); - if (/^\d+\.\d+\.\d+\.\d+$/.test(v)) - return true; - } - } catch (_) { - } - return false; - }(); - function inherit(cls, sup) { - cls.prototype.constructor = cls; - cls.prototype["$is" + cls.name] = cls; - if (sup != null) { - if (supportsDirectProtoAccess) { - Object.setPrototypeOf(cls.prototype, sup.prototype); - return; - } - var clsPrototype = Object.create(sup.prototype); - copyProperties(cls.prototype, clsPrototype); - cls.prototype = clsPrototype; - } - } - function inheritMany(sup, classes) { - for (var i = 0; i < classes.length; i++) { - inherit(classes[i], sup); - } - } - function mixinEasy(cls, mixin) { - mixinPropertiesEasy(mixin.prototype, cls.prototype); - cls.prototype.constructor = cls; - } - function mixinHard(cls, mixin) { - mixinPropertiesHard(mixin.prototype, cls.prototype); - cls.prototype.constructor = cls; - } - function lazy(holder, name, getterName, initializer) { - var uninitializedSentinel = holder; - holder[name] = uninitializedSentinel; - holder[getterName] = function() { - if (holder[name] === uninitializedSentinel) { - holder[name] = initializer(); - } - holder[getterName] = function() { - return this[name]; - }; - return holder[name]; - }; - } - function lazyFinal(holder, name, getterName, initializer) { - var uninitializedSentinel = holder; - holder[name] = uninitializedSentinel; - holder[getterName] = function() { - if (holder[name] === uninitializedSentinel) { - var value = initializer(); - if (holder[name] !== uninitializedSentinel) { - A.throwLateFieldADI(name); - } - holder[name] = value; - } - var finalValue = holder[name]; - holder[getterName] = function() { - return finalValue; - }; - return finalValue; - }; - } - function makeConstList(list, rti) { - if (rti != null) - A._setArrayType(list, rti); - list.$flags = 7; - return list; - } - function convertToFastObject(properties) { - function t() { - } - t.prototype = properties; - new t(); - return properties; - } - function convertAllToFastObject(arrayOfObjects) { - for (var i = 0; i < arrayOfObjects.length; ++i) { - convertToFastObject(arrayOfObjects[i]); - } - } - var functionCounter = 0; - function instanceTearOffGetter(isIntercepted, parameters) { - var cache = null; - return isIntercepted ? function(receiver) { - if (cache === null) - cache = A.closureFromTearOff(parameters); - return new cache(receiver, this); - } : function() { - if (cache === null) - cache = A.closureFromTearOff(parameters); - return new cache(this, null); - }; - } - function staticTearOffGetter(parameters) { - var cache = null; - return function() { - if (cache === null) - cache = A.closureFromTearOff(parameters).prototype; - return cache; - }; - } - var typesOffset = 0; - function tearOffParameters(container, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) { - if (typeof funType == "number") { - funType += typesOffset; - } - return {co: container, iS: isStatic, iI: isIntercepted, rC: requiredParameterCount, dV: optionalParameterDefaultValues, cs: callNames, fs: funsOrNames, fT: funType, aI: applyIndex || 0, nDA: needsDirectAccess}; - } - function installStaticTearOff(holder, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { - var parameters = tearOffParameters(holder, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, false); - var getterFunction = staticTearOffGetter(parameters); - holder[getterName] = getterFunction; - } - function installInstanceTearOff(prototype, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) { - isIntercepted = !!isIntercepted; - var parameters = tearOffParameters(prototype, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, !!needsDirectAccess); - var getterFunction = instanceTearOffGetter(isIntercepted, parameters); - prototype[getterName] = getterFunction; - } - function setOrUpdateInterceptorsByTag(newTags) { - var tags = init.interceptorsByTag; - if (!tags) { - init.interceptorsByTag = newTags; - return; - } - copyProperties(newTags, tags); - } - function setOrUpdateLeafTags(newTags) { - var tags = init.leafTags; - if (!tags) { - init.leafTags = newTags; - return; - } - copyProperties(newTags, tags); - } - function updateTypes(newTypes) { - var types = init.types; - var length = types.length; - types.push.apply(types, newTypes); - return length; - } - function updateHolder(holder, newHolder) { - copyProperties(newHolder, holder); - return holder; - } - var hunkHelpers = function() { - var mkInstance = function(isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { - return function(container, getterName, name, funType) { - return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex, false); - }; - }, - mkStatic = function(requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { - return function(container, getterName, name, funType) { - return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex); - }; - }; - return {inherit: inherit, inheritMany: inheritMany, mixin: mixinEasy, mixinHard: mixinHard, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, lazyFinal: lazyFinal, updateHolder: updateHolder, convertToFastObject: convertToFastObject, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags}; - }(); - function initializeDeferredHunk(hunk) { - typesOffset = init.types.length; - hunk(hunkHelpers, init, holders, $); - } - var J = { - makeDispatchRecord(interceptor, proto, extension, indexability) { - return {i: interceptor, p: proto, e: extension, x: indexability}; - }, - getNativeInterceptor(object) { - var proto, objectProto, $constructor, interceptor, t1, - record = object[init.dispatchPropertyName]; - if (record == null) - if ($.initNativeDispatchFlag == null) { - A.initNativeDispatch(); - record = object[init.dispatchPropertyName]; - } - if (record != null) { - proto = record.p; - if (false === proto) - return record.i; - if (true === proto) - return object; - objectProto = Object.getPrototypeOf(object); - if (proto === objectProto) - return record.i; - if (record.e === objectProto) - throw A.wrapException(A.UnimplementedError$("Return interceptor for " + A.S(proto(object, record)))); - } - $constructor = object.constructor; - if ($constructor == null) - interceptor = null; - else { - t1 = $._JS_INTEROP_INTERCEPTOR_TAG; - if (t1 == null) - t1 = $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js"); - interceptor = $constructor[t1]; - } - if (interceptor != null) - return interceptor; - interceptor = A.lookupAndCacheInterceptor(object); - if (interceptor != null) - return interceptor; - if (typeof object == "function") - return B.JavaScriptFunction_methods; - proto = Object.getPrototypeOf(object); - if (proto == null) - return B.PlainJavaScriptObject_methods; - if (proto === Object.prototype) - return B.PlainJavaScriptObject_methods; - if (typeof $constructor == "function") { - t1 = $._JS_INTEROP_INTERCEPTOR_TAG; - if (t1 == null) - t1 = $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js"); - Object.defineProperty($constructor, t1, {value: B.UnknownJavaScriptObject_methods, enumerable: false, writable: true, configurable: true}); - return B.UnknownJavaScriptObject_methods; - } - return B.UnknownJavaScriptObject_methods; - }, - JSArray_JSArray$fixed($length, $E) { - if ($length < 0 || $length > 4294967295) - throw A.wrapException(A.RangeError$range($length, 0, 4294967295, "length", null)); - return J.JSArray_JSArray$markFixed(new Array($length), $E); - }, - JSArray_JSArray$markFixed(allocation, $E) { - var t1 = A._setArrayType(allocation, $E._eval$1("JSArray<0>")); - t1.$flags = 1; - return t1; - }, - getInterceptor$(receiver) { - if (typeof receiver == "number") { - if (Math.floor(receiver) == receiver) - return J.JSInt.prototype; - return J.JSNumNotInt.prototype; - } - if (typeof receiver == "string") - return J.JSString.prototype; - if (receiver == null) - return J.JSNull.prototype; - if (typeof receiver == "boolean") - return J.JSBool.prototype; - if (Array.isArray(receiver)) - return J.JSArray.prototype; - if (typeof receiver != "object") { - if (typeof receiver == "function") - return J.JavaScriptFunction.prototype; - if (typeof receiver == "symbol") - return J.JavaScriptSymbol.prototype; - if (typeof receiver == "bigint") - return J.JavaScriptBigInt.prototype; - return receiver; - } - if (receiver instanceof A.Object) - return receiver; - return J.getNativeInterceptor(receiver); - }, - getInterceptor$asx(receiver) { - if (typeof receiver == "string") - return J.JSString.prototype; - if (receiver == null) - return receiver; - if (Array.isArray(receiver)) - return J.JSArray.prototype; - if (typeof receiver != "object") { - if (typeof receiver == "function") - return J.JavaScriptFunction.prototype; - if (typeof receiver == "symbol") - return J.JavaScriptSymbol.prototype; - if (typeof receiver == "bigint") - return J.JavaScriptBigInt.prototype; - return receiver; - } - if (receiver instanceof A.Object) - return receiver; - return J.getNativeInterceptor(receiver); - }, - getInterceptor$ax(receiver) { - if (receiver == null) - return receiver; - if (Array.isArray(receiver)) - return J.JSArray.prototype; - if (typeof receiver != "object") { - if (typeof receiver == "function") - return J.JavaScriptFunction.prototype; - if (typeof receiver == "symbol") - return J.JavaScriptSymbol.prototype; - if (typeof receiver == "bigint") - return J.JavaScriptBigInt.prototype; - return receiver; - } - if (receiver instanceof A.Object) - return receiver; - return J.getNativeInterceptor(receiver); - }, - getInterceptor$x(receiver) { - if (receiver == null) - return receiver; - if (typeof receiver != "object") { - if (typeof receiver == "function") - return J.JavaScriptFunction.prototype; - if (typeof receiver == "symbol") - return J.JavaScriptSymbol.prototype; - if (typeof receiver == "bigint") - return J.JavaScriptBigInt.prototype; - return receiver; - } - if (receiver instanceof A.Object) - return receiver; - return J.getNativeInterceptor(receiver); - }, - get$buffer$x(receiver) { - return J.getInterceptor$x(receiver).get$buffer(receiver); - }, - get$hashCode$(receiver) { - return J.getInterceptor$(receiver).get$hashCode(receiver); - }, - get$iterator$ax(receiver) { - return J.getInterceptor$ax(receiver).get$iterator(receiver); - }, - get$length$asx(receiver) { - return J.getInterceptor$asx(receiver).get$length(receiver); - }, - get$runtimeType$(receiver) { - return J.getInterceptor$(receiver).get$runtimeType(receiver); - }, - $eq$(receiver, a0) { - if (receiver == null) - return a0 == null; - if (typeof receiver != "object") - return a0 != null && receiver === a0; - return J.getInterceptor$(receiver).$eq(receiver, a0); - }, - $index$asx(receiver, a0) { - if (typeof a0 === "number") - if (Array.isArray(receiver) || typeof receiver == "string" || A.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) - if (a0 >>> 0 === a0 && a0 < receiver.length) - return receiver[a0]; - return J.getInterceptor$asx(receiver).$index(receiver, a0); - }, - _setInt8$2$x(receiver, a0, a1) { - return J.getInterceptor$x(receiver)._setInt8$2(receiver, a0, a1); - }, - add$1$ax(receiver, a0) { - return J.getInterceptor$ax(receiver).add$1(receiver, a0); - }, - asUint8List$0$x(receiver) { - return J.getInterceptor$x(receiver).asUint8List$0(receiver); - }, - asUint8List$2$x(receiver, a0, a1) { - return J.getInterceptor$x(receiver).asUint8List$2(receiver, a0, a1); - }, - elementAt$1$ax(receiver, a0) { - return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0); - }, - map$1$1$ax(receiver, a0, $T1) { - return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1); - }, - noSuchMethod$1$(receiver, a0) { - return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0); - }, - toString$0$(receiver) { - return J.getInterceptor$(receiver).toString$0(receiver); - }, - Interceptor: function Interceptor() { - }, - JSBool: function JSBool() { - }, - JSNull: function JSNull() { - }, - JavaScriptObject: function JavaScriptObject() { - }, - LegacyJavaScriptObject: function LegacyJavaScriptObject() { - }, - PlainJavaScriptObject: function PlainJavaScriptObject() { - }, - UnknownJavaScriptObject: function UnknownJavaScriptObject() { - }, - JavaScriptFunction: function JavaScriptFunction() { - }, - JavaScriptBigInt: function JavaScriptBigInt() { - }, - JavaScriptSymbol: function JavaScriptSymbol() { - }, - JSArray: function JSArray(t0) { - this.$ti = t0; - }, - JSArraySafeToStringHook: function JSArraySafeToStringHook() { - }, - JSUnmodifiableArray: function JSUnmodifiableArray(t0) { - this.$ti = t0; - }, - ArrayIterator: function ArrayIterator(t0, t1, t2) { - var _ = this; - _._iterable = t0; - _._length = t1; - _._index = 0; - _._current = null; - _.$ti = t2; - }, - JSNumber: function JSNumber() { - }, - JSInt: function JSInt() { - }, - JSNumNotInt: function JSNumNotInt() { - }, - JSString: function JSString() { - } - }, - 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; - return hash ^ hash >>> 6; - }, - SystemHash_finish(hash) { - hash = hash + ((hash & 67108863) << 3) & 536870911; - hash ^= hash >>> 11; - return hash + ((hash & 16383) << 15) & 536870911; - }, - checkNotNullable(value, $name, $T) { - return value; - }, - isToStringVisiting(object) { - var t1, i; - for (t1 = $.toStringVisiting.length, i = 0; i < t1; ++i) - if (object === $.toStringVisiting[i]) - return true; - return false; - }, - MappedIterable_MappedIterable(iterable, $function, $S, $T) { - if (type$.EfficientLengthIterable_dynamic._is(iterable)) - return new A.EfficientLengthMappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>")); - return new A.MappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("MappedIterable<1,2>")); - }, - _CopyingBytesBuilder: function _CopyingBytesBuilder(t0) { - this.__internal$_length = 0; - this.__internal$_buffer = t0; - }, - LateError: function LateError(t0) { - this._message = t0; - }, - SentinelValue: function SentinelValue() { - }, - EfficientLengthIterable: function EfficientLengthIterable() { - }, - ListIterable: function ListIterable() { - }, - ListIterator: function ListIterator(t0, t1, t2) { - var _ = this; - _.__internal$_iterable = t0; - _.__internal$_length = t1; - _.__internal$_index = 0; - _.__internal$_current = null; - _.$ti = t2; - }, - MappedIterable: function MappedIterable(t0, t1, t2) { - this.__internal$_iterable = t0; - this._f = t1; - this.$ti = t2; - }, - EfficientLengthMappedIterable: function EfficientLengthMappedIterable(t0, t1, t2) { - this.__internal$_iterable = t0; - this._f = t1; - this.$ti = t2; - }, - MappedIterator: function MappedIterator(t0, t1, t2) { - var _ = this; - _.__internal$_current = null; - _._iterator = t0; - _._f = t1; - _.$ti = t2; - }, - MappedListIterable: function MappedListIterable(t0, t1, t2) { - this._source = t0; - this._f = t1; - this.$ti = t2; - }, - WhereIterable: function WhereIterable(t0, t1, t2) { - this.__internal$_iterable = t0; - this._f = t1; - this.$ti = t2; - }, - WhereIterator: function WhereIterator(t0, t1, t2) { - this._iterator = t0; - this._f = t1; - this.$ti = t2; - }, - FixedLengthListMixin: function FixedLengthListMixin() { - }, - Symbol: function Symbol(t0) { - this.__internal$_name = t0; - }, - unminifyOrTag(rawClassName) { - var preserved = init.mangledGlobalNames[rawClassName]; - if (preserved != null) - return preserved; - return rawClassName; - }, - isJsIndexable(object, record) { - var result; - if (record != null) { - result = record.x; - if (result != null) - return result; - } - return type$.JavaScriptIndexingBehavior_dynamic._is(object); - }, - S(value) { - var result; - if (typeof value == "string") - return value; - if (typeof value == "number") { - if (value !== 0) - return "" + value; - } else if (true === value) - return "true"; - else if (false === value) - return "false"; - else if (value == null) - return "null"; - result = J.toString$0$(value); - return result; - }, - Primitives_objectHashCode(object) { - var hash, - property = $.Primitives__identityHashCodeProperty; - if (property == null) - property = $.Primitives__identityHashCodeProperty = Symbol("identityHashCode"); - hash = object[property]; - if (hash == null) { - hash = Math.random() * 0x3fffffff | 0; - object[property] = hash; - } - return hash; - }, - Primitives_objectTypeName(object) { - var interceptor, dispatchName, $constructor, constructorName; - if (object instanceof A.Object) - return A._rtiToString(A.instanceType(object), null); - interceptor = J.getInterceptor$(object); - if (interceptor === B.Interceptor_methods || interceptor === B.JavaScriptObject_methods || type$.UnknownJavaScriptObject._is(object)) { - dispatchName = B.C_JS_CONST(object); - if (dispatchName !== "Object" && dispatchName !== "") - return dispatchName; - $constructor = object.constructor; - if (typeof $constructor == "function") { - constructorName = $constructor.name; - if (typeof constructorName == "string" && constructorName !== "Object" && constructorName !== "") - return constructorName; - } - } - 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) { - var i, result, i0, chunkEnd; - if (end <= 500 && start === 0 && end === charCodes.length) - return String.fromCharCode.apply(null, charCodes); - for (i = start, result = ""; i < end; i = i0) { - i0 = i + 500; - chunkEnd = i0 < end ? i0 : end; - result += String.fromCharCode.apply(null, charCodes.subarray(i, chunkEnd)); - } - return result; - }, - Primitives_lazyAsJsDate(receiver) { - if (receiver.date === void 0) - receiver.date = new Date(receiver._value); - return receiver.date; - }, - Primitives_getYear(receiver) { - return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCFullYear() + 0 : A.Primitives_lazyAsJsDate(receiver).getFullYear() + 0; - }, - Primitives_getMonth(receiver) { - return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCMonth() + 1 : A.Primitives_lazyAsJsDate(receiver).getMonth() + 1; - }, - Primitives_getDay(receiver) { - return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCDate() + 0 : A.Primitives_lazyAsJsDate(receiver).getDate() + 0; - }, - Primitives_getHours(receiver) { - return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCHours() + 0 : A.Primitives_lazyAsJsDate(receiver).getHours() + 0; - }, - Primitives_getMinutes(receiver) { - return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCMinutes() + 0 : A.Primitives_lazyAsJsDate(receiver).getMinutes() + 0; - }, - Primitives_getSeconds(receiver) { - return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCSeconds() + 0 : A.Primitives_lazyAsJsDate(receiver).getSeconds() + 0; - }, - Primitives_getMilliseconds(receiver) { - return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCMilliseconds() + 0 : A.Primitives_lazyAsJsDate(receiver).getMilliseconds() + 0; - }, - Primitives_functionNoSuchMethod($function, positionalArguments, namedArguments) { - var $arguments, namedArgumentList, t1 = {}; - t1.argumentCount = 0; - $arguments = []; - namedArgumentList = []; - t1.argumentCount = positionalArguments.length; - B.JSArray_methods.addAll$1($arguments, positionalArguments); - t1.names = ""; - if (namedArguments != null && namedArguments.__js_helper$_length !== 0) - namedArguments.forEach$1(0, new A.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments)); - return J.noSuchMethod$1$($function, new A.JSInvocationMirror(B.Symbol_call, 0, $arguments, namedArgumentList, 0)); - }, - Primitives_applyFunction($function, positionalArguments, namedArguments) { - var t1, argumentCount, jsStub; - if (Array.isArray(positionalArguments)) - t1 = namedArguments == null || namedArguments.__js_helper$_length === 0; - else - t1 = false; - if (t1) { - argumentCount = positionalArguments.length; - if (argumentCount === 0) { - if (!!$function.call$0) - return $function.call$0(); - } else if (argumentCount === 1) { - if (!!$function.call$1) - return $function.call$1(positionalArguments[0]); - } else if (argumentCount === 2) { - if (!!$function.call$2) - return $function.call$2(positionalArguments[0], positionalArguments[1]); - } else if (argumentCount === 3) { - if (!!$function.call$3) - return $function.call$3(positionalArguments[0], positionalArguments[1], positionalArguments[2]); - } else if (argumentCount === 4) { - if (!!$function.call$4) - return $function.call$4(positionalArguments[0], positionalArguments[1], positionalArguments[2], positionalArguments[3]); - } else if (argumentCount === 5) - if (!!$function.call$5) - return $function.call$5(positionalArguments[0], positionalArguments[1], positionalArguments[2], positionalArguments[3], positionalArguments[4]); - jsStub = $function["call" + "$" + argumentCount]; - if (jsStub != null) - return jsStub.apply($function, positionalArguments); - } - return A.Primitives__generalApplyFunction($function, positionalArguments, namedArguments); - }, - Primitives__generalApplyFunction($function, positionalArguments, namedArguments) { - 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; - t1 = defaultValuesClosure == null; - defaultValues = !t1 ? defaultValuesClosure() : null; - interceptor = J.getInterceptor$($function); - jsFunction = interceptor["call*"]; - if (typeof jsFunction == "string") - jsFunction = interceptor[jsFunction]; - if (t1) { - if (namedArguments != null && namedArguments.__js_helper$_length !== 0) - return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); - if (argumentCount === requiredParameterCount) - return jsFunction.apply($function, $arguments); - return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); - } - if (Array.isArray(defaultValues)) { - if (namedArguments != null && namedArguments.__js_helper$_length !== 0) - return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); - maxArguments = requiredParameterCount + defaultValues.length; - if (argumentCount > maxArguments) - return A.Primitives_functionNoSuchMethod($function, $arguments, null); - if (argumentCount < maxArguments) { - missingDefaults = defaultValues.slice(argumentCount - requiredParameterCount); - if ($arguments === positionalArguments) - $arguments = A.List_List$_of($arguments, type$.dynamic); - B.JSArray_methods.addAll$1($arguments, missingDefaults); - } - return jsFunction.apply($function, $arguments); - } else { - if (argumentCount > requiredParameterCount) - return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); - if ($arguments === positionalArguments) - $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) { - defaultValue = defaultValues[A._asString(keys[_i])]; - if (B.C__Required === defaultValue) - return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); - B.JSArray_methods.add$1($arguments, defaultValue); - } - else { - for (t1 = keys.length, used = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) { - key = A._asString(keys[_i]); - if (namedArguments.containsKey$1(key)) { - ++used; - B.JSArray_methods.add$1($arguments, namedArguments.$index(0, key)); - } else { - defaultValue = defaultValues[key]; - if (B.C__Required === defaultValue) - return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); - B.JSArray_methods.add$1($arguments, defaultValue); - } - } - if (used !== namedArguments.__js_helper$_length) - return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); - } - return jsFunction.apply($function, $arguments); - } - }, - Primitives_extractStackTrace(error) { - var jsError = error.$thrownJsError; - if (jsError == null) - return null; - return A.getTraceFromException(jsError); - }, - Primitives_trySetStackTrace(error, stackTrace) { - var jsError; - if (error.$thrownJsError == null) { - jsError = new Error(); - A.initializeExceptionWrapper(error, jsError); - error.$thrownJsError = jsError; - jsError.stack = stackTrace.toString$0(0); - } - }, - iae(argument) { - throw A.wrapException(A.argumentErrorValue(argument)); - }, - ioore(receiver, index) { - if (receiver == null) - J.get$length$asx(receiver); - throw A.wrapException(A.diagnoseIndexError(receiver, index)); - }, - diagnoseIndexError(indexable, index) { - var $length, _s5_ = "index"; - if (!A._isInt(index)) - return new A.ArgumentError(true, index, _s5_, null); - $length = A._asInt(J.get$length$asx(indexable)); - if (index < 0 || index >= $length) - return A.IndexError$withLength(index, $length, indexable, _s5_); - return A.RangeError$value(index, _s5_); - }, - diagnoseRangeError(start, end, $length) { - if (start < 0 || start > $length) - return A.RangeError$range(start, 0, $length, "start", null); - if (end != null) - if (end < start || end > $length) - return A.RangeError$range(end, start, $length, "end", null); - return new A.ArgumentError(true, end, "end", null); - }, - argumentErrorValue(object) { - return new A.ArgumentError(true, object, null, null); - }, - wrapException(ex) { - return A.initializeExceptionWrapper(ex, new Error()); - }, - initializeExceptionWrapper(ex, wrapper) { - var t1; - if (ex == null) - ex = new A.TypeError(); - wrapper.dartException = ex; - t1 = A.toStringWrapper; - if ("defineProperty" in Object) { - Object.defineProperty(wrapper, "message", {get: t1}); - wrapper.name = ""; - } else - wrapper.toString = t1; - return wrapper; - }, - toStringWrapper() { - return J.toString$0$(this.dartException); - }, - throwExpression(ex, wrapper) { - throw A.initializeExceptionWrapper(ex, wrapper == null ? new Error() : wrapper); - }, - throwUnsupportedOperation(o, operation, verb) { - var wrapper; - if (operation == null) - operation = 0; - if (verb == null) - verb = 0; - wrapper = Error(); - A.throwExpression(A._diagnoseUnsupportedOperation(o, operation, verb), wrapper); - }, - _diagnoseUnsupportedOperation(o, encodedOperation, encodedVerb) { - var operation, table, tableLength, index, verb, object, flags, article, adjective; - if (typeof encodedOperation == "string") - operation = encodedOperation; - else { - table = "[]=;add;removeWhere;retainWhere;removeRange;setRange;setInt8;setInt16;setInt32;setUint8;setUint16;setUint32;setFloat32;setFloat64".split(";"); - tableLength = table.length; - index = encodedOperation; - if (index > tableLength) { - encodedVerb = index / tableLength | 0; - index %= tableLength; - } - operation = table[index]; - } - verb = typeof encodedVerb == "string" ? encodedVerb : "modify;remove from;add to".split(";")[encodedVerb]; - object = type$.List_dynamic._is(o) ? "list" : "ByteData"; - flags = o.$flags | 0; - article = "a "; - if ((flags & 4) !== 0) - adjective = "constant "; - else if ((flags & 2) !== 0) { - adjective = "unmodifiable "; - article = "an "; - } else - adjective = (flags & 1) !== 0 ? "fixed-length " : ""; - return new A.UnsupportedError("'" + operation + "': Cannot " + verb + " " + article + adjective + object); - }, - throwConcurrentModificationError(collection) { - throw A.wrapException(A.ConcurrentModificationError$(collection)); - }, - TypeErrorDecoder_extractPattern(message) { - var match, $arguments, argumentsExpr, expr, method, receiver; - message = A.quoteStringForRegExp(message.replace(String({}), "$receiver$")); - match = message.match(/\\\$[a-zA-Z]+\\\$/g); - if (match == null) - match = A._setArrayType([], type$.JSArray_String); - $arguments = match.indexOf("\\$arguments\\$"); - argumentsExpr = match.indexOf("\\$argumentsExpr\\$"); - expr = match.indexOf("\\$expr\\$"); - method = match.indexOf("\\$method\\$"); - receiver = match.indexOf("\\$receiver\\$"); - return new A.TypeErrorDecoder(message.replace(new RegExp("\\\\\\$arguments\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$", "g"), "((?:x|[^x])*)"), $arguments, argumentsExpr, expr, method, receiver); - }, - TypeErrorDecoder_provokeCallErrorOn(expression) { - return function($expr$) { - var $argumentsExpr$ = "$arguments$"; - try { - $expr$.$method$($argumentsExpr$); - } catch (e) { - return e.message; - } - }(expression); - }, - TypeErrorDecoder_provokePropertyErrorOn(expression) { - return function($expr$) { - try { - $expr$.$method$; - } catch (e) { - return e.message; - } - }(expression); - }, - JsNoSuchMethodError$(_message, match) { - var t1 = match == null, - t2 = t1 ? null : match.method; - return new A.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver); - }, - unwrapException(ex) { - var t1; - if (ex == null) - return new A.NullThrownFromJavaScriptException(ex); - if (ex instanceof A.ExceptionAndStackTrace) { - t1 = ex.dartException; - return A.saveStackTrace(ex, t1 == null ? A._asObject(t1) : t1); - } - if (typeof ex !== "object") - return ex; - if ("dartException" in ex) - return A.saveStackTrace(ex, ex.dartException); - return A._unwrapNonDartException(ex); - }, - saveStackTrace(ex, error) { - if (type$.Error._is(error)) - if (error.$thrownJsError == null) - error.$thrownJsError = ex; - return error; - }, - _unwrapNonDartException(ex) { - var message, number, ieErrorCode, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match; - if (!("message" in ex)) - return ex; - message = ex.message; - if ("number" in ex && typeof ex.number == "number") { - number = ex.number; - ieErrorCode = number & 65535; - if ((B.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10) - switch (ieErrorCode) { - case 438: - return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A.S(message) + " (Error " + ieErrorCode + ")", null)); - case 445: - case 5007: - A.S(message); - return A.saveStackTrace(ex, new A.NullError()); - } - } - if (ex instanceof TypeError) { - nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern(); - notClosure = $.$get$TypeErrorDecoder_notClosurePattern(); - nullCall = $.$get$TypeErrorDecoder_nullCallPattern(); - nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern(); - undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern(); - undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern(); - nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern(); - $.$get$TypeErrorDecoder_nullLiteralPropertyPattern(); - undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern(); - undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern(); - match = nsme.matchTypeError$1(message); - if (match != null) - return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asString(message), match)); - else { - match = notClosure.matchTypeError$1(message); - if (match != null) { - match.method = "call"; - return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asString(message), match)); - } else if (nullCall.matchTypeError$1(message) != null || nullLiteralCall.matchTypeError$1(message) != null || undefCall.matchTypeError$1(message) != null || undefLiteralCall.matchTypeError$1(message) != null || nullProperty.matchTypeError$1(message) != null || nullLiteralCall.matchTypeError$1(message) != null || undefProperty.matchTypeError$1(message) != null || undefLiteralProperty.matchTypeError$1(message) != null) { - A._asString(message); - return A.saveStackTrace(ex, new A.NullError()); - } - } - return A.saveStackTrace(ex, new A.UnknownJsTypeError(typeof message == "string" ? message : "")); - } - if (ex instanceof RangeError) { - if (typeof message == "string" && message.indexOf("call stack") !== -1) - return new A.StackOverflowError(); - message = function(ex) { - try { - return String(ex); - } catch (e) { - } - return null; - }(ex); - return A.saveStackTrace(ex, new A.ArgumentError(false, null, null, typeof message == "string" ? message.replace(/^RangeError:\s*/, "") : message)); - } - if (typeof InternalError == "function" && ex instanceof InternalError) - if (typeof message == "string" && message === "too much recursion") - return new A.StackOverflowError(); - return ex; - }, - getTraceFromException(exception) { - var trace; - if (exception instanceof A.ExceptionAndStackTrace) - return exception.stackTrace; - if (exception == null) - return new A._StackTrace(exception); - trace = exception.$cachedTrace; - if (trace != null) - return trace; - trace = new A._StackTrace(exception); - if (typeof exception === "object") - exception.$cachedTrace = trace; - return trace; - }, - objectHashCode(object) { - if (object == null) - return J.get$hashCode$(object); - if (typeof object == "object") - return A.Primitives_objectHashCode(object); - return J.get$hashCode$(object); - }, - fillLiteralMap(keyValuePairs, result) { - var index, index0, index1, - $length = keyValuePairs.length; - for (index = 0; index < $length; index = index1) { - index0 = index + 1; - index1 = index0 + 1; - result.$indexSet(0, keyValuePairs[index], keyValuePairs[index0]); - } - return result; - }, - _invokeClosure(closure, numberOfArguments, arg1, arg2, arg3, arg4) { - type$.Function._as(closure); - switch (A._asInt(numberOfArguments)) { - case 0: - return closure.call$0(); - case 1: - return closure.call$1(arg1); - case 2: - return closure.call$2(arg1, arg2); - case 3: - return closure.call$3(arg1, arg2, arg3); - case 4: - return closure.call$4(arg1, arg2, arg3, arg4); - } - throw A.wrapException(A.Exception_Exception("Unsupported number of arguments for wrapped closure")); - }, - convertDartClosureToJS(closure, arity) { - var $function = closure.$identity; - if (!!$function) - return $function; - $function = A.convertDartClosureToJSUncached(closure, arity); - closure.$identity = $function; - return $function; - }, - convertDartClosureToJSUncached(closure, arity) { - var entry; - switch (arity) { - case 0: - entry = closure.call$0; - break; - case 1: - entry = closure.call$1; - break; - case 2: - entry = closure.call$2; - break; - case 3: - entry = closure.call$3; - break; - case 4: - entry = closure.call$4; - break; - default: - entry = null; - } - if (entry != null) - return entry.bind(closure); - return function(closure, arity, invoke) { - return function(a1, a2, a3, a4) { - return invoke(closure, arity, a1, a2, a3, a4); - }; - }(closure, arity, A._invokeClosure); - }, - Closure_fromTearOff(parameters) { - var $prototype, $constructor, t2, trampoline, applyTrampoline, i, stub, stub0, stubName, stubCallName, - container = parameters.co, - isStatic = parameters.iS, - isIntercepted = parameters.iI, - needsDirectAccess = parameters.nDA, - applyTrampolineIndex = parameters.aI, - funsOrNames = parameters.fs, - callNames = parameters.cs, - $name = funsOrNames[0], - callName = callNames[0], - $function = container[$name], - t1 = parameters.fT; - t1.toString; - $prototype = isStatic ? Object.create(new A.StaticClosure().constructor.prototype) : Object.create(new A.BoundClosure(null, null).constructor.prototype); - $prototype.$initialize = $prototype.constructor; - $constructor = isStatic ? function static_tear_off() { - this.$initialize(); - } : function tear_off(a, b) { - this.$initialize(a, b); - }; - $prototype.constructor = $constructor; - $constructor.prototype = $prototype; - $prototype.$_name = $name; - $prototype.$_target = $function; - t2 = !isStatic; - if (t2) - trampoline = A.Closure_forwardCallTo($name, $function, isIntercepted, needsDirectAccess); - else { - $prototype.$static_name = $name; - trampoline = $function; - } - $prototype.$signature = A.Closure__computeSignatureFunction(t1, isStatic, isIntercepted); - $prototype[callName] = trampoline; - for (applyTrampoline = trampoline, i = 1; i < funsOrNames.length; ++i) { - stub = funsOrNames[i]; - if (typeof stub == "string") { - stub0 = container[stub]; - stubName = stub; - stub = stub0; - } else - stubName = ""; - stubCallName = callNames[i]; - if (stubCallName != null) { - if (t2) - stub = A.Closure_forwardCallTo(stubName, stub, isIntercepted, needsDirectAccess); - $prototype[stubCallName] = stub; - } - if (i === applyTrampolineIndex) - applyTrampoline = stub; - } - $prototype["call*"] = applyTrampoline; - $prototype.$requiredArgCount = parameters.rC; - $prototype.$defaultValues = parameters.dV; - return $constructor; - }, - Closure__computeSignatureFunction(functionType, isStatic, isIntercepted) { - if (typeof functionType == "number") - return functionType; - if (typeof functionType == "string") { - if (isStatic) - throw A.wrapException("Cannot compute signature for static tearoff."); - return function(recipe, evalOnReceiver) { - return function() { - return evalOnReceiver(this, recipe); - }; - }(functionType, A.BoundClosure_evalRecipe); - } - throw A.wrapException("Error in functionType of tearoff"); - }, - Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function) { - var getReceiver = A.BoundClosure_receiverOf; - switch (needsDirectAccess ? -1 : arity) { - case 0: - return function(entry, receiverOf) { - return function() { - return receiverOf(this)[entry](); - }; - }(stubName, getReceiver); - case 1: - return function(entry, receiverOf) { - return function(a) { - return receiverOf(this)[entry](a); - }; - }(stubName, getReceiver); - case 2: - return function(entry, receiverOf) { - return function(a, b) { - return receiverOf(this)[entry](a, b); - }; - }(stubName, getReceiver); - case 3: - return function(entry, receiverOf) { - return function(a, b, c) { - return receiverOf(this)[entry](a, b, c); - }; - }(stubName, getReceiver); - case 4: - return function(entry, receiverOf) { - return function(a, b, c, d) { - return receiverOf(this)[entry](a, b, c, d); - }; - }(stubName, getReceiver); - case 5: - return function(entry, receiverOf) { - return function(a, b, c, d, e) { - return receiverOf(this)[entry](a, b, c, d, e); - }; - }(stubName, getReceiver); - default: - return function(f, receiverOf) { - return function() { - return f.apply(receiverOf(this), arguments); - }; - }($function, getReceiver); - } - }, - Closure_forwardCallTo(stubName, $function, isIntercepted, needsDirectAccess) { - if (isIntercepted) - return A.Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess); - return A.Closure_cspForwardCall($function.length, needsDirectAccess, stubName, $function); - }, - Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function) { - var getReceiver = A.BoundClosure_receiverOf, - getInterceptor = A.BoundClosure_interceptorOf; - switch (needsDirectAccess ? -1 : arity) { - case 0: - throw A.wrapException(new A.RuntimeError("Intercepted function with no arguments.")); - case 1: - return function(entry, interceptorOf, receiverOf) { - return function() { - return interceptorOf(this)[entry](receiverOf(this)); - }; - }(stubName, getInterceptor, getReceiver); - case 2: - return function(entry, interceptorOf, receiverOf) { - return function(a) { - return interceptorOf(this)[entry](receiverOf(this), a); - }; - }(stubName, getInterceptor, getReceiver); - case 3: - return function(entry, interceptorOf, receiverOf) { - return function(a, b) { - return interceptorOf(this)[entry](receiverOf(this), a, b); - }; - }(stubName, getInterceptor, getReceiver); - case 4: - return function(entry, interceptorOf, receiverOf) { - return function(a, b, c) { - return interceptorOf(this)[entry](receiverOf(this), a, b, c); - }; - }(stubName, getInterceptor, getReceiver); - case 5: - return function(entry, interceptorOf, receiverOf) { - return function(a, b, c, d) { - return interceptorOf(this)[entry](receiverOf(this), a, b, c, d); - }; - }(stubName, getInterceptor, getReceiver); - case 6: - return function(entry, interceptorOf, receiverOf) { - return function(a, b, c, d, e) { - return interceptorOf(this)[entry](receiverOf(this), a, b, c, d, e); - }; - }(stubName, getInterceptor, getReceiver); - default: - return function(f, interceptorOf, receiverOf) { - return function() { - var a = [receiverOf(this)]; - Array.prototype.push.apply(a, arguments); - return f.apply(interceptorOf(this), a); - }; - }($function, getInterceptor, getReceiver); - } - }, - Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess) { - var arity, t1; - if ($.BoundClosure__interceptorFieldNameCache == null) - $.BoundClosure__interceptorFieldNameCache = A.BoundClosure__computeFieldNamed("interceptor"); - if ($.BoundClosure__receiverFieldNameCache == null) - $.BoundClosure__receiverFieldNameCache = A.BoundClosure__computeFieldNamed("receiver"); - arity = $function.length; - t1 = A.Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function); - return t1; - }, - closureFromTearOff(parameters) { - return A.Closure_fromTearOff(parameters); - }, - BoundClosure_evalRecipe(closure, recipe) { - return A._Universe_evalInEnvironment(init.typeUniverse, A.instanceType(closure._receiver), recipe); - }, - BoundClosure_receiverOf(closure) { - return closure._receiver; - }, - BoundClosure_interceptorOf(closure) { - return closure._interceptor; - }, - BoundClosure__computeFieldNamed(fieldName) { - var names, i, $name, - template = new A.BoundClosure("receiver", "interceptor"), - t1 = Object.getOwnPropertyNames(template); - t1.$flags = 1; - names = t1; - for (t1 = names.length, i = 0; i < t1; ++i) { - $name = names[i]; - if (template[$name] === fieldName) - return $name; - } - throw A.wrapException(A.ArgumentError$("Field name " + fieldName + " not found.", null)); - }, - getIsolateAffinityTag($name) { - return init.getIsolateTag($name); - }, - defineProperty(obj, property, value) { - Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true}); - }, - lookupAndCacheInterceptor(obj) { - var interceptor, interceptorClass, altTag, mark, t1, - tag = A._asString($.getTagFunction.call$1(obj)), - record = $.dispatchRecordsForInstanceTags[tag]; - if (record != null) { - Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); - return record.i; - } - interceptor = $.interceptorsForUncacheableTags[tag]; - if (interceptor != null) - return interceptor; - interceptorClass = init.interceptorsByTag[tag]; - if (interceptorClass == null) { - altTag = A._asStringQ($.alternateTagFunction.call$2(obj, tag)); - if (altTag != null) { - record = $.dispatchRecordsForInstanceTags[altTag]; - if (record != null) { - Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); - return record.i; - } - interceptor = $.interceptorsForUncacheableTags[altTag]; - if (interceptor != null) - return interceptor; - interceptorClass = init.interceptorsByTag[altTag]; - tag = altTag; - } - } - if (interceptorClass == null) - return null; - interceptor = interceptorClass.prototype; - mark = tag[0]; - if (mark === "!") { - record = A.makeLeafDispatchRecord(interceptor); - $.dispatchRecordsForInstanceTags[tag] = record; - Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); - return record.i; - } - if (mark === "~") { - $.interceptorsForUncacheableTags[tag] = interceptor; - return interceptor; - } - if (mark === "-") { - t1 = A.makeLeafDispatchRecord(interceptor); - Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true}); - return t1.i; - } - if (mark === "+") - return A.patchInteriorProto(obj, interceptor); - if (mark === "*") - throw A.wrapException(A.UnimplementedError$(tag)); - if (init.leafTags[tag] === true) { - t1 = A.makeLeafDispatchRecord(interceptor); - Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true}); - return t1.i; - } else - return A.patchInteriorProto(obj, interceptor); - }, - patchInteriorProto(obj, interceptor) { - var proto = Object.getPrototypeOf(obj); - Object.defineProperty(proto, init.dispatchPropertyName, {value: J.makeDispatchRecord(interceptor, proto, null, null), enumerable: false, writable: true, configurable: true}); - return interceptor; - }, - makeLeafDispatchRecord(interceptor) { - return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior); - }, - makeDefaultDispatchRecord(tag, interceptorClass, proto) { - var interceptor = interceptorClass.prototype; - if (init.leafTags[tag] === true) - return A.makeLeafDispatchRecord(interceptor); - else - return J.makeDispatchRecord(interceptor, proto, null, null); - }, - initNativeDispatch() { - if (true === $.initNativeDispatchFlag) - return; - $.initNativeDispatchFlag = true; - A.initNativeDispatchContinue(); - }, - initNativeDispatchContinue() { - var map, tags, fun, i, tag, proto, record, interceptorClass; - $.dispatchRecordsForInstanceTags = Object.create(null); - $.interceptorsForUncacheableTags = Object.create(null); - A.initHooks(); - map = init.interceptorsByTag; - tags = Object.getOwnPropertyNames(map); - if (typeof window != "undefined") { - window; - fun = function() { - }; - for (i = 0; i < tags.length; ++i) { - tag = tags[i]; - proto = $.prototypeForTagFunction.call$1(tag); - if (proto != null) { - record = A.makeDefaultDispatchRecord(tag, map[tag], proto); - if (record != null) { - Object.defineProperty(proto, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); - fun.prototype = proto; - } - } - } - } - for (i = 0; i < tags.length; ++i) { - tag = tags[i]; - if (/^[A-Za-z_]/.test(tag)) { - interceptorClass = map[tag]; - map["!" + tag] = interceptorClass; - map["~" + tag] = interceptorClass; - map["-" + tag] = interceptorClass; - map["+" + tag] = interceptorClass; - map["*" + tag] = interceptorClass; - } - } - }, - initHooks() { - var transformers, i, transformer, getTag, getUnknownTag, prototypeForTag, - hooks = B.C_JS_CONST0(); - hooks = A.applyHooksTransformer(B.C_JS_CONST1, A.applyHooksTransformer(B.C_JS_CONST2, A.applyHooksTransformer(B.C_JS_CONST3, A.applyHooksTransformer(B.C_JS_CONST3, A.applyHooksTransformer(B.C_JS_CONST4, A.applyHooksTransformer(B.C_JS_CONST5, A.applyHooksTransformer(B.C_JS_CONST6(B.C_JS_CONST), hooks))))))); - if (typeof dartNativeDispatchHooksTransformer != "undefined") { - transformers = dartNativeDispatchHooksTransformer; - if (typeof transformers == "function") - transformers = [transformers]; - if (Array.isArray(transformers)) - for (i = 0; i < transformers.length; ++i) { - transformer = transformers[i]; - if (typeof transformer == "function") - hooks = transformer(hooks) || hooks; - } - } - getTag = hooks.getTag; - getUnknownTag = hooks.getUnknownTag; - prototypeForTag = hooks.prototypeForTag; - $.getTagFunction = new A.initHooks_closure(getTag); - $.alternateTagFunction = new A.initHooks_closure0(getUnknownTag); - $.prototypeForTagFunction = new A.initHooks_closure1(prototypeForTag); - }, - applyHooksTransformer(transformer, hooks) { - return transformer(hooks) || hooks; - }, - createRecordTypePredicate(shape, fieldRtis) { - var $length = fieldRtis.length, - $function = init.rttc["" + $length + ";" + shape]; - if ($function == null) - return null; - if ($length === 0) - return $function; - if ($length === $function.length) - return $function.apply(null, fieldRtis); - return $function(fieldRtis); - }, - quoteStringForRegExp(string) { - if (/[[\]{}()*+?.\\^$|]/.test(string)) - return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&"); - return string; - }, - ConstantMapView: function ConstantMapView(t0, t1) { - this._collection$_map = t0; - this.$ti = t1; - }, - ConstantMap: function ConstantMap() { - }, - ConstantStringMap: function ConstantStringMap(t0, t1, t2) { - this._jsIndex = t0; - this._values = t1; - this.$ti = t2; - }, - _KeysOrValues: function _KeysOrValues(t0, t1) { - this._elements = t0; - this.$ti = t1; - }, - _KeysOrValuesOrElementsIterator: function _KeysOrValuesOrElementsIterator(t0, t1, t2) { - var _ = this; - _._elements = t0; - _.__js_helper$_length = t1; - _.__js_helper$_index = 0; - _.__js_helper$_current = null; - _.$ti = t2; - }, - JSInvocationMirror: function JSInvocationMirror(t0, t1, t2, t3, t4) { - var _ = this; - _._memberName = t0; - _.__js_helper$_kind = t1; - _._arguments = t2; - _._namedArgumentNames = t3; - _._typeArgumentCount = t4; - }, - Primitives_functionNoSuchMethod_closure: function Primitives_functionNoSuchMethod_closure(t0, t1, t2) { - this._box_0 = t0; - this.namedArgumentList = t1; - this.$arguments = t2; - }, - SafeToStringHook: function SafeToStringHook() { - }, - TypeErrorDecoder: function TypeErrorDecoder(t0, t1, t2, t3, t4, t5) { - var _ = this; - _._pattern = t0; - _._arguments = t1; - _._argumentsExpr = t2; - _._expr = t3; - _._method = t4; - _._receiver = t5; - }, - NullError: function NullError() { - }, - JsNoSuchMethodError: function JsNoSuchMethodError(t0, t1, t2) { - this.__js_helper$_message = t0; - this._method = t1; - this._receiver = t2; - }, - UnknownJsTypeError: function UnknownJsTypeError(t0) { - this.__js_helper$_message = t0; - }, - NullThrownFromJavaScriptException: function NullThrownFromJavaScriptException(t0) { - this._irritant = t0; - }, - ExceptionAndStackTrace: function ExceptionAndStackTrace(t0, t1) { - this.dartException = t0; - this.stackTrace = t1; - }, - _StackTrace: function _StackTrace(t0) { - this._exception = t0; - this._trace = null; - }, - Closure: function Closure() { - }, - Closure0Args: function Closure0Args() { - }, - Closure2Args: function Closure2Args() { - }, - TearOffClosure: function TearOffClosure() { - }, - StaticClosure: function StaticClosure() { - }, - BoundClosure: function BoundClosure(t0, t1) { - this._receiver = t0; - this._interceptor = t1; - }, - RuntimeError: function RuntimeError(t0) { - this.message = t0; - }, - _Required: function _Required() { - }, - JsLinkedHashMap: function JsLinkedHashMap(t0) { - var _ = this; - _.__js_helper$_length = 0; - _._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null; - _._modifications = 0; - _.$ti = t0; - }, - LinkedHashMapCell: function LinkedHashMapCell(t0, t1) { - var _ = this; - _.hashMapCellKey = t0; - _.hashMapCellValue = t1; - _._previous = _._next = null; - }, - LinkedHashMapKeysIterable: function LinkedHashMapKeysIterable(t0, t1) { - this._map = t0; - this.$ti = t1; - }, - LinkedHashMapKeyIterator: function LinkedHashMapKeyIterator(t0, t1, t2, t3) { - var _ = this; - _._map = t0; - _._modifications = t1; - _._cell = t2; - _.__js_helper$_current = null; - _.$ti = t3; - }, - initHooks_closure: function initHooks_closure(t0) { - this.getTag = t0; - }, - initHooks_closure0: function initHooks_closure0(t0) { - this.getUnknownTag = t0; - }, - initHooks_closure1: function initHooks_closure1(t0) { - this.prototypeForTag = t0; - }, - _ensureNativeList(list) { - return list; - }, - NativeByteData_NativeByteData($length) { - return new DataView(new ArrayBuffer($length)); - }, - NativeUint8List_NativeUint8List($length) { - return new Uint8Array($length); - }, - NativeUint8List_NativeUint8List$view(buffer, offsetInBytes, $length) { - return $length == null ? new Uint8Array(buffer, offsetInBytes) : new Uint8Array(buffer, offsetInBytes, $length); - }, - _checkValidIndex(index, list, $length) { - if (index >>> 0 !== index || index >= $length) - throw A.wrapException(A.diagnoseIndexError(list, index)); - }, - _checkValidRange(start, end, $length) { - var t1; - if (!(start >>> 0 !== start)) - if (end == null) - t1 = start > $length; - else - t1 = end >>> 0 !== end || start > end || end > $length; - else - t1 = true; - if (t1) - throw A.wrapException(A.diagnoseRangeError(start, end, $length)); - if (end == null) - return $length; - return end; - }, - NativeByteBuffer: function NativeByteBuffer() { - }, - NativeArrayBuffer: function NativeArrayBuffer() { - }, - NativeTypedData: function NativeTypedData() { - }, - _UnmodifiableNativeByteBufferView: function _UnmodifiableNativeByteBufferView(t0) { - this._data = t0; - }, - NativeByteData: function NativeByteData() { - }, - NativeTypedArray: function NativeTypedArray() { - }, - NativeTypedArrayOfDouble: function NativeTypedArrayOfDouble() { - }, - NativeTypedArrayOfInt: function NativeTypedArrayOfInt() { - }, - NativeFloat32List: function NativeFloat32List() { - }, - NativeFloat64List: function NativeFloat64List() { - }, - NativeInt16List: function NativeInt16List() { - }, - NativeInt32List: function NativeInt32List() { - }, - NativeInt8List: function NativeInt8List() { - }, - NativeUint16List: function NativeUint16List() { - }, - NativeUint32List: function NativeUint32List() { - }, - NativeUint8ClampedList: function NativeUint8ClampedList() { - }, - NativeUint8List: function NativeUint8List() { - }, - _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin() { - }, - _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin() { - }, - _NativeTypedArrayOfInt_NativeTypedArray_ListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin() { - }, - _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() { - }, - 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) - return A.Rti__isUnionOfFunctionType(rti._primary); - return kind === 11 || kind === 12; - }, - Rti__getCanonicalRecipe(rti) { - return rti._canonicalRecipe; - }, - findType(recipe) { - return A._Universe_eval(init.typeUniverse, recipe, false); - }, - _substitute(universe, rti, typeArguments, depth) { - var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, t1, fields, substitutedFields, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument, - kind = rti._kind; - switch (kind) { - case 5: - case 1: - case 2: - case 3: - case 4: - return rti; - case 6: - baseType = rti._primary; - substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); - if (substitutedBaseType === baseType) - return rti; - return A._Universe__lookupQuestionRti(universe, substitutedBaseType, true); - 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 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 9: - base = rti._primary; - substitutedBase = A._substitute(universe, base, typeArguments, depth); - $arguments = rti._rest; - substitutedArguments = A._substituteArray(universe, $arguments, typeArguments, depth); - if (substitutedBase === base && substitutedArguments === $arguments) - return rti; - return A._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments); - 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 11: - returnType = rti._primary; - substitutedReturnType = A._substitute(universe, returnType, typeArguments, depth); - functionParameters = rti._rest; - substitutedFunctionParameters = A._substituteFunctionParameters(universe, functionParameters, typeArguments, depth); - if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters) - return rti; - return A._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters); - case 12: - bounds = rti._rest; - depth += bounds.length; - substitutedBounds = A._substituteArray(universe, bounds, typeArguments, depth); - base = rti._primary; - substitutedBase = A._substitute(universe, base, typeArguments, depth); - if (substitutedBounds === bounds && substitutedBase === base) - return rti; - return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true); - case 13: - index = rti._primary; - if (index < depth) - return rti; - argument = typeArguments[index - depth]; - if (argument == null) - return rti; - return argument; - default: - throw A.wrapException(A.AssertionError$("Attempted to substitute unexpected RTI kind " + kind)); - } - }, - _substituteArray(universe, rtiArray, typeArguments, depth) { - var changed, i, rti, substitutedRti, - $length = rtiArray.length, - result = A._Utils_newArrayOrEmpty($length); - for (changed = false, i = 0; i < $length; ++i) { - rti = rtiArray[i]; - substitutedRti = A._substitute(universe, rti, typeArguments, depth); - if (substitutedRti !== rti) - changed = true; - result[i] = substitutedRti; - } - return changed ? result : rtiArray; - }, - _substituteNamed(universe, namedArray, typeArguments, depth) { - var changed, i, t1, t2, rti, substitutedRti, - $length = namedArray.length, - result = A._Utils_newArrayOrEmpty($length); - for (changed = false, i = 0; i < $length; i += 3) { - t1 = namedArray[i]; - t2 = namedArray[i + 1]; - rti = namedArray[i + 2]; - substitutedRti = A._substitute(universe, rti, typeArguments, depth); - if (substitutedRti !== rti) - changed = true; - result.splice(i, 3, t1, t2, substitutedRti); - } - return changed ? result : namedArray; - }, - _substituteFunctionParameters(universe, functionParameters, typeArguments, depth) { - var result, - requiredPositional = functionParameters._requiredPositional, - substitutedRequiredPositional = A._substituteArray(universe, requiredPositional, typeArguments, depth), - optionalPositional = functionParameters._optionalPositional, - substitutedOptionalPositional = A._substituteArray(universe, optionalPositional, typeArguments, depth), - named = functionParameters._named, - substitutedNamed = A._substituteNamed(universe, named, typeArguments, depth); - if (substitutedRequiredPositional === requiredPositional && substitutedOptionalPositional === optionalPositional && substitutedNamed === named) - return functionParameters; - result = new A._FunctionParameters(); - result._requiredPositional = substitutedRequiredPositional; - result._optionalPositional = substitutedOptionalPositional; - result._named = substitutedNamed; - return result; - }, - _setArrayType(target, rti) { - target[init.arrayRti] = rti; - return target; - }, - closureFunctionType(closure) { - var signature = closure.$signature; - if (signature != null) { - if (typeof signature == "number") - return A.getTypeFromTypesTable(signature); - return closure.$signature(); - } - return null; - }, - instanceOrFunctionType(object, testRti) { - var rti; - if (A.Rti__isUnionOfFunctionType(testRti)) - if (object instanceof A.Closure) { - rti = A.closureFunctionType(object); - if (rti != null) - return rti; - } - return A.instanceType(object); - }, - instanceType(object) { - if (object instanceof A.Object) - return A._instanceType(object); - if (Array.isArray(object)) - return A._arrayInstanceType(object); - return A._instanceTypeFromConstructor(J.getInterceptor$(object)); - }, - _arrayInstanceType(object) { - var rti = object[init.arrayRti], - defaultRti = type$.JSArray_dynamic; - if (rti == null) - return defaultRti; - if (rti.constructor !== defaultRti.constructor) - return defaultRti; - return rti; - }, - _instanceType(object) { - var rti = object.$ti; - return rti != null ? rti : A._instanceTypeFromConstructor(object); - }, - _instanceTypeFromConstructor(instance) { - var $constructor = instance.constructor, - probe = $constructor.$ccache; - if (probe != null) - return probe; - return A._instanceTypeFromConstructorMiss(instance, $constructor); - }, - _instanceTypeFromConstructorMiss(instance, $constructor) { - var effectiveConstructor = instance instanceof A.Closure ? Object.getPrototypeOf(Object.getPrototypeOf(instance)).constructor : $constructor, - rti = A._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name); - $constructor.$ccache = rti; - return rti; - }, - getTypeFromTypesTable(index) { - var rti, - table = init.types, - type = table[index]; - if (typeof type == "string") { - rti = A._Universe_eval(init.typeUniverse, type, false); - table[index] = rti; - return rti; - } - return type; - }, - getRuntimeTypeOfDartObject(object) { - return A.createRuntimeType(A._instanceType(object)); - }, - _structuralTypeOf(object) { - var functionRti = object instanceof A.Closure ? A.closureFunctionType(object) : null; - if (functionRti != null) - return functionRti; - if (type$.TrustedGetRuntimeType._is(object)) - return J.get$runtimeType$(object)._rti; - if (Array.isArray(object)) - return A._arrayInstanceType(object); - return A.instanceType(object); - }, - createRuntimeType(rti) { - var t1 = rti._cachedRuntimeType; - 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 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._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._isListTestViaProperty; - if (testRti === type$.JSObject) - return A._isJSObject; - return A._isTestViaProperty; - } - } 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 null; - }, - _installSpecializedAsCheck(object) { - var testRti = this, - asFn = A._generalAsCheckImplementation; - if (A.isTopType(testRti)) - asFn = A._asTop; - else if (testRti === type$.Object) - asFn = A._asObject; - 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); - }, - _generalIsTestImplementation(object) { - var testRti = this; - if (object == null) - return A.isNullable(testRti); - return A.isSubtype(init.typeUniverse, A.instanceOrFunctionType(object, testRti), testRti); - }, - _generalNullableIsTestImplementation(object) { - if (object == null) - return true; - return this._primary._is(object); - }, - _isTestViaProperty(object) { - var tag, testRti = this; - if (object == null) - return A.isNullable(testRti); - tag = testRti._specializedTestResource; - if (object instanceof A.Object) - return !!object[tag]; - return !!J.getInterceptor$(object)[tag]; - }, - _isListTestViaProperty(object) { - var tag, testRti = this; - if (object == null) - return A.isNullable(testRti); - if (typeof object != "object") - return false; - if (Array.isArray(object)) - return true; - tag = testRti._specializedTestResource; - if (object instanceof A.Object) - 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) { - if (A.isNullable(testRti)) - return object; - } else if (testRti._is(object)) - return object; - throw A.initializeExceptionWrapper(A._errorForAsCheck(object, testRti), new Error()); - }, - _generalNullableAsCheckImplementation(object) { - var testRti = this; - if (object == null || testRti._is(object)) - return object; - throw A.initializeExceptionWrapper(A._errorForAsCheck(object, testRti), new Error()); - }, - _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__TypeError$forType(object, type) { - return new A._TypeError("TypeError: " + A._Error_compose(object, type)); - }, - _isFutureOr(object) { - var testRti = this; - return testRti._primary._is(object) || A.Rti__getFutureFromFutureOr(init.typeUniverse, testRti)._is(object); - }, - _isObject(object) { - return object != null; - }, - _asObject(object) { - if (object != null) - return object; - throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "Object"), new Error()); - }, - _isTop(object) { - return true; - }, - _asTop(object) { - return object; - }, - _isNever(object) { - return false; - }, - _isBool(object) { - return true === object || false === object; - }, - _asBool(object) { - if (true === object) - return true; - if (false === object) - return false; - throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "bool"), new Error()); - }, - _asBoolQ(object) { - if (true === object) - return true; - if (false === object) - return false; - if (object == null) - return object; - throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "bool?"), new Error()); - }, - _asDouble(object) { - if (typeof object == "number") - return object; - 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.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "double?"), new Error()); - }, - _isInt(object) { - return typeof object == "number" && Math.floor(object) === object; - }, - _asInt(object) { - if (typeof object == "number" && Math.floor(object) === object) - return object; - 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.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "int?"), new Error()); - }, - _isNum(object) { - return typeof object == "number"; - }, - _asNum(object) { - if (typeof object == "number") - return object; - 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.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "num?"), new Error()); - }, - _isString(object) { - return typeof object == "string"; - }, - _asString(object) { - if (typeof object == "string") - return object; - throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "String"), new Error()); - }, - _asStringQ(object) { - if (typeof object == "string") - return object; - if (object == null) - return object; - throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "String?"), new Error()); - }, - _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; - if (A._isJSObjectStandalone(object)) - return object; - throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "JSObject?"), new Error()); - }, - _rtiArrayToString(array, genericContext) { - var s, sep, i; - for (s = "", sep = "", i = 0; i < array.length; ++i, sep = ", ") - s += sep + A._rtiToString(array[i], genericContext); - return s; - }, - _recordRtiToString(recordType, genericContext) { - var fieldCount, names, namesIndex, s, comma, i, - partialShape = recordType._primary, - fields = recordType._rest; - if ("" === partialShape) - return "(" + A._rtiArrayToString(fields, genericContext) + ")"; - fieldCount = fields.length; - names = partialShape.split(","); - namesIndex = names.length - fieldCount; - for (s = "(", comma = "", i = 0; i < fieldCount; ++i, comma = ", ") { - s += comma; - if (namesIndex === 0) - s += "{"; - s += A._rtiToString(fields[i], genericContext); - if (namesIndex >= 0) - s += " " + names[namesIndex]; - ++namesIndex; - } - return s + "})"; - }, - _functionRtiToString(functionType, genericContext, bounds) { - 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) - genericContext = A._setArrayType([], type$.JSArray_String); - else - outerContextLength = genericContext.length; - offset = genericContext.length; - for (i = boundsLength; i > 0; --i) - B.JSArray_methods.add$1(genericContext, "T" + (offset + i)); - 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)) - typeParametersText += " extends " + A._rtiToString(boundRti, genericContext); - } - typeParametersText += ">"; - } else - typeParametersText = ""; - t1 = functionType._primary; - parameters = functionType._rest; - requiredPositional = parameters._requiredPositional; - requiredPositionalLength = requiredPositional.length; - optionalPositional = parameters._optionalPositional; - optionalPositionalLength = optionalPositional.length; - named = parameters._named; - namedLength = named.length; - returnTypeText = A._rtiToString(t1, genericContext); - for (argumentsText = "", sep = "", i = 0; i < requiredPositionalLength; ++i, sep = _s2_) - argumentsText += sep + A._rtiToString(requiredPositional[i], genericContext); - if (optionalPositionalLength > 0) { - argumentsText += sep + "["; - for (sep = "", i = 0; i < optionalPositionalLength; ++i, sep = _s2_) - argumentsText += sep + A._rtiToString(optionalPositional[i], genericContext); - argumentsText += "]"; - } - if (namedLength > 0) { - argumentsText += sep + "{"; - for (sep = "", i = 0; i < namedLength; i += 3, sep = _s2_) { - argumentsText += sep; - if (named[i + 1]) - argumentsText += "required "; - argumentsText += A._rtiToString(named[i + 2], genericContext) + " " + named[i]; - } - argumentsText += "}"; - } - if (outerContextLength != null) { - genericContext.toString; - genericContext.length = outerContextLength; - } - return typeParametersText + "(" + argumentsText + ") => " + returnTypeText; - }, - _rtiToString(rti, genericContext) { - var questionArgument, s, argumentKind, $name, $arguments, t1, t2, - kind = rti._kind; - if (kind === 5) - return "erased"; - if (kind === 2) - return "dynamic"; - if (kind === 3) - return "void"; - if (kind === 1) - return "Never"; - if (kind === 4) - return "any"; - if (kind === 6) { - questionArgument = rti._primary; - s = A._rtiToString(questionArgument, genericContext); - argumentKind = questionArgument._kind; - return (argumentKind === 11 || argumentKind === 12 ? "(" + s + ")" : s) + "?"; - } - if (kind === 7) - return "FutureOr<" + A._rtiToString(rti._primary, genericContext) + ">"; - if (kind === 8) { - $name = A._unminifyOrTag(rti._primary); - $arguments = rti._rest; - return $arguments.length > 0 ? $name + ("<" + A._rtiArrayToString($arguments, genericContext) + ">") : $name; - } - if (kind === 10) - return A._recordRtiToString(rti, genericContext); - if (kind === 11) - return A._functionRtiToString(rti, genericContext, null); - if (kind === 12) - return A._functionRtiToString(rti._primary, genericContext, rti._rest); - if (kind === 13) { - t1 = rti._primary; - t2 = genericContext.length; - t1 = t2 - 1 - t1; - if (!(t1 >= 0 && t1 < t2)) - return A.ioore(genericContext, t1); - return genericContext[t1]; - } - return "?"; - }, - _unminifyOrTag(rawClassName) { - var preserved = init.mangledGlobalNames[rawClassName]; - if (preserved != null) - return preserved; - return rawClassName; - }, - _Universe_findRule(universe, targetType) { - var rule = universe.tR[targetType]; - for (; typeof rule == "string";) - rule = universe.tR[rule]; - return rule; - }, - _Universe_findErasedType(universe, cls) { - var $length, erased, $arguments, i, $interface, - metadata = universe.eT, - probe = metadata[cls]; - if (probe == null) - return A._Universe_eval(universe, cls, false); - else if (typeof probe == "number") { - $length = probe; - erased = A._Universe__lookupTerminalRti(universe, 5, "#"); - $arguments = A._Utils_newArrayOrEmpty($length); - for (i = 0; i < $length; ++i) - $arguments[i] = erased; - $interface = A._Universe__lookupInterfaceRti(universe, cls, $arguments); - metadata[cls] = $interface; - return $interface; - } else - return probe; - }, - _Universe_addRules(universe, rules) { - return A._Utils_objectAssign(universe.tR, rules); - }, - _Universe_addErasedTypes(universe, types) { - return A._Utils_objectAssign(universe.eT, types); - }, - _Universe_eval(universe, recipe, normalize) { - var rti, - cache = universe.eC, - probe = cache.get(recipe); - if (probe != null) - return probe; - rti = A._Parser_parse(A._Parser_create(universe, null, recipe, false)); - cache.set(recipe, rti); - return rti; - }, - _Universe_evalInEnvironment(universe, environment, recipe) { - var probe, rti, - cache = environment._evalCache; - if (cache == null) - cache = environment._evalCache = new Map(); - probe = cache.get(recipe); - if (probe != null) - return probe; - rti = A._Parser_parse(A._Parser_create(universe, environment, recipe, true)); - cache.set(recipe, rti); - return rti; - }, - _Universe_bind(universe, environment, argumentsRti) { - var argumentsRecipe, probe, rti, - cache = environment._bindCache; - if (cache == null) - cache = environment._bindCache = new Map(); - argumentsRecipe = argumentsRti._canonicalRecipe; - probe = cache.get(argumentsRecipe); - if (probe != null) - return probe; - rti = A._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 9 ? argumentsRti._rest : [argumentsRti]); - cache.set(argumentsRecipe, rti); - return rti; - }, - _Universe__installTypeTests(universe, rti) { - rti._as = A._installSpecializedAsCheck; - rti._is = A._installSpecializedIsTest; - return rti; - }, - _Universe__lookupTerminalRti(universe, kind, key) { - var rti, t1, - probe = universe.eC.get(key); - if (probe != null) - return probe; - rti = new A.Rti(null, null); - rti._kind = kind; - rti._canonicalRecipe = key; - t1 = A._Universe__installTypeTests(universe, rti); - universe.eC.set(key, t1); - return t1; - }, - _Universe__lookupQuestionRti(universe, baseType, normalize) { - var t1, - key = baseType._canonicalRecipe + "?", - probe = universe.eC.get(key); - if (probe != null) - return probe; - t1 = A._Universe__createQuestionRti(universe, baseType, key, normalize); - universe.eC.set(key, t1); - return t1; - }, - _Universe__createQuestionRti(universe, baseType, key, normalize) { - var baseKind, t1, rti; - if (normalize) { - baseKind = baseType._kind; - t1 = true; - if (!A.isTopType(baseType)) - if (!(baseType === type$.Null || baseType === type$.JSNull)) - if (baseKind !== 6) - t1 = baseKind === 7 && A.isNullable(baseType._primary); - if (t1) - return baseType; - else if (baseKind === 1) - return type$.Null; - } - rti = new A.Rti(null, null); - rti._kind = 6; - rti._primary = baseType; - rti._canonicalRecipe = key; - return A._Universe__installTypeTests(universe, rti); - }, - _Universe__lookupFutureOrRti(universe, baseType, normalize) { - var t1, - key = baseType._canonicalRecipe + "/", - probe = universe.eC.get(key); - if (probe != null) - return probe; - t1 = A._Universe__createFutureOrRti(universe, baseType, key, normalize); - universe.eC.set(key, t1); - return t1; - }, - _Universe__createFutureOrRti(universe, baseType, key, normalize) { - var t1, rti; - if (normalize) { - t1 = baseType._kind; - if (A.isTopType(baseType) || baseType === type$.Object) - return baseType; - else if (t1 === 1) - return A._Universe__lookupInterfaceRti(universe, "Future", [baseType]); - else if (baseType === type$.Null || baseType === type$.JSNull) - return type$.nullable_Future_Null; - } - rti = new A.Rti(null, null); - rti._kind = 7; - rti._primary = baseType; - rti._canonicalRecipe = key; - return A._Universe__installTypeTests(universe, rti); - }, - _Universe__lookupGenericFunctionParameterRti(universe, index) { - var rti, t1, - key = "" + index + "^", - probe = universe.eC.get(key); - if (probe != null) - return probe; - rti = new A.Rti(null, null); - rti._kind = 13; - rti._primary = index; - rti._canonicalRecipe = key; - t1 = A._Universe__installTypeTests(universe, rti); - universe.eC.set(key, t1); - return t1; - }, - _Universe__canonicalRecipeJoin($arguments) { - var s, sep, i, - $length = $arguments.length; - for (s = "", sep = "", i = 0; i < $length; ++i, sep = ",") - s += sep + $arguments[i]._canonicalRecipe; - return s; - }, - _Universe__canonicalRecipeJoinNamed($arguments) { - var s, sep, i, t1, nameSep, - $length = $arguments.length; - for (s = "", sep = "", i = 0; i < $length; i += 3, sep = ",") { - t1 = $arguments[i]; - nameSep = $arguments[i + 1] ? "!" : ":"; - s += sep + t1 + nameSep + $arguments[i + 2]._canonicalRecipe; - } - return s; - }, - _Universe__lookupInterfaceRti(universe, $name, $arguments) { - var probe, rti, t1, - s = $name; - if ($arguments.length > 0) - s += "<" + A._Universe__canonicalRecipeJoin($arguments) + ">"; - probe = universe.eC.get(s); - if (probe != null) - return probe; - rti = new A.Rti(null, null); - rti._kind = 8; - rti._primary = $name; - rti._rest = $arguments; - if ($arguments.length > 0) - rti._precomputed1 = $arguments[0]; - rti._canonicalRecipe = s; - t1 = A._Universe__installTypeTests(universe, rti); - universe.eC.set(s, t1); - return t1; - }, - _Universe__lookupBindingRti(universe, base, $arguments) { - var newBase, newArguments, key, probe, rti, t1; - if (base._kind === 9) { - newBase = base._primary; - newArguments = base._rest.concat($arguments); - } else { - newArguments = $arguments; - newBase = base; - } - key = newBase._canonicalRecipe + (";<" + A._Universe__canonicalRecipeJoin(newArguments) + ">"); - probe = universe.eC.get(key); - if (probe != null) - return probe; - rti = new A.Rti(null, null); - rti._kind = 9; - rti._primary = newBase; - rti._rest = newArguments; - rti._canonicalRecipe = key; - t1 = A._Universe__installTypeTests(universe, rti); - universe.eC.set(key, t1); - return t1; - }, - _Universe__lookupRecordRti(universe, partialShapeTag, fields) { - var rti, t1, - key = "+" + (partialShapeTag + "(" + A._Universe__canonicalRecipeJoin(fields) + ")"), - probe = universe.eC.get(key); - if (probe != null) - return probe; - rti = new A.Rti(null, null); - rti._kind = 10; - rti._primary = partialShapeTag; - rti._rest = fields; - rti._canonicalRecipe = key; - t1 = A._Universe__installTypeTests(universe, rti); - universe.eC.set(key, t1); - return t1; - }, - _Universe__lookupFunctionRti(universe, returnType, parameters) { - var sep, key, probe, rti, t1, - s = returnType._canonicalRecipe, - requiredPositional = parameters._requiredPositional, - requiredPositionalLength = requiredPositional.length, - optionalPositional = parameters._optionalPositional, - optionalPositionalLength = optionalPositional.length, - named = parameters._named, - namedLength = named.length, - recipe = "(" + A._Universe__canonicalRecipeJoin(requiredPositional); - if (optionalPositionalLength > 0) { - sep = requiredPositionalLength > 0 ? "," : ""; - recipe += sep + "[" + A._Universe__canonicalRecipeJoin(optionalPositional) + "]"; - } - if (namedLength > 0) { - sep = requiredPositionalLength > 0 ? "," : ""; - recipe += sep + "{" + A._Universe__canonicalRecipeJoinNamed(named) + "}"; - } - key = s + (recipe + ")"); - probe = universe.eC.get(key); - if (probe != null) - return probe; - rti = new A.Rti(null, null); - rti._kind = 11; - rti._primary = returnType; - rti._rest = parameters; - rti._canonicalRecipe = key; - t1 = A._Universe__installTypeTests(universe, rti); - universe.eC.set(key, t1); - return t1; - }, - _Universe__lookupGenericFunctionRti(universe, baseFunctionType, bounds, normalize) { - var t1, - key = baseFunctionType._canonicalRecipe + ("<" + A._Universe__canonicalRecipeJoin(bounds) + ">"), - probe = universe.eC.get(key); - if (probe != null) - return probe; - t1 = A._Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize); - universe.eC.set(key, t1); - return t1; - }, - _Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize) { - var $length, typeArguments, count, i, bound, substitutedBase, substitutedBounds, rti; - if (normalize) { - $length = bounds.length; - typeArguments = A._Utils_newArrayOrEmpty($length); - for (count = 0, i = 0; i < $length; ++i) { - bound = bounds[i]; - if (bound._kind === 1) { - typeArguments[i] = bound; - ++count; - } - } - if (count > 0) { - substitutedBase = A._substitute(universe, baseFunctionType, typeArguments, 0); - substitutedBounds = A._substituteArray(universe, bounds, typeArguments, 0); - return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, bounds !== substitutedBounds); - } - } - rti = new A.Rti(null, null); - rti._kind = 12; - rti._primary = baseFunctionType; - rti._rest = bounds; - rti._canonicalRecipe = key; - return A._Universe__installTypeTests(universe, rti); - }, - _Parser_create(universe, environment, recipe, normalize) { - return {u: universe, e: environment, r: recipe, s: [], p: 0, n: normalize}; - }, - _Parser_parse(parser) { - var t1, i, ch, u, array, end, item, - source = parser.r, - 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, stack); - else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36 || ch === 124) - i = A._Parser_handleIdentifier(parser, i, source, stack, false); - else if (ch === 46) - i = A._Parser_handleIdentifier(parser, i, source, stack, true); - else { - ++i; - switch (ch) { - case 44: - break; - case 58: - stack.push(false); - break; - case 33: - stack.push(true); - break; - case 59: - stack.push(A._Parser_toType(parser.u, parser.e, stack.pop())); - break; - case 94: - stack.push(A._Universe__lookupGenericFunctionParameterRti(parser.u, stack.pop())); - break; - case 35: - stack.push(A._Universe__lookupTerminalRti(parser.u, 5, "#")); - break; - case 64: - stack.push(A._Universe__lookupTerminalRti(parser.u, 2, "@")); - break; - case 126: - stack.push(A._Universe__lookupTerminalRti(parser.u, 3, "~")); - break; - case 60: - stack.push(parser.p); - parser.p = stack.length; - break; - case 62: - A._Parser_handleTypeArguments(parser, stack); - break; - case 38: - A._Parser_handleExtendedOperations(parser, stack); - break; - case 63: - u = parser.u; - stack.push(A._Universe__lookupQuestionRti(u, A._Parser_toType(u, parser.e, stack.pop()), parser.n)); - break; - case 47: - u = parser.u; - stack.push(A._Universe__lookupFutureOrRti(u, A._Parser_toType(u, parser.e, stack.pop()), parser.n)); - break; - case 40: - stack.push(-3); - stack.push(parser.p); - parser.p = stack.length; - break; - case 41: - A._Parser_handleArguments(parser, stack); - break; - case 91: - stack.push(parser.p); - parser.p = stack.length; - break; - case 93: - array = stack.splice(parser.p); - A._Parser_toTypes(parser.u, parser.e, array); - parser.p = stack.pop(); - stack.push(array); - stack.push(-1); - break; - case 123: - stack.push(parser.p); - parser.p = stack.length; - break; - case 125: - array = stack.splice(parser.p); - A._Parser_toTypesNamed(parser.u, parser.e, array); - parser.p = stack.pop(); - stack.push(array); - stack.push(-2); - break; - case 43: - end = source.indexOf("(", i); - stack.push(source.substring(i, end)); - stack.push(-4); - stack.push(parser.p); - parser.p = stack.length; - i = end + 1; - break; - default: - throw "Bad character " + ch; - } - } - } - item = stack.pop(); - return A._Parser_toType(parser.u, parser.e, item); - }, - _Parser_handleDigit(i, digit, source, stack) { - var t1, ch, - value = digit - 48; - for (t1 = source.length; i < t1; ++i) { - ch = source.charCodeAt(i); - if (!(ch >= 48 && ch <= 57)) - break; - value = value * 10 + (ch - 48); - } - stack.push(value); - return i; - }, - _Parser_handleIdentifier(parser, start, source, stack, hasPeriod) { - var t1, ch, t2, string, environment, recipe, - i = start + 1; - for (t1 = source.length; i < t1; ++i) { - ch = source.charCodeAt(i); - if (ch === 46) { - if (hasPeriod) - break; - hasPeriod = true; - } else { - if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36 || ch === 124)) - t2 = ch >= 48 && ch <= 57; - else - t2 = true; - if (!t2) - break; - } - } - string = source.substring(start, i); - if (hasPeriod) { - t1 = parser.u; - environment = parser.e; - if (environment._kind === 9) - environment = environment._primary; - recipe = A._Universe_findRule(t1, environment._primary)[string]; - if (recipe == null) - A.throwExpression('No "' + string + '" in "' + A.Rti__getCanonicalRecipe(environment) + '"'); - stack.push(A._Universe_evalInEnvironment(t1, environment, recipe)); - } else - stack.push(string); - return i; - }, - _Parser_handleTypeArguments(parser, stack) { - var base, - universe = parser.u, - $arguments = A._Parser_collectArray(parser, stack), - head = stack.pop(); - if (typeof head == "string") - stack.push(A._Universe__lookupInterfaceRti(universe, head, $arguments)); - else { - base = A._Parser_toType(universe, parser.e, head); - switch (base._kind) { - case 11: - stack.push(A._Universe__lookupGenericFunctionRti(universe, base, $arguments, parser.n)); - break; - default: - stack.push(A._Universe__lookupBindingRti(universe, base, $arguments)); - break; - } - } - }, - _Parser_handleArguments(parser, stack) { - var requiredPositional, returnType, parameters, - universe = parser.u, - head = stack.pop(), - optionalPositional = null, named = null; - if (typeof head == "number") - switch (head) { - case -1: - optionalPositional = stack.pop(); - break; - case -2: - named = stack.pop(); - break; - default: - stack.push(head); - break; - } - else - stack.push(head); - requiredPositional = A._Parser_collectArray(parser, stack); - head = stack.pop(); - switch (head) { - case -3: - head = stack.pop(); - if (optionalPositional == null) - optionalPositional = universe.sEA; - if (named == null) - 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(universe, returnType, parameters)); - return; - case -4: - stack.push(A._Universe__lookupRecordRti(universe, stack.pop(), requiredPositional)); - return; - default: - throw A.wrapException(A.AssertionError$("Unexpected state under `()`: " + A.S(head))); - } - }, - _Parser_handleExtendedOperations(parser, stack) { - var $top = stack.pop(); - if (0 === $top) { - stack.push(A._Universe__lookupTerminalRti(parser.u, 1, "0&")); - return; - } - if (1 === $top) { - stack.push(A._Universe__lookupTerminalRti(parser.u, 4, "1&")); - return; - } - throw A.wrapException(A.AssertionError$("Unexpected extended operation " + A.S($top))); - }, - _Parser_collectArray(parser, stack) { - var array = stack.splice(parser.p); - A._Parser_toTypes(parser.u, parser.e, array); - parser.p = stack.pop(); - return array; - }, - _Parser_toType(universe, environment, item) { - if (typeof item == "string") - return A._Universe__lookupInterfaceRti(universe, item, universe.sEA); - else if (typeof item == "number") { - environment.toString; - return A._Parser_indexToType(universe, environment, item); - } else - return item; - }, - _Parser_toTypes(universe, environment, items) { - var i, - $length = items.length; - for (i = 0; i < $length; ++i) - items[i] = A._Parser_toType(universe, environment, items[i]); - }, - _Parser_toTypesNamed(universe, environment, items) { - var i, - $length = items.length; - for (i = 2; i < $length; i += 3) - items[i] = A._Parser_toType(universe, environment, items[i]); - }, - _Parser_indexToType(universe, environment, index) { - var typeArguments, len, - kind = environment._kind; - if (kind === 9) { - if (index === 0) - return environment._primary; - typeArguments = environment._rest; - len = typeArguments.length; - if (index <= len) - return typeArguments[index - 1]; - index -= len; - environment = environment._primary; - kind = environment._kind; - } else if (index === 0) - return environment; - if (kind !== 8) - throw A.wrapException(A.AssertionError$("Indexed base must be an interface type")); - typeArguments = environment._rest; - if (index <= typeArguments.length) - return typeArguments[index - 1]; - throw A.wrapException(A.AssertionError$("Bad index " + index + " for " + environment.toString$0(0))); - }, - isSubtype(universe, s, t) { - var result, - sCache = s._isSubtypeCache; - if (sCache == null) - sCache = s._isSubtypeCache = new Map(); - result = sCache.get(t); - if (result == null) { - result = A._isSubtype(universe, s, null, t, null); - sCache.set(t, result); - } - return result; - }, - _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.isTopType(t)) - return true; - sKind = s._kind; - if (sKind === 4) - return true; - if (A.isTopType(s)) - return false; - if (s._kind === 1) - return true; - leftTypeVariable = sKind === 13; - if (leftTypeVariable) - if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv)) - return true; - tKind = t._kind; - 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 === 7) - return A._isSubtype(universe, s._primary, sEnv, t, tEnv); - return sKind !== 6; - } - if (sKind === 7) { - 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) { - 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 !== 11; - if ((!t1 || sKind === 12) && t === type$.Function) - return true; - t2 = sKind === 10; - if (t2 && t === type$.Record) - return true; - if (tKind === 12) { - if (s === type$.JavaScriptFunction) - return true; - if (sKind !== 12) - return false; - sBounds = s._rest; - tBounds = t._rest; - sLength = sBounds.length; - if (sLength !== tBounds.length) - return false; - sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv); - tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv); - for (i = 0; i < sLength; ++i) { - sBound = sBounds[i]; - tBound = tBounds[i]; - 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); - } - if (tKind === 11) { - if (s === type$.JavaScriptFunction) - return true; - if (t1) - return false; - return A._isFunctionSubtype(universe, s, sEnv, t, tEnv); - } - if (sKind === 8) { - if (tKind !== 8) - return false; - return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv); - } - if (t2 && tKind === 10) - return A._isRecordSubtype(universe, s, sEnv, t, tEnv); - return false; - }, - _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)) - return false; - sParameters = s._rest; - tParameters = t._rest; - sRequiredPositional = sParameters._requiredPositional; - tRequiredPositional = tParameters._requiredPositional; - sRequiredPositionalLength = sRequiredPositional.length; - tRequiredPositionalLength = tRequiredPositional.length; - if (sRequiredPositionalLength > tRequiredPositionalLength) - return false; - requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength; - sOptionalPositional = sParameters._optionalPositional; - tOptionalPositional = tParameters._optionalPositional; - sOptionalPositionalLength = sOptionalPositional.length; - tOptionalPositionalLength = tOptionalPositional.length; - if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength) - return false; - for (i = 0; i < sRequiredPositionalLength; ++i) { - t1 = sRequiredPositional[i]; - 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)) - return false; - } - for (i = 0; i < tOptionalPositionalLength; ++i) { - t1 = sOptionalPositional[requiredPositionalDelta + i]; - if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv)) - return false; - } - sNamed = sParameters._named; - tNamed = tParameters._named; - sNamedLength = sNamed.length; - tNamedLength = tNamed.length; - for (sIndex = 0, tIndex = 0; tIndex < tNamedLength; tIndex += 3) { - tName = tNamed[tIndex]; - for (; true;) { - if (sIndex >= sNamedLength) - return false; - sName = sNamed[sIndex]; - sIndex += 3; - if (tName < sName) - return false; - sIsRequired = sNamed[sIndex - 2]; - if (sName < tName) { - if (sIsRequired) - return false; - continue; - } - t1 = tNamed[tIndex + 1]; - if (sIsRequired && !t1) - return false; - t1 = sNamed[sIndex - 1]; - if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv)) - return false; - break; - } - } - for (; sIndex < sNamedLength;) { - if (sNamed[sIndex + 1]) - return false; - sIndex += 3; - } - return true; - }, - _isInterfaceSubtype(universe, s, sEnv, t, tEnv) { - var rule, recipes, $length, supertypeArgs, i, - sName = s._primary, - tName = t._primary; - for (; sName !== tName;) { - rule = universe.tR[sName]; - if (rule == null) - return false; - if (typeof rule == "string") { - sName = rule; - continue; - } - recipes = rule[tName]; - if (recipes == null) - return false; - $length = recipes.length; - 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); - } - return A._areArgumentsSubtypes(universe, s._rest, null, sEnv, t._rest, tEnv); - }, - _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)) - return false; - return true; - }, - _isRecordSubtype(universe, s, sEnv, t, tEnv) { - var i, - sFields = s._rest, - tFields = t._rest, - sCount = sFields.length; - if (sCount !== tFields.length) - return false; - if (s._primary !== t._primary) - return false; - for (i = 0; i < sCount; ++i) - if (!A._isSubtype(universe, sFields[i], sEnv, tFields[i], tEnv)) - return false; - return true; - }, - isNullable(t) { - var kind = t._kind, - t1 = true; - if (!(t === type$.Null || t === type$.JSNull)) - if (!A.isTopType(t)) - if (kind !== 6) - t1 = kind === 7 && A.isNullable(t._primary); - return t1; - }, - isTopType(t) { - var kind = t._kind; - return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object; - }, - _Utils_objectAssign(o, other) { - var i, key, - keys = Object.keys(other), - $length = keys.length; - for (i = 0; i < $length; ++i) { - key = keys[i]; - o[key] = other[key]; - } - }, - _Utils_newArrayOrEmpty($length) { - return $length > 0 ? new Array($length) : init.typeUniverse.sEA; - }, - Rti: function Rti(t0, t1) { - var _ = this; - _._as = t0; - _._is = t1; - _._cachedRuntimeType = _._specializedTestResource = _._isSubtypeCache = _._precomputed1 = null; - _._kind = 0; - _._canonicalRecipe = _._bindCache = _._evalCache = _._rest = _._primary = null; - }, - _FunctionParameters: function _FunctionParameters() { - this._named = this._optionalPositional = this._requiredPositional = null; - }, - _Type: function _Type(t0) { - this._rti = t0; - }, - _Error: function _Error() { - }, - _TypeError: function _TypeError(t0) { - this.__rti$_message = t0; - }, - _AsyncRun__initializeScheduleImmediate() { - var t1, div, span; - if (self.scheduleImmediate != null) - return A.async__AsyncRun__scheduleImmediateJsOverride$closure(); - if (self.MutationObserver != null && self.document != null) { - t1 = {}; - div = self.document.createElement("div"); - span = self.document.createElement("span"); - t1.storedCallback = null; - new self.MutationObserver(A.convertDartClosureToJS(new A._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, {childList: true}); - return new A._AsyncRun__initializeScheduleImmediate_closure(t1, div, span); - } else if (self.setImmediate != null) - return A.async__AsyncRun__scheduleImmediateWithSetImmediate$closure(); - return A.async__AsyncRun__scheduleImmediateWithTimer$closure(); - }, - _AsyncRun__scheduleImmediateJsOverride(callback) { - self.scheduleImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateJsOverride_internalCallback(type$.void_Function._as(callback)), 0)); - }, - _AsyncRun__scheduleImmediateWithSetImmediate(callback) { - self.setImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(type$.void_Function._as(callback)), 0)); - }, - _AsyncRun__scheduleImmediateWithTimer(callback) { - type$.void_Function._as(callback); - A._TimerImpl$(0, callback); - }, - _TimerImpl$(milliseconds, callback) { - var t1 = new A._TimerImpl(); - t1._TimerImpl$2(milliseconds, callback); - return t1; - }, - _makeAsyncAwaitCompleter($T) { - return new A._AsyncAwaitCompleter(new A._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncAwaitCompleter<0>")); - }, - _asyncStartSync(bodyFunction, completer) { - bodyFunction.call$2(0, null); - completer.isSync = true; - return completer._future; - }, - _asyncAwait(object, bodyFunction) { - A._awaitOnObject(object, bodyFunction); - }, - _asyncReturn(object, completer) { - completer.complete$1(object); - }, - _asyncRethrow(object, completer) { - completer.completeError$2(A.unwrapException(object), A.getTraceFromException(object)); - }, - _awaitOnObject(object, bodyFunction) { - var t1, future, - thenCallback = new A._awaitOnObject_closure(bodyFunction), - errorCallback = new A._awaitOnObject_closure0(bodyFunction); - if (object instanceof A._Future) - object._thenAwait$1$2(thenCallback, errorCallback, type$.dynamic); - else { - t1 = type$.dynamic; - if (object instanceof A._Future) - object.then$1$2$onError(thenCallback, errorCallback, t1); - else { - future = new A._Future($.Zone__current, type$._Future_dynamic); - future._state = 8; - future._resultOrListeners = object; - future._thenAwait$1$2(thenCallback, errorCallback, t1); - } - } - }, - _wrapJsFunctionForAsync($function) { - var $protected = function(fn, ERROR) { - return function(errorCode, result) { - while (true) { - try { - fn(errorCode, result); - break; - } catch (error) { - result = error; - errorCode = ERROR; - } - } - }; - }($function, 1); - return $.Zone__current.registerBinaryCallback$3$1(new A._wrapJsFunctionForAsync_closure($protected), type$.void, type$.int, type$.dynamic); - }, - AsyncError_defaultStackTrace(error) { - var stackTrace; - if (type$.Error._is(error)) { - stackTrace = error.get$stackTrace(); - if (stackTrace != null) - return stackTrace; - } - return B.C__StringStackTrace; - }, - _interceptError(error, stackTrace) { - if ($.Zone__current === B.C__RootZone) - return null; - return null; - }, - _interceptUserError(error, stackTrace) { - if ($.Zone__current !== B.C__RootZone) - A._interceptError(error, stackTrace); - if (stackTrace == null) - if (type$.Error._is(error)) { - stackTrace = error.get$stackTrace(); - if (stackTrace == null) { - A.Primitives_trySetStackTrace(error, B.C__StringStackTrace); - stackTrace = B.C__StringStackTrace; - } - } else - stackTrace = B.C__StringStackTrace; - else if (type$.Error._is(error)) - A.Primitives_trySetStackTrace(error, stackTrace); - return new A.AsyncError(error, stackTrace); - }, - _Future__chainCoreFuture(source, target, sync) { - var t2, t3, ignoreError, listeners, _box_0 = {}, - t1 = _box_0.source = source; - for (t2 = type$._Future_dynamic; t3 = t1._state, (t3 & 4) !== 0; t1 = source) { - source = t2._as(t1._resultOrListeners); - _box_0.source = source; - } - if (t1 === target) { - 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; - t2 = t1._state = t3 | ignoreError; - if ((t2 & 24) === 0) { - listeners = type$.nullable__FutureListener_dynamic_dynamic._as(target._resultOrListeners); - target._state = target._state & 1 | 4; - target._resultOrListeners = t1; - t1._prependListeners$1(listeners); - return; - } - if (!sync) - if (target._resultOrListeners == null) - t1 = (t2 & 16) === 0 || ignoreError !== 0; - else - t1 = false; - else - t1 = true; - if (t1) { - listeners = target._removeListeners$0(); - target._cloneResult$1(_box_0.source); - A._Future__propagateToListeners(target, listeners); - return; - } - target._state ^= 2; - 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, _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; true;) { - _box_0 = {}; - t4 = t1._state; - t5 = (t4 & 16) === 0; - hasError = !t5; - if (listeners == null) { - if (hasError && (t4 & 1) === 0) { - asyncError = t2._as(t1._resultOrListeners); - A._rootHandleError(asyncError.error, asyncError.stackTrace); - } - return; - } - _box_0.listener = listeners; - nextListener = listeners._nextListener; - for (t1 = listeners; nextListener != null; t1 = nextListener, nextListener = nextListener0) { - t1._nextListener = null; - A._Future__propagateToListeners(_box_1.source, t1); - _box_0.listener = nextListener; - nextListener0 = nextListener._nextListener; - } - t4 = _box_1.source; - sourceResult = t4._resultOrListeners; - _box_0.listenerHasError = hasError; - _box_0.listenerValueOrError = sourceResult; - if (t5) { - t6 = t1.state; - t6 = (t6 & 1) !== 0 || (t6 & 15) === 8; - } else - t6 = true; - if (t6) { - zone = t1.result._zone; - if (hasError) { - t4 = t4._zone === zone; - t4 = !(t4 || t4); - } else - t4 = false; - if (t4) { - t2._as(sourceResult); - A._rootHandleError(sourceResult.error, sourceResult.stackTrace); - return; - } - oldZone = $.Zone__current; - if (oldZone !== zone) - $.Zone__current = zone; - else - oldZone = null; - t1 = t1.state; - if ((t1 & 15) === 8) - new A._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0(); - else if (t5) { - if ((t1 & 1) !== 0) - new A._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0(); - } else if ((t1 & 2) !== 0) - new A._Future__propagateToListeners_handleError(_box_1, _box_0).call$0(); - if (oldZone != null) - $.Zone__current = oldZone; - t1 = _box_0.listenerValueOrError; - if (t1 instanceof A._Future) { - t4 = _box_0.listener.$ti; - t4 = t4._eval$1("Future<2>")._is(t1) || !t4._rest[1]._is(t1); - } else - t4 = false; - if (t4) { - result = _box_0.listener.result; - if ((t1._state & 24) !== 0) { - current = t3._as(result._resultOrListeners); - result._resultOrListeners = null; - listeners = result._reverseListeners$1(current); - result._state = t1._state & 30 | result._state & 1; - result._resultOrListeners = t1._resultOrListeners; - _box_1.source = t1; - continue; - } else - A._Future__chainCoreFuture(t1, result, true); - return; - } - } - result = _box_0.listener.result; - current = t3._as(result._resultOrListeners); - result._resultOrListeners = null; - listeners = result._reverseListeners$1(current); - t1 = _box_0.listenerHasError; - t4 = _box_0.listenerValueOrError; - if (!t1) { - result.$ti._precomputed1._as(t4); - result._state = 8; - result._resultOrListeners = t4; - } else { - t2._as(t4); - result._state = result._state & 1 | 16; - result._resultOrListeners = t4; - } - _box_1.source = result; - t1 = result; - } - }, - _registerErrorHandler(errorHandler, zone) { - var t1; - if (type$.dynamic_Function_Object_StackTrace._is(errorHandler)) - return zone.registerBinaryCallback$3$1(errorHandler, type$.dynamic, type$.Object, type$.StackTrace); - t1 = type$.dynamic_Function_Object; - if (t1._is(errorHandler)) - return t1._as(errorHandler); - throw A.wrapException(A.ArgumentError$value(errorHandler, "onError", string$.Error_)); - }, - _microtaskLoop() { - var entry, next; - for (entry = $._nextCallback; entry != null; entry = $._nextCallback) { - $._lastPriorityCallback = null; - next = entry.next; - $._nextCallback = next; - if (next == null) - $._lastCallback = null; - entry.callback.call$0(); - } - }, - _startMicrotaskLoop() { - $._isInCallbackLoop = true; - try { - A._microtaskLoop(); - } finally { - $._lastPriorityCallback = null; - $._isInCallbackLoop = false; - if ($._nextCallback != null) - $.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure()); - } - }, - _scheduleAsyncCallback(callback) { - var newEntry = new A._AsyncCallbackEntry(callback), - lastCallback = $._lastCallback; - if (lastCallback == null) { - $._nextCallback = $._lastCallback = newEntry; - if (!$._isInCallbackLoop) - $.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure()); - } else - $._lastCallback = lastCallback.next = newEntry; - }, - _schedulePriorityAsyncCallback(callback) { - var entry, lastPriorityCallback, next, - t1 = $._nextCallback; - if (t1 == null) { - A._scheduleAsyncCallback(callback); - $._lastPriorityCallback = $._lastCallback; - return; - } - entry = new A._AsyncCallbackEntry(callback); - lastPriorityCallback = $._lastPriorityCallback; - if (lastPriorityCallback == null) { - entry.next = t1; - $._nextCallback = $._lastPriorityCallback = entry; - } else { - next = lastPriorityCallback.next; - entry.next = next; - $._lastPriorityCallback = lastPriorityCallback.next = entry; - if (next == null) - $._lastCallback = entry; - } - }, - scheduleMicrotask(callback) { - var _null = null, - currentZone = $.Zone__current; - if (B.C__RootZone === currentZone) { - A._rootScheduleMicrotask(_null, _null, B.C__RootZone, callback); - return; - } - A._rootScheduleMicrotask(_null, _null, currentZone, type$.void_Function._as(currentZone.bindCallbackGuarded$1(callback))); - }, - StreamIterator_StreamIterator(stream, $T) { - A.checkNotNullable(stream, "stream", type$.Object); - return new A._StreamIterator($T._eval$1("_StreamIterator<0>")); - }, - _runGuarded(notificationHandler) { - return; - }, - _BufferingStreamSubscription__registerErrorHandler(zone, handleError) { - if (handleError == null) - handleError = A.async___nullErrorHandler$closure(); - if (type$.void_Function_Object_StackTrace._is(handleError)) - return zone.registerBinaryCallback$3$1(handleError, type$.dynamic, type$.Object, type$.StackTrace); - if (type$.void_Function_Object._is(handleError)) - return type$.dynamic_Function_Object._as(handleError); - throw A.wrapException(A.ArgumentError$("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.", null)); - }, - _nullErrorHandler(error, stackTrace) { - A._rootHandleError(error, stackTrace); - }, - _nullDoneHandler() { - }, - _rootHandleError(error, stackTrace) { - A._schedulePriorityAsyncCallback(new A._rootHandleError_closure(error, stackTrace)); - }, - _rootRun($self, $parent, zone, f, $R) { - var old, - t1 = $.Zone__current; - if (t1 === zone) - return f.call$0(); - $.Zone__current = zone; - old = t1; - try { - t1 = f.call$0(); - return t1; - } finally { - $.Zone__current = old; - } - }, - _rootRunUnary($self, $parent, zone, f, arg, $R, $T) { - var old, - t1 = $.Zone__current; - if (t1 === zone) - return f.call$1(arg); - $.Zone__current = zone; - old = t1; - try { - t1 = f.call$1(arg); - return t1; - } finally { - $.Zone__current = old; - } - }, - _rootRunBinary($self, $parent, zone, f, arg1, arg2, $R, $T1, $T2) { - var old, - t1 = $.Zone__current; - if (t1 === zone) - return f.call$2(arg1, arg2); - $.Zone__current = zone; - old = t1; - try { - t1 = f.call$2(arg1, arg2); - return t1; - } finally { - $.Zone__current = old; - } - }, - _rootScheduleMicrotask($self, $parent, zone, f) { - type$.void_Function._as(f); - if (B.C__RootZone !== zone) { - f = zone.bindCallbackGuarded$1(f); - f = f; - } - A._scheduleAsyncCallback(f); - }, - _AsyncRun__initializeScheduleImmediate_internalCallback: function _AsyncRun__initializeScheduleImmediate_internalCallback(t0) { - this._box_0 = t0; - }, - _AsyncRun__initializeScheduleImmediate_closure: function _AsyncRun__initializeScheduleImmediate_closure(t0, t1, t2) { - this._box_0 = t0; - this.div = t1; - this.span = t2; - }, - _AsyncRun__scheduleImmediateJsOverride_internalCallback: function _AsyncRun__scheduleImmediateJsOverride_internalCallback(t0) { - this.callback = t0; - }, - _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: function _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(t0) { - this.callback = t0; - }, - _TimerImpl: function _TimerImpl() { - }, - _TimerImpl_internalCallback: function _TimerImpl_internalCallback(t0, t1) { - this.$this = t0; - this.callback = t1; - }, - _AsyncAwaitCompleter: function _AsyncAwaitCompleter(t0, t1) { - this._future = t0; - this.isSync = false; - this.$ti = t1; - }, - _awaitOnObject_closure: function _awaitOnObject_closure(t0) { - this.bodyFunction = t0; - }, - _awaitOnObject_closure0: function _awaitOnObject_closure0(t0) { - this.bodyFunction = t0; - }, - _wrapJsFunctionForAsync_closure: function _wrapJsFunctionForAsync_closure(t0) { - this.$protected = t0; - }, - AsyncError: function AsyncError(t0, t1) { - this.error = t0; - this.stackTrace = t1; - }, - _BroadcastStream: function _BroadcastStream(t0, t1) { - this._async$_controller = t0; - this.$ti = t1; - }, - _BroadcastSubscription: function _BroadcastSubscription(t0, t1, t2, t3, t4) { - var _ = this; - _._eventState = 0; - _._async$_previous = _._async$_next = null; - _._async$_controller = t0; - _._onData = t1; - _._zone = t2; - _._state = t3; - _._pending = null; - _.$ti = t4; - }, - _BroadcastStreamController: function _BroadcastStreamController() { - }, - _SyncBroadcastStreamController: function _SyncBroadcastStreamController(t0, t1, t2) { - var _ = this; - _.onListen = t0; - _.onCancel = t1; - _._state = 0; - _._lastSubscription = _._firstSubscription = null; - _.$ti = t2; - }, - _SyncBroadcastStreamController__sendData_closure: function _SyncBroadcastStreamController__sendData_closure(t0, t1) { - this.$this = t0; - this.data = t1; - }, - _Completer: function _Completer() { - }, - _AsyncCompleter: function _AsyncCompleter(t0, t1) { - this.future = t0; - this.$ti = t1; - }, - _FutureListener: function _FutureListener(t0, t1, t2, t3, t4) { - var _ = this; - _._nextListener = null; - _.result = t0; - _.state = t1; - _.callback = t2; - _.errorCallback = t3; - _.$ti = t4; - }, - _Future: function _Future(t0, t1) { - var _ = this; - _._state = 0; - _._zone = t0; - _._resultOrListeners = null; - _.$ti = t1; - }, - _Future__addListener_closure: function _Future__addListener_closure(t0, t1) { - this.$this = t0; - this.listener = t1; - }, - _Future__prependListeners_closure: function _Future__prependListeners_closure(t0, t1) { - this._box_0 = t0; - this.$this = t1; - }, - _Future__chainCoreFuture_closure: function _Future__chainCoreFuture_closure(t0, t1) { - this._box_0 = t0; - this.target = t1; - }, - _Future__asyncCompleteWithValue_closure: function _Future__asyncCompleteWithValue_closure(t0, t1) { - this.$this = t0; - this.value = t1; - }, - _Future__asyncCompleteErrorObject_closure: function _Future__asyncCompleteErrorObject_closure(t0, t1) { - this.$this = t0; - this.error = t1; - }, - _Future__propagateToListeners_handleWhenCompleteCallback: function _Future__propagateToListeners_handleWhenCompleteCallback(t0, t1, t2) { - this._box_0 = t0; - this._box_1 = t1; - this.hasError = t2; - }, - _Future__propagateToListeners_handleWhenCompleteCallback_closure: function _Future__propagateToListeners_handleWhenCompleteCallback_closure(t0, t1) { - this.joinedResult = t0; - this.originalSource = t1; - }, - _Future__propagateToListeners_handleWhenCompleteCallback_closure0: function _Future__propagateToListeners_handleWhenCompleteCallback_closure0(t0) { - this.joinedResult = t0; - }, - _Future__propagateToListeners_handleValueCallback: function _Future__propagateToListeners_handleValueCallback(t0, t1) { - this._box_0 = t0; - this.sourceResult = t1; - }, - _Future__propagateToListeners_handleError: function _Future__propagateToListeners_handleError(t0, t1) { - this._box_1 = t0; - this._box_0 = t1; - }, - _AsyncCallbackEntry: function _AsyncCallbackEntry(t0) { - this.callback = t0; - this.next = null; - }, - Stream: function Stream() { - }, - Stream_length_closure: function Stream_length_closure(t0, t1) { - this._box_0 = t0; - this.$this = t1; - }, - Stream_length_closure0: function Stream_length_closure0(t0, t1) { - this._box_0 = t0; - this.future = t1; - }, - _ControllerStream: function _ControllerStream() { - }, - _ControllerSubscription: function _ControllerSubscription() { - }, - _BufferingStreamSubscription: function _BufferingStreamSubscription() { - }, - _StreamImpl: function _StreamImpl() { - }, - _DelayedEvent: function _DelayedEvent() { - }, - _DelayedData: function _DelayedData(t0, t1) { - this.value = t0; - this.next = null; - this.$ti = t1; - }, - _PendingEvents: function _PendingEvents(t0) { - var _ = this; - _._state = 0; - _.lastPendingEvent = _.firstPendingEvent = null; - _.$ti = t0; - }, - _PendingEvents_schedule_closure: function _PendingEvents_schedule_closure(t0, t1) { - this.$this = t0; - this.dispatch = t1; - }, - _DoneStreamSubscription: function _DoneStreamSubscription(t0, t1) { - var _ = this; - _._state = 1; - _._zone = t0; - _._onDone = null; - _.$ti = t1; - }, - _StreamIterator: function _StreamIterator(t0) { - this.$ti = t0; - }, - _Zone: function _Zone() { - }, - _rootHandleError_closure: function _rootHandleError_closure(t0, t1) { - this.error = t0; - this.stackTrace = t1; - }, - _RootZone: function _RootZone() { - }, - _RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) { - this.$this = t0; - this.f = t1; - }, - _HashMap__getTableEntry(table, key) { - var entry = table[key]; - return entry === table ? null : entry; - }, - _HashMap__setTableEntry(table, key, value) { - if (value == null) - table[key] = table; - else - table[key] = value; - }, - _HashMap__newHashTable() { - var table = Object.create(null); - A._HashMap__setTableEntry(table, "", table); - delete table[""]; - return table; - }, - LinkedHashMap_LinkedHashMap$_literal(keyValuePairs, $K, $V) { - return $K._eval$1("@<0>")._bind$1($V)._eval$1("LinkedHashMap<1,2>")._as(A.fillLiteralMap(keyValuePairs, new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")))); - }, - LinkedHashMap_LinkedHashMap$_empty($K, $V) { - return new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")); - }, - MapBase_mapToString(m) { - var result, t1; - if (A.isToStringVisiting(m)) - return "{...}"; - result = new A.StringBuffer(""); - try { - t1 = {}; - B.JSArray_methods.add$1($.toStringVisiting, m); - result._contents += "{"; - t1.first = true; - m.forEach$1(0, new A.MapBase_mapToString_closure(t1, result)); - result._contents += "}"; - } finally { - if (0 >= $.toStringVisiting.length) - return A.ioore($.toStringVisiting, -1); - $.toStringVisiting.pop(); - } - t1 = result._contents; - return t1.charCodeAt(0) == 0 ? t1 : t1; - }, - _HashMap: function _HashMap() { - }, - _IdentityHashMap: function _IdentityHashMap(t0) { - var _ = this; - _._collection$_length = 0; - _._collection$_keys = _._collection$_rest = _._collection$_nums = _._collection$_strings = null; - _.$ti = t0; - }, - _HashMapKeyIterable: function _HashMapKeyIterable(t0, t1) { - this._collection$_map = t0; - this.$ti = t1; - }, - _HashMapKeyIterator: function _HashMapKeyIterator(t0, t1, t2) { - var _ = this; - _._collection$_map = t0; - _._collection$_keys = t1; - _._offset = 0; - _._collection$_current = null; - _.$ti = t2; - }, - ListBase: function ListBase() { - }, - MapBase: function MapBase() { - }, - MapBase_mapToString_closure: function MapBase_mapToString_closure(t0, t1) { - this._box_0 = t0; - this.result = t1; - }, - _UnmodifiableMapMixin: function _UnmodifiableMapMixin() { - }, - MapView: function MapView() { - }, - UnmodifiableMapView: function UnmodifiableMapView() { - }, - _UnmodifiableMapView_MapView__UnmodifiableMapMixin: function _UnmodifiableMapView_MapView__UnmodifiableMapMixin() { - }, - _Base64Encoder_encodeChunk(alphabet, bytes, start, end, isLast, output, outputIndex, state) { - var t1, t2, t3, i, byteOr, byte, outputIndex0, t4, t5, outputIndex1, - bits = state >>> 2, - expectedChars = 3 - (state & 3); - for (t1 = bytes.length, t2 = alphabet.length, t3 = output.$flags | 0, i = start, byteOr = 0; i < end; ++i) { - if (!(i < t1)) - return A.ioore(bytes, i); - byte = bytes[i]; - byteOr |= byte; - bits = (bits << 8 | byte) & 16777215; - --expectedChars; - if (expectedChars === 0) { - outputIndex0 = outputIndex + 1; - t4 = bits >>> 18 & 63; - if (!(t4 < t2)) - return A.ioore(alphabet, t4); - t3 & 2 && A.throwUnsupportedOperation(output); - t5 = output.length; - if (!(outputIndex < t5)) - return A.ioore(output, outputIndex); - output[outputIndex] = alphabet.charCodeAt(t4); - outputIndex = outputIndex0 + 1; - t4 = bits >>> 12 & 63; - if (!(t4 < t2)) - return A.ioore(alphabet, t4); - if (!(outputIndex0 < t5)) - return A.ioore(output, outputIndex0); - output[outputIndex0] = alphabet.charCodeAt(t4); - outputIndex0 = outputIndex + 1; - t4 = bits >>> 6 & 63; - if (!(t4 < t2)) - return A.ioore(alphabet, t4); - if (!(outputIndex < t5)) - return A.ioore(output, outputIndex); - output[outputIndex] = alphabet.charCodeAt(t4); - outputIndex = outputIndex0 + 1; - t4 = bits & 63; - if (!(t4 < t2)) - return A.ioore(alphabet, t4); - if (!(outputIndex0 < t5)) - return A.ioore(output, outputIndex0); - output[outputIndex0] = alphabet.charCodeAt(t4); - bits = 0; - expectedChars = 3; - } - } - if (byteOr >= 0 && byteOr <= 255) { - if (expectedChars < 3) { - outputIndex0 = outputIndex + 1; - outputIndex1 = outputIndex0 + 1; - if (3 - expectedChars === 1) { - t1 = bits >>> 2 & 63; - if (!(t1 < t2)) - return A.ioore(alphabet, t1); - t3 & 2 && A.throwUnsupportedOperation(output); - t3 = output.length; - if (!(outputIndex < t3)) - return A.ioore(output, outputIndex); - output[outputIndex] = alphabet.charCodeAt(t1); - t1 = bits << 4 & 63; - if (!(t1 < t2)) - return A.ioore(alphabet, t1); - if (!(outputIndex0 < t3)) - return A.ioore(output, outputIndex0); - output[outputIndex0] = alphabet.charCodeAt(t1); - outputIndex = outputIndex1 + 1; - if (!(outputIndex1 < t3)) - return A.ioore(output, outputIndex1); - output[outputIndex1] = 61; - if (!(outputIndex < t3)) - return A.ioore(output, outputIndex); - output[outputIndex] = 61; - } else { - t1 = bits >>> 10 & 63; - if (!(t1 < t2)) - return A.ioore(alphabet, t1); - t3 & 2 && A.throwUnsupportedOperation(output); - t3 = output.length; - if (!(outputIndex < t3)) - return A.ioore(output, outputIndex); - output[outputIndex] = alphabet.charCodeAt(t1); - t1 = bits >>> 4 & 63; - if (!(t1 < t2)) - return A.ioore(alphabet, t1); - if (!(outputIndex0 < t3)) - return A.ioore(output, outputIndex0); - output[outputIndex0] = alphabet.charCodeAt(t1); - outputIndex = outputIndex1 + 1; - t1 = bits << 2 & 63; - if (!(t1 < t2)) - return A.ioore(alphabet, t1); - if (!(outputIndex1 < t3)) - return A.ioore(output, outputIndex1); - output[outputIndex1] = alphabet.charCodeAt(t1); - if (!(outputIndex < t3)) - return A.ioore(output, outputIndex); - output[outputIndex] = 61; - } - return 0; - } - return (bits << 2 | 3 - expectedChars) >>> 0; - } - for (i = start; i < end;) { - if (!(i < t1)) - return A.ioore(bytes, i); - byte = bytes[i]; - if (byte > 255) - break; - ++i; - } - if (!(i < t1)) - return A.ioore(bytes, i); - throw A.wrapException(A.ArgumentError$value(bytes, "Not a byte value at index " + i + ": 0x" + B.JSInt_methods.toRadixString$1(bytes[i], 16), null)); - }, - _Base64Decoder_decodeChunk(input, start, end, output, outIndex, state) { - var t1, t2, t3, i, charOr, char, t4, code, outIndex0, expectedPadding, - _s31_ = "Invalid encoding before padding", - _s17_ = "Invalid character", - bits = B.JSInt_methods._shrOtherPositive$1(state, 2), - count = state & 3, - inverseAlphabet = $.$get$_Base64Decoder__inverseAlphabet(); - for (t1 = input.length, t2 = inverseAlphabet.length, t3 = output.$flags | 0, i = start, charOr = 0; i < end; ++i) { - if (!(i < t1)) - return A.ioore(input, i); - char = input.charCodeAt(i); - charOr |= char; - t4 = char & 127; - if (!(t4 < t2)) - return A.ioore(inverseAlphabet, t4); - code = inverseAlphabet[t4]; - if (code >= 0) { - bits = (bits << 6 | code) & 16777215; - count = count + 1 & 3; - if (count === 0) { - outIndex0 = outIndex + 1; - t3 & 2 && A.throwUnsupportedOperation(output); - t4 = output.length; - if (!(outIndex < t4)) - return A.ioore(output, outIndex); - output[outIndex] = bits >>> 16 & 255; - outIndex = outIndex0 + 1; - if (!(outIndex0 < t4)) - return A.ioore(output, outIndex0); - output[outIndex0] = bits >>> 8 & 255; - outIndex0 = outIndex + 1; - if (!(outIndex < t4)) - return A.ioore(output, outIndex); - output[outIndex] = bits & 255; - outIndex = outIndex0; - bits = 0; - } - continue; - } else if (code === -1 && count > 1) { - if (charOr > 127) - break; - if (count === 3) { - if ((bits & 3) !== 0) - throw A.wrapException(A.FormatException$(_s31_, input, i)); - outIndex0 = outIndex + 1; - t3 & 2 && A.throwUnsupportedOperation(output); - t1 = output.length; - if (!(outIndex < t1)) - return A.ioore(output, outIndex); - output[outIndex] = bits >>> 10; - if (!(outIndex0 < t1)) - return A.ioore(output, outIndex0); - output[outIndex0] = bits >>> 2; - } else { - if ((bits & 15) !== 0) - throw A.wrapException(A.FormatException$(_s31_, input, i)); - t3 & 2 && A.throwUnsupportedOperation(output); - if (!(outIndex < output.length)) - return A.ioore(output, outIndex); - output[outIndex] = bits >>> 4; - } - expectedPadding = (3 - count) * 3; - if (char === 37) - expectedPadding += 2; - return A._Base64Decoder__checkPadding(input, i + 1, end, -expectedPadding - 1); - } - throw A.wrapException(A.FormatException$(_s17_, input, i)); - } - if (charOr >= 0 && charOr <= 127) - return (bits << 2 | count) >>> 0; - for (i = start; i < end; ++i) { - if (!(i < t1)) - return A.ioore(input, i); - if (input.charCodeAt(i) > 127) - break; - } - throw A.wrapException(A.FormatException$(_s17_, input, i)); - }, - _Base64Decoder__allocateBuffer(input, start, end, state) { - var paddingStart = A._Base64Decoder__trimPaddingChars(input, start, end), - $length = (state & 3) + (paddingStart - start), - bufferLength = B.JSInt_methods._shrOtherPositive$1($length, 2) * 3, - remainderLength = $length & 3; - if (remainderLength !== 0 && paddingStart < end) - bufferLength += remainderLength - 1; - if (bufferLength > 0) - return new Uint8Array(bufferLength); - return $.$get$_Base64Decoder__emptyBuffer(); - }, - _Base64Decoder__trimPaddingChars(input, start, end) { - var char, - t1 = input.length, - newEnd = end, - index = newEnd, - padding = 0; - while (true) { - if (!(index > start && padding < 2)) - break; - c$0: { - --index; - if (!(index >= 0 && index < t1)) - return A.ioore(input, index); - char = input.charCodeAt(index); - if (char === 61) { - ++padding; - newEnd = index; - break c$0; - } - if ((char | 32) === 100) { - if (index === start) - break; - --index; - if (!(index >= 0 && index < t1)) - return A.ioore(input, index); - char = input.charCodeAt(index); - } - if (char === 51) { - if (index === start) - break; - --index; - if (!(index >= 0 && index < t1)) - return A.ioore(input, index); - char = input.charCodeAt(index); - } - if (char === 37) { - ++padding; - newEnd = index; - break c$0; - } - break; - } - } - return newEnd; - }, - _Base64Decoder__checkPadding(input, start, end, state) { - var expectedPadding, t1, char; - if (start === end) - return state; - expectedPadding = -state - 1; - for (t1 = input.length; expectedPadding > 0;) { - if (!(start < t1)) - return A.ioore(input, start); - char = input.charCodeAt(start); - if (expectedPadding === 3) { - if (char === 61) { - expectedPadding -= 3; - ++start; - break; - } - if (char === 37) { - --expectedPadding; - ++start; - if (start === end) - break; - if (!(start < t1)) - return A.ioore(input, start); - char = input.charCodeAt(start); - } else - break; - } - if ((expectedPadding > 3 ? expectedPadding - 3 : expectedPadding) === 2) { - if (char !== 51) - break; - ++start; - --expectedPadding; - if (start === end) - break; - if (!(start < t1)) - return A.ioore(input, start); - char = input.charCodeAt(start); - } - if ((char | 32) !== 100) - break; - ++start; - --expectedPadding; - if (start === end) - break; - } - if (start !== end) - throw A.wrapException(A.FormatException$("Invalid padding character", input, start)); - return -expectedPadding - 1; - }, - Base64Codec: function Base64Codec() { - }, - Base64Encoder: function Base64Encoder() { - }, - _Base64Encoder: function _Base64Encoder(t0) { - this._convert$_state = 0; - this._alphabet = t0; - }, - Base64Decoder: function Base64Decoder() { - }, - _Base64Decoder: function _Base64Decoder() { - this._convert$_state = 0; - }, - Codec: function Codec() { - }, - Converter: function Converter() { - }, - Error__throw(error, stackTrace) { - error = A.initializeExceptionWrapper(error, new Error()); - if (error == null) - error = A._asObject(error); - error.stack = stackTrace.toString$0(0); - throw error; - }, - List_List$filled($length, fill, growable, $E) { - var i, - result = J.JSArray_JSArray$fixed($length, $E); - if ($length !== 0 && fill != null) - for (i = 0; i < $length; ++i) - result[i] = fill; - return result; - }, - List_List$_of(elements, $E) { - var list, t1; - if (Array.isArray(elements)) - return A._setArrayType(elements.slice(0), $E._eval$1("JSArray<0>")); - list = A._setArrayType([], $E._eval$1("JSArray<0>")); - for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) - B.JSArray_methods.add$1(list, t1.get$current()); - return list; - }, - String_String$fromCharCodes(charCodes) { - var t1; - A.RangeError_checkNotNegative(0, "start"); - t1 = A.String__stringFromUint8List(charCodes, 0, null); - return t1; - }, - String__stringFromUint8List(charCodes, start, endOrNull) { - var len = charCodes.length; - if (start >= len) - return ""; - return A.Primitives_stringFromNativeUint8List(charCodes, start, len); - }, - StringBuffer__writeAll(string, objects, separator) { - var iterator = J.get$iterator$ax(objects); - if (!iterator.moveNext$0()) - return string; - if (separator.length === 0) { - do - string += A.S(iterator.get$current()); - while (iterator.moveNext$0()); - } else { - string += A.S(iterator.get$current()); - for (; iterator.moveNext$0();) - string = string + separator + A.S(iterator.get$current()); - } - return string; - }, - NoSuchMethodError_NoSuchMethodError$withInvocation(receiver, invocation) { - return new A.NoSuchMethodError(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()); - }, - StackTrace_current() { - return A.getTraceFromException(new Error()); - }, - DateTime__fourDigits(n) { - var absN = Math.abs(n), - sign = n < 0 ? "-" : ""; - if (absN >= 1000) - return "" + n; - if (absN >= 100) - return sign + "0" + absN; - if (absN >= 10) - return sign + "00" + absN; - return sign + "000" + absN; - }, - DateTime__threeDigits(n) { - if (n >= 100) - return "" + n; - if (n >= 10) - return "0" + n; - return "00" + n; - }, - DateTime__twoDigits(n) { - if (n >= 10) - return "" + n; - return "0" + n; - }, - Error_safeToString(object) { - if (typeof object == "number" || A._isBool(object) || object == null) - return J.toString$0$(object); - if (typeof object == "string") - return JSON.stringify(object); - return A.Primitives_safeToString(object); - }, - Error_throwWithStackTrace(error, stackTrace) { - A.checkNotNullable(error, "error", type$.Object); - A.checkNotNullable(stackTrace, "stackTrace", type$.StackTrace); - A.Error__throw(error, stackTrace); - }, - AssertionError$(message) { - return new A.AssertionError(message); - }, - ArgumentError$(message, $name) { - return new A.ArgumentError(false, null, $name, message); - }, - ArgumentError$value(value, $name, message) { - return new A.ArgumentError(true, value, $name, message); - }, - RangeError$value(value, $name) { - return new A.RangeError(null, null, true, value, $name, "Value not in range"); - }, - RangeError$range(invalidValue, minValue, maxValue, $name, message) { - return new A.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value"); - }, - RangeError_checkValidRange(start, end, $length) { - if (0 > start || start > $length) - throw A.wrapException(A.RangeError$range(start, 0, $length, "start", null)); - if (end != null) { - if (start > end || end > $length) - throw A.wrapException(A.RangeError$range(end, start, $length, "end", null)); - return end; - } - return $length; - }, - RangeError_checkNotNegative(value, $name) { - if (value < 0) - throw A.wrapException(A.RangeError$range(value, 0, null, $name, null)); - return value; - }, - IndexError$withLength(invalidValue, $length, indexable, $name) { - return new A.IndexError($length, true, invalidValue, $name, "Index out of range"); - }, - UnsupportedError$(message) { - return new A.UnsupportedError(message); - }, - UnimplementedError$(message) { - return new A.UnimplementedError(message); - }, - StateError$(message) { - return new A.StateError(message); - }, - ConcurrentModificationError$(modifiedObject) { - return new A.ConcurrentModificationError(modifiedObject); - }, - Exception_Exception(message) { - return new A._Exception(message); - }, - FormatException$(message, source, offset) { - return new A.FormatException(message, source, offset); - }, - Iterable_iterableToShortString(iterable, leftDelimiter, rightDelimiter) { - var parts, t1; - if (A.isToStringVisiting(iterable)) { - if (leftDelimiter === "(" && rightDelimiter === ")") - return "(...)"; - return leftDelimiter + "..." + rightDelimiter; - } - parts = A._setArrayType([], type$.JSArray_String); - B.JSArray_methods.add$1($.toStringVisiting, iterable); - try { - A._iterablePartsToStrings(iterable, parts); - } finally { - if (0 >= $.toStringVisiting.length) - return A.ioore($.toStringVisiting, -1); - $.toStringVisiting.pop(); - } - t1 = A.StringBuffer__writeAll(leftDelimiter, type$.Iterable_dynamic._as(parts), ", ") + rightDelimiter; - return t1.charCodeAt(0) == 0 ? t1 : t1; - }, - Iterable_iterableToFullString(iterable, leftDelimiter, rightDelimiter) { - var buffer, t1; - if (A.isToStringVisiting(iterable)) - return leftDelimiter + "..." + rightDelimiter; - buffer = new A.StringBuffer(leftDelimiter); - B.JSArray_methods.add$1($.toStringVisiting, iterable); - try { - t1 = buffer; - t1._contents = A.StringBuffer__writeAll(t1._contents, iterable, ", "); - } finally { - if (0 >= $.toStringVisiting.length) - return A.ioore($.toStringVisiting, -1); - $.toStringVisiting.pop(); - } - buffer._contents += rightDelimiter; - t1 = buffer._contents; - return t1.charCodeAt(0) == 0 ? t1 : t1; - }, - _iterablePartsToStrings(iterable, parts) { - var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision, - it = iterable.get$iterator(iterable), - $length = 0, count = 0; - while (true) { - if (!($length < 80 || count < 3)) - break; - if (!it.moveNext$0()) - return; - next = A.S(it.get$current()); - B.JSArray_methods.add$1(parts, next); - $length += next.length + 2; - ++count; - } - if (!it.moveNext$0()) { - if (count <= 5) - return; - if (0 >= parts.length) - return A.ioore(parts, -1); - ultimateString = parts.pop(); - if (0 >= parts.length) - return A.ioore(parts, -1); - penultimateString = parts.pop(); - } else { - penultimate = it.get$current(); - ++count; - if (!it.moveNext$0()) { - if (count <= 4) { - B.JSArray_methods.add$1(parts, A.S(penultimate)); - return; - } - ultimateString = A.S(penultimate); - if (0 >= parts.length) - return A.ioore(parts, -1); - penultimateString = parts.pop(); - $length += ultimateString.length + 2; - } else { - ultimate = it.get$current(); - ++count; - for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0) { - ultimate0 = it.get$current(); - ++count; - if (count > 100) { - while (true) { - if (!($length > 75 && count > 3)) - break; - if (0 >= parts.length) - return A.ioore(parts, -1); - $length -= parts.pop().length + 2; - --count; - } - B.JSArray_methods.add$1(parts, "..."); - return; - } - } - penultimateString = A.S(penultimate); - ultimateString = A.S(ultimate); - $length += ultimateString.length + penultimateString.length + 4; - } - } - if (count > parts.length + 2) { - $length += 5; - elision = "..."; - } else - elision = null; - while (true) { - if (!($length > 80 && parts.length > 3)) - break; - if (0 >= parts.length) - return A.ioore(parts, -1); - $length -= parts.pop().length + 2; - if (elision == null) { - $length += 5; - elision = "..."; - } - } - if (elision != null) - B.JSArray_methods.add$1(parts, elision); - B.JSArray_methods.add$1(parts, penultimateString); - B.JSArray_methods.add$1(parts, ultimateString); - }, - Object_hash(object1, object2) { - var t1 = B.JSInt_methods.get$hashCode(object1); - object2 = B.JSInt_methods.get$hashCode(object2); - object2 = A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2)); - return object2; - }, - NoSuchMethodError_toString_closure: function NoSuchMethodError_toString_closure(t0, t1) { - this._box_0 = t0; - this.sb = t1; - }, - DateTime: function DateTime(t0, t1, t2) { - this._value = t0; - this._microsecond = t1; - this.isUtc = t2; - }, - _Enum: function _Enum() { - }, - Error: function Error() { - }, - AssertionError: function AssertionError(t0) { - this.message = t0; - }, - TypeError: function TypeError() { - }, - ArgumentError: function ArgumentError(t0, t1, t2, t3) { - var _ = this; - _._hasValue = t0; - _.invalidValue = t1; - _.name = t2; - _.message = t3; - }, - RangeError: function RangeError(t0, t1, t2, t3, t4, t5) { - var _ = this; - _.start = t0; - _.end = t1; - _._hasValue = t2; - _.invalidValue = t3; - _.name = t4; - _.message = t5; - }, - IndexError: function IndexError(t0, t1, t2, t3, t4) { - var _ = this; - _.length = t0; - _._hasValue = t1; - _.invalidValue = t2; - _.name = t3; - _.message = t4; - }, - NoSuchMethodError: function NoSuchMethodError(t0, t1, t2, t3) { - var _ = this; - _._core$_receiver = t0; - _._core$_memberName = t1; - _._core$_arguments = t2; - _._namedArguments = t3; - }, - UnsupportedError: function UnsupportedError(t0) { - this.message = t0; - }, - UnimplementedError: function UnimplementedError(t0) { - this.message = t0; - }, - StateError: function StateError(t0) { - this.message = t0; - }, - ConcurrentModificationError: function ConcurrentModificationError(t0) { - this.modifiedObject = t0; - }, - OutOfMemoryError: function OutOfMemoryError() { - }, - StackOverflowError: function StackOverflowError() { - }, - _Exception: function _Exception(t0) { - this.message = t0; - }, - FormatException: function FormatException(t0, t1, t2) { - this.message = t0; - this.source = t1; - this.offset = t2; - }, - Iterable: function Iterable() { - }, - Null: function Null() { - }, - Object: function Object() { - }, - _StringStackTrace: function _StringStackTrace() { - }, - StringBuffer: function StringBuffer(t0) { - this._contents = t0; - }, - _convertDartFunctionFast(f) { - var ret, - existing = f.$dart_jsFunction; - if (existing != null) - return existing; - ret = function(_call, f) { - return function() { - return _call(f, Array.prototype.slice.apply(arguments)); - }; - }(A._callDartFunctionFast, f); - ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; - f.$dart_jsFunction = ret; - return ret; - }, - _callDartFunctionFast(callback, $arguments) { - type$.List_dynamic._as($arguments); - type$.Function._as(callback); - return A.Primitives_applyFunction(callback, $arguments, null); - }, - allowInterop(f, $F) { - if (typeof f == "function") - return f; - else - return $F._as(A._convertDartFunctionFast(f)); - }, - _functionToJS1(f) { - var result; - if (typeof f == "function") - throw A.wrapException(A.ArgumentError$("Attempting to rewrap a JS function.", null)); - result = function(_call, f) { - return function(arg1) { - return _call(f, arg1, arguments.length); - }; - }(A._callDartFunctionFast1, f); - result[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; - return result; - }, - _callDartFunctionFast1(callback, arg1, $length) { - type$.Function._as(callback); - if (A._asInt($length) >= 1) - return callback.call$1(arg1); - return callback.call$0(); - }, - _noJsifyRequired(o) { - return o == null || A._isBool(o) || typeof o == "number" || typeof o == "string" || type$.Int8List._is(o) || type$.Uint8List._is(o) || type$.Uint8ClampedList._is(o) || type$.Int16List._is(o) || type$.Uint16List._is(o) || type$.Int32List._is(o) || type$.Uint32List._is(o) || type$.Float32List._is(o) || type$.Float64List._is(o) || type$.ByteBuffer._is(o) || type$.ByteData._is(o); - }, - jsify(object) { - if (A._noJsifyRequired(object)) - return object; - return new A.jsify__convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(object); - }, - callMethod(o, method, args, $T) { - return $T._as(o[method].apply(o, args)); - }, - promiseToFuture(jsPromise, $T) { - var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), - completer = new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>")); - jsPromise.then(A.convertDartClosureToJS(new A.promiseToFuture_closure(completer, $T), 1), A.convertDartClosureToJS(new A.promiseToFuture_closure0(completer), 1)); - return t1; - }, - _noDartifyRequired(o) { - return o == null || typeof o === "boolean" || typeof o === "number" || typeof o === "string" || o instanceof Int8Array || o instanceof Uint8Array || o instanceof Uint8ClampedArray || o instanceof Int16Array || o instanceof Uint16Array || o instanceof Int32Array || o instanceof Uint32Array || o instanceof Float32Array || o instanceof Float64Array || o instanceof ArrayBuffer || o instanceof DataView; - }, - dartify(o) { - if (A._noDartifyRequired(o)) - return o; - return new A.dartify_convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(o); - }, - jsify__convert: function jsify__convert(t0) { - this._convertedObjects = t0; - }, - promiseToFuture_closure: function promiseToFuture_closure(t0, t1) { - this.completer = t0; - this.T = t1; - }, - promiseToFuture_closure0: function promiseToFuture_closure0(t0) { - this.completer = t0; - }, - dartify_convert: function dartify_convert(t0) { - this._convertedObjects = t0; - }, - NullRejectionException: function NullRejectionException(t0) { - this.isUndefined = t0; - }, - _JSSecureRandom: function _JSSecureRandom(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, - result = A._setArrayType([], type$.JSArray_int), - pos = stream.length, - searchLength = pos - 2; - for (start = 0, pos0 = 0; pos0 < searchLength; start = pos0) { - while (true) { - if (pos0 < searchLength) { - if (!(pos0 >= 0)) - return A.ioore(stream, pos0); - t1 = !(stream[pos0] === 0 && stream[pos0 + 1] === 0 && stream[pos0 + 2] === 1); - } else - t1 = false; - if (!t1) - break; - ++pos0; - } - if (pos0 >= searchLength) - pos0 = pos; - end = pos0; - while (true) { - if (end > start) { - t1 = end - 1; - if (!(t1 >= 0)) - return A.ioore(stream, t1); - t1 = stream[t1] === 0; - } else - t1 = false; - if (!t1) - break; - --end; - } - if (start === 0) { - if (end !== start) - throw A.wrapException(A.Exception_Exception("byte stream contains leading data")); - } else - B.JSArray_methods.add$1(result, start); - pos0 += 3; - } - return result; - }, - CryptorError: function CryptorError(t0) { - this._name = t0; - }, - FrameInfo: function FrameInfo(t0, t1, t2, t3) { - var _ = this; - _.frameType = t0; - _.ssrc = t1; - _.timestamp = t2; - _.buffer = t3; - }, - FrameCryptor: function FrameCryptor(t0, t1, t2, t3, t4, t5, t6) { - var _ = this; - _.sendCounts = t0; - _.participantIdentity = t1; - _.trackId = t2; - _.codec = null; - _.keyHandler = t3; - _.__FrameCryptor_kind_A = $; - _._enabled = false; - _.lastError = t4; - _.currentKeyIndex = 0; - _.worker = t5; - _.sifGuard = t6; - }, - FrameCryptor_decodeFunction_decryptFrameInternal: function FrameCryptor_decodeFunction_decryptFrameInternal(t0, t1, t2, t3, t4, t5, t6) { - var _ = this; - _._box_1 = t0; - _._box_0 = t1; - _.$this = t2; - _.iv = t3; - _.srcFrame = t4; - _.headerLength = t5; - _.ivLength = t6; - }, - FrameCryptor_decodeFunction_ratchedKeyInternal: function FrameCryptor_decodeFunction_ratchedKeyInternal(t0, t1, t2, t3) { - var _ = this; - _._box_1 = t0; - _._box_0 = t1; - _.$this = t2; - _.decryptFrameInternal = t3; - }, - ParticipantKeyHandler$(keyOptions, participantIdentity, worker) { - var t1 = new A.ParticipantKeyHandler(keyOptions, worker, participantIdentity), - t2 = keyOptions.keyRingSze; - if (t2 <= 0 || t2 > 255) - A.throwExpression(A.Exception_Exception("Invalid key ring size")); - 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) { - var _ = this; - _.sharedKey = t0; - _.ratchetSalt = t1; - _.ratchetWindowSize = t2; - _.failureTolerance = t3; - _.uncryptedMagicBytes = t4; - _.keyRingSze = t5; - _.discardFrameWhenCryptorNotReady = t6; - }, - KeyProvider: function KeyProvider(t0, t1, t2, t3) { - var _ = this; - _.worker = t0; - _.keyProviderOptions = t1; - _.participantKeys = t2; - _.sharedKeyHandler = null; - _.sharedKey = t3; - }, - KeySet: function KeySet(t0, t1) { - this.material = t0; - this.encryptionKey = t1; - }, - ParticipantKeyHandler: function ParticipantKeyHandler(t0, t1, t2) { - var _ = this; - _.currentKeyIndex = 0; - _.__ParticipantKeyHandler_cryptoKeyRing_A = $; - _._hasValidKey = false; - _.keyOptions = t0; - _.worker = t1; - _.participantIdentity = t2; - _._decryptionFailureCount = 0; - }, - SifGuard: function SifGuard() { - var _ = this; - _.consecutiveSifCount = 0; - _.sifSequenceStartedAt = null; - _.userFramesSinceSif = _.lastSifReceivedAt = 0; - }, - getTrackCryptor(participantIdentity, trackId, keyProvider) { - var t1, t2, _null = null, - 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 = 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); - } else if (participantIdentity !== cryptor.participantIdentity) { - t1 = keyProvider.getParticipantKeyHandler$1(participantIdentity); - if (cryptor.lastError !== B.CryptorError_1) { - $.$get$logger().log$4(B.Level_INFO_800, "setParticipantId: lastError != CryptorError.kOk, reset state to kNew", _null, _null); - cryptor.lastError = B.CryptorError_0; - } - cryptor.participantIdentity = participantIdentity; - cryptor.keyHandler = t1; - cryptor.sifGuard.reset$0(); - } - 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, t1; - var $async$main = 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 = $.$get$Logger_root(); - if (t1.parent != null) - A.throwExpression(A.UnsupportedError$('Please set "hierarchicalLoggingEnabled" to true if you want to change the level on a non-root logger.')); - J.$eq$(t1._level, B.Level_WARNING_900); - t1._level = B.Level_WARNING_900; - t1._getStream$0().listen$1(new A.main_closure()); - t1 = $.$get$logger(); - t1.log$4(B.Level_INFO_800, "Worker created", null, null); - t2 = init.G; - if ("RTCTransformEvent" in A._asJSObject(t2.self)) { - t1.log$4(B.Level_INFO_800, "setup RTCTransformEvent event handler", null, null); - A._asJSObject(t2.self).onrtctransform = A._functionToJS1(new A.main_closure0()); - } - A._asJSObject(t2.self).onmessage = A._functionToJS1(new A.main_closure1(new A.main_closure2())); - // implicit return - return A._asyncReturn(null, $async$completer); - } - }); - return A._asyncStartSync($async$main, $async$completer); - }, - 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() { - }, - main_closure2: function main_closure2() { - }, - main__closure: function main__closure(t0) { - this.trackId = t0; - }, - main__closure0: function main__closure0(t0) { - this.trackId = t0; - }, - main__closure1: function main__closure1(t0) { - this.trackId = t0; - }, - 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; - }, - Level: function Level(t0, t1) { - this.name = t0; - this.value = t1; - }, - LogRecord: function LogRecord(t0, t1, t2) { - this.level = t0; - this.message = t1; - this.loggerName = t2; - }, - Logger_Logger($name) { - return $.Logger__loggers.putIfAbsent$2($name, new A.Logger_Logger_closure($name)); - }, - Logger: function Logger(t0, t1, t2) { - var _ = this; - _.name = t0; - _.parent = t1; - _._level = null; - _._children = t2; - _._controller = null; - }, - 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); - return; - } - if (typeof console == "object" && typeof console.log != "undefined") { - console.log(string); - return; - } - if (typeof print == "function") { - print(string); - return; - } - throw "Unable to print message: " + String(string); - }, - throwLateFieldNI(fieldName) { - throw A.initializeExceptionWrapper(A.LateError$fieldNI(fieldName), new Error()); - }, - throwLateFieldADI(fieldName) { - 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 (test.call$1(element)) - return element; - } - return null; - }, - getAlgoOptions(algorithmName, salt) { - switch (algorithmName) { - case "HKDF": - return A.LinkedHashMap_LinkedHashMap$_literal(["name", "HKDF", "salt", salt, "hash", "SHA-256", "info", new Uint8Array(128)], type$.String, type$.dynamic); - case "PBKDF2": - return A.LinkedHashMap_LinkedHashMap$_literal(["name", "PBKDF2", "salt", salt, "hash", "SHA-256", "iterations", 100000], type$.String, type$.dynamic); - default: - throw A.wrapException(A.Exception_Exception("algorithm " + algorithmName + " is currently unsupported")); - } - } - }, - B = {}; - var holders = [A, J, B]; - var $ = {}; - A.JS_CONST.prototype = {}; - J.Interceptor.prototype = { - $eq(receiver, other) { - return receiver === other; - }, - get$hashCode(receiver) { - return A.Primitives_objectHashCode(receiver); - }, - toString$0(receiver) { - return "Instance of '" + A.Primitives_objectTypeName(receiver) + "'"; - }, - noSuchMethod$1(receiver, invocation) { - throw A.wrapException(A.NoSuchMethodError_NoSuchMethodError$withInvocation(receiver, type$.Invocation._as(invocation))); - }, - get$runtimeType(receiver) { - return A.createRuntimeType(A._instanceTypeFromConstructor(this)); - } - }; - J.JSBool.prototype = { - toString$0(receiver) { - return String(receiver); - }, - get$hashCode(receiver) { - return receiver ? 519018 : 218159; - }, - get$runtimeType(receiver) { - return A.createRuntimeType(type$.bool); - }, - $isTrustedGetRuntimeType: 1, - $isbool: 1 - }; - J.JSNull.prototype = { - $eq(receiver, other) { - return null == other; - }, - toString$0(receiver) { - return "null"; - }, - get$hashCode(receiver) { - return 0; - }, - $isTrustedGetRuntimeType: 1, - $isNull: 1 - }; - J.JavaScriptObject.prototype = {$isJSObject: 1}; - J.LegacyJavaScriptObject.prototype = { - get$hashCode(receiver) { - return 0; - }, - get$runtimeType(receiver) { - return B.Type_JSObject_ttY; - }, - toString$0(receiver) { - return String(receiver); - } - }; - J.PlainJavaScriptObject.prototype = {}; - J.UnknownJavaScriptObject.prototype = {}; - J.JavaScriptFunction.prototype = { - toString$0(receiver) { - var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()]; - if (dartClosure == null) - return this.super$LegacyJavaScriptObject$toString(receiver); - return "JavaScript function for " + J.toString$0$(dartClosure); - }, - $isFunction: 1 - }; - J.JavaScriptBigInt.prototype = { - get$hashCode(receiver) { - return 0; - }, - toString$0(receiver) { - return String(receiver); - } - }; - J.JavaScriptSymbol.prototype = { - get$hashCode(receiver) { - return 0; - }, - toString$0(receiver) { - return String(receiver); - } - }; - J.JSArray.prototype = { - add$1(receiver, value) { - A._arrayInstanceType(receiver)._precomputed1._as(value); - receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, 29); - receiver.push(value); - }, - addAll$1(receiver, collection) { - var t1; - A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(collection); - receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, "addAll", 2); - if (Array.isArray(collection)) { - this._addAllFromArray$1(receiver, collection); - return; - } - for (t1 = J.get$iterator$ax(collection); t1.moveNext$0();) - receiver.push(t1.get$current()); - }, - _addAllFromArray$1(receiver, array) { - var len, i; - type$.JSArray_dynamic._as(array); - len = array.length; - if (len === 0) - return; - if (receiver === array) - throw A.wrapException(A.ConcurrentModificationError$(receiver)); - for (i = 0; i < len; ++i) - receiver.push(array[i]); - }, - map$1$1(receiver, f, $T) { - var t1 = A._arrayInstanceType(receiver); - return new A.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>")); - }, - elementAt$1(receiver, index) { - if (!(index >= 0 && index < receiver.length)) - return A.ioore(receiver, index); - return receiver[index]; - }, - toString$0(receiver) { - return A.Iterable_iterableToFullString(receiver, "[", "]"); - }, - get$iterator(receiver) { - return new J.ArrayIterator(receiver, receiver.length, A._arrayInstanceType(receiver)._eval$1("ArrayIterator<1>")); - }, - get$hashCode(receiver) { - return A.Primitives_objectHashCode(receiver); - }, - get$length(receiver) { - return receiver.length; - }, - $index(receiver, index) { - A._asInt(index); - if (!(index >= 0 && index < receiver.length)) - throw A.wrapException(A.diagnoseIndexError(receiver, index)); - return receiver[index]; - }, - $indexSet(receiver, index, value) { - A._arrayInstanceType(receiver)._precomputed1._as(value); - receiver.$flags & 2 && A.throwUnsupportedOperation(receiver); - if (!(index >= 0 && index < receiver.length)) - throw A.wrapException(A.diagnoseIndexError(receiver, index)); - receiver[index] = value; - }, - get$runtimeType(receiver) { - return A.createRuntimeType(A._arrayInstanceType(receiver)); - }, - $isEfficientLengthIterable: 1, - $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() { - var t1 = this._current; - return t1 == null ? this.$ti._precomputed1._as(t1) : t1; - }, - moveNext$0() { - var t2, _this = this, - t1 = _this._iterable, - $length = t1.length; - if (_this._length !== $length) { - t1 = A.throwConcurrentModificationError(t1); - throw A.wrapException(t1); - } - t2 = _this._index; - if (t2 >= $length) { - _this._current = null; - return false; - } - _this._current = t1[t2]; - _this._index = t2 + 1; - return true; - }, - $isIterator: 1 - }; - J.JSNumber.prototype = { - toInt$0(receiver) { - var t1; - if (receiver >= -2147483648 && receiver <= 2147483647) - return receiver | 0; - if (isFinite(receiver)) { - t1 = receiver < 0 ? Math.ceil(receiver) : Math.floor(receiver); - return t1 + 0; - } - throw A.wrapException(A.UnsupportedError$("" + receiver + ".toInt()")); - }, - toRadixString$1(receiver, radix) { - var result, t1, t2, match, exponent; - if (radix < 2 || radix > 36) - throw A.wrapException(A.RangeError$range(radix, 2, 36, "radix", null)); - result = receiver.toString(radix); - t1 = result.length; - t2 = t1 - 1; - if (!(t2 >= 0)) - return A.ioore(result, t2); - if (result.charCodeAt(t2) !== 41) - return result; - match = /^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(result); - if (match == null) - A.throwExpression(A.UnsupportedError$("Unexpected toString result: " + result)); - t1 = match.length; - if (1 >= t1) - return A.ioore(match, 1); - result = match[1]; - if (3 >= t1) - return A.ioore(match, 3); - exponent = +match[3]; - t1 = match[2]; - if (t1 != null) { - result += t1; - exponent -= t1.length; - } - return result + B.JSString_methods.$mul("0", exponent); - }, - toString$0(receiver) { - if (receiver === 0 && 1 / receiver < 0) - return "-0.0"; - else - return "" + receiver; - }, - get$hashCode(receiver) { - var absolute, floorLog2, factor, scaled, - intValue = receiver | 0; - if (receiver === intValue) - return intValue & 536870911; - absolute = Math.abs(receiver); - floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0; - factor = Math.pow(2, floorLog2); - scaled = absolute < 1 ? absolute / factor : factor / absolute; - return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911; - }, - $mod(receiver, other) { - var result = receiver % other; - if (result === 0) - return 0; - if (result > 0) - return result; - return result + other; - }, - _tdivFast$1(receiver, other) { - return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other); - }, - _tdivSlow$1(receiver, other) { - var quotient = receiver / other; - if (quotient >= -2147483648 && quotient <= 2147483647) - return quotient | 0; - if (quotient > 0) { - if (quotient !== 1 / 0) - return Math.floor(quotient); - } else if (quotient > -1 / 0) - return Math.ceil(quotient); - throw A.wrapException(A.UnsupportedError$("Result of truncating division is " + A.S(quotient) + ": " + A.S(receiver) + " ~/ " + other)); - }, - _shrOtherPositive$1(receiver, other) { - var t1; - if (receiver > 0) - t1 = this._shrBothPositive$1(receiver, other); - else { - t1 = other > 31 ? 31 : other; - t1 = receiver >> t1 >>> 0; - } - return t1; - }, - _shrBothPositive$1(receiver, other) { - return other > 31 ? 0 : receiver >>> other; - }, - get$runtimeType(receiver) { - return A.createRuntimeType(type$.num); - }, - $isdouble: 1, - $isnum: 1 - }; - J.JSInt.prototype = { - get$runtimeType(receiver) { - return A.createRuntimeType(type$.int); - }, - $isTrustedGetRuntimeType: 1, - $isint: 1 - }; - J.JSNumNotInt.prototype = { - get$runtimeType(receiver) { - return A.createRuntimeType(type$.double); - }, - $isTrustedGetRuntimeType: 1 - }; - J.JSString.prototype = { - endsWith$1(receiver, other) { - var otherLength = other.length, - t1 = receiver.length; - if (otherLength > t1) - return false; - return other === this.substring$1(receiver, t1 - otherLength); - }, - startsWith$1(receiver, pattern) { - var otherLength = pattern.length; - if (otherLength > receiver.length) - return false; - return pattern === receiver.substring(0, otherLength); - }, - substring$2(receiver, start, end) { - return receiver.substring(start, A.RangeError_checkValidRange(start, end, receiver.length)); - }, - substring$1(receiver, start) { - return this.substring$2(receiver, start, null); - }, - $mul(receiver, times) { - var s, result; - if (0 >= times) - return ""; - if (times === 1 || receiver.length === 0) - return receiver; - if (times !== times >>> 0) - throw A.wrapException(B.C_OutOfMemoryError); - for (s = receiver, result = ""; true;) { - if ((times & 1) === 1) - result = s + result; - times = times >>> 1; - if (times === 0) - break; - s += s; - } - return result; - }, - lastIndexOf$1(receiver, pattern) { - var start = receiver.length, - t1 = pattern.length; - if (start + t1 > start) - start -= t1; - return receiver.lastIndexOf(pattern, start); - }, - toString$0(receiver) { - return receiver; - }, - get$hashCode(receiver) { - var t1, hash, i; - for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) { - hash = hash + receiver.charCodeAt(i) & 536870911; - hash = hash + ((hash & 524287) << 10) & 536870911; - hash ^= hash >> 6; - } - hash = hash + ((hash & 67108863) << 3) & 536870911; - hash ^= hash >> 11; - return hash + ((hash & 16383) << 15) & 536870911; - }, - get$runtimeType(receiver) { - return A.createRuntimeType(type$.String); - }, - get$length(receiver) { - return receiver.length; - }, - $index(receiver, index) { - A._asInt(index); - if (!(index.$ge(0, 0) && index.$lt(0, receiver.length))) - throw A.wrapException(A.diagnoseIndexError(receiver, index)); - return receiver[index]; - }, - $isTrustedGetRuntimeType: 1, - $isPattern: 1, - $isString: 1 - }; - A._CopyingBytesBuilder.prototype = { - add$1(_, bytes) { - var byteCount, required, t1, t2, newSize, x, newBuffer, _this = this; - type$.List_int._as(bytes); - byteCount = bytes.length; - if (byteCount === 0) - return; - required = _this.__internal$_length + byteCount; - t1 = _this.__internal$_buffer; - t2 = t1.length; - if (t2 < required) { - newSize = required * 2; - if (newSize < 1024) - newSize = 1024; - else { - x = newSize - 1; - x |= B.JSInt_methods._shrOtherPositive$1(x, 1); - x |= x >>> 2; - x |= x >>> 4; - x |= x >>> 8; - newSize = ((x | x >>> 16) >>> 0) + 1; - } - newBuffer = new Uint8Array(newSize); - B.NativeUint8List_methods.setRange$3(newBuffer, 0, t2, t1); - _this.__internal$_buffer = newBuffer; - t1 = newBuffer; - } - B.NativeUint8List_methods.setRange$3(t1, _this.__internal$_length, required, bytes); - _this.__internal$_length = required; - }, - toBytes$0() { - 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.__internal$_buffer), _this.__internal$_buffer.byteOffset, _this.__internal$_length))); - }, - get$length(_) { - return this.__internal$_length; - }, - $isBytesBuilder: 1 - }; - A.LateError.prototype = { - toString$0(_) { - return "LateInitializationError: " + this._message; - } - }; - A.SentinelValue.prototype = {}; - A.EfficientLengthIterable.prototype = {}; - A.ListIterable.prototype = { - get$iterator(_) { - var _this = this; - return new A.ListIterator(_this, _this.get$length(_this), A._instanceType(_this)._eval$1("ListIterator")); - }, - map$1$1(_, toElement, $T) { - var t1 = A._instanceType(this); - return new A.MappedListIterable(this, t1._bind$1($T)._eval$1("1(ListIterable.E)")._as(toElement), t1._eval$1("@")._bind$1($T)._eval$1("MappedListIterable<1,2>")); - } - }; - A.ListIterator.prototype = { - get$current() { - var t1 = this.__internal$_current; - return t1 == null ? this.$ti._precomputed1._as(t1) : t1; - }, - moveNext$0() { - var t3, _this = this, - t1 = _this.__internal$_iterable, - t2 = J.getInterceptor$asx(t1), - $length = t2.get$length(t1); - if (_this.__internal$_length !== $length) - throw A.wrapException(A.ConcurrentModificationError$(t1)); - t3 = _this.__internal$_index; - if (t3 >= $length) { - _this.__internal$_current = null; - return false; - } - _this.__internal$_current = t2.elementAt$1(t1, t3); - ++_this.__internal$_index; - return true; - }, - $isIterator: 1 - }; - A.MappedIterable.prototype = { - get$iterator(_) { - var t1 = this.__internal$_iterable; - return new A.MappedIterator(t1.get$iterator(t1), this._f, A._instanceType(this)._eval$1("MappedIterator<1,2>")); - }, - get$length(_) { - var t1 = this.__internal$_iterable; - return t1.get$length(t1); - } - }; - A.EfficientLengthMappedIterable.prototype = {$isEfficientLengthIterable: 1}; - A.MappedIterator.prototype = { - moveNext$0() { - var _this = this, - t1 = _this._iterator; - if (t1.moveNext$0()) { - _this.__internal$_current = _this._f.call$1(t1.get$current()); - return true; - } - _this.__internal$_current = null; - return false; - }, - get$current() { - var t1 = this.__internal$_current; - return t1 == null ? this.$ti._rest[1]._as(t1) : t1; - }, - $isIterator: 1 - }; - A.MappedListIterable.prototype = { - get$length(_) { - return J.get$length$asx(this._source); - }, - elementAt$1(_, index) { - return this._f.call$1(J.elementAt$1$ax(this._source, index)); - } - }; - A.WhereIterable.prototype = { - get$iterator(_) { - return new A.WhereIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, this.$ti._eval$1("WhereIterator<1>")); - }, - map$1$1(_, toElement, $T) { - var t1 = this.$ti; - return new A.MappedIterable(this, t1._bind$1($T)._eval$1("1(2)")._as(toElement), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedIterable<1,2>")); - } - }; - A.WhereIterator.prototype = { - moveNext$0() { - var t1, t2; - for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();) - if (t2.call$1(t1.get$current())) - return true; - return false; - }, - get$current() { - return this._iterator.get$current(); - }, - $isIterator: 1 - }; - A.FixedLengthListMixin.prototype = {}; - A.Symbol.prototype = { - get$hashCode(_) { - var hash = this._hashCode; - if (hash != null) - return hash; - hash = 664597 * B.JSString_methods.get$hashCode(this.__internal$_name) & 536870911; - this._hashCode = hash; - return hash; - }, - toString$0(_) { - return 'Symbol("' + this.__internal$_name + '")'; - }, - $eq(_, other) { - if (other == null) - return false; - return other instanceof A.Symbol && this.__internal$_name === other.__internal$_name; - }, - $isSymbol0: 1 - }; - A.ConstantMapView.prototype = {}; - A.ConstantMap.prototype = { - toString$0(_) { - return A.MapBase_mapToString(this); - }, - $isMap: 1 - }; - A.ConstantStringMap.prototype = { - get$length(_) { - return this._values.length; - }, - get$_keys() { - var keys = this.$keys; - if (keys == null) { - keys = Object.keys(this._jsIndex); - this.$keys = keys; - } - return keys; - }, - containsKey$1(key) { - if (typeof key != "string") - return false; - if ("__proto__" === key) - return false; - return this._jsIndex.hasOwnProperty(key); - }, - $index(_, key) { - if (!this.containsKey$1(key)) - return null; - return this._values[this._jsIndex[key]]; - }, - forEach$1(_, f) { - var keys, values, t1, i; - this.$ti._eval$1("~(1,2)")._as(f); - keys = this.get$_keys(); - values = this._values; - for (t1 = keys.length, i = 0; i < t1; ++i) - f.call$2(keys[i], values[i]); - }, - get$keys() { - return new A._KeysOrValues(this.get$_keys(), this.$ti._eval$1("_KeysOrValues<1>")); - } - }; - A._KeysOrValues.prototype = { - get$length(_) { - return this._elements.length; - }, - get$iterator(_) { - var t1 = this._elements; - return new A._KeysOrValuesOrElementsIterator(t1, t1.length, this.$ti._eval$1("_KeysOrValuesOrElementsIterator<1>")); - } - }; - A._KeysOrValuesOrElementsIterator.prototype = { - get$current() { - var t1 = this.__js_helper$_current; - return t1 == null ? this.$ti._precomputed1._as(t1) : t1; - }, - moveNext$0() { - var _this = this, - t1 = _this.__js_helper$_index; - if (t1 >= _this.__js_helper$_length) { - _this.__js_helper$_current = null; - return false; - } - _this.__js_helper$_current = _this._elements[t1]; - _this.__js_helper$_index = t1 + 1; - return true; - }, - $isIterator: 1 - }; - A.JSInvocationMirror.prototype = { - get$memberName() { - var t1 = this._memberName; - if (t1 instanceof A.Symbol) - return t1; - return this._memberName = new A.Symbol(A._asString(t1)); - }, - get$positionalArguments() { - var t1, argumentCount, list, index, _this = this; - if (_this.__js_helper$_kind === 1) - return B.List_empty; - t1 = _this._arguments; - argumentCount = t1.length - _this._namedArgumentNames.length - _this._typeArgumentCount; - if (argumentCount === 0) - return B.List_empty; - list = []; - 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, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, t3, t4, _this = this; - if (_this.__js_helper$_kind !== 0) - return B.Map_empty; - t1 = _this._namedArgumentNames; - 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) { - 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 - }; - A.Primitives_functionNoSuchMethod_closure.prototype = { - call$2($name, argument) { - var t1; - A._asString($name); - t1 = this._box_0; - t1.names = t1.names + "$" + $name; - B.JSArray_methods.add$1(this.namedArgumentList, $name); - B.JSArray_methods.add$1(this.$arguments, argument); - ++t1.argumentCount; - }, - $signature: 13 - }; - A.SafeToStringHook.prototype = {}; - A.TypeErrorDecoder.prototype = { - matchTypeError$1(message) { - var result, t1, _this = this, - match = new RegExp(_this._pattern).exec(message); - if (match == null) - return null; - result = Object.create(null); - t1 = _this._arguments; - if (t1 !== -1) - result.arguments = match[t1 + 1]; - t1 = _this._argumentsExpr; - if (t1 !== -1) - result.argumentsExpr = match[t1 + 1]; - t1 = _this._expr; - if (t1 !== -1) - result.expr = match[t1 + 1]; - t1 = _this._method; - if (t1 !== -1) - result.method = match[t1 + 1]; - t1 = _this._receiver; - if (t1 !== -1) - result.receiver = match[t1 + 1]; - return result; - } - }; - A.NullError.prototype = { - toString$0(_) { - return "Null check operator used on a null value"; - } - }; - A.JsNoSuchMethodError.prototype = { - toString$0(_) { - var t2, _this = this, - _s38_ = "NoSuchMethodError: method not found: '", - t1 = _this._method; - if (t1 == null) - return "NoSuchMethodError: " + _this.__js_helper$_message; - t2 = _this._receiver; - if (t2 == null) - return _s38_ + t1 + "' (" + _this.__js_helper$_message + ")"; - return _s38_ + t1 + "' on '" + t2 + "' (" + _this.__js_helper$_message + ")"; - } - }; - A.UnknownJsTypeError.prototype = { - toString$0(_) { - var t1 = this.__js_helper$_message; - return t1.length === 0 ? "Error" : "Error: " + t1; - } - }; - A.NullThrownFromJavaScriptException.prototype = { - toString$0(_) { - return "Throw of null ('" + (this._irritant === null ? "null" : "undefined") + "' from JavaScript)"; - } - }; - A.ExceptionAndStackTrace.prototype = {}; - A._StackTrace.prototype = { - toString$0(_) { - var trace, - t1 = this._trace; - if (t1 != null) - return t1; - t1 = this._exception; - trace = t1 !== null && typeof t1 === "object" ? t1.stack : null; - return this._trace = trace == null ? "" : trace; - }, - $isStackTrace: 1 - }; - A.Closure.prototype = { - toString$0(_) { - var $constructor = this.constructor, - $name = $constructor == null ? null : $constructor.name; - return "Closure '" + A.unminifyOrTag($name == null ? "unknown" : $name) + "'"; - }, - $isFunction: 1, - get$$call() { - return this; - }, - "call*": "call$1", - $requiredArgCount: 1, - $defaultValues: null - }; - A.Closure0Args.prototype = {"call*": "call$0", $requiredArgCount: 0}; - A.Closure2Args.prototype = {"call*": "call$2", $requiredArgCount: 2}; - A.TearOffClosure.prototype = {}; - A.StaticClosure.prototype = { - toString$0(_) { - var $name = this.$static_name; - if ($name == null) - return "Closure of unknown static method"; - return "Closure '" + A.unminifyOrTag($name) + "'"; - } - }; - A.BoundClosure.prototype = { - $eq(_, other) { - if (other == null) - return false; - if (this === other) - return true; - if (!(other instanceof A.BoundClosure)) - return false; - return this.$_target === other.$_target && this._receiver === other._receiver; - }, - get$hashCode(_) { - return (A.objectHashCode(this._receiver) ^ A.Primitives_objectHashCode(this.$_target)) >>> 0; - }, - toString$0(_) { - return "Closure '" + this.$_name + "' of " + ("Instance of '" + A.Primitives_objectTypeName(this._receiver) + "'"); - } - }; - A.RuntimeError.prototype = { - toString$0(_) { - return "RuntimeError: " + this.message; - } - }; - A._Required.prototype = {}; - A.JsLinkedHashMap.prototype = { - get$length(_) { - return this.__js_helper$_length; - }, - get$keys() { - return new A.LinkedHashMapKeysIterable(this, A._instanceType(this)._eval$1("LinkedHashMapKeysIterable<1>")); - }, - containsKey$1(key) { - var strings = this._strings; - if (strings == null) - return false; - return strings[key] != null; - }, - $index(_, key) { - var strings, cell, t1, nums, _null = null; - if (typeof key == "string") { - strings = this._strings; - if (strings == null) - return _null; - cell = strings[key]; - t1 = cell == null ? _null : cell.hashMapCellValue; - return t1; - } else if (typeof key == "number" && (key & 0x3fffffff) === key) { - nums = this._nums; - if (nums == null) - return _null; - cell = nums[key]; - t1 = cell == null ? _null : cell.hashMapCellValue; - return t1; - } else - return this.internalGet$1(key); - }, - internalGet$1(key) { - var bucket, index, - rest = this.__js_helper$_rest; - if (rest == null) - return null; - bucket = rest[this.internalComputeHashCode$1(key)]; - index = this.internalFindBucketIndex$2(bucket, key); - if (index < 0) - return null; - return bucket[index].hashMapCellValue; - }, - $indexSet(_, key, value) { - var strings, nums, rest, hash, bucket, index, _this = this, - t1 = A._instanceType(_this); - t1._precomputed1._as(key); - t1._rest[1]._as(value); - if (typeof key == "string") { - strings = _this._strings; - _this.__js_helper$_addHashTableEntry$3(strings == null ? _this._strings = _this._newHashTable$0() : strings, key, value); - } else if (typeof key == "number" && (key & 0x3fffffff) === key) { - nums = _this._nums; - _this.__js_helper$_addHashTableEntry$3(nums == null ? _this._nums = _this._newHashTable$0() : nums, key, value); - } else { - rest = _this.__js_helper$_rest; - if (rest == null) - rest = _this.__js_helper$_rest = _this._newHashTable$0(); - hash = _this.internalComputeHashCode$1(key); - bucket = rest[hash]; - if (bucket == null) - rest[hash] = [_this._newLinkedCell$2(key, value)]; - else { - index = _this.internalFindBucketIndex$2(bucket, key); - if (index >= 0) - bucket[index].hashMapCellValue = value; - else - bucket.push(_this._newLinkedCell$2(key, value)); - } - } - }, - putIfAbsent$2(key, ifAbsent) { - var t2, value, _this = this, - t1 = A._instanceType(_this); - t1._precomputed1._as(key); - t1._eval$1("2()")._as(ifAbsent); - if (_this.containsKey$1(key)) { - t2 = _this.$index(0, key); - return t2 == null ? t1._rest[1]._as(t2) : t2; - } - value = ifAbsent.call$0(); - _this.$indexSet(0, key, value); - return value; - }, - remove$1(_, key) { - var t1 = this._removeHashTableEntry$2(this._strings, key); - return t1; - }, - forEach$1(_, action) { - var cell, modifications, _this = this; - A._instanceType(_this)._eval$1("~(1,2)")._as(action); - cell = _this._first; - modifications = _this._modifications; - for (; cell != null;) { - action.call$2(cell.hashMapCellKey, cell.hashMapCellValue); - if (modifications !== _this._modifications) - throw A.wrapException(A.ConcurrentModificationError$(_this)); - cell = cell._next; - } - }, - __js_helper$_addHashTableEntry$3(table, key, value) { - var cell, - t1 = A._instanceType(this); - t1._precomputed1._as(key); - t1._rest[1]._as(value); - cell = table[key]; - if (cell == null) - table[key] = this._newLinkedCell$2(key, value); - else - cell.hashMapCellValue = value; - }, - _removeHashTableEntry$2(table, key) { - var cell; - if (table == null) - return null; - cell = table[key]; - if (cell == null) - return null; - this._unlinkCell$1(cell); - delete table[key]; - return cell.hashMapCellValue; - }, - _modified$0() { - this._modifications = this._modifications + 1 & 1073741823; - }, - _newLinkedCell$2(key, value) { - var _this = this, - t1 = A._instanceType(_this), - cell = new A.LinkedHashMapCell(t1._precomputed1._as(key), t1._rest[1]._as(value)); - if (_this._first == null) - _this._first = _this._last = cell; - else { - t1 = _this._last; - t1.toString; - cell._previous = t1; - _this._last = t1._next = cell; - } - ++_this.__js_helper$_length; - _this._modified$0(); - return cell; - }, - _unlinkCell$1(cell) { - var _this = this, - previous = cell._previous, - next = cell._next; - if (previous == null) - _this._first = next; - else - previous._next = next; - if (next == null) - _this._last = previous; - else - next._previous = previous; - --_this.__js_helper$_length; - _this._modified$0(); - }, - internalComputeHashCode$1(key) { - return J.get$hashCode$(key) & 1073741823; - }, - internalFindBucketIndex$2(bucket, key) { - var $length, i; - if (bucket == null) - return -1; - $length = bucket.length; - for (i = 0; i < $length; ++i) - if (J.$eq$(bucket[i].hashMapCellKey, key)) - return i; - return -1; - }, - toString$0(_) { - return A.MapBase_mapToString(this); - }, - _newHashTable$0() { - var table = Object.create(null); - table[""] = table; - delete table[""]; - return table; - }, - $isLinkedHashMap: 1 - }; - A.LinkedHashMapCell.prototype = {}; - A.LinkedHashMapKeysIterable.prototype = { - get$length(_) { - return this._map.__js_helper$_length; - }, - get$iterator(_) { - var t1 = this._map; - return new A.LinkedHashMapKeyIterator(t1, t1._modifications, t1._first, this.$ti._eval$1("LinkedHashMapKeyIterator<1>")); - } - }; - A.LinkedHashMapKeyIterator.prototype = { - get$current() { - return this.__js_helper$_current; - }, - moveNext$0() { - var cell, _this = this, - t1 = _this._map; - if (_this._modifications !== t1._modifications) - throw A.wrapException(A.ConcurrentModificationError$(t1)); - cell = _this._cell; - if (cell == null) { - _this.__js_helper$_current = null; - return false; - } else { - _this.__js_helper$_current = cell.hashMapCellKey; - _this._cell = cell._next; - return true; - } - }, - $isIterator: 1 - }; - A.initHooks_closure.prototype = { - call$1(o) { - return this.getTag(o); - }, - $signature: 14 - }; - A.initHooks_closure0.prototype = { - call$2(o, tag) { - return this.getUnknownTag(o, tag); - }, - $signature: 15 - }; - A.initHooks_closure1.prototype = { - call$1(tag) { - return this.prototypeForTag(A._asString(tag)); - }, - $signature: 16 - }; - A.NativeByteBuffer.prototype = { - get$runtimeType(receiver) { - return B.Type_ByteBuffer_rqD; - }, - asUint8List$2(receiver, offsetInBytes, $length) { - return $length == null ? new Uint8Array(receiver, offsetInBytes) : new Uint8Array(receiver, offsetInBytes, $length); - }, - asUint8List$0(receiver) { - return this.asUint8List$2(receiver, 0, null); - }, - $isTrustedGetRuntimeType: 1, - $isNativeByteBuffer: 1, - $isByteBuffer: 1 - }; - A.NativeArrayBuffer.prototype = {$isNativeArrayBuffer: 1}; - A.NativeTypedData.prototype = { - get$buffer(receiver) { - if (((receiver.$flags | 0) & 2) !== 0) - return new A._UnmodifiableNativeByteBufferView(receiver.buffer); - else - return receiver.buffer; - }, - _invalidPosition$3(receiver, position, $length, $name) { - var t1 = A.RangeError$range(position, 0, $length, $name, null); - throw A.wrapException(t1); - }, - _checkPosition$3(receiver, position, $length, $name) { - if (position >>> 0 !== position || position > $length) - this._invalidPosition$3(receiver, position, $length, $name); - } - }; - A._UnmodifiableNativeByteBufferView.prototype = { - asUint8List$2(_, offsetInBytes, $length) { - var result = A.NativeUint8List_NativeUint8List$view(this._data, offsetInBytes, $length); - result.$flags = 3; - return result; - }, - asUint8List$0(_) { - return this.asUint8List$2(0, 0, null); - }, - $isByteBuffer: 1 - }; - A.NativeByteData.prototype = { - get$runtimeType(receiver) { - return B.Type_ByteData_9dB; - }, - _setInt8$2(receiver, byteOffset, value) { - return receiver.setInt8(byteOffset, value); - }, - $isTrustedGetRuntimeType: 1, - $isByteData: 1 - }; - A.NativeTypedArray.prototype = { - get$length(receiver) { - return receiver.length; - }, - $isJavaScriptIndexingBehavior: 1 - }; - A.NativeTypedArrayOfDouble.prototype = { - $index(receiver, index) { - A._asInt(index); - A._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - }, - $isEfficientLengthIterable: 1, - $isIterable: 1, - $isList: 1 - }; - A.NativeTypedArrayOfInt.prototype = { - setRange$3(receiver, start, end, iterable) { - var targetLength, count, sourceLength, source; - type$.Iterable_int._as(iterable); - receiver.$flags & 2 && A.throwUnsupportedOperation(receiver, 5); - targetLength = receiver.length; - this._checkPosition$3(receiver, start, targetLength, "start"); - this._checkPosition$3(receiver, end, targetLength, "end"); - if (start > end) - A.throwExpression(A.RangeError$range(start, 0, end, null, null)); - count = end - start; - sourceLength = iterable.length; - if (sourceLength < count) - A.throwExpression(A.StateError$("Not enough elements")); - source = sourceLength !== count ? iterable.subarray(0, count) : iterable; - receiver.set(source, start); - return; - }, - $isEfficientLengthIterable: 1, - $isIterable: 1, - $isList: 1 - }; - A.NativeFloat32List.prototype = { - get$runtimeType(receiver) { - return B.Type_Float32List_9Kz; - }, - $isTrustedGetRuntimeType: 1, - $isFloat32List: 1 - }; - A.NativeFloat64List.prototype = { - get$runtimeType(receiver) { - return B.Type_Float64List_9Kz; - }, - $isTrustedGetRuntimeType: 1, - $isFloat64List: 1 - }; - A.NativeInt16List.prototype = { - get$runtimeType(receiver) { - return B.Type_Int16List_s5h; - }, - $index(receiver, index) { - A._asInt(index); - A._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - }, - $isTrustedGetRuntimeType: 1, - $isInt16List: 1 - }; - A.NativeInt32List.prototype = { - get$runtimeType(receiver) { - return B.Type_Int32List_O8Z; - }, - $index(receiver, index) { - A._asInt(index); - A._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - }, - $isTrustedGetRuntimeType: 1, - $isInt32List: 1 - }; - A.NativeInt8List.prototype = { - get$runtimeType(receiver) { - return B.Type_Int8List_rFV; - }, - $index(receiver, index) { - A._asInt(index); - A._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - }, - $isTrustedGetRuntimeType: 1, - $isInt8List: 1 - }; - A.NativeUint16List.prototype = { - get$runtimeType(receiver) { - return B.Type_Uint16List_kmP; - }, - $index(receiver, index) { - A._asInt(index); - A._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - }, - $isTrustedGetRuntimeType: 1, - $isUint16List: 1 - }; - A.NativeUint32List.prototype = { - get$runtimeType(receiver) { - return B.Type_Uint32List_kmP; - }, - $index(receiver, index) { - A._asInt(index); - A._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - }, - $isTrustedGetRuntimeType: 1, - $isUint32List: 1 - }; - A.NativeUint8ClampedList.prototype = { - get$runtimeType(receiver) { - return B.Type_Uint8ClampedList_04U; - }, - get$length(receiver) { - return receiver.length; - }, - $index(receiver, index) { - A._asInt(index); - A._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - }, - $isTrustedGetRuntimeType: 1, - $isUint8ClampedList: 1 - }; - A.NativeUint8List.prototype = { - get$runtimeType(receiver) { - return B.Type_Uint8List_8Eb; - }, - get$length(receiver) { - return receiver.length; - }, - $index(receiver, index) { - A._asInt(index); - A._checkValidIndex(index, receiver, receiver.length); - return receiver[index]; - }, - sublist$2(receiver, start, end) { - return new Uint8Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); - }, - sublist$1(receiver, start) { - return this.sublist$2(receiver, start, null); - }, - $isTrustedGetRuntimeType: 1, - $isUint8List: 1 - }; - A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.prototype = {}; - A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; - A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.prototype = {}; - A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; - A.Rti.prototype = { - _eval$1(recipe) { - return A._Universe_evalInEnvironment(init.typeUniverse, this, recipe); - }, - _bind$1(typeOrTuple) { - return A._Universe_bind(init.typeUniverse, this, typeOrTuple); - } - }; - A._FunctionParameters.prototype = {}; - A._Type.prototype = { - toString$0(_) { - return A._rtiToString(this._rti, null); - } - }; - A._Error.prototype = { - toString$0(_) { - return this.__rti$_message; - } - }; - A._TypeError.prototype = {$isTypeError: 1}; - A._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = { - call$1(__wc0_formal) { - var t1 = this._box_0, - f = t1.storedCallback; - t1.storedCallback = null; - f.call$0(); - }, - $signature: 5 - }; - A._AsyncRun__initializeScheduleImmediate_closure.prototype = { - call$1(callback) { - var t1, t2; - this._box_0.storedCallback = type$.void_Function._as(callback); - t1 = this.div; - t2 = this.span; - t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); - }, - $signature: 17 - }; - A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { - call$0() { - this.callback.call$0(); - }, - $signature: 6 - }; - A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = { - call$0() { - this.callback.call$0(); - }, - $signature: 6 - }; - A._TimerImpl.prototype = { - _TimerImpl$2(milliseconds, callback) { - if (self.setTimeout != null) - self.setTimeout(A.convertDartClosureToJS(new A._TimerImpl_internalCallback(this, callback), 0), milliseconds); - else - throw A.wrapException(A.UnsupportedError$("`setTimeout()` not found.")); - } - }; - A._TimerImpl_internalCallback.prototype = { - call$0() { - this.callback.call$0(); - }, - $signature: 0 - }; - A._AsyncAwaitCompleter.prototype = { - complete$1(value) { - var t2, _this = this, - t1 = _this.$ti; - t1._eval$1("1/?")._as(value); - if (value == null) - value = t1._precomputed1._as(value); - if (!_this.isSync) - _this._future._asyncComplete$1(value); - else { - t2 = _this._future; - if (t1._eval$1("Future<1>")._is(value)) - t2._chainFuture$1(value); - else - t2._completeWithValue$1(value); - } - }, - completeError$2(e, st) { - var t1 = this._future; - if (this.isSync) - t1._completeErrorObject$1(new A.AsyncError(e, st)); - else - t1._asyncCompleteErrorObject$1(new A.AsyncError(e, st)); - } - }; - A._awaitOnObject_closure.prototype = { - call$1(result) { - return this.bodyFunction.call$2(0, result); - }, - $signature: 3 - }; - A._awaitOnObject_closure0.prototype = { - call$2(error, stackTrace) { - this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace))); - }, - $signature: 18 - }; - A._wrapJsFunctionForAsync_closure.prototype = { - call$2(errorCode, result) { - this.$protected(A._asInt(errorCode), result); - }, - $signature: 19 - }; - A.AsyncError.prototype = { - toString$0(_) { - return A.S(this.error); - }, - $isError: 1, - get$stackTrace() { - return this.stackTrace; - } - }; - A._BroadcastStream.prototype = {}; - A._BroadcastSubscription.prototype = { - _onPause$0() { - }, - _onResume$0() { - }, - set$_async$_next(_next) { - this._async$_next = this.$ti._eval$1("_BroadcastSubscription<1>?")._as(_next); - }, - set$_async$_previous(_previous) { - this._async$_previous = this.$ti._eval$1("_BroadcastSubscription<1>?")._as(_previous); - } - }; - A._BroadcastStreamController.prototype = { - get$_mayAddEvent() { - return this._state < 4; - }, - _subscribe$4(onData, onError, onDone, cancelOnError) { - var t2, t3, t4, t5, subscription, oldLast, _this = this, - t1 = A._instanceType(_this); - t1._eval$1("~(1)?")._as(onData); - type$.nullable_void_Function._as(onDone); - if ((_this._state & 4) !== 0) { - t1 = new A._DoneStreamSubscription($.Zone__current, t1._eval$1("_DoneStreamSubscription<1>")); - A.scheduleMicrotask(t1.get$_onMicrotask()); - if (onDone != null) - t1._onDone = type$.void_Function._as(onDone); - return t1; - } - t2 = $.Zone__current; - t3 = cancelOnError ? 1 : 0; - t4 = onError != null ? 32 : 0; - type$.$env_1_1_void._bind$1(t1._precomputed1)._eval$1("1(2)")._as(onData); - A._BufferingStreamSubscription__registerErrorHandler(t2, onError); - t5 = onDone == null ? A.async___nullDoneHandler$closure() : onDone; - type$.void_Function._as(t5); - t1 = t1._eval$1("_BroadcastSubscription<1>"); - subscription = new A._BroadcastSubscription(_this, onData, t2, t3 | t4, t1); - subscription._async$_previous = subscription; - subscription._async$_next = subscription; - t1._as(subscription); - subscription._eventState = _this._state & 1; - oldLast = _this._lastSubscription; - _this._lastSubscription = subscription; - subscription.set$_async$_next(null); - subscription.set$_async$_previous(oldLast); - if (oldLast == null) - _this._firstSubscription = subscription; - else - oldLast.set$_async$_next(subscription); - if (_this._firstSubscription == _this._lastSubscription) - A._runGuarded(_this.onListen); - return subscription; - }, - _addEventError$0() { - if ((this._state & 4) !== 0) - return new A.StateError("Cannot add new events after calling close"); - return new A.StateError("Cannot add new events while doing an addStream"); - }, - _forEachListener$1(action) { - var t2, subscription, id, next, previous, _this = this, - t1 = A._instanceType(_this); - t1._eval$1("~(_BufferingStreamSubscription<1>)")._as(action); - t2 = _this._state; - if ((t2 & 2) !== 0) - throw A.wrapException(A.StateError$(string$.Cannot)); - subscription = _this._firstSubscription; - if (subscription == null) - return; - id = t2 & 1; - _this._state = t2 ^ 3; - for (t1 = t1._eval$1("_BroadcastSubscription<1>"); subscription != null;) { - t2 = subscription._eventState; - if ((t2 & 1) === id) { - subscription._eventState = t2 | 2; - action.call$1(subscription); - t2 = subscription._eventState ^= 1; - next = subscription._async$_next; - if ((t2 & 4) !== 0) { - t1._as(subscription); - previous = subscription._async$_previous; - if (previous == null) - _this._firstSubscription = next; - else - previous.set$_async$_next(next); - if (next == null) - _this._lastSubscription = previous; - else - next.set$_async$_previous(previous); - subscription.set$_async$_previous(subscription); - subscription.set$_async$_next(subscription); - } - subscription._eventState &= 4294967293; - subscription = next; - } else - subscription = subscription._async$_next; - } - _this._state &= 4294967293; - if (_this._firstSubscription == null) - _this._callOnCancel$0(); - }, - _callOnCancel$0() { - if ((this._state & 4) !== 0) - if (null.get$_mayComplete()) - null._asyncComplete$1(null); - A._runGuarded(this.onCancel); - }, - $isStreamController: 1, - $is_StreamControllerLifecycle: 1, - $is_EventDispatch: 1 - }; - A._SyncBroadcastStreamController.prototype = { - get$_mayAddEvent() { - return A._BroadcastStreamController.prototype.get$_mayAddEvent.call(this) && (this._state & 2) === 0; - }, - _addEventError$0() { - if ((this._state & 2) !== 0) - return new A.StateError(string$.Cannot); - return this.super$_BroadcastStreamController$_addEventError(); - }, - _sendData$1(data) { - var t1, _this = this; - _this.$ti._precomputed1._as(data); - t1 = _this._firstSubscription; - if (t1 == null) - return; - if (t1 === _this._lastSubscription) { - _this._state |= 2; - t1._add$1(data); - _this._state &= 4294967293; - if (_this._firstSubscription == null) - _this._callOnCancel$0(); - return; - } - _this._forEachListener$1(new A._SyncBroadcastStreamController__sendData_closure(_this, data)); - } - }; - A._SyncBroadcastStreamController__sendData_closure.prototype = { - call$1(subscription) { - this.$this.$ti._eval$1("_BufferingStreamSubscription<1>")._as(subscription)._add$1(this.data); - }, - $signature() { - return this.$this.$ti._eval$1("~(_BufferingStreamSubscription<1>)"); - } - }; - A._Completer.prototype = { - completeError$2(error, stackTrace) { - var t1 = this.future; - if ((t1._state & 30) !== 0) - throw A.wrapException(A.StateError$("Future already completed")); - t1._asyncCompleteErrorObject$1(A._interceptUserError(error, stackTrace)); - }, - completeError$1(error) { - return this.completeError$2(error, null); - } - }; - A._AsyncCompleter.prototype = { - complete$1(value) { - var t2, - t1 = this.$ti; - t1._eval$1("1/?")._as(value); - t2 = this.future; - if ((t2._state & 30) !== 0) - throw A.wrapException(A.StateError$("Future already completed")); - t2._asyncComplete$1(t1._eval$1("1/")._as(value)); - } - }; - A._FutureListener.prototype = { - matchesErrorTest$1(asyncError) { - if ((this.state & 15) !== 6) - return true; - return this.result._zone.runUnary$2$2(type$.bool_Function_Object._as(this.callback), asyncError.error, type$.bool, type$.Object); - }, - handleError$1(asyncError) { - var exception, _this = this, - errorCallback = _this.errorCallback, - result = null, - t1 = type$.dynamic, - t2 = type$.Object, - t3 = asyncError.error, - t4 = _this.result._zone; - if (type$.dynamic_Function_Object_StackTrace._is(errorCallback)) - result = t4.runBinary$3$3(errorCallback, t3, asyncError.stackTrace, t1, t2, type$.StackTrace); - else - result = t4.runUnary$2$2(type$.dynamic_Function_Object._as(errorCallback), t3, t1, t2); - try { - t1 = _this.$ti._eval$1("2/")._as(result); - return t1; - } catch (exception) { - if (type$.TypeError._is(A.unwrapException(exception))) { - if ((_this.state & 1) !== 0) - throw A.wrapException(A.ArgumentError$("The error handler of Future.then must return a value of the returned future's type", "onError")); - throw A.wrapException(A.ArgumentError$("The error handler of Future.catchError must return a value of the future's type", "onError")); - } else - throw exception; - } - } - }; - A._Future.prototype = { - then$1$2$onError(f, onError, $R) { - var currentZone, result, - t1 = this.$ti; - t1._bind$1($R)._eval$1("1/(2)")._as(f); - currentZone = $.Zone__current; - if (currentZone === B.C__RootZone) { - if (!type$.dynamic_Function_Object_StackTrace._is(onError) && !type$.dynamic_Function_Object._is(onError)) - throw A.wrapException(A.ArgumentError$value(onError, "onError", string$.Error_)); - } else { - $R._eval$1("@<0/>")._bind$1(t1._precomputed1)._eval$1("1(2)")._as(f); - onError = A._registerErrorHandler(onError, currentZone); - } - result = new A._Future(currentZone, $R._eval$1("_Future<0>")); - this._addListener$1(new A._FutureListener(result, 3, f, onError, t1._eval$1("@<1>")._bind$1($R)._eval$1("_FutureListener<1,2>"))); - return result; - }, - _thenAwait$1$2(f, onError, $E) { - var result, - t1 = this.$ti; - t1._bind$1($E)._eval$1("1/(2)")._as(f); - result = new A._Future($.Zone__current, $E._eval$1("_Future<0>")); - this._addListener$1(new A._FutureListener(result, 19, f, onError, t1._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>"))); - return result; - }, - _setErrorObject$1(error) { - this._state = this._state & 1 | 16; - this._resultOrListeners = error; - }, - _cloneResult$1(source) { - this._state = source._state & 30 | this._state & 1; - this._resultOrListeners = source._resultOrListeners; - }, - _addListener$1(listener) { - var source, _this = this, - t1 = _this._state; - if (t1 <= 3) { - listener._nextListener = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); - _this._resultOrListeners = listener; - } else { - if ((t1 & 4) !== 0) { - source = type$._Future_dynamic._as(_this._resultOrListeners); - if ((source._state & 24) === 0) { - source._addListener$1(listener); - return; - } - _this._cloneResult$1(source); - } - A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__addListener_closure(_this, listener))); - } - }, - _prependListeners$1(listeners) { - var t1, existingListeners, next, cursor, next0, source, _this = this, _box_0 = {}; - _box_0.listeners = listeners; - if (listeners == null) - return; - t1 = _this._state; - if (t1 <= 3) { - existingListeners = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); - _this._resultOrListeners = listeners; - if (existingListeners != null) { - next = listeners._nextListener; - for (cursor = listeners; next != null; cursor = next, next = next0) - next0 = next._nextListener; - cursor._nextListener = existingListeners; - } - } else { - if ((t1 & 4) !== 0) { - source = type$._Future_dynamic._as(_this._resultOrListeners); - if ((source._state & 24) === 0) { - source._prependListeners$1(listeners); - return; - } - _this._cloneResult$1(source); - } - _box_0.listeners = _this._reverseListeners$1(listeners); - A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__prependListeners_closure(_box_0, _this))); - } - }, - _removeListeners$0() { - var current = type$.nullable__FutureListener_dynamic_dynamic._as(this._resultOrListeners); - this._resultOrListeners = null; - return this._reverseListeners$1(current); - }, - _reverseListeners$1(listeners) { - var current, prev, next; - for (current = listeners, prev = null; current != null; prev = current, current = next) { - next = current._nextListener; - current._nextListener = prev; - } - return prev; - }, - _completeWithValue$1(value) { - var listeners, _this = this; - _this.$ti._precomputed1._as(value); - listeners = _this._removeListeners$0(); - _this._state = 8; - _this._resultOrListeners = value; - A._Future__propagateToListeners(_this, listeners); - }, - _completeWithResultOf$1(source) { - var t1, listeners, _this = this; - if ((source._state & 16) !== 0) { - t1 = _this._zone === source._zone; - t1 = !(t1 || t1); - } else - t1 = false; - if (t1) - return; - listeners = _this._removeListeners$0(); - _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) { - A._asObject(error); - type$.StackTrace._as(stackTrace); - this._completeErrorObject$1(new A.AsyncError(error, stackTrace)); - }, - _asyncComplete$1(value) { - var t1 = this.$ti; - t1._eval$1("1/")._as(value); - if (t1._eval$1("Future<1>")._is(value)) { - this._chainFuture$1(value); - return; - } - this._asyncCompleteWithValue$1(value); - }, - _asyncCompleteWithValue$1(value) { - var _this = this; - _this.$ti._precomputed1._as(value); - _this._state ^= 2; - A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__asyncCompleteWithValue_closure(_this, value))); - }, - _chainFuture$1(value) { - A._Future__chainCoreFuture(this.$ti._eval$1("Future<1>")._as(value), this, false); - return; - }, - _asyncCompleteErrorObject$1(error) { - this._state ^= 2; - A._rootScheduleMicrotask(null, null, this._zone, type$.void_Function._as(new A._Future__asyncCompleteErrorObject_closure(this, error))); - }, - $isFuture: 1 - }; - A._Future__addListener_closure.prototype = { - call$0() { - A._Future__propagateToListeners(this.$this, this.listener); - }, - $signature: 0 - }; - A._Future__prependListeners_closure.prototype = { - call$0() { - A._Future__propagateToListeners(this.$this, this._box_0.listeners); - }, - $signature: 0 - }; - A._Future__chainCoreFuture_closure.prototype = { - call$0() { - A._Future__chainCoreFuture(this._box_0.source, this.target, true); - }, - $signature: 0 - }; - A._Future__asyncCompleteWithValue_closure.prototype = { - call$0() { - this.$this._completeWithValue$1(this.value); - }, - $signature: 0 - }; - A._Future__asyncCompleteErrorObject_closure.prototype = { - call$0() { - this.$this._completeErrorObject$1(this.error); - }, - $signature: 0 - }; - A._Future__propagateToListeners_handleWhenCompleteCallback.prototype = { - call$0() { - var e, s, t1, exception, t2, t3, originalSource, joinedResult, _this = this, completeResult = null; - try { - t1 = _this._box_0.listener; - completeResult = t1.result._zone.run$1$1(type$.dynamic_Function._as(t1.callback), type$.dynamic); - } catch (exception) { - e = A.unwrapException(exception); - s = A.getTraceFromException(exception); - if (_this.hasError && type$.AsyncError._as(_this._box_1.source._resultOrListeners).error === e) { - t1 = _this._box_0; - t1.listenerValueOrError = type$.AsyncError._as(_this._box_1.source._resultOrListeners); - } else { - t1 = e; - t2 = s; - if (t2 == null) - t2 = A.AsyncError_defaultStackTrace(t1); - t3 = _this._box_0; - t3.listenerValueOrError = new A.AsyncError(t1, t2); - t1 = t3; - } - t1.listenerHasError = true; - return; - } - if (completeResult instanceof A._Future && (completeResult._state & 24) !== 0) { - if ((completeResult._state & 16) !== 0) { - t1 = _this._box_0; - t1.listenerValueOrError = type$.AsyncError._as(completeResult._resultOrListeners); - t1.listenerHasError = true; - } - return; - } - if (completeResult instanceof A._Future) { - originalSource = _this._box_1.source; - joinedResult = new A._Future(originalSource._zone, originalSource.$ti); - completeResult.then$1$2$onError(new A._Future__propagateToListeners_handleWhenCompleteCallback_closure(joinedResult, originalSource), new A._Future__propagateToListeners_handleWhenCompleteCallback_closure0(joinedResult), type$.void); - t1 = _this._box_0; - t1.listenerValueOrError = joinedResult; - t1.listenerHasError = false; - } - }, - $signature: 0 - }; - A._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = { - call$1(__wc0_formal) { - this.joinedResult._completeWithResultOf$1(this.originalSource); - }, - $signature: 5 - }; - A._Future__propagateToListeners_handleWhenCompleteCallback_closure0.prototype = { - call$2(e, s) { - A._asObject(e); - type$.StackTrace._as(s); - this.joinedResult._completeErrorObject$1(new A.AsyncError(e, s)); - }, - $signature: 20 - }; - A._Future__propagateToListeners_handleValueCallback.prototype = { - call$0() { - var e, s, t1, t2, t3, t4, t5, exception; - try { - t1 = this._box_0; - t2 = t1.listener; - t3 = t2.$ti; - t4 = t3._precomputed1; - t5 = t4._as(this.sourceResult); - t1.listenerValueOrError = t2.result._zone.runUnary$2$2(t3._eval$1("2/(1)")._as(t2.callback), t5, t3._eval$1("2/"), t4); - } catch (exception) { - e = A.unwrapException(exception); - s = A.getTraceFromException(exception); - t1 = e; - t2 = s; - if (t2 == null) - t2 = A.AsyncError_defaultStackTrace(t1); - t3 = this._box_0; - t3.listenerValueOrError = new A.AsyncError(t1, t2); - t3.listenerHasError = true; - } - }, - $signature: 0 - }; - A._Future__propagateToListeners_handleError.prototype = { - call$0() { - var asyncError, e, s, t1, exception, t2, t3, _this = this; - try { - asyncError = type$.AsyncError._as(_this._box_1.source._resultOrListeners); - t1 = _this._box_0; - if (t1.listener.matchesErrorTest$1(asyncError) && t1.listener.errorCallback != null) { - t1.listenerValueOrError = t1.listener.handleError$1(asyncError); - t1.listenerHasError = false; - } - } catch (exception) { - e = A.unwrapException(exception); - s = A.getTraceFromException(exception); - t1 = type$.AsyncError._as(_this._box_1.source._resultOrListeners); - if (t1.error === e) { - t2 = _this._box_0; - t2.listenerValueOrError = t1; - t1 = t2; - } else { - t1 = e; - t2 = s; - if (t2 == null) - t2 = A.AsyncError_defaultStackTrace(t1); - t3 = _this._box_0; - t3.listenerValueOrError = new A.AsyncError(t1, t2); - t1 = t3; - } - t1.listenerHasError = true; - } - }, - $signature: 0 - }; - A._AsyncCallbackEntry.prototype = {}; - A.Stream.prototype = { - get$length(_) { - var t1 = {}, - future = new A._Future($.Zone__current, type$._Future_int); - t1.count = 0; - this.listen$4$cancelOnError$onDone$onError(new A.Stream_length_closure(t1, this), true, new A.Stream_length_closure0(t1, future), future.get$_completeError()); - return future; - } - }; - A.Stream_length_closure.prototype = { - call$1(__wc0_formal) { - this.$this.$ti._precomputed1._as(__wc0_formal); - ++this._box_0.count; - }, - $signature() { - return this.$this.$ti._eval$1("~(1)"); - } - }; - A.Stream_length_closure0.prototype = { - call$0() { - var t1 = this.future, - t2 = t1.$ti, - t3 = t2._eval$1("1/")._as(this._box_0.count), - listeners = t1._removeListeners$0(); - t2._precomputed1._as(t3); - t1._state = 8; - t1._resultOrListeners = t3; - A._Future__propagateToListeners(t1, listeners); - }, - $signature: 0 - }; - A._ControllerStream.prototype = { - get$hashCode(_) { - return (A.Primitives_objectHashCode(this._async$_controller) ^ 892482866) >>> 0; - }, - $eq(_, other) { - if (other == null) - return false; - if (this === other) - return true; - return other instanceof A._BroadcastStream && other._async$_controller === this._async$_controller; - } - }; - A._ControllerSubscription.prototype = { - _onPause$0() { - A._instanceType(this._async$_controller)._eval$1("StreamSubscription<1>")._as(this); - }, - _onResume$0() { - A._instanceType(this._async$_controller)._eval$1("StreamSubscription<1>")._as(this); - } - }; - A._BufferingStreamSubscription.prototype = { - _add$1(data) { - var t2, _this = this, - t1 = A._instanceType(_this); - t1._precomputed1._as(data); - t2 = _this._state; - if ((t2 & 8) !== 0) - return; - if (t2 < 64) - _this._sendData$1(data); - else - _this._addPending$1(new A._DelayedData(data, t1._eval$1("_DelayedData<1>"))); - }, - _onPause$0() { - }, - _onResume$0() { - }, - _addPending$1($event) { - var lastEvent, t1, _this = this, - pending = _this._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; - else - pending.lastPendingEvent = lastEvent.next = $event; - t1 = _this._state; - if ((t1 & 128) === 0) { - t1 |= 128; - _this._state = t1; - if (t1 < 256) - pending.schedule$1(_this); - } - }, - _sendData$1(data) { - var t2, _this = this, - t1 = A._instanceType(_this)._precomputed1; - t1._as(data); - t2 = _this._state; - _this._state = t2 | 64; - _this._zone.runUnaryGuarded$1$2(_this._onData, data, t1); - _this._state &= 4294967231; - _this._checkState$1((t2 & 4) !== 0); - }, - _checkState$1(wasInputPaused) { - var t2, isInputPaused, _this = this, - t1 = _this._state; - if ((t1 & 128) !== 0 && _this._pending.lastPendingEvent == null) { - t1 = _this._state = t1 & 4294967167; - t2 = false; - if ((t1 & 4) !== 0) - if (t1 < 256) { - t2 = _this._pending; - t2 = t2 == null ? null : t2.lastPendingEvent == null; - t2 = t2 !== false; - } - if (t2) { - t1 &= 4294967291; - _this._state = t1; - } - } - for (; true; wasInputPaused = isInputPaused) { - if ((t1 & 8) !== 0) { - _this._pending = null; - return; - } - isInputPaused = (t1 & 4) !== 0; - if (wasInputPaused === isInputPaused) - break; - _this._state = t1 ^ 64; - if (isInputPaused) - _this._onPause$0(); - else - _this._onResume$0(); - t1 = _this._state &= 4294967231; - } - if ((t1 & 128) !== 0 && t1 < 256) - _this._pending.schedule$1(_this); - }, - $isStreamSubscription: 1, - $is_EventDispatch: 1 - }; - A._StreamImpl.prototype = { - listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { - var t1 = this.$ti; - t1._eval$1("~(1)?")._as(onData); - type$.nullable_void_Function._as(onDone); - return this._async$_controller._subscribe$4(t1._eval$1("~(1)?")._as(onData), onError, onDone, cancelOnError === true); - }, - listen$1(onData) { - return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null); - } - }; - A._DelayedEvent.prototype = {}; - A._DelayedData.prototype = {}; - A._PendingEvents.prototype = { - schedule$1(dispatch) { - var t1, _this = this; - _this.$ti._eval$1("_EventDispatch<1>")._as(dispatch); - t1 = _this._state; - if (t1 === 1) - return; - if (t1 >= 1) { - _this._state = 1; - return; - } - A.scheduleMicrotask(new A._PendingEvents_schedule_closure(_this, dispatch)); - _this._state = 1; - } - }; - A._PendingEvents_schedule_closure.prototype = { - call$0() { - var t2, $event, nextEvent, - t1 = this.$this, - oldState = t1._state; - t1._state = 0; - if (oldState === 3) - return; - t2 = t1.$ti._eval$1("_EventDispatch<1>")._as(this.dispatch); - $event = t1.firstPendingEvent; - nextEvent = $event.next; - t1.firstPendingEvent = nextEvent; - if (nextEvent == null) - t1.lastPendingEvent = null; - A._instanceType($event)._eval$1("_EventDispatch<1>")._as(t2)._sendData$1($event.value); - }, - $signature: 0 - }; - A._DoneStreamSubscription.prototype = { - _onMicrotask$0() { - var _0_0, _this = this, - unscheduledState = _this._state - 1; - if (unscheduledState === 0) { - _this._state = -1; - _0_0 = _this._onDone; - if (_0_0 != null) { - _this._onDone = null; - _this._zone.runGuarded$1(_0_0); - } - } else - _this._state = unscheduledState; - }, - $isStreamSubscription: 1 - }; - A._StreamIterator.prototype = {}; - A._Zone.prototype = {$isZone: 1}; - A._rootHandleError_closure.prototype = { - call$0() { - A.Error_throwWithStackTrace(this.error, this.stackTrace); - }, - $signature: 0 - }; - A._RootZone.prototype = { - runGuarded$1(f) { - var e, s, exception; - type$.void_Function._as(f); - try { - if (B.C__RootZone === $.Zone__current) { - f.call$0(); - return; - } - A._rootRun(null, null, this, f, type$.void); - } catch (exception) { - e = A.unwrapException(exception); - s = A.getTraceFromException(exception); - A._rootHandleError(A._asObject(e), type$.StackTrace._as(s)); - } - }, - runUnaryGuarded$1$2(f, arg, $T) { - var e, s, exception; - $T._eval$1("~(0)")._as(f); - $T._as(arg); - try { - if (B.C__RootZone === $.Zone__current) { - f.call$1(arg); - return; - } - A._rootRunUnary(null, null, this, f, arg, type$.void, $T); - } catch (exception) { - e = A.unwrapException(exception); - s = A.getTraceFromException(exception); - A._rootHandleError(A._asObject(e), type$.StackTrace._as(s)); - } - }, - bindCallbackGuarded$1(f) { - return new A._RootZone_bindCallbackGuarded_closure(this, type$.void_Function._as(f)); - }, - $index(_, key) { - return null; - }, - run$1$1(f, $R) { - $R._eval$1("0()")._as(f); - if ($.Zone__current === B.C__RootZone) - return f.call$0(); - return A._rootRun(null, null, this, f, $R); - }, - runUnary$2$2(f, arg, $R, $T) { - $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); - $T._as(arg); - if ($.Zone__current === B.C__RootZone) - 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); - if ($.Zone__current === B.C__RootZone) - return f.call$2(arg1, arg2); - 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); - } - }; - A._RootZone_bindCallbackGuarded_closure.prototype = { - call$0() { - return this.$this.runGuarded$1(this.f); - }, - $signature: 0 - }; - A._HashMap.prototype = { - get$length(_) { - return this._collection$_length; - }, - get$keys() { - return new A._HashMapKeyIterable(this, this.$ti._eval$1("_HashMapKeyIterable<1>")); - }, - containsKey$1(key) { - var strings, nums; - if (typeof key == "string" && key !== "__proto__") { - strings = this._collection$_strings; - return strings == null ? false : strings[key] != null; - } else if (typeof key == "number" && (key & 1073741823) === key) { - nums = this._collection$_nums; - return nums == null ? false : nums[key] != null; - } else - return this._containsKey$1(key); - }, - _containsKey$1(key) { - var rest = this._collection$_rest; - if (rest == null) - return false; - return this._findBucketIndex$2(this._getBucket$2(rest, key), key) >= 0; - }, - $index(_, key) { - var strings, t1, nums; - if (typeof key == "string" && key !== "__proto__") { - strings = this._collection$_strings; - t1 = strings == null ? null : A._HashMap__getTableEntry(strings, key); - return t1; - } else if (typeof key == "number" && (key & 1073741823) === key) { - nums = this._collection$_nums; - t1 = nums == null ? null : A._HashMap__getTableEntry(nums, key); - return t1; - } else - return this._get$1(key); - }, - _get$1(key) { - var bucket, index, - rest = this._collection$_rest; - if (rest == null) - return null; - bucket = this._getBucket$2(rest, key); - index = this._findBucketIndex$2(bucket, key); - return index < 0 ? null : bucket[index + 1]; - }, - $indexSet(_, key, value) { - var strings, nums, rest, hash, bucket, index, _this = this, - t1 = _this.$ti; - t1._precomputed1._as(key); - t1._rest[1]._as(value); - if (typeof key == "string" && key !== "__proto__") { - strings = _this._collection$_strings; - _this._addHashTableEntry$3(strings == null ? _this._collection$_strings = A._HashMap__newHashTable() : strings, key, value); - } else if (typeof key == "number" && (key & 1073741823) === key) { - nums = _this._collection$_nums; - _this._addHashTableEntry$3(nums == null ? _this._collection$_nums = A._HashMap__newHashTable() : nums, key, value); - } else { - rest = _this._collection$_rest; - if (rest == null) - rest = _this._collection$_rest = A._HashMap__newHashTable(); - hash = A.objectHashCode(key) & 1073741823; - bucket = rest[hash]; - if (bucket == null) { - A._HashMap__setTableEntry(rest, hash, [key, value]); - ++_this._collection$_length; - _this._collection$_keys = null; - } else { - index = _this._findBucketIndex$2(bucket, key); - if (index >= 0) - bucket[index + 1] = value; - else { - bucket.push(key, value); - ++_this._collection$_length; - _this._collection$_keys = null; - } - } - } - }, - forEach$1(_, action) { - var keys, $length, t2, i, key, t3, _this = this, - t1 = _this.$ti; - t1._eval$1("~(1,2)")._as(action); - keys = _this._computeKeys$0(); - for ($length = keys.length, t2 = t1._precomputed1, t1 = t1._rest[1], i = 0; i < $length; ++i) { - key = keys[i]; - t2._as(key); - t3 = _this.$index(0, key); - action.call$2(key, t3 == null ? t1._as(t3) : t3); - if (keys !== _this._collection$_keys) - throw A.wrapException(A.ConcurrentModificationError$(_this)); - } - }, - _computeKeys$0() { - var strings, index, names, entries, i, nums, rest, bucket, $length, i0, _this = this, - result = _this._collection$_keys; - if (result != null) - return result; - result = A.List_List$filled(_this._collection$_length, null, false, type$.dynamic); - strings = _this._collection$_strings; - index = 0; - if (strings != null) { - names = Object.getOwnPropertyNames(strings); - entries = names.length; - for (i = 0; i < entries; ++i) { - result[index] = names[i]; - ++index; - } - } - nums = _this._collection$_nums; - if (nums != null) { - names = Object.getOwnPropertyNames(nums); - entries = names.length; - for (i = 0; i < entries; ++i) { - result[index] = +names[i]; - ++index; - } - } - rest = _this._collection$_rest; - if (rest != null) { - names = Object.getOwnPropertyNames(rest); - entries = names.length; - for (i = 0; i < entries; ++i) { - bucket = rest[names[i]]; - $length = bucket.length; - for (i0 = 0; i0 < $length; i0 += 2) { - result[index] = bucket[i0]; - ++index; - } - } - } - return _this._collection$_keys = result; - }, - _addHashTableEntry$3(table, key, value) { - var t1 = this.$ti; - t1._precomputed1._as(key); - t1._rest[1]._as(value); - if (table[key] == null) { - ++this._collection$_length; - this._collection$_keys = null; - } - A._HashMap__setTableEntry(table, key, value); - }, - _getBucket$2(table, key) { - return table[A.objectHashCode(key) & 1073741823]; - } - }; - A._IdentityHashMap.prototype = { - _findBucketIndex$2(bucket, key) { - var $length, i, t1; - if (bucket == null) - return -1; - $length = bucket.length; - for (i = 0; i < $length; i += 2) { - t1 = bucket[i]; - if (t1 == null ? key == null : t1 === key) - return i; - } - return -1; - } - }; - A._HashMapKeyIterable.prototype = { - get$length(_) { - return this._collection$_map._collection$_length; - }, - get$iterator(_) { - var t1 = this._collection$_map; - return new A._HashMapKeyIterator(t1, t1._computeKeys$0(), this.$ti._eval$1("_HashMapKeyIterator<1>")); - } - }; - A._HashMapKeyIterator.prototype = { - get$current() { - var t1 = this._collection$_current; - return t1 == null ? this.$ti._precomputed1._as(t1) : t1; - }, - moveNext$0() { - var _this = this, - keys = _this._collection$_keys, - offset = _this._offset, - t1 = _this._collection$_map; - if (keys !== t1._collection$_keys) - throw A.wrapException(A.ConcurrentModificationError$(t1)); - else if (offset >= keys.length) { - _this._collection$_current = null; - return false; - } else { - _this._collection$_current = keys[offset]; - _this._offset = offset + 1; - return true; - } - }, - $isIterator: 1 - }; - A.ListBase.prototype = { - get$iterator(receiver) { - return new A.ListIterator(receiver, receiver.length, A.instanceType(receiver)._eval$1("ListIterator")); - }, - elementAt$1(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); - return new A.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(ListBase.E)")._as(f), t1._eval$1("@")._bind$1($T)._eval$1("MappedListIterable<1,2>")); - }, - toString$0(receiver) { - return A.Iterable_iterableToFullString(receiver, "[", "]"); - } - }; - A.MapBase.prototype = { - forEach$1(_, action) { - var t2, key, t3, - t1 = A._instanceType(this); - t1._eval$1("~(1,2)")._as(action); - for (t2 = this.get$keys(), t2 = t2.get$iterator(t2), t1 = t1._rest[1]; t2.moveNext$0();) { - key = t2.get$current(); - t3 = this.$index(0, key); - action.call$2(key, t3 == null ? t1._as(t3) : t3); - } - }, - get$length(_) { - var t1 = this.get$keys(); - return t1.get$length(t1); - }, - toString$0(_) { - return A.MapBase_mapToString(this); - }, - $isMap: 1 - }; - A.MapBase_mapToString_closure.prototype = { - call$2(k, v) { - var t2, - t1 = this._box_0; - if (!t1.first) - this.result._contents += ", "; - t1.first = false; - t1 = this.result; - t2 = A.S(k); - t1._contents = (t1._contents += t2) + ": "; - t2 = A.S(v); - t1._contents += t2; - }, - $signature: 21 - }; - A._UnmodifiableMapMixin.prototype = {}; - A.MapView.prototype = { - $index(_, key) { - return this._collection$_map.$index(0, key); - }, - forEach$1(_, action) { - this._collection$_map.forEach$1(0, A._instanceType(this)._eval$1("~(1,2)")._as(action)); - }, - get$length(_) { - return this._collection$_map.__js_helper$_length; - }, - get$keys() { - var t1 = this._collection$_map; - return new A.LinkedHashMapKeysIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeysIterable<1>")); - }, - toString$0(_) { - return A.MapBase_mapToString(this._collection$_map); - }, - $isMap: 1 - }; - A.UnmodifiableMapView.prototype = {}; - A._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {}; - A.Base64Codec.prototype = {}; - A.Base64Encoder.prototype = { - convert$1(input) { - var t1; - type$.List_int._as(input); - t1 = input.length; - if (t1 === 0) - return ""; - t1 = new A._Base64Encoder("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").encode$4(input, 0, t1, true); - t1.toString; - return A.String_String$fromCharCodes(t1); - } - }; - A._Base64Encoder.prototype = { - encode$4(bytes, start, end, isLast) { - var t1, byteCount, fullChunks, bufferLength, output; - type$.List_int._as(bytes); - t1 = this._convert$_state; - byteCount = (t1 & 3) + (end - start); - fullChunks = B.JSInt_methods._tdivFast$1(byteCount, 3); - bufferLength = fullChunks * 4; - if (byteCount - fullChunks * 3 > 0) - bufferLength += 4; - output = new Uint8Array(bufferLength); - this._convert$_state = A._Base64Encoder_encodeChunk(this._alphabet, bytes, start, end, true, output, 0, t1); - if (bufferLength > 0) - return output; - return null; - } - }; - A.Base64Decoder.prototype = { - convert$1(input) { - var decoder, t1, t2, - end = A.RangeError_checkValidRange(0, null, input.length); - if (0 === end) - return new Uint8Array(0); - decoder = new A._Base64Decoder(); - t1 = decoder.decode$3(input, 0, end); - t1.toString; - t2 = decoder._convert$_state; - if (t2 < -1) - A.throwExpression(A.FormatException$("Missing padding character", input, end)); - if (t2 > 0) - A.throwExpression(A.FormatException$("Invalid length, must be multiple of four", input, end)); - decoder._convert$_state = -1; - return t1; - } - }; - A._Base64Decoder.prototype = { - decode$3(input, start, end) { - var buffer, _this = this, - t1 = _this._convert$_state; - if (t1 < 0) { - _this._convert$_state = A._Base64Decoder__checkPadding(input, start, end, t1); - return null; - } - if (start === end) - return new Uint8Array(0); - buffer = A._Base64Decoder__allocateBuffer(input, start, end, t1); - _this._convert$_state = A._Base64Decoder_decodeChunk(input, start, end, buffer, 0, _this._convert$_state); - return buffer; - } - }; - A.Codec.prototype = {}; - A.Converter.prototype = {}; - A.NoSuchMethodError_toString_closure.prototype = { - call$2(key, value) { - var t1, t2, t3; - type$.Symbol._as(key); - t1 = this.sb; - t2 = this._box_0; - 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: 22 - }; - A.DateTime.prototype = { - $eq(_, other) { - if (other == null) - return false; - return other instanceof A.DateTime && this._value === other._value && this._microsecond === other._microsecond && this.isUtc === other.isUtc; - }, - get$hashCode(_) { - return A.Object_hash(this._value, this._microsecond); - }, - toString$0(_) { - var _this = this, - y = A.DateTime__fourDigits(A.Primitives_getYear(_this)), - m = A.DateTime__twoDigits(A.Primitives_getMonth(_this)), - d = A.DateTime__twoDigits(A.Primitives_getDay(_this)), - h = A.DateTime__twoDigits(A.Primitives_getHours(_this)), - min = A.DateTime__twoDigits(A.Primitives_getMinutes(_this)), - sec = A.DateTime__twoDigits(A.Primitives_getSeconds(_this)), - ms = A.DateTime__threeDigits(A.Primitives_getMilliseconds(_this)), - t1 = _this._microsecond, - us = t1 === 0 ? "" : A.DateTime__threeDigits(t1); - t1 = y + "-" + m; - if (_this.isUtc) - return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + us + "Z"; - else - return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + us; - } - }; - A._Enum.prototype = { - toString$0(_) { - return this._enumToString$0(); - } - }; - A.Error.prototype = { - get$stackTrace() { - return A.Primitives_extractStackTrace(this); - } - }; - A.AssertionError.prototype = { - toString$0(_) { - var t1 = this.message; - if (t1 != null) - return "Assertion failed: " + A.Error_safeToString(t1); - return "Assertion failed"; - } - }; - A.TypeError.prototype = {}; - A.ArgumentError.prototype = { - get$_errorName() { - return "Invalid argument" + (!this._hasValue ? "(s)" : ""); - }, - get$_errorExplanation() { - return ""; - }, - toString$0(_) { - var _this = this, - $name = _this.name, - nameString = $name == null ? "" : " (" + $name + ")", - message = _this.message, - messageString = message == null ? "" : ": " + A.S(message), - prefix = _this.get$_errorName() + nameString + messageString; - if (!_this._hasValue) - return prefix; - return prefix + _this.get$_errorExplanation() + ": " + A.Error_safeToString(_this.get$invalidValue()); - }, - get$invalidValue() { - return this.invalidValue; - } - }; - A.RangeError.prototype = { - get$invalidValue() { - return A._asNumQ(this.invalidValue); - }, - get$_errorName() { - return "RangeError"; - }, - get$_errorExplanation() { - var explanation, - start = this.start, - end = this.end; - if (start == null) - explanation = end != null ? ": Not less than or equal to " + A.S(end) : ""; - else if (end == null) - explanation = ": Not greater than or equal to " + A.S(start); - else if (end > start) - explanation = ": Not in inclusive range " + A.S(start) + ".." + A.S(end); - else - explanation = end < start ? ": Valid value range is empty" : ": Only valid value is " + A.S(start); - return explanation; - } - }; - A.IndexError.prototype = { - get$invalidValue() { - return A._asInt(this.invalidValue); - }, - get$_errorName() { - return "RangeError"; - }, - get$_errorExplanation() { - if (A._asInt(this.invalidValue) < 0) - return ": index must not be negative"; - var t1 = this.length; - if (t1 === 0) - return ": no indices are valid"; - return ": index should be less than " + t1; - }, - get$length(receiver) { - return this.length; - } - }; - A.NoSuchMethodError.prototype = { - toString$0(_) { - var $arguments, t1, _i, t2, t3, argument, receiverText, actualParameters, _this = this, _box_0 = {}, - sb = new A.StringBuffer(""); - _box_0.comma = ""; - $arguments = _this._core$_arguments; - for (t1 = $arguments.length, _i = 0, t2 = "", t3 = ""; _i < t1; ++_i, t3 = ", ") { - argument = $arguments[_i]; - sb._contents = t2 + t3; - t2 = A.Error_safeToString(argument); - t2 = sb._contents += t2; - _box_0.comma = ", "; - } - _this._namedArguments.forEach$1(0, new A.NoSuchMethodError_toString_closure(_box_0, sb)); - receiverText = A.Error_safeToString(_this._core$_receiver); - actualParameters = sb.toString$0(0); - return "NoSuchMethodError: method not found: '" + _this._core$_memberName.__internal$_name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]"; - } - }; - A.UnsupportedError.prototype = { - toString$0(_) { - return "Unsupported operation: " + this.message; - } - }; - A.UnimplementedError.prototype = { - toString$0(_) { - return "UnimplementedError: " + this.message; - } - }; - A.StateError.prototype = { - toString$0(_) { - return "Bad state: " + this.message; - } - }; - A.ConcurrentModificationError.prototype = { - toString$0(_) { - var t1 = this.modifiedObject; - if (t1 == null) - return "Concurrent modification during iteration."; - return "Concurrent modification during iteration: " + A.Error_safeToString(t1) + "."; - } - }; - A.OutOfMemoryError.prototype = { - toString$0(_) { - return "Out of Memory"; - }, - get$stackTrace() { - return null; - }, - $isError: 1 - }; - A.StackOverflowError.prototype = { - toString$0(_) { - return "Stack Overflow"; - }, - get$stackTrace() { - return null; - }, - $isError: 1 - }; - A._Exception.prototype = { - toString$0(_) { - return "Exception: " + this.message; - } - }; - A.FormatException.prototype = { - toString$0(_) { - var lineEnd, lineNum, lineStart, previousCharWasCR, i, char, prefix, postfix, end, start, - message = this.message, - report = "" !== message ? "FormatException: " + message : "FormatException", - offset = this.offset, - source = this.source, - t1 = offset < 0 || offset > source.length; - if (t1) - offset = null; - if (offset == null) { - if (source.length > 78) - source = B.JSString_methods.substring$2(source, 0, 75) + "..."; - return report + "\n" + source; - } - for (lineEnd = source.length, lineNum = 1, lineStart = 0, previousCharWasCR = false, i = 0; i < offset; ++i) { - if (!(i < lineEnd)) - return A.ioore(source, i); - char = source.charCodeAt(i); - if (char === 10) { - if (lineStart !== i || !previousCharWasCR) - ++lineNum; - lineStart = i + 1; - previousCharWasCR = false; - } else if (char === 13) { - ++lineNum; - lineStart = i + 1; - previousCharWasCR = true; - } - } - report = lineNum > 1 ? report + (" (at line " + lineNum + ", character " + (offset - lineStart + 1) + ")\n") : report + (" (at character " + (offset + 1) + ")\n"); - for (i = offset; i < lineEnd; ++i) { - if (!(i >= 0)) - return A.ioore(source, i); - char = source.charCodeAt(i); - if (char === 10 || char === 13) { - lineEnd = i; - break; - } - } - prefix = ""; - if (lineEnd - lineStart > 78) { - postfix = "..."; - if (offset - lineStart < 75) { - end = lineStart + 75; - start = lineStart; - } else { - if (lineEnd - offset < 75) { - start = lineEnd - 75; - end = lineEnd; - postfix = ""; - } else { - start = offset - 36; - end = offset + 36; - } - prefix = "..."; - } - } else { - end = lineEnd; - start = lineStart; - postfix = ""; - } - return report + prefix + B.JSString_methods.substring$2(source, start, end) + postfix + "\n" + B.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n"; - } - }; - A.Iterable.prototype = { - map$1$1(_, toElement, $T) { - var t1 = A._instanceType(this); - return A.MappedIterable_MappedIterable(this, t1._bind$1($T)._eval$1("1(Iterable.E)")._as(toElement), t1._eval$1("Iterable.E"), $T); - }, - get$length(_) { - var count, - it = this.get$iterator(this); - for (count = 0; it.moveNext$0();) - ++count; - return count; - }, - elementAt$1(_, index) { - var iterator, skipCount; - A.RangeError_checkNotNegative(index, "index"); - iterator = this.get$iterator(this); - for (skipCount = index; iterator.moveNext$0();) { - if (skipCount === 0) - return iterator.get$current(); - --skipCount; - } - throw A.wrapException(A.IndexError$withLength(index, index - skipCount, this, "index")); - }, - toString$0(_) { - return A.Iterable_iterableToShortString(this, "(", ")"); - } - }; - A.Null.prototype = { - get$hashCode(_) { - return A.Object.prototype.get$hashCode.call(this, 0); - }, - toString$0(_) { - return "null"; - } - }; - A.Object.prototype = {$isObject: 1, - $eq(_, other) { - return this === other; - }, - get$hashCode(_) { - return A.Primitives_objectHashCode(this); - }, - toString$0(_) { - return "Instance of '" + A.Primitives_objectTypeName(this) + "'"; - }, - noSuchMethod$1(_, invocation) { - throw A.wrapException(A.NoSuchMethodError_NoSuchMethodError$withInvocation(this, type$.Invocation._as(invocation))); - }, - get$runtimeType(_) { - return A.getRuntimeTypeOfDartObject(this); - }, - toString() { - return this.toString$0(this); - } - }; - A._StringStackTrace.prototype = { - toString$0(_) { - return ""; - }, - $isStackTrace: 1 - }; - A.StringBuffer.prototype = { - get$length(_) { - return this._contents.length; - }, - toString$0(_) { - var t1 = this._contents; - return t1.charCodeAt(0) == 0 ? t1 : t1; - } - }; - A.jsify__convert.prototype = { - call$1(o) { - var t1, convertedMap, key, convertedList; - if (A._noJsifyRequired(o)) - return o; - t1 = this._convertedObjects; - if (t1.containsKey$1(o)) - return t1.$index(0, 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();) { - key = t1.get$current(); - convertedMap[key] = this.call$1(o.$index(0, key)); - } - return convertedMap; - } 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)); - return convertedList; - } else - return o; - }, - $signature: 8 - }; - A.promiseToFuture_closure.prototype = { - call$1(r) { - return this.completer.complete$1(this.T._eval$1("0/?")._as(r)); - }, - $signature: 3 - }; - A.promiseToFuture_closure0.prototype = { - call$1(e) { - if (e == null) - return this.completer.completeError$1(new A.NullRejectionException(e === undefined)); - return this.completer.completeError$1(e); - }, - $signature: 3 - }; - A.dartify_convert.prototype = { - call$1(o) { - var t1, millisSinceEpoch, proto, t2, dartObject, originalKeys, dartKeys, _i, i, jsKey, dartKey, l, $length; - if (A._noDartifyRequired(o)) - return o; - t1 = this._convertedObjects; - o.toString; - if (t1.containsKey$1(o)) - return t1.$index(0, o); - if (o instanceof Date) { - millisSinceEpoch = o.getTime(); - if (millisSinceEpoch < -864e13 || millisSinceEpoch > 864e13) - A.throwExpression(A.RangeError$range(millisSinceEpoch, -864e13, 864e13, "millisecondsSinceEpoch", null)); - A.checkNotNullable(true, "isUtc", type$.bool); - return new A.DateTime(millisSinceEpoch, 0, true); - } - if (o instanceof RegExp) - throw A.wrapException(A.ArgumentError$("structured clone of RegExp", null)); - if (typeof Promise != "undefined" && o instanceof Promise) - return A.promiseToFuture(o, type$.nullable_Object); - proto = Object.getPrototypeOf(o); - if (proto === Object.prototype || proto === null) { - t2 = type$.nullable_Object; - dartObject = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2); - t1.$indexSet(0, o, dartObject); - originalKeys = Object.keys(o); - dartKeys = []; - 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]; - if (jsKey != null) - dartObject.$indexSet(0, dartKey, this.call$1(o[jsKey])); - } - return dartObject; - } - if (o instanceof Array) { - l = o; - dartObject = []; - t1.$indexSet(0, o, dartObject); - $length = A._asInt(o.length); - 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; - }, - $signature: 8 - }; - A.NullRejectionException.prototype = { - toString$0(_) { - return "Promise was rejected with a value of `" + (this.isUndefined ? "undefined" : "null") + "`."; - } - }; - A._JSSecureRandom.prototype = { - _JSSecureRandom$0() { - var $crypto = self.crypto; - if ($crypto != null) - if ($crypto.getRandomValues != null) - return; - throw A.wrapException(A.UnsupportedError$("No source of cryptographically secure random numbers available.")); - }, - nextInt$1(max) { - var byteCount, t1, start, randomLimit, t2, t3, random, result, _null = null; - if (max <= 0 || max > 4294967296) - throw A.wrapException(new A.RangeError(_null, _null, false, _null, _null, "max must be in range 0 < max \u2264 2^32, was " + max)); - if (max > 255) - if (max > 65535) - byteCount = max > 16777215 ? 4 : 3; - else - byteCount = 2; - else - byteCount = 1; - 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 === 0; true;) { - crypto.getRandomValues(J.asUint8List$2$x(B.NativeByteData_methods.get$buffer(t1), start, byteCount)); - random = t1.getUint32(0, false); - if (t3) - return (random & t2) >>> 0; - result = random % max; - if (random - result + max < randomLimit) - return result; - } - } - }; - 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; - } - }; - A.FrameInfo.prototype = {}; - A.FrameCryptor.prototype = { - get$enabled() { - if (this.participantIdentity == null) - return false; - return this._enabled; - }, - setupTransform$6$codec$kind$operation$readable$trackId$writable(codec, kind, operation, readable, trackId, writable) { - return this.setupTransform$body$FrameCryptor(codec, kind, operation, readable, trackId, writable); - }, - setupTransform$5$kind$operation$readable$trackId$writable(kind, operation, readable, trackId, writable) { - return this.setupTransform$6$codec$kind$operation$readable$trackId$writable(null, kind, operation, readable, trackId, writable); - }, - 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, 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); - while (true) - switch ($async$goto) { - case 0: - // Function start - t1 = $.$get$logger(); - t1.log$4(B.Level_INFO_800, "setupTransform " + operation + " kind " + kind, null, null); - $async$self.__FrameCryptor_kind_A = kind; - if (codec != null) { - t1.log$4(B.Level_INFO_800, "setting codec on cryptor to " + codec, null, null); - $async$self.codec = codec; - } - 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; - transformer = A._asJSObject(new t1(A._asJSObject(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["transform", A.allowInterop(t2, t3)], t4, t3))))); - try { - 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); - if ($async$self.lastError !== B.CryptorError_7) { - $async$self.lastError = B.CryptorError_7; - $async$self.worker.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "msgType", "event", "participantId", $async$self.participantIdentity, "state", "internalError", "error", "Internal error: " + J.toString$0$(e)], t4, type$.nullable_String))); - } - } - $async$self.trackId = trackId; - // implicit return - return A._asyncReturn(null, $async$completer); - } - }); - return A._asyncStartSync($async$setupTransform$6$codec$kind$operation$readable$trackId$writable, $async$completer); - }, - getUnencryptedBytes$2(obj, codec) { - 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); - } - if (codec != null && codec.toLowerCase() === "h264") { - type$.Uint8List._as(data); - naluIndices = A.findNALUIndices(data); - for (t1 = naluIndices.length, t2 = data.length, _i = 0; _i < naluIndices.length; naluIndices.length === t1 || (0, A.throwConcurrentModificationError)(naluIndices), ++_i) { - index = naluIndices[_i]; - if (!(index < t2)) - return A.ioore(data, index); - type = data[index] & 31; - switch (type) { - case 5: - case 1: - t1 = index + 2; - $.$get$logger().log$4(B.Level_FINER_400, "unEncryptedBytes NALU of type " + type + ", offset " + t1, _null, _null); - return t1; - default: - $.$get$logger().log$4(B.Level_FINER_400, "skipping NALU of type " + type, _null, _null); - break; - } - } - throw A.wrapException(A.Exception_Exception("Could not find NALU")); - } - switch (frameType) { - case "key": - return 10; - case "delta": - return 3; - case "audio": - return 1; - default: - return 0; - } - }, - readFrameInfo$1(frameObj) { - var t1, buffer, frameType, synchronizationSource, timestamp; - new Uint8Array(0); - 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 = ""; - 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) { - frameObj.data = type$.NativeArrayBuffer._as(B.NativeUint8List_methods.get$buffer(buffer.toBytes$0())); - controller.enqueue(frameObj); - }, - encodeFunction$2(frameObj, 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, 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); - $async$goto = $async$handler; - } - while (true) - switch ($async$goto) { - case 0: - // Function start - $async$handler = 4; - t1 = true; - if ($async$self.get$enabled()) { - 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) { - // goto return - $async$goto = 1; - break; - } - controller.enqueue(frameObj); - // goto return - $async$goto = 1; - break; - } - srcFrame = $async$self.readFrameInfo$1(frameObj); - t1 = $.$get$logger(); - t1.log$4(B.Level_FINE_500, "encodeFunction: buffer " + srcFrame.buffer.length + ", synchronizationSource " + srcFrame.ssrc + " frameType " + srcFrame.frameType, null, null); - t2 = $async$self.keyHandler.getKeySet$1($async$self.currentKeyIndex); - secretKey = t2 == null ? null : t2.encryptionKey; - keyIndex = $async$self.currentKeyIndex; - if (secretKey == null) { - if ($async$self.lastError !== B.CryptorError_5) { - $async$self.lastError = B.CryptorError_5; - t1 = $async$self.participantIdentity; - t2 = $async$self.trackId; - t3 = $async$self.__FrameCryptor_kind_A; - t3 === $ && A.throwLateFieldNI("kind"); - $async$self.worker.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "msgType", "event", "participantId", t1, "trackId", t2, "kind", t3, "state", "missingKey", "error", "Missing key for track " + t2], type$.String, type$.nullable_String))); - } - // goto return - $async$goto = 1; - break; - } - t2 = $async$self.__FrameCryptor_kind_A; - t2 === $ && A.throwLateFieldNI("kind"); - headerLength = t2 === "video" ? $async$self.getUnencryptedBytes$2(frameObj, $async$self.codec) : 1; - t3 = srcFrame.ssrc; - t4 = srcFrame.timestamp; - iv0 = new DataView(new ArrayBuffer(12)); - t2 = $async$self.sendCounts; - if (t2.$index(0, t3) == null) - t2.$indexSet(0, t3, $.$get$Random__secureRandom().nextInt$1(65535)); - sendCount = t2.$index(0, t3); - if (sendCount == null) - sendCount = 0; - iv0.setUint32(0, t3, false); - iv0.setUint32(4, t4, false); - iv0.setUint32(8, t4 - B.JSInt_methods.$mod(sendCount, 65535), false); - t2.$indexSet(0, t3, sendCount + 1); - iv = J.asUint8List$0$x(B.NativeByteData_methods.get$buffer(iv0)); - frameTrailer = new DataView(new ArrayBuffer(2)); - t2 = frameTrailer; - t2.$flags & 2 && A.throwUnsupportedOperation(t2, 6); - J._setInt8$2$x(t2, 0, 12); - t2 = frameTrailer; - t3 = A._asInt(keyIndex); - t2.$flags & 2 && A.throwUnsupportedOperation(t2, 6); - J._setInt8$2$x(t2, 1, t3); - t3 = $async$self.worker; - 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(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); - t1.log$4(B.Level_FINER_400, "encodeFunction: encrypted buffer: " + srcFrame.buffer.length + ", cipherText: " + A.NativeUint8List_NativeUint8List$view(cipherText, 0, null).length, null, null); - t2 = $.$get$_CopyingBytesBuilder__emptyList(); - finalBuffer = new A._CopyingBytesBuilder(t2); - J.add$1$ax(finalBuffer, new Uint8Array(A._ensureNativeList(B.NativeUint8List_methods.sublist$2(srcFrame.buffer, 0, headerLength)))); - J.add$1$ax(finalBuffer, A.NativeUint8List_NativeUint8List$view(cipherText, 0, null)); - J.add$1$ax(finalBuffer, iv); - J.add$1$ax(finalBuffer, J.asUint8List$0$x(J.get$buffer$x(frameTrailer))); - $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"], 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; - // 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); - if ($async$self.lastError !== B.CryptorError_3) { - $async$self.lastError = B.CryptorError_3; - t1 = $async$self.participantIdentity; - t2 = $async$self.trackId; - t3 = $async$self.__FrameCryptor_kind_A; - t3 === $ && A.throwLateFieldNI("kind"); - $async$self.worker.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "msgType", "event", "participantId", t1, "trackId", t2, "kind", t3, "state", "encryptError", "error", J.toString$0$(e)], type$.String, type$.nullable_String))); - } - // 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$encodeFunction$2, $async$completer); - }, - decodeFunction$2(frameObj, controller) { - return this.decodeFunction$body$FrameCryptor(A._asJSObject(frameObj), A._asJSObject(controller)); - }, - decodeFunction$body$FrameCryptor(frameObj, controller) { - var $async$goto = 0, - $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$self = this, headerLength, frameTrailer, ivLength, keyIndex, iv, decryptFrameInternal, ratchedKeyInternal, e, finalBuffer, e0, t2, t3, t4, t5, t6, magicBytesBuffer, t7, initialKeySet, exception, t1, srcFrame, $async$exception, $async$exception1; - var $async$decodeFunction$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 = {}; - srcFrame = $async$self.readFrameInfo$1(frameObj); - t1.ratchetCount = 0; - t2 = $.$get$logger(); - t2.log$4(B.Level_FINE_500, "decodeFunction: frame lenght " + srcFrame.buffer.length, null, null); - t1.initialKeySet = t1.decrypted = null; - t1.initialKeyIndex = $async$self.currentKeyIndex; - if (!$async$self.get$enabled() || srcFrame.buffer.length === 0) { - $async$self.sifGuard.recordUserFrame$0(); - if ($async$self.keyHandler.keyOptions.discardFrameWhenCryptorNotReady) { - // goto return - $async$goto = 1; - break; - } - t2.log$4(B.Level_FINE_500, "enqueing empty frame", null, null); - controller.enqueue(frameObj); - t2.log$4(B.Level_FINER_400, "enqueing silent frame", null, null); - // goto return - $async$goto = 1; - break; - } - t3 = $async$self.keyHandler.keyOptions.uncryptedMagicBytes; - if (t3 != null) { - t4 = srcFrame.buffer; - t5 = t3.length; - t6 = t5 + 1; - if (t4.length > t6) { - magicBytesBuffer = B.NativeUint8List_methods.sublist$2(srcFrame.buffer, srcFrame.buffer.length - t5 - 1, srcFrame.buffer.length - 1); - t2.log$4(B.Level_FINER_400, "magicBytesBuffer " + A.S(magicBytesBuffer) + ", magicBytes " + A.S(t3), null, null); - t4 = $async$self.sifGuard; - if (A.Iterable_iterableToFullString(magicBytesBuffer, "[", "]") === A.Iterable_iterableToFullString(t3, "[", "]")) { - ++t4.consecutiveSifCount; - if (t4.sifSequenceStartedAt == null) - t4.sifSequenceStartedAt = Date.now(); - t4.lastSifReceivedAt = Date.now(); - if (t4.consecutiveSifCount < 100) - if (t4.sifSequenceStartedAt != null) { - t1 = Date.now(); - t4 = t4.sifSequenceStartedAt; - t4.toString; - t4 = t1 - t4 < 2000; - t1 = t4; - } else - t1 = true; - else - t1 = false; - if (t1) { - t1 = B.NativeUint8List_methods.sublist$1(srcFrame.buffer, srcFrame.buffer.length - 1); - if (0 >= t1.length) { - $async$returnValue = A.ioore(t1, 0); - // goto return - $async$goto = 1; - break; - } - t2.log$4(B.Level_FINER_400, "ecodeFunction: skip uncrypted frame, type " + t1[0], null, null); - finalBuffer = new A._CopyingBytesBuilder($.$get$_CopyingBytesBuilder__emptyList()); - finalBuffer.add$1(0, new Uint8Array(A._ensureNativeList(B.NativeUint8List_methods.sublist$2(srcFrame.buffer, 0, srcFrame.buffer.length - t6)))); - $async$self.enqueueFrame$3(frameObj, controller, finalBuffer); - t2.log$4(B.Level_FINE_500, "ecodeFunction: enqueing silent frame", null, null); - controller.enqueue(frameObj); - } else - t2.log$4(B.Level_FINER_400, "ecodeFunction: SIF limit reached, dropping frame", null, null); - t2.log$4(B.Level_FINER_400, "ecodeFunction: enqueing silent frame", null, null); - controller.enqueue(frameObj); - // goto return - $async$goto = 1; - break; - } else - t4.recordUserFrame$0(); - } - } - $async$handler = 4; - t3 = {}; - t4 = $async$self.__FrameCryptor_kind_A; - t4 === $ && A.throwLateFieldNI("kind"); - headerLength = t4 === "video" ? $async$self.getUnencryptedBytes$2(frameObj, $async$self.codec) : 1; - frameTrailer = B.NativeUint8List_methods.sublist$1(srcFrame.buffer, srcFrame.buffer.length - 2); - ivLength = J.$index$asx(frameTrailer, 0); - keyIndex = J.$index$asx(frameTrailer, 1); - t5 = srcFrame.buffer; - t6 = srcFrame.buffer; - t7 = ivLength; - if (typeof t7 !== "number") { - $async$returnValue = A.iae(t7); - // goto return - $async$goto = 1; - break; - } - iv = B.NativeUint8List_methods.sublist$2(t5, t6.length - t7 - 2, srcFrame.buffer.length - 2); - initialKeySet = t1.initialKeySet = $async$self.keyHandler.getKeySet$1(keyIndex); - t1.initialKeyIndex = keyIndex; - t2.log$4(B.Level_FINER_400, "decodeFunction: start decrypting frame headerLength " + A.S(headerLength) + " " + srcFrame.buffer.length + " frameTrailer " + A.S(frameTrailer) + ", ivLength " + A.S(ivLength) + ", keyIndex " + A.S(keyIndex) + ", iv " + A.S(iv), null, null); - if (initialKeySet == null || !$async$self.keyHandler._hasValidKey) { - if ($async$self.lastError !== B.CryptorError_5) { - $async$self.lastError = B.CryptorError_5; - t1 = $async$self.participantIdentity; - t2 = $async$self.trackId; - $async$self.worker.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "msgType", "event", "participantId", t1, "trackId", t2, "kind", $async$self.__FrameCryptor_kind_A, "state", "missingKey", "error", "Missing key for track " + t2], type$.String, type$.nullable_String))); - } - // goto return - $async$goto = 1; - break; - } - t3.currentkeySet = initialKeySet; - decryptFrameInternal = new A.FrameCryptor_decodeFunction_decryptFrameInternal(t1, t3, $async$self, iv, srcFrame, headerLength, ivLength); - ratchedKeyInternal = new A.FrameCryptor_decodeFunction_ratchedKeyInternal(t1, t3, $async$self, decryptFrameInternal); - $async$handler = 8; - $async$goto = 11; - return A._asyncAwait(decryptFrameInternal.call$0(), $async$decodeFunction$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); - $async$self.lastError = B.CryptorError_7; - 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$decodeFunction$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 + 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)))); - t1 = t1.decrypted; - t1.toString; - J.add$1$ax(finalBuffer, A.NativeUint8List_NativeUint8List$view(t1, 0, null)); - $async$self.enqueueFrame$3(frameObj, controller, finalBuffer); - if ($async$self.lastError !== B.CryptorError_1) { - $async$self.lastError = B.CryptorError_1; - $async$self.worker.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", "decryption ok"], type$.String, type$.nullable_String))); - } - t2.log$4(B.Level_FINE_500, "decodeFunction[CryptorError.kOk]: decryption success kind " + $async$self.__FrameCryptor_kind_A + ", headerLength: " + A.S(headerLength) + ", timestamp: " + srcFrame.timestamp + ", ssrc: " + srcFrame.ssrc + ", data length: " + srcFrame.buffer.length + ", decrypted length: " + finalBuffer.toBytes$0().length + ", keyindex " + A.S(keyIndex) + " iv " + A.S(iv), null, null); - $async$handler = 2; - // goto after finally - $async$goto = 6; - break; - case 4: - // catch - $async$handler = 3; - $async$exception1 = $async$errorStack.pop(); - e0 = A.unwrapException($async$exception1); - if ($async$self.lastError !== B.CryptorError_2) { - $async$self.lastError = B.CryptorError_2; - t1 = $async$self.participantIdentity; - t2 = $async$self.trackId; - t3 = $async$self.__FrameCryptor_kind_A; - t3 === $ && A.throwLateFieldNI("kind"); - $async$self.worker.postMessage(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "msgType", "event", "participantId", t1, "trackId", t2, "kind", t3, "state", "decryptError", "error", J.toString$0$(e0)], type$.String, type$.nullable_String))); - } - $async$self.keyHandler.decryptionFailure$0(); - // 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$decodeFunction$2, $async$completer); - } - }; - A.FrameCryptor_decodeFunction_decryptFrameInternal.prototype = { - call$0() { - var $async$goto = 0, - $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $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); - while (true) - switch ($async$goto) { - case 0: - // Function start - t1 = $async$self.$this; - t2 = t1.worker; - 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(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); - 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")); - 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 - t6.log$4(B.Level_FINE_500, string$.decodex3ar, null, null); - $async$goto = 5; - 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 && 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"], t7, type$.nullable_String))); - } - // implicit return - return A._asyncReturn(null, $async$completer); - } - }); - return A._asyncStartSync($async$call$0, $async$completer); - }, - $signature: 2 - }; - A.FrameCryptor_decodeFunction_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.KeyOptions.prototype = { - toString$0(_) { - var _this = this; - return "KeyOptions{sharedKey: " + _this.sharedKey + ", ratchetWindowSize: " + _this.ratchetWindowSize + ", failureTolerance: " + _this.failureTolerance + ", uncryptedMagicBytes: " + A.S(_this.uncryptedMagicBytes) + ", ratchetSalt: " + A.S(_this.ratchetSalt) + "}"; - } - }; - A.KeyProvider.prototype = { - getParticipantKeyHandler$1(participantIdentity) { - var t2, keys, _this = this, - t1 = _this.keyProviderOptions; - if (t1.sharedKey) - return _this.getSharedKeyHandler$0(); - t2 = _this.participantKeys; - keys = t2.$index(0, participantIdentity); - if (keys == null) { - keys = A.ParticipantKeyHandler$(t1, participantIdentity, _this.worker); - t1 = _this.sharedKey; - if (t1.length !== 0) - keys.setKey$1(t1); - t2.$indexSet(0, participantIdentity, keys); - } - return keys; - }, - getSharedKeyHandler$0() { - var _this = this, - t1 = _this.sharedKeyHandler; - return t1 == null ? _this.sharedKeyHandler = A.ParticipantKeyHandler$(_this.keyProviderOptions, "shared-key", _this.worker) : t1; - } - }; - A.KeySet.prototype = {}; - A.ParticipantKeyHandler.prototype = { - decryptionFailure$0() { - var _this = this, - t1 = _this.keyOptions.failureTolerance; - if (t1 < 0) - return; - if (++_this._decryptionFailureCount > t1) { - $.$get$logger().log$4(B.Level_WARNING_900, "key for " + _this.participantIdentity + " is being marked as invalid", null, null); - _this._hasValidKey = false; - } - }, - exportKey$1(keyIndex) { - var $async$goto = 0, - $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Uint8List), - $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$self = this, key, e, exception, t1, currentMaterial, $async$exception, $async$temp1; - var $async$exportKey$1 = 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 = $async$self.getKeySet$1(keyIndex); - currentMaterial = t1 == null ? null : t1.material; - if (currentMaterial == null) { - $async$returnValue = null; - // goto return - $async$goto = 1; - break; - } - $async$handler = 4; - $async$temp1 = type$.NativeArrayBuffer; - $async$goto = 7; - 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); - t1 = A.NativeUint8List_NativeUint8List$view(key, 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$exception = $async$errorStack.pop(); - e = A.unwrapException($async$exception); - $.$get$logger().log$4(B.Level_WARNING_900, "exportKey: " + A.S(e), null, null); - $async$returnValue = null; - // goto return - $async$goto = 1; - break; - // 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$exportKey$1, $async$completer); - }, - ratchetKey$1(keyIndex) { - var $async$goto = 0, - $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Uint8List), - $async$returnValue, $async$self = this, newKey, newKeySet, t1, currentMaterial; - var $async$ratchetKey$1 = 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.getKeySet$1(keyIndex); - currentMaterial = t1 == null ? null : t1.material; - if (currentMaterial == null) { - $async$returnValue = null; - // goto return - $async$goto = 1; - break; - } - t1 = $async$self.keyOptions.ratchetSalt; - $async$goto = 3; - return A._asyncAwait($async$self.ratchet$2(currentMaterial, t1), $async$ratchetKey$1); - case 3: - // returning from await. - newKey = $async$result; - $async$goto = 5; - return A._asyncAwait($async$self.ratchetMaterial$2(currentMaterial, B.NativeUint8List_methods.get$buffer(newKey)), $async$ratchetKey$1); - case 5: - // returning from await. - $async$goto = 4; - return A._asyncAwait($async$self.deriveKeys$2($async$result, t1), $async$ratchetKey$1); - case 4: - // returning from await. - newKeySet = $async$result; - $async$goto = 6; - return A._asyncAwait($async$self.setKeySetFromMaterial$2(newKeySet, keyIndex == null ? $async$self.currentKeyIndex : keyIndex), $async$ratchetKey$1); - case 6: - // returning from await. - $async$returnValue = newKey; - // goto return - $async$goto = 1; - break; - case 1: - // return - return A._asyncReturn($async$returnValue, $async$completer); - } - }); - return A._asyncStartSync($async$ratchetKey$1, $async$completer); - }, - ratchetMaterial$2(currentMaterial, newKeyBuffer) { - var $async$goto = 0, - $async$completer = A._makeAsyncAwaitCompleter(type$.JSObject), - $async$returnValue, $async$self = this, t1; - var $async$ratchetMaterial$2 = 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 = type$.JSObject; - $async$goto = 3; - 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; - // goto return - $async$goto = 1; - break; - case 1: - // return - return A._asyncReturn($async$returnValue, $async$completer); - } - }); - return A._asyncStartSync($async$ratchetMaterial$2, $async$completer); - }, - getKeySet$1(keyIndex) { - var t2, - t1 = this.__ParticipantKeyHandler_cryptoKeyRing_A; - t1 === $ && A.throwLateFieldNI("cryptoKeyRing"); - t2 = keyIndex == null ? this.currentKeyIndex : keyIndex; - if (!(t2 >= 0 && t2 < t1.length)) - return A.ioore(t1, t2); - return t1[t2]; - }, - setKey$2$keyIndex(key, keyIndex) { - var $async$goto = 0, - $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $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); - while (true) - switch ($async$goto) { - case 0: - // Function start - 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(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; - return A._asyncAwait($async$self.deriveKeys$2($async$result, $async$self.keyOptions.ratchetSalt), $async$setKey$2$keyIndex); - case 3: - // returning from await. - $async$goto = 2; - return A._asyncAwait($async$self.setKeySetFromMaterial$2($async$result, keyIndex), $async$setKey$2$keyIndex); - case 2: - // returning from await. - $async$self._decryptionFailureCount = 0; - $async$self._hasValidKey = true; - // implicit return - return A._asyncReturn(null, $async$completer); - } - }); - return A._asyncStartSync($async$setKey$2$keyIndex, $async$completer); - }, - setKey$1(key) { - return this.setKey$2$keyIndex(key, 0); - }, - setKeySetFromMaterial$2(keySet, keyIndex) { - var $async$goto = 0, - $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $async$self = this, t1; - var $async$setKeySetFromMaterial$2 = 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 - $.$get$logger().log$4(B.Level_CONFIG_700, "setKeySetFromMaterial: set new key, index: " + keyIndex, null, null); - if (keyIndex >= 0) { - t1 = $async$self.__ParticipantKeyHandler_cryptoKeyRing_A; - t1 === $ && A.throwLateFieldNI("cryptoKeyRing"); - $async$self.currentKeyIndex = B.JSInt_methods.$mod(keyIndex, t1.length); - } - t1 = $async$self.__ParticipantKeyHandler_cryptoKeyRing_A; - t1 === $ && A.throwLateFieldNI("cryptoKeyRing"); - B.JSArray_methods.$indexSet(t1, $async$self.currentKeyIndex, keySet); - // implicit return - return A._asyncReturn(null, $async$completer); - } - }); - return A._asyncStartSync($async$setKeySetFromMaterial$2, $async$completer); - }, - deriveKeys$2(material, salt) { - var $async$goto = 0, - $async$completer = A._makeAsyncAwaitCompleter(type$.KeySet), - $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); - while (true) - switch ($async$goto) { - case 0: - // Function start - 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 = A._asObject(t3); - $async$temp1 = A; - $async$temp2 = material; - $async$temp3 = A; - $async$goto = 3; - 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._asJSObject($async$result)); - // goto return - $async$goto = 1; - break; - case 1: - // return - return A._asyncReturn($async$returnValue, $async$completer); - } - }); - return A._asyncStartSync($async$deriveKeys$2, $async$completer); - }, - ratchet$2(material, salt) { - var $async$goto = 0, - $async$completer = A._makeAsyncAwaitCompleter(type$.Uint8List), - $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); - while (true) - switch ($async$goto) { - case 0: - // Function start - algorithmOptions = A.getAlgoOptions("PBKDF2", salt); - 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(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); - // goto return - $async$goto = 1; - break; - case 1: - // return - return A._asyncReturn($async$returnValue, $async$completer); - } - }); - return A._asyncStartSync($async$ratchet$2, $async$completer); - } - }; - A.SifGuard.prototype = { - recordUserFrame$0() { - var _this = this; - if (_this.sifSequenceStartedAt == null) - return; - if (++_this.userFramesSinceSif > _this.consecutiveSifCount || Date.now() - _this.lastSifReceivedAt > 2000) - _this.reset$0(); - }, - reset$0() { - this.consecutiveSifCount = this.userFramesSinceSif = 0; - this.sifSequenceStartedAt = null; - } - }; - A.getTrackCryptor_closure.prototype = { - call$1(c) { - return type$.FrameCryptor._as(c).trackId === this.trackId; - }, - $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: 23 - }; - A.main_closure0.prototype = { - call$1($event) { - 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 = A._asJSObject(transformer.options); - kind = A._asString(options.kind); - participantId = A._asString(options.participantId); - trackId = A._asString(options.trackId); - codec = A._asStringQ(options.codec); - msgType = A._asString(options.msgType); - keyProviderId = A._asString(options.keyProviderId); - keyProvider = $.keyProviders.$index(0, keyProviderId); - if (keyProvider == null) { - t1.log$4(B.Level_WARNING_900, "KeyProvider not found for " + keyProviderId, _null, _null); - return; - } - cryptor = A.getTrackCryptor(participantId, trackId, keyProvider); - 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 - }; - A.main_closure2.prototype = { - call$1(e) { - var $async$goto = 0, - $async$completer = A._makeAsyncAwaitCompleter(type$.Null), - $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) { - $async$errorStack.push($async$result); - $async$goto = $async$handler; - } - while (true) - switch ($async$goto) { - case 0: - // Function start - msg = type$.Map_dynamic_dynamic._as(A.dartify(e.data)); - msgType = msg.$index(0, "msgType"); - msgId = A._asStringQ(msg.$index(0, "msgId")); - t1 = $.$get$logger(); - t1.log$4(B.Level_CONFIG_700, "Got message " + A.S(msgType) + ", msgId " + A.S(msgId), null, null); - case 3: - // switch - switch (msgType) { - case "keyProviderInit": - // goto case - $async$goto = 5; - break; - case "keyProviderDispose": - // goto case - $async$goto = 6; - break; - case "enable": - // goto case - $async$goto = 7; - break; - case "decode": - // goto case - $async$goto = 8; - break; - case "encode": - // goto case - $async$goto = 9; - break; - case "removeTransform": - // goto case - $async$goto = 10; - break; - case "setKey": - // goto case - $async$goto = 11; - break; - case "setSharedKey": - // goto case - $async$goto = 12; - break; - case "ratchetKey": - // goto case - $async$goto = 13; - break; - case "ratchetSharedKey": - // goto case - $async$goto = 14; - break; - case "setKeyIndex": - // goto case - $async$goto = 15; - break; - case "exportKey": - // goto case - $async$goto = 16; - break; - case "exportSharedKey": - // goto case - $async$goto = 17; - break; - case "setSifTrailer": - // goto case - $async$goto = 18; - break; - case "updateCodec": - // goto case - $async$goto = 19; - break; - case "dispose": - // 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 = 24; - break; - } - break; - case 5: - // case - options = msg.$index(0, "keyOptions"); - keyProviderId = A._asString(msg.$index(0, "keyProviderId")); - t2 = J.getInterceptor$asx(options); - t3 = A._asBool(t2.$index(options, "sharedKey")); - t4 = new Uint8Array(A._ensureNativeList(B.C_Base64Decoder.convert$1(A._asString(t2.$index(options, "ratchetSalt"))))); - t5 = A._asInt(t2.$index(options, "ratchetWindowSize")); - t6 = t2.$index(options, "failureTolerance"); - t6 = A._asInt(t6 == null ? -1 : t6); - t7 = t2.$index(options, "uncryptedMagicBytes") != null ? new Uint8Array(A._ensureNativeList(B.C_Base64Decoder.convert$1(A._asString(t2.$index(options, "uncryptedMagicBytes"))))) : null; - t8 = t2.$index(options, "keyRingSize"); - t8 = A._asInt(t8 == null ? 16 : t8); - 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 = 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; - case 6: - // case - keyProviderId = A._asString(msg.$index(0, "keyProviderId")); - t1.log$4(B.Level_CONFIG_700, "Dispose keyProvider " + keyProviderId, null, null); - $.keyProviders.remove$1(0, keyProviderId); - 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; - case 7: - // case - enabled = A._asBool(msg.$index(0, "enabled")); - trackId = A._asString(msg.$index(0, "trackId")); - 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), 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) { - t1.log$4(B.Level_INFO_800, t5, null, null); - cryptor.lastError = B.CryptorError_0; - } - t1.log$4(B.Level_CONFIG_700, "setEnabled for " + A.S(cryptor.participantIdentity) + ", enabled: " + t3, null, null); - cryptor._enabled = enabled; - } - 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; - case 8: - // case - case 9: - // case - kind = msg.$index(0, "kind"); - exist = A._asBool(msg.$index(0, "exist")); - participantId = A._asString(msg.$index(0, "participantId")); - trackId = msg.$index(0, "trackId"); - 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); - 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; - } - A._asString(trackId); - cryptor = A.getTrackCryptor(participantId, trackId, keyProvider); - A._asString(msgType); - $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 25: - // returning from await. - 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; - break; - case 10: - // case - trackId = A._asString(msg.$index(0, "trackId")); - t1.log$4(B.Level_CONFIG_700, "Removing trackId " + trackId, null, null); - A.unsetCryptorParticipant(trackId); - 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; - case 11: - // case - case 12: - // case - key = new Uint8Array(A._ensureNativeList(B.C_Base64Decoder.convert$1(A._asString(msg.$index(0, "key"))))); - keyIndex = A._asInt(msg.$index(0, "keyIndex")); - 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", "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 ? 26 : 28; - break; - 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 = 27; - break; - 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 = 29; - return A._asyncAwait(keyProvider.getParticipantKeyHandler$1(participantId).setKey$2$keyIndex(key, keyIndex), $async$call$1); - case 29: - // returning from await. - case 27: - // join - 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; - case 13: - // case - case 14: - // case - keyIndex = msg.$index(0, "keyIndex"); - participantId = A._asString(msg.$index(0, "participantId")); - 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", "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 ? 30 : 32; - break; - case 30: - // then - t1.log$4(B.Level_CONFIG_700, "RatchetKey for SharedKey, keyIndex " + A.S(keyIndex), null, null); - $async$goto = 33; - return A._asyncAwait(keyProvider.getSharedKeyHandler$0().ratchetKey$1(A._asIntQ(keyIndex)), $async$call$1); - case 33: - // returning from await. - newKey = $async$result; - // goto join - $async$goto = 31; - break; - case 32: - // else - t1.log$4(B.Level_CONFIG_700, "RatchetKey for participant " + participantId + ", keyIndex " + A.S(keyIndex), null, null); - $async$goto = 34; - return A._asyncAwait(keyProvider.getParticipantKeyHandler$1(participantId).ratchetKey$1(A._asIntQ(keyIndex)), $async$call$1); - case 34: - // returning from await. - newKey = $async$result; - case 31: - // join - 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; - case 15: - // case - keyIndex = msg.$index(0, "index"); - trackId = A._asString(msg.$index(0, "trackId")); - t1.log$4(B.Level_CONFIG_700, "Setup key index for track " + trackId, null, null); - 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), 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); - if (c.lastError !== B.CryptorError_1) { - t1.log$4(B.Level_INFO_800, "setKeyIndex: lastError != CryptorError.kOk, reset state to kNew", null, null); - c.lastError = B.CryptorError_0; - } - t1.log$4(B.Level_CONFIG_700, "setKeyIndex for " + A.S(c.participantIdentity) + ", newIndex: " + keyIndex, null, null); - c.currentKeyIndex = keyIndex; - } - 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; - case 16: - // case - case 17: - // case - keyIndex = A._asInt(msg.$index(0, "keyIndex")); - participantId = A._asString(msg.$index(0, "participantId")); - 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", "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 ? 35 : 37; - break; - case 35: - // then - t1.log$4(B.Level_CONFIG_700, "Export SharedKey keyIndex " + t2, null, null); - $async$goto = 38; - return A._asyncAwait(keyProvider.getSharedKeyHandler$0().exportKey$1(keyIndex), $async$call$1); - case 38: - // returning from await. - key = $async$result; - // goto join - $async$goto = 36; - break; - case 37: - // else - t1.log$4(B.Level_CONFIG_700, "Export key for participant " + participantId + ", keyIndex " + t2, null, null); - $async$goto = 39; - return A._asyncAwait(keyProvider.getParticipantKeyHandler$1(participantId).exportKey$1(keyIndex), $async$call$1); - case 39: - // returning from await. - key = $async$result; - case 36: - // join - 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; - case 18: - // case - sifTrailer = new Uint8Array(A._ensureNativeList(B.C_Base64Decoder.convert$1(A._asString(msg.$index(0, "sifTrailer"))))); - 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", "setKey", "error", "KeyProvider not found", "msgId", msgId, "msgType", "response"], type$.String, type$.nullable_String))); - // goto return - $async$goto = 1; - break; - } - keyProvider.keyProviderOptions.uncryptedMagicBytes = sifTrailer; - t1.log$4(B.Level_CONFIG_700, "SetSifTrailer = " + A.S(sifTrailer), null, null); - for (t2 = $.participantCryptors, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) { - c = t2[_i]; - t1.log$4(B.Level_CONFIG_700, "setSifTrailer for " + A.S(c.participantIdentity) + ", magicBytes: " + A.S(sifTrailer), null, null); - c.keyHandler.keyOptions.uncryptedMagicBytes = sifTrailer; - } - 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; - case 19: - // case - codec = A._asString(msg.$index(0, "codec")); - trackId = A._asString(msg.$index(0, "trackId")); - t1.log$4(B.Level_CONFIG_700, "Update codec for trackId " + trackId + ", codec " + codec, null, null); - 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$.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; - } - 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; - case 20: - // case - 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 = init.G; - t2 = type$.String; - t3 = type$.nullable_String; - if (cryptor != null) { - cryptor.lastError = B.CryptorError_8; - 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 - 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: - // after switch - 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: 24 - }; - A.main__closure.prototype = { - call$1(c) { - return type$.FrameCryptor._as(c).trackId === this.trackId; - }, - $signature: 1 - }; - A.main__closure0.prototype = { - call$1(c) { - return type$.FrameCryptor._as(c).trackId === this.trackId; - }, - $signature: 1 - }; - A.main__closure1.prototype = { - call$1(c) { - return type$.FrameCryptor._as(c).trackId === this.trackId; - }, - $signature: 1 - }; - A.main__closure2.prototype = { - call$1(c) { - return type$.FrameCryptor._as(c).trackId === this.trackId; - }, - $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(A._asJSObject(e)); - }, - $signature: 11 - }; - A.Level.prototype = { - $eq(_, other) { - if (other == null) - return false; - return other instanceof A.Level && this.value === other.value; - }, - get$hashCode(_) { - return this.value; - }, - toString$0(_) { - return this.name; - } - }; - A.LogRecord.prototype = { - toString$0(_) { - return "[" + this.level.name + "] " + this.loggerName + ": " + this.message; - } - }; - A.Logger.prototype = { - get$fullName() { - var t1 = this.parent, - t2 = t1 == null ? null : t1.name.length !== 0, - t3 = this.name; - return t2 === true ? t1.get$fullName() + "." + t3 : t3; - }, - get$level() { - var t1, effectiveLevel; - if (this.parent == null) { - t1 = this._level; - t1.toString; - effectiveLevel = t1; - } else { - t1 = $.$get$Logger_root()._level; - t1.toString; - effectiveLevel = t1; - } - return effectiveLevel; - }, - log$4(logLevel, message, error, stackTrace) { - var record, _this = this, - t1 = logLevel.value; - if (t1 >= _this.get$level().value) { - if (t1 >= 2000) { - A.StackTrace_current(); - logLevel.toString$0(0); - } - t1 = _this.get$fullName(); - Date.now(); - $.LogRecord__nextNumber = $.LogRecord__nextNumber + 1; - record = new A.LogRecord(logLevel, message, t1); - if (_this.parent == null) - _this._publish$1(record); - else - $.$get$Logger_root()._publish$1(record); - } - }, - _getStream$0() { - if (this.parent == null) { - var t1 = this._controller; - 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(); - }, - _publish$1(record) { - var t1 = this._controller; - if (t1 != null) { - A._instanceType(t1)._precomputed1._as(record); - if (!t1.get$_mayAddEvent()) - A.throwExpression(t1._addEventError$0()); - t1._sendData$1(record); - } - return null; - } - }; - A.Logger_Logger_closure.prototype = { - call$0() { - var dot, $parent, t1, - thisName = this.name; - if (B.JSString_methods.startsWith$1(thisName, ".")) - A.throwExpression(A.ArgumentError$("name shouldn't start with a '.'", null)); - if (B.JSString_methods.endsWith$1(thisName, ".")) - A.throwExpression(A.ArgumentError$("name shouldn't end with a '.'", null)); - dot = B.JSString_methods.lastIndexOf$1(thisName, "."); - if (dot === -1) - $parent = thisName !== "" ? A.Logger_Logger("") : null; - else { - $parent = A.Logger_Logger(B.JSString_methods.substring$2(thisName, 0, dot)); - thisName = B.JSString_methods.substring$1(thisName, dot + 1); - } - t1 = new A.Logger(thisName, $parent, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Logger)); - if ($parent == null) - t1._level = B.Level_INFO_800; - else - $parent._children.$indexSet(0, thisName, t1); - return t1; - }, - $signature: 25 - }; - A.Algorithm.prototype = { - _enumToString$0() { - return "Algorithm." + this._name; - } - }; - (function aliases() { - var _ = J.LegacyJavaScriptObject.prototype; - _.super$LegacyJavaScriptObject$toString = _.toString$0; - _ = A._BroadcastStreamController.prototype; - _.super$_BroadcastStreamController$_addEventError = _._addEventError$0; - })(); - (function installTearOffs() { - var _static_1 = hunkHelpers._static_1, - _static_0 = hunkHelpers._static_0, - _static_2 = hunkHelpers._static_2, - _instance_2_u = hunkHelpers._instance_2u, - _instance_0_u = hunkHelpers._instance_0u; - _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 4); - _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", 7); - _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0); - _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); - _instance_2_u(_, "get$decodeFunction", "decodeFunction$2", 9); - })(); - (function inheritance() { - var _mixin = hunkHelpers.mixin, - _inherit = hunkHelpers.inherit, - _inheritMany = hunkHelpers.inheritMany; - _inherit(A.Object, null); - _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.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); - _inherit(A.MappedListIterable, A.ListIterable); - _inherit(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A.MapView); - _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__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]); - _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); - _inherit(A.NativeTypedArrayOfDouble, A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin); - _inherit(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin); - _inherit(A.NativeTypedArrayOfInt, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin); - _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__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); - _inherit(A._ControllerSubscription, A._BufferingStreamSubscription); - _inherit(A._BroadcastSubscription, A._ControllerSubscription); - _inherit(A._SyncBroadcastStreamController, A._BroadcastStreamController); - _inherit(A._AsyncCompleter, A._Completer); - _inherit(A._DelayedData, A._DelayedEvent); - _inherit(A._RootZone, A._Zone); - _inherit(A._IdentityHashMap, A._HashMap); - _inherit(A.Base64Codec, A.Codec); - _inheritMany(A.Converter, [A.Base64Encoder, A.Base64Decoder]); - _inheritMany(A.ArgumentError, [A.RangeError, A.IndexError]); - _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); - _mixin(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin); - _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", JSObject: "JSObject"}, - mangledNames: {}, - 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","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", - 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_void_Function_JSObject_JSObject: findType("Future<~>(JSObject,JSObject)"), - Int16List: findType("Int16List"), - Int32List: findType("Int32List"), - Int8List: findType("Int8List"), - Invocation: findType("Invocation"), - Iterable_dynamic: findType("Iterable<@>"), - Iterable_int: findType("Iterable"), - JSArray_String: findType("JSArray"), - JSArray_dynamic: findType("JSArray<@>"), - JSArray_int: findType("JSArray"), - JSArray_nullable_Object: findType("JSArray"), - JSNull: findType("JSNull"), - JSObject: findType("JSObject"), - JavaScriptFunction: findType("JavaScriptFunction"), - JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"), - JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap"), - KeySet: findType("KeySet"), - List_dynamic: findType("List<@>"), - List_int: findType("List"), - List_nullable_KeySet: findType("List"), - LogRecord: findType("LogRecord"), - Logger: findType("Logger"), - Map_dynamic_dynamic: findType("Map<@,@>"), - NativeArrayBuffer: findType("NativeArrayBuffer"), - Null: findType("Null"), - Object: findType("Object"), - ParticipantKeyHandler: findType("ParticipantKeyHandler"), - Record: findType("Record"), - StackTrace: findType("StackTrace"), - String: findType("String"), - Symbol: findType("Symbol0"), - TrustedGetRuntimeType: findType("TrustedGetRuntimeType"), - TypeError: findType("TypeError"), - Uint16List: findType("Uint16List"), - Uint32List: findType("Uint32List"), - Uint8ClampedList: findType("Uint8ClampedList"), - Uint8List: findType("Uint8List"), - UnknownJavaScriptObject: findType("UnknownJavaScriptObject"), - _Future_dynamic: findType("_Future<@>"), - _Future_int: findType("_Future"), - _IdentityHashMap_of_nullable_Object_and_nullable_Object: findType("_IdentityHashMap"), - _SyncBroadcastStreamController_LogRecord: findType("_SyncBroadcastStreamController"), - bool: findType("bool"), - bool_Function_Object: findType("bool(Object)"), - double: findType("double"), - dynamic: findType("@"), - dynamic_Function: findType("@()"), - dynamic_Function_Object: findType("@(Object)"), - dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"), - int: findType("int"), - nullable_EncryptedPacket: findType("EncryptedPacket?"), - nullable_Future_Null: findType("Future?"), - nullable_JSObject: findType("JSObject?"), - nullable_KeySet: findType("KeySet?"), - nullable_Object: findType("Object?"), - 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("~"), - void_Function: findType("~()"), - void_Function_Object: findType("~(Object)"), - void_Function_Object_StackTrace: findType("~(Object,StackTrace)") - }; - })(); - (function constants() { - var makeConstList = hunkHelpers.makeConstList; - B.Interceptor_methods = J.Interceptor.prototype; - B.JSArray_methods = J.JSArray.prototype; - B.JSInt_methods = J.JSInt.prototype; - B.JSString_methods = J.JSString.prototype; - B.JavaScriptFunction_methods = J.JavaScriptFunction.prototype; - B.JavaScriptObject_methods = J.JavaScriptObject.prototype; - B.NativeByteData_methods = A.NativeByteData.prototype; - B.NativeUint8List_methods = A.NativeUint8List.prototype; - B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype; - B.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype; - B.C_Base64Decoder = new A.Base64Decoder(); - B.C_Base64Encoder = new A.Base64Encoder(); - B.C_JS_CONST = function getTagFallback(o) { +(function dartProgram(){function copyProperties(a,b){var s=Object.keys(a) +for(var r=0;r=0)return true +if(typeof version=="function"&&version.length==0){var q=version() +if(/^\d+\.\d+\.\d+\.\d+$/.test(q))return true}}catch(p){}return false}() +function inherit(a,b){a.prototype.constructor=a +a.prototype["$i"+a.name]=a +if(b!=null){if(z){Object.setPrototypeOf(a.prototype,b.prototype) +return}var s=Object.create(b.prototype) +copyProperties(a.prototype,s) +a.prototype=s}}function inheritMany(a,b){for(var s=0;s4294967295)throw A.d(A.aa(a,0,4294967295,"length",null)) +return J.hx(new Array(a),b)}, +hx(a,b){var s=A.N(a,b.h("z<0>")) +s.$flags=1 +return s}, +aL(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.bl.prototype +return J.cg.prototype}if(typeof a=="string")return J.aT.prototype +if(a==null)return J.bm.prototype +if(typeof a=="boolean")return J.cf.prototype +if(Array.isArray(a))return J.z.prototype +if(typeof a!="object"){if(typeof a=="function")return J.a6.prototype +if(typeof a=="symbol")return J.aV.prototype +if(typeof a=="bigint")return J.aU.prototype +return a}if(a instanceof A.k)return a +return J.e4(a)}, +e1(a){if(typeof a=="string")return J.aT.prototype +if(a==null)return a +if(Array.isArray(a))return J.z.prototype +if(typeof a!="object"){if(typeof a=="function")return J.a6.prototype +if(typeof a=="symbol")return J.aV.prototype +if(typeof a=="bigint")return J.aU.prototype +return a}if(a instanceof A.k)return a +return J.e4(a)}, +e2(a){if(a==null)return a +if(Array.isArray(a))return J.z.prototype +if(typeof a!="object"){if(typeof a=="function")return J.a6.prototype +if(typeof a=="symbol")return J.aV.prototype +if(typeof a=="bigint")return J.aU.prototype +return a}if(a instanceof A.k)return a +return J.e4(a)}, +e3(a){if(a==null)return a +if(typeof a!="object"){if(typeof a=="function")return J.a6.prototype +if(typeof a=="symbol")return J.aV.prototype +if(typeof a=="bigint")return J.aU.prototype +return a}if(a instanceof A.k)return a +return J.e4(a)}, +eT(a,b){if(a==null)return b==null +if(typeof a!="object")return b!=null&&a===b +return J.aL(a).F(a,b)}, +eU(a,b){if(typeof b==="number")if(Array.isArray(a)||typeof a=="string"||A.jl(a,a[v.dispatchPropertyName]))if(b>>>0===b&&b>>6}, +hR(a){a=a+((a&67108863)<<3)&536870911 +a^=a>>>11 +return a+((a&16383)<<15)&536870911}, +dY(a,b,c){return a}, +eO(a){var s,r +for(s=$.S.length,r=0;r").l(d).h("bi<1,2>")) +return new A.a8(a,b,c.h("@<0>").l(d).h("a8<1,2>"))}, +b2:function b2(a){this.a=0 +this.b=a}, +bo:function bo(a){this.a=a}, +de:function de(){}, +l:function l(){}, +a7:function a7(){}, +aA:function aA(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +a8:function a8(a,b,c){this.a=a +this.b=b +this.$ti=c}, +bi:function bi(a,b,c){this.a=a +this.b=b +this.$ti=c}, +bt:function bt(a,b,c){var _=this +_.a=null +_.b=a +_.c=b +_.$ti=c}, +a9:function a9(a,b,c){this.a=a +this.b=b +this.$ti=c}, +aE:function aE(a,b,c){this.a=a +this.b=b +this.$ti=c}, +bH:function bH(a,b,c){this.a=a +this.b=b +this.$ti=c}, +L:function L(){}, +h3(a){var s=v.mangledGlobalNames[a] +if(s!=null)return s +return"minified:"+a}, +jl(a,b){var s +if(b!=null){s=b.x +if(s!=null)return s}return t.w.b(a)}, +c(a){var s +if(typeof a=="string")return a +if(typeof a=="number"){if(a!==0)return""+a}else if(!0===a)return"true" +else if(!1===a)return"false" +else if(a==null)return"null" +s=J.T(a) +return s}, +bB(a){var s,r=$.fb +if(r==null)r=$.fb=Symbol("identityHashCode") +s=a[r] +if(s==null){s=Math.random()*0x3fffffff|0 +a[r]=s}return s}, +cu(a){var s,r,q,p +if(a instanceof A.k)return A.R(A.bb(a),null) +s=J.aL(a) +if(s===B.M||s===B.O||t.cr.b(a)){r=B.v(a) +if(r!=="Object"&&r!=="")return r +q=a.constructor +if(typeof q=="function"){p=q.name +if(typeof p=="string"&&p!=="Object"&&p!=="")return p}}return A.R(A.bb(a),null)}, +hL(a){var s,r,q +if(typeof a=="number"||A.dV(a))return J.T(a) +if(typeof a=="string")return JSON.stringify(a) +if(a instanceof A.aj)return a.k(0) +s=$.hh() +for(r=0;r<1;++r){q=s[r].bW(a) +if(q!=null)return q}return"Instance of '"+A.cu(a)+"'"}, +hM(a,b,c){var s,r,q,p +if(c<=500&&b===0&&c===a.length)return String.fromCharCode.apply(null,a) +for(s=b,r="";s=s)return A.f2(b,s,a,r) +return A.hN(b,r)}, +ja(a,b,c){if(a<0||a>c)return A.aa(a,0,c,"start",null) +if(b!=null)if(bc)return A.aa(b,a,c,"end",null) +return new A.Z(!0,b,"end",null)}, +j2(a){return new A.Z(!0,a,null,null)}, +d(a){return A.B(a,new Error())}, +B(a,b){var s +if(a==null)a=new A.ab() +b.dartException=a +s=A.js +if("defineProperty" in Object){Object.defineProperty(b,"message",{get:s}) +b.name=""}else b.toString=s +return b}, +js(){return J.T(this.dartException)}, +W(a,b){throw A.B(a,b==null?new Error():b)}, +X(a,b,c){var s +if(b==null)b=0 +if(c==null)c=0 +s=Error() +A.W(A.is(a,b,c),s)}, +is(a,b,c){var s,r,q,p,o,n,m,l,k +if(typeof b=="string")s=b +else{r="[]=;add;removeWhere;retainWhere;removeRange;setRange;setInt8;setInt16;setInt32;setUint8;setUint16;setUint32;setFloat32;setFloat64".split(";") +q=r.length +p=b +if(p>q){c=p/q|0 +p%=q}s=r[p]}o=typeof c=="string"?c:"modify;remove from;add to".split(";")[c] +n=t.cK.b(a)?"list":"ByteData" +m=a.$flags|0 +l="a " +if((m&4)!==0)k="constant " +else if((m&2)!==0){k="unmodifiable " +l="an "}else k=(m&1)!==0?"fixed-length ":"" +return new A.bF("'"+s+"': Cannot "+o+" "+l+k+n)}, +bd(a){throw A.d(A.bh(a))}, +ac(a){var s,r,q,p,o,n +a=A.jq(a.replace(String({}),"$receiver$")) +s=a.match(/\\\$[a-zA-Z]+\\\$/g) +if(s==null)s=A.N([],t.s) +r=s.indexOf("\\$arguments\\$") +q=s.indexOf("\\$argumentsExpr\\$") +p=s.indexOf("\\$expr\\$") +o=s.indexOf("\\$method\\$") +n=s.indexOf("\\$receiver\\$") +return new A.dj(a.replace(new RegExp("\\\\\\$arguments\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$","g"),"((?:x|[^x])*)"),r,q,p,o,n)}, +dk(a){return function($expr$){var $argumentsExpr$="$arguments$" +try{$expr$.$method$($argumentsExpr$)}catch(s){return s.message}}(a)}, +fk(a){return function($expr$){try{$expr$.$method$}catch(s){return s.message}}(a)}, +eB(a,b){var s=b==null,r=s?null:b.method +return new A.ci(a,r,s?null:b.receiver)}, +M(a){var s +if(a==null)return new A.dd(a) +if(a instanceof A.bk){s=a.a +return A.at(a,s==null?A.J(s):s)}if(typeof a!=="object")return a +if("dartException" in a)return A.at(a,a.dartException) +return A.j1(a)}, +at(a,b){if(t.C.b(b))if(b.$thrownJsError==null)b.$thrownJsError=a +return b}, +j1(a){var s,r,q,p,o,n,m,l,k,j,i,h,g +if(!("message" in a))return a +s=a.message +if("number" in a&&typeof a.number=="number"){r=a.number +q=r&65535 +if((B.i.a3(r,16)&8191)===10)switch(q){case 438:return A.at(a,A.eB(A.c(s)+" (Error "+q+")",null)) +case 445:case 5007:A.c(s) +return A.at(a,new A.bA())}}if(a instanceof TypeError){p=$.h4() +o=$.h5() +n=$.h6() +m=$.h7() +l=$.ha() +k=$.hb() +j=$.h9() +$.h8() +i=$.hd() +h=$.hc() +g=p.C(s) +if(g!=null)return A.at(a,A.eB(A.h(s),g)) +else{g=o.C(s) +if(g!=null){g.method="call" +return A.at(a,A.eB(A.h(s),g))}else if(n.C(s)!=null||m.C(s)!=null||l.C(s)!=null||k.C(s)!=null||j.C(s)!=null||m.C(s)!=null||i.C(s)!=null||h.C(s)!=null){A.h(s) +return A.at(a,new A.bA())}}return A.at(a,new A.cB(typeof s=="string"?s:""))}if(a instanceof RangeError){if(typeof s=="string"&&s.indexOf("call stack")!==-1)return new A.bD() +s=function(b){try{return String(b)}catch(f){}return null}(a) +return A.at(a,new A.Z(!1,null,null,typeof s=="string"?s.replace(/^RangeError:\s*/,""):s))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof s=="string"&&s==="too much recursion")return new A.bD() +return a}, +aM(a){var s +if(a instanceof A.bk)return a.b +if(a==null)return new A.bU(a) +s=a.$cachedTrace +if(s!=null)return s +s=new A.bU(a) +if(typeof a==="object")a.$cachedTrace=s +return s}, +em(a){if(a==null)return J.cR(a) +if(typeof a=="object")return A.bB(a) +return J.cR(a)}, +jb(a,b){var s,r,q,p=a.length +for(s=0;s>>0!==a||a>=c)throw A.d(A.cO(b,a))}, +ir(a,b,c){var s +if(!(a>>>0!==a))if(b==null)s=a>c +else s=b>>>0!==b||a>b||b>c +else s=!0 +if(s)throw A.d(A.ja(a,b,c)) +if(b==null)return c +return b}, +an:function an(){}, +aY:function aY(){}, +bx:function bx(){}, +cL:function cL(a){this.a=a}, +bu:function bu(){}, +C:function C(){}, +bv:function bv(){}, +bw:function bw(){}, +ck:function ck(){}, +cl:function cl(){}, +cm:function cm(){}, +cn:function cn(){}, +co:function co(){}, +cp:function cp(){}, +cq:function cq(){}, +by:function by(){}, +bz:function bz(){}, +bQ:function bQ(){}, +bR:function bR(){}, +bS:function bS(){}, +bT:function bT(){}, +eC(a,b){var s=b.c +return s==null?b.c=A.bY(a,"a_",[b.x]):s}, +ff(a){var s=a.w +if(s===6||s===7)return A.ff(a.x) +return s===11||s===12}, +hO(a){return a.as}, +ba(a){return A.dP(v.typeUniverse,a,!1)}, +aK(a1,a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=a2.w +switch(a0){case 5:case 1:case 2:case 3:case 4:return a2 +case 6:s=a2.x +r=A.aK(a1,s,a3,a4) +if(r===s)return a2 +return A.fy(a1,r,!0) +case 7:s=a2.x +r=A.aK(a1,s,a3,a4) +if(r===s)return a2 +return A.fx(a1,r,!0) +case 8:q=a2.y +p=A.b8(a1,q,a3,a4) +if(p===q)return a2 +return A.bY(a1,a2.x,p) +case 9:o=a2.x +n=A.aK(a1,o,a3,a4) +m=a2.y +l=A.b8(a1,m,a3,a4) +if(n===o&&l===m)return a2 +return A.eG(a1,n,l) +case 10:k=a2.x +j=a2.y +i=A.b8(a1,j,a3,a4) +if(i===j)return a2 +return A.fz(a1,k,i) +case 11:h=a2.x +g=A.aK(a1,h,a3,a4) +f=a2.y +e=A.iZ(a1,f,a3,a4) +if(g===h&&e===f)return a2 +return A.fw(a1,g,e) +case 12:d=a2.y +a4+=d.length +c=A.b8(a1,d,a3,a4) +o=a2.x +n=A.aK(a1,o,a3,a4) +if(c===d&&n===o)return a2 +return A.eH(a1,n,c,!0) +case 13:b=a2.x +if(b=0)p+=" "+r[q];++q}return p+"})"}, +fF(a3,a4,a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1=", ",a2=null +if(a5!=null){s=a5.length +if(a4==null)a4=A.N([],t.s) +else a2=a4.length +r=a4.length +for(q=s;q>0;--q)B.d.u(a4,"T"+(r+q)) +for(p=t.X,o="<",n="",q=0;q=0))return A.e(a4,l) +o=o+n+a4[l] +k=a5[q] +j=k.w +if(!(j===2||j===3||j===4||j===5||k===p))o+=" extends "+A.R(k,a4)}o+=">"}else o="" +p=a3.x +i=a3.y +h=i.a +g=h.length +f=i.b +e=f.length +d=i.c +c=d.length +b=A.R(p,a4) +for(a="",a0="",q=0;q0){a+=a0+"[" +for(a0="",q=0;q0){a+=a0+"{" +for(a0="",q=0;q "+b}, +R(a,b){var s,r,q,p,o,n,m,l=a.w +if(l===5)return"erased" +if(l===2)return"dynamic" +if(l===3)return"void" +if(l===1)return"Never" +if(l===4)return"any" +if(l===6){s=a.x +r=A.R(s,b) +q=s.w +return(q===11||q===12?"("+r+")":r)+"?"}if(l===7)return"FutureOr<"+A.R(a.x,b)+">" +if(l===8){p=A.j0(a.x) +o=a.y +return o.length>0?p+("<"+A.fQ(o,b)+">"):p}if(l===10)return A.iR(a,b) +if(l===11)return A.fF(a,b,null) +if(l===12)return A.fF(a.x,b,a.y) +if(l===13){n=a.x +m=b.length +n=m-1-n +if(!(n>=0&&n0)p+="<"+A.bX(c)+">" +s=a.eC.get(p) +if(s!=null)return s +r=new A.a0(null,null) +r.w=8 +r.x=b +r.y=c +if(c.length>0)r.c=c[0] +r.as=p +q=A.aq(a,r) +a.eC.set(p,q) +return q}, +eG(a,b,c){var s,r,q,p,o,n +if(b.w===9){s=b.x +r=b.y.concat(c)}else{r=c +s=b}q=s.as+(";<"+A.bX(r)+">") +p=a.eC.get(q) +if(p!=null)return p +o=new A.a0(null,null) +o.w=9 +o.x=s +o.y=r +o.as=q +n=A.aq(a,o) +a.eC.set(q,n) +return n}, +fz(a,b,c){var s,r,q="+"+(b+"("+A.bX(c)+")"),p=a.eC.get(q) +if(p!=null)return p +s=new A.a0(null,null) +s.w=10 +s.x=b +s.y=c +s.as=q +r=A.aq(a,s) +a.eC.set(q,r) +return r}, +fw(a,b,c){var s,r,q,p,o,n=b.as,m=c.a,l=m.length,k=c.b,j=k.length,i=c.c,h=i.length,g="("+A.bX(m) +if(j>0){s=l>0?",":"" +g+=s+"["+A.bX(k)+"]"}if(h>0){s=l>0?",":"" +g+=s+"{"+A.i7(i)+"}"}r=n+(g+")") +q=a.eC.get(r) +if(q!=null)return q +p=new A.a0(null,null) +p.w=11 +p.x=b +p.y=c +p.as=r +o=A.aq(a,p) +a.eC.set(r,o) +return o}, +eH(a,b,c,d){var s,r=b.as+("<"+A.bX(c)+">"),q=a.eC.get(r) +if(q!=null)return q +s=A.i9(a,b,c,r,d) +a.eC.set(r,s) +return s}, +i9(a,b,c,d,e){var s,r,q,p,o,n,m,l +if(e){s=c.length +r=A.dR(s) +for(q=0,p=0;p0){n=A.aK(a,b,r,0) +m=A.b8(a,c,r,0) +return A.eH(a,n,m,c!==m)}}l=new A.a0(null,null) +l.w=12 +l.x=b +l.y=c +l.as=d +return A.aq(a,l)}, +fr(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}}, +ft(a){var s,r,q,p,o,n,m,l=a.r,k=a.s +for(s=l.length,r=0;r=48&&q<=57)r=A.i1(r+1,q,l,k) +else if((((q|32)>>>0)-97&65535)<26||q===95||q===36||q===124)r=A.fs(a,r,l,k,!1) +else if(q===46)r=A.fs(a,r,l,k,!0) +else{++r +switch(q){case 44:break +case 58:k.push(!1) +break +case 33:k.push(!0) +break +case 59:k.push(A.aI(a.u,a.e,k.pop())) +break +case 94:k.push(A.ib(a.u,k.pop())) +break +case 35:k.push(A.bZ(a.u,5,"#")) +break +case 64:k.push(A.bZ(a.u,2,"@")) +break +case 126:k.push(A.bZ(a.u,3,"~")) +break +case 60:k.push(a.p) +a.p=k.length +break +case 62:A.i3(a,k) +break +case 38:A.i2(a,k) +break +case 63:p=a.u +k.push(A.fy(p,A.aI(p,a.e,k.pop()),a.n)) +break +case 47:p=a.u +k.push(A.fx(p,A.aI(p,a.e,k.pop()),a.n)) +break +case 40:k.push(-3) +k.push(a.p) +a.p=k.length +break +case 41:A.i0(a,k) +break +case 91:k.push(a.p) +a.p=k.length +break +case 93:o=k.splice(a.p) +A.fu(a.u,a.e,o) +a.p=k.pop() +k.push(o) +k.push(-1) +break +case 123:k.push(a.p) +a.p=k.length +break +case 125:o=k.splice(a.p) +A.i5(a.u,a.e,o) +a.p=k.pop() +k.push(o) +k.push(-2) +break +case 43:n=l.indexOf("(",r) +k.push(l.substring(r,n)) +k.push(-4) +k.push(a.p) +a.p=k.length +r=n+1 +break +default:throw"Bad character "+q}}}m=k.pop() +return A.aI(a.u,a.e,m)}, +i1(a,b,c,d){var s,r,q=b-48 +for(s=c.length;a=48&&r<=57))break +q=q*10+(r-48)}d.push(q) +return a}, +fs(a,b,c,d,e){var s,r,q,p,o,n,m=b+1 +for(s=c.length;m>>0)-97&65535)<26||r===95||r===36||r===124))q=r>=48&&r<=57 +else q=!0 +if(!q)break}}p=c.substring(b,m) +if(e){s=a.u +o=a.e +if(o.w===9)o=o.x +n=A.ih(s,o.x)[p] +if(n==null)A.W('No "'+p+'" in "'+A.hO(o)+'"') +d.push(A.dQ(s,o,n))}else d.push(p) +return m}, +i3(a,b){var s,r=a.u,q=A.fq(a,b),p=b.pop() +if(typeof p=="string")b.push(A.bY(r,p,q)) +else{s=A.aI(r,a.e,p) +switch(s.w){case 11:b.push(A.eH(r,s,q,a.n)) +break +default:b.push(A.eG(r,s,q)) +break}}}, +i0(a,b){var s,r,q,p=a.u,o=b.pop(),n=null,m=null +if(typeof o=="number")switch(o){case-1:n=b.pop() +break +case-2:m=b.pop() +break +default:b.push(o) +break}else b.push(o) +s=A.fq(a,b) +o=b.pop() +switch(o){case-3:o=b.pop() +if(n==null)n=p.sEA +if(m==null)m=p.sEA +r=A.aI(p,a.e,o) +q=new A.cG() +q.a=s +q.b=n +q.c=m +b.push(A.fw(p,r,q)) +return +case-4:b.push(A.fz(p,b.pop(),s)) +return +default:throw A.d(A.c4("Unexpected state under `()`: "+A.c(o)))}}, +i2(a,b){var s=b.pop() +if(0===s){b.push(A.bZ(a.u,1,"0&")) +return}if(1===s){b.push(A.bZ(a.u,4,"1&")) +return}throw A.d(A.c4("Unexpected extended operation "+A.c(s)))}, +fq(a,b){var s=b.splice(a.p) +A.fu(a.u,a.e,s) +a.p=b.pop() +return s}, +aI(a,b,c){if(typeof c=="string")return A.bY(a,c,a.sEA) +else if(typeof c=="number"){b.toString +return A.i4(a,b,c)}else return c}, +fu(a,b,c){var s,r=c.length +for(s=0;sn)return!1 +m=n-o +l=s.b +k=r.b +j=l.length +i=k.length +if(o+j=d)return!1 +a1=f[b] +b+=3 +if(a00?new Array(q):v.typeUniverse.sEA +for(o=0;o0?new Array(a):v.typeUniverse.sEA}, +a0:function a0(a,b){var _=this +_.a=a +_.b=b +_.r=_.f=_.d=_.c=null +_.w=0 +_.as=_.Q=_.z=_.y=_.x=null}, +cG:function cG(){this.c=this.b=this.a=null}, +dO:function dO(a){this.a=a}, +cF:function cF(){}, +bW:function bW(a){this.a=a}, +hS(){var s,r,q +if(self.scheduleImmediate!=null)return A.j3() +if(self.MutationObserver!=null&&self.document!=null){s={} +r=self.document.createElement("div") +q=self.document.createElement("span") +s.a=null +new self.MutationObserver(A.c2(new A.dq(s),1)).observe(r,{childList:true}) +return new A.dp(s,r,q)}else if(self.setImmediate!=null)return A.j4() +return A.j5()}, +hT(a){self.scheduleImmediate(A.c2(new A.dr(t.M.a(a)),0))}, +hU(a){self.setImmediate(A.c2(new A.ds(t.M.a(a)),0))}, +hV(a){t.M.a(a) +A.i6(0,a)}, +i6(a,b){var s=new A.dM() +s.be(a,b) +return s}, +G(a){return new A.cC(new A.x($.t,a.h("x<0>")),a.h("cC<0>"))}, +F(a,b){a.$2(0,null) +b.b=!0 +return b.a}, +m(a,b){A.io(a,b)}, +E(a,b){b.an(a)}, +D(a,b){b.ao(A.M(a),A.aM(a))}, +io(a,b){var s,r,q=new A.dT(b),p=new A.dU(b) +if(a instanceof A.x)a.aU(q,p,t.z) +else{s=t.z +if(a instanceof A.x)a.b6(q,p,s) +else{r=new A.x($.t,t._) +r.a=8 +r.c=a +r.aU(q,p,s)}}}, +H(a){var s=function(b,c){return function(d,e){while(true){try{b(d,e) +break}catch(r){e=r +d=c}}}}(a,1) +return $.t.av(new A.dX(s),t.H,t.S,t.z)}, +ey(a){var s +if(t.C.b(a)){s=a.gO() +if(s!=null)return s}return B.o}, +iA(a,b){if($.t===B.h)return null +return null}, +iB(a,b){if($.t!==B.h)A.iA(a,b) +if(b==null)if(t.C.b(a)){b=a.gO() +if(b==null){A.fc(a,B.o) +b=B.o}}else b=B.o +else if(t.C.b(a))A.fc(a,b) +return new A.O(a,b)}, +eD(a,b,c){var s,r,q,p,o={},n=o.a=a +for(s=t._;r=n.a,(r&4)!==0;n=a){a=s.a(n.c) +o.a=a}if(n===b){s=A.fg() +b.ad(new A.O(new A.Z(!0,n,null,"Cannot complete a future with itself"),s)) +return}q=b.a&1 +s=n.a=r|q +if((s&24)===0){p=t.F.a(b.c) +b.a=b.a&1|4 +b.c=n +n.aS(p) +return}if(!c)if(b.c==null)n=(s&16)===0||q!==0 +else n=!1 +else n=!0 +if(n){p=b.P() +b.Z(o.a) +A.aH(b,p) +return}b.a^=2 +A.b7(null,null,b.b,t.M.a(new A.dA(o,b)))}, +aH(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d={},c=d.a=a +for(s=t.n,r=t.F;!0;){q={} +p=c.a +o=(p&16)===0 +n=!o +if(b==null){if(n&&(p&1)===0){m=s.a(c.c) +A.cN(m.a,m.b)}return}q.a=b +l=b.a +for(c=b;l!=null;c=l,l=k){c.a=null +A.aH(d.a,c) +q.a=l +k=l.a}p=d.a +j=p.c +q.b=n +q.c=j +if(o){i=c.c +i=(i&1)!==0||(i&15)===8}else i=!0 +if(i){h=c.b.b +if(n){p=p.b===h +p=!(p||p)}else p=!1 +if(p){s.a(j) +A.cN(j.a,j.b) +return}g=$.t +if(g!==h)$.t=h +else g=null +c=c.c +if((c&15)===8)new A.dE(q,d,n).$0() +else if(o){if((c&1)!==0)new A.dD(q,j).$0()}else if((c&2)!==0)new A.dC(d,q).$0() +if(g!=null)$.t=g +c=q.c +if(c instanceof A.x){p=q.a.$ti +p=p.h("a_<2>").b(c)||!p.y[1].b(c)}else p=!1 +if(p){f=q.a.b +if((c.a&24)!==0){e=r.a(f.c) +f.c=null +b=f.a1(e) +f.a=c.a&30|f.a&1 +f.c=c.c +d.a=c +continue}else A.eD(c,f,!0) +return}}f=q.a.b +e=r.a(f.c) +f.c=null +b=f.a1(e) +c=q.b +p=q.c +if(!c){f.$ti.c.a(p) +f.a=8 +f.c=p}else{s.a(p) +f.a=f.a&1|16 +f.c=p}d.a=f +c=f}}, +iS(a,b){var s +if(t.Q.b(a))return b.av(a,t.z,t.K,t.l) +s=t.v +if(s.b(a))return s.a(a) +throw A.d(A.ex(a,"onError",u.c))}, +iO(){var s,r +for(s=$.b6;s!=null;s=$.b6){$.c1=null +r=s.b +$.b6=r +if(r==null)$.c0=null +s.a.$0()}}, +iX(){$.eK=!0 +try{A.iO()}finally{$.c1=null +$.eK=!1 +if($.b6!=null)$.eS().$1(A.fU())}}, +fS(a){var s=new A.cD(a),r=$.c0 +if(r==null){$.b6=$.c0=s +if(!$.eK)$.eS().$1(A.fU())}else $.c0=r.b=s}, +iU(a){var s,r,q,p=$.b6 +if(p==null){A.fS(a) +$.c1=$.c0 +return}s=new A.cD(a) +r=$.c1 +if(r==null){s.b=p +$.b6=$.c1=s}else{q=r.b +s.b=q +$.c1=r.b=s +if(q==null)$.c0=s}}, +h2(a){var s=null,r=$.t +if(B.h===r){A.b7(s,s,B.h,a) +return}A.b7(s,s,r,t.M.a(r.aW(a)))}, +jA(a,b){A.dY(a,"stream",t.K) +return new A.cJ(b.h("cJ<0>"))}, +fR(a){return}, +i_(a,b){if(b==null)b=A.j7() +if(t.aD.b(b))return a.av(b,t.z,t.K,t.l) +if(t.bo.b(b))return t.v.a(b) +throw A.d(A.ai("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.",null))}, +iQ(a,b){A.cN(a,b)}, +iP(){}, +cN(a,b){A.iU(new A.dW(a,b))}, +fO(a,b,c,d,e){var s,r=$.t +if(r===c)return d.$0() +$.t=c +s=r +try{r=d.$0() +return r}finally{$.t=s}}, +fP(a,b,c,d,e,f,g){var s,r=$.t +if(r===c)return d.$1(e) +$.t=c +s=r +try{r=d.$1(e) +return r}finally{$.t=s}}, +iT(a,b,c,d,e,f,g,h,i){var s,r=$.t +if(r===c)return d.$2(e,f) +$.t=c +s=r +try{r=d.$2(e,f) +return r}finally{$.t=s}}, +b7(a,b,c,d){t.M.a(d) +if(B.h!==c){d=c.aW(d) +d=d}A.fS(d)}, +dq:function dq(a){this.a=a}, +dp:function dp(a,b,c){this.a=a +this.b=b +this.c=c}, +dr:function dr(a){this.a=a}, +ds:function ds(a){this.a=a}, +dM:function dM(){}, +dN:function dN(a,b){this.a=a +this.b=b}, +cC:function cC(a,b){this.a=a +this.b=!1 +this.$ti=b}, +dT:function dT(a){this.a=a}, +dU:function dU(a){this.a=a}, +dX:function dX(a){this.a=a}, +O:function O(a,b){this.a=a +this.b=b}, +b1:function b1(a,b){this.a=a +this.$ti=b}, +ao:function ao(a,b,c,d,e){var _=this +_.ay=0 +_.CW=_.ch=null +_.w=a +_.a=b +_.d=c +_.e=d +_.r=null +_.$ti=e}, +aF:function aF(){}, +bV:function bV(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.e=_.d=null +_.$ti=c}, +dL:function dL(a,b){this.a=a +this.b=b}, +cE:function cE(){}, +bI:function bI(a,b){this.a=a +this.$ti=b}, +aG:function aG(a,b,c,d,e){var _=this +_.a=null +_.b=a +_.c=b +_.d=c +_.e=d +_.$ti=e}, +x:function x(a,b){var _=this +_.a=0 +_.b=a +_.c=null +_.$ti=b}, +dx:function dx(a,b){this.a=a +this.b=b}, +dB:function dB(a,b){this.a=a +this.b=b}, +dA:function dA(a,b){this.a=a +this.b=b}, +dz:function dz(a,b){this.a=a +this.b=b}, +dy:function dy(a,b){this.a=a +this.b=b}, +dE:function dE(a,b,c){this.a=a +this.b=b +this.c=c}, +dF:function dF(a,b){this.a=a +this.b=b}, +dG:function dG(a){this.a=a}, +dD:function dD(a,b){this.a=a +this.b=b}, +dC:function dC(a,b){this.a=a +this.b=b}, +cD:function cD(a){this.a=a +this.b=null}, +b_:function b_(){}, +dh:function dh(a,b){this.a=a +this.b=b}, +di:function di(a,b){this.a=a +this.b=b}, +bJ:function bJ(){}, +bK:function bK(){}, +ad:function ad(){}, +b5:function b5(){}, +bM:function bM(){}, +bL:function bL(a,b){this.b=a +this.a=null +this.$ti=b}, +cH:function cH(a){var _=this +_.a=0 +_.c=_.b=null +_.$ti=a}, +dJ:function dJ(a,b){this.a=a +this.b=b}, +b3:function b3(a,b){var _=this +_.a=1 +_.b=a +_.c=null +_.$ti=b}, +cJ:function cJ(a){this.$ti=a}, +c_:function c_(){}, +dW:function dW(a,b){this.a=a +this.b=b}, +cI:function cI(){}, +dK:function dK(a,b){this.a=a +this.b=b}, +fp(a,b){var s=a[b] +return s===a?null:s}, +eF(a,b,c){if(c==null)a[b]=a +else a[b]=c}, +eE(){var s=Object.create(null) +A.eF(s,"",s) +delete s[""] +return s}, +j(a,b,c){return b.h("@<0>").l(c).h("f3<1,2>").a(A.jb(a,new A.az(b.h("@<0>").l(c).h("az<1,2>"))))}, +br(a,b){return new A.az(a.h("@<0>").l(b).h("az<1,2>"))}, +f7(a){var s,r +if(A.eO(a))return"{...}" +s=new A.cx("") +try{r={} +B.d.u($.S,a) +s.a+="{" +r.a=!0 +a.aq(0,new A.db(r,s)) +s.a+="}"}finally{if(0>=$.S.length)return A.e($.S,-1) +$.S.pop()}r=s.a +return r.charCodeAt(0)==0?r:r}, +bN:function bN(){}, +b4:function b4(a){var _=this +_.a=0 +_.e=_.d=_.c=_.b=null +_.$ti=a}, +bO:function bO(a,b){this.a=a +this.$ti=b}, +bP:function bP(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +u:function u(){}, +aC:function aC(){}, +db:function db(a,b){this.a=a +this.b=b}, +hZ(a,b,c,d,e,f,g,a0){var s,r,q,p,o,n,m,l,k,j,i=a0>>>2,h=3-(a0&3) +for(s=b.length,r=a.length,q=f.$flags|0,p=c,o=0;p>>18&63 +if(!(l>>12&63 +if(!(l>>6&63 +if(!(l=0&&o<=255){if(h<3){m=g+1 +j=m+1 +if(3-h===1){s=i>>>2&63 +if(!(s>>10&63 +if(!(s>>4&63 +if(!(s>>0}for(p=c;p255)break;++p}if(!(p=0){g=(g<<6|l)&16777215 +f=f+1&3 +if(f===0){k=a0+1 +q&2&&A.X(d) +m=d.length +if(!(a0>>16&255 +a0=k+1 +if(!(k>>8&255 +k=a0+1 +if(!(a01){if(o>127)break +if(f===3){if((g&3)!==0)throw A.d(A.aS(i,a,p)) +k=a0+1 +q&2&&A.X(d) +s=d.length +if(!(a0>>10 +if(!(k>>2}else{if((g&15)!==0)throw A.d(A.aS(i,a,p)) +q&2&&A.X(d) +if(!(a0>>4}j=(3-f)*3 +if(n===37)j+=2 +return A.fn(a,p+1,c,-j-1)}throw A.d(A.aS(h,a,p))}if(o>=0&&o<=127)return(g<<2|f)>>>0 +for(p=b;p127)break}throw A.d(A.aS(h,a,p))}, +hW(a,b,c,d){var s=A.hX(a,b,c),r=(d&3)+(s-b),q=B.i.a3(r,2)*3,p=r&3 +if(p!==0&&s0)return new Uint8Array(q) +return $.he()}, +hX(a,b,c){var s,r=a.length,q=c,p=q,o=0 +while(!0){if(!(p>b&&o<2))break +c$0:{--p +if(!(p>=0&&p=0&&p=0&&p0;){if(!(b3?s-3:s)===2){if(q!==51)break;++b;--s +if(b===c)break +if(!(b")) +for(s=J.ev(a);s.p();)B.d.u(r,s.gn()) +return r}, +hP(a){var s +A.fd(0,"start") +s=A.hQ(a,0,null) +return s}, +hQ(a,b,c){var s=a.length +if(b>=s)return"" +return A.hM(a,b,s)}, +fi(a,b,c){var s=J.ev(b) +if(!s.p())return a +if(c.length===0){do a+=A.c(s.gn()) +while(s.p())}else{a+=A.c(s.gn()) +for(;s.p();)a=a+c+A.c(s.gn())}return a}, +fg(){return A.aM(new Error())}, +hs(a){var s=Math.abs(a),r=a<0?"-":"" +if(s>=1000)return""+a +if(s>=100)return r+"0"+s +if(s>=10)return r+"00"+s +return r+"000"+s}, +f1(a){if(a>=100)return""+a +if(a>=10)return"0"+a +return"00"+a}, +cb(a){if(a>=10)return""+a +return"0"+a}, +cW(a){if(typeof a=="number"||A.dV(a)||a==null)return J.T(a) +if(typeof a=="string")return JSON.stringify(a) +return A.hL(a)}, +hu(a,b){A.dY(a,"error",t.K) +A.dY(b,"stackTrace",t.l) +A.ht(a,b)}, +c4(a){return new A.c3(a)}, +ai(a,b){return new A.Z(!1,null,b,a)}, +ex(a,b,c){return new A.Z(!0,a,b,c)}, +hN(a,b){return new A.aZ(null,null,!0,a,b,"Value not in range")}, +aa(a,b,c,d,e){return new A.aZ(b,c,!0,a,d,"Invalid value")}, +fe(a,b,c){if(0>a||a>c)throw A.d(A.aa(a,0,c,"start",null)) +if(b!=null){if(a>b||b>c)throw A.d(A.aa(b,a,c,"end",null)) +return b}return c}, +fd(a,b){if(a<0)throw A.d(A.aa(a,0,null,b,null)) +return a}, +f2(a,b,c,d){return new A.cc(b,!0,a,d,"Index out of range")}, +bG(a){return new A.bF(a)}, +fl(a){return new A.cA(a)}, +dg(a){return new A.aD(a)}, +bh(a){return new A.c8(a)}, +a3(a){return new A.dw(a)}, +aS(a,b,c){return new A.cZ(a,b,c)}, +hv(a,b,c){var s,r +if(A.eO(a)){if(b==="("&&c===")")return"(...)" +return b+"..."+c}s=A.N([],t.s) +B.d.u($.S,a) +try{A.iN(a,s)}finally{if(0>=$.S.length)return A.e($.S,-1) +$.S.pop()}r=A.fi(b,t.R.a(s),", ")+c +return r.charCodeAt(0)==0?r:r}, +d5(a,b,c){var s,r +if(A.eO(a))return b+"..."+c +s=new A.cx(b) +B.d.u($.S,a) +try{r=s +r.a=A.fi(r.a,a,", ")}finally{if(0>=$.S.length)return A.e($.S,-1) +$.S.pop()}s.a+=c +r=s.a +return r.charCodeAt(0)==0?r:r}, +iN(a,b){var s,r,q,p,o,n,m,l=a.gA(a),k=0,j=0 +while(!0){if(!(k<80||j<3))break +if(!l.p())return +s=A.c(l.gn()) +B.d.u(b,s) +k+=s.length+2;++j}if(!l.p()){if(j<=5)return +if(0>=b.length)return A.e(b,-1) +r=b.pop() +if(0>=b.length)return A.e(b,-1) +q=b.pop()}else{p=l.gn();++j +if(!l.p()){if(j<=4){B.d.u(b,A.c(p)) +return}r=A.c(p) +if(0>=b.length)return A.e(b,-1) +q=b.pop() +k+=r.length+2}else{o=l.gn();++j +for(;l.p();p=o,o=n){n=l.gn();++j +if(j>100){while(!0){if(!(k>75&&j>3))break +if(0>=b.length)return A.e(b,-1) +k-=b.pop().length+2;--j}B.d.u(b,"...") +return}}q=A.c(p) +r=A.c(o) +k+=r.length+q.length+4}}if(j>b.length+2){k+=5 +m="..."}else m=null +while(!0){if(!(k>80&&b.length>3))break +if(0>=b.length)return A.e(b,-1) +k-=b.pop().length+2 +if(m==null){k+=5 +m="..."}}if(m!=null)B.d.u(b,m) +B.d.u(b,q) +B.d.u(b,r)}, +hC(a,b){var s=B.i.gt(a) +b=B.i.gt(b) +b=A.hR(A.fj(A.fj($.hg(),s),b)) +return b}, +ca:function ca(a,b,c){this.a=a +this.b=b +this.c=c}, +dv:function dv(){}, +w:function w(){}, +c3:function c3(a){this.a=a}, +ab:function ab(){}, +Z:function Z(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +aZ:function aZ(a,b,c,d,e,f){var _=this +_.e=a +_.f=b +_.a=c +_.b=d +_.c=e +_.d=f}, +cc:function cc(a,b,c,d,e){var _=this +_.f=a +_.a=b +_.b=c +_.c=d +_.d=e}, +bF:function bF(a){this.a=a}, +cA:function cA(a){this.a=a}, +aD:function aD(a){this.a=a}, +c8:function c8(a){this.a=a}, +cr:function cr(){}, +bD:function bD(){}, +dw:function dw(a){this.a=a}, +cZ:function cZ(a,b,c){this.a=a +this.b=b +this.c=c}, +f:function f(){}, +y:function y(){}, +k:function k(){}, +cK:function cK(){}, +cx:function cx(a){this.a=a}, +fG(a){var s +if(typeof a=="function")throw A.d(A.ai("Attempting to rewrap a JS function.",null)) +s=function(b,c){return function(d){return b(c,d,arguments.length)}}(A.ip,a) +s[$.er()]=a +return s}, +fH(a){var s +if(typeof a=="function")throw A.d(A.ai("Attempting to rewrap a JS function.",null)) +s=function(b,c){return function(d,e){return b(c,d,e,arguments.length)}}(A.iq,a) +s[$.er()]=a +return s}, +ip(a,b,c){t.Z.a(a) +if(A.p(c)>=1)return a.$1(b) +return a.$0()}, +iq(a,b,c,d){t.Z.a(a) +A.p(d) +if(d>=2)return a.$2(b,c) +if(d===1)return a.$1(b) +return a.$0()}, +fN(a){return a==null||A.dV(a)||typeof a=="number"||typeof a=="string"||t.U.b(a)||t.p.b(a)||t.ca.b(a)||t.O.b(a)||t.c0.b(a)||t.k.b(a)||t.bk.b(a)||t.G.b(a)||t.q.b(a)||t.J.b(a)||t.V.b(a)}, +i(a){if(A.fN(a))return a +return new A.ea(new A.b4(t.A)).$1(a)}, +eL(a,b,c,d){return d.a(a[b].apply(a,c))}, +ag(a,b){var s=new A.x($.t,b.h("x<0>")),r=new A.bI(s,b.h("bI<0>")) +a.then(A.c2(new A.en(r,b),1),A.c2(new A.eo(r),1)) +return s}, +fM(a){return a==null||typeof a==="boolean"||typeof a==="number"||typeof a==="string"||a instanceof Int8Array||a instanceof Uint8Array||a instanceof Uint8ClampedArray||a instanceof Int16Array||a instanceof Uint16Array||a instanceof Int32Array||a instanceof Uint32Array||a instanceof Float32Array||a instanceof Float64Array||a instanceof ArrayBuffer||a instanceof DataView}, +fW(a){if(A.fM(a))return a +return new A.dZ(new A.b4(t.A)).$1(a)}, +ea:function ea(a){this.a=a}, +en:function en(a,b){this.a=a +this.b=b}, +eo:function eo(a){this.a=a}, +dZ:function dZ(a){this.a=a}, +dc:function dc(a){this.a=a}, +dH:function dH(a){this.a=a}, +am:function am(a,b){this.a=a +this.b=b}, +aB:function aB(a,b,c){this.a=a +this.b=b +this.d=c}, +d9(a){return $.hz.bP(a,new A.da(a))}, +aX:function aX(a,b,c){var _=this +_.a=a +_.b=b +_.c=null +_.d=c +_.f=null}, +da:function da(a){this.a=a}, +ah:function ah(a){this.b=a}, +bj:function bj(a,b,c){this.a=a +this.b=b +this.c=c}, +aw:function aw(a,b,c,d){var _=this +_.a=-1 +_.b=a +_.c=b +_.d=c +_.f=d}, +cU:function cU(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +cV:function cV(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +jc(a){var s,r,q,p,o=A.N([],t.t),n=a.length,m=n-2 +for(s=0,r=0;r=0))return A.e(a,r) +q=!(a[r]===0&&a[r+1]===0&&a[r+2]===1)}else q=!1 +if(!q)break;++r}if(r>=m)r=n +p=r +while(!0){if(p>s){q=p-1 +if(!(q>=0))return A.e(a,q) +q=a[q]===0}else q=!1 +if(!q)break;--p}if(s===0){if(p!==s)throw A.d(A.a3("byte stream contains leading data"))}else B.d.u(o,s) +r+=3}return o}, +a2:function a2(a){this.b=a}, +d1:function d1(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +ak:function ak(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=null +_.e=d +_.f=$ +_.r=!1 +_.w=e +_.x=0 +_.y=f +_.z=g}, +d_:function d_(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g}, +d0:function d0(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +f9(a,b,c){var s=new A.cs(a,c,b),r=a.f +if(r<=0||r>255)A.W(A.a3("Invalid key ring size")) +s.b=t.bG.a(A.f5(r,null,!1,t.aF)) +return s}, +d7:function d7(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g}, +cj:function cj(a,b,c,d){var _=this +_.a=a +_.c=b +_.d=c +_.e=null +_.f=d}, +aW:function aW(a,b){this.a=a +this.b=b}, +cs:function cs(a,b,c){var _=this +_.a=0 +_.b=$ +_.c=!1 +_.d=a +_.e=b +_.f=c +_.r=0}, +df:function df(){var _=this +_.a=0 +_.b=null +_.d=_.c=0}, +h_(a,b,c){var s,r,q=null,p=A.ay($.aP,new A.e5(b),t.j) +if(p==null){$.v().i(B.f,"creating new cryptor for "+a+", trackId "+b,q,q) +s=A.b(v.G.self) +r=t.S +p=new A.ak(A.br(r,r),a,b,c.G(a),B.m,s,new A.df()) +B.d.u($.aP,p)}else if(a!==p.b){s=c.G(a) +if(p.w!==B.j){$.v().i(B.f,"setParticipantId: lastError != CryptorError.kOk, reset state to kNew",q,q) +p.w=B.m}p.b=a +p.e=s +p.z.b4()}return p}, +fY(a,b,c){var s,r=A.ay($.eR,new A.e0(b),t.D) +if(r==null){$.v().i(B.f,"creating new cryptor for "+a+", dataCryptorId "+b,null,null) +s=A.b(v.G.self) +r=new A.aw(a,b,c.G(a),s) +B.d.u($.eR,r)}else if(a!==r.b){s=c.G(a) +r.b=a +r.d=s}return r}, +jt(a){var s=A.ay($.aP,new A.ep(a),t.j) +if(s!=null)s.b=null}, +ju(a){var s=A.ay($.eR,new A.eq(a),t.D) +if(s!=null)s.b=null}, +eP(){var s=0,r=A.G(t.H),q,p +var $async$eP=A.H(function(a,b){if(a===1)return A.D(b,r) +while(true)switch(s){case 0:p=$.cP() +if(p.b!=null)A.W(A.bG('Please set "hierarchicalLoggingEnabled" to true if you want to change the level on a non-root logger.')) +J.eT(p.c,B.c) +p.c=B.c +p.aQ().bN(new A.eh()) +p=$.v() +p.i(B.f,"Worker created",null,null) +q=v.G +if("RTCTransformEvent" in A.b(q.self)){p.i(B.f,"setup RTCTransformEvent event handler",null,null) +A.b(q.self).onrtctransform=A.fG(new A.ei())}A.b(q.self).onmessage=A.fG(new A.ej(new A.ek())) +return A.E(null,r)}}) +return A.F($async$eP,r)}, +e5:function e5(a){this.a=a}, +e0:function e0(a){this.a=a}, +ep:function ep(a){this.a=a}, +eq:function eq(a){this.a=a}, +eh:function eh(){}, +ei:function ei(){}, +ek:function ek(){}, +eb:function eb(a){this.a=a}, +ec:function ec(a){this.a=a}, +ed:function ed(a){this.a=a}, +ee:function ee(a){this.a=a}, +ef:function ef(a){this.a=a}, +eg:function eg(a){this.a=a}, +ej:function ej(a){this.a=a}, +jp(a){if(typeof dartPrint=="function"){dartPrint(a) +return}if(typeof console=="object"&&typeof console.log!="undefined"){console.log(a) +return}if(typeof print=="function"){print(a) +return}throw"Unable to print message: "+String(a)}, +au(a){throw A.B(A.hy(a),new Error())}, +jr(a){throw A.B(new A.bo("Field '"+a+"' has been assigned during initialization."),new Error())}, +ay(a,b,c){var s,r,q +for(s=a.length,r=0;r").a(b) +a.$flags&1&&A.X(a,"addAll",2) +for(s=b.gA(b);s.p();)a.push(s.gn())}, +V(a,b,c){var s=A.ae(a) +return new A.a9(a,s.l(c).h("1(2)").a(b),s.h("@<1>").l(c).h("a9<1,2>"))}, +T(a,b){if(!(b>=0&&b"))}, +gt(a){return A.bB(a)}, +gm(a){return a.length}, +j(a,b){A.p(b) +if(!(b>=0&&b=0&&b=p){r.d=null +return!1}r.d=q[s] +r.c=s+1 +return!0}, +$ia4:1} +J.ch.prototype={ +bU(a){var s +if(a>=-2147483648&&a<=2147483647)return a|0 +if(isFinite(a)){s=a<0?Math.ceil(a):Math.floor(a) +return s+0}throw A.d(A.bG(""+a+".toInt()"))}, +bV(a,b){var s,r,q,p,o +if(b<2||b>36)throw A.d(A.aa(b,2,36,"radix",null)) +s=a.toString(b) +r=s.length +q=r-1 +if(!(q>=0))return A.e(s,q) +if(s.charCodeAt(q)!==41)return s +p=/^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(s) +if(p==null)A.W(A.bG("Unexpected toString result: "+s)) +r=p.length +if(1>=r)return A.e(p,1) +s=p[1] +if(3>=r)return A.e(p,3) +o=+p[3] +r=p[2] +if(r!=null){s+=r +o-=r.length}return s+B.k.aB("0",o)}, +k(a){if(a===0&&1/a<0)return"-0.0" +else return""+a}, +gt(a){var s,r,q,p,o=a|0 +if(a===o)return o&536870911 +s=Math.abs(a) +r=Math.log(s)/0.6931471805599453|0 +q=Math.pow(2,r) +p=s<1?s/q:q/s +return((p*9007199254740992|0)+(p*3542243181176521|0))*599197+r*1259&536870911}, +a9(a,b){var s=a%b +if(s===0)return 0 +if(s>0)return s +return s+b}, +bw(a,b){return(a|0)===a?a/b|0:this.bx(a,b)}, +bx(a,b){var s=a/b +if(s>=-2147483648&&s<=2147483647)return s|0 +if(s>0){if(s!==1/0)return Math.floor(s)}else if(s>-1/0)return Math.ceil(s) +throw A.d(A.bG("Result of truncating division is "+A.c(s)+": "+A.c(a)+" ~/ "+b))}, +a3(a,b){var s +if(a>0)s=this.bu(a,b) +else{s=b>31?31:b +s=a>>s>>>0}return s}, +bu(a,b){return b>31?0:a>>>b}, +gq(a){return A.as(t.o)}, +$in:1, +$iaO:1} +J.bl.prototype={ +gq(a){return A.as(t.S)}, +$io:1, +$ia:1} +J.cg.prototype={ +gq(a){return A.as(t.i)}, +$io:1} +J.aT.prototype={ +bI(a,b){var s=b.length,r=a.length +if(s>r)return!1 +return b===this.aF(a,r-s)}, +ba(a,b){var s=b.length +if(s>a.length)return!1 +return b===a.substring(0,s)}, +Y(a,b,c){return a.substring(b,A.fe(b,c,a.length))}, +aF(a,b){return this.Y(a,b,null)}, +aB(a,b){var s,r +if(0>=b)return"" +if(b===1||a.length===0)return a +if(b!==b>>>0)throw A.d(B.K) +for(s=a,r="";!0;){if((b&1)===1)r=s+r +b=b>>>1 +if(b===0)break +s+=s}return r}, +bL(a,b){var s=a.length,r=b.length +if(s+r>s)s-=r +return a.lastIndexOf(b,s)}, +k(a){return a}, +gt(a){var s,r,q +for(s=a.length,r=0,q=0;q>6}r=r+((r&67108863)<<3)&536870911 +r^=r>>11 +return r+((r&16383)<<15)&536870911}, +gq(a){return A.as(t.N)}, +gm(a){return a.length}, +j(a,b){A.p(b) +if(!(b.bY(0,0)&&b.bZ(0,a.length)))throw A.d(A.cO(a,b)) +return a[b]}, +$io:1, +$ifa:1, +$ia5:1} +A.b2.prototype={ +u(a,b){var s,r,q,p,o,n,m,l=this +t.L.a(b) +s=b.length +if(s===0)return +r=l.a+s +q=l.b +p=q.length +if(p>>2 +n|=n>>>4 +n|=n>>>8 +o=((n|n>>>16)>>>0)+1}m=new Uint8Array(o) +B.e.aD(m,0,p,q) +l.b=m +q=m}B.e.aD(q,l.a,r,b) +l.a=r}, +az(){var s=this +if(s.a===0)return $.cQ() +return new Uint8Array(A.ar(J.eW(B.e.gH(s.b),s.b.byteOffset,s.a)))}, +gm(a){return this.a}, +$ihm:1} +A.bo.prototype={ +k(a){return"LateInitializationError: "+this.a}} +A.de.prototype={} +A.l.prototype={} +A.a7.prototype={ +gA(a){var s=this +return new A.aA(s,s.gm(s),A.K(s).h("aA"))}, +V(a,b,c){var s=A.K(this) +return new A.a9(this,s.l(c).h("1(a7.E)").a(b),s.h("@").l(c).h("a9<1,2>"))}} +A.aA.prototype={ +gn(){var s=this.d +return s==null?this.$ti.c.a(s):s}, +p(){var s,r=this,q=r.a,p=J.e1(q),o=p.gm(q) +if(r.b!==o)throw A.d(A.bh(q)) +s=r.c +if(s>=o){r.d=null +return!1}r.d=p.T(q,s);++r.c +return!0}, +$ia4:1} +A.a8.prototype={ +gA(a){var s=this.a +return new A.bt(s.gA(s),this.b,A.K(this).h("bt<1,2>"))}, +gm(a){var s=this.a +return s.gm(s)}} +A.bi.prototype={$il:1} +A.bt.prototype={ +p(){var s=this,r=s.b +if(r.p()){s.a=s.c.$1(r.gn()) +return!0}s.a=null +return!1}, +gn(){var s=this.a +return s==null?this.$ti.y[1].a(s):s}, +$ia4:1} +A.a9.prototype={ +gm(a){return J.aQ(this.a)}, +T(a,b){return this.b.$1(J.hi(this.a,b))}} +A.aE.prototype={ +gA(a){return new A.bH(J.ev(this.a),this.b,this.$ti.h("bH<1>"))}, +V(a,b,c){var s=this.$ti +return new A.a8(this,s.l(c).h("1(2)").a(b),s.h("@<1>").l(c).h("a8<1,2>"))}} +A.bH.prototype={ +p(){var s,r +for(s=this.a,r=this.b;s.p();)if(r.$1(s.gn()))return!0 +return!1}, +gn(){return this.a.gn()}, +$ia4:1} +A.L.prototype={} +A.bC.prototype={} +A.dj.prototype={ +C(a){var s,r,q=this,p=new RegExp(q.a).exec(a) +if(p==null)return null +s=Object.create(null) +r=q.b +if(r!==-1)s.arguments=p[r+1] +r=q.c +if(r!==-1)s.argumentsExpr=p[r+1] +r=q.d +if(r!==-1)s.expr=p[r+1] +r=q.e +if(r!==-1)s.method=p[r+1] +r=q.f +if(r!==-1)s.receiver=p[r+1] +return s}} +A.bA.prototype={ +k(a){return"Null check operator used on a null value"}} +A.ci.prototype={ +k(a){var s,r=this,q="NoSuchMethodError: method not found: '",p=r.b +if(p==null)return"NoSuchMethodError: "+r.a +s=r.c +if(s==null)return q+p+"' ("+r.a+")" +return q+p+"' on '"+s+"' ("+r.a+")"}} +A.cB.prototype={ +k(a){var s=this.a +return s.length===0?"Error":"Error: "+s}} +A.dd.prototype={ +k(a){return"Throw of null ('"+(this.a===null?"null":"undefined")+"' from JavaScript)"}} +A.bk.prototype={} +A.bU.prototype={ +k(a){var s,r=this.b +if(r!=null)return r +r=this.a +s=r!==null&&typeof r==="object"?r.stack:null +return this.b=s==null?"":s}, +$ia1:1} +A.aj.prototype={ +k(a){var s=this.constructor,r=s==null?null:s.name +return"Closure '"+A.h3(r==null?"unknown":r)+"'"}, +$iax:1, +gbX(){return this}, +$C:"$1", +$R:1, +$D:null} +A.c6.prototype={$C:"$0",$R:0} +A.c7.prototype={$C:"$2",$R:2} +A.cy.prototype={} +A.cw.prototype={ +k(a){var s=this.$static_name +if(s==null)return"Closure of unknown static method" +return"Closure '"+A.h3(s)+"'"}} +A.aR.prototype={ +F(a,b){if(b==null)return!1 +if(this===b)return!0 +if(!(b instanceof A.aR))return!1 +return this.$_target===b.$_target&&this.a===b.a}, +gt(a){return(A.em(this.a)^A.bB(this.$_target))>>>0}, +k(a){return"Closure '"+this.$_name+"' of "+("Instance of '"+A.cu(this.a)+"'")}} +A.cv.prototype={ +k(a){return"RuntimeError: "+this.a}} +A.az.prototype={ +gm(a){return this.a}, +ga8(){return new A.bq(this,this.$ti.h("bq<1>"))}, +a5(a){var s=this.b +if(s==null)return!1 +return s[a]!=null}, +j(a,b){var s,r,q,p,o=null +if(typeof b=="string"){s=this.b +if(s==null)return o +r=s[b] +q=r==null?o:r.b +return q}else if(typeof b=="number"&&(b&0x3fffffff)===b){p=this.c +if(p==null)return o +r=p[b] +q=r==null?o:r.b +return q}else return this.bK(b)}, +bK(a){var s,r,q=this.d +if(q==null)return null +s=q[J.cR(a)&1073741823] +r=this.b0(s,a) +if(r<0)return null +return s[r].b}, +v(a,b,c){var s,r,q,p,o,n,m=this,l=m.$ti +l.c.a(b) +l.y[1].a(c) +if(typeof b=="string"){s=m.b +m.aG(s==null?m.b=m.ai():s,b,c)}else if(typeof b=="number"&&(b&0x3fffffff)===b){r=m.c +m.aG(r==null?m.c=m.ai():r,b,c)}else{q=m.d +if(q==null)q=m.d=m.ai() +p=J.cR(b)&1073741823 +o=q[p] +if(o==null)q[p]=[m.aj(b,c)] +else{n=m.b0(o,b) +if(n>=0)o[n].b=c +else o.push(m.aj(b,c))}}}, +bP(a,b){var s,r,q=this,p=q.$ti +p.c.a(a) +p.h("2()").a(b) +if(q.a5(a)){s=q.j(0,a) +return s==null?p.y[1].a(s):s}r=b.$0() +q.v(0,a,r) +return r}, +bQ(a,b){var s=this.br(this.b,b) +return s}, +aq(a,b){var s,r,q=this +q.$ti.h("~(1,2)").a(b) +s=q.e +r=q.r +for(;s!=null;){b.$2(s.a,s.b) +if(r!==q.r)throw A.d(A.bh(q)) +s=s.c}}, +aG(a,b,c){var s,r=this.$ti +r.c.a(b) +r.y[1].a(c) +s=a[b] +if(s==null)a[b]=this.aj(b,c) +else s.b=c}, +br(a,b){var s +if(a==null)return null +s=a[b] +if(s==null)return null +this.by(s) +delete a[b] +return s.b}, +aR(){this.r=this.r+1&1073741823}, +aj(a,b){var s=this,r=s.$ti,q=new A.d8(r.c.a(a),r.y[1].a(b)) +if(s.e==null)s.e=s.f=q +else{r=s.f +r.toString +q.d=r +s.f=r.c=q}++s.a +s.aR() +return q}, +by(a){var s=this,r=a.d,q=a.c +if(r==null)s.e=q +else r.c=q +if(q==null)s.f=r +else q.d=r;--s.a +s.aR()}, +b0(a,b){var s,r +if(a==null)return-1 +s=a.length +for(r=0;r"]=s +delete s[""] +return s}, +$if3:1} +A.d8.prototype={} +A.bq.prototype={ +gm(a){return this.a.a}, +gA(a){var s=this.a +return new A.bp(s,s.r,s.e,this.$ti.h("bp<1>"))}} +A.bp.prototype={ +gn(){return this.d}, +p(){var s,r=this,q=r.a +if(r.b!==q.r)throw A.d(A.bh(q)) +s=r.c +if(s==null){r.d=null +return!1}else{r.d=s.a +r.c=s.c +return!0}}, +$ia4:1} +A.e6.prototype={ +$1(a){return this.a(a)}, +$S:13} +A.e7.prototype={ +$2(a,b){return this.a(a,b)}, +$S:14} +A.e8.prototype={ +$1(a){return this.a(A.h(a))}, +$S:15} +A.an.prototype={ +gq(a){return B.P}, +a4(a,b,c){return c==null?new Uint8Array(a,b):new Uint8Array(a,b,c)}, +aV(a){return this.a4(a,0,null)}, +$io:1, +$ian:1, +$ibg:1} +A.aY.prototype={$iaY:1} +A.bx.prototype={ +gH(a){if(((a.$flags|0)&2)!==0)return new A.cL(a.buffer) +else return a.buffer}, +bo(a,b,c,d){var s=A.aa(b,0,c,d,null) +throw A.d(s)}, +aL(a,b,c,d){if(b>>>0!==b||b>c)this.bo(a,b,c,d)}} +A.cL.prototype={ +a4(a,b,c){var s=A.I(this.a,b,c) +s.$flags=3 +return s}, +aV(a){return this.a4(0,0,null)}, +$ibg:1} +A.bu.prototype={ +gq(a){return B.Q}, +bt(a,b,c){return a.setInt8(b,c)}, +$io:1, +$iez:1} +A.C.prototype={ +gm(a){return a.length}, +$iP:1} +A.bv.prototype={ +j(a,b){A.p(b) +A.aJ(b,a,a.length) +return a[b]}, +$il:1, +$if:1, +$ir:1} +A.bw.prototype={ +aD(a,b,c,d){var s,r,q,p +t.e.a(d) +a.$flags&2&&A.X(a,5) +s=a.length +this.aL(a,b,s,"start") +this.aL(a,c,s,"end") +if(b>c)A.W(A.aa(b,0,c,null,null)) +r=c-b +q=d.length +if(q").b(a))s.aK(a) +else s.aM(a)}}, +ao(a,b){var s=this.a +if(this.b)s.a_(new A.O(a,b)) +else s.ad(new A.O(a,b))}} +A.dT.prototype={ +$1(a){return this.a.$2(0,a)}, +$S:3} +A.dU.prototype={ +$2(a,b){this.a.$2(1,new A.bk(a,t.l.a(b)))}, +$S:17} +A.dX.prototype={ +$2(a,b){this.a(A.p(a),b)}, +$S:18} +A.O.prototype={ +k(a){return A.c(this.a)}, +$iw:1, +gO(){return this.b}} +A.b1.prototype={} +A.ao.prototype={ +ak(){}, +al(){}, +sa0(a){this.ch=this.$ti.h("ao<1>?").a(a)}, +sam(a){this.CW=this.$ti.h("ao<1>?").a(a)}} +A.aF.prototype={ +gah(){return this.c<4}, +bv(a,b,c,d){var s,r,q,p,o,n,m=this,l=A.K(m) +l.h("~(1)?").a(a) +t.Y.a(c) +if((m.c&4)!==0){l=new A.b3($.t,l.h("b3<1>")) +A.h2(l.gbp()) +if(c!=null)l.c=t.M.a(c) +return l}s=$.t +r=d?1:0 +q=b!=null?32:0 +t.h.l(l.c).h("1(2)").a(a) +A.i_(s,b) +p=c==null?A.j6():c +t.M.a(p) +l=l.h("ao<1>") +o=new A.ao(m,a,s,r|q,l) +o.CW=o +o.ch=o +l.a(o) +o.ay=m.c&1 +n=m.e +m.e=o +o.sa0(null) +o.sam(n) +if(n==null)m.d=o +else n.sa0(o) +if(m.d==m.e)A.fR(m.a) +return o}, +aa(){if((this.c&4)!==0)return new A.aD("Cannot add new events after calling close") +return new A.aD("Cannot add new events while doing an addStream")}, +bm(a){var s,r,q,p,o,n=this,m=A.K(n) +m.h("~(ad<1>)").a(a) +s=n.c +if((s&2)!==0)throw A.d(A.dg(u.o)) +r=n.d +if(r==null)return +q=s&1 +n.c=s^3 +for(m=m.h("ao<1>");r!=null;){s=r.ay +if((s&1)===q){r.ay=s|2 +a.$1(r) +s=r.ay^=1 +p=r.ch +if((s&4)!==0){m.a(r) +o=r.CW +if(o==null)n.d=p +else o.sa0(p) +if(p==null)n.e=o +else p.sam(o) +r.sam(r) +r.sa0(r)}r.ay&=4294967293 +r=p}else r=r.ch}n.c&=4294967293 +if(n.d==null)n.aJ()}, +aJ(){if((this.c&4)!==0)if(null.gc_())null.ac(null) +A.fR(this.b)}, +$ifh:1, +$ifv:1, +$iap:1} +A.bV.prototype={ +gah(){return A.aF.prototype.gah.call(this)&&(this.c&2)===0}, +aa(){if((this.c&2)!==0)return new A.aD(u.o) +return this.bc()}, +a2(a){var s,r=this +r.$ti.c.a(a) +s=r.d +if(s==null)return +if(s===r.e){r.c|=2 +s.aH(a) +r.c&=4294967293 +if(r.d==null)r.aJ() +return}r.bm(new A.dL(r,a))}} +A.dL.prototype={ +$1(a){this.a.$ti.h("ad<1>").a(a).aH(this.b)}, +$S(){return this.a.$ti.h("~(ad<1>)")}} +A.cE.prototype={ +ao(a,b){var s=this.a +if((s.a&30)!==0)throw A.d(A.dg("Future already completed")) +s.ad(A.iB(a,b))}, +aX(a){return this.ao(a,null)}} +A.bI.prototype={ +an(a){var s,r=this.$ti +r.h("1/?").a(a) +s=this.a +if((s.a&30)!==0)throw A.d(A.dg("Future already completed")) +s.ac(r.h("1/").a(a))}} +A.aG.prototype={ +bO(a){if((this.c&15)!==6)return!0 +return this.b.b.aw(t.c1.a(this.d),a.a,t.y,t.K)}, +bJ(a){var s,r=this,q=r.e,p=null,o=t.z,n=t.K,m=a.a,l=r.b.b +if(t.Q.b(q))p=l.bS(q,m,a.b,o,n,t.l) +else p=l.aw(t.v.a(q),m,o,n) +try{o=r.$ti.h("2/").a(p) +return o}catch(s){if(t.b7.b(A.M(s))){if((r.c&1)!==0)throw A.d(A.ai("The error handler of Future.then must return a value of the returned future's type","onError")) +throw A.d(A.ai("The error handler of Future.catchError must return a value of the future's type","onError"))}else throw s}}} +A.x.prototype={ +b6(a,b,c){var s,r,q=this.$ti +q.l(c).h("1/(2)").a(a) +s=$.t +if(s===B.h){if(!t.Q.b(b)&&!t.v.b(b))throw A.d(A.ex(b,"onError",u.c))}else{c.h("@<0/>").l(q.c).h("1(2)").a(a) +b=A.iS(b,s)}r=new A.x(s,c.h("x<0>")) +this.ab(new A.aG(r,3,a,b,q.h("@<1>").l(c).h("aG<1,2>"))) +return r}, +aU(a,b,c){var s,r=this.$ti +r.l(c).h("1/(2)").a(a) +s=new A.x($.t,c.h("x<0>")) +this.ab(new A.aG(s,19,a,b,r.h("@<1>").l(c).h("aG<1,2>"))) +return s}, +bs(a){this.a=this.a&1|16 +this.c=a}, +Z(a){this.a=a.a&30|this.a&1 +this.c=a.c}, +ab(a){var s,r=this,q=r.a +if(q<=3){a.a=t.F.a(r.c) +r.c=a}else{if((q&4)!==0){s=t._.a(r.c) +if((s.a&24)===0){s.ab(a) +return}r.Z(s)}A.b7(null,null,r.b,t.M.a(new A.dx(r,a)))}}, +aS(a){var s,r,q,p,o,n,m=this,l={} +l.a=a +if(a==null)return +s=m.a +if(s<=3){r=t.F.a(m.c) +m.c=a +if(r!=null){q=a.a +for(p=a;q!=null;p=q,q=o)o=q.a +p.a=r}}else{if((s&4)!==0){n=t._.a(m.c) +if((n.a&24)===0){n.aS(a) +return}m.Z(n)}l.a=m.a1(a) +A.b7(null,null,m.b,t.M.a(new A.dB(l,m)))}}, +P(){var s=t.F.a(this.c) +this.c=null +return this.a1(s)}, +a1(a){var s,r,q +for(s=a,r=null;s!=null;r=s,s=q){q=s.a +s.a=r}return r}, +aM(a){var s,r=this +r.$ti.c.a(a) +s=r.P() +r.a=8 +r.c=a +A.aH(r,s)}, +bk(a){var s,r,q=this +if((a.a&16)!==0){s=q.b===a.b +s=!(s||s)}else s=!1 +if(s)return +r=q.P() +q.Z(a) +A.aH(q,r)}, +a_(a){var s=this.P() +this.bs(a) +A.aH(this,s)}, +bj(a,b){A.J(a) +t.l.a(b) +this.a_(new A.O(a,b))}, +ac(a){var s=this.$ti +s.h("1/").a(a) +if(s.h("a_<1>").b(a)){this.aK(a) +return}this.bg(a)}, +bg(a){var s=this +s.$ti.c.a(a) +s.a^=2 +A.b7(null,null,s.b,t.M.a(new A.dz(s,a)))}, +aK(a){A.eD(this.$ti.h("a_<1>").a(a),this,!1) +return}, +ad(a){this.a^=2 +A.b7(null,null,this.b,t.M.a(new A.dy(this,a)))}, +$ia_:1} +A.dx.prototype={ +$0(){A.aH(this.a,this.b)}, +$S:0} +A.dB.prototype={ +$0(){A.aH(this.b,this.a.a)}, +$S:0} +A.dA.prototype={ +$0(){A.eD(this.a.a,this.b,!0)}, +$S:0} +A.dz.prototype={ +$0(){this.a.aM(this.b)}, +$S:0} +A.dy.prototype={ +$0(){this.a.a_(this.b)}, +$S:0} +A.dE.prototype={ +$0(){var s,r,q,p,o,n,m,l,k=this,j=null +try{q=k.a.a +j=q.b.b.bR(t.bd.a(q.d),t.z)}catch(p){s=A.M(p) +r=A.aM(p) +if(k.c&&t.n.a(k.b.a.c).a===s){q=k.a +q.c=t.n.a(k.b.a.c)}else{q=s +o=r +if(o==null)o=A.ey(q) +n=k.a +n.c=new A.O(q,o) +q=n}q.b=!0 +return}if(j instanceof A.x&&(j.a&24)!==0){if((j.a&16)!==0){q=k.a +q.c=t.n.a(j.c) +q.b=!0}return}if(j instanceof A.x){m=k.b.a +l=new A.x(m.b,m.$ti) +j.b6(new A.dF(l,m),new A.dG(l),t.H) +q=k.a +q.c=l +q.b=!1}}, +$S:0} +A.dF.prototype={ +$1(a){this.a.bk(this.b)}, +$S:5} +A.dG.prototype={ +$2(a,b){A.J(a) +t.l.a(b) +this.a.a_(new A.O(a,b))}, +$S:19} +A.dD.prototype={ +$0(){var s,r,q,p,o,n,m,l +try{q=this.a +p=q.a +o=p.$ti +n=o.c +m=n.a(this.b) +q.c=p.b.b.aw(o.h("2/(1)").a(p.d),m,o.h("2/"),n)}catch(l){s=A.M(l) +r=A.aM(l) +q=s +p=r +if(p==null)p=A.ey(q) +o=this.a +o.c=new A.O(q,p) +o.b=!0}}, +$S:0} +A.dC.prototype={ +$0(){var s,r,q,p,o,n,m,l=this +try{s=t.n.a(l.a.a.c) +p=l.b +if(p.a.bO(s)&&p.a.e!=null){p.c=p.a.bJ(s) +p.b=!1}}catch(o){r=A.M(o) +q=A.aM(o) +p=t.n.a(l.a.a.c) +if(p.a===r){n=l.b +n.c=p +p=n}else{p=r +n=q +if(n==null)n=A.ey(p) +m=l.b +m.c=new A.O(p,n) +p=m}p.b=!0}}, +$S:0} +A.cD.prototype={} +A.b_.prototype={ +gm(a){var s={},r=new A.x($.t,t.aQ) +s.a=0 +this.b1(new A.dh(s,this),!0,new A.di(s,r),r.gbi()) +return r}} +A.dh.prototype={ +$1(a){this.b.$ti.c.a(a);++this.a.a}, +$S(){return this.b.$ti.h("~(1)")}} +A.di.prototype={ +$0(){var s=this.b,r=s.$ti,q=r.h("1/").a(this.a.a),p=s.P() +r.c.a(q) +s.a=8 +s.c=q +A.aH(s,p)}, +$S:0} +A.bJ.prototype={ +gt(a){return(A.bB(this.a)^892482866)>>>0}, +F(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.b1&&b.a===this.a}} +A.bK.prototype={ +ak(){A.K(this.w).h("b0<1>").a(this)}, +al(){A.K(this.w).h("b0<1>").a(this)}} +A.ad.prototype={ +aH(a){var s,r=this,q=A.K(r) +q.c.a(a) +s=r.e +if((s&8)!==0)return +if(s<64)r.a2(a) +else r.bf(new A.bL(a,q.h("bL<1>")))}, +ak(){}, +al(){}, +bf(a){var s,r,q=this,p=q.r +if(p==null)p=q.r=new A.cH(A.K(q).h("cH<1>")) +s=p.c +if(s==null)p.b=p.c=a +else p.c=s.a=a +r=q.e +if((r&128)===0){r|=128 +q.e=r +if(r<256)p.aC(q)}}, +a2(a){var s,r=this,q=A.K(r).c +q.a(a) +s=r.e +r.e=s|64 +r.d.bT(r.a,a,q) +r.e&=4294967231 +r.bh((s&4)!==0)}, +bh(a){var s,r,q=this,p=q.e +if((p&128)!==0&&q.r.c==null){p=q.e=p&4294967167 +s=!1 +if((p&4)!==0)if(p<256){s=q.r +s=s==null?null:s.c==null +s=s!==!1}if(s){p&=4294967291 +q.e=p}}for(;!0;a=r){if((p&8)!==0){q.r=null +return}r=(p&4)!==0 +if(a===r)break +q.e=p^64 +if(r)q.ak() +else q.al() +p=q.e&=4294967231}if((p&128)!==0&&p<256)q.r.aC(q)}, +$ib0:1, +$iap:1} +A.b5.prototype={ +b1(a,b,c,d){var s=this.$ti +s.h("~(1)?").a(a) +t.Y.a(c) +return this.a.bv(s.h("~(1)?").a(a),d,c,b===!0)}, +bN(a){return this.b1(a,null,null,null)}} +A.bM.prototype={} +A.bL.prototype={} +A.cH.prototype={ +aC(a){var s,r=this +r.$ti.h("ap<1>").a(a) +s=r.a +if(s===1)return +if(s>=1){r.a=1 +return}A.h2(new A.dJ(r,a)) +r.a=1}} +A.dJ.prototype={ +$0(){var s,r,q,p=this.a,o=p.a +p.a=0 +if(o===3)return +s=p.$ti.h("ap<1>").a(this.b) +r=p.b +q=r.a +p.b=q +if(q==null)p.c=null +A.K(r).h("ap<1>").a(s).a2(r.b)}, +$S:0} +A.b3.prototype={ +bq(){var s,r=this,q=r.a-1 +if(q===0){r.a=-1 +s=r.c +if(s!=null){r.c=null +r.b.b5(s)}}else r.a=q}, +$ib0:1} +A.cJ.prototype={} +A.c_.prototype={$ifm:1} +A.dW.prototype={ +$0(){A.hu(this.a,this.b)}, +$S:0} +A.cI.prototype={ +b5(a){var s,r,q +t.M.a(a) +try{if(B.h===$.t){a.$0() +return}A.fO(null,null,this,a,t.H)}catch(q){s=A.M(q) +r=A.aM(q) +A.cN(A.J(s),t.l.a(r))}}, +bT(a,b,c){var s,r,q +c.h("~(0)").a(a) +c.a(b) +try{if(B.h===$.t){a.$1(b) +return}A.fP(null,null,this,a,b,t.H,c)}catch(q){s=A.M(q) +r=A.aM(q) +A.cN(A.J(s),t.l.a(r))}}, +aW(a){return new A.dK(this,t.M.a(a))}, +j(a,b){return null}, +bR(a,b){b.h("0()").a(a) +if($.t===B.h)return a.$0() +return A.fO(null,null,this,a,b)}, +aw(a,b,c,d){c.h("@<0>").l(d).h("1(2)").a(a) +d.a(b) +if($.t===B.h)return a.$1(b) +return A.fP(null,null,this,a,b,c,d)}, +bS(a,b,c,d,e,f){d.h("@<0>").l(e).l(f).h("1(2,3)").a(a) +e.a(b) +f.a(c) +if($.t===B.h)return a.$2(b,c) +return A.iT(null,null,this,a,b,c,d,e,f)}, +av(a,b,c,d){return b.h("@<0>").l(c).l(d).h("1(2,3)").a(a)}} +A.dK.prototype={ +$0(){return this.a.b5(this.b)}, +$S:0} +A.bN.prototype={ +gm(a){return this.a}, +ga8(){return new A.bO(this,this.$ti.h("bO<1>"))}, +a5(a){var s,r +if(typeof a=="string"&&a!=="__proto__"){s=this.b +return s==null?!1:s[a]!=null}else if(typeof a=="number"&&(a&1073741823)===a){r=this.c +return r==null?!1:r[a]!=null}else return this.bl(a)}, +bl(a){var s=this.d +if(s==null)return!1 +return this.ag(this.aP(s,a),a)>=0}, +j(a,b){var s,r,q +if(typeof b=="string"&&b!=="__proto__"){s=this.b +r=s==null?null:A.fp(s,b) +return r}else if(typeof b=="number"&&(b&1073741823)===b){q=this.c +r=q==null?null:A.fp(q,b) +return r}else return this.bn(b)}, +bn(a){var s,r,q=this.d +if(q==null)return null +s=this.aP(q,a) +r=this.ag(s,a) +return r<0?null:s[r+1]}, +v(a,b,c){var s,r,q,p,o,n,m=this,l=m.$ti +l.c.a(b) +l.y[1].a(c) +if(typeof b=="string"&&b!=="__proto__"){s=m.b +m.aI(s==null?m.b=A.eE():s,b,c)}else if(typeof b=="number"&&(b&1073741823)===b){r=m.c +m.aI(r==null?m.c=A.eE():r,b,c)}else{q=m.d +if(q==null)q=m.d=A.eE() +p=A.em(b)&1073741823 +o=q[p] +if(o==null){A.eF(q,p,[b,c]);++m.a +m.e=null}else{n=m.ag(o,b) +if(n>=0)o[n+1]=c +else{o.push(b,c);++m.a +m.e=null}}}}, +aq(a,b){var s,r,q,p,o,n,m=this,l=m.$ti +l.h("~(1,2)").a(b) +s=m.aN() +for(r=s.length,q=l.c,l=l.y[1],p=0;p"))}} +A.bP.prototype={ +gn(){var s=this.d +return s==null?this.$ti.c.a(s):s}, +p(){var s=this,r=s.b,q=s.c,p=s.a +if(r!==p.e)throw A.d(A.bh(p)) +else if(q>=r.length){s.d=null +return!1}else{s.d=r[q] +s.c=q+1 +return!0}}, +$ia4:1} +A.u.prototype={ +gA(a){return new A.aA(a,a.length,A.bb(a).h("aA"))}, +T(a,b){if(!(b>=0&&b").l(c).h("a9<1,2>"))}, +k(a){return A.d5(a,"[","]")}} +A.aC.prototype={ +aq(a,b){var s,r,q,p=A.K(this) +p.h("~(1,2)").a(b) +for(s=this.ga8(),s=s.gA(s),p=p.y[1];s.p();){r=s.gn() +q=this.j(0,r) +b.$2(r,q==null?p.a(q):q)}}, +gm(a){var s=this.ga8() +return s.gm(s)}, +k(a){return A.f7(this)}, +$ibs:1} +A.db.prototype={ +$2(a,b){var s,r=this.a +if(!r.a)this.b.a+=", " +r.a=!1 +r=this.b +s=A.c(a) +r.a=(r.a+=s)+": " +s=A.c(b) +r.a+=s}, +$S:20} +A.c5.prototype={} +A.cT.prototype={ +I(a){var s +t.L.a(a) +s=a.length +if(s===0)return"" +s=new A.du("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").bE(a,0,s,!0) +s.toString +return A.hP(s)}} +A.du.prototype={ +bE(a,b,c,d){var s,r,q,p,o +t.L.a(a) +s=this.a +r=(s&3)+(c-b) +q=B.i.bw(r,3) +p=q*4 +if(r-q*3>0)p+=4 +o=new Uint8Array(p) +this.a=A.hZ(this.b,a,b,c,!0,o,0,s) +if(p>0)return o +return null}} +A.cS.prototype={ +I(a){var s,r,q,p=A.fe(0,null,a.length) +if(0===p)return new Uint8Array(0) +s=new A.dt() +r=s.bA(a,0,p) +r.toString +q=s.a +if(q<-1)A.W(A.aS("Missing padding character",a,p)) +if(q>0)A.W(A.aS("Invalid length, must be multiple of four",a,p)) +s.a=-1 +return r}} +A.dt.prototype={ +bA(a,b,c){var s,r=this,q=r.a +if(q<0){r.a=A.fn(a,b,c,q) +return null}if(b===c)return new Uint8Array(0) +s=A.hW(a,b,c,q) +r.a=A.hY(a,b,c,s,0,r.a) +return s}} +A.av.prototype={} +A.c9.prototype={} +A.ca.prototype={ +F(a,b){if(b==null)return!1 +return b instanceof A.ca&&this.a===b.a&&this.b===b.b&&this.c===b.c}, +gt(a){return A.hC(this.a,this.b)}, +k(a){var s=this,r=A.hs(A.hK(s)),q=A.cb(A.hI(s)),p=A.cb(A.hE(s)),o=A.cb(A.hF(s)),n=A.cb(A.hH(s)),m=A.cb(A.hJ(s)),l=A.f1(A.hG(s)),k=s.b,j=k===0?"":A.f1(k) +k=r+"-"+q +if(s.c)return k+"-"+p+" "+o+":"+n+":"+m+"."+l+j+"Z" +else return k+"-"+p+" "+o+":"+n+":"+m+"."+l+j}} +A.dv.prototype={ +k(a){return this.aO()}} +A.w.prototype={ +gO(){return A.hD(this)}} +A.c3.prototype={ +k(a){var s=this.a +if(s!=null)return"Assertion failed: "+A.cW(s) +return"Assertion failed"}} +A.ab.prototype={} +A.Z.prototype={ +gaf(){return"Invalid argument"+(!this.a?"(s)":"")}, +gae(){return""}, +k(a){var s=this,r=s.c,q=r==null?"":" ("+r+")",p=s.d,o=p==null?"":": "+A.c(p),n=s.gaf()+q+o +if(!s.a)return n +return n+s.gae()+": "+A.cW(s.gar())}, +gar(){return this.b}} +A.aZ.prototype={ +gar(){return A.fD(this.b)}, +gaf(){return"RangeError"}, +gae(){var s,r=this.e,q=this.f +if(r==null)s=q!=null?": Not less than or equal to "+A.c(q):"" +else if(q==null)s=": Not greater than or equal to "+A.c(r) +else if(q>r)s=": Not in inclusive range "+A.c(r)+".."+A.c(q) +else s=qf.length +if(e)g=null +if(g==null){if(f.length>78)f=B.k.Y(f,0,75)+"..." +return h+"\n"+f}for(s=f.length,r=1,q=0,p=!1,o=0;o1?h+(" (at line "+r+", character "+(g-q+1)+")\n"):h+(" (at character "+(g+1)+")\n") +for(o=g;o=0))return A.e(f,o) +n=f.charCodeAt(o) +if(n===10||n===13){s=o +break}}m="" +if(s-q>78){l="..." +if(g-q<75){k=q+75 +j=q}else{if(s-g<75){j=s-75 +k=s +l=""}else{j=g-36 +k=g+36}m="..."}}else{k=s +j=q +l=""}return h+m+B.k.Y(f,j,k)+l+"\n"+B.k.aB(" ",g-j+m.length)+"^\n"}} +A.f.prototype={ +V(a,b,c){var s=A.K(this) +return A.hA(this,s.l(c).h("1(f.E)").a(b),s.h("f.E"),c)}, +gm(a){var s,r=this.gA(this) +for(s=0;r.p();)++s +return s}, +T(a,b){var s,r +A.fd(b,"index") +s=this.gA(this) +for(r=b;s.p();){if(r===0)return s.gn();--r}throw A.d(A.f2(b,b-r,this,"index"))}, +k(a){return A.hv(this,"(",")")}} +A.y.prototype={ +gt(a){return A.k.prototype.gt.call(this,0)}, +k(a){return"null"}} +A.k.prototype={$ik:1, +F(a,b){return this===b}, +gt(a){return A.bB(this)}, +k(a){return"Instance of '"+A.cu(this)+"'"}, +gq(a){return A.je(this)}, +toString(){return this.k(this)}} +A.cK.prototype={ +k(a){return""}, +$ia1:1} +A.cx.prototype={ +gm(a){return this.a.length}, +k(a){var s=this.a +return s.charCodeAt(0)==0?s:s}} +A.ea.prototype={ +$1(a){var s,r,q,p +if(A.fN(a))return a +s=this.a +if(s.a5(a))return s.j(0,a) +if(t.f.b(a)){r={} +s.v(0,a,r) +for(s=a.ga8(),s=s.gA(s);s.p();){q=s.gn() +r[q]=this.$1(a.j(0,q))}return r}else if(t.R.b(a)){p=[] +s.v(0,a,p) +B.d.bz(p,J.hj(a,this,t.z)) +return p}else return a}, +$S:8} +A.en.prototype={ +$1(a){return this.a.an(this.b.h("0/?").a(a))}, +$S:3} +A.eo.prototype={ +$1(a){if(a==null)return this.a.aX(new A.dc(a===undefined)) +return this.a.aX(a)}, +$S:3} +A.dZ.prototype={ +$1(a){var s,r,q,p,o,n,m,l,k,j,i,h,g +if(A.fM(a))return a +s=this.a +a.toString +if(s.a5(a))return s.j(0,a) +if(a instanceof Date){r=a.getTime() +if(r<-864e13||r>864e13)A.W(A.aa(r,-864e13,864e13,"millisecondsSinceEpoch",null)) +A.dY(!0,"isUtc",t.y) +return new A.ca(r,0,!0)}if(a instanceof RegExp)throw A.d(A.ai("structured clone of RegExp",null)) +if(typeof Promise!="undefined"&&a instanceof Promise)return A.ag(a,t.X) +q=Object.getPrototypeOf(a) +if(q===Object.prototype||q===null){p=t.X +o=A.br(p,p) +s.v(0,a,o) +n=Object.keys(a) +m=[] +for(s=n.length,l=0;l4294967296)throw A.d(new A.aZ(k,k,!1,k,k,"max must be in range 0 < max \u2264 2^32, was "+a)) +if(a>255)if(a>65535)s=a>16777215?4:3 +else s=2 +else s=1 +r=this.a +r.$flags&2&&A.X(r,11) +r.setUint32(0,0,!1) +q=4-s +p=A.p(Math.pow(256,s)) +for(o=a-1,n=(a&o)>>>0===0;!0;){crypto.getRandomValues(J.eW(B.r.gH(r),q,s)) +m=r.getUint32(0,!1) +if(n)return(m&o)>>>0 +l=m%a +if(m-l+a=r.gbM().b){if(q>=2000){A.fg() +a.k(0)}q=r.gb_() +Date.now() +$.f6=$.f6+1 +s=new A.aB(a,b,q) +if(r.b==null)r.aT(s) +else $.cP().aT(s)}}, +aQ(){if(this.b==null){var s=this.f +if(s==null)s=this.f=new A.bV(null,null,t.W) +return new A.b1(s,A.K(s).h("b1<1>"))}else return $.cP().aQ()}, +aT(a){var s=this.f +if(s!=null){A.K(s).c.a(a) +if(!s.gah())A.W(s.aa()) +s.a2(a)}return null}} +A.da.prototype={ +$0(){var s,r,q,p=this.a +if(B.k.ba(p,"."))A.W(A.ai("name shouldn't start with a '.'",null)) +if(B.k.bI(p,"."))A.W(A.ai("name shouldn't end with a '.'",null)) +s=B.k.bL(p,".") +if(s===-1)r=p!==""?A.d9(""):null +else{r=A.d9(B.k.Y(p,0,s)) +p=B.k.aF(p,s+1)}q=new A.aX(p,r,A.br(t.N,t.I)) +if(r==null)q.c=B.f +else r.d.v(0,p,q) +return q}, +$S:21} +A.ah.prototype={ +aO(){return"Algorithm."+this.b}} +A.bj.prototype={} +A.aw.prototype={ +a7(a,b){return this.bH(a,b)}, +bH(a1,a2){var s=0,r=A.G(t.a5),q,p=2,o=[],n=this,m,l,k,j,i,h,g,f,e,d,c,b,a,a0 +var $async$a7=A.H(function(a3,a4){if(a3===1){o.push(a4) +s=p}while(true)switch(s){case 0:c=$.v() +b=""+a2.length +c.i(B.l,"encodeFunction: buffer "+b,null,null) +h=n.d.K(0) +m=h==null?null:h.b +l=0 +if(m==null){c.i(B.c,"encodeFunction: no secretKey for index "+A.c(l)+", cannot encrypt",null,null) +q=null +s=1 +break}h=Date.now() +g=new DataView(new ArrayBuffer(12)) +f=n.a +if(f===-1)f=n.a=$.es().au(65535) +g.setUint32(0,($.es().au(Math.max(0,4294967295))&-1)>>>0,!1) +g.setUint32(4,h,!1) +g.setUint32(8,h-B.i.a9(f,65535),!1) +n.a=f+1 +k=J.et(B.r.gH(g)) +e=new DataView(new ArrayBuffer(2)) +e.setInt8(0,12) +e.setInt8(1,A.p(l)) +p=4 +h=A.b(A.b(n.f.crypto).subtle) +f=A.i(A.j(["name","AES-GCM","iv",k],t.N,t.K)) +if(f==null)f=A.J(f) +a0=t.a +s=7 +return A.m(A.ag(A.b(h.encrypt(f,m,a2)),t.X),$async$a7) +case 7:j=a0.a(a4) +c.i(B.b,"encodeFunction: encrypted buffer: "+b+", cipherText: "+A.I(j,0,null).length,null,null) +b=A.I(j,0,null) +q=new A.bj(b,l,k) +s=1 +break +p=2 +s=6 +break +case 4:p=3 +a=o.pop() +i=A.M(a) +$.v().i(B.c,"encodeFunction encrypt: e "+J.T(i),null,null) +throw a +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.E(q,r) +case 2:return A.D(o.at(-1),r)}}) +return A.F($async$a7,r)}, +S(a,b){return this.bD(a,b)}, +bD(a4,a5){var s=0,r=A.G(t.E),q,p=2,o=[],n=this,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3 +var $async$S=A.H(function(a6,a7){if(a6===1){o.push(a7) +s=p}while(true)switch(s){case 0:a1={} +a1.a=0 +e=$.v() +d=a5.a +e.i(B.l,"decodeFunction: data packet lenght "+d.length,null,null) +a1.b=a1.c=null +m=0 +p=4 +c={} +b=a5.c +l=b.length +k=a5.b +j=b +i=d +a=a1.b=n.d.K(m) +e.i(B.b,"decodeFunction: start decrypting data packet length "+J.aQ(i)+", ivLength "+A.c(l)+", keyIndex "+A.c(k)+", iv "+A.c(j),null,null) +if(a==null||!n.d.c){q=null +s=1 +break}c.a=a +h=new A.cU(a1,c,n,j,i,m) +g=new A.cV(a1,c,n,h) +p=8 +s=11 +return A.m(h.$0(),$async$S) +case 11:p=4 +s=10 +break +case 8:p=7 +a2=o.pop() +f=A.M(a2) +e=$.v() +e.i(B.b,"decodeFunction: kInternalError catch "+A.c(f),null,null) +s=12 +return A.m(g.$0(),$async$S) +case 12:s=10 +break +case 7:s=4 +break +case 10:d=a1.c +if(d==null){a1=A.a3(u.r) +throw A.d(a1)}c=n.d +c.r=0 +c.c=!0 +e.i(B.b,u.f+J.aQ(i)+", decrypted: "+A.I(d,0,null).length,null,null) +a1=a1.c +a1.toString +a1=A.I(a1,0,null) +q=a1 +s=1 +break +p=2 +s=6 +break +case 4:p=3 +a3=o.pop() +n.d.aY() +throw a3 +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.E(q,r) +case 2:return A.D(o.at(-1),r)}}) +return A.F($async$S,r)}} +A.cU.prototype={ +$0(){var s=0,r=A.G(t.H),q=this,p,o,n,m,l,k,j +var $async$$0=A.H(function(a,b){if(a===1)return A.D(b,r) +while(true)switch(s){case 0:m=q.c +l=A.b(A.b(m.f.crypto).subtle) +k=A.i(A.j(["name","AES-GCM","iv",q.d],t.N,t.K)) +if(k==null)k=A.J(k) +p=q.b +j=t.a +s=2 +return A.m(A.ag(A.b(l.decrypt(k,p.a.b,q.e)),t.X),$async$$0) +case 2:o=j.a(b) +k=q.a +k.c=o +l=$.v() +l.i(B.b,u.D+A.I(o,0,null).length,null,null) +n=k.c +if(n==null)throw A.d(A.a3("[decryptFrameInternal] could not decrypt")) +l.i(B.b,u.D+A.I(n,0,null).length,null,null) +s=p.a!==k.b?3:4 +break +case 3:l.i(B.l,u.E,null,null) +s=5 +return A.m(m.d.L(p.a,q.f),$async$$0) +case 5:case 4:return A.E(null,r)}}) +return A.F($async$$0,r)}, +$S:2} +A.cV.prototype={ +$0(){var s=0,r=A.G(t.H),q=this,p,o,n,m,l,k,j,i,h +var $async$$0=A.H(function(a,b){if(a===1)return A.D(b,r) +while(true)switch(s){case 0:n=q.a +m=n.a +l=q.c +k=l.d +j=k.d +i=j.c +if(m>=i||i<=0)throw A.d(A.a3(u.u)) +m=q.b +s=2 +return A.m(k.M(m.a.a,j.b),$async$$0) +case 2:p=b +s=3 +return A.m(l.d.N(m.a.a,J.eu(p)),$async$$0) +case 3:o=b +l=l.d +h=m +s=4 +return A.m(l.J(o,l.d.b),$async$$0) +case 4:h.a=b;++n.a +s=5 +return A.m(q.d.$0(),$async$$0) +case 5:return A.E(null,r)}}) +return A.F($async$$0,r)}, +$S:2} +A.a2.prototype={ +aO(){return"CryptorError."+this.b}} +A.d1.prototype={} +A.ak.prototype={ +gaZ(){if(this.b==null)return!1 +return this.r}, +X(a,b,c,d,e,f){return this.b9(a,b,c,d,e,f)}, +b8(a,b,c,d,e){return this.X(null,a,b,c,d,e)}, +b9(a,b,c,d,e,f){var s=0,r=A.G(t.H),q=this,p,o,n,m,l,k +var $async$X=A.H(function(g,h){if(g===1)return A.D(h,r) +while(true)switch(s){case 0:k=$.v() +k.i(B.f,"setupTransform "+c+" kind "+b,null,null) +q.f=b +if(a!=null){k.i(B.f,"setting codec on cryptor to "+a,null,null) +q.d=a}k=v.G.TransformStream +n=c==="encode"?A.fH(q.gbF()):A.fH(q.gbB()) +m=t.N +p=A.b(new k(A.b(A.i(A.j(["transform",n],m,t.g))))) +try{A.b(A.b(d.pipeThrough(p)).pipeTo(f))}catch(j){o=A.M(j) +$.v().i(B.c,"e "+J.T(o),null,null) +if(q.w!==B.q){q.w=B.q +q.y.postMessage(A.i(A.j(["type","cryptorState","msgType","event","participantId",q.b,"state","internalError","error","Internal error: "+J.T(o)],m,t.T)))}}q.c=e +return A.E(null,r)}}) +return A.F($async$X,r)}, +aA(a,b){var s,r,q,p,o,n=null,m=t.a.a(a.data),l="",k=A.I(m,0,n) +if("type" in a){l=A.h(a.type) +$.v().i(B.b,"frameType: "+l,n,n)}if(b!=null&&b.toLowerCase()==="h264"){t.p.a(k) +s=A.jc(k) +for(m=s.length,r=k.length,q=0;qa1){a2=B.e.B(a7.d,a7.d.length-a0-1,a7.d.length-1) +c.i(B.b,"magicBytesBuffer "+A.c(a2)+", magicBytes "+A.c(b),null,null) +a=n.z +if(A.d5(a2,"[","]")===A.d5(b,"[","]")){++a.a +if(a.b==null)a.b=Date.now() +a.c=Date.now() +if(a.a<100)if(a.b!=null){a6=Date.now() +a=a.b +a.toString +a=a6-a<2000 +a6=a}else a6=!0 +else a6=!1 +if(a6){a6=B.e.aE(a7.d,a7.d.length-1) +if(0>=a6.length){q=A.e(a6,0) +s=1 +break}c.i(B.b,"ecodeFunction: skip uncrypted frame, type "+a6[0],null,null) +e=new A.b2($.cQ()) +e.u(0,new Uint8Array(A.ar(B.e.B(a7.d,0,a7.d.length-a1)))) +n.ap(b0,b1,e) +c.i(B.l,"ecodeFunction: enqueing silent frame",null,null) +b1.enqueue(b0)}else c.i(B.b,"ecodeFunction: SIF limit reached, dropping frame",null,null) +c.i(B.b,"ecodeFunction: enqueing silent frame",null,null) +b1.enqueue(b0) +s=1 +break}else a.b3()}}p=4 +b={} +a=n.f +a===$&&A.au("kind") +m=a==="video"?n.aA(b0,n.d):1 +l=B.e.aE(a7.d,a7.d.length-2) +k=J.eU(l,0) +j=J.eU(l,1) +a0=a7.d +a1=a7.d +a3=k +if(typeof a3!=="number"){q=A.jg(a3) +s=1 +break}i=B.e.B(a0,a1.length-a3-2,a7.d.length-2) +a4=a6.b=n.e.K(j) +a6.d=j +c.i(B.b,"decodeFunction: start decrypting frame headerLength "+A.c(m)+" "+a7.d.length+" frameTrailer "+A.c(l)+", ivLength "+A.c(k)+", keyIndex "+A.c(j)+", iv "+A.c(i),null,null) +if(a4==null||!n.e.c){if(n.w!==B.p){n.w=B.p +a6=n.b +c=n.c +n.y.postMessage(A.i(A.j(["type","cryptorState","msgType","event","participantId",a6,"trackId",c,"kind",n.f,"state","missingKey","error","Missing key for track "+c],t.N,t.T)))}s=1 +break}b.a=a4 +h=new A.d_(a6,b,n,i,a7,m,k) +g=new A.d0(a6,b,n,h) +p=8 +s=11 +return A.m(h.$0(),$async$R) +case 11:p=4 +s=10 +break +case 8:p=7 +a8=o.pop() +f=A.M(a8) +n.w=B.q +c=$.v() +c.i(B.b,"decodeFunction: kInternalError catch "+A.c(f),null,null) +s=12 +return A.m(g.$0(),$async$R) +case 12:s=10 +break +case 7:s=4 +break +case 10:b=a6.c +if(b==null){a6=A.a3(u.r) +throw A.d(a6)}a=n.e +a.r=0 +a.c=!0 +c.i(B.b,u.f+a7.d.length+", decrypted: "+A.I(b,0,null).length,null,null) +b=$.cQ() +e=new A.b2(b) +J.be(e,new Uint8Array(A.ar(B.e.B(a7.d,0,m)))) +a6=a6.c +a6.toString +J.be(e,A.I(a6,0,null)) +n.ap(b0,b1,e) +if(n.w!==B.j){n.w=B.j +n.y.postMessage(A.i(A.j(["type","cryptorState","msgType","event","participantId",n.b,"trackId",n.c,"kind",n.f,"state","ok","error","decryption ok"],t.N,t.T)))}c.i(B.l,"decodeFunction[CryptorError.kOk]: decryption success kind "+n.f+", headerLength: "+A.c(m)+", timestamp: "+a7.c+", ssrc: "+a7.b+", data length: "+a7.d.length+", decrypted length: "+e.az().length+", keyindex "+A.c(j)+" iv "+A.c(i),null,null) +p=2 +s=6 +break +case 4:p=3 +a9=o.pop() +d=A.M(a9) +if(n.w!==B.x){n.w=B.x +a6=n.b +c=n.c +b=n.f +b===$&&A.au("kind") +n.y.postMessage(A.i(A.j(["type","cryptorState","msgType","event","participantId",a6,"trackId",c,"kind",b,"state","decryptError","error",J.T(d)],t.N,t.T)))}n.e.aY() +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.E(q,r) +case 2:return A.D(o.at(-1),r)}}) +return A.F($async$R,r)}} +A.d_.prototype={ +$0(){var s=0,r=A.G(t.H),q=this,p,o,n,m,l,k,j,i,h,g,f +var $async$$0=A.H(function(a,b){if(a===1)return A.D(b,r) +while(true)switch(s){case 0:n=q.c +m=n.y +l=A.b(A.b(m.crypto).subtle) +k=q.e +j=k.d +i=q.f +h=t.N +g=A.i(A.j(["name","AES-GCM","iv",q.d,"additionalData",B.e.B(j,0,i)],h,t.K)) +if(g==null)g=A.J(g) +p=q.b +f=t.a +s=2 +return A.m(A.ag(A.b(l.decrypt(g,p.a.b,B.e.B(j,i,j.length-q.r-2))),t.X),$async$$0) +case 2:o=f.a(b) +j=q.a +j.c=o +i=$.v() +i.i(B.b,u.D+A.I(o,0,null).length,null,null) +l=j.c +if(l==null)throw A.d(A.a3("[decryptFrameInternal] could not decrypt")) +i.i(B.b,u.D+A.I(l,0,null).length,null,null) +s=p.a!==j.b?3:4 +break +case 3:i.i(B.l,u.E,null,null) +s=5 +return A.m(n.e.L(p.a,j.d),$async$$0) +case 5:case 4:l=n.w +if(l!==B.j&&l!==B.z&&j.a>0){i.i(B.b,"decodeFunction::decryptFrameInternal: KeyRatcheted: ssrc "+k.b+" timestamp "+k.c+" ratchetCount "+j.a+" participantId: "+A.c(n.b),null,null) +i.i(B.b,"decodeFunction::decryptFrameInternal: ratchetKey: lastError != CryptorError.kKeyRatcheted, reset state to kKeyRatcheted",null,null) +n.w=B.z +l=n.b +k=n.c +n=n.f +n===$&&A.au("kind") +m.postMessage(A.i(A.j(["type","cryptorState","msgType","event","participantId",l,"trackId",k,"kind",n,"state","keyRatcheted","error","Key ratcheted ok"],h,t.T)))}return A.E(null,r)}}) +return A.F($async$$0,r)}, +$S:2} +A.d0.prototype={ +$0(){var s=0,r=A.G(t.H),q=this,p,o,n,m,l,k,j,i,h +var $async$$0=A.H(function(a,b){if(a===1)return A.D(b,r) +while(true)switch(s){case 0:n=q.a +m=n.a +l=q.c +k=l.e +j=k.d +i=j.c +if(m>=i||i<=0)throw A.d(A.a3(u.u)) +m=q.b +s=2 +return A.m(k.M(m.a.a,j.b),$async$$0) +case 2:p=b +s=3 +return A.m(l.e.N(m.a.a,J.eu(p)),$async$$0) +case 3:o=b +l=l.e +h=m +s=4 +return A.m(l.J(o,l.d.b),$async$$0) +case 4:h.a=b;++n.a +s=5 +return A.m(q.d.$0(),$async$$0) +case 5:return A.E(null,r)}}) +return A.F($async$$0,r)}, +$S:2} +A.d7.prototype={ +k(a){var s=this +return"KeyOptions{sharedKey: "+s.a+", ratchetWindowSize: "+s.c+", failureTolerance: "+s.d+", uncryptedMagicBytes: "+A.c(s.e)+", ratchetSalt: "+A.c(s.b)+"}"}} +A.cj.prototype={ +G(a){var s,r,q=this,p=q.c +if(p.a)return q.W() +s=q.d +r=s.j(0,a) +if(r==null){r=A.f9(p,a,q.a) +p=q.f +if(p.length!==0)r.b7(p) +s.v(0,a,r)}return r}, +W(){var s=this,r=s.e +return r==null?s.e=A.f9(s.c,"shared-key",s.a):r}} +A.aW.prototype={} +A.cs.prototype={ +aY(){var s=this,r=s.d.d +if(r<0)return +if(++s.r>r){$.v().i(B.c,"key for "+s.f+" is being marked as invalid",null,null) +s.c=!1}}, +U(a){var s=0,r=A.G(t.E),q,p=2,o=[],n=this,m,l,k,j,i,h,g +var $async$U=A.H(function(b,c){if(b===1){o.push(c) +s=p}while(true)switch(s){case 0:j=n.K(a) +i=j==null?null:j.a +if(i==null){q=null +s=1 +break}p=4 +g=t.a +s=7 +return A.m(A.ag(A.b(A.b(A.b(n.e.crypto).subtle).exportKey("raw",i)),t.X),$async$U) +case 7:m=g.a(c) +j=A.I(m,0,null) +q=j +s=1 +break +p=2 +s=6 +break +case 4:p=3 +h=o.pop() +l=A.M(h) +$.v().i(B.c,"exportKey: "+A.c(l),null,null) +q=null +s=1 +break +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.E(q,r) +case 2:return A.D(o.at(-1),r)}}) +return A.F($async$U,r)}, +E(a){var s=0,r=A.G(t.E),q,p=this,o,n,m,l +var $async$E=A.H(function(b,c){if(b===1)return A.D(c,r) +while(true)switch(s){case 0:m=p.K(a) +l=m==null?null:m.a +if(l==null){q=null +s=1 +break}m=p.d.b +s=3 +return A.m(p.M(l,m),$async$E) +case 3:o=c +s=5 +return A.m(p.N(l,B.e.gH(o)),$async$E) +case 5:s=4 +return A.m(p.J(c,m),$async$E) +case 4:n=c +s=6 +return A.m(p.L(n,a==null?p.a:a),$async$E) +case 6:q=o +s=1 +break +case 1:return A.E(q,r)}}) +return A.F($async$E,r)}, +N(a,b){var s=0,r=A.G(t.m),q,p=this,o +var $async$N=A.H(function(c,d){if(c===1)return A.D(d,r) +while(true)switch(s){case 0:o=t.m +s=3 +return A.m(A.ag(A.eL(A.b(A.b(p.e.crypto).subtle),"importKey",["raw",t.a.a(b),A.J(A.b(a.algorithm).name),!1,t.c.a(A.i(A.N(["deriveBits","deriveKey"],t.s)))],o),o),$async$N) +case 3:q=d +s=1 +break +case 1:return A.E(q,r)}}) +return A.F($async$N,r)}, +K(a){var s,r=this.b +r===$&&A.au("cryptoKeyRing") +s=a==null?this.a:a +if(!(s>=0&&s=0){p=q.b +p===$&&A.au("cryptoKeyRing") +q.a=B.i.a9(b,p.length)}p=q.b +p===$&&A.au("cryptoKeyRing") +B.d.v(p,q.a,a) +return A.E(null,r)}}) +return A.F($async$L,r)}, +J(a,b){var s=0,r=A.G(t.x),q,p=this,o,n,m,l,k,j,i +var $async$J=A.H(function(c,d){if(c===1)return A.D(d,r) +while(true)switch(s){case 0:n=A.fX(A.h(A.b(a.algorithm).name),b) +m=A.b(A.b(p.e.crypto).subtle) +l=A.i(n) +if(l==null)l=A.J(l) +o=A.i(A.j(["name","AES-GCM","length",128],t.N,t.K)) +if(o==null)o=A.J(o) +k=A +j=a +i=A +s=3 +return A.m(A.ag(A.eL(m,"deriveKey",[l,a,o,!1,t.c.a(A.i(A.N(["encrypt","decrypt"],t.s)))],t.m),t.X),$async$J) +case 3:q=new k.aW(j,i.b(d)) +s=1 +break +case 1:return A.E(q,r)}}) +return A.F($async$J,r)}, +M(a,b){var s=0,r=A.G(t.p),q,p=this,o,n,m,l +var $async$M=A.H(function(c,d){if(c===1)return A.D(d,r) +while(true)switch(s){case 0:o=A.fX("PBKDF2",b) +n=A.b(A.b(p.e.crypto).subtle) +m=A.i(o) +if(m==null)m=A.J(m) +l=A +s=3 +return A.m(A.ag(A.b(n.deriveBits(m,a,256)),t.a),$async$M) +case 3:q=l.I(d,0,null) +s=1 +break +case 1:return A.E(q,r)}}) +return A.F($async$M,r)}} +A.df.prototype={ +b3(){var s=this +if(s.b==null)return +if(++s.d>s.a||Date.now()-s.c>2000)s.b4()}, +b4(){this.a=this.d=0 +this.b=null}} +A.e5.prototype={ +$1(a){return t.j.a(a).c===this.a}, +$S:1} +A.e0.prototype={ +$1(a){return t.D.a(a).c===this.a}, +$S:10} +A.ep.prototype={ +$1(a){return t.j.a(a).c===this.a}, +$S:1} +A.eq.prototype={ +$1(a){return t.D.a(a).c===this.a}, +$S:10} +A.eh.prototype={ +$1(a){t.cH.a(a) +A.jp("["+a.d+"] "+a.a.a+": "+a.b)}, +$S:22} +A.ei.prototype={ +$1(a){var s,r,q,p,o,n,m,l,k,j,i,h,g=null +A.b(a) +s=$.v() +s.i(B.f,"Got onrtctransform event",g,g) +r=A.b(a.transformer) +r.handled=!0 +q=A.b(r.options) +p=A.h(q.kind) +o=A.h(q.participantId) +n=A.h(q.trackId) +m=A.dS(q.codec) +l=A.h(q.msgType) +k=A.h(q.keyProviderId) +j=$.af.j(0,k) +if(j==null){s.i(B.c,"KeyProvider not found for "+k,g,g) +return}i=A.h_(o,n,j) +s=A.b(r.readable) +h=A.b(r.writable) +i.X(m==null?g:m,p,l,s,n,h)}, +$S:11} +A.ek.prototype={ +$1(d2){var s=0,r=A.G(t.P),q,p=2,o=[],n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0,d1 +var $async$$1=A.H(function(d3,d4){if(d3===1){o.push(d4) +s=p}while(true)switch(s){case 0:c6=t.f.a(A.fW(d2.data)) +c7=c6.j(0,"msgType") +c8=A.dS(c6.j(0,"msgId")) +c9=$.v() +c9.i(B.a,"Got message "+A.c(c7)+", msgId "+A.c(c8),null,null) +case 3:switch(c7){case"keyProviderInit":s=5 +break +case"keyProviderDispose":s=6 +break +case"enable":s=7 +break +case"decode":s=8 +break +case"encode":s=9 +break +case"removeTransform":s=10 +break +case"setKey":s=11 +break +case"setSharedKey":s=12 +break +case"ratchetKey":s=13 +break +case"ratchetSharedKey":s=14 +break +case"setKeyIndex":s=15 +break +case"exportKey":s=16 +break +case"exportSharedKey":s=17 +break +case"setSifTrailer":s=18 +break +case"updateCodec":s=19 +break +case"dispose":s=20 +break +case"dataCryptorEncrypt":s=21 +break +case"dataCryptorDecrypt":s=22 +break +case"dataCryptorDispose":s=23 +break +default:s=24 +break}break +case 5:a0=c6.j(0,"keyOptions") +a1=A.h(c6.j(0,"keyProviderId")) +a2=J.e1(a0) +a3=A.cM(a2.j(a0,"sharedKey")) +a4=new Uint8Array(A.ar(B.n.I(A.h(a2.j(a0,"ratchetSalt"))))) +a5=A.p(a2.j(a0,"ratchetWindowSize")) +a6=a2.j(a0,"failureTolerance") +a6=A.p(a6==null?-1:a6) +a7=a2.j(a0,"uncryptedMagicBytes")!=null?new Uint8Array(A.ar(B.n.I(A.h(a2.j(a0,"uncryptedMagicBytes"))))):null +a8=a2.j(a0,"keyRingSize") +a8=A.p(a8==null?16:a8) +a2=a2.j(a0,"discardFrameWhenCryptorNotReady") +a9=new A.d7(a3,a4,a5,a6,a7,a8,A.cM(a2==null?!1:a2)) +c9.i(B.a,"Init with keyProviderOptions:\n "+a9.k(0),null,null) +c9=v.G +a2=A.b(c9.self) +a3=t.N +a4=new Uint8Array(0) +$.af.v(0,a1,new A.cj(a2,a9,A.br(a3,t.bW),a4)) +A.b(c9.self).postMessage(A.i(A.j(["type","init","msgId",c8,"msgType","response"],a3,t.T))) +s=4 +break +case 6:a1=A.h(c6.j(0,"keyProviderId")) +c9.i(B.a,"Dispose keyProvider "+a1,null,null) +$.af.bQ(0,a1) +A.b(v.G.self).postMessage(A.i(A.j(["type","dispose","msgId",c8,"msgType","response"],t.N,t.T))) +s=4 +break +case 7:b0=A.cM(c6.j(0,"enabled")) +b1=A.h(c6.j(0,"trackId")) +a2=$.aP +a3=A.ae(a2) +a4=a3.h("aE<1>") +b2=A.f4(new A.aE(a2,a3.h("V(1)").a(new A.eb(b1)),a4),a4.h("f.E")) +for(a2=b2.length,a3=""+b0,a4="Set enable "+a3+" for trackId ",a5="setEnabled["+a3+u.h,b3=0;b3") +b2=A.f4(new A.aE(a2,a3.h("V(1)").a(new A.ec(b1)),a4),a4.h("f.E")) +for(a2=b2.length,b3=0;b3()","~(@)","~(~())","y(@)","y()","~(k,a1)","k?(k?)","~(q,q)","V(aw)","y(q)","V(ah)","@(@)","@(@,a5)","@(a5)","y(~())","y(@,a1)","~(a,@)","y(k,a1)","~(k?,k?)","aX()","~(aB)","a_(q)"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti")} +A.id(v.typeUniverse,JSON.parse('{"a6":"al","ct":"al","bE":"al","jx":"an","cf":{"V":[],"o":[]},"bm":{"y":[],"o":[]},"bn":{"q":[]},"al":{"q":[]},"z":{"r":["1"],"l":["1"],"q":[],"f":["1"]},"ce":{"bC":[]},"d6":{"z":["1"],"r":["1"],"l":["1"],"q":[],"f":["1"]},"bf":{"a4":["1"]},"ch":{"n":[],"aO":[]},"bl":{"n":[],"a":[],"aO":[],"o":[]},"cg":{"n":[],"aO":[],"o":[]},"aT":{"a5":[],"fa":[],"o":[]},"b2":{"hm":[]},"bo":{"w":[]},"l":{"f":["1"]},"a7":{"l":["1"],"f":["1"]},"aA":{"a4":["1"]},"a8":{"f":["2"],"f.E":"2"},"bi":{"a8":["1","2"],"l":["2"],"f":["2"],"f.E":"2"},"bt":{"a4":["2"]},"a9":{"a7":["2"],"l":["2"],"f":["2"],"f.E":"2","a7.E":"2"},"aE":{"f":["1"],"f.E":"1"},"bH":{"a4":["1"]},"bA":{"ab":[],"w":[]},"ci":{"w":[]},"cB":{"w":[]},"bU":{"a1":[]},"aj":{"ax":[]},"c6":{"ax":[]},"c7":{"ax":[]},"cy":{"ax":[]},"cw":{"ax":[]},"aR":{"ax":[]},"cv":{"w":[]},"az":{"aC":["1","2"],"f3":["1","2"],"bs":["1","2"]},"bq":{"l":["1"],"f":["1"],"f.E":"1"},"bp":{"a4":["1"]},"aY":{"an":[],"q":[],"bg":[],"o":[]},"an":{"q":[],"bg":[],"o":[]},"bx":{"q":[]},"cL":{"bg":[]},"bu":{"ez":[],"q":[],"o":[]},"C":{"P":["1"],"q":[]},"bv":{"u":["n"],"C":["n"],"r":["n"],"P":["n"],"l":["n"],"q":[],"f":["n"],"L":["n"]},"bw":{"u":["a"],"C":["a"],"r":["a"],"P":["a"],"l":["a"],"q":[],"f":["a"],"L":["a"]},"ck":{"cX":[],"u":["n"],"C":["n"],"r":["n"],"P":["n"],"l":["n"],"q":[],"f":["n"],"L":["n"],"o":[],"u.E":"n"},"cl":{"cY":[],"u":["n"],"C":["n"],"r":["n"],"P":["n"],"l":["n"],"q":[],"f":["n"],"L":["n"],"o":[],"u.E":"n"},"cm":{"d2":[],"u":["a"],"C":["a"],"r":["a"],"P":["a"],"l":["a"],"q":[],"f":["a"],"L":["a"],"o":[],"u.E":"a"},"cn":{"d3":[],"u":["a"],"C":["a"],"r":["a"],"P":["a"],"l":["a"],"q":[],"f":["a"],"L":["a"],"o":[],"u.E":"a"},"co":{"d4":[],"u":["a"],"C":["a"],"r":["a"],"P":["a"],"l":["a"],"q":[],"f":["a"],"L":["a"],"o":[],"u.E":"a"},"cp":{"dl":[],"u":["a"],"C":["a"],"r":["a"],"P":["a"],"l":["a"],"q":[],"f":["a"],"L":["a"],"o":[],"u.E":"a"},"cq":{"dm":[],"u":["a"],"C":["a"],"r":["a"],"P":["a"],"l":["a"],"q":[],"f":["a"],"L":["a"],"o":[],"u.E":"a"},"by":{"dn":[],"u":["a"],"C":["a"],"r":["a"],"P":["a"],"l":["a"],"q":[],"f":["a"],"L":["a"],"o":[],"u.E":"a"},"bz":{"cz":[],"u":["a"],"C":["a"],"r":["a"],"P":["a"],"l":["a"],"q":[],"f":["a"],"L":["a"],"o":[],"u.E":"a"},"cF":{"w":[]},"bW":{"ab":[],"w":[]},"ad":{"b0":["1"],"ap":["1"]},"O":{"w":[]},"b1":{"bJ":["1"],"b5":["1"],"b_":["1"]},"ao":{"bK":["1"],"ad":["1"],"b0":["1"],"ap":["1"]},"aF":{"fh":["1"],"fv":["1"],"ap":["1"]},"bV":{"aF":["1"],"fh":["1"],"fv":["1"],"ap":["1"]},"bI":{"cE":["1"]},"x":{"a_":["1"]},"bJ":{"b5":["1"],"b_":["1"]},"bK":{"ad":["1"],"b0":["1"],"ap":["1"]},"b5":{"b_":["1"]},"bL":{"bM":["1"]},"b3":{"b0":["1"]},"c_":{"fm":[]},"cI":{"c_":[],"fm":[]},"bN":{"aC":["1","2"],"bs":["1","2"]},"b4":{"bN":["1","2"],"aC":["1","2"],"bs":["1","2"]},"bO":{"l":["1"],"f":["1"],"f.E":"1"},"bP":{"a4":["1"]},"aC":{"bs":["1","2"]},"c5":{"av":["r","a5"],"av.S":"r"},"n":{"aO":[]},"a":{"aO":[]},"r":{"l":["1"],"f":["1"]},"a5":{"fa":[]},"c3":{"w":[]},"ab":{"w":[]},"Z":{"w":[]},"aZ":{"w":[]},"cc":{"w":[]},"bF":{"w":[]},"cA":{"w":[]},"aD":{"w":[]},"c8":{"w":[]},"cr":{"w":[]},"bD":{"w":[]},"cK":{"a1":[]},"d4":{"r":["a"],"l":["a"],"f":["a"]},"cz":{"r":["a"],"l":["a"],"f":["a"]},"dn":{"r":["a"],"l":["a"],"f":["a"]},"d2":{"r":["a"],"l":["a"],"f":["a"]},"dl":{"r":["a"],"l":["a"],"f":["a"]},"d3":{"r":["a"],"l":["a"],"f":["a"]},"dm":{"r":["a"],"l":["a"],"f":["a"]},"cX":{"r":["n"],"l":["n"],"f":["n"]},"cY":{"r":["n"],"l":["n"],"f":["n"]}}')) +A.ic(v.typeUniverse,JSON.parse('{"l":1,"C":1,"bM":1,"c9":2}')) +var u={o:"Cannot fire new event. Controller is already firing an event",c:"Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type",r:"[decodeFunction] decryption failed even after ratchting",u:"[ratchedKeyInternal] cannot ratchet anymore",h:"]: lastError != CryptorError.kOk, reset state to kNew",f:"decodeFunction: decryption success, buffer length ",D:"decodeFunction::decryptFrameInternal: decrypted: ",E:"decodeFunction::decryptFrameInternal: ratchetKey: decryption ok, newState: kKeyRatcheted"} +var t=(function rtii(){var s=A.ba +return{h:s("@<~>"),b:s("ah"),n:s("O"),B:s("c5"),J:s("bg"),V:s("ez"),D:s("aw"),d:s("l<@>"),C:s("w"),G:s("cX"),q:s("cY"),j:s("ak"),Z:s("ax"),O:s("d2"),k:s("d3"),U:s("d4"),R:s("f<@>"),e:s("f"),s:s("z"),r:s("z<@>"),t:s("z"),c:s("z"),u:s("bm"),m:s("q"),g:s("a6"),w:s("P<@>"),x:s("aW"),cK:s("r<@>"),L:s("r"),bG:s("r"),cH:s("aB"),I:s("aX"),f:s("bs<@,@>"),a:s("aY"),P:s("y"),K:s("k"),bW:s("cs"),cY:s("jz"),l:s("a1"),N:s("a5"),a4:s("o"),b7:s("ab"),c0:s("dl"),bk:s("dm"),ca:s("dn"),p:s("cz"),cr:s("bE"),_:s("x<@>"),aQ:s("x"),A:s("b4"),W:s("bV"),y:s("V"),c1:s("V(k)"),i:s("n"),z:s("@"),bd:s("@()"),v:s("@(k)"),Q:s("@(k,a1)"),S:s("a"),a5:s("bj?"),bc:s("a_?"),b1:s("q?"),aF:s("aW?"),X:s("k?"),T:s("a5?"),E:s("cz?"),F:s("aG<@,@>?"),cG:s("V?"),dd:s("n?"),a3:s("a?"),ae:s("aO?"),Y:s("~()?"),o:s("aO"),H:s("~"),M:s("~()"),bo:s("~(k)"),aD:s("~(k,a1)")}})();(function constants(){var s=hunkHelpers.makeConstList +B.M=J.cd.prototype +B.d=J.z.prototype +B.i=J.bl.prototype +B.k=J.aT.prototype +B.N=J.a6.prototype +B.O=J.bn.prototype +B.r=A.bu.prototype +B.e=A.bz.prototype +B.B=J.ct.prototype +B.t=J.bE.prototype +B.n=new A.cS() +B.u=new A.cT() +B.v=function getTagFallback(o) { var s = Object.prototype.toString.call(o); return s.substring(8, s.length - 1); -}; - B.C_JS_CONST0 = function() { +} +B.E=function() { var toStringFunction = Object.prototype.toString; function getTag(o) { var s = toStringFunction.call(o); @@ -9988,8 +4616,8 @@ getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, prototypeForTag: prototypeForTag, discriminator: discriminator }; -}; - B.C_JS_CONST6 = function(getTagFallback) { +} +B.J=function(getTagFallback) { return function(hooks) { if (typeof navigator != "object") return hooks; var userAgent = navigator.userAgent; @@ -10003,12 +4631,12 @@ } hooks.getTag = getTagFallback; }; -}; - B.C_JS_CONST1 = function(hooks) { +} +B.F=function(hooks) { if (typeof dartExperimentalFixupGetTag != "function") return hooks; hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); -}; - B.C_JS_CONST5 = function(hooks) { +} +B.I=function(hooks) { if (typeof navigator != "object") return hooks; var userAgent = navigator.userAgent; if (typeof userAgent != "string") return hooks; @@ -10026,8 +4654,8 @@ return quickMap[tag] || tag; } hooks.getTag = getTagFirefox; -}; - B.C_JS_CONST4 = function(hooks) { +} +B.H=function(hooks) { if (typeof navigator != "object") return hooks; var userAgent = navigator.userAgent; if (typeof userAgent != "string") return hooks; @@ -10057,8 +4685,8 @@ } hooks.getTag = getTagIE; hooks.prototypeForTag = prototypeForTagIE; -}; - B.C_JS_CONST2 = function(hooks) { +} +B.G=function(hooks) { var getTag = hooks.getTag; var prototypeForTag = hooks.prototypeForTag; function getTagFixed(o) { @@ -10075,214 +4703,118 @@ } hooks.getTag = getTagFixed; hooks.prototypeForTag = prototypeForTagFixed; -}; - B.C_JS_CONST3 = function(hooks) { return hooks; } -; - B.C_OutOfMemoryError = new A.OutOfMemoryError(); - B.C_SentinelValue = new A.SentinelValue(); - B.C__Required = new A._Required(); - B.C__RootZone = new A._RootZone(); - B.C__StringStackTrace = new A._StringStackTrace(); - B.CryptorError_0 = new A.CryptorError("kNew"); - B.CryptorError_1 = new A.CryptorError("kOk"); - B.CryptorError_2 = new A.CryptorError("kDecryptError"); - B.CryptorError_3 = new A.CryptorError("kEncryptError"); - B.CryptorError_5 = new A.CryptorError("kMissingKey"); - B.CryptorError_6 = new A.CryptorError("kKeyRatcheted"); - B.CryptorError_7 = new A.CryptorError("kInternalError"); - B.CryptorError_8 = new A.CryptorError("kDisposed"); - B.Level_CONFIG_700 = new A.Level("CONFIG", 700); - B.Level_FINER_400 = new A.Level("FINER", 400); - 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.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"); - B.Type_ByteBuffer_rqD = A.typeLiteral("ByteBuffer"); - B.Type_ByteData_9dB = A.typeLiteral("ByteData"); - B.Type_Float32List_9Kz = A.typeLiteral("Float32List"); - B.Type_Float64List_9Kz = A.typeLiteral("Float64List"); - B.Type_Int16List_s5h = A.typeLiteral("Int16List"); - B.Type_Int32List_O8Z = A.typeLiteral("Int32List"); - B.Type_Int8List_rFV = A.typeLiteral("Int8List"); - B.Type_JSObject_ttY = A.typeLiteral("JSObject"); - B.Type_Object_A4p = A.typeLiteral("Object"); - B.Type_Uint16List_kmP = A.typeLiteral("Uint16List"); - B.Type_Uint32List_kmP = A.typeLiteral("Uint32List"); - B.Type_Uint8ClampedList_04U = A.typeLiteral("Uint8ClampedList"); - B.Type_Uint8List_8Eb = A.typeLiteral("Uint8List"); - })(); - (function staticFields() { - $._JS_INTEROP_INTERCEPTOR_TAG = null; - $.toStringVisiting = A._setArrayType([], A.findType("JSArray")); - $.Primitives__identityHashCodeProperty = null; - $.BoundClosure__receiverFieldNameCache = null; - $.BoundClosure__interceptorFieldNameCache = null; - $.getTagFunction = null; - $.alternateTagFunction = null; - $.prototypeForTagFunction = null; - $.dispatchRecordsForInstanceTags = null; - $.interceptorsForUncacheableTags = null; - $.initNativeDispatchFlag = null; - $._nextCallback = null; - $._lastCallback = null; - $._lastPriorityCallback = null; - $._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); - })(); - (function lazyInitializers() { - var _lazyFinal = hunkHelpers.lazyFinal, - _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$"; - } - }))); - _lazyFinal($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn({$method$: null, - toString: function() { - return "$receiver$"; - } - }))); - _lazyFinal($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn(null))); - _lazyFinal($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", () => A.TypeErrorDecoder_extractPattern(function() { - var $argumentsExpr$ = "$arguments$"; - try { - null.$method$($argumentsExpr$); - } catch (e) { - return e.message; - } - }())); - _lazyFinal($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn(void 0))); - _lazyFinal($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", () => A.TypeErrorDecoder_extractPattern(function() { - var $argumentsExpr$ = "$arguments$"; - try { - (void 0).$method$($argumentsExpr$); - } catch (e) { - return e.message; - } - }())); - _lazyFinal($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokePropertyErrorOn(null))); - _lazyFinal($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", () => A.TypeErrorDecoder_extractPattern(function() { - try { - null.$method$; - } catch (e) { - return e.message; - } - }())); - _lazyFinal($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokePropertyErrorOn(void 0))); - _lazyFinal($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", () => A.TypeErrorDecoder_extractPattern(function() { - try { - (void 0).$method$; - } catch (e) { - return e.message; - } - }())); - _lazyFinal($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", () => A._AsyncRun__initializeScheduleImmediate()); - _lazyFinal($, "_Base64Decoder__inverseAlphabet", "$get$_Base64Decoder__inverseAlphabet", () => new Int8Array(A._ensureNativeList(A._setArrayType([-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, 62, -2, 62, -2, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -2, -2, -2, -1, -2, -2, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -2, -2, -2, -2, 63, -2, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -2, -2, -2, -2, -2], type$.JSArray_int)))); - _lazy($, "_Base64Decoder__emptyBuffer", "$get$_Base64Decoder__emptyBuffer", () => A.NativeUint8List_NativeUint8List(0)); - _lazyFinal($, "_hashSeed", "$get$_hashSeed", () => A.objectHashCode(B.Type_Object_A4p)); - _lazyFinal($, "Random__secureRandom", "$get$Random__secureRandom", () => { - var t1 = new A._JSSecureRandom(A.NativeByteData_NativeByteData(8)); - t1._JSSecureRandom$0(); - return t1; - }); - _lazyFinal($, "logger", "$get$logger", () => A.Logger_Logger("E2EE.Worker")); - _lazyFinal($, "Logger_root", "$get$Logger_root", () => A.Logger_Logger("")); - })(); - (function nativeSupport() { - !function() { - var intern = function(s) { - var o = {}; - o[s] = 1; - return Object.keys(hunkHelpers.convertToFastObject(o))[0]; - }; - init.getIsolateTag = function(name) { - return intern("___dart_" + name + init.isolateTag); - }; - var tableProperty = "___dart_isolate_tags_"; - var usedProperties = Object[tableProperty] || (Object[tableProperty] = Object.create(null)); - var rootProperty = "_ZxYxX"; - for (var i = 0;; i++) { - var property = intern(rootProperty + "_" + i + "_"); - if (!(property in usedProperties)) { - usedProperties[property] = 1; - init.isolateTag = property; - break; - } - } - init.dispatchPropertyName = init.getIsolateTag("dispatch_record"); - }(); - 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"; - A.NativeTypedArrayOfDouble.$nativeSuperclassTag = "ArrayBufferView"; - A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; - A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; - A.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView"; - })(); - Function.prototype.call$1 = function(a) { - return this(a); - }; - Function.prototype.call$0 = function() { - return this(); - }; - Function.prototype.call$2 = function(a, b) { - return this(a, b); - }; - Function.prototype.call$3 = function(a, b, c) { - return this(a, b, c); - }; - Function.prototype.call$4 = function(a, b, c, d) { - return this(a, b, c, d); - }; - Function.prototype.call$1$1 = function(a) { - return this(a); - }; - convertAllToFastObject(holders); - convertToFastObject($); - (function(callback) { - if (typeof document === "undefined") { - callback(null); - return; - } - if (typeof document.currentScript != "undefined") { - callback(document.currentScript); - return; - } - var scripts = document.scripts; - function onLoad(event) { - for (var i = 0; i < scripts.length; ++i) { - scripts[i].removeEventListener("load", onLoad, false); - } - callback(event.target); - } - for (var i = 0; i < scripts.length; ++i) { - scripts[i].addEventListener("load", onLoad, false); - } - })(function(currentScript) { - init.currentScript = currentScript; - var callMain = A.main; - if (typeof dartMainRunner === "function") { - dartMainRunner(callMain, []); - } else { - callMain([]); - } - }); -})(); +} +B.w=function(hooks) { return hooks; } +B.K=new A.cr() +B.a1=new A.de() +B.h=new A.cI() +B.o=new A.cK() +B.m=new A.a2("kNew") +B.j=new A.a2("kOk") +B.x=new A.a2("kDecryptError") +B.y=new A.a2("kEncryptError") +B.p=new A.a2("kMissingKey") +B.z=new A.a2("kKeyRatcheted") +B.q=new A.a2("kInternalError") +B.L=new A.a2("kDisposed") +B.a=new A.am("CONFIG",700) +B.b=new A.am("FINER",400) +B.l=new A.am("FINE",500) +B.f=new A.am("INFO",800) +B.c=new A.am("WARNING",900) +B.C=new A.ah("kAesGcm") +B.D=new A.ah("kAesCbc") +B.A=s([B.C,B.D],A.ba("z")) +B.P=A.Y("bg") +B.Q=A.Y("ez") +B.R=A.Y("cX") +B.S=A.Y("cY") +B.T=A.Y("d2") +B.U=A.Y("d3") +B.V=A.Y("d4") +B.W=A.Y("q") +B.X=A.Y("k") +B.Y=A.Y("dl") +B.Z=A.Y("dm") +B.a_=A.Y("dn") +B.a0=A.Y("cz")})();(function staticFields(){$.dI=null +$.S=A.N([],A.ba("z")) +$.fb=null +$.eZ=null +$.eY=null +$.fZ=null +$.fT=null +$.h1=null +$.e_=null +$.e9=null +$.eN=null +$.b6=null +$.c0=null +$.c1=null +$.eK=!1 +$.t=B.h +$.f6=0 +$.hz=A.br(t.N,t.I) +$.aP=A.N([],A.ba("z")) +$.eR=A.N([],A.ba("z")) +$.af=A.br(t.N,A.ba("cj"))})();(function lazyInitializers(){var s=hunkHelpers.lazyFinal,r=hunkHelpers.lazy +s($,"jv","er",()=>A.jd("_$dart_dartClosure")) +s($,"jO","cQ",()=>A.f8(0)) +s($,"jQ","hh",()=>A.N([new J.ce()],A.ba("z"))) +s($,"jB","h4",()=>A.ac(A.dk({ +toString:function(){return"$receiver$"}}))) +s($,"jC","h5",()=>A.ac(A.dk({$method$:null, +toString:function(){return"$receiver$"}}))) +s($,"jD","h6",()=>A.ac(A.dk(null))) +s($,"jE","h7",()=>A.ac(function(){var $argumentsExpr$="$arguments$" +try{null.$method$($argumentsExpr$)}catch(q){return q.message}}())) +s($,"jH","ha",()=>A.ac(A.dk(void 0))) +s($,"jI","hb",()=>A.ac(function(){var $argumentsExpr$="$arguments$" +try{(void 0).$method$($argumentsExpr$)}catch(q){return q.message}}())) +s($,"jG","h9",()=>A.ac(A.fk(null))) +s($,"jF","h8",()=>A.ac(function(){try{null.$method$}catch(q){return q.message}}())) +s($,"jK","hd",()=>A.ac(A.fk(void 0))) +s($,"jJ","hc",()=>A.ac(function(){try{(void 0).$method$}catch(q){return q.message}}())) +s($,"jL","eS",()=>A.hS()) +s($,"jN","hf",()=>new Int8Array(A.ar(A.N([-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-2,-2,-2,-2,-2,62,-2,62,-2,63,52,53,54,55,56,57,58,59,60,61,-2,-2,-2,-1,-2,-2,-2,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-2,-2,-2,-2,63,-2,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-2,-2,-2,-2,-2],t.t)))) +r($,"jM","he",()=>A.f8(0)) +s($,"jP","hg",()=>A.em(B.X)) +s($,"jy","es",()=>{var q=new A.dH(A.hB(8)) +q.bd() +return q}) +s($,"jw","cP",()=>A.d9("")) +s($,"jS","v",()=>A.d9("E2EE.Worker"))})();(function nativeSupport(){!function(){var s=function(a){var m={} +m[a]=1 +return Object.keys(hunkHelpers.convertToFastObject(m))[0]} +v.getIsolateTag=function(a){return s("___dart_"+a+v.isolateTag)} +var r="___dart_isolate_tags_" +var q=Object[r]||(Object[r]=Object.create(null)) +var p="_ZxYxX" +for(var o=0;;o++){var n=s(p+"_"+o+"_") +if(!(n in q)){q[n]=1 +v.isolateTag=n +break}}v.dispatchPropertyName=v.getIsolateTag("dispatch_record")}() +hunkHelpers.setOrUpdateInterceptorsByTag({SharedArrayBuffer:A.an,ArrayBuffer:A.aY,ArrayBufferView:A.bx,DataView:A.bu,Float32Array:A.ck,Float64Array:A.cl,Int16Array:A.cm,Int32Array:A.cn,Int8Array:A.co,Uint16Array:A.cp,Uint32Array:A.cq,Uint8ClampedArray:A.by,CanvasPixelArray:A.by,Uint8Array:A.bz}) +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.C.$nativeSuperclassTag="ArrayBufferView" +A.bQ.$nativeSuperclassTag="ArrayBufferView" +A.bR.$nativeSuperclassTag="ArrayBufferView" +A.bv.$nativeSuperclassTag="ArrayBufferView" +A.bS.$nativeSuperclassTag="ArrayBufferView" +A.bT.$nativeSuperclassTag="ArrayBufferView" +A.bw.$nativeSuperclassTag="ArrayBufferView"})() +Function.prototype.$1=function(a){return this(a)} +Function.prototype.$0=function(){return this()} +Function.prototype.$2=function(a,b){return this(a,b)} +Function.prototype.$3=function(a,b,c){return this(a,b,c)} +Function.prototype.$4=function(a,b,c,d){return this(a,b,c,d)} +Function.prototype.$1$1=function(a){return this(a)} +convertAllToFastObject(w) +convertToFastObject($);(function(a){if(typeof document==="undefined"){a(null) +return}if(typeof document.currentScript!="undefined"){a(document.currentScript) +return}var s=document.scripts +function onLoad(b){for(var q=0;q","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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", + "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/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/_internal/js_runtime/lib/linked_hash_map.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","../../../../.pub-cache/hosted/pub.dev/logging-1.3.0/lib/src/logger.dart","../../web/e2ee.frame_cryptor.dart","../../web/e2ee.keyhandler.dart","../../web/e2ee.worker.dart","../../web/e2ee.sfi_guard.dart","../../web/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","../../web/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/async/broadcast_stream_controller.dart","org-dartlang-sdk:///lib/_internal/js_runtime/lib/internal_patch.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","../../../../.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","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","../../web/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.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","String.fromCharCodes","String._stringFromUint8List","StringBuffer._writeAll","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","_functionToJS1","_functionToJS2","_callDartFunctionFast1","_callDartFunctionFast2","_noJsifyRequired","jsify","callMethod","promiseToFuture","_Completer.future","Completer","_noDartifyRequired","dartify","Logger","findNALUIndices","ParticipantKeyHandler","getTrackCryptor","FrameCryptor","FrameCryptor.sifGuard","FrameCryptor.setParticipant","getDataPacketCryptor","unsetCryptorParticipant","unsetDataPacketCryptorParticipant","main","printString","throwLateFieldNI","throwLateFieldADI","IterableExtension.firstWhereOrNull","getAlgoOptions","Interceptor.hashCode","Interceptor.==","Interceptor.toString","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.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","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.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","Base64Encoder.convert","_Base64Encoder.encode","Base64Decoder.convert","_Base64Decoder.decode","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","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.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","jsify._convert","promiseToFuture.","dartify.convert","DateTime._withValueChecked","_dateToDateTime","NullRejectionException.toString","_JSSecureRandom","_JSSecureRandom.nextInt","NativeByteData.setUint32","Level.==","Level.hashCode","Level.toString","LogRecord.toString","Logger.fullName","JSString.isNotEmpty","Logger.level","Logger.log","Logger.isLoggable","DateTime._now","Logger._getStream","StreamController.broadcast","_BroadcastStreamController.stream","Logger._publish","Logger.","Logger._named","Logger._internal","Algorithm._enumToString","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","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..","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.root","logger","","$intercepted$$eq$Iu","$intercepted$__$asx","$intercepted$_setInt82$x","$intercepted$add1$ax","$intercepted$asUint8List0$x","$intercepted$asUint8List2$x","$intercepted$elementAt1$ax","$intercepted$get$buffer$x","$intercepted$get$hashCode$IJavaScriptBigIntJavaScriptSymbolLegacyJavaScriptObjectabnsu","$intercepted$get$iterator$ax","$intercepted$get$length$asx","$intercepted$get$runtimeType$ILegacyJavaScriptObjectabdinsux","$intercepted$map11$ax","$intercepted$toString0$IJavaScriptBigIntJavaScriptFunctionJavaScriptSymbolLegacyJavaScriptObjectabnsux","Algorithm","ArrayIterator","AsyncError","Base64Codec","Base64Decoder","Base64Encoder","BoundClosure","ByteBuffer","ByteData","Closure","Closure0Args","Closure2Args","Codec","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","Iterable","IterableExtension|firstWhereOrNull","Iterator","JSArray","JSArraySafeToStringHook","JSBool","JSInt","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","MappedIterator","MappedListIterable","NativeArrayBuffer","NativeByteBuffer","NativeFloat32List","NativeFloat64List","NativeInt16List","NativeInt32List","NativeInt8List","NativeSharedArrayBuffer","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeTypedData","NativeUint16List","NativeUint32List","NativeUint8ClampedList","Null","NullError","NullRejectionException","NullThrownFromJavaScriptException","Object","OutOfMemoryError","Pattern","PlainJavaScriptObject","RangeError","Record","Rti","RuntimeError","SafeToStringHook","SentinelValue","SifGuard","StackOverflowError","StackTrace","StaticClosure","Stream","StreamController","StreamSubscription","String","StringBuffer","TearOffClosure","TrustedGetRuntimeType","TypeError","TypeErrorDecoder","Uint16List","Uint32List","Uint8ClampedList","Uint8List","UnknownJavaScriptObject","UnknownJsTypeError","WhereIterable","WhereIterator","Zone","_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","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_PendingEvents","_PendingEvents_schedule_closure","_RootZone","_RootZone_bindCallbackGuarded_closure","_StackTrace","_StreamControllerLifecycle","_StreamImpl","_StreamIterator","_StringStackTrace","_SyncBroadcastStreamController","_TimerImpl_internalCallback","_TypeError","_UnmodifiableNativeByteBufferView","_Zone","_allocateBuffer","_awaitOnObject_closure","_canonicalRecipeJoin","_canonicalRecipeJoinNamed","_chainCoreFuture","_checkPadding","_computeFieldNamed","_computeSignatureFunction","_createFutureOrRti","_createGenericFunctionRti","_createQuestionRti","_current","_empty","_emptyBuffer","_emptyList","_fourDigits","_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","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","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","withLength","$eq","$ge","$index","$indexSet","$lt","$mod","$mul","_addEventError","add","addAll","asUint8List","bindCallbackGuarded","buffer","call","complete","completeError","containsKey","convert","dart:_interceptors#_shrBothPositive","dart:_interceptors#_shrOtherPositive","dart:_interceptors#_tdivFast","dart:_interceptors#_tdivSlow","dart:_js_helper#_addHashTableEntry","dart:_js_helper#_modified","dart:_js_helper#_newHashTable","dart:_js_helper#_newLinkedCell","dart:_js_helper#_removeHashTableEntry","dart:_js_helper#_unlinkCell","dart:_native_typed_data#_checkPosition","dart:_native_typed_data#_invalidPosition","dart:_native_typed_data#_setInt8","dart:_rti#_bind","dart:_rti#_eval","dart:async#_add","dart:async#_addEventError","dart:async#_addListener","dart:async#_addPending","dart:async#_asyncComplete","dart:async#_asyncCompleteErrorObject","dart:async#_asyncCompleteWithValue","dart:async#_callOnCancel","dart:async#_chainFuture","dart:async#_checkState","dart:async#_cloneResult","dart:async#_completeError","dart:async#_completeErrorObject","dart:async#_completeWithResultOf","dart:async#_completeWithValue","dart:async#_forEachListener","dart:async#_mayAddEvent","dart:async#_mayComplete","dart:async#_next=","dart:async#_onMicrotask","dart:async#_onPause","dart:async#_onResume","dart:async#_prependListeners","dart:async#_previous=","dart:async#_removeListeners","dart:async#_reverseListeners","dart:async#_sendData","dart:async#_setErrorObject","dart:async#_subscribe","dart:async#_thenAwait","dart:collection#_addHashTableEntry","dart:collection#_computeKeys","dart:collection#_containsKey","dart:collection#_findBucketIndex","dart:collection#_get","dart:collection#_getBucket","dart:core#_enumToString","dart:core#_errorExplanation","dart:core#_errorName","decode","decodeFunction","decrypt","decryptionFailure","deriveKeys","elementAt","enabled","encode","encodeFunction","encrypt","endsWith","enqueueFrame","exportKey","forEach","fullName","getKeySet","getParticipantKeyHandler","getSharedKeyHandler","getUnencryptedBytes","handleError","hashCode","internalFindBucketIndex","internalGet","invalidValue","iterator","keys","lastIndexOf","length","level","listen","log","map","matchTypeError","matchesErrorTest","moveNext","nextInt","package:logging/src/logger.dart#_getStream","package:logging/src/logger.dart#_publish","putIfAbsent","ratchet","ratchetKey","ratchetMaterial","readFrameInfo","recordUserFrame","registerBinaryCallback","remove","reset","run","runBinary","runGuarded","runUnary","runUnaryGuarded","runtimeType","schedule","setKey","setKeySetFromMaterial","setRange","setupTransform","stackTrace","startsWith","sublist","substring","then","toBytes","toInt","toRadixString","toString","tryFormat","_Universe._canonicalRecipeOfQuestion","_Universe._canonicalRecipeOfFutureOr","_Universe._canonicalRecipeOfBinding","_Universe._canonicalRecipeOfGenericFunction","isBottomType","Error._stringToSafeString","_HashMap._set","_Base64Encoder.createBuffer","DateTime.fromMillisecondsSinceEpoch","DateTime.now","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","_lookupAnyRti","_lookupDynamicRti","_lookupErasedRti","_lookupFutureRti","_lookupNeverRti","_lookupVoidRti","_mayAddListener","_mayComplete","_mayResumeInput","_microtaskEntryCallback","_name","_named","_newFutureWithSameType","_now","_nowUtc","_objectToString","_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","arrayAt","arrayConcat","arrayLength","arraySplice","asBool","asBoolOrNull","asInt","asRti","asRtiOrNull","asString","as_Type","broadcast","ceilToDouble","charCodeAt","checkGrowable","close","collectNamed","config","constructorNameFallback","contains","createBuffer","cryptoKeyRing","dateNow","day","decoder","decryptionSuccess","dispatchRecordExtension","dispatchRecordIndexability","dispatchRecordInterceptor","dispatchRecordProto","encoder","environment","erasedTypes","evalCache","evalTypeVariable","fieldADI","fine","finer","floorToDouble","fromList","fromMessage","fromMillisecondsSinceEpoch","future","getDispatchProperty","getIndex","getLength","getProperty","getRuntimeTypeOfInterceptorNotArray","getUint32","handleNamedGroup","handleNext","handleOptionalGroup","handleStartRecord","handleUncaughtError","handleValue","handleWhenComplete","handlesComplete","handlesValue","hasErrorCallback","hasErrorTest","hasValidKey","hash2","hour","identityHashCode","info","interceptorFieldName","internalComputeHashCode","internalSet","isArray","isClosed","isDigit","isEmpty","isJavaScriptSimpleObject","isLoggable","isNotEmpty","isScheduled","isSifAllowed","jsonEncodeNative","keyOptions","kind","lastError","lengthInBytes","listToString","lookupSupertype","lookupTypeVariable","makeIv","mapGet","mapSet","markFixedList","max","microsecond","millisecond","millisecondsSinceEpoch","minute","month","normalize","now","objectKeys","objectToHumanReadableString","of","onRecord","participantKeys","perform","pop","position","postMessage","pow","printToConsole","propertyGet","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","push","pushStackFrame","receiverFieldName","recipe","recordSif","registerCallback","registerUnaryCallback","remainder","resetKeyStatus","second","secure","sendCounts","setEnabled","setInt8","setKeyIndex","setParticipant","setSharedKey","setSifTrailer","setUint32","sharedEmptyArray","shouldChain","sifGuard","stack","stream","stringIndexOf","stringLastIndexOfUnchecked","stringSafeToString","stringSplit","thenAwait","timestamp","toGenericFunctionParameter","toList","toLowerCase","truncateToDouble","tryStringifyException","typeRules","universe","unmangleGlobalNameIfPreservedAnyways","unsafeCast","unsetParticipant","updateCodec","warning","where","write","writeAll","writeFinalChunk","year","zone","zoned"], + "mappings": "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", "x_org_dartlang_dart2js": { "minified_names": { - "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" + "global": "A,223,B,39,C,859,D,242,E,241,F,239,G,237,H,244,I,1129,J,144,K,114,L,798,M,49,N,109,O,776,P,827,Q,1089,R,167,S,1117,T,773,U,1054,V,1027,W,41,X,42,Y,124,Z,291,a,1082,a0,876,a1,882,a2,788,a3,759,a4,813,a5,887,a6,826,a7,842,a8,12,a9,850,aA,843,aB,844,aC,847,aD,300,aE,899,aF,912,aG,925,aH,1001,aI,1118,aJ,90,aK,98,aL,1062,aM,52,aN,230,aO,1101,aP,1105,aQ,770,aR,780,aS,759,aT,822,aU,825,aV,829,aW,832,aX,320,aY,851,aZ,874,a_,805,aa,1111,ab,891,ac,1046,ad,505,ae,113,af,1088,ag,315,ah,774,ai,759,aj,783,ak,324,al,834,am,835,an,852,ao,509,ap,921,aq,979,ar,87,as,121,at,50,au,332,av,786,aw,790,ax,804,ay,812,az,830,b,162,b0,886,b1,911,b2,916,b3,504,b4,938,b5,950,b6,998,b7,266,b8,105,b9,83,bA,867,bB,53,bC,878,bD,881,bE,897,bF,298,bG,759,bH,900,bI,904,bJ,914,bK,915,bL,917,bM,918,bN,935,bO,936,bP,937,bQ,940,bR,941,bS,942,bT,943,bU,948,bV,953,bW,955,bX,960,bY,993,bZ,996,b_,884,ba,97,bb,112,bc,229,bd,44,be,763,bf,775,bg,781,bh,759,bi,794,bj,795,bk,797,bl,817,bm,818,bn,828,bo,833,bp,838,bq,839,br,970,bs,846,bt,849,bu,86,bv,860,bw,861,bx,862,by,865,bz,88,c,15,c0,984,c1,985,c2,56,c3,290,c4,759,c5,777,c6,784,c7,785,c8,301,c9,787,cA,299,cB,898,cC,902,cD,903,cE,913,cF,920,cG,923,cH,944,cI,946,cJ,951,cK,952,cL,956,cM,149,cN,262,cO,35,cP,1113,cQ,972,cR,768,cS,778,cT,779,cU,791,cV,792,cW,1114,cX,799,cY,800,cZ,303,c_,957,ca,789,cb,1014,cc,806,cd,810,ce,815,cf,816,cg,819,ch,820,ci,48,cj,727,ck,853,cl,854,cm,855,cn,856,co,857,cp,863,cq,864,cr,871,cs,322,ct,873,cu,1103,cv,877,cw,883,cx,888,cy,889,cz,896,d,38,d0,802,d1,803,d2,807,d3,808,d4,809,d5,1085,d6,823,d7,831,d8,837,d9,759,dA,929,dB,930,dC,931,dD,932,dE,933,dF,934,dG,934,dH,659,dI,939,dJ,945,dK,947,dL,517,dM,236,dN,954,dO,123,dP,1043,dQ,1044,dR,1094,dS,161,dT,959,dU,959,dV,148,dW,1003,dX,1015,dY,10,dZ,1037,d_,801,da,845,db,848,dc,868,dd,869,de,879,df,880,dg,759,dh,556,di,556,dj,892,dk,1109,dl,893,dm,894,dn,895,dp,905,dq,906,dr,907,ds,908,dt,909,du,910,dv,919,dw,922,dx,926,dy,927,dz,928,e,34,e0,1059,e1,1063,e2,1064,e3,1065,e4,1,e5,1071,e6,1080,e7,1080,e8,1080,e9,1084,eA,824,eB,759,eC,975,eD,962,eE,997,eF,1009,eG,988,eH,992,eI,155,eJ,115,eK,982,eL,314,eM,64,eN,1081,eO,11,eP,330,eQ,0,eR,1106,eS,1004,eT,760,eU,761,eV,762,eW,765,eX,964,eY,980,eZ,1002,e_,1040,ea,1087,eb,1090,ec,1090,ed,1090,ee,1090,ef,1090,eg,1090,eh,1091,ei,1091,ej,1091,ek,1091,el,78,em,53,en,1107,eo,1107,ep,1126,eq,1127,er,738,es,1008,et,764,eu,767,ev,769,ew,771,ex,1128,ey,1039,ez,782,f,811,f0,1055,f1,1011,f2,1130,f3,836,f4,1000,f5,1049,f6,999,f7,1092,f8,759,f9,759,fA,1102,fB,227,fC,151,fD,158,fE,139,fF,166,fG,308,fH,309,fI,224,fJ,153,fK,136,fL,147,fM,318,fN,312,fO,263,fP,264,fQ,164,fR,258,fS,254,fT,1019,fU,1025,fV,110,fW,319,fX,335,fY,327,fZ,1070,f_,1112,fa,872,fb,977,fc,1121,fd,1028,fe,1029,ff,983,fg,1036,fh,885,fi,1016,fj,1031,fk,1110,fl,759,fm,901,fn,963,fo,1032,fp,976,fq,1030,fr,1033,fs,1076,ft,1104,fu,1119,fv,949,fw,989,fx,990,fy,994,fz,995,h,160,h0,77,h1,1108,h2,256,h3,13,h4,1095,h5,1096,h6,1097,h7,1098,h8,1099,h9,1100,hA,759,hB,759,hC,1078,hD,1047,hE,1060,hF,1061,hG,1066,hH,1067,hI,1068,hJ,1069,hK,1072,hL,1114,hM,1115,hN,1128,hO,974,hP,1057,hQ,1010,hR,1052,hS,978,hT,1005,hU,1006,hV,1007,hW,958,hX,1013,hY,1038,hZ,1042,h_,323,ha,1122,hb,1123,hc,1124,hd,1125,he,971,hf,981,hg,755,hh,740,hi,766,hj,772,hk,1045,hl,1083,hm,699,hn,965,ho,1034,hp,1035,hq,1056,hr,1058,hs,973,ht,1012,hu,1116,hv,1086,hw,1053,hx,1093,hy,1048,hz,987,i,313,i0,1073,i1,1074,i2,1075,i3,1077,i4,1079,i5,1120,i6,759,i7,961,i8,966,i9,967,iA,246,iB,247,iC,55,iD,142,iE,225,iF,135,iG,134,iH,156,iI,143,iJ,228,iK,159,iL,133,iM,145,iN,306,iO,252,iP,261,iQ,260,iR,165,iS,251,iT,265,iU,255,iV,128,iW,126,iX,253,iY,119,iZ,107,i_,251,ia,968,ib,991,ic,1017,id,1018,ie,1026,ig,1050,ih,1051,ii,150,ij,152,ik,163,il,157,im,146,io,243,ip,310,iq,311,ir,91,is,43,it,137,iu,130,iv,138,iw,131,ix,129,iy,125,iz,116,j,986,j0,168,j1,51,j2,37,j3,1020,j4,1021,j5,1022,j6,1023,j7,1024,j8,57,j9,84,jA,759,jB,1095,jC,1096,jD,1097,jE,1098,jF,1099,jG,1100,jH,1122,jI,1123,jJ,1124,jK,1125,jL,1004,jM,971,jN,981,jO,972,jP,755,jQ,740,jR,71,jS,758,j_,106,ja,36,jb,54,jc,321,jd,70,je,118,jf,117,jg,33,jh,82,ji,80,jj,81,jk,111,jl,14,jm,222,jn,72,jo,79,jp,331,jq,85,jr,333,js,40,jt,328,ju,329,jv,738,jw,1113,jx,858,jy,1008,jz,875,k,870,l,793,m,240,n,1041,o,890,p,154,q,821,r,840,t,969,u,841,v,758,w,796,x,924,y,866,z,814", + "instance": "A,1227,B,1263,C,1235,D,1257,E,1243,F,1131,G,1219,H,1143,I,1148,J,1207,K,1218,L,1258,M,1242,N,1244,O,1261,P,1188,R,1204,S,1205,T,1208,U,1215,V,1234,W,1220,X,1260,Y,1264,Z,1174,a0,1182,a1,1189,a2,1190,a3,1150,a4,1141,a5,1147,a6,1211,a7,1212,a8,1228,a9,1136,aA,1221,aB,1137,aC,1256,aD,1259,aE,1263,aF,1264,aG,1153,aH,1164,aI,1194,aJ,1171,aK,1172,aL,1159,aM,1178,aN,1195,aO,1200,aP,1199,aQ,1239,aR,1154,aS,1186,aT,1240,aU,1193,aV,1141,aW,1142,aX,1146,aY,1206,aZ,1209,a_,1176,aa,1165,ab,1166,ac,1168,ad,1169,ae,1201,af,1202,ag,1197,ah,1180,ai,1155,aj,1156,ak,1184,al,1185,am,1187,an,1145,ao,1146,ap,1214,aq,1216,ar,1226,au,1238,av,1247,aw,1253,az,1266,b0,1224,b1,1232,b2,1245,b3,1246,b4,1249,b5,1252,b6,1265,b7,1257,b8,1260,b9,1260,bA,1203,bB,1204,bC,1204,bD,1205,bE,1210,bF,1211,bG,1211,bH,1212,bI,1213,bJ,1222,bK,1225,bL,1229,bM,1231,bN,1232,bO,1236,bP,1241,bQ,1248,bR,1250,bS,1251,bT,1254,bU,1267,bV,1268,bW,1270,bX,1144,bY,1132,bZ,1135,b_,1217,ba,1262,bb,1269,bc,1138,bd,759,be,759,bf,1167,bg,1170,bh,1173,bi,1175,bj,1175,bk,1177,bl,1196,bm,1179,bn,1198,bo,1160,bp,1183,bq,1183,br,1157,bs,1191,bt,1161,bu,1149,bv,1192,bw,1151,bx,1152,by,1158,bz,1140,c_,1181,gA,1227,gH,1143,gO,1261,ga8,1228,gaZ,1209,gae,1201,gaf,1202,gah,1180,gar,1226,gbB,1204,gbF,1211,gbM,1231,gbX,1144,gb_,1217,gbi,1175,gbp,1183,gc_,1181,gm,1230,gn,1036,gq,1255,gt,1223,h,1163,i,1233,j,1133,k,1269,l,1162,m,1230,n,1036,p,1237,q,1255,sa0,1182,sam,1187,sbM,1231,sm,1230,t,1223,u,1139,v,1134" }, - "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;" + "frames": "izHAoJe68CyB;oCAKAAyB;eAKCdG;kBACeDE;gEAIlBAE;KAGOFO;iGAaA17CAA8CgBCeANKmEuC,A,I;qMATrClEAAmB0BDeAVWmEoC,A,AAUvCCkC,A;o7FM2JWgrB2C;QAEFohB2C;ikBL1RW6SI;uEAmCL3HG;mQAyLTzJqC;iFAwJSlxCAO0fRCiB,A;cP1fQDAO0fRCAAo5B6Cs5Ca,A,A;2CPv3C1BWS;gJAYbl6CAOudNCIAo5B6Cs5Ca,A,A;6FPt1CzCoIAARF9DiB,A;qHAyBWqBW;gPAuRLNI;6vBAkdyBtZoB;uLAoCnBAwB;gBASAAuB;4DA8CAjXsC;gvBAuHdAwC;qTAsPEAmR;sZAkNAAW;0gBA4DyBAW;4XAkCJAW;gBAQ1BAkC;6BAKuB8rBoD;OAChB9rBU;0DAOC8zBI;cAIgB9zBwC;2JAUjBAU;0EA8BmBAW;sCAGtBAc;8JAsEKwtBQ;oCAEDDK;AACEAK;otBAmQJvtBkC;cAKAA0D;y4CAyTEA4D;6sBA+F6B4uBuC;AACHkDmC;yEAwIzBn9CAO16EN8zCoB,M;qDPg8EUzoBiD;yCACKmwBW;uRCtzFToBI;YACcp8CAAsE3BDAFzIAF2G,A,A;QEmE2BGAAuEpBo3CE,A;OAtEWgFI;yCAKKn8CAAzChBm8CI,A;mDA+CMAI;YACkBp8CAAyD/BDAFzIAF2G,A,A;QEgF+BGAA0DxBo3CE,A;OAzDWgFI;yCAGKn8CAApDhBm8CS,A;4EA0EEp8CAA+BTDAFzIAF2G,A,A;QE0GSGAAgCFo3CE,A;sDAvBEl3CAA2BTHAF9IAFsB,A,4G;QEmHSKAA4BFk3CE,A;8FAbEl3CAAYTHAF9IAFsB,A,4G;QEkISKAAaFk3CE,A;gEAMPr3CAFrJAFsD,A;0hBEwNQEAFxNRF4H,A;2DEsO2Bu8C4D;wTAqFX37Cc;soCW6LsBmtCa;4EAq2BCOiB;2BAY/BNoB;AACACqB;2nBL1zCeiEO;AAFAiEG;gBAGf5BiB;AAD0ChFAA6JlC2GM,A;gBA/ECpGAAxBsBmGG,A;6BA0BECG;uCAsJzBEG;2GA4ODtGAA5ZwBmGG,A;mEAqabCG;sEAUAAG;sEAUWtGG;uDAe3BDAAtYMyGK,A;YA0YGlHAA9XHgHG,A;uBAgYQjHG;6EAiBHqBAAvYILO,A;AAwYJIG;sEAUIGAA9XT0FG,A;uBAqYiC5GG;6EAqB5BGQ;AACDoGQ;uBAODrGAAxZH0GG,A;gFAqaIxGAA3ZJuGG,A;sBA+ZUNO;uIAmBNEkB;yBAGDKI;mFAiBCLkB;0BAImBFO;AACEAS;AACtBOM;sFAyB0B3FsB;AASAPK;iBASbDK;8CAYiB2FAAhZR1qBc,A;AAiZrB0pBM;AAIAJM;AAIADK;sHA4CF6BM;yDAaZzEK;sEAuBFEG;cAIOoIoB;oSAmFkBtImD;6FAyBXkEI;uBAENj0C4B;6DA0EQuBoBAlFlBwuCiB,A;wCAsFc4EO;GAEL0DoB;OAAwBtJO;wBAOMttCAAI5B6nBO,A;AAJFokBG;gBAA8BjsCAAI5B6nBAAkCbAAAAAAAACM8oBgB,A,A,A,A;oBARmBpyC0B;qBA6DrByyCW;OACO3CM;wEAWI1BAA7gCwBmGG,A;0GA+hCnBtGAA79BJyGG,A;IA89BMxGiB;AAWdgFU;2EAYCpxCQA2BmB8sCAA1/BZ8FI,A,AA2/BM/FI,iB;gDArBPPAA9jCwBmGmB,A;gIAmmC1BnBiV;AAEFxIC;AADPsHK;sIAiEOpCI;AADOrBAAlkCF+FO,A;mDA4kCFxFG;iBAKViBG;8GAsBOoIoB;YACGrJG;iBAKViBG;+GAkBEAG;WAOYjBG;oGAwBZiBG;2HA0BSHU;6DAaWAmB;2DAQR2GuB;OADsBv7Ca;qCA6BPAIA8VmBs5CkD,A;iBAhVhCiCuB;qCAgBT3GC;AAAajCAAlwCR2GS,A;uBAmwCR1EI;i4CAwKmBqEQ;qBAGDKO;sCAYA5FAAz8CV8FM,A;AA08CK/FG;qCAMGwFQ;AACF0IkB;AACE1IU;gEAOGKO;gBAELEI;+GAgBMPQ;oMAgBFKO;AACjBnsCAAukEM+lCAA3pHwBmGG,A,A;sFA6lDlBzFAAj/CCPO,A;AAk/CeXM;AACQiBM;AAGPsFW;AACO7FM;AAGP6FW;AACN9FM;AACP8FQ;wDAWVKQ;yDAaEAQ;iEAaFHM;uBAKEGe;AAIFEI;oGAsBAtGAA5qDwBmGG,A;gIAqrDV9FAAnlDb+FG,A;cAqlDSpGAAvrDcmGG,A;uEAgsDV1GAAzlDb2GS,A;mBA8lDIvGAAnoDJyGI,A;GA4oDMxGG;4HAgBOJAAxmDb0GM,A;AAymDGzGG;eAUDCAAzmDIOM,A;wGAinDFgPI;yDAsLPnQAAHKiQG,S;uBAKPjQAALOiQG,I;oCAWDpHO;+DAKO1BI;AACPhEgB;oGAiBO8MM;wBAqCApHM;aAeHsDS;AADPrDe;oBAGF3E0B;AACHiIW;gCASS7LG;cAGV6Ea;AAEa+GW;oBAEThIuB;AACHiIW;kCAKSlMG;cAGV6EgB;AAEuBtbAAx2Df6dI,A;AAy2DK6EW;gCAGXnLAA5hE6BmGQ,A;AA6hEdhHQ;AAKhBiMW;oBAyCHtHS;AACAOQ;qBAuGe8GW;AADPrDW;oBAGsBnJAAIpBiHAAjhEP1qBuB,A,AAkhEHopBM,AACALM,Y;AANG3CAApGA8JC,AAAOtDa,A;qBAqHKqDS;AAFN7NAA7DK7UAAv9DJ6dW,A,A;AAqhEFwBW;oCAGLxGAAvHA8JC,AAAOtDa,A;0CAqIO9HAAttEgBmGQ,A;2DA2tEZ1GAApnEX2GI,A;uCA0nEARAAzjEP1qBuB,A;AA0jEHopBM;AACAIK;CACATM;6BAWekHS;AAFNhOAApGK1UAAz9DJ6dW,A,A;AA8jEFwBW;oCAGLxGAAhKA8JC,AAAOtDa,A;wCA8KO9HG;kDAIVoCgB;sCAKGwDAAhmEP1qBuB,A;AAimEHopBM;AACAIK;CACATM;2BAOekHsB;AADPrDW;oBAMVxJAASYsHAAxnEP1qBuB,A,AAynEHopBO,AACAIM,AACATM,Y;AAfG3CAAnMA8JC,AAAOtDa,A;8BAwNM/BQ;sCAEIKG;AACC3dAA5nEX6dI,A;kCAqoEMPQ;qCAGmBFO;AACZIwB;AAIPGK;AACK3dAA9oEX6dI,A;uCAyqEDjJAAjBO0IU,mB;AAmBDoFG;AADPrDW;oBAMVvJAAUYqHAAlsEP1qBuB,A,AAmsEHopBM,AACAIM,AACAGS,AACgBkBW,AAEdtBI,AAA6BoBK,AAE/B5BM,Y;AArBG3CAA5QA8JC,AAAOtDa,A;yCA2TN9HAA54E6BmGW,A;AA64ErB/GAA/zEFgHG,A;AAg0EUNG;AAChB3GkB;QAIKnCGApBPvUAA/sEQ6duB,A,A;AAquEK6EG;AADPrDW;oBAMV1JAAUYwHAA5vEP1qBuB,A,AA6vEHopBM,AACAIM,AACAGM,AACAZM,Y;AAjBG3CAAtUA8JC,AAAOtDa,A;qBA6WDvKoC;AAEM4NC;AADPrDW;oBAMVrJAAUYmHAAvyEP1qBuB,A,AAwyEHopBO,AACAIM,AACAGM,AACAZM,Y;AAjBG3CAAjXA8JC,AAAOtDa,A;qBAgcD7KAArDbCiB,AADIzUO,AACJyUAAM6CuDM,AAGPsFW,AACO7FM,AAGP6FW,AACN9FM,AACP8FsB,oF,AAjBtB1CY,A;AAyDgB8HG;AADPrDW;oBAMVzJAAUYuHAA13EP1qBuB,A,AA23EHopBO,AACAIM,AACAGM,AACAZM,Y;AAjBG3CAApcA8JC,AAAOtDa,A;uBAyeD1KSAZT3UAA93EU6dwB,A,A;AA44EK6EC;AADPrDW;sCAGLxGAA7eA8JC,AAAOtDa,A;sDAkgBQ/BQ;kCAICKQ;AACXpGAAxlFyBmGe,A;uEAknFvBPAA18EP1qBuB,A;AA28EHopBO;AACAIM;AACAGK;CACAZM;6FA0KoBgJM;AACJmBU;kBAGT1HkB;4LAcHoGW;cAIAAW;cAIAAO;MAESoCI;AAAkBtHG;AAAqBwEU;cAKhDUO;AAEE8BM;AAA2BMG;AAA3BNAAgYDzIU,A;cA3XD2GO;AAAsB3KM;AAAiB+MW;cAIvCpCO;AAAsB5KM;AAAkBgNW;eAIxCpCO;AAAsBxKM;AAAe4MW;cAIrCnCAA0ERDQ,AAAYTS,AACetGQ,A;iEA/DXmJG;AACRpCO;eAIclFG;AAAqBwEU;AAC/BRK;iBAMIsDG;AACRpCO;eAIclFG;AAAqBwEU;AAC/BRK;cAMJkBW;AACACAAqCRDQ,AAAYTS,AACetGQ,A;sCA9BnBgHAA6BRDQ,AAAYTS,AACetGQ,A;cA1BnBiDAAmMS/cAA2CE+ZY,AAAmBqGI,MACtB6CI,AAAkBtHM,AACPzBY,A,AA5C3B2GU,AACAAW,A;eAjMQCAAqBRDQ,AAAYTS,AACetGQ,A;eAlBnB+CAAiMSjCAA4CEbY,AAAmBqGI,MACjB6CI,AAAkBtHM,AACZzBY,A,AA7C3B2GU,AACAAW,A;cA/LY7DAAwMKqFmB,AAMjBxBO,AAAmBnSkB,AACnBmSW,AACACAAnMADQ,AAAYTS,AACetGQ,A,M;wCANhBqGU;aACG8CI;AAAkBtHK;sDAWrBlBkB;uCAIXoGU;uEAaWpGkB;0FAIyCyDoB;kBAM7BxPmB;SAKjBuUM;AACAtHO;AAFQGAAz5BC/HAA3iEsBmGU,A,AA6iEjB/GAA/9DNgHG,A,UAk+DavGAA9+DbyGG,A,AAi/DY2EI,8C;AA+4BxB6BO;AAEY/EkB;AAOZ+EU;4BAMqBoCiB;AAEZ9CQ;sBAGTUO;4BAE4BlFc;AAChB5HAAz9FuBmGY,A;AA29F/B2GO;YAMIlBK;cAMJkBO;+BA+BKVa;AAnBY8C2B;uCAwBI9CU;aAIbAU;cAIRUU;WAIJAU;YAKKVU;iBAGIAwB;AAC0B6BmB;AACbAK;UACcrGM;AACmBhCAAhzFlB1qBc,A;AAizFf0pBM;AAIAJM;AAIADK;AACpBuIO;2BAWAAO;OAIWxGY;kFA0CL8Fc;UAERUO;AAAsBzKM;AAAgB6MY;iBAItCpCO;AAAsB7KM;AAAciNY;0EAOnBlJgB;AAAmBqGI;MACtB6CI;AAAkBtHM;AACPzBY;4DAmBb8HK;8FAUMlIQ;+BAEAFI;sBAOAEQ;gCAGAFI;wBAOL7FAArqGsBmGG,A;2BAuqGR/GAAzlGfgHE,A;IA0lGYjHM;AACP4GQ;gBAEDKK;SAIEhHAAjmGNgHM,A;AAkmGDpGAAhrGwBmGQ,A;wFAurGbrGU;AACPiGQ;QAEDKK;qEA0CDrG8B;AACGmGW;mCAGXkFW;2FA2BOpLAAnwGuBmGG,A;0CA0wGnC7KAAyZ0B0EAAnqHSmGO,A,A;iCAgxGlBCE;AADHxGAA/oGFuGW,A;YAopGAnGAApxGuBmG4B,A;2BA2xGM1GAAprG7B2GK,A;iEA4rGoB3GAA5rGpB2GS,A;mCAmsGgB3GAAnsGhB2GU,A;8EAktGe/FAAvtGf+FS,A;yBAiuGwB3GAA5tGxB2GM,A;kFA2uGwB/FAAhvGxB+FK,A;gJAwwGIzGM;AACAAM;AACGoGgB;AACAAQ;SAGkBDwB;AACAAwB;oBAGjBMO;AACAAI;4DAShB1GAAxwGQ0GM,A;AA0wGR1GAA1wGQ0GK,A;0PA4yGM1FAAtzGN0FQ,A;AAuzGM1FAAvzGN0FO,A;aA4zGsB5GO;AACAAM;AAEQiBM;AAGAAM;AAGPsFW;AACAAQ;yBAKO7FM;AAGAAM;AAGP6FW;AACAAQ;wCAOAFI;YACbOa;6BAOaPI;YACbOe;6BAUfPM;YAEeOa;YAMOnGM;AACAAM;AACP8FW;AACAAQ;0BAIFOS;0BAGEAI;2BAGILM;qCAKcJM;sBAERAM;YACbOe;+BAMVHM;wDAaMpGAAt8GHyGM,A;AAu8GGzGAAv8GHyGQ,A;WAq9GOtHAAnnDLiQG,I;2CAsnDC3II;YAIM0EI;uBAEHjFQ;AACW9ViCA0LjBgeK,A;+BAxLW3HK;wBAITxGK;gBAaFAW;AACAAK;4BAgBIiGQ;2BAUAKO;AACAAO;2CA8CA7FM;AACAAM;AACAwFgB;AACAAQ;aAEFvFAA3iHF8FM,A;AA4iHE9FAA5iHF8FG,A;oCAgjHMFO;AACAAO;iCASPpGAAlpHwBmG+B,A;oCAspHQ1GAA/iH/B2GI,A;wBAojHDpGAA3pHwBmGG,A;qDA8sH1B2F4B;AACE/FQ;oBAEEOI;yDAUD2HI;2sBO7yHRrPS;4BA6BR1jBU;uBA6GOASApCS+jBAAAA/jByB,A,a;sCAqDCqtBE;mMA+DErtBoB;AAAA6pBW;6HAkCPxYM;yJC1TIAM;0DAYV8YQ;2BAMJAsB;OAEgB/IY;mDAqkBFmFa;KACIjEY;wBAGhBfKAyKwBvhBQ,A;AAxKRiX8D;sDAehB+RiB;2DAhBAzHAAyKwBvhBU,A;AAxKRiXK;+CAiCXx2BgB;GAAAAM;sGA2JkBslCqB;6BAGYpCW;AACxBqKM;sHAiCcIG;2CACD3DK;0CAGW9GO;AACxBqKM;mDAuFIGG;wLAkBT6EwB;wBAMgBtMY;AACF6B+B;AACZ/FyB;gDAcI+FiC;gBAEVsB8B;QAGAZmB;wFA8EGiJM;yHGhiCP1KQ;mEAcYkBU;iBAUiB1oBqB;qCAMjB0oBU;sFAoBc1oBiB;6IA0EvBvfiB;oBCk+EDufqB;OAAAAsB;0GC78EOkyBQ;gJAgXNlES;u9EETkChuByC;kBAQ9BAuC;0CEnbMAmB;0HAoBN8fG;o5BEuQH2U4D;CAAAAgD;CAAAAwD;CAAAAyB;CAAAAoD;SAAAAyB;cAAAAqC;CAAAAgD;CAAAAyD;CAAAAyB;CAAAA8D;CAAAAyB;CAAAA8C;qOAyTO1K0G;09BAmFkB/pBAd6pBQsjBiB,A;4acrlBf0GsB;s8BD9RRkFgB;AAED3EO;0BAGFAO;oBAGEAU;mXhB1fJNAgBwMSqJAzBiPX9DiB,A,A;QSvbA1HO;gqBoB9D2B9nBW;sNCq1B1Bw0B0B;8EAwBcx0Bc;qBAGpBw0B6B;wDAMK1UG;21BC/rBa0OiB;28CEvKIxuBe;0DA4gBRAA6BunBKAA/C5kCnBAAApBsBqtBAAAArtBiC,A,A,yB,A;4dkBolBAAe;u8CGjkB1BAAAAAAqDAQEgsBW,sB,A;2ZC3EA2CwD;AAIUlBsB;AADAztBWF4GeuyBc,A;QE5GfvyBAFoH0B2vBK,AAGlBsDAAAAjzBY,A,A;4CE7GlB2yBgBFiHEhEG,A;AE9HFAgF;AAaAgEI;AAVU3yBAFoH0B2vBI,A;AE1GpCgDoB;0EAYAhEoE;AAIUlBgB;AADAztBe;mDAUV2yBW;8DASGwBO;sDAMAAO;iIAMO3WsI;KAAAAI;GACAuTO;uBAIZpC0C;AAEIlBuC;AACFkBK;AAHFAsD;AAIElB2B;iBAsgBFAsB;suBI5kBgBXmE;iOEmBF9sBA/B64CyBsjB6B,A;6SbzlCPuNW;gBAqB5BnDgB;qmBGxMFjCsB;iDA4GAA8B;oEA2COzrB4B;KAAAA8B;2EA0ZqB6vBe;gBAcF7vBoB;QAAAAW;iNA2GJ1YM;qBAAAAAK4Mdm+BQ,A;mML3LgBoL8B;wX2C/vBKgDAA6EStImB,AAAiB0Bc,A;iQA8DhDnHiG;IAAAA2B;KAAAAwC;q0ClB2JEuNkB;uemBjTPxN4BA+BUqCqE,AAEIloBAlC0zCqBsjBoB,A,0B;0EkC5yCpB4JAlC+yCfnKe,K;AkC9yCU7LK;+MzClGclXmB;OAAAAc;mCA+IxBAkC;KAAAAiC;gPA6MwBAU;4CAAAAa;qTA6DAAmB;wCAAAAoB;YAIxBohBe;2CAAAA8B;0wBL67C0B8N+B;wvBAmiCChFa;AAAeAe;8CAOQAe;8BAOlCzCiC;AACAoJS;iEuBz4FI7wBmB;+CAAAAoB;kDAUb8iBAA+PiB8CS,A;oFAhOEAiB;4FAKAAI;gGAUfzBAA+KF0KG,AACJlJqB,A;wQA/JLmJ2BAOSDwB,AACElJI,sF;0WA0EaCI;kFAUAAI;qGAiBD5lB8B;6fAwHlBAU;0BAAAAuB;yUXhTgBkXAAw5CjB8LmB,A;8DAx5CiB9LAAy5CjB+LqB,A;0GAviCGjjBwB;iLAqEM8Xc;kVAmhBfyKwB;AAEEkHoL;q2BAoeK1Ge;6JLl3CA0FkB;qDAMyBD2B;qBAiiCb52CkB;mBAAAAAAytB+Bs5CQ,A;kXO7tD9C/EkB;qUA6FFzDKC2fmB1iBmB,A;ADzfnBuhBKC2kBwBvhBa,A;6FD5fgBAW;2YkC7GtCgvBW;AACKhvBY5B2gBMqRG,cADjBrRAAAAAyBAKciyBC,Y,A,A;Y4B7gBOjyBAAlLjBAA3B80BAAADjvBgBqRiC,A,A,A;c4BqFCrRAAlLjBAA3B80BAAADjvBK40BAAWKxMAA4BL8JK,A,UA1BK7JmBA+DL4JS,A,A,A,A,wC4B/KTjyBAAAAAa,A,A;AA+LEqhBsF;kCAgCSrhBQ;AADLgvBU;oEAIGhvB0D;+DAyDH6mBG;qCAKADG;gEAaE/CI;8DAMAyE2H;wBAUF1BS;sBAOAoIkB;6HAkB0CnIS;QAIrC7mBQ;AADL6mBU;2EASADG;0BACAZW;4BAMEYS;qLjClTMUW;4CACZ3EK;kHAeY2EW;kGAiIPgHW;oBACE7DQ;AAA6B7GAAzB7BsQW,K;mEAyCIzJK;mIAUL2DU;oTAyIkB/cW;gGAalB6gBK;YAQclyByB;QACP0fiD;6DASO1f2B;QACPwzBkD;8GAuGTnMG;iDAQiB/EkB;AACLoEY;sBAQdjmCgB;GAAAAM;gFAQE4mCG;sGAiBiB/EkB;AACLoEY;kCAQdjmCgB;GAAAAM;2LA+IFopCW;sCAMW9De;mJAiBU/lBa;iIA6DrBvfgB;GAAAAM;wFA4BAAmB;GAAAAM;8VA8EyBytCGA7nBlBzDQ,AAAUJAAjEV6JQ,kB,A;mBAgsBkCvQI;eAAAAG;cACDAC;cAAAAS;mBAEP3jBiB;yDAKqB0mBiB;AAC3BXkB;AACqBpCC;UAAAAK;0CAWrBgEAAiGzBgNW,U;oKA3F4C30Ba;qFAUfiuBU;IAAAAC;IAAAAAAttBxBxDQ,AAA+BzCaA3B/BkMG,4B,A;sCAmvBwBl0BoB;mFAOQ2jBW;EAAAAU;iBAElB0KAAxuBdtGU,A;kDA6uBsBpEW;EAAAAQ;gDAGI3jBiB;6EImYXA8B;mNAQlByiBQ;MAAAAMJ5oBFoHqB,S;SMsJ4B7MmB;wRDtiB1BsJG;8CAIctmByB;yDAiDSAG;mBAAAAe;AAC3B4X0C;AACKqOG;yFAciBaI;kFA6FlBboB;iDAEoBsBgCAhM2B2HkB,A;sEA2M5BpIY;kMA+BctDuC;6IA0HjC8LG;0JAWFzBM;OAAAAqDA6BFoDY,A;6VJqkCEjDsB;2IAYAAsB;ygBM9pDKhuBmB;+CAAAAoB;qFAU8BkmBS;6EAGHAS;yoBAqDhCyC2BAOS/FAAoOe8LwB,A,mH;+pBAvGrBxIwB;uCAuEMtDAAgCe8LmB,A;0LAmEnB1uBU;4BAAAAoB;yNsBhamBAkB;uBAAAAQ;QAAAAa;6FA2IUA8B;KAAAAgC;eA6WjB6vBe;4TpBlaf0EU;AACAAACqaJ/JiB,A;ADpaI+Je;oEEuIMrFQ;kBACIlvB+E;wJAoFD+rBAA3B6B/rBAdunCLsjBoB,A,A;yIch5BZtjBAdg5BYsjBiB,A;Cc/4BvBtjBa;4BAEd0rB8H;+GAqHyB1rBAdwxBYsjBiB,A;kKJpuCnCiNM;AAAgCAQ;AAChCFM;AAAqBAQ;qEoB4aAqEW;KACDjEW;KACAvEW;KACAuCW;KACE+BW;KACA6BW;KACC/BY;AACbDc;igCnB/GYlTiB;m4DgB1dM0Tc;6lBQygB1B7wBwB;2KAmGKtGcAxDK0zBAzBhlBN9CAARIFsG,A,A,A;OyBgpBH1wBAAxDK0zBgB,A;mJAqEV+BoE;uBAGmByB6B;2KASanDM;oDAUnBAgB;qbqBjaTztByE;0CAYR8yBA1C+jBAvQS,A;a0C/jBAuQA1C+jBAvQsB,oB;Y0C7jBkB8OiB;+BAEhBjM4C;AAEauIoB;qBAKAwEM;gRpBnSA9CAP+XOHkB,A;+JO7MlBEAA1B0BxOG,aAAAAI,A;oCA+CxB5gBAsBhMc2wBA5BsMA/IApB/IEqEiB,A,A,4B;oF0BmNIXAbjIpBtrBM,A;kCakICmzBActLenzBW,OAAAAW,A;mEd4LW4XqC;uDAvPS8P+NAgC5BrBe,eAAAAAAGhBAAAAAAqC,A,A,A;iUKpBE0G+C;8BAWsC0GAX2JZ5LgB,A;AWhKxBwMkD;sDAKoCZAX2JZ5LApBlJJoEoD,A,A;A+BTX+DaAnCWsCG,oBAOtBQe,AAFWRO,GAAiBlCoC,AAG5B0CoB,AACAAgB,iF;AA6BALgB;AACAAwB;AAGyChFM;AAAPAK;EAAAAQ;AAAOAS;AAK/BtMM;kFAIHDK;AARAWsC;mBAULmLgE;AACgFlVa;mBAG7DAkC;4DAKnBucG;AAhCAAgC;mXA2CFtH+C;gGAcEC+D;4FASyCuBI;yKAuDvCvBK;AAhEFA2C;oJA0EAZAHtFFgGY,A;AGwFEpFK;AA5EAAO;wBA6EgGlVa;uCAEhFAkB;iVAhEoB2VM;AAAPAK;EAAAAQ;AAAOAS;AAKtBtMM;yFAIHDK;AARAWiB;+DAUTmLY;AACiElVa;gGAKjEkVK;AANAAO;AAOiElVa;gDAE/DiVuB;yRAQkB0CY;0LAUyBAE;sfJ4CjDdmD;AACKeiB;AAEHfK;AAHFAgD;UAMwBzJiB;iDAAAzDY;IAGtBNI;mCAIKQI;AADAAsB;AACAAoB;eAEL0SW;wCAGEjDAA7BGzPC,eAAoBRI,A;mMA6CdsM4C;AAAK3VW;gBAEE2Vc;MAChBT2B;AAIiB4GsC;0KAQb5GG;AAZJAyD;uBAgBIAG;AAhBJAmC;8JAmCShtBAvB+nCwBsjBkB,A;AuB1nCjBmKgB;AAAK3VgB;gBAEA2Vc;MACrBTsC;KAE6CSM;AAAd/LoB;AAAc+LwB;AAClC/L0C;SACwB+LI;AAAd/LoB;AAAc+LqB;AAGsBzMuB;MAA3CCe;OAkBXjhBiB;aAWmC6gBa;gBAI/BcY;yPAWY8LqB;AAAYmCkB;AAEZnCkB;AAAYmC2B;AAC3BHI;cAGO9Ne;6BAMboLmC;6JAcc2CuB;AALV0BAAnKCzPC,eAAoBRI,A;qKAiLrBuOuB;iFAEOM6BAlMgCsCO,mC;KAkMhCtCAA7Lb8CqB,AACAAqB,AACAAiB,6F;AA+LELAvBybFlQqB,iB;AuBxbEkQSvBwbFlQqB,e;GuBtbyCkLM;AAAPAa;AAAOAe;AAM/BtMO;mHAIHDK;AATAWmB;4DAWLmL8C;2BAC2FlVa;mBACvE9XAWhZbAuB,A;sBXmZYktBK;yBACQpVe;oEAQzBsZAApNGzPc,AAAoBRI,A;uFAyNbuOkD;AAMZ1CK;AAzBAA6D;AA0B4D0Ca;sNAE5D2EmC;uDAQY3EuB;AALV0BAArOGzPC,eAAoBRI,A;ggBAyP3B4L0C;8DAQoBmCa;aAEdOI;cACJ1CK;AAXFAqC;AAYapLe;AACXqL2C;aAIEyCI;wGAMAzCK;AAVFAuB;gDAYMlNASwCW+PsB,A;ATxCoB/PASwCpB+P2B,A;ATvCbmCSG3e4ByBAVyOR5LApBlJJoEC,A,A,c8BtFOwHAVwOH5LApBlJJoEC,A,A,kB;A2BqZZsDqBGrdOoBAVyMG/IApB/IEqEiB,A,A,4D;qE2B8ZdeK;AAjBNAkD;0BAmB0BhtBAWjenBAQ,A;qBXkeyBktBK;8CAG1BHK;AApCRAqD;AAqCmBpLoB;AAEXqLK;AA1BNAiE;AA4BIAK;AA5BJAqD;AA6BerLe;mCAUX+NuB;sNAWJ1CK;AAlDAA0D;oIA2DyCuBQ;+BAGrC6CAApUCzPC,eAAoBRI,A;oFAyUXuOuE;8KAqFZ1CK;AAxJFA2C;oJAkKAZAC1gBFgGY,A;AD4gBEpFK;AApKAAS;0BAqKwGlVa;mBAEpF9XAWrnBbAuB,A;sBXwnBYktBK;8CACMpVgB;oCAKvBsZAAtbGzPC,eAAoBRI,A;uFA2bbuOoD;AAMZ3CK;AAxMFAiE;AAyMkE2CsB;iPASpDAuB;AALV0BAAtcGzPC,eAAoBRI,A;0aAoVWsMM;AAAPAa;AAAOAY;qBAMtBtMM;qHAOHDK;AAZAWiB;qFAcTmLY;AACiElVa;gGAKjEkVK;AANAAO;AAOiElVa;gDAE/DiVuB;yFASACK;AAlBFAgE;kFAoBEAK;AApBFAyI;sBA6BY0CuB;AALV0BAA3XCzPc,AAAoBRI,A;kXAwYHsOY;0LAUyBAE;ubC/jBjCJAQGMHY,A;gMRkEpBmFkB;mRAwBKnTK;AADAUI;AAD2B6LI;AAAPAK;EAAAAQ;AAAOAS;AAC3B7LkC;iBAEM9JgB;gEAEXucoB;muBA2BGnTK;KARmCuMI;AAAPAK;EAAAAQ;AAAOA4B;AAGrB5MS;AACaII;AAAVwMgB;AAAUxMU;MAEEEI;gJAO3B6K8C;qLAIiCyBM;AAAPAK;EAAAAQ;AAAOAe;AACgBtMM;qEAEnDDK;uCADsCCI;qJAQ3CiRK;CAAAAM;uMAIAxG6E;AAE+BIgC;0BAE/BAgC;8MAOayBgB;AAAUxMU;AAImBwMM;AAAPAK;EAAAAQ;AAAOAS;AAEnBtMoB;SAEkBAM;6FAIpCDK;mCAFwBCI;iSAcMsMM;AAAPAK;EAAAAQ;AAAOAS;AAEVtMoB;4BACpBDK;AAFAWyC;QAGS/JgB;kHEtNG2bAV2NS5LApBlJJoEU,A,A;+U6BdtBpuBA0BjEAyzBU,A;0G1ByEE3CwC;AAC0BlBkC;OAIEAU;OACPxMO;OAETAgB;OACYAU;QACFAQ;OACEAU;OAEZAgB;0BAKVoT4C;qBASwB5GkB;AACAAkB;uTAQT1MO;AAAL0MQ;uDAGd7BwB;mwBAQiCsBK;AACnBpvBAX5FuB8dCA+BHuQK,A,A;iLWiEReK;AACRpvBAXjGmB8dC,A;AW4FvB9dAX5FuB8dAA+BHuQK,A,A;+LWuE5BPM;AAnBNAsC;0BAuBsB6B4C;2BAAZztBADnHyCgxBmB,A;ACsH7CvDa;AAAK9LY;AAIHRI;+GAMFyKM;AApCNAwC;cAsCM6Bc;AAAK9LY;AAIHRI;4JASEmTAnCuFHt0BiB,A;AmCvFuB2zBAP2U5B7CiC,A;AO3UQwDoB;AAAoBXsB;2IAEtB/HM;AArDRAO;kBAsDQ4GUFLN7DwB,OAIF/CM,A;AErDAAqB;AAsDQ4G4C;AAEF/Ec;AAAK9LY;AAKHRI;8SAcFyKM;AA3ENA8B;mIAgFQyIoD;AACA5Gc;AAAK9LY;AASHRI;uQAcJsMc;AAAK9LY;AAQHRI;qIA1DAqRG;4CAiEF5GM;AAvHNAqC;SAyHM6Bc;AAAK9LY;AAKHRI;kIAMoB+LK;AAASpvBAXvNA8dC,A;AW4FvB9dAX5FuB8dAA+BHuQK,A,A;6GW6L1BkIM;AAzDAA8C;AA0DA5Gc;AAAK9LY;AAKHRI;sJAKFyKM;AApJRA2C;AAqJQgHAD/MRjEM,A;ACgHQ6DAFLN7DqC,A;AEoGMiEqB;kDAGAhHM;AAxJRA4D;2DA+JM6Bc;AAAK9LY;AAOHRI;gRAWAkTM;AAjGAA8C;AAkGA5Gc;AAAK9LY;AAKHRI;8IAMFyKM;AA7LRAyC;gGAiMQAM;AAjMRAiD;sFAwMM6BiB;AAI6BpvBAX1SC8dakChBjBsQmB,U,A;AvBsTR9Ke;AAQHRI;6LAOFyKM;AAvNNAkD;gBAyNU0IAnC/EHt0BiB,A;AmC+EuB2zBAPqK5B7CiC,A;AOrKQwDoB;AAAoBXsB;uEAEtB/HM;AA3NRAiC;0BA4NQ8GM;AAtKAFI;AAsKAEAF3LN/DM,A;AEqBM6DAFLN7DkF,A;AE2KM+DI;AAtKAFG;AAsKAEAFvLR9GM,A;AErCAAsB;AA4NQ8G6C;AAGFjFc;AAAK9LY;AAKHRI;mOAWAkTM;AA/JAA8C;AAgKA5Gc;AAAK9LY;AAKHRI;gJAMFyKM;AA3PRA8C;wEA8PQAM;AA9PRA+D;8DAoQM6BiB;AAI+BpvBAXtWD8da,A;AW0SD9dAX1SC8dAkChBjBsQmB,A,A;AvBsXkBpuBAXtWD8dU,A;AWkWzBwFe;AAOHRI;wJAMY+LK;AAASpvBAXpWQ8dC,A;AW4FvB9dAX5FuB8dAA+BHuQK,A,A;0FWyU1BkIM;AArMAA8C;AAsMA5Gc;AAAK9LY;AAKHRI;6GAGJ0RQ;AACAjHM;AA/RNAsB;2GAiSQiHAFvPRjHM,A;AE1CAAwB;AAiSQiHgDFrPRpDI,M;AEwPMhCc;AAAK9LY;AAIHRI;4IAOFyKM;AA/SNA2D;8CAkTMwIM;AA5PE5BI;AA4PF4BAFhPJzFM,A;AEZM6DAFLN7DqC,A;AEiQIyFI;AA5PE5BG;AA4PF4BAF5ONxIM,A;AEtEAAsB;AAkTMwI0C;AAEA3Gc;AAAK9LY;AAIHRI;kHAMFyKM;AA9TNAwC;uEAmUQ6Ba;AAAK9LY;AAMHRI;6GAEFsMa;AAAK9LY;AAKHRI;sSAcFsMc;AAAK9LY;AAKHRI;qHAGJyKM;AAtWNAgC;oKA2WQyIM;AA3RAA8C;AA4RA5Gc;AAAK9LY;AAKHRI;+LAQFsMc;AAAK9LY;AASHRI;2MAEFkTG;AApTAA6B;kBAqTA5Gc;AAAK9LY;AAKHRI;+VAeFsMc;AAAK9LY;AAKHRI;qHAGJyKM;AAjaNAgC;yKAsaQyIM;AAtVAA8C;AAuVA5Gc;AAAK9LY;AAKHRI;4MAaFsMc;AAAK9LY;AAOHRI;iLAEFkTG;AAlXAA6B;kBAmXA5Gc;AAAK9LY;AAKHRI;kLAOJyKM;AA/cNA6C;QAidM6Bc;AAAK9LY;AAKHRI;iHAIJkTM;AA1YIA2B;iYA4Q6CvTS;kDA2DAAS;mtZrCmtBN9gB0B;+NA4T/CwxB0G;CAAAAG;+DAYAC8G;CAAAAG;6DAYACuD;CAAAAG;+DAYiBC2D;CAAAAG;8C0BjgCgCzEAdgoB/CnKc,K;ibmBznBgB2LM;wBuBlhBgB1uBeAsLpBwhBS,AAEhBxhBO,A;" } } From 4b543b09e0f83b4ab131ad627a035df99c9c0a05 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Mon, 22 Sep 2025 15:09:44 +0800 Subject: [PATCH 15/18] update. --- lib/src/core/room.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/core/room.dart b/lib/src/core/room.dart index d0f5303be..edeff4d65 100644 --- a/lib/src/core/room.dart +++ b/lib/src/core/room.dart @@ -230,8 +230,8 @@ class Room extends DisposableChangeNotifier with EventsEmittable { }) async { var roomOptions = this.roomOptions; connectOptions ??= ConnectOptions(); - if (roomOptions.e2eeOptions != null || - roomOptions.encryption != null && engine.e2eeManager == null) { + if ((roomOptions.e2eeOptions != null || roomOptions.encryption != null) && + engine.e2eeManager == null) { if (!lkPlatformSupportsE2EE()) { throw LiveKitE2EEException('E2EE is not supported on this platform'); } From f5c4d632708efb0a20cced6e09a76f6075c50f5b Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Mon, 22 Sep 2025 19:20:44 +0800 Subject: [PATCH 16/18] add the encryptionType to DataStream handlers. --- lib/src/core/engine.dart | 10 ++++-- lib/src/core/room.dart | 61 +++++++++++++++++++++++++--------- lib/src/internal/events.dart | 7 ++++ lib/src/types/data_stream.dart | 7 ++++ 4 files changed, 67 insertions(+), 18 deletions(-) diff --git a/lib/src/core/engine.dart b/lib/src/core/engine.dart index 07cfe9841..44c1d4c1f 100644 --- a/lib/src/core/engine.dart +++ b/lib/src/core/engine.dart @@ -24,6 +24,7 @@ import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc; import 'package:meta/meta.dart'; import '../e2ee/e2ee_manager.dart'; +import '../e2ee/options.dart'; import '../events.dart'; import '../exceptions.dart'; import '../extensions.dart'; @@ -763,13 +764,15 @@ class Engine extends Disposable with EventsEmittable { lk_models.EncryptedPacketPayload.fromBuffer(decryptedData); final newDp = asDataPacket(decryptedPacketPayload); - _emitDataPacket(newDp); + _emitDataPacket(newDp, + encryptionType: dp.encryptedPacket.encryptionType.toLkType()); } else { _emitDataPacket(dp); } } - void _emitDataPacket(lk_models.DataPacket dp) { + void _emitDataPacket(lk_models.DataPacket dp, + {EncryptionType encryptionType = EncryptionType.kNone}) { if (dp.whichValue() == lk_models.DataPacket_Value.speaker) { // Speaker packet events.emit(EngineActiveSpeakersUpdateEvent( @@ -818,6 +821,7 @@ class Engine extends Disposable with EventsEmittable { EngineDataStreamHeaderEvent( header: dp.streamHeader, identity: dp.participantIdentity, + encryptionType: encryptionType, ), ); } else if (dp.whichValue() == lk_models.DataPacket_Value.streamChunk) { @@ -826,6 +830,7 @@ class Engine extends Disposable with EventsEmittable { EngineDataStreamChunkEvent( chunk: dp.streamChunk, identity: dp.participantIdentity, + encryptionType: encryptionType, ), ); } else if (dp.whichValue() == lk_models.DataPacket_Value.streamTrailer) { @@ -834,6 +839,7 @@ class Engine extends Disposable with EventsEmittable { EngineDataStreamTrailerEvent( trailer: dp.streamTrailer, identity: dp.participantIdentity, + encryptionType: encryptionType, ), ); } else { diff --git a/lib/src/core/room.dart b/lib/src/core/room.dart index edeff4d65..36e4abee2 100644 --- a/lib/src/core/room.dart +++ b/lib/src/core/room.dart @@ -18,6 +18,7 @@ import 'package:flutter/foundation.dart' hide internal; import 'package:collection/collection.dart'; import 'package:http/http.dart' as http; +import 'package:livekit_client/src/e2ee/options.dart'; import 'package:meta/meta.dart'; import '../core/signal_client.dart'; @@ -1251,14 +1252,15 @@ extension RoomRPCMethods on Room { extension DataStreamRoomMethods on Room { void _setupDataStreamListeners() { _engineListener - ..on((event) { - handleStreamHeader(event.header, event.identity); + ..on((event) async { + await handleStreamHeader( + event.header, event.identity, event.encryptionType); }) ..on((event) async { - handleStreamChunk(event.chunk); + handleStreamChunk(event.chunk, event.encryptionType); }) - ..on((event) { - handleStreamTrailer(event.trailer); + ..on((event) async { + await handleStreamTrailer(event.trailer, event.encryptionType); }); } @@ -1287,7 +1289,7 @@ extension DataStreamRoomMethods on Room { } Future handleStreamHeader(lk_models.DataStream_Header streamHeader, - String participantIdentity) async { + String participantIdentity, EncryptionType encryptionType) async { if (streamHeader.hasByteHeader()) { final streamHandlerCallback = _byteStreamHandlers[streamHeader.topic]; @@ -1307,6 +1309,7 @@ extension DataStreamRoomMethods on Room { topic: streamHeader.topic, timestamp: streamHeader.timestamp.toInt(), attributes: streamHeader.attributes, + encryptionType: encryptionType, ); final streamController = DataStreamController( @@ -1358,40 +1361,66 @@ extension DataStreamRoomMethods on Room { } } - void handleStreamChunk(lk_models.DataStream_Chunk chunk) { + void handleStreamChunk( + lk_models.DataStream_Chunk chunk, EncryptionType encryptionType) { final fileBuffer = _byteStreamControllers[chunk.streamId]; + if (fileBuffer != null) { + if (fileBuffer.info.encryptionType != encryptionType) { + logger.warning( + 'encryption type mismatch for byte stream ${chunk.streamId}'); + _byteStreamControllers.remove(chunk.streamId); + } + if (chunk.content.isNotEmpty) { fileBuffer.write(chunk); } } final textBuffer = _textStreamControllers[chunk.streamId]; if (textBuffer != null) { + if (textBuffer.info.encryptionType != encryptionType) { + logger.warning( + 'encryption type mismatch for text stream ${chunk.streamId}'); + _textStreamControllers.remove(chunk.streamId); + } if (chunk.content.isNotEmpty) { textBuffer.write(chunk); } } } - void handleStreamTrailer(lk_models.DataStream_Trailer trailer) { + Future handleStreamTrailer(lk_models.DataStream_Trailer trailer, + EncryptionType encryptionType) async { final textBuffer = _textStreamControllers[trailer.streamId]; if (textBuffer != null) { - textBuffer.info.attributes = { - ...textBuffer.info.attributes, - ...trailer.attributes, - }; - textBuffer.close(); - _textStreamControllers.remove(trailer.streamId); + if (textBuffer.info.encryptionType != encryptionType) { + logger.warning( + 'encryption type mismatch for text stream ${trailer.streamId}'); + _textStreamControllers.remove(trailer.streamId); + return; + } else { + textBuffer.info.attributes = { + ...textBuffer.info.attributes, + ...trailer.attributes, + }; + await textBuffer.close(); + _textStreamControllers.remove(trailer.streamId); + } } final fileBuffer = _byteStreamControllers[trailer.streamId]; if (fileBuffer != null) { - { + if (fileBuffer.info.encryptionType != encryptionType) { + logger.warning( + 'encryption type mismatch for byte stream ${trailer.streamId}'); + _byteStreamControllers.remove(trailer.streamId); + return; + } else { fileBuffer.info.attributes = { ...fileBuffer.info.attributes, ...trailer.attributes }; - fileBuffer.close(); + await fileBuffer.close(); _byteStreamControllers.remove(trailer.streamId); } } diff --git a/lib/src/internal/events.dart b/lib/src/internal/events.dart index e59812cc6..1d417a5da 100644 --- a/lib/src/internal/events.dart +++ b/lib/src/internal/events.dart @@ -16,6 +16,7 @@ import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc; import 'package:meta/meta.dart'; +import '../e2ee/options.dart'; import '../events.dart'; import '../proto/livekit_models.pb.dart' as lk_models; import '../proto/livekit_rtc.pb.dart' as lk_rtc; @@ -504,19 +505,23 @@ class EngineRPCAckReceivedEvent with EngineEvent, InternalEvent { class EngineDataStreamHeaderEvent with EngineEvent, InternalEvent { final lk_models.DataStream_Header header; final String identity; + final EncryptionType encryptionType; const EngineDataStreamHeaderEvent({ required this.header, required this.identity, + required this.encryptionType, }); } @internal class EngineDataStreamChunkEvent with EngineEvent, InternalEvent { final lk_models.DataStream_Chunk chunk; + final EncryptionType encryptionType; final String identity; const EngineDataStreamChunkEvent({ required this.chunk, required this.identity, + required this.encryptionType, }); } @@ -524,9 +529,11 @@ class EngineDataStreamChunkEvent with EngineEvent, InternalEvent { class EngineDataStreamTrailerEvent with EngineEvent, InternalEvent { final lk_models.DataStream_Trailer trailer; final String identity; + final EncryptionType encryptionType; const EngineDataStreamTrailerEvent({ required this.trailer, required this.identity, + required this.encryptionType, }); } diff --git a/lib/src/types/data_stream.dart b/lib/src/types/data_stream.dart index 40676fdab..57c6dbb9c 100644 --- a/lib/src/types/data_stream.dart +++ b/lib/src/types/data_stream.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:io' show File; import '../data_stream/stream_reader.dart'; +import '../e2ee/options.dart'; import '../proto/livekit_models.pb.dart' show Encryption_Type, DataStream_Chunk; const kStreamChunkSize = 15_000; @@ -118,6 +119,7 @@ class BaseStreamInfo { int timestamp; int size; Map attributes; + EncryptionType encryptionType; BaseStreamInfo({ required this.id, required this.mimeType, @@ -125,6 +127,7 @@ class BaseStreamInfo { required this.timestamp, required this.size, this.attributes = const {}, + this.encryptionType = EncryptionType.kNone, }); } @@ -155,6 +158,7 @@ class ByteStreamInfo extends BaseStreamInfo { required int timestamp, required int size, Map attributes = const {}, + EncryptionType encryptionType = EncryptionType.kNone, }) : super( id: id, mimeType: mimeType, @@ -162,6 +166,7 @@ class ByteStreamInfo extends BaseStreamInfo { timestamp: timestamp, size: size, attributes: attributes, + encryptionType: encryptionType, ); } @@ -173,6 +178,7 @@ class TextStreamInfo extends BaseStreamInfo { required int timestamp, required int size, Map attributes = const {}, + EncryptionType encryptionType = EncryptionType.kNone, }) : super( id: id, mimeType: mimeType, @@ -180,6 +186,7 @@ class TextStreamInfo extends BaseStreamInfo { timestamp: timestamp, size: size, attributes: attributes, + encryptionType: encryptionType, ); } From f13f96a8324d6261ab3d0ceb5d9aed158d74d071 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Mon, 22 Sep 2025 20:08:43 +0800 Subject: [PATCH 17/18] handle data stream erros. --- lib/src/core/room.dart | 113 ++++++++++++++++++++++--- lib/src/data_stream/errors.dart | 34 ++++++++ lib/src/data_stream/stream_reader.dart | 35 +++++++- lib/src/participant/local.dart | 2 + lib/src/types/data_stream.dart | 9 ++ test/core/data_stream_test.dart | 12 +-- 6 files changed, 185 insertions(+), 20 deletions(-) create mode 100644 lib/src/data_stream/errors.dart diff --git a/lib/src/core/room.dart b/lib/src/core/room.dart index 36e4abee2..17d9d2fd1 100644 --- a/lib/src/core/room.dart +++ b/lib/src/core/room.dart @@ -18,10 +18,11 @@ import 'package:flutter/foundation.dart' hide internal; import 'package:collection/collection.dart'; import 'package:http/http.dart' as http; -import 'package:livekit_client/src/e2ee/options.dart'; import 'package:meta/meta.dart'; +import 'package:livekit_client/src/e2ee/options.dart'; import '../core/signal_client.dart'; +import '../data_stream/errors.dart'; import '../data_stream/stream_reader.dart'; import '../e2ee/e2ee_manager.dart'; import '../events.dart'; @@ -912,6 +913,8 @@ class Room extends DisposableChangeNotifier with EventsEmittable { return false; } + validateParticipantHasNoActiveDataStreams(identity); + await participant.removeAllPublishedTracks(notify: true); emitWhenConnected(ParticipantDisconnectedEvent(participant: participant)); @@ -1265,9 +1268,12 @@ extension DataStreamRoomMethods on Room { } void registerTextStreamHandler(String topic, TextStreamHandler callback) { - if (_textStreamHandlers[topic] != null) { - throw Exception( - 'A text stream handler for topic "${topic}" has already been set.'); + if (_textStreamHandlers.containsKey(topic)) { + throw DataStreamError( + message: + 'A text stream handler for topic "${topic}" has already been set.', + reason: DataStreamErrorReason.HandlerAlreadyRegistered, + ); } _textStreamHandlers[topic] = callback; } @@ -1277,9 +1283,12 @@ extension DataStreamRoomMethods on Room { } void registerByteStreamHandler(String topic, ByteStreamHandler callback) { - if (_byteStreamHandlers[topic] != null) { - throw Exception( - 'A byte stream handler for topic "${topic}" has already been set.'); + if (_byteStreamHandlers.containsKey(topic)) { + throw DataStreamError( + message: + 'A byte stream handler for topic "${topic}" has already been set.', + reason: DataStreamErrorReason.HandlerAlreadyRegistered, + ); } _byteStreamHandlers[topic] = callback; } @@ -1310,6 +1319,7 @@ extension DataStreamRoomMethods on Room { timestamp: streamHeader.timestamp.toInt(), attributes: streamHeader.attributes, encryptionType: encryptionType, + sendingParticipantIdentity: participantIdentity, ); final streamController = DataStreamController( @@ -1318,6 +1328,14 @@ extension DataStreamRoomMethods on Room { startTime: DateTime.timestamp().millisecondsSinceEpoch, ); + if (_byteStreamControllers.containsKey(streamHeader.streamId)) { + throw DataStreamError( + message: + 'A data stream read is already in progress for a stream with id ${streamHeader.streamId}.', + reason: DataStreamErrorReason.AlreadyOpened, + ); + } + _byteStreamControllers[streamHeader.streamId] = streamController; streamHandlerCallback( @@ -1343,6 +1361,8 @@ extension DataStreamRoomMethods on Room { topic: streamHeader.topic, timestamp: streamHeader.timestamp.toInt(), attributes: streamHeader.attributes, + encryptionType: encryptionType, + sendingParticipantIdentity: participantIdentity, ); final streamController = DataStreamController( @@ -1351,6 +1371,14 @@ extension DataStreamRoomMethods on Room { startTime: DateTime.timestamp().millisecondsSinceEpoch, ); + if (_textStreamControllers.containsKey(streamHeader.streamId)) { + throw DataStreamError( + message: + 'A data stream read is already in progress for a stream with id ${streamHeader.streamId}.', + reason: DataStreamErrorReason.AlreadyOpened, + ); + } + _textStreamControllers[streamHeader.streamId] = streamController; streamHandlerCallback( @@ -1367,8 +1395,14 @@ extension DataStreamRoomMethods on Room { if (fileBuffer != null) { if (fileBuffer.info.encryptionType != encryptionType) { - logger.warning( - 'encryption type mismatch for byte stream ${chunk.streamId}'); + fileBuffer.error( + DataStreamError( + message: + 'Encryption type mismatch for stream ${chunk.streamId}. Expected ${encryptionType}, got ${fileBuffer.info.encryptionType}', + reason: DataStreamErrorReason.EncryptionTypeMismatch, + ), + ); + _byteStreamControllers.remove(chunk.streamId); } @@ -1379,6 +1413,14 @@ extension DataStreamRoomMethods on Room { final textBuffer = _textStreamControllers[chunk.streamId]; if (textBuffer != null) { if (textBuffer.info.encryptionType != encryptionType) { + textBuffer.error( + DataStreamError( + message: + 'Encryption type mismatch for stream ${chunk.streamId}. Expected ${encryptionType}, got ${textBuffer.info.encryptionType}', + reason: DataStreamErrorReason.EncryptionTypeMismatch, + ), + ); + logger.warning( 'encryption type mismatch for text stream ${chunk.streamId}'); _textStreamControllers.remove(chunk.streamId); @@ -1394,8 +1436,14 @@ extension DataStreamRoomMethods on Room { final textBuffer = _textStreamControllers[trailer.streamId]; if (textBuffer != null) { if (textBuffer.info.encryptionType != encryptionType) { - logger.warning( - 'encryption type mismatch for text stream ${trailer.streamId}'); + textBuffer.error( + DataStreamError( + message: + 'Encryption type mismatch for stream ${trailer.streamId}. Expected ${encryptionType}, got ${textBuffer.info.encryptionType}', + reason: DataStreamErrorReason.EncryptionTypeMismatch, + ), + ); + _textStreamControllers.remove(trailer.streamId); return; } else { @@ -1411,8 +1459,14 @@ extension DataStreamRoomMethods on Room { final fileBuffer = _byteStreamControllers[trailer.streamId]; if (fileBuffer != null) { if (fileBuffer.info.encryptionType != encryptionType) { - logger.warning( - 'encryption type mismatch for byte stream ${trailer.streamId}'); + fileBuffer.error( + DataStreamError( + message: + 'Encryption type mismatch for stream ${trailer.streamId}. Expected ${encryptionType}, got ${fileBuffer.info.encryptionType}', + reason: DataStreamErrorReason.EncryptionTypeMismatch, + ), + ); + _byteStreamControllers.remove(trailer.streamId); return; } else { @@ -1425,4 +1479,37 @@ extension DataStreamRoomMethods on Room { } } } + + void validateParticipantHasNoActiveDataStreams(String participantIdentity) { + // Terminate any in flight data stream receives from the given participant + final textStreamsBeingSentByDisconnectingParticipant = + _textStreamControllers.values + .where((controller) => + controller.info.sendingParticipantIdentity == + participantIdentity) + .toList(); + + final byteStreamsBeingSentByDisconnectingParticipant = + _byteStreamControllers.values + .where((controller) => + controller.info.sendingParticipantIdentity == + participantIdentity) + .toList(); + if (textStreamsBeingSentByDisconnectingParticipant.isNotEmpty || + byteStreamsBeingSentByDisconnectingParticipant.isNotEmpty) { + final abnormalEndError = DataStreamError( + message: + 'Participant ${participantIdentity} unexpectedly disconnected in the middle of sending data', + reason: DataStreamErrorReason.AbnormalEnd, + ); + for (var controller in byteStreamsBeingSentByDisconnectingParticipant) { + controller.error(abnormalEndError); + _byteStreamControllers.remove(controller.info.id); + } + for (var controller in textStreamsBeingSentByDisconnectingParticipant) { + controller.error(abnormalEndError); + _textStreamControllers.remove(controller.info.id); + } + } + } } diff --git a/lib/src/data_stream/errors.dart b/lib/src/data_stream/errors.dart new file mode 100644 index 000000000..013a970b7 --- /dev/null +++ b/lib/src/data_stream/errors.dart @@ -0,0 +1,34 @@ +enum DataStreamErrorReason { + // Unable to open a stream with the same ID more than once. + AlreadyOpened, + + // Stream closed abnormally by remote participant. + AbnormalEnd, + + // Incoming chunk data could not be decoded. + DecodeFailed, + + // Read length exceeded total length specified in stream header. + LengthExceeded, + + // Read length less than total length specified in stream header. + Incomplete, + + // Unable to register a stream handler more than once. + HandlerAlreadyRegistered, + + // Encryption type mismatch. + EncryptionTypeMismatch, +} + +class DataStreamError implements Exception { + final DataStreamErrorReason reason; + final String message; + + DataStreamError({required this.reason, required this.message}); + + @override + String toString() { + return 'DataStreamError: $reason, $message'; + } +} diff --git a/lib/src/data_stream/stream_reader.dart b/lib/src/data_stream/stream_reader.dart index ce6f96807..14c5450b5 100644 --- a/lib/src/data_stream/stream_reader.dart +++ b/lib/src/data_stream/stream_reader.dart @@ -4,6 +4,7 @@ import 'dart:typed_data'; import '../proto/livekit_models.pb.dart' show DataStream_Chunk; import '../types/data_stream.dart'; +import 'errors.dart'; abstract class BaseStreamReader { DataStreamController? reader; @@ -27,6 +28,26 @@ abstract class BaseStreamReader { Function(double? progress)? onProgress; Future readAll(); + + void validateBytesReceived([bool doneReceiving = false]) { + if (_totalByteSize is! num || _totalByteSize == 0) { + return; + } + + if (doneReceiving && _bytesReceived < _totalByteSize) { + throw DataStreamError( + message: + 'Not enough chunk(s) received - expected $_totalByteSize bytes of data total, only received $_bytesReceived bytes', + reason: DataStreamErrorReason.Incomplete, + ); + } else if (_bytesReceived > _totalByteSize) { + throw DataStreamError( + message: + 'Extra chunk(s) received - expected $_totalByteSize bytes of data total, received $_bytesReceived bytes', + reason: DataStreamErrorReason.LengthExceeded, + ); + } + } } class ByteStreamReader extends BaseStreamReader> @@ -36,6 +57,8 @@ class ByteStreamReader extends BaseStreamReader> @override void handleChunkReceived(DataStream_Chunk chunk) { _bytesReceived += chunk.content.length; + validateBytesReceived(); + final currentProgress = _totalByteSize != null ? _bytesReceived / _totalByteSize : null; onProgress?.call(currentProgress); @@ -88,6 +111,9 @@ class TextStreamReader extends BaseStreamReader } receivedChunks[index] = chunk; _bytesReceived += chunk.content.length; + + validateBytesReceived(); + final currentProgress = _totalByteSize != null ? _bytesReceived / _totalByteSize : null; onProgress?.call(currentProgress); @@ -97,7 +123,14 @@ class TextStreamReader extends BaseStreamReader Future readAll() async { var finalString = ''; await for (final chunk in this) { - finalString += utf8.decode(chunk.content.toList()); + try { + finalString += utf8.decode(chunk.content.toList()); + } catch (e) { + throw DataStreamError( + message: 'Failed to decode chunk data: $e', + reason: DataStreamErrorReason.DecodeFailed, + ); + } } return finalString; } diff --git a/lib/src/participant/local.dart b/lib/src/participant/local.dart index f3c5a9b68..62eba099e 100644 --- a/lib/src/participant/local.dart +++ b/lib/src/participant/local.dart @@ -1246,6 +1246,7 @@ extension DataStreamParticipantMethods on LocalParticipant { timestamp: DateTime.timestamp().millisecondsSinceEpoch, topic: options?.topic ?? '', size: options?.totalSize ?? 0, + sendingParticipantIdentity: identity, ); final header = lk_models.DataStream_Header( @@ -1344,6 +1345,7 @@ extension DataStreamParticipantMethods on LocalParticipant { topic: options?.topic ?? '', size: options?.totalSize ?? 0, attributes: options?.attributes ?? {}, + sendingParticipantIdentity: identity, ); final header = lk_models.DataStream_Header( diff --git a/lib/src/types/data_stream.dart b/lib/src/types/data_stream.dart index 57c6dbb9c..a8052edee 100644 --- a/lib/src/types/data_stream.dart +++ b/lib/src/types/data_stream.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'dart:io' show File; +import 'package:livekit_client/src/data_stream/errors.dart'; import '../data_stream/stream_reader.dart'; import '../e2ee/options.dart'; import '../proto/livekit_models.pb.dart' show Encryption_Type, DataStream_Chunk; @@ -119,6 +120,7 @@ class BaseStreamInfo { int timestamp; int size; Map attributes; + String sendingParticipantIdentity; EncryptionType encryptionType; BaseStreamInfo({ required this.id, @@ -127,6 +129,7 @@ class BaseStreamInfo { required this.timestamp, required this.size, this.attributes = const {}, + this.sendingParticipantIdentity = '', this.encryptionType = EncryptionType.kNone, }); } @@ -146,6 +149,8 @@ class DataStreamController { Future close() => streamController.close(); void write(T chunk) => streamController.add(chunk); + + void error(DataStreamError error) => streamController.addError(error); } class ByteStreamInfo extends BaseStreamInfo { @@ -158,6 +163,7 @@ class ByteStreamInfo extends BaseStreamInfo { required int timestamp, required int size, Map attributes = const {}, + required String sendingParticipantIdentity, EncryptionType encryptionType = EncryptionType.kNone, }) : super( id: id, @@ -166,6 +172,7 @@ class ByteStreamInfo extends BaseStreamInfo { timestamp: timestamp, size: size, attributes: attributes, + sendingParticipantIdentity: sendingParticipantIdentity, encryptionType: encryptionType, ); } @@ -178,6 +185,7 @@ class TextStreamInfo extends BaseStreamInfo { required int timestamp, required int size, Map attributes = const {}, + required String sendingParticipantIdentity, EncryptionType encryptionType = EncryptionType.kNone, }) : super( id: id, @@ -187,6 +195,7 @@ class TextStreamInfo extends BaseStreamInfo { size: size, attributes: attributes, encryptionType: encryptionType, + sendingParticipantIdentity: sendingParticipantIdentity, ); } diff --git a/test/core/data_stream_test.dart b/test/core/data_stream_test.dart index 60fd2e3c6..20f2ee239 100644 --- a/test/core/data_stream_test.dart +++ b/test/core/data_stream_test.dart @@ -271,7 +271,7 @@ void main() { test('Text Stream With File Attachments', () async { const attachedIds = ['file-123', 'file-456', 'file-789']; - + final msg = 'Message with file attachments'; room.registerTextStreamHandler('chat-with-attachments', (TextStreamReader reader, String participantIdentity) async { final text = await reader.readAll(); @@ -282,9 +282,9 @@ void main() { final stream = await room.localParticipant?.streamText(StreamTextOptions( topic: 'chat-with-attachments', attachedStreamIds: attachedIds, - totalSize: 26, // 'Message with file attachments'.length + totalSize: msg.length, // 'Message with file attachments'.length )); - await stream?.write('Message with file attachments'); + await stream?.write(msg); await stream?.close(); }); }); @@ -473,7 +473,7 @@ void main() { // Test passes if we get here without exceptions testCompleter.complete(true); }); - + final msg = 'Header validation test message'; // Send a message with comprehensive options final stream = await room.localParticipant?.streamText(StreamTextOptions( topic: 'header-validation', @@ -487,10 +487,10 @@ void main() { }, attachedStreamIds: ['attachment-1', 'attachment-2'], replyToStreamId: 'parent-message-123', - totalSize: 28, // Length of test message + totalSize: msg.length, // Length of test message )); - await stream?.write('Header validation test message'); + await stream?.write(msg); await stream?.close(); // Wait for the test to complete or timeout From d3df9bbb318b6ddb3504374fbef0bbf334bbde16 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Tue, 23 Sep 2025 11:08:45 +0800 Subject: [PATCH 18/18] update. --- example/lib/pages/prejoin.dart | 1 - lib/src/core/room.dart | 4 ++-- lib/src/e2ee/e2ee_manager.dart | 11 ++++------- lib/src/options.dart | 2 ++ 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/example/lib/pages/prejoin.dart b/example/lib/pages/prejoin.dart index 2e221e776..08ec563b2 100644 --- a/example/lib/pages/prejoin.dart +++ b/example/lib/pages/prejoin.dart @@ -209,7 +209,6 @@ class _PreJoinPageState extends State { videoEncoding: cameraEncoding, screenShareEncoding: screenEncoding, ), - e2eeOptions: e2eeOptions, encryption: e2eeOptions, ), ); diff --git a/lib/src/core/room.dart b/lib/src/core/room.dart index 17d9d2fd1..21f32eaad 100644 --- a/lib/src/core/room.dart +++ b/lib/src/core/room.dart @@ -232,12 +232,12 @@ class Room extends DisposableChangeNotifier with EventsEmittable { }) async { var roomOptions = this.roomOptions; connectOptions ??= ConnectOptions(); - if ((roomOptions.e2eeOptions != null || roomOptions.encryption != null) && + if ((roomOptions.encryption != null || roomOptions.e2eeOptions != null) && engine.e2eeManager == null) { if (!lkPlatformSupportsE2EE()) { throw LiveKitE2EEException('E2EE is not supported on this platform'); } - final e2eeOptions = roomOptions.e2eeOptions ?? roomOptions.encryption; + final e2eeOptions = roomOptions.encryption ?? roomOptions.e2eeOptions; _e2eeManager = E2EEManager(e2eeOptions!.keyProvider, dcEncryptionEnabled: roomOptions.encryption != null); await _e2eeManager!.setup(this); diff --git a/lib/src/e2ee/e2ee_manager.dart b/lib/src/e2ee/e2ee_manager.dart index 69acb7e1f..cf32b9f35 100644 --- a/lib/src/e2ee/e2ee_manager.dart +++ b/lib/src/e2ee/e2ee_manager.dart @@ -121,11 +121,9 @@ class E2EEManager { } } }); - if (_encryptionEnabled && room.roomOptions.encryption != null) { - _dataPacketCryptor ??= - await dataPacketCryptorFactory.createDataPacketCryptor( - algorithm: _algorithm, keyProvider: _keyProvider.keyProvider); - } + _dataPacketCryptor ??= + await dataPacketCryptorFactory.createDataPacketCryptor( + algorithm: _algorithm, keyProvider: _keyProvider.keyProvider); } } @@ -251,8 +249,7 @@ class E2EEManager { } } - bool get isDataChannelEncryptionEnabled => - _encryptionEnabled && _dataPacketCryptor != null; + bool get isDataChannelEncryptionEnabled => _enabled && _encryptionEnabled; Future handleEncryptedData({ required Uint8List data, diff --git a/lib/src/options.dart b/lib/src/options.dart index 200562042..ce9c3c8cf 100644 --- a/lib/src/options.dart +++ b/lib/src/options.dart @@ -113,6 +113,8 @@ class RoomOptions { @Deprecated('Use encryption instead') final E2EEOptions? e2eeOptions; + /// @experimental + /// Options for end-to-end encryption. final E2EEOptions? encryption; /// fast track publication