pdfjs-serverless 1.3.1 → 2.0.0

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 (106) hide show
  1. package/README.md +52 -38
  2. package/dist/image-decoders.d.mts +1 -0
  3. package/dist/image-decoders.mjs +1 -0
  4. package/dist/index.d.mts +3 -3
  5. package/dist/index.mjs +41 -40
  6. package/dist/licenses/LICENSE_JBIG2 +196 -0
  7. package/dist/licenses/LICENSE_OPENJPEG +39 -0
  8. package/dist/licenses/LICENSE_PDFJS +177 -0
  9. package/dist/licenses/LICENSE_PDFJS_JBIG2 +13 -0
  10. package/dist/licenses/LICENSE_PDFJS_OPENJPEG +22 -0
  11. package/dist/pdfjs-decoders-workerd.mjs +1 -0
  12. package/dist/pdfjs-decoders.mjs +1 -0
  13. package/dist/pdfjs-jbig2.mjs +1 -0
  14. package/dist/pdfjs-jbig2_nowasm_fallback.mjs +1 -0
  15. package/dist/pdfjs-loader.mjs +1 -0
  16. package/dist/pdfjs-openjpeg.mjs +1 -0
  17. package/dist/pdfjs-openjpeg_nowasm_fallback.mjs +2 -0
  18. package/dist/pdfjs-rolldown-runtime.mjs +1 -0
  19. package/dist/types/external/qcms/qcms.d.ts +11 -7
  20. package/dist/types/external/qcms/qcms_utils.d.ts +1 -6
  21. package/dist/types/src/core/base_stream.d.ts +8 -1
  22. package/dist/types/src/core/catalog.d.ts +12 -12
  23. package/dist/types/src/core/colorspace.d.ts +6 -15
  24. package/dist/types/src/core/core_utils.d.ts +18 -14
  25. package/dist/types/src/core/crypto.d.ts +0 -1
  26. package/dist/types/src/core/file_spec.d.ts +4 -9
  27. package/dist/types/src/core/icc_colorspace.d.ts +0 -1
  28. package/dist/types/src/core/image_resizer.d.ts +24 -0
  29. package/dist/types/src/core/image_utils.d.ts +4 -4
  30. package/dist/types/src/core/jpeg_stream.d.ts +1 -1
  31. package/dist/types/src/core/jpg.d.ts +9 -13
  32. package/dist/types/src/core/parser.d.ts +0 -2
  33. package/dist/types/src/core/pattern.d.ts +0 -2
  34. package/dist/types/src/core/primitives.d.ts +30 -16
  35. package/dist/types/src/core/sasl_prep.d.ts +1 -0
  36. package/dist/types/src/core/sound.d.ts +39 -0
  37. package/dist/types/src/core/string_utils.d.ts +1 -1
  38. package/dist/types/src/core/struct_tree.d.ts +3 -3
  39. package/dist/types/src/core/xml_parser.d.ts +1 -2
  40. package/dist/types/src/core/xref.d.ts +2 -15
  41. package/dist/types/src/display/annotation_layer.d.ts +11 -22
  42. package/dist/types/src/display/annotation_storage.d.ts +7 -7
  43. package/dist/types/src/display/api.d.ts +155 -108
  44. package/dist/types/src/display/canvas.d.ts +2 -1
  45. package/dist/types/src/display/canvas_dependency_tracker.d.ts +8 -3
  46. package/dist/types/src/display/content_disposition.d.ts +0 -1
  47. package/dist/types/src/display/display_utils.d.ts +2 -2
  48. package/dist/types/src/display/draw_layer.d.ts +2 -6
  49. package/dist/types/src/display/editor/annotation_editor_layer.d.ts +18 -19
  50. package/dist/types/src/display/editor/color_picker.d.ts +1 -1
  51. package/dist/types/src/display/editor/comment.d.ts +1 -1
  52. package/dist/types/src/display/editor/draw.d.ts +78 -27
  53. package/dist/types/src/display/editor/drawers/freedraw.d.ts +11 -9
  54. package/dist/types/src/display/editor/drawers/highlight.d.ts +99 -15
  55. package/dist/types/src/display/editor/drawers/inkdraw.d.ts +7 -2
  56. package/dist/types/src/display/editor/drawers/outline.d.ts +65 -2
  57. package/dist/types/src/display/editor/editor.d.ts +24 -22
  58. package/dist/types/src/display/editor/freetext.d.ts +1 -1
  59. package/dist/types/src/display/editor/highlight.d.ts +44 -35
  60. package/dist/types/src/display/editor/ink.d.ts +7 -2
  61. package/dist/types/src/display/editor/stamp.d.ts +1 -1
  62. package/dist/types/src/display/editor/tools.d.ts +21 -19
  63. package/dist/types/src/display/filter_factory.d.ts +1 -3
  64. package/dist/types/src/display/font_loader.d.ts +1 -15
  65. package/dist/types/src/display/network_utils.d.ts +1 -0
  66. package/dist/types/src/display/obj_bin_transform_display.d.ts +25 -38
  67. package/dist/types/src/display/page_viewport.d.ts +5 -5
  68. package/dist/types/src/display/pages_mapper.d.ts +10 -4
  69. package/dist/types/src/display/pattern_helper.d.ts +4 -3
  70. package/dist/types/src/display/pdf_objects.d.ts +1 -3
  71. package/dist/types/src/display/text_layer.d.ts +6 -4
  72. package/dist/types/src/display/touch_manager.d.ts +46 -9
  73. package/dist/types/src/display/worker_options.d.ts +2 -2
  74. package/dist/types/src/display/xfa_layer.d.ts +9 -14
  75. package/dist/types/src/display/xfa_text.d.ts +4 -7
  76. package/dist/types/src/pdf.d.ts +8 -7
  77. package/dist/types/src/shared/base_pdf_stream.d.ts +6 -7
  78. package/dist/types/src/shared/css_utils.d.ts +8 -0
  79. package/dist/types/src/shared/message_handler.d.ts +2 -11
  80. package/dist/types/src/shared/obj_bin_transform_utils.d.ts +4 -3
  81. package/dist/types/src/shared/util.d.ts +4 -6
  82. package/dist/types/web/annotation_editor_layer_builder.d.ts +10 -8
  83. package/dist/types/web/annotation_layer_builder.d.ts +17 -21
  84. package/dist/types/web/draw_layer_builder.d.ts +7 -9
  85. package/dist/types/web/event_utils.d.ts +12 -13
  86. package/dist/types/web/genericl10n.d.ts +2 -2
  87. package/dist/types/web/l10n.d.ts +1 -1
  88. package/dist/types/web/pdf_find_controller.d.ts +9 -10
  89. package/dist/types/web/pdf_find_utils.d.ts +8 -14
  90. package/dist/types/web/pdf_history.d.ts +2 -2
  91. package/dist/types/web/pdf_link_service.d.ts +7 -9
  92. package/dist/types/web/pdf_page_view.d.ts +15 -15
  93. package/dist/types/web/pdf_rendering_queue.d.ts +7 -8
  94. package/dist/types/web/pdf_scripting_manager.d.ts +5 -5
  95. package/dist/types/web/pdf_thumbnail_view.d.ts +11 -11
  96. package/dist/types/web/pdf_thumbnail_viewer.d.ts +21 -22
  97. package/dist/types/web/pdf_viewer.d.ts +49 -29
  98. package/dist/types/web/renderable_view.d.ts +3 -3
  99. package/dist/types/web/sidebar.d.ts +3 -3
  100. package/dist/types/web/struct_tree_layer_builder.d.ts +21 -7
  101. package/dist/types/web/text_accessibility.d.ts +4 -2
  102. package/dist/types/web/text_highlighter.d.ts +7 -8
  103. package/dist/types/web/text_layer_builder.d.ts +11 -11
  104. package/dist/types/web/ui_utils.d.ts +8 -13
  105. package/dist/types/web/xfa_layer_builder.d.ts +13 -13
  106. package/package.json +27 -16
