movi-player 0.3.3 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +23 -12
  2. package/dist/core/MoviPlayer.d.ts +65 -1
  3. package/dist/core/MoviPlayer.d.ts.map +1 -1
  4. package/dist/core/MoviPlayer.js +239 -10
  5. package/dist/core/MoviPlayer.js.map +1 -1
  6. package/dist/decode/AudioDecoder.d.ts +4 -0
  7. package/dist/decode/AudioDecoder.d.ts.map +1 -1
  8. package/dist/decode/AudioDecoder.js +14 -0
  9. package/dist/decode/AudioDecoder.js.map +1 -1
  10. package/dist/decode/SoftwareAudioDecoder.d.ts +12 -0
  11. package/dist/decode/SoftwareAudioDecoder.d.ts.map +1 -1
  12. package/dist/decode/SoftwareAudioDecoder.js +91 -2
  13. package/dist/decode/SoftwareAudioDecoder.js.map +1 -1
  14. package/dist/decode/VideoDecoder.d.ts.map +1 -1
  15. package/dist/decode/VideoDecoder.js +7 -0
  16. package/dist/decode/VideoDecoder.js.map +1 -1
  17. package/dist/demuxer.cjs +1863 -1788
  18. package/dist/demuxer.js +1722 -1649
  19. package/dist/element.cjs +2904 -1867
  20. package/dist/element.d.ts +48 -0
  21. package/dist/element.d.ts.map +1 -1
  22. package/dist/element.js +7935 -6894
  23. package/dist/element.js.map +1 -1
  24. package/dist/index.cjs +2904 -1867
  25. package/dist/index.js +7935 -6894
  26. package/dist/player.cjs +3060 -2930
  27. package/dist/player.js +1763 -1633
  28. package/dist/render/AudioRenderer.d.ts +30 -0
  29. package/dist/render/AudioRenderer.d.ts.map +1 -1
  30. package/dist/render/AudioRenderer.js +127 -44
  31. package/dist/render/AudioRenderer.js.map +1 -1
  32. package/dist/render/CanvasRenderer.d.ts +31 -0
  33. package/dist/render/CanvasRenderer.d.ts.map +1 -1
  34. package/dist/render/CanvasRenderer.js +31 -0
  35. package/dist/render/CanvasRenderer.js.map +1 -1
  36. package/dist/render/DASHPlayerWrapper.d.ts.map +1 -1
  37. package/dist/render/DASHPlayerWrapper.js +3 -1
  38. package/dist/render/DASHPlayerWrapper.js.map +1 -1
  39. package/dist/render/HLSPlayerWrapper.d.ts.map +1 -1
  40. package/dist/render/HLSPlayerWrapper.js +3 -1
  41. package/dist/render/HLSPlayerWrapper.js.map +1 -1
  42. package/dist/render/MoviElement.d.ts +223 -0
  43. package/dist/render/MoviElement.d.ts.map +1 -1
  44. package/dist/render/MoviElement.js +2072 -209
  45. package/dist/render/MoviElement.js.map +1 -1
  46. package/dist/render/ShakaPlayerWrapper.d.ts.map +1 -1
  47. package/dist/render/ShakaPlayerWrapper.js +3 -1
  48. package/dist/render/ShakaPlayerWrapper.js.map +1 -1
  49. package/dist/source/HttpSource.d.ts +3 -0
  50. package/dist/source/HttpSource.d.ts.map +1 -1
  51. package/dist/source/HttpSource.js +81 -22
  52. package/dist/source/HttpSource.js.map +1 -1
  53. package/dist/utils/QoE.d.ts +126 -0
  54. package/dist/utils/QoE.d.ts.map +1 -0
  55. package/dist/utils/QoE.js +192 -0
  56. package/dist/utils/QoE.js.map +1 -0
  57. package/dist/utils/ThumbnailRenderer.d.ts +25 -0
  58. package/dist/utils/ThumbnailRenderer.d.ts.map +1 -1
  59. package/dist/utils/ThumbnailRenderer.js +195 -2
  60. package/dist/utils/ThumbnailRenderer.js.map +1 -1
  61. package/dist/wasm/bindings.d.ts +8 -0
  62. package/dist/wasm/bindings.d.ts.map +1 -1
  63. package/dist/wasm/bindings.js +31 -7
  64. package/dist/wasm/bindings.js.map +1 -1
  65. package/dist/wasm/movi.js +0 -0
  66. package/package.json +3 -2
