Version 1.24.0-dev.6.2

Result of running (see https://codereview.chromium.org/2905223002)

git cherry-pick  d60efa87fecf595a5bc62a730d61060552f4365e # https://codereview.chromium.org/2902973004 Obsolete test in svgelement_test
git cherry-pick b4b02daade289729cfffd84bab9dcfe9575876fe # https://codereview.chromium.org/2899173002  Include DDC fixes to dart:html in the main version
git cherry-pick bbfa1dac84980f0b0cb11cbe4b6591d6df43d52e # https://codereview.chromium.org/2903143002  Update lib_strong status for passing svg_element_test
git cherry-pick 0bb2d5e548e8ab40374f64a37c5951905215b0b5 # https://codereview.chromium.org/2899083007  Update DDC html libraries to match SDK
git checkout master pkg/dev_compiler/lib
git commit
git cherry-pick 6f71f9c80b2088df5afa5e8ded7196db120f5b18 # https://codereview.chromium.org/2907563003  Revert "[Experiment] Stop suppressing DragEvent"
git cherry-pick 20dc74984432702dd6de679383c4cea8e0e31e3e # https://codereview.chromium.org/2901213006  Suppress Scale interface - unused.
git cherry-pick d21cc80a5457e68bcd3af4b6b5106e0f08a1ee3b # https://codereview.chromium.org/2899393004  Add a dataTransfer member to MouseEvent
git cherry-pick a865f0ecf225fbffaf393f7b55c715aa64d090b6 # https://codereview.chromium.org/2903333002  Update DDC libraries to match SDK, and debugger_test golden file
cd pkg/dev_compiler
tool/build_sdk.sh
diff --git a/pkg/dev_compiler/lib/js/amd/dart_sdk.js b/pkg/dev_compiler/lib/js/amd/dart_sdk.js
index 3af4bb2..c7708d3 100644
--- a/pkg/dev_compiler/lib/js/amd/dart_sdk.js
+++ b/pkg/dev_compiler/lib/js/amd/dart_sdk.js
@@ -136,6 +136,7 @@
   let JSArrayOfint = () => (JSArrayOfint = dart.constFn(_interceptors.JSArray$(core.int)))();
   let StringTodouble = () => (StringTodouble = dart.constFn(dart.fnTypeFuzzy(core.double, [core.String])))();
   let ListOfint = () => (ListOfint = dart.constFn(core.List$(core.int)))();
+  let JavaScriptIndexingBehavior = () => (JavaScriptIndexingBehavior = dart.constFn(_js_helper.JavaScriptIndexingBehavior$()))();
   let SyncIterator = () => (SyncIterator = dart.constFn(_js_helper.SyncIterator$()))();
   let IterableBase = () => (IterableBase = dart.constFn(collection.IterableBase$()))();
   let SyncIterable = () => (SyncIterable = dart.constFn(_js_helper.SyncIterable$()))();
@@ -543,27 +544,30 @@
   let EventStreamProviderOfClipboardEvent = () => (EventStreamProviderOfClipboardEvent = dart.constFn(html$.EventStreamProvider$(html$.ClipboardEvent)))();
   let EventStreamProviderOfKeyboardEvent = () => (EventStreamProviderOfKeyboardEvent = dart.constFn(html$.EventStreamProvider$(html$.KeyboardEvent)))();
   let EventStreamProviderOfTouchEvent = () => (EventStreamProviderOfTouchEvent = dart.constFn(html$.EventStreamProvider$(html$.TouchEvent)))();
-  let ListOfEntry = () => (ListOfEntry = dart.constFn(core.List$(html$.Entry)))();
   let EventStreamProviderOfProgressEvent = () => (EventStreamProviderOfProgressEvent = dart.constFn(html$.EventStreamProvider$(html$.ProgressEvent)))();
-  let EventStreamProviderOfMediaKeyEvent = () => (EventStreamProviderOfMediaKeyEvent = dart.constFn(html$.EventStreamProvider$(html$.MediaKeyEvent)))();
+  let ListOfAudioTrack = () => (ListOfAudioTrack = dart.constFn(core.List$(html$.AudioTrack)))();
+  let ImmutableListMixin = () => (ImmutableListMixin = dart.constFn(html$.ImmutableListMixin$()))();
+  let JavaScriptIndexingBehaviorOfAudioTrack = () => (JavaScriptIndexingBehaviorOfAudioTrack = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(html$.AudioTrack)))();
   let EventStreamProviderOfMessageEvent = () => (EventStreamProviderOfMessageEvent = dart.constFn(html$.EventStreamProvider$(html$.MessageEvent)))();
   let EventStreamProviderOfPopStateEvent = () => (EventStreamProviderOfPopStateEvent = dart.constFn(html$.EventStreamProvider$(html$.PopStateEvent)))();
   let EventStreamProviderOfStorageEvent = () => (EventStreamProviderOfStorageEvent = dart.constFn(html$.EventStreamProvider$(html$.StorageEvent)))();
+  let ListOfSourceInfo = () => (ListOfSourceInfo = dart.constFn(core.List$(html$.SourceInfo)))();
+  let CompleterOfListOfSourceInfo = () => (CompleterOfListOfSourceInfo = dart.constFn(async.Completer$(ListOfSourceInfo())))();
   let EventStreamProviderOfContextEvent = () => (EventStreamProviderOfContextEvent = dart.constFn(html$.EventStreamProvider$(web_gl.ContextEvent)))();
   let ListOfnum = () => (ListOfnum = dart.constFn(core.List$(core.num)))();
   let ListOfMessagePort = () => (ListOfMessagePort = dart.constFn(core.List$(html$.MessagePort)))();
-  let CompleterOfFileSystem = () => (CompleterOfFileSystem = dart.constFn(async.Completer$(html$.FileSystem)))();
-  let CompleterOfEntry = () => (CompleterOfEntry = dart.constFn(async.Completer$(html$.Entry)))();
   let ListOfCssRule = () => (ListOfCssRule = dart.constFn(core.List$(html$.CssRule)))();
   let IterableOfElement = () => (IterableOfElement = dart.constFn(core.Iterable$(html$.Element)))();
   let IterableOfCssStyleDeclaration = () => (IterableOfCssStyleDeclaration = dart.constFn(core.Iterable$(html$.CssStyleDeclaration)))();
   let ListOfFile = () => (ListOfFile = dart.constFn(core.List$(html$.File)))();
   let CompleterOfString = () => (CompleterOfString = dart.constFn(async.Completer$(core.String)))();
+  let CompleterOfEntry = () => (CompleterOfEntry = dart.constFn(async.Completer$(html$.Entry)))();
   let CompleterOfMetadata = () => (CompleterOfMetadata = dart.constFn(async.Completer$(html$.Metadata)))();
+  let ListOfEntry = () => (ListOfEntry = dart.constFn(core.List$(html$.Entry)))();
   let CompleterOfListOfEntry = () => (CompleterOfListOfEntry = dart.constFn(async.Completer$(ListOfEntry())))();
   let ListOfStyleSheet = () => (ListOfStyleSheet = dart.constFn(core.List$(html$.StyleSheet)))();
   let EventStreamProviderOfSecurityPolicyViolationEvent = () => (EventStreamProviderOfSecurityPolicyViolationEvent = dart.constFn(html$.EventStreamProvider$(html$.SecurityPolicyViolationEvent)))();
-  let ImmutableListMixin = () => (ImmutableListMixin = dart.constFn(html$.ImmutableListMixin$()))();
+  let JavaScriptIndexingBehaviorOfString = () => (JavaScriptIndexingBehaviorOfString = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(core.String)))();
   let ElementAndElementToint = () => (ElementAndElementToint = dart.constFn(dart.fnTypeFuzzy(core.int, [html$.Element, html$.Element])))();
   let ElementTobool = () => (ElementTobool = dart.constFn(dart.fnTypeFuzzy(core.bool, [html$.Element])))();
   let ElementList = () => (ElementList = dart.constFn(html$.ElementList$()))();
@@ -571,27 +575,29 @@
   let _EventStreamOfEvent = () => (_EventStreamOfEvent = dart.constFn(html$._EventStream$(html$.Event)))();
   let _ElementEventStreamImplOfEvent = () => (_ElementEventStreamImplOfEvent = dart.constFn(html$._ElementEventStreamImpl$(html$.Event)))();
   let CompleterOfFileWriter = () => (CompleterOfFileWriter = dart.constFn(async.Completer$(html$.FileWriter)))();
-  let CompleterOfFile$ = () => (CompleterOfFile$ = dart.constFn(async.Completer$(html$.File)))();
+  let CompleterOfBlob = () => (CompleterOfBlob = dart.constFn(async.Completer$(html$.Blob)))();
+  let JavaScriptIndexingBehaviorOfFile = () => (JavaScriptIndexingBehaviorOfFile = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(html$.File)))();
   let ListOfFontFace = () => (ListOfFontFace = dart.constFn(core.List$(html$.FontFace)))();
   let ListOfGamepadButton = () => (ListOfGamepadButton = dart.constFn(core.List$(html$.GamepadButton)))();
   let CompleterOfGeoposition = () => (CompleterOfGeoposition = dart.constFn(async.Completer$(html$.Geoposition)))();
   let StreamControllerOfGeoposition = () => (StreamControllerOfGeoposition = dart.constFn(async.StreamController$(html$.Geoposition)))();
   let EventStreamProviderOfWheelEvent = () => (EventStreamProviderOfWheelEvent = dart.constFn(html$.EventStreamProvider$(html$.WheelEvent)))();
+  let JavaScriptIndexingBehaviorOfNode = () => (JavaScriptIndexingBehaviorOfNode = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(html$.Node)))();
   let _CustomEventStreamProviderOfEvent = () => (_CustomEventStreamProviderOfEvent = dart.constFn(html$._CustomEventStreamProvider$(html$.Event)))();
   let CompleterOfHttpRequest = () => (CompleterOfHttpRequest = dart.constFn(async.Completer$(html$.HttpRequest)))();
   let dynamicToNull = () => (dynamicToNull = dart.constFn(dart.fnTypeFuzzy(core.Null, [dart.dynamic])))();
   let ProgressEventTovoid = () => (ProgressEventTovoid = dart.constFn(dart.fnTypeFuzzy(dart.void, [html$.ProgressEvent])))();
-  let ListOfMap = () => (ListOfMap = dart.constFn(core.List$(core.Map)))();
   let ListOfMediaStreamTrack = () => (ListOfMediaStreamTrack = dart.constFn(core.List$(html$.MediaStreamTrack)))();
-  let ListOfSourceInfo = () => (ListOfSourceInfo = dart.constFn(core.List$(html$.SourceInfo)))();
-  let CompleterOfListOfSourceInfo = () => (CompleterOfListOfSourceInfo = dart.constFn(async.Completer$(ListOfSourceInfo())))();
   let EventStreamProviderOfMidiMessageEvent = () => (EventStreamProviderOfMidiMessageEvent = dart.constFn(html$.EventStreamProvider$(html$.MidiMessageEvent)))();
   let ListOfMimeType = () => (ListOfMimeType = dart.constFn(core.List$(html$.MimeType)))();
+  let JavaScriptIndexingBehaviorOfMimeType = () => (JavaScriptIndexingBehaviorOfMimeType = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(html$.MimeType)))();
   let ListOfMutationRecord = () => (ListOfMutationRecord = dart.constFn(core.List$(html$.MutationRecord)))();
   let _wrapZoneBinaryCallbackOfListOfMutationRecord$MutationObserver$void = () => (_wrapZoneBinaryCallbackOfListOfMutationRecord$MutationObserver$void = dart.constFn(html$._wrapZoneBinaryCallback$(ListOfMutationRecord(), html$.MutationObserver, dart.void)))();
   let CompleterOfMediaStream = () => (CompleterOfMediaStream = dart.constFn(async.Completer$(html$.MediaStream)))();
+  let ListOfMap = () => (ListOfMap = dart.constFn(core.List$(core.Map)))();
   let NodeTobool = () => (NodeTobool = dart.constFn(dart.fnTypeFuzzy(core.bool, [html$.Node])))();
   let ComparatorOfNode = () => (ComparatorOfNode = dart.constFn(core.Comparator$(html$.Node)))();
+  let JavaScriptIndexingBehaviorOfPlugin = () => (JavaScriptIndexingBehaviorOfPlugin = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(html$.Plugin)))();
   let ListOfPlugin = () => (ListOfPlugin = dart.constFn(core.List$(html$.Plugin)))();
   let EventStreamProviderOfRtcDtmfToneChangeEvent = () => (EventStreamProviderOfRtcDtmfToneChangeEvent = dart.constFn(html$.EventStreamProvider$(html$.RtcDtmfToneChangeEvent)))();
   let JSArrayOfMapOfString$String = () => (JSArrayOfMapOfString$String = dart.constFn(_interceptors.JSArray$(MapOfString$String())))();
@@ -602,7 +608,9 @@
   let EventStreamProviderOfRtcIceCandidateEvent = () => (EventStreamProviderOfRtcIceCandidateEvent = dart.constFn(html$.EventStreamProvider$(html$.RtcIceCandidateEvent)))();
   let UnmodifiableListViewOfOptionElement = () => (UnmodifiableListViewOfOptionElement = dart.constFn(collection.UnmodifiableListView$(html$.OptionElement)))();
   let JSArrayOfOptionElement = () => (JSArrayOfOptionElement = dart.constFn(_interceptors.JSArray$(html$.OptionElement)))();
+  let JavaScriptIndexingBehaviorOfSourceBuffer = () => (JavaScriptIndexingBehaviorOfSourceBuffer = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(html$.SourceBuffer)))();
   let ListOfSourceBuffer = () => (ListOfSourceBuffer = dart.constFn(core.List$(html$.SourceBuffer)))();
+  let JavaScriptIndexingBehaviorOfSpeechGrammar = () => (JavaScriptIndexingBehaviorOfSpeechGrammar = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(html$.SpeechGrammar)))();
   let ListOfSpeechGrammar = () => (ListOfSpeechGrammar = dart.constFn(core.List$(html$.SpeechGrammar)))();
   let EventStreamProviderOfSpeechRecognitionError = () => (EventStreamProviderOfSpeechRecognitionError = dart.constFn(html$.EventStreamProvider$(html$.SpeechRecognitionError)))();
   let EventStreamProviderOfSpeechRecognitionEvent = () => (EventStreamProviderOfSpeechRecognitionEvent = dart.constFn(html$.EventStreamProvider$(html$.SpeechRecognitionEvent)))();
@@ -614,11 +622,16 @@
   let _WrappedListOfTableRowElement = () => (_WrappedListOfTableRowElement = dart.constFn(html$._WrappedList$(html$.TableRowElement)))();
   let _WrappedListOfTableCellElement = () => (_WrappedListOfTableCellElement = dart.constFn(html$._WrappedList$(html$.TableCellElement)))();
   let ListOfTextTrackCue = () => (ListOfTextTrackCue = dart.constFn(core.List$(html$.TextTrackCue)))();
+  let JavaScriptIndexingBehaviorOfTextTrackCue = () => (JavaScriptIndexingBehaviorOfTextTrackCue = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(html$.TextTrackCue)))();
   let ListOfTextTrack = () => (ListOfTextTrack = dart.constFn(core.List$(html$.TextTrack)))();
+  let JavaScriptIndexingBehaviorOfTextTrack = () => (JavaScriptIndexingBehaviorOfTextTrack = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(html$.TextTrack)))();
   let EventStreamProviderOfTrackEvent = () => (EventStreamProviderOfTrackEvent = dart.constFn(html$.EventStreamProvider$(html$.TrackEvent)))();
+  let JavaScriptIndexingBehaviorOfTouch = () => (JavaScriptIndexingBehaviorOfTouch = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(html$.Touch)))();
   let ListOfTouch = () => (ListOfTouch = dart.constFn(core.List$(html$.Touch)))();
+  let ListOfTransformComponent = () => (ListOfTransformComponent = dart.constFn(core.List$(html$.TransformComponent)))();
   let EventStreamProviderOfCloseEvent = () => (EventStreamProviderOfCloseEvent = dart.constFn(html$.EventStreamProvider$(html$.CloseEvent)))();
   let CompleterOfnum = () => (CompleterOfnum = dart.constFn(async.Completer$(core.num)))();
+  let CompleterOfFileSystem = () => (CompleterOfFileSystem = dart.constFn(async.Completer$(html$.FileSystem)))();
   let EventStreamProviderOfDeviceMotionEvent = () => (EventStreamProviderOfDeviceMotionEvent = dart.constFn(html$.EventStreamProvider$(html$.DeviceMotionEvent)))();
   let EventStreamProviderOfDeviceOrientationEvent = () => (EventStreamProviderOfDeviceOrientationEvent = dart.constFn(html$.EventStreamProvider$(html$.DeviceOrientationEvent)))();
   let EventStreamProviderOfAnimationEvent = () => (EventStreamProviderOfAnimationEvent = dart.constFn(html$.EventStreamProvider$(html$.AnimationEvent)))();
@@ -629,7 +642,12 @@
   let EventStreamProviderOfBeforeUnloadEvent = () => (EventStreamProviderOfBeforeUnloadEvent = dart.constFn(html$.EventStreamProvider$(html$.BeforeUnloadEvent)))();
   let ElementListOfElement = () => (ElementListOfElement = dart.constFn(html$.ElementList$(html$.Element)))();
   let ListOfRectangleOfnum = () => (ListOfRectangleOfnum = dart.constFn(core.List$(RectangleOfnum())))();
+  let JavaScriptIndexingBehaviorOfRectangleOfnum = () => (JavaScriptIndexingBehaviorOfRectangleOfnum = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(RectangleOfnum())))();
+  let JavaScriptIndexingBehaviorOfCssRule = () => (JavaScriptIndexingBehaviorOfCssRule = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(html$.CssRule)))();
   let ListOfGamepad = () => (ListOfGamepad = dart.constFn(core.List$(html$.Gamepad)))();
+  let JavaScriptIndexingBehaviorOfGamepad = () => (JavaScriptIndexingBehaviorOfGamepad = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(html$.Gamepad)))();
+  let JavaScriptIndexingBehaviorOfSpeechRecognitionResult = () => (JavaScriptIndexingBehaviorOfSpeechRecognitionResult = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(html$.SpeechRecognitionResult)))();
+  let JavaScriptIndexingBehaviorOfStyleSheet = () => (JavaScriptIndexingBehaviorOfStyleSheet = dart.constFn(_js_helper.JavaScriptIndexingBehavior$(html$.StyleSheet)))();
   let SetOfString = () => (SetOfString = dart.constFn(core.Set$(core.String)))();
   let ListOfCssClassSetImpl = () => (ListOfCssClassSetImpl = dart.constFn(core.List$(html_common.CssClassSetImpl)))();
   let LinkedHashSetOfString = () => (LinkedHashSetOfString = dart.constFn(collection.LinkedHashSet$(core.String)))();
@@ -668,9 +686,9 @@
   let ElementTovoid = () => (ElementTovoid = dart.constFn(dart.fnTypeFuzzy(dart.void, [html$.Element])))();
   let ListOfLength = () => (ListOfLength = dart.constFn(core.List$(svg$.Length)))();
   let ListOfNumber = () => (ListOfNumber = dart.constFn(core.List$(svg$.Number)))();
-  let ListOfPathSeg = () => (ListOfPathSeg = dart.constFn(core.List$(svg$.PathSeg)))();
   let ListOfTransform = () => (ListOfTransform = dart.constFn(core.List$(svg$.Transform)))();
   let CompleterOfAudioBuffer = () => (CompleterOfAudioBuffer = dart.constFn(async.Completer$(web_audio.AudioBuffer)))();
+  let FutureOrOfAudioBuffer = () => (FutureOrOfAudioBuffer = dart.constFn(async.FutureOr$(web_audio.AudioBuffer)))();
   let EventStreamProviderOfAudioProcessingEvent = () => (EventStreamProviderOfAudioProcessingEvent = dart.constFn(html$.EventStreamProvider$(web_audio.AudioProcessingEvent)))();
   let VoidToFunctionType = () => (VoidToFunctionType = dart.constFn(dart.fnType(dart.FunctionType, [])))();
   let StringToTypeVariable = () => (StringToTypeVariable = dart.constFn(dart.fnType(dart.TypeVariable, [core.String])))();
@@ -697,7 +715,7 @@
   let StringToNameValuePair = () => (StringToNameValuePair = dart.constFn(dart.fnType(_debugger.NameValuePair, [core.String])))();
   let VoidTodynamic$1 = () => (VoidTodynamic$1 = dart.constFn(dart.fnType(dart.dynamic, [])))();
   let StringTodynamic = () => (StringTodynamic = dart.constFn(dart.fnType(dart.dynamic, [core.String])))();
-  let StringAndString__Todynamic = () => (StringAndString__Todynamic = dart.constFn(dart.fnType(dart.dynamic, [core.String, core.String], [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic])))();
+  let StringAndString__Todynamic = () => (StringAndString__Todynamic = dart.constFn(dart.fnType(dart.dynamic, [core.String, core.String], [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic])))();
   let VoidToIsolateContext = () => (VoidToIsolateContext = dart.constFn(dart.fnType(_foreign_helper.IsolateContext, [])))();
   let dynamicAndFunctionTodynamic = () => (dynamicAndFunctionTodynamic = dart.constFn(dart.fnType(dart.dynamic, [dart.dynamic, core.Function])))();
   let dynamicTovoid$ = () => (dynamicTovoid$ = dart.constFn(dart.fnType(dart.void, [dart.dynamic])))();
@@ -1033,29 +1051,30 @@
   let MapOfString$dynamicTobool = () => (MapOfString$dynamicTobool = dart.constFn(dart.fnType(core.bool, [MapOfString$dynamic()])))();
   let UriAndListOfStringAnddynamicToFutureOfIsolate = () => (UriAndListOfStringAnddynamicToFutureOfIsolate = dart.constFn(dart.fnType(FutureOfIsolate(), [core.Uri, ListOfString(), dart.dynamic])))();
   let TypeAnddynamicTodynamic = () => (TypeAnddynamicTodynamic = dart.constFn(dart.fnType(dart.dynamic, [core.Type, dart.dynamic])))();
-  let FileSystemToNull = () => (FileSystemToNull = dart.constFn(dart.fnType(core.Null, [html$.FileSystem])))();
-  let FileErrorToNull = () => (FileErrorToNull = dart.constFn(dart.fnType(core.Null, [html$.FileError])))();
-  let EntryToNull = () => (EntryToNull = dart.constFn(dart.fnType(core.Null, [html$.Entry])))();
+  let ListOfSourceInfoToNull = () => (ListOfSourceInfoToNull = dart.constFn(dart.fnType(core.Null, [ListOfSourceInfo()])))();
   let dynamicToCssStyleDeclaration = () => (dynamicToCssStyleDeclaration = dart.constFn(dart.fnType(html$.CssStyleDeclaration, [dart.dynamic])))();
   let CssStyleDeclarationTovoid = () => (CssStyleDeclarationTovoid = dart.constFn(dart.fnType(dart.void, [html$.CssStyleDeclaration])))();
+  let EntryToNull = () => (EntryToNull = dart.constFn(dart.fnType(core.Null, [html$.Entry])))();
+  let FileErrorToNull = () => (FileErrorToNull = dart.constFn(dart.fnType(core.Null, [html$.FileError])))();
   let MetadataToNull = () => (MetadataToNull = dart.constFn(dart.fnType(core.Null, [html$.Metadata])))();
   let ListOfEntryToNull = () => (ListOfEntryToNull = dart.constFn(dart.fnType(core.Null, [ListOfEntry()])))();
   let ElementTobool$ = () => (ElementTobool$ = dart.constFn(dart.fnType(core.bool, [html$.Element])))();
   let FileWriterToNull = () => (FileWriterToNull = dart.constFn(dart.fnType(core.Null, [html$.FileWriter])))();
-  let FileToNull = () => (FileToNull = dart.constFn(dart.fnType(core.Null, [html$.File])))();
+  let BlobToNull = () => (BlobToNull = dart.constFn(dart.fnType(core.Null, [html$.Blob])))();
   let GeopositionToNull = () => (GeopositionToNull = dart.constFn(dart.fnType(core.Null, [html$.Geoposition])))();
   let PositionErrorToNull = () => (PositionErrorToNull = dart.constFn(dart.fnType(core.Null, [html$.PositionError])))();
   let HttpRequestToString = () => (HttpRequestToString = dart.constFn(dart.fnType(core.String, [html$.HttpRequest])))();
   let ProgressEventToNull = () => (ProgressEventToNull = dart.constFn(dart.fnType(core.Null, [html$.ProgressEvent])))();
-  let ListOfSourceInfoToNull = () => (ListOfSourceInfoToNull = dart.constFn(dart.fnType(core.Null, [ListOfSourceInfo()])))();
   let MediaStreamToNull = () => (MediaStreamToNull = dart.constFn(dart.fnType(core.Null, [html$.MediaStream])))();
   let NavigatorUserMediaErrorToNull = () => (NavigatorUserMediaErrorToNull = dart.constFn(dart.fnType(core.Null, [html$.NavigatorUserMediaError])))();
   let RtcSessionDescriptionToNull = () => (RtcSessionDescriptionToNull = dart.constFn(dart.fnType(core.Null, [html$.RtcSessionDescription])))();
+  let DomExceptionToNull = () => (DomExceptionToNull = dart.constFn(dart.fnType(core.Null, [html$.DomException])))();
   let RtcStatsResponseToNull = () => (RtcStatsResponseToNull = dart.constFn(dart.fnType(core.Null, [html$.RtcStatsResponse])))();
   let OptionElementTobool = () => (OptionElementTobool = dart.constFn(dart.fnType(core.bool, [html$.OptionElement])))();
   let numToNull = () => (numToNull = dart.constFn(dart.fnType(core.Null, [core.num])))();
+  let FileSystemToNull = () => (FileSystemToNull = dart.constFn(dart.fnType(core.Null, [html$.FileSystem])))();
   let BeforeUnloadEventToNull = () => (BeforeUnloadEventToNull = dart.constFn(dart.fnType(core.Null, [html$.BeforeUnloadEvent])))();
-  let ElementTonum = () => (ElementTonum = dart.constFn(dart.fnType(core.num, [html$.Element])))();
+  let ElementTovoid$ = () => (ElementTovoid$ = dart.constFn(dart.fnType(dart.void, [html$.Element])))();
   let ElementToCssClassSet = () => (ElementToCssClassSet = dart.constFn(dart.fnType(html$.CssClassSet, [html$.Element])))();
   let CssClassSetImplTovoid = () => (CssClassSetImplTovoid = dart.constFn(dart.fnType(dart.void, [html_common.CssClassSetImpl])))();
   let boolAndCssClassSetImplTobool = () => (boolAndCssClassSetImplTobool = dart.constFn(dart.fnType(core.bool, [core.bool, html_common.CssClassSetImpl])))();
@@ -1071,8 +1090,8 @@
   let dynamicToWindowBase = () => (dynamicToWindowBase = dart.constFn(dart.fnType(html$.WindowBase, [dart.dynamic])))();
   let dynamicToEventTarget = () => (dynamicToEventTarget = dart.constFn(dart.fnType(html$.EventTarget, [dart.dynamic])))();
   let dynamicAnddynamicAnddynamic__Todynamic = () => (dynamicAnddynamicAnddynamic__Todynamic = dart.constFn(dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic])))();
+  let ElementAndStringAndStringTovoid = () => (ElementAndStringAndStringTovoid = dart.constFn(dart.fnType(dart.void, [html$.Element, core.String, core.String])))();
   let dynamicAnddynamicAndString__Tovoid = () => (dynamicAnddynamicAndString__Tovoid = dart.constFn(dart.fnType(dart.void, [dart.dynamic, dart.dynamic, core.String, core.Type, core.String])))();
-  let ElementTovoid$ = () => (ElementTovoid$ = dart.constFn(dart.fnType(dart.void, [html$.Element])))();
   let _wrapZoneCallbackOfA$RTo_wrapZoneCallbackOfA$R = () => (_wrapZoneCallbackOfA$RTo_wrapZoneCallbackOfA$R = dart.constFn(dart.gFnType((A, R) => [html$._wrapZoneCallback$(A, R), [html$._wrapZoneCallback$(A, R)]])))();
   let _wrapZoneBinaryCallbackOfA$B$RTo_wrapZoneBinaryCallbackOfA$B$R = () => (_wrapZoneBinaryCallbackOfA$B$RTo_wrapZoneBinaryCallbackOfA$B$R = dart.constFn(dart.gFnType((A, B, R) => [html$._wrapZoneBinaryCallback$(A, B, R), [html$._wrapZoneBinaryCallback$(A, B, R)]])))();
   let StringToElement = () => (StringToElement = dart.constFn(dart.fnType(html$.Element, [core.String])))();
@@ -1085,7 +1104,6 @@
   let DateTimeTodynamic = () => (DateTimeTodynamic = dart.constFn(dart.fnType(dart.dynamic, [core.DateTime])))();
   let dynamic__Todynamic = () => (dynamic__Todynamic = dart.constFn(dart.fnType(dart.dynamic, [dart.dynamic], {mustCopy: dart.dynamic})))();
   let NodeToElement = () => (NodeToElement = dart.constFn(dart.fnType(html$.Element, [html$.Node])))();
-  let AudioBufferToNull = () => (AudioBufferToNull = dart.constFn(dart.fnType(core.Null, [web_audio.AudioBuffer])))();
   dart.mixin = function(base, ...mixins) {
     class Mixin extends base {}
     let constructor = Mixin.prototype.constructor;
@@ -4527,7 +4545,7 @@
     return dart.getModuleLibraries(name);
   };
   dart.lazyFn(_debugger.getModuleLibraries, () => StringTodynamic());
-  _foreign_helper.JS = function(typeDescription, codeTemplate, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) {
+  _foreign_helper.JS = function(typeDescription, codeTemplate, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19) {
     if (arg0 === void 0) arg0 = null;
     if (arg1 === void 0) arg1 = null;
     if (arg2 === void 0) arg2 = null;
@@ -4540,6 +4558,14 @@
     if (arg9 === void 0) arg9 = null;
     if (arg10 === void 0) arg10 = null;
     if (arg11 === void 0) arg11 = null;
+    if (arg12 === void 0) arg12 = null;
+    if (arg13 === void 0) arg13 = null;
+    if (arg14 === void 0) arg14 = null;
+    if (arg15 === void 0) arg15 = null;
+    if (arg16 === void 0) arg16 = null;
+    if (arg17 === void 0) arg17 = null;
+    if (arg18 === void 0) arg18 = null;
+    if (arg19 === void 0) arg19 = null;
   };
   dart.lazyFn(_foreign_helper.JS, () => StringAndString__Todynamic());
   _foreign_helper.JSExportName = class JSExportName extends core.Object {
@@ -12644,7 +12670,12 @@
   dart.setSignature(_js_helper.JSName, {
     fields: () => ({name: dart.finalFieldType(core.String)})
   });
-  _js_helper.JavaScriptIndexingBehavior = class JavaScriptIndexingBehavior extends core.Object {};
+  _js_helper.JavaScriptIndexingBehavior$ = dart.generic(E => {
+    class JavaScriptIndexingBehavior extends core.Object {}
+    dart.addTypeTests(JavaScriptIndexingBehavior);
+    return JavaScriptIndexingBehavior;
+  });
+  _js_helper.JavaScriptIndexingBehavior = JavaScriptIndexingBehavior();
   _js_helper.TypeErrorImplementation = class TypeErrorImplementation extends core.Error {
     new(value, actualType, expectedType) {
       this.message = dart.str`Type '${actualType}' is not a subtype ` + dart.str`of type '${expectedType}'`;
@@ -57562,7 +57593,7 @@
     fields: () => ({
       [dartx.name]: dart.finalFieldType(core.String),
       [dartx.objectStoreNames]: dart.finalFieldType(ListOfString()),
-      [dartx.version]: dart.finalFieldType(core.Object)
+      [dartx.version]: dart.finalFieldType(core.int)
     }),
     getters: () => ({
       [dartx.onAbort]: dart.fnType(async.Stream$(html$.Event), []),
@@ -58282,7 +58313,7 @@
   const transaction$ = Symbol("Request.transaction");
   dart.setSignature(indexed_db.Request, {
     fields: () => ({
-      [dartx.error]: dart.finalFieldType(html$.DomError),
+      [dartx.error]: dart.finalFieldType(html$.DomException),
       [dartx.readyState]: dart.finalFieldType(core.String),
       [_get_result]: dart.finalFieldType(dart.dynamic),
       [dartx.source]: dart.finalFieldType(core.Object),
@@ -58400,7 +58431,7 @@
   dart.setSignature(indexed_db.Transaction, {
     fields: () => ({
       [dartx.db]: dart.finalFieldType(indexed_db.Database),
-      [dartx.error]: dart.finalFieldType(html$.DomError),
+      [dartx.error]: dart.finalFieldType(html$.DomException),
       [dartx.mode]: dart.finalFieldType(core.String),
       [dartx.objectStoreNames]: dart.finalFieldType(ListOfString())
     }),
@@ -58436,6 +58467,7 @@
     'matchingTarget',
     'currentTarget',
     'target',
+    'deepPath',
     'preventDefault',
     'stopImmediatePropagation',
     'stopPropagation',
@@ -58443,7 +58475,9 @@
     'cancelable',
     'defaultPrevented',
     'eventPhase',
+    'isTrusted',
     'path',
+    'scoped',
     'timeStamp',
     'type'
   ]);
@@ -58511,9 +58545,15 @@
     get [dartx.eventPhase]() {
       return this.eventPhase;
     }
+    get [dartx.isTrusted]() {
+      return this.isTrusted;
+    }
     get [dartx.path]() {
       return this.path;
     }
+    get [dartx.scoped]() {
+      return this.scoped;
+    }
     get [dartx.target]() {
       return html$._convertNativeToDart_EventTarget(this[_get_target]);
     }
@@ -58526,6 +58566,9 @@
     get [dartx.type]() {
       return this.type;
     }
+    [dartx.deepPath](...args) {
+      return this.deepPath.apply(this, args);
+    }
     [_initEvent](...args) {
       return this.initEvent.apply(this, args);
     }
@@ -58543,7 +58586,9 @@
   const cancelable = Symbol("Event.cancelable");
   const defaultPrevented = Symbol("Event.defaultPrevented");
   const eventPhase = Symbol("Event.eventPhase");
+  const isTrusted = Symbol("Event.isTrusted");
   const path$2 = Symbol("Event.path");
+  const scoped = Symbol("Event.scoped");
   const timeStamp = Symbol("Event.timeStamp");
   const type$2 = Symbol("Event.type");
   dart.setSignature(html$.Event, {
@@ -58554,9 +58599,11 @@
       [_get_currentTarget]: dart.finalFieldType(dart.dynamic),
       [dartx.defaultPrevented]: dart.finalFieldType(core.bool),
       [dartx.eventPhase]: dart.finalFieldType(core.int),
+      [dartx.isTrusted]: dart.finalFieldType(core.bool),
       [dartx.path]: dart.finalFieldType(ListOfEventTarget()),
+      [dartx.scoped]: dart.finalFieldType(core.bool),
       [_get_target]: dart.finalFieldType(dart.dynamic),
-      [dartx.timeStamp]: dart.finalFieldType(core.int),
+      [dartx.timeStamp]: dart.finalFieldType(core.double),
       [dartx.type]: dart.finalFieldType(core.String)
     }),
     getters: () => ({
@@ -58565,6 +58612,7 @@
       [dartx.target]: dart.fnType(html$.EventTarget, [])
     }),
     methods: () => ({
+      [dartx.deepPath]: dart.fnType(core.List$(html$.EventTarget), []),
       [_initEvent]: dart.fnType(dart.void, [core.String, core.bool, core.bool]),
       [dartx.preventDefault]: dart.fnType(dart.void, []),
       [dartx.stopImmediatePropagation]: dart.fnType(dart.void, []),
@@ -58657,6 +58705,8 @@
   const _xtag = Symbol('_xtag');
   const _attributes$ = Symbol('_attributes');
   const _innerHtml = Symbol('_innerHtml');
+  const _localName = Symbol('_localName');
+  const _namespaceUri = Symbol('_namespaceUri');
   const _scrollHeight = Symbol('_scrollHeight');
   const _scrollLeft = Symbol('_scrollLeft');
   const _scrollTop = Symbol('_scrollTop');
@@ -58668,8 +58718,6 @@
   const _querySelectorAll = Symbol('_querySelectorAll');
   const _getComputedStyle = Symbol('_getComputedStyle');
   const _animate = Symbol('_animate');
-  const _localName = Symbol('_localName');
-  const _namespaceUri = Symbol('_namespaceUri');
   const _scrollIntoView = Symbol('_scrollIntoView');
   const _scrollIntoViewIfNeeded = Symbol('_scrollIntoViewIfNeeded');
   const _insertAdjacentText = Symbol('_insertAdjacentText');
@@ -58678,6 +58726,7 @@
   const _insertAdjacentElement = Symbol('_insertAdjacentElement');
   const _canBeUsedToCreateContextualFragment = Symbol('_canBeUsedToCreateContextualFragment');
   const _cannotBeUsedToCreateContextualFragment = Symbol('_cannotBeUsedToCreateContextualFragment');
+  const _attachShadow_1 = Symbol('_attachShadow_1');
   const _getElementsByTagName = Symbol('_getElementsByTagName');
   const _hasAttribute = Symbol('_hasAttribute');
   const _hasAttributeNS = Symbol('_hasAttributeNS');
@@ -58720,7 +58769,8 @@
     'parent',
     'parentNode',
     'previousNode',
-    'text'
+    'text',
+    'treeRoot'
   ]);
   html$.Node = class Node extends html$.EventTarget {
     _created() {
@@ -58728,8 +58778,6 @@
       this[baseUri] = null;
       this[firstChild] = null;
       this[lastChild] = null;
-      this[_localName] = null;
-      this[_namespaceUri] = null;
       this[nextNode] = null;
       this[nodeName] = null;
       this[nodeType] = null;
@@ -58739,6 +58787,7 @@
       this[parentNode] = null;
       this[previousNode] = null;
       this[text] = null;
+      this[treeRoot] = null;
       super._created();
     }
     get [dartx.nodes]() {
@@ -58806,12 +58855,6 @@
     get [dartx.lastChild]() {
       return this.lastChild;
     }
-    get [_localName]() {
-      return this.localName;
-    }
-    get [_namespaceUri]() {
-      return this.namespaceURI;
-    }
     get [dartx.nextNode]() {
       return this.nextSibling;
     }
@@ -58842,6 +58885,9 @@
     set [dartx.text](value) {
       this.textContent = value;
     }
+    get [dartx.treeRoot]() {
+      return this.treeRoot;
+    }
     [dartx.append](...args) {
       return this.appendChild.apply(this, args);
     }
@@ -58878,14 +58924,13 @@
   const parentNode = Symbol("Node.parentNode");
   const previousNode = Symbol("Node.previousNode");
   const text = Symbol("Node.text");
+  const treeRoot = Symbol("Node.treeRoot");
   dart.setSignature(html$.Node, {
     fields: () => ({
       [dartx.childNodes]: dart.finalFieldType(ListOfNode()),
       [dartx.baseUri]: dart.finalFieldType(core.String),
       [dartx.firstChild]: dart.finalFieldType(html$.Node),
       [dartx.lastChild]: dart.finalFieldType(html$.Node),
-      [_localName]: dart.finalFieldType(core.String),
-      [_namespaceUri]: dart.finalFieldType(core.String),
       [dartx.nextNode]: dart.finalFieldType(html$.Node),
       [dartx.nodeName]: dart.finalFieldType(core.String),
       [dartx.nodeType]: dart.finalFieldType(core.int),
@@ -58894,7 +58939,8 @@
       [dartx.parent]: dart.finalFieldType(html$.Element),
       [dartx.parentNode]: dart.finalFieldType(html$.Node),
       [dartx.previousNode]: dart.finalFieldType(html$.Node),
-      [dartx.text]: dart.fieldType(core.String)
+      [dartx.text]: dart.fieldType(core.String),
+      [dartx.treeRoot]: dart.finalFieldType(html$.Node)
     }),
     getters: () => ({[dartx.nodes]: dart.fnType(core.List$(html$.Node), [])}),
     setters: () => ({[dartx.nodes]: dart.fnType(dart.void, [IterableOfNode()])}),
@@ -59014,6 +59060,7 @@
     'click',
     'focus',
     'outerHtml',
+    'attachShadow',
     'closest',
     'getAnimations',
     'getAttribute',
@@ -59027,10 +59074,10 @@
     'scroll',
     'scrollBy',
     'scrollTo',
+    'setApplyScroll',
     'setAttribute',
     'setAttributeNS',
-    'after',
-    'before',
+    'setDistributeScroll',
     'querySelector',
     'onAbort',
     'onBeforeCopy',
@@ -59114,6 +59161,7 @@
     'title',
     'translate',
     'dropzone',
+    'assignedSlot',
     'className',
     'clientHeight',
     'clientLeft',
@@ -59122,6 +59170,7 @@
     'computedName',
     'computedRole',
     'id',
+    'slot',
     'tagName',
     'nextElementSibling',
     'previousElementSibling'
@@ -59148,6 +59197,7 @@
       this[title] = null;
       this[translate] = null;
       this[dropzone] = null;
+      this[assignedSlot] = null;
       this[_attributes$] = null;
       this[className] = null;
       this[clientHeight] = null;
@@ -59158,10 +59208,13 @@
       this[computedRole] = null;
       this[id] = null;
       this[_innerHtml] = null;
+      this[_localName] = null;
+      this[_namespaceUri] = null;
       this[_scrollHeight] = null;
       this[_scrollLeft] = null;
       this[_scrollTop] = null;
       this[_scrollWidth] = null;
+      this[slot] = null;
       this[tagName] = null;
       this[nextElementSibling] = null;
       this[previousElementSibling] = null;
@@ -59176,7 +59229,7 @@
       return html$.Element._check(html$._ElementFactoryProvider.createElement_tag(tag, typeExtention));
     }
     static a() {
-      return html$.Element.tag('a');
+      return html$.AnchorElement.new();
     }
     static article() {
       return html$.Element.tag('article');
@@ -59188,13 +59241,13 @@
       return html$.Element.tag('audio');
     }
     static br() {
-      return html$.Element.tag('br');
+      return html$.BRElement.new();
     }
     static canvas() {
-      return html$.Element.tag('canvas');
+      return html$.CanvasElement.new();
     }
     static div() {
-      return html$.Element.tag('div');
+      return html$.DivElement.new();
     }
     static footer() {
       return html$.Element.tag('footer');
@@ -59562,6 +59615,9 @@
         base.href = html$.document[dartx.baseUri];
         html$.Element._parseDocument[dartx.head][dartx.append](base);
       }
+      if (html$.Element._parseDocument.body == null) {
+        html$.Element._parseDocument.body = html$.BodyElement._check(html$.Element._parseDocument[dartx.createElement]("body"));
+      }
       let contextElement = null;
       if (html$.BodyElement.is(this)) {
         contextElement = html$.Element._parseDocument.body;
@@ -59770,6 +59826,9 @@
     [dartx.focus](...args) {
       return this.focus.apply(this, args);
     }
+    get [dartx.assignedSlot]() {
+      return this.assignedSlot;
+    }
     get [_attributes$]() {
       return this.attributes;
     }
@@ -59809,6 +59868,12 @@
     set [_innerHtml](value) {
       this.innerHTML = value;
     }
+    get [_localName]() {
+      return this.localName;
+    }
+    get [_namespaceUri]() {
+      return this.namespaceURI;
+    }
     get [dartx.outerHtml]() {
       return this.outerHTML;
     }
@@ -59830,9 +59895,22 @@
     get [_scrollWidth]() {
       return this.scrollWidth;
     }
+    get [dartx.slot]() {
+      return this.slot;
+    }
+    set [dartx.slot](value) {
+      this.slot = value;
+    }
     get [dartx.tagName]() {
       return this.tagName;
     }
+    [dartx.attachShadow](shadowRootInitDict) {
+      let shadowRootInitDict_1 = html_common.convertDartToNative_Dictionary(shadowRootInitDict);
+      return this[_attachShadow_1](shadowRootInitDict_1);
+    }
+    [_attachShadow_1](...args) {
+      return this.attachShadow.apply(this, args);
+    }
     [dartx.closest](...args) {
       return this.closest.apply(this, args);
     }
@@ -59965,17 +60043,17 @@
     [_scrollTo_3](...args) {
       return this.scrollTo.apply(this, args);
     }
+    [dartx.setApplyScroll](...args) {
+      return this.setApplyScroll.apply(this, args);
+    }
     [dartx.setAttribute](...args) {
       return this.setAttribute.apply(this, args);
     }
     [dartx.setAttributeNS](...args) {
       return this.setAttributeNS.apply(this, args);
     }
-    [dartx.after](...args) {
-      return this.after.apply(this, args);
-    }
-    [dartx.before](...args) {
-      return this.before.apply(this, args);
+    [dartx.setDistributeScroll](...args) {
+      return this.setDistributeScroll.apply(this, args);
     }
     get [dartx.nextElementSibling]() {
       return this.nextElementSibling;
@@ -60223,6 +60301,7 @@
   const title = Symbol("Element.title");
   const translate = Symbol("Element.translate");
   const dropzone = Symbol("Element.dropzone");
+  const assignedSlot = Symbol("Element.assignedSlot");
   const className = Symbol("Element.className");
   const clientHeight = Symbol("Element.clientHeight");
   const clientLeft = Symbol("Element.clientLeft");
@@ -60231,6 +60310,7 @@
   const computedName = Symbol("Element.computedName");
   const computedRole = Symbol("Element.computedRole");
   const id = Symbol("Element.id");
+  const slot = Symbol("Element.slot");
   const tagName = Symbol("Element.tagName");
   const nextElementSibling = Symbol("Element.nextElementSibling");
   const previousElementSibling = Symbol("Element.previousElementSibling");
@@ -60251,6 +60331,7 @@
       [dartx.title]: dart.fieldType(core.String),
       [dartx.translate]: dart.fieldType(core.bool),
       [dartx.dropzone]: dart.fieldType(core.String),
+      [dartx.assignedSlot]: dart.finalFieldType(html$.SlotElement),
       [_attributes$]: dart.finalFieldType(html$._NamedNodeMap),
       [dartx.className]: dart.fieldType(core.String),
       [dartx.clientHeight]: dart.finalFieldType(core.int),
@@ -60261,10 +60342,13 @@
       [dartx.computedRole]: dart.finalFieldType(core.String),
       [dartx.id]: dart.fieldType(core.String),
       [_innerHtml]: dart.fieldType(core.String),
+      [_localName]: dart.finalFieldType(core.String),
+      [_namespaceUri]: dart.finalFieldType(core.String),
       [_scrollHeight]: dart.finalFieldType(core.int),
       [_scrollLeft]: dart.fieldType(core.num),
       [_scrollTop]: dart.fieldType(core.num),
       [_scrollWidth]: dart.finalFieldType(core.int),
+      [dartx.slot]: dart.fieldType(core.String),
       [dartx.tagName]: dart.finalFieldType(core.String),
       [dartx.nextElementSibling]: dart.finalFieldType(html$.Element),
       [dartx.previousElementSibling]: dart.finalFieldType(html$.Element),
@@ -60415,6 +60499,8 @@
       [dartx.blur]: dart.fnType(dart.void, []),
       [dartx.click]: dart.fnType(dart.void, []),
       [dartx.focus]: dart.fnType(dart.void, []),
+      [dartx.attachShadow]: dart.fnType(html$.ShadowRoot, [core.Map]),
+      [_attachShadow_1]: dart.fnType(html$.ShadowRoot, [dart.dynamic]),
       [dartx.closest]: dart.fnType(html$.Element, [core.String]),
       [dartx.getAnimations]: dart.fnType(core.List$(html$.Animation), []),
       [dartx.getAttribute]: dart.fnType(core.String, [core.String]),
@@ -60444,10 +60530,10 @@
       [_scrollTo_1]: dart.fnType(dart.void, []),
       [_scrollTo_2]: dart.fnType(dart.void, [dart.dynamic]),
       [_scrollTo_3]: dart.fnType(dart.void, [core.num, dart.dynamic]),
+      [dartx.setApplyScroll]: dart.fnType(dart.void, [html$.ScrollStateCallback, core.String]),
       [dartx.setAttribute]: dart.fnType(dart.void, [core.String, core.String]),
       [dartx.setAttributeNS]: dart.fnType(dart.void, [core.String, core.String, core.String]),
-      [dartx.after]: dart.fnType(dart.void, [core.Object]),
-      [dartx.before]: dart.fnType(dart.void, [core.Object]),
+      [dartx.setDistributeScroll]: dart.fnType(dart.void, [html$.ScrollStateCallback, core.String]),
       [dartx.querySelector]: dart.fnType(html$.Element, [core.String]),
       [_querySelectorAll]: dart.fnType(core.List$(html$.Node), [core.String])
     }),
@@ -60701,9 +60787,6 @@
   };
   dart.defineNamedConstructor(html$.HtmlElement, 'created');
   dart.registerExtension(dart.global.HTMLElement, html$.HtmlElement);
-  html$._EntryArray = class _EntryArray extends core.Object {};
-  html$._EntryArray[dart.implements] = () => [ListOfEntry()];
-  dart.registerExtension(dart.global.EntryArray, html$._EntryArray);
   html$.spawnDomUri = function(uri, args, message) {
     dart.throw(new core.UnimplementedError());
   };
@@ -60712,6 +60795,7 @@
     return $this;
   };
   dart.fn(html$.createCustomUpgrader, TypeAnddynamicTodynamic());
+  html$.FontFaceSetForEachCallback = dart.typedef('FontFaceSetForEachCallback', () => dart.fnTypeFuzzy(dart.void, [html$.FontFace, html$.FontFace, html$.FontFaceSet]));
   dart.defineExtensionNames([
     'onError'
   ]);
@@ -60737,6 +60821,7 @@
     'toString',
     'download',
     'hreflang',
+    'referrerpolicy',
     'rel',
     'target',
     'type',
@@ -60758,13 +60843,14 @@
     }
     static new(opts) {
       let href = opts && 'href' in opts ? opts.href : null;
-      let e = html$.AnchorElement._check(html$.document[dartx.createElement]("a"));
+      let e = html$.document.createElement("a");
       if (href != null) e.href = href;
       return e;
     }
     created() {
       this[download] = null;
       this[hreflang] = null;
+      this[referrerpolicy] = null;
       this[rel] = null;
       this[target] = null;
       this[type$3] = null;
@@ -60793,6 +60879,12 @@
     set [dartx.hreflang](value) {
       this.hreflang = value;
     }
+    get [dartx.referrerpolicy]() {
+      return this.referrerpolicy;
+    }
+    set [dartx.referrerpolicy](value) {
+      this.referrerpolicy = value;
+    }
     get [dartx.rel]() {
       return this.rel;
     }
@@ -60881,6 +60973,7 @@
   dart.defineNamedConstructor(html$.AnchorElement, 'created');
   const download = Symbol("AnchorElement.download");
   const hreflang = Symbol("AnchorElement.hreflang");
+  const referrerpolicy = Symbol("AnchorElement.referrerpolicy");
   const rel = Symbol("AnchorElement.rel");
   const target = Symbol("AnchorElement.target");
   const type$3 = Symbol("AnchorElement.type");
@@ -60900,6 +60993,7 @@
     fields: () => ({
       [dartx.download]: dart.fieldType(core.String),
       [dartx.hreflang]: dart.fieldType(core.String),
+      [dartx.referrerpolicy]: dart.fieldType(core.String),
       [dartx.rel]: dart.fieldType(core.String),
       [dartx.target]: dart.fieldType(core.String),
       [dartx.type]: dart.fieldType(core.String),
@@ -60925,12 +61019,11 @@
     'reverse',
     'currentTime',
     'effect',
-    'endClip',
     'finished',
+    'id',
     'playState',
     'playbackRate',
     'ready',
-    'startClip',
     'startTime'
   ]);
   html$.Animation = class Animation extends html$.EventTarget {
@@ -60952,15 +61045,15 @@
     set [dartx.effect](value) {
       this.effect = value;
     }
-    get [dartx.endClip]() {
-      return this.endClip;
-    }
-    set [dartx.endClip](value) {
-      this.endClip = value;
-    }
     get [dartx.finished]() {
       return this.finished;
     }
+    get [dartx.id]() {
+      return this.id;
+    }
+    set [dartx.id](value) {
+      this.id = value;
+    }
     get [dartx.playState]() {
       return this.playState;
     }
@@ -60973,12 +61066,6 @@
     get [dartx.ready]() {
       return this.ready;
     }
-    get [dartx.startClip]() {
-      return this.startClip;
-    }
-    set [dartx.startClip](value) {
-      this.startClip = value;
-    }
     get [dartx.startTime]() {
       return this.startTime;
     }
@@ -61003,23 +61090,21 @@
   };
   const currentTime = Symbol("Animation.currentTime");
   const effect = Symbol("Animation.effect");
-  const endClip = Symbol("Animation.endClip");
   const finished = Symbol("Animation.finished");
+  const id$ = Symbol("Animation.id");
   const playState = Symbol("Animation.playState");
   const playbackRate = Symbol("Animation.playbackRate");
   const ready = Symbol("Animation.ready");
-  const startClip = Symbol("Animation.startClip");
   const startTime = Symbol("Animation.startTime");
   dart.setSignature(html$.Animation, {
     fields: () => ({
       [dartx.currentTime]: dart.fieldType(core.num),
       [dartx.effect]: dart.fieldType(html$.AnimationEffectReadOnly),
-      [dartx.endClip]: dart.fieldType(core.num),
       [dartx.finished]: dart.finalFieldType(async.Future),
+      [dartx.id]: dart.fieldType(core.String),
       [dartx.playState]: dart.finalFieldType(core.String),
       [dartx.playbackRate]: dart.fieldType(core.num),
       [dartx.ready]: dart.finalFieldType(async.Future),
-      [dartx.startClip]: dart.fieldType(core.num),
       [dartx.startTime]: dart.fieldType(core.num)
     }),
     methods: () => ({
@@ -61487,6 +61572,7 @@
     'toString',
     'alt',
     'coords',
+    'referrerpolicy',
     'shape',
     'target',
     'hash',
@@ -61506,11 +61592,12 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.AreaElement._check(html$.document[dartx.createElement]("area"));
+      return html$.document.createElement("area");
     }
     created() {
       this[alt] = null;
       this[coords] = null;
+      this[referrerpolicy$] = null;
       this[shape] = null;
       this[target$] = null;
       this[hash$] = null;
@@ -61538,6 +61625,12 @@
     set [dartx.coords](value) {
       this.coords = value;
     }
+    get [dartx.referrerpolicy]() {
+      return this.referrerpolicy;
+    }
+    set [dartx.referrerpolicy](value) {
+      this.referrerpolicy = value;
+    }
     get [dartx.shape]() {
       return this.shape;
     }
@@ -61620,6 +61713,7 @@
   dart.defineNamedConstructor(html$.AreaElement, 'created');
   const alt = Symbol("AreaElement.alt");
   const coords = Symbol("AreaElement.coords");
+  const referrerpolicy$ = Symbol("AreaElement.referrerpolicy");
   const shape = Symbol("AreaElement.shape");
   const target$ = Symbol("AreaElement.target");
   const hash$ = Symbol("AreaElement.hash");
@@ -61638,6 +61732,7 @@
     fields: () => ({
       [dartx.alt]: dart.fieldType(core.String),
       [dartx.coords]: dart.fieldType(core.String),
+      [dartx.referrerpolicy]: dart.fieldType(core.String),
       [dartx.shape]: dart.fieldType(core.String),
       [dartx.target]: dart.fieldType(core.String),
       [dartx.hash]: dart.fieldType(core.String),
@@ -61657,33 +61752,26 @@
   dart.defineExtensionNames([
     'addTextTrack',
     'canPlayType',
+    'captureStream',
     'load',
     'pause',
     'play',
     'setMediaKeys',
     'setSinkId',
-    'addKey',
-    'cancelKeyRequest',
-    'generateKeyRequest',
-    'onKeyAdded',
-    'onKeyError',
-    'onKeyMessage',
-    'onNeedKey',
     'audioTracks',
     'autoplay',
     'buffered',
-    'controller',
     'controls',
     'crossOrigin',
     'currentSrc',
     'currentTime',
     'defaultMuted',
     'defaultPlaybackRate',
+    'disableRemotePlayback',
     'duration',
     'ended',
     'error',
     'loop',
-    'mediaGroup',
     'mediaKeys',
     'muted',
     'networkState',
@@ -61711,18 +61799,17 @@
       this[audioTracks] = null;
       this[autoplay] = null;
       this[buffered] = null;
-      this[controller] = null;
       this[controls] = null;
       this[crossOrigin] = null;
       this[currentSrc] = null;
       this[currentTime$1] = null;
       this[defaultMuted] = null;
       this[defaultPlaybackRate] = null;
+      this[disableRemotePlayback] = null;
       this[duration$0] = null;
       this[ended] = null;
       this[error$1] = null;
       this[loop] = null;
-      this[mediaGroup] = null;
       this[mediaKeys] = null;
       this[muted] = null;
       this[networkState] = null;
@@ -61755,12 +61842,6 @@
     get [dartx.buffered]() {
       return this.buffered;
     }
-    get [dartx.controller]() {
-      return this.controller;
-    }
-    set [dartx.controller](value) {
-      this.controller = value;
-    }
     get [dartx.controls]() {
       return this.controls;
     }
@@ -61794,6 +61875,12 @@
     set [dartx.defaultPlaybackRate](value) {
       this.defaultPlaybackRate = value;
     }
+    get [dartx.disableRemotePlayback]() {
+      return this.disableRemotePlayback;
+    }
+    set [dartx.disableRemotePlayback](value) {
+      this.disableRemotePlayback = value;
+    }
     get [dartx.duration]() {
       return this.duration;
     }
@@ -61809,12 +61896,6 @@
     set [dartx.loop](value) {
       this.loop = value;
     }
-    get [dartx.mediaGroup]() {
-      return this.mediaGroup;
-    }
-    set [dartx.mediaGroup](value) {
-      this.mediaGroup = value;
-    }
     get [dartx.mediaKeys]() {
       return this.mediaKeys;
     }
@@ -61893,6 +61974,9 @@
     [dartx.canPlayType](...args) {
       return this.canPlayType.apply(this, args);
     }
+    [dartx.captureStream](...args) {
+      return this.captureStream.apply(this, args);
+    }
     [dartx.load](...args) {
       return this.load.apply(this, args);
     }
@@ -61908,44 +61992,22 @@
     [dartx.setSinkId](...args) {
       return this.setSinkId.apply(this, args);
     }
-    [dartx.addKey](...args) {
-      return this.webkitAddKey.apply(this, args);
-    }
-    [dartx.cancelKeyRequest](...args) {
-      return this.webkitCancelKeyRequest.apply(this, args);
-    }
-    [dartx.generateKeyRequest](...args) {
-      return this.webkitGenerateKeyRequest.apply(this, args);
-    }
-    get [dartx.onKeyAdded]() {
-      return html$.MediaElement.keyAddedEvent.forElement(this);
-    }
-    get [dartx.onKeyError]() {
-      return html$.MediaElement.keyErrorEvent.forElement(this);
-    }
-    get [dartx.onKeyMessage]() {
-      return html$.MediaElement.keyMessageEvent.forElement(this);
-    }
-    get [dartx.onNeedKey]() {
-      return html$.MediaElement.needKeyEvent.forElement(this);
-    }
   };
   dart.defineNamedConstructor(html$.MediaElement, 'created');
   const audioTracks = Symbol("MediaElement.audioTracks");
   const autoplay = Symbol("MediaElement.autoplay");
   const buffered = Symbol("MediaElement.buffered");
-  const controller = Symbol("MediaElement.controller");
   const controls = Symbol("MediaElement.controls");
   const crossOrigin = Symbol("MediaElement.crossOrigin");
   const currentSrc = Symbol("MediaElement.currentSrc");
   const currentTime$1 = Symbol("MediaElement.currentTime");
   const defaultMuted = Symbol("MediaElement.defaultMuted");
   const defaultPlaybackRate = Symbol("MediaElement.defaultPlaybackRate");
+  const disableRemotePlayback = Symbol("MediaElement.disableRemotePlayback");
   const duration$0 = Symbol("MediaElement.duration");
   const ended = Symbol("MediaElement.ended");
   const error$1 = Symbol("MediaElement.error");
   const loop = Symbol("MediaElement.loop");
-  const mediaGroup = Symbol("MediaElement.mediaGroup");
   const mediaKeys = Symbol("MediaElement.mediaKeys");
   const muted = Symbol("MediaElement.muted");
   const networkState = Symbol("MediaElement.networkState");
@@ -61966,21 +62028,20 @@
   const videoDecodedByteCount = Symbol("MediaElement.videoDecodedByteCount");
   dart.setSignature(html$.MediaElement, {
     fields: () => ({
-      [dartx.audioTracks]: dart.finalFieldType(html$.AudioTrackList),
+      [dartx.audioTracks]: dart.finalFieldType(ListOfAudioTrack()),
       [dartx.autoplay]: dart.fieldType(core.bool),
       [dartx.buffered]: dart.finalFieldType(html$.TimeRanges),
-      [dartx.controller]: dart.fieldType(html$.MediaController),
       [dartx.controls]: dart.fieldType(core.bool),
       [dartx.crossOrigin]: dart.fieldType(core.String),
       [dartx.currentSrc]: dart.finalFieldType(core.String),
       [dartx.currentTime]: dart.fieldType(core.num),
       [dartx.defaultMuted]: dart.fieldType(core.bool),
       [dartx.defaultPlaybackRate]: dart.fieldType(core.num),
+      [dartx.disableRemotePlayback]: dart.fieldType(core.bool),
       [dartx.duration]: dart.finalFieldType(core.double),
       [dartx.ended]: dart.finalFieldType(core.bool),
       [dartx.error]: dart.finalFieldType(html$.MediaError),
       [dartx.loop]: dart.fieldType(core.bool),
-      [dartx.mediaGroup]: dart.fieldType(core.String),
       [dartx.mediaKeys]: dart.finalFieldType(html$.MediaKeys),
       [dartx.muted]: dart.fieldType(core.bool),
       [dartx.networkState]: dart.finalFieldType(core.int),
@@ -62000,38 +62061,18 @@
       [dartx.audioDecodedByteCount]: dart.finalFieldType(core.int),
       [dartx.videoDecodedByteCount]: dart.finalFieldType(core.int)
     }),
-    getters: () => ({
-      [dartx.onKeyAdded]: dart.fnType(html$.ElementStream$(html$.MediaKeyEvent), []),
-      [dartx.onKeyError]: dart.fnType(html$.ElementStream$(html$.MediaKeyEvent), []),
-      [dartx.onKeyMessage]: dart.fnType(html$.ElementStream$(html$.MediaKeyEvent), []),
-      [dartx.onNeedKey]: dart.fnType(html$.ElementStream$(html$.MediaKeyEvent), [])
-    }),
     methods: () => ({
       [dartx.addTextTrack]: dart.fnType(html$.TextTrack, [core.String], [core.String, core.String]),
       [dartx.canPlayType]: dart.fnType(core.String, [core.String], [core.String]),
+      [dartx.captureStream]: dart.fnType(html$.MediaStream, []),
       [dartx.load]: dart.fnType(dart.void, []),
       [dartx.pause]: dart.fnType(dart.void, []),
-      [dartx.play]: dart.fnType(dart.void, []),
+      [dartx.play]: dart.fnType(async.Future, []),
       [dartx.setMediaKeys]: dart.fnType(async.Future, [html$.MediaKeys]),
-      [dartx.setSinkId]: dart.fnType(async.Future, [core.String]),
-      [dartx.addKey]: dart.fnType(dart.void, [core.String, typed_data.Uint8List], [typed_data.Uint8List, core.String]),
-      [dartx.cancelKeyRequest]: dart.fnType(dart.void, [core.String, core.String]),
-      [dartx.generateKeyRequest]: dart.fnType(dart.void, [core.String], [typed_data.Uint8List])
+      [dartx.setSinkId]: dart.fnType(async.Future, [core.String])
     })
   });
   dart.defineLazy(html$.MediaElement, {
-    get keyAddedEvent() {
-      return dart.const(new (EventStreamProviderOfMediaKeyEvent())('webkitkeyadded'));
-    },
-    get keyErrorEvent() {
-      return dart.const(new (EventStreamProviderOfMediaKeyEvent())('webkitkeyerror'));
-    },
-    get keyMessageEvent() {
-      return dart.const(new (EventStreamProviderOfMediaKeyEvent())('webkitkeymessage'));
-    },
-    get needKeyEvent() {
-      return dart.const(new (EventStreamProviderOfMediaKeyEvent())('webkitneedkey'));
-    },
     get HAVE_CURRENT_DATA() {
       return 2;
     },
@@ -62123,7 +62164,7 @@
     }
   };
   const enabled = Symbol("AudioTrack.enabled");
-  const id$ = Symbol("AudioTrack.id");
+  const id$0 = Symbol("AudioTrack.id");
   const kind = Symbol("AudioTrack.kind");
   const label = Symbol("AudioTrack.label");
   const language = Symbol("AudioTrack.language");
@@ -62138,18 +62179,198 @@
   });
   dart.registerExtension(dart.global.AudioTrack, html$.AudioTrack);
   const __getter__ = Symbol('__getter__');
+  html$.ImmutableListMixin$ = dart.generic(E => {
+    let FixedSizeListIteratorOfE = () => (FixedSizeListIteratorOfE = dart.constFn(html$.FixedSizeListIterator$(E)))();
+    let IterableOfE = () => (IterableOfE = dart.constFn(core.Iterable$(E)))();
+    let ListOfE = () => (ListOfE = dart.constFn(core.List$(E)))();
+    let EAndEToint = () => (EAndEToint = dart.constFn(dart.fnTypeFuzzy(core.int, [E, E])))();
+    let ETobool = () => (ETobool = dart.constFn(dart.fnTypeFuzzy(core.bool, [E])))();
+    dart.defineExtensionNames([
+      'iterator',
+      'add',
+      'addAll',
+      'sort',
+      'shuffle',
+      'insert',
+      'insertAll',
+      'setAll',
+      'removeAt',
+      'removeLast',
+      'remove',
+      'removeWhere',
+      'retainWhere',
+      'setRange',
+      'removeRange',
+      'replaceRange',
+      'fillRange'
+    ]);
+    class ImmutableListMixin extends core.Object {
+      get iterator() {
+        return new (FixedSizeListIteratorOfE())(this);
+      }
+      [Symbol.iterator]() {
+        return new dart.JsIterator(this[dartx.iterator]);
+      }
+      add(value) {
+        E._check(value);
+        dart.throw(new core.UnsupportedError("Cannot add to immutable List."));
+      }
+      addAll(iterable) {
+        IterableOfE()._check(iterable);
+        dart.throw(new core.UnsupportedError("Cannot add to immutable List."));
+      }
+      sort(compare) {
+        if (compare === void 0) compare = null;
+        dart.throw(new core.UnsupportedError("Cannot sort immutable List."));
+      }
+      shuffle(random) {
+        if (random === void 0) random = null;
+        dart.throw(new core.UnsupportedError("Cannot shuffle immutable List."));
+      }
+      insert(index, element) {
+        E._check(element);
+        dart.throw(new core.UnsupportedError("Cannot add to immutable List."));
+      }
+      insertAll(index, iterable) {
+        IterableOfE()._check(iterable);
+        dart.throw(new core.UnsupportedError("Cannot add to immutable List."));
+      }
+      setAll(index, iterable) {
+        IterableOfE()._check(iterable);
+        dart.throw(new core.UnsupportedError("Cannot modify an immutable List."));
+      }
+      removeAt(pos) {
+        dart.throw(new core.UnsupportedError("Cannot remove from immutable List."));
+      }
+      removeLast() {
+        dart.throw(new core.UnsupportedError("Cannot remove from immutable List."));
+      }
+      remove(object) {
+        dart.throw(new core.UnsupportedError("Cannot remove from immutable List."));
+      }
+      removeWhere(test) {
+        dart.throw(new core.UnsupportedError("Cannot remove from immutable List."));
+      }
+      retainWhere(test) {
+        dart.throw(new core.UnsupportedError("Cannot remove from immutable List."));
+      }
+      setRange(start, end, iterable, skipCount) {
+        IterableOfE()._check(iterable);
+        if (skipCount === void 0) skipCount = 0;
+        dart.throw(new core.UnsupportedError("Cannot setRange on immutable List."));
+      }
+      removeRange(start, end) {
+        dart.throw(new core.UnsupportedError("Cannot removeRange on immutable List."));
+      }
+      replaceRange(start, end, iterable) {
+        IterableOfE()._check(iterable);
+        dart.throw(new core.UnsupportedError("Cannot modify an immutable List."));
+      }
+      fillRange(start, end, fillValue) {
+        if (fillValue === void 0) fillValue = null;
+        E._check(fillValue);
+        dart.throw(new core.UnsupportedError("Cannot modify an immutable List."));
+      }
+    }
+    dart.addTypeTests(ImmutableListMixin);
+    ImmutableListMixin[dart.implements] = () => [ListOfE()];
+    dart.setSignature(ImmutableListMixin, {
+      getters: () => ({iterator: dart.fnType(core.Iterator$(E), [])}),
+      methods: () => ({
+        add: dart.fnType(dart.void, [E]),
+        addAll: dart.fnType(dart.void, [IterableOfE()]),
+        sort: dart.fnType(dart.void, [], [EAndEToint()]),
+        shuffle: dart.fnType(dart.void, [], [math.Random]),
+        insert: dart.fnType(dart.void, [core.int, E]),
+        insertAll: dart.fnType(dart.void, [core.int, IterableOfE()]),
+        setAll: dart.fnType(dart.void, [core.int, IterableOfE()]),
+        removeAt: dart.fnType(E, [core.int]),
+        removeLast: dart.fnType(E, []),
+        remove: dart.fnType(core.bool, [core.Object]),
+        removeWhere: dart.fnType(dart.void, [ETobool()]),
+        retainWhere: dart.fnType(dart.void, [ETobool()]),
+        setRange: dart.fnType(dart.void, [core.int, core.int, IterableOfE()], [core.int]),
+        removeRange: dart.fnType(dart.void, [core.int, core.int]),
+        replaceRange: dart.fnType(dart.void, [core.int, core.int, IterableOfE()]),
+        fillRange: dart.fnType(dart.void, [core.int, core.int], [E])
+      })
+    });
+    dart.defineExtensionMembers(ImmutableListMixin, [
+      'add',
+      'addAll',
+      'sort',
+      'shuffle',
+      'insert',
+      'insertAll',
+      'setAll',
+      'removeAt',
+      'removeLast',
+      'remove',
+      'removeWhere',
+      'retainWhere',
+      'setRange',
+      'removeRange',
+      'replaceRange',
+      'fillRange',
+      'iterator'
+    ]);
+    return ImmutableListMixin;
+  });
+  html$.ImmutableListMixin = ImmutableListMixin();
   dart.defineExtensionNames([
+    'length',
+    '_get',
+    '_set',
+    'length',
+    'first',
+    'last',
+    'single',
+    'elementAt',
     'getTrackById',
-    'onChange',
-    'length'
+    'onChange'
   ]);
-  html$.AudioTrackList = class AudioTrackList extends html$.EventTarget {
+  html$.AudioTrackList = class AudioTrackList extends dart.mixin(html$.EventTarget, collection.ListMixin$(html$.AudioTrack), html$.ImmutableListMixin$(html$.AudioTrack)) {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     get [dartx.length]() {
       return this.length;
     }
+    [dartx._get](index) {
+      if (index >>> 0 !== index || index >= this[dartx.length]) dart.throw(core.RangeError.index(index, this));
+      return this[index];
+    }
+    [dartx._set](index, value) {
+      dart.throw(new core.UnsupportedError("Cannot assign element of immutable List."));
+      return value;
+    }
+    set [dartx.length](value) {
+      dart.throw(new core.UnsupportedError("Cannot resize immutable List."));
+    }
+    get [dartx.first]() {
+      if (dart.notNull(this[dartx.length]) > 0) {
+        return this[0];
+      }
+      dart.throw(new core.StateError("No elements"));
+    }
+    get [dartx.last]() {
+      let len = this[dartx.length];
+      if (dart.notNull(len) > 0) {
+        return this[dart.notNull(len) - 1];
+      }
+      dart.throw(new core.StateError("No elements"));
+    }
+    get [dartx.single]() {
+      let len = this[dartx.length];
+      if (len == 1) {
+        return this[0];
+      }
+      if (len == 0) dart.throw(new core.StateError("No elements"));
+      dart.throw(new core.StateError("More than one element"));
+    }
+    [dartx.elementAt](index) {
+      return this[dartx._get](index);
+    }
     [__getter__](...args) {
       return this.__getter__.apply(this, args);
     }
@@ -62160,11 +62381,20 @@
       return html$.AudioTrackList.changeEvent.forTarget(this);
     }
   };
-  const length = Symbol("AudioTrackList.length");
+  html$.AudioTrackList[dart.implements] = () => [JavaScriptIndexingBehaviorOfAudioTrack(), ListOfAudioTrack()];
   dart.setSignature(html$.AudioTrackList, {
-    fields: () => ({[dartx.length]: dart.finalFieldType(core.int)}),
-    getters: () => ({[dartx.onChange]: dart.fnType(async.Stream$(html$.Event), [])}),
+    getters: () => ({
+      [dartx.length]: dart.fnType(core.int, []),
+      [dartx.first]: dart.fnType(html$.AudioTrack, []),
+      [dartx.last]: dart.fnType(html$.AudioTrack, []),
+      [dartx.single]: dart.fnType(html$.AudioTrack, []),
+      [dartx.onChange]: dart.fnType(async.Stream$(html$.Event), [])
+    }),
+    setters: () => ({[dartx.length]: dart.fnType(dart.void, [core.int])}),
     methods: () => ({
+      [dartx._get]: dart.fnType(html$.AudioTrack, [core.int]),
+      [dartx._set]: dart.fnType(dart.void, [core.int, html$.AudioTrack]),
+      [dartx.elementAt]: dart.fnType(html$.AudioTrack, [core.int]),
       [__getter__]: dart.fnType(html$.AudioTrack, [core.int]),
       [dartx.getTrackById]: dart.fnType(html$.AudioTrack, [core.String])
     })
@@ -62215,7 +62445,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.BRElement._check(html$.document[dartx.createElement]("br"));
+      return html$.document.createElement("br");
     }
     created() {
       super.created();
@@ -62248,7 +62478,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.BaseElement._check(html$.document[dartx.createElement]("base"));
+      return html$.document.createElement("base");
     }
     created() {
       this[href$0] = null;
@@ -62445,187 +62675,32 @@
     names: ['_create_1', '_create_2', '_create_bag', '_bag_set']
   });
   dart.registerExtension(dart.global.Blob, html$.Blob);
-  const _requestDevice_1 = Symbol('_requestDevice_1');
+  html$.BlobCallback = dart.typedef('BlobCallback', () => dart.fnTypeFuzzy(dart.void, [html$.Blob]));
   dart.defineExtensionNames([
-    'requestDevice'
+    'data'
   ]);
-  html$.Bluetooth = class Bluetooth extends _interceptors.Interceptor {
+  html$.BlobEvent = class BlobEvent extends html$.Event {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
-    [dartx.requestDevice](options) {
-      let options_1 = html_common.convertDartToNative_Dictionary(options);
-      return this[_requestDevice_1](options_1);
+    static new(type, eventInitDict) {
+      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
+      return html$.BlobEvent._create_1(type, eventInitDict_1);
     }
-    [_requestDevice_1](...args) {
-      return this.requestDevice.apply(this, args);
+    static _create_1(type, eventInitDict) {
+      return new self.BlobEvent(type, eventInitDict);
+    }
+    get [dartx.data]() {
+      return this.data;
     }
   };
-  dart.setSignature(html$.Bluetooth, {
-    methods: () => ({
-      [dartx.requestDevice]: dart.fnType(async.Future, [core.Map]),
-      [_requestDevice_1]: dart.fnType(async.Future, [dart.dynamic])
-    })
+  const data = Symbol("BlobEvent.data");
+  dart.setSignature(html$.BlobEvent, {
+    fields: () => ({[dartx.data]: dart.finalFieldType(html$.Blob)}),
+    statics: () => ({_create_1: dart.fnType(html$.BlobEvent, [dart.dynamic, dart.dynamic])}),
+    names: ['_create_1']
   });
-  dart.registerExtension(dart.global.Bluetooth, html$.Bluetooth);
-  dart.defineExtensionNames([
-    'connectGatt',
-    'deviceClass',
-    'instanceID',
-    'name',
-    'paired',
-    'productID',
-    'productVersion',
-    'vendorID',
-    'vendorIDSource'
-  ]);
-  html$.BluetoothDevice = class BluetoothDevice extends _interceptors.Interceptor {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.deviceClass]() {
-      return this.deviceClass;
-    }
-    get [dartx.instanceID]() {
-      return this.instanceID;
-    }
-    get [dartx.name]() {
-      return this.name;
-    }
-    get [dartx.paired]() {
-      return this.paired;
-    }
-    get [dartx.productID]() {
-      return this.productID;
-    }
-    get [dartx.productVersion]() {
-      return this.productVersion;
-    }
-    get [dartx.vendorID]() {
-      return this.vendorID;
-    }
-    get [dartx.vendorIDSource]() {
-      return this.vendorIDSource;
-    }
-    [dartx.connectGatt](...args) {
-      return this.connectGATT.apply(this, args);
-    }
-  };
-  const deviceClass = Symbol("BluetoothDevice.deviceClass");
-  const instanceID = Symbol("BluetoothDevice.instanceID");
-  const name$7 = Symbol("BluetoothDevice.name");
-  const paired = Symbol("BluetoothDevice.paired");
-  const productID = Symbol("BluetoothDevice.productID");
-  const productVersion = Symbol("BluetoothDevice.productVersion");
-  const vendorID = Symbol("BluetoothDevice.vendorID");
-  const vendorIDSource = Symbol("BluetoothDevice.vendorIDSource");
-  dart.setSignature(html$.BluetoothDevice, {
-    fields: () => ({
-      [dartx.deviceClass]: dart.finalFieldType(core.int),
-      [dartx.instanceID]: dart.finalFieldType(core.String),
-      [dartx.name]: dart.finalFieldType(core.String),
-      [dartx.paired]: dart.finalFieldType(core.bool),
-      [dartx.productID]: dart.finalFieldType(core.int),
-      [dartx.productVersion]: dart.finalFieldType(core.int),
-      [dartx.vendorID]: dart.finalFieldType(core.int),
-      [dartx.vendorIDSource]: dart.finalFieldType(core.String)
-    }),
-    methods: () => ({[dartx.connectGatt]: dart.fnType(async.Future, [])})
-  });
-  dart.registerExtension(dart.global.BluetoothDevice, html$.BluetoothDevice);
-  dart.defineExtensionNames([
-    'readValue',
-    'writeValue',
-    'uuid'
-  ]);
-  html$.BluetoothGattCharacteristic = class BluetoothGattCharacteristic extends _interceptors.Interceptor {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.uuid]() {
-      return this.uuid;
-    }
-    [dartx.readValue](...args) {
-      return this.readValue.apply(this, args);
-    }
-    [dartx.writeValue](...args) {
-      return this.writeValue.apply(this, args);
-    }
-  };
-  const uuid = Symbol("BluetoothGattCharacteristic.uuid");
-  dart.setSignature(html$.BluetoothGattCharacteristic, {
-    fields: () => ({[dartx.uuid]: dart.finalFieldType(core.String)}),
-    methods: () => ({
-      [dartx.readValue]: dart.fnType(async.Future, []),
-      [dartx.writeValue]: dart.fnType(async.Future, [dart.dynamic])
-    })
-  });
-  dart.registerExtension(dart.global.BluetoothGATTCharacteristic, html$.BluetoothGattCharacteristic);
-  dart.defineExtensionNames([
-    'getPrimaryService',
-    'connected'
-  ]);
-  html$.BluetoothGattRemoteServer = class BluetoothGattRemoteServer extends _interceptors.Interceptor {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.connected]() {
-      return this.connected;
-    }
-    [dartx.getPrimaryService](...args) {
-      return this.getPrimaryService.apply(this, args);
-    }
-  };
-  const connected = Symbol("BluetoothGattRemoteServer.connected");
-  dart.setSignature(html$.BluetoothGattRemoteServer, {
-    fields: () => ({[dartx.connected]: dart.finalFieldType(core.bool)}),
-    methods: () => ({[dartx.getPrimaryService]: dart.fnType(async.Future, [dart.dynamic])})
-  });
-  dart.registerExtension(dart.global.BluetoothGATTRemoteServer, html$.BluetoothGattRemoteServer);
-  dart.defineExtensionNames([
-    'getCharacteristic',
-    'isPrimary',
-    'uuid'
-  ]);
-  html$.BluetoothGattService = class BluetoothGattService extends _interceptors.Interceptor {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.isPrimary]() {
-      return this.isPrimary;
-    }
-    get [dartx.uuid]() {
-      return this.uuid;
-    }
-    [dartx.getCharacteristic](...args) {
-      return this.getCharacteristic.apply(this, args);
-    }
-  };
-  const isPrimary = Symbol("BluetoothGattService.isPrimary");
-  const uuid$ = Symbol("BluetoothGattService.uuid");
-  dart.setSignature(html$.BluetoothGattService, {
-    fields: () => ({
-      [dartx.isPrimary]: dart.finalFieldType(core.bool),
-      [dartx.uuid]: dart.finalFieldType(core.String)
-    }),
-    methods: () => ({[dartx.getCharacteristic]: dart.fnType(async.Future, [dart.dynamic])})
-  });
-  dart.registerExtension(dart.global.BluetoothGATTService, html$.BluetoothGattService);
-  html$.BluetoothUuid = class BluetoothUuid extends _interceptors.Interceptor {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-  };
-  dart.setSignature(html$.BluetoothUuid, {
-    statics: () => ({
-      canonicalUuid: dart.fnType(core.String, [core.int]),
-      getCharacteristic: dart.fnType(core.String, [core.Object]),
-      getDescriptor: dart.fnType(core.String, [core.Object]),
-      getService: dart.fnType(core.String, [core.Object])
-    }),
-    names: ['canonicalUuid', 'getCharacteristic', 'getDescriptor', 'getService']
-  });
-  dart.registerExtension(dart.global.BluetoothUUID, html$.BluetoothUuid);
+  dart.registerExtension(dart.global.BlobEvent, html$.BlobEvent);
   dart.defineExtensionNames([
     'arrayBuffer',
     'blob',
@@ -62684,7 +62759,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.BodyElement._check(html$.document[dartx.createElement]("body"));
+      return html$.document.createElement("body");
     }
     created() {
       super.created();
@@ -62809,7 +62884,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.ButtonElement._check(html$.document[dartx.createElement]("button"));
+      return html$.document.createElement("button");
     }
     created() {
       this[autofocus] = null;
@@ -62821,7 +62896,7 @@
       this[formNoValidate] = null;
       this[formTarget] = null;
       this[labels] = null;
-      this[name$8] = null;
+      this[name$7] = null;
       this[type$5] = null;
       this[validationMessage] = null;
       this[validity] = null;
@@ -62924,7 +62999,7 @@
   const formNoValidate = Symbol("ButtonElement.formNoValidate");
   const formTarget = Symbol("ButtonElement.formTarget");
   const labels = Symbol("ButtonElement.labels");
-  const name$8 = Symbol("ButtonElement.name");
+  const name$7 = Symbol("ButtonElement.name");
   const type$5 = Symbol("ButtonElement.type");
   const validationMessage = Symbol("ButtonElement.validationMessage");
   const validity = Symbol("ButtonElement.validity");
@@ -62955,15 +63030,12 @@
     })
   });
   dart.registerExtension(dart.global.HTMLButtonElement, html$.ButtonElement);
-  const _createTextNode = Symbol('_createTextNode');
   dart.defineExtensionNames([
     'appendData',
     'deleteData',
     'insertData',
     'replaceData',
     'substringData',
-    'after',
-    'before',
     'data',
     'length',
     'nextElementSibling',
@@ -62997,12 +63069,6 @@
     [dartx.substringData](...args) {
       return this.substringData.apply(this, args);
     }
-    [dartx.after](...args) {
-      return this.after.apply(this, args);
-    }
-    [dartx.before](...args) {
-      return this.before.apply(this, args);
-    }
     get [dartx.nextElementSibling]() {
       return this.nextElementSibling;
     }
@@ -63010,8 +63076,8 @@
       return this.previousElementSibling;
     }
   };
-  const data = Symbol("CharacterData.data");
-  const length$0 = Symbol("CharacterData.length");
+  const data$0 = Symbol("CharacterData.data");
+  const length = Symbol("CharacterData.length");
   const nextElementSibling$ = Symbol("CharacterData.nextElementSibling");
   const previousElementSibling$ = Symbol("CharacterData.previousElementSibling");
   html$.CharacterData[dart.implements] = () => [html$.NonDocumentTypeChildNode, html$.ChildNode];
@@ -63027,24 +63093,26 @@
       [dartx.deleteData]: dart.fnType(dart.void, [core.int, core.int]),
       [dartx.insertData]: dart.fnType(dart.void, [core.int, core.String]),
       [dartx.replaceData]: dart.fnType(dart.void, [core.int, core.int, core.String]),
-      [dartx.substringData]: dart.fnType(core.String, [core.int, core.int]),
-      [dartx.after]: dart.fnType(dart.void, [core.Object]),
-      [dartx.before]: dart.fnType(dart.void, [core.Object])
+      [dartx.substringData]: dart.fnType(core.String, [core.int, core.int])
     })
   });
   dart.registerExtension(dart.global.CharacterData, html$.CharacterData);
   dart.defineExtensionNames([
     'getDestinationInsertionPoints',
     'splitText',
+    'assignedSlot',
     'wholeText'
   ]);
   html$.Text = class Text extends html$.CharacterData {
     static new(data) {
-      return html$.document[_createTextNode](data);
+      return html$.document.createTextNode(data);
     }
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
+    get [dartx.assignedSlot]() {
+      return this.assignedSlot;
+    }
     get [dartx.wholeText]() {
       return this.wholeText;
     }
@@ -63055,9 +63123,13 @@
       return this.splitText.apply(this, args);
     }
   };
+  const assignedSlot$ = Symbol("Text.assignedSlot");
   const wholeText = Symbol("Text.wholeText");
   dart.setSignature(html$.Text, {
-    fields: () => ({[dartx.wholeText]: dart.finalFieldType(core.String)}),
+    fields: () => ({
+      [dartx.assignedSlot]: dart.finalFieldType(html$.SlotElement),
+      [dartx.wholeText]: dart.finalFieldType(core.String)
+    }),
     methods: () => ({
       [dartx.getDestinationInsertionPoints]: dart.fnType(core.List$(html$.Node), []),
       [dartx.splitText]: dart.fnType(html$.Text, [core.int])
@@ -63122,11 +63194,327 @@
     })
   });
   dart.registerExtension(dart.global.CacheStorage, html$.CacheStorage);
+  dart.defineExtensionNames([
+    'cssString'
+  ]);
+  html$.StyleValue = class StyleValue extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    get [dartx.cssString]() {
+      return this.cssString;
+    }
+  };
+  const cssString = Symbol("StyleValue.cssString");
+  dart.setSignature(html$.StyleValue, {
+    fields: () => ({[dartx.cssString]: dart.finalFieldType(core.String)}),
+    statics: () => ({parse: dart.fnType(core.Object, [core.String, core.String])}),
+    names: ['parse']
+  });
+  dart.registerExtension(dart.global.StyleValue, html$.StyleValue);
+  dart.defineExtensionNames([
+    'add',
+    'divide',
+    'multiply',
+    'subtract'
+  ]);
+  html$.LengthValue = class LengthValue extends html$.StyleValue {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    [dartx.add](...args) {
+      return this.add.apply(this, args);
+    }
+    [dartx.divide](...args) {
+      return this.divide.apply(this, args);
+    }
+    static fromDictionary(dictionary) {
+      let dictionary_1 = html_common.convertDartToNative_Dictionary(dictionary);
+      return html$.LengthValue._fromDictionary_1(dictionary_1);
+    }
+    [dartx.multiply](...args) {
+      return this.multiply.apply(this, args);
+    }
+    [dartx.subtract](...args) {
+      return this.subtract.apply(this, args);
+    }
+  };
+  dart.setSignature(html$.LengthValue, {
+    methods: () => ({
+      [dartx.add]: dart.fnType(html$.LengthValue, [html$.LengthValue]),
+      [dartx.divide]: dart.fnType(html$.LengthValue, [core.num]),
+      [dartx.multiply]: dart.fnType(html$.LengthValue, [core.num]),
+      [dartx.subtract]: dart.fnType(html$.LengthValue, [html$.LengthValue])
+    }),
+    statics: () => ({
+      fromDictionary: dart.fnType(html$.LengthValue, [core.Map]),
+      _fromDictionary_1: dart.fnType(html$.LengthValue, [dart.dynamic]),
+      fromValue: dart.fnType(html$.LengthValue, [core.num, core.String]),
+      parse: dart.fnType(html$.LengthValue, [core.String])
+    }),
+    names: ['fromDictionary', '_fromDictionary_1', 'fromValue', 'parse']
+  });
+  dart.registerExtension(dart.global.LengthValue, html$.LengthValue);
+  dart.defineExtensionNames([
+    'ch',
+    'cm',
+    'em',
+    'ex',
+    'inch',
+    'mm',
+    'pc',
+    'percent',
+    'pt',
+    'px',
+    'rem',
+    'vh',
+    'vmax',
+    'vmin',
+    'vw'
+  ]);
+  html$.CalcLength = class CalcLength extends html$.LengthValue {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(calcDictionary_OR_length) {
+      if (html$.LengthValue.is(calcDictionary_OR_length)) {
+        return html$.CalcLength._create_1(calcDictionary_OR_length);
+      }
+      if (core.Map.is(calcDictionary_OR_length)) {
+        let calcDictionary_1 = html_common.convertDartToNative_Dictionary(calcDictionary_OR_length);
+        return html$.CalcLength._create_2(calcDictionary_1);
+      }
+      dart.throw(new core.ArgumentError("Incorrect number or type of arguments"));
+    }
+    static _create_1(calcDictionary_OR_length) {
+      return new self.CalcLength(calcDictionary_OR_length);
+    }
+    static _create_2(calcDictionary_OR_length) {
+      return new self.CalcLength(calcDictionary_OR_length);
+    }
+    get [dartx.ch]() {
+      return this.ch;
+    }
+    get [dartx.cm]() {
+      return this.cm;
+    }
+    get [dartx.em]() {
+      return this.em;
+    }
+    get [dartx.ex]() {
+      return this.ex;
+    }
+    get [dartx.inch]() {
+      return this.in;
+    }
+    get [dartx.mm]() {
+      return this.mm;
+    }
+    get [dartx.pc]() {
+      return this.pc;
+    }
+    get [dartx.percent]() {
+      return this.percent;
+    }
+    get [dartx.pt]() {
+      return this.pt;
+    }
+    get [dartx.px]() {
+      return this.px;
+    }
+    get [dartx.rem]() {
+      return this.rem;
+    }
+    get [dartx.vh]() {
+      return this.vh;
+    }
+    get [dartx.vmax]() {
+      return this.vmax;
+    }
+    get [dartx.vmin]() {
+      return this.vmin;
+    }
+    get [dartx.vw]() {
+      return this.vw;
+    }
+  };
+  const ch = Symbol("CalcLength.ch");
+  const cm = Symbol("CalcLength.cm");
+  const em = Symbol("CalcLength.em");
+  const ex = Symbol("CalcLength.ex");
+  const inch = Symbol("CalcLength.inch");
+  const mm = Symbol("CalcLength.mm");
+  const pc = Symbol("CalcLength.pc");
+  const percent = Symbol("CalcLength.percent");
+  const pt = Symbol("CalcLength.pt");
+  const px = Symbol("CalcLength.px");
+  const rem = Symbol("CalcLength.rem");
+  const vh = Symbol("CalcLength.vh");
+  const vmax = Symbol("CalcLength.vmax");
+  const vmin = Symbol("CalcLength.vmin");
+  const vw = Symbol("CalcLength.vw");
+  dart.setSignature(html$.CalcLength, {
+    fields: () => ({
+      [dartx.ch]: dart.finalFieldType(core.double),
+      [dartx.cm]: dart.finalFieldType(core.double),
+      [dartx.em]: dart.finalFieldType(core.double),
+      [dartx.ex]: dart.finalFieldType(core.double),
+      [dartx.inch]: dart.finalFieldType(core.double),
+      [dartx.mm]: dart.finalFieldType(core.double),
+      [dartx.pc]: dart.finalFieldType(core.double),
+      [dartx.percent]: dart.finalFieldType(core.double),
+      [dartx.pt]: dart.finalFieldType(core.double),
+      [dartx.px]: dart.finalFieldType(core.double),
+      [dartx.rem]: dart.finalFieldType(core.double),
+      [dartx.vh]: dart.finalFieldType(core.double),
+      [dartx.vmax]: dart.finalFieldType(core.double),
+      [dartx.vmin]: dart.finalFieldType(core.double),
+      [dartx.vw]: dart.finalFieldType(core.double)
+    }),
+    statics: () => ({
+      _create_1: dart.fnType(html$.CalcLength, [dart.dynamic]),
+      _create_2: dart.fnType(html$.CalcLength, [dart.dynamic])
+    }),
+    names: ['_create_1', '_create_2']
+  });
+  dart.registerExtension(dart.global.CalcLength, html$.CalcLength);
+  dart.defineExtensionNames([
+    'clone',
+    'stop',
+    'onEnded',
+    'onMute',
+    'onUnmute',
+    'enabled',
+    'id',
+    'kind',
+    'label',
+    'muted',
+    'readyState',
+    'remote'
+  ]);
+  html$.MediaStreamTrack = class MediaStreamTrack extends html$.EventTarget {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    get [dartx.enabled]() {
+      return this.enabled;
+    }
+    set [dartx.enabled](value) {
+      this.enabled = value;
+    }
+    get [dartx.id]() {
+      return this.id;
+    }
+    get [dartx.kind]() {
+      return this.kind;
+    }
+    get [dartx.label]() {
+      return this.label;
+    }
+    get [dartx.muted]() {
+      return this.muted;
+    }
+    get [dartx.readyState]() {
+      return this.readyState;
+    }
+    get [dartx.remote]() {
+      return this.remote;
+    }
+    [dartx.clone](...args) {
+      return this.clone.apply(this, args);
+    }
+    static getSources() {
+      let completer = CompleterOfListOfSourceInfo().new();
+      html$.MediaStreamTrack._getSources(dart.fn(value => {
+        completer.complete(value);
+      }, ListOfSourceInfoToNull()));
+      return completer.future;
+    }
+    [dartx.stop](...args) {
+      return this.stop.apply(this, args);
+    }
+    get [dartx.onEnded]() {
+      return html$.MediaStreamTrack.endedEvent.forTarget(this);
+    }
+    get [dartx.onMute]() {
+      return html$.MediaStreamTrack.muteEvent.forTarget(this);
+    }
+    get [dartx.onUnmute]() {
+      return html$.MediaStreamTrack.unmuteEvent.forTarget(this);
+    }
+  };
+  const enabled$0 = Symbol("MediaStreamTrack.enabled");
+  const id$1 = Symbol("MediaStreamTrack.id");
+  const kind$ = Symbol("MediaStreamTrack.kind");
+  const label$ = Symbol("MediaStreamTrack.label");
+  const muted$ = Symbol("MediaStreamTrack.muted");
+  const readyState$0 = Symbol("MediaStreamTrack.readyState");
+  const remote = Symbol("MediaStreamTrack.remote");
+  dart.setSignature(html$.MediaStreamTrack, {
+    fields: () => ({
+      [dartx.enabled]: dart.fieldType(core.bool),
+      [dartx.id]: dart.finalFieldType(core.String),
+      [dartx.kind]: dart.finalFieldType(core.String),
+      [dartx.label]: dart.finalFieldType(core.String),
+      [dartx.muted]: dart.finalFieldType(core.bool),
+      [dartx.readyState]: dart.finalFieldType(core.String),
+      [dartx.remote]: dart.finalFieldType(core.bool)
+    }),
+    getters: () => ({
+      [dartx.onEnded]: dart.fnType(async.Stream$(html$.Event), []),
+      [dartx.onMute]: dart.fnType(async.Stream$(html$.Event), []),
+      [dartx.onUnmute]: dart.fnType(async.Stream$(html$.Event), [])
+    }),
+    methods: () => ({
+      [dartx.clone]: dart.fnType(html$.MediaStreamTrack, []),
+      [dartx.stop]: dart.fnType(dart.void, [])
+    }),
+    statics: () => ({
+      _getSources: dart.fnType(dart.void, [html$.MediaStreamTrackSourcesCallback]),
+      getSources: dart.fnType(async.Future$(core.List$(html$.SourceInfo)), [])
+    }),
+    names: ['_getSources', 'getSources']
+  });
+  dart.defineLazy(html$.MediaStreamTrack, {
+    get endedEvent() {
+      return dart.const(new (EventStreamProviderOfEvent())('ended'));
+    },
+    get muteEvent() {
+      return dart.const(new (EventStreamProviderOfEvent())('mute'));
+    },
+    get unmuteEvent() {
+      return dart.const(new (EventStreamProviderOfEvent())('unmute'));
+    }
+  });
+  dart.registerExtension(dart.global.MediaStreamTrack, html$.MediaStreamTrack);
+  dart.defineExtensionNames([
+    'requestFrame',
+    'canvas'
+  ]);
+  html$.CanvasCaptureMediaStreamTrack = class CanvasCaptureMediaStreamTrack extends html$.MediaStreamTrack {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    get [dartx.canvas]() {
+      return this.canvas;
+    }
+    [dartx.requestFrame](...args) {
+      return this.requestFrame.apply(this, args);
+    }
+  };
+  const canvas = Symbol("CanvasCaptureMediaStreamTrack.canvas");
+  dart.setSignature(html$.CanvasCaptureMediaStreamTrack, {
+    fields: () => ({[dartx.canvas]: dart.finalFieldType(html$.CanvasElement)}),
+    methods: () => ({[dartx.requestFrame]: dart.fnType(dart.void, [])})
+  });
+  dart.registerExtension(dart.global.CanvasCaptureMediaStreamTrack, html$.CanvasCaptureMediaStreamTrack);
   const _getContext_1 = Symbol('_getContext_1');
   const _getContext_2 = Symbol('_getContext_2');
   const _toDataUrl = Symbol('_toDataUrl');
   dart.defineExtensionNames([
+    'captureStream',
     'getContext',
+    'toBlob',
     'onWebGlContextLost',
     'onWebGlContextRestored',
     'context2D',
@@ -63142,7 +63530,7 @@
     static new(opts) {
       let width = opts && 'width' in opts ? opts.width : null;
       let height = opts && 'height' in opts ? opts.height : null;
-      let e = html$.CanvasElement._check(html$.document[dartx.createElement]("canvas"));
+      let e = html$.document.createElement("canvas");
       if (width != null) e.width = width;
       if (height != null) e.height = height;
       return e;
@@ -63164,6 +63552,9 @@
     set [dartx.width](value) {
       this.width = value;
     }
+    [dartx.captureStream](...args) {
+      return this.captureStream.apply(this, args);
+    }
     [dartx.getContext](contextId, attributes) {
       if (attributes === void 0) attributes = null;
       if (attributes != null) {
@@ -63178,6 +63569,9 @@
     [_getContext_2](...args) {
       return this.getContext.apply(this, args);
     }
+    [dartx.toBlob](...args) {
+      return this.toBlob.apply(this, args);
+    }
     [_toDataUrl](...args) {
       return this.toDataURL.apply(this, args);
     }
@@ -63225,9 +63619,11 @@
       [dartx.context2D]: dart.fnType(html$.CanvasRenderingContext2D, [])
     }),
     methods: () => ({
+      [dartx.captureStream]: dart.fnType(html$.MediaStream, [], [core.num]),
       [dartx.getContext]: dart.fnType(core.Object, [core.String], [core.Map]),
       [_getContext_1]: dart.fnType(core.Object, [dart.dynamic, dart.dynamic]),
       [_getContext_2]: dart.fnType(core.Object, [dart.dynamic]),
+      [dartx.toBlob]: dart.fnType(dart.void, [html$.BlobCallback, core.String], [core.Object]),
       [_toDataUrl]: dart.fnType(core.String, [core.String], [dart.dynamic]),
       [dartx.getContext3d]: dart.fnType(web_gl.RenderingContext, [], {alpha: dart.dynamic, depth: dart.dynamic, stencil: dart.dynamic, antialias: dart.dynamic, premultipliedAlpha: dart.dynamic, preserveDrawingBuffer: dart.dynamic}),
       [dartx.toDataUrl]: dart.fnType(core.String, [], [core.String, core.num])
@@ -63269,7 +63665,7 @@
     }
   };
   dart.setSignature(html$.CanvasPattern, {
-    methods: () => ({[dartx.setTransform]: dart.fnType(dart.void, [svg$.Matrix])})
+    methods: () => ({[dartx.setTransform]: dart.fnType(dart.void, [html$.Matrix])})
   });
   dart.registerExtension(dart.global.CanvasPattern, html$.CanvasPattern);
   html$.CanvasRenderingContext = class CanvasRenderingContext extends core.Object {};
@@ -63350,6 +63746,7 @@
     'globalAlpha',
     'globalCompositeOperation',
     'imageSmoothingEnabled',
+    'imageSmoothingQuality',
     'lineCap',
     'lineJoin',
     'lineWidth',
@@ -63417,6 +63814,12 @@
     set [dartx.imageSmoothingEnabled](value) {
       this.imageSmoothingEnabled = value;
     }
+    get [dartx.imageSmoothingQuality]() {
+      return this.imageSmoothingQuality;
+    }
+    set [dartx.imageSmoothingQuality](value) {
+      this.imageSmoothingQuality = value;
+    }
     get [dartx.lineCap]() {
       return this.lineCap;
     }
@@ -63738,7 +64141,7 @@
       return 1.0;
     }
   };
-  const canvas = Symbol("CanvasRenderingContext2D.canvas");
+  const canvas$ = Symbol("CanvasRenderingContext2D.canvas");
   const currentTransform = Symbol("CanvasRenderingContext2D.currentTransform");
   const direction$0 = Symbol("CanvasRenderingContext2D.direction");
   const fillStyle = Symbol("CanvasRenderingContext2D.fillStyle");
@@ -63747,6 +64150,7 @@
   const globalAlpha = Symbol("CanvasRenderingContext2D.globalAlpha");
   const globalCompositeOperation = Symbol("CanvasRenderingContext2D.globalCompositeOperation");
   const imageSmoothingEnabled = Symbol("CanvasRenderingContext2D.imageSmoothingEnabled");
+  const imageSmoothingQuality = Symbol("CanvasRenderingContext2D.imageSmoothingQuality");
   const lineCap = Symbol("CanvasRenderingContext2D.lineCap");
   const lineJoin = Symbol("CanvasRenderingContext2D.lineJoin");
   const lineWidth = Symbol("CanvasRenderingContext2D.lineWidth");
@@ -63762,7 +64166,7 @@
   dart.setSignature(html$.CanvasRenderingContext2D, {
     fields: () => ({
       [dartx.canvas]: dart.finalFieldType(html$.CanvasElement),
-      [dartx.currentTransform]: dart.fieldType(svg$.Matrix),
+      [dartx.currentTransform]: dart.fieldType(html$.Matrix),
       [dartx.direction]: dart.fieldType(core.String),
       [dartx.fillStyle]: dart.fieldType(core.Object),
       [dartx.filter]: dart.fieldType(core.String),
@@ -63770,6 +64174,7 @@
       [dartx.globalAlpha]: dart.fieldType(core.num),
       [dartx.globalCompositeOperation]: dart.fieldType(core.String),
       [dartx.imageSmoothingEnabled]: dart.fieldType(core.bool),
+      [dartx.imageSmoothingQuality]: dart.fieldType(core.String),
       [dartx.lineCap]: dart.fieldType(core.String),
       [dartx.lineJoin]: dart.fieldType(core.String),
       [dartx.lineWidth]: dart.fieldType(core.num),
@@ -63877,7 +64282,7 @@
       return this.id;
     }
   };
-  const id$0 = Symbol("GeofencingRegion.id");
+  const id$2 = Symbol("GeofencingRegion.id");
   dart.setSignature(html$.GeofencingRegion, {
     fields: () => ({[dartx.id]: dart.finalFieldType(core.String)})
   });
@@ -63969,7 +64374,7 @@
     }
   };
   const frameType = Symbol("Client.frameType");
-  const id$1 = Symbol("Client.id");
+  const id$3 = Symbol("Client.id");
   const url$ = Symbol("Client.url");
   dart.setSignature(html$.Client, {
     fields: () => ({
@@ -63988,6 +64393,7 @@
   const _matchAll_2 = Symbol('_matchAll_2');
   dart.defineExtensionNames([
     'claim',
+    'get',
     'matchAll',
     'openWindow'
   ]);
@@ -63998,6 +64404,9 @@
     [dartx.claim](...args) {
       return this.claim.apply(this, args);
     }
+    [dartx.get](...args) {
+      return this.get.apply(this, args);
+    }
     [dartx.matchAll](options) {
       if (options === void 0) options = null;
       if (options != null) {
@@ -64019,6 +64428,7 @@
   dart.setSignature(html$.Clients, {
     methods: () => ({
       [dartx.claim]: dart.fnType(async.Future, []),
+      [dartx.get]: dart.fnType(async.Future, [core.String]),
       [dartx.matchAll]: dart.fnType(async.Future, [], [core.Map]),
       [_matchAll_1]: dart.fnType(async.Future, [dart.dynamic]),
       [_matchAll_2]: dart.fnType(async.Future, []),
@@ -64094,10 +64504,7 @@
   html$.Comment = class Comment extends html$.CharacterData {
     static new(data) {
       if (data === void 0) data = null;
-      if (data != null) {
-        return html$.document.createComment(data);
-      }
-      return html$.document.createComment("");
+      return html$.document.createComment(data == null ? "" : data);
     }
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -64106,14 +64513,12 @@
   dart.registerExtension(dart.global.Comment, html$.Comment);
   const _initCompositionEvent = Symbol('_initCompositionEvent');
   const _initUIEvent = Symbol('_initUIEvent');
-  const _charCode = Symbol('_charCode');
-  const _keyCode = Symbol('_keyCode');
   const _get_view = Symbol('_get_view');
   const _which = Symbol('_which');
   dart.defineExtensionNames([
     'view',
     'detail',
-    'sourceDevice'
+    'sourceCapabilities'
   ]);
   html$.UIEvent = class UIEvent extends html$.Event {
     static new(type, opts) {
@@ -64142,17 +64547,11 @@
     static _create_2(type) {
       return new self.UIEvent(type);
     }
-    get [_charCode]() {
-      return this.charCode;
-    }
     get [dartx.detail]() {
       return this.detail;
     }
-    get [_keyCode]() {
-      return this.keyCode;
-    }
-    get [dartx.sourceDevice]() {
-      return this.sourceDevice;
+    get [dartx.sourceCapabilities]() {
+      return this.sourceCapabilities;
     }
     get [dartx.view]() {
       return html$._convertNativeToDart_Window(this[_get_view]);
@@ -64168,13 +64567,11 @@
     }
   };
   const detail = Symbol("UIEvent.detail");
-  const sourceDevice = Symbol("UIEvent.sourceDevice");
+  const sourceCapabilities = Symbol("UIEvent.sourceCapabilities");
   dart.setSignature(html$.UIEvent, {
     fields: () => ({
-      [_charCode]: dart.finalFieldType(core.int),
       [dartx.detail]: dart.finalFieldType(core.int),
-      [_keyCode]: dart.finalFieldType(core.int),
-      [dartx.sourceDevice]: dart.finalFieldType(html$.InputDevice),
+      [dartx.sourceCapabilities]: dart.finalFieldType(html$.InputDeviceCapabilities),
       [_get_view]: dart.finalFieldType(dart.dynamic),
       [_which]: dart.finalFieldType(core.int)
     }),
@@ -64229,7 +64626,7 @@
       return this.initCompositionEvent.apply(this, args);
     }
   };
-  const data$0 = Symbol("CompositionEvent.data");
+  const data$1 = Symbol("CompositionEvent.data");
   dart.setSignature(html$.CompositionEvent, {
     fields: () => ({[dartx.data]: dart.finalFieldType(core.String)}),
     methods: () => ({[_initCompositionEvent]: dart.fnType(dart.void, [core.String, core.bool, core.bool, html$.Window, core.String])}),
@@ -64377,8 +64774,6 @@
   dart.registerExtension(dart.global.CompositorWorker, html$.CompositorWorker);
   const _fetch_1 = Symbol('_fetch_1');
   const _fetch_2 = Symbol('_fetch_2');
-  const _webkitRequestFileSystem = Symbol('_webkitRequestFileSystem');
-  const _webkitResolveLocalFileSystemUrl = Symbol('_webkitResolveLocalFileSystemUrl');
   const _setInterval_String = Symbol('_setInterval_String');
   const _setTimeout_String = Symbol('_setTimeout_String');
   const _clearInterval = Symbol('_clearInterval');
@@ -64389,10 +64784,6 @@
     'close',
     'fetch',
     'importScripts',
-    'webkitRequestFileSystem',
-    'requestFileSystemSync',
-    'resolveLocalFileSystemSyncUrl',
-    'webkitResolveLocalFileSystemUrl',
     'atob',
     'btoa',
     'onError',
@@ -64453,36 +64844,6 @@
     [dartx.importScripts](...args) {
       return this.importScripts.apply(this, args);
     }
-    [_webkitRequestFileSystem](...args) {
-      return this.webkitRequestFileSystem.apply(this, args);
-    }
-    [dartx.webkitRequestFileSystem](type, size) {
-      let completer = CompleterOfFileSystem().new();
-      this[_webkitRequestFileSystem](type, size, dart.fn(value => {
-        completer.complete(value);
-      }, FileSystemToNull()), dart.fn(error => {
-        completer.completeError(error);
-      }, FileErrorToNull()));
-      return completer.future;
-    }
-    [dartx.requestFileSystemSync](...args) {
-      return this.webkitRequestFileSystemSync.apply(this, args);
-    }
-    [dartx.resolveLocalFileSystemSyncUrl](...args) {
-      return this.webkitResolveLocalFileSystemSyncURL.apply(this, args);
-    }
-    [_webkitResolveLocalFileSystemUrl](...args) {
-      return this.webkitResolveLocalFileSystemURL.apply(this, args);
-    }
-    [dartx.webkitResolveLocalFileSystemUrl](url) {
-      let completer = CompleterOfEntry().new();
-      this[_webkitResolveLocalFileSystemUrl](url, dart.fn(value => {
-        completer.complete(value);
-      }, EntryToNull()), dart.fn(error => {
-        completer.completeError(error);
-      }, FileErrorToNull()));
-      return completer.future;
-    }
     [dartx.atob](...args) {
       return this.atob.apply(this, args);
     }
@@ -64538,12 +64899,6 @@
       [_fetch_1]: dart.fnType(async.Future, [dart.dynamic, dart.dynamic]),
       [_fetch_2]: dart.fnType(async.Future, [dart.dynamic]),
       [dartx.importScripts]: dart.fnType(dart.void, [core.String]),
-      [_webkitRequestFileSystem]: dart.fnType(dart.void, [core.int, core.int], [html$._FileSystemCallback, html$._ErrorCallback]),
-      [dartx.webkitRequestFileSystem]: dart.fnType(async.Future$(html$.FileSystem), [core.int, core.int]),
-      [dartx.requestFileSystemSync]: dart.fnType(html$._DOMFileSystemSync, [core.int, core.int]),
-      [dartx.resolveLocalFileSystemSyncUrl]: dart.fnType(html$._EntrySync, [core.String]),
-      [_webkitResolveLocalFileSystemUrl]: dart.fnType(dart.void, [core.String, html$._EntryCallback], [html$._ErrorCallback]),
-      [dartx.webkitResolveLocalFileSystemUrl]: dart.fnType(async.Future$(html$.Entry), [core.String]),
       [dartx.atob]: dart.fnType(core.String, [core.String]),
       [dartx.btoa]: dart.fnType(core.String, [core.String]),
       [_setInterval_String]: dart.fnType(core.int, [core.String], [core.int, core.Object]),
@@ -64557,12 +64912,6 @@
   dart.defineLazy(html$.WorkerGlobalScope, {
     get errorEvent() {
       return dart.const(new (EventStreamProviderOfEvent())('error'));
-    },
-    get PERSISTENT() {
-      return 1;
-    },
-    get TEMPORARY() {
-      return 0;
     }
   });
   dart.registerExtension(dart.global.WorkerGlobalScope, html$.WorkerGlobalScope);
@@ -64871,8 +65220,8 @@
     }
   };
   const iconUrl = Symbol("Credential.iconUrl");
-  const id$2 = Symbol("Credential.id");
-  const name$9 = Symbol("Credential.name");
+  const id$4 = Symbol("Credential.id");
+  const name$8 = Symbol("Credential.name");
   const type$6 = Symbol("Credential.type");
   dart.setSignature(html$.Credential, {
     fields: () => ({
@@ -64883,70 +65232,49 @@
     })
   });
   dart.registerExtension(dart.global.Credential, html$.Credential);
-  const _request_1 = Symbol('_request_1');
-  const _request_2 = Symbol('_request_2');
+  const _get_1 = Symbol('_get_1');
+  const _get_2 = Symbol('_get_2');
   dart.defineExtensionNames([
-    'notifySignedIn',
-    'request',
-    'requireUserMediation'
+    'get',
+    'requireUserMediation',
+    'store'
   ]);
   html$.CredentialsContainer = class CredentialsContainer extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
-    [dartx.notifySignedIn](...args) {
-      return this.notifySignedIn.apply(this, args);
-    }
-    [dartx.request](options) {
+    [dartx.get](options) {
       if (options === void 0) options = null;
       if (options != null) {
         let options_1 = html_common.convertDartToNative_Dictionary(options);
-        return this[_request_1](options_1);
+        return this[_get_1](options_1);
       }
-      return this[_request_2]();
+      return this[_get_2]();
     }
-    [_request_1](...args) {
-      return this.request.apply(this, args);
+    [_get_1](...args) {
+      return this.get.apply(this, args);
     }
-    [_request_2](...args) {
-      return this.request.apply(this, args);
+    [_get_2](...args) {
+      return this.get.apply(this, args);
     }
     [dartx.requireUserMediation](...args) {
       return this.requireUserMediation.apply(this, args);
     }
+    [dartx.store](...args) {
+      return this.store.apply(this, args);
+    }
   };
   dart.setSignature(html$.CredentialsContainer, {
     methods: () => ({
-      [dartx.notifySignedIn]: dart.fnType(async.Future, [html$.Credential]),
-      [dartx.request]: dart.fnType(async.Future, [], [core.Map]),
-      [_request_1]: dart.fnType(async.Future, [dart.dynamic]),
-      [_request_2]: dart.fnType(async.Future, []),
-      [dartx.requireUserMediation]: dart.fnType(async.Future, [])
+      [dartx.get]: dart.fnType(async.Future, [], [core.Map]),
+      [_get_1]: dart.fnType(async.Future, [dart.dynamic]),
+      [_get_2]: dart.fnType(async.Future, []),
+      [dartx.requireUserMediation]: dart.fnType(async.Future, []),
+      [dartx.store]: dart.fnType(async.Future, [html$.Credential])
     })
   });
   dart.registerExtension(dart.global.CredentialsContainer, html$.CredentialsContainer);
   dart.defineExtensionNames([
-    'acceptConnection',
-    'client'
-  ]);
-  html$.CrossOriginConnectEvent = class CrossOriginConnectEvent extends html$.Event {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.client]() {
-      return this.client;
-    }
-    [dartx.acceptConnection](...args) {
-      return this.acceptConnection.apply(this, args);
-    }
-  };
-  const client = Symbol("CrossOriginConnectEvent.client");
-  dart.setSignature(html$.CrossOriginConnectEvent, {
-    fields: () => ({[dartx.client]: dart.finalFieldType(html$.CrossOriginServiceWorkerClient)}),
-    methods: () => ({[dartx.acceptConnection]: dart.fnType(dart.void, [async.Future])})
-  });
-  dart.registerExtension(dart.global.CrossOriginConnectEvent, html$.CrossOriginConnectEvent);
-  dart.defineExtensionNames([
     'postMessage',
     'origin',
     'targetUrl'
@@ -65067,10 +65395,11 @@
   };
   dart.setSignature(html$.Css, {
     statics: () => ({
+      escape: dart.fnType(core.String, [core.String]),
       supports: dart.fnType(core.bool, [core.String, core.String]),
       supportsCondition: dart.fnType(core.bool, [core.String])
     }),
-    names: ['supports', 'supportsCondition']
+    names: ['escape', 'supports', 'supportsCondition']
   });
   dart.registerExtension(dart.global.CSS, html$.Css);
   dart.defineExtensionNames([
@@ -65130,6 +65459,9 @@
     get MEDIA_RULE() {
       return 4;
     },
+    get NAMESPACE_RULE() {
+      return 10;
+    },
     get PAGE_RULE() {
       return 6;
     },
@@ -65306,7 +65638,7 @@
     }
   };
   const cssRules$ = Symbol("CssKeyframesRule.cssRules");
-  const name$10 = Symbol("CssKeyframesRule.name");
+  const name$9 = Symbol("CssKeyframesRule.name");
   dart.setSignature(html$.CssKeyframesRule, {
     fields: () => ({
       [dartx.cssRules]: dart.finalFieldType(ListOfCssRule()),
@@ -65339,6 +65671,30 @@
   });
   dart.registerExtension(dart.global.CSSMediaRule, html$.CssMediaRule);
   dart.defineExtensionNames([
+    'namespaceUri',
+    'prefix'
+  ]);
+  html$.CssNamespaceRule = class CssNamespaceRule extends html$.CssRule {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    get [dartx.namespaceUri]() {
+      return this.namespaceURI;
+    }
+    get [dartx.prefix]() {
+      return this.prefix;
+    }
+  };
+  const namespaceUri = Symbol("CssNamespaceRule.namespaceUri");
+  const prefix = Symbol("CssNamespaceRule.prefix");
+  dart.setSignature(html$.CssNamespaceRule, {
+    fields: () => ({
+      [dartx.namespaceUri]: dart.finalFieldType(core.String),
+      [dartx.prefix]: dart.finalFieldType(core.String)
+    })
+  });
+  dart.registerExtension(dart.global.CSSNamespaceRule, html$.CssNamespaceRule);
+  dart.defineExtensionNames([
     'selectorText',
     'style'
   ]);
@@ -69763,6 +70119,7 @@
     'wordSpacing',
     'zIndex',
     'zIndex',
+    'cssFloat',
     'cssText',
     'length',
     'parentRule'
@@ -69772,7 +70129,7 @@
       return html$.CssStyleDeclaration.css('');
     }
     static css(css) {
-      let style = html$.Element.tag('div').style;
+      let style = html$.DivElement.new().style;
       style.cssText = css;
       return style;
     }
@@ -69816,7 +70173,9 @@
     }
     static _camelCase(hyphenated) {
       let replacedMs = hyphenated.replace(/^-ms-/, "ms-");
-      return replacedMs.replace(/-([\da-z])/ig, (_, letter) => letter.toUpperCase());
+      return replacedMs.replace(/-([\da-z])/ig, function(_, letter) {
+        return letter.toUpperCase();
+      });
     }
     [_setPropertyHelper](propertyName, value, priority) {
       if (priority === void 0) priority = null;
@@ -69830,6 +70189,12 @@
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
+    get [dartx.cssFloat]() {
+      return this.cssFloat;
+    }
+    set [dartx.cssFloat](value) {
+      this.cssFloat = value;
+    }
     get [dartx.cssText]() {
       return this.cssText;
     }
@@ -70935,11 +71300,13 @@
       this.zIndex = value;
     }
   };
+  const cssFloat = Symbol("CssStyleDeclaration.cssFloat");
   const cssText$ = Symbol("CssStyleDeclaration.cssText");
-  const length$1 = Symbol("CssStyleDeclaration.length");
+  const length$0 = Symbol("CssStyleDeclaration.length");
   const parentRule$ = Symbol("CssStyleDeclaration.parentRule");
   dart.setSignature(html$.CssStyleDeclaration, {
     fields: () => ({
+      [dartx.cssFloat]: dart.fieldType(core.String),
       [dartx.cssText]: dart.fieldType(core.String),
       [dartx.length]: dart.finalFieldType(core.int),
       [dartx.parentRule]: dart.finalFieldType(html$.CssRule),
@@ -71957,20 +72324,6 @@
       }
       return this[_detail];
     }
-    static _(type, eventInitDict) {
-      if (eventInitDict === void 0) eventInitDict = null;
-      if (eventInitDict != null) {
-        let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
-        return html$.CustomEvent._create_1(type, eventInitDict_1);
-      }
-      return html$.CustomEvent._create_2(type);
-    }
-    static _create_1(type, eventInitDict) {
-      return new self.CustomEvent(type, eventInitDict);
-    }
-    static _create_2(type) {
-      return new self.CustomEvent(type);
-    }
     get [_detail]() {
       return html_common.convertNativeToDart_SerializedScriptValue(this[_get__detail]);
     }
@@ -71990,12 +72343,7 @@
       [dartx.detail]: dart.fnType(dart.dynamic, []),
       [_detail]: dart.fnType(dart.dynamic, [])
     }),
-    methods: () => ({[_initCustomEvent]: dart.fnType(dart.void, [core.String, core.bool, core.bool, core.Object])}),
-    statics: () => ({
-      _create_1: dart.fnType(html$.CustomEvent, [dart.dynamic, dart.dynamic]),
-      _create_2: dart.fnType(html$.CustomEvent, [dart.dynamic])
-    }),
-    names: ['_create_1', '_create_2']
+    methods: () => ({[_initCustomEvent]: dart.fnType(dart.void, [core.String, core.bool, core.bool, core.Object])})
   });
   dart.registerExtension(dart.global.CustomEvent, html$.CustomEvent);
   html$.DListElement = class DListElement extends html$.HtmlElement {
@@ -72003,7 +72351,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.DListElement._check(html$.document[dartx.createElement]("dl"));
+      return html$.document.createElement("dl");
     }
     created() {
       super.created();
@@ -72143,7 +72491,7 @@
       return this.webkitGetAsEntry.apply(this, args);
     }
   };
-  const kind$ = Symbol("DataTransferItem.kind");
+  const kind$0 = Symbol("DataTransferItem.kind");
   const type$10 = Symbol("DataTransferItem.type");
   dart.setSignature(html$.DataTransferItem, {
     fields: () => ({
@@ -72197,7 +72545,7 @@
       return this[index];
     }
   };
-  const length$2 = Symbol("DataTransferItemList.length");
+  const length$1 = Symbol("DataTransferItemList.length");
   dart.setSignature(html$.DataTransferItemList, {
     fields: () => ({[dartx.length]: dart.finalFieldType(core.int)}),
     methods: () => ({
@@ -72212,8 +72560,12 @@
   });
   dart.registerExtension(dart.global.DataTransferItemList, html$.DataTransferItemList);
   html$.DatabaseCallback = dart.typedef('DatabaseCallback', () => dart.fnTypeFuzzy(dart.void, [web_sql.SqlDatabase]));
+  const _webkitRequestFileSystem = Symbol('_webkitRequestFileSystem');
+  const _webkitResolveLocalFileSystemUrl = Symbol('_webkitResolveLocalFileSystemUrl');
   dart.defineExtensionNames([
     'postMessage',
+    'requestFileSystemSync',
+    'resolveLocalFileSystemSyncUrl',
     'onMessage'
   ]);
   html$.DedicatedWorkerGlobalScope = class DedicatedWorkerGlobalScope extends html$.WorkerGlobalScope {
@@ -72237,6 +72589,18 @@
     [_postMessage_2](...args) {
       return this.postMessage.apply(this, args);
     }
+    [_webkitRequestFileSystem](...args) {
+      return this.webkitRequestFileSystem.apply(this, args);
+    }
+    [dartx.requestFileSystemSync](...args) {
+      return this.webkitRequestFileSystemSync.apply(this, args);
+    }
+    [dartx.resolveLocalFileSystemSyncUrl](...args) {
+      return this.webkitResolveLocalFileSystemSyncURL.apply(this, args);
+    }
+    [_webkitResolveLocalFileSystemUrl](...args) {
+      return this.webkitResolveLocalFileSystemURL.apply(this, args);
+    }
     get [dartx.onMessage]() {
       return html$.DedicatedWorkerGlobalScope.messageEvent.forTarget(this);
     }
@@ -72246,51 +72610,26 @@
     methods: () => ({
       [dartx.postMessage]: dart.fnType(dart.void, [dart.dynamic], [ListOfMessagePort()]),
       [_postMessage_1]: dart.fnType(dart.void, [dart.dynamic, ListOfMessagePort()]),
-      [_postMessage_2]: dart.fnType(dart.void, [dart.dynamic])
+      [_postMessage_2]: dart.fnType(dart.void, [dart.dynamic]),
+      [_webkitRequestFileSystem]: dart.fnType(dart.void, [core.int, core.int], [html$._FileSystemCallback, html$._ErrorCallback]),
+      [dartx.requestFileSystemSync]: dart.fnType(html$._DOMFileSystemSync, [core.int, core.int]),
+      [dartx.resolveLocalFileSystemSyncUrl]: dart.fnType(html$._EntrySync, [core.String]),
+      [_webkitResolveLocalFileSystemUrl]: dart.fnType(dart.void, [core.String, html$._EntryCallback], [html$._ErrorCallback])
     })
   });
   dart.defineLazy(html$.DedicatedWorkerGlobalScope, {
     get messageEvent() {
       return dart.const(new (EventStreamProviderOfMessageEvent())('message'));
+    },
+    get PERSISTENT() {
+      return 1;
+    },
+    get TEMPORARY() {
+      return 0;
     }
   });
   dart.registerExtension(dart.global.DedicatedWorkerGlobalScope, html$.DedicatedWorkerGlobalScope);
   dart.defineExtensionNames([
-    'session'
-  ]);
-  html$.DefaultSessionStartEvent = class DefaultSessionStartEvent extends html$.Event {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    static new(type, eventInitDict) {
-      if (eventInitDict === void 0) eventInitDict = null;
-      if (eventInitDict != null) {
-        let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
-        return html$.DefaultSessionStartEvent._create_1(type, eventInitDict_1);
-      }
-      return html$.DefaultSessionStartEvent._create_2(type);
-    }
-    static _create_1(type, eventInitDict) {
-      return new self.DefaultSessionStartEvent(type, eventInitDict);
-    }
-    static _create_2(type) {
-      return new self.DefaultSessionStartEvent(type);
-    }
-    get [dartx.session]() {
-      return this.session;
-    }
-  };
-  const session$ = Symbol("DefaultSessionStartEvent.session");
-  dart.setSignature(html$.DefaultSessionStartEvent, {
-    fields: () => ({[dartx.session]: dart.finalFieldType(html$.PresentationSession)}),
-    statics: () => ({
-      _create_1: dart.fnType(html$.DefaultSessionStartEvent, [dart.dynamic, dart.dynamic]),
-      _create_2: dart.fnType(html$.DefaultSessionStartEvent, [dart.dynamic])
-    }),
-    names: ['_create_1', '_create_2']
-  });
-  dart.registerExtension(dart.global.DefaultSessionStartEvent, html$.DefaultSessionStartEvent);
-  dart.defineExtensionNames([
     'queryUsageAndQuota',
     'requestQuota'
   ]);
@@ -72733,7 +73072,7 @@
   const fullPath = Symbol("Entry.fullPath");
   const isDirectory = Symbol("Entry.isDirectory");
   const isFile = Symbol("Entry.isFile");
-  const name$11 = Symbol("Entry.name");
+  const name$10 = Symbol("Entry.name");
   dart.setSignature(html$.Entry, {
     fields: () => ({
       [dartx.filesystem]: dart.finalFieldType(html$.FileSystem),
@@ -72944,7 +73283,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.DivElement._check(html$.document[dartx.createElement]("div"));
+      return html$.document.createElement("div");
     }
     created() {
       super.created();
@@ -72969,11 +73308,11 @@
   const _caretRangeFromPoint = Symbol('_caretRangeFromPoint');
   const _createElement = Symbol('_createElement');
   const _createElementNS = Symbol('_createElementNS');
+  const _createTextNode = Symbol('_createTextNode');
   const _createTouch_1 = Symbol('_createTouch_1');
   const _createTouch = Symbol('_createTouch');
   const _createTouchList = Symbol('_createTouchList');
   const _elementFromPoint = Symbol('_elementFromPoint');
-  const _getCssCanvasContext = Symbol('_getCssCanvasContext');
   const _webkitExitFullscreen = Symbol('_webkitExitFullscreen');
   const _createElement_2 = Symbol('_createElement_2');
   const _createElementNS_2 = Symbol('_createElementNS_2');
@@ -73095,6 +73434,7 @@
     'readyState',
     'rootElement',
     'scrollingElement',
+    'suborigin',
     'timeline'
   ]);
   html$.Document = class Document extends html$.Node {
@@ -73185,6 +73525,9 @@
     get [_styleSheets]() {
       return this.styleSheets;
     }
+    get [dartx.suborigin]() {
+      return this.suborigin;
+    }
     get [dartx.timeline]() {
       return this.timeline;
     }
@@ -73258,9 +73601,6 @@
     [dartx.exitPointerLock](...args) {
       return this.exitPointerLock.apply(this, args);
     }
-    [_getCssCanvasContext](...args) {
-      return this.getCSSCanvasContext.apply(this, args);
-    }
     [dartx.getElementsByClassName](...args) {
       return this.getElementsByClassName.apply(this, args);
     }
@@ -73588,9 +73928,10 @@
   const implementation = Symbol("Document.implementation");
   const origin$1 = Symbol("Document.origin");
   const pointerLockElement = Symbol("Document.pointerLockElement");
-  const readyState$0 = Symbol("Document.readyState");
+  const readyState$1 = Symbol("Document.readyState");
   const rootElement = Symbol("Document.rootElement");
   const scrollingElement = Symbol("Document.scrollingElement");
+  const suborigin = Symbol("Document.suborigin");
   const timeline = Symbol("Document.timeline");
   dart.setSignature(html$.Document, {
     fields: () => ({
@@ -73618,6 +73959,7 @@
       [dartx.scrollingElement]: dart.finalFieldType(html$.Element),
       [_selectedStylesheetSet]: dart.fieldType(core.String),
       [_styleSheets]: dart.finalFieldType(ListOfStyleSheet()),
+      [dartx.suborigin]: dart.finalFieldType(core.String),
       [dartx.timeline]: dart.finalFieldType(html$.AnimationTimeline),
       [_title]: dart.fieldType(core.String),
       [_visibilityState]: dart.finalFieldType(core.String),
@@ -73724,7 +74066,6 @@
       [dartx.execCommand]: dart.fnType(core.bool, [core.String], [core.bool, core.String]),
       [dartx.exitFullscreen]: dart.fnType(dart.void, []),
       [dartx.exitPointerLock]: dart.fnType(dart.void, []),
-      [_getCssCanvasContext]: dart.fnType(core.Object, [core.String, core.String, core.int, core.int]),
       [dartx.getElementsByClassName]: dart.fnType(core.List$(html$.Node), [core.String]),
       [dartx.getElementsByName]: dart.fnType(core.List$(html$.Node), [core.String]),
       [dartx.getElementsByTagName]: dart.fnType(core.List$(html$.Node), [core.String]),
@@ -73824,7 +74165,7 @@
       };
     }
     get [dartx.innerHtml]() {
-      let e = html$.Element.tag("div");
+      let e = html$.DivElement.new();
       e[dartx.append](this[dartx.clone](true));
       return e[dartx.innerHtml];
     }
@@ -73935,7 +74276,7 @@
     }
   };
   const message$18 = Symbol("DomError.message");
-  const name$12 = Symbol("DomError.name");
+  const name$11 = Symbol("DomError.name");
   dart.setSignature(html$.DomError, {
     fields: () => ({
       [dartx.message]: dart.finalFieldType(core.String),
@@ -74038,6 +74379,9 @@
     },
     get DATA_CLONE() {
       return 'DataCloneError';
+    },
+    get TYPE_ERROR() {
+      return 'TypeError';
     }
   });
   dart.registerExtension(dart.global.DOMException, html$.DomException);
@@ -74318,7 +74662,7 @@
       if (other == null) {
         return html$.DomMatrix._create_1();
       }
-      if (html$.DomMatrixReadOnly.is(other) || other == null) {
+      if (html$.DomMatrixReadOnly.is(other)) {
         return html$.DomMatrix._create_2(other);
       }
       dart.throw(new core.ArgumentError("Incorrect number or type of arguments"));
@@ -74602,8 +74946,8 @@
       if (y === void 0) y = null;
       if (z === void 0) z = null;
       if (w === void 0) w = null;
-      if ((core.Map.is(point_OR_x) || point_OR_x == null) && y == null && z == null && w == null) {
-        let point_1 = html_common.convertDartToNative_Dictionary(core.Map._check(point_OR_x));
+      if (core.Map.is(point_OR_x) && y == null && z == null && w == null) {
+        let point_1 = html_common.convertDartToNative_Dictionary(point_OR_x);
         return html$.DomPoint._create_1(point_1);
       }
       if (point_OR_x == null && y == null && z == null && w == null) {
@@ -74822,206 +75166,6 @@
   });
   dart.registerExtension(dart.global.DOMRectReadOnly, html$.DomRectReadOnly);
   dart.defineExtensionNames([
-    'add',
-    'contains',
-    'item',
-    'remove',
-    'toggle',
-    'length'
-  ]);
-  html$.DomTokenList = class DomTokenList extends _interceptors.Interceptor {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.length]() {
-      return this.length;
-    }
-    [dartx.add](...args) {
-      return this.add.apply(this, args);
-    }
-    [dartx.contains](...args) {
-      return this.contains.apply(this, args);
-    }
-    [dartx.item](...args) {
-      return this.item.apply(this, args);
-    }
-    [dartx.remove](...args) {
-      return this.remove.apply(this, args);
-    }
-    [dartx.toggle](...args) {
-      return this.toggle.apply(this, args);
-    }
-  };
-  const length$3 = Symbol("DomTokenList.length");
-  dart.setSignature(html$.DomTokenList, {
-    fields: () => ({[dartx.length]: dart.finalFieldType(core.int)}),
-    methods: () => ({
-      [dartx.add]: dart.fnType(dart.void, [core.String]),
-      [dartx.contains]: dart.fnType(core.bool, [core.String]),
-      [dartx.item]: dart.fnType(core.String, [core.int]),
-      [dartx.remove]: dart.fnType(dart.void, [core.String]),
-      [dartx.toggle]: dart.fnType(core.bool, [core.String], [core.bool])
-    })
-  });
-  dart.registerExtension(dart.global.DOMTokenList, html$.DomTokenList);
-  dart.defineExtensionNames([
-    'value'
-  ]);
-  html$.DomSettableTokenList = class DomSettableTokenList extends html$.DomTokenList {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.value]() {
-      return this.value;
-    }
-    set [dartx.value](value) {
-      this.value = value;
-    }
-  };
-  const value$1 = Symbol("DomSettableTokenList.value");
-  dart.setSignature(html$.DomSettableTokenList, {
-    fields: () => ({[dartx.value]: dart.fieldType(core.String)})
-  });
-  dart.registerExtension(dart.global.DOMSettableTokenList, html$.DomSettableTokenList);
-  html$.ImmutableListMixin$ = dart.generic(E => {
-    let FixedSizeListIteratorOfE = () => (FixedSizeListIteratorOfE = dart.constFn(html$.FixedSizeListIterator$(E)))();
-    let IterableOfE = () => (IterableOfE = dart.constFn(core.Iterable$(E)))();
-    let ListOfE = () => (ListOfE = dart.constFn(core.List$(E)))();
-    let EAndEToint = () => (EAndEToint = dart.constFn(dart.fnTypeFuzzy(core.int, [E, E])))();
-    let ETobool = () => (ETobool = dart.constFn(dart.fnTypeFuzzy(core.bool, [E])))();
-    dart.defineExtensionNames([
-      'iterator',
-      'add',
-      'addAll',
-      'sort',
-      'shuffle',
-      'insert',
-      'insertAll',
-      'setAll',
-      'removeAt',
-      'removeLast',
-      'remove',
-      'removeWhere',
-      'retainWhere',
-      'setRange',
-      'removeRange',
-      'replaceRange',
-      'fillRange'
-    ]);
-    class ImmutableListMixin extends core.Object {
-      get iterator() {
-        return new (FixedSizeListIteratorOfE())(this);
-      }
-      [Symbol.iterator]() {
-        return new dart.JsIterator(this[dartx.iterator]);
-      }
-      add(value) {
-        E._check(value);
-        dart.throw(new core.UnsupportedError("Cannot add to immutable List."));
-      }
-      addAll(iterable) {
-        IterableOfE()._check(iterable);
-        dart.throw(new core.UnsupportedError("Cannot add to immutable List."));
-      }
-      sort(compare) {
-        if (compare === void 0) compare = null;
-        dart.throw(new core.UnsupportedError("Cannot sort immutable List."));
-      }
-      shuffle(random) {
-        if (random === void 0) random = null;
-        dart.throw(new core.UnsupportedError("Cannot shuffle immutable List."));
-      }
-      insert(index, element) {
-        E._check(element);
-        dart.throw(new core.UnsupportedError("Cannot add to immutable List."));
-      }
-      insertAll(index, iterable) {
-        IterableOfE()._check(iterable);
-        dart.throw(new core.UnsupportedError("Cannot add to immutable List."));
-      }
-      setAll(index, iterable) {
-        IterableOfE()._check(iterable);
-        dart.throw(new core.UnsupportedError("Cannot modify an immutable List."));
-      }
-      removeAt(pos) {
-        dart.throw(new core.UnsupportedError("Cannot remove from immutable List."));
-      }
-      removeLast() {
-        dart.throw(new core.UnsupportedError("Cannot remove from immutable List."));
-      }
-      remove(object) {
-        dart.throw(new core.UnsupportedError("Cannot remove from immutable List."));
-      }
-      removeWhere(test) {
-        dart.throw(new core.UnsupportedError("Cannot remove from immutable List."));
-      }
-      retainWhere(test) {
-        dart.throw(new core.UnsupportedError("Cannot remove from immutable List."));
-      }
-      setRange(start, end, iterable, skipCount) {
-        IterableOfE()._check(iterable);
-        if (skipCount === void 0) skipCount = 0;
-        dart.throw(new core.UnsupportedError("Cannot setRange on immutable List."));
-      }
-      removeRange(start, end) {
-        dart.throw(new core.UnsupportedError("Cannot removeRange on immutable List."));
-      }
-      replaceRange(start, end, iterable) {
-        IterableOfE()._check(iterable);
-        dart.throw(new core.UnsupportedError("Cannot modify an immutable List."));
-      }
-      fillRange(start, end, fillValue) {
-        if (fillValue === void 0) fillValue = null;
-        E._check(fillValue);
-        dart.throw(new core.UnsupportedError("Cannot modify an immutable List."));
-      }
-    }
-    dart.addTypeTests(ImmutableListMixin);
-    ImmutableListMixin[dart.implements] = () => [ListOfE()];
-    dart.setSignature(ImmutableListMixin, {
-      getters: () => ({iterator: dart.fnType(core.Iterator$(E), [])}),
-      methods: () => ({
-        add: dart.fnType(dart.void, [E]),
-        addAll: dart.fnType(dart.void, [IterableOfE()]),
-        sort: dart.fnType(dart.void, [], [EAndEToint()]),
-        shuffle: dart.fnType(dart.void, [], [math.Random]),
-        insert: dart.fnType(dart.void, [core.int, E]),
-        insertAll: dart.fnType(dart.void, [core.int, IterableOfE()]),
-        setAll: dart.fnType(dart.void, [core.int, IterableOfE()]),
-        removeAt: dart.fnType(E, [core.int]),
-        removeLast: dart.fnType(E, []),
-        remove: dart.fnType(core.bool, [core.Object]),
-        removeWhere: dart.fnType(dart.void, [ETobool()]),
-        retainWhere: dart.fnType(dart.void, [ETobool()]),
-        setRange: dart.fnType(dart.void, [core.int, core.int, IterableOfE()], [core.int]),
-        removeRange: dart.fnType(dart.void, [core.int, core.int]),
-        replaceRange: dart.fnType(dart.void, [core.int, core.int, IterableOfE()]),
-        fillRange: dart.fnType(dart.void, [core.int, core.int], [E])
-      })
-    });
-    dart.defineExtensionMembers(ImmutableListMixin, [
-      'add',
-      'addAll',
-      'sort',
-      'shuffle',
-      'insert',
-      'insertAll',
-      'setAll',
-      'removeAt',
-      'removeLast',
-      'remove',
-      'removeWhere',
-      'retainWhere',
-      'setRange',
-      'removeRange',
-      'replaceRange',
-      'fillRange',
-      'iterator'
-    ]);
-    return ImmutableListMixin;
-  });
-  html$.ImmutableListMixin = ImmutableListMixin();
-  dart.defineExtensionNames([
     'length',
     '_get',
     '_set',
@@ -75041,7 +75185,7 @@
     }
     [dartx._get](index) {
       if (index >>> 0 !== index || index >= this[dartx.length]) dart.throw(core.RangeError.index(index, this));
-      return this.item(index);
+      return this[index];
     }
     [dartx._set](index, value) {
       dart.throw(new core.UnsupportedError("Cannot assign element of immutable List."));
@@ -75081,7 +75225,7 @@
       return this.item.apply(this, args);
     }
   };
-  html$.DomStringList[dart.implements] = () => [ListOfString()];
+  html$.DomStringList[dart.implements] = () => [JavaScriptIndexingBehaviorOfString(), ListOfString()];
   dart.setSignature(html$.DomStringList, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -75099,11 +75243,96 @@
     })
   });
   dart.registerExtension(dart.global.DOMStringList, html$.DomStringList);
+  const __delete__ = Symbol('__delete__');
+  const __setter__ = Symbol('__setter__');
+  dart.defineExtensionNames([
+    'item'
+  ]);
   html$.DomStringMap = class DomStringMap extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
+    [__delete__](...args) {
+      return this.__delete__.apply(this, args);
+    }
+    [__getter__](...args) {
+      return this.__getter__.apply(this, args);
+    }
+    [__setter__](...args) {
+      return this.__setter__.apply(this, args);
+    }
+    [dartx.item](...args) {
+      return this.item.apply(this, args);
+    }
   };
+  dart.setSignature(html$.DomStringMap, {
+    methods: () => ({
+      [__delete__]: dart.fnType(dart.void, [dart.dynamic]),
+      [__getter__]: dart.fnType(core.String, [core.int]),
+      [__setter__]: dart.fnType(dart.void, [dart.dynamic, core.String]),
+      [dartx.item]: dart.fnType(core.String, [core.String])
+    })
+  });
+  dart.registerExtension(dart.global.DOMStringMap, html$.DomStringMap);
+  dart.defineExtensionNames([
+    'add',
+    'contains',
+    'item',
+    'remove',
+    'supports',
+    'toggle',
+    'length',
+    'value'
+  ]);
+  html$.DomTokenList = class DomTokenList extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    get [dartx.length]() {
+      return this.length;
+    }
+    get [dartx.value]() {
+      return this.value;
+    }
+    set [dartx.value](value) {
+      this.value = value;
+    }
+    [dartx.add](...args) {
+      return this.add.apply(this, args);
+    }
+    [dartx.contains](...args) {
+      return this.contains.apply(this, args);
+    }
+    [dartx.item](...args) {
+      return this.item.apply(this, args);
+    }
+    [dartx.remove](...args) {
+      return this.remove.apply(this, args);
+    }
+    [dartx.supports](...args) {
+      return this.supports.apply(this, args);
+    }
+    [dartx.toggle](...args) {
+      return this.toggle.apply(this, args);
+    }
+  };
+  const length$2 = Symbol("DomTokenList.length");
+  const value$1 = Symbol("DomTokenList.value");
+  dart.setSignature(html$.DomTokenList, {
+    fields: () => ({
+      [dartx.length]: dart.finalFieldType(core.int),
+      [dartx.value]: dart.fieldType(core.String)
+    }),
+    methods: () => ({
+      [dartx.add]: dart.fnType(dart.void, [core.String]),
+      [dartx.contains]: dart.fnType(core.bool, [core.String]),
+      [dartx.item]: dart.fnType(core.String, [core.int]),
+      [dartx.remove]: dart.fnType(dart.void, [core.String]),
+      [dartx.supports]: dart.fnType(core.bool, [core.String]),
+      [dartx.toggle]: dart.fnType(core.bool, [core.String], [core.bool])
+    })
+  });
+  dart.registerExtension(dart.global.DOMTokenList, html$.DomTokenList);
   html$.EffectModel = class EffectModel extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -75732,7 +75961,6 @@
       return dart.const(new html$.ScrollAlignment._internal('BOTTOM'));
     }
   });
-  const __setter__ = Symbol('__setter__');
   dart.defineExtensionNames([
     'height',
     'name',
@@ -75749,7 +75977,7 @@
     }
     created() {
       this[height$] = null;
-      this[name$13] = null;
+      this[name$12] = null;
       this[src$] = null;
       this[type$11] = null;
       this[width$] = null;
@@ -75797,7 +76025,7 @@
   };
   dart.defineNamedConstructor(html$.EmbedElement, 'created');
   const height$ = Symbol("EmbedElement.height");
-  const name$13 = Symbol("EmbedElement.name");
+  const name$12 = Symbol("EmbedElement.name");
   const src$ = Symbol("EmbedElement.src");
   const type$11 = Symbol("EmbedElement.type");
   const width$ = Symbol("EmbedElement.width");
@@ -75933,7 +76161,7 @@
       return html$.EventSource.openEvent.forTarget(this);
     }
   };
-  const readyState$1 = Symbol("EventSource.readyState");
+  const readyState$2 = Symbol("EventSource.readyState");
   const url$0 = Symbol("EventSource.url");
   const withCredentials = Symbol("EventSource.withCredentials");
   dart.setSignature(html$.EventSource, {
@@ -76033,7 +76261,7 @@
     }
   };
   dart.setSignature(html$.ExtendableEvent, {
-    methods: () => ({[dartx.waitUntil]: dart.fnType(dart.void, [core.Object])}),
+    methods: () => ({[dartx.waitUntil]: dart.fnType(dart.void, [async.Future])}),
     statics: () => ({
       _create_1: dart.fnType(html$.ExtendableEvent, [dart.dynamic, dart.dynamic]),
       _create_2: dart.fnType(html$.ExtendableEvent, [dart.dynamic])
@@ -76042,6 +76270,48 @@
   });
   dart.registerExtension(dart.global.ExtendableEvent, html$.ExtendableEvent);
   dart.defineExtensionNames([
+    'data',
+    'lastEventId',
+    'origin',
+    'ports',
+    'source'
+  ]);
+  html$.ExtendableMessageEvent = class ExtendableMessageEvent extends html$.ExtendableEvent {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    get [dartx.data]() {
+      return this.data;
+    }
+    get [dartx.lastEventId]() {
+      return this.lastEventId;
+    }
+    get [dartx.origin]() {
+      return this.origin;
+    }
+    get [dartx.ports]() {
+      return this.ports;
+    }
+    get [dartx.source]() {
+      return this.source;
+    }
+  };
+  const data$2 = Symbol("ExtendableMessageEvent.data");
+  const lastEventId = Symbol("ExtendableMessageEvent.lastEventId");
+  const origin$2 = Symbol("ExtendableMessageEvent.origin");
+  const ports = Symbol("ExtendableMessageEvent.ports");
+  const source$1 = Symbol("ExtendableMessageEvent.source");
+  dart.setSignature(html$.ExtendableMessageEvent, {
+    fields: () => ({
+      [dartx.data]: dart.finalFieldType(core.Object),
+      [dartx.lastEventId]: dart.finalFieldType(core.String),
+      [dartx.origin]: dart.finalFieldType(core.String),
+      [dartx.ports]: dart.finalFieldType(ListOfMessagePort()),
+      [dartx.source]: dart.finalFieldType(core.Object)
+    })
+  });
+  dart.registerExtension(dart.global.ExtendableMessageEvent, html$.ExtendableMessageEvent);
+  dart.defineExtensionNames([
     'protocol',
     'provider'
   ]);
@@ -76076,6 +76346,7 @@
   dart.registerExtension(dart.global.FederatedCredential, html$.FederatedCredential);
   dart.defineExtensionNames([
     'respondWith',
+    'clientId',
     'isReload',
     'request'
   ]);
@@ -76084,18 +76355,14 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new(type, eventInitDict) {
-      if (eventInitDict === void 0) eventInitDict = null;
-      if (eventInitDict != null) {
-        let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
-        return html$.FetchEvent._create_1(type, eventInitDict_1);
-      }
-      return html$.FetchEvent._create_2(type);
+      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
+      return html$.FetchEvent._create_1(type, eventInitDict_1);
     }
     static _create_1(type, eventInitDict) {
       return new self.FetchEvent(type, eventInitDict);
     }
-    static _create_2(type) {
-      return new self.FetchEvent(type);
+    get [dartx.clientId]() {
+      return this.clientId;
     }
     get [dartx.isReload]() {
       return this.isReload;
@@ -76107,19 +76374,18 @@
       return this.respondWith.apply(this, args);
     }
   };
+  const clientId = Symbol("FetchEvent.clientId");
   const isReload = Symbol("FetchEvent.isReload");
   const request = Symbol("FetchEvent.request");
   dart.setSignature(html$.FetchEvent, {
     fields: () => ({
+      [dartx.clientId]: dart.finalFieldType(core.String),
       [dartx.isReload]: dart.finalFieldType(core.bool),
       [dartx.request]: dart.finalFieldType(html$._Request)
     }),
-    methods: () => ({[dartx.respondWith]: dart.fnType(dart.void, [core.Object])}),
-    statics: () => ({
-      _create_1: dart.fnType(html$.FetchEvent, [dart.dynamic, dart.dynamic]),
-      _create_2: dart.fnType(html$.FetchEvent, [dart.dynamic])
-    }),
-    names: ['_create_1', '_create_2']
+    methods: () => ({[dartx.respondWith]: dart.fnType(dart.void, [async.Future])}),
+    statics: () => ({_create_1: dart.fnType(html$.FetchEvent, [dart.dynamic, dart.dynamic])}),
+    names: ['_create_1']
   });
   dart.registerExtension(dart.global.FetchEvent, html$.FetchEvent);
   dart.defineExtensionNames([
@@ -76140,13 +76406,13 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.FieldSetElement._check(html$.document[dartx.createElement]("fieldset"));
+      return html$.document.createElement("fieldset");
     }
     created() {
       this[disabled$0] = null;
       this[elements] = null;
       this[form$] = null;
-      this[name$14] = null;
+      this[name$13] = null;
       this[type$12] = null;
       this[validationMessage$] = null;
       this[validity$] = null;
@@ -76197,7 +76463,7 @@
   const disabled$0 = Symbol("FieldSetElement.disabled");
   const elements = Symbol("FieldSetElement.elements");
   const form$ = Symbol("FieldSetElement.form");
-  const name$14 = Symbol("FieldSetElement.name");
+  const name$13 = Symbol("FieldSetElement.name");
   const type$12 = Symbol("FieldSetElement.type");
   const validationMessage$ = Symbol("FieldSetElement.validationMessage");
   const validity$ = Symbol("FieldSetElement.validity");
@@ -76262,7 +76528,7 @@
     }
   };
   const lastModified = Symbol("File.lastModified");
-  const name$15 = Symbol("File.name");
+  const name$14 = Symbol("File.name");
   const relativePath = Symbol("File.relativePath");
   dart.setSignature(html$.File, {
     fields: () => ({
@@ -76279,7 +76545,6 @@
     names: ['_create_1', '_create_2']
   });
   dart.registerExtension(dart.global.File, html$.File);
-  html$._FileCallback = dart.typedef('_FileCallback', () => dart.fnTypeFuzzy(dart.void, [html$.File]));
   const _createWriter = Symbol('_createWriter');
   const _file$ = Symbol('_file');
   dart.defineExtensionNames([
@@ -76306,10 +76571,10 @@
       return this.file.apply(this, args);
     }
     [dartx.file]() {
-      let completer = CompleterOfFile$().new();
+      let completer = CompleterOfBlob().new();
       this[_file$](dart.fn(value => {
         completer.complete(value);
-      }, FileToNull()), dart.fn(error => {
+      }, BlobToNull()), dart.fn(error => {
         completer.completeError(error);
       }, FileErrorToNull()));
       return completer.future;
@@ -76319,8 +76584,8 @@
     methods: () => ({
       [_createWriter]: dart.fnType(dart.void, [html$._FileWriterCallback], [html$._ErrorCallback]),
       [dartx.createWriter]: dart.fnType(async.Future$(html$.FileWriter), []),
-      [_file$]: dart.fnType(dart.void, [html$._FileCallback], [html$._ErrorCallback]),
-      [dartx.file]: dart.fnType(async.Future$(html$.File), [])
+      [_file$]: dart.fnType(dart.void, [html$.BlobCallback], [html$._ErrorCallback]),
+      [dartx.file]: dart.fnType(async.Future$(html$.Blob), [])
     })
   });
   dart.registerExtension(dart.global.FileEntry, html$.FileEntry);
@@ -76435,7 +76700,7 @@
       return this.item.apply(this, args);
     }
   };
-  html$.FileList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior, ListOfFile()];
+  html$.FileList[dart.implements] = () => [ListOfFile(), JavaScriptIndexingBehaviorOfFile()];
   dart.setSignature(html$.FileList, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -76522,7 +76787,7 @@
     }
   };
   const error$3 = Symbol("FileReader.error");
-  const readyState$2 = Symbol("FileReader.readyState");
+  const readyState$3 = Symbol("FileReader.readyState");
   dart.setSignature(html$.FileReader, {
     fields: () => ({
       [dartx.error]: dart.finalFieldType(html$.FileError),
@@ -76610,7 +76875,7 @@
       return this.root;
     }
   };
-  const name$16 = Symbol("FileSystem.name");
+  const name$15 = Symbol("FileSystem.name");
   const root = Symbol("FileSystem.root");
   dart.setSignature(html$.FileSystem, {
     fields: () => ({
@@ -76684,9 +76949,9 @@
     }
   };
   const error$4 = Symbol("FileWriter.error");
-  const length$4 = Symbol("FileWriter.length");
+  const length$3 = Symbol("FileWriter.length");
   const position = Symbol("FileWriter.position");
-  const readyState$3 = Symbol("FileWriter.readyState");
+  const readyState$4 = Symbol("FileWriter.readyState");
   dart.setSignature(html$.FileWriter, {
     fields: () => ({
       [dartx.error]: dart.finalFieldType(html$.FileError),
@@ -76937,7 +77202,7 @@
       [dartx.status]: dart.finalFieldType(core.String)
     }),
     methods: () => ({
-      [dartx.add]: dart.fnType(dart.void, [html$.FontFace]),
+      [dartx.add]: dart.fnType(html$.FontFaceSet, [html$.FontFace]),
       [dartx.check]: dart.fnType(core.bool, [core.String], [core.String]),
       [dartx.clear]: dart.fnType(dart.void, []),
       [dartx.delete]: dart.fnType(core.bool, [html$.FontFace]),
@@ -76946,7 +77211,6 @@
     })
   });
   dart.registerExtension(dart.global.FontFaceSet, html$.FontFaceSet);
-  html$.FontFaceSetForEachCallback = dart.typedef('FontFaceSetForEachCallback', () => dart.fnTypeFuzzy(dart.void, [html$.FontFace, html$.FontFace, html$.FontFaceSet]));
   dart.defineExtensionNames([
     'fontfaces'
   ]);
@@ -77055,7 +77319,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.FormElement._check(html$.document[dartx.createElement]("form"));
+      return html$.document.createElement("form");
     }
     created() {
       this[acceptCharset] = null;
@@ -77063,9 +77327,9 @@
       this[autocomplete] = null;
       this[encoding$0] = null;
       this[enctype] = null;
-      this[length$5] = null;
+      this[length$4] = null;
       this[method] = null;
-      this[name$17] = null;
+      this[name$16] = null;
       this[noValidate] = null;
       this[target$1] = null;
       super.created();
@@ -77160,9 +77424,9 @@
   const autocomplete = Symbol("FormElement.autocomplete");
   const encoding$0 = Symbol("FormElement.encoding");
   const enctype = Symbol("FormElement.enctype");
-  const length$5 = Symbol("FormElement.length");
+  const length$4 = Symbol("FormElement.length");
   const method = Symbol("FormElement.method");
-  const name$17 = Symbol("FormElement.name");
+  const name$16 = Symbol("FormElement.name");
   const noValidate = Symbol("FormElement.noValidate");
   const target$1 = Symbol("FormElement.target");
   dart.setSignature(html$.FormElement, {
@@ -77228,8 +77492,8 @@
   };
   const axes = Symbol("Gamepad.axes");
   const buttons = Symbol("Gamepad.buttons");
-  const connected$ = Symbol("Gamepad.connected");
-  const id$3 = Symbol("Gamepad.id");
+  const connected = Symbol("Gamepad.connected");
+  const id$5 = Symbol("Gamepad.id");
   const index = Symbol("Gamepad.index");
   const mapping = Symbol("Gamepad.mapping");
   const timestamp = Symbol("Gamepad.timestamp");
@@ -77346,7 +77610,7 @@
       return this.region;
     }
   };
-  const id$4 = Symbol("GeofencingEvent.id");
+  const id$6 = Symbol("GeofencingEvent.id");
   const region = Symbol("GeofencingEvent.region");
   dart.setSignature(html$.GeofencingEvent, {
     fields: () => ({
@@ -77601,6 +77865,10 @@
     'onSubmit',
     'onSuspend',
     'onTimeUpdate',
+    'onTouchCancel',
+    'onTouchEnd',
+    'onTouchMove',
+    'onTouchStart',
     'onVolumeChange',
     'onWaiting'
   ]);
@@ -77758,6 +78026,18 @@
     get onTimeUpdate() {
       return html$.GlobalEventHandlers.timeUpdateEvent.forTarget(this);
     }
+    get onTouchCancel() {
+      return html$.GlobalEventHandlers.touchCancelEvent.forTarget(this);
+    }
+    get onTouchEnd() {
+      return html$.GlobalEventHandlers.touchEndEvent.forTarget(this);
+    }
+    get onTouchMove() {
+      return html$.GlobalEventHandlers.touchMoveEvent.forTarget(this);
+    }
+    get onTouchStart() {
+      return html$.GlobalEventHandlers.touchStartEvent.forTarget(this);
+    }
     get onVolumeChange() {
       return html$.GlobalEventHandlers.volumeChangeEvent.forTarget(this);
     }
@@ -77818,6 +78098,10 @@
       onSubmit: dart.fnType(async.Stream$(html$.Event), []),
       onSuspend: dart.fnType(async.Stream$(html$.Event), []),
       onTimeUpdate: dart.fnType(async.Stream$(html$.Event), []),
+      onTouchCancel: dart.fnType(async.Stream$(html$.TouchEvent), []),
+      onTouchEnd: dart.fnType(async.Stream$(html$.TouchEvent), []),
+      onTouchMove: dart.fnType(async.Stream$(html$.TouchEvent), []),
+      onTouchStart: dart.fnType(async.Stream$(html$.TouchEvent), []),
       onVolumeChange: dart.fnType(async.Stream$(html$.Event), []),
       onWaiting: dart.fnType(async.Stream$(html$.Event), [])
     })
@@ -77873,6 +78157,10 @@
     'onSubmit',
     'onSuspend',
     'onTimeUpdate',
+    'onTouchCancel',
+    'onTouchEnd',
+    'onTouchMove',
+    'onTouchStart',
     'onVolumeChange',
     'onWaiting'
   ]);
@@ -78027,6 +78315,18 @@
     get timeUpdateEvent() {
       return dart.const(new (EventStreamProviderOfEvent())('timeupdate'));
     },
+    get touchCancelEvent() {
+      return dart.const(new (EventStreamProviderOfTouchEvent())('touchcancel'));
+    },
+    get touchEndEvent() {
+      return dart.const(new (EventStreamProviderOfTouchEvent())('touchend'));
+    },
+    get touchMoveEvent() {
+      return dart.const(new (EventStreamProviderOfTouchEvent())('touchmove'));
+    },
+    get touchStartEvent() {
+      return dart.const(new (EventStreamProviderOfTouchEvent())('touchstart'));
+    },
     get volumeChangeEvent() {
       return dart.const(new (EventStreamProviderOfEvent())('volumechange'));
     },
@@ -78042,7 +78342,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.HRElement._check(html$.document[dartx.createElement]("hr"));
+      return html$.document.createElement("hr");
     }
     created() {
       this[color] = null;
@@ -78061,7 +78361,6 @@
     fields: () => ({[dartx.color]: dart.fieldType(core.String)})
   });
   dart.registerExtension(dart.global.HTMLHRElement, html$.HRElement);
-  const _initHashChangeEvent = Symbol('_initHashChangeEvent');
   dart.defineExtensionNames([
     'newUrl',
     'oldUrl'
@@ -78098,9 +78397,6 @@
     get [dartx.oldUrl]() {
       return this.oldURL;
     }
-    [_initHashChangeEvent](...args) {
-      return this.initHashChangeEvent.apply(this, args);
-    }
   };
   const newUrl = Symbol("HashChangeEvent.newUrl");
   const oldUrl = Symbol("HashChangeEvent.oldUrl");
@@ -78109,7 +78405,6 @@
       [dartx.newUrl]: dart.finalFieldType(core.String),
       [dartx.oldUrl]: dart.finalFieldType(core.String)
     }),
-    methods: () => ({[_initHashChangeEvent]: dart.fnType(dart.void, [core.String, core.bool, core.bool, core.String, core.String])}),
     statics: () => ({
       _create_1: dart.fnType(html$.HashChangeEvent, [dart.dynamic, dart.dynamic]),
       _create_2: dart.fnType(html$.HashChangeEvent, [dart.dynamic])
@@ -78122,7 +78417,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.HeadElement._check(html$.document[dartx.createElement]("head"));
+      return html$.document.createElement("head");
     }
     created() {
       super.created();
@@ -78179,22 +78474,22 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static h1() {
-      return html$.HeadingElement._check(html$.document[dartx.createElement]("h1"));
+      return html$.document.createElement("h1");
     }
     static h2() {
-      return html$.HeadingElement._check(html$.document[dartx.createElement]("h2"));
+      return html$.document.createElement("h2");
     }
     static h3() {
-      return html$.HeadingElement._check(html$.document[dartx.createElement]("h3"));
+      return html$.document.createElement("h3");
     }
     static h4() {
-      return html$.HeadingElement._check(html$.document[dartx.createElement]("h4"));
+      return html$.document.createElement("h4");
     }
     static h5() {
-      return html$.HeadingElement._check(html$.document[dartx.createElement]("h5"));
+      return html$.document.createElement("h5");
     }
     static h6() {
-      return html$.HeadingElement._check(html$.document[dartx.createElement]("h6"));
+      return html$.document.createElement("h6");
     }
     created() {
       super.created();
@@ -78202,21 +78497,18 @@
   };
   dart.defineNamedConstructor(html$.HeadingElement, 'created');
   dart.registerExtension(dart.global.HTMLHeadingElement, html$.HeadingElement);
-  const _get_options = Symbol('_get_options');
   const _get_state = Symbol('_get_state');
   const _pushState_1 = Symbol('_pushState_1');
-  const _pushState_2 = Symbol('_pushState_2');
   const _replaceState_1 = Symbol('_replaceState_1');
-  const _replaceState_2 = Symbol('_replaceState_2');
   dart.defineExtensionNames([
-    'options',
     'state',
     'back',
     'forward',
     'go',
     'pushState',
     'replaceState',
-    'length'
+    'length',
+    'scrollRestoration'
   ]);
   html$.History = class History extends _interceptors.Interceptor {
     static get supportsState() {
@@ -78228,11 +78520,11 @@
     get [dartx.length]() {
       return this.length;
     }
-    get [dartx.options]() {
-      return html_common.convertNativeToDart_Dictionary(this[_get_options]);
+    get [dartx.scrollRestoration]() {
+      return this.scrollRestoration;
     }
-    get [_get_options]() {
-      return this.options;
+    set [dartx.scrollRestoration](value) {
+      this.scrollRestoration = value;
     }
     get [dartx.state]() {
       return html_common.convertNativeToDart_SerializedScriptValue(this[_get_state]);
@@ -78249,65 +78541,41 @@
     [dartx.go](...args) {
       return this.go.apply(this, args);
     }
-    [dartx.pushState](data, title, url, options) {
-      if (options === void 0) options = null;
-      if (options != null) {
-        let data_1 = html_common.convertDartToNative_SerializedScriptValue(data);
-        let options_2 = html_common.convertDartToNative_Dictionary(options);
-        this[_pushState_1](data_1, title, url, options_2);
-        return;
-      }
+    [dartx.pushState](data, title, url) {
       let data_1 = html_common.convertDartToNative_SerializedScriptValue(data);
-      this[_pushState_2](data_1, title, url);
+      this[_pushState_1](data_1, title, url);
       return;
     }
     [_pushState_1](...args) {
       return this.pushState.apply(this, args);
     }
-    [_pushState_2](...args) {
-      return this.pushState.apply(this, args);
-    }
-    [dartx.replaceState](data, title, url, options) {
-      if (options === void 0) options = null;
-      if (options != null) {
-        let data_1 = html_common.convertDartToNative_SerializedScriptValue(data);
-        let options_2 = html_common.convertDartToNative_Dictionary(options);
-        this[_replaceState_1](data_1, title, url, options_2);
-        return;
-      }
+    [dartx.replaceState](data, title, url) {
       let data_1 = html_common.convertDartToNative_SerializedScriptValue(data);
-      this[_replaceState_2](data_1, title, url);
+      this[_replaceState_1](data_1, title, url);
       return;
     }
     [_replaceState_1](...args) {
       return this.replaceState.apply(this, args);
     }
-    [_replaceState_2](...args) {
-      return this.replaceState.apply(this, args);
-    }
   };
-  const length$6 = Symbol("History.length");
+  const length$5 = Symbol("History.length");
+  const scrollRestoration = Symbol("History.scrollRestoration");
   html$.History[dart.implements] = () => [html$.HistoryBase];
   dart.setSignature(html$.History, {
     fields: () => ({
       [dartx.length]: dart.finalFieldType(core.int),
-      [_get_options]: dart.finalFieldType(dart.dynamic),
+      [dartx.scrollRestoration]: dart.fieldType(core.String),
       [_get_state]: dart.finalFieldType(dart.dynamic)
     }),
-    getters: () => ({
-      [dartx.options]: dart.fnType(core.Map, []),
-      [dartx.state]: dart.fnType(dart.dynamic, [])
-    }),
+    getters: () => ({[dartx.state]: dart.fnType(dart.dynamic, [])}),
     methods: () => ({
       [dartx.back]: dart.fnType(dart.void, []),
       [dartx.forward]: dart.fnType(dart.void, []),
       [dartx.go]: dart.fnType(dart.void, [], [core.int]),
-      [dartx.pushState]: dart.fnType(dart.void, [dart.dynamic, core.String, core.String], [core.Map]),
-      [_pushState_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
-      [_pushState_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic]),
-      [dartx.replaceState]: dart.fnType(dart.void, [dart.dynamic, core.String, core.String], [core.Map]),
-      [_replaceState_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
-      [_replaceState_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic])
+      [dartx.pushState]: dart.fnType(dart.void, [dart.dynamic, core.String, core.String]),
+      [_pushState_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic]),
+      [dartx.replaceState]: dart.fnType(dart.void, [dart.dynamic, core.String, core.String]),
+      [_replaceState_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic])
     })
   });
   dart.registerExtension(dart.global.History, html$.History);
@@ -78424,7 +78692,7 @@
       return this.namedItem.apply(this, args);
     }
   };
-  html$.HtmlCollection[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior, ListOfNode()];
+  html$.HtmlCollection[dart.implements] = () => [JavaScriptIndexingBehaviorOfNode(), ListOfNode()];
   dart.setSignature(html$.HtmlCollection, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -78482,7 +78750,8 @@
       return !!document.getCSSCanvasContext;
     }
     [dartx.getCssCanvasContext](contextId, name, width, height) {
-      return html$.CanvasRenderingContext._check(this[_getCssCanvasContext](contextId, name, width, height));
+      if (dart.test(html$.HtmlDocument.supportsCssCanvasContext)) return this.getCSSCanvasContext(contextId, name, width, height);
+      dart.throw(new core.UnsupportedError("Not supported"));
     }
     get [dartx.head]() {
       return this[_head$0];
@@ -78597,7 +78866,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.HtmlHtmlElement._check(html$.document[dartx.createElement]("html"));
+      return html$.document.createElement("html");
     }
     created() {
       super.created();
@@ -78932,7 +79201,7 @@
       return html$.HttpRequest.readyStateChangeEvent.forTarget(this);
     }
   };
-  const readyState$4 = Symbol("HttpRequest.readyState");
+  const readyState$5 = Symbol("HttpRequest.readyState");
   const responseText = Symbol("HttpRequest.responseText");
   const responseType = Symbol("HttpRequest.responseType");
   const responseUrl = Symbol("HttpRequest.responseUrl");
@@ -79012,6 +79281,7 @@
     'allowFullscreen',
     'height',
     'name',
+    'referrerpolicy',
     'sandbox',
     'src',
     'srcdoc',
@@ -79022,13 +79292,14 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.IFrameElement._check(html$.document[dartx.createElement]("iframe"));
+      return html$.document.createElement("iframe");
     }
     created() {
       this[allowFullscreen] = null;
       this[_get_contentWindow] = null;
       this[height$0] = null;
-      this[name$18] = null;
+      this[name$17] = null;
+      this[referrerpolicy$0] = null;
       this[sandbox] = null;
       this[src$0] = null;
       this[srcdoc] = null;
@@ -79059,6 +79330,12 @@
     set [dartx.name](value) {
       this.name = value;
     }
+    get [dartx.referrerpolicy]() {
+      return this.referrerpolicy;
+    }
+    set [dartx.referrerpolicy](value) {
+      this.referrerpolicy = value;
+    }
     get [dartx.sandbox]() {
       return this.sandbox;
     }
@@ -79084,7 +79361,8 @@
   dart.defineNamedConstructor(html$.IFrameElement, 'created');
   const allowFullscreen = Symbol("IFrameElement.allowFullscreen");
   const height$0 = Symbol("IFrameElement.height");
-  const name$18 = Symbol("IFrameElement.name");
+  const name$17 = Symbol("IFrameElement.name");
+  const referrerpolicy$0 = Symbol("IFrameElement.referrerpolicy");
   const sandbox = Symbol("IFrameElement.sandbox");
   const src$0 = Symbol("IFrameElement.src");
   const srcdoc = Symbol("IFrameElement.srcdoc");
@@ -79095,7 +79373,8 @@
       [_get_contentWindow]: dart.finalFieldType(dart.dynamic),
       [dartx.height]: dart.fieldType(core.String),
       [dartx.name]: dart.fieldType(core.String),
-      [dartx.sandbox]: dart.finalFieldType(html$.DomSettableTokenList),
+      [dartx.referrerpolicy]: dart.fieldType(core.String),
+      [dartx.sandbox]: dart.finalFieldType(html$.DomTokenList),
       [dartx.src]: dart.fieldType(core.String),
       [dartx.srcdoc]: dart.fieldType(core.String),
       [dartx.width]: dart.fieldType(core.String)
@@ -79104,6 +79383,29 @@
   });
   dart.registerExtension(dart.global.HTMLIFrameElement, html$.IFrameElement);
   dart.defineExtensionNames([
+    'timeRemaining',
+    'didTimeout'
+  ]);
+  html$.IdleDeadline = class IdleDeadline extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    get [dartx.didTimeout]() {
+      return this.didTimeout;
+    }
+    [dartx.timeRemaining](...args) {
+      return this.timeRemaining.apply(this, args);
+    }
+  };
+  const didTimeout = Symbol("IdleDeadline.didTimeout");
+  dart.setSignature(html$.IdleDeadline, {
+    fields: () => ({[dartx.didTimeout]: dart.finalFieldType(core.bool)}),
+    methods: () => ({[dartx.timeRemaining]: dart.fnType(core.double, [])})
+  });
+  dart.registerExtension(dart.global.IdleDeadline, html$.IdleDeadline);
+  html$.IdleRequestCallback = dart.typedef('IdleRequestCallback', () => dart.fnTypeFuzzy(dart.void, [html$.IdleDeadline]));
+  dart.defineExtensionNames([
+    'close',
     'height',
     'width'
   ]);
@@ -79117,6 +79419,9 @@
     get [dartx.width]() {
       return this.width;
     }
+    [dartx.close](...args) {
+      return this.close.apply(this, args);
+    }
   };
   const height$1 = Symbol("ImageBitmap.height");
   const width$1 = Symbol("ImageBitmap.width");
@@ -79124,10 +79429,32 @@
     fields: () => ({
       [dartx.height]: dart.finalFieldType(core.int),
       [dartx.width]: dart.finalFieldType(core.int)
-    })
+    }),
+    methods: () => ({[dartx.close]: dart.fnType(dart.void, [])})
   });
   dart.registerExtension(dart.global.ImageBitmap, html$.ImageBitmap);
   dart.defineExtensionNames([
+    'transferImageBitmap',
+    'canvas'
+  ]);
+  html$.ImageBitmapRenderingContext = class ImageBitmapRenderingContext extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    get [dartx.canvas]() {
+      return this.canvas;
+    }
+    [dartx.transferImageBitmap](...args) {
+      return this.transferImageBitmap.apply(this, args);
+    }
+  };
+  const canvas$0 = Symbol("ImageBitmapRenderingContext.canvas");
+  dart.setSignature(html$.ImageBitmapRenderingContext, {
+    fields: () => ({[dartx.canvas]: dart.finalFieldType(html$.CanvasElement)}),
+    methods: () => ({[dartx.transferImageBitmap]: dart.fnType(dart.void, [html$.ImageBitmap])})
+  });
+  dart.registerExtension(dart.global.ImageBitmapRenderingContext, html$.ImageBitmapRenderingContext);
+  dart.defineExtensionNames([
     'data',
     'height',
     'width'
@@ -79168,7 +79495,7 @@
       return this.width;
     }
   };
-  const data$1 = Symbol("ImageData.data");
+  const data$3 = Symbol("ImageData.data");
   const height$2 = Symbol("ImageData.height");
   const width$2 = Symbol("ImageData.width");
   dart.setSignature(html$.ImageData, {
@@ -79194,6 +79521,7 @@
     'isMap',
     'naturalHeight',
     'naturalWidth',
+    'referrerpolicy',
     'sizes',
     'src',
     'srcset',
@@ -79208,7 +79536,7 @@
       let src = opts && 'src' in opts ? opts.src : null;
       let width = opts && 'width' in opts ? opts.width : null;
       let height = opts && 'height' in opts ? opts.height : null;
-      let e = html$.ImageElement._check(html$.document[dartx.createElement]("img"));
+      let e = html$.document.createElement("img");
       if (src != null) e.src = src;
       if (width != null) e.width = width;
       if (height != null) e.height = height;
@@ -79223,6 +79551,7 @@
       this[isMap] = null;
       this[naturalHeight] = null;
       this[naturalWidth] = null;
+      this[referrerpolicy$1] = null;
       this[sizes] = null;
       this[src$1] = null;
       this[srcset] = null;
@@ -79266,6 +79595,12 @@
     get [dartx.naturalWidth]() {
       return this.naturalWidth;
     }
+    get [dartx.referrerpolicy]() {
+      return this.referrerpolicy;
+    }
+    set [dartx.referrerpolicy](value) {
+      this.referrerpolicy = value;
+    }
     get [dartx.sizes]() {
       return this.sizes;
     }
@@ -79306,6 +79641,7 @@
   const isMap = Symbol("ImageElement.isMap");
   const naturalHeight = Symbol("ImageElement.naturalHeight");
   const naturalWidth = Symbol("ImageElement.naturalWidth");
+  const referrerpolicy$1 = Symbol("ImageElement.referrerpolicy");
   const sizes = Symbol("ImageElement.sizes");
   const src$1 = Symbol("ImageElement.src");
   const srcset = Symbol("ImageElement.srcset");
@@ -79322,6 +79658,7 @@
       [dartx.isMap]: dart.fieldType(core.bool),
       [dartx.naturalHeight]: dart.finalFieldType(core.int),
       [dartx.naturalWidth]: dart.finalFieldType(core.int),
+      [dartx.referrerpolicy]: dart.fieldType(core.String),
       [dartx.sizes]: dart.fieldType(core.String),
       [dartx.src]: dart.fieldType(core.String),
       [dartx.srcset]: dart.fieldType(core.String),
@@ -79348,7 +79685,7 @@
   dart.defineExtensionNames([
     'firesTouchEvents'
   ]);
-  html$.InputDevice = class InputDevice extends _interceptors.Interceptor {
+  html$.InputDeviceCapabilities = class InputDeviceCapabilities extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
@@ -79356,30 +79693,30 @@
       if (deviceInitDict === void 0) deviceInitDict = null;
       if (deviceInitDict != null) {
         let deviceInitDict_1 = html_common.convertDartToNative_Dictionary(deviceInitDict);
-        return html$.InputDevice._create_1(deviceInitDict_1);
+        return html$.InputDeviceCapabilities._create_1(deviceInitDict_1);
       }
-      return html$.InputDevice._create_2();
+      return html$.InputDeviceCapabilities._create_2();
     }
     static _create_1(deviceInitDict) {
-      return new self.InputDevice(deviceInitDict);
+      return new self.InputDeviceCapabilities(deviceInitDict);
     }
     static _create_2() {
-      return new self.InputDevice();
+      return new self.InputDeviceCapabilities();
     }
     get [dartx.firesTouchEvents]() {
       return this.firesTouchEvents;
     }
   };
-  const firesTouchEvents = Symbol("InputDevice.firesTouchEvents");
-  dart.setSignature(html$.InputDevice, {
+  const firesTouchEvents = Symbol("InputDeviceCapabilities.firesTouchEvents");
+  dart.setSignature(html$.InputDeviceCapabilities, {
     fields: () => ({[dartx.firesTouchEvents]: dart.finalFieldType(core.bool)}),
     statics: () => ({
-      _create_1: dart.fnType(html$.InputDevice, [dart.dynamic]),
-      _create_2: dart.fnType(html$.InputDevice, [])
+      _create_1: dart.fnType(html$.InputDeviceCapabilities, [dart.dynamic]),
+      _create_2: dart.fnType(html$.InputDeviceCapabilities, [])
     }),
     names: ['_create_1', '_create_2']
   });
-  dart.registerExtension(dart.global.InputDevice, html$.InputDevice);
+  dart.registerExtension(dart.global.InputDeviceCapabilities, html$.InputDeviceCapabilities);
   const _get_valueAsDate = Symbol('_get_valueAsDate');
   const _set_valueAsDate = Symbol('_set_valueAsDate');
   dart.defineExtensionNames([
@@ -79489,7 +79826,7 @@
       this[min] = null;
       this[minLength] = null;
       this[multiple] = null;
-      this[name$19] = null;
+      this[name$18] = null;
       this[pattern] = null;
       this[placeholder] = null;
       this[readOnly] = null;
@@ -79852,7 +80189,7 @@
   const min = Symbol("InputElement.min");
   const minLength = Symbol("InputElement.minLength");
   const multiple = Symbol("InputElement.multiple");
-  const name$19 = Symbol("InputElement.name");
+  const name$18 = Symbol("InputElement.name");
   const pattern = Symbol("InputElement.pattern");
   const placeholder = Symbol("InputElement.placeholder");
   const readOnly = Symbol("InputElement.readOnly");
@@ -79957,7 +80294,7 @@
       this[disabled$2] = null;
       this[incremental$] = null;
       this[indeterminate$] = null;
-      this[name$20] = null;
+      this[name$19] = null;
       this[value$4] = null;
     }
     get autofocus() {
@@ -79985,10 +80322,10 @@
       this[indeterminate$] = value;
     }
     get name() {
-      return this[name$20];
+      return this[name$19];
     }
     set name(value) {
-      this[name$20] = value;
+      this[name$19] = value;
     }
     get value() {
       return this[value$4];
@@ -80001,7 +80338,7 @@
   const disabled$2 = Symbol("InputElementBase.disabled");
   const incremental$ = Symbol("InputElementBase.incremental");
   const indeterminate$ = Symbol("InputElementBase.indeterminate");
-  const name$20 = Symbol("InputElementBase.name");
+  const name$19 = Symbol("InputElementBase.name");
   const value$4 = Symbol("InputElementBase.value");
   html$.InputElementBase[dart.implements] = () => [html$.Element];
   dart.setSignature(html$.InputElementBase, {
@@ -81018,18 +81355,156 @@
     }
   };
   html$.ButtonInputElement[dart.implements] = () => [html$.InputElementBase];
+  const _registerForeignFetchScopes_1 = Symbol('_registerForeignFetchScopes_1');
+  dart.defineExtensionNames([
+    'registerForeignFetchScopes'
+  ]);
+  html$.InstallEvent = class InstallEvent extends html$.ExtendableEvent {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(type, eventInitDict) {
+      if (eventInitDict === void 0) eventInitDict = null;
+      if (eventInitDict != null) {
+        let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
+        return html$.InstallEvent._create_1(type, eventInitDict_1);
+      }
+      return html$.InstallEvent._create_2(type);
+    }
+    static _create_1(type, eventInitDict) {
+      return new self.InstallEvent(type, eventInitDict);
+    }
+    static _create_2(type) {
+      return new self.InstallEvent(type);
+    }
+    [dartx.registerForeignFetchScopes](subScopes, origins) {
+      let subScopes_1 = html_common.convertDartToNative_StringArray(subScopes);
+      this[_registerForeignFetchScopes_1](subScopes_1, origins);
+      return;
+    }
+    [_registerForeignFetchScopes_1](...args) {
+      return this.registerForeignFetchScopes.apply(this, args);
+    }
+  };
+  dart.setSignature(html$.InstallEvent, {
+    methods: () => ({
+      [dartx.registerForeignFetchScopes]: dart.fnType(dart.void, [ListOfString(), core.Object]),
+      [_registerForeignFetchScopes_1]: dart.fnType(dart.void, [core.List, dart.dynamic])
+    }),
+    statics: () => ({
+      _create_1: dart.fnType(html$.InstallEvent, [dart.dynamic, dart.dynamic]),
+      _create_2: dart.fnType(html$.InstallEvent, [dart.dynamic])
+    }),
+    names: ['_create_1', '_create_2']
+  });
+  dart.registerExtension(dart.global.InstallEvent, html$.InstallEvent);
+  dart.defineExtensionNames([
+    'disconnect',
+    'observe',
+    'takeRecords',
+    'unobserve',
+    'root',
+    'rootMargin',
+    'thresholds'
+  ]);
+  html$.IntersectionObserver = class IntersectionObserver extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    get [dartx.root]() {
+      return this.root;
+    }
+    get [dartx.rootMargin]() {
+      return this.rootMargin;
+    }
+    get [dartx.thresholds]() {
+      return this.thresholds;
+    }
+    [dartx.disconnect](...args) {
+      return this.disconnect.apply(this, args);
+    }
+    [dartx.observe](...args) {
+      return this.observe.apply(this, args);
+    }
+    [dartx.takeRecords](...args) {
+      return this.takeRecords.apply(this, args);
+    }
+    [dartx.unobserve](...args) {
+      return this.unobserve.apply(this, args);
+    }
+  };
+  const root$ = Symbol("IntersectionObserver.root");
+  const rootMargin = Symbol("IntersectionObserver.rootMargin");
+  const thresholds = Symbol("IntersectionObserver.thresholds");
+  dart.setSignature(html$.IntersectionObserver, {
+    fields: () => ({
+      [dartx.root]: dart.finalFieldType(html$.Element),
+      [dartx.rootMargin]: dart.finalFieldType(core.String),
+      [dartx.thresholds]: dart.finalFieldType(ListOfnum())
+    }),
+    methods: () => ({
+      [dartx.disconnect]: dart.fnType(dart.void, []),
+      [dartx.observe]: dart.fnType(dart.void, [html$.Element]),
+      [dartx.takeRecords]: dart.fnType(core.List$(html$.IntersectionObserverEntry), []),
+      [dartx.unobserve]: dart.fnType(dart.void, [html$.Element])
+    })
+  });
+  dart.registerExtension(dart.global.IntersectionObserver, html$.IntersectionObserver);
+  dart.defineExtensionNames([
+    'boundingClientRect',
+    'intersectionRect',
+    'rootBounds',
+    'target',
+    'time'
+  ]);
+  html$.IntersectionObserverEntry = class IntersectionObserverEntry extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    get [dartx.boundingClientRect]() {
+      return this.boundingClientRect;
+    }
+    get [dartx.intersectionRect]() {
+      return this.intersectionRect;
+    }
+    get [dartx.rootBounds]() {
+      return this.rootBounds;
+    }
+    get [dartx.target]() {
+      return this.target;
+    }
+    get [dartx.time]() {
+      return this.time;
+    }
+  };
+  const boundingClientRect = Symbol("IntersectionObserverEntry.boundingClientRect");
+  const intersectionRect = Symbol("IntersectionObserverEntry.intersectionRect");
+  const rootBounds = Symbol("IntersectionObserverEntry.rootBounds");
+  const target$2 = Symbol("IntersectionObserverEntry.target");
+  const time = Symbol("IntersectionObserverEntry.time");
+  dart.setSignature(html$.IntersectionObserverEntry, {
+    fields: () => ({
+      [dartx.boundingClientRect]: dart.finalFieldType(RectangleOfnum()),
+      [dartx.intersectionRect]: dart.finalFieldType(RectangleOfnum()),
+      [dartx.rootBounds]: dart.finalFieldType(RectangleOfnum()),
+      [dartx.target]: dart.finalFieldType(html$.Element),
+      [dartx.time]: dart.finalFieldType(core.double)
+    })
+  });
+  dart.registerExtension(dart.global.IntersectionObserverEntry, html$.IntersectionObserverEntry);
   const _initKeyboardEvent = Symbol('_initKeyboardEvent');
+  const _charCode = Symbol('_charCode');
+  const _keyCode = Symbol('_keyCode');
   const _keyIdentifier = Symbol('_keyIdentifier');
   dart.defineExtensionNames([
-    'keyCode',
-    'charCode',
     'which',
     'getModifierState',
+    'keyCode',
+    'charCode',
     'altKey',
     'code',
     'ctrlKey',
     'key',
-    'keyLocation',
     'location',
     'metaKey',
     'repeat',
@@ -81040,7 +81515,8 @@
       let view = opts && 'view' in opts ? opts.view : null;
       let canBubble = opts && 'canBubble' in opts ? opts.canBubble : true;
       let cancelable = opts && 'cancelable' in opts ? opts.cancelable : true;
-      let keyLocation = opts && 'keyLocation' in opts ? opts.keyLocation : 1;
+      let location = opts && 'location' in opts ? opts.location : null;
+      let keyLocation = opts && 'keyLocation' in opts ? opts.keyLocation : null;
       let ctrlKey = opts && 'ctrlKey' in opts ? opts.ctrlKey : false;
       let altKey = opts && 'altKey' in opts ? opts.altKey : false;
       let shiftKey = opts && 'shiftKey' in opts ? opts.shiftKey : false;
@@ -81048,22 +81524,24 @@
       if (view == null) {
         view = html$.window;
       }
+      let t = location;
+      t == null ? location = keyLocation != null ? keyLocation : 1 : t;
       let e = html$.KeyboardEvent._check(html$.document[_createEvent]("KeyboardEvent"));
-      e[_initKeyboardEvent](type, canBubble, cancelable, view, "", keyLocation, ctrlKey, altKey, shiftKey, metaKey);
+      e[_initKeyboardEvent](type, canBubble, cancelable, view, "", location, ctrlKey, altKey, shiftKey, metaKey);
       return e;
     }
-    [_initKeyboardEvent](type, canBubble, cancelable, view, keyIdentifier, keyLocation, ctrlKey, altKey, shiftKey, metaKey) {
+    [_initKeyboardEvent](type, canBubble, cancelable, view, keyIdentifier, location, ctrlKey, altKey, shiftKey, metaKey) {
       if (typeof this.initKeyEvent == "function") {
         this.initKeyEvent(type, canBubble, cancelable, view, ctrlKey, altKey, shiftKey, metaKey, 0, 0);
       } else {
-        this.initKeyboardEvent(type, canBubble, cancelable, view, keyIdentifier, keyLocation, ctrlKey, altKey, shiftKey, metaKey);
+        this.initKeyboardEvent(type, canBubble, cancelable, view, keyIdentifier, location, ctrlKey, altKey, shiftKey, metaKey);
       }
     }
     get [dartx.keyCode]() {
-      return this[_keyCode];
+      return this.keyCode;
     }
     get [dartx.charCode]() {
-      return this[_charCode];
+      return this.charCode;
     }
     get [dartx.which]() {
       return this[_which];
@@ -81085,6 +81563,9 @@
     get [dartx.altKey]() {
       return this.altKey;
     }
+    get [_charCode]() {
+      return this.charCode;
+    }
     get [dartx.code]() {
       return this.code;
     }
@@ -81094,12 +81575,12 @@
     get [dartx.key]() {
       return this.key;
     }
+    get [_keyCode]() {
+      return this.keyCode;
+    }
     get [_keyIdentifier]() {
       return this.keyIdentifier;
     }
-    get [dartx.keyLocation]() {
-      return this.keyLocation;
-    }
     get [dartx.location]() {
       return this.location;
     }
@@ -81116,33 +81597,33 @@
       return this.getModifierState.apply(this, args);
     }
   };
+  const keyCode = Symbol("KeyboardEvent.keyCode");
+  const charCode = Symbol("KeyboardEvent.charCode");
   const altKey = Symbol("KeyboardEvent.altKey");
   const code$0 = Symbol("KeyboardEvent.code");
   const ctrlKey = Symbol("KeyboardEvent.ctrlKey");
   const key$ = Symbol("KeyboardEvent.key");
-  const keyLocation = Symbol("KeyboardEvent.keyLocation");
   const location$ = Symbol("KeyboardEvent.location");
   const metaKey = Symbol("KeyboardEvent.metaKey");
   const repeat = Symbol("KeyboardEvent.repeat");
   const shiftKey = Symbol("KeyboardEvent.shiftKey");
   dart.setSignature(html$.KeyboardEvent, {
     fields: () => ({
+      [dartx.keyCode]: dart.finalFieldType(core.int),
+      [dartx.charCode]: dart.finalFieldType(core.int),
       [dartx.altKey]: dart.finalFieldType(core.bool),
+      [_charCode]: dart.finalFieldType(core.int),
       [dartx.code]: dart.finalFieldType(core.String),
       [dartx.ctrlKey]: dart.finalFieldType(core.bool),
       [dartx.key]: dart.finalFieldType(core.String),
+      [_keyCode]: dart.finalFieldType(core.int),
       [_keyIdentifier]: dart.finalFieldType(core.String),
-      [dartx.keyLocation]: dart.finalFieldType(core.int),
       [dartx.location]: dart.finalFieldType(core.int),
       [dartx.metaKey]: dart.finalFieldType(core.bool),
       [dartx.repeat]: dart.finalFieldType(core.bool),
       [dartx.shiftKey]: dart.finalFieldType(core.bool)
     }),
-    getters: () => ({
-      [dartx.keyCode]: dart.fnType(core.int, []),
-      [dartx.charCode]: dart.fnType(core.int, []),
-      [dartx.which]: dart.fnType(core.int, [])
-    }),
+    getters: () => ({[dartx.which]: dart.fnType(core.int, [])}),
     methods: () => ({
       [_initKeyboardEvent]: dart.fnType(dart.void, [core.String, core.bool, core.bool, html$.Window, core.String, core.int, core.bool, core.bool, core.bool, core.bool]),
       [dartx.getModifierState]: dart.fnType(core.bool, [core.String])
@@ -81172,28 +81653,28 @@
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
-    static new(target, keyframes, timing) {
+    static new(target, effect, timing) {
       if (timing === void 0) timing = null;
-      if (ListOfMap().is(keyframes) && (html$.Element.is(target) || target == null) && timing == null) {
-        return html$.KeyframeEffect._create_1(target, keyframes);
+      if (effect != null && (html$.Element.is(target) || target == null) && timing == null) {
+        return html$.KeyframeEffect._create_1(target, effect);
       }
-      if (typeof timing == 'number' && ListOfMap().is(keyframes) && (html$.Element.is(target) || target == null)) {
-        return html$.KeyframeEffect._create_2(target, keyframes, timing);
+      if (typeof timing == 'number' && effect != null && (html$.Element.is(target) || target == null)) {
+        return html$.KeyframeEffect._create_2(target, effect, timing);
       }
-      if (core.Map.is(timing) && ListOfMap().is(keyframes) && (html$.Element.is(target) || target == null)) {
+      if (core.Map.is(timing) && effect != null && (html$.Element.is(target) || target == null)) {
         let timing_1 = html_common.convertDartToNative_Dictionary(timing);
-        return html$.KeyframeEffect._create_3(target, keyframes, timing_1);
+        return html$.KeyframeEffect._create_3(target, effect, timing_1);
       }
       dart.throw(new core.ArgumentError("Incorrect number or type of arguments"));
     }
-    static _create_1(target, keyframes) {
-      return new self.KeyframeEffect(target, keyframes);
+    static _create_1(target, effect) {
+      return new self.KeyframeEffect(target, effect);
     }
-    static _create_2(target, keyframes, timing) {
-      return new self.KeyframeEffect(target, keyframes, timing);
+    static _create_2(target, effect, timing) {
+      return new self.KeyframeEffect(target, effect, timing);
     }
-    static _create_3(target, keyframes, timing) {
-      return new self.KeyframeEffect(target, keyframes, timing);
+    static _create_3(target, effect, timing) {
+      return new self.KeyframeEffect(target, effect, timing);
     }
   };
   dart.setSignature(html$.KeyframeEffect, {
@@ -81235,7 +81716,7 @@
       this[form$1] = null;
       this[keytype] = null;
       this[labels$0] = null;
-      this[name$21] = null;
+      this[name$20] = null;
       this[type$15] = null;
       this[validationMessage$1] = null;
       this[validity$1] = null;
@@ -81310,7 +81791,7 @@
   const form$1 = Symbol("KeygenElement.form");
   const keytype = Symbol("KeygenElement.keytype");
   const labels$0 = Symbol("KeygenElement.labels");
-  const name$21 = Symbol("KeygenElement.name");
+  const name$20 = Symbol("KeygenElement.name");
   const type$15 = Symbol("KeygenElement.type");
   const validationMessage$1 = Symbol("KeygenElement.validationMessage");
   const validity$1 = Symbol("KeygenElement.validity");
@@ -81337,6 +81818,30 @@
   });
   dart.registerExtension(dart.global.HTMLKeygenElement, html$.KeygenElement);
   dart.defineExtensionNames([
+    'keywordValue'
+  ]);
+  html$.KeywordValue = class KeywordValue extends html$.StyleValue {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(keyword) {
+      return html$.KeywordValue._create_1(keyword);
+    }
+    static _create_1(keyword) {
+      return new self.KeywordValue(keyword);
+    }
+    get [dartx.keywordValue]() {
+      return this.keywordValue;
+    }
+  };
+  const keywordValue = Symbol("KeywordValue.keywordValue");
+  dart.setSignature(html$.KeywordValue, {
+    fields: () => ({[dartx.keywordValue]: dart.finalFieldType(core.String)}),
+    statics: () => ({_create_1: dart.fnType(html$.KeywordValue, [dart.dynamic])}),
+    names: ['_create_1']
+  });
+  dart.registerExtension(dart.global.KeywordValue, html$.KeywordValue);
+  dart.defineExtensionNames([
     'value'
   ]);
   html$.LIElement = class LIElement extends html$.HtmlElement {
@@ -81344,7 +81849,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.LIElement._check(html$.document[dartx.createElement]("li"));
+      return html$.document.createElement("li");
     }
     created() {
       this[value$5] = null;
@@ -81373,7 +81878,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.LabelElement._check(html$.document[dartx.createElement]("label"));
+      return html$.document.createElement("label");
     }
     created() {
       this[control] = null;
@@ -81414,7 +81919,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.LegendElement._check(html$.document[dartx.createElement]("legend"));
+      return html$.document.createElement("legend");
     }
     created() {
       this[form$3] = null;
@@ -81432,6 +81937,7 @@
   dart.registerExtension(dart.global.HTMLLegendElement, html$.LegendElement);
   dart.defineExtensionNames([
     'supportsImport',
+    'as',
     'crossOrigin',
     'disabled',
     'href',
@@ -81440,6 +81946,7 @@
     'integrity',
     'media',
     'rel',
+    'relList',
     'sheet',
     'sizes',
     'type'
@@ -81449,9 +81956,10 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.LinkElement._check(html$.document[dartx.createElement]("link"));
+      return html$.document.createElement("link");
     }
     created() {
+      this[as] = null;
       this[crossOrigin$0] = null;
       this[disabled$4] = null;
       this[href$3] = null;
@@ -81460,11 +81968,18 @@
       this[integrity] = null;
       this[media$1] = null;
       this[rel$] = null;
+      this[relList] = null;
       this[sheet] = null;
       this[sizes$] = null;
       this[type$16] = null;
       super.created();
     }
+    get [dartx.as]() {
+      return this.as;
+    }
+    set [dartx.as](value) {
+      this.as = value;
+    }
     get [dartx.crossOrigin]() {
       return this.crossOrigin;
     }
@@ -81510,6 +82025,9 @@
     set [dartx.rel](value) {
       this.rel = value;
     }
+    get [dartx.relList]() {
+      return this.relList;
+    }
     get [dartx.sheet]() {
       return this.sheet;
     }
@@ -81527,6 +82045,7 @@
     }
   };
   dart.defineNamedConstructor(html$.LinkElement, 'created');
+  const as = Symbol("LinkElement.as");
   const crossOrigin$0 = Symbol("LinkElement.crossOrigin");
   const disabled$4 = Symbol("LinkElement.disabled");
   const href$3 = Symbol("LinkElement.href");
@@ -81535,11 +82054,13 @@
   const integrity = Symbol("LinkElement.integrity");
   const media$1 = Symbol("LinkElement.media");
   const rel$ = Symbol("LinkElement.rel");
+  const relList = Symbol("LinkElement.relList");
   const sheet = Symbol("LinkElement.sheet");
   const sizes$ = Symbol("LinkElement.sizes");
   const type$16 = Symbol("LinkElement.type");
   dart.setSignature(html$.LinkElement, {
     fields: () => ({
+      [dartx.as]: dart.fieldType(core.String),
       [dartx.crossOrigin]: dart.fieldType(core.String),
       [dartx.disabled]: dart.fieldType(core.bool),
       [dartx.href]: dart.fieldType(core.String),
@@ -81548,8 +82069,9 @@
       [dartx.integrity]: dart.fieldType(core.String),
       [dartx.media]: dart.fieldType(core.String),
       [dartx.rel]: dart.fieldType(core.String),
+      [dartx.relList]: dart.finalFieldType(html$.DomTokenList),
       [dartx.sheet]: dart.finalFieldType(html$.StyleSheet),
-      [dartx.sizes]: dart.finalFieldType(html$.DomSettableTokenList),
+      [dartx.sizes]: dart.finalFieldType(html$.DomTokenList),
       [dartx.type]: dart.fieldType(core.String)
     }),
     getters: () => ({[dartx.supportsImport]: dart.fnType(core.bool, [])})
@@ -81684,11 +82206,11 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.MapElement._check(html$.document[dartx.createElement]("map"));
+      return html$.document.createElement("map");
     }
     created() {
       this[areas] = null;
-      this[name$22] = null;
+      this[name$21] = null;
       super.created();
     }
     get [dartx.areas]() {
@@ -81703,7 +82225,7 @@
   };
   dart.defineNamedConstructor(html$.MapElement, 'created');
   const areas = Symbol("MapElement.areas");
-  const name$22 = Symbol("MapElement.name");
+  const name$21 = Symbol("MapElement.name");
   dart.setSignature(html$.MapElement, {
     fields: () => ({
       [dartx.areas]: dart.finalFieldType(ListOfNode()),
@@ -81712,123 +82234,207 @@
   });
   dart.registerExtension(dart.global.HTMLMapElement, html$.MapElement);
   dart.defineExtensionNames([
-    'pause',
-    'play',
-    'unpause',
-    'buffered',
-    'currentTime',
-    'defaultPlaybackRate',
-    'duration',
-    'muted',
-    'paused',
-    'playbackRate',
-    'playbackState',
-    'played',
-    'seekable',
-    'volume'
+    'asMatrix',
+    'is2DComponent',
+    'cssString'
   ]);
-  html$.MediaController = class MediaController extends html$.EventTarget {
+  html$.TransformComponent = class TransformComponent extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
-    static new() {
-      return html$.MediaController._create_1();
+    get [dartx.cssString]() {
+      return this.cssString;
     }
-    static _create_1() {
-      return new self.MediaController();
+    [dartx.asMatrix](...args) {
+      return this.asMatrix.apply(this, args);
     }
-    get [dartx.buffered]() {
-      return this.buffered;
-    }
-    get [dartx.currentTime]() {
-      return this.currentTime;
-    }
-    set [dartx.currentTime](value) {
-      this.currentTime = value;
-    }
-    get [dartx.defaultPlaybackRate]() {
-      return this.defaultPlaybackRate;
-    }
-    set [dartx.defaultPlaybackRate](value) {
-      this.defaultPlaybackRate = value;
-    }
-    get [dartx.duration]() {
-      return this.duration;
-    }
-    get [dartx.muted]() {
-      return this.muted;
-    }
-    set [dartx.muted](value) {
-      this.muted = value;
-    }
-    get [dartx.paused]() {
-      return this.paused;
-    }
-    get [dartx.playbackRate]() {
-      return this.playbackRate;
-    }
-    set [dartx.playbackRate](value) {
-      this.playbackRate = value;
-    }
-    get [dartx.playbackState]() {
-      return this.playbackState;
-    }
-    get [dartx.played]() {
-      return this.played;
-    }
-    get [dartx.seekable]() {
-      return this.seekable;
-    }
-    get [dartx.volume]() {
-      return this.volume;
-    }
-    set [dartx.volume](value) {
-      this.volume = value;
-    }
-    [dartx.pause](...args) {
-      return this.pause.apply(this, args);
-    }
-    [dartx.play](...args) {
-      return this.play.apply(this, args);
-    }
-    [dartx.unpause](...args) {
-      return this.unpause.apply(this, args);
+    [dartx.is2DComponent](...args) {
+      return this.is2DComponent.apply(this, args);
     }
   };
-  const buffered$ = Symbol("MediaController.buffered");
-  const currentTime$2 = Symbol("MediaController.currentTime");
-  const defaultPlaybackRate$ = Symbol("MediaController.defaultPlaybackRate");
-  const duration$1 = Symbol("MediaController.duration");
-  const muted$ = Symbol("MediaController.muted");
-  const paused$ = Symbol("MediaController.paused");
-  const playbackRate$2 = Symbol("MediaController.playbackRate");
-  const playbackState = Symbol("MediaController.playbackState");
-  const played$ = Symbol("MediaController.played");
-  const seekable$ = Symbol("MediaController.seekable");
-  const volume$ = Symbol("MediaController.volume");
-  dart.setSignature(html$.MediaController, {
-    fields: () => ({
-      [dartx.buffered]: dart.finalFieldType(html$.TimeRanges),
-      [dartx.currentTime]: dart.fieldType(core.num),
-      [dartx.defaultPlaybackRate]: dart.fieldType(core.num),
-      [dartx.duration]: dart.finalFieldType(core.double),
-      [dartx.muted]: dart.fieldType(core.bool),
-      [dartx.paused]: dart.finalFieldType(core.bool),
-      [dartx.playbackRate]: dart.fieldType(core.num),
-      [dartx.playbackState]: dart.finalFieldType(core.String),
-      [dartx.played]: dart.finalFieldType(html$.TimeRanges),
-      [dartx.seekable]: dart.finalFieldType(html$.TimeRanges),
-      [dartx.volume]: dart.fieldType(core.num)
-    }),
+  const cssString$ = Symbol("TransformComponent.cssString");
+  dart.setSignature(html$.TransformComponent, {
+    fields: () => ({[dartx.cssString]: dart.finalFieldType(core.String)}),
     methods: () => ({
-      [dartx.pause]: dart.fnType(dart.void, []),
-      [dartx.play]: dart.fnType(dart.void, []),
-      [dartx.unpause]: dart.fnType(dart.void, [])
-    }),
-    statics: () => ({_create_1: dart.fnType(html$.MediaController, [])}),
-    names: ['_create_1']
+      [dartx.asMatrix]: dart.fnType(html$.Matrix, []),
+      [dartx.is2DComponent]: dart.fnType(core.bool, [])
+    })
   });
-  dart.registerExtension(dart.global.MediaController, html$.MediaController);
+  dart.registerExtension(dart.global.TransformComponent, html$.TransformComponent);
+  dart.defineExtensionNames([
+    'a',
+    'b',
+    'c',
+    'd',
+    'e',
+    'f',
+    'm11',
+    'm12',
+    'm13',
+    'm14',
+    'm21',
+    'm22',
+    'm23',
+    'm24',
+    'm31',
+    'm32',
+    'm33',
+    'm34',
+    'm41',
+    'm42',
+    'm43',
+    'm44'
+  ]);
+  html$.Matrix = class Matrix extends html$.TransformComponent {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(a_OR_m11, b_OR_m12, c_OR_m13, d_OR_m14, e_OR_m21, f_OR_m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44) {
+      if (m23 === void 0) m23 = null;
+      if (m24 === void 0) m24 = null;
+      if (m31 === void 0) m31 = null;
+      if (m32 === void 0) m32 = null;
+      if (m33 === void 0) m33 = null;
+      if (m34 === void 0) m34 = null;
+      if (m41 === void 0) m41 = null;
+      if (m42 === void 0) m42 = null;
+      if (m43 === void 0) m43 = null;
+      if (m44 === void 0) m44 = null;
+      if (typeof f_OR_m22 == 'number' && typeof e_OR_m21 == 'number' && typeof d_OR_m14 == 'number' && typeof c_OR_m13 == 'number' && typeof b_OR_m12 == 'number' && typeof a_OR_m11 == 'number' && m23 == null && m24 == null && m31 == null && m32 == null && m33 == null && m34 == null && m41 == null && m42 == null && m43 == null && m44 == null) {
+        return html$.Matrix._create_1(a_OR_m11, b_OR_m12, c_OR_m13, d_OR_m14, e_OR_m21, f_OR_m22);
+      }
+      if (typeof m44 == 'number' && typeof m43 == 'number' && typeof m42 == 'number' && typeof m41 == 'number' && typeof m34 == 'number' && typeof m33 == 'number' && typeof m32 == 'number' && typeof m31 == 'number' && typeof m24 == 'number' && typeof m23 == 'number' && typeof f_OR_m22 == 'number' && typeof e_OR_m21 == 'number' && typeof d_OR_m14 == 'number' && typeof c_OR_m13 == 'number' && typeof b_OR_m12 == 'number' && typeof a_OR_m11 == 'number') {
+        return html$.Matrix._create_2(a_OR_m11, b_OR_m12, c_OR_m13, d_OR_m14, e_OR_m21, f_OR_m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44);
+      }
+      dart.throw(new core.ArgumentError("Incorrect number or type of arguments"));
+    }
+    static _create_1(a_OR_m11, b_OR_m12, c_OR_m13, d_OR_m14, e_OR_m21, f_OR_m22) {
+      return new self.Matrix(a_OR_m11, b_OR_m12, c_OR_m13, d_OR_m14, e_OR_m21, f_OR_m22);
+    }
+    static _create_2(a_OR_m11, b_OR_m12, c_OR_m13, d_OR_m14, e_OR_m21, f_OR_m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44) {
+      return new self.Matrix(a_OR_m11, b_OR_m12, c_OR_m13, d_OR_m14, e_OR_m21, f_OR_m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44);
+    }
+    get [dartx.a]() {
+      return this.a;
+    }
+    get [dartx.b]() {
+      return this.b;
+    }
+    get [dartx.c]() {
+      return this.c;
+    }
+    get [dartx.d]() {
+      return this.d;
+    }
+    get [dartx.e]() {
+      return this.e;
+    }
+    get [dartx.f]() {
+      return this.f;
+    }
+    get [dartx.m11]() {
+      return this.m11;
+    }
+    get [dartx.m12]() {
+      return this.m12;
+    }
+    get [dartx.m13]() {
+      return this.m13;
+    }
+    get [dartx.m14]() {
+      return this.m14;
+    }
+    get [dartx.m21]() {
+      return this.m21;
+    }
+    get [dartx.m22]() {
+      return this.m22;
+    }
+    get [dartx.m23]() {
+      return this.m23;
+    }
+    get [dartx.m24]() {
+      return this.m24;
+    }
+    get [dartx.m31]() {
+      return this.m31;
+    }
+    get [dartx.m32]() {
+      return this.m32;
+    }
+    get [dartx.m33]() {
+      return this.m33;
+    }
+    get [dartx.m34]() {
+      return this.m34;
+    }
+    get [dartx.m41]() {
+      return this.m41;
+    }
+    get [dartx.m42]() {
+      return this.m42;
+    }
+    get [dartx.m43]() {
+      return this.m43;
+    }
+    get [dartx.m44]() {
+      return this.m44;
+    }
+  };
+  const a = Symbol("Matrix.a");
+  const b = Symbol("Matrix.b");
+  const c = Symbol("Matrix.c");
+  const d = Symbol("Matrix.d");
+  const e = Symbol("Matrix.e");
+  const f = Symbol("Matrix.f");
+  const m11 = Symbol("Matrix.m11");
+  const m12 = Symbol("Matrix.m12");
+  const m13 = Symbol("Matrix.m13");
+  const m14 = Symbol("Matrix.m14");
+  const m21 = Symbol("Matrix.m21");
+  const m22 = Symbol("Matrix.m22");
+  const m23 = Symbol("Matrix.m23");
+  const m24 = Symbol("Matrix.m24");
+  const m31 = Symbol("Matrix.m31");
+  const m32 = Symbol("Matrix.m32");
+  const m33 = Symbol("Matrix.m33");
+  const m34 = Symbol("Matrix.m34");
+  const m41 = Symbol("Matrix.m41");
+  const m42 = Symbol("Matrix.m42");
+  const m43 = Symbol("Matrix.m43");
+  const m44 = Symbol("Matrix.m44");
+  dart.setSignature(html$.Matrix, {
+    fields: () => ({
+      [dartx.a]: dart.finalFieldType(core.double),
+      [dartx.b]: dart.finalFieldType(core.double),
+      [dartx.c]: dart.finalFieldType(core.double),
+      [dartx.d]: dart.finalFieldType(core.double),
+      [dartx.e]: dart.finalFieldType(core.double),
+      [dartx.f]: dart.finalFieldType(core.double),
+      [dartx.m11]: dart.finalFieldType(core.double),
+      [dartx.m12]: dart.finalFieldType(core.double),
+      [dartx.m13]: dart.finalFieldType(core.double),
+      [dartx.m14]: dart.finalFieldType(core.double),
+      [dartx.m21]: dart.finalFieldType(core.double),
+      [dartx.m22]: dart.finalFieldType(core.double),
+      [dartx.m23]: dart.finalFieldType(core.double),
+      [dartx.m24]: dart.finalFieldType(core.double),
+      [dartx.m31]: dart.finalFieldType(core.double),
+      [dartx.m32]: dart.finalFieldType(core.double),
+      [dartx.m33]: dart.finalFieldType(core.double),
+      [dartx.m34]: dart.finalFieldType(core.double),
+      [dartx.m41]: dart.finalFieldType(core.double),
+      [dartx.m42]: dart.finalFieldType(core.double),
+      [dartx.m43]: dart.finalFieldType(core.double),
+      [dartx.m44]: dart.finalFieldType(core.double)
+    }),
+    statics: () => ({
+      _create_1: dart.fnType(html$.Matrix, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
+      _create_2: dart.fnType(html$.Matrix, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic])
+    }),
+    names: ['_create_1', '_create_2']
+  });
+  dart.registerExtension(dart.global.Matrix, html$.Matrix);
   dart.defineExtensionNames([
     'deviceId',
     'groupId',
@@ -81854,8 +82460,8 @@
   };
   const deviceId$ = Symbol("MediaDeviceInfo.deviceId");
   const groupId = Symbol("MediaDeviceInfo.groupId");
-  const kind$0 = Symbol("MediaDeviceInfo.kind");
-  const label$ = Symbol("MediaDeviceInfo.label");
+  const kind$1 = Symbol("MediaDeviceInfo.kind");
+  const label$0 = Symbol("MediaDeviceInfo.label");
   dart.setSignature(html$.MediaDeviceInfo, {
     fields: () => ({
       [dartx.deviceId]: dart.finalFieldType(core.String),
@@ -81967,123 +82573,6 @@
   });
   dart.registerExtension(dart.global.MediaError, html$.MediaError);
   dart.defineExtensionNames([
-    'code',
-    'systemCode'
-  ]);
-  html$.MediaKeyError = class MediaKeyError extends _interceptors.Interceptor {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.code]() {
-      return this.code;
-    }
-    get [dartx.systemCode]() {
-      return this.systemCode;
-    }
-  };
-  const code$2 = Symbol("MediaKeyError.code");
-  const systemCode = Symbol("MediaKeyError.systemCode");
-  dart.setSignature(html$.MediaKeyError, {
-    fields: () => ({
-      [dartx.code]: dart.finalFieldType(core.int),
-      [dartx.systemCode]: dart.finalFieldType(core.int)
-    })
-  });
-  dart.defineLazy(html$.MediaKeyError, {
-    get MEDIA_KEYERR_CLIENT() {
-      return 2;
-    },
-    get MEDIA_KEYERR_DOMAIN() {
-      return 6;
-    },
-    get MEDIA_KEYERR_HARDWARECHANGE() {
-      return 5;
-    },
-    get MEDIA_KEYERR_OUTPUT() {
-      return 4;
-    },
-    get MEDIA_KEYERR_SERVICE() {
-      return 3;
-    },
-    get MEDIA_KEYERR_UNKNOWN() {
-      return 1;
-    }
-  });
-  dart.registerExtension(dart.global.MediaKeyError, html$.MediaKeyError);
-  dart.defineExtensionNames([
-    'defaultUrl',
-    'errorCode',
-    'initData',
-    'keySystem',
-    'message',
-    'sessionId',
-    'systemCode'
-  ]);
-  html$.MediaKeyEvent = class MediaKeyEvent extends html$.Event {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    static new(type, eventInitDict) {
-      if (eventInitDict === void 0) eventInitDict = null;
-      if (eventInitDict != null) {
-        let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
-        return html$.MediaKeyEvent._create_1(type, eventInitDict_1);
-      }
-      return html$.MediaKeyEvent._create_2(type);
-    }
-    static _create_1(type, eventInitDict) {
-      return new self.MediaKeyEvent(type, eventInitDict);
-    }
-    static _create_2(type) {
-      return new self.MediaKeyEvent(type);
-    }
-    get [dartx.defaultUrl]() {
-      return this.defaultURL;
-    }
-    get [dartx.errorCode]() {
-      return this.errorCode;
-    }
-    get [dartx.initData]() {
-      return this.initData;
-    }
-    get [dartx.keySystem]() {
-      return this.keySystem;
-    }
-    get [dartx.message]() {
-      return this.message;
-    }
-    get [dartx.sessionId]() {
-      return this.sessionId;
-    }
-    get [dartx.systemCode]() {
-      return this.systemCode;
-    }
-  };
-  const defaultUrl = Symbol("MediaKeyEvent.defaultUrl");
-  const errorCode = Symbol("MediaKeyEvent.errorCode");
-  const initData$ = Symbol("MediaKeyEvent.initData");
-  const keySystem = Symbol("MediaKeyEvent.keySystem");
-  const message$21 = Symbol("MediaKeyEvent.message");
-  const sessionId = Symbol("MediaKeyEvent.sessionId");
-  const systemCode$ = Symbol("MediaKeyEvent.systemCode");
-  dart.setSignature(html$.MediaKeyEvent, {
-    fields: () => ({
-      [dartx.defaultUrl]: dart.finalFieldType(core.String),
-      [dartx.errorCode]: dart.finalFieldType(html$.MediaKeyError),
-      [dartx.initData]: dart.finalFieldType(typed_data.Uint8List),
-      [dartx.keySystem]: dart.finalFieldType(core.String),
-      [dartx.message]: dart.finalFieldType(typed_data.Uint8List),
-      [dartx.sessionId]: dart.finalFieldType(core.String),
-      [dartx.systemCode]: dart.finalFieldType(core.int)
-    }),
-    statics: () => ({
-      _create_1: dart.fnType(html$.MediaKeyEvent, [dart.dynamic, dart.dynamic]),
-      _create_2: dart.fnType(html$.MediaKeyEvent, [dart.dynamic])
-    }),
-    names: ['_create_1', '_create_2']
-  });
-  dart.registerExtension(dart.global.MediaKeyEvent, html$.MediaKeyEvent);
-  dart.defineExtensionNames([
     'message',
     'messageType'
   ]);
@@ -82112,7 +82601,7 @@
       return this.messageType;
     }
   };
-  const message$22 = Symbol("MediaKeyMessageEvent.message");
+  const message$21 = Symbol("MediaKeyMessageEvent.message");
   const messageType = Symbol("MediaKeyMessageEvent.messageType");
   dart.setSignature(html$.MediaKeyMessageEvent, {
     fields: () => ({
@@ -82172,7 +82661,7 @@
   const closed = Symbol("MediaKeySession.closed");
   const expiration = Symbol("MediaKeySession.expiration");
   const keyStatuses = Symbol("MediaKeySession.keyStatuses");
-  const sessionId$ = Symbol("MediaKeySession.sessionId");
+  const sessionId = Symbol("MediaKeySession.sessionId");
   dart.setSignature(html$.MediaKeySession, {
     fields: () => ({
       [dartx.closed]: dart.finalFieldType(async.Future),
@@ -82228,7 +82717,7 @@
       return this.getConfiguration.apply(this, args);
     }
   };
-  const keySystem$ = Symbol("MediaKeySystemAccess.keySystem");
+  const keySystem = Symbol("MediaKeySystemAccess.keySystem");
   dart.setSignature(html$.MediaKeySystemAccess, {
     fields: () => ({[dartx.keySystem]: dart.finalFieldType(core.String)}),
     methods: () => ({
@@ -82290,7 +82779,7 @@
       return this.item.apply(this, args);
     }
   };
-  const length$7 = Symbol("MediaList.length");
+  const length$6 = Symbol("MediaList.length");
   const mediaText = Symbol("MediaList.mediaText");
   dart.setSignature(html$.MediaList, {
     fields: () => ({
@@ -82305,6 +82794,45 @@
   });
   dart.registerExtension(dart.global.MediaList, html$.MediaList);
   dart.defineExtensionNames([
+    'album',
+    'artist',
+    'title'
+  ]);
+  html$.MediaMetadata = class MediaMetadata extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(metadata) {
+      let metadata_1 = html_common.convertDartToNative_Dictionary(metadata);
+      return html$.MediaMetadata._create_1(metadata_1);
+    }
+    static _create_1(metadata) {
+      return new self.MediaMetadata(metadata);
+    }
+    get [dartx.album]() {
+      return this.album;
+    }
+    get [dartx.artist]() {
+      return this.artist;
+    }
+    get [dartx.title]() {
+      return this.title;
+    }
+  };
+  const album = Symbol("MediaMetadata.album");
+  const artist = Symbol("MediaMetadata.artist");
+  const title$0 = Symbol("MediaMetadata.title");
+  dart.setSignature(html$.MediaMetadata, {
+    fields: () => ({
+      [dartx.album]: dart.finalFieldType(core.String),
+      [dartx.artist]: dart.finalFieldType(core.String),
+      [dartx.title]: dart.finalFieldType(core.String)
+    }),
+    statics: () => ({_create_1: dart.fnType(html$.MediaMetadata, [dart.dynamic])}),
+    names: ['_create_1']
+  });
+  dart.registerExtension(dart.global.MediaMetadata, html$.MediaMetadata);
+  dart.defineExtensionNames([
     'addListener',
     'removeListener',
     'onChange',
@@ -82394,8 +82922,127 @@
   });
   dart.registerExtension(dart.global.MediaQueryListEvent, html$.MediaQueryListEvent);
   dart.defineExtensionNames([
+    'pause',
+    'requestData',
+    'resume',
+    'start',
+    'stop',
+    'onError',
+    'onPause',
+    'audioBitsPerSecond',
+    'ignoreMutedMedia',
+    'mimeType',
+    'state',
+    'stream',
+    'videoBitsPerSecond'
+  ]);
+  html$.MediaRecorder = class MediaRecorder extends html$.EventTarget {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(stream, options) {
+      if (options === void 0) options = null;
+      if (options != null) {
+        let options_1 = html_common.convertDartToNative_Dictionary(options);
+        return html$.MediaRecorder._create_1(stream, options_1);
+      }
+      return html$.MediaRecorder._create_2(stream);
+    }
+    static _create_1(stream, options) {
+      return new self.MediaRecorder(stream, options);
+    }
+    static _create_2(stream) {
+      return new self.MediaRecorder(stream);
+    }
+    get [dartx.audioBitsPerSecond]() {
+      return this.audioBitsPerSecond;
+    }
+    get [dartx.ignoreMutedMedia]() {
+      return this.ignoreMutedMedia;
+    }
+    set [dartx.ignoreMutedMedia](value) {
+      this.ignoreMutedMedia = value;
+    }
+    get [dartx.mimeType]() {
+      return this.mimeType;
+    }
+    get [dartx.state]() {
+      return this.state;
+    }
+    get [dartx.stream]() {
+      return this.stream;
+    }
+    get [dartx.videoBitsPerSecond]() {
+      return this.videoBitsPerSecond;
+    }
+    [dartx.pause](...args) {
+      return this.pause.apply(this, args);
+    }
+    [dartx.requestData](...args) {
+      return this.requestData.apply(this, args);
+    }
+    [dartx.resume](...args) {
+      return this.resume.apply(this, args);
+    }
+    [dartx.start](...args) {
+      return this.start.apply(this, args);
+    }
+    [dartx.stop](...args) {
+      return this.stop.apply(this, args);
+    }
+    get [dartx.onError]() {
+      return html$.MediaRecorder.errorEvent.forTarget(this);
+    }
+    get [dartx.onPause]() {
+      return html$.MediaRecorder.pauseEvent.forTarget(this);
+    }
+  };
+  const audioBitsPerSecond = Symbol("MediaRecorder.audioBitsPerSecond");
+  const ignoreMutedMedia = Symbol("MediaRecorder.ignoreMutedMedia");
+  const mimeType = Symbol("MediaRecorder.mimeType");
+  const state = Symbol("MediaRecorder.state");
+  const stream = Symbol("MediaRecorder.stream");
+  const videoBitsPerSecond = Symbol("MediaRecorder.videoBitsPerSecond");
+  dart.setSignature(html$.MediaRecorder, {
+    fields: () => ({
+      [dartx.audioBitsPerSecond]: dart.finalFieldType(core.int),
+      [dartx.ignoreMutedMedia]: dart.fieldType(core.bool),
+      [dartx.mimeType]: dart.finalFieldType(core.String),
+      [dartx.state]: dart.finalFieldType(core.String),
+      [dartx.stream]: dart.finalFieldType(html$.MediaStream),
+      [dartx.videoBitsPerSecond]: dart.finalFieldType(core.int)
+    }),
+    getters: () => ({
+      [dartx.onError]: dart.fnType(async.Stream$(html$.Event), []),
+      [dartx.onPause]: dart.fnType(async.Stream$(html$.Event), [])
+    }),
+    methods: () => ({
+      [dartx.pause]: dart.fnType(dart.void, []),
+      [dartx.requestData]: dart.fnType(dart.void, []),
+      [dartx.resume]: dart.fnType(dart.void, []),
+      [dartx.start]: dart.fnType(dart.void, [], [core.int]),
+      [dartx.stop]: dart.fnType(dart.void, [])
+    }),
+    statics: () => ({
+      _create_1: dart.fnType(html$.MediaRecorder, [dart.dynamic, dart.dynamic]),
+      _create_2: dart.fnType(html$.MediaRecorder, [dart.dynamic]),
+      isTypeSupported: dart.fnType(core.bool, [core.String])
+    }),
+    names: ['_create_1', '_create_2', 'isTypeSupported']
+  });
+  dart.defineLazy(html$.MediaRecorder, {
+    get errorEvent() {
+      return dart.const(new (EventStreamProviderOfEvent())('error'));
+    },
+    get pauseEvent() {
+      return dart.const(new (EventStreamProviderOfEvent())('pause'));
+    }
+  });
+  dart.registerExtension(dart.global.MediaRecorder, html$.MediaRecorder);
+  dart.defineExtensionNames([
     'activate',
-    'deactivate'
+    'deactivate',
+    'metadata'
   ]);
   html$.MediaSession = class MediaSession extends _interceptors.Interceptor {
     static _() {
@@ -82407,6 +83054,12 @@
     static _create_1() {
       return new self.MediaSession();
     }
+    get [dartx.metadata]() {
+      return this.metadata;
+    }
+    set [dartx.metadata](value) {
+      this.metadata = value;
+    }
     [dartx.activate](...args) {
       return this.activate.apply(this, args);
     }
@@ -82414,10 +83067,12 @@
       return this.deactivate.apply(this, args);
     }
   };
+  const metadata = Symbol("MediaSession.metadata");
   dart.setSignature(html$.MediaSession, {
+    fields: () => ({[dartx.metadata]: dart.fieldType(html$.MediaMetadata)}),
     methods: () => ({
-      [dartx.activate]: dart.fnType(dart.void, []),
-      [dartx.deactivate]: dart.fnType(dart.void, [])
+      [dartx.activate]: dart.fnType(async.Future, []),
+      [dartx.deactivate]: dart.fnType(async.Future, [])
     }),
     statics: () => ({_create_1: dart.fnType(html$.MediaSession, [])}),
     names: ['_create_1']
@@ -82471,8 +83126,8 @@
     }
   };
   const activeSourceBuffers = Symbol("MediaSource.activeSourceBuffers");
-  const duration$2 = Symbol("MediaSource.duration");
-  const readyState$5 = Symbol("MediaSource.readyState");
+  const duration$1 = Symbol("MediaSource.duration");
+  const readyState$6 = Symbol("MediaSource.readyState");
   const sourceBuffers = Symbol("MediaSource.sourceBuffers");
   dart.setSignature(html$.MediaSource, {
     fields: () => ({
@@ -82501,14 +83156,11 @@
     'getTracks',
     'getVideoTracks',
     'removeTrack',
-    'stop',
     'onAddTrack',
     'onEnded',
     'onRemoveTrack',
     'active',
-    'ended',
-    'id',
-    'label'
+    'id'
   ]);
   html$.MediaStream = class MediaStream extends html$.EventTarget {
     static _() {
@@ -82519,10 +83171,10 @@
       if (stream_OR_tracks == null) {
         return html$.MediaStream._create_1();
       }
-      if (html$.MediaStream.is(stream_OR_tracks) || stream_OR_tracks == null) {
+      if (html$.MediaStream.is(stream_OR_tracks)) {
         return html$.MediaStream._create_2(stream_OR_tracks);
       }
-      if (ListOfMediaStreamTrack().is(stream_OR_tracks) || stream_OR_tracks == null) {
+      if (ListOfMediaStreamTrack().is(stream_OR_tracks)) {
         return html$.MediaStream._create_3(stream_OR_tracks);
       }
       dart.throw(new core.ArgumentError("Incorrect number or type of arguments"));
@@ -82539,15 +83191,9 @@
     get [dartx.active]() {
       return this.active;
     }
-    get [dartx.ended]() {
-      return this.ended;
-    }
     get [dartx.id]() {
       return this.id;
     }
-    get [dartx.label]() {
-      return this.label;
-    }
     [dartx.addTrack](...args) {
       return this.addTrack.apply(this, args);
     }
@@ -82569,9 +83215,6 @@
     [dartx.removeTrack](...args) {
       return this.removeTrack.apply(this, args);
     }
-    [dartx.stop](...args) {
-      return this.stop.apply(this, args);
-    }
     get [dartx.onAddTrack]() {
       return html$.MediaStream.addTrackEvent.forTarget(this);
     }
@@ -82586,15 +83229,11 @@
     }
   };
   const active$ = Symbol("MediaStream.active");
-  const ended$ = Symbol("MediaStream.ended");
-  const id$5 = Symbol("MediaStream.id");
-  const label$0 = Symbol("MediaStream.label");
+  const id$7 = Symbol("MediaStream.id");
   dart.setSignature(html$.MediaStream, {
     fields: () => ({
       [dartx.active]: dart.finalFieldType(core.bool),
-      [dartx.ended]: dart.finalFieldType(core.bool),
-      [dartx.id]: dart.finalFieldType(core.String),
-      [dartx.label]: dart.finalFieldType(core.String)
+      [dartx.id]: dart.finalFieldType(core.String)
     }),
     getters: () => ({
       [dartx.onAddTrack]: dart.fnType(async.Stream$(html$.Event), []),
@@ -82608,8 +83247,7 @@
       [dartx.getTrackById]: dart.fnType(html$.MediaStreamTrack, [core.String]),
       [dartx.getTracks]: dart.fnType(core.List$(html$.MediaStreamTrack), []),
       [dartx.getVideoTracks]: dart.fnType(core.List$(html$.MediaStreamTrack), []),
-      [dartx.removeTrack]: dart.fnType(dart.void, [html$.MediaStreamTrack]),
-      [dartx.stop]: dart.fnType(dart.void, [])
+      [dartx.removeTrack]: dart.fnType(dart.void, [html$.MediaStreamTrack])
     }),
     statics: () => ({
       _create_1: dart.fnType(html$.MediaStream, []),
@@ -82658,7 +83296,7 @@
       return this.stream;
     }
   };
-  const stream = Symbol("MediaStreamEvent.stream");
+  const stream$ = Symbol("MediaStreamEvent.stream");
   dart.setSignature(html$.MediaStreamEvent, {
     fields: () => ({[dartx.stream]: dart.finalFieldType(html$.MediaStream)}),
     statics: () => ({
@@ -82669,109 +83307,6 @@
   });
   dart.registerExtension(dart.global.MediaStreamEvent, html$.MediaStreamEvent);
   dart.defineExtensionNames([
-    'clone',
-    'stop',
-    'onEnded',
-    'onMute',
-    'onUnmute',
-    'enabled',
-    'id',
-    'kind',
-    'label',
-    'muted',
-    'readyState'
-  ]);
-  html$.MediaStreamTrack = class MediaStreamTrack extends html$.EventTarget {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.enabled]() {
-      return this.enabled;
-    }
-    set [dartx.enabled](value) {
-      this.enabled = value;
-    }
-    get [dartx.id]() {
-      return this.id;
-    }
-    get [dartx.kind]() {
-      return this.kind;
-    }
-    get [dartx.label]() {
-      return this.label;
-    }
-    get [dartx.muted]() {
-      return this.muted;
-    }
-    get [dartx.readyState]() {
-      return this.readyState;
-    }
-    [dartx.clone](...args) {
-      return this.clone.apply(this, args);
-    }
-    static getSources() {
-      let completer = CompleterOfListOfSourceInfo().new();
-      html$.MediaStreamTrack._getSources(dart.fn(value => {
-        completer.complete(value);
-      }, ListOfSourceInfoToNull()));
-      return completer.future;
-    }
-    [dartx.stop](...args) {
-      return this.stop.apply(this, args);
-    }
-    get [dartx.onEnded]() {
-      return html$.MediaStreamTrack.endedEvent.forTarget(this);
-    }
-    get [dartx.onMute]() {
-      return html$.MediaStreamTrack.muteEvent.forTarget(this);
-    }
-    get [dartx.onUnmute]() {
-      return html$.MediaStreamTrack.unmuteEvent.forTarget(this);
-    }
-  };
-  const enabled$0 = Symbol("MediaStreamTrack.enabled");
-  const id$6 = Symbol("MediaStreamTrack.id");
-  const kind$1 = Symbol("MediaStreamTrack.kind");
-  const label$1 = Symbol("MediaStreamTrack.label");
-  const muted$0 = Symbol("MediaStreamTrack.muted");
-  const readyState$6 = Symbol("MediaStreamTrack.readyState");
-  dart.setSignature(html$.MediaStreamTrack, {
-    fields: () => ({
-      [dartx.enabled]: dart.fieldType(core.bool),
-      [dartx.id]: dart.finalFieldType(core.String),
-      [dartx.kind]: dart.finalFieldType(core.String),
-      [dartx.label]: dart.finalFieldType(core.String),
-      [dartx.muted]: dart.finalFieldType(core.bool),
-      [dartx.readyState]: dart.finalFieldType(core.String)
-    }),
-    getters: () => ({
-      [dartx.onEnded]: dart.fnType(async.Stream$(html$.Event), []),
-      [dartx.onMute]: dart.fnType(async.Stream$(html$.Event), []),
-      [dartx.onUnmute]: dart.fnType(async.Stream$(html$.Event), [])
-    }),
-    methods: () => ({
-      [dartx.clone]: dart.fnType(html$.MediaStreamTrack, []),
-      [dartx.stop]: dart.fnType(dart.void, [])
-    }),
-    statics: () => ({
-      _getSources: dart.fnType(dart.void, [html$.MediaStreamTrackSourcesCallback]),
-      getSources: dart.fnType(async.Future$(core.List$(html$.SourceInfo)), [])
-    }),
-    names: ['_getSources', 'getSources']
-  });
-  dart.defineLazy(html$.MediaStreamTrack, {
-    get endedEvent() {
-      return dart.const(new (EventStreamProviderOfEvent())('ended'));
-    },
-    get muteEvent() {
-      return dart.const(new (EventStreamProviderOfEvent())('mute'));
-    },
-    get unmuteEvent() {
-      return dart.const(new (EventStreamProviderOfEvent())('unmute'));
-    }
-  });
-  dart.registerExtension(dart.global.MediaStreamTrack, html$.MediaStreamTrack);
-  dart.defineExtensionNames([
     'track'
   ]);
   html$.MediaStreamTrackEvent = class MediaStreamTrackEvent extends html$.Event {
@@ -82830,10 +83365,10 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.MenuElement._check(html$.document[dartx.createElement]("menu"));
+      return html$.document.createElement("menu");
     }
     created() {
-      this[label$2] = null;
+      this[label$1] = null;
       this[type$17] = null;
       super.created();
     }
@@ -82851,7 +83386,7 @@
     }
   };
   dart.defineNamedConstructor(html$.MenuElement, 'created');
-  const label$2 = Symbol("MenuElement.label");
+  const label$1 = Symbol("MenuElement.label");
   const type$17 = Symbol("MenuElement.type");
   dart.setSignature(html$.MenuElement, {
     fields: () => ({
@@ -82878,7 +83413,7 @@
       this[defaultValue$] = null;
       this[disabled$5] = null;
       this[icon] = null;
-      this[label$3] = null;
+      this[label$2] = null;
       this[radiogroup] = null;
       this[type$18] = null;
       super.created();
@@ -82931,7 +83466,7 @@
   const defaultValue$ = Symbol("MenuItemElement.defaultValue");
   const disabled$5 = Symbol("MenuItemElement.disabled");
   const icon = Symbol("MenuItemElement.icon");
-  const label$3 = Symbol("MenuItemElement.label");
+  const label$2 = Symbol("MenuItemElement.label");
   const radiogroup = Symbol("MenuItemElement.radiogroup");
   const type$18 = Symbol("MenuItemElement.type");
   dart.setSignature(html$.MenuItemElement, {
@@ -82977,7 +83512,8 @@
     'data',
     'source',
     'lastEventId',
-    'origin'
+    'origin',
+    'suborigin'
   ]);
   html$.MessageEvent = class MessageEvent extends html$.Event {
     static new(type, opts) {
@@ -83030,18 +83566,23 @@
     get [_get_source]() {
       return this.source;
     }
+    get [dartx.suborigin]() {
+      return this.suborigin;
+    }
     [_initMessageEvent](...args) {
       return this.initMessageEvent.apply(this, args);
     }
   };
-  const lastEventId = Symbol("MessageEvent.lastEventId");
-  const origin$2 = Symbol("MessageEvent.origin");
+  const lastEventId$ = Symbol("MessageEvent.lastEventId");
+  const origin$3 = Symbol("MessageEvent.origin");
+  const suborigin$ = Symbol("MessageEvent.suborigin");
   dart.setSignature(html$.MessageEvent, {
     fields: () => ({
       [_get_data]: dart.finalFieldType(dart.dynamic),
       [dartx.lastEventId]: dart.finalFieldType(core.String),
       [dartx.origin]: dart.finalFieldType(core.String),
-      [_get_source]: dart.finalFieldType(dart.dynamic)
+      [_get_source]: dart.finalFieldType(dart.dynamic),
+      [dartx.suborigin]: dart.finalFieldType(core.String)
     }),
     getters: () => ({
       [dartx.data]: dart.fnType(dart.dynamic, []),
@@ -83118,12 +83659,12 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.MetaElement._check(html$.document[dartx.createElement]("meta"));
+      return html$.document.createElement("meta");
     }
     created() {
       this[content] = null;
       this[httpEquiv] = null;
-      this[name$23] = null;
+      this[name$22] = null;
       super.created();
     }
     get [dartx.content]() {
@@ -83148,7 +83689,7 @@
   dart.defineNamedConstructor(html$.MetaElement, 'created');
   const content = Symbol("MetaElement.content");
   const httpEquiv = Symbol("MetaElement.httpEquiv");
-  const name$23 = Symbol("MetaElement.name");
+  const name$22 = Symbol("MetaElement.name");
   dart.setSignature(html$.MetaElement, {
     fields: () => ({
       [dartx.content]: dart.fieldType(core.String),
@@ -83384,10 +83925,10 @@
     }
   };
   const connection = Symbol("MidiPort.connection");
-  const id$7 = Symbol("MidiPort.id");
+  const id$8 = Symbol("MidiPort.id");
   const manufacturer = Symbol("MidiPort.manufacturer");
-  const name$24 = Symbol("MidiPort.name");
-  const state = Symbol("MidiPort.state");
+  const name$23 = Symbol("MidiPort.name");
+  const state$ = Symbol("MidiPort.state");
   const type$19 = Symbol("MidiPort.type");
   const version$0 = Symbol("MidiPort.version");
   dart.setSignature(html$.MidiPort, {
@@ -83471,7 +84012,7 @@
       return this.receivedTime;
     }
   };
-  const data$2 = Symbol("MidiMessageEvent.data");
+  const data$4 = Symbol("MidiMessageEvent.data");
   const receivedTime = Symbol("MidiMessageEvent.receivedTime");
   dart.setSignature(html$.MidiMessageEvent, {
     fields: () => ({
@@ -83613,7 +84154,7 @@
       return this.namedItem.apply(this, args);
     }
   };
-  html$.MimeTypeArray[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior, ListOfMimeType()];
+  html$.MimeTypeArray[dart.implements] = () => [ListOfMimeType(), JavaScriptIndexingBehaviorOfMimeType()];
   dart.setSignature(html$.MimeTypeArray, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -83678,22 +84219,21 @@
   const _pageY = Symbol('_pageY');
   const _screenX = Symbol('_screenX');
   const _screenY = Symbol('_screenY');
-  const _webkitMovementX = Symbol('_webkitMovementX');
-  const _webkitMovementY = Symbol('_webkitMovementY');
   const _initMouseEvent_1 = Symbol('_initMouseEvent_1');
   dart.defineExtensionNames([
     'relatedTarget',
+    'getModifierState',
     'client',
     'movement',
     'offset',
     'screen',
     'layer',
     'page',
+    'dataTransfer',
     'altKey',
     'button',
     'buttons',
     'ctrlKey',
-    'dataTransfer',
     'fromElement',
     'metaKey',
     'region',
@@ -83755,9 +84295,6 @@
     get [dartx.ctrlKey]() {
       return this.ctrlKey;
     }
-    get [dartx.dataTransfer]() {
-      return this.dataTransfer;
-    }
     get [dartx.fromElement]() {
       return this.fromElement;
     }
@@ -83803,11 +84340,8 @@
     get [dartx.toElement]() {
       return this.toElement;
     }
-    get [_webkitMovementX]() {
-      return this.webkitMovementX;
-    }
-    get [_webkitMovementY]() {
-      return this.webkitMovementY;
+    [dartx.getModifierState](...args) {
+      return this.getModifierState.apply(this, args);
     }
     [_initMouseEvent](type, bubbles, cancelable, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget) {
       let relatedTarget_1 = html$._convertDartToNative_EventTarget(relatedTarget);
@@ -83821,7 +84355,7 @@
       return new (PointOfnum())(this[_clientX], this[_clientY]);
     }
     get [dartx.movement]() {
-      return new (PointOfnum())(this[_webkitMovementX], this[_webkitMovementY]);
+      return new (PointOfnum())(this[_movementX], this[_movementY]);
     }
     get [dartx.offset]() {
       if (!!this.offsetX) {
@@ -83846,12 +84380,14 @@
     get [dartx.page]() {
       return new (PointOfnum())(this[_pageX], this[_pageY]);
     }
+    get [dartx.dataTransfer]() {
+      return this.dataTransfer;
+    }
   };
   const altKey$ = Symbol("MouseEvent.altKey");
   const button = Symbol("MouseEvent.button");
   const buttons$ = Symbol("MouseEvent.buttons");
   const ctrlKey$ = Symbol("MouseEvent.ctrlKey");
-  const dataTransfer = Symbol("MouseEvent.dataTransfer");
   const fromElement = Symbol("MouseEvent.fromElement");
   const metaKey$ = Symbol("MouseEvent.metaKey");
   const region$ = Symbol("MouseEvent.region");
@@ -83865,7 +84401,6 @@
       [_clientX]: dart.finalFieldType(core.int),
       [_clientY]: dart.finalFieldType(core.int),
       [dartx.ctrlKey]: dart.finalFieldType(core.bool),
-      [dartx.dataTransfer]: dart.finalFieldType(html$.DataTransfer),
       [dartx.fromElement]: dart.finalFieldType(html$.Node),
       [_layerX]: dart.finalFieldType(core.int),
       [_layerY]: dart.finalFieldType(core.int),
@@ -83879,9 +84414,7 @@
       [_screenX]: dart.finalFieldType(core.int),
       [_screenY]: dart.finalFieldType(core.int),
       [dartx.shiftKey]: dart.finalFieldType(core.bool),
-      [dartx.toElement]: dart.finalFieldType(html$.Node),
-      [_webkitMovementX]: dart.finalFieldType(core.int),
-      [_webkitMovementY]: dart.finalFieldType(core.int)
+      [dartx.toElement]: dart.finalFieldType(html$.Node)
     }),
     getters: () => ({
       [dartx.relatedTarget]: dart.fnType(html$.EventTarget, []),
@@ -83890,9 +84423,11 @@
       [dartx.offset]: dart.fnType(math.Point$(core.num), []),
       [dartx.screen]: dart.fnType(math.Point$(core.num), []),
       [dartx.layer]: dart.fnType(math.Point$(core.num), []),
-      [dartx.page]: dart.fnType(math.Point$(core.num), [])
+      [dartx.page]: dart.fnType(math.Point$(core.num), []),
+      [dartx.dataTransfer]: dart.fnType(html$.DataTransfer, [])
     }),
     methods: () => ({
+      [dartx.getModifierState]: dart.fnType(core.bool, [core.String]),
       [_initMouseEvent]: dart.fnType(dart.void, [core.String, core.bool, core.bool, html$.Window, core.int, core.int, core.int, core.int, core.int, core.bool, core.bool, core.bool, core.bool, core.int, html$.EventTarget]),
       [_initMouseEvent_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, html$.Window, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic])
     }),
@@ -84045,7 +84580,7 @@
   const oldValue = Symbol("MutationRecord.oldValue");
   const previousSibling = Symbol("MutationRecord.previousSibling");
   const removedNodes = Symbol("MutationRecord.removedNodes");
-  const target$2 = Symbol("MutationRecord.target");
+  const target$3 = Symbol("MutationRecord.target");
   const type$21 = Symbol("MutationRecord.type");
   dart.setSignature(html$.MutationRecord, {
     fields: () => ({
@@ -84075,8 +84610,6 @@
     'requestMidiAccess',
     'requestMediaKeySystemAccess',
     'sendBeacon',
-    'getStorageUpdates',
-    'bluetooth',
     'connection',
     'credentials',
     'doNotTrack',
@@ -84084,11 +84617,13 @@
     'maxTouchPoints',
     'mediaDevices',
     'mimeTypes',
+    'nfc',
     'permissions',
     'presentation',
     'productSub',
     'serviceWorker',
     'services',
+    'storage',
     'storageQuota',
     'vendor',
     'vendorSub',
@@ -84134,9 +84669,6 @@
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
-    get [dartx.bluetooth]() {
-      return this.bluetooth;
-    }
     get [dartx.connection]() {
       return this.connection;
     }
@@ -84158,6 +84690,9 @@
     get [dartx.mimeTypes]() {
       return this.mimeTypes;
     }
+    get [dartx.nfc]() {
+      return this.nfc;
+    }
     get [dartx.permissions]() {
       return this.permissions;
     }
@@ -84173,6 +84708,9 @@
     get [dartx.services]() {
       return this.services;
     }
+    get [dartx.storage]() {
+      return this.storage;
+    }
     get [dartx.storageQuota]() {
       return this.storageQuota;
     }
@@ -84253,11 +84791,7 @@
     get [dartx.cookieEnabled]() {
       return this.cookieEnabled;
     }
-    [dartx.getStorageUpdates](...args) {
-      return this.getStorageUpdates.apply(this, args);
-    }
   };
-  const bluetooth = Symbol("Navigator.bluetooth");
   const connection$ = Symbol("Navigator.connection");
   const credentials = Symbol("Navigator.credentials");
   const doNotTrack = Symbol("Navigator.doNotTrack");
@@ -84265,11 +84799,13 @@
   const maxTouchPoints = Symbol("Navigator.maxTouchPoints");
   const mediaDevices = Symbol("Navigator.mediaDevices");
   const mimeTypes = Symbol("Navigator.mimeTypes");
+  const nfc = Symbol("Navigator.nfc");
   const permissions = Symbol("Navigator.permissions");
   const presentation = Symbol("Navigator.presentation");
   const productSub = Symbol("Navigator.productSub");
   const serviceWorker = Symbol("Navigator.serviceWorker");
   const services = Symbol("Navigator.services");
+  const storage = Symbol("Navigator.storage");
   const storageQuota = Symbol("Navigator.storageQuota");
   const vendor = Symbol("Navigator.vendor");
   const vendorSub = Symbol("Navigator.vendorSub");
@@ -84289,7 +84825,6 @@
   html$.Navigator[dart.implements] = () => [html$.NavigatorStorageUtils, html$.NavigatorCpu, html$.NavigatorLanguage, html$.NavigatorOnLine, html$.NavigatorID];
   dart.setSignature(html$.Navigator, {
     fields: () => ({
-      [dartx.bluetooth]: dart.finalFieldType(html$.Bluetooth),
       [dartx.connection]: dart.finalFieldType(html$.NetworkInformation),
       [dartx.credentials]: dart.finalFieldType(html$.CredentialsContainer),
       [dartx.doNotTrack]: dart.finalFieldType(core.String),
@@ -84297,11 +84832,13 @@
       [dartx.maxTouchPoints]: dart.finalFieldType(core.int),
       [dartx.mediaDevices]: dart.finalFieldType(html$.MediaDevices),
       [dartx.mimeTypes]: dart.finalFieldType(html$.MimeTypeArray),
+      [dartx.nfc]: dart.finalFieldType(html$._NFC),
       [dartx.permissions]: dart.finalFieldType(html$.Permissions),
       [dartx.presentation]: dart.finalFieldType(html$.Presentation),
       [dartx.productSub]: dart.finalFieldType(core.String),
       [dartx.serviceWorker]: dart.finalFieldType(html$.ServiceWorkerContainer),
       [dartx.services]: dart.finalFieldType(html$.ServicePortCollection),
+      [dartx.storage]: dart.finalFieldType(html$.StorageManager),
       [dartx.storageQuota]: dart.finalFieldType(html$.StorageQuota),
       [dartx.vendor]: dart.finalFieldType(core.String),
       [dartx.vendorSub]: dart.finalFieldType(core.String),
@@ -84332,8 +84869,7 @@
       [_requestMidiAccess_1]: dart.fnType(async.Future, [dart.dynamic]),
       [_requestMidiAccess_2]: dart.fnType(async.Future, []),
       [dartx.requestMediaKeySystemAccess]: dart.fnType(async.Future, [core.String, ListOfMap()]),
-      [dartx.sendBeacon]: dart.fnType(core.bool, [core.String, core.Object]),
-      [dartx.getStorageUpdates]: dart.fnType(dart.void, [])
+      [dartx.sendBeacon]: dart.fnType(core.bool, [core.String, core.Object])
     })
   });
   dart.registerExtension(dart.global.Navigator, html$.Navigator);
@@ -84489,7 +85025,6 @@
   });
   dart.defineExtensionMembers(html$.NavigatorOnLine, ['onLine']);
   dart.defineExtensionNames([
-    'getStorageUpdates',
     'cookieEnabled'
   ]);
   html$.NavigatorStorageUtils = class NavigatorStorageUtils extends _interceptors.Interceptor {
@@ -84499,14 +85034,10 @@
     get [dartx.cookieEnabled]() {
       return this.cookieEnabled;
     }
-    [dartx.getStorageUpdates](...args) {
-      return this.getStorageUpdates.apply(this, args);
-    }
   };
   const cookieEnabled$ = Symbol("NavigatorStorageUtils.cookieEnabled");
   dart.setSignature(html$.NavigatorStorageUtils, {
-    fields: () => ({[dartx.cookieEnabled]: dart.finalFieldType(core.bool)}),
-    methods: () => ({[dartx.getStorageUpdates]: dart.fnType(dart.void, [])})
+    fields: () => ({[dartx.cookieEnabled]: dart.finalFieldType(core.bool)})
   });
   dart.registerExtension(dart.global.NavigatorStorageUtils, html$.NavigatorStorageUtils);
   dart.defineExtensionNames([
@@ -84529,8 +85060,8 @@
     }
   };
   const constraintName = Symbol("NavigatorUserMediaError.constraintName");
-  const message$23 = Symbol("NavigatorUserMediaError.message");
-  const name$25 = Symbol("NavigatorUserMediaError.name");
+  const message$22 = Symbol("NavigatorUserMediaError.message");
+  const name$24 = Symbol("NavigatorUserMediaError.name");
   dart.setSignature(html$.NavigatorUserMediaError, {
     fields: () => ({
       [dartx.constraintName]: dart.finalFieldType(core.String),
@@ -84542,19 +85073,37 @@
   html$._NavigatorUserMediaErrorCallback = dart.typedef('_NavigatorUserMediaErrorCallback', () => dart.fnTypeFuzzy(dart.void, [html$.NavigatorUserMediaError]));
   html$._NavigatorUserMediaSuccessCallback = dart.typedef('_NavigatorUserMediaSuccessCallback', () => dart.fnTypeFuzzy(dart.void, [html$.MediaStream]));
   dart.defineExtensionNames([
+    'onChange',
+    'downlinkMax',
     'type'
   ]);
   html$.NetworkInformation = class NetworkInformation extends html$.EventTarget {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
+    get [dartx.downlinkMax]() {
+      return this.downlinkMax;
+    }
     get [dartx.type]() {
       return this.type;
     }
+    get [dartx.onChange]() {
+      return html$.NetworkInformation.changeEvent.forTarget(this);
+    }
   };
+  const downlinkMax = Symbol("NetworkInformation.downlinkMax");
   const type$22 = Symbol("NetworkInformation.type");
   dart.setSignature(html$.NetworkInformation, {
-    fields: () => ({[dartx.type]: dart.finalFieldType(core.String)})
+    fields: () => ({
+      [dartx.downlinkMax]: dart.finalFieldType(core.double),
+      [dartx.type]: dart.finalFieldType(core.String)
+    }),
+    getters: () => ({[dartx.onChange]: dart.fnType(async.Stream$(html$.Event), [])})
+  });
+  dart.defineLazy(html$.NetworkInformation, {
+    get changeEvent() {
+      return dart.const(new (EventStreamProviderOfEvent())('change'));
+    }
   });
   dart.registerExtension(dart.global.NetworkInformation, html$.NetworkInformation);
   html$._ChildNodeListLazy = class _ChildNodeListLazy extends collection.ListBase$(html$.Node) {
@@ -84831,7 +85380,7 @@
   };
   const pointerBeforeReferenceNode = Symbol("NodeIterator.pointerBeforeReferenceNode");
   const referenceNode = Symbol("NodeIterator.referenceNode");
-  const root$ = Symbol("NodeIterator.root");
+  const root$0 = Symbol("NodeIterator.root");
   const whatToShow = Symbol("NodeIterator.whatToShow");
   dart.setSignature(html$.NodeIterator, {
     fields: () => ({
@@ -84903,7 +85452,7 @@
       return this.item.apply(this, args);
     }
   };
-  html$.NodeList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior, ListOfNode()];
+  html$.NodeList[dart.implements] = () => [JavaScriptIndexingBehaviorOfNode(), ListOfNode()];
   dart.setSignature(html$.NodeList, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -84966,14 +85515,19 @@
     'onClose',
     'onError',
     'onShow',
+    'actions',
     'body',
     'data',
     'dir',
     'icon',
     'lang',
+    'maxActions',
     'permission',
+    'renotify',
+    'requireInteraction',
     'silent',
     'tag',
+    'timestamp',
     'title',
     'vibrate'
   ]);
@@ -85012,6 +85566,9 @@
     static get supported() {
       return !!window.Notification;
     }
+    get [dartx.actions]() {
+      return this.actions;
+    }
     get [dartx.body]() {
       return this.body;
     }
@@ -85027,15 +85584,27 @@
     get [dartx.lang]() {
       return this.lang;
     }
+    get [dartx.maxActions]() {
+      return this.maxActions;
+    }
     get [dartx.permission]() {
       return this.permission;
     }
+    get [dartx.renotify]() {
+      return this.renotify;
+    }
+    get [dartx.requireInteraction]() {
+      return this.requireInteraction;
+    }
     get [dartx.silent]() {
       return this.silent;
     }
     get [dartx.tag]() {
       return this.tag;
     }
+    get [dartx.timestamp]() {
+      return this.timestamp;
+    }
     get [dartx.title]() {
       return this.title;
     }
@@ -85065,26 +85634,36 @@
       return html$.Notification.showEvent.forTarget(this);
     }
   };
+  const actions = Symbol("Notification.actions");
   const body$ = Symbol("Notification.body");
-  const data$3 = Symbol("Notification.data");
+  const data$5 = Symbol("Notification.data");
   const dir$ = Symbol("Notification.dir");
   const icon$ = Symbol("Notification.icon");
   const lang$ = Symbol("Notification.lang");
+  const maxActions = Symbol("Notification.maxActions");
   const permission = Symbol("Notification.permission");
+  const renotify = Symbol("Notification.renotify");
+  const requireInteraction = Symbol("Notification.requireInteraction");
   const silent = Symbol("Notification.silent");
   const tag = Symbol("Notification.tag");
-  const title$0 = Symbol("Notification.title");
+  const timestamp$0 = Symbol("Notification.timestamp");
+  const title$1 = Symbol("Notification.title");
   const vibrate = Symbol("Notification.vibrate");
   dart.setSignature(html$.Notification, {
     fields: () => ({
+      [dartx.actions]: dart.finalFieldType(core.List),
       [dartx.body]: dart.finalFieldType(core.String),
       [dartx.data]: dart.finalFieldType(core.Object),
       [dartx.dir]: dart.finalFieldType(core.String),
       [dartx.icon]: dart.finalFieldType(core.String),
       [dartx.lang]: dart.finalFieldType(core.String),
+      [dartx.maxActions]: dart.finalFieldType(core.int),
       [dartx.permission]: dart.finalFieldType(core.String),
+      [dartx.renotify]: dart.finalFieldType(core.bool),
+      [dartx.requireInteraction]: dart.finalFieldType(core.bool),
       [dartx.silent]: dart.finalFieldType(core.bool),
       [dartx.tag]: dart.finalFieldType(core.String),
+      [dartx.timestamp]: dart.finalFieldType(core.int),
       [dartx.title]: dart.finalFieldType(core.String),
       [dartx.vibrate]: dart.finalFieldType(ListOfint())
     }),
@@ -85099,7 +85678,7 @@
       _factoryNotification: dart.fnType(html$.Notification, [core.String], [core.Map]),
       _create_1: dart.fnType(html$.Notification, [dart.dynamic, dart.dynamic]),
       _create_2: dart.fnType(html$.Notification, [dart.dynamic]),
-      _requestPermission: dart.fnType(dart.void, [], [html$._NotificationPermissionCallback]),
+      _requestPermission: dart.fnType(async.Future, [], [html$._NotificationPermissionCallback]),
       requestPermission: dart.fnType(async.Future$(core.String), [])
     }),
     names: ['_factoryNotification', '_create_1', '_create_2', '_requestPermission', 'requestPermission']
@@ -85120,6 +85699,7 @@
   });
   dart.registerExtension(dart.global.Notification, html$.Notification);
   dart.defineExtensionNames([
+    'action',
     'notification'
   ]);
   html$.NotificationEvent = class NotificationEvent extends html$.ExtendableEvent {
@@ -85127,35 +85707,56 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new(type, eventInitDict) {
-      if (eventInitDict === void 0) eventInitDict = null;
-      if (eventInitDict != null) {
-        let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
-        return html$.NotificationEvent._create_1(type, eventInitDict_1);
-      }
-      return html$.NotificationEvent._create_2(type);
+      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
+      return html$.NotificationEvent._create_1(type, eventInitDict_1);
     }
     static _create_1(type, eventInitDict) {
       return new self.NotificationEvent(type, eventInitDict);
     }
-    static _create_2(type) {
-      return new self.NotificationEvent(type);
+    get [dartx.action]() {
+      return this.action;
     }
     get [dartx.notification]() {
       return this.notification;
     }
   };
+  const action$ = Symbol("NotificationEvent.action");
   const notification = Symbol("NotificationEvent.notification");
   dart.setSignature(html$.NotificationEvent, {
-    fields: () => ({[dartx.notification]: dart.finalFieldType(html$.Notification)}),
-    statics: () => ({
-      _create_1: dart.fnType(html$.NotificationEvent, [dart.dynamic, dart.dynamic]),
-      _create_2: dart.fnType(html$.NotificationEvent, [dart.dynamic])
+    fields: () => ({
+      [dartx.action]: dart.finalFieldType(core.String),
+      [dartx.notification]: dart.finalFieldType(html$.Notification)
     }),
-    names: ['_create_1', '_create_2']
+    statics: () => ({_create_1: dart.fnType(html$.NotificationEvent, [dart.dynamic, dart.dynamic])}),
+    names: ['_create_1']
   });
   dart.registerExtension(dart.global.NotificationEvent, html$.NotificationEvent);
   html$._NotificationPermissionCallback = dart.typedef('_NotificationPermissionCallback', () => dart.fnTypeFuzzy(dart.void, [core.String]));
   dart.defineExtensionNames([
+    'value'
+  ]);
+  html$.NumberValue = class NumberValue extends html$.StyleValue {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(value) {
+      return html$.NumberValue._create_1(value);
+    }
+    static _create_1(value) {
+      return new self.NumberValue(value);
+    }
+    get [dartx.value]() {
+      return this.value;
+    }
+  };
+  const value$7 = Symbol("NumberValue.value");
+  dart.setSignature(html$.NumberValue, {
+    fields: () => ({[dartx.value]: dart.finalFieldType(core.double)}),
+    statics: () => ({_create_1: dart.fnType(html$.NumberValue, [dart.dynamic])}),
+    names: ['_create_1']
+  });
+  dart.registerExtension(dart.global.NumberValue, html$.NumberValue);
+  dart.defineExtensionNames([
     'reversed',
     'start',
     'type'
@@ -85165,7 +85766,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.OListElement._check(html$.document[dartx.createElement]("ol"));
+      return html$.document.createElement("ol");
     }
     created() {
       this[reversed] = null;
@@ -85227,10 +85828,10 @@
       return html$.ObjectElement._check(html$.document[dartx.createElement]("object"));
     }
     created() {
-      this[data$4] = null;
+      this[data$6] = null;
       this[form$4] = null;
       this[height$6] = null;
-      this[name$26] = null;
+      this[name$25] = null;
       this[type$24] = null;
       this[useMap$] = null;
       this[validationMessage$2] = null;
@@ -85307,10 +85908,10 @@
     }
   };
   dart.defineNamedConstructor(html$.ObjectElement, 'created');
-  const data$4 = Symbol("ObjectElement.data");
+  const data$6 = Symbol("ObjectElement.data");
   const form$4 = Symbol("ObjectElement.form");
   const height$6 = Symbol("ObjectElement.height");
-  const name$26 = Symbol("ObjectElement.name");
+  const name$25 = Symbol("ObjectElement.name");
   const type$24 = Symbol("ObjectElement.type");
   const useMap$ = Symbol("ObjectElement.useMap");
   const validationMessage$2 = Symbol("ObjectElement.validationMessage");
@@ -85340,6 +85941,44 @@
   });
   dart.registerExtension(dart.global.HTMLObjectElement, html$.ObjectElement);
   dart.defineExtensionNames([
+    'height',
+    'width'
+  ]);
+  html$.OffscreenCanvas = class OffscreenCanvas extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(width, height) {
+      return html$.OffscreenCanvas._create_1(width, height);
+    }
+    static _create_1(width, height) {
+      return new self.OffscreenCanvas(width, height);
+    }
+    get [dartx.height]() {
+      return this.height;
+    }
+    set [dartx.height](value) {
+      this.height = value;
+    }
+    get [dartx.width]() {
+      return this.width;
+    }
+    set [dartx.width](value) {
+      this.width = value;
+    }
+  };
+  const height$7 = Symbol("OffscreenCanvas.height");
+  const width$7 = Symbol("OffscreenCanvas.width");
+  dart.setSignature(html$.OffscreenCanvas, {
+    fields: () => ({
+      [dartx.height]: dart.fieldType(core.int),
+      [dartx.width]: dart.fieldType(core.int)
+    }),
+    statics: () => ({_create_1: dart.fnType(html$.OffscreenCanvas, [dart.dynamic, dart.dynamic])}),
+    names: ['_create_1']
+  });
+  dart.registerExtension(dart.global.OffscreenCanvas, html$.OffscreenCanvas);
+  dart.defineExtensionNames([
     'disabled',
     'label'
   ]);
@@ -85348,11 +85987,11 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.OptGroupElement._check(html$.document[dartx.createElement]("optgroup"));
+      return html$.document.createElement("optgroup");
     }
     created() {
       this[disabled$6] = null;
-      this[label$4] = null;
+      this[label$3] = null;
       super.created();
     }
     get [dartx.disabled]() {
@@ -85370,7 +86009,7 @@
   };
   dart.defineNamedConstructor(html$.OptGroupElement, 'created');
   const disabled$6 = Symbol("OptGroupElement.disabled");
-  const label$4 = Symbol("OptGroupElement.label");
+  const label$3 = Symbol("OptGroupElement.label");
   dart.setSignature(html$.OptGroupElement, {
     fields: () => ({
       [dartx.disabled]: dart.fieldType(core.bool),
@@ -85433,9 +86072,9 @@
       this[disabled$7] = null;
       this[form$5] = null;
       this[index$] = null;
-      this[label$5] = null;
+      this[label$4] = null;
       this[selected] = null;
-      this[value$7] = null;
+      this[value$8] = null;
       super.created();
     }
     get [dartx.defaultSelected]() {
@@ -85480,9 +86119,9 @@
   const disabled$7 = Symbol("OptionElement.disabled");
   const form$5 = Symbol("OptionElement.form");
   const index$ = Symbol("OptionElement.index");
-  const label$5 = Symbol("OptionElement.label");
+  const label$4 = Symbol("OptionElement.label");
   const selected = Symbol("OptionElement.selected");
-  const value$7 = Symbol("OptionElement.value");
+  const value$8 = Symbol("OptionElement.value");
   dart.setSignature(html$.OptionElement, {
     fields: () => ({
       [dartx.defaultSelected]: dart.fieldType(core.bool),
@@ -85530,11 +86169,11 @@
       this[form$6] = null;
       this[htmlFor$] = null;
       this[labels$2] = null;
-      this[name$27] = null;
+      this[name$26] = null;
       this[type$25] = null;
       this[validationMessage$3] = null;
       this[validity$3] = null;
-      this[value$8] = null;
+      this[value$9] = null;
       this[willValidate$3] = null;
       super.created();
     }
@@ -85595,17 +86234,17 @@
   const form$6 = Symbol("OutputElement.form");
   const htmlFor$ = Symbol("OutputElement.htmlFor");
   const labels$2 = Symbol("OutputElement.labels");
-  const name$27 = Symbol("OutputElement.name");
+  const name$26 = Symbol("OutputElement.name");
   const type$25 = Symbol("OutputElement.type");
   const validationMessage$3 = Symbol("OutputElement.validationMessage");
   const validity$3 = Symbol("OutputElement.validity");
-  const value$8 = Symbol("OutputElement.value");
+  const value$9 = Symbol("OutputElement.value");
   const willValidate$3 = Symbol("OutputElement.willValidate");
   dart.setSignature(html$.OutputElement, {
     fields: () => ({
       [dartx.defaultValue]: dart.fieldType(core.String),
       [dartx.form]: dart.finalFieldType(html$.FormElement),
-      [dartx.htmlFor]: dart.finalFieldType(html$.DomSettableTokenList),
+      [dartx.htmlFor]: dart.finalFieldType(html$.DomTokenList),
       [dartx.labels]: dart.finalFieldType(ListOfNode()),
       [dartx.name]: dart.fieldType(core.String),
       [dartx.type]: dart.finalFieldType(core.String),
@@ -85661,7 +86300,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.ParagraphElement._check(html$.document[dartx.createElement]("p"));
+      return html$.document.createElement("p");
     }
     created() {
       super.created();
@@ -85678,11 +86317,11 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.ParamElement._check(html$.document[dartx.createElement]("param"));
+      return html$.document.createElement("param");
     }
     created() {
-      this[name$28] = null;
-      this[value$9] = null;
+      this[name$27] = null;
+      this[value$10] = null;
       super.created();
     }
     get [dartx.name]() {
@@ -85699,8 +86338,8 @@
     }
   };
   dart.defineNamedConstructor(html$.ParamElement, 'created');
-  const name$28 = Symbol("ParamElement.name");
-  const value$9 = Symbol("ParamElement.value");
+  const name$27 = Symbol("ParamElement.name");
+  const value$10 = Symbol("ParamElement.value");
   dart.setSignature(html$.ParamElement, {
     fields: () => ({
       [dartx.name]: dart.fieldType(core.String),
@@ -85722,53 +86361,51 @@
     })
   });
   dart.defineExtensionNames([
-    'formData',
-    'password'
+    'additionalData',
+    'idName',
+    'passwordName'
   ]);
   html$.PasswordCredential = class PasswordCredential extends html$.Credential {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
-    static new(id, password, name, iconURL) {
-      if (name === void 0) name = null;
-      if (iconURL === void 0) iconURL = null;
-      if (iconURL != null) {
-        return html$.PasswordCredential._create_1(id, password, name, iconURL);
-      }
-      if (name != null) {
-        return html$.PasswordCredential._create_2(id, password, name);
-      }
-      return html$.PasswordCredential._create_3(id, password);
+    static new(data) {
+      let data_1 = html_common.convertDartToNative_Dictionary(data);
+      return html$.PasswordCredential._create_1(data_1);
     }
-    static _create_1(id, password, name, iconURL) {
-      return new self.PasswordCredential(id, password, name, iconURL);
+    static _create_1(data) {
+      return new self.PasswordCredential(data);
     }
-    static _create_2(id, password, name) {
-      return new self.PasswordCredential(id, password, name);
+    get [dartx.additionalData]() {
+      return this.additionalData;
     }
-    static _create_3(id, password) {
-      return new self.PasswordCredential(id, password);
+    set [dartx.additionalData](value) {
+      this.additionalData = value;
     }
-    get [dartx.formData]() {
-      return this.formData;
+    get [dartx.idName]() {
+      return this.idName;
     }
-    get [dartx.password]() {
-      return this.password;
+    set [dartx.idName](value) {
+      this.idName = value;
+    }
+    get [dartx.passwordName]() {
+      return this.passwordName;
+    }
+    set [dartx.passwordName](value) {
+      this.passwordName = value;
     }
   };
-  const formData = Symbol("PasswordCredential.formData");
-  const password$0 = Symbol("PasswordCredential.password");
+  const additionalData = Symbol("PasswordCredential.additionalData");
+  const idName = Symbol("PasswordCredential.idName");
+  const passwordName = Symbol("PasswordCredential.passwordName");
   dart.setSignature(html$.PasswordCredential, {
     fields: () => ({
-      [dartx.formData]: dart.finalFieldType(html$.FormData),
-      [dartx.password]: dart.finalFieldType(core.String)
+      [dartx.additionalData]: dart.fieldType(core.Object),
+      [dartx.idName]: dart.fieldType(core.String),
+      [dartx.passwordName]: dart.fieldType(core.String)
     }),
-    statics: () => ({
-      _create_1: dart.fnType(html$.PasswordCredential, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
-      _create_2: dart.fnType(html$.PasswordCredential, [dart.dynamic, dart.dynamic, dart.dynamic]),
-      _create_3: dart.fnType(html$.PasswordCredential, [dart.dynamic, dart.dynamic])
-    }),
-    names: ['_create_1', '_create_2', '_create_3']
+    statics: () => ({_create_1: dart.fnType(html$.PasswordCredential, [dart.dynamic])}),
+    names: ['_create_1']
   });
   dart.registerExtension(dart.global.PasswordCredential, html$.PasswordCredential);
   dart.defineExtensionNames([
@@ -85792,10 +86429,10 @@
       if (path_OR_text == null) {
         return html$.Path2D._create_1();
       }
-      if (html$.Path2D.is(path_OR_text) || path_OR_text == null) {
+      if (html$.Path2D.is(path_OR_text)) {
         return html$.Path2D._create_2(path_OR_text);
       }
-      if (typeof path_OR_text == 'string' || path_OR_text == null) {
+      if (typeof path_OR_text == 'string') {
         return html$.Path2D._create_3(path_OR_text);
       }
       dart.throw(new core.ArgumentError("Incorrect number or type of arguments"));
@@ -85843,7 +86480,7 @@
   html$.Path2D[dart.implements] = () => [html$._CanvasPathMethods];
   dart.setSignature(html$.Path2D, {
     methods: () => ({
-      [dartx.addPath]: dart.fnType(dart.void, [html$.Path2D], [svg$.Matrix]),
+      [dartx.addPath]: dart.fnType(dart.void, [html$.Path2D], [html$.Matrix]),
       [dartx.arc]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.bool]),
       [dartx.arcTo]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num]),
       [dartx.bezierCurveTo]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num]),
@@ -85866,6 +86503,7 @@
     'clearFrameTimings',
     'clearMarks',
     'clearMeasures',
+    'clearResourceTimings',
     'getEntries',
     'getEntriesByName',
     'getEntriesByType',
@@ -85873,9 +86511,7 @@
     'measure',
     'now',
     'setFrameTimingBufferSize',
-    'clearResourceTimings',
     'setResourceTimingBufferSize',
-    'onResourceTimingBufferFull',
     'memory',
     'navigation',
     'timing'
@@ -85905,6 +86541,9 @@
     [dartx.clearMeasures](...args) {
       return this.clearMeasures.apply(this, args);
     }
+    [dartx.clearResourceTimings](...args) {
+      return this.clearResourceTimings.apply(this, args);
+    }
     [dartx.getEntries](...args) {
       return this.getEntries.apply(this, args);
     }
@@ -85926,14 +86565,8 @@
     [dartx.setFrameTimingBufferSize](...args) {
       return this.setFrameTimingBufferSize.apply(this, args);
     }
-    [dartx.clearResourceTimings](...args) {
-      return this.webkitClearResourceTimings.apply(this, args);
-    }
     [dartx.setResourceTimingBufferSize](...args) {
-      return this.webkitSetResourceTimingBufferSize.apply(this, args);
-    }
-    get [dartx.onResourceTimingBufferFull]() {
-      return html$.Performance.resourceTimingBufferFullEvent.forTarget(this);
+      return this.setResourceTimingBufferSize.apply(this, args);
     }
   };
   const memory = Symbol("Performance.memory");
@@ -85945,11 +86578,11 @@
       [dartx.navigation]: dart.finalFieldType(html$.PerformanceNavigation),
       [dartx.timing]: dart.finalFieldType(html$.PerformanceTiming)
     }),
-    getters: () => ({[dartx.onResourceTimingBufferFull]: dart.fnType(async.Stream$(html$.Event), [])}),
     methods: () => ({
       [dartx.clearFrameTimings]: dart.fnType(dart.void, []),
       [dartx.clearMarks]: dart.fnType(dart.void, [core.String]),
       [dartx.clearMeasures]: dart.fnType(dart.void, [core.String]),
+      [dartx.clearResourceTimings]: dart.fnType(dart.void, []),
       [dartx.getEntries]: dart.fnType(core.List$(html$.PerformanceEntry), []),
       [dartx.getEntriesByName]: dart.fnType(core.List$(html$.PerformanceEntry), [core.String, core.String]),
       [dartx.getEntriesByType]: dart.fnType(core.List$(html$.PerformanceEntry), [core.String]),
@@ -85957,15 +86590,9 @@
       [dartx.measure]: dart.fnType(dart.void, [core.String, core.String, core.String]),
       [dartx.now]: dart.fnType(core.double, []),
       [dartx.setFrameTimingBufferSize]: dart.fnType(dart.void, [core.int]),
-      [dartx.clearResourceTimings]: dart.fnType(dart.void, []),
       [dartx.setResourceTimingBufferSize]: dart.fnType(dart.void, [core.int])
     })
   });
-  dart.defineLazy(html$.Performance, {
-    get resourceTimingBufferFullEvent() {
-      return dart.const(new (EventStreamProviderOfEvent())('webkitresourcetimingbufferfull'));
-    }
-  });
   dart.registerExtension(dart.global.Performance, html$.Performance);
   dart.defineExtensionNames([
     'duration',
@@ -85990,9 +86617,9 @@
       return this.startTime;
     }
   };
-  const duration$3 = Symbol("PerformanceEntry.duration");
+  const duration$2 = Symbol("PerformanceEntry.duration");
   const entryType = Symbol("PerformanceEntry.entryType");
-  const name$29 = Symbol("PerformanceEntry.name");
+  const name$28 = Symbol("PerformanceEntry.name");
   const startTime$ = Symbol("PerformanceEntry.startTime");
   dart.setSignature(html$.PerformanceEntry, {
     fields: () => ({
@@ -86070,6 +86697,61 @@
   });
   dart.registerExtension(dart.global.PerformanceNavigation, html$.PerformanceNavigation);
   dart.defineExtensionNames([
+    'disconnect',
+    'observe'
+  ]);
+  html$.PerformanceObserver = class PerformanceObserver extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    [dartx.disconnect](...args) {
+      return this.disconnect.apply(this, args);
+    }
+    [dartx.observe](options) {
+      let options_1 = html_common.convertDartToNative_Dictionary(options);
+      this[_observe_1](options_1);
+      return;
+    }
+    [_observe_1](...args) {
+      return this.observe.apply(this, args);
+    }
+  };
+  dart.setSignature(html$.PerformanceObserver, {
+    methods: () => ({
+      [dartx.disconnect]: dart.fnType(dart.void, []),
+      [dartx.observe]: dart.fnType(dart.void, [core.Map]),
+      [_observe_1]: dart.fnType(dart.void, [dart.dynamic])
+    })
+  });
+  dart.registerExtension(dart.global.PerformanceObserver, html$.PerformanceObserver);
+  dart.defineExtensionNames([
+    'getEntries',
+    'getEntriesByName',
+    'getEntriesByType'
+  ]);
+  html$.PerformanceObserverEntryList = class PerformanceObserverEntryList extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    [dartx.getEntries](...args) {
+      return this.getEntries.apply(this, args);
+    }
+    [dartx.getEntriesByName](...args) {
+      return this.getEntriesByName.apply(this, args);
+    }
+    [dartx.getEntriesByType](...args) {
+      return this.getEntriesByType.apply(this, args);
+    }
+  };
+  dart.setSignature(html$.PerformanceObserverEntryList, {
+    methods: () => ({
+      [dartx.getEntries]: dart.fnType(core.List$(html$.PerformanceEntry), []),
+      [dartx.getEntriesByName]: dart.fnType(core.List$(html$.PerformanceEntry), [core.String, core.String]),
+      [dartx.getEntriesByType]: dart.fnType(core.List$(html$.PerformanceEntry), [core.String])
+    })
+  });
+  dart.registerExtension(dart.global.PerformanceObserverEntryList, html$.PerformanceObserverEntryList);
+  dart.defineExtensionNames([
     'sourceFrame'
   ]);
   html$.PerformanceRenderTiming = class PerformanceRenderTiming extends html$.PerformanceEntry {
@@ -86314,128 +86996,8 @@
   });
   dart.registerExtension(dart.global.PerformanceTiming, html$.PerformanceTiming);
   dart.defineExtensionNames([
-    'registration'
-  ]);
-  html$.PeriodicSyncEvent = class PeriodicSyncEvent extends html$.ExtendableEvent {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    static new(type, init) {
-      let init_1 = html_common.convertDartToNative_Dictionary(init);
-      return html$.PeriodicSyncEvent._create_1(type, init_1);
-    }
-    static _create_1(type, init) {
-      return new self.PeriodicSyncEvent(type, init);
-    }
-    get [dartx.registration]() {
-      return this.registration;
-    }
-  };
-  const registration = Symbol("PeriodicSyncEvent.registration");
-  dart.setSignature(html$.PeriodicSyncEvent, {
-    fields: () => ({[dartx.registration]: dart.finalFieldType(html$.PeriodicSyncRegistration)}),
-    statics: () => ({_create_1: dart.fnType(html$.PeriodicSyncEvent, [dart.dynamic, dart.dynamic])}),
-    names: ['_create_1']
-  });
-  dart.registerExtension(dart.global.PeriodicSyncEvent, html$.PeriodicSyncEvent);
-  const _register_1 = Symbol('_register_1');
-  const _register_2 = Symbol('_register_2');
-  dart.defineExtensionNames([
-    'getRegistration',
-    'getRegistrations',
-    'permissionState',
-    'register',
-    'minPossiblePeriod'
-  ]);
-  html$.PeriodicSyncManager = class PeriodicSyncManager extends _interceptors.Interceptor {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.minPossiblePeriod]() {
-      return this.minPossiblePeriod;
-    }
-    [dartx.getRegistration](...args) {
-      return this.getRegistration.apply(this, args);
-    }
-    [dartx.getRegistrations](...args) {
-      return this.getRegistrations.apply(this, args);
-    }
-    [dartx.permissionState](...args) {
-      return this.permissionState.apply(this, args);
-    }
-    [dartx.register](options) {
-      if (options === void 0) options = null;
-      if (options != null) {
-        let options_1 = html_common.convertDartToNative_Dictionary(options);
-        return this[_register_1](options_1);
-      }
-      return this[_register_2]();
-    }
-    [_register_1](...args) {
-      return this.register.apply(this, args);
-    }
-    [_register_2](...args) {
-      return this.register.apply(this, args);
-    }
-  };
-  const minPossiblePeriod = Symbol("PeriodicSyncManager.minPossiblePeriod");
-  dart.setSignature(html$.PeriodicSyncManager, {
-    fields: () => ({[dartx.minPossiblePeriod]: dart.finalFieldType(core.int)}),
-    methods: () => ({
-      [dartx.getRegistration]: dart.fnType(async.Future, [core.String]),
-      [dartx.getRegistrations]: dart.fnType(async.Future, []),
-      [dartx.permissionState]: dart.fnType(async.Future, []),
-      [dartx.register]: dart.fnType(async.Future, [], [core.Map]),
-      [_register_1]: dart.fnType(async.Future, [dart.dynamic]),
-      [_register_2]: dart.fnType(async.Future, [])
-    })
-  });
-  dart.registerExtension(dart.global.PeriodicSyncManager, html$.PeriodicSyncManager);
-  dart.defineExtensionNames([
-    'unregister',
-    'minPeriod',
-    'networkState',
-    'powerState',
-    'tag'
-  ]);
-  html$.PeriodicSyncRegistration = class PeriodicSyncRegistration extends _interceptors.Interceptor {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.minPeriod]() {
-      return this.minPeriod;
-    }
-    get [dartx.networkState]() {
-      return this.networkState;
-    }
-    get [dartx.powerState]() {
-      return this.powerState;
-    }
-    get [dartx.tag]() {
-      return this.tag;
-    }
-    [dartx.unregister](...args) {
-      return this.unregister.apply(this, args);
-    }
-  };
-  const minPeriod = Symbol("PeriodicSyncRegistration.minPeriod");
-  const networkState$ = Symbol("PeriodicSyncRegistration.networkState");
-  const powerState = Symbol("PeriodicSyncRegistration.powerState");
-  const tag$ = Symbol("PeriodicSyncRegistration.tag");
-  dart.setSignature(html$.PeriodicSyncRegistration, {
-    fields: () => ({
-      [dartx.minPeriod]: dart.finalFieldType(core.int),
-      [dartx.networkState]: dart.finalFieldType(core.String),
-      [dartx.powerState]: dart.finalFieldType(core.String),
-      [dartx.tag]: dart.finalFieldType(core.String)
-    }),
-    methods: () => ({[dartx.unregister]: dart.fnType(async.Future, [])})
-  });
-  dart.registerExtension(dart.global.PeriodicSyncRegistration, html$.PeriodicSyncRegistration);
-  dart.defineExtensionNames([
     'onChange',
-    'state',
-    'status'
+    'state'
   ]);
   html$.PermissionStatus = class PermissionStatus extends html$.EventTarget {
     static _() {
@@ -86444,20 +87006,13 @@
     get [dartx.state]() {
       return this.state;
     }
-    get [dartx.status]() {
-      return this.status;
-    }
     get [dartx.onChange]() {
       return html$.PermissionStatus.changeEvent.forTarget(this);
     }
   };
-  const state$ = Symbol("PermissionStatus.state");
-  const status$3 = Symbol("PermissionStatus.status");
+  const state$0 = Symbol("PermissionStatus.state");
   dart.setSignature(html$.PermissionStatus, {
-    fields: () => ({
-      [dartx.state]: dart.finalFieldType(core.String),
-      [dartx.status]: dart.finalFieldType(core.String)
-    }),
+    fields: () => ({[dartx.state]: dart.finalFieldType(core.String)}),
     getters: () => ({[dartx.onChange]: dart.fnType(async.Stream$(html$.Event), [])})
   });
   dart.defineLazy(html$.PermissionStatus, {
@@ -86466,21 +87021,80 @@
     }
   });
   dart.registerExtension(dart.global.PermissionStatus, html$.PermissionStatus);
+  const _query_1 = Symbol('_query_1');
+  const _request_1 = Symbol('_request_1');
+  const _revoke_1 = Symbol('_revoke_1');
   dart.defineExtensionNames([
-    'query'
+    'query',
+    'request',
+    'requestAll',
+    'revoke'
   ]);
   html$.Permissions = class Permissions extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
-    [dartx.query](...args) {
+    [dartx.query](permission) {
+      let permission_1 = html_common.convertDartToNative_Dictionary(permission);
+      return this[_query_1](permission_1);
+    }
+    [_query_1](...args) {
       return this.query.apply(this, args);
     }
+    [dartx.request](permissions) {
+      let permissions_1 = html_common.convertDartToNative_Dictionary(permissions);
+      return this[_request_1](permissions_1);
+    }
+    [_request_1](...args) {
+      return this.request.apply(this, args);
+    }
+    [dartx.requestAll](...args) {
+      return this.requestAll.apply(this, args);
+    }
+    [dartx.revoke](permission) {
+      let permission_1 = html_common.convertDartToNative_Dictionary(permission);
+      return this[_revoke_1](permission_1);
+    }
+    [_revoke_1](...args) {
+      return this.revoke.apply(this, args);
+    }
   };
   dart.setSignature(html$.Permissions, {
-    methods: () => ({[dartx.query]: dart.fnType(async.Future, [core.Object])})
+    methods: () => ({
+      [dartx.query]: dart.fnType(async.Future, [core.Map]),
+      [_query_1]: dart.fnType(async.Future, [dart.dynamic]),
+      [dartx.request]: dart.fnType(async.Future, [core.Map]),
+      [_request_1]: dart.fnType(async.Future, [dart.dynamic]),
+      [dartx.requestAll]: dart.fnType(async.Future, [ListOfMap()]),
+      [dartx.revoke]: dart.fnType(async.Future, [core.Map]),
+      [_revoke_1]: dart.fnType(async.Future, [dart.dynamic])
+    })
   });
   dart.registerExtension(dart.global.Permissions, html$.Permissions);
+  dart.defineExtensionNames([
+    'length'
+  ]);
+  html$.Perspective = class Perspective extends html$.TransformComponent {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(length) {
+      return html$.Perspective._create_1(length);
+    }
+    static _create_1(length) {
+      return new self.Perspective(length);
+    }
+    get [dartx.length]() {
+      return this.length;
+    }
+  };
+  const length$7 = Symbol("Perspective.length");
+  dart.setSignature(html$.Perspective, {
+    fields: () => ({[dartx.length]: dart.finalFieldType(html$.LengthValue)}),
+    statics: () => ({_create_1: dart.fnType(html$.Perspective, [dart.dynamic])}),
+    names: ['_create_1']
+  });
+  dart.registerExtension(dart.global.Perspective, html$.Perspective);
   html$.PictureElement = class PictureElement extends html$.HtmlElement {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -86525,7 +87139,7 @@
   const description$0 = Symbol("Plugin.description");
   const filename$ = Symbol("Plugin.filename");
   const length$8 = Symbol("Plugin.length");
-  const name$30 = Symbol("Plugin.name");
+  const name$29 = Symbol("Plugin.name");
   dart.setSignature(html$.Plugin, {
     fields: () => ({
       [dartx.description]: dart.finalFieldType(core.String),
@@ -86604,7 +87218,7 @@
       return this.refresh.apply(this, args);
     }
   };
-  html$.PluginArray[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior, ListOfPlugin()];
+  html$.PluginArray[dart.implements] = () => [JavaScriptIndexingBehaviorOfPlugin(), ListOfPlugin()];
   dart.setSignature(html$.PluginArray, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -86624,47 +87238,6 @@
   });
   dart.registerExtension(dart.global.PluginArray, html$.PluginArray);
   dart.defineExtensionNames([
-    'createdCallback',
-    'closeable',
-    'message'
-  ]);
-  html$.PluginPlaceholderElement = class PluginPlaceholderElement extends html$.DivElement {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    created() {
-      this[closeable] = null;
-      this[message$24] = null;
-      super.created();
-    }
-    get [dartx.closeable]() {
-      return this.closeable;
-    }
-    set [dartx.closeable](value) {
-      this.closeable = value;
-    }
-    get [dartx.message]() {
-      return this.message;
-    }
-    set [dartx.message](value) {
-      this.message = value;
-    }
-    [dartx.createdCallback](...args) {
-      return this.createdCallback.apply(this, args);
-    }
-  };
-  dart.defineNamedConstructor(html$.PluginPlaceholderElement, 'created');
-  const closeable = Symbol("PluginPlaceholderElement.closeable");
-  const message$24 = Symbol("PluginPlaceholderElement.message");
-  dart.setSignature(html$.PluginPlaceholderElement, {
-    fields: () => ({
-      [dartx.closeable]: dart.fieldType(core.bool),
-      [dartx.message]: dart.fieldType(core.String)
-    }),
-    methods: () => ({[dartx.createdCallback]: dart.fnType(dart.void, [])})
-  });
-  dart.registerExtension(dart.global.PluginPlaceholderElement, html$.PluginPlaceholderElement);
-  dart.defineExtensionNames([
     'height',
     'isPrimary',
     'pointerId',
@@ -86717,14 +87290,14 @@
       return this.width;
     }
   };
-  const height$7 = Symbol("PointerEvent.height");
-  const isPrimary$ = Symbol("PointerEvent.isPrimary");
+  const height$8 = Symbol("PointerEvent.height");
+  const isPrimary = Symbol("PointerEvent.isPrimary");
   const pointerId = Symbol("PointerEvent.pointerId");
   const pointerType = Symbol("PointerEvent.pointerType");
   const pressure = Symbol("PointerEvent.pressure");
   const tiltX = Symbol("PointerEvent.tiltX");
   const tiltY = Symbol("PointerEvent.tiltY");
-  const width$7 = Symbol("PointerEvent.width");
+  const width$8 = Symbol("PointerEvent.width");
   dart.setSignature(html$.PointerEvent, {
     fields: () => ({
       [dartx.height]: dart.finalFieldType(core.double),
@@ -86797,8 +87370,8 @@
       return this.message;
     }
   };
-  const code$3 = Symbol("PositionError.code");
-  const message$25 = Symbol("PositionError.message");
+  const code$2 = Symbol("PositionError.code");
+  const message$23 = Symbol("PositionError.message");
   dart.setSignature(html$.PositionError, {
     fields: () => ({
       [dartx.code]: dart.finalFieldType(core.int),
@@ -86845,12 +87418,44 @@
     })
   });
   dart.registerExtension(dart.global.PositionSensorVRDevice, html$.PositionSensorVRDevice);
+  dart.defineExtensionNames([
+    'x',
+    'y'
+  ]);
+  html$.PositionValue = class PositionValue extends html$.StyleValue {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(x, y) {
+      return html$.PositionValue._create_1(x, y);
+    }
+    static _create_1(x, y) {
+      return new self.PositionValue(x, y);
+    }
+    get [dartx.x]() {
+      return this.x;
+    }
+    get [dartx.y]() {
+      return this.y;
+    }
+  };
+  const x$ = Symbol("PositionValue.x");
+  const y$ = Symbol("PositionValue.y");
+  dart.setSignature(html$.PositionValue, {
+    fields: () => ({
+      [dartx.x]: dart.finalFieldType(html$.LengthValue),
+      [dartx.y]: dart.finalFieldType(html$.LengthValue)
+    }),
+    statics: () => ({_create_1: dart.fnType(html$.PositionValue, [dart.dynamic, dart.dynamic])}),
+    names: ['_create_1']
+  });
+  dart.registerExtension(dart.global.PositionValue, html$.PositionValue);
   html$.PreElement = class PreElement extends html$.HtmlElement {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.PreElement._check(html$.document[dartx.createElement]("pre"));
+      return html$.document.createElement("pre");
     }
     created() {
       super.created();
@@ -86859,35 +87464,29 @@
   dart.defineNamedConstructor(html$.PreElement, 'created');
   dart.registerExtension(dart.global.HTMLPreElement, html$.PreElement);
   dart.defineExtensionNames([
-    'getAvailability',
-    'joinSession',
-    'startSession',
-    'session'
+    'defaultRequest',
+    'receiver'
   ]);
-  html$.Presentation = class Presentation extends html$.EventTarget {
+  html$.Presentation = class Presentation extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
-    get [dartx.session]() {
-      return this.session;
+    get [dartx.defaultRequest]() {
+      return this.defaultRequest;
     }
-    [dartx.getAvailability](...args) {
-      return this.getAvailability.apply(this, args);
+    set [dartx.defaultRequest](value) {
+      this.defaultRequest = value;
     }
-    [dartx.joinSession](...args) {
-      return this.joinSession.apply(this, args);
-    }
-    [dartx.startSession](...args) {
-      return this.startSession.apply(this, args);
+    get [dartx.receiver]() {
+      return this.receiver;
     }
   };
-  const session$0 = Symbol("Presentation.session");
+  const defaultRequest = Symbol("Presentation.defaultRequest");
+  const receiver = Symbol("Presentation.receiver");
   dart.setSignature(html$.Presentation, {
-    fields: () => ({[dartx.session]: dart.finalFieldType(html$.PresentationSession)}),
-    methods: () => ({
-      [dartx.getAvailability]: dart.fnType(async.Future, [core.String]),
-      [dartx.joinSession]: dart.fnType(async.Future, [core.String, core.String]),
-      [dartx.startSession]: dart.fnType(async.Future, [core.String])
+    fields: () => ({
+      [dartx.defaultRequest]: dart.fieldType(html$.PresentationRequest),
+      [dartx.receiver]: dart.finalFieldType(html$.PresentationReceiver)
     })
   });
   dart.registerExtension(dart.global.Presentation, html$.Presentation);
@@ -86906,7 +87505,7 @@
       return html$.PresentationAvailability.changeEvent.forTarget(this);
     }
   };
-  const value$10 = Symbol("PresentationAvailability.value");
+  const value$11 = Symbol("PresentationAvailability.value");
   dart.setSignature(html$.PresentationAvailability, {
     fields: () => ({[dartx.value]: dart.finalFieldType(core.bool)}),
     getters: () => ({[dartx.onChange]: dart.fnType(async.Stream$(html$.Event), [])})
@@ -86920,12 +87519,13 @@
   dart.defineExtensionNames([
     'close',
     'send',
+    'terminate',
     'onMessage',
     'binaryType',
     'id',
     'state'
   ]);
-  html$.PresentationSession = class PresentationSession extends html$.EventTarget {
+  html$.PresentationConnection = class PresentationConnection extends html$.EventTarget {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
@@ -86947,14 +87547,17 @@
     [dartx.send](...args) {
       return this.send.apply(this, args);
     }
+    [dartx.terminate](...args) {
+      return this.terminate.apply(this, args);
+    }
     get [dartx.onMessage]() {
-      return html$.PresentationSession.messageEvent.forTarget(this);
+      return html$.PresentationConnection.messageEvent.forTarget(this);
     }
   };
-  const binaryType = Symbol("PresentationSession.binaryType");
-  const id$8 = Symbol("PresentationSession.id");
-  const state$0 = Symbol("PresentationSession.state");
-  dart.setSignature(html$.PresentationSession, {
+  const binaryType = Symbol("PresentationConnection.binaryType");
+  const id$9 = Symbol("PresentationConnection.id");
+  const state$1 = Symbol("PresentationConnection.state");
+  dart.setSignature(html$.PresentationConnection, {
     fields: () => ({
       [dartx.binaryType]: dart.fieldType(core.String),
       [dartx.id]: dart.finalFieldType(core.String),
@@ -86963,15 +87566,131 @@
     getters: () => ({[dartx.onMessage]: dart.fnType(async.Stream$(html$.MessageEvent), [])}),
     methods: () => ({
       [dartx.close]: dart.fnType(dart.void, []),
-      [dartx.send]: dart.fnType(dart.void, [dart.dynamic])
+      [dartx.send]: dart.fnType(dart.void, [dart.dynamic]),
+      [dartx.terminate]: dart.fnType(dart.void, [])
     })
   });
-  dart.defineLazy(html$.PresentationSession, {
+  dart.defineLazy(html$.PresentationConnection, {
     get messageEvent() {
       return dart.const(new (EventStreamProviderOfMessageEvent())('message'));
     }
   });
-  dart.registerExtension(dart.global.PresentationSession, html$.PresentationSession);
+  dart.registerExtension(dart.global.PresentationConnection, html$.PresentationConnection);
+  dart.defineExtensionNames([
+    'connection'
+  ]);
+  html$.PresentationConnectionAvailableEvent = class PresentationConnectionAvailableEvent extends html$.Event {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(type, eventInitDict) {
+      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
+      return html$.PresentationConnectionAvailableEvent._create_1(type, eventInitDict_1);
+    }
+    static _create_1(type, eventInitDict) {
+      return new self.PresentationConnectionAvailableEvent(type, eventInitDict);
+    }
+    get [dartx.connection]() {
+      return this.connection;
+    }
+  };
+  const connection$0 = Symbol("PresentationConnectionAvailableEvent.connection");
+  dart.setSignature(html$.PresentationConnectionAvailableEvent, {
+    fields: () => ({[dartx.connection]: dart.finalFieldType(html$.PresentationConnection)}),
+    statics: () => ({_create_1: dart.fnType(html$.PresentationConnectionAvailableEvent, [dart.dynamic, dart.dynamic])}),
+    names: ['_create_1']
+  });
+  dart.registerExtension(dart.global.PresentationConnectionAvailableEvent, html$.PresentationConnectionAvailableEvent);
+  dart.defineExtensionNames([
+    'message',
+    'reason'
+  ]);
+  html$.PresentationConnectionCloseEvent = class PresentationConnectionCloseEvent extends html$.Event {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(type, eventInitDict) {
+      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
+      return html$.PresentationConnectionCloseEvent._create_1(type, eventInitDict_1);
+    }
+    static _create_1(type, eventInitDict) {
+      return new self.PresentationConnectionCloseEvent(type, eventInitDict);
+    }
+    get [dartx.message]() {
+      return this.message;
+    }
+    get [dartx.reason]() {
+      return this.reason;
+    }
+  };
+  const message$24 = Symbol("PresentationConnectionCloseEvent.message");
+  const reason$1 = Symbol("PresentationConnectionCloseEvent.reason");
+  dart.setSignature(html$.PresentationConnectionCloseEvent, {
+    fields: () => ({
+      [dartx.message]: dart.finalFieldType(core.String),
+      [dartx.reason]: dart.finalFieldType(core.String)
+    }),
+    statics: () => ({_create_1: dart.fnType(html$.PresentationConnectionCloseEvent, [dart.dynamic, dart.dynamic])}),
+    names: ['_create_1']
+  });
+  dart.registerExtension(dart.global.PresentationConnectionCloseEvent, html$.PresentationConnectionCloseEvent);
+  dart.defineExtensionNames([
+    'getConnection',
+    'getConnections'
+  ]);
+  html$.PresentationReceiver = class PresentationReceiver extends html$.EventTarget {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    [dartx.getConnection](...args) {
+      return this.getConnection.apply(this, args);
+    }
+    [dartx.getConnections](...args) {
+      return this.getConnections.apply(this, args);
+    }
+  };
+  dart.setSignature(html$.PresentationReceiver, {
+    methods: () => ({
+      [dartx.getConnection]: dart.fnType(async.Future, []),
+      [dartx.getConnections]: dart.fnType(async.Future, [])
+    })
+  });
+  dart.registerExtension(dart.global.PresentationReceiver, html$.PresentationReceiver);
+  dart.defineExtensionNames([
+    'getAvailability',
+    'reconnect',
+    'start'
+  ]);
+  html$.PresentationRequest = class PresentationRequest extends html$.EventTarget {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(url) {
+      return html$.PresentationRequest._create_1(url);
+    }
+    static _create_1(url) {
+      return new self.PresentationRequest(url);
+    }
+    [dartx.getAvailability](...args) {
+      return this.getAvailability.apply(this, args);
+    }
+    [dartx.reconnect](...args) {
+      return this.reconnect.apply(this, args);
+    }
+    [dartx.start](...args) {
+      return this.start.apply(this, args);
+    }
+  };
+  dart.setSignature(html$.PresentationRequest, {
+    methods: () => ({
+      [dartx.getAvailability]: dart.fnType(async.Future, []),
+      [dartx.reconnect]: dart.fnType(async.Future, [core.String]),
+      [dartx.start]: dart.fnType(async.Future, [])
+    }),
+    statics: () => ({_create_1: dart.fnType(html$.PresentationRequest, [dart.dynamic])}),
+    names: ['_create_1']
+  });
+  dart.registerExtension(dart.global.PresentationRequest, html$.PresentationRequest);
   dart.defineExtensionNames([
     'sheet',
     'target'
@@ -86988,7 +87707,7 @@
     }
   };
   const sheet$ = Symbol("ProcessingInstruction.sheet");
-  const target$3 = Symbol("ProcessingInstruction.target");
+  const target$4 = Symbol("ProcessingInstruction.target");
   dart.setSignature(html$.ProcessingInstruction, {
     fields: () => ({
       [dartx.sheet]: dart.finalFieldType(html$.StyleSheet),
@@ -87013,7 +87732,7 @@
       this[labels$3] = null;
       this[max$2] = null;
       this[position$] = null;
-      this[value$11] = null;
+      this[value$12] = null;
       super.created();
     }
     static get supported() {
@@ -87042,7 +87761,7 @@
   const labels$3 = Symbol("ProgressElement.labels");
   const max$2 = Symbol("ProgressElement.max");
   const position$ = Symbol("ProgressElement.position");
-  const value$11 = Symbol("ProgressElement.value");
+  const value$12 = Symbol("ProgressElement.value");
   dart.setSignature(html$.ProgressElement, {
     fields: () => ({
       [dartx.labels]: dart.finalFieldType(ListOfNode()),
@@ -87110,19 +87829,12 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new(type, eventInitDict) {
-      if (eventInitDict === void 0) eventInitDict = null;
-      if (eventInitDict != null) {
-        let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
-        return html$.PromiseRejectionEvent._create_1(type, eventInitDict_1);
-      }
-      return html$.PromiseRejectionEvent._create_2(type);
+      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
+      return html$.PromiseRejectionEvent._create_1(type, eventInitDict_1);
     }
     static _create_1(type, eventInitDict) {
       return new self.PromiseRejectionEvent(type, eventInitDict);
     }
-    static _create_2(type) {
-      return new self.PromiseRejectionEvent(type);
-    }
     get [dartx.promise]() {
       return this.promise;
     }
@@ -87131,17 +87843,14 @@
     }
   };
   const promise = Symbol("PromiseRejectionEvent.promise");
-  const reason$1 = Symbol("PromiseRejectionEvent.reason");
+  const reason$2 = Symbol("PromiseRejectionEvent.reason");
   dart.setSignature(html$.PromiseRejectionEvent, {
     fields: () => ({
       [dartx.promise]: dart.finalFieldType(async.Future),
       [dartx.reason]: dart.finalFieldType(core.Object)
     }),
-    statics: () => ({
-      _create_1: dart.fnType(html$.PromiseRejectionEvent, [dart.dynamic, dart.dynamic]),
-      _create_2: dart.fnType(html$.PromiseRejectionEvent, [dart.dynamic])
-    }),
-    names: ['_create_1', '_create_2']
+    statics: () => ({_create_1: dart.fnType(html$.PromiseRejectionEvent, [dart.dynamic, dart.dynamic])}),
+    names: ['_create_1']
   });
   dart.registerExtension(dart.global.PromiseRejectionEvent, html$.PromiseRejectionEvent);
   dart.defineExtensionNames([
@@ -87169,7 +87878,7 @@
       return this.data;
     }
   };
-  const data$5 = Symbol("PushEvent.data");
+  const data$7 = Symbol("PushEvent.data");
   dart.setSignature(html$.PushEvent, {
     fields: () => ({[dartx.data]: dart.finalFieldType(html$.PushMessageData)}),
     statics: () => ({
@@ -87246,12 +87955,6 @@
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
-    static new(message) {
-      return html$.PushMessageData._create_1(message);
-    }
-    static _create_1(message) {
-      return new self.PushMessageData(message);
-    }
     [dartx.arrayBuffer](...args) {
       return this.arrayBuffer.apply(this, args);
     }
@@ -87271,12 +87974,11 @@
       [dartx.blob]: dart.fnType(html$.Blob, []),
       [dartx.json]: dart.fnType(core.Object, []),
       [dartx.text]: dart.fnType(core.String, [])
-    }),
-    statics: () => ({_create_1: dart.fnType(html$.PushMessageData, [dart.dynamic])}),
-    names: ['_create_1']
+    })
   });
   dart.registerExtension(dart.global.PushMessageData, html$.PushMessageData);
   dart.defineExtensionNames([
+    'getKey',
     'unsubscribe',
     'endpoint'
   ]);
@@ -87287,6 +87989,9 @@
     get [dartx.endpoint]() {
       return this.endpoint;
     }
+    [dartx.getKey](...args) {
+      return this.getKey.apply(this, args);
+    }
     [dartx.unsubscribe](...args) {
       return this.unsubscribe.apply(this, args);
     }
@@ -87294,7 +87999,10 @@
   const endpoint = Symbol("PushSubscription.endpoint");
   dart.setSignature(html$.PushSubscription, {
     fields: () => ({[dartx.endpoint]: dart.finalFieldType(core.String)}),
-    methods: () => ({[dartx.unsubscribe]: dart.fnType(async.Future, [])})
+    methods: () => ({
+      [dartx.getKey]: dart.fnType(typed_data.ByteBuffer, [core.String]),
+      [dartx.unsubscribe]: dart.fnType(async.Future, [])
+    })
   });
   dart.registerExtension(dart.global.PushSubscription, html$.PushSubscription);
   dart.defineExtensionNames([
@@ -87305,7 +88013,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.QuoteElement._check(html$.document[dartx.createElement]("q"));
+      return html$.document.createElement("q");
     }
     created() {
       this[cite$] = null;
@@ -87324,7 +88032,7 @@
     fields: () => ({[dartx.cite]: dart.fieldType(core.String)})
   });
   dart.registerExtension(dart.global.HTMLQuoteElement, html$.QuoteElement);
-  html$._RtcErrorCallback = dart.typedef('_RtcErrorCallback', () => dart.fnTypeFuzzy(dart.void, [core.String]));
+  html$.RtcPeerConnectionErrorCallback = dart.typedef('RtcPeerConnectionErrorCallback', () => dart.fnTypeFuzzy(dart.void, [html$.DomException]));
   html$._RtcSessionDescriptionCallback = dart.typedef('_RtcSessionDescriptionCallback', () => dart.fnTypeFuzzy(dart.void, [html$.RtcSessionDescription]));
   html$.RtcStatsCallback = dart.typedef('RtcStatsCallback', () => dart.fnTypeFuzzy(dart.void, [html$.RtcStatsResponse]));
   dart.defineExtensionNames([
@@ -87572,28 +88280,6 @@
   dart.registerExtension(dart.global.ReadableByteStreamReader, html$.ReadableByteStreamReader);
   dart.defineExtensionNames([
     'cancel',
-    'getReader'
-  ]);
-  html$.ReadableStream = class ReadableStream extends _interceptors.Interceptor {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    [dartx.cancel](...args) {
-      return this.cancel.apply(this, args);
-    }
-    [dartx.getReader](...args) {
-      return this.getReader.apply(this, args);
-    }
-  };
-  dart.setSignature(html$.ReadableStream, {
-    methods: () => ({
-      [dartx.cancel]: dart.fnType(async.Future, [], [core.Object]),
-      [dartx.getReader]: dart.fnType(html$.ReadableStreamReader, [])
-    })
-  });
-  dart.registerExtension(dart.global.ReadableStream, html$.ReadableStream);
-  dart.defineExtensionNames([
-    'cancel',
     'read',
     'releaseLock',
     'closed'
@@ -87665,21 +88351,80 @@
   dart.registerExtension(dart.global.RelatedEvent, html$.RelatedEvent);
   html$.RequestAnimationFrameCallback = dart.typedef('RequestAnimationFrameCallback', () => dart.fnTypeFuzzy(dart.void, [core.num]));
   dart.defineExtensionNames([
-    'url'
+    'angle',
+    'x',
+    'y',
+    'z'
   ]);
-  html$.ResourceProgressEvent = class ResourceProgressEvent extends html$.ProgressEvent {
+  html$.Rotation = class Rotation extends html$.TransformComponent {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
-    get [dartx.url]() {
-      return this.url;
+    static new(angle, x, y, z) {
+      if (x === void 0) x = null;
+      if (y === void 0) y = null;
+      if (z === void 0) z = null;
+      if (typeof angle == 'number' && x == null && y == null && z == null) {
+        return html$.Rotation._create_1(angle);
+      }
+      if (typeof z == 'number' && typeof y == 'number' && typeof x == 'number' && typeof angle == 'number') {
+        return html$.Rotation._create_2(angle, x, y, z);
+      }
+      dart.throw(new core.ArgumentError("Incorrect number or type of arguments"));
+    }
+    static _create_1(angle) {
+      return new self.Rotation(angle);
+    }
+    static _create_2(angle, x, y, z) {
+      return new self.Rotation(angle, x, y, z);
+    }
+    get [dartx.angle]() {
+      return this.angle;
+    }
+    get [dartx.x]() {
+      return this.x;
+    }
+    get [dartx.y]() {
+      return this.y;
+    }
+    get [dartx.z]() {
+      return this.z;
     }
   };
-  const url$1 = Symbol("ResourceProgressEvent.url");
-  dart.setSignature(html$.ResourceProgressEvent, {
-    fields: () => ({[dartx.url]: dart.finalFieldType(core.String)})
+  const angle = Symbol("Rotation.angle");
+  const x$0 = Symbol("Rotation.x");
+  const y$0 = Symbol("Rotation.y");
+  const z$ = Symbol("Rotation.z");
+  dart.setSignature(html$.Rotation, {
+    fields: () => ({
+      [dartx.angle]: dart.finalFieldType(core.double),
+      [dartx.x]: dart.finalFieldType(core.double),
+      [dartx.y]: dart.finalFieldType(core.double),
+      [dartx.z]: dart.finalFieldType(core.double)
+    }),
+    statics: () => ({
+      _create_1: dart.fnType(html$.Rotation, [dart.dynamic]),
+      _create_2: dart.fnType(html$.Rotation, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic])
+    }),
+    names: ['_create_1', '_create_2']
   });
-  dart.registerExtension(dart.global.ResourceProgressEvent, html$.ResourceProgressEvent);
+  dart.registerExtension(dart.global.Rotation, html$.Rotation);
+  dart.defineExtensionNames([
+    'expires'
+  ]);
+  html$.RtcCertificate = class RtcCertificate extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    get [dartx.expires]() {
+      return this.expires;
+    }
+  };
+  const expires$1 = Symbol("RtcCertificate.expires");
+  dart.setSignature(html$.RtcCertificate, {
+    fields: () => ({[dartx.expires]: dart.finalFieldType(core.int)})
+  });
+  dart.registerExtension(dart.global.RTCCertificate, html$.RtcCertificate);
   dart.defineExtensionNames([
     'close',
     'send',
@@ -87693,6 +88438,7 @@
     'onOpen',
     'binaryType',
     'bufferedAmount',
+    'bufferedAmountLowThreshold',
     'id',
     'label',
     'maxRetransmitTime',
@@ -87716,6 +88462,12 @@
     get [dartx.bufferedAmount]() {
       return this.bufferedAmount;
     }
+    get [dartx.bufferedAmountLowThreshold]() {
+      return this.bufferedAmountLowThreshold;
+    }
+    set [dartx.bufferedAmountLowThreshold](value) {
+      this.bufferedAmountLowThreshold = value;
+    }
     get [dartx.id]() {
       return this.id;
     }
@@ -87776,8 +88528,9 @@
   };
   const binaryType$ = Symbol("RtcDataChannel.binaryType");
   const bufferedAmount = Symbol("RtcDataChannel.bufferedAmount");
-  const id$9 = Symbol("RtcDataChannel.id");
-  const label$6 = Symbol("RtcDataChannel.label");
+  const bufferedAmountLowThreshold = Symbol("RtcDataChannel.bufferedAmountLowThreshold");
+  const id$10 = Symbol("RtcDataChannel.id");
+  const label$5 = Symbol("RtcDataChannel.label");
   const maxRetransmitTime = Symbol("RtcDataChannel.maxRetransmitTime");
   const maxRetransmits = Symbol("RtcDataChannel.maxRetransmits");
   const negotiated = Symbol("RtcDataChannel.negotiated");
@@ -87789,6 +88542,7 @@
     fields: () => ({
       [dartx.binaryType]: dart.fieldType(core.String),
       [dartx.bufferedAmount]: dart.finalFieldType(core.int),
+      [dartx.bufferedAmountLowThreshold]: dart.fieldType(core.int),
       [dartx.id]: dart.finalFieldType(core.int),
       [dartx.label]: dart.finalFieldType(core.String),
       [dartx.maxRetransmitTime]: dart.finalFieldType(core.int),
@@ -87882,7 +88636,7 @@
     }
   };
   const canInsertDtmf = Symbol("RtcDtmfSender.canInsertDtmf");
-  const duration$4 = Symbol("RtcDtmfSender.duration");
+  const duration$3 = Symbol("RtcDtmfSender.duration");
   const interToneGap = Symbol("RtcDtmfSender.interToneGap");
   const toneBuffer = Symbol("RtcDtmfSender.toneBuffer");
   const track$ = Symbol("RtcDtmfSender.track");
@@ -88061,7 +88815,7 @@
         completer.complete(value);
       }, RtcSessionDescriptionToNull()), dart.fn(error => {
         completer.completeError(error);
-      }, StringToNull()), mediaConstraints);
+      }, DomExceptionToNull()), mediaConstraints);
       return completer.future;
     }
     [dartx.createAnswer](mediaConstraints) {
@@ -88071,7 +88825,7 @@
         completer.complete(value);
       }, RtcSessionDescriptionToNull()), dart.fn(error => {
         completer.completeError(error);
-      }, StringToNull()), mediaConstraints);
+      }, DomExceptionToNull()), mediaConstraints);
       return completer.future;
     }
     [dartx.getStats](selector) {
@@ -88081,6 +88835,9 @@
       }, RtcStatsResponseToNull()), selector);
       return completer.future;
     }
+    static generateCertificate(keygenAlgorithm) {
+      return generateCertificate(keygenAlgorithm);
+    }
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
@@ -88122,7 +88879,6 @@
       return this.close.apply(this, args);
     }
     [_createAnswer](successCallback, failureCallback, mediaConstraints) {
-      if (failureCallback === void 0) failureCallback = null;
       if (mediaConstraints === void 0) mediaConstraints = null;
       if (mediaConstraints != null) {
         let mediaConstraints_1 = html_common.convertDartToNative_Dictionary(mediaConstraints);
@@ -88156,7 +88912,6 @@
       return this.createDataChannel.apply(this, args);
     }
     [_createOffer](successCallback, failureCallback, rtcOfferOptions) {
-      if (failureCallback === void 0) failureCallback = null;
       if (rtcOfferOptions === void 0) rtcOfferOptions = null;
       if (rtcOfferOptions != null) {
         let rtcOfferOptions_1 = html_common.convertDartToNative_Dictionary(rtcOfferOptions);
@@ -88196,7 +88951,7 @@
         completer.complete();
       }, VoidToNull()), dart.fn(error => {
         completer.completeError(error);
-      }, StringToNull()));
+      }, DomExceptionToNull()));
       return completer.future;
     }
     [_setRemoteDescription](...args) {
@@ -88208,7 +88963,7 @@
         completer.complete();
       }, VoidToNull()), dart.fn(error => {
         completer.completeError(error);
-      }, StringToNull()));
+      }, DomExceptionToNull()));
       return completer.future;
     }
     [dartx.updateIce](configuration, mediaConstraints) {
@@ -88285,35 +89040,37 @@
       [dartx.createOffer]: dart.fnType(async.Future$(html$.RtcSessionDescription), [], [core.Map]),
       [dartx.createAnswer]: dart.fnType(async.Future$(html$.RtcSessionDescription), [], [core.Map]),
       [dartx.getStats]: dart.fnType(async.Future$(html$.RtcStatsResponse), [html$.MediaStreamTrack]),
-      [dartx.addIceCandidate]: dart.fnType(dart.void, [html$.RtcIceCandidate, html$.VoidCallback, html$._RtcErrorCallback]),
+      [dartx.addIceCandidate]: dart.fnType(async.Future, [dart.dynamic], [html$.VoidCallback, html$.RtcPeerConnectionErrorCallback]),
       [dartx.addStream]: dart.fnType(dart.void, [html$.MediaStream], [core.Map]),
       [_addStream_1]: dart.fnType(dart.void, [html$.MediaStream, dart.dynamic]),
       [_addStream_2]: dart.fnType(dart.void, [html$.MediaStream]),
       [dartx.close]: dart.fnType(dart.void, []),
-      [_createAnswer]: dart.fnType(dart.void, [html$._RtcSessionDescriptionCallback], [html$._RtcErrorCallback, core.Map]),
-      [_createAnswer_1]: dart.fnType(dart.void, [html$._RtcSessionDescriptionCallback, html$._RtcErrorCallback, dart.dynamic]),
-      [_createAnswer_2]: dart.fnType(dart.void, [html$._RtcSessionDescriptionCallback, html$._RtcErrorCallback]),
+      [_createAnswer]: dart.fnType(dart.void, [html$._RtcSessionDescriptionCallback, html$.RtcPeerConnectionErrorCallback], [core.Map]),
+      [_createAnswer_1]: dart.fnType(dart.void, [html$._RtcSessionDescriptionCallback, html$.RtcPeerConnectionErrorCallback, dart.dynamic]),
+      [_createAnswer_2]: dart.fnType(dart.void, [html$._RtcSessionDescriptionCallback, html$.RtcPeerConnectionErrorCallback]),
       [dartx.createDtmfSender]: dart.fnType(html$.RtcDtmfSender, [html$.MediaStreamTrack]),
       [dartx.createDataChannel]: dart.fnType(html$.RtcDataChannel, [core.String], [core.Map]),
       [_createDataChannel_1]: dart.fnType(html$.RtcDataChannel, [dart.dynamic, dart.dynamic]),
       [_createDataChannel_2]: dart.fnType(html$.RtcDataChannel, [dart.dynamic]),
-      [_createOffer]: dart.fnType(dart.void, [html$._RtcSessionDescriptionCallback], [html$._RtcErrorCallback, core.Map]),
-      [_createOffer_1]: dart.fnType(dart.void, [html$._RtcSessionDescriptionCallback, html$._RtcErrorCallback, dart.dynamic]),
-      [_createOffer_2]: dart.fnType(dart.void, [html$._RtcSessionDescriptionCallback, html$._RtcErrorCallback]),
+      [_createOffer]: dart.fnType(dart.void, [html$._RtcSessionDescriptionCallback, html$.RtcPeerConnectionErrorCallback], [core.Map]),
+      [_createOffer_1]: dart.fnType(dart.void, [html$._RtcSessionDescriptionCallback, html$.RtcPeerConnectionErrorCallback, dart.dynamic]),
+      [_createOffer_2]: dart.fnType(dart.void, [html$._RtcSessionDescriptionCallback, html$.RtcPeerConnectionErrorCallback]),
       [dartx.getLocalStreams]: dart.fnType(core.List$(html$.MediaStream), []),
       [dartx.getRemoteStreams]: dart.fnType(core.List$(html$.MediaStream), []),
       [_getStats]: dart.fnType(dart.void, [html$.RtcStatsCallback, html$.MediaStreamTrack]),
       [dartx.getStreamById]: dart.fnType(html$.MediaStream, [core.String]),
       [dartx.removeStream]: dart.fnType(dart.void, [html$.MediaStream]),
-      [_setLocalDescription]: dart.fnType(dart.void, [html$.RtcSessionDescription], [html$.VoidCallback, html$._RtcErrorCallback]),
+      [_setLocalDescription]: dart.fnType(async.Future, [html$.RtcSessionDescription, html$.VoidCallback], [html$.RtcPeerConnectionErrorCallback]),
       [dartx.setLocalDescription]: dart.fnType(async.Future, [html$.RtcSessionDescription]),
-      [_setRemoteDescription]: dart.fnType(dart.void, [html$.RtcSessionDescription], [html$.VoidCallback, html$._RtcErrorCallback]),
+      [_setRemoteDescription]: dart.fnType(async.Future, [html$.RtcSessionDescription, html$.VoidCallback], [html$.RtcPeerConnectionErrorCallback]),
       [dartx.setRemoteDescription]: dart.fnType(async.Future, [html$.RtcSessionDescription]),
       [dartx.updateIce]: dart.fnType(dart.void, [], [core.Map, core.Map]),
       [_updateIce_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic]),
       [_updateIce_2]: dart.fnType(dart.void, [dart.dynamic]),
       [_updateIce_3]: dart.fnType(dart.void, [])
-    })
+    }),
+    statics: () => ({generateCertificate: dart.fnType(async.Future, [dart.dynamic])}),
+    names: ['generateCertificate']
   });
   dart.defineLazy(html$.RtcPeerConnection, {
     get addStreamEvent() {
@@ -88339,6 +89096,7 @@
     }
   });
   dart.registerExtension(dart.global.RTCPeerConnection, html$.RtcPeerConnection);
+  dart.registerExtension(dart.global.webkitRTCPeerConnection, html$.RtcPeerConnection);
   dart.registerExtension(dart.global.mozRTCPeerConnection, html$.RtcPeerConnection);
   dart.defineExtensionNames([
     'sdp',
@@ -88406,7 +89164,7 @@
       return this.stat.apply(this, args);
     }
   };
-  const id$10 = Symbol("RtcStatsReport.id");
+  const id$11 = Symbol("RtcStatsReport.id");
   const type$28 = Symbol("RtcStatsReport.type");
   dart.setSignature(html$.RtcStatsReport, {
     fields: () => ({
@@ -88451,6 +89209,7 @@
     'available',
     'colorDepth',
     'height',
+    'keepAwake',
     'orientation',
     'pixelDepth',
     'width'
@@ -88480,6 +89239,12 @@
     get [dartx.height]() {
       return this.height;
     }
+    get [dartx.keepAwake]() {
+      return this.keepAwake;
+    }
+    set [dartx.keepAwake](value) {
+      this.keepAwake = value;
+    }
     get [dartx.orientation]() {
       return this.orientation;
     }
@@ -88491,10 +89256,11 @@
     }
   };
   const colorDepth = Symbol("Screen.colorDepth");
-  const height$8 = Symbol("Screen.height");
+  const height$9 = Symbol("Screen.height");
+  const keepAwake = Symbol("Screen.keepAwake");
   const orientation = Symbol("Screen.orientation");
   const pixelDepth = Symbol("Screen.pixelDepth");
-  const width$8 = Symbol("Screen.width");
+  const width$9 = Symbol("Screen.width");
   dart.setSignature(html$.Screen, {
     fields: () => ({
       [_availHeight]: dart.finalFieldType(core.int),
@@ -88503,6 +89269,7 @@
       [_availWidth]: dart.finalFieldType(core.int),
       [dartx.colorDepth]: dart.finalFieldType(core.int),
       [dartx.height]: dart.finalFieldType(core.int),
+      [dartx.keepAwake]: dart.fieldType(core.bool),
       [dartx.orientation]: dart.finalFieldType(html$.ScreenOrientation),
       [dartx.pixelDepth]: dart.finalFieldType(core.int),
       [dartx.width]: dart.finalFieldType(core.int)
@@ -88537,7 +89304,7 @@
       return html$.ScreenOrientation.changeEvent.forTarget(this);
     }
   };
-  const angle = Symbol("ScreenOrientation.angle");
+  const angle$ = Symbol("ScreenOrientation.angle");
   const type$29 = Symbol("ScreenOrientation.type");
   dart.setSignature(html$.ScreenOrientation, {
     fields: () => ({
@@ -88571,7 +89338,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.ScriptElement._check(html$.document[dartx.createElement]("script"));
+      return html$.document.createElement("script");
     }
     created() {
       this[async$] = null;
@@ -88657,14 +89424,18 @@
   dart.registerExtension(dart.global.HTMLScriptElement, html$.ScriptElement);
   dart.defineExtensionNames([
     'consumeDelta',
+    'distributeToScrollChainDescendant',
     'deltaGranularity',
     'deltaX',
     'deltaY',
     'fromUserInput',
     'inInertialPhase',
     'isBeginning',
+    'isDirectManipulation',
     'isEnding',
     'shouldPropagate',
+    'startPositionX',
+    'startPositionY',
     'velocityX',
     'velocityY'
   ]);
@@ -88672,66 +89443,18 @@
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
-    static new(deltaX, deltaY, deltaGranularity, velocityX, velocityY, inInertialPhase, isBeginning, isEnding) {
-      if (deltaX === void 0) deltaX = null;
-      if (deltaY === void 0) deltaY = null;
-      if (deltaGranularity === void 0) deltaGranularity = null;
-      if (velocityX === void 0) velocityX = null;
-      if (velocityY === void 0) velocityY = null;
-      if (inInertialPhase === void 0) inInertialPhase = null;
-      if (isBeginning === void 0) isBeginning = null;
-      if (isEnding === void 0) isEnding = null;
-      if (isEnding != null) {
-        return html$.ScrollState._create_1(deltaX, deltaY, deltaGranularity, velocityX, velocityY, inInertialPhase, isBeginning, isEnding);
+    static new(scrollStateInit) {
+      if (scrollStateInit === void 0) scrollStateInit = null;
+      if (scrollStateInit != null) {
+        let scrollStateInit_1 = html_common.convertDartToNative_Dictionary(scrollStateInit);
+        return html$.ScrollState._create_1(scrollStateInit_1);
       }
-      if (isBeginning != null) {
-        return html$.ScrollState._create_2(deltaX, deltaY, deltaGranularity, velocityX, velocityY, inInertialPhase, isBeginning);
-      }
-      if (inInertialPhase != null) {
-        return html$.ScrollState._create_3(deltaX, deltaY, deltaGranularity, velocityX, velocityY, inInertialPhase);
-      }
-      if (velocityY != null) {
-        return html$.ScrollState._create_4(deltaX, deltaY, deltaGranularity, velocityX, velocityY);
-      }
-      if (velocityX != null) {
-        return html$.ScrollState._create_5(deltaX, deltaY, deltaGranularity, velocityX);
-      }
-      if (deltaGranularity != null) {
-        return html$.ScrollState._create_6(deltaX, deltaY, deltaGranularity);
-      }
-      if (deltaY != null) {
-        return html$.ScrollState._create_7(deltaX, deltaY);
-      }
-      if (deltaX != null) {
-        return html$.ScrollState._create_8(deltaX);
-      }
-      return html$.ScrollState._create_9();
+      return html$.ScrollState._create_2();
     }
-    static _create_1(deltaX, deltaY, deltaGranularity, velocityX, velocityY, inInertialPhase, isBeginning, isEnding) {
-      return new self.ScrollState(deltaX, deltaY, deltaGranularity, velocityX, velocityY, inInertialPhase, isBeginning, isEnding);
+    static _create_1(scrollStateInit) {
+      return new self.ScrollState(scrollStateInit);
     }
-    static _create_2(deltaX, deltaY, deltaGranularity, velocityX, velocityY, inInertialPhase, isBeginning) {
-      return new self.ScrollState(deltaX, deltaY, deltaGranularity, velocityX, velocityY, inInertialPhase, isBeginning);
-    }
-    static _create_3(deltaX, deltaY, deltaGranularity, velocityX, velocityY, inInertialPhase) {
-      return new self.ScrollState(deltaX, deltaY, deltaGranularity, velocityX, velocityY, inInertialPhase);
-    }
-    static _create_4(deltaX, deltaY, deltaGranularity, velocityX, velocityY) {
-      return new self.ScrollState(deltaX, deltaY, deltaGranularity, velocityX, velocityY);
-    }
-    static _create_5(deltaX, deltaY, deltaGranularity, velocityX) {
-      return new self.ScrollState(deltaX, deltaY, deltaGranularity, velocityX);
-    }
-    static _create_6(deltaX, deltaY, deltaGranularity) {
-      return new self.ScrollState(deltaX, deltaY, deltaGranularity);
-    }
-    static _create_7(deltaX, deltaY) {
-      return new self.ScrollState(deltaX, deltaY);
-    }
-    static _create_8(deltaX) {
-      return new self.ScrollState(deltaX);
-    }
-    static _create_9() {
+    static _create_2() {
       return new self.ScrollState();
     }
     get [dartx.deltaGranularity]() {
@@ -88752,12 +89475,21 @@
     get [dartx.isBeginning]() {
       return this.isBeginning;
     }
+    get [dartx.isDirectManipulation]() {
+      return this.isDirectManipulation;
+    }
     get [dartx.isEnding]() {
       return this.isEnding;
     }
     get [dartx.shouldPropagate]() {
       return this.shouldPropagate;
     }
+    get [dartx.startPositionX]() {
+      return this.startPositionX;
+    }
+    get [dartx.startPositionY]() {
+      return this.startPositionY;
+    }
     get [dartx.velocityX]() {
       return this.velocityX;
     }
@@ -88767,6 +89499,9 @@
     [dartx.consumeDelta](...args) {
       return this.consumeDelta.apply(this, args);
     }
+    [dartx.distributeToScrollChainDescendant](...args) {
+      return this.distributeToScrollChainDescendant.apply(this, args);
+    }
   };
   const deltaGranularity = Symbol("ScrollState.deltaGranularity");
   const deltaX = Symbol("ScrollState.deltaX");
@@ -88774,8 +89509,11 @@
   const fromUserInput = Symbol("ScrollState.fromUserInput");
   const inInertialPhase = Symbol("ScrollState.inInertialPhase");
   const isBeginning = Symbol("ScrollState.isBeginning");
+  const isDirectManipulation = Symbol("ScrollState.isDirectManipulation");
   const isEnding = Symbol("ScrollState.isEnding");
   const shouldPropagate = Symbol("ScrollState.shouldPropagate");
+  const startPositionX = Symbol("ScrollState.startPositionX");
+  const startPositionY = Symbol("ScrollState.startPositionY");
   const velocityX = Symbol("ScrollState.velocityX");
   const velocityY = Symbol("ScrollState.velocityY");
   dart.setSignature(html$.ScrollState, {
@@ -88786,26 +89524,26 @@
       [dartx.fromUserInput]: dart.finalFieldType(core.bool),
       [dartx.inInertialPhase]: dart.finalFieldType(core.bool),
       [dartx.isBeginning]: dart.finalFieldType(core.bool),
+      [dartx.isDirectManipulation]: dart.finalFieldType(core.bool),
       [dartx.isEnding]: dart.finalFieldType(core.bool),
       [dartx.shouldPropagate]: dart.finalFieldType(core.bool),
+      [dartx.startPositionX]: dart.finalFieldType(core.int),
+      [dartx.startPositionY]: dart.finalFieldType(core.int),
       [dartx.velocityX]: dart.finalFieldType(core.double),
       [dartx.velocityY]: dart.finalFieldType(core.double)
     }),
-    methods: () => ({[dartx.consumeDelta]: dart.fnType(dart.void, [core.num, core.num])}),
-    statics: () => ({
-      _create_1: dart.fnType(html$.ScrollState, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
-      _create_2: dart.fnType(html$.ScrollState, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
-      _create_3: dart.fnType(html$.ScrollState, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
-      _create_4: dart.fnType(html$.ScrollState, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
-      _create_5: dart.fnType(html$.ScrollState, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
-      _create_6: dart.fnType(html$.ScrollState, [dart.dynamic, dart.dynamic, dart.dynamic]),
-      _create_7: dart.fnType(html$.ScrollState, [dart.dynamic, dart.dynamic]),
-      _create_8: dart.fnType(html$.ScrollState, [dart.dynamic]),
-      _create_9: dart.fnType(html$.ScrollState, [])
+    methods: () => ({
+      [dartx.consumeDelta]: dart.fnType(dart.void, [core.num, core.num]),
+      [dartx.distributeToScrollChainDescendant]: dart.fnType(dart.void, [])
     }),
-    names: ['_create_1', '_create_2', '_create_3', '_create_4', '_create_5', '_create_6', '_create_7', '_create_8', '_create_9']
+    statics: () => ({
+      _create_1: dart.fnType(html$.ScrollState, [dart.dynamic]),
+      _create_2: dart.fnType(html$.ScrollState, [])
+    }),
+    names: ['_create_1', '_create_2']
   });
   dart.registerExtension(dart.global.ScrollState, html$.ScrollState);
+  html$.ScrollStateCallback = dart.typedef('ScrollStateCallback', () => dart.fnTypeFuzzy(dart.void, [html$.ScrollState]));
   dart.defineExtensionNames([
     'blockedUri',
     'columnNumber',
@@ -88927,7 +89665,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.SelectElement._check(html$.document[dartx.createElement]("select"));
+      return html$.document.createElement("select");
     }
     created() {
       this[autofocus$3] = null;
@@ -88936,14 +89674,14 @@
       this[labels$4] = null;
       this[length$9] = null;
       this[multiple$1] = null;
-      this[name$31] = null;
+      this[name$30] = null;
       this[required$10] = null;
       this[selectedIndex] = null;
       this[size$8] = null;
       this[type$31] = null;
       this[validationMessage$4] = null;
       this[validity$4] = null;
-      this[value$12] = null;
+      this[value$13] = null;
       this[willValidate$4] = null;
       super.created();
     }
@@ -89060,14 +89798,14 @@
   const labels$4 = Symbol("SelectElement.labels");
   const length$9 = Symbol("SelectElement.length");
   const multiple$1 = Symbol("SelectElement.multiple");
-  const name$31 = Symbol("SelectElement.name");
+  const name$30 = Symbol("SelectElement.name");
   const required$10 = Symbol("SelectElement.required");
   const selectedIndex = Symbol("SelectElement.selectedIndex");
   const size$8 = Symbol("SelectElement.size");
   const type$31 = Symbol("SelectElement.type");
   const validationMessage$4 = Symbol("SelectElement.validationMessage");
   const validity$4 = Symbol("SelectElement.validity");
-  const value$12 = Symbol("SelectElement.value");
+  const value$13 = Symbol("SelectElement.value");
   const willValidate$4 = Symbol("SelectElement.willValidate");
   dart.setSignature(html$.SelectElement, {
     fields: () => ({
@@ -89239,7 +89977,7 @@
       [dartx.collapse]: dart.fnType(dart.void, [html$.Node], [core.int]),
       [dartx.collapseToEnd]: dart.fnType(dart.void, []),
       [dartx.collapseToStart]: dart.fnType(dart.void, []),
-      [dartx.containsNode]: dart.fnType(core.bool, [html$.Node, core.bool]),
+      [dartx.containsNode]: dart.fnType(core.bool, [html$.Node], [core.bool]),
       [dartx.deleteFromDocument]: dart.fnType(dart.void, []),
       [dartx.empty]: dart.fnType(dart.void, []),
       [dartx.extend]: dart.fnType(dart.void, [html$.Node], [core.int]),
@@ -89293,8 +90031,8 @@
       return this.postMessage.apply(this, args);
     }
   };
-  const data$6 = Symbol("ServicePort.data");
-  const name$32 = Symbol("ServicePort.name");
+  const data$8 = Symbol("ServicePort.data");
+  const name$31 = Symbol("ServicePort.name");
   const targetUrl$ = Symbol("ServicePort.targetUrl");
   dart.setSignature(html$.ServicePort, {
     fields: () => ({
@@ -89413,7 +90151,7 @@
       return this.respondWith.apply(this, args);
     }
   };
-  const origin$3 = Symbol("ServicePortConnectEvent.origin");
+  const origin$4 = Symbol("ServicePortConnectEvent.origin");
   const targetUrl$0 = Symbol("ServicePortConnectEvent.targetUrl");
   dart.setSignature(html$.ServicePortConnectEvent, {
     fields: () => ({
@@ -89428,6 +90166,8 @@
     names: ['_create_1', '_create_2']
   });
   dart.registerExtension(dart.global.ServicePortConnectEvent, html$.ServicePortConnectEvent);
+  const _register_1 = Symbol('_register_1');
+  const _register_2 = Symbol('_register_2');
   dart.defineExtensionNames([
     'getRegistration',
     'getRegistrations',
@@ -89470,7 +90210,7 @@
       return html$.ServiceWorkerContainer.messageEvent.forTarget(this);
     }
   };
-  const controller$ = Symbol("ServiceWorkerContainer.controller");
+  const controller = Symbol("ServiceWorkerContainer.controller");
   const ready$ = Symbol("ServiceWorkerContainer.ready");
   dart.setSignature(html$.ServiceWorkerContainer, {
     fields: () => ({
@@ -89496,7 +90236,6 @@
     'skipWaiting',
     'onMessage',
     'clients',
-    'ports',
     'registration'
   ]);
   html$.ServiceWorkerGlobalScope = class ServiceWorkerGlobalScope extends html$.WorkerGlobalScope {
@@ -89506,9 +90245,6 @@
     get [dartx.clients]() {
       return this.clients;
     }
-    get [dartx.ports]() {
-      return this.ports;
-    }
     get [dartx.registration]() {
       return this.registration;
     }
@@ -89520,12 +90256,10 @@
     }
   };
   const clients = Symbol("ServiceWorkerGlobalScope.clients");
-  const ports = Symbol("ServiceWorkerGlobalScope.ports");
-  const registration$ = Symbol("ServiceWorkerGlobalScope.registration");
+  const registration = Symbol("ServiceWorkerGlobalScope.registration");
   dart.setSignature(html$.ServiceWorkerGlobalScope, {
     fields: () => ({
       [dartx.clients]: dart.finalFieldType(html$.Clients),
-      [dartx.ports]: dart.finalFieldType(html$.StashedPortCollection),
       [dartx.registration]: dart.finalFieldType(html$.ServiceWorkerRegistration)
     }),
     getters: () => ({[dartx.onMessage]: dart.fnType(async.Stream$(html$.MessageEvent), [])}),
@@ -89554,20 +90288,6 @@
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
-    static new(type, eventInitDict) {
-      if (eventInitDict === void 0) eventInitDict = null;
-      if (eventInitDict != null) {
-        let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
-        return html$.ServiceWorkerMessageEvent._create_1(type, eventInitDict_1);
-      }
-      return html$.ServiceWorkerMessageEvent._create_2(type);
-    }
-    static _create_1(type, eventInitDict) {
-      return new self.ServiceWorkerMessageEvent(type, eventInitDict);
-    }
-    static _create_2(type) {
-      return new self.ServiceWorkerMessageEvent(type);
-    }
     get [dartx.lastEventId]() {
       return this.lastEventId;
     }
@@ -89581,10 +90301,10 @@
       return this.source;
     }
   };
-  const lastEventId$ = Symbol("ServiceWorkerMessageEvent.lastEventId");
-  const origin$4 = Symbol("ServiceWorkerMessageEvent.origin");
+  const lastEventId$0 = Symbol("ServiceWorkerMessageEvent.lastEventId");
+  const origin$5 = Symbol("ServiceWorkerMessageEvent.origin");
   const ports$ = Symbol("ServiceWorkerMessageEvent.ports");
-  const source$1 = Symbol("ServiceWorkerMessageEvent.source");
+  const source$2 = Symbol("ServiceWorkerMessageEvent.source");
   dart.setSignature(html$.ServiceWorkerMessageEvent, {
     fields: () => ({
       [_get_data]: dart.finalFieldType(dart.dynamic),
@@ -89593,12 +90313,7 @@
       [dartx.ports]: dart.finalFieldType(ListOfMessagePort()),
       [dartx.source]: dart.finalFieldType(core.Object)
     }),
-    getters: () => ({[dartx.data]: dart.fnType(dart.dynamic, [])}),
-    statics: () => ({
-      _create_1: dart.fnType(html$.ServiceWorkerMessageEvent, [dart.dynamic, dart.dynamic]),
-      _create_2: dart.fnType(html$.ServiceWorkerMessageEvent, [dart.dynamic])
-    }),
-    names: ['_create_1', '_create_2']
+    getters: () => ({[dartx.data]: dart.fnType(dart.dynamic, [])})
   });
   dart.registerExtension(dart.global.ServiceWorkerMessageEvent, html$.ServiceWorkerMessageEvent);
   const _getNotifications_1 = Symbol('_getNotifications_1');
@@ -89613,7 +90328,6 @@
     'active',
     'geofencing',
     'installing',
-    'periodicSync',
     'pushManager',
     'scope',
     'sync',
@@ -89632,9 +90346,6 @@
     get [dartx.installing]() {
       return this.installing;
     }
-    get [dartx.periodicSync]() {
-      return this.periodicSync;
-    }
     get [dartx.pushManager]() {
       return this.pushManager;
     }
@@ -89685,7 +90396,6 @@
   const active$0 = Symbol("ServiceWorkerRegistration.active");
   const geofencing = Symbol("ServiceWorkerRegistration.geofencing");
   const installing = Symbol("ServiceWorkerRegistration.installing");
-  const periodicSync = Symbol("ServiceWorkerRegistration.periodicSync");
   const pushManager = Symbol("ServiceWorkerRegistration.pushManager");
   const scope = Symbol("ServiceWorkerRegistration.scope");
   const sync = Symbol("ServiceWorkerRegistration.sync");
@@ -89695,7 +90405,6 @@
       [dartx.active]: dart.finalFieldType(html$._ServiceWorker),
       [dartx.geofencing]: dart.finalFieldType(html$.Geofencing),
       [dartx.installing]: dart.finalFieldType(html$._ServiceWorker),
-      [dartx.periodicSync]: dart.finalFieldType(html$.PeriodicSyncManager),
       [dartx.pushManager]: dart.finalFieldType(html$.PushManager),
       [dartx.scope]: dart.finalFieldType(core.String),
       [dartx.sync]: dart.finalFieldType(html$.SyncManager),
@@ -89709,7 +90418,7 @@
       [_showNotification_1]: dart.fnType(async.Future, [dart.dynamic, dart.dynamic]),
       [_showNotification_2]: dart.fnType(async.Future, [dart.dynamic]),
       [dartx.unregister]: dart.fnType(async.Future, []),
-      [dartx.update]: dart.fnType(dart.void, [])
+      [dartx.update]: dart.fnType(async.Future, [])
     })
   });
   dart.registerExtension(dart.global.ServiceWorkerRegistration, html$.ServiceWorkerRegistration);
@@ -89839,6 +90548,7 @@
       [dartx.applyAuthorStyles]: dart.fnType(dart.void, [core.bool])
     }),
     methods: () => ({
+      [dartx.clone]: dart.fnType(html$.Node, [], [core.bool]),
       [dartx.elementFromPoint]: dart.fnType(html$.Element, [core.int, core.int]),
       [dartx.elementsFromPoint]: dart.fnType(core.List$(html$.Element), [core.int, core.int]),
       [dartx.getSelection]: dart.fnType(html$.Selection, [])
@@ -89923,6 +90633,8 @@
   });
   dart.registerExtension(dart.global.SharedWorker, html$.SharedWorker);
   dart.defineExtensionNames([
+    'requestFileSystemSync',
+    'resolveLocalFileSystemSyncUrl',
     'onConnect',
     'name'
   ]);
@@ -89933,22 +90645,159 @@
     get [dartx.name]() {
       return this.name;
     }
+    [_webkitRequestFileSystem](...args) {
+      return this.webkitRequestFileSystem.apply(this, args);
+    }
+    [dartx.requestFileSystemSync](...args) {
+      return this.webkitRequestFileSystemSync.apply(this, args);
+    }
+    [dartx.resolveLocalFileSystemSyncUrl](...args) {
+      return this.webkitResolveLocalFileSystemSyncURL.apply(this, args);
+    }
+    [_webkitResolveLocalFileSystemUrl](...args) {
+      return this.webkitResolveLocalFileSystemURL.apply(this, args);
+    }
     get [dartx.onConnect]() {
       return html$.SharedWorkerGlobalScope.connectEvent.forTarget(this);
     }
   };
-  const name$33 = Symbol("SharedWorkerGlobalScope.name");
+  const name$32 = Symbol("SharedWorkerGlobalScope.name");
   dart.setSignature(html$.SharedWorkerGlobalScope, {
     fields: () => ({[dartx.name]: dart.finalFieldType(core.String)}),
-    getters: () => ({[dartx.onConnect]: dart.fnType(async.Stream$(html$.Event), [])})
+    getters: () => ({[dartx.onConnect]: dart.fnType(async.Stream$(html$.Event), [])}),
+    methods: () => ({
+      [_webkitRequestFileSystem]: dart.fnType(dart.void, [core.int, core.int], [html$._FileSystemCallback, html$._ErrorCallback]),
+      [dartx.requestFileSystemSync]: dart.fnType(html$._DOMFileSystemSync, [core.int, core.int]),
+      [dartx.resolveLocalFileSystemSyncUrl]: dart.fnType(html$._EntrySync, [core.String]),
+      [_webkitResolveLocalFileSystemUrl]: dart.fnType(dart.void, [core.String, html$._EntryCallback], [html$._ErrorCallback])
+    })
   });
   dart.defineLazy(html$.SharedWorkerGlobalScope, {
     get connectEvent() {
       return dart.const(new (EventStreamProviderOfEvent())('connect'));
+    },
+    get PERSISTENT() {
+      return 1;
+    },
+    get TEMPORARY() {
+      return 0;
     }
   });
   dart.registerExtension(dart.global.SharedWorkerGlobalScope, html$.SharedWorkerGlobalScope);
   dart.defineExtensionNames([
+    'type',
+    'value'
+  ]);
+  html$.SimpleLength = class SimpleLength extends html$.LengthValue {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(value, type) {
+      return html$.SimpleLength._create_1(value, type);
+    }
+    static _create_1(value, type) {
+      return new self.SimpleLength(value, type);
+    }
+    get [dartx.type]() {
+      return this.type;
+    }
+    get [dartx.value]() {
+      return this.value;
+    }
+    set [dartx.value](value) {
+      this.value = value;
+    }
+  };
+  const type$33 = Symbol("SimpleLength.type");
+  const value$14 = Symbol("SimpleLength.value");
+  dart.setSignature(html$.SimpleLength, {
+    fields: () => ({
+      [dartx.type]: dart.finalFieldType(core.String),
+      [dartx.value]: dart.fieldType(core.num)
+    }),
+    statics: () => ({_create_1: dart.fnType(html$.SimpleLength, [dart.dynamic, dart.dynamic])}),
+    names: ['_create_1']
+  });
+  dart.registerExtension(dart.global.SimpleLength, html$.SimpleLength);
+  dart.defineExtensionNames([
+    'ax',
+    'ay'
+  ]);
+  html$.Skew = class Skew extends html$.TransformComponent {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(ax, ay) {
+      return html$.Skew._create_1(ax, ay);
+    }
+    static _create_1(ax, ay) {
+      return new self.Skew(ax, ay);
+    }
+    get [dartx.ax]() {
+      return this.ax;
+    }
+    get [dartx.ay]() {
+      return this.ay;
+    }
+  };
+  const ax = Symbol("Skew.ax");
+  const ay = Symbol("Skew.ay");
+  dart.setSignature(html$.Skew, {
+    fields: () => ({
+      [dartx.ax]: dart.finalFieldType(core.double),
+      [dartx.ay]: dart.finalFieldType(core.double)
+    }),
+    statics: () => ({_create_1: dart.fnType(html$.Skew, [dart.dynamic, dart.dynamic])}),
+    names: ['_create_1']
+  });
+  dart.registerExtension(dart.global.Skew, html$.Skew);
+  const _getAssignedNodes_1 = Symbol('_getAssignedNodes_1');
+  const _getAssignedNodes_2 = Symbol('_getAssignedNodes_2');
+  dart.defineExtensionNames([
+    'getAssignedNodes',
+    'name'
+  ]);
+  html$.SlotElement = class SlotElement extends html$.HtmlElement {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    created() {
+      this[name$33] = null;
+      super.created();
+    }
+    get [dartx.name]() {
+      return this.name;
+    }
+    set [dartx.name](value) {
+      this.name = value;
+    }
+    [dartx.getAssignedNodes](options) {
+      if (options === void 0) options = null;
+      if (options != null) {
+        let options_1 = html_common.convertDartToNative_Dictionary(options);
+        return this[_getAssignedNodes_1](options_1);
+      }
+      return this[_getAssignedNodes_2]();
+    }
+    [_getAssignedNodes_1](...args) {
+      return this.getAssignedNodes.apply(this, args);
+    }
+    [_getAssignedNodes_2](...args) {
+      return this.getAssignedNodes.apply(this, args);
+    }
+  };
+  dart.defineNamedConstructor(html$.SlotElement, 'created');
+  const name$33 = Symbol("SlotElement.name");
+  dart.setSignature(html$.SlotElement, {
+    fields: () => ({[dartx.name]: dart.fieldType(core.String)}),
+    methods: () => ({
+      [dartx.getAssignedNodes]: dart.fnType(core.List$(html$.Node), [], [core.Map]),
+      [_getAssignedNodes_1]: dart.fnType(core.List$(html$.Node), [dart.dynamic]),
+      [_getAssignedNodes_2]: dart.fnType(core.List$(html$.Node), [])
+    })
+  });
+  dart.registerExtension(dart.global.HTMLSlotElement, html$.SlotElement);
+  dart.defineExtensionNames([
     'abort',
     'appendBuffer',
     'appendStream',
@@ -90020,7 +90869,7 @@
   };
   const appendWindowEnd = Symbol("SourceBuffer.appendWindowEnd");
   const appendWindowStart = Symbol("SourceBuffer.appendWindowStart");
-  const buffered$0 = Symbol("SourceBuffer.buffered");
+  const buffered$ = Symbol("SourceBuffer.buffered");
   const mode$1 = Symbol("SourceBuffer.mode");
   const timestampOffset = Symbol("SourceBuffer.timestampOffset");
   const trackDefaults = Symbol("SourceBuffer.trackDefaults");
@@ -90101,7 +90950,7 @@
       return this.item.apply(this, args);
     }
   };
-  html$.SourceBufferList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior, ListOfSourceBuffer()];
+  html$.SourceBufferList[dart.implements] = () => [JavaScriptIndexingBehaviorOfSourceBuffer(), ListOfSourceBuffer()];
   dart.setSignature(html$.SourceBufferList, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -90130,14 +90979,14 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.SourceElement._check(html$.document[dartx.createElement]("source"));
+      return html$.document.createElement("source");
     }
     created() {
       this[media$4] = null;
       this[sizes$0] = null;
       this[src$5] = null;
       this[srcset$] = null;
-      this[type$33] = null;
+      this[type$34] = null;
       super.created();
     }
     get [dartx.media]() {
@@ -90176,7 +91025,7 @@
   const sizes$0 = Symbol("SourceElement.sizes");
   const src$5 = Symbol("SourceElement.src");
   const srcset$ = Symbol("SourceElement.srcset");
-  const type$33 = Symbol("SourceElement.type");
+  const type$34 = Symbol("SourceElement.type");
   dart.setSignature(html$.SourceElement, {
     fields: () => ({
       [dartx.media]: dart.fieldType(core.String),
@@ -90211,9 +91060,9 @@
     }
   };
   const facing = Symbol("SourceInfo.facing");
-  const id$11 = Symbol("SourceInfo.id");
+  const id$12 = Symbol("SourceInfo.id");
   const kind$2 = Symbol("SourceInfo.kind");
-  const label$7 = Symbol("SourceInfo.label");
+  const label$6 = Symbol("SourceInfo.label");
   dart.setSignature(html$.SourceInfo, {
     fields: () => ({
       [dartx.facing]: dart.finalFieldType(core.String),
@@ -90228,7 +91077,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.SpanElement._check(html$.document[dartx.createElement]("span"));
+      return html$.document.createElement("span");
     }
     created() {
       super.created();
@@ -90345,7 +91194,7 @@
       return this.item.apply(this, args);
     }
   };
-  html$.SpeechGrammarList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior, ListOfSpeechGrammar()];
+  html$.SpeechGrammarList[dart.implements] = () => [JavaScriptIndexingBehaviorOfSpeechGrammar(), ListOfSpeechGrammar()];
   dart.setSignature(html$.SpeechGrammarList, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -90386,8 +91235,7 @@
     'grammars',
     'interimResults',
     'lang',
-    'maxAlternatives',
-    'serviceUri'
+    'maxAlternatives'
   ]);
   html$.SpeechRecognition = class SpeechRecognition extends html$.EventTarget {
     static _() {
@@ -90432,12 +91280,6 @@
     set [dartx.maxAlternatives](value) {
       this.maxAlternatives = value;
     }
-    get [dartx.serviceUri]() {
-      return this.serviceURI;
-    }
-    set [dartx.serviceUri](value) {
-      this.serviceURI = value;
-    }
     [dartx.abort](...args) {
       return this.abort.apply(this, args);
     }
@@ -90490,7 +91332,6 @@
   const interimResults = Symbol("SpeechRecognition.interimResults");
   const lang$0 = Symbol("SpeechRecognition.lang");
   const maxAlternatives = Symbol("SpeechRecognition.maxAlternatives");
-  const serviceUri = Symbol("SpeechRecognition.serviceUri");
   dart.setSignature(html$.SpeechRecognition, {
     fields: () => ({
       [dartx.audioTrack]: dart.fieldType(html$.MediaStreamTrack),
@@ -90498,8 +91339,7 @@
       [dartx.grammars]: dart.fieldType(html$.SpeechGrammarList),
       [dartx.interimResults]: dart.fieldType(core.bool),
       [dartx.lang]: dart.fieldType(core.String),
-      [dartx.maxAlternatives]: dart.fieldType(core.int),
-      [dartx.serviceUri]: dart.fieldType(core.String)
+      [dartx.maxAlternatives]: dart.fieldType(core.int)
     }),
     getters: () => ({
       [dartx.onAudioEnd]: dart.fnType(async.Stream$(html$.Event), []),
@@ -90610,7 +91450,7 @@
     }
   };
   const error$5 = Symbol("SpeechRecognitionError.error");
-  const message$26 = Symbol("SpeechRecognitionError.message");
+  const message$25 = Symbol("SpeechRecognitionError.message");
   dart.setSignature(html$.SpeechRecognitionError, {
     fields: () => ({
       [dartx.error]: dart.finalFieldType(core.String),
@@ -90746,7 +91586,7 @@
       return this.speak.apply(this, args);
     }
   };
-  const paused$0 = Symbol("SpeechSynthesis.paused");
+  const paused$ = Symbol("SpeechSynthesis.paused");
   const pending = Symbol("SpeechSynthesis.pending");
   const speaking = Symbol("SpeechSynthesis.speaking");
   dart.setSignature(html$.SpeechSynthesis, {
@@ -90895,7 +91735,7 @@
   const rate = Symbol("SpeechSynthesisUtterance.rate");
   const text$0 = Symbol("SpeechSynthesisUtterance.text");
   const voice = Symbol("SpeechSynthesisUtterance.voice");
-  const volume$0 = Symbol("SpeechSynthesisUtterance.volume");
+  const volume$ = Symbol("SpeechSynthesisUtterance.volume");
   dart.setSignature(html$.SpeechSynthesisUtterance, {
     fields: () => ({
       [dartx.lang]: dart.fieldType(core.String),
@@ -90986,53 +91826,11 @@
     })
   });
   dart.registerExtension(dart.global.SpeechSynthesisVoice, html$.SpeechSynthesisVoice);
-  dart.defineExtensionNames([
-    'name'
-  ]);
-  html$.StashedMessagePort = class StashedMessagePort extends html$.MessagePort {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.name]() {
-      return this.name;
-    }
-  };
-  const name$36 = Symbol("StashedMessagePort.name");
-  dart.setSignature(html$.StashedMessagePort, {
-    fields: () => ({[dartx.name]: dart.finalFieldType(core.String)})
-  });
-  dart.registerExtension(dart.global.StashedMessagePort, html$.StashedMessagePort);
-  dart.defineExtensionNames([
-    'add',
-    'onMessage'
-  ]);
-  html$.StashedPortCollection = class StashedPortCollection extends html$.EventTarget {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    [dartx.add](...args) {
-      return this.add.apply(this, args);
-    }
-    get [dartx.onMessage]() {
-      return html$.StashedPortCollection.messageEvent.forTarget(this);
-    }
-  };
-  dart.setSignature(html$.StashedPortCollection, {
-    getters: () => ({[dartx.onMessage]: dart.fnType(async.Stream$(html$.MessageEvent), [])}),
-    methods: () => ({[dartx.add]: dart.fnType(html$.StashedMessagePort, [core.String, html$.MessagePort])})
-  });
-  dart.defineLazy(html$.StashedPortCollection, {
-    get messageEvent() {
-      return dart.const(new (EventStreamProviderOfMessageEvent())('message'));
-    }
-  });
-  dart.registerExtension(dart.global.StashedPortCollection, html$.StashedPortCollection);
   const _getItem = Symbol('_getItem');
   const _setItem = Symbol('_setItem');
   const _removeItem = Symbol('_removeItem');
   const _key = Symbol('_key');
   const _length$3 = Symbol('_length');
-  const __delete__ = Symbol('__delete__');
   dart.defineExtensionNames([
     'addAll',
     'containsValue',
@@ -91227,7 +92025,7 @@
   const newValue = Symbol("StorageEvent.newValue");
   const oldValue$ = Symbol("StorageEvent.oldValue");
   const storageArea = Symbol("StorageEvent.storageArea");
-  const url$2 = Symbol("StorageEvent.url");
+  const url$1 = Symbol("StorageEvent.url");
   dart.setSignature(html$.StorageEvent, {
     fields: () => ({
       [dartx.key]: dart.finalFieldType(core.String),
@@ -91269,6 +92067,28 @@
   });
   dart.registerExtension(dart.global.StorageInfo, html$.StorageInfo);
   dart.defineExtensionNames([
+    'persistentPermission',
+    'requestPersistent'
+  ]);
+  html$.StorageManager = class StorageManager extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    [dartx.persistentPermission](...args) {
+      return this.persistentPermission.apply(this, args);
+    }
+    [dartx.requestPersistent](...args) {
+      return this.requestPersistent.apply(this, args);
+    }
+  };
+  dart.setSignature(html$.StorageManager, {
+    methods: () => ({
+      [dartx.persistentPermission]: dart.fnType(async.Future, []),
+      [dartx.requestPersistent]: dart.fnType(async.Future, [])
+    })
+  });
+  dart.registerExtension(dart.global.StorageManager, html$.StorageManager);
+  dart.defineExtensionNames([
     'queryInfo',
     'requestPersistentQuota',
     'supportedTypes'
@@ -91310,13 +92130,13 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.StyleElement._check(html$.document[dartx.createElement]("style"));
+      return html$.document.createElement("style");
     }
     created() {
       this[disabled$9] = null;
       this[media$5] = null;
       this[sheet$0] = null;
-      this[type$34] = null;
+      this[type$35] = null;
       super.created();
     }
     get [dartx.disabled]() {
@@ -91345,7 +92165,7 @@
   const disabled$9 = Symbol("StyleElement.disabled");
   const media$5 = Symbol("StyleElement.media");
   const sheet$0 = Symbol("StyleElement.sheet");
-  const type$34 = Symbol("StyleElement.type");
+  const type$35 = Symbol("StyleElement.type");
   dart.setSignature(html$.StyleElement, {
     fields: () => ({
       [dartx.disabled]: dart.fieldType(core.bool),
@@ -91370,14 +92190,62 @@
       return this.matchMedium.apply(this, args);
     }
   };
-  const type$35 = Symbol("StyleMedia.type");
+  const type$36 = Symbol("StyleMedia.type");
   dart.setSignature(html$.StyleMedia, {
     fields: () => ({[dartx.type]: dart.finalFieldType(core.String)}),
     methods: () => ({[dartx.matchMedium]: dart.fnType(core.bool, [core.String])})
   });
   dart.registerExtension(dart.global.StyleMedia, html$.StyleMedia);
   dart.defineExtensionNames([
-    'registration'
+    'append',
+    'delete',
+    'get',
+    'getAll',
+    'getProperties',
+    'has',
+    'set'
+  ]);
+  html$.StylePropertyMap = class StylePropertyMap extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    [dartx.append](...args) {
+      return this.append.apply(this, args);
+    }
+    [dartx.delete](...args) {
+      return this.delete.apply(this, args);
+    }
+    [dartx.get](...args) {
+      return this.get.apply(this, args);
+    }
+    [dartx.getAll](...args) {
+      return this.getAll.apply(this, args);
+    }
+    [dartx.getProperties](...args) {
+      return this.getProperties.apply(this, args);
+    }
+    [dartx.has](...args) {
+      return this.has.apply(this, args);
+    }
+    [dartx.set](...args) {
+      return this.set.apply(this, args);
+    }
+  };
+  dart.setSignature(html$.StylePropertyMap, {
+    methods: () => ({
+      [dartx.append]: dart.fnType(dart.void, [core.String, core.Object]),
+      [dartx.delete]: dart.fnType(dart.void, [core.String]),
+      [dartx.get]: dart.fnType(html$.StyleValue, [core.String]),
+      [dartx.getAll]: dart.fnType(core.List$(html$.StyleValue), [core.String]),
+      [dartx.getProperties]: dart.fnType(core.List$(core.String), []),
+      [dartx.has]: dart.fnType(core.bool, [core.String]),
+      [dartx.set]: dart.fnType(dart.void, [core.String, core.Object])
+    })
+  });
+  dart.registerExtension(dart.global.StylePropertyMap, html$.StylePropertyMap);
+  dart.defineExtensionNames([
+    'lastChance',
+    'tag'
   ]);
   html$.SyncEvent = class SyncEvent extends html$.ExtendableEvent {
     static _() {
@@ -91390,89 +92258,52 @@
     static _create_1(type, init) {
       return new self.SyncEvent(type, init);
     }
-    get [dartx.registration]() {
-      return this.registration;
+    get [dartx.lastChance]() {
+      return this.lastChance;
+    }
+    get [dartx.tag]() {
+      return this.tag;
     }
   };
-  const registration$0 = Symbol("SyncEvent.registration");
+  const lastChance = Symbol("SyncEvent.lastChance");
+  const tag$ = Symbol("SyncEvent.tag");
   dart.setSignature(html$.SyncEvent, {
-    fields: () => ({[dartx.registration]: dart.finalFieldType(html$.SyncRegistration)}),
+    fields: () => ({
+      [dartx.lastChance]: dart.finalFieldType(core.bool),
+      [dartx.tag]: dart.finalFieldType(core.String)
+    }),
     statics: () => ({_create_1: dart.fnType(html$.SyncEvent, [dart.dynamic, dart.dynamic])}),
     names: ['_create_1']
   });
   dart.registerExtension(dart.global.SyncEvent, html$.SyncEvent);
   dart.defineExtensionNames([
-    'getRegistration',
-    'getRegistrations',
-    'permissionState',
+    'getTags',
     'register'
   ]);
   html$.SyncManager = class SyncManager extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
-    [dartx.getRegistration](...args) {
-      return this.getRegistration.apply(this, args);
+    [dartx.getTags](...args) {
+      return this.getTags.apply(this, args);
     }
-    [dartx.getRegistrations](...args) {
-      return this.getRegistrations.apply(this, args);
-    }
-    [dartx.permissionState](...args) {
-      return this.permissionState.apply(this, args);
-    }
-    [dartx.register](options) {
-      if (options === void 0) options = null;
-      if (options != null) {
-        let options_1 = html_common.convertDartToNative_Dictionary(options);
-        return this[_register_1](options_1);
-      }
-      return this[_register_2]();
-    }
-    [_register_1](...args) {
-      return this.register.apply(this, args);
-    }
-    [_register_2](...args) {
+    [dartx.register](...args) {
       return this.register.apply(this, args);
     }
   };
   dart.setSignature(html$.SyncManager, {
     methods: () => ({
-      [dartx.getRegistration]: dart.fnType(async.Future, [core.String]),
-      [dartx.getRegistrations]: dart.fnType(async.Future, []),
-      [dartx.permissionState]: dart.fnType(async.Future, []),
-      [dartx.register]: dart.fnType(async.Future, [], [core.Map]),
-      [_register_1]: dart.fnType(async.Future, [dart.dynamic]),
-      [_register_2]: dart.fnType(async.Future, [])
+      [dartx.getTags]: dart.fnType(async.Future, []),
+      [dartx.register]: dart.fnType(async.Future, [core.String])
     })
   });
   dart.registerExtension(dart.global.SyncManager, html$.SyncManager);
-  dart.defineExtensionNames([
-    'unregister',
-    'tag'
-  ]);
-  html$.SyncRegistration = class SyncRegistration extends _interceptors.Interceptor {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.tag]() {
-      return this.tag;
-    }
-    [dartx.unregister](...args) {
-      return this.unregister.apply(this, args);
-    }
-  };
-  const tag$0 = Symbol("SyncRegistration.tag");
-  dart.setSignature(html$.SyncRegistration, {
-    fields: () => ({[dartx.tag]: dart.finalFieldType(core.String)}),
-    methods: () => ({[dartx.unregister]: dart.fnType(async.Future, [])})
-  });
-  dart.registerExtension(dart.global.SyncRegistration, html$.SyncRegistration);
   html$.TableCaptionElement = class TableCaptionElement extends html$.HtmlElement {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.TableCaptionElement._check(html$.document[dartx.createElement]("caption"));
+      return html$.document.createElement("caption");
     }
     created() {
       super.created();
@@ -91491,7 +92322,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.TableCellElement._check(html$.document[dartx.createElement]("td"));
+      return html$.document.createElement("td");
     }
     created() {
       this[cellIndex] = null;
@@ -91546,7 +92377,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.TableColElement._check(html$.document[dartx.createElement]("col"));
+      return html$.document.createElement("col");
     }
     created() {
       this[span] = null;
@@ -91602,19 +92433,19 @@
       return this[dartx.insertRow](-1);
     }
     [dartx.createCaption]() {
-      return html$.TableCaptionElement._check(this[_createCaption]());
+      return this[_createCaption]();
     }
     [dartx.createTBody]() {
       return this[_createTBody]();
     }
     [dartx.createTFoot]() {
-      return html$.TableSectionElement._check(this[_createTFoot]());
+      return this[_createTFoot]();
     }
     [dartx.createTHead]() {
-      return html$.TableSectionElement._check(this[_createTHead]());
+      return this[_createTHead]();
     }
     [dartx.insertRow](index) {
-      return html$.TableRowElement._check(this[_insertRow](index));
+      return this[_insertRow](index);
     }
     [_createTBody]() {
       if (!!this.createTBody) {
@@ -91643,7 +92474,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.TableElement._check(html$.document[dartx.createElement]("table"));
+      return html$.document.createElement("table");
     }
     created() {
       this[caption] = null;
@@ -91727,14 +92558,14 @@
       [dartx.insertRow]: dart.fnType(html$.TableRowElement, [core.int]),
       [_createTBody]: dart.fnType(html$.TableSectionElement, []),
       [_nativeCreateTBody]: dart.fnType(html$.TableSectionElement, []),
-      [_createCaption]: dart.fnType(html$.HtmlElement, []),
-      [_createTFoot]: dart.fnType(html$.HtmlElement, []),
-      [_createTHead]: dart.fnType(html$.HtmlElement, []),
+      [_createCaption]: dart.fnType(html$.TableCaptionElement, []),
+      [_createTFoot]: dart.fnType(html$.TableSectionElement, []),
+      [_createTHead]: dart.fnType(html$.TableSectionElement, []),
       [dartx.deleteCaption]: dart.fnType(dart.void, []),
       [dartx.deleteRow]: dart.fnType(dart.void, [core.int]),
       [dartx.deleteTFoot]: dart.fnType(dart.void, []),
       [dartx.deleteTHead]: dart.fnType(dart.void, []),
-      [_insertRow]: dart.fnType(html$.HtmlElement, [], [core.int])
+      [_insertRow]: dart.fnType(html$.TableRowElement, [], [core.int])
     })
   });
   dart.registerExtension(dart.global.HTMLTableElement, html$.TableElement);
@@ -91775,7 +92606,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.TableRowElement._check(html$.document[dartx.createElement]("tr"));
+      return html$.document.createElement("tr");
     }
     created() {
       this[_cells] = null;
@@ -91948,7 +92779,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.TextAreaElement._check(html$.document[dartx.createElement]("textarea"));
+      return html$.document.createElement("textarea");
     }
     created() {
       this[autocapitalize$] = null;
@@ -91962,7 +92793,7 @@
       this[labels$5] = null;
       this[maxLength$1] = null;
       this[minLength$] = null;
-      this[name$37] = null;
+      this[name$36] = null;
       this[placeholder$2] = null;
       this[readOnly$7] = null;
       this[required$11] = null;
@@ -91971,10 +92802,10 @@
       this[selectionEnd$0] = null;
       this[selectionStart$0] = null;
       this[textLength] = null;
-      this[type$36] = null;
+      this[type$37] = null;
       this[validationMessage$5] = null;
       this[validity$5] = null;
-      this[value$13] = null;
+      this[value$15] = null;
       this[willValidate$5] = null;
       this[wrap] = null;
       super.created();
@@ -92145,7 +92976,7 @@
   const labels$5 = Symbol("TextAreaElement.labels");
   const maxLength$1 = Symbol("TextAreaElement.maxLength");
   const minLength$ = Symbol("TextAreaElement.minLength");
-  const name$37 = Symbol("TextAreaElement.name");
+  const name$36 = Symbol("TextAreaElement.name");
   const placeholder$2 = Symbol("TextAreaElement.placeholder");
   const readOnly$7 = Symbol("TextAreaElement.readOnly");
   const required$11 = Symbol("TextAreaElement.required");
@@ -92154,10 +92985,10 @@
   const selectionEnd$0 = Symbol("TextAreaElement.selectionEnd");
   const selectionStart$0 = Symbol("TextAreaElement.selectionStart");
   const textLength = Symbol("TextAreaElement.textLength");
-  const type$36 = Symbol("TextAreaElement.type");
+  const type$37 = Symbol("TextAreaElement.type");
   const validationMessage$5 = Symbol("TextAreaElement.validationMessage");
   const validity$5 = Symbol("TextAreaElement.validity");
-  const value$13 = Symbol("TextAreaElement.value");
+  const value$15 = Symbol("TextAreaElement.value");
   const willValidate$5 = Symbol("TextAreaElement.willValidate");
   const wrap = Symbol("TextAreaElement.wrap");
   dart.setSignature(html$.TextAreaElement, {
@@ -92226,7 +93057,7 @@
       return this.initTextEvent.apply(this, args);
     }
   };
-  const data$7 = Symbol("TextEvent.data");
+  const data$9 = Symbol("TextEvent.data");
   dart.setSignature(html$.TextEvent, {
     fields: () => ({[dartx.data]: dart.finalFieldType(core.String)}),
     methods: () => ({[_initTextEvent]: dart.fnType(dart.void, [core.String, core.bool, core.bool, html$.Window, core.String])})
@@ -92298,7 +93129,7 @@
   const fontBoundingBoxDescent = Symbol("TextMetrics.fontBoundingBoxDescent");
   const hangingBaseline = Symbol("TextMetrics.hangingBaseline");
   const ideographicBaseline = Symbol("TextMetrics.ideographicBaseline");
-  const width$9 = Symbol("TextMetrics.width");
+  const width$10 = Symbol("TextMetrics.width");
   dart.setSignature(html$.TextMetrics, {
     fields: () => ({
       [dartx.actualBoundingBoxAscent]: dart.finalFieldType(core.double),
@@ -92380,9 +93211,9 @@
   };
   const activeCues = Symbol("TextTrack.activeCues");
   const cues = Symbol("TextTrack.cues");
-  const id$12 = Symbol("TextTrack.id");
+  const id$13 = Symbol("TextTrack.id");
   const kind$3 = Symbol("TextTrack.kind");
-  const label$8 = Symbol("TextTrack.label");
+  const label$7 = Symbol("TextTrack.label");
   const language$0 = Symbol("TextTrack.language");
   const mode$2 = Symbol("TextTrack.mode");
   const regions = Symbol("TextTrack.regions");
@@ -92459,7 +93290,7 @@
     }
   };
   const endTime = Symbol("TextTrackCue.endTime");
-  const id$13 = Symbol("TextTrackCue.id");
+  const id$14 = Symbol("TextTrackCue.id");
   const pauseOnExit = Symbol("TextTrackCue.pauseOnExit");
   const startTime$0 = Symbol("TextTrackCue.startTime");
   const track$0 = Symbol("TextTrackCue.track");
@@ -92494,8 +93325,7 @@
     'last',
     'single',
     'elementAt',
-    'getCueById',
-    'item'
+    'getCueById'
   ]);
   html$.TextTrackCueList = class TextTrackCueList extends dart.mixin(_interceptors.Interceptor, collection.ListMixin$(html$.TextTrackCue), html$.ImmutableListMixin$(html$.TextTrackCue)) {
     static _() {
@@ -92539,14 +93369,14 @@
     [dartx.elementAt](index) {
       return this[dartx._get](index);
     }
+    [__getter__](...args) {
+      return this.__getter__.apply(this, args);
+    }
     [dartx.getCueById](...args) {
       return this.getCueById.apply(this, args);
     }
-    [dartx.item](...args) {
-      return this.item.apply(this, args);
-    }
   };
-  html$.TextTrackCueList[dart.implements] = () => [ListOfTextTrackCue(), _js_helper.JavaScriptIndexingBehavior];
+  html$.TextTrackCueList[dart.implements] = () => [ListOfTextTrackCue(), JavaScriptIndexingBehaviorOfTextTrackCue()];
   dart.setSignature(html$.TextTrackCueList, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -92559,8 +93389,8 @@
       [dartx._get]: dart.fnType(html$.TextTrackCue, [core.int]),
       [dartx._set]: dart.fnType(dart.void, [core.int, html$.TextTrackCue]),
       [dartx.elementAt]: dart.fnType(html$.TextTrackCue, [core.int]),
-      [dartx.getCueById]: dart.fnType(html$.TextTrackCue, [core.String]),
-      [dartx.item]: dart.fnType(html$.TextTrackCue, [core.int])
+      [__getter__]: dart.fnType(html$.TextTrackCue, [core.int]),
+      [dartx.getCueById]: dart.fnType(html$.TextTrackCue, [core.String])
     })
   });
   dart.registerExtension(dart.global.TextTrackCueList, html$.TextTrackCueList);
@@ -92574,7 +93404,6 @@
     'single',
     'elementAt',
     'getTrackById',
-    'item',
     'onAddTrack',
     'onChange'
   ]);
@@ -92620,12 +93449,12 @@
     [dartx.elementAt](index) {
       return this[dartx._get](index);
     }
+    [__getter__](...args) {
+      return this.__getter__.apply(this, args);
+    }
     [dartx.getTrackById](...args) {
       return this.getTrackById.apply(this, args);
     }
-    [dartx.item](...args) {
-      return this.item.apply(this, args);
-    }
     get [dartx.onAddTrack]() {
       return html$.TextTrackList.addTrackEvent.forTarget(this);
     }
@@ -92633,7 +93462,7 @@
       return html$.TextTrackList.changeEvent.forTarget(this);
     }
   };
-  html$.TextTrackList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior, ListOfTextTrack()];
+  html$.TextTrackList[dart.implements] = () => [ListOfTextTrack(), JavaScriptIndexingBehaviorOfTextTrack()];
   dart.setSignature(html$.TextTrackList, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -92648,8 +93477,8 @@
       [dartx._get]: dart.fnType(html$.TextTrack, [core.int]),
       [dartx._set]: dart.fnType(dart.void, [core.int, html$.TextTrack]),
       [dartx.elementAt]: dart.fnType(html$.TextTrack, [core.int]),
-      [dartx.getTrackById]: dart.fnType(html$.TextTrack, [core.String]),
-      [dartx.item]: dart.fnType(html$.TextTrack, [core.int])
+      [__getter__]: dart.fnType(html$.TextTrack, [core.int]),
+      [dartx.getTrackById]: dart.fnType(html$.TextTrack, [core.String])
     })
   });
   dart.defineLazy(html$.TextTrackList, {
@@ -92695,7 +93524,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.TitleElement._check(html$.document[dartx.createElement]("title"));
+      return html$.document.createElement("title");
     }
     created() {
       super.created();
@@ -92722,12 +93551,20 @@
     'radiusY',
     'force',
     'identifier',
+    'region',
     'rotationAngle'
   ]);
   html$.Touch = class Touch extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
+    static new(initDict) {
+      let initDict_1 = html_common.convertDartToNative_Dictionary(initDict);
+      return html$.Touch._create_1(initDict_1);
+    }
+    static _create_1(initDict) {
+      return new self.Touch(initDict);
+    }
     get [_clientX]() {
       return this.clientX;
     }
@@ -92752,6 +93589,9 @@
     get [_radiusY]() {
       return this.radiusY;
     }
+    get [dartx.region]() {
+      return this.region;
+    }
     get [dartx.rotationAngle]() {
       return this.rotationAngle;
     }
@@ -92809,6 +93649,7 @@
   };
   const force = Symbol("Touch.force");
   const identifier = Symbol("Touch.identifier");
+  const region$0 = Symbol("Touch.region");
   const rotationAngle = Symbol("Touch.rotationAngle");
   dart.setSignature(html$.Touch, {
     fields: () => ({
@@ -92820,6 +93661,7 @@
       [_pageY]: dart.finalFieldType(core.double),
       [_radiusX]: dart.finalFieldType(core.double),
       [_radiusY]: dart.finalFieldType(core.double),
+      [dartx.region]: dart.finalFieldType(core.String),
       [dartx.rotationAngle]: dart.finalFieldType(core.double),
       [_screenX]: dart.finalFieldType(core.double),
       [_screenY]: dart.finalFieldType(core.double),
@@ -92840,7 +93682,9 @@
       [dartx.screen]: dart.fnType(math.Point$(core.num), []),
       [dartx.radiusX]: dart.fnType(core.int, []),
       [dartx.radiusY]: dart.fnType(core.int, [])
-    })
+    }),
+    statics: () => ({_create_1: dart.fnType(html$.Touch, [dart.dynamic])}),
+    names: ['_create_1']
   });
   dart.registerExtension(dart.global.Touch, html$.Touch);
   const _initTouchEvent = Symbol('_initTouchEvent');
@@ -92985,7 +93829,7 @@
       return this.item.apply(this, args);
     }
   };
-  html$.TouchList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior, ListOfTouch()];
+  html$.TouchList[dart.implements] = () => [JavaScriptIndexingBehaviorOfTouch(), ListOfTouch()];
   dart.setSignature(html$.TouchList, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -93046,9 +93890,9 @@
   };
   const byteStreamTrackID = Symbol("TrackDefault.byteStreamTrackID");
   const kinds = Symbol("TrackDefault.kinds");
-  const label$9 = Symbol("TrackDefault.label");
+  const label$8 = Symbol("TrackDefault.label");
   const language$1 = Symbol("TrackDefault.language");
-  const type$37 = Symbol("TrackDefault.type");
+  const type$38 = Symbol("TrackDefault.type");
   dart.setSignature(html$.TrackDefault, {
     fields: () => ({
       [dartx.byteStreamTrackID]: dart.finalFieldType(core.String),
@@ -93122,7 +93966,7 @@
     created() {
       this[defaultValue$3] = null;
       this[kind$4] = null;
-      this[label$10] = null;
+      this[label$9] = null;
       this[readyState$8] = null;
       this[src$7] = null;
       this[srclang] = null;
@@ -93172,7 +94016,7 @@
   dart.defineNamedConstructor(html$.TrackElement, 'created');
   const defaultValue$3 = Symbol("TrackElement.defaultValue");
   const kind$4 = Symbol("TrackElement.kind");
-  const label$10 = Symbol("TrackElement.label");
+  const label$9 = Symbol("TrackElement.label");
   const readyState$8 = Symbol("TrackElement.readyState");
   const src$7 = Symbol("TrackElement.src");
   const srclang = Symbol("TrackElement.srclang");
@@ -93239,6 +94083,42 @@
   });
   dart.registerExtension(dart.global.TrackEvent, html$.TrackEvent);
   dart.defineExtensionNames([
+    'is2D'
+  ]);
+  html$.TransformValue = class TransformValue extends html$.StyleValue {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(transformComponents) {
+      if (transformComponents === void 0) transformComponents = null;
+      if (transformComponents == null) {
+        return html$.TransformValue._create_1();
+      }
+      if (ListOfTransformComponent().is(transformComponents)) {
+        return html$.TransformValue._create_2(transformComponents);
+      }
+      dart.throw(new core.ArgumentError("Incorrect number or type of arguments"));
+    }
+    static _create_1() {
+      return new self.TransformValue();
+    }
+    static _create_2(transformComponents) {
+      return new self.TransformValue(transformComponents);
+    }
+    [dartx.is2D](...args) {
+      return this.is2D.apply(this, args);
+    }
+  };
+  dart.setSignature(html$.TransformValue, {
+    methods: () => ({[dartx.is2D]: dart.fnType(core.bool, [])}),
+    statics: () => ({
+      _create_1: dart.fnType(html$.TransformValue, []),
+      _create_2: dart.fnType(html$.TransformValue, [dart.dynamic])
+    }),
+    names: ['_create_1', '_create_2']
+  });
+  dart.registerExtension(dart.global.TransformValue, html$.TransformValue);
+  dart.defineExtensionNames([
     'elapsedTime',
     'propertyName',
     'pseudoElement'
@@ -93289,6 +94169,57 @@
   dart.registerExtension(dart.global.TransitionEvent, html$.TransitionEvent);
   dart.registerExtension(dart.global.WebKitTransitionEvent, html$.TransitionEvent);
   dart.defineExtensionNames([
+    'x',
+    'y',
+    'z'
+  ]);
+  html$.Translation = class Translation extends html$.TransformComponent {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(x, y, z) {
+      if (z === void 0) z = null;
+      if (html$.LengthValue.is(y) && html$.LengthValue.is(x) && z == null) {
+        return html$.Translation._create_1(x, y);
+      }
+      if (html$.LengthValue.is(z) && html$.LengthValue.is(y) && html$.LengthValue.is(x)) {
+        return html$.Translation._create_2(x, y, z);
+      }
+      dart.throw(new core.ArgumentError("Incorrect number or type of arguments"));
+    }
+    static _create_1(x, y) {
+      return new self.Translation(x, y);
+    }
+    static _create_2(x, y, z) {
+      return new self.Translation(x, y, z);
+    }
+    get [dartx.x]() {
+      return this.x;
+    }
+    get [dartx.y]() {
+      return this.y;
+    }
+    get [dartx.z]() {
+      return this.z;
+    }
+  };
+  const x$1 = Symbol("Translation.x");
+  const y$1 = Symbol("Translation.y");
+  const z$0 = Symbol("Translation.z");
+  dart.setSignature(html$.Translation, {
+    fields: () => ({
+      [dartx.x]: dart.finalFieldType(html$.LengthValue),
+      [dartx.y]: dart.finalFieldType(html$.LengthValue),
+      [dartx.z]: dart.finalFieldType(html$.LengthValue)
+    }),
+    statics: () => ({
+      _create_1: dart.fnType(html$.Translation, [dart.dynamic, dart.dynamic]),
+      _create_2: dart.fnType(html$.Translation, [dart.dynamic, dart.dynamic, dart.dynamic])
+    }),
+    names: ['_create_1', '_create_2']
+  });
+  dart.registerExtension(dart.global.Translation, html$.Translation);
+  dart.defineExtensionNames([
     'firstChild',
     'lastChild',
     'nextNode',
@@ -93347,7 +94278,7 @@
   };
   const currentNode = Symbol("TreeWalker.currentNode");
   const filter$ = Symbol("TreeWalker.filter");
-  const root$0 = Symbol("TreeWalker.root");
+  const root$1 = Symbol("TreeWalker.root");
   const whatToShow$ = Symbol("TreeWalker.whatToShow");
   dart.setSignature(html$.TreeWalker, {
     fields: () => ({
@@ -93372,7 +94303,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.UListElement._check(html$.document[dartx.createElement]("ul"));
+      return html$.document.createElement("ul");
     }
     created() {
       super.created();
@@ -93380,6 +94311,33 @@
   };
   dart.defineNamedConstructor(html$.UListElement, 'created');
   dart.registerExtension(dart.global.HTMLUListElement, html$.UListElement);
+  dart.defineExtensionNames([
+    'cancel',
+    'pull',
+    'start'
+  ]);
+  html$.UnderlyingSourceBase = class UnderlyingSourceBase extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    [dartx.cancel](...args) {
+      return this.cancel.apply(this, args);
+    }
+    [dartx.pull](...args) {
+      return this.pull.apply(this, args);
+    }
+    [dartx.start](...args) {
+      return this.start.apply(this, args);
+    }
+  };
+  dart.setSignature(html$.UnderlyingSourceBase, {
+    methods: () => ({
+      [dartx.cancel]: dart.fnType(async.Future, [core.Object]),
+      [dartx.pull]: dart.fnType(async.Future, []),
+      [dartx.start]: dart.fnType(async.Future, [core.Object])
+    })
+  });
+  dart.registerExtension(dart.global.UnderlyingSourceBase, html$.UnderlyingSourceBase);
   html$.UnknownElement = class UnknownElement extends html$.HtmlElement {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -93494,8 +94452,8 @@
   const host$3 = Symbol("Url.host");
   const hostname$1 = Symbol("Url.hostname");
   const href$5 = Symbol("Url.href");
-  const origin$5 = Symbol("Url.origin");
-  const password$1 = Symbol("Url.password");
+  const origin$6 = Symbol("Url.origin");
+  const password$0 = Symbol("Url.password");
   const pathname$1 = Symbol("Url.pathname");
   const port$6 = Symbol("Url.port");
   const protocol$3 = Symbol("Url.protocol");
@@ -93527,6 +94485,66 @@
   });
   dart.registerExtension(dart.global.URL, html$.Url);
   dart.defineExtensionNames([
+    'append',
+    'delete',
+    'get',
+    'getAll',
+    'has',
+    'set'
+  ]);
+  html$.UrlSearchParams = class UrlSearchParams extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(init) {
+      if (init === void 0) init = null;
+      if (init != null) {
+        return html$.UrlSearchParams._create_1(init);
+      }
+      return html$.UrlSearchParams._create_2();
+    }
+    static _create_1(init) {
+      return new URLSearchParams(init);
+    }
+    static _create_2() {
+      return new URLSearchParams();
+    }
+    [dartx.append](...args) {
+      return this.append.apply(this, args);
+    }
+    [dartx.delete](...args) {
+      return this.delete.apply(this, args);
+    }
+    [dartx.get](...args) {
+      return this.get.apply(this, args);
+    }
+    [dartx.getAll](...args) {
+      return this.getAll.apply(this, args);
+    }
+    [dartx.has](...args) {
+      return this.has.apply(this, args);
+    }
+    [dartx.set](...args) {
+      return this.set.apply(this, args);
+    }
+  };
+  dart.setSignature(html$.UrlSearchParams, {
+    methods: () => ({
+      [dartx.append]: dart.fnType(dart.void, [core.String, core.String]),
+      [dartx.delete]: dart.fnType(dart.void, [core.String]),
+      [dartx.get]: dart.fnType(core.String, [core.String]),
+      [dartx.getAll]: dart.fnType(core.List$(core.String), [core.String]),
+      [dartx.has]: dart.fnType(core.bool, [core.String]),
+      [dartx.set]: dart.fnType(dart.void, [core.String, core.String])
+    }),
+    statics: () => ({
+      _create_1: dart.fnType(html$.UrlSearchParams, [dart.dynamic]),
+      _create_2: dart.fnType(html$.UrlSearchParams, [])
+    }),
+    names: ['_create_1', '_create_2']
+  });
+  dart.registerExtension(dart.global.URLSearchParams, html$.UrlSearchParams);
+  dart.defineExtensionNames([
     'hash',
     'host',
     'hostname',
@@ -93568,16 +94586,16 @@
       this[href$6] = value;
     }
     get origin() {
-      return this[origin$6];
+      return this[origin$7];
     }
     set origin(value) {
       super.origin = value;
     }
     get password() {
-      return this[password$2];
+      return this[password$1];
     }
     set password(value) {
-      this[password$2] = value;
+      this[password$1] = value;
     }
     get pathname() {
       return this[pathname$2];
@@ -93614,8 +94632,8 @@
   const host$4 = Symbol("UrlUtils.host");
   const hostname$2 = Symbol("UrlUtils.hostname");
   const href$6 = Symbol("UrlUtils.href");
-  const origin$6 = Symbol("UrlUtils.origin");
-  const password$2 = Symbol("UrlUtils.password");
+  const origin$7 = Symbol("UrlUtils.origin");
+  const password$1 = Symbol("UrlUtils.password");
   const pathname$2 = Symbol("UrlUtils.pathname");
   const port$7 = Symbol("UrlUtils.port");
   const protocol$4 = Symbol("UrlUtils.protocol");
@@ -93699,7 +94717,7 @@
       super.href = value;
     }
     get origin() {
-      return this[origin$7];
+      return this[origin$8];
     }
     set origin(value) {
       super.origin = value;
@@ -93733,7 +94751,7 @@
   const host$5 = Symbol("UrlUtilsReadOnly.host");
   const hostname$3 = Symbol("UrlUtilsReadOnly.hostname");
   const href$7 = Symbol("UrlUtilsReadOnly.href");
-  const origin$7 = Symbol("UrlUtilsReadOnly.origin");
+  const origin$8 = Symbol("UrlUtilsReadOnly.origin");
   const pathname$3 = Symbol("UrlUtilsReadOnly.pathname");
   const port$8 = Symbol("UrlUtilsReadOnly.port");
   const protocol$5 = Symbol("UrlUtilsReadOnly.protocol");
@@ -94026,16 +95044,16 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     static new() {
-      return html$.VideoElement._check(html$.document[dartx.createElement]("video"));
+      return html$.document.createElement("video");
     }
     created() {
-      this[height$9] = null;
+      this[height$10] = null;
       this[poster] = null;
       this[videoHeight] = null;
       this[videoWidth] = null;
       this[decodedFrameCount] = null;
       this[droppedFrameCount] = null;
-      this[width$10] = null;
+      this[width$11] = null;
       super.created();
     }
     get [dartx.height]() {
@@ -94079,13 +95097,13 @@
     }
   };
   dart.defineNamedConstructor(html$.VideoElement, 'created');
-  const height$9 = Symbol("VideoElement.height");
+  const height$10 = Symbol("VideoElement.height");
   const poster = Symbol("VideoElement.poster");
   const videoHeight = Symbol("VideoElement.videoHeight");
   const videoWidth = Symbol("VideoElement.videoWidth");
   const decodedFrameCount = Symbol("VideoElement.decodedFrameCount");
   const droppedFrameCount = Symbol("VideoElement.droppedFrameCount");
-  const width$10 = Symbol("VideoElement.width");
+  const width$11 = Symbol("VideoElement.width");
   html$.VideoElement[dart.implements] = () => [html$.CanvasImageSource];
   dart.setSignature(html$.VideoElement, {
     fields: () => ({
@@ -94170,9 +95188,9 @@
       this.selected = value;
     }
   };
-  const id$14 = Symbol("VideoTrack.id");
+  const id$15 = Symbol("VideoTrack.id");
   const kind$5 = Symbol("VideoTrack.kind");
-  const label$11 = Symbol("VideoTrack.label");
+  const label$10 = Symbol("VideoTrack.label");
   const language$2 = Symbol("VideoTrack.language");
   const selected$ = Symbol("VideoTrack.selected");
   dart.setSignature(html$.VideoTrack, {
@@ -94401,15 +95419,15 @@
       this.width = value;
     }
   };
-  const height$10 = Symbol("VttRegion.height");
-  const id$15 = Symbol("VttRegion.id");
+  const height$11 = Symbol("VttRegion.height");
+  const id$16 = Symbol("VttRegion.id");
   const regionAnchorX = Symbol("VttRegion.regionAnchorX");
   const regionAnchorY = Symbol("VttRegion.regionAnchorY");
   const scroll = Symbol("VttRegion.scroll");
   const track$3 = Symbol("VttRegion.track");
   const viewportAnchorX = Symbol("VttRegion.viewportAnchorX");
   const viewportAnchorY = Symbol("VttRegion.viewportAnchorY");
-  const width$11 = Symbol("VttRegion.width");
+  const width$12 = Symbol("VttRegion.width");
   dart.setSignature(html$.VttRegion, {
     fields: () => ({
       [dartx.height]: dart.fieldType(core.int),
@@ -94549,7 +95567,7 @@
   const extensions = Symbol("WebSocket.extensions");
   const protocol$6 = Symbol("WebSocket.protocol");
   const readyState$9 = Symbol("WebSocket.readyState");
-  const url$3 = Symbol("WebSocket.url");
+  const url$2 = Symbol("WebSocket.url");
   dart.setSignature(html$.WebSocket, {
     fields: () => ({
       [dartx.binaryType]: dart.fieldType(core.String),
@@ -94763,6 +95781,8 @@
   const _get_top = Symbol('_get_top');
   const __getter___1 = Symbol('__getter___1');
   const __getter___2 = Symbol('__getter___2');
+  const _requestIdleCallback_1 = Symbol('_requestIdleCallback_1');
+  const _requestIdleCallback_2 = Symbol('_requestIdleCallback_2');
   const _scroll_4 = Symbol('_scroll_4');
   const _scroll_5 = Symbol('_scroll_5');
   const _scrollBy_4 = Symbol('_scrollBy_4');
@@ -94789,6 +95809,7 @@
     'top',
     'window',
     'alert',
+    'cancelIdleCallback',
     'close',
     'confirm',
     'fetch',
@@ -94800,6 +95821,7 @@
     'openDatabase',
     'postMessage',
     'print',
+    'requestIdleCallback',
     'resizeBy',
     'resizeTo',
     'scroll',
@@ -94900,6 +95922,7 @@
     'history',
     'innerHeight',
     'innerWidth',
+    'isSecureContext',
     'localStorage',
     'locationbar',
     'menubar',
@@ -94910,6 +95933,7 @@
     'outerHeight',
     'outerWidth',
     'performance',
+    'renderWorklet',
     'screen',
     'screenLeft',
     'screenTop',
@@ -95045,6 +96069,9 @@
     get [dartx.innerWidth]() {
       return this.innerWidth;
     }
+    get [dartx.isSecureContext]() {
+      return this.isSecureContext;
+    }
     get [dartx.localStorage]() {
       return this.localStorage;
     }
@@ -95099,6 +96126,9 @@
     get [dartx.performance]() {
       return this.performance;
     }
+    get [dartx.renderWorklet]() {
+      return this.renderWorklet;
+    }
     get [dartx.screen]() {
       return this.screen;
     }
@@ -95174,6 +96204,9 @@
     [dartx.alert](...args) {
       return this.alert.apply(this, args);
     }
+    [dartx.cancelIdleCallback](...args) {
+      return this.cancelIdleCallback.apply(this, args);
+    }
     [dartx.close](...args) {
       return this.close.apply(this, args);
     }
@@ -95238,6 +96271,20 @@
     [dartx.print](...args) {
       return this.print.apply(this, args);
     }
+    [dartx.requestIdleCallback](callback, options) {
+      if (options === void 0) options = null;
+      if (options != null) {
+        let options_1 = html_common.convertDartToNative_Dictionary(options);
+        return this[_requestIdleCallback_1](callback, options_1);
+      }
+      return this[_requestIdleCallback_2](callback);
+    }
+    [_requestIdleCallback_1](...args) {
+      return this.requestIdleCallback.apply(this, args);
+    }
+    [_requestIdleCallback_2](...args) {
+      return this.requestIdleCallback.apply(this, args);
+    }
     [dartx.resizeBy](...args) {
       return this.resizeBy.apply(this, args);
     }
@@ -95678,16 +96725,18 @@
   const history = Symbol("Window.history");
   const innerHeight = Symbol("Window.innerHeight");
   const innerWidth = Symbol("Window.innerWidth");
+  const isSecureContext = Symbol("Window.isSecureContext");
   const localStorage = Symbol("Window.localStorage");
   const locationbar = Symbol("Window.locationbar");
   const menubar = Symbol("Window.menubar");
-  const name$38 = Symbol("Window.name");
+  const name$37 = Symbol("Window.name");
   const navigator$0 = Symbol("Window.navigator");
   const offscreenBuffering = Symbol("Window.offscreenBuffering");
   const orientation$0 = Symbol("Window.orientation");
   const outerHeight = Symbol("Window.outerHeight");
   const outerWidth = Symbol("Window.outerWidth");
   const performance$ = Symbol("Window.performance");
+  const renderWorklet = Symbol("Window.renderWorklet");
   const screen = Symbol("Window.screen");
   const screenLeft = Symbol("Window.screenLeft");
   const screenTop = Symbol("Window.screenTop");
@@ -95696,7 +96745,7 @@
   const scrollbars = Symbol("Window.scrollbars");
   const sessionStorage = Symbol("Window.sessionStorage");
   const speechSynthesis = Symbol("Window.speechSynthesis");
-  const status$4 = Symbol("Window.status");
+  const status$3 = Symbol("Window.status");
   const statusbar = Symbol("Window.statusbar");
   const styleMedia = Symbol("Window.styleMedia");
   const toolbar = Symbol("Window.toolbar");
@@ -95713,6 +96762,7 @@
       [dartx.history]: dart.finalFieldType(html$.History),
       [dartx.innerHeight]: dart.finalFieldType(core.int),
       [dartx.innerWidth]: dart.finalFieldType(core.int),
+      [dartx.isSecureContext]: dart.finalFieldType(core.bool),
       [dartx.localStorage]: dart.finalFieldType(html$.Storage),
       [dartx.locationbar]: dart.finalFieldType(html$.BarProp),
       [dartx.menubar]: dart.finalFieldType(html$.BarProp),
@@ -95727,6 +96777,7 @@
       [_pageYOffset]: dart.finalFieldType(core.double),
       [_get_parent]: dart.finalFieldType(dart.dynamic),
       [dartx.performance]: dart.finalFieldType(html$.Performance),
+      [dartx.renderWorklet]: dart.finalFieldType(html$._Worklet),
       [dartx.screen]: dart.finalFieldType(html$.Screen),
       [dartx.screenLeft]: dart.finalFieldType(core.int),
       [dartx.screenTop]: dart.finalFieldType(core.int),
@@ -95855,6 +96906,7 @@
       [__getter___1]: dart.fnType(dart.dynamic, [core.int]),
       [__getter___2]: dart.fnType(dart.dynamic, [core.String]),
       [dartx.alert]: dart.fnType(dart.void, [], [core.String]),
+      [dartx.cancelIdleCallback]: dart.fnType(dart.void, [core.int]),
       [dartx.close]: dart.fnType(dart.void, []),
       [dartx.confirm]: dart.fnType(core.bool, [], [core.String]),
       [dartx.fetch]: dart.fnType(async.Future, [dart.dynamic], [core.Map]),
@@ -95872,6 +96924,9 @@
       [_postMessage_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, ListOfMessagePort()]),
       [_postMessage_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic]),
       [dartx.print]: dart.fnType(dart.void, []),
+      [dartx.requestIdleCallback]: dart.fnType(core.int, [html$.IdleRequestCallback], [core.Map]),
+      [_requestIdleCallback_1]: dart.fnType(core.int, [html$.IdleRequestCallback, dart.dynamic]),
+      [_requestIdleCallback_2]: dart.fnType(core.int, [html$.IdleRequestCallback]),
       [dartx.resizeBy]: dart.fnType(dart.void, [core.int, core.int]),
       [dartx.resizeTo]: dart.fnType(dart.void, [core.int, core.int]),
       [dartx.scroll]: dart.fnType(dart.void, [], [dart.dynamic, dart.dynamic, core.Map]),
@@ -95993,12 +97048,21 @@
     get currentTarget() {
       return this.wrapped[dartx.currentTarget];
     }
+    deepPath() {
+      return this.wrapped.deepPath();
+    }
     get defaultPrevented() {
       return this.wrapped.defaultPrevented;
     }
     get eventPhase() {
       return this.wrapped.eventPhase;
     }
+    get isTrusted() {
+      return this.wrapped.isTrusted;
+    }
+    get scoped() {
+      return this.wrapped.scoped;
+    }
     get target() {
       return this.wrapped[dartx.target];
     }
@@ -96056,8 +97120,10 @@
       currentTarget: dart.fnType(html$.EventTarget, []),
       defaultPrevented: dart.fnType(core.bool, []),
       eventPhase: dart.fnType(core.int, []),
+      isTrusted: dart.fnType(core.bool, []),
+      scoped: dart.fnType(core.bool, []),
       target: dart.fnType(html$.EventTarget, []),
-      timeStamp: dart.fnType(core.int, []),
+      timeStamp: dart.fnType(core.double, []),
       type: dart.fnType(core.String, []),
       matchingTarget: dart.fnType(html$.Element, []),
       path: dart.fnType(core.List$(html$.Node), []),
@@ -96065,6 +97131,7 @@
       [_get_target]: dart.fnType(dart.dynamic, [])
     }),
     methods: () => ({
+      deepPath: dart.fnType(core.List$(html$.EventTarget), []),
       [_initEvent]: dart.fnType(dart.void, [core.String, core.bool, core.bool]),
       preventDefault: dart.fnType(dart.void, []),
       stopImmediatePropagation: dart.fnType(dart.void, []),
@@ -96072,6 +97139,7 @@
     })
   });
   dart.defineExtensionMembers(html$._WrappedEvent, [
+    'deepPath',
     'preventDefault',
     'stopImmediatePropagation',
     'stopPropagation',
@@ -96080,6 +97148,8 @@
     'currentTarget',
     'defaultPrevented',
     'eventPhase',
+    'isTrusted',
+    'scoped',
     'target',
     'timeStamp',
     'type',
@@ -96152,6 +97222,7 @@
   };
   dart.defineExtensionNames([
     'focus',
+    'navigate',
     'focused',
     'visibilityState'
   ]);
@@ -96168,6 +97239,9 @@
     [dartx.focus](...args) {
       return this.focus.apply(this, args);
     }
+    [dartx.navigate](...args) {
+      return this.navigate.apply(this, args);
+    }
   };
   const focused = Symbol("WindowClient.focused");
   const visibilityState = Symbol("WindowClient.visibilityState");
@@ -96176,7 +97250,10 @@
       [dartx.focused]: dart.finalFieldType(core.bool),
       [dartx.visibilityState]: dart.finalFieldType(core.String)
     }),
-    methods: () => ({[dartx.focus]: dart.fnType(async.Future, [])})
+    methods: () => ({
+      [dartx.focus]: dart.fnType(async.Future, []),
+      [dartx.navigate]: dart.fnType(async.Future, [core.String])
+    })
   });
   dart.registerExtension(dart.global.WindowClient, html$.WindowClient);
   dart.defineExtensionNames([
@@ -96336,13 +97413,13 @@
   dart.defineExtensionNames([
     'clearMarks',
     'clearMeasures',
+    'clearResourceTimings',
     'getEntries',
     'getEntriesByName',
     'getEntriesByType',
     'mark',
     'measure',
     'now',
-    'clearResourceTimings',
     'setResourceTimingBufferSize',
     'memory'
   ]);
@@ -96359,6 +97436,9 @@
     [dartx.clearMeasures](...args) {
       return this.clearMeasures.apply(this, args);
     }
+    [dartx.clearResourceTimings](...args) {
+      return this.clearResourceTimings.apply(this, args);
+    }
     [dartx.getEntries](...args) {
       return this.getEntries.apply(this, args);
     }
@@ -96377,11 +97457,8 @@
     [dartx.now](...args) {
       return this.now.apply(this, args);
     }
-    [dartx.clearResourceTimings](...args) {
-      return this.webkitClearResourceTimings.apply(this, args);
-    }
     [dartx.setResourceTimingBufferSize](...args) {
-      return this.webkitSetResourceTimingBufferSize.apply(this, args);
+      return this.setResourceTimingBufferSize.apply(this, args);
     }
   };
   const memory$ = Symbol("WorkerPerformance.memory");
@@ -96390,13 +97467,13 @@
     methods: () => ({
       [dartx.clearMarks]: dart.fnType(dart.void, [core.String]),
       [dartx.clearMeasures]: dart.fnType(dart.void, [core.String]),
+      [dartx.clearResourceTimings]: dart.fnType(dart.void, []),
       [dartx.getEntries]: dart.fnType(core.List$(html$.PerformanceEntry), []),
       [dartx.getEntriesByName]: dart.fnType(core.List$(html$.PerformanceEntry), [core.String, core.String]),
       [dartx.getEntriesByType]: dart.fnType(core.List$(html$.PerformanceEntry), [core.String]),
       [dartx.mark]: dart.fnType(dart.void, [core.String]),
       [dartx.measure]: dart.fnType(dart.void, [core.String, core.String, core.String]),
       [dartx.now]: dart.fnType(core.double, []),
-      [dartx.clearResourceTimings]: dart.fnType(dart.void, []),
       [dartx.setResourceTimingBufferSize]: dart.fnType(dart.void, [core.int])
     })
   });
@@ -96664,9 +97741,15 @@
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
+    get [_localName]() {
+      return this.localName;
+    }
     get [dartx.name]() {
       return this.name;
     }
+    get [_namespaceUri]() {
+      return this.namespaceURI;
+    }
     get [dartx.value]() {
       return this.value;
     }
@@ -96676,11 +97759,61 @@
   };
   dart.setSignature(html$._Attr, {
     fields: () => ({
+      [_localName]: dart.finalFieldType(core.String),
       [dartx.name]: dart.finalFieldType(core.String),
+      [_namespaceUri]: dart.finalFieldType(core.String),
       [dartx.value]: dart.fieldType(core.String)
     })
   });
   dart.registerExtension(dart.global.Attr, html$._Attr);
+  html$._Bluetooth = class _Bluetooth extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.Bluetooth, html$._Bluetooth);
+  html$._BluetoothAdvertisingData = class _BluetoothAdvertisingData extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.BluetoothAdvertisingData, html$._BluetoothAdvertisingData);
+  html$._BluetoothCharacteristicProperties = class _BluetoothCharacteristicProperties extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.BluetoothCharacteristicProperties, html$._BluetoothCharacteristicProperties);
+  html$._BluetoothDevice = class _BluetoothDevice extends html$.EventTarget {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.BluetoothDevice, html$._BluetoothDevice);
+  html$._BluetoothRemoteGATTCharacteristic = class _BluetoothRemoteGATTCharacteristic extends html$.EventTarget {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.BluetoothRemoteGATTCharacteristic, html$._BluetoothRemoteGATTCharacteristic);
+  html$._BluetoothRemoteGATTServer = class _BluetoothRemoteGATTServer extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.BluetoothRemoteGATTServer, html$._BluetoothRemoteGATTServer);
+  html$._BluetoothRemoteGATTService = class _BluetoothRemoteGATTService extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.BluetoothRemoteGATTService, html$._BluetoothRemoteGATTService);
+  html$._BluetoothUUID = class _BluetoothUUID extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.BluetoothUUID, html$._BluetoothUUID);
   html$._Cache = class _Cache extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -96857,7 +97990,7 @@
     }
     [dartx._get](index) {
       if (index >>> 0 !== index || index >= this[dartx.length]) dart.throw(core.RangeError.index(index, this));
-      return this.item(index);
+      return this[index];
     }
     [dartx._set](index, value) {
       dart.throw(new core.UnsupportedError("Cannot assign element of immutable List."));
@@ -96897,7 +98030,7 @@
       return this.item.apply(this, args);
     }
   };
-  html$._ClientRectList[dart.implements] = () => [ListOfRectangleOfnum()];
+  html$._ClientRectList[dart.implements] = () => [ListOfRectangleOfnum(), JavaScriptIndexingBehaviorOfRectangleOfnum()];
   dart.setSignature(html$._ClientRectList, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -96973,7 +98106,7 @@
       return this.item.apply(this, args);
     }
   };
-  html$._CssRuleList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior, ListOfCssRule()];
+  html$._CssRuleList[dart.implements] = () => [JavaScriptIndexingBehaviorOfCssRule(), ListOfCssRule()];
   dart.setSignature(html$._CssRuleList, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -97196,7 +98329,7 @@
       return this.item.apply(this, args);
     }
   };
-  html$._GamepadList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior, ListOfGamepad()];
+  html$._GamepadList[dart.implements] = () => [ListOfGamepad(), JavaScriptIndexingBehaviorOfGamepad()];
   dart.setSignature(html$._GamepadList, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -97225,16 +98358,6 @@
     methods: () => ({[_item]: dart.fnType(html$.Element, [core.int])})
   });
   dart.registerExtension(dart.global.HTMLAllCollection, html$._HTMLAllCollection);
-  html$._HTMLAppletElement = class _HTMLAppletElement extends html$.HtmlElement {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    created() {
-      super.created();
-    }
-  };
-  dart.defineNamedConstructor(html$._HTMLAppletElement, 'created');
-  dart.registerExtension(dart.global.HTMLAppletElement, html$._HTMLAppletElement);
   html$._HTMLDirectoryElement = class _HTMLDirectoryElement extends html$.HtmlElement {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -97286,6 +98409,12 @@
   };
   dart.defineNamedConstructor(html$._HTMLMarqueeElement, 'created');
   dart.registerExtension(dart.global.HTMLMarqueeElement, html$._HTMLMarqueeElement);
+  html$._NFC = class _NFC extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.NFC, html$._NFC);
   dart.defineExtensionNames([
     'length',
     '_get',
@@ -97367,7 +98496,7 @@
       return this.setNamedItemNS.apply(this, args);
     }
   };
-  html$._NamedNodeMap[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior, ListOfNode()];
+  html$._NamedNodeMap[dart.implements] = () => [JavaScriptIndexingBehaviorOfNode(), ListOfNode()];
   dart.setSignature(html$._NamedNodeMap, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -97399,10 +98528,11 @@
   dart.registerExtension(dart.global.PagePopupController, html$._PagePopupController);
   dart.defineExtensionNames([
     'clone',
-    'context',
     'credentials',
     'headers',
+    'integrity',
     'mode',
+    'redirect',
     'referrer',
     'url'
   ]);
@@ -97424,18 +98554,21 @@
     static _create_2(input) {
       return new Request(input);
     }
-    get [dartx.context]() {
-      return this.context;
-    }
     get [dartx.credentials]() {
       return this.credentials;
     }
     get [dartx.headers]() {
       return this.headers;
     }
+    get [dartx.integrity]() {
+      return this.integrity;
+    }
     get [dartx.mode]() {
       return this.mode;
     }
+    get [dartx.redirect]() {
+      return this.redirect;
+    }
     get [dartx.referrer]() {
       return this.referrer;
     }
@@ -97448,10 +98581,11 @@
   };
   dart.setSignature(html$._Request, {
     fields: () => ({
-      [dartx.context]: dart.finalFieldType(core.String),
       [dartx.credentials]: dart.finalFieldType(core.String),
       [dartx.headers]: dart.finalFieldType(html$.Headers),
+      [dartx.integrity]: dart.finalFieldType(core.String),
       [dartx.mode]: dart.finalFieldType(core.String),
+      [dartx.redirect]: dart.finalFieldType(core.String),
       [dartx.referrer]: dart.finalFieldType(core.String),
       [dartx.url]: dart.finalFieldType(core.String)
     }),
@@ -97463,6 +98597,12 @@
     names: ['_create_1', '_create_2']
   });
   dart.registerExtension(dart.global.Request, html$._Request);
+  html$._ResourceProgressEvent = class _ResourceProgressEvent extends html$.ProgressEvent {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.ResourceProgressEvent, html$._ResourceProgressEvent);
   html$._Response = class _Response extends html$.Body {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -97562,7 +98702,7 @@
       return this.item.apply(this, args);
     }
   };
-  html$._SpeechRecognitionResultList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior, ListOfSpeechRecognitionResult()];
+  html$._SpeechRecognitionResultList[dart.implements] = () => [JavaScriptIndexingBehaviorOfSpeechRecognitionResult(), ListOfSpeechRecognitionResult()];
   dart.setSignature(html$._SpeechRecognitionResultList, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -97639,7 +98779,7 @@
       return this.item.apply(this, args);
     }
   };
-  html$._StyleSheetList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior, ListOfStyleSheet()];
+  html$._StyleSheetList[dart.implements] = () => [ListOfStyleSheet(), JavaScriptIndexingBehaviorOfStyleSheet()];
   dart.setSignature(html$._StyleSheetList, {
     getters: () => ({
       [dartx.length]: dart.fnType(core.int, []),
@@ -97663,6 +98803,145 @@
     }
   };
   dart.registerExtension(dart.global.SubtleCrypto, html$._SubtleCrypto);
+  html$._USB = class _USB extends html$.EventTarget {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.USB, html$._USB);
+  html$._USBAlternateInterface = class _USBAlternateInterface extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(deviceInterface, alternateSetting) {
+      return html$._USBAlternateInterface._create_1(deviceInterface, alternateSetting);
+    }
+    static _create_1(deviceInterface, alternateSetting) {
+      return new USBAlternateInterface(deviceInterface, alternateSetting);
+    }
+  };
+  dart.setSignature(html$._USBAlternateInterface, {
+    statics: () => ({_create_1: dart.fnType(html$._USBAlternateInterface, [dart.dynamic, dart.dynamic])}),
+    names: ['_create_1']
+  });
+  dart.registerExtension(dart.global.USBAlternateInterface, html$._USBAlternateInterface);
+  html$._USBConfiguration = class _USBConfiguration extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(device, configurationValue) {
+      return html$._USBConfiguration._create_1(device, configurationValue);
+    }
+    static _create_1(device, configurationValue) {
+      return new USBConfiguration(device, configurationValue);
+    }
+  };
+  dart.setSignature(html$._USBConfiguration, {
+    statics: () => ({_create_1: dart.fnType(html$._USBConfiguration, [dart.dynamic, dart.dynamic])}),
+    names: ['_create_1']
+  });
+  dart.registerExtension(dart.global.USBConfiguration, html$._USBConfiguration);
+  html$._USBConnectionEvent = class _USBConnectionEvent extends html$.Event {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(type, eventInitDict) {
+      if (eventInitDict === void 0) eventInitDict = null;
+      if (eventInitDict != null) {
+        let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
+        return html$._USBConnectionEvent._create_1(type, eventInitDict_1);
+      }
+      return html$._USBConnectionEvent._create_2(type);
+    }
+    static _create_1(type, eventInitDict) {
+      return new USBConnectionEvent(type, eventInitDict);
+    }
+    static _create_2(type) {
+      return new USBConnectionEvent(type);
+    }
+  };
+  dart.setSignature(html$._USBConnectionEvent, {
+    statics: () => ({
+      _create_1: dart.fnType(html$._USBConnectionEvent, [dart.dynamic, dart.dynamic]),
+      _create_2: dart.fnType(html$._USBConnectionEvent, [dart.dynamic])
+    }),
+    names: ['_create_1', '_create_2']
+  });
+  dart.registerExtension(dart.global.USBConnectionEvent, html$._USBConnectionEvent);
+  html$._USBDevice = class _USBDevice extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.USBDevice, html$._USBDevice);
+  html$._USBEndpoint = class _USBEndpoint extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(alternate, endpointNumber, direction) {
+      return html$._USBEndpoint._create_1(alternate, endpointNumber, direction);
+    }
+    static _create_1(alternate, endpointNumber, direction) {
+      return new USBEndpoint(alternate, endpointNumber, direction);
+    }
+  };
+  dart.setSignature(html$._USBEndpoint, {
+    statics: () => ({_create_1: dart.fnType(html$._USBEndpoint, [dart.dynamic, dart.dynamic, dart.dynamic])}),
+    names: ['_create_1']
+  });
+  dart.registerExtension(dart.global.USBEndpoint, html$._USBEndpoint);
+  html$._USBInTransferResult = class _USBInTransferResult extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.USBInTransferResult, html$._USBInTransferResult);
+  html$._USBInterface = class _USBInterface extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    static new(configuration, interfaceNumber) {
+      return html$._USBInterface._create_1(configuration, interfaceNumber);
+    }
+    static _create_1(configuration, interfaceNumber) {
+      return new USBInterface(configuration, interfaceNumber);
+    }
+  };
+  dart.setSignature(html$._USBInterface, {
+    statics: () => ({_create_1: dart.fnType(html$._USBInterface, [dart.dynamic, dart.dynamic])}),
+    names: ['_create_1']
+  });
+  dart.registerExtension(dart.global.USBInterface, html$._USBInterface);
+  html$._USBIsochronousInTransferPacket = class _USBIsochronousInTransferPacket extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.USBIsochronousInTransferPacket, html$._USBIsochronousInTransferPacket);
+  html$._USBIsochronousInTransferResult = class _USBIsochronousInTransferResult extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.USBIsochronousInTransferResult, html$._USBIsochronousInTransferResult);
+  html$._USBIsochronousOutTransferPacket = class _USBIsochronousOutTransferPacket extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.USBIsochronousOutTransferPacket, html$._USBIsochronousOutTransferPacket);
+  html$._USBIsochronousOutTransferResult = class _USBIsochronousOutTransferResult extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.USBIsochronousOutTransferResult, html$._USBIsochronousOutTransferResult);
+  html$._USBOutTransferResult = class _USBOutTransferResult extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.USBOutTransferResult, html$._USBOutTransferResult);
   html$._WebKitCSSMatrix = class _WebKitCSSMatrix extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -97708,12 +98987,18 @@
   };
   html$._WorkerNavigator[dart.implements] = () => [html$.NavigatorCpu, html$.NavigatorOnLine, html$.NavigatorID];
   dart.registerExtension(dart.global.WorkerNavigator, html$._WorkerNavigator);
-  html$._XMLHttpRequestProgressEvent = class _XMLHttpRequestProgressEvent extends html$.ProgressEvent {
+  html$._Worklet = class _Worklet extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
   };
-  dart.registerExtension(dart.global.XMLHttpRequestProgressEvent, html$._XMLHttpRequestProgressEvent);
+  dart.registerExtension(dart.global.Worklet, html$._Worklet);
+  html$._WorkletGlobalScope = class _WorkletGlobalScope extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.WorkletGlobalScope, html$._WorkletGlobalScope);
   const _matches = Symbol('_matches');
   html$._AttributeMap = class _AttributeMap extends core.Object {
     new(element) {
@@ -97839,7 +99124,7 @@
       _get: dart.fnType(core.String, [core.Object]),
       _set: dart.fnType(dart.void, [core.String, core.String]),
       remove: dart.fnType(core.String, [core.Object]),
-      [_matches]: dart.fnType(core.bool, [html$.Node])
+      [_matches]: dart.fnType(core.bool, [html$._Attr])
     })
   });
   dart.defineExtensionMembers(html$._ElementAttributeMap, [
@@ -97885,7 +99170,7 @@
       _get: dart.fnType(core.String, [core.Object]),
       _set: dart.fnType(dart.void, [core.String, core.String]),
       remove: dart.fnType(core.String, [core.Object]),
-      [_matches]: dart.fnType(core.bool, [html$.Node])
+      [_matches]: dart.fnType(core.bool, [html$._Attr])
     })
   });
   dart.defineExtensionMembers(html$._NamespacedAttributeMap, [
@@ -98143,8 +99428,8 @@
       bottomLeft: dart.fnType(math.Point$(core.num), [])
     }),
     setters: () => ({
-      height: dart.fnType(dart.void, [core.num]),
-      width: dart.fnType(dart.void, [core.num])
+      height: dart.fnType(dart.void, [dart.dynamic]),
+      width: dart.fnType(dart.void, [dart.dynamic])
     }),
     methods: () => ({
       [_addOrSubtractToBoxModel]: dart.fnType(core.num, [ListOfString(), core.String]),
@@ -98183,10 +99468,10 @@
     }
     set height(newHeight) {
       if (html$.Dimension.is(newHeight)) {
-        if (dart.test(dart.dsend(dart.dload(newHeight, dartx.value), '<', 0))) newHeight = new html$.Dimension.px(0);
+        if (dart.test(dart.dsend(dart.dload(newHeight, 'value'), '<', 0))) newHeight = new html$.Dimension.px(0);
         this[_element$].style[dartx.height] = dart.toString(newHeight);
       } else if (typeof newHeight == 'number') {
-        if (dart.notNull(newHeight) < 0) newHeight = 0;
+        if (dart.test(dart.dsend(newHeight, '<', 0))) newHeight = 0;
         this[_element$].style[dartx.height] = dart.str`${newHeight}px`;
       } else {
         dart.throw(new core.ArgumentError("newHeight is not a Dimension or num"));
@@ -98194,10 +99479,10 @@
     }
     set width(newWidth) {
       if (html$.Dimension.is(newWidth)) {
-        if (dart.test(dart.dsend(dart.dload(newWidth, dartx.value), '<', 0))) newWidth = new html$.Dimension.px(0);
+        if (dart.test(dart.dsend(dart.dload(newWidth, 'value'), '<', 0))) newWidth = new html$.Dimension.px(0);
         this[_element$].style[dartx.width] = dart.toString(newWidth);
       } else if (typeof newWidth == 'number') {
-        if (dart.notNull(newWidth) < 0) newWidth = 0;
+        if (dart.test(dart.dsend(newWidth, '<', 0))) newWidth = 0;
         this[_element$].style[dartx.width] = dart.str`${newWidth}px`;
       } else {
         dart.throw(new core.ArgumentError("newWidth is not a Dimension or num"));
@@ -98227,13 +99512,13 @@
       this[_elementList] = elementList;
     }
     set height(newHeight) {
-      this[_elementList][dartx.forEach](dart.fn(e => e[dartx.contentEdge].height = newHeight, ElementTonum()));
+      this[_elementList][dartx.forEach](dart.fn(e => e[dartx.contentEdge].height = newHeight, ElementTovoid$()));
     }
     get height() {
       return super.height;
     }
     set width(newWidth) {
-      this[_elementList][dartx.forEach](dart.fn(e => e[dartx.contentEdge].width = newWidth, ElementTonum()));
+      this[_elementList][dartx.forEach](dart.fn(e => e[dartx.contentEdge].width = newWidth, ElementTovoid$()));
     }
     get width() {
       return super.width;
@@ -99284,6 +100569,12 @@
     get [_realAltKey]() {
       return this[_parent$].altKey;
     }
+    get sourceCapabilities() {
+      return this[sourceCapabilities$];
+    }
+    set sourceCapabilities(value) {
+      super.sourceCapabilities = value;
+    }
     static _makeRecord() {
       let interceptor = _foreign_helper.JS_INTERCEPTOR_CONSTANT(dart.wrapType(html$.KeyboardEvent));
       return _js_helper.makeLeafDispatchRecord(interceptor);
@@ -99294,6 +100585,7 @@
       this[_shadowCharCode] = null;
       this[_shadowKeyCode] = null;
       this[_currentTarget] = null;
+      this[sourceCapabilities$] = null;
       super.new(parent);
       this[_parent$] = parent;
       this[_shadowAltKey] = this[_realAltKey];
@@ -99307,7 +100599,7 @@
       let cancelable = opts && 'cancelable' in opts ? opts.cancelable : true;
       let keyCode = opts && 'keyCode' in opts ? opts.keyCode : 0;
       let charCode = opts && 'charCode' in opts ? opts.charCode : 0;
-      let keyLocation = opts && 'keyLocation' in opts ? opts.keyLocation : 1;
+      let location = opts && 'location' in opts ? opts.location : 1;
       let ctrlKey = opts && 'ctrlKey' in opts ? opts.ctrlKey : false;
       let altKey = opts && 'altKey' in opts ? opts.altKey : false;
       let shiftKey = opts && 'shiftKey' in opts ? opts.shiftKey : false;
@@ -99322,7 +100614,7 @@
         eventObj.keyCode = keyCode;
         eventObj.which = keyCode;
         eventObj.charCode = charCode;
-        eventObj.keyLocation = keyLocation;
+        eventObj.location = location;
         eventObj.ctrlKey = ctrlKey;
         eventObj.altKey = altKey;
         eventObj.shiftKey = shiftKey;
@@ -99345,7 +100637,7 @@
           }
         });
         let keyIdentifier = html$.KeyEvent._convertToHexString(charCode, keyCode);
-        dart.dsend(eventObj, _initKeyboardEvent, type, canBubble, cancelable, view, keyIdentifier, keyLocation, ctrlKey, altKey, shiftKey, metaKey);
+        dart.dsend(eventObj, _initKeyboardEvent, type, canBubble, cancelable, view, keyIdentifier, location, ctrlKey, altKey, shiftKey, metaKey);
         eventObj.keyCodeVal = keyCode;
         eventObj.charCodeVal = charCode;
       }
@@ -99386,8 +100678,8 @@
     get key() {
       return this[_parent$].key;
     }
-    get keyLocation() {
-      return this[_parent$].keyLocation;
+    get location() {
+      return this[_parent$].location;
     }
     get metaKey() {
       return this[_parent$].metaKey;
@@ -99395,9 +100687,6 @@
     get shiftKey() {
       return this[_parent$].shiftKey;
     }
-    get sourceDevice() {
-      return this[_parent$].sourceDevice;
-    }
     get view() {
       return html$.Window._check(this[_parent$][dartx.view]);
     }
@@ -99419,15 +100708,12 @@
     get [_keyIdentifier]() {
       dart.throw(new core.UnsupportedError("keyIdentifier is unsupported."));
     }
-    [_initKeyboardEvent](type, canBubble, cancelable, view, keyIdentifier, keyLocation, ctrlKey, altKey, shiftKey, metaKey) {
+    [_initKeyboardEvent](type, canBubble, cancelable, view, keyIdentifier, location, ctrlKey, altKey, shiftKey, metaKey) {
       dart.throw(new core.UnsupportedError("Cannot initialize a KeyboardEvent from a KeyEvent."));
     }
     getModifierState(keyArgument) {
       return dart.throw(new core.UnimplementedError());
     }
-    get location() {
-      return dart.throw(new core.UnimplementedError());
-    }
     get repeat() {
       return dart.throw(new core.UnimplementedError());
     }
@@ -99436,6 +100722,7 @@
     }
   };
   dart.defineNamedConstructor(html$.KeyEvent, 'wrap');
+  const sourceCapabilities$ = Symbol("KeyEvent.sourceCapabilities");
   html$.KeyEvent[dart.implements] = () => [html$.KeyboardEvent];
   dart.setSignature(html$.KeyEvent, {
     fields: () => ({
@@ -99443,7 +100730,8 @@
       [_shadowAltKey]: dart.fieldType(core.bool),
       [_shadowCharCode]: dart.fieldType(core.int),
       [_shadowKeyCode]: dart.fieldType(core.int),
-      [_currentTarget]: dart.fieldType(html$.EventTarget)
+      [_currentTarget]: dart.fieldType(html$.EventTarget),
+      sourceCapabilities: dart.finalFieldType(html$.InputDeviceCapabilities)
     }),
     getters: () => ({
       keyCode: dart.fnType(core.int, []),
@@ -99457,17 +100745,15 @@
       ctrlKey: dart.fnType(core.bool, []),
       detail: dart.fnType(core.int, []),
       key: dart.fnType(core.String, []),
-      keyLocation: dart.fnType(core.int, []),
+      location: dart.fnType(core.int, []),
       metaKey: dart.fnType(core.bool, []),
       shiftKey: dart.fnType(core.bool, []),
-      sourceDevice: dart.fnType(html$.InputDevice, []),
       view: dart.fnType(html$.Window, []),
       [_shadowKeyIdentifier]: dart.fnType(core.String, []),
       [_charCode]: dart.fnType(core.int, []),
       [_keyCode]: dart.fnType(core.int, []),
       [_which]: dart.fnType(core.int, []),
       [_keyIdentifier]: dart.fnType(core.String, []),
-      location: dart.fnType(core.int, []),
       repeat: dart.fnType(core.bool, []),
       [_get_view]: dart.fnType(dart.dynamic, [])
     }),
@@ -99484,6 +100770,7 @@
   });
   dart.defineExtensionMembers(html$.KeyEvent, [
     'getModifierState',
+    'sourceCapabilities',
     'keyCode',
     'charCode',
     'altKey',
@@ -99493,12 +100780,10 @@
     'ctrlKey',
     'detail',
     'key',
-    'keyLocation',
+    'location',
     'metaKey',
     'shiftKey',
-    'sourceDevice',
     'view',
-    'location',
     'repeat'
   ]);
   dart.defineLazy(html$.KeyEvent, {
@@ -100749,18 +102034,18 @@
     }
     [_determineKeyCodeForKeypress](event) {
       for (let prevEvent of this[_keyDownList]) {
-        if (prevEvent[_shadowCharCode] == event[dartx.charCode]) {
+        if (prevEvent[_shadowCharCode] == event.charCode) {
           return prevEvent.keyCode;
         }
-        if ((dart.test(event.shiftKey) || dart.test(this[_capsLockOn])) && dart.notNull(event[dartx.charCode]) >= dart.notNull("A"[dartx.codeUnits][dartx._get](0)) && dart.notNull(event[dartx.charCode]) <= dart.notNull("Z"[dartx.codeUnits][dartx._get](0)) && dart.notNull(event[dartx.charCode]) + dart.notNull(html$._KeyboardEventHandler._ROMAN_ALPHABET_OFFSET) == prevEvent[_shadowCharCode]) {
+        if ((dart.test(event.shiftKey) || dart.test(this[_capsLockOn])) && dart.notNull(event.charCode) >= dart.notNull("A"[dartx.codeUnits][dartx._get](0)) && dart.notNull(event.charCode) <= dart.notNull("Z"[dartx.codeUnits][dartx._get](0)) && dart.notNull(event.charCode) + dart.notNull(html$._KeyboardEventHandler._ROMAN_ALPHABET_OFFSET) == prevEvent[_shadowCharCode]) {
           return prevEvent.keyCode;
         }
       }
       return html$.KeyCode.UNKNOWN;
     }
     [_findCharCodeKeyDown](event) {
-      if (event.keyLocation == 3) {
-        switch (event[dartx.keyCode]) {
+      if (event.location == 3) {
+        switch (event.keyCode) {
           case html$.KeyCode.NUM_ZERO:
           {
             return html$.KeyCode.ZERO;
@@ -100822,10 +102107,10 @@
             return 47;
           }
         }
-      } else if (dart.notNull(event[dartx.keyCode]) >= 65 && dart.notNull(event[dartx.keyCode]) <= 90) {
-        return dart.notNull(event[dartx.keyCode]) + dart.notNull(html$._KeyboardEventHandler._ROMAN_ALPHABET_OFFSET);
+      } else if (dart.notNull(event.keyCode) >= 65 && dart.notNull(event.keyCode) <= 90) {
+        return dart.notNull(event.keyCode) + dart.notNull(html$._KeyboardEventHandler._ROMAN_ALPHABET_OFFSET);
       }
-      switch (event[dartx.keyCode]) {
+      switch (event.keyCode) {
         case html$.KeyCode.SEMICOLON:
         {
           return html$.KeyCode.FF_SEMICOLON;
@@ -100871,7 +102156,7 @@
           return 39;
         }
       }
-      return event[dartx.keyCode];
+      return event.keyCode;
     }
     [_firesKeyPressEvent](event) {
       if (!dart.test(html_common.Device.isIE) && !dart.test(html_common.Device.isWebKit)) {
@@ -100903,7 +102188,7 @@
     }
     [_normalizeKeyCodes](event) {
       if (dart.test(html_common.Device.isFirefox)) {
-        switch (event[dartx.keyCode]) {
+        switch (event.keyCode) {
           case html$.KeyCode.FF_EQUALS:
           {
             return html$.KeyCode.EQUALS;
@@ -100922,7 +102207,7 @@
           }
         }
       }
-      return event[dartx.keyCode];
+      return event.keyCode;
     }
     processKeyDown(e) {
       if (dart.notNull(this[_keyDownList][dartx.length]) > 0 && (this[_keyDownList][dartx.last].keyCode == html$.KeyCode.CTRL && !dart.test(e.ctrlKey) || this[_keyDownList][dartx.last].keyCode == html$.KeyCode.ALT && !dart.test(e.altKey) || dart.test(html_common.Device.userAgent[dartx.contains]('Mac')) && this[_keyDownList][dartx.last].keyCode == html$.KeyCode.META && !dart.test(e.metaKey))) {
@@ -101607,6 +102892,12 @@
     })(_js_helper.convertDartClosureToJS(dart.dynamic)(callback, 4));
   };
   dart.fn(html$._makeCallbackMethod3, dynamicTodynamic$0());
+  html$._checkExtendsNativeClassOrTemplate = function(element, extendsTag, baseClassName) {
+    if (!(element instanceof window[baseClassName]) && !(extendsTag == 'template' && element instanceof window.HTMLUnknownElement)) {
+      dart.throw(new core.UnsupportedError('extendsTag does not match base native class'));
+    }
+  };
+  dart.fn(html$._checkExtendsNativeClassOrTemplate, ElementAndStringAndStringTovoid());
   html$._registerCustomElement = function(context, document, tag, type, extendsTagName) {
     let interceptorClass = _interceptors.findInterceptorConstructorForType(type);
     if (interceptorClass == null) {
@@ -101627,9 +102918,8 @@
         dart.throw(new core.UnsupportedError('Class must provide extendsTag if base ' + 'native class is not HtmlElement'));
       }
     } else {
-      if (!(document.createElement(extendsTagName) instanceof window[baseClassName])) {
-        dart.throw(new core.UnsupportedError('extendsTag does not match base native class'));
-      }
+      let element = dart.dsend(document, 'createElement', extendsTagName);
+      html$._checkExtendsNativeClassOrTemplate(html$.Element._check(element), extendsTagName, baseClassName);
     }
     let baseConstructor = context[baseClassName];
     let properties = {};
@@ -101678,9 +102968,7 @@
         this[_nativeType] = dart.wrapType(html$.HtmlElement);
       } else {
         let element = document[dartx.createElement](extendsTag);
-        if (!(element instanceof window[baseClassName])) {
-          dart.throw(new core.UnsupportedError('extendsTag does not match base native class'));
-        }
+        html$._checkExtendsNativeClassOrTemplate(element, extendsTag, core.String._check(baseClassName));
         this[_nativeType] = dart.runtimeType(element);
       }
       this[_interceptor] = interceptorClass.prototype;
@@ -102007,10 +103295,18 @@
       const walk = (function(node, parent) {
         this.sanitizeNode(node, parent);
         let child = node.lastChild;
-        while (child != null) {
-          let nextChild = child[dartx.previousNode];
-          walk(child, node);
-          child = nextChild;
+        while (null != child) {
+          let nextChild = null;
+          try {
+            nextChild = child[dartx.previousNode];
+          } catch (e) {
+            this[_removeNode](child, node);
+            child = null;
+            nextChild = node.lastChild;
+          }
+
+          if (child != null) walk(child, node);
+          child = html$.Node._check(nextChild);
         }
       }).bind(this);
       dart.fn(walk, NodeAndNodeTovoid());
@@ -102371,32 +103667,32 @@
   dart.fn(html_common.convertNativeToDart_ContextAttributes, dynamicTodynamic$0());
   html_common._TypedImageData = class _TypedImageData extends core.Object {
     get data() {
-      return this[data$8];
+      return this[data$10];
     }
     set data(value) {
       super.data = value;
     }
     get height() {
-      return this[height$11];
+      return this[height$12];
     }
     set height(value) {
       super.height = value;
     }
     get width() {
-      return this[width$12];
+      return this[width$13];
     }
     set width(value) {
       super.width = value;
     }
     new(data, height, width) {
-      this[data$8] = data;
-      this[height$11] = height;
-      this[width$12] = width;
+      this[data$10] = data;
+      this[height$12] = height;
+      this[width$13] = width;
     }
   };
-  const data$8 = Symbol("_TypedImageData.data");
-  const height$11 = Symbol("_TypedImageData.height");
-  const width$12 = Symbol("_TypedImageData.width");
+  const data$10 = Symbol("_TypedImageData.data");
+  const height$12 = Symbol("_TypedImageData.height");
+  const width$13 = Symbol("_TypedImageData.width");
   html_common._TypedImageData[dart.implements] = () => [html$.ImageData];
   dart.setSignature(html_common._TypedImageData, {
     fields: () => ({
@@ -102967,6 +104263,10 @@
     'onSubmit',
     'onSuspend',
     'onTimeUpdate',
+    'onTouchCancel',
+    'onTouchEnd',
+    'onTouchMove',
+    'onTouchStart',
     'onVolumeChange',
     'onWaiting',
     'ownerSvgElement',
@@ -102994,7 +104294,7 @@
       return svg$.SvgElement._check(dart.dload(dart.dsend(dart.dload(fragment, 'nodes'), 'where', dart.fn(e => svg$.SvgElement.is(e), dynamicTobool$1())), 'single'));
     }
     get [dartx.classes]() {
-      return new svg$._AttributeClassSet(this);
+      return new svg$.AttributeClassSet(this);
     }
     set [dartx.classes](value) {
       super[dartx.classes] = value;
@@ -103008,13 +104308,13 @@
       children[dartx.addAll](value);
     }
     get [dartx.outerHtml]() {
-      let container = html$.Element.tag("div");
+      let container = html$.DivElement.new();
       let cloned = svg$.SvgElement._check(this[dartx.clone](true));
       container[dartx.children][dartx.add](cloned);
       return container[dartx.innerHtml];
     }
     get [dartx.innerHtml]() {
-      let container = html$.Element.tag("div");
+      let container = html$.DivElement.new();
       let cloned = svg$.SvgElement._check(this[dartx.clone](true));
       container[dartx.children][dartx.addAll](cloned[dartx.children]);
       return container[dartx.innerHtml];
@@ -103238,6 +104538,18 @@
     get [dartx.onTimeUpdate]() {
       return svg$.SvgElement.timeUpdateEvent.forElement(this);
     }
+    get [dartx.onTouchCancel]() {
+      return svg$.SvgElement.touchCancelEvent.forElement(this);
+    }
+    get [dartx.onTouchEnd]() {
+      return svg$.SvgElement.touchEndEvent.forElement(this);
+    }
+    get [dartx.onTouchMove]() {
+      return svg$.SvgElement.touchMoveEvent.forElement(this);
+    }
+    get [dartx.onTouchStart]() {
+      return svg$.SvgElement.touchStartEvent.forElement(this);
+    }
     get [dartx.onVolumeChange]() {
       return svg$.SvgElement.volumeChangeEvent.forElement(this);
     }
@@ -103413,6 +104725,18 @@
     get timeUpdateEvent() {
       return dart.const(new (EventStreamProviderOfEvent())('timeupdate'));
     },
+    get touchCancelEvent() {
+      return dart.const(new (EventStreamProviderOfTouchEvent())('touchcancel'));
+    },
+    get touchEndEvent() {
+      return dart.const(new (EventStreamProviderOfTouchEvent())('touchend'));
+    },
+    get touchMoveEvent() {
+      return dart.const(new (EventStreamProviderOfTouchEvent())('touchmove'));
+    },
+    get touchStartEvent() {
+      return dart.const(new (EventStreamProviderOfTouchEvent())('touchstart'));
+    },
     get volumeChangeEvent() {
       return dart.const(new (EventStreamProviderOfEvent())('volumechange'));
     },
@@ -103425,8 +104749,6 @@
     'getBBox',
     'getCtm',
     'getScreenCtm',
-    'getTransformToElement',
-    'hasExtension',
     'farthestViewportElement',
     'nearestViewportElement',
     'transform',
@@ -103465,9 +104787,6 @@
     [dartx.getScreenCtm](...args) {
       return this.getScreenCTM.apply(this, args);
     }
-    [dartx.getTransformToElement](...args) {
-      return this.getTransformToElement.apply(this, args);
-    }
     get [dartx.requiredExtensions]() {
       return this.requiredExtensions;
     }
@@ -103477,9 +104796,6 @@
     get [dartx.systemLanguage]() {
       return this.systemLanguage;
     }
-    [dartx.hasExtension](...args) {
-      return this.hasExtension.apply(this, args);
-    }
   };
   dart.defineNamedConstructor(svg$.GraphicsElement, 'created');
   const farthestViewportElement = Symbol("GraphicsElement.farthestViewportElement");
@@ -103501,9 +104817,7 @@
     methods: () => ({
       [dartx.getBBox]: dart.fnType(svg$.Rect, []),
       [dartx.getCtm]: dart.fnType(svg$.Matrix, []),
-      [dartx.getScreenCtm]: dart.fnType(svg$.Matrix, []),
-      [dartx.getTransformToElement]: dart.fnType(svg$.Matrix, [svg$.SvgElement]),
-      [dartx.hasExtension]: dart.fnType(core.bool, [core.String])
+      [dartx.getScreenCtm]: dart.fnType(svg$.Matrix, [])
     })
   });
   dart.registerExtension(dart.global.SVGGraphicsElement, svg$.GraphicsElement);
@@ -103519,7 +104833,7 @@
       return svg$.AElement._check(svg$._SvgElementFactoryProvider.createSvgElement_tag("a"));
     }
     created() {
-      this[target$4] = null;
+      this[target$5] = null;
       this[href$8] = null;
       super.created();
     }
@@ -103531,7 +104845,7 @@
     }
   };
   dart.defineNamedConstructor(svg$.AElement, 'created');
-  const target$4 = Symbol("AElement.target");
+  const target$5 = Symbol("AElement.target");
   const href$8 = Symbol("AElement.href");
   svg$.AElement[dart.implements] = () => [svg$.UriReference];
   dart.setSignature(svg$.AElement, {
@@ -103582,7 +104896,7 @@
     }
   };
   const unitType = Symbol("Angle.unitType");
-  const value$14 = Symbol("Angle.value");
+  const value$16 = Symbol("Angle.value");
   const valueAsString = Symbol("Angle.valueAsString");
   const valueInSpecifiedUnits = Symbol("Angle.valueInSpecifiedUnits");
   dart.setSignature(svg$.Angle, {
@@ -103623,7 +104937,6 @@
     'getCurrentTime',
     'getSimpleDuration',
     'getStartTime',
-    'hasExtension',
     'targetElement',
     'requiredExtensions',
     'requiredFeatures',
@@ -103676,9 +104989,6 @@
     get [dartx.systemLanguage]() {
       return this.systemLanguage;
     }
-    [dartx.hasExtension](...args) {
-      return this.hasExtension.apply(this, args);
-    }
   };
   dart.defineNamedConstructor(svg$.AnimationElement, 'created');
   const targetElement = Symbol("AnimationElement.targetElement");
@@ -103700,8 +105010,7 @@
       [dartx.endElementAt]: dart.fnType(dart.void, [core.num]),
       [dartx.getCurrentTime]: dart.fnType(core.double, []),
       [dartx.getSimpleDuration]: dart.fnType(core.double, []),
-      [dartx.getStartTime]: dart.fnType(core.double, []),
-      [dartx.hasExtension]: dart.fnType(core.bool, [core.String])
+      [dartx.getStartTime]: dart.fnType(core.double, [])
     })
   });
   dart.registerExtension(dart.global.SVGAnimationElement, svg$.AnimationElement);
@@ -104250,11 +105559,11 @@
       this[in1] = null;
       this[in2] = null;
       this[mode$3] = null;
-      this[height$12] = null;
+      this[height$13] = null;
       this[result] = null;
-      this[width$13] = null;
-      this[x$] = null;
-      this[y$] = null;
+      this[width$14] = null;
+      this[x$2] = null;
+      this[y$2] = null;
       super.created();
     }
     static get supported() {
@@ -104289,11 +105598,11 @@
   const in1 = Symbol("FEBlendElement.in1");
   const in2 = Symbol("FEBlendElement.in2");
   const mode$3 = Symbol("FEBlendElement.mode");
-  const height$12 = Symbol("FEBlendElement.height");
+  const height$13 = Symbol("FEBlendElement.height");
   const result = Symbol("FEBlendElement.result");
-  const width$13 = Symbol("FEBlendElement.width");
-  const x$ = Symbol("FEBlendElement.x");
-  const y$ = Symbol("FEBlendElement.y");
+  const width$14 = Symbol("FEBlendElement.width");
+  const x$2 = Symbol("FEBlendElement.x");
+  const y$2 = Symbol("FEBlendElement.y");
   svg$.FEBlendElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
   dart.setSignature(svg$.FEBlendElement, {
     fields: () => ({
@@ -104347,13 +105656,13 @@
     }
     created() {
       this[in1$] = null;
-      this[type$38] = null;
+      this[type$39] = null;
       this[values] = null;
-      this[height$13] = null;
+      this[height$14] = null;
       this[result$] = null;
-      this[width$14] = null;
-      this[x$0] = null;
-      this[y$0] = null;
+      this[width$15] = null;
+      this[x$3] = null;
+      this[y$3] = null;
       super.created();
     }
     static get supported() {
@@ -104386,13 +105695,13 @@
   };
   dart.defineNamedConstructor(svg$.FEColorMatrixElement, 'created');
   const in1$ = Symbol("FEColorMatrixElement.in1");
-  const type$38 = Symbol("FEColorMatrixElement.type");
+  const type$39 = Symbol("FEColorMatrixElement.type");
   const values = Symbol("FEColorMatrixElement.values");
-  const height$13 = Symbol("FEColorMatrixElement.height");
+  const height$14 = Symbol("FEColorMatrixElement.height");
   const result$ = Symbol("FEColorMatrixElement.result");
-  const width$14 = Symbol("FEColorMatrixElement.width");
-  const x$0 = Symbol("FEColorMatrixElement.x");
-  const y$0 = Symbol("FEColorMatrixElement.y");
+  const width$15 = Symbol("FEColorMatrixElement.width");
+  const x$3 = Symbol("FEColorMatrixElement.x");
+  const y$3 = Symbol("FEColorMatrixElement.y");
   svg$.FEColorMatrixElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
   dart.setSignature(svg$.FEColorMatrixElement, {
     fields: () => ({
@@ -104441,11 +105750,11 @@
     }
     created() {
       this[in1$0] = null;
-      this[height$14] = null;
+      this[height$15] = null;
       this[result$0] = null;
-      this[width$15] = null;
-      this[x$1] = null;
-      this[y$1] = null;
+      this[width$16] = null;
+      this[x$4] = null;
+      this[y$4] = null;
       super.created();
     }
     static get supported() {
@@ -104472,11 +105781,11 @@
   };
   dart.defineNamedConstructor(svg$.FEComponentTransferElement, 'created');
   const in1$0 = Symbol("FEComponentTransferElement.in1");
-  const height$14 = Symbol("FEComponentTransferElement.height");
+  const height$15 = Symbol("FEComponentTransferElement.height");
   const result$0 = Symbol("FEComponentTransferElement.result");
-  const width$15 = Symbol("FEComponentTransferElement.width");
-  const x$1 = Symbol("FEComponentTransferElement.x");
-  const y$1 = Symbol("FEComponentTransferElement.y");
+  const width$16 = Symbol("FEComponentTransferElement.width");
+  const x$4 = Symbol("FEComponentTransferElement.x");
+  const y$4 = Symbol("FEComponentTransferElement.y");
   svg$.FEComponentTransferElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
   dart.setSignature(svg$.FEComponentTransferElement, {
     fields: () => ({
@@ -104515,11 +105824,11 @@
       this[k3] = null;
       this[k4] = null;
       this[operator] = null;
-      this[height$15] = null;
+      this[height$16] = null;
       this[result$1] = null;
-      this[width$16] = null;
-      this[x$2] = null;
-      this[y$2] = null;
+      this[width$17] = null;
+      this[x$5] = null;
+      this[y$5] = null;
       super.created();
     }
     get [dartx.in1]() {
@@ -104567,11 +105876,11 @@
   const k3 = Symbol("FECompositeElement.k3");
   const k4 = Symbol("FECompositeElement.k4");
   const operator = Symbol("FECompositeElement.operator");
-  const height$15 = Symbol("FECompositeElement.height");
+  const height$16 = Symbol("FECompositeElement.height");
   const result$1 = Symbol("FECompositeElement.result");
-  const width$16 = Symbol("FECompositeElement.width");
-  const x$2 = Symbol("FECompositeElement.x");
-  const y$2 = Symbol("FECompositeElement.y");
+  const width$17 = Symbol("FECompositeElement.width");
+  const x$5 = Symbol("FECompositeElement.x");
+  const y$5 = Symbol("FECompositeElement.y");
   svg$.FECompositeElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
   dart.setSignature(svg$.FECompositeElement, {
     fields: () => ({
@@ -104652,11 +105961,11 @@
       this[preserveAlpha] = null;
       this[targetX] = null;
       this[targetY] = null;
-      this[height$16] = null;
+      this[height$17] = null;
       this[result$2] = null;
-      this[width$17] = null;
-      this[x$3] = null;
-      this[y$3] = null;
+      this[width$18] = null;
+      this[x$6] = null;
+      this[y$6] = null;
       super.created();
     }
     static get supported() {
@@ -104727,11 +106036,11 @@
   const preserveAlpha = Symbol("FEConvolveMatrixElement.preserveAlpha");
   const targetX = Symbol("FEConvolveMatrixElement.targetX");
   const targetY = Symbol("FEConvolveMatrixElement.targetY");
-  const height$16 = Symbol("FEConvolveMatrixElement.height");
+  const height$17 = Symbol("FEConvolveMatrixElement.height");
   const result$2 = Symbol("FEConvolveMatrixElement.result");
-  const width$17 = Symbol("FEConvolveMatrixElement.width");
-  const x$3 = Symbol("FEConvolveMatrixElement.x");
-  const y$3 = Symbol("FEConvolveMatrixElement.y");
+  const width$18 = Symbol("FEConvolveMatrixElement.width");
+  const x$6 = Symbol("FEConvolveMatrixElement.x");
+  const y$6 = Symbol("FEConvolveMatrixElement.y");
   svg$.FEConvolveMatrixElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
   dart.setSignature(svg$.FEConvolveMatrixElement, {
     fields: () => ({
@@ -104794,11 +106103,11 @@
       this[kernelUnitLengthX$] = null;
       this[kernelUnitLengthY$] = null;
       this[surfaceScale] = null;
-      this[height$17] = null;
+      this[height$18] = null;
       this[result$3] = null;
-      this[width$18] = null;
-      this[x$4] = null;
-      this[y$4] = null;
+      this[width$19] = null;
+      this[x$7] = null;
+      this[y$7] = null;
       super.created();
     }
     static get supported() {
@@ -104841,11 +106150,11 @@
   const kernelUnitLengthX$ = Symbol("FEDiffuseLightingElement.kernelUnitLengthX");
   const kernelUnitLengthY$ = Symbol("FEDiffuseLightingElement.kernelUnitLengthY");
   const surfaceScale = Symbol("FEDiffuseLightingElement.surfaceScale");
-  const height$17 = Symbol("FEDiffuseLightingElement.height");
+  const height$18 = Symbol("FEDiffuseLightingElement.height");
   const result$3 = Symbol("FEDiffuseLightingElement.result");
-  const width$18 = Symbol("FEDiffuseLightingElement.width");
-  const x$4 = Symbol("FEDiffuseLightingElement.x");
-  const y$4 = Symbol("FEDiffuseLightingElement.y");
+  const width$19 = Symbol("FEDiffuseLightingElement.width");
+  const x$7 = Symbol("FEDiffuseLightingElement.x");
+  const y$7 = Symbol("FEDiffuseLightingElement.y");
   svg$.FEDiffuseLightingElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
   dart.setSignature(svg$.FEDiffuseLightingElement, {
     fields: () => ({
@@ -104887,11 +106196,11 @@
       this[scale] = null;
       this[xChannelSelector] = null;
       this[yChannelSelector] = null;
-      this[height$18] = null;
+      this[height$19] = null;
       this[result$4] = null;
-      this[width$19] = null;
-      this[x$5] = null;
-      this[y$5] = null;
+      this[width$20] = null;
+      this[x$8] = null;
+      this[y$8] = null;
       super.created();
     }
     static get supported() {
@@ -104934,11 +106243,11 @@
   const scale = Symbol("FEDisplacementMapElement.scale");
   const xChannelSelector = Symbol("FEDisplacementMapElement.xChannelSelector");
   const yChannelSelector = Symbol("FEDisplacementMapElement.yChannelSelector");
-  const height$18 = Symbol("FEDisplacementMapElement.height");
+  const height$19 = Symbol("FEDisplacementMapElement.height");
   const result$4 = Symbol("FEDisplacementMapElement.result");
-  const width$19 = Symbol("FEDisplacementMapElement.width");
-  const x$5 = Symbol("FEDisplacementMapElement.x");
-  const y$5 = Symbol("FEDisplacementMapElement.y");
+  const width$20 = Symbol("FEDisplacementMapElement.width");
+  const x$8 = Symbol("FEDisplacementMapElement.x");
+  const y$8 = Symbol("FEDisplacementMapElement.y");
   svg$.FEDisplacementMapElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
   dart.setSignature(svg$.FEDisplacementMapElement, {
     fields: () => ({
@@ -105023,11 +106332,11 @@
       return svg$.FEFloodElement._check(svg$._SvgElementFactoryProvider.createSvgElement_tag("feFlood"));
     }
     created() {
-      this[height$19] = null;
+      this[height$20] = null;
       this[result$5] = null;
-      this[width$20] = null;
-      this[x$6] = null;
-      this[y$6] = null;
+      this[width$21] = null;
+      this[x$9] = null;
+      this[y$9] = null;
       super.created();
     }
     static get supported() {
@@ -105050,11 +106359,11 @@
     }
   };
   dart.defineNamedConstructor(svg$.FEFloodElement, 'created');
-  const height$19 = Symbol("FEFloodElement.height");
+  const height$20 = Symbol("FEFloodElement.height");
   const result$5 = Symbol("FEFloodElement.result");
-  const width$20 = Symbol("FEFloodElement.width");
-  const x$6 = Symbol("FEFloodElement.x");
-  const y$6 = Symbol("FEFloodElement.y");
+  const width$21 = Symbol("FEFloodElement.width");
+  const x$9 = Symbol("FEFloodElement.x");
+  const y$9 = Symbol("FEFloodElement.y");
   svg$.FEFloodElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
   dart.setSignature(svg$.FEFloodElement, {
     fields: () => ({
@@ -105162,11 +106471,11 @@
       this[in1$5] = null;
       this[stdDeviationX] = null;
       this[stdDeviationY] = null;
-      this[height$20] = null;
+      this[height$21] = null;
       this[result$6] = null;
-      this[width$21] = null;
-      this[x$7] = null;
-      this[y$7] = null;
+      this[width$22] = null;
+      this[x$10] = null;
+      this[y$10] = null;
       super.created();
     }
     static get supported() {
@@ -105204,11 +106513,11 @@
   const in1$5 = Symbol("FEGaussianBlurElement.in1");
   const stdDeviationX = Symbol("FEGaussianBlurElement.stdDeviationX");
   const stdDeviationY = Symbol("FEGaussianBlurElement.stdDeviationY");
-  const height$20 = Symbol("FEGaussianBlurElement.height");
+  const height$21 = Symbol("FEGaussianBlurElement.height");
   const result$6 = Symbol("FEGaussianBlurElement.result");
-  const width$21 = Symbol("FEGaussianBlurElement.width");
-  const x$7 = Symbol("FEGaussianBlurElement.x");
-  const y$7 = Symbol("FEGaussianBlurElement.y");
+  const width$22 = Symbol("FEGaussianBlurElement.width");
+  const x$10 = Symbol("FEGaussianBlurElement.x");
+  const y$10 = Symbol("FEGaussianBlurElement.y");
   svg$.FEGaussianBlurElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
   dart.setSignature(svg$.FEGaussianBlurElement, {
     fields: () => ({
@@ -105242,11 +106551,11 @@
     }
     created() {
       this[preserveAspectRatio] = null;
-      this[height$21] = null;
+      this[height$22] = null;
       this[result$7] = null;
-      this[width$22] = null;
-      this[x$8] = null;
-      this[y$8] = null;
+      this[width$23] = null;
+      this[x$11] = null;
+      this[y$11] = null;
       this[href$9] = null;
       super.created();
     }
@@ -105277,11 +106586,11 @@
   };
   dart.defineNamedConstructor(svg$.FEImageElement, 'created');
   const preserveAspectRatio = Symbol("FEImageElement.preserveAspectRatio");
-  const height$21 = Symbol("FEImageElement.height");
+  const height$22 = Symbol("FEImageElement.height");
   const result$7 = Symbol("FEImageElement.result");
-  const width$22 = Symbol("FEImageElement.width");
-  const x$8 = Symbol("FEImageElement.x");
-  const y$8 = Symbol("FEImageElement.y");
+  const width$23 = Symbol("FEImageElement.width");
+  const x$11 = Symbol("FEImageElement.x");
+  const y$11 = Symbol("FEImageElement.y");
   const href$9 = Symbol("FEImageElement.href");
   svg$.FEImageElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes, svg$.UriReference];
   dart.setSignature(svg$.FEImageElement, {
@@ -105311,11 +106620,11 @@
       return svg$.FEMergeElement._check(svg$._SvgElementFactoryProvider.createSvgElement_tag("feMerge"));
     }
     created() {
-      this[height$22] = null;
+      this[height$23] = null;
       this[result$8] = null;
-      this[width$23] = null;
-      this[x$9] = null;
-      this[y$9] = null;
+      this[width$24] = null;
+      this[x$12] = null;
+      this[y$12] = null;
       super.created();
     }
     static get supported() {
@@ -105338,11 +106647,11 @@
     }
   };
   dart.defineNamedConstructor(svg$.FEMergeElement, 'created');
-  const height$22 = Symbol("FEMergeElement.height");
+  const height$23 = Symbol("FEMergeElement.height");
   const result$8 = Symbol("FEMergeElement.result");
-  const width$23 = Symbol("FEMergeElement.width");
-  const x$9 = Symbol("FEMergeElement.x");
-  const y$9 = Symbol("FEMergeElement.y");
+  const width$24 = Symbol("FEMergeElement.width");
+  const x$12 = Symbol("FEMergeElement.x");
+  const y$12 = Symbol("FEMergeElement.y");
   svg$.FEMergeElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
   dart.setSignature(svg$.FEMergeElement, {
     fields: () => ({
@@ -105401,11 +106710,11 @@
       this[operator$] = null;
       this[radiusX] = null;
       this[radiusY] = null;
-      this[height$23] = null;
+      this[height$24] = null;
       this[result$9] = null;
-      this[width$24] = null;
-      this[x$10] = null;
-      this[y$10] = null;
+      this[width$25] = null;
+      this[x$13] = null;
+      this[y$13] = null;
       super.created();
     }
     get [dartx.in1]() {
@@ -105441,11 +106750,11 @@
   const operator$ = Symbol("FEMorphologyElement.operator");
   const radiusX = Symbol("FEMorphologyElement.radiusX");
   const radiusY = Symbol("FEMorphologyElement.radiusY");
-  const height$23 = Symbol("FEMorphologyElement.height");
+  const height$24 = Symbol("FEMorphologyElement.height");
   const result$9 = Symbol("FEMorphologyElement.result");
-  const width$24 = Symbol("FEMorphologyElement.width");
-  const x$10 = Symbol("FEMorphologyElement.x");
-  const y$10 = Symbol("FEMorphologyElement.y");
+  const width$25 = Symbol("FEMorphologyElement.width");
+  const x$13 = Symbol("FEMorphologyElement.x");
+  const y$13 = Symbol("FEMorphologyElement.y");
   svg$.FEMorphologyElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
   dart.setSignature(svg$.FEMorphologyElement, {
     fields: () => ({
@@ -105493,11 +106802,11 @@
       this[dx] = null;
       this[dy] = null;
       this[in1$8] = null;
-      this[height$24] = null;
+      this[height$25] = null;
       this[result$10] = null;
-      this[width$25] = null;
-      this[x$11] = null;
-      this[y$11] = null;
+      this[width$26] = null;
+      this[x$14] = null;
+      this[y$14] = null;
       super.created();
     }
     static get supported() {
@@ -105532,11 +106841,11 @@
   const dx = Symbol("FEOffsetElement.dx");
   const dy = Symbol("FEOffsetElement.dy");
   const in1$8 = Symbol("FEOffsetElement.in1");
-  const height$24 = Symbol("FEOffsetElement.height");
+  const height$25 = Symbol("FEOffsetElement.height");
   const result$10 = Symbol("FEOffsetElement.result");
-  const width$25 = Symbol("FEOffsetElement.width");
-  const x$11 = Symbol("FEOffsetElement.x");
-  const y$11 = Symbol("FEOffsetElement.y");
+  const width$26 = Symbol("FEOffsetElement.width");
+  const x$14 = Symbol("FEOffsetElement.x");
+  const y$14 = Symbol("FEOffsetElement.y");
   svg$.FEOffsetElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
   dart.setSignature(svg$.FEOffsetElement, {
     fields: () => ({
@@ -105564,9 +106873,9 @@
       return svg$.FEPointLightElement._check(svg$._SvgElementFactoryProvider.createSvgElement_tag("fePointLight"));
     }
     created() {
-      this[x$12] = null;
-      this[y$12] = null;
-      this[z$] = null;
+      this[x$15] = null;
+      this[y$15] = null;
+      this[z$1] = null;
       super.created();
     }
     static get supported() {
@@ -105583,9 +106892,9 @@
     }
   };
   dart.defineNamedConstructor(svg$.FEPointLightElement, 'created');
-  const x$12 = Symbol("FEPointLightElement.x");
-  const y$12 = Symbol("FEPointLightElement.y");
-  const z$ = Symbol("FEPointLightElement.z");
+  const x$15 = Symbol("FEPointLightElement.x");
+  const y$15 = Symbol("FEPointLightElement.y");
+  const z$1 = Symbol("FEPointLightElement.z");
   dart.setSignature(svg$.FEPointLightElement, {
     fields: () => ({
       [dartx.x]: dart.finalFieldType(svg$.AnimatedNumber),
@@ -105621,11 +106930,11 @@
       this[specularConstant] = null;
       this[specularExponent] = null;
       this[surfaceScale$] = null;
-      this[height$25] = null;
+      this[height$26] = null;
       this[result$11] = null;
-      this[width$26] = null;
-      this[x$13] = null;
-      this[y$13] = null;
+      this[width$27] = null;
+      this[x$16] = null;
+      this[y$16] = null;
       super.created();
     }
     static get supported() {
@@ -105672,11 +106981,11 @@
   const specularConstant = Symbol("FESpecularLightingElement.specularConstant");
   const specularExponent = Symbol("FESpecularLightingElement.specularExponent");
   const surfaceScale$ = Symbol("FESpecularLightingElement.surfaceScale");
-  const height$25 = Symbol("FESpecularLightingElement.height");
+  const height$26 = Symbol("FESpecularLightingElement.height");
   const result$11 = Symbol("FESpecularLightingElement.result");
-  const width$26 = Symbol("FESpecularLightingElement.width");
-  const x$13 = Symbol("FESpecularLightingElement.x");
-  const y$13 = Symbol("FESpecularLightingElement.y");
+  const width$27 = Symbol("FESpecularLightingElement.width");
+  const x$16 = Symbol("FESpecularLightingElement.x");
+  const y$16 = Symbol("FESpecularLightingElement.y");
   svg$.FESpecularLightingElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
   dart.setSignature(svg$.FESpecularLightingElement, {
     fields: () => ({
@@ -105717,9 +107026,9 @@
       this[pointsAtY] = null;
       this[pointsAtZ] = null;
       this[specularExponent$] = null;
-      this[x$14] = null;
-      this[y$14] = null;
-      this[z$0] = null;
+      this[x$17] = null;
+      this[y$17] = null;
+      this[z$2] = null;
       super.created();
     }
     static get supported() {
@@ -105756,9 +107065,9 @@
   const pointsAtY = Symbol("FESpotLightElement.pointsAtY");
   const pointsAtZ = Symbol("FESpotLightElement.pointsAtZ");
   const specularExponent$ = Symbol("FESpotLightElement.specularExponent");
-  const x$14 = Symbol("FESpotLightElement.x");
-  const y$14 = Symbol("FESpotLightElement.y");
-  const z$0 = Symbol("FESpotLightElement.z");
+  const x$17 = Symbol("FESpotLightElement.x");
+  const y$17 = Symbol("FESpotLightElement.y");
+  const z$2 = Symbol("FESpotLightElement.z");
   dart.setSignature(svg$.FESpotLightElement, {
     fields: () => ({
       [dartx.limitingConeAngle]: dart.finalFieldType(svg$.AnimatedNumber),
@@ -105789,11 +107098,11 @@
     }
     created() {
       this[in1$10] = null;
-      this[height$26] = null;
+      this[height$27] = null;
       this[result$12] = null;
-      this[width$27] = null;
-      this[x$15] = null;
-      this[y$15] = null;
+      this[width$28] = null;
+      this[x$18] = null;
+      this[y$18] = null;
       super.created();
     }
     static get supported() {
@@ -105820,11 +107129,11 @@
   };
   dart.defineNamedConstructor(svg$.FETileElement, 'created');
   const in1$10 = Symbol("FETileElement.in1");
-  const height$26 = Symbol("FETileElement.height");
+  const height$27 = Symbol("FETileElement.height");
   const result$12 = Symbol("FETileElement.result");
-  const width$27 = Symbol("FETileElement.width");
-  const x$15 = Symbol("FETileElement.x");
-  const y$15 = Symbol("FETileElement.y");
+  const width$28 = Symbol("FETileElement.width");
+  const x$18 = Symbol("FETileElement.x");
+  const y$18 = Symbol("FETileElement.y");
   svg$.FETileElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
   dart.setSignature(svg$.FETileElement, {
     fields: () => ({
@@ -105863,12 +107172,12 @@
       this[numOctaves] = null;
       this[seed] = null;
       this[stitchTiles] = null;
-      this[type$39] = null;
-      this[height$27] = null;
+      this[type$40] = null;
+      this[height$28] = null;
       this[result$13] = null;
-      this[width$28] = null;
-      this[x$16] = null;
-      this[y$16] = null;
+      this[width$29] = null;
+      this[x$19] = null;
+      this[y$19] = null;
       super.created();
     }
     static get supported() {
@@ -105914,12 +107223,12 @@
   const numOctaves = Symbol("FETurbulenceElement.numOctaves");
   const seed = Symbol("FETurbulenceElement.seed");
   const stitchTiles = Symbol("FETurbulenceElement.stitchTiles");
-  const type$39 = Symbol("FETurbulenceElement.type");
-  const height$27 = Symbol("FETurbulenceElement.height");
+  const type$40 = Symbol("FETurbulenceElement.type");
+  const height$28 = Symbol("FETurbulenceElement.height");
   const result$13 = Symbol("FETurbulenceElement.result");
-  const width$28 = Symbol("FETurbulenceElement.width");
-  const x$16 = Symbol("FETurbulenceElement.x");
-  const y$16 = Symbol("FETurbulenceElement.y");
+  const width$29 = Symbol("FETurbulenceElement.width");
+  const x$19 = Symbol("FETurbulenceElement.x");
+  const y$19 = Symbol("FETurbulenceElement.y");
   svg$.FETurbulenceElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
   dart.setSignature(svg$.FETurbulenceElement, {
     fields: () => ({
@@ -105975,11 +107284,11 @@
     }
     created() {
       this[filterUnits] = null;
-      this[height$28] = null;
+      this[height$29] = null;
       this[primitiveUnits] = null;
-      this[width$29] = null;
-      this[x$17] = null;
-      this[y$17] = null;
+      this[width$30] = null;
+      this[x$20] = null;
+      this[y$20] = null;
       this[href$10] = null;
       super.created();
     }
@@ -106010,11 +107319,11 @@
   };
   dart.defineNamedConstructor(svg$.FilterElement, 'created');
   const filterUnits = Symbol("FilterElement.filterUnits");
-  const height$28 = Symbol("FilterElement.height");
+  const height$29 = Symbol("FilterElement.height");
   const primitiveUnits = Symbol("FilterElement.primitiveUnits");
-  const width$29 = Symbol("FilterElement.width");
-  const x$17 = Symbol("FilterElement.x");
-  const y$17 = Symbol("FilterElement.y");
+  const width$30 = Symbol("FilterElement.width");
+  const x$20 = Symbol("FilterElement.x");
+  const y$20 = Symbol("FilterElement.y");
   const href$10 = Symbol("FilterElement.href");
   svg$.FilterElement[dart.implements] = () => [svg$.UriReference];
   dart.setSignature(svg$.FilterElement, {
@@ -106041,7 +107350,7 @@
       dart.throw(new core.UnsupportedError("Not supported"));
     }
     get height() {
-      return this[height$29];
+      return this[height$30];
     }
     set height(value) {
       super.height = value;
@@ -106053,29 +107362,29 @@
       super.result = value;
     }
     get width() {
-      return this[width$30];
+      return this[width$31];
     }
     set width(value) {
       super.width = value;
     }
     get x() {
-      return this[x$18];
+      return this[x$21];
     }
     set x(value) {
       super.x = value;
     }
     get y() {
-      return this[y$18];
+      return this[y$21];
     }
     set y(value) {
       super.y = value;
     }
   };
-  const height$29 = Symbol("FilterPrimitiveStandardAttributes.height");
+  const height$30 = Symbol("FilterPrimitiveStandardAttributes.height");
   const result$14 = Symbol("FilterPrimitiveStandardAttributes.result");
-  const width$30 = Symbol("FilterPrimitiveStandardAttributes.width");
-  const x$18 = Symbol("FilterPrimitiveStandardAttributes.x");
-  const y$18 = Symbol("FilterPrimitiveStandardAttributes.y");
+  const width$31 = Symbol("FilterPrimitiveStandardAttributes.width");
+  const x$21 = Symbol("FilterPrimitiveStandardAttributes.x");
+  const y$21 = Symbol("FilterPrimitiveStandardAttributes.y");
   dart.setSignature(svg$.FilterPrimitiveStandardAttributes, {
     fields: () => ({
       height: dart.finalFieldType(svg$.AnimatedLength),
@@ -106136,10 +107445,10 @@
       return svg$.ForeignObjectElement._check(svg$._SvgElementFactoryProvider.createSvgElement_tag("foreignObject"));
     }
     created() {
-      this[height$30] = null;
-      this[width$31] = null;
-      this[x$19] = null;
-      this[y$19] = null;
+      this[height$31] = null;
+      this[width$32] = null;
+      this[x$22] = null;
+      this[y$22] = null;
       super.created();
     }
     static get supported() {
@@ -106159,10 +107468,10 @@
     }
   };
   dart.defineNamedConstructor(svg$.ForeignObjectElement, 'created');
-  const height$30 = Symbol("ForeignObjectElement.height");
-  const width$31 = Symbol("ForeignObjectElement.width");
-  const x$19 = Symbol("ForeignObjectElement.x");
-  const y$19 = Symbol("ForeignObjectElement.y");
+  const height$31 = Symbol("ForeignObjectElement.height");
+  const width$32 = Symbol("ForeignObjectElement.width");
+  const x$22 = Symbol("ForeignObjectElement.x");
+  const y$22 = Symbol("ForeignObjectElement.y");
   dart.setSignature(svg$.ForeignObjectElement, {
     fields: () => ({
       [dartx.height]: dart.finalFieldType(svg$.AnimatedLength),
@@ -106201,11 +107510,11 @@
       return svg$.ImageElement._check(svg$._SvgElementFactoryProvider.createSvgElement_tag("image"));
     }
     created() {
-      this[height$31] = null;
+      this[height$32] = null;
       this[preserveAspectRatio$0] = null;
-      this[width$32] = null;
-      this[x$20] = null;
-      this[y$20] = null;
+      this[width$33] = null;
+      this[x$23] = null;
+      this[y$23] = null;
       this[href$11] = null;
       super.created();
     }
@@ -106229,11 +107538,11 @@
     }
   };
   dart.defineNamedConstructor(svg$.ImageElement, 'created');
-  const height$31 = Symbol("ImageElement.height");
+  const height$32 = Symbol("ImageElement.height");
   const preserveAspectRatio$0 = Symbol("ImageElement.preserveAspectRatio");
-  const width$32 = Symbol("ImageElement.width");
-  const x$20 = Symbol("ImageElement.x");
-  const y$20 = Symbol("ImageElement.y");
+  const width$33 = Symbol("ImageElement.width");
+  const x$23 = Symbol("ImageElement.x");
+  const y$23 = Symbol("ImageElement.y");
   const href$11 = Symbol("ImageElement.href");
   svg$.ImageElement[dart.implements] = () => [svg$.UriReference];
   dart.setSignature(svg$.ImageElement, {
@@ -106288,7 +107597,7 @@
     }
   };
   const unitType$ = Symbol("Length.unitType");
-  const value$15 = Symbol("Length.value");
+  const value$17 = Symbol("Length.value");
   const valueAsString$ = Symbol("Length.valueAsString");
   const valueInSpecifiedUnits$ = Symbol("Length.valueInSpecifiedUnits");
   dart.setSignature(svg$.Length, {
@@ -106723,7 +108032,6 @@
   });
   dart.registerExtension(dart.global.SVGMarkerElement, svg$.MarkerElement);
   dart.defineExtensionNames([
-    'hasExtension',
     'height',
     'maskContentUnits',
     'maskUnits',
@@ -106742,12 +108050,12 @@
       return svg$.MaskElement._check(svg$._SvgElementFactoryProvider.createSvgElement_tag("mask"));
     }
     created() {
-      this[height$32] = null;
+      this[height$33] = null;
       this[maskContentUnits] = null;
       this[maskUnits] = null;
-      this[width$33] = null;
-      this[x$21] = null;
-      this[y$21] = null;
+      this[width$34] = null;
+      this[x$24] = null;
+      this[y$24] = null;
       this[requiredExtensions$0] = null;
       this[requiredFeatures$0] = null;
       this[systemLanguage$0] = null;
@@ -106780,17 +108088,14 @@
     get [dartx.systemLanguage]() {
       return this.systemLanguage;
     }
-    [dartx.hasExtension](...args) {
-      return this.hasExtension.apply(this, args);
-    }
   };
   dart.defineNamedConstructor(svg$.MaskElement, 'created');
-  const height$32 = Symbol("MaskElement.height");
+  const height$33 = Symbol("MaskElement.height");
   const maskContentUnits = Symbol("MaskElement.maskContentUnits");
   const maskUnits = Symbol("MaskElement.maskUnits");
-  const width$33 = Symbol("MaskElement.width");
-  const x$21 = Symbol("MaskElement.x");
-  const y$21 = Symbol("MaskElement.y");
+  const width$34 = Symbol("MaskElement.width");
+  const x$24 = Symbol("MaskElement.x");
+  const y$24 = Symbol("MaskElement.y");
   const requiredExtensions$0 = Symbol("MaskElement.requiredExtensions");
   const requiredFeatures$0 = Symbol("MaskElement.requiredFeatures");
   const systemLanguage$0 = Symbol("MaskElement.systemLanguage");
@@ -106806,8 +108111,7 @@
       [dartx.requiredExtensions]: dart.finalFieldType(svg$.StringList),
       [dartx.requiredFeatures]: dart.finalFieldType(svg$.StringList),
       [dartx.systemLanguage]: dart.finalFieldType(svg$.StringList)
-    }),
-    methods: () => ({[dartx.hasExtension]: dart.fnType(core.bool, [core.String])})
+    })
   });
   dart.registerExtension(dart.global.SVGMaskElement, svg$.MaskElement);
   dart.defineExtensionNames([
@@ -106903,12 +108207,12 @@
       return this.translate.apply(this, args);
     }
   };
-  const a = Symbol("Matrix.a");
-  const b = Symbol("Matrix.b");
-  const c = Symbol("Matrix.c");
-  const d = Symbol("Matrix.d");
-  const e = Symbol("Matrix.e");
-  const f = Symbol("Matrix.f");
+  const a$ = Symbol("Matrix.a");
+  const b$ = Symbol("Matrix.b");
+  const c$ = Symbol("Matrix.c");
+  const d$ = Symbol("Matrix.d");
+  const e$ = Symbol("Matrix.e");
+  const f$ = Symbol("Matrix.f");
   dart.setSignature(svg$.Matrix, {
     fields: () => ({
       [dartx.a]: dart.fieldType(core.num),
@@ -106957,7 +108261,7 @@
       this.value = value;
     }
   };
-  const value$16 = Symbol("Number.value");
+  const value$18 = Symbol("Number.value");
   dart.setSignature(svg$.Number, {
     fields: () => ({[dartx.value]: dart.fieldType(core.num)})
   });
@@ -107077,33 +108381,10 @@
   });
   dart.registerExtension(dart.global.SVGNumberList, svg$.NumberList);
   dart.defineExtensionNames([
-    'createSvgPathSegArcAbs',
-    'createSvgPathSegArcRel',
-    'createSvgPathSegClosePath',
-    'createSvgPathSegCurvetoCubicAbs',
-    'createSvgPathSegCurvetoCubicRel',
-    'createSvgPathSegCurvetoCubicSmoothAbs',
-    'createSvgPathSegCurvetoCubicSmoothRel',
-    'createSvgPathSegCurvetoQuadraticAbs',
-    'createSvgPathSegCurvetoQuadraticRel',
-    'createSvgPathSegCurvetoQuadraticSmoothAbs',
-    'createSvgPathSegCurvetoQuadraticSmoothRel',
-    'createSvgPathSegLinetoAbs',
-    'createSvgPathSegLinetoHorizontalAbs',
-    'createSvgPathSegLinetoHorizontalRel',
-    'createSvgPathSegLinetoRel',
-    'createSvgPathSegLinetoVerticalAbs',
-    'createSvgPathSegLinetoVerticalRel',
-    'createSvgPathSegMovetoAbs',
-    'createSvgPathSegMovetoRel',
     'getPathSegAtLength',
     'getPointAtLength',
     'getTotalLength',
-    'animatedNormalizedPathSegList',
-    'animatedPathSegList',
-    'normalizedPathSegList',
-    'pathLength',
-    'pathSegList'
+    'pathLength'
   ]);
   svg$.PathElement = class PathElement extends svg$.GeometryElement {
     static _() {
@@ -107113,85 +108394,12 @@
       return svg$.PathElement._check(svg$._SvgElementFactoryProvider.createSvgElement_tag("path"));
     }
     created() {
-      this[animatedNormalizedPathSegList] = null;
-      this[animatedPathSegList] = null;
-      this[normalizedPathSegList] = null;
       this[pathLength] = null;
-      this[pathSegList] = null;
       super.created();
     }
-    get [dartx.animatedNormalizedPathSegList]() {
-      return this.animatedNormalizedPathSegList;
-    }
-    get [dartx.animatedPathSegList]() {
-      return this.animatedPathSegList;
-    }
-    get [dartx.normalizedPathSegList]() {
-      return this.normalizedPathSegList;
-    }
     get [dartx.pathLength]() {
       return this.pathLength;
     }
-    get [dartx.pathSegList]() {
-      return this.pathSegList;
-    }
-    [dartx.createSvgPathSegArcAbs](...args) {
-      return this.createSVGPathSegArcAbs.apply(this, args);
-    }
-    [dartx.createSvgPathSegArcRel](...args) {
-      return this.createSVGPathSegArcRel.apply(this, args);
-    }
-    [dartx.createSvgPathSegClosePath](...args) {
-      return this.createSVGPathSegClosePath.apply(this, args);
-    }
-    [dartx.createSvgPathSegCurvetoCubicAbs](...args) {
-      return this.createSVGPathSegCurvetoCubicAbs.apply(this, args);
-    }
-    [dartx.createSvgPathSegCurvetoCubicRel](...args) {
-      return this.createSVGPathSegCurvetoCubicRel.apply(this, args);
-    }
-    [dartx.createSvgPathSegCurvetoCubicSmoothAbs](...args) {
-      return this.createSVGPathSegCurvetoCubicSmoothAbs.apply(this, args);
-    }
-    [dartx.createSvgPathSegCurvetoCubicSmoothRel](...args) {
-      return this.createSVGPathSegCurvetoCubicSmoothRel.apply(this, args);
-    }
-    [dartx.createSvgPathSegCurvetoQuadraticAbs](...args) {
-      return this.createSVGPathSegCurvetoQuadraticAbs.apply(this, args);
-    }
-    [dartx.createSvgPathSegCurvetoQuadraticRel](...args) {
-      return this.createSVGPathSegCurvetoQuadraticRel.apply(this, args);
-    }
-    [dartx.createSvgPathSegCurvetoQuadraticSmoothAbs](...args) {
-      return this.createSVGPathSegCurvetoQuadraticSmoothAbs.apply(this, args);
-    }
-    [dartx.createSvgPathSegCurvetoQuadraticSmoothRel](...args) {
-      return this.createSVGPathSegCurvetoQuadraticSmoothRel.apply(this, args);
-    }
-    [dartx.createSvgPathSegLinetoAbs](...args) {
-      return this.createSVGPathSegLinetoAbs.apply(this, args);
-    }
-    [dartx.createSvgPathSegLinetoHorizontalAbs](...args) {
-      return this.createSVGPathSegLinetoHorizontalAbs.apply(this, args);
-    }
-    [dartx.createSvgPathSegLinetoHorizontalRel](...args) {
-      return this.createSVGPathSegLinetoHorizontalRel.apply(this, args);
-    }
-    [dartx.createSvgPathSegLinetoRel](...args) {
-      return this.createSVGPathSegLinetoRel.apply(this, args);
-    }
-    [dartx.createSvgPathSegLinetoVerticalAbs](...args) {
-      return this.createSVGPathSegLinetoVerticalAbs.apply(this, args);
-    }
-    [dartx.createSvgPathSegLinetoVerticalRel](...args) {
-      return this.createSVGPathSegLinetoVerticalRel.apply(this, args);
-    }
-    [dartx.createSvgPathSegMovetoAbs](...args) {
-      return this.createSVGPathSegMovetoAbs.apply(this, args);
-    }
-    [dartx.createSvgPathSegMovetoRel](...args) {
-      return this.createSVGPathSegMovetoRel.apply(this, args);
-    }
     [dartx.getPathSegAtLength](...args) {
       return this.getPathSegAtLength.apply(this, args);
     }
@@ -107203,39 +108411,10 @@
     }
   };
   dart.defineNamedConstructor(svg$.PathElement, 'created');
-  const animatedNormalizedPathSegList = Symbol("PathElement.animatedNormalizedPathSegList");
-  const animatedPathSegList = Symbol("PathElement.animatedPathSegList");
-  const normalizedPathSegList = Symbol("PathElement.normalizedPathSegList");
   const pathLength = Symbol("PathElement.pathLength");
-  const pathSegList = Symbol("PathElement.pathSegList");
   dart.setSignature(svg$.PathElement, {
-    fields: () => ({
-      [dartx.animatedNormalizedPathSegList]: dart.finalFieldType(svg$.PathSegList),
-      [dartx.animatedPathSegList]: dart.finalFieldType(svg$.PathSegList),
-      [dartx.normalizedPathSegList]: dart.finalFieldType(svg$.PathSegList),
-      [dartx.pathLength]: dart.finalFieldType(svg$.AnimatedNumber),
-      [dartx.pathSegList]: dart.finalFieldType(svg$.PathSegList)
-    }),
+    fields: () => ({[dartx.pathLength]: dart.finalFieldType(svg$.AnimatedNumber)}),
     methods: () => ({
-      [dartx.createSvgPathSegArcAbs]: dart.fnType(svg$.PathSegArcAbs, [core.num, core.num, core.num, core.num, core.num, core.bool, core.bool]),
-      [dartx.createSvgPathSegArcRel]: dart.fnType(svg$.PathSegArcRel, [core.num, core.num, core.num, core.num, core.num, core.bool, core.bool]),
-      [dartx.createSvgPathSegClosePath]: dart.fnType(svg$.PathSegClosePath, []),
-      [dartx.createSvgPathSegCurvetoCubicAbs]: dart.fnType(svg$.PathSegCurvetoCubicAbs, [core.num, core.num, core.num, core.num, core.num, core.num]),
-      [dartx.createSvgPathSegCurvetoCubicRel]: dart.fnType(svg$.PathSegCurvetoCubicRel, [core.num, core.num, core.num, core.num, core.num, core.num]),
-      [dartx.createSvgPathSegCurvetoCubicSmoothAbs]: dart.fnType(svg$.PathSegCurvetoCubicSmoothAbs, [core.num, core.num, core.num, core.num]),
-      [dartx.createSvgPathSegCurvetoCubicSmoothRel]: dart.fnType(svg$.PathSegCurvetoCubicSmoothRel, [core.num, core.num, core.num, core.num]),
-      [dartx.createSvgPathSegCurvetoQuadraticAbs]: dart.fnType(svg$.PathSegCurvetoQuadraticAbs, [core.num, core.num, core.num, core.num]),
-      [dartx.createSvgPathSegCurvetoQuadraticRel]: dart.fnType(svg$.PathSegCurvetoQuadraticRel, [core.num, core.num, core.num, core.num]),
-      [dartx.createSvgPathSegCurvetoQuadraticSmoothAbs]: dart.fnType(svg$.PathSegCurvetoQuadraticSmoothAbs, [core.num, core.num]),
-      [dartx.createSvgPathSegCurvetoQuadraticSmoothRel]: dart.fnType(svg$.PathSegCurvetoQuadraticSmoothRel, [core.num, core.num]),
-      [dartx.createSvgPathSegLinetoAbs]: dart.fnType(svg$.PathSegLinetoAbs, [core.num, core.num]),
-      [dartx.createSvgPathSegLinetoHorizontalAbs]: dart.fnType(svg$.PathSegLinetoHorizontalAbs, [core.num]),
-      [dartx.createSvgPathSegLinetoHorizontalRel]: dart.fnType(svg$.PathSegLinetoHorizontalRel, [core.num]),
-      [dartx.createSvgPathSegLinetoRel]: dart.fnType(svg$.PathSegLinetoRel, [core.num, core.num]),
-      [dartx.createSvgPathSegLinetoVerticalAbs]: dart.fnType(svg$.PathSegLinetoVerticalAbs, [core.num]),
-      [dartx.createSvgPathSegLinetoVerticalRel]: dart.fnType(svg$.PathSegLinetoVerticalRel, [core.num]),
-      [dartx.createSvgPathSegMovetoAbs]: dart.fnType(svg$.PathSegMovetoAbs, [core.num, core.num]),
-      [dartx.createSvgPathSegMovetoRel]: dart.fnType(svg$.PathSegMovetoRel, [core.num, core.num]),
       [dartx.getPathSegAtLength]: dart.fnType(core.int, [core.num]),
       [dartx.getPointAtLength]: dart.fnType(svg$.Point, [core.num]),
       [dartx.getTotalLength]: dart.fnType(core.double, [])
@@ -107243,943 +108422,6 @@
   });
   dart.registerExtension(dart.global.SVGPathElement, svg$.PathElement);
   dart.defineExtensionNames([
-    'pathSegType',
-    'pathSegTypeAsLetter'
-  ]);
-  svg$.PathSeg = class PathSeg extends _interceptors.Interceptor {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.pathSegType]() {
-      return this.pathSegType;
-    }
-    get [dartx.pathSegTypeAsLetter]() {
-      return this.pathSegTypeAsLetter;
-    }
-  };
-  const pathSegType = Symbol("PathSeg.pathSegType");
-  const pathSegTypeAsLetter = Symbol("PathSeg.pathSegTypeAsLetter");
-  dart.setSignature(svg$.PathSeg, {
-    fields: () => ({
-      [dartx.pathSegType]: dart.finalFieldType(core.int),
-      [dartx.pathSegTypeAsLetter]: dart.finalFieldType(core.String)
-    })
-  });
-  dart.defineLazy(svg$.PathSeg, {
-    get PATHSEG_ARC_ABS() {
-      return 10;
-    },
-    get PATHSEG_ARC_REL() {
-      return 11;
-    },
-    get PATHSEG_CLOSEPATH() {
-      return 1;
-    },
-    get PATHSEG_CURVETO_CUBIC_ABS() {
-      return 6;
-    },
-    get PATHSEG_CURVETO_CUBIC_REL() {
-      return 7;
-    },
-    get PATHSEG_CURVETO_CUBIC_SMOOTH_ABS() {
-      return 16;
-    },
-    get PATHSEG_CURVETO_CUBIC_SMOOTH_REL() {
-      return 17;
-    },
-    get PATHSEG_CURVETO_QUADRATIC_ABS() {
-      return 8;
-    },
-    get PATHSEG_CURVETO_QUADRATIC_REL() {
-      return 9;
-    },
-    get PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS() {
-      return 18;
-    },
-    get PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL() {
-      return 19;
-    },
-    get PATHSEG_LINETO_ABS() {
-      return 4;
-    },
-    get PATHSEG_LINETO_HORIZONTAL_ABS() {
-      return 12;
-    },
-    get PATHSEG_LINETO_HORIZONTAL_REL() {
-      return 13;
-    },
-    get PATHSEG_LINETO_REL() {
-      return 5;
-    },
-    get PATHSEG_LINETO_VERTICAL_ABS() {
-      return 14;
-    },
-    get PATHSEG_LINETO_VERTICAL_REL() {
-      return 15;
-    },
-    get PATHSEG_MOVETO_ABS() {
-      return 2;
-    },
-    get PATHSEG_MOVETO_REL() {
-      return 3;
-    },
-    get PATHSEG_UNKNOWN() {
-      return 0;
-    }
-  });
-  dart.registerExtension(dart.global.SVGPathSeg, svg$.PathSeg);
-  dart.defineExtensionNames([
-    'angle',
-    'largeArcFlag',
-    'r1',
-    'r2',
-    'sweepFlag',
-    'x',
-    'y'
-  ]);
-  svg$.PathSegArcAbs = class PathSegArcAbs extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.angle]() {
-      return this.angle;
-    }
-    set [dartx.angle](value) {
-      this.angle = value;
-    }
-    get [dartx.largeArcFlag]() {
-      return this.largeArcFlag;
-    }
-    set [dartx.largeArcFlag](value) {
-      this.largeArcFlag = value;
-    }
-    get [dartx.r1]() {
-      return this.r1;
-    }
-    set [dartx.r1](value) {
-      this.r1 = value;
-    }
-    get [dartx.r2]() {
-      return this.r2;
-    }
-    set [dartx.r2](value) {
-      this.r2 = value;
-    }
-    get [dartx.sweepFlag]() {
-      return this.sweepFlag;
-    }
-    set [dartx.sweepFlag](value) {
-      this.sweepFlag = value;
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-  };
-  const angle$ = Symbol("PathSegArcAbs.angle");
-  const largeArcFlag = Symbol("PathSegArcAbs.largeArcFlag");
-  const r1 = Symbol("PathSegArcAbs.r1");
-  const r2 = Symbol("PathSegArcAbs.r2");
-  const sweepFlag = Symbol("PathSegArcAbs.sweepFlag");
-  const x$22 = Symbol("PathSegArcAbs.x");
-  const y$22 = Symbol("PathSegArcAbs.y");
-  dart.setSignature(svg$.PathSegArcAbs, {
-    fields: () => ({
-      [dartx.angle]: dart.fieldType(core.num),
-      [dartx.largeArcFlag]: dart.fieldType(core.bool),
-      [dartx.r1]: dart.fieldType(core.num),
-      [dartx.r2]: dart.fieldType(core.num),
-      [dartx.sweepFlag]: dart.fieldType(core.bool),
-      [dartx.x]: dart.fieldType(core.num),
-      [dartx.y]: dart.fieldType(core.num)
-    })
-  });
-  dart.registerExtension(dart.global.SVGPathSegArcAbs, svg$.PathSegArcAbs);
-  dart.defineExtensionNames([
-    'angle',
-    'largeArcFlag',
-    'r1',
-    'r2',
-    'sweepFlag',
-    'x',
-    'y'
-  ]);
-  svg$.PathSegArcRel = class PathSegArcRel extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.angle]() {
-      return this.angle;
-    }
-    set [dartx.angle](value) {
-      this.angle = value;
-    }
-    get [dartx.largeArcFlag]() {
-      return this.largeArcFlag;
-    }
-    set [dartx.largeArcFlag](value) {
-      this.largeArcFlag = value;
-    }
-    get [dartx.r1]() {
-      return this.r1;
-    }
-    set [dartx.r1](value) {
-      this.r1 = value;
-    }
-    get [dartx.r2]() {
-      return this.r2;
-    }
-    set [dartx.r2](value) {
-      this.r2 = value;
-    }
-    get [dartx.sweepFlag]() {
-      return this.sweepFlag;
-    }
-    set [dartx.sweepFlag](value) {
-      this.sweepFlag = value;
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-  };
-  const angle$0 = Symbol("PathSegArcRel.angle");
-  const largeArcFlag$ = Symbol("PathSegArcRel.largeArcFlag");
-  const r1$ = Symbol("PathSegArcRel.r1");
-  const r2$ = Symbol("PathSegArcRel.r2");
-  const sweepFlag$ = Symbol("PathSegArcRel.sweepFlag");
-  const x$23 = Symbol("PathSegArcRel.x");
-  const y$23 = Symbol("PathSegArcRel.y");
-  dart.setSignature(svg$.PathSegArcRel, {
-    fields: () => ({
-      [dartx.angle]: dart.fieldType(core.num),
-      [dartx.largeArcFlag]: dart.fieldType(core.bool),
-      [dartx.r1]: dart.fieldType(core.num),
-      [dartx.r2]: dart.fieldType(core.num),
-      [dartx.sweepFlag]: dart.fieldType(core.bool),
-      [dartx.x]: dart.fieldType(core.num),
-      [dartx.y]: dart.fieldType(core.num)
-    })
-  });
-  dart.registerExtension(dart.global.SVGPathSegArcRel, svg$.PathSegArcRel);
-  svg$.PathSegClosePath = class PathSegClosePath extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-  };
-  dart.registerExtension(dart.global.SVGPathSegClosePath, svg$.PathSegClosePath);
-  dart.defineExtensionNames([
-    'x',
-    'x1',
-    'x2',
-    'y',
-    'y1',
-    'y2'
-  ]);
-  svg$.PathSegCurvetoCubicAbs = class PathSegCurvetoCubicAbs extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-    get [dartx.x1]() {
-      return this.x1;
-    }
-    set [dartx.x1](value) {
-      this.x1 = value;
-    }
-    get [dartx.x2]() {
-      return this.x2;
-    }
-    set [dartx.x2](value) {
-      this.x2 = value;
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-    get [dartx.y1]() {
-      return this.y1;
-    }
-    set [dartx.y1](value) {
-      this.y1 = value;
-    }
-    get [dartx.y2]() {
-      return this.y2;
-    }
-    set [dartx.y2](value) {
-      this.y2 = value;
-    }
-  };
-  const x$24 = Symbol("PathSegCurvetoCubicAbs.x");
-  const x1$0 = Symbol("PathSegCurvetoCubicAbs.x1");
-  const x2$0 = Symbol("PathSegCurvetoCubicAbs.x2");
-  const y$24 = Symbol("PathSegCurvetoCubicAbs.y");
-  const y1$0 = Symbol("PathSegCurvetoCubicAbs.y1");
-  const y2$0 = Symbol("PathSegCurvetoCubicAbs.y2");
-  dart.setSignature(svg$.PathSegCurvetoCubicAbs, {
-    fields: () => ({
-      [dartx.x]: dart.fieldType(core.num),
-      [dartx.x1]: dart.fieldType(core.num),
-      [dartx.x2]: dart.fieldType(core.num),
-      [dartx.y]: dart.fieldType(core.num),
-      [dartx.y1]: dart.fieldType(core.num),
-      [dartx.y2]: dart.fieldType(core.num)
-    })
-  });
-  dart.registerExtension(dart.global.SVGPathSegCurvetoCubicAbs, svg$.PathSegCurvetoCubicAbs);
-  dart.defineExtensionNames([
-    'x',
-    'x1',
-    'x2',
-    'y',
-    'y1',
-    'y2'
-  ]);
-  svg$.PathSegCurvetoCubicRel = class PathSegCurvetoCubicRel extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-    get [dartx.x1]() {
-      return this.x1;
-    }
-    set [dartx.x1](value) {
-      this.x1 = value;
-    }
-    get [dartx.x2]() {
-      return this.x2;
-    }
-    set [dartx.x2](value) {
-      this.x2 = value;
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-    get [dartx.y1]() {
-      return this.y1;
-    }
-    set [dartx.y1](value) {
-      this.y1 = value;
-    }
-    get [dartx.y2]() {
-      return this.y2;
-    }
-    set [dartx.y2](value) {
-      this.y2 = value;
-    }
-  };
-  const x$25 = Symbol("PathSegCurvetoCubicRel.x");
-  const x1$1 = Symbol("PathSegCurvetoCubicRel.x1");
-  const x2$1 = Symbol("PathSegCurvetoCubicRel.x2");
-  const y$25 = Symbol("PathSegCurvetoCubicRel.y");
-  const y1$1 = Symbol("PathSegCurvetoCubicRel.y1");
-  const y2$1 = Symbol("PathSegCurvetoCubicRel.y2");
-  dart.setSignature(svg$.PathSegCurvetoCubicRel, {
-    fields: () => ({
-      [dartx.x]: dart.fieldType(core.num),
-      [dartx.x1]: dart.fieldType(core.num),
-      [dartx.x2]: dart.fieldType(core.num),
-      [dartx.y]: dart.fieldType(core.num),
-      [dartx.y1]: dart.fieldType(core.num),
-      [dartx.y2]: dart.fieldType(core.num)
-    })
-  });
-  dart.registerExtension(dart.global.SVGPathSegCurvetoCubicRel, svg$.PathSegCurvetoCubicRel);
-  dart.defineExtensionNames([
-    'x',
-    'x2',
-    'y',
-    'y2'
-  ]);
-  svg$.PathSegCurvetoCubicSmoothAbs = class PathSegCurvetoCubicSmoothAbs extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-    get [dartx.x2]() {
-      return this.x2;
-    }
-    set [dartx.x2](value) {
-      this.x2 = value;
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-    get [dartx.y2]() {
-      return this.y2;
-    }
-    set [dartx.y2](value) {
-      this.y2 = value;
-    }
-  };
-  const x$26 = Symbol("PathSegCurvetoCubicSmoothAbs.x");
-  const x2$2 = Symbol("PathSegCurvetoCubicSmoothAbs.x2");
-  const y$26 = Symbol("PathSegCurvetoCubicSmoothAbs.y");
-  const y2$2 = Symbol("PathSegCurvetoCubicSmoothAbs.y2");
-  dart.setSignature(svg$.PathSegCurvetoCubicSmoothAbs, {
-    fields: () => ({
-      [dartx.x]: dart.fieldType(core.num),
-      [dartx.x2]: dart.fieldType(core.num),
-      [dartx.y]: dart.fieldType(core.num),
-      [dartx.y2]: dart.fieldType(core.num)
-    })
-  });
-  dart.registerExtension(dart.global.SVGPathSegCurvetoCubicSmoothAbs, svg$.PathSegCurvetoCubicSmoothAbs);
-  dart.defineExtensionNames([
-    'x',
-    'x2',
-    'y',
-    'y2'
-  ]);
-  svg$.PathSegCurvetoCubicSmoothRel = class PathSegCurvetoCubicSmoothRel extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-    get [dartx.x2]() {
-      return this.x2;
-    }
-    set [dartx.x2](value) {
-      this.x2 = value;
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-    get [dartx.y2]() {
-      return this.y2;
-    }
-    set [dartx.y2](value) {
-      this.y2 = value;
-    }
-  };
-  const x$27 = Symbol("PathSegCurvetoCubicSmoothRel.x");
-  const x2$3 = Symbol("PathSegCurvetoCubicSmoothRel.x2");
-  const y$27 = Symbol("PathSegCurvetoCubicSmoothRel.y");
-  const y2$3 = Symbol("PathSegCurvetoCubicSmoothRel.y2");
-  dart.setSignature(svg$.PathSegCurvetoCubicSmoothRel, {
-    fields: () => ({
-      [dartx.x]: dart.fieldType(core.num),
-      [dartx.x2]: dart.fieldType(core.num),
-      [dartx.y]: dart.fieldType(core.num),
-      [dartx.y2]: dart.fieldType(core.num)
-    })
-  });
-  dart.registerExtension(dart.global.SVGPathSegCurvetoCubicSmoothRel, svg$.PathSegCurvetoCubicSmoothRel);
-  dart.defineExtensionNames([
-    'x',
-    'x1',
-    'y',
-    'y1'
-  ]);
-  svg$.PathSegCurvetoQuadraticAbs = class PathSegCurvetoQuadraticAbs extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-    get [dartx.x1]() {
-      return this.x1;
-    }
-    set [dartx.x1](value) {
-      this.x1 = value;
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-    get [dartx.y1]() {
-      return this.y1;
-    }
-    set [dartx.y1](value) {
-      this.y1 = value;
-    }
-  };
-  const x$28 = Symbol("PathSegCurvetoQuadraticAbs.x");
-  const x1$2 = Symbol("PathSegCurvetoQuadraticAbs.x1");
-  const y$28 = Symbol("PathSegCurvetoQuadraticAbs.y");
-  const y1$2 = Symbol("PathSegCurvetoQuadraticAbs.y1");
-  dart.setSignature(svg$.PathSegCurvetoQuadraticAbs, {
-    fields: () => ({
-      [dartx.x]: dart.fieldType(core.num),
-      [dartx.x1]: dart.fieldType(core.num),
-      [dartx.y]: dart.fieldType(core.num),
-      [dartx.y1]: dart.fieldType(core.num)
-    })
-  });
-  dart.registerExtension(dart.global.SVGPathSegCurvetoQuadraticAbs, svg$.PathSegCurvetoQuadraticAbs);
-  dart.defineExtensionNames([
-    'x',
-    'x1',
-    'y',
-    'y1'
-  ]);
-  svg$.PathSegCurvetoQuadraticRel = class PathSegCurvetoQuadraticRel extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-    get [dartx.x1]() {
-      return this.x1;
-    }
-    set [dartx.x1](value) {
-      this.x1 = value;
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-    get [dartx.y1]() {
-      return this.y1;
-    }
-    set [dartx.y1](value) {
-      this.y1 = value;
-    }
-  };
-  const x$29 = Symbol("PathSegCurvetoQuadraticRel.x");
-  const x1$3 = Symbol("PathSegCurvetoQuadraticRel.x1");
-  const y$29 = Symbol("PathSegCurvetoQuadraticRel.y");
-  const y1$3 = Symbol("PathSegCurvetoQuadraticRel.y1");
-  dart.setSignature(svg$.PathSegCurvetoQuadraticRel, {
-    fields: () => ({
-      [dartx.x]: dart.fieldType(core.num),
-      [dartx.x1]: dart.fieldType(core.num),
-      [dartx.y]: dart.fieldType(core.num),
-      [dartx.y1]: dart.fieldType(core.num)
-    })
-  });
-  dart.registerExtension(dart.global.SVGPathSegCurvetoQuadraticRel, svg$.PathSegCurvetoQuadraticRel);
-  dart.defineExtensionNames([
-    'x',
-    'y'
-  ]);
-  svg$.PathSegCurvetoQuadraticSmoothAbs = class PathSegCurvetoQuadraticSmoothAbs extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-  };
-  const x$30 = Symbol("PathSegCurvetoQuadraticSmoothAbs.x");
-  const y$30 = Symbol("PathSegCurvetoQuadraticSmoothAbs.y");
-  dart.setSignature(svg$.PathSegCurvetoQuadraticSmoothAbs, {
-    fields: () => ({
-      [dartx.x]: dart.fieldType(core.num),
-      [dartx.y]: dart.fieldType(core.num)
-    })
-  });
-  dart.registerExtension(dart.global.SVGPathSegCurvetoQuadraticSmoothAbs, svg$.PathSegCurvetoQuadraticSmoothAbs);
-  dart.defineExtensionNames([
-    'x',
-    'y'
-  ]);
-  svg$.PathSegCurvetoQuadraticSmoothRel = class PathSegCurvetoQuadraticSmoothRel extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-  };
-  const x$31 = Symbol("PathSegCurvetoQuadraticSmoothRel.x");
-  const y$31 = Symbol("PathSegCurvetoQuadraticSmoothRel.y");
-  dart.setSignature(svg$.PathSegCurvetoQuadraticSmoothRel, {
-    fields: () => ({
-      [dartx.x]: dart.fieldType(core.num),
-      [dartx.y]: dart.fieldType(core.num)
-    })
-  });
-  dart.registerExtension(dart.global.SVGPathSegCurvetoQuadraticSmoothRel, svg$.PathSegCurvetoQuadraticSmoothRel);
-  dart.defineExtensionNames([
-    'x',
-    'y'
-  ]);
-  svg$.PathSegLinetoAbs = class PathSegLinetoAbs extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-  };
-  const x$32 = Symbol("PathSegLinetoAbs.x");
-  const y$32 = Symbol("PathSegLinetoAbs.y");
-  dart.setSignature(svg$.PathSegLinetoAbs, {
-    fields: () => ({
-      [dartx.x]: dart.fieldType(core.num),
-      [dartx.y]: dart.fieldType(core.num)
-    })
-  });
-  dart.registerExtension(dart.global.SVGPathSegLinetoAbs, svg$.PathSegLinetoAbs);
-  dart.defineExtensionNames([
-    'x'
-  ]);
-  svg$.PathSegLinetoHorizontalAbs = class PathSegLinetoHorizontalAbs extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-  };
-  const x$33 = Symbol("PathSegLinetoHorizontalAbs.x");
-  dart.setSignature(svg$.PathSegLinetoHorizontalAbs, {
-    fields: () => ({[dartx.x]: dart.fieldType(core.num)})
-  });
-  dart.registerExtension(dart.global.SVGPathSegLinetoHorizontalAbs, svg$.PathSegLinetoHorizontalAbs);
-  dart.defineExtensionNames([
-    'x'
-  ]);
-  svg$.PathSegLinetoHorizontalRel = class PathSegLinetoHorizontalRel extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-  };
-  const x$34 = Symbol("PathSegLinetoHorizontalRel.x");
-  dart.setSignature(svg$.PathSegLinetoHorizontalRel, {
-    fields: () => ({[dartx.x]: dart.fieldType(core.num)})
-  });
-  dart.registerExtension(dart.global.SVGPathSegLinetoHorizontalRel, svg$.PathSegLinetoHorizontalRel);
-  dart.defineExtensionNames([
-    'x',
-    'y'
-  ]);
-  svg$.PathSegLinetoRel = class PathSegLinetoRel extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-  };
-  const x$35 = Symbol("PathSegLinetoRel.x");
-  const y$33 = Symbol("PathSegLinetoRel.y");
-  dart.setSignature(svg$.PathSegLinetoRel, {
-    fields: () => ({
-      [dartx.x]: dart.fieldType(core.num),
-      [dartx.y]: dart.fieldType(core.num)
-    })
-  });
-  dart.registerExtension(dart.global.SVGPathSegLinetoRel, svg$.PathSegLinetoRel);
-  dart.defineExtensionNames([
-    'y'
-  ]);
-  svg$.PathSegLinetoVerticalAbs = class PathSegLinetoVerticalAbs extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-  };
-  const y$34 = Symbol("PathSegLinetoVerticalAbs.y");
-  dart.setSignature(svg$.PathSegLinetoVerticalAbs, {
-    fields: () => ({[dartx.y]: dart.fieldType(core.num)})
-  });
-  dart.registerExtension(dart.global.SVGPathSegLinetoVerticalAbs, svg$.PathSegLinetoVerticalAbs);
-  dart.defineExtensionNames([
-    'y'
-  ]);
-  svg$.PathSegLinetoVerticalRel = class PathSegLinetoVerticalRel extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-  };
-  const y$35 = Symbol("PathSegLinetoVerticalRel.y");
-  dart.setSignature(svg$.PathSegLinetoVerticalRel, {
-    fields: () => ({[dartx.y]: dart.fieldType(core.num)})
-  });
-  dart.registerExtension(dart.global.SVGPathSegLinetoVerticalRel, svg$.PathSegLinetoVerticalRel);
-  dart.defineExtensionNames([
-    'length',
-    '_get',
-    '_set',
-    'length',
-    'first',
-    'last',
-    'single',
-    'elementAt',
-    'appendItem',
-    'clear',
-    'getItem',
-    'initialize',
-    'insertItemBefore',
-    'removeItem',
-    'replaceItem',
-    'numberOfItems'
-  ]);
-  svg$.PathSegList = class PathSegList extends dart.mixin(_interceptors.Interceptor, collection.ListMixin$(svg$.PathSeg), html$.ImmutableListMixin$(svg$.PathSeg)) {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.length]() {
-      return this.length;
-    }
-    get [dartx.numberOfItems]() {
-      return this.numberOfItems;
-    }
-    [dartx._get](index) {
-      if (index >>> 0 !== index || index >= this[dartx.length]) dart.throw(core.RangeError.index(index, this));
-      return this.getItem(index);
-    }
-    [dartx._set](index, value) {
-      dart.throw(new core.UnsupportedError("Cannot assign element of immutable List."));
-      return value;
-    }
-    set [dartx.length](value) {
-      dart.throw(new core.UnsupportedError("Cannot resize immutable List."));
-    }
-    get [dartx.first]() {
-      if (dart.notNull(this[dartx.length]) > 0) {
-        return this[0];
-      }
-      dart.throw(new core.StateError("No elements"));
-    }
-    get [dartx.last]() {
-      let len = this[dartx.length];
-      if (dart.notNull(len) > 0) {
-        return this[dart.notNull(len) - 1];
-      }
-      dart.throw(new core.StateError("No elements"));
-    }
-    get [dartx.single]() {
-      let len = this[dartx.length];
-      if (len == 1) {
-        return this[0];
-      }
-      if (len == 0) dart.throw(new core.StateError("No elements"));
-      dart.throw(new core.StateError("More than one element"));
-    }
-    [dartx.elementAt](index) {
-      return this[dartx._get](index);
-    }
-    [__setter__$](...args) {
-      return this.__setter__.apply(this, args);
-    }
-    [dartx.appendItem](...args) {
-      return this.appendItem.apply(this, args);
-    }
-    [dartx.clear](...args) {
-      return this.clear.apply(this, args);
-    }
-    [dartx.getItem](...args) {
-      return this.getItem.apply(this, args);
-    }
-    [dartx.initialize](...args) {
-      return this.initialize.apply(this, args);
-    }
-    [dartx.insertItemBefore](...args) {
-      return this.insertItemBefore.apply(this, args);
-    }
-    [dartx.removeItem](...args) {
-      return this.removeItem.apply(this, args);
-    }
-    [dartx.replaceItem](...args) {
-      return this.replaceItem.apply(this, args);
-    }
-  };
-  const numberOfItems$0 = Symbol("PathSegList.numberOfItems");
-  svg$.PathSegList[dart.implements] = () => [ListOfPathSeg()];
-  dart.setSignature(svg$.PathSegList, {
-    fields: () => ({[dartx.numberOfItems]: dart.finalFieldType(core.int)}),
-    getters: () => ({
-      [dartx.length]: dart.fnType(core.int, []),
-      [dartx.first]: dart.fnType(svg$.PathSeg, []),
-      [dartx.last]: dart.fnType(svg$.PathSeg, []),
-      [dartx.single]: dart.fnType(svg$.PathSeg, [])
-    }),
-    setters: () => ({[dartx.length]: dart.fnType(dart.void, [core.int])}),
-    methods: () => ({
-      [dartx._get]: dart.fnType(svg$.PathSeg, [core.int]),
-      [dartx._set]: dart.fnType(dart.void, [core.int, svg$.PathSeg]),
-      [dartx.elementAt]: dart.fnType(svg$.PathSeg, [core.int]),
-      [__setter__$]: dart.fnType(dart.void, [core.int, svg$.PathSeg]),
-      [dartx.appendItem]: dart.fnType(svg$.PathSeg, [svg$.PathSeg]),
-      [dartx.clear]: dart.fnType(dart.void, []),
-      [dartx.getItem]: dart.fnType(svg$.PathSeg, [core.int]),
-      [dartx.initialize]: dart.fnType(svg$.PathSeg, [svg$.PathSeg]),
-      [dartx.insertItemBefore]: dart.fnType(svg$.PathSeg, [svg$.PathSeg, core.int]),
-      [dartx.removeItem]: dart.fnType(svg$.PathSeg, [core.int]),
-      [dartx.replaceItem]: dart.fnType(svg$.PathSeg, [svg$.PathSeg, core.int])
-    })
-  });
-  dart.registerExtension(dart.global.SVGPathSegList, svg$.PathSegList);
-  dart.defineExtensionNames([
-    'x',
-    'y'
-  ]);
-  svg$.PathSegMovetoAbs = class PathSegMovetoAbs extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-  };
-  const x$36 = Symbol("PathSegMovetoAbs.x");
-  const y$36 = Symbol("PathSegMovetoAbs.y");
-  dart.setSignature(svg$.PathSegMovetoAbs, {
-    fields: () => ({
-      [dartx.x]: dart.fieldType(core.num),
-      [dartx.y]: dart.fieldType(core.num)
-    })
-  });
-  dart.registerExtension(dart.global.SVGPathSegMovetoAbs, svg$.PathSegMovetoAbs);
-  dart.defineExtensionNames([
-    'x',
-    'y'
-  ]);
-  svg$.PathSegMovetoRel = class PathSegMovetoRel extends svg$.PathSeg {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.x]() {
-      return this.x;
-    }
-    set [dartx.x](value) {
-      this.x = value;
-    }
-    get [dartx.y]() {
-      return this.y;
-    }
-    set [dartx.y](value) {
-      this.y = value;
-    }
-  };
-  const x$37 = Symbol("PathSegMovetoRel.x");
-  const y$37 = Symbol("PathSegMovetoRel.y");
-  dart.setSignature(svg$.PathSegMovetoRel, {
-    fields: () => ({
-      [dartx.x]: dart.fieldType(core.num),
-      [dartx.y]: dart.fieldType(core.num)
-    })
-  });
-  dart.registerExtension(dart.global.SVGPathSegMovetoRel, svg$.PathSegMovetoRel);
-  dart.defineExtensionNames([
-    'hasExtension',
     'height',
     'patternContentUnits',
     'patternTransform',
@@ -108202,13 +108444,13 @@
       return svg$.PatternElement._check(svg$._SvgElementFactoryProvider.createSvgElement_tag("pattern"));
     }
     created() {
-      this[height$33] = null;
+      this[height$34] = null;
       this[patternContentUnits] = null;
       this[patternTransform] = null;
       this[patternUnits] = null;
-      this[width$34] = null;
-      this[x$38] = null;
-      this[y$38] = null;
+      this[width$35] = null;
+      this[x$25] = null;
+      this[y$25] = null;
       this[preserveAspectRatio$2] = null;
       this[viewBox$0] = null;
       this[requiredExtensions$1] = null;
@@ -108253,21 +108495,18 @@
     get [dartx.systemLanguage]() {
       return this.systemLanguage;
     }
-    [dartx.hasExtension](...args) {
-      return this.hasExtension.apply(this, args);
-    }
     get [dartx.href]() {
       return this.href;
     }
   };
   dart.defineNamedConstructor(svg$.PatternElement, 'created');
-  const height$33 = Symbol("PatternElement.height");
+  const height$34 = Symbol("PatternElement.height");
   const patternContentUnits = Symbol("PatternElement.patternContentUnits");
   const patternTransform = Symbol("PatternElement.patternTransform");
   const patternUnits = Symbol("PatternElement.patternUnits");
-  const width$34 = Symbol("PatternElement.width");
-  const x$38 = Symbol("PatternElement.x");
-  const y$38 = Symbol("PatternElement.y");
+  const width$35 = Symbol("PatternElement.width");
+  const x$25 = Symbol("PatternElement.x");
+  const y$25 = Symbol("PatternElement.y");
   const preserveAspectRatio$2 = Symbol("PatternElement.preserveAspectRatio");
   const viewBox$0 = Symbol("PatternElement.viewBox");
   const requiredExtensions$1 = Symbol("PatternElement.requiredExtensions");
@@ -108290,8 +108529,7 @@
       [dartx.requiredFeatures]: dart.finalFieldType(svg$.StringList),
       [dartx.systemLanguage]: dart.finalFieldType(svg$.StringList),
       [dartx.href]: dart.finalFieldType(svg$.AnimatedString)
-    }),
-    methods: () => ({[dartx.hasExtension]: dart.fnType(core.bool, [core.String])})
+    })
   });
   dart.registerExtension(dart.global.SVGPatternElement, svg$.PatternElement);
   dart.defineExtensionNames([
@@ -108319,8 +108557,8 @@
       return this.matrixTransform.apply(this, args);
     }
   };
-  const x$39 = Symbol("Point.x");
-  const y$39 = Symbol("Point.y");
+  const x$26 = Symbol("Point.x");
+  const y$26 = Symbol("Point.y");
   dart.setSignature(svg$.Point, {
     fields: () => ({
       [dartx.x]: dart.fieldType(core.num),
@@ -108376,7 +108614,7 @@
     }
   };
   const length$15 = Symbol("PointList.length");
-  const numberOfItems$1 = Symbol("PointList.numberOfItems");
+  const numberOfItems$0 = Symbol("PointList.numberOfItems");
   dart.setSignature(svg$.PointList, {
     fields: () => ({
       [dartx.length]: dart.finalFieldType(core.int),
@@ -108630,10 +108868,10 @@
       this.y = value;
     }
   };
-  const height$34 = Symbol("Rect.height");
-  const width$35 = Symbol("Rect.width");
-  const x$40 = Symbol("Rect.x");
-  const y$40 = Symbol("Rect.y");
+  const height$35 = Symbol("Rect.height");
+  const width$36 = Symbol("Rect.width");
+  const x$27 = Symbol("Rect.x");
+  const y$27 = Symbol("Rect.y");
   dart.setSignature(svg$.Rect, {
     fields: () => ({
       [dartx.height]: dart.fieldType(core.num),
@@ -108659,12 +108897,12 @@
       return svg$.RectElement._check(svg$._SvgElementFactoryProvider.createSvgElement_tag("rect"));
     }
     created() {
-      this[height$35] = null;
+      this[height$36] = null;
       this[rx$] = null;
       this[ry$] = null;
-      this[width$36] = null;
-      this[x$41] = null;
-      this[y$41] = null;
+      this[width$37] = null;
+      this[x$28] = null;
+      this[y$28] = null;
       super.created();
     }
     get [dartx.height]() {
@@ -108687,12 +108925,12 @@
     }
   };
   dart.defineNamedConstructor(svg$.RectElement, 'created');
-  const height$35 = Symbol("RectElement.height");
+  const height$36 = Symbol("RectElement.height");
   const rx$ = Symbol("RectElement.rx");
   const ry$ = Symbol("RectElement.ry");
-  const width$36 = Symbol("RectElement.width");
-  const x$41 = Symbol("RectElement.x");
-  const y$41 = Symbol("RectElement.y");
+  const width$37 = Symbol("RectElement.width");
+  const x$28 = Symbol("RectElement.x");
+  const y$28 = Symbol("RectElement.y");
   dart.setSignature(svg$.RectElement, {
     fields: () => ({
       [dartx.height]: dart.finalFieldType(svg$.AnimatedLength),
@@ -108716,7 +108954,7 @@
       return svg$.ScriptElement._check(svg$._SvgElementFactoryProvider.createSvgElement_tag("script"));
     }
     created() {
-      this[type$40] = null;
+      this[type$41] = null;
       this[href$14] = null;
       super.created();
     }
@@ -108731,7 +108969,7 @@
     }
   };
   dart.defineNamedConstructor(svg$.ScriptElement, 'created');
-  const type$40 = Symbol("ScriptElement.type");
+  const type$41 = Symbol("ScriptElement.type");
   const href$14 = Symbol("ScriptElement.href");
   svg$.ScriptElement[dart.implements] = () => [svg$.UriReference];
   dart.setSignature(svg$.ScriptElement, {
@@ -108869,7 +109107,7 @@
       return this.replaceItem.apply(this, args);
     }
   };
-  const numberOfItems$2 = Symbol("StringList.numberOfItems");
+  const numberOfItems$1 = Symbol("StringList.numberOfItems");
   svg$.StringList[dart.implements] = () => [ListOfString()];
   dart.setSignature(svg$.StringList, {
     fields: () => ({[dartx.numberOfItems]: dart.finalFieldType(core.int)}),
@@ -108912,7 +109150,7 @@
       this[disabled$11] = null;
       this[media$6] = null;
       this[sheet$1] = null;
-      this[type$41] = null;
+      this[type$42] = null;
       super.created();
     }
     get [dartx.disabled]() {
@@ -108941,7 +109179,7 @@
   const disabled$11 = Symbol("StyleElement.disabled");
   const media$6 = Symbol("StyleElement.media");
   const sheet$1 = Symbol("StyleElement.sheet");
-  const type$41 = Symbol("StyleElement.type");
+  const type$42 = Symbol("StyleElement.type");
   dart.setSignature(svg$.StyleElement, {
     fields: () => ({
       [dartx.disabled]: dart.fieldType(core.bool),
@@ -108952,12 +109190,15 @@
   });
   dart.registerExtension(dart.global.SVGStyleElement, svg$.StyleElement);
   const _element$0 = Symbol('_element');
-  svg$._AttributeClassSet = class _AttributeClassSet extends html_common.CssClassSetImpl {
+  svg$.AttributeClassSet = class AttributeClassSet extends html_common.CssClassSetImpl {
     new(element) {
       this[_element$0] = element;
     }
     readClasses() {
       let classname = this[_element$0][dartx.attributes][dartx._get]('class');
+      if (svg$.AnimatedString.is(classname)) {
+        classname = svg$.AnimatedString.as(classname).baseVal;
+      }
       let s = LinkedHashSetOfString().new();
       if (classname == null) {
         return s;
@@ -108971,10 +109212,10 @@
       return s;
     }
     writeClasses(s) {
-      this[_element$0][dartx.attributes][dartx._set]('class', s.join(' '));
+      this[_element$0].setAttribute('class', s.join(' '));
     }
   };
-  dart.setSignature(svg$._AttributeClassSet, {
+  dart.setSignature(svg$.AttributeClassSet, {
     fields: () => ({[_element$0]: dart.finalFieldType(html$.Element)}),
     methods: () => ({
       readClasses: dart.fnType(core.Set$(core.String), []),
@@ -109009,10 +109250,6 @@
     'currentTranslate',
     'currentView',
     'height',
-    'pixelUnitToMillimeterX',
-    'pixelUnitToMillimeterY',
-    'screenPixelToMillimeterX',
-    'screenPixelToMillimeterY',
     'useCurrentView',
     'viewport',
     'width',
@@ -109035,16 +109272,12 @@
       this[currentScale] = null;
       this[currentTranslate] = null;
       this[currentView] = null;
-      this[height$36] = null;
-      this[pixelUnitToMillimeterX] = null;
-      this[pixelUnitToMillimeterY] = null;
-      this[screenPixelToMillimeterX] = null;
-      this[screenPixelToMillimeterY] = null;
+      this[height$37] = null;
       this[useCurrentView] = null;
       this[viewport] = null;
-      this[width$37] = null;
-      this[x$42] = null;
-      this[y$42] = null;
+      this[width$38] = null;
+      this[x$29] = null;
+      this[y$29] = null;
       this[preserveAspectRatio$3] = null;
       this[viewBox$1] = null;
       this[zoomAndPan] = null;
@@ -109065,18 +109298,6 @@
     get [dartx.height]() {
       return this.height;
     }
-    get [dartx.pixelUnitToMillimeterX]() {
-      return this.pixelUnitToMillimeterX;
-    }
-    get [dartx.pixelUnitToMillimeterY]() {
-      return this.pixelUnitToMillimeterY;
-    }
-    get [dartx.screenPixelToMillimeterX]() {
-      return this.screenPixelToMillimeterX;
-    }
-    get [dartx.screenPixelToMillimeterY]() {
-      return this.screenPixelToMillimeterY;
-    }
     get [dartx.useCurrentView]() {
       return this.useCurrentView;
     }
@@ -109178,16 +109399,12 @@
   const currentScale = Symbol("SvgSvgElement.currentScale");
   const currentTranslate = Symbol("SvgSvgElement.currentTranslate");
   const currentView = Symbol("SvgSvgElement.currentView");
-  const height$36 = Symbol("SvgSvgElement.height");
-  const pixelUnitToMillimeterX = Symbol("SvgSvgElement.pixelUnitToMillimeterX");
-  const pixelUnitToMillimeterY = Symbol("SvgSvgElement.pixelUnitToMillimeterY");
-  const screenPixelToMillimeterX = Symbol("SvgSvgElement.screenPixelToMillimeterX");
-  const screenPixelToMillimeterY = Symbol("SvgSvgElement.screenPixelToMillimeterY");
+  const height$37 = Symbol("SvgSvgElement.height");
   const useCurrentView = Symbol("SvgSvgElement.useCurrentView");
   const viewport = Symbol("SvgSvgElement.viewport");
-  const width$37 = Symbol("SvgSvgElement.width");
-  const x$42 = Symbol("SvgSvgElement.x");
-  const y$42 = Symbol("SvgSvgElement.y");
+  const width$38 = Symbol("SvgSvgElement.width");
+  const x$29 = Symbol("SvgSvgElement.x");
+  const y$29 = Symbol("SvgSvgElement.y");
   const preserveAspectRatio$3 = Symbol("SvgSvgElement.preserveAspectRatio");
   const viewBox$1 = Symbol("SvgSvgElement.viewBox");
   const zoomAndPan = Symbol("SvgSvgElement.zoomAndPan");
@@ -109198,10 +109415,6 @@
       [dartx.currentTranslate]: dart.finalFieldType(svg$.Point),
       [dartx.currentView]: dart.finalFieldType(svg$.ViewSpec),
       [dartx.height]: dart.finalFieldType(svg$.AnimatedLength),
-      [dartx.pixelUnitToMillimeterX]: dart.finalFieldType(core.double),
-      [dartx.pixelUnitToMillimeterY]: dart.finalFieldType(core.double),
-      [dartx.screenPixelToMillimeterX]: dart.finalFieldType(core.double),
-      [dartx.screenPixelToMillimeterY]: dart.finalFieldType(core.double),
       [dartx.useCurrentView]: dart.finalFieldType(core.bool),
       [dartx.viewport]: dart.finalFieldType(svg$.Rect),
       [dartx.width]: dart.finalFieldType(svg$.AnimatedLength),
@@ -109388,8 +109601,8 @@
       this[dx$] = null;
       this[dy$] = null;
       this[rotate] = null;
-      this[x$43] = null;
-      this[y$43] = null;
+      this[x$30] = null;
+      this[y$30] = null;
       super.created();
     }
     get [dartx.dx]() {
@@ -109412,8 +109625,8 @@
   const dx$ = Symbol("TextPositioningElement.dx");
   const dy$ = Symbol("TextPositioningElement.dy");
   const rotate = Symbol("TextPositioningElement.rotate");
-  const x$43 = Symbol("TextPositioningElement.x");
-  const y$43 = Symbol("TextPositioningElement.y");
+  const x$30 = Symbol("TextPositioningElement.x");
+  const y$30 = Symbol("TextPositioningElement.y");
   dart.setSignature(svg$.TextPositioningElement, {
     fields: () => ({
       [dartx.dx]: dart.finalFieldType(svg$.AnimatedLengthList),
@@ -109610,9 +109823,9 @@
       return this.setTranslate.apply(this, args);
     }
   };
-  const angle$1 = Symbol("Transform.angle");
+  const angle$0 = Symbol("Transform.angle");
   const matrix = Symbol("Transform.matrix");
-  const type$42 = Symbol("Transform.type");
+  const type$43 = Symbol("Transform.type");
   dart.setSignature(svg$.Transform, {
     fields: () => ({
       [dartx.angle]: dart.finalFieldType(core.double),
@@ -109748,7 +109961,7 @@
       return this.replaceItem.apply(this, args);
     }
   };
-  const numberOfItems$3 = Symbol("TransformList.numberOfItems");
+  const numberOfItems$2 = Symbol("TransformList.numberOfItems");
   svg$.TransformList[dart.implements] = () => [ListOfTransform()];
   dart.setSignature(svg$.TransformList, {
     fields: () => ({[dartx.numberOfItems]: dart.finalFieldType(core.int)}),
@@ -109827,10 +110040,10 @@
       return svg$.UseElement._check(svg$._SvgElementFactoryProvider.createSvgElement_tag("use"));
     }
     created() {
-      this[height$37] = null;
-      this[width$38] = null;
-      this[x$44] = null;
-      this[y$44] = null;
+      this[height$38] = null;
+      this[width$39] = null;
+      this[x$31] = null;
+      this[y$31] = null;
       this[href$17] = null;
       super.created();
     }
@@ -109851,10 +110064,10 @@
     }
   };
   dart.defineNamedConstructor(svg$.UseElement, 'created');
-  const height$37 = Symbol("UseElement.height");
-  const width$38 = Symbol("UseElement.width");
-  const x$44 = Symbol("UseElement.x");
-  const y$44 = Symbol("UseElement.y");
+  const height$38 = Symbol("UseElement.height");
+  const width$39 = Symbol("UseElement.width");
+  const x$31 = Symbol("UseElement.x");
+  const y$31 = Symbol("UseElement.y");
   const href$17 = Symbol("UseElement.href");
   svg$.UseElement[dart.implements] = () => [svg$.UriReference];
   dart.setSignature(svg$.UseElement, {
@@ -110154,11 +110367,11 @@
     [dartx.connectNode](destination, output, input) {
       if (output === void 0) output = 0;
       if (input === void 0) input = 0;
-      return this[_connect](destination, output, input);
+      this[_connect](destination, output, input);
     }
     [dartx.connectParam](destination, output) {
       if (output === void 0) output = 0;
-      return this[_connect](destination, output);
+      this[_connect](destination, output);
     }
   };
   const channelCount = Symbol("AudioNode.channelCount");
@@ -110177,8 +110390,8 @@
       [dartx.numberOfOutputs]: dart.finalFieldType(core.int)
     }),
     methods: () => ({
-      [_connect]: dart.fnType(dart.void, [dart.dynamic, core.int], [core.int]),
-      [dartx.disconnect]: dart.fnType(dart.void, [core.int]),
+      [_connect]: dart.fnType(web_audio.AudioNode, [dart.dynamic], [core.int, core.int]),
+      [dartx.disconnect]: dart.fnType(dart.void, [], [dart.dynamic, core.int, core.int]),
       [dartx.connectNode]: dart.fnType(dart.void, [web_audio.AudioNode], [core.int, core.int]),
       [dartx.connectParam]: dart.fnType(dart.void, [web_audio.AudioParam], [core.int])
     })
@@ -110262,6 +110475,8 @@
   dart.registerExtension(dart.global.AnalyserNode, web_audio.AnalyserNode);
   dart.registerExtension(dart.global.RealtimeAnalyserNode, web_audio.AnalyserNode);
   dart.defineExtensionNames([
+    'copyFromChannel',
+    'copyToChannel',
     'getChannelData',
     'duration',
     'length',
@@ -110284,11 +110499,17 @@
     get [dartx.sampleRate]() {
       return this.sampleRate;
     }
+    [dartx.copyFromChannel](...args) {
+      return this.copyFromChannel.apply(this, args);
+    }
+    [dartx.copyToChannel](...args) {
+      return this.copyToChannel.apply(this, args);
+    }
     [dartx.getChannelData](...args) {
       return this.getChannelData.apply(this, args);
     }
   };
-  const duration$5 = Symbol("AudioBuffer.duration");
+  const duration$4 = Symbol("AudioBuffer.duration");
   const length$16 = Symbol("AudioBuffer.length");
   const numberOfChannels = Symbol("AudioBuffer.numberOfChannels");
   const sampleRate = Symbol("AudioBuffer.sampleRate");
@@ -110299,10 +110520,14 @@
       [dartx.numberOfChannels]: dart.finalFieldType(core.int),
       [dartx.sampleRate]: dart.finalFieldType(core.double)
     }),
-    methods: () => ({[dartx.getChannelData]: dart.fnType(typed_data.Float32List, [core.int])})
+    methods: () => ({
+      [dartx.copyFromChannel]: dart.fnType(dart.void, [typed_data.Float32List, core.int], [core.int]),
+      [dartx.copyToChannel]: dart.fnType(dart.void, [typed_data.Float32List, core.int], [core.int]),
+      [dartx.getChannelData]: dart.fnType(typed_data.Float32List, [core.int])
+    })
   });
   dart.registerExtension(dart.global.AudioBuffer, web_audio.AudioBuffer);
-  web_audio.AudioBufferCallback = dart.typedef('AudioBufferCallback', () => dart.fnTypeFuzzy(dart.void, [web_audio.AudioBuffer]));
+  web_audio.AudioBufferCallback = dart.typedef('AudioBufferCallback', () => dart.fnTypeFuzzy(dart.void, [dart.dynamic]));
   web_audio.AudioSourceNode = class AudioSourceNode extends web_audio.AudioNode {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -110314,6 +110539,7 @@
     'stop',
     'onEnded',
     'buffer',
+    'detune',
     'loop',
     'loopEnd',
     'loopStart',
@@ -110357,6 +110583,9 @@
     set [dartx.buffer](value) {
       this.buffer = value;
     }
+    get [dartx.detune]() {
+      return this.detune;
+    }
     get [dartx.loop]() {
       return this.loop;
     }
@@ -110383,13 +110612,15 @@
     }
   };
   const buffer = Symbol("AudioBufferSourceNode.buffer");
+  const detune = Symbol("AudioBufferSourceNode.detune");
   const loop$ = Symbol("AudioBufferSourceNode.loop");
   const loopEnd = Symbol("AudioBufferSourceNode.loopEnd");
   const loopStart = Symbol("AudioBufferSourceNode.loopStart");
-  const playbackRate$3 = Symbol("AudioBufferSourceNode.playbackRate");
+  const playbackRate$2 = Symbol("AudioBufferSourceNode.playbackRate");
   dart.setSignature(web_audio.AudioBufferSourceNode, {
     fields: () => ({
       [dartx.buffer]: dart.fieldType(web_audio.AudioBuffer),
+      [dartx.detune]: dart.finalFieldType(web_audio.AudioParam),
       [dartx.loop]: dart.fieldType(core.bool),
       [dartx.loopEnd]: dart.fieldType(core.num),
       [dartx.loopStart]: dart.fieldType(core.num),
@@ -110407,8 +110638,11 @@
     }
   });
   dart.registerExtension(dart.global.AudioBufferSourceNode, web_audio.AudioBufferSourceNode);
+  const _createPeriodicWave_1 = Symbol('_createPeriodicWave_1');
+  const _createPeriodicWave_2 = Symbol('_createPeriodicWave_2');
   const _decodeAudioData = Symbol('_decodeAudioData');
   dart.defineExtensionNames([
+    'close',
     'createAnalyser',
     'createBiquadFilter',
     'createBuffer',
@@ -110418,22 +110652,25 @@
     'createConvolver',
     'createDelay',
     'createDynamicsCompressor',
+    'createIirFilter',
     'createMediaElementSource',
     'createMediaStreamDestination',
     'createMediaStreamSource',
     'createOscillator',
     'createPanner',
     'createPeriodicWave',
+    'createStereoPanner',
     'createWaveShaper',
-    'startRendering',
-    'onComplete',
+    'resume',
+    'suspend',
     'createGain',
     'createScriptProcessor',
     'decodeAudioData',
     'currentTime',
     'destination',
     'listener',
-    'sampleRate'
+    'sampleRate',
+    'state'
   ]);
   web_audio.AudioContext = class AudioContext extends html$.EventTarget {
     static _() {
@@ -110454,6 +110691,12 @@
     get [dartx.sampleRate]() {
       return this.sampleRate;
     }
+    get [dartx.state]() {
+      return this.state;
+    }
+    [dartx.close](...args) {
+      return this.close.apply(this, args);
+    }
     [dartx.createAnalyser](...args) {
       return this.createAnalyser.apply(this, args);
     }
@@ -110481,6 +110724,9 @@
     [dartx.createDynamicsCompressor](...args) {
       return this.createDynamicsCompressor.apply(this, args);
     }
+    [dartx.createIirFilter](...args) {
+      return this.createIIRFilter.apply(this, args);
+    }
     [dartx.createMediaElementSource](...args) {
       return this.createMediaElementSource.apply(this, args);
     }
@@ -110496,20 +110742,34 @@
     [dartx.createPanner](...args) {
       return this.createPanner.apply(this, args);
     }
-    [dartx.createPeriodicWave](...args) {
+    [dartx.createPeriodicWave](real, imag, options) {
+      if (options === void 0) options = null;
+      if (options != null) {
+        let options_1 = html_common.convertDartToNative_Dictionary(options);
+        return this[_createPeriodicWave_1](real, imag, options_1);
+      }
+      return this[_createPeriodicWave_2](real, imag);
+    }
+    [_createPeriodicWave_1](...args) {
       return this.createPeriodicWave.apply(this, args);
     }
+    [_createPeriodicWave_2](...args) {
+      return this.createPeriodicWave.apply(this, args);
+    }
+    [dartx.createStereoPanner](...args) {
+      return this.createStereoPanner.apply(this, args);
+    }
     [dartx.createWaveShaper](...args) {
       return this.createWaveShaper.apply(this, args);
     }
     [_decodeAudioData](...args) {
       return this.decodeAudioData.apply(this, args);
     }
-    [dartx.startRendering](...args) {
-      return this.startRendering.apply(this, args);
+    [dartx.resume](...args) {
+      return this.resume.apply(this, args);
     }
-    get [dartx.onComplete]() {
-      return web_audio.AudioContext.completeEvent.forTarget(this);
+    [dartx.suspend](...args) {
+      return this.suspend.apply(this, args);
     }
     static new() {
       return new (window.AudioContext || window.webkitAudioContext)();
@@ -110536,30 +110796,32 @@
     [dartx.decodeAudioData](audioData) {
       let completer = CompleterOfAudioBuffer().new();
       this[_decodeAudioData](audioData, dart.fn(value => {
-        completer.complete(value);
-      }, AudioBufferToNull()), dart.fn(error => {
+        completer.complete(FutureOrOfAudioBuffer()._check(value));
+      }, dynamicToNull$()), dart.fn(error => {
         if (error == null) {
           completer.completeError('');
         } else {
           completer.completeError(error);
         }
-      }, AudioBufferToNull()));
+      }, dynamicToNull$()));
       return completer.future;
     }
   };
-  const currentTime$3 = Symbol("AudioContext.currentTime");
+  const currentTime$2 = Symbol("AudioContext.currentTime");
   const destination = Symbol("AudioContext.destination");
   const listener = Symbol("AudioContext.listener");
   const sampleRate$ = Symbol("AudioContext.sampleRate");
+  const state$2 = Symbol("AudioContext.state");
   dart.setSignature(web_audio.AudioContext, {
     fields: () => ({
       [dartx.currentTime]: dart.finalFieldType(core.double),
       [dartx.destination]: dart.finalFieldType(web_audio.AudioDestinationNode),
       [dartx.listener]: dart.finalFieldType(web_audio.AudioListener),
-      [dartx.sampleRate]: dart.finalFieldType(core.double)
+      [dartx.sampleRate]: dart.finalFieldType(core.double),
+      [dartx.state]: dart.finalFieldType(core.String)
     }),
-    getters: () => ({[dartx.onComplete]: dart.fnType(async.Stream$(html$.Event), [])}),
     methods: () => ({
+      [dartx.close]: dart.fnType(async.Future, []),
       [dartx.createAnalyser]: dart.fnType(web_audio.AnalyserNode, []),
       [dartx.createBiquadFilter]: dart.fnType(web_audio.BiquadFilterNode, []),
       [dartx.createBuffer]: dart.fnType(web_audio.AudioBuffer, [core.int, core.int, core.num]),
@@ -110569,25 +110831,25 @@
       [dartx.createConvolver]: dart.fnType(web_audio.ConvolverNode, []),
       [dartx.createDelay]: dart.fnType(web_audio.DelayNode, [], [core.num]),
       [dartx.createDynamicsCompressor]: dart.fnType(web_audio.DynamicsCompressorNode, []),
+      [dartx.createIirFilter]: dart.fnType(web_audio.IirFilterNode, [ListOfnum(), ListOfnum()]),
       [dartx.createMediaElementSource]: dart.fnType(web_audio.MediaElementAudioSourceNode, [html$.MediaElement]),
       [dartx.createMediaStreamDestination]: dart.fnType(web_audio.MediaStreamAudioDestinationNode, []),
       [dartx.createMediaStreamSource]: dart.fnType(web_audio.MediaStreamAudioSourceNode, [html$.MediaStream]),
       [dartx.createOscillator]: dart.fnType(web_audio.OscillatorNode, []),
       [dartx.createPanner]: dart.fnType(web_audio.PannerNode, []),
-      [dartx.createPeriodicWave]: dart.fnType(web_audio.PeriodicWave, [typed_data.Float32List, typed_data.Float32List]),
+      [dartx.createPeriodicWave]: dart.fnType(web_audio.PeriodicWave, [typed_data.Float32List, typed_data.Float32List], [core.Map]),
+      [_createPeriodicWave_1]: dart.fnType(web_audio.PeriodicWave, [typed_data.Float32List, typed_data.Float32List, dart.dynamic]),
+      [_createPeriodicWave_2]: dart.fnType(web_audio.PeriodicWave, [typed_data.Float32List, typed_data.Float32List]),
+      [dartx.createStereoPanner]: dart.fnType(web_audio.StereoPannerNode, []),
       [dartx.createWaveShaper]: dart.fnType(web_audio.WaveShaperNode, []),
-      [_decodeAudioData]: dart.fnType(dart.void, [typed_data.ByteBuffer, web_audio.AudioBufferCallback], [web_audio.AudioBufferCallback]),
-      [dartx.startRendering]: dart.fnType(dart.void, []),
+      [_decodeAudioData]: dart.fnType(async.Future, [typed_data.ByteBuffer], [web_audio.AudioBufferCallback, web_audio.AudioBufferCallback]),
+      [dartx.resume]: dart.fnType(async.Future, []),
+      [dartx.suspend]: dart.fnType(async.Future, []),
       [dartx.createGain]: dart.fnType(web_audio.GainNode, []),
       [dartx.createScriptProcessor]: dart.fnType(web_audio.ScriptProcessorNode, [core.int], [core.int, core.int]),
       [dartx.decodeAudioData]: dart.fnType(async.Future$(web_audio.AudioBuffer), [typed_data.ByteBuffer])
     })
   });
-  dart.defineLazy(web_audio.AudioContext, {
-    get completeEvent() {
-      return dart.const(new (EventStreamProviderOfEvent())('complete'));
-    }
-  });
   dart.registerExtension(dart.global.AudioContext, web_audio.AudioContext);
   dart.registerExtension(dart.global.webkitAudioContext, web_audio.AudioContext);
   dart.defineExtensionNames([
@@ -110696,19 +110958,19 @@
     }
   };
   const defaultValue$4 = Symbol("AudioParam.defaultValue");
-  const value$17 = Symbol("AudioParam.value");
+  const value$19 = Symbol("AudioParam.value");
   dart.setSignature(web_audio.AudioParam, {
     fields: () => ({
       [dartx.defaultValue]: dart.finalFieldType(core.double),
       [dartx.value]: dart.fieldType(core.num)
     }),
     methods: () => ({
-      [dartx.cancelScheduledValues]: dart.fnType(dart.void, [core.num]),
-      [dartx.exponentialRampToValueAtTime]: dart.fnType(dart.void, [core.num, core.num]),
-      [dartx.linearRampToValueAtTime]: dart.fnType(dart.void, [core.num, core.num]),
-      [dartx.setTargetAtTime]: dart.fnType(dart.void, [core.num, core.num, core.num]),
-      [dartx.setValueAtTime]: dart.fnType(dart.void, [core.num, core.num]),
-      [dartx.setValueCurveAtTime]: dart.fnType(dart.void, [typed_data.Float32List, core.num, core.num])
+      [dartx.cancelScheduledValues]: dart.fnType(web_audio.AudioParam, [core.num]),
+      [dartx.exponentialRampToValueAtTime]: dart.fnType(web_audio.AudioParam, [core.num, core.num]),
+      [dartx.linearRampToValueAtTime]: dart.fnType(web_audio.AudioParam, [core.num, core.num]),
+      [dartx.setTargetAtTime]: dart.fnType(web_audio.AudioParam, [core.num, core.num, core.num]),
+      [dartx.setValueAtTime]: dart.fnType(web_audio.AudioParam, [core.num, core.num]),
+      [dartx.setValueCurveAtTime]: dart.fnType(web_audio.AudioParam, [typed_data.Float32List, core.num, core.num])
     })
   });
   dart.registerExtension(dart.global.AudioParam, web_audio.AudioParam);
@@ -110777,10 +111039,10 @@
     }
   };
   const Q = Symbol("BiquadFilterNode.Q");
-  const detune = Symbol("BiquadFilterNode.detune");
+  const detune$ = Symbol("BiquadFilterNode.detune");
   const frequency = Symbol("BiquadFilterNode.frequency");
   const gain = Symbol("BiquadFilterNode.gain");
-  const type$43 = Symbol("BiquadFilterNode.type");
+  const type$44 = Symbol("BiquadFilterNode.type");
   dart.setSignature(web_audio.BiquadFilterNode, {
     fields: () => ({
       [dartx.Q]: dart.finalFieldType(web_audio.AudioParam),
@@ -110918,6 +111180,21 @@
   dart.registerExtension(dart.global.GainNode, web_audio.GainNode);
   dart.registerExtension(dart.global.AudioGainNode, web_audio.GainNode);
   dart.defineExtensionNames([
+    'getFrequencyResponse'
+  ]);
+  web_audio.IirFilterNode = class IirFilterNode extends web_audio.AudioNode {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    [dartx.getFrequencyResponse](...args) {
+      return this.getFrequencyResponse.apply(this, args);
+    }
+  };
+  dart.setSignature(web_audio.IirFilterNode, {
+    methods: () => ({[dartx.getFrequencyResponse]: dart.fnType(dart.void, [typed_data.Float32List, typed_data.Float32List, typed_data.Float32List])})
+  });
+  dart.registerExtension(dart.global.IIRFilterNode, web_audio.IirFilterNode);
+  dart.defineExtensionNames([
     'mediaElement'
   ]);
   web_audio.MediaElementAudioSourceNode = class MediaElementAudioSourceNode extends web_audio.AudioSourceNode {
@@ -110944,7 +111221,7 @@
       return this.stream;
     }
   };
-  const stream$ = Symbol("MediaStreamAudioDestinationNode.stream");
+  const stream$0 = Symbol("MediaStreamAudioDestinationNode.stream");
   dart.setSignature(web_audio.MediaStreamAudioDestinationNode, {
     fields: () => ({[dartx.stream]: dart.finalFieldType(html$.MediaStream)})
   });
@@ -110981,6 +111258,10 @@
     fields: () => ({[dartx.renderedBuffer]: dart.finalFieldType(web_audio.AudioBuffer)})
   });
   dart.registerExtension(dart.global.OfflineAudioCompletionEvent, web_audio.OfflineAudioCompletionEvent);
+  dart.defineExtensionNames([
+    'startRendering',
+    'suspendFor'
+  ]);
   web_audio.OfflineAudioContext = class OfflineAudioContext extends web_audio.AudioContext {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -110991,15 +111272,23 @@
     static _create_1(numberOfChannels, numberOfFrames, sampleRate) {
       return new self.OfflineAudioContext(numberOfChannels, numberOfFrames, sampleRate);
     }
+    [dartx.startRendering](...args) {
+      return this.startRendering.apply(this, args);
+    }
+    [dartx.suspendFor](...args) {
+      return this.suspend.apply(this, args);
+    }
   };
   dart.setSignature(web_audio.OfflineAudioContext, {
+    methods: () => ({
+      [dartx.startRendering]: dart.fnType(async.Future, []),
+      [dartx.suspendFor]: dart.fnType(async.Future, [core.num])
+    }),
     statics: () => ({_create_1: dart.fnType(web_audio.OfflineAudioContext, [dart.dynamic, dart.dynamic, dart.dynamic])}),
     names: ['_create_1']
   });
   dart.registerExtension(dart.global.OfflineAudioContext, web_audio.OfflineAudioContext);
   dart.defineExtensionNames([
-    'noteOff',
-    'noteOn',
     'setPeriodicWave',
     'start',
     'stop',
@@ -111024,12 +111313,6 @@
     set [dartx.type](value) {
       this.type = value;
     }
-    [dartx.noteOff](...args) {
-      return this.noteOff.apply(this, args);
-    }
-    [dartx.noteOn](...args) {
-      return this.noteOn.apply(this, args);
-    }
     [dartx.setPeriodicWave](...args) {
       return this.setPeriodicWave.apply(this, args);
     }
@@ -111043,9 +111326,9 @@
       return web_audio.OscillatorNode.endedEvent.forTarget(this);
     }
   };
-  const detune$ = Symbol("OscillatorNode.detune");
+  const detune$0 = Symbol("OscillatorNode.detune");
   const frequency$ = Symbol("OscillatorNode.frequency");
-  const type$44 = Symbol("OscillatorNode.type");
+  const type$45 = Symbol("OscillatorNode.type");
   dart.setSignature(web_audio.OscillatorNode, {
     fields: () => ({
       [dartx.detune]: dart.finalFieldType(web_audio.AudioParam),
@@ -111054,8 +111337,6 @@
     }),
     getters: () => ({[dartx.onEnded]: dart.fnType(async.Stream$(html$.Event), [])}),
     methods: () => ({
-      [dartx.noteOff]: dart.fnType(dart.void, [core.num]),
-      [dartx.noteOn]: dart.fnType(dart.void, [core.num]),
       [dartx.setPeriodicWave]: dart.fnType(dart.void, [web_audio.PeriodicWave]),
       [dartx.start]: dart.fnType(dart.void, [], [core.num]),
       [dartx.stop]: dart.fnType(dart.void, [], [core.num])
@@ -111210,6 +111491,22 @@
   dart.registerExtension(dart.global.ScriptProcessorNode, web_audio.ScriptProcessorNode);
   dart.registerExtension(dart.global.JavaScriptAudioNode, web_audio.ScriptProcessorNode);
   dart.defineExtensionNames([
+    'pan'
+  ]);
+  web_audio.StereoPannerNode = class StereoPannerNode extends web_audio.AudioNode {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    get [dartx.pan]() {
+      return this.pan;
+    }
+  };
+  const pan = Symbol("StereoPannerNode.pan");
+  dart.setSignature(web_audio.StereoPannerNode, {
+    fields: () => ({[dartx.pan]: dart.finalFieldType(web_audio.AudioParam)})
+  });
+  dart.registerExtension(dart.global.StereoPannerNode, web_audio.StereoPannerNode);
+  dart.defineExtensionNames([
     'curve',
     'oversample'
   ]);
@@ -112148,9 +112445,9 @@
       return this.type;
     }
   };
-  const name$39 = Symbol("ActiveInfo.name");
+  const name$38 = Symbol("ActiveInfo.name");
   const size$10 = Symbol("ActiveInfo.size");
-  const type$45 = Symbol("ActiveInfo.type");
+  const type$46 = Symbol("ActiveInfo.type");
   dart.setSignature(web_gl.ActiveInfo, {
     fields: () => ({
       [dartx.name]: dart.finalFieldType(core.String),
@@ -112191,12 +112488,160 @@
     }
   });
   dart.registerExtension(dart.global.ANGLEInstancedArrays, web_gl.AngleInstancedArrays);
+  dart.registerExtension(dart.global.ANGLE_instanced_arrays, web_gl.AngleInstancedArrays);
   web_gl.Buffer = class Buffer extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
   };
   dart.registerExtension(dart.global.WebGLBuffer, web_gl.Buffer);
+  dart.defineExtensionNames([
+    'bindValuebufferChromium',
+    'createValuebufferChromium',
+    'deleteValuebufferChromium',
+    'isValuebufferChromium',
+    'populateSubscribedValuesChromium',
+    'subscribeValueChromium',
+    'uniformValuebufferChromium'
+  ]);
+  web_gl.ChromiumSubscribeUniform = class ChromiumSubscribeUniform extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    [dartx.bindValuebufferChromium](...args) {
+      return this.bindValuebufferCHROMIUM.apply(this, args);
+    }
+    [dartx.createValuebufferChromium](...args) {
+      return this.createValuebufferCHROMIUM.apply(this, args);
+    }
+    [dartx.deleteValuebufferChromium](...args) {
+      return this.deleteValuebufferCHROMIUM.apply(this, args);
+    }
+    [dartx.isValuebufferChromium](...args) {
+      return this.isValuebufferCHROMIUM.apply(this, args);
+    }
+    [dartx.populateSubscribedValuesChromium](...args) {
+      return this.populateSubscribedValuesCHROMIUM.apply(this, args);
+    }
+    [dartx.subscribeValueChromium](...args) {
+      return this.subscribeValueCHROMIUM.apply(this, args);
+    }
+    [dartx.uniformValuebufferChromium](...args) {
+      return this.uniformValuebufferCHROMIUM.apply(this, args);
+    }
+  };
+  dart.setSignature(web_gl.ChromiumSubscribeUniform, {
+    methods: () => ({
+      [dartx.bindValuebufferChromium]: dart.fnType(dart.void, [core.int, html$.ChromiumValuebuffer]),
+      [dartx.createValuebufferChromium]: dart.fnType(html$.ChromiumValuebuffer, []),
+      [dartx.deleteValuebufferChromium]: dart.fnType(dart.void, [html$.ChromiumValuebuffer]),
+      [dartx.isValuebufferChromium]: dart.fnType(core.bool, [html$.ChromiumValuebuffer]),
+      [dartx.populateSubscribedValuesChromium]: dart.fnType(dart.void, [core.int]),
+      [dartx.subscribeValueChromium]: dart.fnType(dart.void, [core.int, core.int]),
+      [dartx.uniformValuebufferChromium]: dart.fnType(dart.void, [web_gl.UniformLocation, core.int, core.int])
+    })
+  });
+  dart.defineLazy(web_gl.ChromiumSubscribeUniform, {
+    get MOUSE_POSITION_CHROMIUM() {
+      return 37452;
+    },
+    get SUBSCRIBED_VALUES_BUFFER_CHROMIUM() {
+      return 37451;
+    }
+  });
+  dart.registerExtension(dart.global.CHROMIUMSubscribeUniform, web_gl.ChromiumSubscribeUniform);
+  web_gl.CompressedTextureAstc = class CompressedTextureAstc extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.defineLazy(web_gl.CompressedTextureAstc, {
+    get COMPRESSED_RGBA_ASTC_10x10_KHR() {
+      return 37819;
+    },
+    get COMPRESSED_RGBA_ASTC_10x5_KHR() {
+      return 37816;
+    },
+    get COMPRESSED_RGBA_ASTC_10x6_KHR() {
+      return 37817;
+    },
+    get COMPRESSED_RGBA_ASTC_10x8_KHR() {
+      return 37818;
+    },
+    get COMPRESSED_RGBA_ASTC_12x10_KHR() {
+      return 37820;
+    },
+    get COMPRESSED_RGBA_ASTC_12x12_KHR() {
+      return 37821;
+    },
+    get COMPRESSED_RGBA_ASTC_4x4_KHR() {
+      return 37808;
+    },
+    get COMPRESSED_RGBA_ASTC_5x4_KHR() {
+      return 37809;
+    },
+    get COMPRESSED_RGBA_ASTC_5x5_KHR() {
+      return 37810;
+    },
+    get COMPRESSED_RGBA_ASTC_6x5_KHR() {
+      return 37811;
+    },
+    get COMPRESSED_RGBA_ASTC_6x6_KHR() {
+      return 37812;
+    },
+    get COMPRESSED_RGBA_ASTC_8x5_KHR() {
+      return 37813;
+    },
+    get COMPRESSED_RGBA_ASTC_8x6_KHR() {
+      return 37814;
+    },
+    get COMPRESSED_RGBA_ASTC_8x8_KHR() {
+      return 37815;
+    },
+    get COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR() {
+      return 37851;
+    },
+    get COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR() {
+      return 37848;
+    },
+    get COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR() {
+      return 37849;
+    },
+    get COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR() {
+      return 37850;
+    },
+    get COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR() {
+      return 37852;
+    },
+    get COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR() {
+      return 37853;
+    },
+    get COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR() {
+      return 37840;
+    },
+    get COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR() {
+      return 37841;
+    },
+    get COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR() {
+      return 37842;
+    },
+    get COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR() {
+      return 37843;
+    },
+    get COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR() {
+      return 37844;
+    },
+    get COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR() {
+      return 37845;
+    },
+    get COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR() {
+      return 37846;
+    },
+    get COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR() {
+      return 37847;
+    }
+  });
+  dart.registerExtension(dart.global.WebGLCompressedTextureASTC, web_gl.CompressedTextureAstc);
   web_gl.CompressedTextureAtc = class CompressedTextureAtc extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -112214,6 +112659,7 @@
     }
   });
   dart.registerExtension(dart.global.WebGLCompressedTextureATC, web_gl.CompressedTextureAtc);
+  dart.registerExtension(dart.global.WEBGL_compressed_texture_atc, web_gl.CompressedTextureAtc);
   web_gl.CompressedTextureETC1 = class CompressedTextureETC1 extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -112225,6 +112671,7 @@
     }
   });
   dart.registerExtension(dart.global.WebGLCompressedTextureETC1, web_gl.CompressedTextureETC1);
+  dart.registerExtension(dart.global.WEBGL_compressed_texture_etc1, web_gl.CompressedTextureETC1);
   web_gl.CompressedTexturePvrtc = class CompressedTexturePvrtc extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -112245,6 +112692,7 @@
     }
   });
   dart.registerExtension(dart.global.WebGLCompressedTexturePVRTC, web_gl.CompressedTexturePvrtc);
+  dart.registerExtension(dart.global.WEBGL_compressed_texture_pvrtc, web_gl.CompressedTexturePvrtc);
   web_gl.CompressedTextureS3TC = class CompressedTextureS3TC extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -112265,81 +112713,7 @@
     }
   });
   dart.registerExtension(dart.global.WebGLCompressedTextureS3TC, web_gl.CompressedTextureS3TC);
-  dart.defineExtensionNames([
-    'alpha',
-    'antialias',
-    'depth',
-    'failIfMajorPerformanceCaveat',
-    'premultipliedAlpha',
-    'preserveDrawingBuffer',
-    'stencil'
-  ]);
-  web_gl.ContextAttributes = class ContextAttributes extends _interceptors.Interceptor {
-    static _() {
-      dart.throw(new core.UnsupportedError("Not supported"));
-    }
-    get [dartx.alpha]() {
-      return this.alpha;
-    }
-    set [dartx.alpha](value) {
-      this.alpha = value;
-    }
-    get [dartx.antialias]() {
-      return this.antialias;
-    }
-    set [dartx.antialias](value) {
-      this.antialias = value;
-    }
-    get [dartx.depth]() {
-      return this.depth;
-    }
-    set [dartx.depth](value) {
-      this.depth = value;
-    }
-    get [dartx.failIfMajorPerformanceCaveat]() {
-      return this.failIfMajorPerformanceCaveat;
-    }
-    set [dartx.failIfMajorPerformanceCaveat](value) {
-      this.failIfMajorPerformanceCaveat = value;
-    }
-    get [dartx.premultipliedAlpha]() {
-      return this.premultipliedAlpha;
-    }
-    set [dartx.premultipliedAlpha](value) {
-      this.premultipliedAlpha = value;
-    }
-    get [dartx.preserveDrawingBuffer]() {
-      return this.preserveDrawingBuffer;
-    }
-    set [dartx.preserveDrawingBuffer](value) {
-      this.preserveDrawingBuffer = value;
-    }
-    get [dartx.stencil]() {
-      return this.stencil;
-    }
-    set [dartx.stencil](value) {
-      this.stencil = value;
-    }
-  };
-  const alpha$1 = Symbol("ContextAttributes.alpha");
-  const antialias = Symbol("ContextAttributes.antialias");
-  const depth = Symbol("ContextAttributes.depth");
-  const failIfMajorPerformanceCaveat = Symbol("ContextAttributes.failIfMajorPerformanceCaveat");
-  const premultipliedAlpha = Symbol("ContextAttributes.premultipliedAlpha");
-  const preserveDrawingBuffer = Symbol("ContextAttributes.preserveDrawingBuffer");
-  const stencil = Symbol("ContextAttributes.stencil");
-  dart.setSignature(web_gl.ContextAttributes, {
-    fields: () => ({
-      [dartx.alpha]: dart.fieldType(core.bool),
-      [dartx.antialias]: dart.fieldType(core.bool),
-      [dartx.depth]: dart.fieldType(core.bool),
-      [dartx.failIfMajorPerformanceCaveat]: dart.fieldType(core.bool),
-      [dartx.premultipliedAlpha]: dart.fieldType(core.bool),
-      [dartx.preserveDrawingBuffer]: dart.fieldType(core.bool),
-      [dartx.stencil]: dart.fieldType(core.bool)
-    })
-  });
-  dart.registerExtension(dart.global.WebGLContextAttributes, web_gl.ContextAttributes);
+  dart.registerExtension(dart.global.WEBGL_compressed_texture_s3tc, web_gl.CompressedTextureS3TC);
   dart.defineExtensionNames([
     'statusMessage'
   ]);
@@ -112347,13 +112721,32 @@
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
+    static new(type, eventInit) {
+      if (eventInit === void 0) eventInit = null;
+      if (eventInit != null) {
+        let eventInit_1 = html_common.convertDartToNative_Dictionary(eventInit);
+        return web_gl.ContextEvent._create_1(type, eventInit_1);
+      }
+      return web_gl.ContextEvent._create_2(type);
+    }
+    static _create_1(type, eventInit) {
+      return new WebGLContextEvent(type, eventInit);
+    }
+    static _create_2(type) {
+      return new WebGLContextEvent(type);
+    }
     get [dartx.statusMessage]() {
       return this.statusMessage;
     }
   };
   const statusMessage = Symbol("ContextEvent.statusMessage");
   dart.setSignature(web_gl.ContextEvent, {
-    fields: () => ({[dartx.statusMessage]: dart.finalFieldType(core.String)})
+    fields: () => ({[dartx.statusMessage]: dart.finalFieldType(core.String)}),
+    statics: () => ({
+      _create_1: dart.fnType(web_gl.ContextEvent, [dart.dynamic, dart.dynamic]),
+      _create_2: dart.fnType(web_gl.ContextEvent, [dart.dynamic])
+    }),
+    names: ['_create_1', '_create_2']
   });
   dart.registerExtension(dart.global.WebGLContextEvent, web_gl.ContextEvent);
   web_gl.DebugRendererInfo = class DebugRendererInfo extends _interceptors.Interceptor {
@@ -112370,6 +112763,7 @@
     }
   });
   dart.registerExtension(dart.global.WebGLDebugRendererInfo, web_gl.DebugRendererInfo);
+  dart.registerExtension(dart.global.WEBGL_debug_renderer_info, web_gl.DebugRendererInfo);
   dart.defineExtensionNames([
     'getTranslatedShaderSource'
   ]);
@@ -112385,6 +112779,7 @@
     methods: () => ({[dartx.getTranslatedShaderSource]: dart.fnType(core.String, [web_gl.Shader])})
   });
   dart.registerExtension(dart.global.WebGLDebugShaders, web_gl.DebugShaders);
+  dart.registerExtension(dart.global.WEBGL_debug_shaders, web_gl.DebugShaders);
   web_gl.DepthTexture = class DepthTexture extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -112396,6 +112791,7 @@
     }
   });
   dart.registerExtension(dart.global.WebGLDepthTexture, web_gl.DepthTexture);
+  dart.registerExtension(dart.global.WEBGL_depth_texture, web_gl.DepthTexture);
   dart.defineExtensionNames([
     'drawBuffersWebgl'
   ]);
@@ -112515,6 +112911,28 @@
     }
   });
   dart.registerExtension(dart.global.WebGLDrawBuffers, web_gl.DrawBuffers);
+  dart.registerExtension(dart.global.WEBGL_draw_buffers, web_gl.DrawBuffers);
+  web_gl.EXTsRgb = class EXTsRgb extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.defineLazy(web_gl.EXTsRgb, {
+    get FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT() {
+      return 33296;
+    },
+    get SRGB8_ALPHA8_EXT() {
+      return 35907;
+    },
+    get SRGB_ALPHA_EXT() {
+      return 35906;
+    },
+    get SRGB_EXT() {
+      return 35904;
+    }
+  });
+  dart.registerExtension(dart.global.EXTsRGB, web_gl.EXTsRgb);
+  dart.registerExtension(dart.global.EXT_sRGB, web_gl.EXTsRgb);
   web_gl.ExtBlendMinMax = class ExtBlendMinMax extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -112529,18 +112947,102 @@
     }
   });
   dart.registerExtension(dart.global.EXTBlendMinMax, web_gl.ExtBlendMinMax);
+  dart.registerExtension(dart.global.EXT_blend_minmax, web_gl.ExtBlendMinMax);
+  web_gl.ExtColorBufferFloat = class ExtColorBufferFloat extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.EXTColorBufferFloat, web_gl.ExtColorBufferFloat);
+  dart.defineExtensionNames([
+    'beginQueryExt',
+    'createQueryExt',
+    'deleteQueryExt',
+    'endQueryExt',
+    'getQueryExt',
+    'getQueryObjectExt',
+    'isQueryExt',
+    'queryCounterExt'
+  ]);
+  web_gl.ExtDisjointTimerQuery = class ExtDisjointTimerQuery extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+    [dartx.beginQueryExt](...args) {
+      return this.beginQueryEXT.apply(this, args);
+    }
+    [dartx.createQueryExt](...args) {
+      return this.createQueryEXT.apply(this, args);
+    }
+    [dartx.deleteQueryExt](...args) {
+      return this.deleteQueryEXT.apply(this, args);
+    }
+    [dartx.endQueryExt](...args) {
+      return this.endQueryEXT.apply(this, args);
+    }
+    [dartx.getQueryExt](...args) {
+      return this.getQueryEXT.apply(this, args);
+    }
+    [dartx.getQueryObjectExt](...args) {
+      return this.getQueryObjectEXT.apply(this, args);
+    }
+    [dartx.isQueryExt](...args) {
+      return this.isQueryEXT.apply(this, args);
+    }
+    [dartx.queryCounterExt](...args) {
+      return this.queryCounterEXT.apply(this, args);
+    }
+  };
+  dart.setSignature(web_gl.ExtDisjointTimerQuery, {
+    methods: () => ({
+      [dartx.beginQueryExt]: dart.fnType(dart.void, [core.int, web_gl.TimerQueryExt]),
+      [dartx.createQueryExt]: dart.fnType(web_gl.TimerQueryExt, []),
+      [dartx.deleteQueryExt]: dart.fnType(dart.void, [web_gl.TimerQueryExt]),
+      [dartx.endQueryExt]: dart.fnType(dart.void, [core.int]),
+      [dartx.getQueryExt]: dart.fnType(core.Object, [core.int, core.int]),
+      [dartx.getQueryObjectExt]: dart.fnType(core.Object, [web_gl.TimerQueryExt, core.int]),
+      [dartx.isQueryExt]: dart.fnType(core.bool, [web_gl.TimerQueryExt]),
+      [dartx.queryCounterExt]: dart.fnType(dart.void, [web_gl.TimerQueryExt, core.int])
+    })
+  });
+  dart.defineLazy(web_gl.ExtDisjointTimerQuery, {
+    get CURRENT_QUERY_EXT() {
+      return 34917;
+    },
+    get GPU_DISJOINT_EXT() {
+      return 36795;
+    },
+    get QUERY_COUNTER_BITS_EXT() {
+      return 34916;
+    },
+    get QUERY_RESULT_AVAILABLE_EXT() {
+      return 34919;
+    },
+    get QUERY_RESULT_EXT() {
+      return 34918;
+    },
+    get TIMESTAMP_EXT() {
+      return 36392;
+    },
+    get TIME_ELAPSED_EXT() {
+      return 35007;
+    }
+  });
+  dart.registerExtension(dart.global.EXTDisjointTimerQuery, web_gl.ExtDisjointTimerQuery);
   web_gl.ExtFragDepth = class ExtFragDepth extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
   };
   dart.registerExtension(dart.global.EXTFragDepth, web_gl.ExtFragDepth);
+  dart.registerExtension(dart.global.EXT_frag_depth, web_gl.ExtFragDepth);
   web_gl.ExtShaderTextureLod = class ExtShaderTextureLod extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
   };
   dart.registerExtension(dart.global.EXTShaderTextureLOD, web_gl.ExtShaderTextureLod);
+  dart.registerExtension(dart.global.EXT_shader_texture_lod, web_gl.ExtShaderTextureLod);
   web_gl.ExtTextureFilterAnisotropic = class ExtTextureFilterAnisotropic extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -112555,6 +113057,7 @@
     }
   });
   dart.registerExtension(dart.global.EXTTextureFilterAnisotropic, web_gl.ExtTextureFilterAnisotropic);
+  dart.registerExtension(dart.global.EXT_texture_filter_anisotropic, web_gl.ExtTextureFilterAnisotropic);
   web_gl.Framebuffer = class Framebuffer extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -112584,12 +113087,14 @@
   });
   dart.registerExtension(dart.global.WebGLLoseContext, web_gl.LoseContext);
   dart.registerExtension(dart.global.WebGLExtensionLoseContext, web_gl.LoseContext);
+  dart.registerExtension(dart.global.WEBGL_lose_context, web_gl.LoseContext);
   web_gl.OesElementIndexUint = class OesElementIndexUint extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
   };
   dart.registerExtension(dart.global.OESElementIndexUint, web_gl.OesElementIndexUint);
+  dart.registerExtension(dart.global.OES_element_index_uint, web_gl.OesElementIndexUint);
   web_gl.OesStandardDerivatives = class OesStandardDerivatives extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -112601,18 +113106,21 @@
     }
   });
   dart.registerExtension(dart.global.OESStandardDerivatives, web_gl.OesStandardDerivatives);
+  dart.registerExtension(dart.global.OES_standard_derivatives, web_gl.OesStandardDerivatives);
   web_gl.OesTextureFloat = class OesTextureFloat extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
   };
   dart.registerExtension(dart.global.OESTextureFloat, web_gl.OesTextureFloat);
+  dart.registerExtension(dart.global.OES_texture_float, web_gl.OesTextureFloat);
   web_gl.OesTextureFloatLinear = class OesTextureFloatLinear extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
   };
   dart.registerExtension(dart.global.OESTextureFloatLinear, web_gl.OesTextureFloatLinear);
+  dart.registerExtension(dart.global.OES_texture_float_linear, web_gl.OesTextureFloatLinear);
   web_gl.OesTextureHalfFloat = class OesTextureHalfFloat extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -112624,12 +113132,14 @@
     }
   });
   dart.registerExtension(dart.global.OESTextureHalfFloat, web_gl.OesTextureHalfFloat);
+  dart.registerExtension(dart.global.OES_texture_half_float, web_gl.OesTextureHalfFloat);
   web_gl.OesTextureHalfFloatLinear = class OesTextureHalfFloatLinear extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
   };
   dart.registerExtension(dart.global.OESTextureHalfFloatLinear, web_gl.OesTextureHalfFloatLinear);
+  dart.registerExtension(dart.global.OES_texture_half_float_linear, web_gl.OesTextureHalfFloatLinear);
   dart.defineExtensionNames([
     'bindVertexArray',
     'createVertexArray',
@@ -112655,10 +113165,10 @@
   };
   dart.setSignature(web_gl.OesVertexArrayObject, {
     methods: () => ({
-      [dartx.bindVertexArray]: dart.fnType(dart.void, [web_gl.VertexArrayObject]),
-      [dartx.createVertexArray]: dart.fnType(web_gl.VertexArrayObject, []),
-      [dartx.deleteVertexArray]: dart.fnType(dart.void, [web_gl.VertexArrayObject]),
-      [dartx.isVertexArray]: dart.fnType(core.bool, [web_gl.VertexArrayObject])
+      [dartx.bindVertexArray]: dart.fnType(dart.void, [web_gl.VertexArrayObjectOes]),
+      [dartx.createVertexArray]: dart.fnType(web_gl.VertexArrayObjectOes, []),
+      [dartx.deleteVertexArray]: dart.fnType(dart.void, [web_gl.VertexArrayObjectOes]),
+      [dartx.isVertexArray]: dart.fnType(core.bool, [web_gl.VertexArrayObjectOes])
     })
   });
   dart.defineLazy(web_gl.OesVertexArrayObject, {
@@ -112667,12 +113177,19 @@
     }
   });
   dart.registerExtension(dart.global.OESVertexArrayObject, web_gl.OesVertexArrayObject);
+  dart.registerExtension(dart.global.OES_vertex_array_object, web_gl.OesVertexArrayObject);
   web_gl.Program = class Program extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
     }
   };
   dart.registerExtension(dart.global.WebGLProgram, web_gl.Program);
+  web_gl.Query = class Query extends _interceptors.Interceptor {
+    static _() {
+      dart.throw(new core.UnsupportedError("Not supported"));
+    }
+  };
+  dart.registerExtension(dart.global.WebGLQuery, web_gl.Query);
   web_gl.Renderbuffer = class Renderbuffer extends _interceptors.Interceptor {
     static _() {
       dart.throw(new core.UnsupportedError("Not supported"));
@@ -112685,13 +113202,13 @@
   const _texImage2D_3 = Symbol('_texImage2D_3');
   const _texImage2D_4 = Symbol('_texImage2D_4');
   const _texImage2D_5 = Symbol('_texImage2D_5');
-  const _texImage2DImageData_1 = Symbol('_texImage2DImageData_1');
+  const _texImage2D_6 = Symbol('_texImage2D_6');
   const _texSubImage2D_1 = Symbol('_texSubImage2D_1');
   const _texSubImage2D_2 = Symbol('_texSubImage2D_2');
   const _texSubImage2D_3 = Symbol('_texSubImage2D_3');
   const _texSubImage2D_4 = Symbol('_texSubImage2D_4');
   const _texSubImage2D_5 = Symbol('_texSubImage2D_5');
-  const _texSubImage2DImageData_1 = Symbol('_texSubImage2DImageData_1');
+  const _texSubImage2D_6 = Symbol('_texSubImage2D_6');
   dart.defineExtensionNames([
     'activeTexture',
     'attachShader',
@@ -112705,12 +113222,8 @@
     'blendEquationSeparate',
     'blendFunc',
     'blendFuncSeparate',
-    'bufferByteData',
     'bufferData',
-    'bufferDataTyped',
-    'bufferSubByteData',
     'bufferSubData',
-    'bufferSubDataTyped',
     'checkFramebufferStatus',
     'clear',
     'clearColor',
@@ -112799,17 +113312,9 @@
     'stencilOp',
     'stencilOpSeparate',
     'texImage2D',
-    'texImage2DCanvas',
-    'texImage2DImage',
-    'texImage2DImageData',
-    'texImage2DVideo',
     'texParameterf',
     'texParameteri',
     'texSubImage2D',
-    'texSubImage2DCanvas',
-    'texSubImage2DImage',
-    'texSubImage2DImageData',
-    'texSubImage2DVideo',
     'uniform1f',
     'uniform1fv',
     'uniform1i',
@@ -112845,6 +113350,8 @@
     'texImage2DTyped',
     'texSubImage2DUntyped',
     'texSubImage2DTyped',
+    'bufferDataTyped',
+    'bufferSubDataTyped',
     'canvas',
     'drawingBufferHeight',
     'drawingBufferWidth'
@@ -112901,24 +113408,12 @@
     [dartx.blendFuncSeparate](...args) {
       return this.blendFuncSeparate.apply(this, args);
     }
-    [dartx.bufferByteData](...args) {
-      return this.bufferData.apply(this, args);
-    }
     [dartx.bufferData](...args) {
       return this.bufferData.apply(this, args);
     }
-    [dartx.bufferDataTyped](...args) {
-      return this.bufferData.apply(this, args);
-    }
-    [dartx.bufferSubByteData](...args) {
-      return this.bufferSubData.apply(this, args);
-    }
     [dartx.bufferSubData](...args) {
       return this.bufferSubData.apply(this, args);
     }
-    [dartx.bufferSubDataTyped](...args) {
-      return this.bufferSubData.apply(this, args);
-    }
     [dartx.checkFramebufferStatus](...args) {
       return this.checkFramebufferStatus.apply(this, args);
     }
@@ -113055,7 +113550,7 @@
       return this.getBufferParameter.apply(this, args);
     }
     [dartx.getContextAttributes]() {
-      return web_gl.ContextAttributes._check(html_common.convertNativeToDart_ContextAttributes(this[_getContextAttributes_1$]()));
+      return html_common.convertNativeToDart_Dictionary(this[_getContextAttributes_1$]());
     }
     [_getContextAttributes_1$](...args) {
       return this.getContextAttributes.apply(this, args);
@@ -113183,29 +113678,33 @@
     [dartx.stencilOpSeparate](...args) {
       return this.stencilOpSeparate.apply(this, args);
     }
-    [dartx.texImage2D](target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video, format, type, pixels) {
+    [dartx.texImage2D](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video, format, type, pixels) {
       if (format === void 0) format = null;
       if (type === void 0) type = null;
       if (pixels === void 0) pixels = null;
-      if (pixels != null && type != null && format != null && typeof border_OR_canvas_OR_image_OR_pixels_OR_video == 'number') {
-        this[_texImage2D_1](target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video, format, type, pixels);
+      if (type != null && format != null && typeof bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video == 'number') {
+        this[_texImage2D_1](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video, format, type, pixels);
         return;
       }
-      if ((html$.ImageData.is(border_OR_canvas_OR_image_OR_pixels_OR_video) || border_OR_canvas_OR_image_OR_pixels_OR_video == null) && format == null && type == null && pixels == null) {
-        let pixels_1 = html_common.convertDartToNative_ImageData(html$.ImageData._check(border_OR_canvas_OR_image_OR_pixels_OR_video));
+      if ((html$.ImageData.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video) || bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video == null) && format == null && type == null && pixels == null) {
+        let pixels_1 = html_common.convertDartToNative_ImageData(html$.ImageData._check(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video));
         this[_texImage2D_2](target, level, internalformat, format_OR_width, height_OR_type, pixels_1);
         return;
       }
-      if (html$.ImageElement.is(border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
-        this[_texImage2D_3](target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video);
+      if (html$.ImageElement.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
+        this[_texImage2D_3](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video);
         return;
       }
-      if (html$.CanvasElement.is(border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
-        this[_texImage2D_4](target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video);
+      if (html$.CanvasElement.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
+        this[_texImage2D_4](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video);
         return;
       }
-      if (html$.VideoElement.is(border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
-        this[_texImage2D_5](target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video);
+      if (html$.VideoElement.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
+        this[_texImage2D_5](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video);
+        return;
+      }
+      if (html$.ImageBitmap.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
+        this[_texImage2D_6](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video);
         return;
       }
       dart.throw(new core.ArgumentError("Incorrect number or type of arguments"));
@@ -113225,21 +113724,7 @@
     [_texImage2D_5](...args) {
       return this.texImage2D.apply(this, args);
     }
-    [dartx.texImage2DCanvas](...args) {
-      return this.texImage2D.apply(this, args);
-    }
-    [dartx.texImage2DImage](...args) {
-      return this.texImage2D.apply(this, args);
-    }
-    [dartx.texImage2DImageData](target, level, internalformat, format, type, pixels) {
-      let pixels_1 = html_common.convertDartToNative_ImageData(pixels);
-      this[_texImage2DImageData_1](target, level, internalformat, format, type, pixels_1);
-      return;
-    }
-    [_texImage2DImageData_1](...args) {
-      return this.texImage2D.apply(this, args);
-    }
-    [dartx.texImage2DVideo](...args) {
+    [_texImage2D_6](...args) {
       return this.texImage2D.apply(this, args);
     }
     [dartx.texParameterf](...args) {
@@ -113248,28 +113733,32 @@
     [dartx.texParameteri](...args) {
       return this.texParameteri.apply(this, args);
     }
-    [dartx.texSubImage2D](target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video, type, pixels) {
+    [dartx.texSubImage2D](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video, type, pixels) {
       if (type === void 0) type = null;
       if (pixels === void 0) pixels = null;
-      if (pixels != null && type != null && typeof canvas_OR_format_OR_image_OR_pixels_OR_video == 'number') {
-        this[_texSubImage2D_1](target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video, type, pixels);
+      if (type != null && typeof bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video == 'number') {
+        this[_texSubImage2D_1](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video, type, pixels);
         return;
       }
-      if ((html$.ImageData.is(canvas_OR_format_OR_image_OR_pixels_OR_video) || canvas_OR_format_OR_image_OR_pixels_OR_video == null) && type == null && pixels == null) {
-        let pixels_1 = html_common.convertDartToNative_ImageData(html$.ImageData._check(canvas_OR_format_OR_image_OR_pixels_OR_video));
+      if ((html$.ImageData.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video) || bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video == null) && type == null && pixels == null) {
+        let pixels_1 = html_common.convertDartToNative_ImageData(html$.ImageData._check(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video));
         this[_texSubImage2D_2](target, level, xoffset, yoffset, format_OR_width, height_OR_type, pixels_1);
         return;
       }
-      if (html$.ImageElement.is(canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
-        this[_texSubImage2D_3](target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video);
+      if (html$.ImageElement.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
+        this[_texSubImage2D_3](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video);
         return;
       }
-      if (html$.CanvasElement.is(canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
-        this[_texSubImage2D_4](target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video);
+      if (html$.CanvasElement.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
+        this[_texSubImage2D_4](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video);
         return;
       }
-      if (html$.VideoElement.is(canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
-        this[_texSubImage2D_5](target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video);
+      if (html$.VideoElement.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
+        this[_texSubImage2D_5](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video);
+        return;
+      }
+      if (html$.ImageBitmap.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
+        this[_texSubImage2D_6](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video);
         return;
       }
       dart.throw(new core.ArgumentError("Incorrect number or type of arguments"));
@@ -113289,21 +113778,7 @@
     [_texSubImage2D_5](...args) {
       return this.texSubImage2D.apply(this, args);
     }
-    [dartx.texSubImage2DCanvas](...args) {
-      return this.texSubImage2D.apply(this, args);
-    }
-    [dartx.texSubImage2DImage](...args) {
-      return this.texSubImage2D.apply(this, args);
-    }
-    [dartx.texSubImage2DImageData](target, level, xoffset, yoffset, format, type, pixels) {
-      let pixels_1 = html_common.convertDartToNative_ImageData(pixels);
-      this[_texSubImage2DImageData_1](target, level, xoffset, yoffset, format, type, pixels_1);
-      return;
-    }
-    [_texSubImage2DImageData_1](...args) {
-      return this.texSubImage2D.apply(this, args);
-    }
-    [dartx.texSubImage2DVideo](...args) {
+    [_texSubImage2D_6](...args) {
       return this.texSubImage2D.apply(this, args);
     }
     [dartx.uniform1f](...args) {
@@ -113399,20 +113874,26 @@
     [dartx.viewport](...args) {
       return this.viewport.apply(this, args);
     }
-    [dartx.texImage2DUntyped](...args) {
-      return this.texImage2D.apply(this, args);
+    [dartx.texImage2DUntyped](targetTexture, levelOfDetail, internalFormat, format, type, data) {
+      this[dartx.texImage2D](targetTexture, levelOfDetail, internalFormat, format, type, data);
     }
-    [dartx.texImage2DTyped](...args) {
-      return this.texImage2D.apply(this, args);
+    [dartx.texImage2DTyped](targetTexture, levelOfDetail, internalFormat, width, height, border, format, type, data) {
+      this[dartx.texImage2D](targetTexture, levelOfDetail, internalFormat, width, height, border, format, type, data);
     }
-    [dartx.texSubImage2DUntyped](...args) {
-      return this.texSubImage2D.apply(this, args);
+    [dartx.texSubImage2DUntyped](targetTexture, levelOfDetail, xOffset, yOffset, format, type, data) {
+      this[dartx.texSubImage2D](targetTexture, levelOfDetail, xOffset, yOffset, format, type, data);
     }
-    [dartx.texSubImage2DTyped](...args) {
-      return this.texSubImage2D.apply(this, args);
+    [dartx.texSubImage2DTyped](targetTexture, levelOfDetail, xOffset, yOffset, width, height, border, format, type, data) {
+      this[dartx.texSubImage2D](targetTexture, levelOfDetail, xOffset, yOffset, width, height, format, type, data);
+    }
+    [dartx.bufferDataTyped](target, data, usage) {
+      this.bufferData(target, data, usage);
+    }
+    [dartx.bufferSubDataTyped](target, offset, data) {
+      this.bufferSubData(target, offset, data);
     }
   };
-  const canvas$ = Symbol("RenderingContext.canvas");
+  const canvas$1 = Symbol("RenderingContext.canvas");
   const drawingBufferHeight = Symbol("RenderingContext.drawingBufferHeight");
   const drawingBufferWidth = Symbol("RenderingContext.drawingBufferWidth");
   web_gl.RenderingContext[dart.implements] = () => [html$.CanvasRenderingContext];
@@ -113435,12 +113916,8 @@
       [dartx.blendEquationSeparate]: dart.fnType(dart.void, [core.int, core.int]),
       [dartx.blendFunc]: dart.fnType(dart.void, [core.int, core.int]),
       [dartx.blendFuncSeparate]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
-      [dartx.bufferByteData]: dart.fnType(dart.void, [core.int, typed_data.ByteBuffer, core.int]),
       [dartx.bufferData]: dart.fnType(dart.void, [core.int, dart.dynamic, core.int]),
-      [dartx.bufferDataTyped]: dart.fnType(dart.void, [core.int, typed_data.TypedData, core.int]),
-      [dartx.bufferSubByteData]: dart.fnType(dart.void, [core.int, core.int, typed_data.ByteBuffer]),
       [dartx.bufferSubData]: dart.fnType(dart.void, [core.int, core.int, dart.dynamic]),
-      [dartx.bufferSubDataTyped]: dart.fnType(dart.void, [core.int, core.int, typed_data.TypedData]),
       [dartx.checkFramebufferStatus]: dart.fnType(core.int, [core.int]),
       [dartx.clear]: dart.fnType(dart.void, [core.int]),
       [dartx.clearColor]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
@@ -113486,7 +113963,7 @@
       [dartx.getAttachedShaders]: dart.fnType(core.List$(web_gl.Shader), [web_gl.Program]),
       [dartx.getAttribLocation]: dart.fnType(core.int, [web_gl.Program, core.String]),
       [dartx.getBufferParameter]: dart.fnType(core.Object, [core.int, core.int]),
-      [dartx.getContextAttributes]: dart.fnType(web_gl.ContextAttributes, []),
+      [dartx.getContextAttributes]: dart.fnType(core.Map, []),
       [_getContextAttributes_1$]: dart.fnType(dart.dynamic, [])