@@ -0,0 +1 @@
1
+ async function JBig2(e={}){var n=e,r=!0,quit_=(e,n)=>{throw n},a=import.meta.url;if(r)try{new URL(`.`,a).href}catch{}console.log.bind(console);var s=console.error.bind(console),c={Memory:function(e){this.buffer=/* @__PURE__ */ new ArrayBuffer(e.initial*65536)},Module:function(e){},Instance:function(e,n){this.exports=(function instantiate(e){for(var n,r=/* @__PURE__ */ new Uint8Array(123),a=25;a>=0;--a)r[48+a]=52+a,r[65+a]=a,r[97+a]=26+a;r[43]=62,r[47]=63;function i(e,n,a){for(var s,c,l=0,u=n,d=a.length,f=n+(d*3>>2)-(a[d-2]==`=`)-(a[d-1]==`=`);l<d;l+=4)s=r[a.charCodeAt(l+1)],c=r[a.charCodeAt(l+2)],e[u++]=r[a.charCodeAt(l)]<<2|s>>4,u<f&&(e[u++]=s<<4|c>>2),u<f&&(e[u++]=c<<6|r[a.charCodeAt(l+3)]);return e}function m(e){i(n,1024,`TjdmeGNvZGVjMTVTY2FubGluZURlY29kZXJFAAAAAAAAAAAGBwIACAMACwQADAUADgYADwcABgcKAAgLABKAABMIABQJABtAAAkDDQAHAQAIDAAXwAAYgAYqEAArEQA0DgA1DwAMAxYABBcACBQADBMAExoAFxUAGBwAJBsAJxIAKBgAKxkANwABKgIdAAMeAAQtAAUuAAovAAswABIhABMiABQjABUkABYlABcmABofABsgACQ1ACU2ACgnACkoACopACsqACwrAC0sADI9ADM+ADQ/ADUAADZAATeAAUo7AEs8AFIxAFMyAFQzAFU0AFg3AFk4AFo5AFs6AGTAAWUAAmeAAmhAAhCYwAWZAAaaQAabwAbMwALNAAPSQAPTgAPUwAPVAATWQATXgATYwATZAAXaQAXbgAUAAwgABwxABw2ABwoSwAcTAAgUQAgVgAgWwAgXAAkcQAkdgAkewAkfAAr/`),i(n,1393,`AgIDAAMCAAICAQADBAACAgYAAwUAAQMHAAIECQAFCAADBAoABQsABwwAAgQNAAcOAAEYDwAFCBIAD0AAFxAAGBEANwAACggABwxABw2ABxcYABgZACgXADcWAGcTAGgUAGwVADYSwAcTAAgUQAgVgAgWwAgXAAkcQAkdgAkewAkfAAokNAAnNwAoOAArOwAsPAAzQAE0gAE1wAE3NQA4NgBSMgBTMwBULABVLQBWLgBXLwBYOQBZOgBaPQBbAAFkMABlMQBmPgBnPwBoHgBpHwBqIABrIQBsKABtKQDIgADJwADKGgDLGwDMHADNHQDSIgDTIwDUJADVJQDWJgDXJwDaKgDbKwAUSoACS8ACTAADTUADUgAFU0AFVIAFVcAFWgAGW0AGZIAGZcAGbAACbUACcoADc8ADdAAEdUAEdoAEd8AE/wAAAAAAANQGAAAMAAAADQAAAA4AAAAPAAAAEAAAAAgWAADgBgAACAcAAE43Znhjb2RlYzEyX0dMT0JBTF9fTl8xMTBGYXhEZWNvZGVyRQAAAADQFQAAAAQAAAFWAQEBAAE0AgYAAAEYAwkAAMEKBAwAACEFBR0AACECJiEAAAFWBwYBAAFUCA4AAAFICQ4AAAE4Cg4AAAEwCxEAAAEkDBIAAAEcDRQAAAEWHRUAAAFWDw4BAAFUEA4AAAFREQ8AAAFIEhAAAAE4ExEAAAE0FBIAAAEwFRMAAAEoFhMAAAEkFxQAAAEiGBUAAAEcGRYAAAEYGhcAAAEWGxgAAAEUHBkAAAESHRoAAAERHhsAAMEKHxwAAMEJIB0AAKEIIR4AACEFIh8AAEEEIyAAAKECJCEAACECJSIAAEEBJiMAABEBJyQAAIUAKCUAAEkAKSYAACUAKicAABUAKygAAAkALCkAAAUALSoAAAEALSsAAAFWLi4AAAAAAgAAAAAAAAAEAAAABAAAAAYAAAAUAAAACAAAAFQAAAAMAAAAVAEAACAAAABUEQAAJZsAAPd7AAAAAAAA8AcAABAAAAAGAAAAAPgAAAAIAACVBwAA+w4AAAEAAAD4AQAACAAAAAQAAAAAHgAAAAIAAOUAAAC9AQAAAwAAAHwAAAAEAAAAAQAAAIADAACAAAAAAAAAAOgIAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAIFgAA9AgAAGQJAABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0lNMTRDSkJpZzJfR1JEUHJvY0YxNEZYQ09ERUNfU1RBVFVTUE5TMl8yN1Byb2dyZXNzaXZlQXJpdGhEZWNvZGVTdGF0ZUVFRlMzX1JTMl9TNV9FRUUA0BUAAGwJAABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGMTRGWENPREVDX1NUQVRVU1IxNENKQmlnMl9HUkRQcm9jUE5TM18yN1Byb2dyZXNzaXZlQXJpdGhEZWNvZGVTdGF0ZUVFRUUA4BQAAOQJAAAAAAAALAoAAHgKAABNMTRDSkJpZzJfR1JEUHJvY0YxNEZYQ09ERUNfU1RBVFVTUE5TXzI3UHJvZ3Jlc3NpdmVBcml0aERlY29kZVN0YXRlRUUAAACQFAAANAoAAEYxNEZYQ09ERUNfU1RBVFVTUE4xNENKQmlnMl9HUkRQcm9jMjdQcm9ncmVzc2l2ZUFyaXRoRGVjb2RlU3RhdGVFRQAA0BUAAIAKAAAxNENKQmlnMl9HUkRQcm9j`),i(n,2724,`YAsAAAUAAAABAAAAkAsAAAgAAAABAAAA0AsAAAkAAAAAAAAAIAwAAAcAAAAAAAAAYAwAAAgAAAAAAAAAoAwAAA4AAAAAAAAAEA0AAA8AAAABAAAAkA0AABUAAAABAAAAQA4AABYAAAABAAAA8A4AABUAAAAAAAAAoA8AAA4AAAAAAAAAEBAAAA4AAAAAAAAAgBAAAA4AAAAAAAAA8BAAAAcAAAAAAAAAMBEAAA0=`),i(n,2912,`AQQAAAAAAAACCAAAEAAAAAMQAAAQAQAAACAAAP////8DIAAAEAEB`),i(n,2960,`AQAAAAAAAAACAAAAAQAAAAMAAAACAAAABAMAAAMAAAAFBgAACwAAAAAgAAD/////BiAAAEsAAAAGAAAAAAAAAAgIAAAA////AQAAAAAAAAACAAAAAQAAAAMAAAACAAAABAMAAAMAAAAFBgAACwAAAAggAAD//v//ByAAAEsAAAAG`),i(n,3104,`AQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAMAAAQAAAAFBgAADAAAAAAgAAD/////BSAAAEw=`),i(n,3168,`BwgAAAH///8BAAAAAQAAAAIAAAACAAAAAwAAAAMAAAAEAwAABAAAAAUGAAAMAAAAByAAAAD///8GIAAATAAAAAUKAAAA+P//BAkAAAD8//8ECAAAAP7//wQHAAAA////BQYAAID///8FBQAAwP///wQFAADg////AgcAAAAAAAADBwAAgAAAAAMIAAAAAQAABAkAAAACAAAECgAAAAQAAAYgAAD/9///BiAAAAAIAAAECQAAAPz//wMIAAAA/v//BAcAAAD///8FBgAAgP///wUFAADA////BAUAAOD///8EBQAAAAAAAAUFAAAgAAAABQYAAEAAAAAEBwAAgAAAAAMIAAAAAQAAAwkAAAACAAADCgAAAAQAAAUgAAD/+///BSAAAAAI`),i(n,3472,`CAMAAPH///8JAQAA+f///wgBAAD7////CQAAAP3///8HAAAA/v///wQAAAD/////AgEAAAAAAAAFAAAAAgAAAAYAAAADAAAAAwQAAAQAAAAGAQAAFAAAAAQEAAAWAAAABAUAACYAAAAFBgAARgAAAAUHAACGAAAABgcAAAYBAAAHCAAAhgEAAAYKAACGAgAACSAAAPD///8JIAAAhgYAAAI=`),i(n,3648,`CAQAAOH///8JAgAA8f///wgCAAD1////CQEAAPn///8HAQAA+////wQBAAD9////AwEAAP////8DAQAAAQAAAAUBAAADAAAABgEAAAUAAAADBQAABwAAAAYCAAAnAAAABAUAACsAAAAEBgAASwAAAAUHAACLAAAABQgAAAsBAAAGCAAACwIAAAcJAAALAwAABgsAAAsFAAAJIAAA4P///wkgAAALDQAAAgAAAAAAAAAHBAAA6////wgAAAD7////BwAAAPz///8FAAAA/f///wICAAD+////BQAAAAIAAAAGAAAAAwAAAAcAAAAEAAAACAAAAAUAAAACBgAABgAAAAUFAABGAAAABgUAAGYAAAAGBgAAhgAAAAYHAADGAAAABggAAEYBAAAGCQAARgIAAAYKAABGBAAABwsAAEYIAAAIIAAA6v///wggAABGEAAAAg==`),i(n,4e3,`AQAAAAEAAAACAQAAAgAAAAQAAAAEAAAABAEAAAUAAAAFAQAABwAAAAUCAAAJAAAABgIAAA0AAAAHAgAAEQAAAAcDAAAVAAAABwQAAB0AAAAHBQAALQAAAAcGAABNAAAAACAAAAAAAAAHIAAAjQAAAAEAAAABAAAAAgAAAAIAAAADAQAAAwAAAAUAAAAFAAAABQEAAAYAAAAGAQAACAAAAAcAAAAKAAAABwEAAAsAAAAHAgAADQAAAAcDAAARAAAABwQAABkAAAAIBQAAKQAAAAAgAAAAAAAACCAAAEkAAAABAAAAAQAAAAMAAAACAAAABAAAAAMAAAAFAAAABAAAAAQBAAAFAAAAAwMAAAcAAAAGAQAADwAAAAYCAAARAAAABgMAABUAAAAGBAAAHQAAAAYFAAAtAAAABwYAAE0AAAAAIAAAAAAAAAcgAACNAAAAAwAAAP7///8DAAAA/////wEAAAAAAAAAAwAAAAEAAAADAAAAAgAAAAAgAAD9////ACAAAAM=`),i(n,4400,`BwQAAOj///8GAgAA+P///wUBAAD8////BAAAAP7///8DAAAA/////wEAAAAAAAAAAwAAAAEAAAAEAAAAAgAAAAUBAAADAAAABgIAAAUAAAAHBAAACQAAAAcgAADn////ByAAABkAAABiYWRfdmFyaWFudF9hY2Nlc3MAdmVjdG9yAHN0ZDo6YmFkX2Z1bmN0aW9uX2NhbGwAYmFkX2FycmF5X25ld19sZW5ndGgAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAAAAAAAAiAAAAIgAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACIAAAAiAAAAIwAAACIAAAAiAAAAIgAAACI=`),i(n,4704,`IwAAACMAAAAiAAAAIgAAAAAAAAAiAAAAAAAAACM=`),i(n,4872,`GBMAAAsAAAAkAAAAJQAAAAgWAAAkEwAAKBYAAE5TdDNfXzIxN2JhZF9mdW5jdGlvbl9jYWxsRQAAAAAAVBMAAAIAAAAmAAAAJwAAAAgWAABgEwAAKBYAAFN0MThiYWRfdmFyaWFudF9hY2Nlc3MAAAgWAACEEwAAwBUAAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAAAgWAAC0EwAAeBMAAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAAAgWAADkEwAAeBMAAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQAAAAgWAAAUFAAAeBMAAE4xMF9fY3h4YWJpdjEyMF9fZnVuY3Rpb25fdHlwZV9pbmZvRQAAAAAIFgAASBQAANgTAABOMTBfX2N4eGFiaXYxMjlfX3BvaW50ZXJfdG9fbWVtYmVyX3R5cGVfaW5mb0U=`),i(n,5248,`/////0RuAAAAAAAACBQAACgAAAApAAAAKgAAACsAAAAsAAAACBYAALAUAACoEwAATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAAAAAAAAAAA8FAAAKAAAAC0AAAAqAAAAKwAAAC4AAAAAAAAANBUAAAIAAAAvAAAAMAAAAFN0OWV4Y2VwdGlvbgAAAAAIFgAAJBUAACgWAABTdDliYWRfYWxsb2MAAAAACBYAAEAVAAAYFQAAU3QyMGJhZF9hcnJheV9uZXdfbGVuZ3RoAAAAAAAAAABwFQAAAQAAADEAAAAyAAAACBYAAHwVAAAoFgAAU3QxMWxvZ2ljX2Vycm9yAAAAAACgFQAAAQAAADMAAAAyAAAACBYAAKwVAABwFQAAU3QxMmxlbmd0aF9lcnJvcgAAAADQFQAA8BUAAAAAAACoEwAAKAAAADQAAAAqAAAAKwAAADUAAAA2AAAANwAAADgAAABTdDl0eXBlX2luZm8AAAAAAAAAAKQUAAAoAAAAOQAAACoAAAArAAAANQAAADoAAAA7AAAAPAAAANAVAAAIFQ==`),i(n,5680,`wBoBAL0=`)}function o(){throw Error(`abort`)}function p(e,r,a){n.copyWithin(e,r,r+a)}function t(e,r,a){if(e>>>=0,a>>>=0,e+a>n.length)throw`trap: invalid memory.fill`;n.fill(r,e,e+a)}function ga(e){var r=/* @__PURE__ */ new ArrayBuffer(16777216),a=new Int8Array(r),s=new Int16Array(r),c=new Int32Array(r),l=new Uint8Array(r),u=new Uint16Array(r),d=new Uint32Array(r);new Float32Array(r);var f=new Float64Array(r),h=Math.imul,g=Math.abs,_=Math.clz32,v=Math.min,y=Math.max,b=Math.floor,x=Math.ceil,S=e.a,C=S.a,w=S.b,T=S.c,E=S.d,D=S.e,O=S.f,k=S.g,A=S.h,j=S.i,M=72384,N=0;function yc(e){var n=0,r=0,f=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0,O=0,k=0,A=0,j=0,P=0,F=0,I=0,L=0,R=0,z=0,B=0,V=0,H=0,U=0,W=0,G=0,K=0,q=0,J=0,Y=0,X=0,Z=0,Q=0,_e=0,Se=0,Ce=0,Te=0,Ee=0,De=0,Oe=0,Me=0,Ne=0,Pe=0,Fe=0,Ie=0,Le=0,Re=0,Ve=0,He=0,Ue=0,We=0,Ge=0,Ke=0,Je=0,Ye=0,Xe=0,Ze=0,Qe=0;Y=M-16|0,M=Y,n=c[e+4>>2],r=c[n+8>>2],n=c[n+4>>2],b=n;a:{b:{c:{d:{e:{if(n>>>0<r>>>0)break e;if((n|0)==(r|0)){Xe=2;break c}for(Ee=e+80|0;;){if(r>>>0>b>>>0)break e;if(b-r>>>0<11)break c;f:{g:{h:{T=c[Ee>>2];i:{if(!T){n=na(72),a[n+4|0]=0,c[n>>2]=0,t(n+8|0,0,64),c[Y+4>>2]=0,eb(Ee,n),Vb(Y+4|0);j:{b=c[e+80>>2];k:{if(qa(c[e+4>>2],b)||wa(c[e+4>>2],b+4|0))break k;v=c[e+4>>2],f=c[v+8>>2],n=c[v>>2];l:{m:{if(d[v+4>>2]<=f>>>0){a[Y+15|0]=0;break m}if(n=l[n+f|0],a[Y+15|0]=n,n>>>0<224)break m;if(qa(v,b+8|0)||(r=c[b+8>>2]&536870911,c[b+8>>2]=r,r>>>0>64))break k;if(f=c[e+4>>2],n=c[f+8>>2],v=n+(r+8>>>3|0)|0,n>>>0>v>>>0)break l;n=c[f+4>>2],c[f+8>>2]=n>>>0>v>>>0?v:n;break l}if(wa(v,Y+15|0))break k;r=l[Y+15|0]>>>5|0,c[b+8>>2]=r}f=l[b+4|0];n:{if(!r)break n;for(n=c[b>>2],Rb(b+12|0,r),r=0,n=(n>>>0>65536?4:n>>>0>256?2:1)-1|0;;){if(c[b+8>>2]<=(r|0))break n;o:{p:switch(n-1|0){default:if(wa(c[e+4>>2],Y+15|0))break k;T=l[Y+15|0],c[c[b+12>>2]+(r<<2)>>2]=T;break o;case 0:if(Sa(c[e+4>>2],Y+12|0))break k;T=u[Y+12>>1],c[c[b+12>>2]+(r<<2)>>2]=T;break o;case 1:break e;case 2:break p}if(qa(c[e+4>>2],Y+8|0))break k;T=c[Y+8>>2],c[c[b+12>>2]+(r<<2)>>2]=T}if(r=r+1|0,!(d[b>>2]>T>>>0))break}break k}n=c[e+4>>2];q:{if(!(f&64)){if(wa(n,Y+15|0))break k;c[b+24>>2]=l[Y+15|0];break q}if(qa(n,b+24|0))break k}if(!qa(c[e+4>>2],b+28|0))break j}eb(Ee,0);break i}r=c[e+4>>2],n=c[r+20>>2],c[b+40>>2]=c[r+16>>2],c[b+44>>2]=n,n=c[r+8>>2],c[b+48>>2]=1,c[b+36>>2]=n,c[e+84>>2]=n,T=c[e+80>>2]}r:{for(;;){v=0,w=0,r=0,_=M-304|0,M=_,n=2;s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{H:{I:{J:{K:{L:{M:{N:{O:{P:{Q:{R:{S:switch(f=l[T+4|0]&63,f-16|0){case 0:break R;case 1:case 2:case 3:case 5:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 21:case 25:case 28:case 29:case 30:case 31:break B;case 4:case 6:case 7:break Q;case 20:case 22:case 23:break P;case 24:case 26:case 27:break O;case 32:break N;case 33:break K;case 34:break J;case 35:break u;case 36:break I;case 37:break H;default:break S}T:switch(f|0){case 0:if(n=0,y=0,E=0,g=M-432|0,M=g,r=1,!Sa(c[e+4>>2],g+210|0)){C=na(56),c[C+40>>2]=0,c[C+32>>2]=0,c[C+36>>2]=0,c[C+24>>2]=0,c[C+28>>2]=0,c[C+16>>2]=0,c[C+20>>2]=0,k=u[g+210>>1],b=k&1,a[C|0]=b,v=k>>>10&3,a[C+3|0]=v,f=k&12288,a[C+2|0]=!!(f|0),r=(k&254)>>>1&1,a[C+1|0]=r,Pe=C+16|0;U:{V:{W:{if(!b){for(b=v?2:8,v=C+44|0;;){if((n|0)!=(b|0)){if(r=1,f=n+v|0,n=n+1|0,!wa(c[e+4>>2],f))continue;break U}break}if(l[C+1|0]!=1)break V;if(!l[C+2|0])break W;break V}if(f|!r)break V}for(v=C+52|0,n=0;;){if((n|0)==4)break V;if(r=1,f=n+v|0,n=n+1|0,wa(c[e+4>>2],f))break}break U}if(r=1,qa(c[e+4>>2],C+12|0)||qa(c[e+4>>2],C+8|0)|d[C+12>>2]>1048576|d[C+8>>2]>1048576)break U;for(n=c[T+8>>2],S=(n|0)>0?n:0,n=0;;){if((n|0)==(S|0))for(R=1,n=0;;)if((n|0)==(S|0)){X:{Y:{Z:{_:{$:{aa:{ba:{ca:{da:{ea:{fa:{if(!(R&1))break fa;c[C+4>>2]=y,Ge=Kb(g+196|0,y),S=c[Ge>>2];ga:{if((S|0)==c[Ge+4>>2])break ga;for(n=c[T+8>>2],f=(n|0)>0?n:0,R=1,y=0,v=0;;){if((f|0)==(v|0))break ga;ha:{if(n=Ka(e,c[c[T+12>>2]+(v<<2)>>2]),l[n+4|0]&63)break ha;for(n=c[n+56>>2],b=c[n+24>>2],w=c[n+28>>2]-b>>2,n=0;;){if((n|0)==(w|0)){x=0,b=0,R&1&&(n=y+w|0,r=n>>>0>=w>>>0,x=r,b=r?n:0),y=b,R=x;break ha}if(r=n+y|0,!(r>>>0>=n>>>0&R))break fa;c[S+(r<<2)>>2]=c[b+(n<<2)>>2],n=n+1|0}}v=v+1|0}}$a(Pe,Ge),r=1;ia:{if(l[C|0]!=1)break ia;if(n=k>>>2&3,(n|0)==2||(f=k>>>4&3,(f|0)==2))break X;ja:{ka:switch(n|0){case 0:R=ra(e,4),n=0;break ja;case 1:R=ra(e,5),n=0;break ja;default:break ka}if(n=Ga(e,T,0),!n)break X;R=c[n+68>>2],n=1}c[C+28>>2]=R;la:{ma:switch(f|0){case 0:f=ra(e,2);break la;case 1:f=ra(e,3);break la;default:break ma}if(f=Ga(e,T,n),!f)break X;n=n+1|0,f=c[f+68>>2]}c[C+32>>2]=f;na:{if(!(k&64)){f=ra(e,1);break na}if(f=Ga(e,T,n),!f)break X;n=n+1|0,f=c[f+68>>2]}if(c[C+36>>2]=f,l[C+1|0]!=1)break ia;oa:{if(!(k&128)){n=ra(e,1);break oa}if(n=Ga(e,T,n),!n)break X;n=c[n+68>>2]}c[C+40>>2]=n}W=l[C+1|0],Ke=l[C|0],r=l[C+3|0],n=l[C+2|0],c[g+192>>2]=0,c[g+184>>2]=0,c[g+188>>2]=0,c[g+180>>2]=0,c[g+172>>2]=0,c[g+176>>2]=0,v=n?1024:8192,f=r?(r|0)==1?8192:1024:65536;pa:{if(!(!(k&256)|!E)){if(r=1,!(Ke&1)&&(n=Jb(g+184|0,c[E+56>>2]),(f|0)!=c[g+188>>2]-c[n>>2]>>1))break Y;if(!(W&1)||(n=Jb(g+172|0,c[E+56>>2]+12|0),(v|0)==c[g+176>>2]-c[n>>2]>>1))break pa;break Y}if(Ke&1||fb(g+184|0,f),!(W&1))break pa;fb(g+172|0,v)}f=c[T+44>>2],S=f,r=c[T+40>>2],c[g+152>>2]=r,c[g+156>>2]=f,b=c[T+36>>2],c[g+160>>2]=b,c[T+52>>2]=2;qa:{if(!(r|f)|l[e+48|0]!=1)break qa;for(v=c[e+108>>2],n=v;;){if(n=c[n+4>>2],(v|0)==(n|0))break qa;if(!((r|0)!=c[n+8>>2]|(S|0)!=c[n+12>>2]|(b|0)!=c[n+16>>2]))break}r=Dd(c[n+24>>2]),c[g+232>>2]=0,Ib(T+56|0,r),Va(g+232|0),Cd(c[e+108>>2],g+152|0,n+24|0),v=c[e+108>>2],f=c[n>>2],r=c[n+4>>2],c[f+4>>2]=r,c[r>>2]=f,c[v+8>>2]=c[v+8>>2]-1,pc(n);break _}if(!(Ke&1))for(A=Na(c[e+4>>2]),c[g+344>>2]=A,v=c[g+172>>2],r=c[g+176>>2],n=c[g+188>>2],K=c[g+184>>2],Je=Da(),c[g+428>>2]=Je,De=Da(),c[g+400>>2]=De,V=Da(),c[g+396>>2]=V,H=Da(),c[g+392>>2]=H,Te=K+810|0,Oe=K+79434|0,Fe=K+3882|0,Le=K+458|0,Re=v,Me=r-v>>1,Ve=Fd(g+232|0,ib(c[C+8>>2]+c[C+4>>2]|0)),Ie=cb(g+416|0,c[C+8>>2]),q=n-K>>1,He=q>>>0>405,Ue=q>>>0>39717,We=q>>>0>1941,Ye=q>>>0>229,E=0,R=0;;){ra:{sa:{ta:{if(n=c[C+8>>2],n>>>0>R>>>0){if(c[g+388>>2]=0,Aa(Je,A,g+384|0),E=c[g+384>>2]+E|0,E>>>0<=65535)for(Ne=0;;){if(!Aa(De,A,g+380|0))break ra;if(d[C+8>>2]<=R>>>0||(Ne=c[g+380>>2]+Ne|0,Ne>>>0>65535))break ta;if(!(!E|!Ne)){ua:{va:{wa:{xa:{ya:{za:{Aa:{if(!l[C+1|0]){P=lb(),c[g+376>>2]=P,c[P+8>>2]=E,c[P+4>>2]=Ne,a[P|0]=0,n=l[C+3|0],a[P+1|0]=0,a[P+2|0]=0,a[P+3|0]=n,a[P+16|0]=l[C+44|0],a[P+17|0]=l[C+45|0],a[P+18|0]=l[C+46|0],a[P+19|0]=l[C+47|0],a[P+20|0]=l[C+48|0],a[P+21|0]=l[C+49|0],a[P+22|0]=l[C+50|0],a[P+23|0]=l[C+51|0],X=P+8|0,Z=P+4|0;Ba:switch(n|0){case 0:break Ba;case 1:break ya;case 2:break za;default:break Aa}if(!Bd(P))break xa;if(j=ua(Z,X),c[g+212>>2]=j,!c[j+16>>2])break wa;if(n=c[Z>>2],!n)break fa;for(G=c[X>>2]&2147483647,n=n-1|0,U=n>>>3|0,Q=(n&7)+1|0,n=0,f=0,y=0,b=0,k=0,r=0;;){w=f,F=n;Ca:{Da:{if((k|0)!=(G|0)){if(ja(g+404|0,j,k),n=c[g+408>>2],f=c[g+404>>2],l[P+1|0]!=1){v=r;break Da}if(l[A|0])break wa;if(!Ue)break fa;if(v=0,S=ka(A,Oe),(S|0)==(r|0))break Da;c[g+332>>2]=n,c[g+328>>2]=f,c[g+224>>2]=F,c[g+220>>2]=w,v=c[g+332>>2],c[g+40>>2]=c[g+328>>2],c[g+44>>2]=v,v=c[g+224>>2],c[g+32>>2]=c[g+220>>2],c[g+36>>2]=v,Ca(g+40|0,g+32|0),r^=S;break Ca}c[g+212>>2]=0;break va}Ea:{Fa:{Ga:{if(k>>>0<=1){if(z=0,D=0,S=(k|0)!=1,!S){if(!F)break fa;D=l[w|0]}for(y=D&240;(z|0)!=(U|0);){if(!S){if(r=z+1|0,r>>>0>=F>>>0)break fa;D=l[r+w|0]|D<<8}for(r=7,O=0;(r|0)>=0;){if(l[A|0])break wa;if(y>>>0>=q>>>0)break fa;b=y<<1,x=ka(A,b+K|0),y=x|(D>>>r&16|b&63470),O=x<<r|O,r=r-1|0}if((n|0)==(z|0))break fa;a[f+z|0]=O,z=z+1|0}for(x=D<<8,r=0,O=0;;){if((r|0)==(Q|0))break Ga;if(l[A|0])break wa;if(y>>>0>=q>>>0)break fa;S=y<<1,B=ka(A,S+K|0),b=7-r|0,y=B|(x>>>b&16|S&63470),O=B<<b|O,r=r+1|0}}if(!y|!F|(n>>>0<U>>>0|U>>>0>F-1>>>0)|U>>>0>y-1>>>0)break fa;for(D=l[w|0],z=l[b|0]<<6,y=D&240|z&14336,L=f+U|0,S=w,x=f;;){Ha:{if(B=z<<8,(x|0)==(L|0))break Ha;for(S=S+1|0,D=l[S|0]|D<<8,b=b+1|0,z=B|l[b|0]<<6,r=7,O=0;(r|0)>=0;){if(l[A|0])break wa;if(y>>>0>=q>>>0)break fa;y<<=1,B=ka(A,y+K|0),y=B|(D>>>r&16|(z>>>r&2048|y&63470)),O=B<<r|O,r=r-1|0}a[x|0]=O,x=x+1|0;continue}break}for(S=D<<8,O=0,I=0;;){if((O|0)==(Q|0))break Fa;if(l[A|0])break wa;if(y>>>0>=q>>>0)break fa;b=y<<1,r=ka(A,b+K|0),x=7-O|0,I=r<<x|I,y=r|(S>>>x&16|(B>>>x&2048|b&63470)),O=O+1|0}}if(n>>>0<=U>>>0)break fa;a[f+U|0]=O;break Ea}if(n>>>0<=U>>>0)break fa;a[L|0]=I}r=v}k=k+1|0,y=F,b=w}}if(Aa(V,A,g+328|0),r=c[g+328>>2],r>>>0>=2){if(F=xa(6),c[g+220>>2]=F,k=xa(8),c[g+212>>2]=k,w=xa(11),c[g+376>>2]=w,y=xa(15),c[g+372>>2]=y,x=xa(15),c[g+368>>2]=x,S=xa(15),c[g+364>>2]=S,b=xa(15),c[g+360>>2]=b,v=xa(1),c[g+356>>2]=v,L=Qb(),c[g+352>>2]=L,n=l[C|0],c[L+20>>2]=1,c[L+16>>2]=r,c[L+12>>2]=E,c[L+8>>2]=Ne,a[L+1|0]=1,a[L|0]=n,n=c[C+4>>2]+R|0,c[L+24>>2]=n,B=Kb(g+404|0,n),n=c[C+4>>2],r=c[C+16>>2],n>>>0>c[C+20>>2]-r>>2>>>0)break fa;for(G=c[B>>2],zd(r,n,G,c[g+408>>2]-G>>2),f=c[Ie>>2],n=0;;)if((n|0)==(R|0)){if($a(L+124|0,B),s[L+4>>1]=0,c[L+136>>2]=0,c[L+140>>2]=1,a[L+3|0]=0,c[L+172>>2]=v,c[L+168>>2]=b,c[L+164>>2]=S,c[L+160>>2]=x,c[L+156>>2]=y,c[L+152>>2]=w,c[L+148>>2]=k,c[L+144>>2]=F,a[L+2|0]=l[C+2|0],a[L+176|0]=l[C+52|0],a[L+177|0]=l[C+53|0],a[L+178|0]=l[C+54|0],a[L+179|0]=l[C+55|0],n=Ed(L,A,Re,Me,Ve),c[g+348>>2]=0,oa(g+388|0,n),la(g+348|0),n=c[g+388>>2],va(B),qc(g+352|0),pa(g+356|0),pa(g+360|0),pa(g+364|0),pa(g+368|0),pa(g+372|0),pa(g+376|0),pa(g+212|0),pa(g+220|0),!n)break ta;break ua}else{r=n<<2,c[(r+G|0)+(c[C+4>>2]<<2)>>2]=c[r+f>>2],n=n+1|0;continue}}if(n=0,(r|0)!=1)break ua;if(n=c[C+4>>2],Ac(c[Ve+36>>2],A,g+404|0),f=c[g+404>>2],f>>>0>=n+R>>>0)break ta;if(n=c[C+4>>2],n>>>0>f>>>0)n=c[Pe>>2]+(f<<2)|0;else{if(n=f-n|0,r=c[Ie>>2],n>>>0>=c[Ie+4>>2]-r>>2>>>0)break fa;n=r+(n<<2)|0}if(r=c[n>>2],!r||(Aa(c[Ve+28>>2],A,g+220|0),Aa(c[Ve+32>>2],A,g+212|0),f=kb(),c[g+376>>2]=f,c[f+8>>2]=E,c[f+4>>2]=Ne,n=l[C+2|0],c[f+20>>2]=r,a[f|0]=n,c[f+12>>2]=c[g+220>>2],n=c[g+212>>2],a[f+1|0]=0,c[f+16>>2]=n,a[f+24|0]=l[C+52|0],a[f+25|0]=l[C+53|0],a[f+26|0]=l[C+54|0],a[f+27|0]=l[C+55|0],n=jb(f,A,Re,Me),c[g+372>>2]=0,oa(g+388|0,n),la(g+372|0),n=c[g+388>>2],Ua(g+376|0),!n))break ta;break ua}Ia:{Ja:{if(Hb(P)){if(j=ua(Z,X),c[g+212>>2]=j,!c[j+16>>2])break Ja;if(n=c[Z>>2],!n)break fa;for(n=n-1|0,B=n>>>3|0,G=(n&7)+1|0,y=0,v=0,f=0,r=0;;){Ka:{La:{if(d[X>>2]>f>>>0){if(ja(g+404|0,j,f),x=c[g+408>>2],b=c[g+404>>2],l[P+1|0]!=1){S=r;break La}if(l[A|0])break Ja;if(!He)break fa;if(S=0,w=ka(A,Te),(w|0)==(r|0))break La;c[g+332>>2]=x,c[g+328>>2]=b,c[g+224>>2]=y,c[g+220>>2]=v,n=c[g+332>>2],c[g+8>>2]=c[g+328>>2],c[g+12>>2]=n,n=c[g+224>>2],c[g>>2]=c[g+220>>2],c[g+4>>2]=n,Ca(g+8|0,g),r^=w;break Ka}c[g+212>>2]=0;break Ia}r=0,D=0;Ma:{if(!f){Na:{for(;;){if(y=7,O=0,(D|0)==(B|0))break Na;Oa:{for(;(y|0)>=0;){if(l[A|0])break Oa;if(r>>>0>=q>>>0)break fa;n=r<<1,v=ka(A,n+K|0),r=v|n&1006,O=v<<y|O,y=y-1|0}if((x|0)==(D|0))break fa;a[b+D|0]=O,D=D+1|0;continue}break}if(D>>>0<B>>>0)break Ja}for(y=0,O=0;;){if((y|0)==(G|0))break Ma;if(l[A|0])break Ja;if(r>>>0>=q>>>0)break fa;n=r<<1,v=ka(A,n+K|0),r=v|n&1006,O=v<<7-y|O,y=y+1|0}}if(!y)break fa;for(w=y-1|0,D=l[v|0],y=D>>>1&112,k=0;;){Pa:{if((k|0)!=(B|0)){if((w|0)==(k|0))break fa;for(n=k+1|0,D=l[n+v|0]|D<<8,r=7,O=0;;){if((r|0)<0)break Pa;if(l[A|0])break Ja;if(y>>>0>=q>>>0)break fa;y<<=1,F=ka(A,y+K|0),y=F|(D>>>r+1&16|y&1006),O=F<<r|O,r=r-1|0}}for(v=D<<8,r=0,O=0;(r|0)!=(G|0);){if(l[A|0])break Ja;if(y>>>0>=q>>>0)break fa;n=y<<1,w=ka(A,n+K|0),y=w|(v>>>8-r&16|n&1006),O=w<<7-r|O,r=r+1|0}break Ma}if((x|0)==(k|0))break fa;a[b+k|0]=O,k=n}}if(x>>>0<=B>>>0)break fa;a[b+B|0]=O,r=S}f=f+1|0,y=x,v=b}}j=ua(Z,X),c[g+212>>2]=j;Qa:{Ra:{if(r=c[j+16>>2],!r)break Ra;for(y=c[j+12>>2];(r|0)>0;)a[y|0]=0,r=r-1|0,y=y+1|0;for(n=0,k=0,r=0,Se=0;;){Sa:{Ta:{if(d[X>>2]>Se>>>0){if(ja(g+404|0,j,Se),v=c[g+408>>2],f=c[g+404>>2],l[P+1|0]!=1){w=r;break Ta}if(l[A|0])break Ra;if(!He)break fa;if(w=0,b=ka(A,Te),(b|0)==(r|0))break Ta;c[g+332>>2]=v,c[g+328>>2]=f,c[g+224>>2]=k,c[g+220>>2]=n,n=c[g+332>>2],c[g+24>>2]=c[g+328>>2],c[g+28>>2]=n,n=c[g+224>>2],c[g+16>>2]=c[g+220>>2],c[g+20>>2]=n,r^=b,Ca(g+24|0,g+16|0);break Sa}c[g+212>>2]=0;break Qa}for(I=0,x=0,b=0,l[P+2|0]==1&&(ja(g+404|0,c[P+12>>2],Se),x=c[g+408>>2],b=c[g+404>>2]),ja(g+404|0,j,a[P+17|0]+Se|0),G=c[g+408>>2],F=c[g+404>>2],y=c[j+20>>2],I=!k|(y|0)<2?I:l[n|0]>>>6&1,I=!k|(y|0)<=0?I:l[n|0]>>>6&2|I,D=0,r=0;;){if(d[Z>>2]<=r>>>0){r=w;break Sa}Ua:{Va:{if(l[P+2|0]==1&&ia(c[c[P+12>>2]+20>>2],r,b,x))break Va;if(S=ia(y,a[P+16|0]+r|0,F,G),l[A|0])break Ra;if(S=I<<5|S<<4|D,S>>>0>=q>>>0)break fa;if(S=ka(A,K+(S<<1)|0),y=c[j+20>>2],!S)break Va;Ea(y,r,f,v,1),y=c[j+20>>2],S=1;break Ua}S=0}I=ia(y,r+2|0,n,k)|I<<1&30,r=r+1|0,D=D<<1&14|S}}Se=Se+1|0,n=f,k=v}}j=0}break va}j=0}break va}Wa:{Xa:{if(Hb(P)){if(j=ua(Z,X),c[g+212>>2]=j,!c[j+16>>2])break Xa;if(n=c[Z>>2],!n)break fa;for(n=n-1|0,U=n>>>3|0,Q=(n&7)+1|0,G=c[X>>2],n=0,f=0,y=0,b=0,k=0,r=0;;){w=f,F=n;Ya:{Za:{if((k|0)!=(G|0)){if(ja(g+404|0,j,k),n=c[g+408>>2],f=c[g+404>>2],l[P+1|0]!=1){v=r;break Za}if(l[A|0])break Xa;if(!Ye)break fa;if(v=0,S=ka(A,Le),(S|0)==(r|0))break Za;c[g+332>>2]=n,c[g+328>>2]=f,c[g+224>>2]=F,c[g+220>>2]=w,v=c[g+332>>2],c[g+104>>2]=c[g+328>>2],c[g+108>>2]=v,v=c[g+224>>2],c[g+96>>2]=c[g+220>>2],c[g+100>>2]=v,Ca(g+104|0,g+96|0),r^=S;break Ya}c[g+212>>2]=0;break Wa}_a:{$a:{ab:{if(k>>>0<=1){if(z=0,D=0,S=(k|0)!=1,!S){if(!F)break fa;D=l[w|0]}for(y=D>>>3&28;(z|0)!=(U|0);){if(!S){if(r=z+1|0,r>>>0>=F>>>0)break fa;D=l[r+w|0]|D<<8}for(r=7,O=0;(r|0)>=0;){if(l[A|0])break Xa;if(y>>>0>=q>>>0)break fa;b=y<<1,x=ka(A,b+K|0),y=x|(D>>>r+3&4|b&890),O=x<<r|O,r=r-1|0}if((n|0)==(z|0))break fa;a[f+z|0]=O,z=z+1|0}for(S=D<<8,r=0,O=0;;){if((r|0)==(Q|0))break ab;if(l[A|0])break Xa;if(y>>>0>=q>>>0)break fa;b=y<<1,x=ka(A,b+K|0),y=x|(S>>>10-r&4|b&890),O=x<<7-r|O,r=r+1|0}}if(!y|!F|(n>>>0<U>>>0|U>>>0>F-1>>>0)|U>>>0>y-1>>>0)break fa;for(D=l[w|0],z=l[b|0]<<1,y=D>>>3&28|z&384,L=f+U|0,S=w,x=f;;){bb:{if(B=z<<8,(x|0)==(L|0))break bb;for(S=S+1|0,D=l[S|0]|D<<8,b=b+1|0,z=B|l[b|0]<<1,r=7,O=0;(r|0)>=0;){if(l[A|0])break Xa;if(y>>>0>=q>>>0)break fa;y<<=1,B=ka(A,y+K|0),y=B|(D>>>r+3&4|(z>>>r&128|y&890)),O=B<<r|O,r=r-1|0}a[x|0]=O,x=x+1|0;continue}break}for(x=D<<8,O=0,I=0;;){if((O|0)==(Q|0))break $a;if(l[A|0])break Xa;if(y>>>0>=q>>>0)break fa;S=y<<1,b=ka(A,S+K|0),r=7-O|0,I=b<<r|I,y=b|(x>>>10-O&4|(B>>>r&128|S&890)),O=O+1|0}}if(n>>>0<=U>>>0)break fa;a[f+U|0]=O;break _a}if(n>>>0<=U>>>0)break fa;a[L|0]=I}r=v}k=k+1|0,y=F,b=w}}j=ua(Z,X),c[g+212>>2]=j;cb:{db:{if(r=c[j+16>>2],!r)break db;for(y=c[j+12>>2];(r|0)>0;)a[y|0]=0,r=r-1|0,y=y+1|0;for(b=0,f=0,v=0,n=0,r=0,J=0;;){eb:{fb:{if(d[X>>2]>J>>>0){if(ja(g+404|0,j,J),k=c[g+408>>2],x=c[g+404>>2],l[P+1|0]!=1){S=r;break fb}if(l[A|0])break db;if(!Ye)break fa;if(S=0,y=ka(A,Le),(y|0)==(r|0))break fb;c[g+332>>2]=k,c[g+328>>2]=x,c[g+224>>2]=n,c[g+220>>2]=v,f=c[g+332>>2],c[g+120>>2]=c[g+328>>2],c[g+124>>2]=f,f=c[g+224>>2],c[g+112>>2]=c[g+220>>2],c[g+116>>2]=f,r^=y,Ca(g+120|0,g+112|0);break eb}c[g+212>>2]=0;break cb}for(I=0,Se=0,w=0,l[P+2|0]==1&&(ja(g+404|0,c[P+12>>2],J),Se=c[g+408>>2],w=c[g+404>>2]),ja(g+404|0,j,a[P+17|0]+J|0),B=c[g+408>>2],G=c[g+404>>2],y=c[j+20>>2],I=!f|(y|0)<2?I:l[b|0]>>>6&1,I=!f|(y|0)<=0?I:l[b|0]>>>6&2|I,D=0,D=!n|(y|0)<2?D:l[v|0]>>>6&1,D=!n|(y|0)<=0?D:l[v|0]>>>6&2|D,z=0,r=0;;){if(d[Z>>2]<=r>>>0){r=S;break eb}gb:{hb:{if(l[P+2|0]==1&&ia(c[c[P+12>>2]+20>>2],r,w,Se))break hb;if(l[A|0])break db;if(y=D<<3|I<<7|ia(y,a[P+16|0]+r|0,G,B)<<2|z,y>>>0>=q>>>0)break fa;if(F=ka(A,K+(y<<1)|0),y=c[j+20>>2],!F)break hb;Ea(y,r,x,k,1),y=c[j+20>>2],L=1;break gb}L=0}F=r+2|0,I=ia(y,F,b,f)|I<<1&6,D=ia(y,F,v,n)|D<<1&14,r=r+1|0,z=z<<1&2|L}}J=J+1|0,b=v,f=n,v=x,n=k}}j=0}break va}j=0}break va}ib:{jb:{if(yd(P)){if(j=ua(Z,X),c[g+212>>2]=j,!c[j+16>>2])break jb;if(n=c[Z>>2],!n)break fa;for(n=n-1|0,U=n>>>3|0,Q=(n&7)+1|0,G=c[X>>2],n=0,f=0,y=0,b=0,k=0,r=0;;){w=f,F=n;kb:{lb:{if((k|0)!=(G|0)){if(ja(g+404|0,j,k),n=c[g+408>>2],f=c[g+404>>2],l[P+1|0]!=1){v=r;break lb}if(l[A|0])break jb;if(!We)break fa;if(v=0,S=ka(A,Fe),(S|0)==(r|0))break lb;c[g+332>>2]=n,c[g+328>>2]=f,c[g+224>>2]=F,c[g+220>>2]=w,v=c[g+332>>2],c[g+72>>2]=c[g+328>>2],c[g+76>>2]=v,v=c[g+224>>2],c[g+64>>2]=c[g+220>>2],c[g+68>>2]=v,Ca(g+72|0,g- -64|0),r^=S;break kb}c[g+212>>2]=0;break ib}mb:{nb:{ob:{if(k>>>0<=1){if(z=0,D=0,S=(k|0)!=1,!S){if(!F)break fa;D=l[w|0]}for(y=D>>>1&120;(z|0)!=(U|0);){if(!S){if(r=z+1|0,r>>>0>=F>>>0)break fa;D=l[r+w|0]|D<<8}for(r=7,O=0;(r|0)>=0;){if(l[A|0])break jb;if(y>>>0>=q>>>0)break fa;b=y<<1,x=ka(A,b+K|0),y=x|(D>>>r+1&8|b&7670),O=x<<r|O,r=r-1|0}if((n|0)==(z|0))break fa;a[f+z|0]=O,z=z+1|0}for(S=D<<8,r=0,O=0;;){if((r|0)==(Q|0))break ob;if(l[A|0])break jb;if(y>>>0>=q>>>0)break fa;b=y<<1,x=ka(A,b+K|0),y=x|(S>>>8-r&8|b&7670),O=x<<7-r|O,r=r+1|0}}if(!y|!F|(n>>>0<U>>>0|U>>>0>F-1>>>0)|U>>>0>y-1>>>0)break fa;for(D=l[w|0],z=l[b|0]<<4,y=D>>>1&120|z&3584,L=f+U|0,S=w,x=f;;){pb:{if(B=z<<8,(x|0)==(L|0))break pb;for(S=S+1|0,D=l[S|0]|D<<8,b=b+1|0,z=B|l[b|0]<<4,r=7,O=0;(r|0)>=0;){if(l[A|0])break jb;if(y>>>0>=q>>>0)break fa;y<<=1,B=ka(A,y+K|0),y=B|(D>>>r+1&8|(z>>>r&512|y&7670)),O=B<<r|O,r=r-1|0}a[x|0]=O,x=x+1|0;continue}break}for(x=D<<8,O=0,I=0;;){if((O|0)==(Q|0))break nb;if(l[A|0])break jb;if(y>>>0>=q>>>0)break fa;S=y<<1,b=ka(A,S+K|0),r=7-O|0,I=b<<r|I,y=b|(x>>>8-O&8|(B>>>r&512|S&7670)),O=O+1|0}}if(n>>>0<=U>>>0)break fa;a[f+U|0]=O;break mb}if(n>>>0<=U>>>0)break fa;a[L|0]=I}r=v}k=k+1|0,y=F,b=w}}j=ua(Z,X),c[g+212>>2]=j;qb:{rb:{if(r=c[j+16>>2],!r)break rb;for(y=c[j+12>>2];(r|0)>0;)a[y|0]=0,r=r-1|0,y=y+1|0;for(b=0,v=0,f=0,n=0,r=0,J=0;;){sb:{tb:{if(d[X>>2]>J>>>0){if(ja(g+404|0,j,J),k=c[g+408>>2],x=c[g+404>>2],l[P+1|0]!=1){S=r;break tb}if(l[A|0])break rb;if(!We)break fa;if(S=0,y=ka(A,Fe),(y|0)==(r|0))break tb;c[g+332>>2]=k,c[g+328>>2]=x,c[g+224>>2]=n,c[g+220>>2]=f,v=c[g+332>>2],c[g+88>>2]=c[g+328>>2],c[g+92>>2]=v,v=c[g+224>>2],c[g+80>>2]=c[g+220>>2],c[g+84>>2]=v,r^=y,Ca(g+88|0,g+80|0);break sb}c[g+212>>2]=0;break qb}for(I=0,Se=0,w=0,l[P+2|0]==1&&(ja(g+404|0,c[P+12>>2],J),Se=c[g+408>>2],w=c[g+404>>2]),ja(g+404|0,j,a[P+17|0]+J|0),B=c[g+408>>2],G=c[g+404>>2],y=c[j+20>>2],I=!v|(y|0)<3?I:l[b|0]>>>5&1,I=!v|(y|0)<2?I:l[b|0]>>>5&2|I,I=!v|(y|0)<=0?I:l[b|0]>>>5&4|I,D=0,D=!n|(y|0)<3?D:l[f|0]>>>5&1,D=!n|(y|0)<2?D:l[f|0]>>>5&2|D,D=!n|(y|0)<=0?D:l[f|0]>>>5&4|D,z=0,r=0;;){if(d[Z>>2]<=r>>>0){r=S;break sb}ub:{vb:{if(l[P+2|0]==1&&ia(c[c[P+12>>2]+20>>2],r,w,Se))break vb;if(l[A|0])break rb;if(y=D<<4|I<<9|ia(y,a[P+16|0]+r|0,G,B)<<3|z,y>>>0>=q>>>0)break fa;if(F=ka(A,K+(y<<1)|0),y=c[j+20>>2],!F)break vb;Ea(y,r,x,k,1),y=c[j+20>>2],L=1;break ub}L=0}F=r+3|0,I=ia(y,F,b,v)|I<<1&14,D=ia(y,F,f,n)|D<<1&30,r=r+1|0,z=z<<1&6|L}}J=J+1|0,b=f,v=n,f=x,n=k}}j=0}break va}j=0}break va}j=ua(Z,X),c[g+212>>2]=j;wb:{xb:{if(r=c[j+16>>2],!r)break xb;for(y=c[j+12>>2];(r|0)>0;)a[y|0]=0,r=r-1|0,y=y+1|0;for(x=0,v=0,n=0,f=0,r=0,J=0;;){yb:{zb:{if(d[X>>2]>J>>>0){if(ja(g+404|0,j,J),k=c[g+408>>2],w=c[g+404>>2],l[P+1|0]!=1){b=r;break zb}if(l[A|0])break xb;if(!Ue)break fa;if(b=0,S=ka(A,Oe),(S|0)==(r|0))break zb;c[g+332>>2]=k,c[g+328>>2]=w,c[g+224>>2]=f,c[g+220>>2]=n,v=c[g+332>>2],c[g+56>>2]=c[g+328>>2],c[g+60>>2]=v,v=c[g+224>>2],c[g+48>>2]=c[g+220>>2],c[g+52>>2]=v,r^=S,Ca(g+56|0,g+48|0);break yb}c[g+212>>2]=0;break wb}for(D=0,S=0,Se=0,l[P+2|0]==1&&(ja(g+404|0,c[P+12>>2],J),Se=c[g+408>>2],S=c[g+404>>2]),r=g+404|0,ja(r,j,a[P+17|0]+J|0),_e=c[g+408>>2],Ce=c[g+404>>2],ja(r,j,a[P+19|0]+J|0),O=c[g+408>>2],U=c[g+404>>2],ja(r,j,a[P+21|0]+J|0),Q=c[g+408>>2],L=c[g+404>>2],ja(r,j,a[P+23|0]+J|0),B=c[g+408>>2],G=c[g+404>>2],y=c[j+20>>2],D=!v|(y|0)<2?D:l[x|0]>>>6&1,D=!v|(y|0)<=0?D:l[x|0]>>>6&2|D,I=0,I=!f|(y|0)<3?I:l[n|0]>>>5&1,I=!f|(y|0)<2?I:l[n|0]>>>5&2|I,I=!f|(y|0)<=0?I:l[n|0]>>>5&4|I,z=0,r=0;;){if(d[Z>>2]<=r>>>0){r=b;break yb}Ab:{Bb:{if(l[P+2|0]==1&&ia(c[c[P+12>>2]+20>>2],r,S,Se))break Bb;if(l[A|0])break xb;if(y=I<<5|D<<12|ia(y,a[P+16|0]+r|0,Ce,_e)<<4|ia(y,a[P+18|0]+r|0,U,O)<<10|ia(y,a[P+20|0]+r|0,L,Q)<<11|ia(y,a[P+22|0]+r|0,G,B)<<15|z,y>>>0>=q>>>0)break fa;if(F=ka(A,K+(y<<1)|0),y=c[j+20>>2],!F)break Bb;Ea(y,r,w,k,1),y=c[j+20>>2],F=1;break Ab}F=0}D=ia(y,r+2|0,x,v)|D<<1&6,I=ia(y,r+3|0,n,f)|I<<1&30,r=r+1|0,z=z<<1&14|F}}J=J+1|0,x=n,v=f,n=w,f=k}}j=0}break va}j=0}if(la(g+212|0),c[g+404>>2]=0,oa(g+388|0,j),la(g+404|0),n=c[g+388>>2],ta(g+376|0),n)break ua;break ta}r=c[Ie>>2],c[g+388>>2]=0,oa((R<<2)+r|0,n)}R=R+1|0}break ta}c[g+412>>2]=0,c[g+404>>2]=0,c[g+408>>2]=0,xd(g+404|0,n+c[C+4>>2]|0),S=c[g+404>>2],R=0,n=0,O=0;Cb:{for(;c[C+8>>2]+c[C+4>>2]>>>0>n>>>0;){if(Aa(H,A,g+212|0),v=c[g+212>>2],r=v+n|0,!(r>>>0<=c[C+8>>2]+c[C+4>>2]>>>0&r>>>0>=v>>>0)){n=0;break Cb}c[g+328>>2]=S,c[g+332>>2]=0,f=oc(g+328|0,n),wd(g+220|0,c[f>>2],c[f+4>>2],v,R),O=(R&1?v:0)+O|0,R^=1,n=r}if(n=0,d[C+12>>2]<O>>>0)break Cb;for(n=nc(),b=c[Ie>>2],r=0,R=0;;){if(f=c[C+4>>2],f+c[C+8>>2]>>>0<=r>>>0)break Cb;if(!(!(c[S+(r>>>3&536870908)>>2]>>>r&1)|d[C+12>>2]<=R>>>0)){Db:{if(r>>>0<f>>>0){if(f=c[c[Pe>>2]+(r<<2)>>2],!f){f=0;break Db}f=mc(f);break Db}v=b+(r-f<<2)|0,f=c[v>>2],c[v>>2]=0}ud(n,f),R=R+1|0}r=r+1|0}}lc(g+404|0);break sa}la(g+388|0),n=0}if(Za(Ie),rc(Ve),Ba(g+392|0),Ba(g+396|0),Ba(g+400|0),Ba(g+428|0),c[g+232>>2]=0,Ib(T+56|0,n),Va(g+232|0),c[T+56>>2]){sa(c[e+4>>2]),f=c[e+4>>2],n=c[f+8>>2],n>>>0<=4294967293&&(r=n+2|0,n=c[f+4>>2],c[f+8>>2]=n>>>0>r>>>0?r:n),ta(g+344|0);break $}ta(g+344|0);break Z}la(g+388|0)}r=c[g+172>>2],n=c[g+176>>2],H=c[e+4>>2],_e=td(H),c[g+428>>2]=_e,Ce=cb(g+416|0,c[C+8>>2]),c[g+412>>2]=0,c[g+404>>2]=0,c[g+408>>2]=0,l[C+1|0]||Rb(g+404|0,c[C+8>>2]),U=r,b=n-r>>1,c[g+400>>2]=0,c[g+396>>2]=0,v=0,E=0;Eb:{for(;d[C+8>>2]>E>>>0;){if(ya(_e,c[C+28>>2],g+212|0)||(v=c[g+212>>2]+v|0,c[g+400>>2]=v,v>>>0>65535))break ba;for(R=0,c[g+392>>2]=0,S=0,r=E;;){Fb:{n=ya(_e,c[C+32>>2],g+388|0),c[g+384>>2]=n;Gb:switch(n|0){case 0:break Gb;case 1:break Fb;default:break ca}if(d[C+8>>2]<=r>>>0||(R=c[g+388>>2]+R|0,R>>>0>65535))break ca;S=S+R|0;Hb:{if(!R|!v)break Hb;if(l[C+1|0]==1){if(ya(_e,c[C+40>>2],g+380|0))break ca;oa(g+396|0,0),f=c[g+380>>2];Ib:{if(f>>>0>=2){if(L=xa(6),c[g+376>>2]=L,B=xa(8),c[g+372>>2]=B,G=xa(11),c[g+368>>2]=G,Me=xa(15),c[g+364>>2]=Me,F=xa(15),c[g+360>>2]=F,k=xa(15),c[g+356>>2]=k,w=xa(15),c[g+352>>2]=w,x=xa(1),c[g+348>>2]=x,V=Qb(),c[g+344>>2]=V,n=l[C|0],c[V+20>>2]=1,c[V+16>>2]=f,c[V+12>>2]=v,c[V+8>>2]=R,a[V+1|0]=1,a[V|0]=n,n=c[C+4>>2],y=n+r|0,c[V+24>>2]=y,f=ib(n+c[C+8>>2]|0),c[g+336>>2]=0,c[g+328>>2]=0,c[g+332>>2]=0,n=g+328|0,c[g+232>>2]=n,y){for(f=f>>>0<=1?1:f,Kd(n,y),n=c[g+332>>2],y=y+n|0;(n|0)!=(y|0);)a[n|0]=f,n=n+1|0;c[g+332>>2]=y}if(a[g+236|0]=1,f=g+232|0,gc(f),n=c[g+328>>2],n=tc(f,n,c[g+332>>2]-n|0),Id(V+28|0,n),Oa(n),O=Kb(f,c[V+24>>2]),n=c[C+4>>2],f=c[C+16>>2],n>>>0>c[C+20>>2]-f>>2>>>0)break ea;for(Q=c[O>>2],zd(f,n,Q,c[g+236>>2]-Q>>2),y=c[Ce>>2],n=0;;)if((n|0)==(r|0)){if($a(V+124|0,O),s[V+4>>1]=0,c[V+136>>2]=0,c[V+140>>2]=1,a[V+3|0]=0,c[V+172>>2]=x,c[V+168>>2]=w,c[V+164>>2]=k,c[V+160>>2]=F,c[V+156>>2]=Me,c[V+152>>2]=G,c[V+148>>2]=B,c[V+144>>2]=L,a[V+2|0]=l[C+2|0],a[V+176|0]=l[C+52|0],a[V+177|0]=l[C+53|0],a[V+178|0]=l[C+54|0],a[V+179|0]=l[C+55|0],n=Gd(V,H,U,b),c[g+228>>2]=0,oa(g+396|0,n),la(g+228|0),n=c[g+396>>2],va(O),va(g+328|0),qc(g+344|0),pa(g+348|0),pa(g+352|0),pa(g+356|0),pa(g+360|0),pa(g+364|0),pa(g+368|0),pa(g+372|0),pa(g+376|0),n)break Ib;break ca}else{f=n<<2,c[(f+Q|0)+(c[C+4>>2]<<2)>>2]=c[f+y>>2],n=n+1|0;continue}}if((f|0)!=1){y=c[Ce>>2],n=c[g+396>>2];break Ib}if(f=c[C+4>>2],n=c[C+8>>2],c[g+232>>2]=0,n=ib(n+f|0),Fa(H,n>>>0<=1?1:n,g+232|0)||(f=c[g+232>>2],n=c[C+4>>2],f>>>0>=n+r>>>0))break ca;if(y=c[Ce>>2],n>>>0>f>>>0)n=c[Pe>>2]+(f<<2)|0;else{if(n=f-n|0,n>>>0>=c[Ce+4>>2]-y>>2>>>0)break ea;n=(n<<2)+y|0}if(f=c[n>>2],!f)break ca;x=xa(15),c[g+328>>2]=x,n=xa(1),c[g+376>>2]=n;Jb:{Kb:{if(ya(_e,x,g+372|0)||ya(_e,x,g+368|0))break Kb;if(!ya(_e,n,g+384|0))break Jb}c[g+392>>2]=S,pa(g+376|0),pa(g+328|0);break ba}if(sa(H),w=c[H+8>>2],x=kb(),c[g+364>>2]=x,c[x+8>>2]=v,c[x+4>>2]=R,n=l[C+2|0],c[x+20>>2]=f,a[x|0]=n,c[x+12>>2]=c[g+372>>2],n=c[g+368>>2],f=0,a[x+1|0]=0,c[x+16>>2]=n,a[x+24|0]=l[C+52|0],a[x+25|0]=l[C+53|0],a[x+26|0]=l[C+54|0],a[x+27|0]=l[C+55|0],n=Na(H),c[g+360>>2]=n,n=jb(x,n,U,b),c[g+356>>2]=0,oa(g+396|0,n),la(g+356|0),n=c[g+396>>2],n&&(sa(H),f=c[H+8>>2],f>>>0<=4294967293&&(x=f+2|0,f=c[H+4>>2],f=f>>>0>x>>>0?x:f,c[H+8>>2]=f),f=c[g+384>>2]==(f-w|0)),ta(g+360|0),Ua(g+364|0),pa(g+376|0),pa(g+328|0),!f)break ca}if(c[g+396>>2]=0,oa((r<<2)+y|0,n),l[C+1|0])break Hb}c[c[g+404>>2]+(r<<2)>>2]=R}r=r+1|0;continue}break}if(c[g+392>>2]=S,!l[C+1|0]){if(ya(_e,c[C+36>>2],g+232|0))break ba;sa(H),c[g+328>>2]=0;Lb:{if(!c[g+232>>2]){if((S|0)>65535||(x=S+7>>>3|0,n=ze(x,0,v,0),N))break Eb;if(S=c[H+4>>2],f=c[H+8>>2],S>>>0<f>>>0)break fa;if(n>>>0>S-f>>>0)break Eb;for(R=0,n=ua(g+392|0,g+400|0),c[g+388>>2]=0,oa(g+328|0,n),la(g+388|0),O=c[g+328>>2];;){if((v|0)==(R|0))break Lb;if(ja(g+220|0,O,R),f=c[H+8>>2],n=c[H+4>>2],f>>>0>n>>>0|x>>>0>n-f>>>0|x>>>0>d[g+224>>2])break fa;x&&(x&&p(c[g+220>>2],c[H>>2]+f|0,x),f=c[H+8>>2]),n=f,f=f+x|0,n>>>0<=f>>>0&&(n=c[H+4>>2],c[H+8>>2]=n>>>0>f>>>0?f:n),R=R+1|0}}n=lb(),c[g+388>>2]=n,c[n+8>>2]=v,c[n+4>>2]=S,a[n|0]=1,db(n,g+328|0,H),sa(H),ta(g+388|0),O=c[g+328>>2]}Mb:{if(!O)break Mb;for(k=r>>>0<E>>>0?E:r,w=c[Ce>>2],n=0,y=c[g+404>>2];;){if((E|0)==(k|0))break Mb;x=E<<2,S=x+y|0,f=nb(O,n,0,c[S>>2],v),c[g+388>>2]=0,oa(x+w|0,f),E=E+1|0,la(g+388|0),n=c[S>>2]+n|0}}la(g+328|0)}E=r}for(b=xa(1),c[g+392>>2]=b,c[g+240>>2]=0,c[g+232>>2]=0,c[g+236>>2]=0,xd(g+232|0,c[C+8>>2]+c[C+4>>2]|0),S=c[g+232>>2],r=0,n=0,y=0;c[C+8>>2]+c[C+4>>2]>>>0>n>>>0;){Nb:{Ob:{if(ya(_e,b,g+388|0)||(x=c[g+388>>2],f=x+n|0,f>>>0<x>>>0))break Ob;if(f>>>0<=c[C+8>>2]+c[C+4>>2]>>>0)break Nb}n=0;break da}c[g+328>>2]=S,c[g+332>>2]=0,v=oc(g+328|0,n),wd(g+212|0,c[v>>2],c[v+4>>2],x,r),y=(r&1?x:0)+y|0,r^=1,n=f}if(n=0,d[C+12>>2]<y>>>0)break da;for(n=nc(),b=c[Ce>>2],r=0,R=0;;){if(f=c[C+4>>2],f+c[C+8>>2]>>>0<=r>>>0)break da;if(!(!(c[S+(r>>>3&536870908)>>2]>>>r&1)|d[C+12>>2]<=R>>>0)){Pb:{if(r>>>0<f>>>0){if(f=c[c[Pe>>2]+(r<<2)>>2],!f){f=0;break Pb}f=mc(f);break Pb}v=b+(r-f<<2)|0,f=c[v>>2],c[v>>2]=0}ud(n,f),R=R+1|0}r=r+1|0}}la(g+328|0);break ba}o()}c[g+392>>2]=S,o()}lc(g+232|0),pa(g+392|0);break aa}c[g+392>>2]=S}n=0}if(la(g+396|0),va(g+404|0),Za(Ce),Ua(g+428|0),c[g+232>>2]=0,Ib(T+56|0,n),Va(g+232|0),!c[T+56>>2])break Z;sa(c[e+4>>2])}if(l[e+48|0]!=1)break _;for(Ze=g,Qe=Dd(c[T+56>>2]),c[Ze+232>>2]=Qe,n=c[e+108>>2],r=c[n+8>>2];r>>>0>=2;)b=c[n>>2],v=c[b>>2],f=c[b+4>>2],c[v+4>>2]=f,c[f>>2]=v,c[n+8>>2]=c[n+8>>2]-1,pc(b),r=r-1|0,n=c[e+108>>2];r=n,n=g+232|0,Cd(r,g+152|0,n),Va(n)}if(r=0,!(l[g+211|0]&2)||(Ke&1||(v=c[T+56>>2],c[g+140>>2]=c[g+184>>2],f=c[g+188>>2],n=c[g+192>>2],c[g+188>>2]=0,c[g+192>>2]=0,c[g+144>>2]=f,c[g+148>>2]=n,c[g+184>>2]=0,n=g+140|0,_a(v,n),Ha(n)),!(W&1)))break Y;v=c[T+56>>2],c[g+128>>2]=c[g+172>>2],f=c[g+176>>2],n=c[g+180>>2],c[g+176>>2]=0,c[g+180>>2]=0,c[g+132>>2]=f,c[g+136>>2]=n,c[g+172>>2]=0,n=g+128|0,_a(v+12|0,n),Ha(n);break Y}r=1}Ha(g+172|0),Ha(g+184|0)}va(Ge);break U}else{r=Ka(e,c[c[T+12>>2]+(n<<2)>>2]),l[r+4|0]&63||(x=0,b=0,R&1?(f=c[r+56>>2],v=c[f+28>>2]-c[f+24>>2]>>2,f=v+y|0,b=f,f=f>>>0>=v>>>0,b=f?b:0):f=x,R=f,E=r,y=b),n=n+1|0;continue}if(f=n<<2,n=n+1|0,!Ka(e,c[f+c[T+12>>2]>>2]))break}}va(Pe),ma(C)}M=g+432|0,n=r;break u;case 1:case 2:case 3:case 5:break B;case 4:case 6:case 7:break T;default:break G}if(n=1,l[e+49|0]!=1||ob(e,_+120|0)||(b=_+142|0,Sa(c[e+4>>2],b))||(r=c[_+120>>2],r-1>>>0>65534)||(k=c[_+124>>2],k-1>>>0>65534))break u;y=Qb(),c[_+116>>2]=y,c[y+12>>2]=k,c[y+8>>2]=r,S=u[_+142>>1],v=S&1,a[y|0]=v,a[y+2|0]=S>>>15,c[y+140>>2]=S>>>4&3,c[y+136>>2]=S>>>7&3,a[y+3|0]=S>>>6&1,a[y+4|0]=S>>>9&1,c[y+20>>2]=1<<(S>>>2&3),f=(S&254)>>>1&1,a[y+1|0]=f,r=S>>>10&31,a[y+5|0]=(r>>>0>15?-32:0)|r;Qb:{if(v){if(Sa(c[e+4>>2],b))break v;if(l[y+1|0]!=1)break w;if(!l[y+2|0])break Qb;break w}if(!f|S<<16>>16<0)break w}for(v=y+176|0,r=0;;){if((r|0)==4)break w;if(f=r+v|0,r=r+1|0,wa(c[e+4>>2],f))break}break v}if(y=na(12),c[y+8>>2]=0,c[y>>2]=0,c[y+4>>2]=0,wa(c[e+4>>2],_+292|0))break y;if(n=1,wa(c[e+4>>2],y+1|0)||wa(c[e+4>>2],y+2|0)||qa(c[e+4>>2],y+4|0)||(x=c[y+4>>2],x>>>0>65535))break x;if(r=l[_+292|0],n=r&1,a[y|0]=n,S=r>>>1&3,a[y+8|0]=S,c[T+52>>2]=3,n){if(n=c[e+4>>2],r=xc(y),c[_+160>>2]=r,r){c[_+8>>2]=0,db(r,_+8|0,n);Rb:{if(b=c[_+8>>2],!b)break Rb;for(v=wc(x+1|0),n=0;;){if(n>>>0>x>>>0)break Rb;r=l[y+1|0],f=nb(b,h(r,n),0,r,l[y+2|0]),r=c[v+4>>2],c[_+256>>2]=0,oa((n<<2)+r|0,f),n=n+1|0,la(_+256|0)}}la(_+8|0)}if(ta(_+160|0),c[_+8>>2]=0,Pb(T+60|0,v),Sb(_+8|0),!c[T+60>>2])break y;sa(c[e+4>>2]),n=0;break x}if(mb(_+8|0,S?(S|0)==1?8192:1024:65536),f=Na(c[e+4>>2]),c[_+104>>2]=f,n=c[_+8>>2],r=c[_+12>>2],w=xc(y),c[_+256>>2]=w,!w)break z;for(a[w+1|0]=0,a[w+2|0]=0,a[w+3|0]=S,b=l[y+1|0],a[w+17|0]=0,a[w+16|0]=0-b,S||(s[w+22>>1]=65278,s[w+18>>1]=65533,s[w+20>>1]=65026),c[_+120>>2]=0,c[_+176>>2]=0,c[_+168>>2]=n,c[_+172>>2]=r,c[_+164>>2]=f,c[_+160>>2]=_+120,n=Ob(w,_+160|0),c[_+176>>2]=0;(n|0)==3;)n=Nb(w,_+160|0);if(c[w+44>>2]=0,c[w+48>>2]=0,c[w+36>>2]=0,c[w+40>>2]=0,c[w+28>>2]=0,c[w+32>>2]=0,!c[_+120>>2])break A;for(v=wc(x+1|0),n=0;;){if(n>>>0>x>>>0)break A;f=nb(c[_+120>>2],h(n,b),0,b,l[y+2|0]),r=c[v+4>>2],c[_+148>>2]=0,oa((n<<2)+r|0,f),n=n+1|0,la(_+148|0)}}if(n=1,l[e+49|0]!=1)break u;W=na(56),c[W+16>>2]=0;Sb:{if(ob(e,_+256|0)||wa(c[e+4>>2],_+144|0)||(E=W+32|0,qa(c[e+4>>2],E))||(y=W+36|0,qa(c[e+4>>2],y))||qa(c[e+4>>2],W+40|0)||qa(c[e+4>>2],W+44|0)||Sa(c[e+4>>2],W+48|0)||Sa(c[e+4>>2],W+50|0)||(L=c[E>>2],L-1>>>0>65534)||(B=c[y>>2],B-1>>>0>65534)||(S=c[_+256>>2],S-1>>>0>65534)||(_e=c[_+260>>2],_e-1>>>0>65534)||(c[W+4>>2]=_e,c[W>>2]=S,v=l[_+144|0],Fe=v&1,a[W+8|0]=Fe,a[W+20|0]=v>>>7,x=v>>>3|0,Ue=x&1,a[W+28|0]=Ue,Te=v>>>1&3,a[W+9|0]=Te,f=v>>>4|0,c[W+24>>2]=(f&7)==4?4:f&3,c[T+8>>2]!=1)||(f=Ka(e,c[c[T+12>>2]>>2]),!f|(l[f+4|0]&63)!=16)||(f=c[f+60>>2],!f)||(Oe=c[f>>2],!Oe))break Sb;c[W+12>>2]=Oe,c[W+16>>2]=f+4,n=c[c[f+4>>2]>>2],b=c[n+20>>2],a[W+52|0]=b,f=c[n+24>>2],a[W+53|0]=f,c[T+52>>2]=1;Tb:{Ub:{Vb:{if(v&1){for(x=c[e+4>>2],n=1;r=n,n=n+1|0,Oe>>>0>1<<r>>>0;);s[_+216>>1]=0,c[_+172>>2]=0,c[_+184>>2]=0,c[_+188>>2]=0,c[_+192>>2]=0,c[_+196>>2]=0,c[_+200>>2]=0,c[_+204>>2]=0,c[_+208>>2]=0,c[_+220>>2]=0,c[_+224>>2]=0,c[_+228>>2]=0,c[_+232>>2]=0,c[_+236>>2]=0,c[_+168>>2]=B,c[_+164>>2]=L,a[_+160|0]=Fe,f=r&255,b=cb(_+8|0,f),v=c[b>>2],n=(v+(f<<2)|0)-4|0,db(_+160|0,n,x),r=0;Wb:{if(!c[n>>2])break Wb;for(sa(x),n=c[x+8>>2],n>>>0<=4294967292&&(r=n+3|0,n=c[x+4>>2],c[x+8>>2]=n>>>0>r>>>0?r:n),n=f-2|0;(n|0)>=0;){if(S=v+(n<<2)|0,db(_+160|0,S,x),r=0,!c[S>>2])break Wb;sa(x),r=c[x+8>>2],r>>>0<=4294967292&&(f=r+3|0,r=c[x+4>>2],c[x+8>>2]=r>>>0>f>>>0?f:r),bb(c[S>>2],0,0,0,0,c[S+4>>2],2),n=n-1|0}r=vc(W,b)}if(Za(b),c[_+120>>2]=0,oa(T- -64|0,r),la(_+120|0),!c[T+64>>2])break Tb;sa(c[e+4>>2]);break Vb}mb(_+148|0,Te?(Te|0)==1?8192:1024:65536),We=Na(c[e+4>>2]),c[_+300>>2]=We,O=c[_+148>>2],Ye=c[_+152>>2],v=0,c[_+104>>2]=0;Xb:{if(!(x&1))break Xb;n=ua(E,y),c[_+160>>2]=0,oa(_+104|0,n),n=f&255,U=1-n|0,Le=0-(n>>>0>1)|0,n=b&255,Q=1-n|0,Re=0-(n>>>0>1)|0,la(_+160|0),y=_e,v=c[_+104>>2];Yb:for(;;){if(!r&(w|0)==(B|0))break Xb;for(ja(_+160|0,v,w),n=c[W+44>>2],G=u[W+48>>1],f=ze(w,r,G,0),Ce=n+f|0,n=N+(n>>31)|0,Me=f>>>0>Ce>>>0?n+1|0:n,f=c[W+40>>2],R=u[W+50>>1],n=ze(w,r,R,0),F=f+n|0,f=N+(f>>31)|0,C=n>>>0>F>>>0?f+1|0:f,x=0,b=0,E=c[_+164>>2],k=c[_+160>>2];;)if(!b&(x|0)==(L|0)){n=r,f=w+1|0,n=f?n:n+1|0,w=f,r=n;continue Yb}else{Je=c[v+20>>2],n=ze(x,b,R,0),f=Ce-n|0,H=Me-(N+(n>>>0>Ce>>>0)|0)|0,n=H>>8,De=(H&255)<<24|f>>>8,f=De,V=(n|0)>=0&f>>>0>=y>>>0|(n|0)>0,H=ze(x,b,G,0),He=H+F|0,f=N+C|0,f=H>>>0>He>>>0?f+1|0:f,H=f>>8,f=(f&255)<<24|He>>>8,De=(H|0)<=(Re|0)&Q>>>0>f>>>0|(H|0)<(Re|0)|((n|0)<=(Le|0)&U>>>0>De>>>0|(n|0)<(Le|0)),n=H,n=(n|0)>0?1:(n|0)>=0&f>>>0>=S>>>0,Ea(Je,x,k,E,De|n|V),x=x+1|0,b=x?b:b+1|0;continue}}}for(n=1;r=n,n=n+1|0,Oe>>>0>1<<r>>>0;);c[_+184>>2]=0,c[_+188>>2]=0,s[_+216>>1]=0,c[_+192>>2]=0,c[_+196>>2]=0,c[_+200>>2]=0,c[_+204>>2]=0,c[_+208>>2]=0,c[_+220>>2]=0,c[_+224>>2]=0,c[_+228>>2]=0,c[_+232>>2]=0,c[_+236>>2]=0,c[_+168>>2]=B,c[_+164>>2]=L,a[_+160|0]=Fe,c[_+172>>2]=v,a[_+162|0]=Ue,a[_+161|0]=0,a[_+163|0]=Te;Zb:{if(Te>>>0>=2){s[_+176>>1]=65282;break Zb}if(s[_+176>>1]=65283,Te)break Zb;s[_+182>>1]=65278,s[_+178>>1]=65533,s[_+180>>1]=65026}n=r&255,S=cb(_+120|0,n),v=c[S>>2],r=n-1|0,f=r;_b:{$b:{for(;(f|0)>=0;){for(c[_+292>>2]=0,c[_+24>>2]=0,c[_+16>>2]=O,c[_+20>>2]=Ye,c[_+12>>2]=We,c[_+8>>2]=_+292,n=Ob(_+160|0,_+8|0),c[_+24>>2]=0;(n|0)==3;)n=Nb(_+160|0,_+8|0);if(c[_+204>>2]=0,c[_+208>>2]=0,c[_+196>>2]=0,c[_+200>>2]=0,c[_+188>>2]=0,c[_+192>>2]=0,n=c[_+292>>2],!n)break $b;c[_+292>>2]=0,b=v+(f<<2)|0,oa(b,n),(r|0)>(f|0)&&bb(c[b>>2],0,0,0,0,c[b+4>>2],2),f=f-1|0,la(_+292|0)}n=vc(W,S);break _b}la(_+292|0),n=0}if(Za(S),la(_+104|0),c[_+160>>2]=0,oa(T- -64|0,n),la(_+160|0),!c[T+64>>2])break Ub;sa(c[e+4>>2]),f=c[e+4>>2],n=c[f+8>>2],n>>>0<=4294967293&&(r=n+2|0,n=c[f+4>>2],c[f+8>>2]=n>>>0>r>>>0?r:n),ta(_+300|0),Ja(_+148|0)}if((l[T+4|0]&63)==20){n=0;break Sb}ac:{if(l[e+50|0]||(f=c[c[e+24>>2]-4>>2],l[f+17|0]!=1)||(n=_e+c[_+268>>2]|0,r=c[e+32>>2],(n|0)<=c[r+24>>2]))break ac;ab(r,n,l[f+16|0])}n=c[_+264>>2],r=n,v=n>>31,n=c[_+268>>2],f=n,b=n>>31,n=l[_+272|0],bb(c[e+32>>2],r,v,f,b,c[T+64>>2],(n&7)==4?4:n&3),n=0,oa(T- -64|0,0);break Sb}ta(_+300|0),Ja(_+148|0)}n=1}ma(W);break u}if(n=1,l[e+49|0]!=1)break u;if(S=e+76|0,r=c[e+76>>2],!r){b=lb(),c[_+160>>2]=b;bc:{cc:{if(ob(e,e+88|0)||wa(c[e+4>>2],_+8|0)||(f=c[e+92>>2],(f|0)<0)||(r=c[e+88>>2],(r|0)<0))break cc;if(c[b+8>>2]=f,c[b+4>>2]=r,v=l[_+8|0],r=v&1,a[b|0]=r,f=v>>>1&3,a[b+3|0]=f,a[b+1|0]=v>>>3&1,r)break bc;if(v=b+16|0,r=0,!f)for(;;){if((r|0)==8)break bc;if(f=r+v|0,r=r+1|0,wa(c[e+4>>2],f))break cc}for(;;){if((r|0)==2)break bc;if(f=r+v|0,r=r+1|0,wa(c[e+4>>2],f))break}}ta(_+160|0);break u}a[b+2|0]=0,c[_+160>>2]=0,Ra(S,b),ta(_+160|0),r=c[S>>2]}c[T+52>>2]=1;dc:{if(l[r|0]==1){if(db(r,T- -64|0,c[e+4>>2]),!c[T+64>>2]){Ra(S,0);break M}sa(c[e+4>>2]);break dc}c[e+60>>2]==c[e+64>>2]&&(n=l[r+3|0],fb(e+60|0,n?(n|0)==1?8192:1024:65536)),b=e+72|0,f=c[e+72>>2],f?n=f:(r=Na(c[e+4>>2]),c[_+160>>2]=0,Ra(b,r),ta(_+160|0),n=c[e+72>>2]),c[_+164>>2]=n,v=T- -64|0,c[_+160>>2]=v,n=c[e+64>>2],r=c[e+60>>2],c[_+176>>2]=0,c[_+168>>2]=r,c[_+172>>2]=n-r>>1,n=c[e+76>>2];ec:{if(!f){n=Ob(n,_+160|0);break ec}n=Nb(n,_+160|0)}if(c[e+56>>2]=n,(n|0)==3){if((l[T+4|0]&63)==36)break B;fc:{if(l[e+50|0]||(f=c[c[e+24>>2]-4>>2],l[f+17|0]!=1)||(n=c[e+92>>2]+c[e+100>>2]|0,r=c[e+32>>2],(n|0)<=c[r+24>>2]))break fc;ab(r,n,l[f+16|0])}r=c[e+76>>2],n=c[r+64>>2]+c[e+96>>2]|0,f=n,x=n>>31,n=c[r+68>>2]+c[e+100>>2]|0,b=n,y=n>>31,n=l[e+104|0],uc(c[e+32>>2],f,x,b,y,c[v>>2],r- -64|0,(n&7)==4?4:n&3);break B}if(n=c[e+76>>2],c[n+44>>2]=0,c[n+48>>2]=0,c[n+36>>2]=0,c[n+40>>2]=0,c[n+28>>2]=0,c[n+32>>2]=0,Ra(b,0),c[e+64>>2]=c[e+60>>2],!c[v>>2]){c[e+56>>2]=-1,Ra(S,0);break M}if(sa(c[e+4>>2]),f=c[e+4>>2],n=c[f+8>>2],n>>>0>4294967293)break dc;r=n+2|0,n=c[f+4>>2],c[f+8>>2]=n>>>0>r>>>0?r:n}if((l[T+4|0]&63)!=36){gc:{if(l[e+50|0]||(f=c[c[e+24>>2]-4>>2],l[f+17|0]!=1)||(n=c[e+92>>2]+c[e+100>>2]|0,r=c[e+32>>2],(n|0)<=c[r+24>>2]))break gc;ab(r,n,l[f+16|0])}r=c[e+76>>2],n=c[r+64>>2]+c[e+96>>2]|0,f=n,b=n>>31,n=c[r+68>>2]+c[e+100>>2]|0,v=n,x=n>>31,n=l[e+104|0],uc(c[e+32>>2],f,b,v,x,c[T+64>>2],r- -64|0,(n&7)==4?4:n&3),oa(T- -64|0,0)}n=0,Ra(S,0);break u}if(n=1,l[e+49|0]!=1||ob(e,_+160|0)||wa(c[e+4>>2],_+292|0)||(b=c[_+160>>2],b-1>>>0>65534)||(S=c[_+164>>2],S-1>>>0>65534))break u;c[_+256>>2]=0,x=kb(),c[_+120>>2]=x,c[x+8>>2]=S,c[x+4>>2]=b,f=l[_+292|0],n=f&1,a[x|0]=n,a[x+1|0]=f>>>1&1;hc:{ic:{if(n)break ic;for(v=x+24|0;;){if((r|0)==4)break ic;if(n=1,f=r+v|0,r=r+1|0,wa(c[e+4>>2],f))break}break hc}v=c[T+8>>2];jc:{if((v|0)>0){for(r=0,n=1;;){if((r|0)==(v|0)||(b=Ka(e,c[c[T+12>>2]>>2]),!b))break hc;if(f=l[b+4|0],f=(f<<6|f>>>2)&207,!(1<<f&1570&&f>>>0<=10))r=r+1|0;else break}n=b- -64|0;break jc}r=nb(c[e+32>>2],c[_+168>>2],c[_+172>>2],b,S),c[_+8>>2]=0,n=_+256|0,oa(n,r),la(_+8|0)}n=c[n>>2],c[x+12>>2]=0,c[x+16>>2]=0,c[x+20>>2]=n,mb(_+8|0,l[x|0]?1024:8192),r=Na(c[e+4>>2]),c[_+148>>2]=r,c[T+52>>2]=1,n=jb(x,r,c[_+8>>2],c[_+12>>2]),c[_+104>>2]=0,v=T- -64|0,oa(v,n),la(_+104|0),n=1;kc:{if(!c[T+64>>2]||(sa(c[e+4>>2]),f=c[e+4>>2],n=c[f+8>>2],n>>>0<=4294967293&&(r=n+2|0,n=c[f+4>>2],c[f+8>>2]=n>>>0>r>>>0?r:n),n=0,(l[T+4|0]&63)==40))break kc;lc:{if(l[e+50|0]||(f=c[c[e+24>>2]-4>>2],l[f+17|0]!=1)||(n=S+c[_+172>>2]|0,r=c[e+32>>2],(n|0)<=c[r+24>>2]))break lc;ab(r,n,l[f+16|0])}n=c[_+168>>2],r=n,b=n>>31,n=c[_+172>>2],f=n,x=n>>31,n=l[_+176|0],bb(c[e+32>>2],r,b,f,x,c[v>>2],(n&7)==4?4:n&3),oa(v,0),n=0}ta(_+148|0),Ja(_+8|0)}Ua(_+120|0),la(_+256|0);break u}x=na(20),c[x+16>>2]=0,c[x+8>>2]=0,c[x+12>>2]=0,c[x>>2]=0,c[x+4>>2]=0,c[_+160>>2]=x;mc:{if(qa(c[e+4>>2],x)||qa(c[e+4>>2],x+4|0)||qa(c[e+4>>2],x+8|0)||qa(c[e+4>>2],x+12|0)||wa(c[e+4>>2],_+148|0)||Sa(c[e+4>>2],_+120|0))break mc;a[x+16|0]=l[_+148|0]>>>2&1,f=u[_+120>>1],n=f&32767,s[x+18>>1]=n,a[x+17|0]=f>>>15,r=c[x+4>>2];nc:{oc:{if((r|0)==-1){if(f<<16>>16>=0&&(a[x+17|0]=1),l[e+50|0])break nc;r=n;break oc}if(l[e+50|0])break nc}c[_+8>>2]=r,n=ua(x,_+8|0),c[_+256>>2]=0,oa(e+32|0,n),la(_+256|0)}if(r=c[e+32>>2],n=c[r+16>>2],n)break L;c[e+56>>2]=-1}Ub(_+160|0)}n=1;break u}Mb(c[r+12>>2],n,l[x+16|0]),n=c[e+24>>2],r=c[e+28>>2];pc:{if(n>>>0<r>>>0){c[_+160>>2]=0,c[n>>2]=x,n=n+4|0;break pc}if(f=c[e+20>>2],n=n-f|0,S=n>>2,b=S+1|0,b>>>0>=1073741824)break F;v=r-f|0,r=v>>1,b=v>>>0>=2147483644?1073741823:r>>>0>b>>>0?r:b;qc:{if(!b){v=n,y=0;break qc}if(b>>>0>=1073741824)break E;y=na(b<<2),f=c[e+20>>2],v=c[e+24>>2]-f|0,S=v>>2}if(c[_+160>>2]=0,n=n+y|0,c[n>>2]=x,r=n-(S<<2)|0,v&&p(r,f,v),c[e+28>>2]=(b<<2)+y,n=n+4|0,c[e+24>>2]=n,c[e+20>>2]=r,!f)break pc;ma(f)}a[e+49|0]=1,c[e+24>>2]=n,Ub(_+160|0);break B}a[e+49|0]=0;break u}if(r=c[e+4>>2],n=c[r+8>>2],f=n+c[T+28>>2]|0,n>>>0>f>>>0)break B;n=c[r+4>>2],c[r+8>>2]=n>>>0>f>>>0?f:n;break B}if(r=c[e+4>>2],n=c[r+8>>2],f=n+c[T+28>>2]|0,n>>>0>f>>>0)break B;n=c[r+4>>2],c[r+8>>2]=n>>>0>f>>>0?f:n;break B}if(c[T+52>>2]=4,S=T+68|0,pb(S,0),w=c[e+4>>2],E=na(96),s[E>>1]=0,t(E+4|0,0,92),(wa(w,_+120|0)|0)==-1)break D;n=1,f=l[_+120|0],a[E+1|0]=f&1;rc:{sc:{if((qa(w,_+8|0)|0)==-1||(qa(w,_+256|0)|0)==-1||(r=c[_+8>>2],x=c[_+256>>2],(r|0)>(x|0)))break sc;for(b=(f>>>4&7)+1|0,y=(f>>>1&7)+1|0,Lb(E,0),c[_+164>>2]=r,a[_+160|0]=1,n=r;;){if((Fa(w,y,c[E+8>>2]+(c[E+4>>2]<<3)|0)|0)==-1||(Fa(w,b,c[E+20>>2]+(c[E+4>>2]<<2)|0)|0)==-1||(v=c[E+20>>2],f=c[E+4>>2]<<2,d[v+f>>2]>63)||(c[f+c[E+32>>2]>>2]=n,n=c[v+(c[E+4>>2]<<2)>>2],(n|0)>31)||l[La(_+160|0,1<<n)|0]!=1)break rc;if(Lb(E,1),n=c[_+164>>2],!((x|0)>(n|0)))break}if((Fa(w,y,c[E+8>>2]+(c[E+4>>2]<<3)|0)|0)==-1||(c[c[E+20>>2]+(c[E+4>>2]<<2)>>2]=32,(r|0)==-2147483648)||(c[c[E+32>>2]+(c[E+4>>2]<<2)>>2]=r-1,Lb(E,1),(Fa(w,y,c[E+8>>2]+(c[E+4>>2]<<3)|0)|0)==-1))break rc;if(c[c[E+20>>2]+(c[E+4>>2]<<2)>>2]=32,c[c[E+32>>2]+(c[E+4>>2]<<2)>>2]=x,Lb(E,1),l[E+1|0]==1){if((Fa(w,y,c[E+8>>2]+(c[E+4>>2]<<3)|0)|0)==-1)break rc;c[E+4>>2]=c[E+4>>2]+1}if(r=Ld(E),a[E|0]=r,c[_+160>>2]=E,n=1,!r)break C;n=0,c[_+160>>2]=0,pb(S,E),sa(c[e+4>>2]);break C}a[E|0]=0,c[_+160>>2]=E;break C}break D}if((f|0)!=62||(r=c[e+4>>2],n=c[r+8>>2],f=n+c[T+28>>2]|0,n>>>0>f>>>0))break B;n=c[r+4>>2],c[r+8>>2]=n>>>0>f>>>0?f:n;break B}za(),o()}Wa(),o()}a[E|0]=0,c[_+160>>2]=E,n=1}pa(_+160|0);break u}n=0;break u}la(_+120|0)}if(ta(_+256|0),c[_+160>>2]=0,Pb(T+60|0,v),Sb(_+160|0),c[T+60>>2]){sa(c[e+4>>2]),f=c[e+4>>2],n=c[f+8>>2],n>>>0<=4294967293&&(r=n+2|0,n=c[f+4>>2],c[f+8>>2]=n>>>0>r>>>0?r:n),ta(_+104|0),Ja(_+8|0),n=0;break x}ta(_+104|0),Ja(_+8|0)}n=1}ma(y);break u}if(qa(c[e+4>>2],y+16|0))break v;if(r=c[e+4>>2],f=c[r>>2],r=c[r+4>>2],(r|0)<0||(f=((r&134217727)<<5|f>>>27)&-32,r=r>>>27&15,!r&f>>>0>=2147483648|r))break t;if(!r&d[y+16>>2]>f>>>0)break v;for(S=0,n=c[T+8>>2],v=(n|0)>0?n:0,r=0;;){if((r|0)==(v|0))for(f=1,n=0;;)if((n|0)==(v|0)){if(!(f&1))break t;c[y+24>>2]=S,F=Kb(_+104|0,S),E=c[F>>2];tc:{if((E|0)==c[F+4>>2])break tc;for(n=c[T+8>>2],w=(n|0)>0?n:0,f=1,S=0,v=0;;){if((v|0)==(w|0))break tc;uc:{if(n=Ka(e,c[c[T+12>>2]+(v<<2)>>2]),l[n+4|0]&63)break uc;for(n=c[n+56>>2],b=c[n+24>>2],C=c[n+28>>2]-b>>2,n=0;;){if((n|0)==(C|0)){x=0,b=0,f&1&&(n=S+C|0,r=n>>>0>=C>>>0,x=r,b=r?n:0),S=b,f=x;break uc}if(r=n+S|0,!(r>>>0>=n>>>0&f))break t;c[E+(r<<2)>>2]=c[b+(n<<2)>>2],n=n+1|0}}v=v+1|0}}$a(y+124|0,F);vc:{wc:{if(l[y|0]==1){E=c[y+24>>2],n=0;xc:{yc:{for(;;){if((n|0)==35)break yc;if(!Fa(c[e+4>>2],4,_+160|0))a[(_+256|0)+n|0]=c[_+160>>2],n=n+1|0;else break}s[_+8>>1]=0,t(_+12|0,0,92);break xc}if(w=tc(_+160|0,_+256|0,35),!l[w|0]){s[_+8>>1]=0,t(_+12|0,0,92),Oa(w);break xc}if(c[_+300>>2]=c[e+4>>2],f=0,c[_+156>>2]=0,c[_+148>>2]=0,c[_+152>>2]=0,n=_+148|0,c[_+292>>2]=n,E){for(Kd(n,E),n=c[_+152>>2],r=E+n|0;(n|0)!=(r|0);)a[n|0]=0,n=n+1|0;c[_+152>>2]=r}a[_+296|0]=1,gc(_+292|0),S=0;zc:for(;;){Ac:{Bc:{if((f|0)<(E|0)){if(ya(_+300|0,w,_+292|0))break Bc;if(v=c[_+292>>2],(v|0)<=31){a[c[_+148>>2]+f|0]=v,S=0;break Ac}Cc:{Dc:switch(v-32|0){case 0:if(Fa(c[e+4>>2],2,_+144|0))break Bc;S=c[_+144>>2]+3|0;break Cc;case 1:if(Fa(c[e+4>>2],3,_+144|0))break Bc;S=c[_+144>>2]+3|0;break Cc;case 2:break Dc;default:break Cc}if(Fa(c[e+4>>2],7,_+144|0))break Bc;S=c[_+144>>2]+11|0}if((S|0)<=0)break Ac;if(r=f+S|0,(r|0)>(E|0))break Bc;for(n=0,x=(v|0)==32&(f|0)>0;;)if((n|0)==(S|0)){f=r;continue zc}else{b=c[_+148>>2]+f|0,a[b+n|0]=x?l[b-1|0]:0,n=n+1|0;continue}}if(n=c[_+148>>2],r=tc(_+8|0,n,c[_+152>>2]-n|0),n=l[r|0],va(_+148|0),Oa(w),!n)break xc;if(sa(c[e+4>>2]),Id(y+28|0,r),Oa(r),n=1,r=0,l[y|0]!=1)break wc;if(E=u[_+142>>1],w=E>>>12&3,(w|0)==2||(x=E>>>10&3,(x|0)==2)||(S=E>>>8&3,(S|0)==2)||(f=E&3,(f|0)==2)||(b=E>>>6&3,(b|0)==2))break vc;Ec:{Fc:switch(f|0){case 0:v=ra(e,6),f=0;break Ec;case 1:v=ra(e,7),f=0;break Ec;default:break Fc}if(f=Ga(e,T,0),!f)break vc;v=c[f+68>>2],f=1}c[y+144>>2]=v;Gc:{Hc:switch((E>>>2&3)-1|0){default:v=ra(e,8);break Gc;case 0:v=ra(e,9);break Gc;case 1:v=ra(e,10);break Gc;case 2:break Hc}if(v=Ga(e,T,f),!v)break vc;f=f+1|0,v=c[v+68>>2]}c[y+148>>2]=v;Ic:{Jc:switch((E>>>4&3)-1|0){default:v=ra(e,11);break Ic;case 0:v=ra(e,12);break Ic;case 1:v=ra(e,13);break Ic;case 2:break Jc}if(v=Ga(e,T,f),!v)break vc;f=f+1|0,v=c[v+68>>2]}c[y+152>>2]=v;Kc:{Lc:switch(b|0){case 0:v=ra(e,14);break Kc;case 1:v=ra(e,15);break Kc;default:break Lc}if(v=Ga(e,T,f),!v)break vc;f=f+1|0,v=c[v+68>>2]}c[y+156>>2]=v;Mc:{Nc:switch(S|0){case 0:v=ra(e,14);break Mc;case 1:v=ra(e,15);break Mc;default:break Nc}if(v=Ga(e,T,f),!v)break vc;f=f+1|0,v=c[v+68>>2]}c[y+160>>2]=v;Oc:{Pc:switch(x|0){case 0:v=ra(e,14);break Oc;case 1:v=ra(e,15);break Oc;default:break Pc}if(v=Ga(e,T,f),!v)break vc;f=f+1|0,v=c[v+68>>2]}c[y+164>>2]=v;Qc:{Rc:switch(w|0){case 0:v=ra(e,14);break Qc;case 1:v=ra(e,15);break Qc;default:break Rc}if(v=Ga(e,T,f),!v)break vc;f=f+1|0,v=c[v+68>>2]}c[y+168>>2]=v;Sc:{if(!(E&16384)){n=ra(e,1);break Sc}if(f=Ga(e,T,f),!f)break vc;n=c[f+68>>2]}c[y+172>>2]=n;break wc}s[_+8>>1]=0,t(_+12|0,0,92),va(_+148|0),Oa(w);break xc}f=f+1|0}}Oa(_+8|0),n=1;break vc}r=ib(c[y+24>>2])}x=0,b=0,c[_+8>>2]=0,c[_+12>>2]=0,l[y+1|0]==1&&(v=_+160|0,mb(v,l[y+2|0]?1024:8192),n=c[_+160>>2],c[_+160>>2]=0,Hd(_+8|0,n),f=c[_+164>>2],c[_+12>>2]=f,c[_+164>>2]=0,Ja(v),b=f),c[T+52>>2]=1;Tc:{Uc:{Vc:{Wc:{if(l[y|0]==1){if(n=Gd(y,c[e+4>>2],c[_+8>>2]|x,b),c[_+160>>2]=0,oa(T- -64|0,n),la(_+160|0),!c[T+64>>2])break Uc;sa(c[e+4>>2]);break Wc}if(n=Na(c[e+4>>2]),c[_+256>>2]=n,v=Fd(_+160|0,r),n=Ed(y,n,c[_+8>>2]|x,b,v),c[_+148>>2]=0,oa(T- -64|0,n),la(_+148|0),!c[T+64>>2])break Vc;sa(c[e+4>>2]),f=c[e+4>>2],n=c[f+8>>2],n>>>0<=4294967293&&(r=n+2|0,n=c[f+4>>2],c[f+8>>2]=n>>>0>r>>>0?r:n),rc(v),ta(_+256|0)}if(n=0,(l[T+4|0]&63)==4)break Tc;Xc:{if(l[e+50|0]||(f=c[c[e+24>>2]-4>>2],l[f+17|0]!=1)||(n=k+c[_+132>>2]|0,r=c[e+32>>2],(n|0)<=c[r+24>>2]))break Xc;ab(r,n,l[f+16|0])}n=c[_+128>>2],r=n,v=n>>31,n=c[_+132>>2],f=n,b=n>>31,n=l[_+136|0],bb(c[e+32>>2],r,v,f,b,c[T+64>>2],(n&7)==4?4:n&3),oa(T- -64|0,0),n=0;break Tc}rc(v),ta(_+256|0)}n=1}Ja(_+8|0)}va(F);break v}else{r=Ka(e,c[c[T+12>>2]+(n<<2)>>2]),l[r+4|0]&63||(x=0,b=0,f&1?(r=c[r+56>>2],f=c[r+28>>2]-c[r+24>>2]>>2,r=f+S|0,b=r,r=r>>>0>=f>>>0,f=r?b:0,x=r):f=b,S=f,f=x),n=n+1|0;continue}if(n=1,f=r<<2,r=r+1|0,!Ka(e,c[f+c[T+12>>2]>>2]))break}}qc(_+116|0)}M=_+304|0;break s}o()}if(c[e+56>>2]!=3)break r;if(n=c[e+4>>2],r=c[n+8>>2],n=c[n+4>>2],r>>>0>n>>>0)break e;if((n|0)==(r|0))break}c[e+52>>2]=2;break c}Yc:switch(n|0){default:eb(Ee,0);break i;case 0:break Yc;case 2:break d}if(T=c[Ee>>2],n=c[T+28>>2],(n|0)==-1)break g;if(r=n,n=c[e+84>>2],r=r+n|0,n>>>0<=r>>>0)break h}Xe=1;break c}c[e+84>>2]=r,f=c[e+4>>2],n=c[f+4>>2],c[f+8>>2]=n>>>0>r>>>0?r:n;break f}if(f=c[e+4>>2],n=c[f+8>>2],n>>>0>4294967291)break f;r=n+4|0,n=c[f+4>>2],c[f+8>>2]=n>>>0>r>>>0?r:n}n=c[e+12>>2],r=c[e+16>>2];Zc:{if(n>>>0<r>>>0){c[Ee>>2]=0,c[n>>2]=T,r=n+4|0;break Zc}if(f=c[e+8>>2],n=n-f|0,y=n>>2,b=y+1|0,b>>>0>=1073741824)break b;v=r-f|0,r=v>>1,S=v>>>0>=2147483644?1073741823:r>>>0>b>>>0?r:b;_c:{if(!S){v=0,r=n;break _c}if(S>>>0>=1073741824)break a;v=na(S<<2),f=c[e+8>>2],r=c[e+12>>2]-f|0,y=r>>2,T=c[e+80>>2]}c[e+80>>2]=0,b=n+v|0,c[b>>2]=T,n=b-(y<<2)|0,r&&p(n,f,r),c[e+16>>2]=(S<<2)+v,r=b+4|0,c[e+12>>2]=r,c[e+8>>2]=n,f&&ma(f),f=c[e+4>>2]}if(c[e+12>>2]=r,n=c[f+4>>2],b=n,r=c[f+8>>2],!(n>>>0>=r>>>0))break}}o()}eb(Ee,0)}return M=Y+16|0,Xe}za(),o()}Wa(),o()}function jb(e,n,r,s){var u=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0,O=0,k=0,A=0,j=0,N=0,P=0,F=0,I=0,L=0,R=0,z=0,B=0,V=0,H=0,U=0,W=0,G=0,K=0,q=0,J=0;u=M-96|0,M=u,P=e+8|0,C=e+4|0;a:{b:{if(x=c[e+4>>2],x-1>>>0<=65534&&(E=c[e+8>>2],E-1>>>0<65535))break b;b=ua(C,P);break a}c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{if(!l[e|0]){m:{if(l[e+24|0]!=255|l[e+25|0]!=255|(l[e+26|0]!=255|l[e+27|0]!=255)||c[e+12>>2]||(v=c[e+20>>2],(x|0)!=c[v+20>>2]))break m;if(!c[v+16>>2])break c;if(b=hc(x,E),c[u+44>>2]=b,!c[b+16>>2])break e;for(O=s,F=r,r=c[e+20>>2],I=c[r+20>>2],w=c[r+24>>2],r=c[e+16>>2],(1-w|0)<=(r|0)&(r|0)<(w|0)||(c[e+16>>2]=0),H=w+1|0,z=w-1|0,B=F+32|0,C=0;(C|0)!=(E|0);){if(l[e+1|0]==1){if(l[n|0])break e;if((s|0)==16|s>>>0<16)break l;k=ka(n,B)^k}ja(u+32|0,b,C),_=0;n:{if(!C){P=0,D=0,v=0;break n}if(ja(u+72|0,b,C-1|0),D=c[u+76>>2],!D)break l;P=c[u+72>>2],v=l[P|0]<<4}if(r=c[e+16>>2],c[u+88>>2]=0,c[u+92>>2]=0,c[u+80>>2]=0,c[u+84>>2]=0,c[u+72>>2]=0,c[u+76>>2]=0,c[u+16>>2]=0,c[u+8>>2]=0,c[u+12>>2]=0,g=C-r|0,!((g|0)<=0|(g|0)>(w|0))){if(ja(u+48|0,c[e+20>>2],g-1|0),r=c[u+52>>2],c[u+76>>2]=r,f=c[u+48>>2],c[u+72>>2]=f,!r)break l;r=l[f|0],c[u+8>>2]=r,_=r&192}y=0,r=0;o:{if((g|0)<0||(r=0,(g|0)>=(w|0)))break o;if(ja(u+48|0,c[e+20>>2],g),r=c[u+52>>2],c[u+84>>2]=r,f=c[u+48>>2],c[u+80>>2]=f,!r)break l;r=l[f|0],c[u+12>>2]=r,r=r>>>3&24}if(!((g|0)<-1|(g|0)>=(z|0))){if(ja(u+48|0,c[e+20>>2],g+1|0),g=c[u+52>>2],c[u+92>>2]=g,f=c[u+48>>2],c[u+88>>2]=f,!g)break l;g=l[f|0],c[u+16>>2]=g,y=g>>>6|0}p:{if(!k){h=r|v&3072|_|y,S=0,A=c[u+32>>2],j=c[u+36>>2],y=0;q:for(;;){if((y|0)>=(x|0))break p;r:{if(!C||(v<<=8,(x|0)<=(y+8|0)))break r;if(r=(y>>>3|0)+1|0,r>>>0>=D>>>0)break l;v=l[r+P|0]<<4|v}s:{if((H+c[e+16>>2]|0)<(C|0)){g=0,c[u+16>>2]=0,c[u+8>>2]=0,c[u+12>>2]=0,T=0,r=0;break s}for(r=(y>>>3|0)+1|0,f=0,_=u+8|0,g=(I|0)<=(y+8|0);(f|0)!=24;){T=(u+72|0)+f|0,L=c[T+4>>2];t:{if(!L||(N=c[_>>2]<<8,c[_>>2]=N,g))break t;if(r>>>0>=L>>>0)break l;c[_>>2]=N|l[r+c[T>>2]|0]}_=_+4|0,f=f+8|0}g=c[u+16>>2],T=c[u+8>>2],r=c[u+12>>2]}for(f=0,_=S+x|0,_=(_|0)>0?_:0,L=(_|0)>=8?8:_,_=0;;){if((f|0)==(L|0)){if(r=y>>>3|0,r>>>0>=j>>>0)break l;a[r+A|0]=_,S=S-8|0,y=y+8|0;continue q}if(h>>>0>=O>>>0)break l;N=h<<1,R=ka(n,N+F|0),h=f^7,_=R<<h|_,h=g>>>13-f&1|(r>>>10-f&8|(T>>>h&64|(v>>>h&1024|N&6582|R<<9))),f=f+1|0}}}for(Cb(u+48|0,c[e+20>>2],C),_=r|v&3072|_|y,g=0,j=c[u+32>>2],L=c[u+36>>2],N=c[u+60>>2],R=c[u+56>>2],y=0;;){if((g|0)>=(x|0))break p;u:{if(!C){r=g+8|0;break u}if(v<<=8,r=g+8|0,(x|0)<=(r|0))break u;if(f=(g>>>3|0)+1|0,f>>>0>=D>>>0)break l;v=l[f+P|0]<<4|v}for(T=g>>>3|0,S=T+1|0,f=0,h=u+8|0;;){v:{if((f|0)==24)for(f=0,h=y+x|0,h=(h|0)>0?h:0,V=(h|0)>=8?8:h,W=c[u+16>>2],U=c[u+12>>2],G=c[u+8>>2],S=0;;){if((f|0)==(V|0))break v;A=c[c[e+20>>2]+20>>2],K=f+g|0,h=ia(A,K,R,N);w:{if(l[e+1|0]==1&&Bb(A,K,h,u+48|0))break w;if(l[n|0])break e;if(_>>>0>=O>>>0)break l;h=ka(n,F+(_<<1)|0)}A=f^7,_=W>>>13-f&1|(U>>>10-f&8|(v>>>A&1024|_<<1&6582|h<<9|G>>>A&64)),f=f+1|0,S=h<<A|S}A=(u+72|0)+f|0,V=c[A+4>>2];x:{if(!V||(W=c[h>>2]<<8,c[h>>2]=W,(r|0)>=(I|0)))break x;if(S>>>0>=V>>>0)break l;c[h>>2]=W|l[S+c[A>>2]|0]}h=h+4|0,f=f+8|0;continue}break}if(T>>>0>=L>>>0)break l;a[T+j|0]=S,y=y-8|0,g=r}}C=C+1|0}c[u+44>>2]=0;break d}if(b=ua(C,P),c[u+44>>2]=b,f=c[b+16>>2],!f)break g;for(F=r,h=c[b+12>>2];(f|0)>0;)a[h|0]=0,f=f-1|0,h=h+1|0;for(D=F+32|0;d[P>>2]>g>>>0;){if(l[e+1|0]==1){if(l[n|0])break g;if((s|0)==16|s>>>0<16)break l;y=ka(n,D)^y}ja(u+32|0,b,g),r=u+72|0,ja(r,b,g-1|0),v=c[u+76>>2],O=c[u+72>>2],k=c[e+16>>2],_=c[e+20>>2],jd(r,k,_,g),f=0,r=c[b+20>>2],f=!v|(r|0)<2?f:l[O|0]>>>6&1,!v|(r|0)<=0||(f=l[O|0]>>>6&2|f),c[u+8>>2]=f,c[u+12>>2]=0,r=c[_+20>>2],f=c[e+12>>2],h=1-f|0,x=c[u+72>>2],w=c[u+76>>2],S=0-f|0,q=u,J=ia(r,h,x,w)|ia(r,S,x,w)<<1,c[q+16>>2]=J,x=c[u+80>>2],w=c[u+84>>2],E=ia(r,h,x,w),T=E|ia(r,S,x,w)<<1,E=f^-1,q=u,J=T|ia(r,E,x,w)<<2,c[q+20>>2]=J,x=h,f=c[u+88>>2],h=c[u+92>>2],x=ia(r,x,f,h),q=u,J=x|ia(r,S,f,h)<<1|ia(r,E,f,h)<<2,c[q+24>>2]=J,r=u+48|0,ja(r,_,a[e+27|0]+(g-k|0)|0),f=c[u+52>>2],h=c[u+48>>2],ja(r,b,a[e+25|0]+g|0),r=c[u+52>>2],S=c[u+48>>2];y:{if(!y)for(x=O,O=v,v=r,r=f,w=h,f=0,_=c[u+32>>2],k=c[u+36>>2];;){if(d[C>>2]<=f>>>0)break y;if(E=u+8|0,h=id(e,c[b+20>>2],E,f,w,r,S,v),l[n|0])break g;if(s>>>0<=h>>>0)break l;hd(e,b,E,f,ka(n,F+(h<<1)|0),u+72|0,x,O,_,k),f=f+1|0}for(Cb(u+48|0,_,g),x=O,O=v,v=r,r=f,w=h,f=0,_=c[u+32>>2],k=c[u+36>>2],E=c[u+60>>2],I=c[u+56>>2];;){if(d[C>>2]<=f>>>0)break y;T=c[c[e+20>>2]+20>>2],h=ia(T,f,I,E);z:{if(l[e+1|0]==1&&Bb(T,f,h,u+48|0))break z;if(h=id(e,c[b+20>>2],u+8|0,f,w,r,S,v),l[n|0]==1)break g;if(s>>>0<=h>>>0)break l;h=ka(n,F+(h<<1)|0)}hd(e,b,u+8|0,f,h,u+72|0,x,O,_,k),f=f+1|0}}g=g+1|0}c[u+44>>2]=0;break f}A:{if(c[e+12>>2]||(v=c[e+20>>2],(x|0)!=c[v+20>>2]))break A;if(!c[v+16>>2])break c;if(b=hc(x,E),c[u+44>>2]=b,!c[b+16>>2])break i;for(O=s,F=r,r=c[e+20>>2],T=c[r+20>>2],k=c[r+24>>2],r=c[e+16>>2],(1-k|0)<=(r|0)&(r|0)<(k|0)||(c[e+16>>2]=0),A=k-1|0,H=F+16|0,C=0;;){B:{C:{if((C|0)!=(E|0)){if(l[e+1|0]==1){if(l[n|0])break i;if((s|0)==8|s>>>0<8)break l;w=ka(n,H)^w}ja(u+32|0,b,C),_=0;D:{if(!C){D=0,I=0,v=0;break D}if(ja(u+72|0,b,C-1|0),I=c[u+76>>2],!I)break l;D=c[u+72>>2],v=l[D|0]<<1}if(r=c[e+16>>2],c[u+88>>2]=0,c[u+92>>2]=0,c[u+80>>2]=0,c[u+84>>2]=0,c[u+72>>2]=0,c[u+76>>2]=0,c[u+16>>2]=0,c[u+8>>2]=0,c[u+12>>2]=0,g=C-r|0,!((g|0)<=0|(g|0)>(k|0))){if(ja(u+48|0,c[e+20>>2],g-1|0),r=c[u+52>>2],c[u+76>>2]=r,f=c[u+48>>2],c[u+72>>2]=f,!r)break l;r=l[f|0],c[u+8>>2]=r,_=r>>>2&32}y=0,r=0;E:{if((g|0)<0||(r=0,(g|0)>=(k|0)))break E;if(ja(u+48|0,c[e+20>>2],g),r=c[u+52>>2],c[u+84>>2]=r,f=c[u+48>>2],c[u+80>>2]=f,!r)break l;r=l[f|0],c[u+12>>2]=r,r=r>>>4&12}if(!((g|0)<-1|(g|0)>=(A|0))){if(ja(u+48|0,c[e+20>>2],g+1|0),g=c[u+52>>2],c[u+92>>2]=g,f=c[u+48>>2],c[u+88>>2]=f,!g)break l;g=l[f|0],c[u+16>>2]=g,y=g>>>6|0}if(w)break C;_=r|v&384|_|y,f=0,P=c[u+32>>2],z=c[u+36>>2],S=0;F:for(;;){if((f|0)>=(x|0))break B;G:{if(!C){r=f+8|0;break G}if(v<<=8,r=f+8|0,(x|0)<=(r|0))break G;if(g=(f>>>3|0)+1|0,g>>>0>=I>>>0)break l;v=l[g+D|0]<<1|v}for(g=f>>>3|0,y=g+1|0,f=0,h=u+8|0;;){if((f|0)==24)for(f=0,h=S+x|0,h=(h|0)>0?h:0,y=(h|0)>=8?8:h,B=c[u+16>>2],j=c[u+12>>2],L=c[u+8>>2],h=0;;){if((f|0)==(y|0)){if(g>>>0>=z>>>0)break l;a[g+P|0]=h,S=S-8|0,f=r;continue F}if(_>>>0>=O>>>0)break l;_<<=1,N=ka(n,_+F|0),R=f^7,h=N<<R|h,_=B>>>13-f&1|(j>>>11-f&4|(L>>>9-f&32|(v>>>R&128|_&794|N<<6))),f=f+1|0}B=(u+72|0)+f|0,j=c[B+4>>2];H:{if(!j||(L=c[h>>2]<<8,c[h>>2]=L,(r|0)>=(T|0)))break H;if(y>>>0>=j>>>0)break l;c[h>>2]=L|l[y+c[B>>2]|0]}h=h+4|0,f=f+8|0}}}c[u+44>>2]=0;break h}for(Cb(u+48|0,c[e+20>>2],C),_=r|v&384|_|y,g=0,z=c[u+32>>2],B=c[u+36>>2],j=c[u+60>>2],L=c[u+56>>2],P=0;;){if((g|0)>=(x|0))break B;I:{if(!C){r=g+8|0;break I}if(v<<=8,r=g+8|0,(x|0)<=(r|0))break I;if(f=(g>>>3|0)+1|0,f>>>0>=I>>>0)break l;v=l[f+D|0]<<1|v}for(S=g>>>3|0,y=S+1|0,f=0,h=u+8|0;;){J:{if((f|0)==24)for(f=0,h=x+P|0,h=(h|0)>0?h:0,N=(h|0)>=8?8:h,R=c[u+16>>2],V=c[u+12>>2],W=c[u+8>>2],y=0;;){if((f|0)==(N|0))break J;U=c[c[e+20>>2]+20>>2],G=f+g|0,h=ia(U,G,L,j);K:{if(l[e+1|0]==1&&Bb(U,G,h,u+48|0))break K;if(l[n|0])break i;if(_>>>0>=O>>>0)break l;h=ka(n,F+(_<<1)|0)}U=f^7,_=R>>>13-f&1|(V>>>11-f&4|(W>>>9-f&32|(v>>>U&128|_<<1&794|h<<6))),f=f+1|0,y=h<<U|y}N=(u+72|0)+f|0,R=c[N+4>>2];L:{if(!R||(V=c[h>>2]<<8,c[h>>2]=V,(r|0)>=(T|0)))break L;if(y>>>0>=R>>>0)break l;c[h>>2]=V|l[y+c[N>>2]|0]}h=h+4|0,f=f+8|0;continue}break}if(S>>>0>=B>>>0)break l;a[S+z|0]=y,P=P-8|0,g=r}}C=C+1|0}}if(b=ua(C,P),c[u+32>>2]=b,f=c[b+16>>2],!f)break k;for(F=r,h=c[b+12>>2];(f|0)>0;)a[h|0]=0,f=f-1|0,h=h+1|0;for(B=F+16|0;d[P>>2]>w>>>0;){if(l[e+1|0]==1){if(l[n|0])break k;if((s|0)==8|s>>>0<8)break l;k=ka(n,B)^k}ja(u+8|0,b,w),r=u+72|0,ja(r,b,w-1|0),O=c[u+76>>2],x=c[u+72>>2],v=c[e+20>>2],jd(r,c[e+16>>2],v,w),_=0,D=c[b+20>>2],_=!O|(D|0)<2?_:l[x|0]>>>6&1,_=!O|(D|0)<=0?_:l[x|0]>>>6&2|_,h=c[v+20>>2],f=c[e+12>>2],r=0-f|0,T=c[u+72>>2],A=c[u+76>>2],ia(h,r,T,A),g=ia(h,r,T,A),S=1-f|0,E=c[u+80>>2],I=c[u+84>>2],y=ia(h,S,E,I)|ia(h,r,E,I)<<1|ia(h,f^-1,E,I)<<2,H=c[u+88>>2],z=c[u+92>>2],S=ia(h,S,H,z)|ia(h,r,H,z)<<1;M:{if(!k)for(h=0,v=c[u+12>>2],D=c[u+8>>2],f=0;;){if(d[C>>2]<=f>>>0)break M;if(l[n|0])break k;if(r=y<<2|g<<5|h<<6|_<<7|S,r>>>0>=s>>>0)break l;h=ka(n,F+(r<<1)|0),Ea(c[b+20>>2],f,D,v,h),g=c[e+12>>2],_=ia(c[b+20>>2],f+2|0,x,O)|_<<1&6,r=c[c[e+20>>2]+20>>2],j=f-g|0,g=ia(r,j+1|0,T,A),j=j+2|0,y=ia(r,j,E,I)|y<<1&6,S=ia(r,j,H,z)|S<<1&2,f=f+1|0}for(Cb(u+48|0,v,w),r=0,j=c[u+12>>2],L=c[u+8>>2],N=c[u+60>>2],R=c[u+56>>2],f=0;;){if(d[C>>2]<=f>>>0)break M;v=ia(h,f,R,N);N:{if(l[e+1|0]==1&&Bb(h,f,v,u+48|0))break N;if(l[n|0]==1)break k;if(r=y<<2|g<<5|r<<6|_<<7|S,r>>>0>=s>>>0)break l;v=ka(n,F+(r<<1)|0),D=c[b+20>>2]}Ea(D,f,L,j,v),r=c[e+12>>2],D=c[b+20>>2],_=ia(D,f+2|0,x,O)|_<<1&6,h=c[c[e+20>>2]+20>>2],r=f-r|0,g=ia(h,r+1|0,T,A),r=r+2|0,y=ia(h,r,E,I)|y<<1&6,S=ia(h,r,H,z)|S<<1&2,f=f+1|0,r=v}}w=w+1|0}c[u+32>>2]=0;break j}o()}b=0}la(u+32|0);break a}b=0}la(u+44|0);break a}b=0}la(u+44|0);break a}b=0}la(u+44|0)}}return M=u+96|0,b}function cd(e,n,r,s,u,f,h,g){var _=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0,O=0,k=0,A=0,j=0,N=0,P=0,F=0,I=0,L=0,R=0,z=0,B=0,V=0,H=0;_=M-32|0,M=_;a:{b:{if(s=s-(r>>>0<1048577)|0,y=(s|0)==-1&r-1048577>>>0<4292870143|(s|0)!=-1,s=f-(u>>>0<1048577)|0,y|((s|0)==-1&u-1048577>>>0<4292870143|(s|0)!=-1)||(y=c[g+4>>2],b=c[g+12>>2],v=c[g>>2],C=c[g+8>>2],c[_+28>>2]=c[n+20>>2],a[_+24|0]=1,s=r,f=bd(_+24|0,r),w=l[f|0],g=c[_+28>>2],x=c[n+24>>2],c[f>>2]=1,c[f+4>>2]=x,x=bd(f,u),f=b-y|0,b=c[_+28>>2],x=l[x|0]?(f|0)<(b|0)?f:b:f,b=u&u>>31,f=C-v|0,j=w?(f|0)<(g|0)?f:g:f,r&=r>>31,T=0-r|0,!((x|0)>(0-b|0)&(j|0)>(T|0))))break b;if(f=v-r|0,(f|0)<0||(r=c[e+28>>2],A=(r|0)/4|0,C=f>>>5|0,A>>>0<=C>>>0)||(g=c[n+28>>2],E=(g|0)/4|0,f=(s|0)>0?s:0,w=f>>>5|0,E>>>0<=w>>>0)||(v=_+16|0,S=y-b|0,y=b+x|0,cc(v,e,S,y),b=c[_+20>>2],x=c[_+16>>2],cc(v,n,(u|0)>0?u:0,y),v=c[_+20>>2],!v))break a;if(I=-1>>>f|0,y=s+j|0,L=-1<<0-y,u=T&31,S=f&31,D=A-C|0,(f^y-1)>>>0<=31){if(s=I&L,(T^j-1)>>>0>=32)for(y=u-S|0,S=32-y|0,T=C<<2;;){if(!v)break b;if(b>>>0<C>>>0|D>>>0>b-C>>>0||(c[_+12>>2]=D,c[_+8>>2]=x+T,u=(g|0)/4|0,u>>>0>v>>>0)||(f=c[_+16>>2],r=Ya(_+8|0),!c[_+12>>2]|u>>>0<w>>>0|(u|0)==(w|0))||(u=(((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8))<<y,r=c[c[_+8>>2]>>2],g=u|(((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8))>>>S,u=f+(w<<2)|0,r=c[u>>2],r=Ma(h,g,((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),s),g=((Ae(r,16)^r)&-16711936)>>>8|0,V=u,H=Ae(r,8)^g,c[V>>2]=H,r=c[e+28>>2]/4|0,r>>>0>b>>>0)||(g=c[n+28>>2],u=(g|0)/4|0,u>>>0>v>>>0))break a;c[_+16>>2]=f+(u<<2),v=v-u|0,b=b-r|0,x=(r<<2)+x|0}if(u>>>0>S>>>0)for(y=u-S|0,S=C<<2;;){if(!v)break b;if(r=(r|0)/4|0,r>>>0>b>>>0||(u=(g|0)/4|0,r>>>0<C>>>0|u>>>0>v>>>0|((r|0)==(C|0)|u>>>0<w>>>0)|(u|0)==(w|0))||(D=c[_+16>>2],u=D+(w<<2)|0,r=c[x+S>>2],f=(((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8))<<y,r=c[u>>2],r=Ma(h,f,((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),s),V=u,H=((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),c[V>>2]=H,r=c[e+28>>2],u=(r|0)/4|0,u>>>0>b>>>0)||(g=c[n+28>>2],f=(g|0)/4|0,f>>>0>v>>>0))break a;c[_+16>>2]=D+(f<<2),v=v-f|0,b=b-u|0,x=(u<<2)+x|0}for(y=S-u|0,S=C<<2;;){if(!v)break b;if(r=(r|0)/4|0,r>>>0>b>>>0||(u=(g|0)/4|0,r>>>0<C>>>0|u>>>0>v>>>0|((r|0)==(C|0)|u>>>0<w>>>0)|(u|0)==(w|0))||(D=c[_+16>>2],u=D+(w<<2)|0,r=c[x+S>>2],f=(((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8))>>>y|0,r=c[u>>2],r=Ma(h,f,((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),s),V=u,H=((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),c[V>>2]=H,r=c[e+28>>2],u=(r|0)/4|0,u>>>0>b>>>0)||(g=c[n+28>>2],f=(g|0)/4|0,f>>>0>v>>>0))break a;c[_+16>>2]=D+(f<<2),v=v-f|0,b=b-u|0,x=(u<<2)+x|0}}if(j=y&31,s=E-w|0,A=A-(T>>>5|0)|0,u>>>0<=S>>>0){if((u|0)==(S|0)){if(y=((y|0)/32|0)-(f+31>>>5|0)|0,(y|0)<0)break a;N=C<<2;c:for(;;){if(!v)break b;if(b>>>0<C>>>0|D>>>0>b-C>>>0||(c[_+12>>2]=D,c[_+8>>2]=x+N,v>>>0<w>>>0|s>>>0>v-w>>>0)||(c[_+4>>2]=s,O=c[_+16>>2],c[_>>2]=O+(w<<2),f=s,S&&(r=Ya(_+8|0),u=bc(_),f=((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),r=c[u>>2],r=Ma(h,f,((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),I),V=u,H=((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),c[V>>2]=H,f=c[_+4>>2]),f>>>0<y>>>0)||(r=c[_+8>>2],d[_+12>>2]<y>>>0))break a;for(g=c[_>>2],P=y<<2,T=g+P|0,A=c[_+12>>2],u=r;;)if((g|0)==(T|0)){if(j){if((y|0)==(A|0)|y>>>0>A>>>0|(f|0)==(y|0))break a;r=c[u+P>>2],u=((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),r=c[T>>2],r=Ma(h,u,((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),L),V=T,H=((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),c[V>>2]=H}if(r=c[e+28>>2]/4|0,r>>>0>b>>>0||(u=c[n+28>>2]/4|0,u>>>0>v>>>0))break a;c[_+16>>2]=O+(u<<2),v=v-u|0,b=b-r|0,x=(r<<2)+x|0;continue c}else{E=c[r>>2],k=((Ae(E,16)^E)&-16711936)>>>8^Ae(E,8),E=c[g>>2],E=yb(h,k,((Ae(E,16)^E)&-16711936)>>>8^Ae(E,8)),V=g,H=((Ae(E,16)^E)&-16711936)>>>8^Ae(E,8),c[V>>2]=H,r=r+4|0,g=g+4|0;continue}}}if(y=((y|0)/32|0)-(f+31>>>5|0)|0,(y|0)<0)break a;S=S-u|0,E=32-S|0,P=C<<2;d:for(;;){if(!v)break b;if(b>>>0<C>>>0|D>>>0>b-C>>>0||(c[_+12>>2]=D,r=x+P|0,c[_+8>>2]=r,v>>>0<w>>>0|s>>>0>v-w>>>0))break a;if(c[_+4>>2]=s,k=c[_+16>>2],c[_>>2]=k+(w<<2),j){if(D>>>0<A>>>0)break a;c[_+12>>2]=A,c[_+8>>2]=r}if(r=Ya(_+8|0),u=bc(_),f=((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),r=c[u>>2],r=Ma(h,f>>>S|0,((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),I),V=u,H=((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),c[V>>2]=H,R=c[_+4>>2],R>>>0<y>>>0||(r=c[_+8>>2],d[_+12>>2]<y>>>0))break a;for(g=c[_>>2],F=y<<2,T=g+F|0,N=c[_+12>>2],u=r;;)if((g|0)==(T|0)){if(j){if(y>>>0>N>>>0||(g=f<<E,(y|0)!=(N|0)&&(r=c[u+F>>2],g=(((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8))>>>S|g),(y|0)==(R|0)))break a;r=c[T>>2],r=Ma(h,g,((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),L),V=T,H=((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),c[V>>2]=H}if(r=c[e+28>>2]/4|0,r>>>0>b>>>0||(u=c[n+28>>2]/4|0,u>>>0>v>>>0))break a;c[_+16>>2]=k+(u<<2),v=v-u|0,b=b-r|0,x=(r<<2)+x|0;continue d}else{z=f<<E,f=c[r>>2],f=((Ae(f,16)^f)&-16711936)>>>8^Ae(f,8),O=c[g>>2],O=yb(h,z|f>>>S,((Ae(O,16)^O)&-16711936)>>>8^Ae(O,8)),V=g,H=((Ae(O,16)^O)&-16711936)>>>8^Ae(O,8),c[V>>2]=H,r=r+4|0,g=g+4|0;continue}}}if(T=((y|0)/32|0)-(f+31>>>5|0)|0,(T|0)<0)break a;E=u-S|0,N=32-E|0,R=C<<2;e:for(;;){if(!v)break b;if(b>>>0<C>>>0|D>>>0>b-C>>>0||(c[_+12>>2]=D,r=x+R|0,c[_+8>>2]=r,v>>>0<w>>>0|s>>>0>v-w>>>0))break a;if(c[_+4>>2]=s,F=c[_+16>>2],c[_>>2]=F+(w<<2),j){if(D>>>0<A>>>0)break a;c[_+12>>2]=A,c[_+8>>2]=r}if(u=_+8|0,r=Ya(u),f=((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),S?(r=Ya(u),u=bc(_),g=f<<E,f=((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),r=c[u>>2],r=Ma(h,g|f>>>N,((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),I),V=u,H=((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),c[V>>2]=H,u=c[_+4>>2]):u=s,u>>>0<T>>>0||(r=c[_+8>>2],d[_+12>>2]<T>>>0))break a;for(g=c[_>>2],z=T<<2,O=g+z|0,P=c[_+12>>2],y=r;;)if((g|0)==(O|0)){if(j){if(T>>>0>P>>>0||(g=f<<E,(T|0)!=(P|0)&&(r=c[y+z>>2],g=(((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8))>>>N|g),(u|0)==(T|0)))break a;r=c[O>>2],r=Ma(h,g,((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),L),V=O,H=((Ae(r,16)^r)&-16711936)>>>8^Ae(r,8),c[V>>2]=H}if(r=c[e+28>>2]/4|0,r>>>0>b>>>0||(u=c[n+28>>2]/4|0,u>>>0>v>>>0))break a;c[_+16>>2]=F+(u<<2),v=v-u|0,b=b-r|0,x=(r<<2)+x|0;continue e}else{B=f<<E,f=c[r>>2],f=((Ae(f,16)^f)&-16711936)>>>8^Ae(f,8),k=c[g>>2],k=yb(h,B|f>>>N,((Ae(k,16)^k)&-16711936)>>>8^Ae(k,8)),V=g,H=((Ae(k,16)^k)&-16711936)>>>8^Ae(k,8),c[V>>2]=H,r=r+4|0,g=g+4|0;continue}}}M=_+32|0;return}o()}function Gd(e,n,r,s){var u=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0,O=0;u=M-128|0,M=u,x=ua(e+8|0,e+12|0),c[u+124>>2]=x,f=c[x+16>>2];a:{if(!f)break a;Mb(c[x+12>>2],f,l[e+4|0]),v=td(n),c[u+116>>2]=v,h=0;b:{if(ya(v,c[e+152>>2],u+120|0))break b;c[u+108>>2]=c[u+120>>2],a[u+104|0]=1,T=xb(u+104|0,c[e+20>>2]),h=T,g=c[u+108>>2],f=0-g|0,c[h>>2]=l[h|0]&(g|0)!=-2147483648,c[h+4>>2]=f,c[u+100>>2]=0,a[u+96|0]=1,O=e+28|0;c:{d:{e:for(;;){if(d[e+16>>2]>E>>>0){if(ya(v,c[e+152>>2],u+92|0))break c;for(c[u+84>>2]=c[u+92>>2],h=1,a[u+80|0]=1,g=xb(u+80|0,c[e+20>>2]),D=Zc(T,c[g>>2],c[g+4>>2]),c[u+76>>2]=0,a[u+72|0]=1;;){f:{if(h&1){if(ya(v,c[e+144>>2],u+12|0))break c;h=La(u+96|0,c[u+12>>2]),f=c[h+4>>2],c[u+72>>2]=c[h>>2],c[u+76>>2]=f;break f}g:switch(ya(v,c[e+148>>2],u+12|0)|0){case 0:break g;case 1:continue e;default:break c}La(La(u+72|0,c[u+12>>2]),a[e+5|0])}if(h=0,f=c[e+20>>2],(f|0)!=1){if(f=ib(f),Fa(n,f>>>0<=1?1:f,u+12|0))break c;h=l[u+12|0]}if(f=c[D+4>>2],!(c[D>>2]&1)||(w=f+h|0,(w&(f^-1))<0)||ya(v,O,u+68|0))break c;h:{i:{j:{if(!l[e+1|0]){a[u+64|0]=0,c[u+60>>2]=0;break j}if(f=c[n>>2],h=c[n+8>>2],h>>>0>=d[n+4>>2])break c;if(h=l[f+h|0],f=c[n+12>>2],Tb(n),a[u+64|0]=0,c[u+60>>2]=0,h>>>7-f&1)break i}Yc(u+60|0,c[c[e+124>>2]+(c[u+68>>2]<<2)>>2]);break h}if(ya(v,c[e+156>>2],u+56|0)||ya(v,c[e+160>>2],u+52|0)||ya(v,c[e+164>>2],u+48|0)||ya(v,c[e+168>>2],u+44|0)||ya(v,c[e+172>>2],u+40|0)||(sa(n),y=c[c[e+124>>2]+(c[u+68>>2]<<2)>>2],!y)||(b=c[u+56>>2],h=b>>31,f=c[y+20>>2]+b|0,f>>>0<b>>>0?h+1|0:h)||(_=c[u+52>>2],g=_>>31,h=_+c[y+24>>2]|0,h>>>0<_>>>0?g+1|0:g)||(g=c[n+8>>2],wb(u+12|0,b,2,c[u+48>>2]),wb(u+32|0,_,2,c[u+44>>2]),!(a[u+36|0]&1)|l[u+16|0]!=1)||(_=kb(),c[u+28>>2]=_,c[_+8>>2]=h,c[_+4>>2]=f,f=l[e+2|0],c[_+20>>2]=y,a[_|0]=f,c[_+12>>2]=c[u+12>>2],f=c[u+32>>2],h=0,a[_+1|0]=0,c[_+16>>2]=f,a[_+24|0]=l[e+176|0],a[_+25|0]=l[e+177|0],a[_+26|0]=l[e+178|0],a[_+27|0]=l[e+179|0],f=Na(n),c[u+24>>2]=f,ac(Xc(u+60|0,jb(_,f,r,s)))&&(sa(n),h=c[n+8>>2],h>>>0<=4294967293&&(h=h+2|0,f=c[n+4>>2],h=f>>>0>h>>>0?h:f,c[n+8>>2]=h),h=c[u+40>>2]==(h-g|0)),ta(u+24|0),Ua(u+28|0),!h))break d}if(f=u+60|0,ac(f)){y=c[Ta(f)+20>>2],f=Ta(f),S=c[e+140>>2],b=c[f+24>>2];k:{l:{if(_=l[e+3|0],!_){if(f=l[u+72|0],(S&-2)!=2)break l;if(!(f&1)||(g=c[u+76>>2],h=g>>31,f=y-1|0,C=f,f=f+g|0,h=C>>>0>f>>>0?h+1|0:h,g=f>>>0<2147483648&(h|0)<=0|(h|0)<0,c[u+72>>2]=0|g,c[u+76>>2]=g?f:0,!g))break d;break k}f=l[u+72|0];m:switch(S|0){default:if(!(f&1))break d;break k;case 0:case 2:break m}if(!(f&1))break d;if(g=c[u+76>>2],h=g>>31,f=b-1|0,C=f,f=f+g|0,h=C>>>0>f>>>0?h+1|0:h,g=f>>>0<2147483648&(h|0)<=0|(h|0)<0,c[u+72>>2]=0|g,c[u+76>>2]=g?f:0,g)break k;break d}if(!(f&1))break d}f=c[u+76>>2],Wc(u+12|0,_,S,f,w,y,b),S=Ta(u+60|0),h=c[u+12>>2],C=h,w=h>>31,h=c[u+16>>2],Ab(S,x,C,w,h,h>>31,c[e+136>>2]),g=c[u+20>>2],g&&(h=f,f>>=31,h=h+g|0,f=h>>>0<g>>>0?f+1|0:f,g=h>>>0<2147483648&(f|0)<=0|(f|0)<0,f=0,c[u+72>>2]=f|g,c[u+76>>2]=g?h:0),E=E+1|0}Xa(u+60|0),h=0}}break}c[u+124>>2]=0,h=x;break b}Xa(u+60|0)}h=0}Ua(u+116|0)}return la(u+124|0),M=u+128|0,h}function Ed(e,n,r,s,u){var f=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0,O=0,k=0,A=0,j=0,N=0,P=0,F=0,I=0,L=0,R=0;f=M-112|0,M=f,x=ua(e+8|0,e+12|0),c[f+108>>2]=x;a:{b:{if(!c[x+16>>2])break b;if(T=c[u>>2],h=0,!Aa(T,n,f+104|0))break a;O=c[u+36>>2],k=c[u+32>>2],A=c[u+28>>2],j=c[u+24>>2],N=c[u+20>>2],P=c[u+16>>2],F=c[u+12>>2],I=c[u+8>>2],L=c[u+4>>2],Mb(c[x+12>>2],c[x+16>>2],l[e+4|0]),c[f+100>>2]=c[f+104>>2],a[f+96|0]=1,E=xb(f+96|0,c[e+20>>2]),h=E,g=c[f+100>>2],u=0-g|0,c[h>>2]=l[h|0]&(g|0)!=-2147483648,c[h+4>>2]=u,c[f+92>>2]=0,a[f+88|0]=1;c:{d:for(;;){if(d[e+16>>2]>S>>>0){if(c[f+84>>2]=0,a[f+80|0]=1,!Aa(T,n,f+76|0))break b;for(c[f+68>>2]=c[f+76>>2],u=1,a[f+64|0]=1,g=xb(f- -64|0,c[e+20>>2]),h=Zc(E,c[g>>2],c[g+4>>2]),g=c[h>>2],D=c[h+4>>2],R=g&1;;){e:{if(u&1){Aa(L,n,f+4|0),h=La(f+88|0,c[f+4>>2]),u=c[h+4>>2],c[f+80>>2]=c[h>>2],c[f+84>>2]=u;break e}if(!Aa(I,n,f+4|0))continue d;La(La(f+80|0,c[f+4>>2]),a[e+5|0])}if(d[e+16>>2]<=S>>>0)continue d;if(c[f+60>>2]=0,c[e+20>>2]!=1&&Aa(F,n,f+60|0),!R||(u=c[f+60>>2],C=u+D|0,((C^D)&(u^C))<0)||(Ac(O,n,f+56|0),h=c[f+56>>2],h>>>0>=d[e+24>>2]))break b;f:{g:{h:{if(!l[e+1|0]){c[f+52>>2]=0,a[f+48|0]=0,c[f+44>>2]=0;break h}if(Aa(P,n,f+52|0),u=c[f+52>>2],a[f+48|0]=0,c[f+44>>2]=0,u)break g}Yc(f+44|0,c[c[e+124>>2]+(h<<2)>>2]);break f}if(Aa(N,n,f+40|0),Aa(j,n,f+36|0),Aa(A,n,f+32|0),Aa(k,n,f+28|0),_=c[c[e+124>>2]+(h<<2)>>2],!_||(v=c[f+40>>2],h=v>>31,u=c[_+20>>2]+v|0,u>>>0<v>>>0?h+1|0:h)||(y=c[f+36>>2],g=y>>31,h=y+c[_+24>>2]|0,h>>>0<y>>>0?g+1|0:g)||(wb(f+4|0,v,1,c[f+32>>2]),wb(f+20|0,y,1,c[f+28>>2]),!(a[f+24|0]&1)|l[f+8|0]!=1))break c;g=kb(),c[f+16>>2]=g,c[g+8>>2]=h,c[g+4>>2]=u,u=l[e+2|0],c[g+20>>2]=_,a[g|0]=u,c[g+12>>2]=c[f+4>>2],u=c[f+20>>2],a[g+1|0]=0,c[g+16>>2]=u,a[g+24|0]=l[e+176|0],a[g+25|0]=l[e+177|0],a[g+26|0]=l[e+178|0],a[g+27|0]=l[e+179|0],Xc(f+44|0,jb(g,n,r,s)),Ua(f+16|0)}if(u=f+44|0,!ac(u))break c;v=c[Ta(u)+20>>2],u=Ta(u),w=c[e+140>>2],_=c[u+24>>2];i:{j:{if(y=l[e+3|0],!y){if(u=l[f+80|0],(w&-2)!=2)break j;if(!(u&1)||(g=c[f+84>>2],u=g>>31,h=v-1|0,b=h,h=g+h|0,u=b>>>0>h>>>0?u+1|0:u,g=h>>>0<2147483648&(u|0)<=0|(u|0)<0,c[f+80>>2]=0|g,c[f+84>>2]=g?h:0,!g))break c;break i}u=l[f+80|0];k:switch(w|0){default:if(!(u&1))break c;break i;case 0:case 2:break k}if(!(u&1))break c;if(g=c[f+84>>2],h=g>>31,u=_-1|0,b=u,u=u+g|0,h=b>>>0>u>>>0?h+1|0:h,g=u>>>0<2147483648&(h|0)<=0|(h|0)<0,c[f+80>>2]=0|g,c[f+84>>2]=g?u:0,g)break i;break c}if(!(u&1))break c}g=c[f+84>>2],Wc(f+4|0,y,w,g,C,v,_),b=Ta(f+44|0),u=c[f+4>>2],h=u,_=u>>31,u=c[f+8>>2],Ab(b,x,h,_,u,u>>31,c[e+136>>2]),u=c[f+12>>2],u&&(h=g>>31,b=u,u=u+g|0,h=b>>>0>u>>>0?h+1|0:h,g=u>>>0<2147483648&(h|0)<=0|(h|0)<0,h=0,c[f+80>>2]=g|h,c[f+84>>2]=g?u:0),S=S+1|0,Xa(f+44|0),u=0}}break}c[f+108>>2]=0,h=x;break a}Xa(f+44|0)}h=0}return la(f+108|0),M=f+112|0,h}function he(e,n,r,s,l,u){e|=0,n|=0,r|=0,s|=0,l|=0,u|=0;var f=0,g=0,_=0,v=0,y=0,b=0;f=M-96|0,M=f,a[f+72|0]=0,c[f+68>>2]=0,_=r+31>>>3&536870908,y=h(_,s),v=vd(y,1),c[f+76>>2]=0,c[f>>2]=v,g=f+68|0,Uc(g),a[f+72|0]=1,c[f+68>>2]=v,c[f>>2]=0,Ja(f),Ja(f+76|0);a:{b:{if(!$b(g))break b;if(v=$b(g),g=f+56|0,c[f+60>>2]=g,c[f+56>>2]=g,c[f+64>>2]=0,c[f+48>>2]=0,c[f+52>>2]=0,g=e,e=0,g|=e,c[f+32>>2]=g,c[f+36>>2]=n,c[f>>2]=r,b=e|l,c[f+24>>2]=b,c[f+28>>2]=u,c[f+16>>2]=0,c[f+20>>2]=0,c[f+40>>2]=e|v,c[f+44>>2]=y,c[f+8>>2]=0,c[f+12>>2]=0,c[f+4>>2]=s,c[f+48>>2]=_,e=ze(_,0,s,0),N|e>>>0>y>>>0)break a;for(l=v;(e|0)>0;)a[l|0]=0,e=e-1|0,l=l+1|0;e=n,n=f+56|0,e=zc(na(116),g,e,n,0),u&&(n=zc(na(116),b,u,n,1),c[f+76>>2]=0,rb(e,n),sb(f+76|0)),u=r+7>>>3|0,c[f+76>>2]=0,g=f+52|0,rb(g,e),sb(f+76|0);c:{d:{if(n=c[f+52>>2],e=c[n>>2],!e||!yc(e))break d;c[n+56>>2]=-1,e=0;break c}c[n+52>>2]=0,l=na(32),e=l,c[e+24>>2]=0,c[e+28>>2]=0,c[e+16>>2]=0,c[e+20>>2]=0,c[e+8>>2]=0,c[e+12>>2]=0,c[e>>2]=0,c[e+4>>2]=0;e:{if((r|s)<0|_>>>0>268435452||(b=_<<3,(b|0)<(r|0)|(!(!_|(s|0)<=0|y)|(2147483616/(b>>>0)|0)<(s|0))))break e;if(c[e+28>>2]=_,c[e+24>>2]=s,c[e+20>>2]=r,e=ze(_,0,s,s>>31),r=N,(r|0)==1|r>>>0>1|e>>>0>y>>>0)break a;c[f+92>>2]=e,c[f+88>>2]=v,c[f+84>>2]=0,c[f+76>>2]=0,c[f+80>>2]=0,e=f+76|0,ec(l,e),va(e)}c[f+76>>2]=0,oa(n+32|0,l),la(f+76|0),a[n+50|0]=1,e=od(n)}f:{for(;;){g:{e&=1;h:{i:{if(n=c[c[f+52>>2]+56>>2],(n|0)!=4||(rb(f+52|0,0),n=-1,!e))break h;if(n=h(c[f+48>>2],c[f+4>>2]),n>>>0>d[f+44>>2]||(e=c[f+40>>2],e&3))break i;for(r=(n&-4)+e|0,n=4;;){if((e|0)==(r|0))break h;c[e>>2]=c[e>>2]^-1,e=e+4|0}}o()}j:switch(n-3|0){case 0:break j;case 1:break g;default:break f}e=od(c[f+52>>2]);continue}break}j($b(f+68|0)|0,u|0,_|0,s|0)}if(sb(g),!c[f+64>>2])break b;for(e=c[f+60>>2],n=c[e>>2],r=c[c[f+56>>2]+4>>2],c[n+4>>2]=r,c[r>>2]=n,c[f+64>>2]=0;;){if((f+56|0)==(e|0))break b;n=c[e+4>>2],pc(e),e=n}}Uc(f+68|0),M=f+96|0;return}o()}function jc(e,n,r,s,u){var f=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0;a:{b:{c:{d:{if(!l[e+1|0]){h=c[e+60>>2];break d}if(f=c[n+4>>2],l[f|0])break a;if(g=c[r>>2],g>>>0>=d[n+12>>2])break c;h=c[e+60>>2]^ka(f,c[n+8>>2]+(g<<1)|0),c[e+60>>2]=h}if(h){ld(e,c[c[n>>2]>>2]);break b}if(f=c[e+24>>2],f>>>0<=1){if((f|0)==1){if(!c[e+40>>2])break c;v=l[c[e+36>>2]]}for(_=c[r+12>>2]&v>>>c[r+8>>2],g=(f|0)!=1;(s|0)!=(y|0);){if(!g){if(f=y+1|0,f>>>0>=d[e+40>>2])break c;v=l[f+c[e+36>>2]|0]|v<<8}for(h=7,b=0;(h|0)>=0;){if(f=c[n+4>>2],l[f|0])break a;if(d[n+12>>2]<=_>>>0)break c;f=ka(f,c[n+8>>2]+(_<<1)|0),_=f|(c[r+16>>2]&v>>>c[r+8>>2]+h|(c[r+4>>2]&_)<<1),b=f<<h|b,h=h-1|0}if(d[e+48>>2]<=y>>>0)break c;a[c[e+44>>2]+y|0]=b,y=y+1|0}for(f=v<<8,h=0,b=0;(u|0)!=(h|0);){if(g=c[n+4>>2],l[g|0])break a;if(d[n+12>>2]<=_>>>0)break c;g=ka(g,c[n+8>>2]+(_<<1)|0),v=7-h|0,b=g<<v|b,_=g|(c[r+16>>2]&f>>>v+c[r+8>>2]|(c[r+4>>2]&_)<<1),h=h+1|0}if(d[e+48>>2]<=s>>>0)break c;a[c[e+44>>2]+s|0]=b;break b}if(!c[e+32>>2]|!c[e+40>>2])break c;for(v=l[c[e+36>>2]],y=l[c[e+28>>2]]<<c[r+20>>2],_=c[r+12>>2]&v>>>c[r+8>>2]|y&c[r+24>>2],f=0;;){e:{if((s|0)!=(f|0)){if(g=f+1|0,g>>>0>=d[e+32>>2]|g>>>0>=d[e+40>>2])break c;for(y=l[g+c[e+28>>2]|0]<<c[r+20>>2]|y<<8,v=l[g+c[e+36>>2]|0]|v<<8,h=7,b=0;;){if((h|0)<0)break e;if(x=c[n+4>>2],l[x|0])break a;if(d[n+12>>2]<=_>>>0)break c;x=ka(x,c[n+8>>2]+(_<<1)|0),_=x|(c[r+16>>2]&v>>>c[r+8>>2]+h|(c[r+28>>2]&y>>>h|(c[r+4>>2]&_)<<1)),b=x<<h|b,h=h-1|0}}for(b=v<<8,v=y<<8,h=0,f=0;(u|0)!=(h|0);){if(g=c[n+4>>2],l[g|0])break a;if(d[n+12>>2]<=_>>>0)break c;y=ka(g,c[n+8>>2]+(_<<1)|0),g=7-h|0,f=y<<g|f,_=y|(c[r+16>>2]&b>>>g+c[r+8>>2]|(c[r+28>>2]&v>>>g|(c[r+4>>2]&_)<<1)),h=h+1|0}if(d[e+48>>2]<=s>>>0)break c;a[c[e+44>>2]+s|0]=f;break b}if(d[e+48>>2]<=f>>>0)break c;a[c[e+44>>2]+f|0]=b,f=g}}o()}return 1}return 0}function we(e,n){e|=0,n|=0;var r=0,s=0,u=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0,O=0,k=0,A=0,j=0,N=0,F=0,I=0,L=0,R=0,z=0,B=0,V=0,H=0,U=0,W=0;r=M-48|0,M=r,x=c[n+4>>2],D=c[n+12>>2],O=c[n+8>>2],g=c[c[n>>2]>>2],s=c[e+24>>2],ja(r+40|0,g,s-1|0),ja(r+32|0,g,s-2|0),j=O+79434|0,S=c[r+36>>2],C=c[r+32>>2],N=D>>>0>39717,w=4;a:{for(;;){b:{c:{if(d[e+8>>2]>s>>>0){v=c[r+44>>2],y=c[r+40>>2],ja(r+32|0,g,s),f=c[r+36>>2],T=c[r+32>>2],c[r+40>>2]=T,c[r+44>>2]=f;d:{e:{f:{if(!l[e+1|0]){s=c[e+60>>2];break f}if(l[x|0])break b;if(!N)break e;s=c[e+60>>2]^ka(x,j),c[e+60>>2]=s}if(s){c[r+20>>2]=v,c[r+16>>2]=y,c[r+24>>2]=T,c[r+28>>2]=f,c[r+8>>2]=T,c[r+12>>2]=f,f=c[r+20>>2],c[r>>2]=c[r+16>>2],c[r+4>>2]=f,Ca(r+8|0,r);break d}for(s=c[e+24>>2],_=0,k=0,A=0,l[e+2|0]==1&&(ja(r+32|0,c[e+12>>2],s),A=c[r+32>>2],k=c[r+36>>2]),u=r+32|0,ja(u,g,s+a[e+17|0]|0),F=c[r+36>>2],I=c[r+32>>2],ja(u,g,s+a[e+19|0]|0),L=c[r+36>>2],R=c[r+32>>2],ja(u,g,s+a[e+21|0]|0),z=c[r+36>>2],B=c[r+32>>2],ja(u,g,s+a[e+23|0]|0),V=c[r+36>>2],H=c[r+32>>2],u=c[g+20>>2],_=!S|(u|0)<2?_:l[C|0]>>>6&1,_=!S|(u|0)<=0?_:l[C|0]>>>6&2|_,h=0,h=!v|(u|0)<3?h:l[y|0]>>>5&1,h=!v|(u|0)<2?h:l[y|0]>>>5&2|h,h=!v|(u|0)<=0?h:l[y|0]>>>5&4|h,E=0,s=0;;){if(d[e+4>>2]<=s>>>0)break d;g:{h:{if(l[e+2|0]==1&&ia(c[c[e+12>>2]+20>>2],s,A,k))break h;if(b=ia(u,a[e+16|0]+s|0,I,F),U=ia(u,a[e+18|0]+s|0,R,L),W=ia(u,a[e+20|0]+s|0,B,z),u=ia(u,a[e+22|0]+s|0,H,V),l[x|0])break b;if(u=h<<5|_<<12|b<<4|U<<10|W<<11|u<<15|E,u>>>0>=D>>>0)break e;if(b=ka(x,(u<<1)+O|0),u=c[g+20>>2],!b)break h;Ea(u,s,T,f,1),u=c[g+20>>2],b=1;break g}b=0}_=ia(u,s+2|0,C,S)|_<<1&6,h=ia(u,s+3|0,y,v)|h<<1&30,s=s+1|0,E=E<<1&14|b}}o()}if(f=c[n+16>>2],!f){s=c[e+24>>2];break c}if(f=P[c[c[f>>2]+8>>2]](f)|0,s=c[e+24>>2],!f)break c;c[e+24>>2]=s+1,w=3}c[e+52>>2]=w;break a}s=s+1|0,c[e+24>>2]=s,C=y,S=v;continue}break}w=-1}return M=r+48|0,w|0}function re(e,n){e|=0,n|=0;var r=0,s=0,u=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0;_=c[n+4>>2],y=c[n+12>>2],b=c[n+8>>2],x=c[c[n>>2]>>2],c[e+48>>2]||(r=c[x+16>>2],c[e+44>>2]=c[x+12>>2],c[e+48>>2]=r);a:{b:{if(r=c[e+4>>2],!r)break b;for(w=b+810|0,r=r-1|0,v=r>>>3|0,S=(r&7)+1|0,s=c[e+24>>2],T=y>>>0>405;;){c:{if(d[e+8>>2]<=s>>>0)n=4;else{d:{if(!l[e+1|0]){s=c[e+60>>2];break d}if(l[_|0])break a;if(!T)break b;s=c[e+60>>2]^ka(_,w),c[e+60>>2]=s}e:{if(s){ld(e,x);break e}s=0,h=0;f:{if(!c[e+24>>2]){g:{for(;;){if(u=7,f=0,(h|0)==(v|0))break g;h:{for(;(u|0)>=0;){if(l[_|0])break h;if(s>>>0>=y>>>0)break b;g=s<<1,r=ka(_,g+b|0),s=r|g&1006,f=r<<u|f,u=u-1|0}if(d[e+48>>2]<=h>>>0)break b;a[c[e+44>>2]+h|0]=f,h=h+1|0;continue}break}if(h>>>0<v>>>0)break a}for(u=0,f=0;;){if((u|0)==(S|0))break f;if(l[_|0])break a;if(s>>>0>=y>>>0)break b;g=s<<1,r=ka(_,g+b|0),s=r|g&1006,f=r<<7-u|f,u=u+1|0}}if(!c[e+40>>2])break b;for(h=l[c[e+36>>2]],u=h>>>1&112,r=0;;){i:{if((r|0)!=(v|0)){if(g=r+1|0,g>>>0>=d[e+40>>2])break b;for(h=l[g+c[e+36>>2]|0]|h<<8,s=7,f=0;;){if((s|0)<0)break i;if(l[_|0])break a;if(u>>>0>=y>>>0)break b;u<<=1,C=ka(_,u+b|0),u=C|(h>>>s+1&16|u&1006),f=C<<s|f,s=s-1|0}}for(g=h<<8,s=0,f=0;(s|0)!=(S|0);){if(l[_|0])break a;if(u>>>0>=y>>>0)break b;u<<=1,r=ka(_,u+b|0),u=r|(g>>>8-s&16|u&1006),f=r<<7-s|f,s=s+1|0}if(d[e+48>>2]<=v>>>0)break b;a[c[e+44>>2]+v|0]=f;break e}if(d[e+48>>2]<=r>>>0)break b;a[c[e+44>>2]+r|0]=f,r=g}}if(d[e+48>>2]<=v>>>0)break b;a[c[e+44>>2]+v|0]=f}if(Db(e,x),r=c[n+16>>2],!r||!(P[c[c[r>>2]+8>>2]](r)|0))break c;c[e+24>>2]=c[e+24>>2]+1,n=3}return c[e+52>>2]=n,n|0}s=c[e+24>>2]+1|0,c[e+24>>2]=s}}o()}return-1}function hb(e){var n=0,r=0,a=0,s=0,l=0,u=0,d=0,f=0,h=0,g=0;a:{b:{for(;;){if(e>>>0>4294967239)break b;n=c[1691],r=n,l=c[1690],e=e>>>0<=8?8:e+3&-4;c:{if(e>>>0<=127){a=(e>>>3|0)-1|0;break c}if(s=_(e),a=((e>>>29-s^4)-(s<<2)|0)+110|0,e>>>0<=4095)break c;s=((e>>>30-s^2)-(s<<1)|0)+71|0,a=s>>>0>=63?63:s}if(u=a,a=u&31,(u&63)>>>0>=32?(s=0,n=n>>>a|0):(s=n>>>a|0,n=((1<<a)-1&n)<<32-a|l>>>a),n|s){for(;;){a=s;d:{if(a|n){r=a-1|0,s=r+1|0,l=r,r=n-1|0,l=(r|0)==-1?l:s,s=_(a^l),s=(s|0)==32?_(n^r)+32|0:s,r=63-s|0,N=0-(s>>>0>63)|0;break d}N=0,r=64}l=r,r=l&31,(l&63)>>>0>=32?(s=0,d=a>>>r|0):(s=a>>>r|0,d=((1<<r)-1&a)<<32-r|n>>>r),u=l+u|0,n=u<<4,a=c[n+5736>>2],r=n+5728|0;e:{if((a|0)!=(r|0)){if(n=_b(a,e),n)break a;n=c[a+4>>2],l=c[a+8>>2],c[n+8>>2]=l,c[l+4>>2]=n,c[a+8>>2]=r,c[a+4>>2]=c[r+4>>2],c[r+4>>2]=a,c[c[a+4>>2]+8>>2]=a,u=u+1|0,n=(s&1)<<31|d>>>1,s=s>>>1|0;break e}h=c[1691],l=u&63,n=l,a=n&31,n>>>0>=32?(n=0,r=-1>>>a|0):(n=-1>>>a|0,r=n|(1<<a)-1<<32-a),r&=-2,a=l&31,l>>>0>=32?(n=r<<a,f=0):(n=(1<<a)-1&r>>>32-a|n<<a,f=r<<a),a=n,l=0-u&63,r=l,n=r&31,r>>>0>=32?(n=-1<<n,r=0):(r=-1<<n,n=r|(1<<n)-1&-1>>>32-n),g=r&-2,r=l&31,l>>>0>=32?(l=0,r=n>>>r|0):(l=n>>>r|0,r=((1<<r)-1&n)<<32-r|g>>>r),n=r|f,N=a|l,c[1690]&=n,c[1691]=N&h,n=d^1}if(!(n|s))break}l=c[1690],r=c[1691]}s=_(r),a=63-((s|0)==32?_(l)+32|0:s)|0;f:{if(!(r|l)){u=0;break f}if(n=a<<4,u=c[n+5736>>2],!r&l>>>0<1073741824||(s=98,r=n+5728|0,(r|0)==(u|0)))break f;for(;;){if(n=_b(u,e),n)break a;if(u=c[u+8>>2],(r|0)==(u|0))break f;if(n=s,s=n-1|0,!n)break}}if(!Md(e+48|0))break}if(!u||(s=(a<<4)+5728|0,(s|0)==(u|0)))break b;for(;;){if(n=_b(u,e),n)break a;if(u=c[u+8>>2],(s|0)==(u|0))break}}n=0}return n}function nb(e,n,r,a,s){var u=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0,O=0,k=0;f=M-32|0,M=f;a:{if(g=hc(a,s),!c[g+16>>2]|(n|0)<0|(!c[e+16>>2]|(r|0)<0)|c[e+20>>2]<=(n|0)||(u=c[e+24>>2],(u|0)<=(r|0)))break a;b:{if(!(n&7)){if(s=c[e+28>>2],a=n>>>3|0,s>>>0<=a>>>0||(n=s-a|0,s=c[g+28>>2],h=n>>>0<s>>>0?n:s,!h))break b;for(s=0,n=u-r|0,u=c[g+24>>2],n=(n|0)<(u|0)?n:u,v=(n|0)>0?n:0;;){if((s|0)==(v|0))break a;if(dc(f+24|0,e,r+s|0),u=0,n=0,l[f+28|0]==1){if(_=c[e+16>>2],n=c[f+24>>2],_>>>0<n>>>0||(u=c[e+28>>2],u>>>0>_-n>>>0))break b;n=n+c[e+12>>2]|0}if(a>>>0>u>>>0|h>>>0>u-a>>>0||(ja(f+16|0,g,s),h>>>0>d[f+20>>2]))break b;h&&p(c[f+16>>2],n+a|0,h),s=s+1|0}}if(a=c[e+28>>2]/4|0,_=n>>>5|0,a>>>0<=_>>>0||(x=a-_|0,a=c[g+28>>2]/4|0,y=a>>>0>x>>>0?x:a,!y)||(s=r,r=u-r|0,a=c[g+24>>2],r=(r|0)<(a|0)?r:a,ad(f+24|0,e,s,r),cc(f+16|0,g,0,r),h=c[f+20>>2],!h))break b;T=n&31,v=c[f+28>>2],E=_<<2,D=n^-1;c:for(;;){if(!h)break a;if(v>>>0<_>>>0|v-_>>>0<x>>>0||(c[f+12>>2]=x,C=c[f+24>>2],c[f+8>>2]=C+E,h>>>0<y>>>0)||(r=c[f+16>>2],s=Ya(f+8|0),a=c[f+8>>2],S=c[f+12>>2],u=y>>>0>S>>>0?S:y,u>>>0>d[f+12>>2]))break b;for(w=r+(u<<2)|0,u=((Ae(s,16)^s)&-16711936)>>>8^Ae(s,8),s=r;;)if((s|0)==(w|0)){if(y>>>0>S>>>0&&(a=u<<T,O=w,k=((Ae(a,16)^a)&-16711936)>>>8^Ae(a,8),c[O>>2]=k),a=c[e+28>>2]/4|0,a>>>0>v>>>0||(c[f+24>>2]=(a<<2)+C,s=c[g+28>>2]/4|0,s>>>0>h>>>0))break b;c[f+16>>2]=r+(s<<2),h=h-s|0,v=v-a|0;continue c}else{b=u<<n,u=c[a>>2],u=((Ae(u,16)^u)&-16711936)>>>8^Ae(u,8),b|=u>>>1>>>D,O=s,k=((b^Ae(b,16))&-16711936)>>>8^Ae(b,8),c[O>>2]=k,a=a+4|0,s=s+4|0;continue}}}o()}return M=f+32|0,g}function ue(e,n){e|=0,n|=0;var r=0,s=0,u=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0,O=0,k=0,A=0,j=0,N=0,F=0,I=0,L=0;r=M-48|0,M=r,S=c[n+4>>2],D=c[n+12>>2],O=c[n+8>>2],_=c[c[n>>2]>>2],s=c[e+24>>2],ja(r+40|0,_,s-1|0),ja(r+32|0,_,s-2|0),N=O+3882|0,b=c[r+36>>2],x=c[r+32>>2],F=D>>>0>1941,C=4;a:{for(;;){b:{c:{if(d[e+8>>2]>s>>>0){v=c[r+44>>2],y=c[r+40>>2],ja(r+32|0,_,s),f=c[r+36>>2],w=c[r+32>>2],c[r+40>>2]=w,c[r+44>>2]=f;d:{e:{f:{if(!l[e+1|0]){s=c[e+60>>2];break f}if(l[S|0])break b;if(!F)break e;s=c[e+60>>2]^ka(S,N),c[e+60>>2]=s}if(s){c[r+20>>2]=v,c[r+16>>2]=y,c[r+24>>2]=w,c[r+28>>2]=f,c[r+8>>2]=w,c[r+12>>2]=f,f=c[r+20>>2],c[r>>2]=c[r+16>>2],c[r+4>>2]=f,Ca(r+8|0,r);break d}for(s=c[e+24>>2],h=0,k=0,A=0,l[e+2|0]==1&&(ja(r+32|0,c[e+12>>2],s),A=c[r+32>>2],k=c[r+36>>2]),ja(r+32|0,_,s+a[e+17|0]|0),I=c[r+36>>2],L=c[r+32>>2],u=c[_+20>>2],h=!b|(u|0)<3?h:l[x|0]>>>5&1,h=!b|(u|0)<2?h:l[x|0]>>>5&2|h,h=!b|(u|0)<=0?h:l[x|0]>>>5&4|h,g=0,g=!v|(u|0)<3?g:l[y|0]>>>5&1,g=!v|(u|0)<2?g:l[y|0]>>>5&2|g,g=!v|(u|0)<=0?g:l[y|0]>>>5&4|g,E=0,s=0;;){if(d[e+4>>2]<=s>>>0)break d;g:{h:{if(l[e+2|0]==1&&ia(c[c[e+12>>2]+20>>2],s,A,k))break h;if(u=ia(u,a[e+16|0]+s|0,L,I),l[S|0])break b;if(u=g<<4|h<<9|u<<3|E,u>>>0>=D>>>0)break e;if(T=ka(S,(u<<1)+O|0),u=c[_+20>>2],!T)break h;Ea(u,s,w,f,1),u=c[_+20>>2],T=1;break g}T=0}j=s+3|0,h=ia(u,j,x,b)|h<<1&14,g=ia(u,j,y,v)|g<<1&30,s=s+1|0,E=E<<1&6|T}}o()}if(f=c[n+16>>2],!f){s=c[e+24>>2];break c}if(f=P[c[c[f>>2]+8>>2]](f)|0,s=c[e+24>>2],!f)break c;c[e+24>>2]=s+1,C=3}c[e+52>>2]=C;break a}s=s+1|0,c[e+24>>2]=s,x=y,b=v;continue}break}C=-1}return M=r+48|0,C|0}function Sd(e,n){e|=0,n=+n;var r=0,a=0,s=0,l=0,u=0,d=0,h=0,S=0,C=0,T=0,E=0,D=0,O=0,k=0,A=0,j=0,M=0;if(r=e<<3,O=r+6784|0,S=f[r+6816>>3],S!=0){T=f[O>>3],E=y(T,n),n=E-T,a=~~n>>>0,r=g(n)>=1?~~(n>0?v(b(n*23283064365386963e-26),4294967295):x((n-+(~~n>>>0>>>0))*23283064365386963e-26))>>>0:0,d=~~S>>>0,l=g(S)>=1?~~(S>0?v(b(S*23283064365386963e-26),4294967295):x((S-+(~~S>>>0>>>0))*23283064365386963e-26))>>>0:0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(r){if(!d)break k;if(!l)break j;if(s=_(l)-_(r)|0,s>>>0<=31)break i;break c}if((l|0)==1|l>>>0>1)break c;N=0,r=(a>>>0)/(d>>>0)|0;break a}if(!a)break h;if(!l|l-1&l)break g;r=r>>>Be(l)|0,N=0;break a}if(!(d-1&d))break f;C=(_(d)+33|0)-_(r)|0,h=0-C|0;break d}C=s+1|0,h=63-s|0;break d}N=0,r=(r>>>0)/(l>>>0)|0;break a}if(s=_(l)-_(r)|0,s>>>0<31)break e;break c}if((d|0)==1)break b;d=Be(d),l=d&31,(d&63)>>>0>=32?r=r>>>l|0:(s=r>>>l|0,r=((1<<l)-1&r)<<32-l|a>>>l),N=s;break a}C=s+1|0,h=63-s|0}if(s=C&63,u=s&31,s>>>0>=32?(s=0,D=r>>>u|0):(s=r>>>u|0,D=((1<<u)-1&r)<<32-u|a>>>u),h&=63,u=h&31,h>>>0>=32?(r=a<<u,a=0):(r=(1<<u)-1&a>>>32-u|r<<u,a<<=u),C)for(u=l-1|0,h=d-1|0,M=(h|0)==-1?u:u+1|0;k=s<<1|D>>>31,s=D<<1|r>>>31,u=M-(k+(s>>>0>h>>>0)|0)>>31,A=u&d,D=s-A|0,s=k-((l&u)+(s>>>0<A>>>0)|0)|0,r=r<<1|a>>>31,a=j|a<<1,j=u&1,C=C-1|0,C;);N=r<<1|a>>>31,r=j|a<<1;break a}a=0,r=0}N=r,r=a}a=N,r=r+1|0,a=r?a:a+1|0,T=(+(r>>>0)+(a>>>0)*4294967296)*S+T,E=T-E}f[O>>3]=T,w(e|0,+E)|0,e=(e|0)==2?27:(e|0)==1?26:14,r=e-1|0;l:{if(c[1692]>>>r&1){c[1694]|=1<<r;break l}r=c[(e<<2)+4608>>2],r&&P[r|0](e)}}function se(e,n){e|=0,n|=0;var r=0,s=0,u=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0,O=0,k=0,A=0,j=0,N=0,F=0,I=0;r=M-48|0,M=r,b=c[n+4>>2],E=c[n+12>>2],D=c[n+8>>2],_=c[c[n>>2]>>2],s=c[e+24>>2],ja(r+40|0,_,s-1|0),ja(r+32|0,_,s-2|0),j=D+458|0,x=c[r+36>>2],S=c[r+32>>2],N=E>>>0>229;a:{for(;;){b:{c:{if(d[e+8>>2]<=s>>>0)s=4;else{v=c[r+44>>2],y=c[r+40>>2],ja(r+32|0,_,s),f=c[r+36>>2],C=c[r+32>>2],c[r+40>>2]=C,c[r+44>>2]=f;d:{e:{f:{if(!l[e+1|0]){s=c[e+60>>2];break f}if(l[b|0])break b;if(!N)break e;s=c[e+60>>2]^ka(b,j),c[e+60>>2]=s}if(s){c[r+20>>2]=v,c[r+16>>2]=y,c[r+24>>2]=C,c[r+28>>2]=f,c[r+8>>2]=C,c[r+12>>2]=f,f=c[r+20>>2],c[r>>2]=c[r+16>>2],c[r+4>>2]=f,Ca(r+8|0,r);break d}for(s=c[e+24>>2],h=0,O=0,k=0,l[e+2|0]==1&&(ja(r+32|0,c[e+12>>2],s),k=c[r+32>>2],O=c[r+36>>2]),ja(r+32|0,_,s+a[e+17|0]|0),F=c[r+36>>2],I=c[r+32>>2],u=c[_+20>>2],h=!x|(u|0)<2?h:l[S|0]>>>6&1,h=!x|(u|0)<=0?h:l[S|0]>>>6&2|h,g=0,g=!v|(u|0)<2?g:l[y|0]>>>6&1,g=!v|(u|0)<=0?g:l[y|0]>>>6&2|g,T=0,s=0;;){if(d[e+4>>2]<=s>>>0)break d;g:{h:{if(l[e+2|0]==1&&ia(c[c[e+12>>2]+20>>2],s,k,O))break h;if(u=ia(u,a[e+16|0]+s|0,I,F),l[b|0])break b;if(u=g<<3|h<<7|u<<2|T,u>>>0>=E>>>0)break e;if(w=ka(b,(u<<1)+D|0),u=c[_+20>>2],!w)break h;Ea(u,s,C,f,1),u=c[_+20>>2],w=1;break g}w=0}A=s+2|0,h=ia(u,A,S,x)|h<<1&6,g=ia(u,A,y,v)|g<<1&14,s=s+1|0,T=T<<1&2|w}}o()}if(f=c[n+16>>2],!f){s=c[e+24>>2];break c}if(f=P[c[c[f>>2]+8>>2]](f)|0,s=c[e+24>>2],!f)break c;c[e+24>>2]=s+1,s=3}c[e+52>>2]=s;break a}s=s+1|0,c[e+24>>2]=s,S=y,x=v;continue}break}s=-1}return M=r+48|0,s|0}function vc(e,n){var r=0,a=0,s=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0;f=M-32|0,M=f,y=ua(e,e+4|0),c[f+28>>2]=y;a:{if(r=c[y+16>>2],!r){y=0;break a}Mb(c[y+12>>2],r,l[e+20|0]);b:{for(;;){if(!x&b>>>0>=d[e+36>>2]|x){c[f+28>>2]=0;break a}s=c[n>>2],r=c[n+4>>2],a=0,c[f+24>>2]=0,c[f+16>>2]=0,c[f+20>>2]=0;c:{d:{if((r|0)==(s|0)){v=0,s=r;break d}if(r=r-s|0,s=r>>2,s>>>0>=536870912)break c;for(v=na(r<<1),c[f+16>>2]=v,a=(s<<3)+v|0,c[f+24>>2]=a,r=v;(r|0)!=(a|0);)c[r>>2]=0,c[r+4>>2]=0,r=r+8|0;c[f+20>>2]=a,r=c[n>>2],s=c[n+4>>2]}if(s=s-r|0,s>>2>>>0>a-v>>3>>>0)break b;for(s=r+s|0,a=v;;){if((r|0)==(s|0))e:{r=c[e+44>>2],a=ze(b,x,u[e+48>>1],0),s=r+a|0,r=N+(r>>31)|0,S=s,T=a>>>0>s>>>0?r+1|0:r,r=c[e+40>>2],a=ze(b,x,u[e+50>>1],0),s=r+a|0,r=N+(r>>31)|0,E=s,D=a>>>0>s>>>0?r+1|0:r,s=0,r=0;f:for(;;){if(!r&d[e+32>>2]<=s>>>0|r)break e;for(g=c[n>>2],C=c[n+4>>2]-g>>2,a=0,h=0;;){if(_=a&255,C>>>0<=_>>>0){a=c[e+12>>2]-1|0,a=c[c[c[e+16>>2]>>2]+((a>>>0<h>>>0?a:h)<<2)>>2],g=ze(s,r,u[e+48>>1],0),_=g+E|0,h=N+D|0,h=g>>>0>_>>>0?h+1|0:h,g=ze(s,r,u[e+50>>1],0),C=S-g|0,_=(h&255)<<24|_>>>8,w=h>>8,g=T-(N+(g>>>0>S>>>0)|0)|0,h=g>>8,Ab(a,y,_,w,(g&255)<<24|C>>>8,h,c[e+24>>2]),s=s+1|0,r=s?r:r+1|0;continue f}w=h,h=(_<<3)+v|0,h=w|ia(c[c[(_<<2)+g>>2]+20>>2],s,c[h>>2],c[h+4>>2])<<_,a=a+1|0}}}else{ja(f+8|0,c[r>>2],b),S=c[f+12>>2],c[a>>2]=c[f+8>>2],c[a+4>>2]=S,a=a+8|0,r=r+4|0;continue}break}a=x,b=b+1|0,x=b?a:a+1|0,va(f+16|0);continue}break}za()}o()}return la(f+28|0),M=f+32|0,y}function Zb(e,n,r,a,s,f,h,g){var _=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0,O=0;v=M-48|0,M=v,x=((n&536870911)<<3|e>>>29)&-8,C=a,a=-1,w=1;a:{b:for(;;){y=w&1,T=y?326:325,E=y?1392:1056,D=y?325:326,O=y?1056:1392;c:for(;;){for(_=c[r>>2];;){if(_>>>0>=x>>>0)break a;d:{_=0;e:{if(Ia(e,n,r))break e;if(d[r>>2]>=x>>>0||(b=Ia(e,n,r),d[r>>2]>=x>>>0))break a;if(S=Ia(e,n,r),_=S?1:-1,b)break e;if(S){for(_=0;;){if(Yb(v+44|0,O,D,e,n,r),l[v+46|0]!=1||(b=u[v+44>>1],_=b+_|0,(_|0)>(g|0)))break a;if(!(b>>>0>=64))break}for(b=((a>>>31|0)+a|0)+_|0,y||gb(C,s,g,a,b),_=0;;){if(Yb(v+44|0,E,T,e,n,r),l[v+46|0]!=1||(a=u[v+44>>1],_=a+_|0,(_|0)>(g|0)))break a;if(!(a>>>0>=64))break}if(a=_+b|0,y&&gb(C,s,g,b,a),(a|0)<(g|0))continue c;break a}if(d[r>>2]>=x>>>0)break a;if(Ia(e,n,r)){if(c[v+32>>2]=f,c[v+36>>2]=h,c[v+16>>2]=f,c[v+20>>2]=h,Gc(v+16|0,g,a,y,v+44|0,v+40|0),_=c[v+40>>2],y||gb(C,s,g,a,_),a=_,(_|0)<(g|0))continue c;break a}if(d[r>>2]>=x>>>0||(b=Ia(e,n,r),d[r>>2]>=x>>>0))break a;if(S=Ia(e,n,r),_=S?2:-2,b)break e;if(_=c[r>>2],!S)break d;if(_>>>0>=x>>>0)break a;_=Ia(e,n,r)?3:-3}if(c[v+24>>2]=f,c[v+28>>2]=h,c[v+8>>2]=f,c[v+12>>2]=h,Gc(v+8|0,g,a,y,v+44|0,v+40|0),_=_+c[v+44>>2]|0,y||gb(C,s,g,a,_),(g|0)<=(_|0))break a;if(w^=1,y=(a|0)<(_|0),a=_,y)continue b;break a}if(_>>>0>=x>>>0)break a;if(b=Ia(e,n,r),_=c[r>>2],b)_=_+3|0,c[r>>2]=_;else break}break}break}c[r>>2]=_+5}M=v+48|0}function qe(e,n){e|=0,n|=0;var r=0,s=0,u=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0,O=0,k=0,A=0,j=0;r=M-48|0,M=r,_=c[n+4>>2],w=c[n+12>>2],T=c[n+8>>2],g=c[c[n>>2]>>2],s=c[e+24>>2],ja(r+40|0,g,s-1|0),O=T+810|0,k=w>>>0>405,v=4;a:{for(;;){b:{c:{if(d[e+8>>2]>s>>>0){y=c[r+44>>2],b=c[r+40>>2],ja(r+32|0,g,s),u=c[r+36>>2],x=c[r+32>>2],c[r+40>>2]=x,c[r+44>>2]=u;d:{e:{f:{if(!l[e+1|0]){s=c[e+60>>2];break f}if(l[_|0])break b;if(!k)break e;s=c[e+60>>2]^ka(_,O),c[e+60>>2]=s}if(s){c[r+20>>2]=y,c[r+16>>2]=b,c[r+24>>2]=x,c[r+28>>2]=u,c[r+8>>2]=x,c[r+12>>2]=u,u=c[r+20>>2],c[r>>2]=c[r+16>>2],c[r+4>>2]=u,Ca(r+8|0,r);break d}for(s=c[e+24>>2],h=0,E=0,D=0,l[e+2|0]==1&&(ja(r+32|0,c[e+12>>2],s),D=c[r+32>>2],E=c[r+36>>2]),ja(r+32|0,g,s+a[e+17|0]|0),A=c[r+36>>2],j=c[r+32>>2],f=c[g+20>>2],h=!y|(f|0)<2?h:l[b|0]>>>6&1,h=!y|(f|0)<=0?h:l[b|0]>>>6&2|h,C=0,s=0;;){if(d[e+4>>2]<=s>>>0)break d;g:{h:{if(l[e+2|0]==1&&ia(c[c[e+12>>2]+20>>2],s,D,E))break h;if(f=ia(f,a[e+16|0]+s|0,j,A),l[_|0])break b;if(f=h<<5|f<<4|C,f>>>0>=w>>>0)break e;if(S=ka(_,(f<<1)+T|0),f=c[g+20>>2],!S)break h;Ea(f,s,x,u,1),f=c[g+20>>2],S=1;break g}S=0}h=ia(f,s+2|0,b,y)|h<<1&30,s=s+1|0,C=C<<1&14|S}}o()}if(u=c[n+16>>2],!u){s=c[e+24>>2];break c}if(u=P[c[c[u>>2]+8>>2]](u)|0,s=c[e+24>>2],!u)break c;c[e+24>>2]=s+1,v=3}c[e+52>>2]=v;break a}s=s+1|0,c[e+24>>2]=s;continue}break}v=-1}return M=r+48|0,v|0}function Od(e,n){e|=0,n|=0;var r=0,s=0,u=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0;if(r=c[n+60>>2],s=c[n+64>>2],f=n+52|0,Jc(r,s,f),v=((s&536870911)<<3|r>>>29)&-8,v>>>0<=d[n+52>>2])c[e>>2]=0,c[e+4>>2]=0;else{Kc(c[n+68>>2],c[n+72>>2]),g=n+68|0,r=c[n+48>>2];a:{if((r|0)<0){u=c[n+68>>2],r=c[n+72>>2]-u|0,s=0,_=r,h=c[n+80>>2],r=c[n+84>>2]-h|0,Zb(c[n+60>>2],c[n+64>>2],f,u|s,_,s|h,r,c[n+4>>2]),Ic(n+80|0,g);break a}if(!r){s=c[n+68>>2],r=c[n+72>>2]-s|0,Hc(c[n+60>>2],c[n+64>>2],f,s,r,c[n+4>>2]);break a}u=Ia(c[n+60>>2],c[n+64>>2],f),h=c[n+68>>2],r=c[n+72>>2]-h|0,s=c[n+60>>2],y=c[n+64>>2];b:{if(u){Hc(s,y,f,h,r,c[n+4>>2]);break b}_=s,s=0,b=r,u=c[n+80>>2],r=c[n+84>>2]-u|0,Zb(_,y,f,s|h,b,s|u,r,c[n+4>>2])}Ic(n+80|0,g)}l[n+57|0]==1&&Jc(c[n+60>>2],c[n+64>>2],f);c:{d:{e:{if(l[n+56|0]!=1||(s=c[f>>2],v>>>0<=s>>>0))break e;for(u=s+7&-8;;){g=s>>>3|0,h=128>>>(s&7)|0,r=1;f:{for(;;){if(!r|s>>>0>=u>>>0)break f;if(g>>>0>=d[n+64>>2])break d;if(h&l[g+c[n+60>>2]|0])r=0,a[n+56|0]=0;else break}s=s+1|0;continue}break}if(!r)break e;c[f>>2]=u}if(r=c[n+68>>2],!l[n+58|0]){s=c[n+72>>2]-r|0;break c}if(r&3)break d;for(s=c[n+72>>2]-r|0,u=r+(s&-4)|0,n=r;;){if((n|0)==(u|0))break c;c[n>>2]=c[n>>2]^-1,n=n+4|0}}o()}c[e+4>>2]=s,c[e>>2]=r}}function ab(e,n,r){var s=0,u=0,d=0,f=0,h=0,g=0,_=0,v=0,y=0;g=M-32|0,M=g;a:{b:{if(!c[e+16>>2]|c[e+24>>2]>=(n|0)||(u=c[e+28>>2],(268435452/(u|0)|0)<(n|0)))break b;if((n|0)<0||(u=ze(u,u>>31,n,0),f=N,(f|0)==1|f>>>0>1))break a;v=c[e+12>>2],f=0,_=c[e+16>>2],s=c[e>>2],h=c[e+4>>2];c:{if((s|0)!=(h|0)){c[e+12>>2]=0,c[e+16>>2]=0,d=h-s|0;d:{if(d>>>0<u>>>0){if(f=c[e+8>>2],u>>>0<=f-s>>>0){kd(e,u-d|0);break d}for(h=Fc(s,f,u),h&&(y=Ad(h)),v=u+y|0,f=d+y|0,s=f;(s|0)!=(v|0);)a[s|0]=0,s=s+1|0;for(s=c[e>>2],u=c[e+4>>2],f=f+(s-u|0)|0,d=f;(s|0)!=(u|0);)a[d|0]=l[s|0],d=d+1|0,s=s+1|0;c[e+4>>2]=v,c[e+8>>2]=h+y,u=c[e>>2],c[e>>2]=f,ma(u);break d}if(u>>>0>=d>>>0)break d;c[e+4>>2]=s+u}u=c[e>>2],c[e+12>>2]=u,s=c[e+4>>2]-u|0,c[e+16>>2]=s;break c}if(d=Gb(g,u),h=c[d>>2],c[g+12>>2]=h,u=c[d+4>>2],c[g+16>>2]=u,c[g+20>>2]=c[d+8>>2],c[d+8>>2]=0,c[d>>2]=0,c[d+4>>2]=0,c[g+28>>2]=u-h,c[g+24>>2]=h,u=g+12|0,ec(e,u),va(u),va(d),s=c[e+16>>2],_>>>0>s>>>0)break a;if(!(f|_))break c;_&&p(c[e+12>>2],v,_),s=c[e+16>>2]}if(s>>>0<_>>>0)break a;for(r=0-r|0,s=s-_|0,d=c[e+12>>2]+_|0;(s|0)>0;)a[d|0]=r,s=s-1|0,d=d+1|0;c[e+24>>2]=n}M=g+32|0;return}o()}function nd(e,n){var r=0,a=0,s=0,u=0,d=0,f=0;a=M-32|0,M=a,f=c[e+24>>2],c[a+16>>2]=0;a:{b:switch(l[e+3|0]){case 0:r=Bd(e)?3:4;break a;case 1:r=yd(e)?5:6;break a;case 2:r=Hb(e)?7:8;break a;default:break b}r=Hb(e)?9:10}s=M-48|0,M=s,c[s+24>>2]=0;c:{if(r){if(c[s+16>>2]=0,c[s+12>>2]=r,c[s+8>>2]=2244,d=s+8|0,c[s+24>>2]=d,c[a+16>>2]==(a|0)){u=s+32|0,P[c[c[s+8>>2]+12>>2]](d,u),r=c[s+24>>2],P[c[c[r>>2]+16>>2]](r),c[s+24>>2]=0,r=c[a+16>>2],P[c[c[r>>2]+12>>2]](r,d),r=c[a+16>>2],P[c[c[r>>2]+16>>2]](r),c[a+16>>2]=0,c[s+24>>2]=d,P[c[c[s+32>>2]+12>>2]](u,a),P[c[c[s+32>>2]+16>>2]](u),c[a+16>>2]=a;break c}P[c[c[s+8>>2]+12>>2]](s+8|0,a),r=c[s+24>>2],P[c[c[r>>2]+16>>2]](r),c[s+24>>2]=c[a+16>>2],c[a+16>>2]=a;break c}if(r=c[a+16>>2],(r|0)==(a|0)){u=s+8|0,P[c[c[r>>2]+12>>2]](r,u),r=c[a+16>>2],P[c[c[r>>2]+16>>2]](r),c[a+16>>2]=c[s+24>>2],c[s+24>>2]=u;break c}c[s+24>>2]=r,c[a+16>>2]=0}if(md(s+8|0),M=s+48|0,r=c[c[n>>2]>>2],u=c[a+16>>2],c[a+28>>2]=n,u)return u=P[c[c[u>>2]+24>>2]](u,e,a+28|0)|0,c[e+64>>2]=0,c[e+52>>2]=u,n=c[r+20>>2],c[e+68>>2]=f,c[e+72>>2]=n,c[e+76>>2]=c[e+24>>2],(u|0)==4&&(c[e+24>>2]=0),md(a),M=a+32|0,u;e=vb(4),c[e>>2]=4876,C(e|0,4888,11),o()}function ie(e,n,r,s,l,u,d,f,g,_){e|=0,n|=0,r|=0,s|=0,l|=0,u|=0,d|=0,f|=0,g|=0,_|=0;var v=0,y=0;v=M-16|0,M=v,y=g||r;a:{if((y|0)<=0||(_||=s,(_|0)<=0|(_|y)>>>0>65535))break a;for(g=na(92),c[g+44>>2]=0,c[g+36>>2]=-1,c[g+40>>2]=0,a[g+32|0]=0,c[g+20>>2]=1,c[g+24>>2]=1,c[g+16>>2]=_,c[g+12>>2]=y,c[g+8>>2]=_,c[g+4>>2]=y,c[g+60>>2]=e,c[g+64>>2]=n,a[g+58|0]=!!(f|0),a[g+57|0]=!!(u|0),a[g+56|0]=!!(d|0),c[g+52>>2]=0,c[g+48>>2]=l,c[g>>2]=1728,e=(y>>>3|0)+3|0,e=((y<<29)-536870912>>>0<3758096384?e+1|0:e)&16380,c[g+28>>2]=e,Gb(g+68|0,e),Gb(g+80|0,c[g+28>>2]),l=r+7>>>3|0,A(h(l,s)|0),r=0;;){b:{if((r|0)==(s|0))break b;c:{if(_=c[g+36>>2],e=r+1|0,(_|0)==(e|0)){n=c[g+44>>2],_=c[g+40>>2];break c}d:{if(!((_|0)>=0&(r|0)>=(_|0))){if(_=0,!(P[c[c[g>>2]+12>>2]](g)|0))break b;n=0;break d}n=1}for(;;)if(!n)c[g+36>>2]=_,n=1;else{e:{if((r|0)>(_|0)){P[c[c[g>>2]+16>>2]](v+8|0,g),_=c[g+36>>2]+1|0;break e}P[c[c[g>>2]+16>>2]](v+8|0,g),n=c[v+12>>2],_=c[v+8>>2],c[g+40>>2]=_,c[g+44>>2]=n,c[g+36>>2]=c[g+36>>2]+1;break c}n=0}}if(!n)break b;k(_|0,l|0,h(r,l)|0),r=e;continue}break}P[c[c[g>>2]+4>>2]](g)}M=v+16|0}function db(e,n,r){var s=0,u=0,d=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0,E=0;s=M-32|0,M=s,h=ua(e+4|0,e+8|0),c[s+8>>2]=h,g=c[h+12>>2],d=c[h+16>>2],f=d;a:{if(!d){oa(n,0),c[e+52>>2]=-1;break a}b:{if(d=c[h+28>>2],(d|0)<0|!d)break b;for(_=c[r+12>>2]+(c[r+8>>2]<<3)|0,y=f,v=c[e+8>>2],S=c[e+4>>2],C=c[r>>2],w=c[r+4>>2],c[s+20>>2]=0,c[s+12>>2]=0,c[s+16>>2]=0,f=s+12|0,c[s+24>>2]=f,Eb(f,d),u=c[s+16>>2],f=d+u|0;(u|0)!=(f|0);)a[u|0]=255,u=u+1|0;for(a[s+28|0]=1,c[s+16>>2]=f,gc(s+24|0),b=c[s+12>>2],f=c[s+16>>2],c[s+24>>2]=_,T=(v|0)>0?v:0,u=0,f=f-b|0,v=u|b;(x|0)!=(T|0);){if(_=g,u=d,y>>>0<d>>>0)break b;for(;(u|0)>0;)a[_|0]=255,u=u-1|0,_=_+1|0;if(Zb(C,w,s+24|0,g|E,d,v,f,S),d>>>0>f>>>0)break b;d&&p(b,g,d),x=x+1|0,y=y-d|0,g=d+g|0}for(g=c[s+24>>2],va(s+12|0),c[r+12>>2]=g&7,c[r+8>>2]=g>>>3,u=c[h+12>>2],r=u+c[h+16>>2]|0;;)if((r|0)==(u|0)){c[e+64>>2]=0,c[e+52>>2]=4,r=c[h+20>>2],c[e+68>>2]=0,c[e+72>>2]=r,c[e+76>>2]=c[h+24>>2],c[s+8>>2]=0,oa(n,h);break a}else{a[u|0]=l[u|0]^-1,u=u+1|0;continue}}o()}la(s+8|0),M=s+32|0}function Ld(e){var n=0,r=0,a=0,s=0,l=0,u=0,f=0,h=0,g=0;for(l=M-16|0,M=l,c[e+44>>2]=0,s=c[e+12>>2],n=c[e+8>>2];;){if((n|0)==(s|0))a:{for(c[l+4>>2]=0,a=r+1|0,fc(e+60|0,a,l+4|0),s=c[e+12>>2],n=c[e+8>>2];;)if((n|0)==(s|0)){for(c[c[e+60>>2]>>2]=0,c[l+4>>2]=0,n=l+4|0,fc(e+48|0,a,n),c[l+4>>2]=0,fc(e+72|0,a,n),r=0,s=0,n=1;g=d[e+44>>2]<n>>>0,!g;){if(u=n<<2,f=u+c[e+60>>2]|0,h=c[f-4>>2],r=h+r|0,(r|0)<0|r>>>0<h>>>0)break a;r<<=1,c[u+c[e+48>>2]>>2]=r,c[u+c[e+72>>2]>>2]=s,n=n+1|0,s=c[f>>2]+s|0}for(Rb(e+84|0,s),n=0,c[l+12>>2]=0,c[l+4>>2]=0,c[l+8>>2]=0,s=0,a&&(s=l+4|0,ed(s,a),qd(s,a),s=c[l+4>>2]),u=c[e+8>>2],f=c[e+12>>2]-u>>3;;){if((n|0)==(f|0)){va(l+4|0);break a}r=u+(n<<3)|0,a=c[r>>2],a&&(h=r,a<<=2,r=a+s|0,c[h+4>>2]=c[r>>2]+c[a+c[e+48>>2]>>2],c[(c[e+84>>2]+(c[a+c[e+72>>2]>>2]<<2)|0)+(c[r>>2]<<2)>>2]=n,c[r>>2]=c[r>>2]+1),n=n+1|0}}else{r=c[e+60>>2]+(c[n>>2]<<2)|0,c[r>>2]=c[r>>2]+1,n=n+8|0;continue}}else{a=c[n>>2],r=r>>>0<a>>>0?a:r,c[e+44>>2]=r,n=n+8|0;continue}break}return M=l+16|0,g}function Md(e){var n=0,r=0,a=0,s=0,l=0,u=0,d=0;n=c[1420],r=e+7&-8,e=r+7|0,a=e>>>0<7?1:a,s=e&-8,e=s+n|0;a:{b:{if(!(e>>>0<s>>>0?a+1|0:a)&&(e>>>0<=$()<<16>>>0||T(e|0)|0))break b;c[1428]=48,n=-1;break a}c[1420]=e}if(a=n,(a|0)!=-1){e=a+r|0,c[e-4>>2]=16,l=e-16|0,c[l>>2]=16,n=c[1688],s=n?c[n+8>>2]:0;c:{d:{if((s|0)==(a|0)){if(s=c[a-4>>2]&-2,u=a-s|0,d=c[u-4>>2],c[n+8>>2]=e,n=d&-2,e=u-n|0,c[(e+c[e>>2]|0)-4>>2]&1){l=c[e+4>>2],u=c[e+8>>2],c[l+8>>2]=u,c[u+4>>2]=l,n=(n+(r+s|0)|0)-16|0,c[e>>2]=n;break c}e=a-16|0;break d}c[a>>2]=16,c[a+8>>2]=e,c[a+4>>2]=n,c[a+12>>2]=16,c[1688]=a,e=a+16|0}n=l-e|0,c[e>>2]=n}c[((n&-4)+e|0)-4>>2]=n|1,r=c[e>>2]-8|0;e:{if(r>>>0<=127){n=(r>>>3|0)-1|0;break e}if(s=_(r),n=((r>>>29-s^4)-(s<<2)|0)+110|0,r>>>0<=4095)break e;n=((r>>>30-s^2)-(s<<1)|0)+71|0,n=n>>>0>=63?63:n}r=n<<4,c[e+4>>2]=r+5728,r=r+5736|0,c[e+8>>2]=c[r>>2],c[r>>2]=e,c[c[e+8>>2]+4>>2]=e,r=c[1691],e=n&31,(n&63)>>>0>=32?(n=1<<e,s=0):(s=1<<e,n=s-1&1>>>32-e),c[1690]=s|c[1690],c[1691]=n|r}return(a|0)!=-1}function tb(e,n){var r=0,s=0,l=0;r=M+-64|0,M=r,s=c[e>>2],l=c[s-8>>2],s=c[s-4>>2];a:{if(c[s+4>>2]==c[n+4>>2]){e=l?0:e;break a}if(l=e+l|0,(l|0)<=(e|0)&&(c[r+16>>2]=0,c[r+20>>2]=0,c[r+12>>2]=n,c[r+8>>2]=e,c[r+4>>2]=s,c[r+24>>2]=0,c[r+28>>2]=0,c[r+32>>2]=0,c[r+36>>2]=0,c[r+40>>2]=0,c[r+44>>2]=0,c[r+48>>2]=0,c[r+60>>2]=0,c[r+52>>2]=1,c[r+56>>2]=16777216,P[c[c[s>>2]+20>>2]](s,r+4|0,l,l,1,0),c[r+28>>2]))break a;c[r+16>>2]=0,c[r+20>>2]=0,c[r+12>>2]=4984,c[r+8>>2]=e,c[r+4>>2]=n,c[r+24>>2]=0,c[r+28>>2]=0,c[r+32>>2]=0,c[r+36>>2]=0,c[r+40>>2]=0,c[r+44>>2]=0,c[r+48>>2]=0,c[r+52>>2]=0,e=0,a[r+55|0]=0,a[r+56|0]=0,a[r+57|0]=0,a[r+58|0]=0,c[r+60>>2]=0,a[r+59|0]=1,P[c[c[s>>2]+24>>2]](s,r+4|0,l,1,0);b:switch(c[r+40>>2]){case 0:e=c[r+44>>2]==1&&c[r+32>>2]==1&&c[r+36>>2]==1?c[r+24>>2]:0;break a;case 1:break b;default:break a}if(c[r+28>>2]!=1&&c[r+44>>2]|c[r+32>>2]!=1|c[r+36>>2]!=1)break a;e=c[r+20>>2]}return M=r- -64|0,e}function _b(e,n){var r=0,a=0,s=0,l=0,u=0;if(s=e+4|0,a=s+7&-8,r=c[e>>2],a+n>>>0<=(r+e|0)-4>>>0){l=c[e+4>>2],u=c[e+8>>2],c[l+8>>2]=u,c[u+4>>2]=l,(a|0)!=(s|0)&&(a=a-s|0,l=e-(c[e-4>>2]&-2)|0,s=a+c[l>>2]|0,c[l>>2]=s,c[(l+(s&-4)|0)-4>>2]=s,e=e+a|0,r=r-a|0,c[e>>2]=r);a:{if(n+24>>>0<=r>>>0){s=e+n|0,r=(r-n|0)-8|0,c[s+8>>2]=r,u=s+8|0,c[(u+(r&-4)|0)-4>>2]=r|1,a=c[s+8>>2]-8|0;b:{if(a>>>0<=127){r=(a>>>3|0)-1|0;break b}if(l=_(a),r=((a>>>29-l^4)-(l<<2)|0)+110|0,a>>>0<=4095)break b;r=((a>>>30-l^2)-(l<<1)|0)+71|0,r=r>>>0>=63?63:r}a=r<<4,c[s+12>>2]=a+5728,a=a+5736|0,c[s+16>>2]=c[a>>2],c[a>>2]=u,c[c[s+16>>2]+4>>2]=u,a=c[1690],l=c[1691],s=r&31,(r&63)>>>0>=32?(r=1<<s,u=0):(u=1<<s,r=u-1&1>>>32-s),c[1690]=u|a,c[1691]=r|l,r=n+8|0,c[e>>2]=r,n=(r&-4)+e|0;break a}n=e+r|0}c[n-4>>2]=r,e=e+4|0}else e=0;return e}function ya(e,n,r){var a=0,s=0,u=0,f=0,h=0,g=0,_=0,v=0;for(f=M-16|0,M=f,v=c[n+44>>2],u=1;;){a:{b:{if(u>>>0>v>>>0){s=-1;break b}if(s=-1,h=c[e>>2],_=c[h+8>>2],a=c[h>>2],d[h+4>>2]<=_>>>0||(a=l[a+_|0]>>>7-c[h+12>>2]&1,c[f+12>>2]=a,Tb(h),(g|0)<0))break b;if(g=a|g<<1,d[n+44>>2]<u>>>0||(a=u<<2,s=c[a+c[n+48>>2]>>2],s>>>0>g>>>0)||(s=g-s|0,s>>>0>=d[a+c[n+60>>2]>>2]))break a;if(a=c[(c[n+84>>2]+(c[a+c[n+72>>2]>>2]<<2)|0)+(s<<2)>>2],s=1,l[n+1|0]==1&(a|0)==(c[n+4>>2]-1|0)||(s=-1,u=c[e>>2],e=a<<2,(Fa(u,c[e+c[n+20>>2]>>2],f+12|0)|0)==-1))break b;s=0,u=c[e+c[n+32>>2]>>2],e=c[f+12>>2],c[r>>2]=u+((a|0)==(c[n+4>>2]+(l[n+1|0]?-3:-2)|0)?0-e|0:e)}return M=f+16|0,s}u=u+1|0}}function ma(e){e|=0;var n=0,r=0,a=0,s=0,l=0;if(e){n=e-4|0,l=c[n>>2],r=l,a=n,s=c[e-8>>2],e=s&-2,(e|0)!=(s|0)&&(a=n-e|0,r=c[a+4>>2],s=c[a+8>>2],c[r+8>>2]=s,c[s+4>>2]=r,r=e+l|0),e=n+l|0,n=c[e>>2],(n|0)!=c[(e+n|0)-4>>2]&&(l=c[e+4>>2],e=c[e+8>>2],c[l+8>>2]=e,c[e+4>>2]=l,r=n+r|0),c[a>>2]=r,c[((r&-4)+a|0)-4>>2]=r|1,n=c[a>>2]-8|0;a:{if(n>>>0<=127){e=(n>>>3|0)-1|0;break a}if(r=_(n),e=((n>>>29-r^4)-(r<<2)|0)+110|0,n>>>0<=4095)break a;e=((n>>>30-r^2)-(r<<1)|0)+71|0,e=e>>>0>=63?63:e}n=e<<4,c[a+4>>2]=n+5728,n=n+5736|0,c[a+8>>2]=c[n>>2],c[n>>2]=a,c[c[a+8>>2]+4>>2]=a,n=c[1690],r=c[1691],a=e&31,(e&63)>>>0>=32?(e=1<<a,s=0):(s=1<<a,e=s-1&1>>>32-a),c[1690]=s|n,c[1691]=e|r}}function fd(e,n){var r=0,a=0,s=0,l=0,u=0;a:{b:{r=c[e+4>>2],a=c[e>>2],s=r-a|0,l=s>>3;c:{if(l>>>0<n>>>0){if(a=c[e+8>>2]-a|0,a>>3>>>0>=n>>>0){for(n=(n-l<<3)+r|0;(n|0)!=(r|0);)c[r>>2]=0,c[r+4>>2]=0,r=r+8|0;c[e+4>>2]=n;return}if(n>>>0>=536870912)break b;if(r=a>>2,a=a>>>0>=2147483640?536870911:n>>>0<r>>>0?r:n,a>>>0>=536870912)break a;for(r=n-l<<3,u=na(a<<3),n=u+s|0,l=r+n|0,r=n;(r|0)!=(l|0);)c[r>>2]=0,c[r+4>>2]=0,r=r+8|0;if(s=n,n=c[e>>2],r=c[e+4>>2]-n|0,s=s-r|0,r&&p(s,n,r),c[e+4>>2]=l,c[e>>2]=s,c[e+8>>2]=u+(a<<3),!n)break c;ma(n);return}if(n>>>0>=l>>>0)break c;c[e+4>>2]=a+(n<<3)}return}za(),o()}Wa(),o()}function Wb(e,n,r,a,s){var c=0,u=0,d=0;a:{b:{c:{if((a|0)<0)break c;if((r|0)<=(a|0))break a;if(u=0-(s^1)|0,s=a&7,s){if(c=a>>>3|0,c>>>0>=n>>>0)break c;if(s=(l[e+c|0]^u)&255>>>s,s)break b;a=a+7|0}for(s=a>>>3|0,d=r+7>>>3|0;;){if(a=s,s=a+4|0,d>>>0<s>>>0)for(s=u&255;;){if(a>>>0>=d>>>0)break a;if(n>>>0<=a>>>0)break c;if(c=l[e+a|0],(c|0)!=(s|0))return e=_((c^u)<<24)|a<<3,(e|0)>(r|0)?r:e;a=a+1|0}if(n>>>0<a>>>0|n-a>>>0<=3)break c;if(c=e+a|0,c=l[c|0]|l[c+1|0]<<8|(l[c+2|0]<<16|l[c+3|0]<<24),c=((Ae(c,16)^c)&-16711936)>>>8^Ae(c,8),(c|0)!=(u|0))break}return e=_(c^u)+(a<<3)|0,(e|0)>(r|0)?r:e}o()}r=_(s<<24)|a&2147483640}return r}function gb(e,n,r,s,c){var u=0,d=0,f=0;a:{if(s=(s|0)>0?s:0,u=(c|0)>=0?(r|0)<(c|0)?r:c:0,(s|0)>=(u|0))break a;b:{if(f=s>>>3|0,f>>>0>=n>>>0)break b;if(c=s&7,r=e+f|0,d=u-1|0,u=d>>>3|0,(u|0)==(f|0))for(e=d&7;;){if(e>>>0<c>>>0)break a;a[r|0]=l[r|0]+(-128>>c),c=c+1|0}for(s=l[r|0];;)if((c|0)==8){if(a[r|0]=s,n>>>0<=u>>>0)break b;for(s=(d&7)+1|0,d=e+u|0,r=l[d|0],c=0;;)if((s|0)==(c|0)){if(a[d|0]=r,r=f+1|0,r>>>0>=u>>>0)break a;if(c=u+(f^-1)|0,c>>>0>n-r>>>0)break b;for(r=e+r|0;;){if((c|0)<=0)break a;a[r|0]=0,c=c-1|0,r=r+1|0}}else{r=(-128>>c)+r|0,c=c+1|0;continue}}else{s=(-128>>c)+s|0,c=c+1|0;continue}}o()}}function zb(e,n){var r=0,a=0,s=0,l=0,u=0;a:{b:{r=c[e+4>>2],a=c[e>>2],s=r-a|0,l=s>>2;c:{if(l>>>0<n>>>0){if(a=c[e+8>>2]-a|0,a>>2>>>0>=n>>>0){for(n=(n-l<<2)+r|0;(n|0)!=(r|0);)c[r>>2]=0,r=r+4|0;c[e+4>>2]=n;return}if(n>>>0>=1073741824)break b;if(r=a>>1,a=a>>>0>=2147483644?1073741823:n>>>0<r>>>0?r:n,a>>>0>=1073741824)break a;for(r=n-l<<2,u=na(a<<2),n=u+s|0,l=r+n|0,r=n;(r|0)!=(l|0);)c[r>>2]=0,r=r+4|0;if(s=n,n=c[e>>2],r=c[e+4>>2]-n|0,s=s-r|0,r&&p(s,n,r),c[e+4>>2]=l,c[e>>2]=s,c[e+8>>2]=u+(a<<2),!n)break c;ma(n);return}if(n>>>0>=l>>>0)break c;c[e+4>>2]=a+(n<<2)}return}za(),o()}Wa(),o()}function ka(e,n){var r=0,s=0,d=0,f=0;if(r=l[n+1|0],r>>>0<47){r=h(r,6),d=u[r+1808>>1],s=c[e+8>>2]-d|0,c[e+8>>2]=s,r=r+1808|0,f=c[e+4>>2];a:{if(s>>>0>f>>>16>>>0){if(s&32768)return l[n|0];if(s>>>0<d>>>0){s=l[n|0]^1,d=l[r+3|0],l[r+4|0]==1&&(a[n|0]=s&1),a[n+1|0]=d,n=s&1;break a}a[n+1|0]=l[r+2|0],n=l[n|0];break a}c[e+4>>2]=f-(s<<16);b:{if(s>>>0<d>>>0){a[n+1|0]=l[r+2|0],n=l[n|0];break b}s=l[n|0]^1,f=l[r+3|0],l[r+4|0]==1&&(a[n|0]=s&1),a[n+1|0]=f,n=s&1}c[e+8>>2]=d}for(r=c[e+12>>2];r||=(Ec(e),c[e+12>>2]),r=r-1|0,c[e+12>>2]=r,s=c[e+8>>2],c[e+8>>2]=s<<1,c[e+4>>2]=c[e+4>>2]<<1,!(s&16384););return n}o()}function tc(e,n,r){var u=0,d=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0;d=M-32|0,M=d,s[e>>1]=0,t(e+4|0,0,92),c[d+28>>2]=0,c[d+20>>2]=0,c[d+24>>2]=0;a:{b:{if(u=r+2|0,u){if(u>>>0>=536870912)break b;for(u<<=3,f=na(u),c[d+20>>2]=f,h=u+f|0,c[d+28>>2]=h,u=f;(u|0)!=(h|0);)c[u>>2]=0,c[u+4>>2]=0,u=u+8|0;c[d+24>>2]=h}for(_=n+r|0,u=0;;){if((n|0)==(_|0))break a;v=l[n|0],g=(u<<3)+f|0,c[g+4>>2]=u,a[g+1|0]=0,a[g|0]=v,n=n+1|0,u=u+1|0}}za(),o()}return n=(r<<3)+f|0,c[n+4>>2]=0,s[n>>1]=0,c[n+12>>2]=0,s[n+8>>1]=0,c[d+16>>2]=h-f>>3,c[d+12>>2]=f,a[d+8|0]=0,y=e,b=gd(e,d+8|0),a[y|0]=b,va(d+20|0),M=d+32|0,e}function _d(e,n,r,u,d){e|=0,n|=0,r|=0,u|=0,d|=0;a:{if(Pa(e,c[n+8>>2],d)){if(c[n+28>>2]==1|c[n+4>>2]!=(r|0))break a;c[n+28>>2]=u;return}if(Pa(e,c[n>>2],d)){if(!(c[n+16>>2]!=(r|0)&c[n+20>>2]!=(r|0))){if((u|0)!=1)break a;c[n+32>>2]=1;return}c[n+32>>2]=u;b:{if(c[n+44>>2]==4)break b;if(s[n+52>>1]=0,e=c[e+8>>2],P[c[c[e>>2]+20>>2]](e,n,r,r,1,d),l[n+53|0]==1){if(c[n+44>>2]=3,!l[n+52|0])break b;break a}c[n+44>>2]=4}if(c[n+20>>2]=r,c[n+40>>2]=c[n+40>>2]+1,c[n+36>>2]!=1|c[n+24>>2]!=2)break a;a[n+54|0]=1;return}e=c[e+8>>2],P[c[c[e>>2]+24>>2]](e,n,r,u,d)}}function Yb(e,n,r,u,d,f){var g=0,_=0,v=0,y=0,b=0,x=0;x=((d&536870911)<<3|u>>>29)&-8;a:{b:{c:for(;;){d:{if(r>>>0<=g>>>0)break d;if(y=l[n+g|0],(y|0)==255||(_=c[f>>2],_>>>0>=x>>>0))break b;if(v=_>>>3|0,v>>>0>=d>>>0)break d;for(v=l[u+v|0],c[f>>2]=_+1,b=b<<1|(v<<(_&7)&128)>>>7,g=g+1|0,_=g+h(y,3)|0;;){if((g|0)>=(_|0))continue c;if(r>>>0<=g>>>0)break d;if(l[n+g|0]==(b|0)){if(u=g+1|0,u>>>0>=r>>>0||(d=r,r=g+2|0,d>>>0<=r>>>0))break d;s[e>>1]=l[n+u|0]|l[n+r|0]<<8,n=1;break a}g=g+3|0}}break}o()}a[e|0]=0,n=0}a[e+2|0]=n}function Wc(e,n,r,a,s,l,u){c[e+8>>2]=0;a:{b:{if(!(n&255)){c:switch(r|0){case 1:c[e+4>>2]=s,c[e>>2]=a,c[e+8>>2]=l-1;return;case 3:c[e+4>>2]=s;break a;case 0:c[e>>2]=a,c[e+8>>2]=l-1,c[e+4>>2]=(s-u|0)+1;return;case 2:break c;default:break b}c[e+4>>2]=(s-u|0)+1;break a}d:switch(r|0){case 1:c[e+4>>2]=a,c[e>>2]=s,c[e+8>>2]=u-1;return;case 3:c[e+4>>2]=a,c[e+8>>2]=u-1,c[e>>2]=(s-l|0)+1;return;case 0:c[e>>2]=s,c[e+4>>2]=(a-u|0)+1;return;case 2:break d;default:break b}c[e+4>>2]=(a-u|0)+1,c[e>>2]=(s-l|0)+1}return}c[e>>2]=(a-l|0)+1}function fb(e,n){var r=0,s=0,l=0,u=0,d=0,f=0;a:{if(r=c[e+4>>2],s=c[e>>2],l=r-s|0,u=l>>1,u>>>0<n>>>0){if(d=c[e+8>>2],d-s>>1>>>0>=n>>>0){for(n=(n-u<<1)+r|0;(n|0)!=(r|0);)a[r|0]=0,a[r+1|0]=0,r=r+2|0;c[e+4>>2]=n;return}for(s=Cc(s,d,n),s&&(f=Bc(s)),r=n-u<<1,n=l+f|0,u=r+n|0,r=n;(r|0)!=(u|0);)a[r|0]=0,a[r+1|0]=0,r=r+2|0;if(l=n,n=c[e>>2],r=c[e+4>>2]-n|0,l=l-r|0,r&&p(l,n,r),c[e+4>>2]=u,c[e>>2]=l,c[e+8>>2]=(s<<1)+f,!n)break a;ma(n);return}if(n>>>0>=u>>>0)break a;c[e+4>>2]=s+(n<<1)}}function sd(e,n,r){var a=0,s=0;a=M-32|0,M=a,c[e+24>>2]=0,c[e+28>>2]=0,c[e+16>>2]=0,c[e+20>>2]=0,c[e+8>>2]=0,c[e+12>>2]=0,c[e>>2]=0,c[e+4>>2]=0;a:{b:{if(n-2147483617>>>0<2147483680|(r|0)<=0||(s=n+31&2147483616,2147483616/(s>>>0)>>>0<r>>>0))break b;if(c[e+24>>2]=r,c[e+20>>2]=n,n=s>>>3|0,c[e+28>>2]=n,n=ze(r,0,n,0),N)break a;n=Gb(a,n),r=c[n>>2],c[a+12>>2]=r,s=c[n+4>>2],c[a+16>>2]=s,c[a+20>>2]=c[n+8>>2],c[n+8>>2]=0,c[n>>2]=0,c[n+4>>2]=0,c[a+28>>2]=s-r,c[a+24>>2]=r,r=a+12|0,ec(e,r),va(r),va(n)}return M=a+32|0,e}o()}function Fa(e,n,r){var a=0,s=0,u=0,f=0;s=-1,f=c[e>>2];a:{if(u=c[e+8>>2],a=c[e+4>>2],u>>>0>=a>>>0)break a;b:{if((a|0)==536870912|a>>>0>536870912)break b;if(u=c[e+12>>2]+(u<<3)|0,u>>>0>(((a&536870911)<<3|f>>>29)&-8)>>>0)break a;if(c[r>>2]=0,f=c[e>>2],a=c[e+4>>2],(a|0)==536870912|a>>>0>536870912)break b;for(a=((a&536870911)<<3|f>>>29)&-8,s=a>>>0<n+u>>>0?a-u|0:n;;){if(!s){s=0;break a}if(n=c[e+8>>2],n>>>0>=d[e+4>>2])break b;c[r>>2]=l[n+c[e>>2]|0]>>>7-c[e+12>>2]&1|c[r>>2]<<1,Tb(e),s=s-1|0}}o()}return s}function Aa(e,n,r){var s=0,u=0,d=0,f=0,h=0,g=0,_=0,v=0;for(d=M-16|0,M=d,g=ka(n,c[e>>2]+2|0),s=g|2;;){a:{if((u|0)==5){u=5;break a}if(s<<=1,f=ka(n,s+c[e>>2]|0),s|=f,!f)break a;u=u+1|0;continue}break}for(f=0,u<<=3,h=c[u+2092>>2],h=(h|0)>0?h:0,v=u+2092|0,u=0;(u|0)!=(h|0);)s<<=1,_=ka(n,s+c[e>>2]|0),s=_|s,s=(s|0)>255?s&255|256:s,f=f<<1|_,u=u+1|0;return a[d+8|0]=1,c[d+12>>2]=c[v+4>>2],u=0,s=0,l[La(d+8|0,f)|0]&&(e=c[d+12>>2],n=e>>31,u=g?n-(e^n)|0:e,s=!g|!!(u|0)),c[r>>2]=u,M=d+16|0,s}function zc(e,n,r,s,l){var u=0,d=0;for(c[e>>2]=0,u=na(24),c[u+8>>2]=0,c[u+12>>2]=0,d=n,n=(r|0)==268435456|r>>>0<268435456,c[u>>2]=n?d:0,c[u+4>>2]=n?r:0,c[u+16>>2]=0,c[u+20>>2]=0,c[e+8>>2]=0,c[e+12>>2]=0,c[e+4>>2]=u,c[e+16>>2]=0,c[e+20>>2]=0,c[e+24>>2]=0,c[e+28>>2]=0,c[e+32>>2]=0,r=na(64),c[e+36>>2]=r,n=r- -64|0,c[e+44>>2]=n,u=0;(u|0)!=64;)c[r+u>>2]=0,u=u+4|0;return c[e+52>>2]=10,a[e+49|0]=0,a[e+50|0]=0,a[e+48|0]=l,c[e+40>>2]=n,t(e+56|0,0,49),a[e+112|0]=0,c[e+108>>2]=s,e}function Ob(e,n){var r=0,l=0,u=0,d=0;u=M-16|0,M=u,r=4;a:{b:{if(c[e+4>>2]-1>>>0>65534|c[e+8>>2]-1>>>0>=65535)break b;if(c[e+52>>2]=2,d=c[n>>2],l=c[d>>2],l||=(r=ua(e+4|0,e+8|0),c[u+12>>2]=0,oa(d,r),la(u+12|0),c[d>>2]),r=c[l+16>>2],!r){oa(d,0),r=-1;break b}for(l=c[l+12>>2];(r|0)>0;)a[l|0]=0,r=r-1|0,l=l+1|0;c[e+60>>2]=0,s[e+56>>1]=1,c[e+24>>2]=0,c[e+28>>2]=0,c[e+32>>2]=0,c[e+36>>2]=0,c[e+40>>2]=0,c[e+44>>2]=0,c[e+48>>2]=0,r=nd(e,n);break a}c[e+52>>2]=r}return M=u+16|0,r}function _c(e,n){var r=0,a=0,s=0,l=0,u=0,d=0,f=0;a:{r=c[e+4>>2],a=c[e+8>>2];b:{if(r>>>0<a>>>0){s=c[n>>2],c[n>>2]=0,c[r>>2]=s,n=r+4|0;break b}if(l=c[e>>2],s=r-l|0,d=s>>2,r=d+1|0,r>>>0>=1073741824)break a;a=a-l|0,u=a>>1,u=a>>>0>=2147483644?1073741823:r>>>0<u>>>0?u:r;c:{if(!u){r=s,a=0;break c}a=Fb(u),l=c[e>>2],r=c[e+4>>2]-l|0,d=r>>2}if(f=c[n>>2],c[n>>2]=0,n=a+s|0,c[n>>2]=f,s=n-(d<<2)|0,r&&p(s,l,r),c[e+8>>2]=(u<<2)+a,n=n+4|0,c[e+4>>2]=n,c[e>>2]=s,!l)break b;ma(l)}c[e+4>>2]=n;return}za(),o()}function rb(e,n){var r=0;if(r=c[e>>2],c[e>>2]=n,r){if(Vb(r+80|0),ta(r+76|0),ta(r+72|0),Ha(r+60|0),n=c[r+36>>2],n){for(e=c[r+40>>2];(e|0)!=(n|0);)e=pa(e-4|0);c[r+40>>2]=n,ma(c[r+36>>2])}if(la(r+32|0),n=c[r+20>>2],n){for(e=c[r+24>>2];(e|0)!=(n|0);)e=Ub(e-4|0);c[r+24>>2]=n,ma(c[r+20>>2])}if(n=c[r+8>>2],n){for(e=c[r+12>>2];(e|0)!=(n|0);)e=Vb(e-4|0);c[r+12>>2]=n,ma(c[r+8>>2])}e=c[r+4>>2],c[r+4>>2]=0,e&&ma(e),ma(sb(r))}}function xd(e,n){var r=0,a=0,s=0,l=0,u=0,d=0,f=0;a=M-16|0,M=a;a:{s=c[e+4>>2];b:{if(s>>>0>n>>>0)break b;if(r=s,c[e+8>>2]<<5>>>0<n>>>0){if((n|0)<0)break a;l=(n-1>>>5|0)+1|0,u=na(l<<2),d=c[e>>2],r=c[e+4>>2],f=r?(r-1>>>3&536870908)+4|0:0,f&&p(u,d,f),c[e>>2]=u,c[a+4>>2]=d,c[e+4>>2]=r,c[a+8>>2]=r,r=c[e+8>>2],c[e+8>>2]=l,c[a+12>>2]=r,lc(a+4|0),r=c[e+4>>2]}if((n|0)==(s|0))break b;$c(c[e>>2]+(r>>>3&536870908)|0,r&31,n-s|0)}c[e+4>>2]=n,M=a+16|0;return}za(),o()}function Hc(e,n,r,a,s,c){var f=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0;for(h=M-16|0,M=h,y=((n&536870911)<<3|e>>>29)&-8,_=1;;){a:{if(d[r>>2]>=y>>>0)break a;for(v=_&1,x=v?325:326,S=v?1056:1392,g=0;;){if(Yb(h+12|0,S,x,e,n,r),!l[h+14|0]){for(;;){if(d[r>>2]>=y>>>0)break a;if(Ia(e,n,r))break}break a}if(f=u[h+12>>1],g=f+g|0,(g|0)>(c|0))break a;if(!(f>>>0>=64))break}if(f=g+b|0,v||gb(a,s,c,b,f),_^=1,b=f,(c|0)>(f|0))continue}break}M=h+16|0}function te(e,n){e|=0,n|=0;var r=0,a=0,s=0,l=0,u=0;if(s=c[c[n>>2]>>2],c[e+48>>2]||(r=c[s+16>>2],c[e+44>>2]=c[s+12>>2],c[e+48>>2]=r),r=c[e+4>>2],r)for(r=r-1|0,l=r>>>3|0,u=(r&7)+1|0,r=c[e+24>>2];;){a:{if(d[e+8>>2]<=r>>>0)n=4;else{if(!jc(e,n,2204,l,u))return-1;if(Db(e,s),a=c[n+16>>2],r=c[e+24>>2],!a|(r>>>0)%50||(a=P[c[c[a>>2]+8>>2]](a)|0,r=c[e+24>>2],!a))break a;c[e+24>>2]=r+1,n=3}return c[e+52>>2]=n,n|0}r=r+1|0,c[e+24>>2]=r}o()}function xe(e,n){e|=0,n|=0;var r=0,a=0,s=0,l=0,u=0;if(a=c[c[n>>2]>>2],c[e+48>>2]||(r=c[a+16>>2],c[e+44>>2]=c[a+12>>2],c[e+48>>2]=r),r=c[e+4>>2],r)for(s=c[e+8>>2]&2147483647,r=r-1|0,l=r>>>3|0,u=(r&7)+1|0,r=c[e+24>>2];;){a:{if(r>>>0>=s>>>0)n=4;else{if(!jc(e,n,2140,l,u))return-1;if(Db(e,a),r=c[n+16>>2],!r||!(P[c[c[r>>2]+8>>2]](r)|0))break a;c[e+24>>2]=c[e+24>>2]+1,n=3}return c[e+52>>2]=n,n|0}r=c[e+24>>2]+1|0,c[e+24>>2]=r}o()}function Xd(e,n,r){e|=0,n|=0,r|=0;var a=0,s=0;if(c[n+4>>2]==5252){n=c[e+12>>2];a:{if(n&&(e=5240,tb(n,5128)))break a;e=5248}return c[r>>2]=e,1}s=c[e+8>>2];b:{c:{if(!(s&24)){if(a=tb(n,5080),!a||(r=1,!Pa(e,n,!!(c[a+8>>2]&24))))break c;break b}if(r=1,Pa(e,n,1))break b}if(r=0,n=tb(n,5180),!n||(a=c[n+8>>2],a&(s^-1)&7|(a^-1)&s&96|c[c[e+12>>2]+4>>2]!=c[c[n+12>>2]+4>>2]))break b;r=c[c[e+16>>2]+4>>2]==c[c[n+16>>2]+4>>2]}return r|0}function za(){var e=0,n=0,r=0,a=0;r=vb(8),c[r>>2]=5476,e=4523,n=0;a:{if(!l[4523])break a;b:{c:{for(;;){if(e=e+1|0,!(e&3))break c;if(!l[e|0])break}break b}for(;n=e,e=e+4|0,a=c[n>>2],((16843008-a|a)&-2139062144)==-2139062144;);for(;e=n,n=e+1|0,l[e|0];);}n=e-4523|0}e=na(n+13|0),c[e+8>>2]=0,c[e+4>>2]=n,c[e>>2]=n,e=e+12|0,n=n+1|0,n&&p(e,4523,n),c[r>>2]=5524,c[r+4>>2]=e,C(r|0,5536,1),o()}function ve(e,n){e|=0,n|=0;var r=0,a=0,s=0,l=0;if(a=c[c[n>>2]>>2],c[e+48>>2]||(r=c[a+16>>2],c[e+44>>2]=c[a+12>>2],c[e+48>>2]=r),r=c[e+4>>2],r)for(r=r-1|0,s=r>>>3|0,l=(r&7)+1|0,r=c[e+24>>2];;){a:{if(d[e+8>>2]<=r>>>0)n=4;else{if(!jc(e,n,2172,s,l))return-1;if(Db(e,a),r=c[n+16>>2],!r||!(P[c[c[r>>2]+8>>2]](r)|0))break a;c[e+24>>2]=c[e+24>>2]+1,n=3}return c[e+52>>2]=n,n|0}r=c[e+24>>2]+1|0,c[e+24>>2]=r}o()}function Ec(e){var n=0,r=0,s=0,u=0,f=0;u=255,n=c[e+16>>2];a:{if(l[e+1|0]==255){if(f=8,s=c[n+8>>2],r=s+1|0,r>>>0>=d[n+4>>2]||(r=l[r+c[n>>2]|0],r>>>0>143))break a;Dc(n),a[e+1|0]=r,c[e+4>>2]=(c[e+4>>2]-(r<<9)|0)+65024,n=c[e+16>>2],s=c[n+8>>2],f=7;break a}Dc(n),f=8,n=c[e+16>>2],s=c[n+8>>2],r=c[n>>2],u=d[n+4>>2]>s>>>0?l[r+s|0]:u,a[e+1|0]=u,c[e+4>>2]=(c[e+4>>2]-(u<<8)|0)+65280}c[e+12>>2]=f,d[n+4>>2]<=s>>>0&&(a[e|0]=1)}function Jb(e,n){var r=0,a=0,s=0,l=0;a:{b:{if((e|0)!=(n|0)){if(l=c[n+4>>2],a=c[n>>2],n=l-a|0,r=c[e>>2],n>>>0<=c[e+8>>2]-r>>>0){if(s=c[e+4>>2]-r|0,s>>>0<n>>>0){s&&p(r,a,s),n=c[e+4>>2],a=a+s|0,r=l-a|0,r&&p(n,a,r);break a}n&&p(r,a,n);break a}if(kc(e),s=Cc(c[e>>2],c[e+8>>2],n>>1),(s|0)<0)break b;r=Bc(s),c[e+4>>2]=r,c[e>>2]=r,c[e+8>>2]=r+(s<<1),n&&p(r,a,n),c[e+4>>2]=n+r}return e}za(),o()}return c[e+4>>2]=n+r,e}function Bb(e,n,r,a){var s=0,l=0,u=0,d=0,f=0;l=n-1|0,u=c[a>>2],s=c[a+4>>2];a:{if((ia(e,l,u,s)|0)!=(r|0)||(ia(e,n,u,s)|0)!=(r|0)||(d=n+1|0,(ia(e,d,u,s)|0)!=(r|0))||(u=c[a+8>>2],s=c[a+12>>2],(ia(e,l,u,s)|0)!=(r|0))||(ia(e,d,u,s)|0)!=(r|0)||(s=l,l=c[a+16>>2],a=c[a+20>>2],(ia(e,s,l,a)|0)!=(r|0))||(ia(e,n,l,a)|0)!=(r|0))break a;f=(ia(e,d,l,a)|0)==(r|0)}return f}function Rb(e,n){var r=0,a=0,s=0,l=0,u=0;a:{if(r=c[e>>2],a=c[e+4>>2]-r|0,s=a>>2,s>>>0<n>>>0){if(l=c[e+8>>2],l-r>>2>>>0>=n>>>0){qd(e,n-s|0);return}for(l=pd(r,l,n),u=Fb(l),r=a+u|0,s=r+(n-s<<2)|0,n=r;(n|0)!=(s|0);)c[n>>2]=0,n=n+4|0;if(a=r,n=c[e>>2],r=c[e+4>>2]-n|0,a=a-r|0,r&&p(a,n,r),c[e+4>>2]=s,c[e>>2]=a,c[e+8>>2]=(l<<2)+u,!n)break a;ma(n);return}if(n>>>0>=s>>>0)break a;c[e+4>>2]=r+(n<<2)}}function hd(e,n,r,a,s,l,u,d,f,h){var g=0,_=0;Ea(c[n+20>>2],a,f,h,s),f=c[e+12>>2],h=c[r>>2],n=ia(c[n+20>>2],a+2|0,u,d),c[r+4>>2]=s,c[r>>2]=n|h<<1&2,s=c[r+8>>2],e=c[e+20>>2],n=(a-f|0)+2|0,g=r,_=ia(c[e+20>>2],n,c[l>>2],c[l+4>>2])|s<<1&2,c[g+8>>2]=_,a=c[r+12>>2],g=r,_=ia(c[e+20>>2],n,c[l+8>>2],c[l+12>>2])|a<<1&6,c[g+12>>2]=_,a=c[r+16>>2],g=r,_=ia(c[e+20>>2],n,c[l+16>>2],c[l+20>>2])|a<<1&6,c[g+16>>2]=_}function mc(e){var n=0,r=0,s=0,l=0;l=M-16|0,M=l,n=na(32),c[n+8>>2]=0,c[n>>2]=0,c[n+4>>2]=0,r=c[e+4>>2],s=c[e>>2],c[l+8>>2]=n,(r|0)!=(s|0)&&(Eb(n,r-s|0),Xb(n,s,r)),a[l+12|0]=1,gc(l+8|0),r=c[n>>2],s=c[n+4>>2];a:{if((r|0)!=(s|0)){c[n+12>>2]=r,c[n+16>>2]=s-r;break a}r=c[e+16>>2],c[n+12>>2]=c[e+12>>2],c[n+16>>2]=r}return c[n+20>>2]=c[e+20>>2],c[n+24>>2]=c[e+24>>2],c[n+28>>2]=c[e+28>>2],M=l+16|0,n}function Gc(e,n,r,a,s,u){var d=0,f=0,h=0,g=0,_=0;h=c[e+4>>2];a:{b:{c:{if((r|0)<0){f=c[e>>2],e=1;break c}if(d=r>>>3|0,d>>>0>=h>>>0)break b;f=c[e>>2],e=(l[d+f|0]<<(r&7)&128)>>>7|0}if(d=e^1,r=Wb(f,h,n,r+1|0,d),c[s>>2]=r,(n|0)<=(r|0))break a;d:{if((e|0)==(a|0)){d=e;break d}r=Wb(f,h,n,r+1|0,e),c[s>>2]=r}if((n|0)<=(r|0))break a;g=u,_=Wb(f,h,n,r+1|0,d),c[g>>2]=_;return}o()}c[u>>2]=n,c[s>>2]=n}function Id(e,n){var r=0;r=c[n+4>>2],c[e>>2]=c[n>>2],c[e+4>>2]=r,r=c[e+8>>2],r&&(c[e+12>>2]=r,ma(r),c[e+16>>2]=0,c[e+8>>2]=0,c[e+12>>2]=0),c[e+8>>2]=c[n+8>>2],c[e+12>>2]=c[n+12>>2],c[e+16>>2]=c[n+16>>2],c[n+16>>2]=0,c[n+8>>2]=0,c[n+12>>2]=0,$a(e+20|0,n+20|0),$a(e+32|0,n+32|0),c[e+44>>2]=c[n+44>>2],_a(e+48|0,n+48|0),_a(e+60|0,n+60|0),_a(e+72|0,n+72|0),_a(e+84|0,n+84|0)}function Wd(e,n,r,s,l){e|=0,n|=0,r|=0,s|=0,l|=0;a:{if(Pa(e,c[n+8>>2],l)){if(c[n+28>>2]==1|c[n+4>>2]!=(r|0))break a;c[n+28>>2]=s;return}if(!Pa(e,c[n>>2],l))break a;if(!(c[n+16>>2]!=(r|0)&c[n+20>>2]!=(r|0))){if((s|0)!=1)break a;c[n+32>>2]=1;return}c[n+20>>2]=r,c[n+32>>2]=s,c[n+40>>2]=c[n+40>>2]+1,c[n+36>>2]!=1|c[n+24>>2]!=2||(a[n+54|0]=1),c[n+44>>2]=4}}function ae(e,n,r){e|=0,n|=0,r|=0;var s=0,l=0;s=M+-64|0,M=s;a:{l=1;b:{if(c[e+4>>2]==c[n+4>>2]||(n=tb(n,5032),l=0,!n))break b;if(l=c[r>>2],!l)break a;t(s+8|0,0,56),a[s+59|0]=1,c[s+16>>2]=-1,c[s+12>>2]=e,c[s+4>>2]=n,c[s+52>>2]=1,P[c[c[n>>2]+28>>2]](n,s+4|0,l,1),e=c[s+28>>2],(e|0)==1&&(c[r>>2]=c[s+20>>2]),l=(e|0)==1}return M=s- -64|0,l|0}Sc(),o()}function wd(e,n,r,a,s){var l=0,u=0,d=0,f=0;a:{if(!a)break a;if(u=r,d=n,s&1){for(l|u?(l=32-u|0,s=a>>>0<l>>>0?a:l,c[d>>2]=c[d>>2]|-1<<u&-1>>>l-s,d=d+4|0,s=a-s|0):s=a,l=s,f=l>>>5|0,s=f,u=d;s;)c[u>>2]=-1,s=s-1|0,u=u+4|0;if(l&=31,!l)break a;s=(f<<2)+d|0,c[s>>2]=c[s>>2]|-1>>>32-l;break a}$c(d,u,a)}c[e>>2]=n,c[e+4>>2]=r,oc(e,a)}function ad(e,n,r,a){var s=0,u=0;s=M-16|0,M=s,dc(s+8|0,n,r);a:{b:{if(!l[s+12|0]||!((a|0)>0&(c[n+24>>2]-r|0)>=(a|0))){c[e>>2]=0,c[e+4>>2]=0;break b}if(u=c[n+16>>2],r=c[s+8>>2],u>>>0<r>>>0||(a=h(c[n+28>>2],a),a>>>0>u-r>>>0)||(n=r+c[n+12>>2]|0,n&3))break a;c[e>>2]=n,c[e+4>>2]=a>>>2}M=s+16|0;return}o()}function Rc(e,n,r,s){a[e+53|0]=1;a:{if(c[e+4>>2]!=(r|0))break a;a[e+52|0]=1,r=c[e+16>>2];b:{if(!r){if(c[e+36>>2]=1,c[e+24>>2]=s,c[e+16>>2]=n,(s|0)!=1)break a;if(c[e+48>>2]==1)break b;break a}if((n|0)==(r|0)){if(r=c[e+24>>2],(r|0)==2&&(c[e+24>>2]=s,r=s),c[e+48>>2]!=1)break a;if((r|0)==1)break b;break a}c[e+36>>2]=c[e+36>>2]+1}a[e+54|0]=1}}function Fd(e,n){var r=0,s=0,l=0;return s=e,l=Da(),c[s>>2]=l,s=e,l=Da(),c[s+4>>2]=l,s=e,l=Da(),c[s+8>>2]=l,s=e,l=Da(),c[s+12>>2]=l,s=e,l=Da(),c[s+16>>2]=l,s=e,l=Da(),c[s+20>>2]=l,s=e,l=Da(),c[s+24>>2]=l,s=e,l=Da(),c[s+28>>2]=l,s=e,l=Da(),c[s+32>>2]=l,r=na(16),a[r+12|0]=n,c[r+8>>2]=0,c[r>>2]=0,c[r+4>>2]=0,fb(r,1<<n),c[e+36>>2]=r,e}function ld(e,n){var r=0,a=0,s=0;r=M-32|0,M=r;a:{if(a=c[e+40>>2],a){if(s=c[e+48>>2],c[r+24>>2]=c[e+44>>2],c[r+28>>2]=s,n=c[n+28>>2],n>>>0>a>>>0)break a;e=c[e+36>>2],c[r+20>>2]=n,c[r+16>>2]=e,e=c[r+28>>2],c[r+8>>2]=c[r+24>>2],c[r+12>>2]=e,e=c[r+20>>2],c[r>>2]=c[r+16>>2],c[r+4>>2]=e,Ca(r+8|0,r)}M=r+32|0;return}o()}function gd(e,n){var r=0,s=0,u=0;for(a[e+1|0]=l[n|0],r=c[n+8>>2],c[e+4>>2]=r,n=c[n+4>>2],fd(e+8|0,r),zb(e+20|0,r),zb(e+32|0,r),u=(r<<3)+n|0,r=0;;){if((n|0)==(u|0))e=Ld(e);else{c[c[e+8>>2]+(r<<3)>>2]=l[n|0],s=r<<2,c[s+c[e+20>>2]>>2]=l[n+1|0],c[c[e+32>>2]+s>>2]=c[n+4>>2],n=n+8|0,r=r+1|0;continue}break}return e}function qa(e,n){var r=0,a=0,s=0,u=0;a:{if(r=c[e+4>>2],a=c[e+8>>2],r>>>0>a+3>>>0){if(a>>>0>=r>>>0|a+1>>>0>=r>>>0|a+2>>>0>=r>>>0)break a;r=n,n=c[e>>2]+a|0,n=l[n|0]|l[n+1|0]<<8|(l[n+2|0]<<16|l[n+3|0]<<24),s=r,u=((Ae(n,16)^n)&-16711936)>>>8^Ae(n,8),c[s>>2]=u,c[e+8>>2]=c[e+8>>2]+4,e=0}else e=-1;return e}o()}function ec(e,n){var r=0,a=0;if((e|0)!=(n|0)){kc(e),c[e>>2]=c[n>>2],c[e+4>>2]=c[n+4>>2],c[e+8>>2]=c[n+8>>2],c[n+8>>2]=0,c[n>>2]=0,c[n+4>>2]=0,r=c[e>>2],a=c[e+4>>2];a:{if((r|0)!=(a|0)){c[e+12>>2]=r,c[e+16>>2]=a-r;break a}r=c[n+16>>2],c[e+12>>2]=c[n+12>>2],c[e+16>>2]=r}c[n+12>>2]=0,c[n+16>>2]=0}}function fc(e,n,r){var a=0,s=0,l=0,u=0;if(a=c[e>>2],c[e+8>>2]-a>>2>>>0>=n>>>0){for(s=c[e+4>>2]-a>>2,l=n>>>0>s>>>0?s:n,u=a;l;)c[u>>2]=c[r>>2],l=l-1|0,u=u+4|0;if(n>>>0>s>>>0){dd(e,n-s|0,r);return}c[e+4>>2]=(n<<2)+a}else kc(e),ed(e,pd(c[e>>2],c[e+8>>2],n)),dd(e,n,r)}function Pa(e,n,r){var a=0;if(!r)return c[e+4>>2]==c[n+4>>2];if((e|0)==(n|0))return 1;r=c[e+4>>2],e=l[r|0],n=c[n+4>>2],a=l[n|0];a:{if(!e|(a|0)!=(e|0))break a;for(;;){if(a=l[n+1|0],e=l[r+1|0],!e)break a;if(n=n+1|0,r=r+1|0,(e|0)!=(a|0))break}}return(e|0)==(a|0)}function Ic(e,n){var r=0,a=0,s=0,l=0;if((e|0)!=(n|0)){if(l=c[n+4>>2],r=c[n>>2],n=l-r|0,a=c[e>>2],n>>>0<=c[e+8>>2]-a>>>0){if(s=c[e+4>>2]-a|0,n>>>0>s>>>0){s&&p(a,r,s),Xb(e,r+s|0,l);return}n&&p(a,r,n),c[e+4>>2]=n+a;return}kc(e),Eb(e,Fc(c[e>>2],c[e+8>>2],n)),Xb(e,r,l)}}function Ca(e,n){var r=0,s=0,l=0;a:{r=c[e+4>>2];b:{if(!r)break b;if(!c[n+4>>2])for(e=c[e>>2];;){if((r|0)<=0)break b;a[e|0]=0,r=r-1|0,e=e+1|0}if(l=c[n>>2],s=c[n+4>>2],r=c[e>>2],n=0,1&d[e+4>>2]<s>>>0)break a;if(!(n|s)|!s)break b;p(r,l,s)}return}o()}function Dd(e){var n=0,r=0,a=0,s=0,l=0,u=0;for(a=M-16|0,M=a,s=nc(),l=s+24|0,u=c[e+28>>2],r=c[e+24>>2];(r|0)!=(u|0);)n=c[r>>2],n=n?mc(n):0,c[a+12>>2]=n,n=a+12|0,_c(l,n),r=r+4|0,la(n);return r=Jb(s,e),Jb(r+12|0,e+12|0),M=a+16|0,r}function ja(e,n,r){var a=0,s=0,u=0;a=M-16|0,M=a,dc(a+8|0,n,r);a:{b:{if(!l[a+12|0]){c[e>>2]=0,c[e+4>>2]=0;break b}if(s=c[n+16>>2],r=c[a+8>>2],s>>>0<r>>>0||(u=c[n+28>>2],u>>>0>s-r>>>0))break a;n=c[n+12>>2],c[e+4>>2]=u,c[e>>2]=n+r}M=a+16|0;return}o()}function Qc(e,n,r){var s=0;if(s=c[e+36>>2],!s)c[e+24>>2]=r,c[e+16>>2]=n,c[e+36>>2]=1,c[e+20>>2]=c[e+56>>2];else a:{if(!(c[e+20>>2]!=c[e+56>>2]|c[e+16>>2]!=(n|0))){if(c[e+24>>2]!=2)break a;c[e+24>>2]=r;return}a[e+54|0]=1,c[e+24>>2]=2,c[e+36>>2]=s+1}}function Na(e){var n=0,r=0,s=0,u=0;return n=na(20),c[n+16>>2]=e,a[n|0]=0,r=255,s=c[e>>2],u=c[e+4>>2],e=c[e+8>>2],u>>>0>e>>>0&&(r=l[e+s|0]),a[n+1|0]=r,c[n+4>>2]=((r^-1)&255)<<16,Ec(n),c[n+8>>2]=32768,c[n+4>>2]=c[n+4>>2]<<7,c[n+12>>2]=c[n+12>>2]-7,n}function $c(e,n,r){var a=0,s=0;for(n&&(a=32-n|0,s=r>>>0<a>>>0?r:a,c[e>>2]=c[e>>2]&(-1<<n&-1>>>a-s^-1),r=r-s|0,e=e+4|0),s=r>>>5|0,n=s,a=e;n;)c[a>>2]=0,n=n-1|0,a=a+4|0;n=r&31,n&&(e=(s<<2)+e|0,c[e>>2]=c[e>>2]&(-1>>>32-n^-1))}function ob(e,n){var r=0;r=1;a:{if(qa(c[e+4>>2],n)||qa(c[e+4>>2],n+4|0)||qa(c[e+4>>2],n+8|0)||qa(c[e+4>>2],n+12|0)||wa(c[e+4>>2],n+16|0)|(c[n>>2]>4096|c[n+4>>2]>4096)&l[e+112|0]==1)break a;r=0}return r}function jd(e,n,r,a){var s=0;s=M-32|0,M=s,ja(s+24|0,r,(n^-1)+a|0),c[e>>2]=c[s+24>>2],c[e+4>>2]=c[s+28>>2],n=a-n|0,ja(s+16|0,r,n),c[e+8>>2]=c[s+16>>2],c[e+12>>2]=c[s+20>>2],ja(s+8|0,r,n+1|0),c[e+16>>2]=c[s+8>>2],c[e+20>>2]=c[s+12>>2],M=s+32|0}function Cd(e,n,r){var a=0,s=0;a=na(32),s=c[n+12>>2],c[a+16>>2]=c[n+8>>2],c[a+20>>2]=s,s=c[n+4>>2],c[a+8>>2]=c[n>>2],c[a+12>>2]=s,n=c[r>>2],c[r>>2]=0,c[a>>2]=e,c[a+24>>2]=n,n=c[e+4>>2],c[a+4>>2]=n,c[n>>2]=a,c[e+4>>2]=a,c[e+8>>2]=c[e+8>>2]+1}function Ga(e,n,r){var a=0,s=0,u=0,d=0;for(a=c[n+8>>2],d=(a|0)>0?a:0,a=0;;){a:{if((a|0)==(d|0)){s=0;break a}if(s=Ka(e,c[c[n+12>>2]+(a<<2)>>2]),!(!s|(l[s+4|0]&63)!=53)){if((r|0)==(u|0))break a;u=u+1|0}a=a+1|0;continue}break}return s}function Kb(e,n){var r=0;c[e+8>>2]=0,c[e>>2]=0,c[e+4>>2]=0;a:{if(n){if(n>>>0>=1073741824)break a;for(r=n<<2,n=na(r),c[e>>2]=n,r=n+r|0,c[e+8>>2]=r;(n|0)!=(r|0);)c[n>>2]=0,n=n+4|0;c[e+4>>2]=r}return e}za(),o()}function cb(e,n){var r=0;c[e+8>>2]=0,c[e>>2]=0,c[e+4>>2]=0;a:{if(n){if(n>>>0>=1073741824)break a;for(r=Fb(n),c[e>>2]=r,n=(n<<2)+r|0,c[e+8>>2]=n;(n|0)!=(r|0);)c[r>>2]=0,r=r+4|0;c[e+4>>2]=n}return e}za(),o()}function Cb(e,n,r){var a=0;a=M-32|0,M=a,ja(a+24|0,n,r-1|0),c[e>>2]=c[a+24>>2],c[e+4>>2]=c[a+28>>2],ja(a+16|0,n,r),c[e+8>>2]=c[a+16>>2],c[e+12>>2]=c[a+20>>2],ja(a+8|0,n,r+1|0),c[e+16>>2]=c[a+8>>2],c[e+20>>2]=c[a+12>>2],M=a+32|0}function Mc(e,n){var r=0,a=0,s=0;return r=M-16|0,M=r,a=l[e+4|0],(a|0)==255&&(e=vb(4),c[e>>2]=4936,C(e|0,4948,2),o()),c[r+4>>2]=r+3,s=c[n+4>>2],c[r+8>>2]=c[n>>2],c[r+12>>2]=s,e=P[c[(r+8|0)+(a<<2)>>2]](r+4|0,e)|0,M=r+16|0,e}function lb(){var e=0;return e=na(80),s[e+56>>1]=0,c[e+12>>2]=0,c[e+24>>2]=0,c[e+28>>2]=0,c[e+32>>2]=0,c[e+36>>2]=0,c[e+40>>2]=0,c[e+44>>2]=0,c[e+48>>2]=0,c[e+60>>2]=0,c[e+64>>2]=0,c[e+68>>2]=0,c[e+72>>2]=0,c[e+76>>2]=0,e}function ze(e,n,r,a){var s=0,c=0,l=0,u=0,d=0,f=0;return s=r>>>16|0,c=e>>>16|0,f=h(s,c),l=r&65535,u=e&65535,d=h(l,u),c=(d>>>16|0)+h(c,l)|0,s=(c&65535)+h(s,u)|0,N=(h(n,r)+f|0)+h(e,a)+(c>>>16)+(s>>>16)|0,d&65535|s<<16}function Ea(e,n,r,s,c){var u=0;a:{if(!(!s|(n|0)<0|(e|0)<=(n|0))){if(u=n&7,e=n>>>3|0,c){if(e>>>0>=s>>>0)break a;e=e+r|0,a[e|0]=l[e|0]|128>>>u;return}if(e>>>0>=s>>>0)break a;e=e+r|0,a[e|0]=l[e|0]&-129>>u}return}o()}function od(e){var n=0,r=0,a=0;c[e+56>>2]=2,r=1,n=4,a=c[e+52>>2];a:{b:{if((a|0)==5)break b;if((a|0)>=3){c[e+52>>2]=5;break b}if(n=yc(e),r=!n,c[e+56>>2]==3)break a;c[e+52>>2]=5,n=n?-1:4}c[e+56>>2]=n}return r}function Ka(e,n){var r=0,a=0;r=c[e>>2];a:{if(r&&(r=Ka(r,n),r))break a;for(a=c[e+12>>2],e=c[e+8>>2];;){if((e|0)==(a|0))return 0;if(r=c[e>>2],e=e+4|0,c[r>>2]==(n|0))break}}return r}function Bd(e){var n=0;a:{if(l[e+16|0]!=3|l[e+17|0]!=255|(l[e+18|0]!=253|l[e+19|0]!=255)||l[e+20|0]!=2|l[e+21|0]!=254|(l[e+22|0]!=254|l[e+23|0]!=254))break a;n=l[e+2|0]^1}return n&1}function Sa(e,n){var r=0,a=0,u=0;a:{if(r=c[e+8>>2],u=r+1|0,a=c[e+4>>2],u>>>0<a>>>0){if(r>>>0>=a>>>0)break a;a=n,n=c[e>>2],s[a>>1]=l[n+r|0]<<8|l[n+u|0],c[e+8>>2]=r+2,e=0}else e=-1;return e}o()}function id(e,n,r,s,l,u,d,f){return c[r+16>>2]|c[r+12>>2]<<3|c[r+8>>2]<<6|ia(c[c[e+20>>2]+20>>2],a[e+26|0]+(s-c[e+12>>2]|0)|0,l,u)<<8|c[r+4>>2]<<9|c[r>>2]<<10|ia(n,a[e+24|0]+s|0,d,f)<<12}function Db(e,n){var r=0;r=c[e+40>>2],c[e+28>>2]=c[e+36>>2],c[e+32>>2]=r,r=c[e+48>>2],n=c[n+28>>2],r>>>0<n>>>0&&o(),c[e+40>>2]=r,c[e+48>>2]=r-n,r=c[e+44>>2],c[e+36>>2]=r,c[e+44>>2]=n+r}function ra(e,n){var r=0,a=0,s=0;return a=M-16|0,M=a,s=n<<2,r=c[s+c[e+36>>2]>>2],r||=(n=rd(na(96),n),r=c[e+36>>2],c[a+12>>2]=0,pb(r+s|0,n),pa(a+12|0),c[c[e+36>>2]+s>>2]),M=a+16|0,r}function $a(e,n){var r=0;r=c[e>>2],r&&(c[e+4>>2]=r,ma(r),c[e+8>>2]=0,c[e>>2]=0,c[e+4>>2]=0),c[e>>2]=c[n>>2],c[e+4>>2]=c[n+4>>2],c[e+8>>2]=c[n+8>>2],c[n+8>>2]=0,c[n>>2]=0,c[n+4>>2]=0}function Qb(){var e=0;return e=na(180),c[e+144>>2]=0,c[e+148>>2]=0,s[e+28>>1]=0,c[e+152>>2]=0,c[e+156>>2]=0,c[e+160>>2]=0,c[e+164>>2]=0,c[e+168>>2]=0,c[e+172>>2]=0,t(e+32|0,0,104),e}function Jc(e,n,r){var a=0,s=0;s=((n&536870911)<<3|e>>>29)&-8,a=c[r>>2];a:{for(;;){if(d[r>>2]>=s>>>0)break a;if(Ia(e,n,r))break}if(c[r>>2]-a>>>0>11)break a;c[r>>2]=a}}function xb(e,n){var r=0,a=0;return l[e|0]==1?(r=c[e+4>>2],n=ze(r,r>>31,n,0),r=N,a=!(n- -2147483648>>>0<2147483648?r+1|0:r),r=0|a,n=a?n:0):n=0,c[e>>2]=r,c[e+4>>2]=n,e}function oc(e,n){var r=0;r=c[e+4>>2];a:{if((n|0)>=0){n=n+r|0,r=c[e>>2]+(n>>>3&536870908)|0;break a}n=n+r|0,r=c[e>>2]+((n-31|0)/32<<2)|0}return c[e>>2]=r,c[e+4>>2]=n&31,e}function Lc(e,n){var r=0,s=0,u=0;r=M-16|0,M=r,s=l[e+4|0],(s|0)!=255&&(u=c[n+4>>2],c[r+8>>2]=c[n>>2],c[r+12>>2]=u,P[c[(r+8|0)+(s<<2)>>2]](r+7|0,e)),a[e+4|0]=255,M=r+16|0}function Ab(e,n,r,a,s,l,u){var d=0,f=0;d=M-16|0,M=d,c[e+16>>2]&&(f=c[e+24>>2],c[d+8>>2]=c[e+20>>2],c[d+12>>2]=f,c[d>>2]=0,c[d+4>>2]=0,cd(e,n,r,a,s,l,u,d)),M=d+16|0}function Xc(e,n){var r=0;r=M-16|0,M=r,c[r+8>>2]=0;a:{if(l[e+4|0]==1){oa(e,n);break a}Xa(e),a[e+4|0]=1,c[e>>2]=n}return c[r+12>>2]=0,la(r+12|0),la(r+8|0),M=r+16|0,e}function Ac(e,n,r){var a=0,s=0,u=0;for(a=1;;){if(s=l[e+12|0],s>>>0<=(u&255)>>>0)c[r>>2]=(-1<<s)+a;else{a<<=1,a=ka(n,a+c[e>>2]|0)|a,u=u+1|0;continue}break}}function wb(e,n,r,s){var u=0;u=M-16|0,M=u,c[u+12>>2]=s,s=1,a[u+8|0]=1;a:{if(!l[La(u+8|0,n>>r)|0]){s=0,a[e|0]=0;break a}c[e>>2]=c[u+12>>2]}a[e+4|0]=s,M=u+16|0}function rc(e){var n=0;n=c[e+36>>2],c[e+36>>2]=0,n&&ma(Ha(n)),Ba(e+32|0),Ba(e+28|0),Ba(e+24|0),Ba(e+20|0),Ba(e+16|0),Ba(e+12|0),Ba(e+8|0),Ba(e+4|0),Ba(e)}function Lb(e,n){var r=0;r=c[e+4>>2],n&&(r=r+1|0,c[e+4>>2]=r),n=c[e+12>>2]-c[e+8>>2]>>3,n>>>0<=r>>>0&&(n=n+16|0,fd(e+8|0,n),zb(e+20|0,n),zb(e+32|0,n))}function yb(e,n,r){a:switch(e|0){case 1:return n&r;case 2:return n^r;case 3:return n^r^-1;default:o();case 0:n|=r;break;case 4:break a}return n}function $d(e,n,r,a,s,l){e|=0,n|=0,r|=0,a|=0,s|=0,l|=0,Pa(e,c[n+8>>2],l)?Rc(n,r,a,s):(e=c[e+8>>2],P[c[c[e>>2]+20>>2]](e,n,r,a,s,l))}function Gb(e,n){var r=0;return r=M-16|0,M=r,c[e+8>>2]=0,c[e>>2]=0,c[e+4>>2]=0,c[r+8>>2]=e,n&&(Eb(e,n),kd(e,n)),a[r+12|0]=1,gc(r+8|0),M=r+16|0,e}function xc(e){var n=0,r=0,s=0;return r=h(l[e+1|0],c[e+4>>2]+1|0),r>>>0<=65535&&(s=l[e+2|0],n=lb(),e=l[e|0],c[n+8>>2]=s,c[n+4>>2]=r,a[n|0]=e),n}function Zc(e,n,r){var a=0;return!(n&1)|l[e|0]!=1?(n=0,r=0):(n=c[e+4>>2],a=n,n=n+r|0,r=((a^n)&(n^r))>=0,n=r?n:0),c[e>>2]=r,c[e+4>>2]=n,e}function me(e,n,r){e|=0,n|=0,r|=0;var a=0;return a=c[e+4>>2],e=c[e+8>>2],n=(e>>1)+n|0,r=c[r>>2],e&1&&(a=c[a+c[n>>2]>>2]),P[a|0](n,r)|0}function Zd(e,n,r,a){e|=0,n|=0,r|=0,a|=0,c[e+4>>2]==c[c[n+8>>2]+4>>2]?Qc(n,r,a):(e=c[e+8>>2],P[c[c[e>>2]+28>>2]](e,n,r,a))}function zd(e,n,r,a){if(n>>>0<=a>>>0)for(n=(n<<2)+e|0;(e|0)!=(n|0);)c[r>>2]=c[e>>2],r=r+4|0,e=e+4|0;else o()}function ia(e,n,r,a){a:{if(!a|(n|0)<0|(e|0)<=(n|0))e=0;else{if(e=n>>>3|0,e>>>0>=a>>>0)break a;e=l[e+r|0]>>>((n^-1)&7)&1}return e}o()}function dd(e,n,r){var a=0;for(a=c[e+4>>2],n=a+(n<<2)|0;;){if((n|0)==(a|0))c[e+4>>2]=n;else{c[a>>2]=c[r>>2],a=a+4|0;continue}break}}function Oa(e){var n=0;return va(e+84|0),va(e+72|0),va(e+60|0),va(e+48|0),Ha(e+32|0),Ha(e+20|0),n=c[e+8>>2],n&&(c[e+12>>2]=n,ma(n)),e}function bd(e,n){var r=0,a=0;return l[e|0]==1?(r=c[e+4>>2],a=r-n|0,r=((r^a)&(n^r))>=0,n=r?a:0):(n=0,r=0),c[e>>2]=r,c[e+4>>2]=n,e}function La(e,n){var r=0,a=0;return l[e|0]==1?(r=c[e+4>>2],a=r+n|0,r=((a^r)&(n^a))>=0,n=r?a:0):(n=0,r=0),c[e>>2]=r,c[e+4>>2]=n,e}function dc(e,n,r){var s=0;a:{if(!(!(!c[n+16>>2]|(r|0)<0)&c[n+24>>2]>(r|0))){a[e|0]=0;break a}c[e>>2]=h(c[n+28>>2],r),s=1}a[e+4|0]=s}function Za(e){var n=0,r=0;if(n=c[e>>2],n){for(r=c[e+4>>2];(r|0)!=(n|0);)r=la(r-4|0);c[e+4>>2]=n,ma(c[e>>2])}}function wa(e,n){var r=0,s=0;return s=c[e>>2],r=c[e+8>>2],r>>>0<d[e+4>>2]?(a[n|0]=l[s+r|0],c[e+8>>2]=c[e+8>>2]+1,e=0):e=-1,e}function ye(){for(var e=0,n=0,r=0;n=e<<4,r=n+5728|0,c[n+5732>>2]=r,c[n+5736>>2]=r,e=e+1|0,(e|0)!=64;);Md(48)}function Tc(e){e|=0;var n=0,r=0,a=0;return c[e>>2]=5476,n=c[e+4>>2],r=n-4|0,a=c[r>>2]-1|0,c[r>>2]=a,(a|0)<0&&ma(n-12|0),e|0}function qd(e,n){var r=0;for(r=c[e+4>>2],n=r+(n<<2)|0;;){if((n|0)==(r|0))c[e+4>>2]=n;else{c[r>>2]=0,r=r+4|0;continue}break}}function kd(e,n){var r=0;for(r=n,n=c[e+4>>2],r=r+n|0;;){if((n|0)==(r|0))c[e+4>>2]=r;else{a[n|0]=0,n=n+1|0;continue}break}}function Xb(e,n,r){var s=0;for(s=c[e+4>>2];(n|0)!=(r|0);)a[s|0]=l[n|0],s=s+1|0,n=n+1|0;c[e+4>>2]=s}function Ia(e,n,r){var a=0;return a=r,r=c[r>>2],c[a>>2]=r+1,a=n,n=r>>>3|0,a>>>0<=n>>>0&&o(),(l[e+n|0]<<(r&7)&128)>>>7|0}function vd(e,n){var r=0;return r=ze(n,0,e,0),N|r>>>0>2147479550?e=0:(n=h(e,n),e=hb(n),n&&e&&t(e,0,n)),e}function pd(e,n,r){return r>>>0>=1073741824&&(za(),o()),e=n-e|0,n=e>>1,e>>>0>=2147483644?1073741823:n>>>0>r>>>0?n:r}function sa(e){var n=0,r=0;c[e+12>>2]&&(n=c[e+8>>2]+1|0,n&&(r=c[e+4>>2],c[e+8>>2]=n>>>0<r>>>0?n:r),c[e+12>>2]=0)}function eb(e,n){var r=0;r=c[e>>2],c[e>>2]=n,r&&(pa(r+68|0),la(r- -64|0),Sb(r+60|0),Va(r+56|0),va(r+12|0),ma(r))}function md(e){var n=0;a:{if(n=e,e=c[e+16>>2],(n|0)==(e|0))n=16;else{if(!e)break a;n=20}P[c[n+c[e>>2]>>2]](e)}}function _a(e,n){kc(e),c[e>>2]=c[n>>2],c[e+4>>2]=c[n+4>>2],c[e+8>>2]=c[n+8>>2],c[n+8>>2]=0,c[n>>2]=0,c[n+4>>2]=0}function Nb(e,n){var r=0;if(r=c[e+52>>2],(r|0)==3){if(u[e+56>>1]!=1)return c[e+52>>2]=-1,-1;r=nd(e,n)}return r}function pe(e){e|=0;var n=0,r=0;return n=na(12),c[n>>2]=2244,r=c[e+8>>2],c[n+4>>2]=c[e+4>>2],c[n+8>>2]=r,n|0}function cc(e,n,r,a){var s=0;s=M-16|0,M=s,ad(s+8|0,n,r,a),n=c[s+12>>2],c[e>>2]=c[s+8>>2],c[e+4>>2]=n,M=s+16|0}function Tb(e){var n=0;n=c[e+12>>2];a:{if((n|0)==7){c[e+8>>2]=c[e+8>>2]+1,n=0;break a}n=n+1|0}c[e+12>>2]=n}function Fc(e,n,r){return(r|0)<0&&(za(),o()),e=n-e|0,n=e<<1,e>>>0>=1073741823?2147483647:n>>>0>r>>>0?n:r}function ed(e,n){var r=0;n>>>0>=1073741824&&(za(),o()),r=Fb(n),c[e+4>>2]=r,c[e>>2]=r,c[e+8>>2]=(n<<2)+r}function Ya(e){var n=0,r=0;return n=c[e+4>>2],n||o(),r=c[e>>2],c[e>>2]=r+4,c[e+4>>2]=n-1,c[r>>2]}function Yc(e,n){a:{b:{if(!l[e+4|0]){if(c[e>>2]!=(n|0))break b;break a}Xa(e),a[e+4|0]=0}c[e>>2]=n}}function Cc(e,n,r){return(r|0)<0&&(za(),o()),e=n-e|0,e>>>0>=2147483646?2147483647:e>>>0>r>>>0?e:r}function rd(e,n){var r=0,c=0;return s[e>>1]=0,t(e+4|0,0,92),r=e,c=gd(e,h(n,12)+2708|0),a[r|0]=c,e}function Vd(e,n,r,a,s,l){e|=0,n|=0,r|=0,a|=0,s|=0,l|=0,Pa(e,c[n+8>>2],l)&&Rc(n,r,a,s)}function ib(e){for(var n=0,r=0;n=r,r=n+1|0,1<<n>>>0<e>>>0;);return n&255}function bc(e){var n=0,r=0;return n=c[e+4>>2],n||o(),r=c[e>>2],c[e>>2]=r+4,c[e+4>>2]=n-1,r}function oe(e,n){e|=0,n|=0;var r=0;c[n>>2]=2244,r=c[e+8>>2],c[n+4>>2]=c[e+4>>2],c[n+8>>2]=r}function ud(e,n){var r=0;r=M-16|0,M=r,c[r+12>>2]=n,n=e+24|0,e=r+12|0,_c(n,e),la(e),M=r+16|0}function kc(e){var n=0;n=c[e>>2],n&&(c[e+4>>2]=n,ma(n),c[e+8>>2]=0,c[e>>2]=0,c[e+4>>2]=0)}function Dc(e){var n=0,r=0;n=c[e+8>>2]+1|0,n&&(r=e,e=c[e+4>>2],c[r+8>>2]=e>>>0>n>>>0?n:e)}function Kd(e,n){var r=0;(n|0)<0&&(za(),o()),r=na(n),c[e+4>>2]=r,c[e>>2]=r,c[e+8>>2]=n+r}function Eb(e,n){var r=0;(n|0)<0&&(za(),o()),r=Ad(n),c[e+4>>2]=r,c[e>>2]=r,c[e+8>>2]=n+r}function Ae(e,n){var r=0,a=0;return r=n&31,a=(-1<<r&e)>>>r|0,r=e,e=0-n&31,a|(r&-1>>>e)<<e}function Yd(e,n,r,a){e|=0,n|=0,r|=0,a|=0,c[e+4>>2]==c[c[n+8>>2]+4>>2]&&Qc(n,r,a)}function Qd(e){e|=0;var n=0;return n=c[e+64>>2],e=c[e+52>>2]+7>>>3|0,(e>>>0>n>>>0?n:e)|0}function Mb(e,n,r){for(r=0-r|0;(n|0)>0;)a[e|0]=r,n=n-1|0,e=e+1|0}function Kc(e,n){for(n=n-e|0;(n|0)>0;)a[e|0]=255,n=n-1|0,e=e+1|0}function Ib(e,n){var r=0;r=c[e>>2],c[e>>2]=n,r&&(Za(r+24|0),Ha(r+12|0),ma(Ha(r)))}function Da(){var e=0;return e=na(12),c[e+8>>2]=0,c[e>>2]=0,c[e+4>>2]=0,fb(e,512),e}function uc(e,n,r,a,s,l,u,d){!c[e+16>>2]|!c[l+16>>2]||cd(l,e,n,r,a,s,d,u)}function Ad(e){a:{if(e>>>0<=2147479550&&(e=hb(e),e))break a;Jd(),o()}return e}function Oc(e,n){return(l[e+16|0]!=(n|0)|l[e+17|0]!=255?0:l[e+2|0]^1)&1}function Nc(e){return e|=0,c[e+40>>2]=0,c[e+44>>2]=0,va(e+80|0),va(e+68|0),e|0}function qc(e){var n=0;n=c[e>>2],c[e>>2]=0,n&&(va(n+124|0),Oa(n+28|0),ma(n))}function mb(e,n){var r=0;r=vd(n,2),r||(Jd(),o()),c[e+4>>2]=n,c[e>>2]=r}function Pd(e){return e|=0,Kc(c[e+80>>2],c[e+84>>2]),c[e+52>>2]=0,1}function Pb(e,n){var r=0;r=c[e>>2],c[e>>2]=n,r&&(Za(r+4|0),ma(r))}function Ha(e){var n=0;return n=c[e>>2],n&&(c[e+4>>2]=n,ma(n)),e}function oa(e,n){var r=0;r=c[e>>2],c[e>>2]=n,r&&(va(r),ma(r))}function Ub(e){var n=0;return n=c[e>>2],c[e>>2]=0,n&&ma(n),e}function wc(e){var n=0;return n=na(16),c[n>>2]=e,cb(n+4|0,e),n}function le(e,n){return e|=0,n|=0,(c[n+4>>2]==2532?e+4|0:0)|0}function pb(e,n){var r=0;r=c[e>>2],c[e>>2]=n,r&&ma(Oa(r))}function Fb(e){return e>>>0>=1073741824&&(Wa(),o()),na(e<<2)}function bb(e,n,r,a,s,l,u){c[e+16>>2]&&Ab(l,e,n,r,a,s,u)}function Wa(){var e=0;e=vb(4),c[e>>2]=5372,C(e|0,5428,2),o()}function Ba(e){var n=0;n=c[e>>2],c[e>>2]=0,n&&ma(Ha(n))}function na(e){return e=hb(e>>>0<=1?1:e),e||(Sc(),o()),e}function va(e){var n=0;n=c[e>>2],n&&(c[e+4>>2]=n,ma(n))}function Ra(e,n){var r=0;r=c[e>>2],c[e>>2]=n,r&&ma(r)}function Ua(e){var n=0;n=c[e>>2],c[e>>2]=0,n&&ma(n)}function kb(){var e=0;return e=na(28),c[e+20>>2]=0,e}function Be(e){return e?31-_(e-1^e)|0:32}function Bc(e){return(e|0)<0&&(Wa(),o()),na(e<<1)}function ua(e,n){return sd(na(32),c[e>>2],c[n>>2])}function Hd(e,n){var r=0;r=c[e>>2],c[e>>2]=n,ma(r)}function td(e){var n=0;return n=na(4),c[n>>2]=e,n}function nc(){var e=0;return e=na(36),t(e,0,36),e}function be(e,n,r){return e|=0,n|=0,r|=0,0}function Jd(){c[(M-16|0)+12>>2]=5684,sc(),o()}function Ma(e,n,r,a){return(yb(e,n,r)^r)&a^r}function ub(e,n){return e|=0,n|=0,c[n>>2]}function ne(e){e|=0,P[c[c[e>>2]+4>>2]](e)}function gc(e){l[e+4|0]||va(c[e>>2])}function ee(e){e|=0,D(),E(e+128|0),o()}function hc(e,n){return sd(na(32),e,n)}function lc(e){e=c[e>>2],e&&ma(e)}function Td(e){return e|=0,c[e+4>>2]}function vb(e){return hb(e|80)+80|0}function Nd(e){return e|=0,hb(e)|0}function xa(e){return rd(na(96),e)}function je(e,n){e|=0,n|=0,la(n)}function ge(e,n){e|=0,n|=0,Ja(n)}function ac(e){return!!(Ta(e)|0)}function ke(e){return e|=0,2512}function de(e){return e|=0,4530}function ce(e){return e|=0,4504}function Ud(e){return e|=0,4553}function Ta(e){return Mc(e,4584)}function $b(e){return Mc(e,4600)}function sb(e){return rb(e,0),e}function qb(e){return e|=0,e|0}function pc(e){Va(e+24|0),ma(e)}function pa(e){return pb(e,0),e}function la(e){return oa(e,0),e}function Vb(e){return eb(e,0),e}function Rd(e){e|=0,ma(Nc(e))}function Pc(e){e|=0,ma(Tc(e))}function yd(e){return Oc(e,3)}function fe(e){e|=0,sc(),o()}function Hb(e){return Oc(e,2)}function Vc(e,n){e|=0,n|=0}function Qa(e){e|=0,ma(e)}function Xa(e){Lc(e,4576)}function Uc(e){Lc(e,4592)}function ta(e){Ra(e,0)}function Va(e){Ib(e,0)}function Sc(){sc(),o()}function Sb(e){Pb(e,0)}function Ja(e){Hd(e,0)}function sc(){O(),o()}function ic(e){e|=0}n=l,m(e);var P=[null,Tc,qb,xe,we,ve,ue,te,se,re,qe,qb,Nc,Rd,Qd,Pd,Od,qb,Qa,pe,oe,ic,ne,me,le,ke,Vc,je,ub,ub,Vc,ge,ub,ub,ee,fe,Qa,de,Qa,ce,qb,Qa,ic,ic,be,Qa,Xd,Qa,Ud,Pc,Td,Pc,Qa,ae,Vd,Wd,Yd,Qa,$d,_d,Zd];function $(){return r.byteLength>>16}function ea(e){e|=0;var h=$()|0,g=h+e|0;if(h<g&&g<65536&&g<=32768){var _=/* @__PURE__ */ new ArrayBuffer(g<<16);new Int8Array(_).set(a),a=new Int8Array(_),s=new Int16Array(_),c=new Int32Array(_),l=new Uint8Array(_),u=new Uint16Array(_),d=new Uint32Array(_),new Float32Array(_),f=new Float64Array(_),r=_,n=l}return h}return{j:Object.create(Object.prototype,{grow:{value:ea},buffer:{get:function(){return r}}}),k:ye,l:Nd,m:ma,n:he,o:ie,p:Sd}}return ga(e)})(n)},instantiate:function(e,n){return{then:function(r){var a=new c.Module(e);r({instance:new c.Instance(a,n)})}}},RuntimeError:Error,isWasm2js:!0};c.isWasm2js;var l=!1,u;function getMemoryBuffer(){return E.buffer}function updateMemoryViews(){if(!f?.buffer?.resizable){var e=getMemoryBuffer();f=new Int8Array(e),C=new Uint8Array(e),v=new Uint32Array(e)}}function preRun(){var e=n.preRun;e&&(typeof e==`function`&&(e=[e]),g.push(...e)),callRuntimeCallbacks(g)}function initRuntime(){O.k()}function postRun(){var e=n.postRun;e&&(typeof e==`function`&&(e=[e]),h.push(...e)),callRuntimeCallbacks(h)}function abort(e){throw n.onAbort?.(e),e=`Aborted(${e})`,s(e),l=!0,e+=`. Build with -sASSERTIONS for more info.`,new c.RuntimeError(e)}var d;function instantiateSync(e,n){var r=new c.Module(void 0);return[new c.Instance(r,n),r]}function getWasmImports(){return{a:D}}function createWasm(){function receiveInstance(e){return O=e.exports,assignWasmExports(O),updateMemoryViews(),O}var e=getWasmImports(),r=n.instantiateWasm;return r?new Promise(n=>{r(e,e=>n(receiveInstance(e)))}):(d??=void 0,receiveInstance(instantiateSync(d,e)[0]))}class ExitStatus{name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var f,callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(n)},h=[],g=[],_=!0,v;class ExceptionInfo{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){v[this.ptr+4>>2]=e}get_type(){return v[this.ptr+4>>2]}set_destructor(e){v[this.ptr+8>>2]=e}get_destructor(){return v[this.ptr+8>>2]}set_caught(e){e=+!!e,f[this.ptr+12]=e}get_caught(){return f[this.ptr+12]!=0}set_rethrown(e){e=+!!e,f[this.ptr+13]=e}get_rethrown(){return f[this.ptr+13]!=0}init(e,n){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(n)}set_adjusted_ptr(e){v[this.ptr+16>>2]=e}get_adjusted_ptr(){return v[this.ptr+16>>2]}}var y=0,__Unwind_RaiseException=e=>{abort()},___cxa_throw=(e,n,r)=>{new ExceptionInfo(e).init(n,r),y++,__Unwind_RaiseException(e)},__abort_js=()=>abort(``),b=0,__emscripten_runtime_keepalive_clear=()=>{_=!1,b=0},x={},handleException=e=>{if(e instanceof ExitStatus||e==`unwind`)return u;quit_(1,e)},keepRuntimeAlive=()=>_||b>0,_proc_exit=e=>{u=e,keepRuntimeAlive()||(n.onExit?.(e),l=!0),quit_(e,new ExitStatus(e))},exitJS=(e,n)=>{u=e,_proc_exit(e)},S=exitJS,maybeExit=()=>{if(!keepRuntimeAlive())try{S(u)}catch(e){handleException(e)}},callUserCallback=e=>{if(!l)try{return e()}catch(e){handleException(e)}finally{maybeExit()}},_emscripten_get_now=()=>performance.now(),__setitimer_js=(e,n)=>(x[e]&&(clearTimeout(x[e].id),delete x[e]),n&&(x[e]={id:setTimeout(()=>{delete x[e],callUserCallback(()=>T(e,_emscripten_get_now()))},n),timeout_ms:n}),0);function _createImageData(e){n.imageData=new Uint8Array(e)}var getHeapMax=()=>2147483648,alignMemory=(e,n)=>Math.ceil(e/n)*n,growMemory=e=>{var n=(e-E.buffer.byteLength+65535)/65536|0;try{return E.grow(n),updateMemoryViews(),1}catch{}},C,_emscripten_resize_heap=e=>{var n=C.length;e>>>=0;var r=getHeapMax();if(e>r)return!1;for(var a=1;a<=4;a*=2){var s=n*(1+.2/a);if(s=Math.min(s,e+100663296),growMemory(Math.min(r,alignMemory(Math.max(e,s),65536))))return!0}return!1};function _setImageData(e,r,a,s){if(a===r){n.imageData=new Uint8ClampedArray(C.subarray(e,e+a*s));return}let c=r*s,l=n.imageData=new Uint8ClampedArray(c);for(let n=e,s=0;s<c;n+=a,s+=r)l.set(C.subarray(n,n+r),s)}function _setLineData(e,r,a){n.imageData.set(C.subarray(e,e+r),a)}var writeArrayToMemory=(e,n)=>{f.set(e,n)};n.noExitRuntime&&(_=n.noExitRuntime),n.print&&n.print,n.printErr&&(s=n.printErr),n.wasmBinary&&n.wasmBinary,n.arguments&&n.arguments,n.thisProgram&&n.thisProgram;var w=n.preInit;if(w)for(typeof w==`function`&&(n.preInit=w=[w]);w.length>0;)w.shift()();n.writeArrayToMemory=writeArrayToMemory;var T,E;function assignWasmExports(e){n._malloc=e.l,n._free=e.m,n._jbig2_decode=e.n,n._ccitt_decode=e.o,T=e.p,E=e.j,e.__indirect_function_table}var D={a:___cxa_throw,f:__abort_js,e:__emscripten_runtime_keepalive_clear,b:__setitimer_js,h:_createImageData,c:_emscripten_resize_heap,d:_proc_exit,i:_setImageData,g:_setLineData};async function run(){preRun();var e=n.setStatus;e&&(e(`Running...`),await new Promise(e=>setTimeout(e,1)),setTimeout(e,1,``)),!l&&(initRuntime(),n.onRuntimeInitialized?.(),postRun())}var O=createWasm();return await run(),n}export{JBig2 as default};
@@ -0,0 +1 @@
1
+ function createDecoderLoader(e){return async t=>{if(!Object.hasOwn(e,t))throw Error(`No bundled decoder for ${t}`);let{default:n}=await e[t]();return n}}export{createDecoderLoader as t};