@@ -15,6 +15,21 @@ export class ThumbnailRenderer {
15
15
  texture = null;
16
16
  vao = null;
17
17
  rotation = 0;
18
+ // 360° preview reprojection. When _vrView is set, draw() reprojects the
19
+ // equirectangular texture to the current viewing angle (mirrors
20
+ // CanvasRenderer's VR shader) instead of the flat passthrough. Its own
21
+ // program + unrotated fullscreen quad; compiled lazily on first 360 preview.
22
+ vrProgram = null;
23
+ vrVao = null;
24
+ vrLocs = null;
25
+ vrView = null;
26
+ // The flat (source-sized) canvas dimensions from initialize(), restored when
27
+ // a preview flips back to the flat path after a 360 draw resized the canvas.
28
+ flatWidth = 0;
29
+ flatHeight = 0;
30
+ static VR_PREVIEW_HEIGHT = 256;
31
+ static VR_FISHEYE_FOV = Math.PI;
32
+ static VR_PLANET_SCALE = 0.5;
18
33
  // WebCodecs support
19
34
  decoder = null;
20
35
  pendingDecodeResolve = null;
@@ -81,6 +96,10 @@ export class ThumbnailRenderer {
81
96
  const isRotated = rotation % 180 !== 0;
82
97
  this.canvas.width = isRotated ? height : width;
83
98
  this.canvas.height = isRotated ? width : height;
99
+ // Remember the flat render size so the VR path can resize the shared canvas
100
+ // for a preview-shaped view and the flat path can restore it afterwards.
101
+ this.flatWidth = this.canvas.width;
102
+ this.flatHeight = this.canvas.height;
84
103
  // Detect if source is HDR
85
104
  const primaries = (colorPrimaries || "").toLowerCase();
86
105
  const transfer = (colorTransfer || "").toLowerCase();
@@ -641,11 +660,177 @@ export class ThumbnailRenderer {
641
660
  gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, frame);
642
661
  this.draw();
643
662
  }
663
+ /**
664
+ * Set (or clear) the 360° reprojection view. When non-null, the next draw()
665
+ * reprojects the equirectangular texture to this camera angle; null restores
666
+ * the flat passthrough. Must be set BEFORE render()/decodeAndRender(), since
667
+ * draw() runs synchronously inside those.
668
+ */
669
+ setProjection(view) {
670
+ this.vrView = view;
671
+ }
672
+ /**
673
+ * Lazily compile the equirect/fisheye/stereographic raycast program (ported
674
+ * verbatim from CanvasRenderer.initVRProgram) plus its own unrotated
675
+ * fullscreen quad feeding v_ndc. Returns true when ready.
676
+ */
677
+ initVRProgram() {
678
+ if (this.vrProgram && this.vrVao)
679
+ return true;
680
+ if (!this.gl)
681
+ return false;
682
+ const gl = this.gl;
683
+ const vsSource = `#version 300 es
684
+ layout(location = 0) in vec2 a_position;
685
+ out vec2 v_ndc;
686
+ void main() {
687
+ v_ndc = a_position;
688
+ gl_Position = vec4(a_position, 0.0, 1.0);
689
+ }`;
690
+ const fsSource = `#version 300 es
691
+ precision highp float;
692
+ uniform sampler2D u_image;
693
+ uniform float u_yaw;
694
+ uniform float u_pitch;
695
+ uniform float u_fov;
696
+ uniform float u_aspect;
697
+ uniform float u_lonDiv;
698
+ uniform float u_latDiv;
699
+ uniform float u_proj;
700
+ uniform float u_fishFov;
701
+ uniform float u_uScale;
702
+ uniform float u_uOffset;
703
+ uniform float u_planetScale;
704
+ uniform float u_srcAspect;
705
+ in vec2 v_ndc;
706
+ out vec4 outColor;
707
+ const float PI = 3.14159265358979323846;
708
+ void main() {
709
+ float t = tan(u_fov * 0.5);
710
+ vec3 dir = normalize(vec3(v_ndc.x * t * u_aspect, v_ndc.y * t, -1.0));
711
+ float cp = cos(u_pitch), sp = sin(u_pitch);
712
+ dir = vec3(dir.x, cp * dir.y - sp * dir.z, sp * dir.y + cp * dir.z);
713
+ float cy = cos(u_yaw), sy = sin(u_yaw);
714
+ dir = vec3(cy * dir.x + sy * dir.z, dir.y, -sy * dir.x + cy * dir.z);
715
+ vec2 eye;
716
+ if (u_proj < 0.5) {
717
+ float lon = atan(dir.x, -dir.z);
718
+ float lat = asin(clamp(dir.y, -1.0, 1.0));
719
+ eye = vec2(lon / u_lonDiv + 0.5, 0.5 - lat / u_latDiv);
720
+ } else if (u_proj < 1.5) {
721
+ float theta = acos(clamp(-dir.z, -1.0, 1.0));
722
+ float phi = atan(dir.y, dir.x);
723
+ float r = theta / (u_fishFov * 0.5);
724
+ eye = vec2(0.5 + 0.5 * r * cos(phi), 0.5 - 0.5 * r * sin(phi));
725
+ } else {
726
+ float a = acos(clamp(-dir.y, -1.0, 1.0));
727
+ float az = atan(dir.z, dir.x);
728
+ float r = tan(a * 0.5) * u_planetScale;
729
+ eye = vec2(0.5 + r * cos(az) / u_srcAspect, 0.5 + r * sin(az));
730
+ }
731
+ vec2 uv = vec2(eye.x * u_uScale + u_uOffset, eye.y);
732
+ outColor = texture(u_image, uv);
733
+ }`;
734
+ const program = this.createProgram(vsSource, fsSource);
735
+ if (!program) {
736
+ Logger.warn(TAG, "Failed to compile VR preview program");
737
+ return false;
738
+ }
739
+ this.vrProgram = program;
740
+ this.vrLocs = {
741
+ image: gl.getUniformLocation(program, "u_image"),
742
+ yaw: gl.getUniformLocation(program, "u_yaw"),
743
+ pitch: gl.getUniformLocation(program, "u_pitch"),
744
+ fov: gl.getUniformLocation(program, "u_fov"),
745
+ aspect: gl.getUniformLocation(program, "u_aspect"),
746
+ lonDiv: gl.getUniformLocation(program, "u_lonDiv"),
747
+ latDiv: gl.getUniformLocation(program, "u_latDiv"),
748
+ proj: gl.getUniformLocation(program, "u_proj"),
749
+ fishFov: gl.getUniformLocation(program, "u_fishFov"),
750
+ uScale: gl.getUniformLocation(program, "u_uScale"),
751
+ uOffset: gl.getUniformLocation(program, "u_uOffset"),
752
+ planetScale: gl.getUniformLocation(program, "u_planetScale"),
753
+ srcAspect: gl.getUniformLocation(program, "u_srcAspect"),
754
+ };
755
+ gl.useProgram(program);
756
+ if (this.vrLocs.image)
757
+ gl.uniform1i(this.vrLocs.image, 0);
758
+ // Unrotated fullscreen quad (position only at location 0) → v_ndc.
759
+ this.vrVao = gl.createVertexArray();
760
+ gl.bindVertexArray(this.vrVao);
761
+ const vbo = gl.createBuffer();
762
+ gl.bindBuffer(gl.ARRAY_BUFFER, vbo);
763
+ gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-1, -1, 1, -1, -1, 1, 1, 1]), gl.STATIC_DRAW);
764
+ gl.enableVertexAttribArray(0);
765
+ gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 0, 0);
766
+ gl.bindVertexArray(null);
767
+ return true;
768
+ }
769
+ /** Reproject the bound equirect texture to the current 360 view. */
770
+ drawVR(gl, view) {
771
+ // Size the preview to the player's aspect so the framing matches on-screen.
772
+ const aspect = view.aspect > 0 ? view.aspect : 16 / 9;
773
+ const H = ThumbnailRenderer.VR_PREVIEW_HEIGHT;
774
+ const W = Math.max(64, Math.min(768, Math.round(H * aspect)));
775
+ if (this.canvas.width !== W || this.canvas.height !== H) {
776
+ this.canvas.width = W;
777
+ this.canvas.height = H;
778
+ }
779
+ // Full 360° equirect wraps horizontally; VR180 / little-planet clamp.
780
+ gl.bindTexture(gl.TEXTURE_2D, this.texture);
781
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, view.half || view.stereographic ? gl.CLAMP_TO_EDGE : gl.REPEAT);
782
+ gl.viewport(0, 0, W, H);
783
+ gl.clearColor(0, 0, 0, 1);
784
+ gl.clear(gl.COLOR_BUFFER_BIT);
785
+ gl.useProgram(this.vrProgram);
786
+ gl.bindVertexArray(this.vrVao);
787
+ const locs = this.vrLocs;
788
+ const eyeAspect = view.sbs ? view.texAspect / 2 : view.texAspect;
789
+ const lonDiv = view.half ? Math.PI : 2 * Math.PI;
790
+ const latDiv = Math.min(Math.PI, lonDiv / (eyeAspect || 2));
791
+ const projMode = view.stereographic ? 2 : view.fisheye ? 1 : 0;
792
+ if (locs.yaw)
793
+ gl.uniform1f(locs.yaw, view.yaw);
794
+ if (locs.pitch)
795
+ gl.uniform1f(locs.pitch, view.pitch);
796
+ if (locs.fov)
797
+ gl.uniform1f(locs.fov, view.fov);
798
+ if (locs.aspect)
799
+ gl.uniform1f(locs.aspect, W / H);
800
+ if (locs.lonDiv)
801
+ gl.uniform1f(locs.lonDiv, lonDiv);
802
+ if (locs.latDiv)
803
+ gl.uniform1f(locs.latDiv, latDiv);
804
+ if (locs.proj)
805
+ gl.uniform1f(locs.proj, projMode);
806
+ if (locs.fishFov)
807
+ gl.uniform1f(locs.fishFov, ThumbnailRenderer.VR_FISHEYE_FOV);
808
+ if (locs.uScale)
809
+ gl.uniform1f(locs.uScale, view.sbs ? 0.5 : 1);
810
+ if (locs.uOffset)
811
+ gl.uniform1f(locs.uOffset, 0);
812
+ if (locs.planetScale)
813
+ gl.uniform1f(locs.planetScale, ThumbnailRenderer.VR_PLANET_SCALE);
814
+ if (locs.srcAspect)
815
+ gl.uniform1f(locs.srcAspect, view.texAspect || 1);
816
+ gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
817
+ }
644
818
  draw() {
645
- if (!this.gl || !this.program || !this.vao)
819
+ if (!this.gl || !this.vao)
646
820
  return;
647
821
  const gl = this.gl;
648
- // Render
822
+ // 360° preview: reproject the equirect texture to the current view.
823
+ if (this.vrView && this.initVRProgram()) {
824
+ this.drawVR(gl, this.vrView);
825
+ return;
826
+ }
827
+ if (!this.program)
828
+ return;
829
+ // Restore the flat (source-sized) canvas if a prior 360 draw resized it.
830
+ if (this.flatWidth && this.canvas.width !== this.flatWidth) {
831
+ this.canvas.width = this.flatWidth;
832
+ this.canvas.height = this.flatHeight;
833
+ }
649
834
  gl.viewport(0, 0, this.canvas.width, this.canvas.height);
650
835
  gl.clearColor(0, 0, 0, 1);
651
836
  gl.clear(gl.COLOR_BUFFER_BIT);
@@ -727,6 +912,14 @@ export class ThumbnailRenderer {
727
912
  this.gl.deleteProgram(this.program);
728
913
  this.program = null;
729
914
  }
915
+ if (this.vrVao) {
916
+ this.gl.deleteVertexArray(this.vrVao);
917
+ this.vrVao = null;
918
+ }
919
+ if (this.vrProgram) {
920
+ this.gl.deleteProgram(this.vrProgram);
921
+ this.vrProgram = null;
922
+ }
730
923
  }
731
924
  this.gl = null;
732
925
  if (this.decoder) {
@@ -1 +1 @@
1
- {"version":3,"file":"ThumbnailRenderer.js","sourceRoot":"","sources":["../../src/utils/ThumbnailRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThumbnailRenderer.js","sourceRoot":"","sources":["../../src/utils/ThumbnailRenderer.ts"],"names":[],"mappings":"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"}
@@ -138,6 +138,14 @@ export declare class WasmBindings {
138
138
  */
139
139
  setLogLevelFromMovi(level: LogLevel): void;
140
140
  enableDecoder(streamIndex: number, extradata?: Uint8Array): number;
141
+ /**
142
+ * Persistently discard (or re-enable) a stream at the demuxer level. With
143
+ * discard=true, av_read_frame skips that stream's packets internally and never
144
+ * returns them — used to drop unused audio/subtitle tracks from the read path
145
+ * so the JS demux loop isn't flooded with packets it throws away (issue #11:
146
+ * a 2nd unused TrueHD track doubled the read load and starved audio on Safari).
147
+ */
148
+ setStreamDiscard(streamIndex: number, discard: boolean): void;
141
149
  sendPacket(streamIndex: number, data: Uint8Array, pts: number, dts: number, keyframe: boolean): number;
142
150
  receiveFrame(streamIndex: number): number;
143
151
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/wasm/bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/wasm/bindings.ts"],"names":[],"mappings":"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"}
@@ -48,13 +48,19 @@ function parseStreamInfo(module, ptr) {
48
48
  const view = new DataView(module.HEAPU8.buffer, ptr, STREAM_INFO_SIZE);
49
49
  // Read codec name (32 bytes starting at offset 12)
50
50
  const codecNameBytes = module.HEAPU8.subarray(ptr + STREAM_INFO_OFFSETS.codecName, ptr + STREAM_INFO_OFFSETS.codecName + 32);
51
- const codecName = new TextDecoder().decode(codecNameBytes.subarray(0, codecNameBytes.indexOf(0)));
51
+ // .slice() (a copy), not .subarray() (a view): module.HEAPU8 is backed by a
52
+ // resizable ArrayBuffer under -sALLOW_MEMORY_GROWTH, and TextDecoder.decode()
53
+ // throws "The provided ArrayBuffer value must not be resizable" on a view of
54
+ // one. Copying into a fresh, fixed-size buffer sidesteps it. Applies to every
55
+ // TextDecoder.decode() of a heap view below. (Newer Emscripten toolchains hit
56
+ // this; reported as issue #11.)
57
+ const codecName = new TextDecoder().decode(codecNameBytes.slice(0, codecNameBytes.indexOf(0)));
52
58
  // Read language (8 bytes starting at offset 100)
53
59
  const languageBytes = module.HEAPU8.subarray(ptr + STREAM_INFO_OFFSETS.language, ptr + STREAM_INFO_OFFSETS.language + 8);
54
- const language = new TextDecoder().decode(languageBytes.subarray(0, languageBytes.indexOf(0)));
60
+ const language = new TextDecoder().decode(languageBytes.slice(0, languageBytes.indexOf(0)));
55
61
  // Read label (64 bytes starting at offset 112)
56
62
  const labelBytes = module.HEAPU8.subarray(ptr + STREAM_INFO_OFFSETS.label, ptr + STREAM_INFO_OFFSETS.label + 64);
57
- const label = new TextDecoder().decode(labelBytes.subarray(0, labelBytes.indexOf(0)));
63
+ const label = new TextDecoder().decode(labelBytes.slice(0, labelBytes.indexOf(0)));
58
64
  return {
59
65
  index: view.getInt32(STREAM_INFO_OFFSETS.index, true),
60
66
  type: view.getInt32(STREAM_INFO_OFFSETS.type, true),
@@ -88,7 +94,9 @@ function parseStreamInfo(module, ptr) {
88
94
  function readString(module, ptr, maxLength) {
89
95
  const bytes = module.HEAPU8.subarray(ptr, ptr + maxLength);
90
96
  const nullIndex = bytes.indexOf(0);
91
- return new TextDecoder().decode(bytes.subarray(0, nullIndex >= 0 ? nullIndex : maxLength));
97
+ // .slice() copies out of the resizable HEAP buffer — TextDecoder rejects a
98
+ // view of a resizable ArrayBuffer (see parseStreamInfo note).
99
+ return new TextDecoder().decode(bytes.slice(0, nullIndex >= 0 ? nullIndex : maxLength));
92
100
  }
93
101
  /**
94
102
  * Parse PacketInfo from WASM memory
@@ -534,7 +542,7 @@ export class WasmBindings {
534
542
  this.module._movi_get_chapter_title(this.contextPtr, i, titleBufPtr, 256);
535
543
  const titleBytes = this.module.HEAPU8.subarray(titleBufPtr, titleBufPtr + 256);
536
544
  const nullIdx = titleBytes.indexOf(0);
537
- const title = new TextDecoder().decode(titleBytes.subarray(0, nullIdx > 0 ? nullIdx : 256));
545
+ const title = new TextDecoder().decode(titleBytes.slice(0, nullIdx > 0 ? nullIdx : 256));
538
546
  chapters.push({
539
547
  title: title || `Chapter ${i + 1}`,
540
548
  start: start >= 0 ? start : 0,
@@ -631,6 +639,21 @@ export class WasmBindings {
631
639
  this.module._free(ptr);
632
640
  }
633
641
  }
642
+ /**
643
+ * Persistently discard (or re-enable) a stream at the demuxer level. With
644
+ * discard=true, av_read_frame skips that stream's packets internally and never
645
+ * returns them — used to drop unused audio/subtitle tracks from the read path
646
+ * so the JS demux loop isn't flooded with packets it throws away (issue #11:
647
+ * a 2nd unused TrueHD track doubled the read load and starved audio on Safari).
648
+ */
649
+ setStreamDiscard(streamIndex, discard) {
650
+ if (!this.contextPtr)
651
+ return;
652
+ const fn = this.module._movi_set_stream_discard;
653
+ if (typeof fn !== "function")
654
+ return; // older WASM without the export
655
+ fn(this.contextPtr, streamIndex, discard ? 1 : 0);
656
+ }
634
657
  sendPacket(streamIndex, data, pts, dts, keyframe) {
635
658
  if (!this.contextPtr)
636
659
  return -1;
@@ -719,7 +742,8 @@ export class WasmBindings {
719
742
  }
720
743
  // Read text from WASM memory
721
744
  const textBytes = this.module.HEAPU8.subarray(bufferPtr, bufferPtr + result);
722
- const text = new TextDecoder().decode(textBytes);
745
+ // .slice() TextDecoder rejects a view of the resizable HEAP buffer.
746
+ const text = new TextDecoder().decode(textBytes.slice());
723
747
  // Trim whitespace and check if empty
724
748
  const trimmedText = text?.trim();
725
749
  if (!trimmedText || trimmedText.length === 0) {
@@ -799,7 +823,7 @@ export class WasmBindings {
799
823
  const start = new DataView(this.module.HEAPU8.buffer, startPtr, 8).getFloat64(0, true);
800
824
  const end = new DataView(this.module.HEAPU8.buffer, endPtr, 8).getFloat64(0, true);
801
825
  const textBytes = this.module.HEAPU8.subarray(textPtr, textPtr + len);
802
- const text = new TextDecoder().decode(textBytes).trim();
826
+ const text = new TextDecoder().decode(textBytes.slice()).trim();
803
827
  if (text)
804
828
  cues.push({ start, end, text });
805
829
  }