From ac85cf6abe11ac4da22bc2a426f7685ad9f3efe6 Mon Sep 17 00:00:00 2001 From: Teetoow Date: Tue, 25 Aug 2020 13:55:19 +0200 Subject: [PATCH 001/381] cp "-t" option does not exists under FreeBSD cp: its a new GNU cp option added in order to use cp with xargs. If xargs is not used this option is useless since the output directory have to be specified as the last argument (by default). --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 816c38b53b..6afefa2a8c 100644 --- a/Makefile +++ b/Makefile @@ -41,7 +41,7 @@ all: $(WEBAPPS) $(WEBAPPS): $(WEBAPPS_FILES) mkdir -p $(OUTPUT)/$(WEBAPPS_DIR) && \ - cp -r -t $(OUTPUT)/$(WEBAPPS_DIR) ../$(WEBAPPS_DIR)/deploy/** + cp -r ../$(WEBAPPS_DIR)/deploy/** $(OUTPUT)/$(WEBAPPS_DIR) $(WEBAPPS_FILES): $(NODE_MODULES) $(SDKJS_FILES) cd ../$(WEBAPPS_DIR)/build && \ From 7f8bad6e4548e67f13bc3ec6c502084f14bdac1e Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sat, 20 Feb 2021 14:46:32 +0300 Subject: [PATCH 002/381] [bug] Fix bug 48856 --- common/Charts/DrawingObjects.js | 2 +- common/Drawings/Format/Shape.js | 8 +++++++- word/api.js | 3 ++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/common/Charts/DrawingObjects.js b/common/Charts/DrawingObjects.js index 4c338dd452..8a1ce6f502 100644 --- a/common/Charts/DrawingObjects.js +++ b/common/Charts/DrawingObjects.js @@ -2466,7 +2466,7 @@ GraphicOption.prototype.union = function(oGraphicOption) { } else { - oSpToEdit.setSignaturePr(oPr); + oSpToEdit.setSignaturePr(oPr, sImgUrl); oApi.sendEvent("asc_onAddSignature", sGuid); } diff --git a/common/Drawings/Format/Shape.js b/common/Drawings/Format/Shape.js index 5cc569ba5b..81cdd61861 100644 --- a/common/Drawings/Format/Shape.js +++ b/common/Drawings/Format/Shape.js @@ -1051,7 +1051,7 @@ CShape.prototype.setSignature = function(oSignature) History.Add(new AscDFH.CChangesDrawingsObjectNoId(this, AscDFH.historyitem_ShapeSetSignature, this.signatureLine, oSignature)); this.signatureLine = oSignature; }; -CShape.prototype.setSignaturePr = function(oPr) +CShape.prototype.setSignaturePr = function(oPr, sUrl) { if(!oPr || !this.signatureLine) { @@ -1060,6 +1060,12 @@ CShape.prototype.setSignaturePr = function(oPr) var oCopy = this.signatureLine.copyWithId(); oCopy.setProperties(oPr); this.setSignature(oCopy); + if(sUrl) { + if(this.spPr) { + var oBlipFillUnifill = AscFormat.CreateBlipFillUniFillFromUrl(sUrl); + this.spPr.setFill(oBlipFillUnifill); + } + } }; CShape.prototype.convertToWord = function (document) { diff --git a/word/api.js b/word/api.js index a43ac0325f..aff4a5f99c 100644 --- a/word/api.js +++ b/word/api.js @@ -4197,7 +4197,8 @@ background-repeat: no-repeat;\ } else { - oSpToEdit.setSignaturePr(oPr); + oSpToEdit.setSignaturePr(oPr, sImgUrl); + oLogicDocument.Recalculate(); this.sendEvent("asc_onAddSignature", sGuid); } oLogicDocument.FinalizeAction(); From baa76dfbcdf5b3e7c24c367cb1c52d4f6579a0e8 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sat, 20 Feb 2021 16:59:08 +0300 Subject: [PATCH 003/381] [bug] Fix bugs with signatures --- common/Drawings/Format/Shape.js | 11 +++++++++++ common/Drawings/TrackObjects/ResizeTracks.js | 3 ++- slide/Editor/Format/ShapePrototype.js | 4 ++++ word/Editor/Paragraph/ParaDrawing.js | 11 +++++++++-- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/common/Drawings/Format/Shape.js b/common/Drawings/Format/Shape.js index 81cdd61861..4be0042741 100644 --- a/common/Drawings/Format/Shape.js +++ b/common/Drawings/Format/Shape.js @@ -1103,6 +1103,9 @@ CShape.prototype.convertToWord = function (document) { c.setTextBoxContent(new_content); } } + if(this.signatureLine) { + c.setSignature(this.signatureLine.copy()); + } return c; }; @@ -1142,6 +1145,11 @@ CShape.prototype.convertToPPTX = function (drawingDocument, worksheet, bIsAddMat tx_body.setContent(new_content); c.setTxBody(tx_body); } + if(worksheet) { + if(this.signatureLine) { + c.setSignature(this.signatureLine.copy()); + } + } return c; }; @@ -5751,6 +5759,9 @@ CShape.prototype.canRotate = function () { if(this.cropObject) { return false; } + if(this.signatureLine) { + return false; + } return AscFormat.CGraphicObjectBase.prototype.canRotate.call(this); }; diff --git a/common/Drawings/TrackObjects/ResizeTracks.js b/common/Drawings/TrackObjects/ResizeTracks.js index 390cfc40eb..2539beeda2 100644 --- a/common/Drawings/TrackObjects/ResizeTracks.js +++ b/common/Drawings/TrackObjects/ResizeTracks.js @@ -854,7 +854,8 @@ function ResizeTrackShapeImage(originalObject, cardDirection, drawingsController this.resizedflipH = this.originalFlipH; this.resizedflipV = this.originalFlipV; } - if(this.originalObject.getObjectType() && this.originalObject.getObjectType() === AscDFH.historyitem_type_OleObject){ + if(this.originalObject.signatureLine || + (this.originalObject.getObjectType && this.originalObject.getObjectType() === AscDFH.historyitem_type_OleObject)){ this.resizedflipH = false; this.resizedflipV = false; } diff --git a/slide/Editor/Format/ShapePrototype.js b/slide/Editor/Format/ShapePrototype.js index 43576a28da..21e781a95a 100644 --- a/slide/Editor/Format/ShapePrototype.js +++ b/slide/Editor/Format/ShapePrototype.js @@ -120,6 +120,10 @@ CShape.prototype.addToDrawingObjects = function(pos) { if(this.parent && this.parent.cSld && this.parent.cSld.spTree) { + if(this.signatureLine && this.setSignature) + { + this.setSignature(null); + } this.parent.shapeAdd(pos, this); } }; diff --git a/word/Editor/Paragraph/ParaDrawing.js b/word/Editor/Paragraph/ParaDrawing.js index 8d35e962e0..dec1b33b62 100644 --- a/word/Editor/Paragraph/ParaDrawing.js +++ b/word/Editor/Paragraph/ParaDrawing.js @@ -1736,10 +1736,10 @@ ParaDrawing.prototype.OnEnd_MoveInline = function(NearPos) return; } - var RunPr = this.Remove_FromDocument(false); - // При переносе всегда создаем копию, чтобы в совместном редактировании не было проблем var NewParaDrawing = this.Copy(); + var RunPr = this.Remove_FromDocument(false); + this.DocumentContent.Select_DrawingObject(NewParaDrawing.GetId()); NewParaDrawing.Add_ToDocument(NearPos, true, RunPr, undefined, oPictureCC); }; @@ -2946,6 +2946,13 @@ ParaDrawing.prototype.PreDelete = function() { arrDocContents[nIndex].PreDelete(); } + var oGrObject = this.GraphicObj; + if(oGrObject && oGrObject.signatureLine) + { + var sId = oGrObject.signatureLine.id; + oGrObject.setSignature(null); + editor && editor.sendEvent("asc_onRemoveSignature", sId); + } }; ParaDrawing.prototype.CheckContentControlEditingLock = function(){ if(this.DocumentContent && this.DocumentContent.CheckContentControlEditingLock){ From 4ca3701b6dbe438a8089a6c8aa1e716308616069 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sun, 21 Feb 2021 10:48:00 +0300 Subject: [PATCH 004/381] [bug] Fix bug 48862; Fix bug 48863 --- cell/api.js | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/cell/api.js b/cell/api.js index 8bc5ef9a81..a2872fb328 100644 --- a/cell/api.js +++ b/cell/api.js @@ -2913,18 +2913,19 @@ var editor; var nSheetIdx = oWorksheet.getIndex(); if (this.asc_getActiveWorksheetIndex() !== nSheetIdx) { this.asc_showWorksheet(nSheetIdx); - var oWSView = this.wb.getWorksheet(); - if(oWSView) { - var oRender = oWSView.objectRender; - if(oRender) { - var oController = oRender.controller; - if(oController) { - oSp.Set_CurrentElement(false); - oController.selection.textSelection = null; - oController.updateSelectionState(); - oController.updateOverlay(); - oRender.sendGraphicObjectProps(); - } + } + var oWSView = this.wb.getWorksheet(); + if(oWSView) { + var oRender = oWSView.objectRender; + if(oRender) { + var oController = oRender.controller; + if(oController) { + oSp.Set_CurrentElement(false); + oController.selection.textSelection = null; + oWSView.setSelectionShape(true); + oController.updateSelectionState(); + oController.updateOverlay(); + oRender.sendGraphicObjectProps(); } } } From 519b3c90d9561f2dbaa6353b82f5bc6277e23bb1 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Tue, 23 Feb 2021 00:56:14 +0300 Subject: [PATCH 005/381] [bug] Fix top cell margin in presentation tables (from StandartTester) --- word/Editor/Table/TableCell.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/word/Editor/Table/TableCell.js b/word/Editor/Table/TableCell.js index 18fbf82df0..3cbfb2b1d3 100644 --- a/word/Editor/Table/TableCell.js +++ b/word/Editor/Table/TableCell.js @@ -1298,7 +1298,7 @@ CTableCell.prototype = var nT = oDefaultMargins.Top; var nB = oDefaultMargins.Bottom; var nL = oDefaultMargins.Left; - var nR = oDefaultMargins.Right + var nR = oDefaultMargins.Right; if (oCellMargins) { @@ -1316,7 +1316,7 @@ CTableCell.prototype = } // Делаем как MSWord, верхний отступ считаем общим для всей строки - if (true !== isDirectTop) + if (true !== isDirectTop && !this.Row.Table.bPresentation) nT = new CTableMeasurement(tblwidth_Mm, this.private_GetRowTopMargin()); return { From e5b79c3d5768872639b97fc872d17da3efc1a9ff Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Wed, 24 Feb 2021 15:31:23 +0300 Subject: [PATCH 006/381] Fix/k620 (#1620) * Fix bug 48811 * Fix previuos commit * Fix previuos commit * Fix bug 48876 --- common/apiBase.js | 1 + slide/api.js | 15 +++++++++++++++ word/Drawing/buttons.js | 3 +++ 3 files changed, 19 insertions(+) diff --git a/common/apiBase.js b/common/apiBase.js index 4b37379314..7ebed90425 100644 --- a/common/apiBase.js +++ b/common/apiBase.js @@ -512,6 +512,7 @@ baseEditorsApi.prototype.asc_removeRestriction = function(val) { this.restrictions &= ~val; + this.onUpdateRestrictions(); }; baseEditorsApi.prototype.canEdit = function() { diff --git a/slide/api.js b/slide/api.js index 645f84ebd3..a374ef19ce 100644 --- a/slide/api.js +++ b/slide/api.js @@ -7586,6 +7586,21 @@ background-repeat: no-repeat;\ } } }; + + asc_docs_api.prototype.onUpdateRestrictions = function() + { + if (!this.WordControl || !this.WordControl.m_oLogicDocument || !this.WordControl.m_oDrawingDocument) + return; + + var logicDocument = this.WordControl.m_oLogicDocument; + var slide = (logicDocument.CurPage >= 0) ? logicDocument.Slides[logicDocument.CurPage] : null; + if (slide) + { + if (this.WordControl.m_oDrawingDocument.placeholders) + this.WordControl.m_oDrawingDocument.placeholders.update(slide.getPlaceholdersControls()); + } + }; + //-------------------------------------------------------------export--------------------------------------------------- window['Asc'] = window['Asc'] || {}; window['AscCommonSlide'] = window['AscCommonSlide'] || {}; diff --git a/word/Drawing/buttons.js b/word/Drawing/buttons.js index f73f173861..a260d0be87 100644 --- a/word/Drawing/buttons.js +++ b/word/Drawing/buttons.js @@ -525,6 +525,9 @@ Placeholders.prototype.update = function(objects) { + if (this.document.m_oWordControl.m_oApi.isViewMode || this.document.m_oWordControl.m_oApi.isRestrictionSignatures()) + objects = []; + var count = this.objects.length; var newCount = objects ? objects.length : 0; if (count != newCount) From 744a63a01dfd8092fdaabc562ecbafd3591bf4d2 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Wed, 24 Feb 2021 17:41:53 +0300 Subject: [PATCH 007/381] [bug] For bug 48857 --- common/Drawings/CommonController.js | 1 + 1 file changed, 1 insertion(+) diff --git a/common/Drawings/CommonController.js b/common/Drawings/CommonController.js index 5962025e25..0953c65e3d 100644 --- a/common/Drawings/CommonController.js +++ b/common/Drawings/CommonController.js @@ -9678,6 +9678,7 @@ DrawingObjectsController.prototype = shape_props.ShapeProperties.textFitType = props.shapeProps.textFitType; shape_props.ShapeProperties.vertOverflowType = props.shapeProps.vertOverflowType; shape_props.ShapeProperties.shadow = props.shapeProps.shadow; + shape_props.ShapeProperties.signatureId = props.shapeProps.signatureId; if(props.shapeProps.textArtProperties && oDrawingDocument) { oTextArtProperties = props.shapeProps.textArtProperties; From f4567df65002dc7a159b23cdece7e1c14729d2a7 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Wed, 24 Feb 2021 19:38:36 +0300 Subject: [PATCH 008/381] Fix/k620 (#1622) * Fix bug 48811 * Fix previuos commit * Fix previuos commit * Fix bug 48876 * Fix bug 48767 --- cell/Local/api.js | 2 +- slide/Local/api.js | 2 +- word/Local/api.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cell/Local/api.js b/cell/Local/api.js index 24624178dd..68b0ea074c 100644 --- a/cell/Local/api.js +++ b/cell/Local/api.js @@ -142,7 +142,7 @@ var c_oAscError = Asc.c_oAscError; this.LastUserSavedIndex = AscCommon.History.UserSavedIndex; } - if (true === this.canSave && !this.isLongAction()) + if (true === this.canSave && this._saveCheck()) { var _isNaturalSave = this.IsUserSave; this.canSave = false; diff --git a/slide/Local/api.js b/slide/Local/api.js index e6a0e02c37..90a6f365b2 100644 --- a/slide/Local/api.js +++ b/slide/Local/api.js @@ -120,7 +120,7 @@ Asc['asc_docs_api'].prototype.asc_Save = function (isNoUserSave, isSaveAs, isRes this.LastUserSavedIndex = AscCommon.History.UserSavedIndex; } - if (true === this.canSave && !this.isLongAction()) + if (true === this.canSave && this._saveCheck()) { var _isNaturalSave = this.IsUserSave; this.canSave = false; diff --git a/word/Local/api.js b/word/Local/api.js index df21aa88fc..3c3f2fdb99 100644 --- a/word/Local/api.js +++ b/word/Local/api.js @@ -146,7 +146,7 @@ Asc['asc_docs_api'].prototype.asc_Save = function (isNoUserSave, isSaveAs, isRes this.LastUserSavedIndex = AscCommon.History.UserSavedIndex; } - if (true === this.canSave && !this.isLongAction()) + if (true === this.canSave && this._saveCheck()) { var _isNaturalSave = this.IsUserSave; this.canSave = false; From 872efe98e1e581f66411c019fb63af5aa12eaf2a Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 24 Feb 2021 20:48:34 +0300 Subject: [PATCH 009/381] Fix bug #48864 Also fix the problem with calculating of the min/max content width of the text that contains hyphens --- word/Editor/Run.js | 12 ++++++++++++ word/Editor/Table/TableCell.js | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/word/Editor/Run.js b/word/Editor/Run.js index 3c49b3e949..9e8316e5a0 100644 --- a/word/Editor/Run.js +++ b/word/Editor/Run.js @@ -5342,6 +5342,18 @@ ParaRun.prototype.RecalculateMinMaxContentWidth = function(MinMax) nCurMaxWidth += ItemWidth; bCheckTextHeight = true; + + // Если текущий символ с переносом, например, дефис, тогда на нем заканчивается слово + if (Item.IsSpaceAfter()) + { + if (nMinWidth < nWordLen) + nMinWidth = nWordLen; + + bWord = false; + nWordLen = 0; + nSpaceLen = 0; + } + break; } case para_Math_Text: diff --git a/word/Editor/Table/TableCell.js b/word/Editor/Table/TableCell.js index 3cbfb2b1d3..1dc46fe83f 100644 --- a/word/Editor/Table/TableCell.js +++ b/word/Editor/Table/TableCell.js @@ -998,7 +998,7 @@ CTableCell.prototype = { if (this.GetW().IsMM()) { - oResult.ContentMin = Math.max(oResult.ContentMin, oResult.Min - nAdd); + oResult.ContentMin = Math.max(oResult.ContentMin, oResult.Min); } else { From 0317df096a4119450079479e09e4f7f34b112e57 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 25 Feb 2021 12:24:58 +0300 Subject: [PATCH 010/381] For bug #48835 Clear history when adding a signature to document/presentation --- slide/api.js | 6 ++++++ word/api.js | 27 ++++++++++++++++++--------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/slide/api.js b/slide/api.js index a374ef19ce..dd8e824041 100644 --- a/slide/api.js +++ b/slide/api.js @@ -7599,6 +7599,12 @@ background-repeat: no-repeat;\ if (this.WordControl.m_oDrawingDocument.placeholders) this.WordControl.m_oDrawingDocument.placeholders.update(slide.getPlaceholdersControls()); } + + if (this.isRestrictionSignatures() && !AscCommon.History.Have_Changes()) + { + AscCommon.History.Clear(); + logicDocument.Document_UpdateInterfaceState(); + } }; //-------------------------------------------------------------export--------------------------------------------------- diff --git a/word/api.js b/word/api.js index aff4a5f99c..0254bcd426 100644 --- a/word/api.js +++ b/word/api.js @@ -10806,18 +10806,27 @@ background-repeat: no-repeat;\ asc_docs_api.prototype.onUpdateRestrictions = function() { - var contentControls = null; - if (this.WordControl && this.WordControl.m_oDrawingDocument) - contentControls = this.WordControl.m_oDrawingDocument.contentControls; - - if (!contentControls) + var oLogicDocument = this.private_GetLogicDocument(); + if (!oLogicDocument) return; - if (contentControls.ContentControlObjects.length === 0) - return; + if (this.WordControl && this.WordControl.m_oDrawingDocument) + { + var contentControls = this.WordControl.m_oDrawingDocument.contentControls; - contentControls.clearAttack(); - this.WordControl.m_oLogicDocument.Document_UpdateSelectionState(); + if (contentControls && contentControls.ContentControlObjects.length !== 0) + { + contentControls.clearAttack(); + oLogicDocument.UpdateSelectionState(); + } + } + + var oHistory = oLogicDocument.GetHistory(); + if (this.isRestrictionSignatures() && oHistory && !oHistory.Have_Changes()) + { + oHistory.Clear(); + oLogicDocument.UpdateInterface(); + } }; //-------------------------------------------------------------export--------------------------------------------------- From 7c42e40396e86be116fd96db4c456e3e67b623db Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Thu, 25 Feb 2021 15:42:58 +0300 Subject: [PATCH 011/381] [se] Fix bug 48835 --- cell/api.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cell/api.js b/cell/api.js index a2872fb328..1b001d9d20 100644 --- a/cell/api.js +++ b/cell/api.js @@ -5076,6 +5076,13 @@ var editor; } }; + spreadsheet_api.prototype.onUpdateRestrictions = function () { + var oHistory = AscCommon.History; + if (this.isRestrictionSignatures() && oHistory && !oHistory.Have_Changes()) { + oHistory.Clear(); + } + }; + /* * Export * ----------------------------------------------------------------------------- From 2f592cb15275a2a77851afa22d3a84f5ce8d23ac Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Fri, 26 Feb 2021 14:59:27 +0300 Subject: [PATCH 012/381] [bug] Fix cursor position after inserting of tof --- word/Editor/Document.js | 1 - 1 file changed, 1 deletion(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 8e217052e3..25a133d3d8 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -22150,7 +22150,6 @@ CDocument.prototype.AddTableOfFigures = function(oPr) oStyles.SetTOFStyleType(nStylesType); oComplexField.Update(); var oNextParagraph; - this.MoveCursorToEndPos(false); var oParagraph = this.GetCurrentParagraph(); if(oParagraph) { From 96dbb30e589d4636a1734efa634a1453d93ac2e7 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Mon, 1 Mar 2021 11:52:52 +0300 Subject: [PATCH 013/381] [bug] Fix bug 48894 --- common/Drawings/CommonController.js | 62 +++++++++++++++++------------ 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/common/Drawings/CommonController.js b/common/Drawings/CommonController.js index 0953c65e3d..257329aa06 100644 --- a/common/Drawings/CommonController.js +++ b/common/Drawings/CommonController.js @@ -1664,6 +1664,42 @@ DrawingObjectsController.prototype = } if(!is_selected || b_check_internal) this.updateOverlay(); + + + if(e.ClickCount > 1 && !e.ShiftKey && !e.CtrlKey && ((this.selection.groupSelection && this.selection.groupSelection.selectedObjects.length === 1) || this.selectedObjects.length === 1)) + { + var drawing = this.selectedObjects[0].parent; + + if (object.getObjectType() === AscDFH.historyitem_type_ChartSpace && this.handleChartDoubleClick) { + this.handleChartDoubleClick(drawing, object, e, x, y, pageIndex); + return true; + } + if(object.getObjectType() === AscDFH.historyitem_type_Shape){ + if(null !== object.signatureLine){ + if(this.handleSignatureDblClick){ + this.handleSignatureDblClick(object.signatureLine.id, object.extX, object.extY); + return true; + } + } + else if(this.handleDblClickEmptyShape){ + if(!object.getDocContent()){ + this.handleDblClickEmptyShape(object); + if(object.getDocContent()) { + return true; + } + } + } + } + if (object.getObjectType() === AscDFH.historyitem_type_OleObject && this.handleOleObjectDoubleClick){ + this.handleOleObjectDoubleClick(drawing, object, e, x, y, pageIndex); + return true; + } + else if (2 == e.ClickCount && drawing instanceof ParaDrawing && drawing.IsMathEquation()) + { + this.handleMathDrawingDoubleClick(drawing, e, x, y, pageIndex); + return true; + } + } if(object.canMove()) { this.checkSelectedObjectsForMove(group, pageIndex); @@ -1688,32 +1724,6 @@ DrawingObjectsController.prototype = this.updateOverlay(); this.changeCurrentState(new AscFormat.PreMoveInGroupState(this, group, x, y, e.ShiftKey, e.CtrlKey, object, is_selected)); } - if(e.ClickCount > 1 && !e.ShiftKey && !e.CtrlKey && ((this.selection.groupSelection && this.selection.groupSelection.selectedObjects.length === 1) || this.selectedObjects.length === 1)) - { - var drawing = this.selectedObjects[0].parent; - - if (object.getObjectType() === AscDFH.historyitem_type_ChartSpace && this.handleChartDoubleClick) - this.handleChartDoubleClick(drawing, object, e, x, y, pageIndex); - if(object.getObjectType() === AscDFH.historyitem_type_Shape){ - if(null !== object.signatureLine){ - if(this.handleSignatureDblClick){ - this.handleSignatureDblClick(object.signatureLine.id, object.extX, object.extY) - } - } - else if(this.handleDblClickEmptyShape){ - if(!object.getDocContent()){ - this.handleDblClickEmptyShape(object); - } - } - } - if (object.getObjectType() === AscDFH.historyitem_type_OleObject && this.handleOleObjectDoubleClick){ - this.handleOleObjectDoubleClick(drawing, object, e, x, y, pageIndex); - } - else if (2 == e.ClickCount && drawing instanceof ParaDrawing && drawing.IsMathEquation()) - { - this.handleMathDrawingDoubleClick(drawing, e, x, y, pageIndex); - } - } } return true; } From 653cb216b2601bb9e0668ca7f763b90031d7c22e Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Mon, 1 Mar 2021 13:37:39 +0300 Subject: [PATCH 014/381] Fix bug #48908 --- word/Editor/Document.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 25a133d3d8..ef78c4eb6e 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -11683,6 +11683,9 @@ CDocument.prototype.Document_UpdateInterfaceState = function(bSaveCurRevisionCha }; CDocument.prototype.private_UpdateInterface = function(bSaveCurRevisionChange) { + if (!this.Api.isDocumentLoadComplete || true === AscCommon.g_oIdCounter.m_bLoad || true === AscCommon.g_oIdCounter.m_bRead) + return; + if (true === this.TurnOffInterfaceEvents) return; From c24f71df68035101580308d95efa153f7c99978b Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 2 Mar 2021 18:36:01 +0300 Subject: [PATCH 015/381] Fix bug 48927 (#1635) --- common/Local/common.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/common/Local/common.js b/common/Local/common.js index 95a297c829..f387cf2bd7 100644 --- a/common/Local/common.js +++ b/common/Local/common.js @@ -78,6 +78,10 @@ { return this.isRestrictionView(); }; + AscCommon.baseEditorsApi.prototype["local_sendEvent"] = function() + { + return this.sendEvent.apply(this, arguments); + }; })(window); ///////////////////////////////////////////////////////// From f102680ebcde63f4ff129d4ecff506fd5f1abee4 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Wed, 3 Mar 2021 14:46:34 +0300 Subject: [PATCH 016/381] Add scripts for spell worker (#1636) --- build/Gruntfile.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/Gruntfile.js b/build/Gruntfile.js index 7ef813462a..509941c257 100644 --- a/build/Gruntfile.js +++ b/build/Gruntfile.js @@ -422,7 +422,8 @@ module.exports = function(grunt) { 'Images/cursors/*', 'Native/*.js', 'libfont/js/fonts.*', - 'libfont/wasm/fonts.*' + 'libfont/wasm/fonts.*', + 'spell/spell/*' ], dest: path.join(deploy, 'common') }, From 07d035411a69d013b3d1f9c3bfb9dfe0a4b7d8ba Mon Sep 17 00:00:00 2001 From: Kulikova Svetlana Date: Thu, 4 Mar 2021 14:26:32 +0300 Subject: [PATCH 017/381] fix put_BrushGradient (#1640) removed access to properties whose names were collapsed --- common/Native/native_graphics.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/common/Native/native_graphics.js b/common/Native/native_graphics.js index f41d70a388..c8858dc55c 100644 --- a/common/Native/native_graphics.js +++ b/common/Native/native_graphics.js @@ -660,7 +660,15 @@ CNativeGraphics.prototype = }, put_BrushGradient : function(gradFill, points, transparent) { - this.Native["put_BrushGradient"](gradFill.colors, transparent, points.x0, points.y0, points.x1, points.y1, points.r0, points.r1); + var colors = new Array(gradFill.colors.length * 5); + for (var i = 0; i < gradFill.colors.length; i++) { + colors[i * 5] = gradFill.colors[i].pos; + colors[i * 5 + 1] = gradFill.colors[i].color.RGBA.R; + colors[i * 5 + 2] = gradFill.colors[i].color.RGBA.G; + colors[i * 5 + 3] = gradFill.colors[i].color.RGBA.B; + colors[i * 5 + 4] = gradFill.colors[i].color.RGBA.A; + } + this.Native["put_BrushGradient"](colors, transparent, points.x0, points.y0, points.x1, points.y1, points.r0, points.r1); }, TransformPointX : function(x, y) { From 1e1fcce5465accd5f8cbfe747025d297afe8e123 Mon Sep 17 00:00:00 2001 From: SalnikovDE Date: Thu, 4 Mar 2021 18:07:43 +0300 Subject: [PATCH 018/381] fix spellBug (#1643) --- common/spell/spell/spell.js | 2 +- common/spell/spell/spell.wasm | Bin 512911 -> 512836 bytes common/spell/spell/spell_ie.js | 18 +++++++++--------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/common/spell/spell/spell.js b/common/spell/spell/spell.js index 7b2c7d4733..b4910aa273 100644 --- a/common/spell/spell/spell.js +++ b/common/spell/spell/spell.js @@ -542,4 +542,4 @@ function Spellchecker() self.spellchecker.checkMessage(); }, 1); }; -} +} \ No newline at end of file diff --git a/common/spell/spell/spell.wasm b/common/spell/spell/spell.wasm index acd735e5d4099dbf7418f1ad57cbd2662e729d40..0e9c4a06c8d2ded9652b02a75af5e42fca42c711 100755 GIT binary patch delta 4045 zcmY*c30PD|5`NWH{ocT!3?2xcqcIybUbEt{-jirHMvX_ZCLW1y)~vf2O^9*Bn%%_% z5tY*c8o>(>yf2>G2!bMBcxz0=14YFXK|D|tkL^KY()o9sz# zvZ*D*9Y%)PnvDg9-mZE0HZ#bz9b47*W(;a*oM~-e@hEdwP;Zci)D)sd}7xxN8?56LMLHAnlS4-)n_BOwumu@Pl?vhsj#L4*$|l>+qxYvkt-9 zNge*J9o1oqc3Ag_;h;IedXc3;uCdriGUAOQ%rbTwJB(~2)5wEqELxA$qx1-U23vp& z^<;fIn}_jwoStE9H$vG8J>8H-P*6&UzRg&yZ#5R_Ta1;)3M186Zp0W-Mzj%W%z?Sa z9AmZ-Zp<>$G0d20gc?`$L;68|qrO2;)7R-+^ws*1RDHR=Okbie#DzGM&DCFU&$;Xx zU7?kc3@nnU5VpWUP)%3&d==~w!NPSMY_o1LT+bes;eqjZE0 zQ63$jpuLn!nQSYi(Pr928)zM6Fq3xh9KMm((;9Mt!*Q7|Q6XKV3sgYo>6|ijmd;Q< zId-vK>^|I6_c6K$j@`72?n6*eHtk@JOxo@iLV~1Qawt1@c^SXM)k7&S;li{Iqe zcoDB)6|9h7;OF^Sp3fbp`LFyGKgr8j89T<0@PqsS-^U%fd^g|4ck*nW#WQ&ZcWmeB zT=H#vE8oIRp5``ui*4i^_g9Q#{4e9gu7;ceis~gDgEqhw)JEn984%qks$^m1})7%-fbUFUWQ+ zuImR`uJpQ1A;WdHZaKudj{A;)Rpz_(DjL8=SMv_-V7BYi4yEwad_Q2b6|S1)y#fHP zx>`BM!Ywn}8Oh+f*{Dx4z!}%}zTM!QS>AWIC&ZiSgTLWW?0S3Hhp^q8ILwdWf;nr% zXbz8-U03ZB^TyZ%HDIB+`TNPWl=?d}lfB@knHw8!vBv6l=ClObHQOq4SW*^)$7Y>{ zsSGO3%*BV9_cPrKtai-~c4p_cr>=yhBcRfCcWJ5jlWHT6T}zgKdsKxztcI0W zVGpWd_p7jb)v&u&SXnjfP8C*K4J&a`>X#}we@k8A3x`dQtY*OWaABJcbzB8mjm$5z zV-dp5vYZ@(t!CQ37YLipw1Zv%Ys{U8J^?sn);=;ApwJw9^u7fanV+AYYlkwk=uw>^ zP$D0H2yYQ=l8pvJIVrjJP#D`D_RHYuu+0aq%XV=Pg>X$~3wUgW9GSihu6V-%xxj=C zI$RO`GvF;qlHX=P7lONTRkn&FJdk<2z-seYsk0Ef)`B$@Z5!}+B%Oek25c5>^P#Pp z@{4>JM364lpNDT?o~T~{Jz%}~ya4_Vm2zhRBoU;@5trd1fRICqpqCFk7qR8g8}j7I za&XjxS(0k76i?VCQ|qzk0K3Ere|7~vlXcx)4 zLZ}RkWWRbrf^a6W=8!1@%MTsyeyQC5N30L9LSF9R?pKLt0r-w+-x2%iw{IA>7!Z>> z;y`h*BaZa&aK|W<**sk`H_0UIsf~>J&J!gh5V~Aa3`;^{_`I^~E?j>I1x>L!9h35H~W26UBpYvrij< z5NAkJV7=XWZL#eWy*|K3V!>d{fk)!YA(#aRWy7I323Q3be+|V>V#_Bu2M)_#pJE3N zQ^lm=DsrV_>u~%CidBYAX&*+;Q}aDqFwJ?qsvGZQlbvPrJ!~_n8K`xJlFEe{slg{p9m3(qhOYJ5Q@!&EeyM>cLs(j zcc06|Fbv}$M3V^IsB-sM1lDa6&%J!CcJ6E#Xg8c)0#%sFZn4F2FPj^+RYP6EClc$n zn#a9rTHn-;`2FU~$~QfHji$co;cIjS_wsgIAh#c{(dDlkehn-WDFW-k zQn6j&bVw216R|HWar@UrWF+DYSnPJP1uT-|<|Fz*sT{us|I5_IC#7I-*>XLO=hE9$ z+a==C@F%%>3wGm*cB6J+Hzr!_z^@g_DZ$00V<*~J&1#%;NbbtT226~|ReDF=!d-$B zufQV*75MWj;o~Dp_(k|!$7DI^D4yVOMm9Z#KQTDx?tPgs^YLp|z-3Mm-U7G9hQfXh z`>~6^LFe|qgu2Vpi`XCJ?jpPiV!(k{it>X?IE2AfnRo?*QPGl`Yc;X^uRi_!VhoVI zZleu^&uwfgKPtgasszhvcQAp&GwD~3p-h%NLIT(?$}6x^EO>;U%Cg6J7*twjRpP@& zDll98sgnUNQEaC(Fi-AnO6puNO@_CoV363B&e>!@FG@mjp(hO!N8h6eIkXQ&p&0Q# zRmj3W(=(E@2a*Rum~;)MiJ*v-4W%y$*2upOqyHg1k%hx)0Kfy$W+eRr>jaLX@#<^( zb`%{{#}d(XG&O|F;I|m?NY9L+>H@iW4DJThW;~7DAmBgBVjuQDUwP zn?}tLcFWbFv;yFW927fdcoxW03#gASI?ShXJg?h@?=o5;|GS*_>y4%x>VHO4O%>7J<5dyW zysfsH+HXIRv5a!%S8HhwgMFf8J@r(Lndd^ z79X|x!AGdj23w@#0`)QEvg?$@V2|v1i*D40VsWAd4-|v%ks%YGQxHPY?}+$`aUUpn z193ScCIi3uL;ni~2TQ(X%PH z)#Uw{oP3qqGWo*B+v{>%J$?-ow|?x;{h+gm_2&V)&C}Xa9V}A(d2<=*&u^e8>8K7x zlN<41KVv%wj}X>dTw1~E%J!YO=_LXN@VDia_js5pnKJOt`~X0r?9h)_0<4wo`g0C) z_y9gZSEru+LwO^0HoH2MpR8Z&xqBveb<&yv^;RodEAl4rmatylpTLV4m?Hl>UhExV zG*!jL&N?x5no&9@gZP9xOAV{@xMs69Q<11LVSAy=Prm1cT+JB}%=ZG+moNU!J2y~a z=^W4d!(K5Xo^KEv6L=lbH-QJjMzJY@e+(Psiv&IxJktz!sZ=v;o;5s?tDi21CmNl) F{U3nLC;R{a delta 4111 zcmY*c2V9iLw%;@7%=f|WDht6baV@z~@3m~KSEI5%eJSP{Nn$seU!pg$Mofst+!ri> z2vT%`L9hf+Y+zy4K@bEK3$b7q6)R#CMQn&-d9#?CC*SwmnK}P6-)S>*&g{O_R#EF( zZSBA?N6&WtgG~hHfsSSP4kO*M3p;u<4+aey7&tR@0y3FQMx&8As&UlY%)r!RFaQ`( zb2Gb{Q8TzYgS%!h{M|8)1~3zIq*EUw8QrwHS9jbeZ>z=>!8A8F(dy30V5)fh%wG})O8Mkh8~J?;iw+Q(Oqc=gX=|fS96T$h~|x(5hH`{ zg-m?`24y2h4lXeU#~%Jw;B^iB4c9c7Ww@%r4~8om{AjqSL4ct|gP#oNG?;BTrNJD- zNezBB9MfQ~;fUrQ&B0&?(`A+c`}E)R6}r%GV6L90=jeO%-TEPz&!V+RElP{f7P1w% zN?V~VV9PL0i`BCAEIo*&YP4xDtce5^bJl3}-i~ zjMmdyN~YDcf|iq@SaQ%(ilPV#r^R%D-KHCq&jQcUSvo_f=@b>PlXQZP(_wauj?!T& zqJ!kWpY~BU+d)pspl!5;(kP2}JIU7}LDs03Z0^Hf5% zJeJ2E!UOdd(*v;WrF?n_{{FeNo7r|#mWv4V&va2XCFcRZ&#Sl^+~bw}4!2eC+x#ZK z!E0CzyUH)~QhtG#aN9Y4mY?P)c@?W-#rz2Wogd-{xNRTb%kz02-@|kHZl29;S$r4I z1}Gf(Gfd=uYDYiLzBil!wLPcbe}ZnIT-U~*HIEB zQY3{@94(`JAlVY`YQr5v-TF^h#DlqQK7U2Fr}Ttu)%2Kb#q1FUG1Wa(T_x1w6RgG> ze2UNTE^K9w@F6;&3QJUL3uoc%93H`9JcG8QcpOio?HHcGQ)nzqYn<(@aLX{m9>=Oi zO(EAI8?}aPM@gf{u*`9+@fg_P?AWBH1zd5o?bZdt9G`cqgcr_%-M5*b-1%rgcYtz7 z2m3^*a7NlA82sUEIVcg}yd!gPU%2ReG`PSBF-|#b8izZMb|XH7Ea&tQO$jbLL&i+t zP?J)w+FIw$i3c0ND(BW&0bXkQ-+~j(N?^g#P&d;u&C2X+Hd2IugE90t#vZ>>ya z+H>BTSwUF+u!FD;M%{UDwO}4EH8Ys31}j*Zm0MmoVw1N@OkJ?v2(_OKrIpbooV538!f?$yI89hf>^x%PGH+Qx9y>6X(5*naL9 znqzZ*nY$Dr%y}pCU%8Ga`pn)=?Q)a8u?8cxr+?DO2FO zhvFwXVY3Eh;^Qo63yE?@7W5`~AlK!p5W-`5Fb_-?ST9c%!zdjxM5lAmS!o$}4n8H= zCDJa!G;oM!rO*#Hi;<=9FL*9dkK&))-+?+;iL#{&dw`)ziGizdc!=iX#(pn2Y69_)(_x`tO{U57+jO@&tZMsAxO@i&&rLkSd3r7jzNg%9KrfPu$&yh&X_?6-vrhU zmWxRVY>368G+QFk3aa_R4nK%33GAqhOk{mKDkF;u**=8%GU^a}MQ}?-9c5oOf+TtO zI`iYOQVzJqm=1g7z$(_(4K~Vu)v#D5Hos&Evi2EsqWtg`iv-AvJ&QSZJFq}|W|(_> zW@w|z!cg*cQC2ma+Q!h68BEOAzWX&B1~*W4sUKL3F3euXmkz)*GtVNRKoMoeKC+Pq zz5p?xAr63BBCsKjlwO|b$>6MP_m-=YT@dejW3<{*ncmoj;I6#T6xT7hE*G{yJE$#H z*b>`;_-8BpTHf-(VIUJ*;Y4?M5!V6B*h4PTE3lx@at_mD35 zE5L7(+gyE$40;cn1Ek8;-CX?!k<}gFHJX$g_B(&*mS}OgI}Q;&d*BC}yDR3|;^!VX zL0;>Dj{u}R+Y5&?*d;sl!M`!c7OHP81K!6cU{W%eRjs@whs4zW*iUZnkNX(py`Ga` z$GZ#)>Iku65T-++7&#bYJUamd+5=ky^R*hL6f!}3`AASYwDHm@CVNc=zIflUz`TTS2#$mqbI$A~Uo|rWnKZZLZ zXEe_3x`^zjmb;eKUR>8rwX*pabVpA}-5nlx1GjSvs-&fxlLzKO**sp0sgm=}p1AX3!EV=LodrbWn;k+?~RjUq4( z13GPZ)BdLav48!W_Wy;h6Ria{YM=V1!GAH={%P=Ez#1`LU=v6YKM7m_$>OQN!I0!K zFB^Vy8Py(E%XZ5VJ>jmnx(a>ecN?)EQ^d$5MUHenyU`3d{BhVm}s(BO*kg2im(Nf@r8JX!HL(DxOYt* z$ajz6M{vr8%wupy`X9k*8l0DxPU0^NF1q^0Ow2rolh`FLe=Wn?;1bzVSk9 z@7!9f_E8b?Z$>?Jh!N|pR00mUpf#ymNRS--51IpL*@rTx6J4-~_Xg4k8Q-50P=pSo zB_jF1sYZJL7e%5>_<&xJ@R&epQhY-02#aLWr!)gpI=A@Ic!Evx`{DE}LanSEMV|mv zi@sy%G^7j9u{2ekzW*IdMd~&rJ{(UiRdt;-o;J$t3Dm);O7D%y)Dcy-u}r57RsZ%* zr{<{Y;iZ}Ml?DgofY~$#V82Y5Lqnl)V^{K9vqM+8-IapKVpPe%C~y8u;{cY5LBG%) z2$!~h(?Aqqfz(r_p8P;k$#kFeolk8L_R4R9Xf41|=^jEVoUx*BD7A;NLA_-A#WWUF;tmQ^3ge}JIDJQQjDx-f zRVWH#D3if?@r$4ls$QHBlm>@HU_8wb=aSTIwNz83`A)pcuN3(~f-7JvWlSOs(!_~m zN)cl=Qh^Lep#vH$6#X`mk8HV#!WbM7>(Z&eib;7ot#lI)cF`?%TNCpO=?rI{boMy^) z&&eNI`D-dx=br5HpW`q!K2tZIB|Lz8u-{)ZL^LQ)VI479m>FN9)@eE8d)-*hpWp!# z5707|zm^?xpqYQfTTF`tY{W>k~dhQ@5u1pK%{3kgGrA zCz^Y`(kw=mBVCsRAYWB5(!|2)yaQ~O>C<@`gY9D3OkUv;skc@o#mZcJ3M}bji9et2 zouZrU#RiM1jk;FXiLlJmWrJD#3Wu$-ayBmnjeOPNG0E*e^Ik1fg}f8PhroW(JC<)| z+jKD{mcK2uI6hvK$8v8mCyw_O6XVqA-?7{%kH_(DV07xPN~)A*ENU3f)lZWR F{}1>CJbC~C diff --git a/common/spell/spell/spell_ie.js b/common/spell/spell/spell_ie.js index 9ae015b38c..b87af0efb3 100644 --- a/common/spell/spell/spell_ie.js +++ b/common/spell/spell/spell_ie.js @@ -75,31 +75,31 @@ else var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( // EMSCRIPTEN_START_ASM -function instantiate(Qr){function Gr(Rr){Rr.set=(function(Sr,Tr){this[Sr]=Tr});Rr.get=(function(Sr){return this[Sr]});return Rr}var a;var b=new ArrayBuffer(16);var c=new Int32Array(b);var d=new Float32Array(b);var e=new Float64Array(b);function Hr(Ur){return c[Ur]}function Ir(Ur,Vr){c[Ur]=Vr}function Jr(){return e[0]}function Kr(Vr){e[0]=Vr}function Lr(){return d[2]}function Mr(Vr){d[2]=Vr}function Nr(Wr){var f=Wr.a;var g=f.buffer;f.grow=Pr;var h=new Int8Array(g);var i=new Int16Array(g);var j=new Int32Array(g);var k=new Uint8Array(g);var l=new Uint16Array(g);var m=new Uint32Array(g);var n=new Float32Array(g);var o=new Float64Array(g);var p=Math.imul;var q=Math.fround;var r=Math.abs;var s=Math.clz32;var t=Math.min;var u=Math.max;var v=Math.floor;var w=Math.ceil;var x=Math.trunc;var y=Math.sqrt;var z=Wr.abort;var A=NaN;var B=Infinity;var C=Wr.b;var D=Wr.c;var E=Wr.d;var F=Wr.e;var G=Wr.f;var H=Wr.g;var I=Wr.h;var J=Wr.i;var K=Wr.j;var L=Wr.k;var M=5394368;var N=0; +function instantiate(Pr){function Fr(Qr){Qr.set=(function(Rr,Sr){this[Rr]=Sr});Qr.get=(function(Rr){return this[Rr]});return Qr}var a;var b=new ArrayBuffer(16);var c=new Int32Array(b);var d=new Float32Array(b);var e=new Float64Array(b);function Gr(Tr){return c[Tr]}function Hr(Tr,Ur){c[Tr]=Ur}function Ir(){return e[0]}function Jr(Ur){e[0]=Ur}function Kr(){return d[2]}function Lr(Ur){d[2]=Ur}function Mr(Vr){var f=Vr.a;var g=f.buffer;f.grow=Or;var h=new Int8Array(g);var i=new Int16Array(g);var j=new Int32Array(g);var k=new Uint8Array(g);var l=new Uint16Array(g);var m=new Uint32Array(g);var n=new Float32Array(g);var o=new Float64Array(g);var p=Math.imul;var q=Math.fround;var r=Math.abs;var s=Math.clz32;var t=Math.min;var u=Math.max;var v=Math.floor;var w=Math.ceil;var x=Math.trunc;var y=Math.sqrt;var z=Vr.abort;var A=NaN;var B=Infinity;var C=Vr.b;var D=Vr.c;var E=Vr.d;var F=Vr.e;var G=Vr.f;var H=Vr.g;var I=Vr.h;var J=Vr.i;var K=Vr.j;var L=Vr.k;var M=5394368;var N=0; // EMSCRIPTEN_START_FUNCS -function Ed(a,b,c,d,e){var f=0,g=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0;f=M-4224|0;M=f;ya(f+3808|0,0,400);ya(f+3408|0,0,400);while(1){q=g<<2;n=p(g,-100);j[q+(f+2608|0)>>2]=n;j[q+(f+3008|0)>>2]=n;n=g|1;q=n<<2;n=p(n,-100);j[q+(f+2608|0)>>2]=n;j[q+(f+3008|0)>>2]=n;n=g|2;q=n<<2;n=p(n,-100);j[q+(f+2608|0)>>2]=n;j[q+(f+3008|0)>>2]=n;n=g|3;q=n<<2;n=p(n,-100);j[q+(f+2608|0)>>2]=n;j[q+(f+3008|0)>>2]=n;g=g+4|0;if((g|0)!=100){continue}break}j[f+2600>>2]=0;j[f+2592>>2]=0;j[f+2596>>2]=0;a:{if(!j[a+76>>2]){break a}Ka(f+2592|0,c);b:{if(j[a+56>>2]){ob(f+2592|0);break b}Va(f+2592|0)}c=f+2592|0;if(h[f+2603|0]>-1){break a}c=j[f+2592>>2]}j[f+2584>>2]=0;j[f+2576>>2]=0;j[f+2580>>2]=0;D=W(c);E=D;c:{d:{e:{f:{if(!j[a+56>>2]){break f}q=W(c);if(q>>>0>=4294967280){break e}g:{h:{if(q>>>0>=11){g=q+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=q;o=f+1648|0;break h}h[f+1659|0]=q;o=f+1648|0;n=o;if(!q){break g}}V(n,c,q)}h[n+q|0]=0;E=ia(f+2576|0,f+1648|0);if(h[o+11|0]>-1){break f}T(j[f+1648>>2])}A=E;if((A|0)==-1){j[a+56>>2]=0;A=D}j[f+2572>>2]=-1;n=j[a+44>>2];if(n){G=j[n+4280>>2]}j[f+2568>>2]=0;j[f+2560>>2]=0;j[f+2564>>2]=0;j[f+2552>>2]=0;j[f+2544>>2]=0;j[f+2548>>2]=0;j[f+2536>>2]=0;j[f+2528>>2]=0;j[f+2532>>2]=0;if(G){i:{if(j[a+56>>2]){q=W(c);if(q>>>0>=4294967280){break e}j:{k:{if(q>>>0>=11){g=q+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=q;o=f+1648|0;break k}h[f+1659|0]=q;o=f+1648|0;n=o;if(!q){break j}}V(n,c,q)}h[n+q|0]=0;ia(f+2528|0,f+1648|0);if(h[o+11|0]<=-1){T(j[f+1648>>2])}Oc(f+2528|0,j[a+60>>2]);da(f+2544|0,f+2528|0);break i}Ka(f+2544|0,c);if((E|0)==-1){break i}Pc(f+2544|0,j[a+52>>2])}Nh(f+1648|0,f+2544|0,G);if(h[f+2571|0]<=-1){T(j[f+2560>>2])}j[f+2568>>2]=j[f+1656>>2];n=j[f+1652>>2];j[f+2560>>2]=j[f+1648>>2];j[f+2564>>2]=n}n=j[a+44>>2];x=0;l:{if(!n){break l}u=l[n+4192>>1];n=j[a+44>>2];x=0;if(!n){break l}C=l[n+4194>>1];n=j[a+44>>2];x=0;if(!n){break l}B=l[n+4196>>1];n=j[a+44>>2];x=0;if(!n){break l}x=l[n+4464>>1]}j[f+2520>>2]=0;j[f+2512>>2]=0;j[f+2516>>2]=0;j[f+2504>>2]=0;j[f+2496>>2]=0;j[f+2500>>2]=0;m:{n:{o:{if(j[a+56>>2]){q=W(c);if(q>>>0>=4294967280){break e}p:{q:{if(q>>>0>=11){g=q+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=q;o=f+1648|0;break q}h[f+1659|0]=q;o=f+1648|0;n=o;if(!q){break p}}V(n,c,q)}h[n+q|0]=0;ia(f+2512|0,f+1648|0);if(h[o+11|0]<=-1){T(j[f+1648>>2])}ia(f+2496|0,f+2560|0)}F=f+2488|0;j[F>>2]=0;j[f+2480>>2]=0;j[f+2484>>2]=0;j[f+2472>>2]=0;j[f+2464>>2]=0;j[f+2468>>2]=0;g=j[d>>2];if((g|0)!=j[d+4>>2]){L=99;I=(E|0)==-1;H=99;while(1){O=N<<2;t=Qe(j[O+g>>2],f+2572|0,0);r:{if(!t){break r}while(1){s:{t:{if(!I){n=A-k[t+1|0]|0;g=n>>31;if((g^g+n)>>>0>4){break t}}u:{if(e|G){break u}n=k[t+16|0];if(!(n&8)|n&4){break u}if(j[a+60>>2]!=49){break t}}r=j[t+4>>2];if(!r|!j[a+44>>2]){break s}y=l[t+2>>1];q=y<<16>>16;w=(q<<1)+r|0;g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]>>0;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<=u>>>0?(g|0)!=(w|0):0){break t}g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]<65511;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<65512?(g|0)!=(w|0):0){break t}g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]>>0;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<=C>>>0?(g|0)!=(w|0):0){break t}g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]>>0;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<=B>>>0?(g|0)!=(w|0):0){break t}if(y){while(1){o=q>>>1|0;n=(o<<1)+r|0;g=l[n>>1]>>0;r=g?n+2|0:r;q=g?(o^-1)+q|0:o;if(q){continue}break}}if((r|0)==(w|0)|l[r>>1]>x>>>0){break s}}t=Qe(j[j[d>>2]+O>>2],f+2572|0,t);if(t){continue}break r}v:{if(j[a+56>>2]){q=t+17|0;o=W(q);if(o>>>0>=4294967280){break e}w:{x:{if(o>>>0>=11){g=o+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=o;break x}h[f+1659|0]=o;n=f+1648|0;if(!o){break w}}V(n,q,o)}h[n+o|0]=0;ia(f+2464|0,f+1648|0);if(h[f+1659|0]<=-1){T(j[f+1648>>2])}n=Xc(a,f+2512|0,f+2464|0);if(!I){Ua(f+2464|0,j[a+60>>2])}n=bc(3,f+2512|0,f+2464|0,1)+n|0;break v}Ka(f+2480|0,t+17|0);g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0;y:{if(j[a+76>>2]){o=W(c);n=W(g);if((o|0)<=(n|0)){q=1;if(k[(g+o|0)-1|0]==k[(g+n|0)-1|0]){break y}}q=0;break y}q=0;r=j[a+52>>2];if(!r){break y}o=k[c|0];n=k[g|0];if(k[(r+p(n,3)|0)+1|0]!=o<<24>>24?(o|0)!=(n|0):0){break y}n=c;while(1){z:{q=n+1|0;r=k[n+1|0];if(!r){break z}o=k[g+1|0];g=g+1|0;n=q;if((o|0)==(r|0)){continue}}break}q=q-c|0}if(!I){Pa(f+2480|0,j[a+52>>2])}o=W(c);if(o>>>0>=4294967280){break e}A:{B:{if(o>>>0>=11){g=o+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=o;break B}h[f+1659|0]=o;n=f+1648|0;if(!o){break A}}V(n,c,o)}h[n+o|0]=0;g=k[f+2491|0];s=g<<24>>24<0?j[f+2484>>2]:g;n=0;C:{if(!s){break C}n=0;g=k[f+1659|0];o=g<<24>>24;v=(o|0)<0?j[f+1652>>2]:g;D:{if((v|0)<1){break D}g=1;n=(Ia(f+2480|0,(o|0)<0?j[f+1648>>2]:f+1648|0,1)|0)!=-1;if((v|0)!=1){while(1){n=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,1)|0)!=-1)+n|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}if((v|0)<2|n>>>0<2){break D}r=v-1|0;g=0;o=0;while(1){o=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,2)|0)!=-1)+o|0;g=g+1|0;if((r|0)!=(g|0)){continue}break}n=n+o|0;if((v|0)<3|o>>>0<2){break D}r=v-2|0;g=0;o=0;while(1){o=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,3)|0)!=-1)+o|0;g=g+1|0;if((r|0)!=(g|0)){continue}break}n=n+o|0}g=n;n=s-v|0;n=g+((n|0)>2?2-n|0:0)|0}if(h[f+1659|0]<=-1){T(j[f+1648>>2])}n=n+q|0}E:{if(h[f+2491|0]<=-1){h[j[f+2480>>2]]=0;j[f+2484>>2]=0;break E}h[f+2491|0]=0;h[f+2480|0]=0}q=k[t+16|0];F:{if(!(q&4)){break F}G:{H:{I:{J:{K:{g=0;L:{if(!(q&1)){break L}o=(k[t|0]+t|0)+18|0;g=o;if(!(q&2)){break L}g=k[o|0]|k[o+1|0]<<8|(k[o+2|0]<<16|k[o+3|0]<<24)}o=W(g);if(o>>>0<4294967280){M:{N:{if(o>>>0>=11){q=o+16&-16;s=U(q);j[f+1656>>2]=q|-2147483648;j[f+1648>>2]=s;j[f+1652>>2]=o;break N}h[f+1659|0]=o;s=f+1648|0;if(!o){break M}}V(s,g,o)}h[o+s|0]=0;h[f+859|0]=3;i[f+848>>1]=k[121393]|k[121394]<<8;h[f+850|0]=k[121395];h[f+851|0]=0;g=ec(f+2480|0,f+1648|0,f+848|0);if(h[f+859|0]<=-1){T(j[f+848>>2])}if(h[f+1659|0]<=-1){T(j[f+1648>>2])}if(!g){break F}if(j[a+56>>2]){ia(f+2464|0,f+2480|0);g=Xc(a,f+2512|0,f+2464|0);if(!I){Ua(f+2464|0,j[a+60>>2])}g=bc(3,f+2512|0,f+2464|0,1)+g|0;break G}g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0;O:{if(j[a+76>>2]){o=W(c);q=W(g);if((o|0)<=(q|0)){y=1;if(k[(g+o|0)-1|0]==k[(g+q|0)-1|0]){break O}}y=0;break O}y=0;r=j[a+52>>2];if(!r){break O}o=k[c|0];q=k[g|0];if(k[(r+p(q,3)|0)+1|0]!=o<<24>>24?(o|0)!=(q|0):0){break O}o=c;while(1){P:{q=o+1|0;s=k[o+1|0];if(!s){break P}r=k[g+1|0];g=g+1|0;o=q;if((r|0)==(s|0)){continue}}break}y=q-c|0}if(!I){Pa(f+2480|0,j[a+52>>2])}q=W(c);if(q>>>0>=4294967280){break e}Q:{R:{if(q>>>0>=11){g=q+16&-16;o=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=o;j[f+1652>>2]=q;break R}h[f+1659|0]=q;o=f+1648|0;if(!q){break Q}}V(o,c,q)}h[o+q|0]=0;q=k[f+2491|0];r=q<<24>>24<0?j[f+2484>>2]:q;g=0;if(!r){break H}o=0;g=k[f+1659|0];q=g<<24>>24;v=(q|0)<0?j[f+1652>>2]:g;if((v|0)<1){break I}g=1;o=(Ia(f+2480|0,(q|0)<0?j[f+1648>>2]:f+1648|0,1)|0)!=-1;if((v|0)!=1){break K}break J}break e}while(1){o=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,1)|0)!=-1)+o|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}if((v|0)<2|o>>>0<2){break I}q=v-1|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,2)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0;if((v|0)<3|s>>>0<2){break I}q=v-2|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,3)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0}g=r-v|0;g=((g|0)>2?2-g|0:0)+o|0}if(h[f+1659|0]<=-1){T(j[f+1648>>2])}g=g+y|0}n=(g|0)>(n|0)?g:n}o=-2e4;S:{if(!G|(n|0)<3){break S}g=A-k[t+1|0]|0;q=g>>31;if((q^g+q)>>>0>3){break S}T:{if(j[a+56>>2]){q=t+17|0;r=W(q);if(r>>>0>=4294967280){break e}U:{V:{if(r>>>0>=11){g=r+16&-16;o=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=o;j[f+1652>>2]=r;break V}h[f+1659|0]=r;o=f+1648|0;if(!r){break U}}V(o,q,r)}h[o+r|0]=0;ia(f+2528|0,f+1648|0);if(h[f+1659|0]<=-1){T(j[f+1648>>2])}Oc(f+2528|0,j[a+60>>2]);da(f+2544|0,f+2528|0);break T}Ka(f+2544|0,t+17|0);Pc(f+2544|0,j[a+52>>2])}Nh(f+1648|0,f+2544|0,G);if(h[f+2491|0]<=-1){T(j[f+2480>>2])}j[F>>2]=j[f+1656>>2];g=j[f+1652>>2];j[f+2480>>2]=j[f+1648>>2];j[f+2484>>2]=g;if(j[a+56>>2]){ia(f+2464|0,f+2480|0);o=bc(3,f+2496|0,f+2464|0,1)<<1;break S}g=k[f+2491|0];r=g<<24>>24<0?j[f+2484>>2]:g;g=0;W:{if(!r){break W}o=0;g=k[f+2571|0];q=g<<24>>24;v=(q|0)<0?j[f+2564>>2]:g;X:{if((v|0)<1){break X}g=1;o=(Ia(f+2480|0,(q|0)<0?j[f+2560>>2]:f+2560|0,1)|0)!=-1;if((v|0)!=1){while(1){o=((Ia(f+2480|0,(h[f+2571|0]<0?j[f+2560>>2]:f+2560|0)+g|0,1)|0)!=-1)+o|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}if((v|0)<2|o>>>0<2){break X}q=v-1|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+2571|0]<0?j[f+2560>>2]:f+2560|0)+g|0,2)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0;if((v|0)<3|s>>>0<2){break X}q=v-2|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+2571|0]<0?j[f+2560>>2]:f+2560|0)+g|0,3)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0}g=r-v|0;g=((g|0)>2?2-g|0:0)+o|0}o=g<<1}q=L<<2;g=q+(f+3008|0)|0;if(j[g>>2]<(n|0)){j[g>>2]=n;j[q+(f+3808|0)>>2]=t;g=0;while(1){r=j[(f+3008|0)+(g<<2)>>2];J=(r|0)<(n|0);w=g|1;q=j[(f+3008|0)+(w<<2)>>2];n=J?r:n;K=(q|0)<(n|0);v=g|2;s=j[(f+3008|0)+(v<<2)>>2];n=K?q:n;y=(s|0)<(n|0);r=g|3;q=j[(f+3008|0)+(r<<2)>>2];n=y?s:n;s=(q|0)<(n|0);n=s?q:n;L=s?r:y?v:K?w:J?g:L;g=g+4|0;if((g|0)!=100){continue}break}}g=H<<2;n=g+(f+2608|0)|0;if(j[n>>2]<(o|0)){j[n>>2]=o;j[g+(f+3408|0)>>2]=t+17;g=0;while(1){n=j[(f+2608|0)+(g<<2)>>2];J=(n|0)<(o|0);v=g|1;q=j[(f+2608|0)+(v<<2)>>2];n=J?n:o;K=(q|0)<(n|0);s=g|2;o=j[(f+2608|0)+(s<<2)>>2];n=K?q:n;y=(o|0)<(n|0);r=g|3;q=j[(f+2608|0)+(r<<2)>>2];n=y?o:n;w=(q|0)<(n|0);o=w?q:n;H=w?r:y?s:K?v:J?g:H;g=g+4|0;if((g|0)!=100){continue}break}}t=Qe(j[j[d>>2]+O>>2],f+2572|0,t);if(t){continue}break}}N=N+1|0;g=j[d>>2];if(N>>>0>2]-g>>2>>>0){continue}break}}j[f+2456>>2]=0;j[f+2448>>2]=0;j[f+2452>>2]=0;t=(E|0)==-1;u=1;C=0;Y:{Z:{while(1){_:{if(j[a+56>>2]){Oe(f+2448|0,j[f+2512>>2],j[f+2516>>2]);if((u|0)<(A|0)){e=j[f+2448>>2];g=u;while(1){d=e+(g<<1)|0;h[d|0]=42;h[d+1|0]=0;g=g+4|0;if((A|0)>(g|0)){continue}break}}if(!t){Ua(f+2448|0,j[a+60>>2])}g=bc(A,f+2512|0,f+2448|0,2);break _}$:{aa:{e=W(c);if(e>>>0<4294967280){ba:{ca:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+1656>>2]=d|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=e;break ca}h[f+1659|0]=e;n=f+1648|0;if(!e){break ba}}V(n,c,e)}h[e+n|0]=0;g=u;if((A|0)>(g|0)){break aa}break $}break e}while(1){h[(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0]=42;g=g+4|0;if((A|0)>(g|0)){continue}break}}if(!t){Pa(f+1648|0,j[a+52>>2])}e=W(c);if(e>>>0>=4294967280){break Z}da:{ea:{if(e>>>0>=11){d=e+16&-16;o=U(d);j[f+856>>2]=d|-2147483648;j[f+848>>2]=o;j[f+852>>2]=e;break ea}h[f+859|0]=e;o=f+848|0;if(!e){break da}}V(o,c,e)}g=0;h[e+o|0]=0;d=k[f+1659|0];e=d<<24>>24<0?j[f+1652>>2]:d;if(e){r=0;o=1;d=k[f+859|0];q=d<<24>>24<0?j[f+852>>2]:d;s=q;fa:{if((A|0)<1){break fa}while(1){g=0;n=0;if((o|0)>(q|0)){break fa}while(1){n=((Ia(f+1648|0,(h[f+859|0]<0?j[f+848>>2]:f+848|0)+g|0,o)|0)!=-1)+n|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}r=n+r|0;if(n>>>0<2){break fa}s=s-1|0;d=(o|0)==(A|0);o=o+1|0;if(!d){continue}break}}d=e-q|0;e=d>>31;e=e^d+e;d=e-2|0;g=r-(d>>>0>e>>>0?0:d)|0}if(h[f+859|0]<=-1){T(j[f+848>>2])}if(h[f+1659|0]>-1){break _}T(j[f+1648>>2])}C=g+C|0;u=u+1|0;if((u|0)!=4){continue}break}o=0;ya(f+1648|0,0,800);ya(f+848|0,0,800);while(1){e=(f+48|0)+(o<<2)|0;d=p(o,-100);j[e>>2]=d;j[e+16>>2]=d-400;j[e+12>>2]=d-300;j[e+8>>2]=d-200;j[e+4>>2]=d-100;o=o+5|0;if((o|0)!=200){continue}break}F=Pd(100,12);if(!F){break n}q=(C|0)/3|0;u=199;H=0;while(1){o=j[(f+3808|0)+(H<<2)>>2];ga:{if(!o){break ga}ha:{if(h[f+2491|0]<=-1){h[j[f+2480>>2]]=0;j[f+2484>>2]=0;break ha}h[f+2491|0]=0;h[f+2480|0]=0}d=0;n=k[o+16|0];g=0;ia:{if(!(n&4)){break ia}e=0;ja:{if(!(n&1)){break ja}g=(o+k[o|0]|0)+18|0;e=g;if(!(n&2)){break ja}e=k[g|0]|k[g+1|0]<<8|(k[g+2|0]<<16|k[g+3|0]<<24)}g=W(e);if(g>>>0>=4294967280){break d}ka:{la:{if(g>>>0>=11){n=g+16&-16;s=U(n);j[f+40>>2]=n|-2147483648;j[f+32>>2]=s;j[f+36>>2]=g;break la}h[f+43|0]=g;s=f+32|0;if(!g){break ka}}V(s,e,g)}h[g+s|0]=0;h[f+27|0]=3;i[f+16>>1]=k[121393]|k[121394]<<8;h[f+18|0]=k[121395];h[f+19|0]=0;e=ec(f+2480|0,f+32|0,f+16|0);if(h[f+27|0]<=-1){T(j[f+16>>2])}if(h[f+43|0]<=-1){T(j[f+32>>2])}g=0;if(!e){break ia}g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0}B=xk(j[a+44>>2],F,o+17|0,k[o|0],j[o+4>>2],l[o+2>>1],c,D,g);if((B|0)<1){break ga}while(1){e=q;ma:{if(j[a+56>>2]){o=j[F+p(d,12)>>2];r=W(o);if(r>>>0>=4294967280){break d}na:{oa:{if(r>>>0>=11){g=r+16&-16;n=U(g);j[f+40>>2]=g|-2147483648;j[f+32>>2]=n;j[f+36>>2]=r;break oa}h[f+43|0]=r;n=f+32|0;if(!r){break na}}V(n,o,r)}h[n+r|0]=0;ia(f+2464|0,f+32|0);if(h[f+43|0]<=-1){T(j[f+32>>2])}n=Xc(a,f+2512|0,f+2464|0);if((E|0)!=-1){Ua(f+2464|0,j[a+60>>2])}n=bc(A,f+2512|0,f+2464|0,2)+n|0;break ma}Ka(f+2480|0,j[F+p(d,12)>>2]);g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0;pa:{if(j[a+76>>2]){o=W(c);n=W(g);if((o|0)<=(n|0)){C=1;if(k[(g+o|0)-1|0]==k[(g+n|0)-1|0]){break pa}}C=0;break pa}C=0;r=j[a+52>>2];if(!r){break pa}o=k[c|0];n=k[g|0];if(k[(r+p(n,3)|0)+1|0]!=o<<24>>24?(o|0)!=(n|0):0){break pa}n=c;while(1){qa:{o=n+1|0;t=k[n+1|0];if(!t){break qa}r=k[g+1|0];g=g+1|0;n=o;if((r|0)==(t|0)){continue}}break}C=o-c|0}if((E|0)!=-1){Pa(f+2480|0,j[a+52>>2])}r=W(c);if(r>>>0>=4294967280){break Y}ra:{sa:{if(r>>>0>=11){g=r+16&-16;n=U(g);j[f+40>>2]=g|-2147483648;j[f+32>>2]=n;j[f+36>>2]=r;break sa}h[f+43|0]=r;n=f+32|0;if(!r){break ra}}V(n,c,r)}o=0;h[n+r|0]=0;n=k[f+2491|0];t=n<<24>>24<0?j[f+2484>>2]:n;if(t){r=0;o=1;n=k[f+43|0];x=n<<24>>24<0?j[f+36>>2]:n;s=x;ta:{if((A|0)<1){break ta}while(1){g=0;n=0;if((o|0)>(x|0)){break ta}while(1){n=((Ia(f+2480|0,(h[f+43|0]<0?j[f+32>>2]:f+32|0)+g|0,o)|0)!=-1)+n|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}r=n+r|0;if(n>>>0<2){break ta}s=s-1|0;n=(o|0)==(A|0);o=o+1|0;if(!n){continue}break}}n=t-x|0;g=n>>31;g=g^g+n;n=g-2|0;o=r-(g>>>0>>0?0:n)|0}if(h[f+43|0]<=-1){T(j[f+32>>2])}n=o+C|0}ua:{if((e|0)<=(n|0)){t=u<<2;r=t+(f+48|0)|0;if(j[r>>2]<(n|0)){o=t+(f+1648|0)|0;e=j[o>>2];va:{if(!e){break va}T(e);g=t+(f+848|0)|0;e=j[g>>2];if(!e){break va}T(e);j[g>>2]=0}j[r>>2]=n;e=F+p(d,12)|0;j[o>>2]=j[e>>2];j[t+(f+848|0)>>2]=j[e+8>>2];g=0;while(1){e=j[(f+48|0)+(g<<2)>>2];w=(e|0)<(n|0);x=g|1;o=j[(f+48|0)+(x<<2)>>2];e=w?e:n;v=(o|0)<(e|0);t=g|2;r=j[(f+48|0)+(t<<2)>>2];e=v?o:e;s=(r|0)<(e|0);o=g|3;n=j[(f+48|0)+(o<<2)>>2];e=s?r:e;r=(n|0)<(e|0);n=r?n:e;u=r?o:s?t:v?x:w?g:u;g=g+4|0;if((g|0)!=200){continue}break}break ua}e=F+p(d,12)|0;T(j[e>>2]);e=j[e+8>>2];if(!e){break ua}T(e);break ua}e=F+p(d,12)|0;T(j[e>>2]);e=j[e+8>>2];if(!e){break ua}T(e)}d=d+1|0;if((B|0)!=(d|0)){continue}break}}H=H+1|0;if((H|0)!=100){continue}break}break o}X();z()}break d}T(F);d=1;while(1){D=j[(f+48|0)+(d<<2)>>2];g=d;while(1){e=g-1|0;x=e<<2;q=x+(f+48|0)|0;u=j[q>>2];if((u|0)<(D|0)){n=x+(f+1648|0)|0;r=j[n>>2];j[q>>2]=D;t=g<<2;o=t+(f+1648|0)|0;j[n>>2]=j[o>>2];n=x+(f+848|0)|0;q=j[n>>2];s=n;n=t+(f+848|0)|0;j[s>>2]=j[n>>2];j[t+(f+48|0)>>2]=u;j[o>>2]=r;j[n>>2]=q;n=(g|0)>1;g=e;if(n){continue}}break}d=d+1|0;if((d|0)!=200){continue}break}if(G){t=1;while(1){r=j[(f+2608|0)+(t<<2)>>2];g=t;while(1){d=g-1|0;e=d<<2;n=e+(f+2608|0)|0;o=j[n>>2];if((o|0)<(r|0)){e=e+(f+3408|0)|0;q=j[e>>2];j[n>>2]=r;s=e;n=g<<2;e=n+(f+3408|0)|0;j[s>>2]=j[e>>2];j[n+(f+2608|0)>>2]=o;j[e>>2]=q;e=(g|0)>1;g=d;if(e){continue}}break}t=t+1|0;if((t|0)!=100){continue}break}}j[f+12>>2]=0;P=1;d=j[a+44>>2];wa:{if(!d){break wa}d=j[d+4292>>2];if((d|0)<0){break wa}P=(10- +(d|0))/5}j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;D=G?0:A;v=(E|0)==-1;r=0;xa:{ya:{while(1){za:{x=r<<2;e=j[x+(f+1648|0)>>2];Aa:{if(!e){break Aa}j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;Ba:{if(j[a+56>>2]){n=W(e);if(n>>>0>=4294967280){break ya}Ca:{Da:{if(n>>>0>=11){d=n+16&-16;o=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=o;j[f+4>>2]=n;break Da}h[f+11|0]=n;o=f;if(!n){break Ca}}V(o,e,n)}h[n+o|0]=0;t=ia(f+32|0,f);if(h[f+11|0]<=-1){T(j[f>>2])}Ua(f+32|0,j[a+60>>2]);da(f+16|0,f+32|0);break Ba}Ka(f+16|0,e);if(!v){Pa(f+16|0,j[a+52>>2])}t=W(e)}s=0;Hh(a,c,h[f+27|0]<0?j[f+16>>2]:f+16|0,f,f+4220|0,f+4216|0);e=j[f+4216>>2];if(e){g=j[f>>2];Ea:{if(!g){break Ea}n=j[f+4220>>2];if(!n){break Ea}d=n+1|0;while(1){Fa:{Ga:{switch(k[e+(p(d,g)+n|0)|0]){case 2:n=n-1|0;g=g-1|0;s=s+1|0;break Fa;case 0:g=g-1|0;break Fa;default:break Ga}}n=n-1|0}if(!g){break Ea}if(n){continue}break}}T(e)}if(!((t|0)!=(A|0)|(s|0)!=(A|0))){d=(f+48|0)+(r<<2)|0;j[d>>2]=j[d>>2]+2e3;if(h[f+27|0]>-1){break za}T(j[f+16>>2]);break za}Ha:{if(j[a+56>>2]){ia(f+32|0,f+16|0);d=bc(2,f+2512|0,f+32|0,10);if(!v){Oe(f+2464|0,j[f+2512>>2],j[f+2516>>2]);Ua(f+2464|0,j[a+60>>2]);e=bc(2,f+32|0,f+2464|0,10)+d|0;break Ha}e=bc(2,f+32|0,f+2512|0,10)+d|0;break Ha}e=W(c);if(e>>>0>=4294967280){break ya}Ia:{Ja:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=e;break Ja}h[f+11|0]=e;n=f;if(!e){break Ia}}V(n,c,e)}y=0;h[e+n|0]=0;d=k[f+27|0];u=d<<24>>24<0?j[f+20>>2]:d;if(u){g=0;d=k[f+11|0];o=d<<24>>24;w=(o|0)<0?j[f+4>>2]:d;Ka:{if((w|0)<1){o=0;break Ka}B=w-1|0;n=0;while(1){d=n+1|0;La:{if((Ia(f+16|0,(o<<24>>24<0?j[f>>2]:f)+g|0,1)|0)!=-1){break La}d=(g?(g|0)==(B|0)?-2:-1:-2)+n|0}n=d;g=g+1|0;if((w|0)!=(g|0)){o=k[f+11|0];continue}break}o=0;if((w|0)<2){g=n;break Ka}e=w-2|0;q=0;while(1){d=q+1|0;Ma:{if((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+o|0,2)|0)!=-1){break Ma}d=(o?(e|0)==(o|0)?-2:-1:-2)+q|0}q=d;o=o+1|0;if((B|0)!=(o|0)){continue}break}g=n;o=q}d=u-w|0;e=d>>31;e=e^d+e;d=e-2|0;y=(g+o|0)-(d>>>0>e>>>0?0:d)|0}if(h[f+11|0]<=-1){T(j[f>>2])}Na:{Oa:{Pa:{if(!v){Ka(f+2480|0,c);Pa(f+2480|0,j[a+52>>2]);d=k[f+2491|0];u=d<<24>>24<0?j[f+2484>>2]:d;d=0;if(!u){break Na}g=0;d=k[f+27|0];o=d<<24>>24;w=(o|0)<0?j[f+20>>2]:d;if((w|0)<1){o=0;break Oa}B=w-1|0;n=0;while(1){d=n+1|0;Qa:{if((Ia(f+2480|0,(o<<24>>24<0?j[f+16>>2]:f+16|0)+g|0,1)|0)!=-1){break Qa}d=(g?(g|0)==(B|0)?-2:-1:-2)+n|0}n=d;g=g+1|0;if((w|0)==(g|0)){break Pa}o=k[f+27|0];continue}}e=W(c);if(e>>>0>=4294967280){break ya}Ra:{Sa:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=e;break Sa}h[f+11|0]=e;n=f;if(!e){break Ra}}V(n,c,e)}o=0;h[e+n|0]=0;e=k[f+11|0];d=e<<24>>24;u=(d|0)<0?j[f+4>>2]:e;if(u){g=0;d=k[f+27|0];o=d<<24>>24;w=(o|0)<0?j[f+20>>2]:d;Ta:{if((w|0)<1){o=0;break Ta}B=w-1|0;n=0;while(1){d=n+1|0;Ua:{if((Ia(f,(o<<24>>24<0?j[f+16>>2]:f+16|0)+g|0,1)|0)!=-1){break Ua}d=(g?(g|0)==(B|0)?-2:-1:-2)+n|0}n=d;g=g+1|0;if((w|0)!=(g|0)){o=k[f+27|0];continue}break}o=0;if((w|0)<2){g=n;break Ta}e=w-2|0;q=0;while(1){d=q+1|0;Va:{if((Ia(f,(h[f+27|0]<0?j[f+16>>2]:f+16|0)+o|0,2)|0)!=-1){break Va}d=(o?(e|0)==(o|0)?-2:-1:-2)+q|0}q=d;o=o+1|0;if((B|0)!=(o|0)){continue}break}g=n;o=q}d=u-w|0;e=d>>31;e=e^d+e;d=e-2|0;o=(g+o|0)-(d>>>0>e>>>0?0:d)|0;d=k[f+11|0]}if(d<<24>>24<=-1){T(j[f>>2])}e=o+y|0;break Ha}o=0;if((w|0)<2){g=n;break Oa}e=w-2|0;q=0;while(1){d=q+1|0;Wa:{if((Ia(f+2480|0,(h[f+27|0]<0?j[f+16>>2]:f+16|0)+o|0,2)|0)!=-1){break Wa}d=(o?(e|0)==(o|0)?-2:-1:-2)+q|0}q=d;o=o+1|0;if((B|0)!=(o|0)){continue}break}g=n;o=q}d=u-w|0;e=d>>31;e=e^d+e;d=e-2|0;d=(g+o|0)-(d>>>0>e>>>0?0:d)|0}e=d+y|0}Xa:{if(j[a+56>>2]){y=bc(4,f+2512|0,f+32|0,2);n=Xc(a,f+2512|0,f+32|0);break Xa}g=W(c);if(g>>>0>=4294967280){break ya}Ya:{Za:{if(g>>>0>=11){d=g+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=g;break Za}h[f+11|0]=g;n=f;if(!g){break Ya}}V(n,c,g)}y=0;h[g+n|0]=0;d=k[f+27|0];q=d<<24>>24<0?j[f+20>>2]:d;if(q){n=0;d=k[f+11|0];o=d<<24>>24;u=(o|0)<0?j[f+4>>2]:d;_a:{if((u|0)<1){break _a}g=1;n=(Ia(f+16|0,(o|0)<0?j[f>>2]:f,1)|0)!=-1;if((u|0)!=1){while(1){n=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,1)|0)!=-1)+n|0;g=g+1|0;if((u|0)!=(g|0)){continue}break}}if((u|0)<2|n>>>0<2){break _a}d=u-1|0;g=0;o=0;while(1){o=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,2)|0)!=-1)+o|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}n=n+o|0;if((u|0)<3|o>>>0<2){break _a}d=u-2|0;g=0;o=0;while(1){o=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,3)|0)!=-1)+o|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}n=n+o|0;if((u|0)<4|o>>>0<2){break _a}d=u-3|0;g=0;o=0;while(1){o=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,4)|0)!=-1)+o|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}n=n+o|0}d=q-u|0;g=d>>31;q=n;n=g^d+g;d=n-2|0;y=q-(d>>>0>n>>>0?0:d)|0}if(h[f+11|0]<=-1){T(j[f>>2])}g=h[f+27|0]<0?j[f+16>>2]:f+16|0;if(j[a+76>>2]){q=W(c);d=W(g);if((q|0)<=(d|0)){n=1;if(k[(g+q|0)-1|0]==k[(d+g|0)-1|0]){break Xa}}n=0;break Xa}n=0;o=j[a+52>>2];if(!o){break Xa}q=k[c|0];d=k[g|0];if(k[(o+p(d,3)|0)+1|0]!=q<<24>>24?(q|0)!=(d|0):0){break Xa}n=c;while(1){$a:{d=n+1|0;o=k[n+1|0];if(!o){break $a}q=k[g+1|0];g=g+1|0;n=d;if((o|0)==(q|0)){continue}}break}n=d-c|0}d=A-t|0;g=d>>31;g=(s<<1)-(g^d+g)|0;q=x+(f+48|0)|0;if(v){d=0}else{d=(Qp(a,c,h[f+27|0]<0?j[f+16>>2]:f+16|0,f+12|0)|0)!=0}j[q>>2]=((d+(((e+g|0)+y|0)+n|0)|0)+(j[f+12>>2]?10:0)|0)+(+(e|0)-1){break Aa}T(j[f+16>>2])}r=r+1|0;if((r|0)!=200){continue}}break}d=1;while(1){D=j[(f+48|0)+(d<<2)>>2];g=d;while(1){e=g-1|0;x=e<<2;q=x+(f+48|0)|0;u=j[q>>2];if((u|0)<(D|0)){n=x+(f+1648|0)|0;r=j[n>>2];j[q>>2]=D;t=g<<2;o=t+(f+1648|0)|0;j[n>>2]=j[o>>2];n=x+(f+848|0)|0;q=j[n>>2];s=n;n=t+(f+848|0)|0;j[s>>2]=j[n>>2];j[t+(f+48|0)>>2]=u;j[o>>2]=r;j[n>>2]=q;n=(g|0)>1;g=e;if(n){continue}}break}d=d+1|0;if((d|0)!=200){continue}break}if(G){u=(E|0)==-1;o=0;while(1){r=o<<2;e=j[r+(f+3408|0)>>2];ab:{if(!e){break ab}j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;bb:{if(j[a+56>>2]){n=W(e);if(n>>>0>=4294967280){break ya}cb:{db:{if(n>>>0>=11){d=n+16&-16;s=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=s;j[f+4>>2]=n;break db}h[f+11|0]=n;s=f;if(!n){break cb}}V(s,e,n)}h[n+s|0]=0;C=ia(f+32|0,f);if(h[f+11|0]<=-1){T(j[f>>2])}Ua(f+32|0,j[a+60>>2]);da(f+16|0,f+32|0);break bb}Ka(f+16|0,e);if(!u){Pa(f+16|0,j[a+52>>2])}C=W(e)}eb:{if(j[a+56>>2]){s=Xc(a,f+2512|0,f+32|0);break eb}g=h[f+27|0]<0?j[f+16>>2]:f+16|0;if(j[a+76>>2]){e=W(c);d=W(g);if((e|0)<=(d|0)){s=1;if(k[(e+g|0)-1|0]==k[(d+g|0)-1|0]){break eb}}s=0;break eb}s=0;n=j[a+52>>2];if(!n){break eb}e=k[c|0];d=k[g|0];if(k[(n+p(d,3)|0)+1|0]!=e<<24>>24?(e|0)!=(d|0):0){break eb}n=c;while(1){fb:{d=n+1|0;q=k[n+1|0];if(!q){break fb}e=k[g+1|0];g=g+1|0;n=d;if((e|0)==(q|0)){continue}}break}s=d-c|0}e=W(c);if(e>>>0>=4294967280){break ya}gb:{hb:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=e;break hb}h[f+11|0]=e;n=f;if(!e){break gb}}V(n,c,e)}h[e+n|0]=0;e=A-C|0;n=e>>31;d=r+(f+2608|0)|0;Q=d,R=((s-(n^e+n)|0)+(Pp(a,f,f+16|0)<<1)|0)+j[d>>2]|0,j[Q>>2]=R;if(h[f+11|0]<=-1){T(j[f>>2])}if(h[f+27|0]>-1){break ab}T(j[f+16>>2])}t=1;o=o+1|0;if((o|0)!=100){continue}break}while(1){o=j[(f+2608|0)+(t<<2)>>2];g=t;while(1){c=g-1|0;d=c<<2;e=d+(f+2608|0)|0;q=j[e>>2];if((q|0)<(o|0)){d=d+(f+3408|0)|0;n=j[d>>2];j[e>>2]=o;r=d;e=g<<2;d=e+(f+3408|0)|0;j[r>>2]=j[d>>2];j[e+(f+2608|0)>>2]=q;j[d>>2]=n;d=(g|0)>1;g=c;if(d){continue}}break}t=t+1|0;if((t|0)!=100){continue}break}}q=(j[b+4>>2]-j[b>>2]|0)/12|0;n=0;B=0;while(1){t=n<<2;r=t+(f+1648|0)|0;d=j[r>>2];ib:{if(!d){break ib}jb:{u=j[b+4>>2];g=j[b>>2];c=(u-g|0)/12|0;if(c>>>0>=q+j[a+68>>2]>>>0|c>>>0>=m[a+48>>2]){break jb}e=j[t+(f+48|0)>>2];kb:{if(B){A=1;if((e|0)<=1e3){break jb}break kb}A=1;if((e|0)>1e3){break kb}if((e|0)>-101){A=0;break kb}lb:{if(c>>>0>q>>>0){break lb}c=j[a+44>>2];if(!c){break kb}if(j[c+4296>>2]){break lb}g=j[b>>2];u=j[b+4>>2];break kb}T(d);B=1;c=j[t+(f+848|0)>>2];if(!c){break ib}T(c);break ib}mb:{nb:{if((g|0)!=(u|0)){e=t+(f+848|0)|0;u=0;while(1){c=j[e>>2];ob:{if(!c){s=j[r>>2];d=s;c=p(u,12)+g|0;if(h[c+11|0]<=-1){c=j[c>>2]}if(!ca(d,c)){break ob}break nb}d=p(u,12)+g|0;if(h[d+11|0]<=-1){d=j[d>>2]}if(ca(c,d)){break nb}s=j[r>>2]}d=W(s);if(d>>>0>=4294967280){break c}pb:{qb:{if(d>>>0>=11){c=d+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=d;break qb}h[f+27|0]=d;o=f+16|0;if(!d){break pb}}V(o,s,d)}h[d+o|0]=0;c=cc(a,f+16|0,0,0,0);if(h[f+27|0]<=-1){T(j[f+16>>2])}if(!c){break nb}u=u+1|0;g=j[b>>2];if(u>>>0<(j[b+4>>2]-g|0)/12>>>0){continue}break}}d=j[t+(f+848|0)>>2];if(d){e=W(d);if(e>>>0>=4294967280){break c}rb:{sb:{if(e>>>0>=11){c=e+16&-16;s=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=s;j[f+20>>2]=e;break sb}h[f+27|0]=e;s=f+16|0;if(!e){break rb}}V(s,d,e)}h[e+s|0]=0;d=j[b+4>>2];if(d>>>0>2]){c=j[f+20>>2];j[d>>2]=j[f+16>>2];j[d+4>>2]=c;j[d+8>>2]=j[f+24>>2];j[b+4>>2]=d+12;break nb}Db(b,f+16|0);if(h[f+27|0]>-1){break nb}T(j[f+16>>2]);break nb}d=j[r>>2];e=W(d);if(e>>>0>=4294967280){break mb}tb:{ub:{if(e>>>0>=11){c=e+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=e;break ub}h[f+27|0]=e;o=f+16|0;if(!e){break tb}}V(o,d,e)}h[e+o|0]=0;d=j[b+4>>2];if(d>>>0>2]){c=j[f+20>>2];j[d>>2]=j[f+16>>2];j[d+4>>2]=c;j[d+8>>2]=j[f+24>>2];j[b+4>>2]=d+12;break nb}Db(b,f+16|0);if(h[f+27|0]>-1){break nb}T(j[f+16>>2])}T(j[r>>2]);c=j[t+(f+848|0)>>2];if(c){T(c)}B=A;break ib}break c}T(d);c=j[t+(f+848|0)>>2];if(!c){break ib}T(c)}n=n+1|0;if((n|0)!=200){continue}break}break xa}X();z()}vb:{if(G){q=((j[b+4>>2]-j[b>>2]|0)/12|0)+2|0;u=0;while(1){e=(f+3408|0)+(u<<2)|0;n=j[e>>2];wb:{if(!n){break wb}d=j[b+4>>2];g=j[b>>2];c=(d-g|0)/12|0;if(c>>>0>=q>>>0|c>>>0>=m[a+48>>2]){break wb}s=0;xb:{if((d|0)==(g|0)){break xb}while(1){c=n;d=p(s,12)+g|0;if(h[d+11|0]<=-1){d=j[d>>2]}if(ca(c,d)){break wb}d=W(n);if(d>>>0<4294967280){yb:{zb:{if(d>>>0>=11){c=d+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=d;break zb}h[f+27|0]=d;o=f+16|0;if(!d){break yb}}V(o,n,d)}h[d+o|0]=0;c=cc(a,f+16|0,0,0,0);if(h[f+27|0]<=-1){T(j[f+16>>2])}if(!c){break wb}n=j[e>>2];s=s+1|0;g=j[b>>2];if(s>>>0>=(j[b+4>>2]-g|0)/12>>>0){break xb}continue}break}break c}d=W(n);if(d>>>0>=4294967280){break vb}Ab:{Bb:{if(d>>>0>=11){c=d+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=d;break Bb}h[f+27|0]=d;o=f+16|0;if(!d){break Ab}}V(o,n,d)}h[d+o|0]=0;d=j[b+4>>2];if(d>>>0>2]){c=j[f+20>>2];j[d>>2]=j[f+16>>2];j[d+4>>2]=c;j[d+8>>2]=j[f+24>>2];j[b+4>>2]=d+12;break wb}Db(b,f+16|0);if(h[f+27|0]>-1){break wb}T(j[f+16>>2])}u=u+1|0;if((u|0)!=100){continue}break}}if((E|0)==-1){j[a+56>>2]=1}a=j[f+32>>2];if(!a){break m}j[f+36>>2]=a;T(a);break m}break c}if((E|0)!=-1){break m}j[a+56>>2]=1}a=j[f+2448>>2];if(a){j[f+2452>>2]=a;T(a)}a=j[f+2464>>2];if(a){j[f+2468>>2]=a;T(a)}if(h[f+2491|0]<=-1){T(j[f+2480>>2])}a=j[f+2496>>2];if(a){j[f+2500>>2]=a;T(a)}a=j[f+2512>>2];if(a){j[f+2516>>2]=a;T(a)}a=j[f+2528>>2];if(a){j[f+2532>>2]=a;T(a)}if(h[f+2555|0]<=-1){T(j[f+2544>>2])}if(h[f+2571|0]<=-1){T(j[f+2560>>2])}a=j[f+2576>>2];if(a){j[f+2580>>2]=a;T(a)}if(h[f+2603|0]<=-1){T(j[f+2592>>2])}M=f+4224|0;return}X();z()}X();z()}X();z()}function ed(a,b,c,d,e,f,g,m,n,o,q){var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;x=M-48|0;M=x;j[x+40>>2]=0;j[x+32>>2]=0;j[x+36>>2]=0;w=k[b+11|0];r=w<<24>>24<0;t=j[b+4>>2];a:{if(!c){ka=148784,la=C()|0,j[ka>>2]=la;break a}if(!j[37196]){break a}if((C()|0)<=(j[37196]+5e4|0)){break a}j[37196]=0}w=r?t:w;u=j[a+4200>>2];b:{if(j[a+4144>>2]){if((u|0)<1){t=w;u=0;break b}I=h[b+11|0]<0?j[b>>2]:b;s=w-1|0;r=0;t=0;while(1){if((r|0)<(w|0)){while(1){c:{if((r|0)==(s|0)){r=w;break c}r=r+1|0;if((k[I+r|0]&192)==128){continue}}break}t=t+1|0;if((u|0)!=(t|0)){continue}}break}if((u|0)<2){t=w;u=r;break b}s=u-1|0;t=w;while(1){if((t|0)<0){u=r;break b}while(1){d:{if((t|0)<1){t=-1;break d}t=t-1|0;if((k[I+t|0]&192)==128){continue}}break}A=A+1|0;if((s|0)!=(A|0)){continue}break}u=r;break b}t=(w-u|0)+1|0}ua(x+32|0,b);e:{f:{if((t|0)<=(u|0)){break f}Z=n?3:1;da=(g|0)!=0;$=f+1|0;ea=$<<2;fa=f<<2;while(1){g:{if(!j[a+4144>>2]){L=u;break g}r=h[x+43|0]<0?j[x+32>>2]:x+32|0;while(1){L=u;u=u+1|0;if((k[r+L|0]&192)==128){continue}break}if((t|0)>(L|0)){break g}break f}j[x+44>>2]=g;S=da;while(1){R=d;J=0;Q=0;I=c;G=0;h:{while(1){if(!j[37196]){y=0;break f}i:{if(!J){J=0;y=j[x+32>>2];D=k[x+43|0];F=L;L=Q;O=w;break i}v=j[a+4248>>2];B=(j[a+4252>>2]-v|0)/40|0;if(B>>>0>>0){F=L;break h}u=(h[b+11|0]<0?j[b>>2]:b)+L|0;j:{while(1){H=p(J-1|0,40);y=H+v|0;s=y+24|0;A=k[y+35|0];r=A<<24>>24;k:{l:{if((r|0)<=-1){if(!j[y+28>>2]){break k}A=j[y+28>>2];s=j[s>>2];break l}if(!r){break k}}if(!Eb(u,s,A)){break j}}J=J+1|0;if(B>>>0>=J>>>0){continue}break}F=L;break h}s=k[y+11|0];r=s<<24>>24<0;oc(x+32|0,L,-1,r?j[y>>2]:y,r?j[y+4>>2]:s);B=x+32|0;u=H+j[a+4248>>2]|0;r=h[u+11|0];m:{if((r|0)<=-1){r=j[u+4>>2];break m}r=r&255}F=r+L|0;s=k[u+23|0];r=s<<24>>24<0;oc(B,F,-1,r?j[u+12>>2]:u+12|0,r?j[u+16>>2]:s);v=H+j[a+4248>>2]|0;r=h[v+23|0];n:{if((r|0)<=-1){r=j[v+16>>2];break n}r=r&255}B=r+F|0;y=x+16|0;r=b;s=h[v+35|0];u=j[v+28>>2];o:{if((s|0)<=-1){break o}u=s&255}sa(y,r,u+L|0,-1);s=k[x+27|0];r=s<<24>>24<0;oc(x+32|0,B,-1,r?j[x+16>>2]:x+16|0,r?j[x+20>>2]:s);if(h[x+27|0]<=-1){T(j[x+16>>2])}u=H+j[a+4248>>2]|0;r=h[u+11|0];p:{if((r|0)<=-1){r=j[u+4>>2];break p}r=r&255}D=h[x+43|0];y=j[x+32>>2];s=h[u+23|0];B=j[u+16>>2];q:{if((s|0)<=-1){break q}B=s&255}B=B+(r+w|0)|0;r=h[u+35|0];s=j[u+28>>2];r:{if((r|0)<=-1){break r}s=r&255}O=B-s|0;v=j[a+4200>>2];s:{if(!j[a+4144>>2]|(v|0)<1){break s}B=(D|0)<0?y:x+32|0;s=O-1|0;r=0;u=0;while(1){if((r|0)>=(O|0)){break s}while(1){t:{if((r|0)==(s|0)){r=O;break t}r=r+1|0;if((k[B+r|0]&192)==128){continue}}break}u=u+1|0;if((v|0)!=(u|0)){continue}break}}ga=w;ha=t;t=(O-v|0)+1|0}ba=t;r=0;t=(D<<24>>24<0?y:x+32|0)+F|0;ca=k[t|0];h[t|0]=0;j[a+4372>>2]=0;j[a+4376>>2]=0;u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{H:{t=j[a+4096>>2];s=j[t>>2];if((s|0)==j[t+4>>2]){break H}w=h[x+43|0]<0?j[x+32>>2]:x+32|0;while(1){D=dc(j[(r<<2)+s>>2],w);if(!D){t=j[a+4096>>2];s=j[t>>2];r=r+1|0;if(r>>>0>2]-s>>2>>>0){continue}}break}if(!D){break H}v=l[a+4162>>1];if(!v){break G}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=v>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if(n|(r|0)==(w|0)|v>>>0>1]){break G}Q=L;w=O;t=ba;break v}Q=J-1|0;break F}Q=J-1|0;if(n){break E}while(1){v=l[a+4198>>1];I:{J:{if(!v){break J}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=v>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break J}if(v>>>0>=l[r>>1]){break I}}v=j[x+44>>2];K:{L:{if(S){break L}H=l[a+4152>>1];if(v|!H){break L}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=H>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break L}if(H>>>0>=l[r>>1]){break K}}M:{if(I&65535|S){break M}H=l[a+4154>>1];if(!H){break M}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=H>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break M}if(H>>>0>=l[r>>1]){break K}}N:{if(!(I&65535)|(v|S)){break N}H=l[a+4156>>1];if(!H){break N}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=H>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break N}if(H>>>0>=l[r>>1]){break K}}if(!S|j[a+4268>>2]==j[a+4272>>2]){break I}if(!(v|I&65535)){if(hc(a,x+44|0,f,D,m,0)){break K}v=j[x+44>>2]}if(!v){break I}if(!hc(a,x+44|0,f,D,m,0)){break I}}if(!J){Q=-1;break E}v=l[(j[a+4248>>2]+p(Q,40)|0)+36>>1];if(!v){break E}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=v>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break I}if(v>>>0>=l[r>>1]){break E}}D=j[D+12>>2];if(D){continue}break}}if(S){break u}t=l[a+4152>>1];O:{if(!t){break O}H=1;D=gb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,Z,t);if(D){break D}D=Qa(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,0,l[a+4152>>1],Z);if(!D){if(!j[a+4168>>2]){break O}D=eb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,l[a+4152>>1]);if(!D){break O}}w=1;if(n){break C}P=j[a+4372>>2];t=j[P+56>>2];if(!t){break D}y=l[a+4162>>1];P:{if(!y){break P}s=i[P+60>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=y>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break P}if(y>>>0>=l[r>>1]){break O}}Q:{v=l[a+4158>>1];if(!v){break Q}r=i[P+60>>1];s=(r<<1)+t|0;if(r){while(1){B=r>>>1|0;w=(B<<1)+t|0;u=v>>>0>l[w>>1];t=u?w+2|0:t;r=u?(B^-1)+r|0:B;if(r){continue}break}}if((s|0)==(t|0)){break Q}if(!D|v>>>0>=l[t>>1]){break O}break D}if(D){break D}}if(!(I&65535)){t=l[a+4154>>1];if(!t){w=0;break A}H=1;D=Qa(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,0,t,Z);if(D){break D}if(j[a+4168>>2]){D=eb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,l[a+4154>>1]);if(D){break D}}w=0;D=gb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,Z,l[a+4154>>1]);if(!D){break A}break D}if(I<<16>>16<1){w=I;break A}t=l[a+4156>>1];if(!t){w=I;break A}H=1;D=Qa(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,0,t,Z);if(D){break D}if(j[a+4168>>2]){D=eb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,l[a+4156>>1]);if(D){break D}}D=gb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,Z,l[a+4156>>1]);if(D){break D}w=I;break A}u=j[D+4>>2];if(!u){H=G;break D}P=l[D+2>>1];v=P<<16>>16;y=(v<<1)+u|0;r=u;if(P){w=l[a+4192>>1];s=v;while(1){H=s>>>1|0;t=(H<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(H^-1)+s|0:H;if(s){continue}break}}R:{if(l[a+4192>>1]>=l[r>>1]?(r|0)!=(y|0):0){break R}r=u;if(P){w=l[a+4198>>1];s=v;while(1){H=s>>>1|0;t=(H<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(H^-1)+s|0:H;if(s){continue}break}}if(l[a+4198>>1]>=l[r>>1]?(r|0)!=(y|0):0){break R}r=u;s=v;if(P){while(1){B=s>>>1|0;t=(B<<1)+r|0;w=l[t>>1]<65511;r=w?t+2|0:r;s=w?(B^-1)+s|0:B;if(s){continue}break}}if(l[r>>1]<65512?(r|0)!=(y|0):0){break R}if(!o){H=G;break D}s=l[a+4194>>1];if(!s){H=G;break D}if(P){while(1){w=v>>>1|0;t=(w<<1)+u|0;r=s>>>0>l[t>>1];u=r?t+2|0:u;v=r?(w^-1)+v|0:w;if(v){continue}break}}if((u|0)==(y|0)){H=G;break D}H=G;if(s>>>0>1]){break D}}h[(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0]=ca;break u}S:{if(!D|n){break S}t=j[a+4376>>2];T:{if(!t){break T}r=j[t+56>>2];if(!r){break T}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){v=s>>>1|0;t=(v<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break T}if(l[a+4162>>1]>=l[r>>1]){break B}}t=j[a+4372>>2];if(!t){break S}r=j[t+56>>2];if(!r){break S}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){v=s>>>1|0;t=(v<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break S}if(l[a+4162>>1]>=l[r>>1]){break B}}U:{w=(H|0)!=0;B=w|!D;if(B){break U}V:{if(n){break V}y=l[a+4158>>1];if(!y){break V}W:{t=j[a+4376>>2];if(!t){break W}r=j[t+56>>2];if(!r){break W}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){H=s>>>1|0;t=(H<<1)+r|0;v=y>>>0>l[t>>1];r=v?t+2|0:r;s=v?(H^-1)+s|0:H;if(s){continue}break}}if((r|0)==(u|0)){break W}G=0;if(y>>>0>1]){break W}w=I;break A}t=j[a+4372>>2];if(!t){break V}r=j[t+56>>2];if(!r){break V}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){H=s>>>1|0;t=(H<<1)+r|0;v=y>>>0>l[t>>1];r=v?t+2|0:r;s=v?(H^-1)+s|0:H;if(s){continue}break}}if((r|0)==(u|0)){break V}G=0;if(y>>>0>1]){break V}w=I;break A}H=0;if(n|(B|I&65535)){break U}y=l[a+4156>>1];if(!y){break U}X:{t=j[a+4376>>2];if(!t){break X}r=j[t+56>>2];if(!r){break X}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){v=s>>>1|0;t=(v<<1)+r|0;B=y>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break X}G=0;if(y>>>0>1]){break X}w=0;break A}t=j[a+4372>>2];if(!t){break U}r=j[t+56>>2];if(!r){break U}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){v=s>>>1|0;t=(v<<1)+r|0;B=y>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break U}w=0;G=0;if(y>>>0>1]){break C}break A}if(!D){break B}}Y:{t=j[D+4>>2];if(!t){break Y}A=l[D+2>>1];v=A<<16>>16;P=(v<<1)+t|0;r=t;if(A){B=l[a+4192>>1];s=v;while(1){y=s>>>1|0;u=(y<<1)+r|0;G=B>>>0>l[u>>1];r=G?u+2|0:r;s=G?(y^-1)+s|0:y;if(s){continue}break}}if(!((r|0)==(P|0)|l[a+4192>>1]>1])){y=0;break f}r=t;s=v;if(A){while(1){G=s>>>1|0;u=(G<<1)+r|0;B=l[u>>1]<65511;r=B?u+2|0:r;s=B?(G^-1)+s|0:G;if(s){continue}break}}if(!((r|0)==(P|0)|l[r>>1]>=65512)){y=0;break f}if(!o){break Y}G=l[a+4194>>1];if(!G){break Y}r=t;if(A){while(1){B=v>>>1|0;s=(B<<1)+r|0;u=G>>>0>l[s>>1];r=u?s+2|0:r;v=u?(B^-1)+v|0:B;if(v){continue}break}}if((r|0)==(P|0)|G>>>0>1]){break Y}y=0;break f}y=l[a+4160>>1];Z:{_:{if(!y){if(!w){break _}break Z}s=i[D+2>>1];if(s){B=(s<<1)+t|0;r=t;while(1){G=s>>>1|0;u=(G<<1)+r|0;v=y>>>0>l[u>>1];r=v?u+2|0:r;s=v?(G^-1)+s|0:G;if(s){continue}break}I=(r|0)!=(B|0)?(y>>>0>=l[r>>1])+I|0:I;if(w){break Z}break _}if(w){break Z}}r=j[x+44>>2];if(j[r+fa>>2]?r:0){break Z}G=l[a+4152>>1];$:{if(!G){break $}s=i[D+2>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=G>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break $}if(G>>>0>=l[r>>1]){break Z}}aa:{ba:{if(c){break ba}G=l[a+4154>>1];if(!G){break aa}s=i[D+2>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=G>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break ba}if(G>>>0>=l[r>>1]){break Z}}if((c|0)<1){break aa}G=l[a+4156>>1];if(!G){break aa}s=i[D+2>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=G>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break aa}if(G>>>0>=l[r>>1]){break Z}}if(!n|j[a+4456>>2]!=36){break y}y=l[D+2>>1];v=y<<16>>16;G=(v<<1)+t|0;r=t;s=v;if(y){while(1){B=s>>>1|0;w=(B<<1)+r|0;u=l[w>>1]<70;r=u?w+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if(l[r>>1]<71?(r|0)!=(G|0):0){break Z}r=t;s=v;if(y){while(1){B=s>>>1|0;w=(B<<1)+r|0;u=l[w>>1]<71;r=u?w+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if(l[r>>1]<72?(r|0)!=(G|0):0){break Z}r=t;if(y){while(1){u=v>>>1|0;w=(u<<1)+r|0;s=l[w>>1]<72;r=s?w+2|0:r;v=s?(u^-1)+v|0:u;if(v){continue}break}}if((r|0)==(G|0)|l[r>>1]>72){break y}}if(J){v=l[(j[a+4248>>2]+p(Q,40)|0)+36>>1];if(!v){break z}r=i[D+2>>1];s=(r<<1)+t|0;if(r){while(1){B=r>>>1|0;w=(B<<1)+t|0;u=v>>>0>l[w>>1];t=u?w+2|0:t;r=u?(B^-1)+r|0:B;if(r){continue}break}}if((s|0)==(t|0)|v>>>0>1]){break y}}t=j[x+44>>2];ca:{if(t|(!j[a+4184>>2]|J)){break ca}w=(h[b+11|0]<0?j[b>>2]:b)+F|0;r=k[w-1|0];if((r|0)!=k[w|0]){break ca}if((r|0)==k[w+1|0]|((r|0)==k[w-2|0]?(F|0)>=2:0)){break y}}if(!j[a+4180>>2]|(t|J)){break z}if(kg(a,h[b+11|0]<0?j[b>>2]:b,F)){break y}break z}w=I;G=H}if(!n|j[a+4456>>2]!=36){break x}t=h[x+43|0]<0?j[x+32>>2]:x+32|0;D=gb(a,t,F,0,0);da:{if(D){break da}D=Qa(a,t,F,0,0,0,0,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(D){break x}D=eb(a,t,F,0,0,0);if(D){break da}D=Lb(a,t,F,0)}if(!D){break x}}r=j[a+4372>>2];if(!r){break x}t=j[r+56>>2];if(!t){break x}y=l[r+60>>1];u=y<<16>>16;H=(u<<1)+t|0;r=t;s=u;if(y){while(1){v=s>>>1|0;I=(v<<1)+r|0;B=l[I>>1]<120;r=B?I+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if(!((r|0)==(H|0)|l[r>>1]>=121)){I=w;H=G;break z}if(y){while(1){I=u>>>1|0;r=(I<<1)+t|0;s=l[r>>1]<37;t=s?r+2|0:t;u=s?(I^-1)+u|0:I;if(u){continue}break}}if((t|0)==(H|0)){break x}I=w;H=G;if(l[t>>1]>37){break x}}ea:{if(j[a+4456>>2]!=36){break ea}t=Fb(a,sa(x+16|0,x+32|0,0,F));if(h[x+27|0]<=-1){T(j[x+16>>2])}R=t+R|0;t=j[a+4376>>2];if(!t){break ea}s=t+4|0;s=h[t+15|0]<=-1?j[s>>2]:s;r=W(s);if(r>>>0>=4294967280){break e}fa:{ga:{if(r>>>0>=11){t=r+16&-16;A=U(t);j[x+24>>2]=t|-2147483648;j[x+16>>2]=A;j[x+20>>2]=r;break ga}h[x+27|0]=r;A=x+16|0;if(!r){break fa}}V(A,s,r)}h[r+A|0]=0;t=Fb(a,x+16|0);if(h[x+27|0]<=-1){T(j[x+16>>2])}I=((t|0)>1)+I|0}h[(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0]=ca;ia=I+1|0;P=R-1|0;ja=(I<<16>>16)+2|0;B=!J;while(1){G=1;ha:{if(!j[a+4188>>2]){break ha}if(_){F=F-1|0;G=0;break ha}_=0;if((F|0)<3){break ha}t=(h[b+11|0]<0?j[b>>2]:b)+F|0;_=k[t-1|0]==k[t-2|0]}ia:{t=j[a+4096>>2];s=j[t>>2];if((s|0)==j[t+4>>2]){break ia}r=0;w=(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0;while(1){v=dc(j[(r<<2)+s>>2],w);if(!v){t=j[a+4096>>2];s=j[t>>2];r=r+1|0;if(r>>>0>2]-s>>2>>>0){continue}}break}if(!v){break ia}while(1){ja:{A=l[a+4198>>1];ka:{la:{if(!A){break la}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break la}if(A>>>0>=l[r>>1]){break ka}}E=j[x+44>>2];A=l[a+4152>>1];ma:{na:{if(E|!A){break na}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break na}if(A>>>0>=l[r>>1]){break ma}}oa:{if(E){break oa}A=l[a+4158>>1];if(!A){break oa}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break oa}if(A>>>0>=l[r>>1]){break ma}}if(!E|j[a+4268>>2]==j[a+4272>>2]){break ka}if(!hc(a,x+44|0,$<<16>>16,v,0,1)){break ka}}if(!J){break ja}A=l[(j[a+4248>>2]+p(Q,40)|0)+38>>1];if(!A){break ja}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break ka}if(A>>>0>=l[r>>1]){break ja}}v=j[v+12>>2];if(v){continue}break ia}break}A=l[a+4468>>1];pa:{if(!A){break pa}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)|A>>>0>1]){break pa}if(!q|!(k[q|0]&32)){break ia}}qa:{if(!v){break qa}t=j[x+44>>2];if(!t|!j[t+ea>>2]){break qa}y=D;break f}if(!v){break ia}t=R;ra:{if(j[a+4456>>2]!=36){break ra}u=i[v+2>>1];t=R;if(!u){break ra}y=j[v+4>>2];E=y+(u<<1)|0;r=y;s=u;while(1){A=s>>>1|0;t=(A<<1)+r|0;w=l[t>>1]<73;r=w?t+2|0:r;s=w?(A^-1)+s|0:A;if(s){continue}break}t=R;if((r|0)==(E|0)){break ra}s=R;if(l[r>>1]<=73){while(1){w=u>>>1|0;t=(w<<1)+y|0;r=l[t>>1]<74;y=r?t+2|0:y;u=r?(w^-1)+u|0:w;if(u){continue}break}t=P;if((y|0)==(E|0)){break ra}s=P;t=R;if(l[y>>1]<75){break ra}}t=s}u=t;t=j[v+4>>2];K=l[a+4160>>1];w=I;sa:{if(!K){break sa}s=i[v+2>>1];w=I;if(!s){break sa}y=(s<<1)+t|0;r=t;while(1){E=s>>>1|0;w=(E<<1)+r|0;A=K>>>0>l[w>>1];r=A?w+2|0:r;s=A?(E^-1)+s|0:E;if(s){continue}break}w=I;if((r|0)==(y|0)){break sa}w=(K>>>0>=l[r>>1])+I|0}ta:{if(!t){break ta}aa=l[v+2>>1];y=aa<<16>>16;Y=(y<<1)+t|0;r=t;if(aa){E=l[a+4192>>1];s=y;while(1){N=s>>>1|0;A=(N<<1)+r|0;K=E>>>0>l[A>>1];r=K?A+2|0:r;s=K?(N^-1)+s|0:N;if(s){continue}break}}if(!((r|0)==(Y|0)|l[a+4192>>1]>1])){y=0;break f}r=t;s=y;if(aa){while(1){K=s>>>1|0;A=(K<<1)+r|0;E=l[A>>1]<65511;r=E?A+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}}if(!((r|0)==(Y|0)|l[r>>1]>=65512)){y=0;break f}if(!o){break ta}K=l[a+4194>>1];if(!K){break ta}r=t;if(aa){while(1){E=y>>>1|0;s=(E<<1)+r|0;A=K>>>0>l[s>>1];r=A?s+2|0:r;y=A?(E^-1)+y|0:E;if(y){continue}break}}if((r|0)==(Y|0)|K>>>0>1]){break ta}y=0;break f}N=l[a+4152>>1];ua:{va:{if(!N){break va}s=i[v+2>>1];A=(s<<1)+t|0;r=t;if(s){while(1){K=s>>>1|0;y=(K<<1)+r|0;E=N>>>0>l[y>>1];r=E?y+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}}if((r|0)==(A|0)){break va}if(N>>>0>=l[r>>1]){break ua}}K=l[a+4158>>1];if(!K){break ia}r=i[v+2>>1];y=(r<<1)+t|0;if(r){while(1){E=r>>>1|0;s=(E<<1)+t|0;A=K>>>0>l[s>>1];t=A?s+2|0:t;r=A?(E^-1)+r|0:E;if(r){continue}break}}if((t|0)==(y|0)|K>>>0>1]){break ia}}y=0;t=j[a+4308>>2];wa:{xa:{ya:{if(!((t|0)==-1|(t|0)>((w<<16>>16)+1|0))){if(!j[a+4312>>2]){break ia}w=u<<16>>16;s=k[v|0];za:{Aa:{if(s>>>0>=11){t=s+16&496;A=U(t);j[x+8>>2]=t|-2147483648;j[x>>2]=A;j[x+4>>2]=s;break Aa}h[x+11|0]=s;A=x;if(!s){break za}}V(A,v+17|0,s)}r=0;h[s+A|0]=0;y=1;if((Fb(a,x)+w|0)>j[a+4312>>2]){break ya}}w=j[a+4248>>2];Ba:{if(!((w|0)==j[a+4252>>2]|J)){r=0;if(hd(a,h[b+11|0]<0?j[b>>2]:b,F,D,v)|(j[a+4172>>2]?(v|0)==(D|0):0)){break Ba}r=1;if(y){break ya}break wa}t=(v|0)==(D|0)&j[a+4172>>2]!=0;r=t^1;if(!J|t){break Ba}A=l[(w+p(Q,40)|0)+38>>1];if(!A){r=1;break Ba}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){v=s>>>1|0;t=(v<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(w|0)){r=0;break Ba}r=A>>>0>=l[r>>1]}if(!y){break xa}}if(h[x+11|0]>-1){break xa}T(j[x>>2])}if(!r){break ia}}if(j[a+4176>>2]){y=0;if(nd(a,h[b+11|0]<0?j[b>>2]:b,O)){break f}}y=id(a,h[b+11|0]<0?j[b>>2]:b,O)?0:D;break f}i[a+4364>>1]=0;j[a+4372>>2]=0;Ca:{Da:{Ea:{if(S){break Ea}w=l[a+4152>>1];if(!w){break Ea}r=(h[b+11|0]<0?j[b>>2]:b)+F|0;t=W(r);v=gb(a,r,t,2,w);if(v){break Da}v=Qa(a,r,t,0,0,0,w,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(v){break Da}v=eb(a,r,t,0,0,w);if(v){break Da}v=Lb(a,r,t,w)}if(v){break Da}}Fa:{if(S){break Fa}w=l[a+4158>>1];if(!w){break Fa}j[a+4372>>2]=0;j[a+4376>>2]=0;r=(h[b+11|0]<0?j[b>>2]:b)+F|0;t=W(r);v=gb(a,r,t,2,w);if(v){break Da}v=Qa(a,r,t,0,0,0,w,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(v){break Da}v=eb(a,r,t,0,0,w);if(v){break Da}v=Lb(a,r,t,w)}if(v){break Da}}w=0;y=1;if(j[a+4268>>2]==j[a+4272>>2]){t=B;break Ca}if(!j[x+44>>2]){t=B;break Ca}r=(h[b+11|0]<0?j[b>>2]:b)+F|0;t=W(r);s=gb(a,r,t,2,0);Ga:{if(s){break Ga}s=Qa(a,r,t,0,0,0,0,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(s){break Ga}s=eb(a,r,t,0,0,0);if(s){break Ga}s=Lb(a,r,t,0)}t=B;if(!s){break Ca}}t=B;if(!hc(a,x+44|0,$<<16>>16,s,0,1)){break Ca}y=D;break f}E=j[a+4248>>2];Ha:{if(J){A=l[(E+p(Q,40)|0)+38>>1];if(!A){break Ha}r=j[v+4>>2];s=i[v+2>>1];u=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;w=A>>>0>l[t>>1];r=w?t+2|0:r;s=w?(y^-1)+s|0:y;if(s){continue}break}}y=1;w=0;if((r|0)==(u|0)){t=0;break Ca}if(!v){t=0;break Ca}t=0;if(A>>>0>1]){break Ca}}if((E|0)==j[a+4252>>2]|J){break Ha}w=0;y=1;t=1;if(hd(a,h[b+11|0]<0?j[b>>2]:b,F,D,v)){break Ca}}Ia:{t=j[a+4376>>2];Ja:{if(!t){break Ja}r=j[t+56>>2];if(!r){break Ja}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){A=s>>>1|0;t=(A<<1)+r|0;y=w>>>0>l[t>>1];r=y?t+2|0:r;s=y?(A^-1)+s|0:A;if(s){continue}break}}if((r|0)==(u|0)){break Ja}if(l[a+4162>>1]>=l[r>>1]){break Ia}}Ka:{La:{Ma:{t=j[a+4372>>2];if(!t){break Ma}r=j[t+56>>2];if(!r){break Ma}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){A=s>>>1|0;t=(A<<1)+r|0;y=w>>>0>l[t>>1];r=y?t+2|0:r;s=y?(A^-1)+s|0:A;if(s){continue}break}}if((r|0)==(u|0)){break Ma}w=0;y=1;if(v){break La}t=B;break Ca}if(!v){break Ia}break Ka}t=B;if(l[a+4162>>1]>=l[r>>1]){break Ca}}u=j[v+4>>2];E=l[a+4468>>1];Na:{if(!E){break Na}s=i[v+2>>1];w=(s<<1)+u|0;r=u;if(s){while(1){A=s>>>1|0;t=(A<<1)+r|0;y=E>>>0>l[t>>1];r=y?t+2|0:r;s=y?(A^-1)+s|0:A;if(s){continue}break}}Oa:{if(!((r|0)==(w|0)|E>>>0>1])){w=0;y=1;if(!q){t=B;break Ca}if(v){break Oa}t=B;break Ca}if(!v){break Ia}break Na}t=B;if(!(j[q>>2]&32)){break Ca}}y=0;Pa:{if(!u){break Pa}Y=l[v+2>>1];w=Y<<16>>16;N=(w<<1)+u|0;r=u;if(Y){A=l[a+4192>>1];s=w;while(1){K=s>>>1|0;t=(K<<1)+r|0;E=A>>>0>l[t>>1];r=E?t+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}}if(!((r|0)==(N|0)|l[a+4192>>1]>1])){break f}r=u;s=w;if(Y){while(1){E=s>>>1|0;t=(E<<1)+r|0;A=l[t>>1]<65511;r=A?t+2|0:r;s=A?(E^-1)+s|0:E;if(s){continue}break}}if(!((r|0)==(N|0)|l[r>>1]>=65512)){break f}if(!o){break Pa}A=l[a+4194>>1];if(!A){break Pa}if(Y){while(1){s=w>>>1|0;t=(s<<1)+u|0;r=A>>>0>l[t>>1];u=r?t+2|0:u;w=r?(s^-1)+w|0:s;if(w){continue}break}}if((u|0)==(N|0)){break Pa}w=v;t=B;if(A>>>0>=l[u>>1]){break f}break Ca}w=v;t=B;break Ca}w=0;y=1;t=B}u=R;v=I;Qa:{Ra:{Sa:{if(j[a+4456>>2]!=36){break Sa}u=(h[b+11|0]<0?j[b>>2]:b)+F|0;A=W(u);if(A>>>0>=4294967280){break e}Ta:{Ua:{if(A>>>0>=11){r=A+16&-16;s=U(r);j[x+24>>2]=r|-2147483648;j[x+16>>2]=s;j[x+20>>2]=A;break Ua}h[x+27|0]=A;s=x+16|0;if(!A){break Ta}}V(s,u,A)}h[s+A|0]=0;E=Fb(a,x+16|0);if(h[x+27|0]<=-1){T(j[x+16>>2])}s=j[a+4356>>2];Va:{if(s){u=W(s);if(u>>>0>=4294967280){break e}Wa:{Xa:{if(u>>>0>=11){r=u+16&-16;A=U(r);j[x+24>>2]=r|-2147483648;j[x+16>>2]=A;j[x+20>>2]=u;break Xa}h[x+27|0]=u;A=x+16|0;if(!u){break Wa}}V(A,s,u)}h[u+A|0]=0;Va(x+16|0);s=Fb(a,x+16|0);r=l[a+4360>>1];if(h[x+27|0]<=-1){T(j[x+16>>2])}r=r+s|0;break Va}r=j[a+4360>>2]}u=j[a+4376>>2];if(u){s=u+4|0;s=h[u+15|0]<=-1?j[s>>2]:s;v=W(s);if(v>>>0>=4294967280){break e}Ya:{Za:{if(v>>>0>=11){u=v+16&-16;A=U(u);j[x+24>>2]=u|-2147483648;j[x+16>>2]=A;j[x+20>>2]=v;break Za}h[x+27|0]=v;A=x+16|0;if(!v){break Ya}}V(A,s,v)}h[v+A|0]=0;s=Fb(a,x+16|0);if(h[x+27|0]<=-1){T(j[x+16>>2])}v=((s|0)>1)+I|0}u=(E+R|0)-r|0;r=h[a+4351|0];s=j[a+4344>>2];_a:{if((r|0)<=-1){break _a}s=r&255}if(!s){break Sa}$a:{switch(l[a+4364>>1]-73|0){case 26:if(y){break Qa}u=u+2|0;break Ra;case 1:if(y){break Qa}u=u+1|0;break Ra;case 0:break $a;default:break Sa}}if(y){break Qa}s=i[w+2>>1];if(!s){break Ra}r=j[w+4>>2];E=r+(s<<1)|0;while(1){N=s>>>1|0;A=(N<<1)+r|0;K=l[A>>1]<74;r=K?A+2|0:r;s=K?(N^-1)+s|0:N;if(s){continue}break}if((r|0)==(E|0)){break Ra}if(l[r>>1]>74){break Sa}u=u+1|0;break Ra}if(y){break Qa}}N=l[a+4160>>1];ab:{if(!N){break ab}s=i[w+2>>1];if(!s){break ab}r=j[w+4>>2];A=r+(s<<1)|0;while(1){K=s>>>1|0;y=(K<<1)+r|0;E=N>>>0>l[y>>1];r=E?y+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}if((r|0)==(A|0)){break ab}v=(N>>>0>=l[r>>1])+v|0}r=j[a+4308>>2];if(!((r|0)==-1|(r|0)>((v<<16>>16)+1|0))){r=j[a+4312>>2];if(!r|(r|0)>16){break Qa}}if(j[a+4172>>2]?(w|0)==(D|0):0){break Qa}if(j[a+4176>>2]){y=0;if(nd(a,h[b+11|0]<0?j[b>>2]:b,O)){break f}}y=id(a,h[b+11|0]<0?j[b>>2]:b,O)?0:D;break f}bb:{if((e|0)<=(ja|0)){break bb}E=ed(a,sa(x+16|0,x+32|0,F,-1),ia<<16>>16,R<<16>>16,e,$<<16>>16,j[x+44>>2],m,0,o,q);if(h[x+27|0]<=-1){T(j[x+16>>2])}if(!E){break bb}w=h[b+11|0];cb:{if(j[a+4248>>2]==j[a+4252>>2]){A=j[b>>2];break cb}A=j[b>>2];r=hd(a,(w|0)<0?A:b,F,D,E);if(t){if(!r){break cb}break bb}if(!r){break bb}}y=0;if(id(a,(w|0)<0?A:b,O)){break f}db:{if(!j[a+4176>>2]){if(l[a+4192>>1]){break db}y=D;break f}if(nd(a,h[b+11|0]<0?j[b>>2]:b,O)){break f}}t=k[E|0];if(Eb(E+17|0,(h[b+11|0]<0?j[b>>2]:b)+F|0,t)){y=D;break f}t=(t+F|0)+(h[x+43|0]<0?j[x+32>>2]:x+32|0)|0;r=k[t|0];h[t|0]=0;eb:{fb:{if(j[a+4176>>2]){if(nd(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,k[E|0]+F|0)){break fb}}if(!id(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,k[E|0]+F|0)){break eb}}h[(k[E|0]+F|0)+(h[x+43|0]<0?j[x+32>>2]:x+32|0)|0]=r;break bb}gb:{if(!l[a+4192>>1]){break gb}u=h[b+11|0];v=j[b>>2];c=j[a+4096>>2];t=j[c>>2];hb:{if((t|0)!=j[c+4>>2]){s=0;d=(u|0)<0?v:b;while(1){J=dc(j[(s<<2)+t>>2],d);if(!J){c=j[a+4096>>2];t=j[c>>2];s=s+1|0;if(s>>>0>2]-t>>2>>>0){continue}}break}if(J){break hb}v=j[b>>2];u=k[b+11|0]}b=u<<24>>24<0?v:b;J=gb(a,b,O,0,0);if(J){break hb}J=Qa(a,b,O,0,0,0,0,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(J){break hb}J=eb(a,b,O,0,0,0);if(J){break hb}J=Lb(a,b,O,0)}if(!J){break gb}}s=j[J+4>>2];if(!s){break gb}t=i[J+2>>1];d=(t<<1)+s|0;if(t){c=l[a+4192>>1];while(1){f=t>>>1|0;b=(f<<1)+s|0;e=c>>>0>l[b>>1];s=e?b+2|0:s;t=e?(f^-1)+t|0:f;if(t){continue}break}}if((d|0)==(s|0)|l[a+4192>>1]>1]){break gb}if(!Eb(J+17|0,h[x+43|0]<0?j[x+32>>2]:x+32|0,k[E|0]+F|0)){break f}}h[(k[E|0]+F|0)+(h[x+43|0]<0?j[x+32>>2]:x+32|0)|0]=r;y=D;break f}if((_|0)!=0&G){continue}break}_=G?_:0;F=(G^1)+F|0}G=H;break w}I=w}w=L?ga:O;J=J+1|0;F=L?L:F;Q=0;t=L?ha:ba}if(!j[a+4260>>2]|S){break h}L=F;if((j[a+4252>>2]-j[a+4248>>2]|0)/40>>>0>=J>>>0){continue}break h}break}t=ba;Q=L;w=O}ib:{if(Q){ua(x+32|0,b);L=Q;break ib}h[(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0]=ca;L=F}if(!(c|S)){S=1;if(j[a+4268>>2]!=j[a+4272>>2]){continue}}break}y=0;u=L+1|0;if((u|0)<(t|0)){continue}break}}if(h[x+43|0]<=-1){T(j[x+32>>2])}M=x+48|0;return y}X();z()}function Pf(a,b,c,d,e,f,g,m,n,o,p){var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,Y=0,_=0,ba=0,da=0,ea=0,fa=0,ga=0;r=M+ -64|0;M=r;j[r+56>>2]=0;j[r+48>>2]=0;j[r+52>>2]=0;j[r+40>>2]=0;j[r+32>>2]=0;j[r+36>>2]=0;a:{if(!d){fa=148788,ga=C()|0,j[fa>>2]=ga;break a}if(!j[37197]){break a}if((C()|0)<=(j[37197]+5e4|0)){break a}j[37197]=0}I=j[a+4200>>2];b:{if(j[a+4144>>2]){if((I|0)<1){I=0;break b}q=c-1|0;while(1){if((c|0)>(w|0)){while(1){c:{if((q|0)==(w|0)){w=c;break c}w=w+1|0;if((k[w+b|0]&192)==128){continue}}break}u=u+1|0;if((I|0)!=(u|0)){continue}}break}if((I|0)<2){I=w;break b}s=I-1|0;q=0;while(1){if((c|0)<0){I=w;break b}while(1){d:{if((c|0)<1){c=-1;break d}c=c-1|0;if((k[c+b|0]&192)==128){continue}}break}q=q+1|0;if((s|0)!=(q|0)){continue}break}I=w;break b}c=(c-I|0)+1|0}Ka(r+48|0,b);e:{f:{if((c|0)<=(I|0)){Q=r+32|0;break f}S=(m|0)!=0;N=g+1|0;Y=N<<2;_=g<<2;while(1){g:{if(!j[a+4144>>2]){w=I+1|0;G=I;break g}q=h[r+59|0]<0?j[r+48>>2]:r+48|0;w=I;while(1){G=w;w=w+1|0;if((k[q+G|0]&192)==128){continue}break}if((c|0)>(G|0)){break g}Q=r+32|0;break f}j[r+60>>2]=m;I=w;ba=b+w|0;E=b+G|0;da=E-2|0;ea=E-1|0;H=d;L=S;while(1){Q=r+32|0;if(!j[37197]){break f}d=(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0;O=k[d|0];h[d|0]=0;j[a+4372>>2]=0;h:{if(h[r+43|0]<=-1){h[j[r+32>>2]]=0;j[r+36>>2]=0;break h}h[r+43|0]=0;h[r+32|0]=0}if(p){q=k[p+11|0];d=q<<24>>24<0;aa(r+32|0,d?j[p>>2]:p,d?j[p+4>>2]:q)}v=1;w=0;x=0;d=j[a+4096>>2];q=j[d>>2];i:{j:{k:{if((q|0)==j[d+4>>2]){break k}s=h[r+59|0]<0?j[r+48>>2]:r+48|0;while(1){x=dc(j[(w<<2)+q>>2],s);if(!x){d=j[a+4096>>2];q=j[d>>2];w=w+1|0;if(w>>>0>2]-q>>2>>>0){continue}}break}l:{if(x){u=l[a+4162>>1];m:{if(!u){break m}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){t=q>>>1|0;d=(t<<1)+w|0;A=u>>>0>l[d>>1];w=A?d+2|0:w;q=A?(t^-1)+q|0:t;if(q){continue}break}}if((s|0)==(w|0)){break m}if(u>>>0>=l[w>>1]){break j}}while(1){u=l[a+4198>>1];n:{o:{if(!u){break o}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){t=q>>>1|0;d=(t<<1)+w|0;A=u>>>0>l[d>>1];w=A?d+2|0:w;q=A?(t^-1)+q|0:t;if(q){continue}break}}if((s|0)==(w|0)){break o}if(u>>>0>=l[w>>1]){break n}}t=j[r+60>>2];p:{if(L){break p}y=l[a+4152>>1];if(t|!y){break p}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){u=q>>>1|0;d=(u<<1)+w|0;A=y>>>0>l[d>>1];w=A?d+2|0:w;q=A?(u^-1)+q|0:u;if(q){continue}break}}if((s|0)==(w|0)){break p}if(y>>>0>=l[w>>1]){break l}}q:{if(H&65535|L){break q}y=l[a+4154>>1];if(!y){break q}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){u=q>>>1|0;d=(u<<1)+w|0;A=y>>>0>l[d>>1];w=A?d+2|0:w;q=A?(u^-1)+q|0:u;if(q){continue}break}}if((s|0)==(w|0)){break q}if(y>>>0>=l[w>>1]){break l}}r:{if(!(H&65535)|(t|L)){break r}y=l[a+4156>>1];if(!y){break r}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){u=q>>>1|0;d=(u<<1)+w|0;A=y>>>0>l[d>>1];w=A?d+2|0:w;q=A?(u^-1)+q|0:u;if(q){continue}break}}if((s|0)==(w|0)){break r}if(y>>>0>=l[w>>1]){break l}}if(!L|j[a+4268>>2]==j[a+4272>>2]){break n}if(!(t|H&65535)){if(hc(a,r+60|0,g,x,n,0)){break l}t=j[r+60>>2]}if(!t){break n}if(hc(a,r+60|0,g,x,n,0)){break l}}x=j[x+12>>2];if(x){continue}break}}x=0;break k}v=0}w=x;if(!j[37197]){break f}s:{t:{if(!v){Z(r+32|0,32);$(r+32|0,1744);$(r+32|0,h[r+59|0]<0?j[r+48>>2]:r+48|0);q=k[w+16|0];u:{v:{if(!(q&1)){break v}w:{if(q&2){d=k[w|0]+w|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break v}q=k[w+16|0];d=0;if(!(q&1)){break w}}s=(k[w|0]+w|0)+18|0;d=s;if(!(q&2)){break w}d=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}if(ca(d,1748)){break u}}Z(r+32|0,32);$(r+32|0,1748);$(r+32|0,h[r+59|0]<0?j[r+48>>2]:r+48|0)}d=k[w+16|0];x:{if(!(d&1)){break x}if(d&2){d=k[w|0]+w|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break x}}Z(r+32|0,32);q=r+32|0;d=k[w+16|0];s=1810;y:{if(!(d&1)){break y}x=(k[w|0]+w|0)+18|0;s=x;if(!(d&2)){break y}s=k[x|0]|k[x+1|0]<<8|(k[x+2|0]<<16|k[x+3|0]<<24)}$(q,s)}u=0;s=j[w+4>>2];if(!s){break t}D=l[w+2>>1];t=D<<16>>16;B=(t<<1)+s|0;q=s;if(D){A=l[a+4192>>1];d=t;while(1){y=d>>>1|0;x=(y<<1)+q|0;v=A>>>0>l[x>>1];q=v?x+2|0:q;d=v?(y^-1)+d|0:y;if(d){continue}break}}z:{if(l[a+4192>>1]>=l[q>>1]?(q|0)!=(B|0):0){break z}q=s;d=t;if(D){while(1){v=d>>>1|0;x=(v<<1)+q|0;A=l[x>>1]<65511;q=A?x+2|0:q;d=A?(v^-1)+d|0:v;if(d){continue}break}}if(l[q>>1]<65512?(q|0)!=(B|0):0){break z}if(D){q=l[a+4198>>1];while(1){A=t>>>1|0;d=(A<<1)+s|0;x=q>>>0>l[d>>1];s=x?d+2|0:s;t=x?(A^-1)+t|0:A;if(t){continue}break}}if((s|0)==(B|0)|l[a+4198>>1]>1]){break t}}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O;break j}d=l[a+4152>>1];A:{B:{if(!d){break B}w=gb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,1,d);if(w){break A}w=Qa(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,0,l[a+4152>>1],1);if(!w){if(!j[a+4168>>2]){break B}w=eb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,l[a+4152>>1]);if(!w){break B}}y=j[a+4372>>2];x=j[y+56>>2];if(!x){break A}u=l[a+4162>>1];C:{if(!u){break C}d=i[y+60>>1];A=(d<<1)+x|0;q=x;if(d){while(1){v=d>>>1|0;s=(v<<1)+q|0;t=u>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(A|0)){break C}if(u>>>0>=l[q>>1]){break B}}D:{v=l[a+4158>>1];if(!v){break D}q=i[y+60>>1];s=(q<<1)+x|0;if(q){while(1){t=q>>>1|0;d=(t<<1)+x|0;A=v>>>0>l[d>>1];x=A?d+2|0:x;q=A?(t^-1)+q|0:t;if(q){continue}break}}if((s|0)==(x|0)){break D}if(!w|v>>>0>=l[x>>1]){break B}break A}if(w){break A}}if(!(H&65535)){d=l[a+4154>>1];if(!d){break s}w=Qa(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,0,d,1);if(w){break A}if(j[a+4168>>2]){w=eb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,l[a+4154>>1]);if(w){break A}}w=gb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,1,l[a+4154>>1]);if(w){break A}break s}if(H<<16>>16<1){break s}d=l[a+4156>>1];if(!d){break s}w=Qa(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,0,d,1);if(w){break A}if(j[a+4168>>2]){w=eb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,l[a+4156>>1]);if(w){break A}}w=gb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,1,l[a+4156>>1]);if(!w){break s}}j[r+24>>2]=0;j[r+16>>2]=0;j[r+20>>2]=0;d=l[a+4152>>1];E:{if(d){fc(r,a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;d=h[r+27|0];if((d|0)<0?j[r+20>>2]:d&255){break E}}if(!(H&65535)){d=l[a+4154>>1];if(!d){break E}fc(r,a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;break E}if(H<<16>>16<1){break E}d=l[a+4156>>1];if(!d){break E}fc(r,a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d}q=k[r+27|0];d=q<<24>>24;if((d|0)<0?j[r+20>>2]:q){Z(r+32|0,32);$(r+32|0,1744);$(r+32|0,h[r+59|0]<0?j[r+48>>2]:r+48|0);Td(r+16|0);q=k[r+27|0];d=q<<24>>24<0;aa(r+32|0,d?j[r+16>>2]:r+16|0,d?j[r+20>>2]:q);d=k[r+27|0]}if(d<<24>>24<=-1){T(j[r+16>>2])}u=1}F:{if(!w){break F}d=j[a+4376>>2];G:{if(!d){break G}q=j[d+56>>2];if(!q){break G}d=i[d+60>>1];A=(d<<1)+q|0;if(d){x=l[a+4162>>1];while(1){v=d>>>1|0;s=(v<<1)+q|0;t=x>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(A|0)){break G}if(l[a+4162>>1]>=l[q>>1]){break j}}d=j[a+4372>>2];if(!d){break F}q=j[d+56>>2];if(!q){break F}d=i[d+60>>1];A=(d<<1)+q|0;if(d){x=l[a+4162>>1];while(1){v=d>>>1|0;s=(v<<1)+q|0;t=x>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(A|0)){break F}if(l[a+4162>>1]>=l[q>>1]){break j}}H:{if(!w|u){break H}v=l[a+4158>>1];I:{if(!v){break I}d=j[a+4376>>2];J:{if(!d){break J}q=j[d+56>>2];if(!q){break J}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break J}if(v>>>0>=l[q>>1]){break j}}d=j[a+4372>>2];if(!d){break I}q=j[d+56>>2];if(!q){break I}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break I}if(v>>>0>=l[q>>1]){break j}}if(H&65535){break H}v=l[a+4156>>1];if(!v){break H}d=j[a+4376>>2];K:{if(!d){break K}q=j[d+56>>2];if(!q){break K}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break K}if(v>>>0>=l[q>>1]){break s}}d=j[a+4372>>2];if(!d){break H}q=j[d+56>>2];if(!q){break H}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break H}if(v>>>0>=l[q>>1]){break s}}if(!w){break s}s=j[w+4>>2];L:{if(!s){break L}D=l[w+2>>1];x=D<<16>>16;B=s+(x<<1)|0;q=s;if(D){t=l[a+4192>>1];d=x;while(1){y=d>>>1|0;A=(y<<1)+q|0;v=t>>>0>l[A>>1];q=v?A+2|0:q;d=v?(y^-1)+d|0:y;if(d){continue}break}}if(l[a+4192>>1]>=l[q>>1]?(q|0)!=(B|0):0){break j}q=s;if(D){while(1){t=x>>>1|0;d=(t<<1)+q|0;A=l[d>>1]<65511;q=A?d+2|0:q;x=A?(t^-1)+x|0:t;if(x){continue}break}}if((q|0)==(B|0)){break L}if(l[q>>1]<65512){break j}}M:{N:{y=l[a+4160>>1];if(!y){break N}d=i[w+2>>1];if(!d){break N}A=s+(d<<1)|0;q=s;while(1){v=d>>>1|0;x=(v<<1)+q|0;t=y>>>0>l[x>>1];q=t?x+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}A=(q|0)!=(A|0)?(y>>>0>=l[q>>1])+H|0:H;break M}A=H}O:{if(u){break O}d=j[r+60>>2];if(j[d+_>>2]?d:0){break O}y=l[a+4152>>1];P:{if(!y){break P}d=i[w+2>>1];t=s+(d<<1)|0;q=s;if(d){while(1){u=d>>>1|0;x=(u<<1)+q|0;v=y>>>0>l[x>>1];q=v?x+2|0:q;d=v?(u^-1)+d|0:u;if(d){continue}break}}if((q|0)==(t|0)){break P}if(y>>>0>=l[q>>1]){break O}}Q:{R:{if(H&65535){break R}y=l[a+4154>>1];if(!y){break Q}d=i[w+2>>1];t=s+(d<<1)|0;q=s;if(d){while(1){u=d>>>1|0;x=(u<<1)+q|0;v=y>>>0>l[x>>1];q=v?x+2|0:q;d=v?(u^-1)+d|0:u;if(d){continue}break}}if((q|0)==(t|0)){break R}if(y>>>0>=l[q>>1]){break O}}if(H<<16>>16<1){break Q}u=l[a+4156>>1];if(!u){break Q}d=i[w+2>>1];x=s+(d<<1)|0;q=s;if(d){while(1){v=d>>>1|0;s=(v<<1)+q|0;t=u>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(x|0)){break Q}if(u>>>0>=l[q>>1]){break O}}break s}q=j[r+60>>2];S:{if(q|!j[a+4184>>2]){break S}d=k[ea|0];if((d|0)!=k[E|0]){break S}if((d|0)==k[ba|0]|((d|0)==k[da|0]?(G|0)>=2:0)){break s}}if(!(j[a+4248>>2]==j[a+4252>>2]|q)){if(hd(a,b,G,w,0)){break s}}if(!(!j[a+4180>>2]|q)){if(kg(a,b,G)){break s}}T:{if(j[a+4456>>2]!=36){x=e;break T}d=Fb(a,sa(r+16|0,r+48|0,0,G));if(h[r+27|0]<=-1){T(j[r+16>>2])}x=d+e|0;q=j[a+4376>>2];if(!q){break T}d=q+4|0;d=h[q+15|0]<=-1?j[d>>2]:d;s=W(d);if(s>>>0>=4294967280){break e}U:{V:{if(s>>>0>=11){q=s+16&-16;u=U(q);j[r+24>>2]=q|-2147483648;j[r+16>>2]=u;j[r+20>>2]=s;break V}h[r+27|0]=s;u=r+16|0;if(!s){break U}}V(u,d,s)}h[s+u|0]=0;d=Fb(a,r+16|0);if(h[r+27|0]<=-1){T(j[r+16>>2])}A=((d|0)>1)+A|0}q=0;s=j[a+4096>>2];d=j[s>>2];W:{if((d|0)==j[s+4>>2]){break W}while(1){t=dc(j[(q<<2)+d>>2],E);if(!t){s=j[a+4096>>2];d=j[s>>2];q=q+1|0;if(q>>>0>2]-d>>2>>>0){continue}}break}if(!t){break W}while(1){X:{Y:{B=l[a+4198>>1];Z:{if(!B){break Z}q=j[t+4>>2];d=i[t+2>>1];v=q+(d<<1)|0;if(d){while(1){y=d>>>1|0;s=(y<<1)+q|0;u=B>>>0>l[s>>1];q=u?s+2|0:q;d=u?(y^-1)+d|0:y;if(d){continue}break}}if((q|0)==(v|0)){break Z}if(B>>>0>=l[q>>1]){break Y}}v=j[r+60>>2];D=l[a+4152>>1];_:{$:{if(v|!D){break $}q=j[t+4>>2];d=i[t+2>>1];u=q+(d<<1)|0;if(d){while(1){B=d>>>1|0;s=(B<<1)+q|0;y=D>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(u|0)){break $}if(D>>>0>=l[q>>1]){break _}}aa:{if(v){break aa}D=l[a+4158>>1];if(!D){break aa}q=j[t+4>>2];d=i[t+2>>1];u=q+(d<<1)|0;if(d){while(1){B=d>>>1|0;s=(B<<1)+q|0;y=D>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(u|0)){break aa}if(D>>>0>=l[q>>1]){break _}}if(!v|j[a+4268>>2]==j[a+4272>>2]){break Y}if(!hc(a,r+60|0,N<<16>>16,t,0,1)){break Y}v=j[r+60>>2]}if(!v|!j[v+Y>>2]){break X}c=k[r+43|0];b=c<<24>>24<0;aa(o,b?j[r+32>>2]:r+32|0,b?j[r+36>>2]:c);Z(o,32);$(o,1744);$(o,E);ba:{if(!j[a+4148>>2]){break ba}w=k[t+16|0];if(!(w&1)){break ba}b=o;ca:{if(w&2){c=k[t|0]+t|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break ba}w=k[t+16|0];c=1810;if(!(w&1)){break ca}}d=(k[t|0]+t|0)+18|0;c=d;if(!(w&2)){break ca}c=k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24)}$(b,c)}w=k[t+16|0];da:{ea:{if(!(w&1)){break ea}fa:{if(w&2){b=k[t|0]+t|0;if(!(k[b+18|0]|k[b+19|0]<<8|(k[b+20|0]<<16|k[b+21|0]<<24))){break ea}w=k[t+16|0];b=0;if(!(w&1)){break fa}}c=(k[t|0]+t|0)+18|0;b=c;if(!(w&2)){break fa}b=k[c|0]|k[c+1|0]<<8|(k[c+2|0]<<16|k[c+3|0]<<24)}if(ca(b,1748)){break da}}Z(o,32);$(o,1748);$(o,t+17|0)}ga:{if(j[a+4148>>2]){break ga}a=k[t+16|0];if(!(a&1)){break ga}if(a&2){a=k[t|0]+t|0;if(!(k[a+18|0]|k[a+19|0]<<8|(k[a+20|0]<<16|k[a+21|0]<<24))){break ga}}Z(o,32);a=o;b=k[t+16|0];c=1810;ha:{if(!(b&1)){break ha}d=(k[t|0]+t|0)+18|0;c=d;if(!(b&2)){break ha}c=k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24)}$(a,c)}Z(o,10);break f}t=j[t+12>>2];if(t){continue}break W}break}d=x;ia:{if(j[a+4456>>2]!=36){break ia}s=j[t+4>>2];F=l[t+2>>1];v=F<<16>>16;D=s+(v<<1)|0;q=s;d=v;if(F){while(1){B=d>>>1|0;u=(B<<1)+q|0;y=l[u>>1]<73;q=y?u+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}d=x;if((q|0)==(D|0)){break ia}d=x;if(l[q>>1]>73){break ia}if(F){while(1){u=v>>>1|0;d=(u<<1)+s|0;q=l[d>>1]<74;s=q?d+2|0:s;v=q?(u^-1)+v|0:u;if(v){continue}break}}d=x-1|0;if((s|0)==(D|0)){break ia}d=x-(l[s>>1]>74)|0}y=d;s=j[t+4>>2];F=l[a+4160>>1];d=A;ja:{if(!F){break ja}d=i[t+2>>1];u=(d<<1)+s|0;q=s;if(d){while(1){D=d>>>1|0;v=(D<<1)+q|0;B=F>>>0>l[v>>1];q=B?v+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}}d=A;if((q|0)==(u|0)){break ja}d=(F>>>0>=l[q>>1])+A|0}ka:{if(!s){break ka}R=l[t+2>>1];v=R<<16>>16;K=(v<<1)+s|0;q=s;if(R){D=l[a+4192>>1];u=v;while(1){J=u>>>1|0;B=(J<<1)+q|0;F=D>>>0>l[B>>1];q=F?B+2|0:q;u=F?(J^-1)+u|0:J;if(u){continue}break}}if(!(l[a+4192>>1]>=l[q>>1]?(q|0)!=(K|0):0)){q=s;if(R){while(1){D=v>>>1|0;u=(D<<1)+q|0;B=l[u>>1]<65511;q=B?u+2|0:q;v=B?(D^-1)+v|0:D;if(v){continue}break}}if((q|0)==(K|0)|l[q>>1]>65511){break ka}}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O;e=y;break i}J=l[a+4152>>1];la:{ma:{if(!J){break ma}u=i[t+2>>1];B=(u<<1)+s|0;q=s;if(u){while(1){F=u>>>1|0;v=(F<<1)+q|0;D=J>>>0>l[v>>1];q=D?v+2|0:q;u=D?(F^-1)+u|0:F;if(u){continue}break}}if((q|0)==(B|0)){break ma}if(J>>>0>=l[q>>1]){break la}}F=l[a+4158>>1];if(!F){break W}q=i[t+2>>1];u=(q<<1)+s|0;if(q){while(1){D=q>>>1|0;v=(D<<1)+s|0;B=F>>>0>l[v>>1];s=B?v+2|0:s;q=B?(D^-1)+q|0:D;if(q){continue}break}}if((s|0)==(u|0)|F>>>0>1]){break W}}q=j[a+4308>>2];na:{if(!((q|0)==-1|(q|0)>((d<<16>>16)+1|0))){if(!j[a+4312>>2]){break W}s=y<<16>>16;v=k[t|0];oa:{pa:{if(v>>>0>=11){q=v+16&496;d=U(q);j[r+24>>2]=q|-2147483648;j[r+16>>2]=d;j[r+20>>2]=v;break pa}h[r+27|0]=v;d=r+16|0;if(!v){break oa}}V(d,t+17|0,v)}u=0;h[d+v|0]=0;if((Fb(a,r+16|0)+s|0)<=j[a+4312>>2]){u=!j[a+4172>>2]|(t|0)!=(w|0)}if(h[r+27|0]<=-1){T(j[r+16>>2])}if(u){break na}break W}if((t|0)!=(w|0)){break na}if(j[a+4172>>2]){break W}}q=k[r+43|0];d=q<<24>>24<0;aa(o,d?j[r+32>>2]:r+32|0,d?j[r+36>>2]:q);Z(o,32);$(o,1744);$(o,E);d=k[t+16|0];qa:{if(!(d&1)){break qa}if(d&2){d=k[t|0]+t|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break qa}}if(j[a+4148>>2]){d=o;q=k[t+16|0];s=1810;ra:{if(!(q&1)){break ra}v=(k[t|0]+t|0)+18|0;s=v;if(!(q&2)){break ra}s=k[v|0]|k[v+1|0]<<8|(k[v+2|0]<<16|k[v+3|0]<<24)}$(d,s)}q=k[t+16|0];sa:{ta:{if(!(q&1)){break ta}ua:{if(q&2){d=k[t|0]+t|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break ta}q=k[t+16|0];d=0;if(!(q&1)){break ua}}s=(k[t|0]+t|0)+18|0;d=s;if(!(q&2)){break ua}d=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}if(ca(d,1748)){break sa}}Z(o,32);$(o,1748);$(o,t+17|0)}if(j[a+4148>>2]){break qa}Z(o,32);d=o;q=k[t+16|0];s=1810;va:{if(!(q&1)){break va}t=(k[t|0]+t|0)+18|0;s=t;if(!(q&2)){break va}s=k[t|0]|k[t+1|0]<<8|(k[t+2|0]<<16|k[t+3|0]<<24)}$(d,s)}Z(o,10);P=1}i[a+4364>>1]=0;j[a+4372>>2]=0;wa:{xa:{ya:{za:{Aa:{if(L){break Aa}q=l[a+4152>>1];if(!q){break Aa}d=W(E);u=gb(a,E,d,0,q);if(u){break za}u=Qa(a,E,d,0,0,0,q,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(u){break ya}u=eb(a,E,d,0,0,q);if(u){break za}u=Lb(a,E,d,q)}if(u){break za}}Ba:{if(L){break Ba}q=l[a+4158>>1];if(!q){break Ba}j[a+4372>>2]=0;j[a+4376>>2]=0;d=W(E);u=gb(a,E,d,0,q);if(u){break za}u=Qa(a,E,d,0,0,0,q,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(u){break ya}u=eb(a,E,d,0,0,q);if(u){break za}u=Lb(a,E,d,q)}if(u){break za}}v=0;K=1;if(!j[r+60>>2]|j[a+4268>>2]==j[a+4272>>2]){break wa}d=W(E);u=gb(a,E,d,2,0);Ca:{if(u){break Ca}u=Qa(a,E,d,0,0,0,0,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(u){break Ca}u=eb(a,E,d,0,0,0);if(u){break Ca}u=Lb(a,E,d,0)}if(!u){break wa}}if(!hc(a,r+60|0,N<<16>>16,u,0,1)){break za}j[r+24>>2]=0;j[r+16>>2]=0;j[r+20>>2]=0;d=l[a+4152>>1];Da:{if(d){fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;d=h[r+27|0];if((d|0)<0?j[r+20>>2]:d&255){break Da}}d=l[a+4158>>1];if(!d){break Da}fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d}q=k[r+43|0];d=q<<24>>24<0;aa(o,d?j[r+32>>2]:r+32|0,d?j[r+36>>2]:q);d=k[r+27|0];if(d<<24>>24<0?j[r+20>>2]:d){Z(o,32);$(o,1744);$(o,E);Td(r+16|0);q=k[r+27|0];d=q<<24>>24<0;aa(o,d?j[r+16>>2]:r+16|0,d?j[r+20>>2]:q)}Z(o,10);if(h[r+27|0]<=-1){T(j[r+16>>2])}P=1}d=j[a+4376>>2];Ea:{if(!d){break Ea}q=j[d+56>>2];if(!q){break Ea}d=i[d+60>>1];v=(d<<1)+q|0;if(d){t=l[a+4162>>1];while(1){B=d>>>1|0;s=(B<<1)+q|0;y=t>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(v|0)){break Ea}if(l[a+4162>>1]>=l[q>>1]){break xa}}Fa:{d=j[a+4372>>2];if(!d){break Fa}q=j[d+56>>2];if(!q){break Fa}d=i[d+60>>1];v=(d<<1)+q|0;if(d){t=l[a+4162>>1];while(1){B=d>>>1|0;s=(B<<1)+q|0;y=t>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(v|0)){break Fa}v=0;K=1;if(l[a+4162>>1]>=l[q>>1]){break wa}if(u){break ya}break wa}if(!u){break xa}}K=0;Ga:{s=j[u+4>>2];Ha:{if(!s){break Ha}J=l[u+2>>1];t=J<<16>>16;F=(t<<1)+s|0;q=s;if(J){y=l[a+4192>>1];d=t;while(1){D=d>>>1|0;v=(D<<1)+q|0;B=y>>>0>l[v>>1];q=B?v+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}}if(!(l[a+4192>>1]>=l[q>>1]?(q|0)!=(F|0):0)){q=s;d=t;if(J){while(1){B=d>>>1|0;v=(B<<1)+q|0;y=l[v>>1]<65511;q=y?v+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(F|0)|l[q>>1]>65511){break Ha}}if(J){q=l[a+4198>>1];while(1){y=t>>>1|0;d=(y<<1)+s|0;v=q>>>0>l[d>>1];s=v?d+2|0:s;t=v?(y^-1)+t|0:y;if(t){continue}break}}if((s|0)==(F|0)|l[a+4198>>1]>1]){break Ga}}v=u;break wa}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O;e=x;d=A;break i}v=0;K=1}u=x;t=A;Ia:{Ja:{Ka:{if(j[a+4456>>2]!=36){break Ka}s=W(E);if(s>>>0>=4294967280){break e}La:{Ma:{if(s>>>0>=11){q=s+16&-16;d=U(q);j[r+24>>2]=q|-2147483648;j[r+16>>2]=d;j[r+20>>2]=s;break Ma}h[r+27|0]=s;d=r+16|0;if(!s){break La}}V(d,E,s)}h[d+s|0]=0;y=Fb(a,r+16|0);if(h[r+27|0]<=-1){T(j[r+16>>2])}q=j[a+4356>>2];Na:{if(q){s=W(q);if(s>>>0>=4294967280){break e}Oa:{Pa:{if(s>>>0>=11){d=s+16&-16;u=U(d);j[r+24>>2]=d|-2147483648;j[r+16>>2]=u;j[r+20>>2]=s;break Pa}h[r+27|0]=s;u=r+16|0;if(!s){break Oa}}V(u,q,s)}h[s+u|0]=0;Va(r+16|0);q=Fb(a,r+16|0);d=l[a+4360>>1];if(h[r+27|0]<=-1){T(j[r+16>>2])}q=d+q|0;break Na}q=j[a+4360>>2]}t=A;s=j[a+4376>>2];if(s){d=s+4|0;d=h[s+15|0]<=-1?j[d>>2]:d;t=W(d);if(t>>>0>=4294967280){break e}Qa:{Ra:{if(t>>>0>=11){s=t+16&-16;u=U(s);j[r+24>>2]=s|-2147483648;j[r+16>>2]=u;j[r+20>>2]=t;break Ra}h[r+27|0]=t;u=r+16|0;if(!t){break Qa}}V(u,d,t)}h[t+u|0]=0;d=Fb(a,r+16|0);if(h[r+27|0]<=-1){T(j[r+16>>2])}t=((d|0)>1)+A|0}u=(x+y|0)-q|0;d=h[a+4351|0];s=j[a+4344>>2];Sa:{if((d|0)<=-1){break Sa}s=d&255}if(!s){break Ka}Ta:{switch(l[a+4364>>1]-73|0){case 26:if(K){break Ia}u=u+2|0;break Ja;case 1:if(K){break Ia}u=u+1|0;break Ja;case 0:break Ta;default:break Ka}}if(K){break Ia}d=i[v+2>>1];if(!d){break Ja}q=j[v+4>>2];y=q+(d<<1)|0;while(1){D=d>>>1|0;s=(D<<1)+q|0;B=l[s>>1]<74;q=B?s+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}if((q|0)==(y|0)){break Ja}if(l[q>>1]>74){break Ka}u=u+1|0;break Ja}if(K){break Ia}}F=l[a+4160>>1];Ua:{if(!F){break Ua}d=i[v+2>>1];if(!d){break Ua}q=j[v+4>>2];y=q+(d<<1)|0;while(1){D=d>>>1|0;s=(D<<1)+q|0;B=F>>>0>l[s>>1];q=B?s+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}if((q|0)==(y|0)){break Ua}t=(F>>>0>=l[q>>1])+t|0}d=j[a+4308>>2];if(!((d|0)==-1|(d|0)>((t<<16>>16)+1|0))){d=j[a+4312>>2];if(!d|(d|0)>16){break Ia}}if(j[a+4172>>2]?(v|0)==(w|0):0){break Ia}j[r+24>>2]=0;j[r+16>>2]=0;j[r+20>>2]=0;d=l[a+4152>>1];Va:{if(d){fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;d=h[r+27|0];if((d|0)<0?j[r+20>>2]:d&255){break Va}}d=l[a+4158>>1];if(!d){break Va}fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d}q=k[r+43|0];d=q<<24>>24<0;aa(o,d?j[r+32>>2]:r+32|0,d?j[r+36>>2]:q);d=k[r+27|0];if(d<<24>>24<0?j[r+20>>2]:d){Z(o,32);$(o,1744);$(o,E);Td(r+16|0);Z(o,32);q=k[r+27|0];d=q<<24>>24<0;aa(o,d?j[r+16>>2]:r+16|0,d?j[r+20>>2]:q)}Z(o,10);if(h[r+27|0]<=-1){T(j[r+16>>2])}P=1;break s}d=A<<16;if(P|((d>>16)+2|0)>=(f|0)){break s}P=0;Pf(a,E,W(E),d+65536>>16,x<<16>>16,f,N<<16>>16,j[r+60>>2],n,o,r+32|0)}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O}d=H}if(!(H&65535|L)){L=1;H=d;if(j[a+4268>>2]!=j[a+4272>>2]){continue}}break}if((c|0)>(I|0)){continue}break}}if(h[Q+11|0]<=-1){T(j[r+32>>2])}if(h[r+59|0]<=-1){T(j[r+48>>2])}M=r- -64|0;return}X();z()}function rq(a,b){var c=0,d=0,e=0,f=0,g=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;c=M-65568|0;M=c;e=U(65788);d=Ie(e,b);j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;a:{if(ub(d,c)){o=a+4432|0;r=a+4444|0;u=a+4208|0;v=a+4204|0;w=a+4420|0;x=a+4408|0;y=a+4396|0;z=a+4384|0;A=a+4340|0;s=a+4128|0;B=a+4116|0;C=a+4104|0;g=c+65560|0;t=1;while(1){bb(c);b:{if(f&1){break b}if(_(c,0,3,1081,3)){break b}xb(c,0,3)}c:{if(_(c,0,3,1085,3)){break c}if(va(c,C)){break c}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}d:{if(_(c,0,3,1089,3)){break d}if(va(c,B)){break d}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}e:{if(_(c,0,3,1093,3)){break e}if(!va(c,s)){ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}b=k[a+4139|0];if(((b<<24>>24<0?j[a+4132>>2]:b)|0)!=5){break e}if(_(s,0,-1,1097,5)){break e}j[a+4144>>2]=1;$h()}if(!_(c,0,15,1103,15)){j[a+4148>>2]=1}f:{if(_(c,0,12,1119,12)){break f}if((l[a+4152>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4152>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break f}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}g:{if(_(c,0,13,1132,13)){break g}if(j[a+4148>>2]){if((l[a+4158>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4158>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break g}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if((l[a+4154>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4154>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break g}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}h:{if(_(c,0,14,1146,14)){break h}if((l[a+4156>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4156>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break h}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}i:{if(_(c,0,11,1161,11)){break i}if(j[a+4148>>2]){if((l[a+4154>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4154>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break i}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if((l[a+4158>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4158>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break i}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}j:{if(_(c,0,15,1173,15)){break j}if(j[a+4308>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4308>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break j}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}k:{if(_(c,0,12,1189,12)){break k}if((l[a+4160>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4160>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break k}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}l:{if(_(c,0,18,1202,18)){break l}if((l[a+4164>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4164>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break l}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}m:{if(_(c,0,18,1221,18)){break m}if((l[a+4162>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4162>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break m}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,20,1240,20)){j[a+4168>>2]=1}if(!_(c,0,16,1261,16)){j[a+4172>>2]=1}if(!_(c,0,16,1278,16)){j[a+4176>>2]=1}if(!_(c,0,19,1295,19)){j[a+4184>>2]=1}if(!_(c,0,16,1315,16)){j[a+4188>>2]=1}if(!_(c,0,17,1332,17)){j[a+4180>>2]=1}n:{if(_(c,0,9,1350,9)){break n}if((l[a+4194>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4194>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break n}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}o:{if(_(c,0,14,1360,14)){break o}if((l[a+4196>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4196>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break o}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}p:{if(_(c,0,13,1375,13)){break p}if((l[a+4192>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4192>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break p}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}q:{if(_(c,0,13,1389,13)){break q}if((l[a+4460>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4460>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break q}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}r:{if(_(c,0,9,1403,9)){break r}if((l[a+4462>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4462>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break r}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}s:{if(_(c,0,14,1413,14)){break s}if((l[a+4464>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4464>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break s}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}t:{if(_(c,0,10,1428,10)){break t}if((l[a+4198>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4198>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break t}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}u:{if(_(c,0,9,1439,9)){break u}if((l[a+4198>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4198>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break u}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}v:{if(_(c,0,11,1449,11)){break v}w:{if(j[a+4200>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4200>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break w}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(j[a+4200>>2]>0){break v}j[a+4200>>2]=1}x:{if(_(c,0,16,1461,16)){break x}if(Vp(a,c)){break x}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}y:{if(_(c,0,11,1478,11)){break y}if(va(c,A)){break y}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,8,1490,8)){j[a+4380>>2]=1}z:{if(_(c,0,9,1499,9)){break z}if(Ve(c,z,y,j[a+4144>>2])){break z}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}A:{if(_(c,0,6,1509,6)){break A}if(Ve(c,x,w,j[a+4144>>2])){break A}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}B:{if(_(c,0,5,1516,5)){break B}h[c+65563|0]=5;h[c+65557|0]=0;j[c+65552>>2]=k[1516]|k[1517]<<8|(k[1518]<<16|k[1519]<<24);h[c+65556|0]=k[1520];b=Ih(c,d,v,c+65552|0);if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break B}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}C:{if(_(c,0,5,1522,5)){break C}h[c+65563|0]=5;h[c+65557|0]=0;j[c+65552>>2]=k[1522]|k[1523]<<8|(k[1524]<<16|k[1525]<<24);h[c+65556|0]=k[1526];b=Ih(c,d,u,c+65552|0);if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break C}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}D:{if(_(c,0,5,1528,5)){break D}if(Op(a,c,d)){break D}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}E:{if(_(c,0,20,1534,20)){break E}if(Hp(a,c,d)){break E}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}F:{if(_(c,0,12,1555,12)){break F}if(yp(a,c,d)){break F}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}G:{if(_(c,0,3,1568,3)){break G}if(np(a,c,d)){break G}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}H:{if(_(c,0,5,1572,5)){break H}if(hp(a,c,d)){break H}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,4,1578,4)){if(!va(c,r)){ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}E=a,F=ai(r),j[E+4456>>2]=F}I:{if(_(c,0,7,1583,7)){break I}f=k[c+11|0];b=f<<24>>24<0;f=b?j[c+4>>2]:f;if(f>>>0<8){break I}q=b?j[c>>2]:c;D=q+f|0;f=q+7|0;while(1){J:{b=k[f|0];if(b>>>0>63){break J}n=b&31;if((b&63)>>>0>=32){b=1<>>32-n;n=1<>2])}b=j[c+65556>>2];j[o>>2]=j[c+65552>>2];j[o+4>>2]=b;j[o+8>>2]=j[g>>2]}K:{if(_(c,0,12,1591,12)){break K}if(j[a+4284>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4284>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break K}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,11,1604,11)){j[a+4296>>2]=1}L:{if(_(c,0,7,1616,7)){break L}if(j[a+4292>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4292>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break L}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}M:{if(_(c,0,10,1624,10)){break M}if(j[a+4288>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4288>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break M}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,11,1635,11)){j[a+4300>>2]=1}if(!_(c,0,9,1647,9)){j[a+4484>>2]=1}if(!_(c,0,12,1657,12)){j[a+4304>>2]=1}N:{if(_(c,0,8,1670,8)){break N}if((l[a+4466>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4466>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break N}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}O:{if(_(c,0,10,1679,10)){break O}if((l[a+4468>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4468>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break O}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}P:{if(_(c,0,4,1690,4)){break P}if((l[a+4470>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4470>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break P}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,10,1695,10)){j[a+4472>>2]=1}Q:{if(_(c,0,11,1706,11)){break Q}if((l[a+4476>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4476>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break Q}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,11,1718,11)){j[a+4480>>2]=1}R:{S:{T:{if(!_(c,0,3,1730,3)){b=j[a+4148>>2];if(!_(c,0,3,1734,3)){break T}b=b?83:80;break S}if(_(c,0,3,1734,3)){break R}}b=j[a+4148>>2]?80:83}if(t){ya(c+16|0,0,65536)}t=0;if($o(a,c,b,d,c+16|0)){break R}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}f=1;if(ub(d,c)){continue}break}}ea(d);T(e);b=1;d=1;while(1){e=(d<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}while(1){d=((b<<2)+a|0)+1024|0;E=d,F=la(a,j[d>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}Wo(a);To(a);U:{if(j[a+4144>>2]){break U}b=a+4128|0;d=h[a+4139|0];e=j[a+4132>>2];V:{if((d|0)<=-1){break V}e=d&255}if(!e){Ka(b,1760)}d=_c(b);j[a+4140>>2]=d;e=a+4384|0;b=0;while(1){d=p(b,3)+d|0;W:{if(k[d+2|0]==k[d+1|0]){break W}d=b<<24>>24;if((Ba(e,d,0)|0)!=-1){break W}Z(e,d)}b=b+1|0;if((b|0)==256){break U}d=j[a+4140>>2];continue}}if(k[a+4228|0]){break a}i[c+65552>>1]=45;h[c+65563|0]=1;d=a+4232|0;b=j[a+4236>>2];X:{if(b>>>0>2]){e=j[c+65556>>2];j[b>>2]=j[c+65552>>2];j[b+4>>2]=e;j[b+8>>2]=j[c+65560>>2];j[a+4236>>2]=b+12;break X}Db(d,c+65552|0);if(h[c+65563|0]>-1){break X}T(j[c+65552>>2])}h[c+65554|0]=0;i[c+65552>>1]=11614;h[c+65563|0]=2;b=j[a+4236>>2];Y:{if(b>>>0>2]){e=j[c+65556>>2];j[b>>2]=j[c+65552>>2];j[b+4>>2]=e;j[b+8>>2]=j[c+65560>>2];j[a+4236>>2]=b+12;break Y}Db(d,c+65552|0);if(h[c+65563|0]>-1){break Y}T(j[c+65552>>2])}h[c+65554|0]=0;i[c+65552>>1]=9261;h[c+65563|0]=2;b=j[a+4236>>2];Z:{if(b>>>0>2]){d=j[c+65556>>2];j[b>>2]=j[c+65552>>2];j[b+4>>2]=d;j[b+8>>2]=j[c+65560>>2];j[a+4236>>2]=b+12;break Z}Db(d,c+65552|0);if(h[c+65563|0]>-1){break Z}T(j[c+65552>>2])}h[a+4228|0]=1}if(h[c+11|0]<=-1){T(j[c>>2])}M=c+65568|0}function Pq(a,b,c,d,e,f){var g=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=M-128|0;M=g;j[f>>2]=0;j[e>>2]=0;h[d|0]=0;j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;j[g+92>>2]=0;a:{b:{if(!j[b+16>>2]|j[b+4>>2]==j[b+8>>2]){break b}if(!_(c,0,5,121100,5)){Nq(a,b,c);break a}n=k[c+11|0];o=n<<24>>24;c:{if(j[b+44>>2]){if(m[c+4>>2]<=299|(o|0)>-1){break c}break b}if(((o|0)<0?j[c+4>>2]:n)>>>0>99){break b}}j[g+88>>2]=0;j[g+80>>2]=0;j[g+84>>2]=0;j[g+72>>2]=0;j[g+64>>2]=0;j[g+68>>2]=0;d:{q=b;r=g+80|0;t=g- -64|0;o=j[b>>2];e:{f:{if(!o){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;break f}s=j[o+4204>>2];j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;if(!s){break f}n=g+112|0;if(Yc(s,c,g+112|0)){break e}}n=c}u=Pe(q,r,t,n,f,e);g:{if(!u){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[g+123|0]>-1){break g}T(j[g+112>>2]);break g}if(h[g+123|0]<=-1){T(j[g+112>>2])}t=C()|0;c=j[f>>2];o=j[b>>2];if(!(c|!o)){h:{if(!l[o+4468>>1]){break h}j[g+32>>2]=32;if(!_a(b,g+80|0,g+32|0,0)){break h}c=ha(g+48|0,g+80|0);i:{if(j[b+44>>2]){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;ia(g+112|0,c);vb(g+112|0,j[b+40>>2]);da(c,g+112|0);b=j[g+112>>2];if(!b){break i}j[g+116>>2]=b;T(b);break i}nb(c,j[b+36>>2])}b=j[g+100>>2];j:{if((b|0)!=j[g+104>>2]){b=ha(b,c)+12|0;break j}Wb(g+96|0,c);b=j[g+100>>2]}d=j[g+96>>2];j[a+4>>2]=b;j[a>>2]=d;j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g}c=j[f>>2]}s=0;k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{switch(c|0){case 0:s=Vb(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,g+92|0);o=t+25e4|0;if((C()|0)>(o|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g}if(!j[e>>2]){break q}c=ha(g+112|0,g+80|0);Z(c,46);e=Vb(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,g+92|0);if((C()|0)<=(o|0)){break s}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 1:h[d|0]=1;e=Vb(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,g+92|0);o=t+25e4|0;if((C()|0)>(o|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g}c=ha(g+112|0,g+80|0);u:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break u}Pa(c,j[b+36>>2])}n=Vb(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,g+92|0);if((C()|0)<=(o|0)){break r}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 4:h[d|0]=1;case 3:s=Vb(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,g+92|0);r=t+25e4|0;if((C()|0)>(r|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g}c=Ba(g+80|0,46,0);v:{if((c|0)==-1){break v}o=c+1|0;c=sa(g+112|0,g+80|0,o,-1);w:{if(j[b+44>>2]){j[g+56>>2]=0;j[g+48>>2]=0;j[g+52>>2]=0;ia(g+48|0,c);n=Mc(g+48|0,j[b+40>>2]);e=j[g+48>>2];if(!e){break w}j[g+52>>2]=e;T(e);break w}n=Nc(c,j[b+36>>2])}x:{if((n|0)!=1){break x}e=ha(g+48|0,g+80|0);lf(e,o);Jc(g+96|0,j[g+96>>2],e);if(h[e+11|0]>-1){break x}T(j[e>>2])}if(h[c+11|0]>-1){break v}T(j[c>>2])}j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;y:{z:{if(j[f>>2]!=4){break z}ua(g+112|0,g+80|0);A:{if(j[b+44>>2]){xr(g- -64|0,j[b+40>>2]);da(g+112|0,g- -64|0);break A}yr(g+112|0,j[b+36>>2])}e=0;s=Vb(j[b+16>>2],g+96|0,h[g+123|0]<0?j[g+112>>2]:g+112|0,g+92|0)|s;if((C()|0)<=(r|0)){break z}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;r=g+112|0;break y}ua(g+112|0,g+80|0);B:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(g+112|0,g- -64|0);break B}Pa(g+112|0,j[b+36>>2])}if(Ic(b,h[g+123|0]<0?j[g+112>>2]:g+112|0)){Jc(g+96|0,j[g+96>>2],g+112|0)}o=(j[g+100>>2]-j[g+96>>2]|0)/12|0;s=Vb(j[b+16>>2],g+96|0,h[g+123|0]<0?j[g+112>>2]:g+112|0,g+92|0)|s;if((C()|0)>(r|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];e=0;j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;r=g+112|0;break y}C:{if(j[f>>2]!=4){break C}D:{if(j[b+44>>2]){vb(g- -64|0,j[b+40>>2]);da(g+112|0,g- -64|0);break D}nb(g+112|0,j[b+36>>2])}if(Ic(b,h[g+123|0]<0?j[g+112>>2]:g+112|0)){Jc(g+96|0,j[g+96>>2],g+112|0)}s=Vb(j[b+16>>2],g+96|0,h[g+123|0]<0?j[g+112>>2]:g+112|0,g+92|0)|s;if((C()|0)<=(r|0)){break C}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];e=0;j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;r=g+112|0;break y}e=1;r=g+112|0;q=j[g+100>>2];c=j[g+96>>2];if((q-c|0)/12>>>0<=o>>>0){break y}while(1){w=p(o,12);e=w+c|0;v=h[e+11|0]>-1;E:{if(!v){n=j[e>>2];break E}n=e}x=Ya(n,32);F:{if(!x){break F}n=x+1|0;y=W(n);if(y>>>0>=u>>>0){break F}if(!ba((u+(h[g+91|0]<0?j[g+80>>2]:g+80|0)|0)-y|0,n)){break F}e=v?e:j[e>>2];q=n-e|0;if(q>>>0>=4294967280){break p}G:{if(q>>>0<=10){h[g+59|0]=q;c=g+48|0;break G}v=q+16&-16;c=U(v);j[g+56>>2]=v|-2147483648;j[g+48>>2]=c;j[g+52>>2]=q}if((e|0)!=(n|0)){while(1){h[c|0]=k[e|0];c=c+1|0;q=(e|0)!=(x|0);e=e+1|0;if(q){continue}break}}h[c|0]=0;e=W(n);if(e>>>0>=4294967280){break o}H:{I:{if(e>>>0>=11){q=e+16&-16;c=U(q);j[g+40>>2]=q|-2147483648;j[g+32>>2]=c;j[g+36>>2]=e;break I}h[g+43|0]=e;c=g+32|0;if(!e){break H}}V(c,n,e)}h[c+e|0]=0;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;J:{K:{if(!j[b+44>>2]){break K}ia(g+16|0,g+32|0);if(!j[b+44>>2]){break K}vb(g+16|0,j[b+40>>2]);da(g+32|0,g+16|0);break J}nb(g+32|0,j[b+36>>2])}c=w+j[g+96>>2]|0;e=c+12|0;n=j[g+100>>2];L:{if((e|0)!=(n|0)){while(1){if(h[c+11|0]<=-1){T(j[c>>2])}q=j[e+4>>2];j[c>>2]=j[e>>2];j[c+4>>2]=q;j[c+8>>2]=j[e+8>>2];h[e+11|0]=0;h[e|0]=0;c=c+12|0;e=e+12|0;if((n|0)!=(e|0)){continue}break}e=j[g+100>>2];if((e|0)==(c|0)){break L}}while(1){n=e-12|0;if(h[e-1|0]<=-1){T(j[n>>2])}e=n;if((e|0)!=(c|0)){continue}break}}j[g+100>>2]=c;x=j[g+96>>2];j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;c=h[g+43|0];n=(c|0)<0;e=h[g+59|0];q=(e|0)<0;w=n?j[g+36>>2]:c&255;e=q?j[g+52>>2]:e&255;c=w+e|0;if(c>>>0>=4294967280){break n}v=j[g+48>>2];M:{if(c>>>0<=10){h[g+11|0]=e;c=g;break M}y=c+16&-16;c=U(y);j[g+8>>2]=y|-2147483648;j[g>>2]=c;j[g+4>>2]=e}if(e){V(c,q?v:g+48|0,e)}h[c+e|0]=0;aa(g,n?j[g+32>>2]:g+32|0,w);Ne(g+96|0,x,g);if(h[g+11|0]<=-1){T(j[g>>2])}c=j[g+16>>2];if(c){j[g+20>>2]=c;T(c)}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(h[g+59|0]<=-1){T(j[g+48>>2])}c=j[g+96>>2];q=j[g+100>>2]}e=1;o=o+1|0;if(o>>>0<(q-c|0)/12>>>0){continue}break}}if(h[r+11|0]<=-1){T(j[g+112>>2])}if(e){break q}break g;case 2:break t;default:break q}}o=ha(g+48|0,g+80|0);N:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(o,g- -64|0);break N}Pa(o,j[b+36>>2])}n=0;s=Vb(j[b+16>>2],g+96|0,h[o+11|0]<0?j[o>>2]:g+48|0,g+92|0);c=t+25e4|0;O:{if((C()|0)>(c|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break O}e=j[b>>2];P:{if(!e|!l[e+4466>>1]){break P}if(!Ic(b,h[o+11|0]<0?j[o>>2]:g+48|0)){break P}Jc(g+96|0,j[g+96>>2],o)}Q:{if(j[b+44>>2]){vb(g- -64|0,j[b+40>>2]);da(o,g- -64|0);break Q}nb(o,j[b+36>>2])}s=Vb(j[b+16>>2],g+96|0,h[o+11|0]<0?j[o>>2]:g+48|0,g+92|0)|s;R:{if((C()|0)<=(c|0)){c=j[g+96>>2];if((c|0)!=j[g+100>>2]){break R}n=1;break O}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break O}e=0;while(1){n=p(e,12);c=n+c|0;S:{if(j[b+44>>2]){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;ia(g+112|0,c);Oc(g+112|0,j[b+40>>2]);da(c,g+112|0);c=j[g+112>>2];if(!c){break S}j[g+116>>2]=c;T(c);break S}Pc(c,j[b+36>>2])}c=j[b>>2];T:{if(!c|!j[c+4480>>2]){break T}c=n+j[g+96>>2]|0;if(j[b+44>>2]){h[g+114|0]=0;i[g+112>>1]=40899;h[g+123|0]=2;h[g+34|0]=0;i[g+32>>1]=21331;h[g+43|0]=2;wb(c,g+112|0,g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}if(h[g+123|0]>-1){break T}T(j[g+112>>2]);break T}i[g+112>>1]=223;h[g+123|0]=1;h[g+34|0]=0;i[g+32>>1]=21331;h[g+43|0]=2;wb(c,g+112|0,g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}if(h[g+123|0]>-1){break T}T(j[g+112>>2])}n=1;e=e+1|0;c=j[g+96>>2];if(e>>>0<(j[g+100>>2]-c|0)/12>>>0){continue}break}}if(h[o+11|0]<=-1){T(j[o>>2])}if(n){break q}break g}if(h[c+11|0]<=-1){T(j[c>>2])}s=e|s;break q}if(h[c+11|0]<=-1){T(j[c>>2])}s=e|n}U:{if(j[b+40>>2]!=36){break U}n=j[g+96>>2];if((n|0)==j[g+100>>2]){break U}e=0;while(1){c=p(e,12);o=Ba(c+n|0,45,0);V:{if((o|0)==-1){break V}n=c+j[g+96>>2]|0;n=sa(g+112|0,n,0,o);r=c+j[g+96>>2]|0;sa(g+48|0,r,o+1|0,-1);r=k[g+59|0];q=r<<24>>24<0;aa(n,q?j[g+48>>2]:g+48|0,q?j[g+52>>2]:r);if(h[g+59|0]<=-1){T(j[g+48>>2])}jb(b,n,g+48|0);c=c+j[g+96>>2]|0;n=h[c+11|0];W:{if((j[g+48>>2]&3)==3){c=(n|0)<=-1?j[c>>2]:c;n=32;break W}c=(n|0)<=-1?j[c>>2]:c;n=45}h[c+o|0]=n;if(h[g+123|0]>-1){break V}T(j[g+112>>2])}e=e+1|0;n=j[g+96>>2];if(e>>>0<(j[g+100>>2]-n|0)/12>>>0){continue}break}}if(s){break k}c=j[b>>2];if(!c|(j[g+92>>2]?0:j[g+96>>2]!=j[g+100>>2])|!j[c+4284>>2]){break k}e=b+4|0;X:{Y:{Z:{switch(j[f>>2]){case 0:Ed(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,e,0);if((C()|0)<=(t+25e4|0)){break k}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g;case 4:h[d|0]=1;case 3:c=ha(g+112|0,g+80|0);_:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break _}Pa(c,j[b+36>>2])}Ed(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,e,3);if((C()|0)<=(t+25e4|0)){break Y}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 1:h[d|0]=1;c=ha(g+112|0,g+80|0);$:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break $}Pa(c,j[b+36>>2])}Ed(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,e,1);if((C()|0)<=(t+25e4|0)){break X}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 2:break Z;default:break k}}c=ha(g+48|0,g+80|0);aa:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break aa}Pa(c,j[b+36>>2])}d=j[g+96>>2];f=j[g+100>>2];Ed(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+48|0,e,2);e=(f-d|0)/12|0;o=(C()|0)>(t+25e4|0);if(o){break m}f=j[g+96>>2];if((j[g+100>>2]-f|0)/12>>>0<=e>>>0){break l}while(1){d=p(e,12)+f|0;ba:{if(j[b+44>>2]){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;ia(g+112|0,d);Oc(g+112|0,j[b+40>>2]);da(d,g+112|0);d=j[g+112>>2];if(!d){break ba}j[g+116>>2]=d;T(d);break ba}Pc(d,j[b+36>>2])}e=e+1|0;f=j[g+96>>2];if(e>>>0<(j[g+100>>2]-f|0)/12>>>0){continue}break}break l}if(h[c+11|0]>-1){break k}T(j[c>>2]);break k}if(h[c+11|0]>-1){break k}T(j[c>>2]);break k}X();z()}X();z()}X();z()}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0}if(h[c+11|0]<=-1){T(j[c>>2])}if(o){break g}}e=0;ca:{n=Ba(g+80|0,45,0);if((n|0)==-1){break ca}o=1;f=j[g+96>>2];if((f|0)!=j[g+100>>2]){while(1){da:{c=Ba(p(e,12)+f|0,45,0);f=j[g+96>>2];if((c|0)!=-1){break da}e=e+1|0;if(e>>>0<(j[g+100>>2]-f|0)/12>>>0){continue}}break}o=(c|0)==-1}t=t+25e4|0;d=0;r=0;while(1){if(r&1|(!o|s)){break ca}e=j[g+84>>2];c=k[g+91|0];sa(g+112|0,g+80|0,d,n-d|0);r=((c<<24>>24<0?e:c)|0)==(n|0)|r;o=1;ea:{if(!Ic(b,h[g+123|0]<0?j[g+112>>2]:g+112|0)){e=h[g+123|0]<0?j[g+112>>2]:g+112|0;c=W(e);if(c>>>0>=4294967280){break d}fa:{ga:{if(c>>>0>=11){o=c+16&-16;f=U(o);j[g+40>>2]=o|-2147483648;j[g+32>>2]=f;j[g+36>>2]=c;break ga}h[g+43|0]=c;f=g+32|0;if(!c){break fa}}V(f,e,c)}h[c+f|0]=0;Rh(g+48|0,b,g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}q=C()|0;ha:{ia:{if((q|0)>(t|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;o=1;e=j[g+48>>2];c=1;if(e){break ia}break ha}e=j[g+52>>2];if((e|0)==j[g+48>>2]){o=0;c=0;if(e){break ia}break ha}ja:{if(!(r&1)){o=n+1|0;while(1){c=sa(g+32|0,g+80|0,0,d);e=e-12|0;u=k[e+11|0];f=u<<24>>24<0;aa(c,f?j[e>>2]:e,f?j[e+4>>2]:u);$(c,121111);sa(g+16|0,g+80|0,o,-1);f=k[g+27|0];u=f<<24>>24<0;aa(c,u?j[g+16>>2]:g+16|0,u?j[g+20>>2]:f);if(h[g+27|0]<=-1){T(j[g+16>>2])}j[g+16>>2]=0;f=j[b>>2];if(!(!f|!l[f+4192>>1])){_a(b,c,g+16|0,0)}if(!(k[g+16|0]&2)){Jc(g+96|0,j[g+96>>2],c)}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(j[g+48>>2]!=(e|0)){continue}break}break ja}while(1){c=sa(g+32|0,g+80|0,0,d);e=e-12|0;o=k[e+11|0];f=o<<24>>24<0;aa(c,f?j[e>>2]:e,f?j[e+4>>2]:o);j[g+16>>2]=0;f=j[b>>2];if(!(!f|!l[f+4192>>1])){_a(b,c,g+16|0,0)}if(!(k[g+16|0]&2)){Jc(g+96|0,j[g+96>>2],c)}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(j[g+48>>2]!=(e|0)){continue}break}}c=0}o=c;c=j[g+52>>2];f=e;ka:{if((e|0)==(c|0)){break ka}while(1){f=c-12|0;if(h[c-1|0]<=-1){T(j[f>>2])}c=f;if((e|0)!=(c|0)){continue}break}f=j[g+48>>2]}j[g+52>>2]=e;T(f)}e=0;if((q|0)>(t|0)){break ea}}e=1;if(!(r&1)){d=n+1|0;n=Ba(g+80|0,45,d)}if((n|0)!=-1){break ea}c=h[g+91|0];if((c|0)<=-1){n=j[g+84>>2];break ea}n=c&255}if(h[g+123|0]<=-1){T(j[g+112>>2])}if(e){continue}break}break g}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0}a=j[g+64>>2];if(a){j[g+68>>2]=a;T(a)}if(h[g+91|0]<=-1){T(j[g+80>>2])}a=j[g+96>>2];if(!a){break a}c=a;b=j[g+100>>2];d=c;la:{if((c|0)==(b|0)){break la}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((a|0)!=(c|0)){continue}break}d=j[g+96>>2]}c=d;j[g+100>>2]=a;T(c);break a}X();z()}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[g+100>>2]=0;j[g+104>>2]=0}M=g+128|0}function jb(a,b,c){var d=0,e=0,f=0,g=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=M-128|0;M=d;j[d+124>>2]=0;a:{if(!c){c=d+124|0;break a}j[c>>2]=0}b:{c:{e=k[b+11|0];if(((e<<24>>24<0?j[b+4>>2]:e)|0)!=7){break c}if(_(b,0,-1,121100,7)){break c}q=1;break b}g=k[b+11|0];e=g<<24>>24;f=j[b+4>>2];d:{if(j[a+44>>2]){if(f>>>0<=299|(e|0)>-1){break d}break b}if(((e|0)<0?f:g)>>>0>99){break b}}j[d+120>>2]=0;j[d+116>>2]=0;j[d+112>>2]=0;j[d+104>>2]=0;j[d+108>>2]=0;j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;m=a;o=d+104|0;v=d+88|0;e=j[a>>2];e:{f:{if(!e){j[d+80>>2]=0;j[d+72>>2]=0;j[d+76>>2]=0;break f}g=j[e+4204>>2];j[d+80>>2]=0;j[d+72>>2]=0;j[d+76>>2]=0;if(!g){break f}f=d+72|0;if(Yc(g,b,d+72|0)){break e}}f=b}n=Pe(m,o,v,f,d+120|0,d+116|0);if(h[d+83|0]<=-1){T(j[d+72>>2])}q=1;g:{if(!n|j[a+4>>2]==j[a+8>>2]){break g}b=0;m=j[d+104>>2];h:{i:{if(h[d+115|0]>=0){g=m<<24>>24;if((g|0)<58){break i}e=0;break h}g=n>>>0>1?n:1;e=0;while(1){s=h[b+m|0];if((s|0)>57){break h}f=1;if((s|0)<=47){if(!b|(s-44&255)>>>0>2){break h}f=2;if((e|0)==2){break h}}e=f;b=b+1|0;if((g|0)!=(b|0)){continue}break}b=g;break h}m=n>>>0>1?n:1;f=0;while(1){e=1;j:{if(g<<24>>24>47){break j}if((g-44&255)>>>0>2){e=f;break h}if(!b){e=f;break h}e=2;if((f|0)!=2){break j}e=f;break h}b=b+1|0;if((m|0)==(b|0)){b=m;break h}f=e;g=h[(d+104|0)+b|0];if((g|0)<58){continue}break}}if((e|0)==1?(b|0)==(n|0):0){break g}k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{s=j[d+120>>2];switch(s|0){case 1:break r;case 2:break s;case 0:break t;case 3:case 4:break u;default:break o}}j[c>>2]=j[c>>2]+32}e=_a(a,d+104|0,c,0);if(e|!j[d+116>>2]){break q}b=ha(d+72|0,d+104|0);Z(b,46);e=_a(a,b,c,0);if(h[b+11|0]>-1){break q}T(j[b>>2]);break q}j[c>>2]=j[c>>2]+32;e=_a(a,d+104|0,c,0);if(e){break p}n=j[d+116>>2];if(n){b=ha(d+72|0,d+104|0);Z(b,46);e=_a(a,b,c,0);if(h[b+11|0]<=-1){T(j[b>>2])}if(e){break p}}if(!j[a>>2]){break r}b=Ba(d+104|0,39,0);v:{if((b|0)==-1){break v}w:{if(j[a+44>>2]){Ua(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break w}Pa(d+104|0,j[a+36>>2])}e=k[d+115|0];if(b>>>0>=(e<<24>>24<0?j[d+108>>2]:e)-1>>>0){break v}b=b+1|0;g=sa(d+72|0,d+104|0,0,b);f=sa(d+56|0,d+104|0,b,-1);x:{y:{if(j[a+44>>2]){j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;ia(d+40|0,g);ia(d+24|0,f);z:{if(j[a+44>>2]){vb(d+24|0,j[a+40>>2]);da(f,d+24|0);break z}nb(f,j[a+36>>2])}o=j[f+4>>2];b=k[f+11|0];j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;e=k[g+11|0];m=e<<24>>24<0;e=m?j[g+4>>2]:e;v=o;o=b<<24>>24;r=(o|0)<0?v:b;b=e+r|0;if(b>>>0>=4294967280){break n}t=j[g>>2];A:{if(b>>>0<=10){h[d+19|0]=e;b=d+8|0;break A}u=b+16&-16;b=U(u);j[d+16>>2]=u|-2147483648;j[d+8>>2]=b;j[d+12>>2]=e}if(e){V(b,m?t:d+72|0,e)}h[b+e|0]=0;aa(d+8|0,(o|0)<0?j[f>>2]:d+56|0,r);if(h[d+115|0]<=-1){T(j[d+104>>2])}j[d+112>>2]=j[d+16>>2];b=j[d+12>>2];j[d+104>>2]=j[d+8>>2];j[d+108>>2]=b;Oe(d+88|0,j[d+40>>2],j[d+44>>2]);Qq(d+88|0,j[d+92>>2],j[d+24>>2],j[d+28>>2]);e=_a(a,d+104|0,c,0);b=j[d+24>>2];if(b){j[d+28>>2]=b;T(b)}b=j[d+40>>2];if(b){j[d+44>>2]=b;T(b)}b=5;if(!e){break y}break x}nb(f,j[a+36>>2]);o=j[f+4>>2];b=k[f+11|0];j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;e=k[g+11|0];m=e<<24>>24<0;e=m?j[g+4>>2]:e;v=o;o=b<<24>>24;r=(o|0)<0?v:b;b=e+r|0;if(b>>>0>=4294967280){break m}t=j[g>>2];B:{if(b>>>0<=10){h[d+51|0]=e;b=d+40|0;break B}u=b+16&-16;b=U(u);j[d+48>>2]=u|-2147483648;j[d+40>>2]=b;j[d+44>>2]=e}if(e){V(b,m?t:d+72|0,e)}h[b+e|0]=0;aa(d+40|0,(o|0)<0?j[f>>2]:d+56|0,r);if(h[d+115|0]<=-1){T(j[d+104>>2])}j[d+112>>2]=j[d+48>>2];b=j[d+44>>2];j[d+104>>2]=j[d+40>>2];j[d+108>>2]=b;b=5;e=_a(a,d+104|0,c,0);if(e){break x}}C:{if(j[a+44>>2]){vb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break C}nb(d+104|0,j[a+36>>2])}e=_a(a,d+104|0,c,0);b=e?5:0}if(h[f+11|0]<=-1){T(j[f>>2])}if(h[g+11|0]<=-1){T(j[g>>2])}if(b){break q}}b=j[a>>2];if(!b|!j[b+4480>>2]){break r}e=k[d+115|0];b=e<<24>>24<0;e=b?j[d+108>>2]:e;if((e|0)<2){break r}b=b?j[d+104>>2]:d+104|0;f=b+e|0;g=b;while(1){e=Aa(g,83,e-1|0);if(!e){break r}if((k[e|0]|k[e+1|0]<<8)!=21331){g=e+1|0;e=f-g|0;if((e|0)>=2){continue}break r}break}if((e|0)==(f|0)|(e-b|0)==-1){break r}D:{if(j[a+44>>2]){Ua(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break D}Pa(d+104|0,j[a+36>>2])}b=ha(d+72|0,d+104|0);e=Kc(a,b,0,0,0,c,0);E:{if(e){break E}F:{if(j[a+44>>2]){vb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break F}nb(d+104|0,j[a+36>>2])}e=Kc(a,d+104|0,0,0,0,c,0);if(e|!n){break E}Z(b,46);e=Kc(a,b,0,0,0,c,0);if(e){break E}ha(d+56|0,d+104|0);if(h[b+11|0]<=-1){T(j[b>>2])}j[d+80>>2]=j[d- -64>>2];e=j[d+60>>2];j[d+72>>2]=j[d+56>>2];j[d+76>>2]=e;Z(b,46);e=Kc(a,b,0,0,0,c,0)}if(h[b+11|0]<=-1){T(j[b>>2])}if(e){break p}}b=0;G:{if(!j[a+44>>2]){break G}H:{if(h[d+115|0]<=-1){e=j[d+104>>2];if(k[e|0]==196){break H}break G}e=d+104|0;if(k[d+104|0]!=196){break G}}b=k[e+1|0]==176}e=j[c>>2];j[c>>2]=e+32;I:{if((s|0)==2){J:{if(j[a+44>>2]){Ua(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break J}Pa(d+104|0,j[a+36>>2])}K:{if(j[a+44>>2]){vb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break K}nb(d+104|0,j[a+36>>2])}if(b){jf(d+104|0,0,1,121108)}m=0;e=_a(a,d+104|0,c,0);break I}m=1;if((s|0)!=1){m=0;e=_a(a,d+104|0,c,0);break I}j[c>>2]=e+48;e=_a(a,d+104|0,c,0);j[c>>2]=j[c>>2]-16}if(k[c|0]&2){break o}if(e){f=j[a>>2];if(!f){break g}if(!j[e+4>>2]|!l[f+4466>>1]){break p}g=j[e+4>>2];f=i[e+2>>1];t=g+(f<<1)|0;n=l[j[a>>2]+4466>>1];if(f){while(1){o=f>>>1|0;u=(o<<1)+g|0;r=n>>>0>l[u>>1];g=r?u+2|0:g;f=r?(o^-1)+f|0:o;if(f){continue}break}}if((g|0)==(t|0)|(s|0)!=2|n>>>0>1]){break p}}if(b){b=j[a+40>>2]-90|0;if(b>>>0>12|!(1<>2]){Ua(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break L}Pa(d+104|0,j[a+36>>2])}n=ha(d+72|0,d+104|0);M:{if(j[a+44>>2]){vb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break M}nb(d+104|0,j[a+36>>2])}e=_a(a,n,c,0);N:{O:{P:{if(!(e|!j[d+116>>2])){Z(n,46);e=_a(a,n,c,0);if(e){break P}ua(n,d+104|0);Z(n,46);Q:{if(!m){m=_a(a,n,c,0);break Q}j[c>>2]=j[c>>2]+16;m=_a(a,n,c,0);j[c>>2]=j[c>>2]-16}if(!m){break O}b=m;e=j[a>>2];f=0;R:{if(!e){break R}f=0;if(!j[m+4>>2]){break R}f=0;if(!l[e+4466>>1]){break R}e=j[m+4>>2];g=i[m+2>>1];t=e+(g<<1)|0;o=l[j[a>>2]+4466>>1];if(g){while(1){f=g>>>1|0;u=(f<<1)+e|0;r=o>>>0>l[u>>1];e=r?u+2|0:e;g=r?(f^-1)+g|0:f;if(g){continue}break}}f=0;if((e|0)==(t|0)){break R}f=o>>>0>=l[e>>1]}e=(s|0)==2?f?0:b:m;break N}if(!e){break O}}b=j[a>>2];if(!b|!j[e+4>>2]|!l[b+4466>>1]){break N}g=j[e+4>>2];f=i[e+2>>1];r=g+(f<<1)|0;b=l[j[a>>2]+4466>>1];if(f){while(1){m=f>>>1|0;t=(m<<1)+g|0;o=b>>>0>l[t>>1];g=o?t+2|0:g;f=o?(m^-1)+f|0:m;if(f){continue}break}}if((g|0)==(r|0)|b>>>0>1]){break N}if(!j[j[a>>2]+4480>>2]|(s|0)==2){break O}if(j[a+44>>2]){b=k[n+11|0];f=b<<24>>24<0;b=f?j[n+4>>2]:b;if((b|0)<2){break O}f=f?j[n>>2]:d+72|0;m=f+b|0;g=f;while(1){b=Aa(g,195,b-1|0);if(!b){break O}if((k[b|0]|k[b+1|0]<<8)!=40899){g=b+1|0;b=m-g|0;if((b|0)>=2){continue}break O}break}if((b|0)==(m|0)|(b-f|0)==-1){break O}break N}if((Ba(n,-33,0)|0)!=-1){break N}}e=0}if(h[n+11|0]>-1){break q}T(j[n>>2])}if(!e){break o}}b=j[a>>2];if(!b|!l[b+4470>>1]){break g}b=j[e+4>>2];if(!b){break g}e=i[e+2>>1];n=(e<<1)+b|0;f=l[j[a>>2]+4470>>1];if(e){while(1){g=e>>>1|0;s=(g<<1)+b|0;m=f>>>0>l[s>>1];b=m?s+2|0:b;e=m?(g^-1)+e|0:g;if(e){continue}break}}if((b|0)==(n|0)|f>>>0>1]){break g}j[c>>2]=j[c>>2]- -64;q=!j[j[a>>2]+4472>>2];break g}q=0;m=j[a+52>>2];e=j[a+56>>2];if(k[c|0]&2|(m|0)==(e|0)){break g}b=0;f=k[d+115|0];c=f<<24>>24<0;s=c?j[d+108>>2]:f;e=e-m|0;if(!e){break k}e=(e|0)/12|0;r=e>>>0>1?e:1;q=c?j[d+104>>2]:d+104|0;n=q+s|0;g=0;while(1){c=0;e=p(b,12)+m|0;f=k[e+11|0];o=f<<24>>24<0;f=o?j[e+4>>2]:f;o=o?j[e>>2]:e;while(1){S:{if(f){e=c+q|0;c=n-e|0;if((f|0)>(c|0)){break S}t=k[o|0];while(1){u=c-f|0;c=u+1|0;if(c>>>0>>0){break S}c=Aa(e,t,c);if(!c){break S}if(qa(c,o,f)){e=c+1|0;c=n-e|0;if((f|0)<=(c|0)){continue}break S}break}if((c|0)==(n|0)){break S}c=c-q|0}if((c|0)==-1){break S}g=g+1|0;c=c+f|0;if(s>>>0>=c>>>0){continue}}break}b=b+1|0;if((r|0)!=(b|0)){continue}break}break l}X();z()}X();z()}q=0;if((g|0)>9){break g}}b=0;T:{U:{while(1){V:{c=m;m=p(b,12);e=c+m|0;c=k[e+11|0];f=c<<24>>24;W:{X:{if((f|0)<=-1){c=j[e+4>>2];if((c|0)==1|c>>>0>s>>>0){break W}f=j[e>>2];break X}if((f|0)==1|c>>>0>s>>>0){break W}f=e}g=c-1|0;Y:{if(k[f|0]!=94){break Y}if(Ud(d+104|0,0,g,e,1,g)){break Y}e=jb(a,sa(d+72|0,d+104|0,g,-1),0);if(h[d+83|0]<=-1){T(j[d+72>>2])}if(e){break T}}e=m+j[a+52>>2]|0;Z:{if(h[e+11|0]<=-1){f=j[e>>2];break Z}f=e}if(k[f+g|0]!=36){break W}c=(s-c|0)+1|0;if(Ud(d+104|0,c,g,e,0,g)){break W}sa(d+72|0,d+104|0,c,-1);Wa(d+104|0,c);e=jb(a,d+104|0,0);f=k[d+83|0];c=f<<24>>24;if(e){break V}c=(c|0)<0;aa(d+104|0,c?j[d+72>>2]:d+72|0,c?j[d+76>>2]:f);if(h[d+83|0]>-1){break W}T(j[d+72>>2])}b=b+1|0;c=j[a+56>>2];m=j[a+52>>2];if(b>>>0<(c-m|0)/12>>>0){continue}break U}break}if((c|0)>-1){break T}T(j[d+72>>2]);break T}if((c|0)==(m|0)){break g}t=0;while(1){u=p(t,12);c=u+m|0;b=k[c+11|0];e=b<<24>>24;if((e|0)<=-1){b=j[c+4>>2]}_:{if(!b){break _}r=(e|0)<0?j[c>>2]:c;c=k[d+115|0];e=c<<24>>24<0;g=e?j[d+104>>2]:d+104|0;m=e?j[d+108>>2]:c;f=g+m|0;c=f;$:{if((b|0)>(m|0)){break $}n=k[r|0];c=m;e=g;while(1){aa:{q=c-b|0;c=q+1|0;if(c>>>0>>0){break aa}c=Aa(e,n,c);if(!c){break aa}if(!qa(c,r,b)){break $}e=c+1|0;c=f-e|0;if((c|0)>=(b|0)){continue}}break}c=f}o=(c|0)==(f|0)?-1:c-g|0;if(!o){break _}e=s-b|0;if(e>>>0<=o>>>0){break _}c=-1;v=a;w=d+72|0;x=d+104|0;if(m>>>0>o>>>0){q=(g+o|0)+1|0;c=f-q|0;ba:{ca:{if((c|0)<(b|0)){break ca}m=k[r|0];while(1){n=c-b|0;c=n+1|0;if(c>>>0>>0){break ca}c=Aa(q,m,c);if(!c){break ca}if(!qa(c,r,b)){break ba}q=c+1|0;c=f-q|0;if((c|0)>=(b|0)){continue}break}}c=f}c=(c|0)==(f|0)?-1:c-g|0}c=c?c>>>0>>0?c:o:o;b=jb(v,sa(w,x,c+b|0,-1),0);if(h[d+83|0]<=-1){T(j[d+72>>2])}if(!b){break _}sa(d+72|0,d+104|0,c,-1);Wa(d+104|0,c);b=0;da:{if(jb(a,d+104|0,0)){break da}b=k[d+83|0];e=b<<24>>24<0;aa(d+104|0,e?j[d+72>>2]:d+72|0,e?j[d+76>>2]:b);b=1;if(j[a+40>>2]!=36){break da}e=u+j[a+52>>2]|0;f=k[e+11|0];b=1;if(((f<<24>>24<0?j[e+4>>2]:f)|0)!=1){break da}b=1;if(_(e,0,-1,121111,1)){break da}b=c+1|0;sa(d+56|0,d+104|0,b,-1);if(h[d+83|0]<=-1){T(j[d+72>>2])}j[d+80>>2]=j[d- -64>>2];c=j[d+60>>2];j[d+72>>2]=j[d+56>>2];j[d+76>>2]=c;Wa(d+104|0,b);b=0;if(jb(a,d+104|0,0)){break da}b=k[d+83|0];c=b<<24>>24<0;aa(d+104|0,c?j[d+72>>2]:d+72|0,c?j[d+76>>2]:b);b=1}if(h[d+83|0]<=-1){T(j[d+72>>2])}if(!b){break T}}t=t+1|0;b=j[a+56>>2];m=j[a+52>>2];if(t>>>0<(b-m|0)/12>>>0){continue}break}if((b|0)==(m|0)){q=0;break g}f=0;ea:{while(1){fa:{n=p(f,12);e=n+m|0;b=k[e+11|0];q=b<<24>>24;if((q|0)<=-1){b=j[e+4>>2]}ga:{if(!b){break ga}c=k[d+115|0];m=c<<24>>24<0;g=m?j[d+104>>2]:d+104|0;c=m?j[d+108>>2]:c;m=g+c|0;ha:{ia:{if((b|0)>(c|0)){break ia}q=(q|0)<0?j[e>>2]:e;o=k[q|0];e=g;while(1){r=c-b|0;c=r+1|0;if(c>>>0>>0){break ia}c=Aa(e,o,c);if(!c){break ia}if(!qa(c,q,b)){break ha}e=c+1|0;c=m-e|0;if((c|0)>=(b|0)){continue}break}}c=m}c=(c|0)==(m|0)?-1:c-g|0;if(!c|c>>>0>=s-b>>>0){break ga}b=jb(a,sa(d+72|0,d+104|0,b+c|0,-1),0);if(h[d+83|0]<=-1){T(j[d+72>>2])}if(!b){break ga}sa(d+72|0,d+104|0,c,-1);Wa(d+104|0,c);e=jb(a,d+104|0,0);g=k[d+83|0];b=g<<24>>24;if(e){break fa}b=(b|0)<0;aa(d+104|0,b?j[d+72>>2]:d+72|0,b?j[d+76>>2]:g);ja:{if(j[a+40>>2]!=36){break ja}b=n+j[a+52>>2]|0;e=k[b+11|0];if(((e<<24>>24<0?j[b+4>>2]:e)|0)!=1){break ja}if(_(b,0,-1,121111,1)){break ja}b=c+1|0;sa(d+56|0,d+104|0,b,-1);if(h[d+83|0]<=-1){T(j[d+72>>2])}j[d+80>>2]=j[d- -64>>2];c=j[d+60>>2];j[d+72>>2]=j[d+56>>2];j[d+76>>2]=c;Wa(d+104|0,b);c=jb(a,d+104|0,0);e=k[d+83|0];b=e<<24>>24;if(c){break ea}b=(b|0)<0;aa(d+104|0,b?j[d+72>>2]:d+72|0,b?j[d+76>>2]:e)}if(h[d+83|0]>-1){break ga}T(j[d+72>>2])}q=0;f=f+1|0;m=j[a+52>>2];if(f>>>0<(j[a+56>>2]-m|0)/12>>>0){continue}break g}break}if((b|0)>-1){break T}T(j[d+72>>2]);break T}if((b|0)>-1){break T}T(j[d+72>>2])}q=1}a=j[d+88>>2];if(a){j[d+92>>2]=a;T(a)}if(h[d+115|0]>-1){break b}T(j[d+104>>2])}M=d+128|0;return q}function Iq(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0;d=M-144|0;M=d;a:{if(!(j[b+4>>2]!=j[b+8>>2]?j[b+16>>2]:0)){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}f=k[c+11|0];e=f<<24>>24;b:{if(j[b+44>>2]){if(m[c+4>>2]<300|(e|0)>-1){break b}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}if(((e|0)<0?j[c+4>>2]:f)>>>0<100){break b}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}j[d+140>>2]=0;j[d+136>>2]=0;j[d+128>>2]=0;j[d+120>>2]=0;j[d+124>>2]=0;j[d+112>>2]=0;j[d+104>>2]=0;j[d+108>>2]=0;p=b;o=d+120|0;q=d+104|0;e=j[b>>2];c:{d:{if(!e){j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;break d}l=j[e+4204>>2];j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;if(!l){break d}f=d+88|0;if(Yc(l,c,d+88|0)){break c}}f=c}e=Pe(p,o,q,f,d+140|0,d+136|0);if(h[d+99|0]<=-1){T(j[d+88>>2])}e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{if(!e){c=j[d+136>>2];if(!c){break n}o:{if(h[d+131|0]<=-1){h[j[d+120>>2]]=0;j[d+124>>2]=0;break o}h[d+131|0]=0;h[d+120|0]=0}e=c>>>0>1?c:1;c=0;while(1){Z(d+120|0,46);c=c+1|0;if((e|0)!=(c|0)){continue}break}j[d+136>>2]=0}c=0;j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;l=b;if(j[b+40>>2]!=36){break g}if(!e){break j}f=j[d+120>>2];if(h[d+131|0]<0){break m}while(1){b=f<<24>>24;if((b|0)>57){break k}p:{if((b|0)>47){break p}q:{switch((f&255)-44|0){case 0:case 2:break q;default:break k}}if(c){break p}c=0;break k}r:{s:{t:{b=c+1|0;f=k[b+(d+120|0)|0];switch(f-44|0){case 2:break s;case 0:break t;default:break r}}f=44}if(!(c>>>0<=2|n)){c=b;break k}u:{if(!n){break u}p=(d+120|0)+c|0;c=b;switch(k[p|0]-44|0){case 0:case 2:break k;default:break u}}n=n+1|0;g=b}c=b;if((b|0)!=(e|0)){continue}break}break l}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break e}p=k[f|0];while(1){b=p<<24>>24;if((b|0)>57){break k}v:{if((b|0)>47){break v}w:{switch((p&255)-44|0){case 0:case 2:break w;default:break k}}if(c){break v}c=0;break k}x:{y:{z:{b=c+1|0;p=k[b+f|0];switch(p-44|0){case 2:break y;case 0:break z;default:break x}}p=44}if(!(c>>>0<=2|n)){c=b;break k}A:{if(!n){break A}o=c+f|0;c=b;switch(k[o|0]-44|0){case 0:case 2:break k;default:break A}}n=n+1|0;g=b}c=b;if((b|0)!=(e|0)){continue}break}}c=e}if(!(!g|(c|0)!=(e|0)|c-g>>>0<4)){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break f}if((c|0)!=(e|0)){break i}}e=1;f=d+120|0;break h}if(!c){break g}B:{C:{if(h[d+131|0]<=-1){e=k[j[d+120>>2]+c|0];if((e|0)!=37){break C}break B}e=k[(d+120|0)+c|0];if((e|0)==37){break B}}if((e|0)!=176){break g}}e=0;b=sa(d+72|0,d+120|0,c,-1);g=_a(l,b,0,0);if(h[b+11|0]<=-1){T(j[b>>2])}f=d+120|0;if(!g){break g}}b=k[f+11|0];f=b<<24>>24<0;aa(d+88|0,f?j[d+120>>2]:d+120|0,f?j[d+124>>2]:b);b=c-1|0;Wa(d+88|0,b);D:{if(e){c=j[l+16>>2];e=sa(d+56|0,d+120|0,b,-1);Za(d+72|0,c,e);c=k[d+83|0];b=c<<24>>24;f=j[d+76>>2];if((b|0)<0?f:c){g=k[d+99|0];if(g<<24>>24<0?j[d+92>>2]:g){$(d+88|0,121137);f=j[d+76>>2];c=k[d+83|0];b=c}b=b<<24>>24<0;aa(d+88|0,b?j[d+72>>2]:d+72|0,b?f:c);b=k[d+83|0]}if(b<<24>>24<=-1){T(j[d+72>>2])}if(h[e+11|0]>-1){break D}T(j[e>>2]);break D}e=sa(d+72|0,d+120|0,b,1);Za(d+56|0,j[l+16>>2],e);f=k[d+67|0];b=f<<24>>24;g=j[d+60>>2];if((b|0)<0?g:f){p=k[d+99|0];if(p<<24>>24<0?j[d+92>>2]:p){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];b=f}b=b<<24>>24<0;aa(d+88|0,b?j[d+56>>2]:d+56|0,b?g:f);b=k[d+67|0]}if(b<<24>>24<=-1){T(j[d+56>>2])}Z(d+88|0,43);b=j[l+16>>2];f=sa(d+40|0,d+120|0,c,-1);Za(d+56|0,b,f);c=k[d+67|0];b=c<<24>>24;g=j[d+60>>2];if((b|0)<0?g:c){l=k[d+99|0];if(l<<24>>24<0?j[d+92>>2]:l){$(d+88|0,121137);g=j[d+60>>2];c=k[d+67|0];b=c}b=b<<24>>24<0;aa(d+88|0,b?j[d+56>>2]:d+56|0,b?g:c);b=k[d+67|0]}if(b<<24>>24<=-1){T(j[d+56>>2])}if(h[f+11|0]<=-1){T(j[f>>2])}if(h[e+11|0]>-1){break D}T(j[e>>2])}Ab(a,d+88|0,10);break f}E:{F:{switch(j[d+140>>2]){case 0:case 3:case 4:Za(d+72|0,j[l+16>>2],d+120|0);e=k[d+83|0];c=e<<24>>24;f=j[d+76>>2];if((c|0)<0?f:e){b=k[d+99|0];if(b<<24>>24<0?j[d+92>>2]:b){$(d+88|0,121137);f=j[d+76>>2];e=k[d+83|0];c=e}b=c<<24>>24<0;aa(d+88|0,b?j[d+72>>2]:d+72|0,b?f:e);c=k[d+83|0]}if(c<<24>>24<=-1){T(j[d+72>>2])}if(!j[d+136>>2]){break E}b=ha(d+72|0,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];c=f<<24>>24;g=j[d+60>>2];if((c|0)<0?g:f){e=k[d+99|0];if(e<<24>>24<0?j[d+92>>2]:e){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];c=f}c=c<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);c=k[d+67|0]}if(c<<24>>24<=-1){T(j[d+56>>2])}if(h[b+11|0]>-1){break E}T(j[b>>2]);break E;case 1:G:{if(j[l+44>>2]){Ua(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break G}Pa(d+120|0,j[l+36>>2])}b=ha(d+72|0,d+120|0);H:{if(j[l+44>>2]){vb(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break H}nb(d+120|0,j[l+36>>2])}Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}Za(d+56|0,j[l+16>>2],d+120|0);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}I:{if(!j[d+136>>2]){break I}Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}ua(b,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24>-1){break I}T(j[d+56>>2])}if(h[b+11|0]>-1){break E}T(j[b>>2]);break E;case 2:break F;default:break E}}Za(d+72|0,j[l+16>>2],d+120|0);e=k[d+83|0];c=e<<24>>24;f=j[d+76>>2];if((c|0)<0?f:e){b=k[d+99|0];if(b<<24>>24<0?j[d+92>>2]:b){$(d+88|0,121137);f=j[d+76>>2];e=k[d+83|0];c=e}b=c<<24>>24<0;aa(d+88|0,b?j[d+72>>2]:d+72|0,b?f:e);c=k[d+83|0]}if(c<<24>>24<=-1){T(j[d+72>>2])}p=j[d+136>>2];J:{if(!p){break J}b=ha(d+72|0,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];c=f<<24>>24;g=j[d+60>>2];if((c|0)<0?g:f){e=k[d+99|0];if(e<<24>>24<0?j[d+92>>2]:e){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];c=f}c=c<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);c=k[d+67|0]}if(c<<24>>24<=-1){T(j[d+56>>2])}if(h[b+11|0]>-1){break J}T(j[b>>2])}K:{if(j[l+44>>2]){Ua(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break K}Pa(d+120|0,j[l+36>>2])}b=ha(d+72|0,d+120|0);L:{if(j[l+44>>2]){vb(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break L}nb(d+120|0,j[l+36>>2])}Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}Za(d+56|0,j[l+16>>2],d+120|0);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}M:{if(!p){break M}Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}ua(b,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24>-1){break M}T(j[d+56>>2])}if(h[b+11|0]>-1){break E}T(j[b>>2])}b=k[d+99|0];if(b<<24>>24<0?j[d+92>>2]:b){N:{if(!j[l+48>>2]){break N}if(j[l+44>>2]){ob(d+88|0);break N}Va(d+88|0)}Ab(a,d+88|0,10);break f}O:{if(j[l+40>>2]!=36){break O}e=Ba(d+120|0,45,0);if((e|0)==-1){break O}c=sa(d+72|0,d+120|0,0,e);P:{Q:{R:{S:{T:{p=e+1|0;o=sa(d+56|0,d+120|0,p,-1);b=h[o+11|0];if((b|0)<=-1){switch(j[o+4>>2]){case 1:break S;case 0:break T;default:break Q}}n=d+56|0;switch(b&255){case 1:break R;case 0:break T;default:break Q}}if(!jb(l,c,0)){break P}Za(d+40|0,j[l+16>>2],c);b=h[d+51|0];U:{if((b|0)<=-1){if(j[d+44>>2]){break U}T(j[d+40>>2]);break P}if(!b){break P}}Ab(d+24|0,d+40|0,10);b=j[d+28>>2];e=j[d+24>>2];j[a+8>>2]=j[d+32>>2];j[a>>2]=e;j[a+4>>2]=b;if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}n=j[o>>2]}if(k[n|0]!=101){break Q}if(!jb(l,c,0)){break P}if(!Ic(l,121139)){break P}Za(d+40|0,j[l+16>>2],c);e=k[d+51|0];b=e<<24>>24<0;e=b?j[d+44>>2]:e;if(e){aa(d+88|0,b?j[d+40>>2]:d+40|0,e)}Z(d+88|0,43);b=j[l+16>>2];h[d+10|0]=0;i[d+8>>1]=25901;h[d+19|0]=2;Za(d+24|0,b,d+8|0);if(h[d+51|0]<=-1){T(j[d+40>>2])}j[d+48>>2]=j[d+32>>2];b=j[d+28>>2];j[d+40>>2]=j[d+24>>2];j[d+44>>2]=b;h[d+24|0]=0;h[d+35|0]=0;if(h[d+19|0]<=-1){T(j[d+8>>2])}b=h[d+51|0];e=(b|0)<0?j[d+44>>2]:b&255;if(e){aa(d+88|0,(b|0)<0?j[d+40>>2]:d+40|0,e)}Ab(a,d+88|0,10);if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}Z(c,32);b=jb(l,c,0);f=k[c+11|0];xb(c,(f<<24>>24<0?j[c+4>>2]:f)-1|0,-1);if(!b){break P}V:{if(!jb(l,o,0)){break V}b=h[o+11|0];W:{X:{if((b|0)<=-1){if(m[o+4>>2]>1){break W}f=h[j[o>>2]];if((f|0)>=49){break X}break V}if((b&255)>>>0>1){break W}f=h[d+56|0];if((f|0)<=48){break V}}if((f|0)>56){break V}}Za(d+40|0,j[l+16>>2],c);e=k[d+51|0];b=e<<24>>24<0;e=b?j[d+44>>2]:e;if(e){aa(d+88|0,b?j[d+40>>2]:d+40|0,e);Z(d+88|0,43)}Za(d+24|0,j[l+16>>2],o);if(h[d+51|0]<=-1){T(j[d+40>>2])}j[d+48>>2]=j[d+32>>2];b=j[d+28>>2];j[d+40>>2]=j[d+24>>2];j[d+44>>2]=b;e=h[d+51|0];b=(e|0)<0;e=b?j[d+44>>2]:e&255;if(e){aa(d+88|0,b?j[d+40>>2]:d+40|0,e)}Ab(a,d+88|0,10);if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}if(!e){break P}b=e-1|0;g=h[d+131|0];Y:{Z:{if((g|0)<=-1){if((k[b+j[d+120>>2]|0]-48&255)>>>0<10){break Y}n=j[d+120>>2];break Z}n=d+120|0;if((k[b+(d+120|0)|0]-48&255)>>>0<10){break Y}}if(k[b+n|0]!=46){break P}}_:{$:{n=(g|0)<0?j[d+120>>2]:d+120|0;f=k[n+b|0];b=(f|0)==46?2:1;if(b>>>0>e>>>0){p=b;break $}if((b|0)==(e|0)){break $}q=(f|0)==46;f=b+1|0;if(k[n+(e-f|0)|0]!=48?q:0){break _}if((e|0)==(f|0)){break $}f=b+2|0;if(k[n+(e-f|0)|0]!=48){break _}if((e|0)==(f|0)){break $}f=b+3|0;if(k[n+(e-f|0)|0]!=48){break _}if((e|0)==(f|0)){break $}f=b|4;if(f>>>0>5|k[n+(e-f|0)|0]!=48){break _}if((e|0)==(f|0)){break $}b=f+1|0;if((f|0)!=4){f=b;break _}if(k[n+(e-b|0)|0]!=48){f=b;break _}if((b|0)==(e|0)){break $}f=f+2|0;break _}f=p-1|0;if(!f){break P}}while(1){b=e-f|0;aa:{ba:{if(g<<24>>24<=-1){g=h[b+j[d+120>>2]|0];if((g|0)>=48){break ba}break aa}g=h[b+(d+120|0)|0];if((g|0)<48){break aa}}if((g|0)>57){break aa}b=sa(d+40|0,d+120|0,b,-1);p=_a(l,b,0,0);n=k[d+51|0];g=n<<24>>24;if(p){e=(g|0)<0;aa(d+88|0,e?j[d+40>>2]:d+40|0,e?j[b+4>>2]:n);Za(d+24|0,j[l+16>>2],b);e=k[d+35|0];b=e<<24>>24<0;e=b?j[d+28>>2]:e;if(e){aa(d+88|0,b?j[d+24>>2]:d+24|0,e)}Ab(a,d+88|0,10);if(h[d+35|0]<=-1){T(j[d+24>>2])}if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}if((g|0)>-1){break aa}T(j[d+40>>2])}f=f-1|0;if(!f){break P}g=k[d+131|0];continue}}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break O}T(j[c>>2])}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0}if(h[d+99|0]>-1){break e}T(j[d+88>>2])}a=j[d+104>>2];if(a){j[d+108>>2]=a;T(a)}if(h[d+131|0]>-1){break a}T(j[d+120>>2])}M=d+144|0}function ja(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;p=M-16|0;M=p;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{if(a>>>0<=244){f=j[37748];i=a>>>0<11?16:a+11&-8;c=i>>>3|0;b=f>>>c|0;if(b&3){d=c+((b^-1)&1)|0;b=d<<3;e=j[b+151040>>2];a=e+8|0;c=j[e+8>>2];b=b+151032|0;m:{if((c|0)==(b|0)){q=150992,r=Fr(-2,d)&f,j[q>>2]=r;break m}j[c+12>>2]=b;j[b+8>>2]=c}b=d<<3;j[e+4>>2]=b|3;b=b+e|0;j[b+4>>2]=j[b+4>>2]|1;break a}n=j[37750];if(n>>>0>=i>>>0){break l}if(b){a=2<>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;c=(c|a)+(b>>>a|0)|0;a=c<<3;g=j[a+151040>>2];b=j[g+8>>2];a=a+151032|0;n:{if((b|0)==(a|0)){f=Fr(-2,c)&f;j[37748]=f;break n}j[b+12>>2]=a;j[a+8>>2]=b}a=g+8|0;j[g+4>>2]=i|3;d=g+i|0;b=c<<3;e=b-i|0;j[d+4>>2]=e|1;j[b+g>>2]=e;if(n){b=n>>>3|0;c=(b<<3)+151032|0;g=j[37753];b=1<>2]}j[c+8>>2]=g;j[b+12>>2]=g;j[g+12>>2]=c;j[g+8>>2]=b}j[37753]=d;j[37750]=e;break a}h=j[37749];if(!h){break l}b=(h&0-h)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;b=j[((c|a)+(b>>>a|0)<<2)+151296>>2];e=(j[b+4>>2]&-8)-i|0;c=b;while(1){p:{a=j[c+16>>2];if(!a){a=j[c+20>>2];if(!a){break p}}c=(j[a+4>>2]&-8)-i|0;d=c>>>0>>0;e=d?c:e;b=d?a:b;c=a;continue}break}l=b+i|0;if(l>>>0<=b>>>0){break k}o=j[b+24>>2];d=j[b+12>>2];if((d|0)!=(b|0)){a=j[b+8>>2];j[a+12>>2]=d;j[d+8>>2]=a;break b}c=b+20|0;a=j[c>>2];if(!a){a=j[b+16>>2];if(!a){break j}c=b+16|0}while(1){g=c;d=a;c=a+20|0;a=j[c>>2];if(a){continue}c=d+16|0;a=j[d+16>>2];if(a){continue}break}j[g>>2]=0;break b}i=-1;if(a>>>0>4294967231){break l}a=a+11|0;i=a&-8;l=j[37749];if(!l){break l}f=31;e=0-i|0;if(i>>>0<=16777215){a=a>>>8|0;g=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|g))|0;f=(a<<1|i>>>a+21&1)+28|0}c=j[(f<<2)+151296>>2];q:{r:{s:{if(!c){a=0;break s}a=0;b=i<<((f|0)==31?0:25-(f>>>1|0)|0);while(1){t:{g=(j[c+4>>2]&-8)-i|0;if(g>>>0>=e>>>0){break t}d=c;e=g;if(e){break t}e=0;a=c;break r}g=j[c+20>>2];c=j[((b>>>29&4)+c|0)+16>>2];a=g?(g|0)==(c|0)?a:g:a;b=b<<1;if(c){continue}break}}if(!(a|d)){a=2<>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;a=j[((c|a)+(b>>>a|0)<<2)+151296>>2]}if(!a){break q}}while(1){b=(j[a+4>>2]&-8)-i|0;c=b>>>0>>0;e=c?b:e;d=c?a:d;b=j[a+16>>2];if(b){a=b}else{a=j[a+20>>2]}if(a){continue}break}}if(!d|j[37750]-i>>>0<=e>>>0){break l}h=d+i|0;if(h>>>0<=d>>>0){break k}f=j[d+24>>2];b=j[d+12>>2];if((d|0)!=(b|0)){a=j[d+8>>2];j[a+12>>2]=b;j[b+8>>2]=a;break c}c=d+20|0;a=j[c>>2];if(!a){a=j[d+16>>2];if(!a){break i}c=d+16|0}while(1){g=c;b=a;c=a+20|0;a=j[c>>2];if(a){continue}c=b+16|0;a=j[b+16>>2];if(a){continue}break}j[g>>2]=0;break c}c=j[37750];if(c>>>0>=i>>>0){d=j[37753];b=c-i|0;u:{if(b>>>0>=16){j[37750]=b;a=d+i|0;j[37753]=a;j[a+4>>2]=b|1;j[c+d>>2]=b;j[d+4>>2]=i|3;break u}j[37753]=0;j[37750]=0;j[d+4>>2]=c|3;a=c+d|0;j[a+4>>2]=j[a+4>>2]|1}a=d+8|0;break a}h=j[37751];if(h>>>0>i>>>0){b=h-i|0;j[37751]=b;c=j[37754];a=c+i|0;j[37754]=a;j[a+4>>2]=b|1;j[c+4>>2]=i|3;a=c+8|0;break a}a=0;l=i+47|0;b=l;if(j[37866]){c=j[37868]}else{j[37869]=-1;j[37870]=-1;j[37867]=4096;j[37868]=4096;j[37866]=p+12&-16^1431655768;j[37871]=0;j[37859]=0;c=4096}g=b+c|0;e=0-c|0;c=g&e;if(c>>>0<=i>>>0){break a}d=j[37858];if(d){b=j[37856];f=b+c|0;if(d>>>0>>0|b>>>0>=f>>>0){break a}}if(k[151436]&4){break f}v:{w:{d=j[37754];if(d){a=151440;while(1){b=j[a>>2];if(d>>>0>2]>>>0?b>>>0<=d>>>0:0){break w}a=j[a+8>>2];if(a){continue}break}}b=nc(0);if((b|0)==-1){break g}f=c;d=j[37867];a=d-1|0;if(a&b){f=(c-b|0)+(a+b&0-d)|0}if(f>>>0<=i>>>0|f>>>0>2147483646){break g}d=j[37858];if(d){a=j[37856];e=a+f|0;if(d>>>0>>0|a>>>0>=e>>>0){break g}}a=nc(f);if((b|0)!=(a|0)){break v}break e}f=e&g-h;if(f>>>0>2147483646){break g}b=nc(f);if((b|0)==(j[a>>2]+j[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|i+48>>>0<=f>>>0)){b=j[37868];b=b+(l-f|0)&0-b;if(b>>>0>2147483646){b=a;break e}if((nc(b)|0)!=-1){f=b+f|0;b=a;break e}nc(0-f|0);break g}b=a;if((a|0)!=-1){break e}break g}z()}d=0;break b}b=0;break c}if((b|0)!=-1){break e}}j[37859]=j[37859]|4}if(c>>>0>2147483646){break d}b=nc(c);a=nc(0);if(b>>>0>=a>>>0|(b|0)==-1|(a|0)==-1){break d}f=a-b|0;if(f>>>0<=i+40>>>0){break d}}a=j[37856]+f|0;j[37856]=a;if(a>>>0>m[37857]){j[37857]=a}x:{y:{z:{g=j[37754];if(g){a=151440;while(1){d=j[a>>2];c=j[a+4>>2];if((d+c|0)==(b|0)){break z}a=j[a+8>>2];if(a){continue}break}break y}a=j[37752];if(!(a>>>0<=b>>>0?a:0)){j[37752]=b}a=0;j[37861]=f;j[37860]=b;j[37756]=-1;j[37757]=j[37866];j[37863]=0;while(1){d=a<<3;c=d+151032|0;j[d+151040>>2]=c;j[d+151044>>2]=c;a=a+1|0;if((a|0)!=32){continue}break}d=f-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;j[37751]=c;a=a+b|0;j[37754]=a;j[a+4>>2]=c|1;j[(b+d|0)+4>>2]=40;j[37755]=j[37870];break x}if(j[a+12>>2]&8|(b>>>0<=g>>>0|d>>>0>g>>>0)){break y}j[a+4>>2]=c+f;a=g+8&7?-8-g&7:0;c=a+g|0;j[37754]=c;b=j[37751]+f|0;a=b-a|0;j[37751]=a;j[c+4>>2]=a|1;j[(b+g|0)+4>>2]=40;j[37755]=j[37870];break x}d=j[37752];if(d>>>0>b>>>0){j[37752]=b;d=0}c=b+f|0;a=151440;A:{B:{C:{D:{E:{F:{while(1){if((c|0)!=j[a>>2]){a=j[a+8>>2];if(a){continue}break F}break}if(!(k[a+12|0]&8)){break E}}a=151440;while(1){c=j[a>>2];if(c>>>0<=g>>>0){e=c+j[a+4>>2]|0;if(e>>>0>g>>>0){break D}}a=j[a+8>>2];continue}}j[a>>2]=b;j[a+4>>2]=j[a+4>>2]+f;l=(b+8&7?-8-b&7:0)+b|0;j[l+4>>2]=i|3;f=c+(c+8&7?-8-c&7:0)|0;c=(f-l|0)-i|0;h=i+l|0;if((f|0)==(g|0)){j[37754]=h;a=j[37751]+c|0;j[37751]=a;j[h+4>>2]=a|1;break B}if(j[37753]==(f|0)){j[37753]=h;a=j[37750]+c|0;j[37750]=a;j[h+4>>2]=a|1;j[a+h>>2]=a;break B}a=j[f+4>>2];if((a&3)==1){g=a&-8;G:{if(a>>>0<=255){d=j[f+8>>2];a=a>>>3|0;b=j[f+12>>2];if((b|0)==(d|0)){q=150992,r=j[37748]&Fr(-2,a),j[q>>2]=r;break G}j[d+12>>2]=b;j[b+8>>2]=d;break G}i=j[f+24>>2];b=j[f+12>>2];H:{if((f|0)!=(b|0)){a=j[f+8>>2];j[a+12>>2]=b;j[b+8>>2]=a;break H}I:{a=f+20|0;e=j[a>>2];if(e){break I}a=f+16|0;e=j[a>>2];if(e){break I}b=0;break H}while(1){d=a;b=e;a=b+20|0;e=j[a>>2];if(e){continue}a=b+16|0;e=j[b+16>>2];if(e){continue}break}j[d>>2]=0}if(!i){break G}d=j[f+28>>2];a=(d<<2)+151296|0;J:{if(j[a>>2]==(f|0)){j[a>>2]=b;if(b){break J}q=150996,r=j[37749]&Fr(-2,d),j[q>>2]=r;break G}j[i+(j[i+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break G}}j[b+24>>2]=i;a=j[f+16>>2];if(a){j[b+16>>2]=a;j[a+24>>2]=b}a=j[f+20>>2];if(!a){break G}j[b+20>>2]=a;j[a+24>>2]=b}f=f+g|0;c=c+g|0}j[f+4>>2]=j[f+4>>2]&-2;j[h+4>>2]=c|1;j[c+h>>2]=c;if(c>>>0<=255){a=c>>>3|0;b=(a<<3)+151032|0;c=j[37748];a=1<>2]}j[b+8>>2]=h;j[a+12>>2]=h;j[h+12>>2]=b;j[h+8>>2]=a;break B}a=31;if(c>>>0<=16777215){a=c>>>8|0;e=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(d|e))|0;a=(a<<1|c>>>a+21&1)+28|0}j[h+28>>2]=a;j[h+16>>2]=0;j[h+20>>2]=0;e=(a<<2)+151296|0;d=j[37749];b=1<>2]=h;j[h+24>>2]=e;break L}a=c<<((a|0)==31?0:25-(a>>>1|0)|0);b=j[e>>2];while(1){d=b;if((j[b+4>>2]&-8)==(c|0)){break C}b=a>>>29|0;a=a<<1;e=d+(b&4)|0;b=j[e+16>>2];if(b){continue}break}j[e+16>>2]=h;j[h+24>>2]=d}j[h+12>>2]=h;j[h+8>>2]=h;break B}d=f-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;j[37751]=c;a=a+b|0;j[37754]=a;j[a+4>>2]=c|1;j[(b+d|0)+4>>2]=40;j[37755]=j[37870];a=(e+(e-39&7?39-e&7:0)|0)-47|0;c=a>>>0>>0?g:a;j[c+4>>2]=27;a=j[37863];j[c+16>>2]=j[37862];j[c+20>>2]=a;a=j[37861];j[c+8>>2]=j[37860];j[c+12>>2]=a;j[37862]=c+8;j[37861]=f;j[37860]=b;j[37863]=0;a=c+24|0;while(1){j[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((c|0)==(g|0)){break x}j[c+4>>2]=j[c+4>>2]&-2;e=c-g|0;j[g+4>>2]=e|1;j[c>>2]=e;if(e>>>0<=255){a=e>>>3|0;b=(a<<3)+151032|0;c=j[37748];a=1<>2]}j[b+8>>2]=g;j[a+12>>2]=g;j[g+12>>2]=b;j[g+8>>2]=a;break x}a=31;j[g+16>>2]=0;j[g+20>>2]=0;if(e>>>0<=16777215){a=e>>>8|0;d=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|d))|0;a=(a<<1|e>>>a+21&1)+28|0}j[g+28>>2]=a;d=(a<<2)+151296|0;c=j[37749];b=1<>2]=g;j[g+24>>2]=d;break N}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);b=j[d>>2];while(1){c=b;if((e|0)==(j[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;d=c+(b&4)|0;b=j[d+16>>2];if(b){continue}break}j[d+16>>2]=g;j[g+24>>2]=c}j[g+12>>2]=g;j[g+8>>2]=g;break x}a=j[d+8>>2];j[a+12>>2]=h;j[d+8>>2]=h;j[h+24>>2]=0;j[h+12>>2]=d;j[h+8>>2]=a}a=l+8|0;break a}a=j[c+8>>2];j[a+12>>2]=g;j[c+8>>2]=g;j[g+24>>2]=0;j[g+12>>2]=c;j[g+8>>2]=a}a=j[37751];if(a>>>0<=i>>>0){break d}b=a-i|0;j[37751]=b;c=j[37754];a=c+i|0;j[37754]=a;j[a+4>>2]=b|1;j[c+4>>2]=i|3;a=c+8|0;break a}j[37203]=48;a=0;break a}O:{if(!f){break O}c=j[d+28>>2];a=(c<<2)+151296|0;P:{if(j[a>>2]==(d|0)){j[a>>2]=b;if(b){break P}l=Fr(-2,c)&l;j[37749]=l;break O}j[f+(j[f+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break O}}j[b+24>>2]=f;a=j[d+16>>2];if(a){j[b+16>>2]=a;j[a+24>>2]=b}a=j[d+20>>2];if(!a){break O}j[b+20>>2]=a;j[a+24>>2]=b}Q:{if(e>>>0<=15){a=e+i|0;j[d+4>>2]=a|3;a=a+d|0;j[a+4>>2]=j[a+4>>2]|1;break Q}j[d+4>>2]=i|3;j[h+4>>2]=e|1;j[e+h>>2]=e;if(e>>>0<=255){a=e>>>3|0;b=(a<<3)+151032|0;c=j[37748];a=1<>2]}j[b+8>>2]=h;j[a+12>>2]=h;j[h+12>>2]=b;j[h+8>>2]=a;break Q}a=31;if(e>>>0<=16777215){a=e>>>8|0;g=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|g))|0;a=(a<<1|e>>>a+21&1)+28|0}j[h+28>>2]=a;j[h+16>>2]=0;j[h+20>>2]=0;c=(a<<2)+151296|0;S:{b=1<>2]=h;j[h+24>>2]=c;break T}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);i=j[c>>2];while(1){b=i;if((j[b+4>>2]&-8)==(e|0)){break S}c=a>>>29|0;a=a<<1;c=b+(c&4)|0;i=j[c+16>>2];if(i){continue}break}j[c+16>>2]=h;j[h+24>>2]=b}j[h+12>>2]=h;j[h+8>>2]=h;break Q}a=j[b+8>>2];j[a+12>>2]=h;j[b+8>>2]=h;j[h+24>>2]=0;j[h+12>>2]=b;j[h+8>>2]=a}a=d+8|0;break a}U:{if(!o){break U}c=j[b+28>>2];a=(c<<2)+151296|0;V:{if(j[a>>2]==(b|0)){j[a>>2]=d;if(d){break V}q=150996,r=Fr(-2,c)&h,j[q>>2]=r;break U}j[(j[o+16>>2]==(b|0)?16:20)+o>>2]=d;if(!d){break U}}j[d+24>>2]=o;a=j[b+16>>2];if(a){j[d+16>>2]=a;j[a+24>>2]=d}a=j[b+20>>2];if(!a){break U}j[d+20>>2]=a;j[a+24>>2]=d}W:{if(e>>>0<=15){a=e+i|0;j[b+4>>2]=a|3;a=a+b|0;j[a+4>>2]=j[a+4>>2]|1;break W}j[b+4>>2]=i|3;j[l+4>>2]=e|1;j[e+l>>2]=e;if(n){a=n>>>3|0;c=(a<<3)+151032|0;d=j[37753];a=1<>2]}j[c+8>>2]=d;j[a+12>>2]=d;j[d+12>>2]=c;j[d+8>>2]=a}j[37753]=l;j[37750]=e}a=b+8|0}M=p+16|0;return a|0}function Lc(a,b,c,d,e,f,g,n){var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;o=M-176|0;M=o;w=a+56|0;a:{b:{c:{d:{p=k[a+67|0];t=p<<24>>24;q=j[a+60>>2];e:{if((t|0)<=-1){break e}q=p}f:{if(!q){break f}q=p;p=(t|0)<0;q=p?j[a+60>>2]:q;if(!q){break f}p=p?j[a+56>>2]:w;q=q+p|0;while(1){if((Ba(b,h[p|0],0)|0)!=-1){break d}p=p+1|0;if((q|0)!=(p|0)){continue}break}}if(j[a+12>>2]){break d}t=b;break c}t=ha(U(12),b);p=h[w+11|0];q=j[a+60>>2];g:{if((p|0)<=-1){break g}q=p&255}h:{if(!q){break h}if(j[a+16>>2]){c=Ld(t,a+68|0);break h}Kd(t,w)}if(!j[a+12>>2]){v=t;break c}i:{if(j[a+16>>2]){c=ob(t);break i}Va(t)}if(!f){f=0;A=1;v=t;p=0;break a}if(j[a+96>>2]){v=t;break b}f=ha(U(12),f);j:{if(!j[a+12>>2]){break j}if(j[a+16>>2]){ob(f);break j}Va(f)}v=t;u=f;break b}if(f){break b}A=1;f=0;p=0;break a}p=4;if(j[a+96>>2]){break a}p=h[f+11|0];q=j[f+4>>2];k:{if((p|0)<=-1){break k}q=p&255}p=q+1|0}w=k[t+11|0];x=w<<24>>24;q=j[t+4>>2];l:{if((x|0)<=-1){break l}q=w}s=ja((p+q|0)+20|0);m:{n:{if(!s){if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=1;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}q=s+17|0;if((x|0)<=-1){p=j[t>>2]}else{p=t}y=He(q,p);p=h[y|0];o:{if(!p){p=0;break o}q=h[s+18|0];if(!q){break o}p=q|p<<8;q=h[s+19|0];if(!q){break o}p=q|p<<8;q=h[s+20|0];if(!q){break o}p=q|p<<8;q=s+21|0;r=k[q|0];if(!r){break o}while(1){p=Fr(p,5)^r<<24>>24;r=k[q+1|0];q=q+1|0;if(r){continue}break}}B=(p>>>0)%m[a>>2]|0;if((x|0)<=-1){p=j[t+4>>2]}else{p=w}j[s+8>>2]=0;j[s+12>>2]=0;j[s+4>>2]=d;i[s+2>>1]=e;h[s+1|0]=c;h[s|0]=p;c=((n|0)==1)<<3;h[s+16|0]=c;p:{if(A){break p}h[s+16|0]=c|1;e=j[a+96>>2];q:{if(e){h[s+16|0]=c|3;if((x|0)<=-1){w=j[t+4>>2]}c=(w+y|0)+1|0;p=0;if(h[f+11|0]<=-1){f=j[f>>2]}d=ta(f);if(!((d|0)<1|(d|0)>j[a+92>>2])){p=j[(e+(d<<2)|0)-4>>2]}h[c|0]=p;h[c+1|0]=p>>>8;h[c+2|0]=p>>>16;h[c+3|0]=p>>>24;break q}if((x|0)<=-1){w=j[t+4>>2]}c=(w+y|0)+1|0;if(h[f+11|0]<=-1){f=j[f>>2]}He(c,f)}e=k[s+16|0];d=0;r:{if(!(e&1)){break r}c=(k[s|0]+s|0)+18|0;d=c;if(!(e&2)){break r}d=k[c|0]|k[c+1|0]<<8|(k[c+2|0]<<16|k[c+3|0]<<24)}if(!ca(d,120898)){break p}p=k[s+16|0]+4|0;h[s+16|0]=p;t=a+100|0;c=j[a>>2]/500|0;if(c>>>0>(j[a+108>>2]-j[a+100>>2]|0)/60>>>0){Yh(t,c);p=k[s+16|0]}c=0;s:{if(!(p&1)){break s}d=(k[s|0]+s|0)+18|0;c=d;if(!(p&2)){break s}c=k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24)}d=W(c);if(d>>>0<4294967280){t:{u:{if(d>>>0>=11){e=d+16&-16;r=U(e);j[o+168>>2]=e|-2147483648;j[o+160>>2]=r;j[o+164>>2]=d;e=o+160|0;break u}h[o+171|0]=d;e=o+160|0;r=e;if(!d){break t}}V(r,c,d)}h[d+r|0]=0;j[o+152>>2]=h[e+11|0]<0?j[o+160>>2]:o+160|0;r=ka(o+160|0,o+152|0);w=o- -64|0;while(1){c=h[e+11|0];v:{if((c|0)<=-1){c=j[o+160>>2];if((c+j[o+164>>2]|0)!=(r|0)){break v}T(c);break p}if(((o+160|0)+(c&255)|0)==(r|0)){break p}}w:{x:{y:{z:{A:{d=j[o+152>>2];c=d-r|0;if(c>>>0<4294967280){B:{if(c>>>0<=10){h[o+19|0]=c;p=o+8|0;break B}f=c+16&-16;p=U(f);j[o+16>>2]=f|-2147483648;j[o+8>>2]=p;j[o+12>>2]=c}q=r;if((d|0)!=(q|0)){while(1){h[p|0]=k[q|0];p=p+1|0;q=q+1|0;if((d|0)!=(q|0)){continue}break}}h[p|0]=0;f=j[o+8>>2];d=k[o+19|0];x=d<<24>>24;p=(x|0)<0;c=p?f:o+8|0;p=p?j[o+12>>2]:d;d=c+p|0;q=c;C:{D:{if((p|0)<3){break D}while(1){p=Aa(q,112,p-2|0);if(!p){break D}if(!qa(p,120898,3)){break C}q=p+1|0;p=d-q|0;if((p|0)>2){continue}break}}p=d}if((x|0)<=-1){T(f)}if(!((c|0)==(p|0)&(d|0)!=(p|0))){break w}d=j[o+152>>2];c=d-r|0;if(c>>>0>=4294967280){break A}E:{if(c>>>0<=10){h[o+19|0]=c;p=o+8|0;break E}f=c+16&-16;p=U(f);j[o+16>>2]=f|-2147483648;j[o+8>>2]=p;j[o+12>>2]=c}if((d|0)!=(r|0)){while(1){h[p|0]=k[r|0];p=p+1|0;r=r+1|0;if((d|0)!=(r|0)){continue}break}}h[p|0]=0;f=sa(o+136|0,o+8|0,3,-1);if(h[o+19|0]<=-1){T(j[o+8>>2])}p=h[o+147|0];d=(p|0)<0;c=d?j[o+140>>2]:p&255;if(!c){break x}j[o+128>>2]=0;j[o+120>>2]=0;j[o+124>>2]=0;j[o+112>>2]=0;j[o+104>>2]=0;j[o+108>>2]=0;if((c|0)<2){break z}d=d?j[o+136>>2]:o+136|0;r=d+c|0;p=c;q=d;while(1){p=Aa(q,45,p-1|0);if(!p){break z}if((k[p|0]|k[p+1|0]<<8)!=15917){q=p+1|0;p=r-q|0;if((p|0)>=2){continue}break z}break}d=(p|0)==(r|0)?-1:p-d|0;if(d+1>>>0<2|d>>>0>=c-2>>>0){break z}sa(o+8|0,f,d+2|0,-1);if(h[o+115|0]<=-1){T(j[o+104>>2])}j[o+112>>2]=j[o+16>>2];c=j[o+12>>2];j[o+104>>2]=j[o+8>>2];j[o+108>>2]=c;p=h[o+147|0];c=(p|0)<0;q=j[o+136>>2];xb(f,d,(c?q+j[o+140>>2]|0:(o+136|0)+(p&255)|0)-(d+(c?q:o+136|0)|0)|0);break y}X();z()}X();z()}ua(o+104|0,b)}c=k[o+147|0];F:{if(k[Wd(f,(c<<24>>24<0?j[o+140>>2]:c)-1|0)|0]!=42){break F}p=1;G:{if(!j[a+16>>2]){q=0;break G}while(1){H:{c=h[o+147|0];I:{if((c|0)<=-1){q=j[o+140>>2];if(q>>>0>p>>>0){break I}break H}q=c&255;if(q>>>0<=p>>>0){break H}}if((k[Wd(f,(p^-1)+q|0)|0]&192)!=128){break H}p=p+1|0;continue}break}q=0;while(1){c=h[o+115|0];J:{if((c|0)<=-1){r=j[o+108>>2];if(r>>>0<=q>>>0){break G}break J}r=c&255;if(r>>>0<=q>>>0){break G}}if((k[Wd(o+104|0,(q^-1)+r|0)|0]&192)!=128){break G}q=q+1|0;continue}}c=k[o+147|0];r=c<<24>>24<0?j[o+140>>2]:c;c=p+1|0;if(r>>>0<=c>>>0){break F}d=k[o+115|0];p=d<<24>>24<0?j[o+108>>2]:d;d=q+1|0;if(p>>>0<=d>>>0){break F}xb(f,r-c|0,c);c=k[b+11|0];xb(o+104|0,(c<<24>>24<0?j[b+4>>2]:c)-d|0,d)}K:{if((n|0)!=1){break K}j[o+96>>2]=0;j[o+88>>2]=0;j[o+92>>2]=0;L:{if(j[a+16>>2]){ia(o+120|0,f);if(Mc(o+120|0,j[a+24>>2])){break L}vb(o+120|0,j[a+24>>2]);da(o+88|0,o+120|0);break L}if(Nc(f,j[a+52>>2])){break L}nb(o+88|0,j[a+52>>2])}d=k[o+99|0];c=d<<24>>24;if((c|0)<0?j[o+92>>2]:d){c=j[a+24>>2]-36|0;M:{if((c|0)!=13?c:0){break M}d=ha(o+72|0,o+104|0);N:{if(j[a+16>>2]){ia(o+120|0,d);Ua(o+120|0,j[a+24>>2]);da(d,o+120|0);break N}Pa(d,j[a+52>>2])}j[w>>2]=0;j[o+56>>2]=0;j[o+60>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[o+40>>2]=0;j[o+44>>2]=0;j[o+32>>2]=0;j[o+36>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[o+16>>2]=0;j[o+20>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;c=j[a+104>>2];O:{if(c>>>0>2]){p=j[o+12>>2];j[c>>2]=j[o+8>>2];j[c+4>>2]=p;j[c+8>>2]=j[o+16>>2];j[o+16>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;j[c+20>>2]=j[o+28>>2];p=j[o+24>>2];j[c+12>>2]=j[o+20>>2];j[c+16>>2]=p;j[o+20>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[c+32>>2]=j[o+40>>2];p=j[o+36>>2];j[c+24>>2]=j[o+32>>2];j[c+28>>2]=p;j[o+32>>2]=0;j[o+36>>2]=0;j[o+40>>2]=0;j[c+44>>2]=j[o+52>>2];p=j[o+48>>2];j[c+36>>2]=j[o+44>>2];j[c+40>>2]=p;j[o+44>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[c+56>>2]=j[o+64>>2];p=j[o+60>>2];j[c+48>>2]=j[o+56>>2];j[c+52>>2]=p;j[o+56>>2]=0;j[o+60>>2]=0;j[o+64>>2]=0;j[a+104>>2]=c+60;break O}Hd(t,o+8|0);if(h[o+67|0]>-1){break O}T(j[o+56>>2])}if(h[o+55|0]<0){T(j[o+44>>2])}if(h[o+43|0]<=-1){T(j[o+32>>2])}if(h[o+31|0]<=-1){T(j[o+20>>2])}if(h[o+19|0]<0){T(j[o+8>>2])}ua(j[a+104>>2]-60|0,f);ua(j[a+104>>2]-48|0,d);if(h[o+83|0]>-1){break M}T(j[o+72>>2])}j[w>>2]=0;j[o+56>>2]=0;j[o+60>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[o+40>>2]=0;j[o+44>>2]=0;j[o+32>>2]=0;j[o+36>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[o+16>>2]=0;j[o+20>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;c=j[a+104>>2];P:{if(c>>>0>2]){d=j[o+12>>2];j[c>>2]=j[o+8>>2];j[c+4>>2]=d;j[c+8>>2]=j[o+16>>2];j[o+16>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;j[c+20>>2]=j[o+28>>2];d=j[o+24>>2];j[c+12>>2]=j[o+20>>2];j[c+16>>2]=d;j[o+20>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[c+32>>2]=j[o+40>>2];d=j[o+36>>2];j[c+24>>2]=j[o+32>>2];j[c+28>>2]=d;j[o+32>>2]=0;j[o+36>>2]=0;j[o+40>>2]=0;j[c+44>>2]=j[o+52>>2];d=j[o+48>>2];j[c+36>>2]=j[o+44>>2];j[c+40>>2]=d;j[o+44>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[c+56>>2]=j[o+64>>2];d=j[o+60>>2];j[c+48>>2]=j[o+56>>2];j[c+52>>2]=d;j[o+56>>2]=0;j[o+60>>2]=0;j[o+64>>2]=0;j[a+104>>2]=c+60;break P}Hd(t,o+8|0);if(h[o+67|0]>-1){break P}T(j[o+56>>2])}if(h[o+55|0]<0){T(j[o+44>>2])}if(h[o+43|0]<=-1){T(j[o+32>>2])}if(h[o+31|0]<=-1){T(j[o+20>>2])}if(h[o+19|0]<0){T(j[o+8>>2])}ua(j[a+104>>2]-60|0,o+88|0);ua(j[a+104>>2]-48|0,o+104|0);c=k[o+99|0]}if(c<<24>>24>-1){break K}T(j[o+88>>2])}j[w>>2]=0;j[o+56>>2]=0;j[o+60>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[o+40>>2]=0;j[o+44>>2]=0;j[o+32>>2]=0;j[o+36>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[o+16>>2]=0;j[o+20>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;c=j[a+104>>2];Q:{if(c>>>0>2]){d=j[o+12>>2];j[c>>2]=j[o+8>>2];j[c+4>>2]=d;j[c+8>>2]=j[o+16>>2];j[o+16>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;j[c+20>>2]=j[o+28>>2];d=j[o+24>>2];j[c+12>>2]=j[o+20>>2];j[c+16>>2]=d;j[o+20>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[c+32>>2]=j[o+40>>2];d=j[o+36>>2];j[c+24>>2]=j[o+32>>2];j[c+28>>2]=d;j[o+32>>2]=0;j[o+36>>2]=0;j[o+40>>2]=0;j[c+44>>2]=j[o+52>>2];d=j[o+48>>2];j[c+36>>2]=j[o+44>>2];j[c+40>>2]=d;j[o+44>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[c+56>>2]=j[o+64>>2];d=j[o+60>>2];j[c+48>>2]=j[o+56>>2];j[c+52>>2]=d;j[o+56>>2]=0;j[o+60>>2]=0;j[o+64>>2]=0;j[a+104>>2]=c+60;break Q}Hd(t,o+8|0);if(h[o+67|0]>-1){break Q}T(j[o+56>>2])}if(h[o+55|0]<0){T(j[o+44>>2])}if(h[o+43|0]<=-1){T(j[o+32>>2])}if(h[o+31|0]<=-1){T(j[o+20>>2])}if(h[o+19|0]<0){T(j[o+8>>2])}ua(j[a+104>>2]-60|0,f);ua(j[a+104>>2]-48|0,o+104|0);if(h[o+115|0]<=-1){T(j[o+104>>2])}c=j[o+120>>2];if(c){j[o+124>>2]=c;T(c)}p=k[o+147|0]}if(p<<24>>24>-1){break w}T(j[o+136>>2])}r=ka(o+160|0,o+152|0);continue}}X();z()}R:{S:{T:{a=j[a+4>>2]+(B<<2)|0;p=j[a>>2];if(p){q=j[p+8>>2];if(!q){c=0;b=p+8|0;break R}c=0;if(!g){break T}r=p;while(1){p=q;if(!j[r+12>>2]){c=!ba(y,r+17|0)|c}r=p;q=j[p+8>>2];if(q){continue}break}break S}j[a>>2]=s;if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}while(1){a=p;p=q;U:{if(j[a+12>>2]){break U}b=ba(y,a+17|0);if(b){c=!b|c;break U}V:{b=j[a+4>>2];if(!b){break V}r=i[a+2>>1];f=b+(r<<1)|0;q=b;if(r){while(1){d=r>>>1|0;n=(d<<1)+q|0;e=l[n>>1]<65511;q=e?n+2|0:q;r=e?(d^-1)+r|0:d;if(r){continue}break}}if((f|0)==(q|0)|l[q>>1]>65511){break V}T(b);j[a+4>>2]=j[s+4>>2];i[a+2>>1]=l[s+2>>1];T(s);if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}j[a+12>>2]=s}q=j[p+8>>2];if(q){continue}break}}b=p+8|0}W:{X:{if(!ba(y,p+17|0)){if(g){break X}Y:{a=j[p+4>>2];if(!a){break Y}r=i[p+2>>1];f=a+(r<<1)|0;q=a;if(r){while(1){d=r>>>1|0;g=(d<<1)+q|0;e=l[g>>1]<65511;q=e?g+2|0:q;r=e?(d^-1)+r|0:d;if(r){continue}break}}if((f|0)==(q|0)|l[q>>1]>65511){break Y}T(a);j[p+4>>2]=j[s+4>>2];i[p+2>>1]=l[s+2>>1];T(s);if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}j[p+12>>2]=s}if(c&1){break X}j[b>>2]=s;break W}a=j[s+4>>2];if(a){T(a)}T(s)}if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2])}T(v)}M=o+176|0;return p}function $o(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;g=M-80|0;M=g;h[g+72|0]=c;j[g+68>>2]=a;j[g+64>>2]=0;j[g+56>>2]=0;j[g+60>>2]=0;j[g+48>>2]=h[b+11|0]<0?j[b>>2]:b;a:{b:{c:{d:{e:{f:{m=ka(b,g+48|0);n=k[b+11|0];f=n<<24>>24<0;if((m|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:n)|0)){p=(c|0)==83?1:2;y=(c|0)!=80;while(1){g:{h:{switch(q|0){case 0:t=t+1|0;break g;case 1:s=j[g+48>>2];u=s-m|0;if(u>>>0>=4294967280){break d}o=j[a+4100>>2];i:{if(u>>>0<=10){h[g+43|0]=u;f=g+32|0;break i}n=u+16&-16;f=U(n);j[g+40>>2]=n|-2147483648;j[g+32>>2]=f;j[g+36>>2]=u}if((m|0)!=(s|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((s|0)!=(m|0)){continue}break}}h[f|0]=0;v=Ha(o,h[g+43|0]<0?j[g+32>>2]:g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}t=t+1|0;f=e+v|0;h[f|0]=p+k[f|0];break g;case 2:r=k[m|0]==89?1:r;t=t+1|0;break g;case 3:break h;default:break g}}o=j[g+48>>2];s=o-m|0;if(s>>>0>=4294967280){break e}j:{if(s>>>0<=10){h[g+43|0]=s;f=g+32|0;break j}n=s+16&-16;f=U(n);j[g+40>>2]=n|-2147483648;j[g+32>>2]=f;j[g+36>>2]=s}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;k:{if(h[g+43|0]>=0){w=ta(g+32|0);break k}f=j[g+32>>2];w=ta(f);T(f)}if(!(w>>>0<67108864?(w|0)>=1:0)){a=Jb(j[a+4100>>2],v&65535);if(!a){break b}T(a);break b}t=t+1|0;f=j[a+4144>>2]?r+2|0:r;f=j[j[a+4100>>2]+84>>2]?f+4|0:f;_n(g+56|0,w,(j[j[a+4100>>2]+96>>2]?f+8|0:f)<<24>>24,v&65535)}q=q+1|0;m=ka(b,g+48|0);n=k[b+11|0];f=n<<24>>24<0;if((m|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:n)|0)){continue}break}if((t|0)==4){break f}}a=Jb(j[a+4100>>2],v&65535);if(!a){break b}T(a);break b}f=j[g+60>>2];m=j[g+56>>2];b=0;l:{if((f|0)==(m|0)){break l}b=j[m>>2]}m:{if((w|0)>=1){x=a+4420|0;u=a+4408|0;s=v&65535;y=(c|0)==83;e=0;n:{while(1){j[g+40>>2]=0;j[g+32>>2]=0;j[g+36>>2]=0;o:{p:{if(!ub(d,g+32|0)){break p}bb(g+32|0);j[g+48>>2]=h[g+43|0]<0?j[g+32>>2]:g+32|0;m=ka(g+32|0,g+48|0);n=k[g+43|0];f=n<<24>>24<0;if((m|0)!=((f?j[g+32>>2]:g+32|0)+(f?j[g+36>>2]:n)|0)){t=0;r=0;while(1){q:{r:{s:{t:{u:{v:{w:{switch(t|0){case 0:r=r+1|0;if(!e){break q}b=Vn(g+56|0);break q;case 1:o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}x:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break x}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;m=(Ha(j[a+4100>>2],h[g+27|0]<0?j[g+16>>2]:g+16|0)|0)==(s|0);y:{if(!m){f=Jb(j[a+4100>>2],s);if(!f){break y}T(f);break y}if(!e){break y}i[b+30>>1]=l[j[j[g+56>>2]>>2]+30>>1]}if(h[g+27|0]<=-1){T(j[g+16>>2])}if(!m){break p}r=r+1|0;break q;case 2:o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}z:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break z}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;m=b+16|0;if(h[b+27|0]<=-1){T(j[m>>2])}f=j[g+20>>2];j[m>>2]=j[g+16>>2];j[m+4>>2]=f;j[m+8>>2]=j[g+24>>2];A:{if(!j[a+4148>>2]){break A}if(j[a+4144>>2]){ob(m);break A}Va(m)}r=r+1|0;if(df(m)){break q}if(h[m+11|0]>-1){break v}h[j[b+16>>2]]=0;j[b+20>>2]=0;break q;case 3:i[b+60>>1]=0;j[b+52>>2]=0;j[b+56>>2]=0;B:{f=m;q=j[g+48>>2];o=(m|0)==(q|0);if(o){break B}while(1){if(k[f|0]==47){break B}f=f+1|0;if((q|0)!=(f|0)){continue}break}break s}if((f|0)==(q|0)){break s}p=f-m|0;if(p>>>0>=4294967280){break a}C:{if(p>>>0<=10){h[g+27|0]=p;n=g+16|0;break C}o=p+16&-16;n=U(o);j[g+24>>2]=o|-2147483648;j[g+16>>2]=n;j[g+20>>2]=p}if((f|0)!=(m|0)){while(1){h[n|0]=k[m|0];n=n+1|0;m=m+1|0;if((m|0)!=(f|0)){continue}break}}h[n|0]=0;q=b+4|0;if(h[b+15|0]<=-1){T(j[q>>2])}m=j[g+20>>2];j[q>>2]=j[g+16>>2];j[q+4>>2]=m;j[q+8>>2]=j[g+24>>2];o=j[g+48>>2];f=f+1|0;p=o-f|0;if(p>>>0>=4294967280){break a}D:{if(p>>>0<=10){h[g+27|0]=p;m=g+16|0;break D}n=p+16&-16;m=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=m;j[g+20>>2]=p}if((f|0)!=(o|0)){while(1){h[m|0]=k[f|0];m=m+1|0;f=f+1|0;if((o|0)!=(f|0)){continue}break}}h[m|0]=0;m=k[u+11|0];n=m<<24>>24;f=j[a+4412>>2];E:{if((n|0)<=-1){break E}f=m}F:{if(!f){break F}f=m;m=(n|0)<0;f=m?j[a+4412>>2]:f;if(!f){break F}m=m?j[a+4408>>2]:u;f=f+m|0;while(1){if((Ba(q,h[m|0],0)|0)==-1){m=m+1|0;if((f|0)!=(m|0)){continue}break F}break}if(j[a+4144>>2]){Ld(q,x);break F}Kd(q,u)}G:{if(!j[a+4148>>2]){break G}if(j[a+4144>>2]){ob(q);break G}Va(q)}p=b+56|0;H:{if(j[j[a+4100>>2]+84>>2]){n=br(j[a+4100>>2],ta(h[g+27|0]<0?j[g+16>>2]:g+16|0),p);i[b+60>>1]=n;break H}o=j[a+4100>>2];m=h[g+27|0]<0?j[g+16>>2]:g+16|0;q=W(m);if(q>>>0>=4294967280){break u}I:{J:{if(q>>>0>=11){f=q+16&-16;n=U(f);j[g+8>>2]=f|-2147483648;j[g>>2]=n;j[g+4>>2]=q;break J}h[g+11|0]=q;n=g;if(!q){break I}}V(n,m,q)}h[n+q|0]=0;m=Te(o,p,g);i[b+60>>1]=m;if(h[g+11|0]<=-1){T(j[g>>2]);m=l[b+60>>1]}f=j[b+56>>2];Qc(f,f+(m<<16>>16<<1)|0,g);n=l[b+60>>1]}j[a+4488>>2]=1;m=0;f=0;if(n<<16>>16<=0){break t}while(1){h[(l[j[b+56>>2]+(m<<1)>>1]+a|0)+4492|0]=1;f=f+1|0;m=f&65535;if((m|0)>1]){continue}break}break t;case 4:o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}K:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break K}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;L:{if(!j[a+4148>>2]){break L}M:{if(j[a+4144>>2]){ob(g+16|0);break M}Va(g+16|0)}m=k[g+27|0];f=m<<24>>24;N:{if((f|0)<=-1){m=j[g+20>>2];if(!m){break L}f=j[g+16>>2];break N}if(!f){break L}f=g+16|0}m=f+m|0;f=0;while(1){n=f;o=m;O:{P:{Q:{R:{S:{T:{m=m-1|0;p=h[m|0];switch(p-91|0){case 3:break R;case 2:break S;case 0:break T;default:break Q}}if(n){h[o|0]=91;break P}h[m|0]=93;f=0;break O}h[m|0]=91;f=0;if(!n){break O}h[o|0]=94;break O}f=1;if(k[o|0]==93){break O}h[o|0]=p;f=n;break O}if(!n){f=0;break O}h[o|0]=p}f=1}if(((h[g+27|0]<0?j[g+16>>2]:g+16|0)|0)!=(m|0)){continue}break}}m=k[b+27|0];f=m<<24>>24;if((f|0)<=-1){m=j[b+20>>2]}U:{if(!m){break U}m=b+16|0;n=k[g+27|0];if(((n<<24>>24<0?j[g+20>>2]:n)|0)==1){if(!_(g+16|0,0,-1,1742,1)){break U}f=k[m+11|0]}V:{if(f<<24>>24<=-1){m=j[b+16>>2];f=j[b+20>>2];break V}f=f&255}if(!On(a,c,m,f,h[g+27|0]<0?j[g+16>>2]:g+16|0)){break U}Ka(g+16|0,1742)}W:{X:{if(!y){n=k[g+27|0];break X}Va(g+16|0);f=k[g+27|0];m=f<<24>>24;Y:{if((m|0)<=-1){m=j[g+16>>2];f=j[g+20>>2];n=m;if(f){break Y}break W}if(!m){m=g+16|0;break W}n=g+16|0}m=f+n|0;f=0;while(1){n=f;o=m;Z:{_:{$:{aa:{ba:{ca:{m=m-1|0;p=h[m|0];switch(p-91|0){case 3:break aa;case 2:break ba;case 0:break ca;default:break $}}if(n){h[o|0]=91;break _}h[m|0]=93;f=0;break Z}h[m|0]=91;f=0;if(!n){break Z}h[o|0]=94;break Z}f=1;if(k[o|0]==93){break Z}h[o|0]=p;f=n;break Z}if(!n){f=0;break Z}h[o|0]=p}f=1}n=h[g+27|0];if((((n|0)<0?j[g+16>>2]:g+16|0)|0)!=(m|0)){continue}break}}m=g+16|0;if(n<<24>>24>-1){break W}m=j[g+16>>2]}f=Jn(a,b,m);if(h[g+27|0]<=-1){T(j[g+16>>2])}if(f){break p}r=r+1|0;break q;case 5:break w;default:break q}}o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}da:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break da}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;ea:{fa:{if(j[j[a+4100>>2]+96>>2]){A=b,B=dr(j[a+4100>>2],ta(h[g+27|0]<0?j[g+16>>2]:g+16|0)),j[A+52>>2]=B;break fa}ga:{if(!j[a+4148>>2]){break ga}if(j[a+4144>>2]){ob(g+16|0);break ga}Va(g+16|0)}n=j[g+48>>2];m=k[g+43|0];f=m<<24>>24<0;f=(f?j[g+32>>2]:g+32|0)+(f?j[g+36>>2]:m)|0;if((n|0)!=(f|0)){An(g+16|0,n,f)}m=cb(h[g+27|0]<0?j[g+16>>2]:g+16|0);j[b+52>>2]=m;f=0;if(!m){break ea}}f=1}if(h[g+27|0]<=-1){T(j[g+16>>2])}if(!f){break p}r=r+1|0;break q}h[m+11|0]=0;h[m|0]=0;break q}X();z()}if(h[g+27|0]>-1){break r}T(j[g+16>>2]);break r}p=q-m|0;if(p>>>0>=4294967280){break m}ha:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break ha}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if(!o){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((q|0)!=(m|0)){continue}break}}h[f|0]=0;o=b+4|0;if(h[b+15|0]<=-1){T(j[o>>2])}f=j[g+20>>2];j[o>>2]=j[g+16>>2];j[o+4>>2]=f;j[o+8>>2]=j[g+24>>2];m=k[u+11|0];n=m<<24>>24;f=j[a+4412>>2];ia:{if((n|0)<=-1){break ia}f=m}ja:{if(!f){break ja}f=m;m=(n|0)<0;f=m?j[a+4412>>2]:f;if(!f){break ja}m=m?j[a+4408>>2]:u;f=f+m|0;while(1){if((Ba(o,h[m|0],0)|0)==-1){m=m+1|0;if((f|0)!=(m|0)){continue}break ja}break}if(j[a+4144>>2]){Ld(o,x);break ja}Kd(o,u)}if(!j[a+4148>>2]){break r}if(j[a+4144>>2]){ob(o);break r}Va(o)}r=r+1|0;if(df(b+4|0)){break q}if(h[b+15|0]<=-1){h[j[b+4>>2]]=0;j[b+8>>2]=0;break q}h[b+15|0]=0;h[b+4|0]=0}t=t+1|0;m=ka(g+32|0,g+48|0);n=k[g+43|0];f=n<<24>>24<0;if((m|0)!=((f?j[g+32>>2]:g+32|0)+(f?j[g+36>>2]:n)|0)){continue}break}f=1;if((r|0)>3){break o}}f=Jb(j[a+4100>>2],s);if(!f){break p}T(f)}f=0}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(f){e=e+1|0;if((w|0)==(e|0)){break n}continue}break}x=0;break b}m=j[g+56>>2];f=j[g+60>>2]}if((f|0)==(m|0)){break c}if((c|0)==80){while(1){vn(a,j[m>>2]);m=m+4|0;if((m|0)!=(f|0)){continue}break c}}while(1){rn(a,j[m>>2]);m=m+4|0;if((m|0)!=(f|0)){continue}break}break c}break a}X();z()}X();z()}j[g+60>>2]=j[g+56>>2];x=1}a=j[g+60>>2];f=j[g+56>>2];ka:{if((a|0)==(f|0)){f=a;break ka}m=0;while(1){b=j[(m<<2)+f>>2];if(b){O[j[j[b>>2]+4>>2]](b);f=j[g+56>>2];a=j[g+60>>2]}m=m+1|0;if(m>>>0>2>>>0){continue}break}}if(f){j[g+60>>2]=f;T(f)}M=g+80|0;return x}X();z()}function Wg(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0;n=M-192|0;M=n;z=h;F=i&65535;o=d;p=e&65535;G=(e^i)&-2147483648;m=i>>>16&32767;a:{u=e>>>16&32767;b:{c:{if(m-1>>>0<32766?u-1>>>0<=32765:0){break c}H=e&2147483647;l=H;k=d;if(!(!k&(l|0)==2147418112?!(b|c):l>>>0<2147418112)){J=d;G=e|32768;break b}H=i&2147483647;e=H;d=h;if(!(!d&(e|0)==2147418112?!(f|g):e>>>0<2147418112)){J=h;G=i|32768;b=f;c=g;break b}if(!(b|k|(l^2147418112|c))){if(!(d|f|(e^2147418112|g))){b=0;c=0;G=2147450880;break b}G=G|2147418112;b=0;c=0;break b}if(!(d|f|(e^2147418112|g))){b=0;c=0;break b}if(!(b|k|(c|l))){break a}if(!(d|f|(e|g))){G=G|2147418112;b=0;c=0;break b}if((l|0)==65535|l>>>0<65535){i=b;d=!(p|o);h=d<<6;k=s(d?b:o)+32|0;b=s(d?c:p);b=h+((b|0)==32?k:b)|0;mb(n+176|0,i,c,o,p,b-15|0);I=16-b|0;o=j[n+184>>2];p=j[n+188>>2];c=j[n+180>>2];b=j[n+176>>2]}if(e>>>0>65535){break c}d=!(z|F);e=d<<6;h=s(d?f:z)+32|0;d=s(d?g:F);d=e+((d|0)==32?h:d)|0;mb(n+160|0,f,g,z,F,d-15|0);I=(d+I|0)-16|0;z=j[n+168>>2];F=j[n+172>>2];f=j[n+160>>2];g=j[n+164>>2]}e=F|65536;H=e;P=z;d=z;l=e<<15|d>>>17;d=d<<15|g>>>17;h=-102865788-d|0;e=l;k=l;i=1963258675-(k+(d>>>0>4192101508)|0)|0;Nb(n+144|0,d,k,h,i);k=j[n+152>>2];Nb(n+128|0,0-k|0,0-(j[n+156>>2]+((k|0)!=0)|0)|0,h,i);h=j[n+136>>2];i=h<<1|j[n+132>>2]>>>31;h=j[n+140>>2]<<1|h>>>31;Nb(n+112|0,i,h,d,l);k=h;h=j[n+120>>2];Nb(n+96|0,i,k,0-h|0,0-(j[n+124>>2]+((h|0)!=0)|0)|0);h=j[n+104>>2];i=h<<1|j[n+100>>2]>>>31;h=j[n+108>>2]<<1|h>>>31;Nb(n+80|0,i,h,d,l);k=h;h=j[n+88>>2];Nb(n- -64|0,i,k,0-h|0,0-(j[n+92>>2]+((h|0)!=0)|0)|0);h=j[n+72>>2];i=h<<1|j[n+68>>2]>>>31;h=j[n+76>>2]<<1|h>>>31;Nb(n+48|0,i,h,d,l);k=h;h=j[n+56>>2];Nb(n+32|0,i,k,0-h|0,0-(j[n+60>>2]+((h|0)!=0)|0)|0);h=j[n+40>>2];i=h<<1|j[n+36>>2]>>>31;h=j[n+44>>2]<<1|h>>>31;Nb(n+16|0,i,h,d,l);k=h;h=j[n+24>>2];Nb(n,i,k,0-h|0,0-(j[n+28>>2]+((h|0)!=0)|0)|0);I=(u-m|0)+I|0;h=j[n+8>>2];k=j[n+12>>2]<<1|h>>>31;l=h<<1|j[n+4>>2]>>>31;h=l-1|0;l=k-(l>>>0<1)|0;k=0;C=k;i=h;q=e;e=0;r=Dr(h,k,q,e);k=N;v=k;y=l;m=0;u=d;h=Dr(l,m,d,0);d=h+r|0;k=N+k|0;k=d>>>0>>0?k+1|0:k;h=d;d=k;k=0;l=(d|0)==(v|0)&h>>>0>>0|d>>>0>>0;r=Dr(y,m,q,e);e=r+d|0;l=N+(k|l)|0;k=e;e=k>>>0>>0?l+1|0:l;q=k;l=h;r=0;h=Dr(i,C,u,t);d=r+h|0;k=N+l|0;k=d>>>0>>0?k+1|0:k;h=k;u=(l|0)==(k|0)&r>>>0>d>>>0|k>>>0>>0;l=q+u|0;k=e;A=l;e=l>>>0>>0?k+1|0:k;q=d;r=d;u=h;d=g;B=(d&131071)<<15|f>>>17;v=Dr(i,C,B,0);d=N;t=d;k=f;l=k<<15&-32768;x=0;D=Dr(y,m,l,x);h=D+v|0;k=N+d|0;k=h>>>0>>0?k+1|0:k;d=k;D=0;E=Dr(i,C,l,x);x=D+E|0;l=h;k=l+N|0;k=x>>>0>>0?k+1|0:k;w=(k|0)==(l|0)&x>>>0>>0|k>>>0>>0;k=(d|0)==(t|0)&l>>>0>>0|d>>>0>>0;h=d;d=Dr(y,m,B,K)+d|0;l=k+N|0;l=d>>>0>>0?l+1|0:l;h=d;d=w+d|0;k=l;k=d>>>0>>0?k+1|0:k;h=d;d=d+r|0;k=k+u|0;k=d>>>0>>0?k+1|0:k;r=d;v=k;h=(k|0)==(u|0)&d>>>0>>0|k>>>0>>0;d=h+A|0;k=e;k=d>>>0>>0?k+1|0:k;e=(r|0)!=0|(v|0)!=0;d=e+d|0;l=d>>>0>>0?k+1|0:k;h=d;t=0-d|0;A=0;u=Dr(t,A,i,C);d=N;x=d;e=u;q=d;A=Dr(y,m,t,A);d=N;w=d;B=0-(((h|0)!=0)+l|0)|0;t=0;l=Dr(i,C,B,t);h=l+A|0;k=N+d|0;k=h>>>0>>0?k+1|0:k;d=k;l=h+q|0;e=0+e|0;q=e;k=e;l=k>>>0>>0?l+1|0:l;e=l;l=(x|0)==(l|0)&k>>>0>>0|l>>>0>>0;k=(d|0)==(w|0)&h>>>0>>0|d>>>0>>0;h=d;d=Dr(y,m,B,t)+d|0;k=k+N|0;k=d>>>0>>0?k+1|0:k;h=d;d=l+d|0;w=d;h=d>>>0>>0?k+1|0:k;d=0-r|0;B=0-(((r|0)!=0)+v|0)|0;r=0;A=Dr(B,r,i,C);x=N;v=d;l=Dr(d,0,y,m);d=l+A|0;k=N+x|0;k=d>>>0>>0?k+1|0:k;l=d;d=k;C=Dr(i,C,v,K);v=0+C|0;k=l+N|0;k=v>>>0>>0?k+1|0:k;v=(l|0)==(k|0)&v>>>0>>0|l>>>0>k>>>0;i=(d|0)==(x|0)&l>>>0>>0|d>>>0>>0;l=d;d=Dr(y,m,B,r)+l|0;k=i+N|0;k=d>>>0>>0?k+1|0:k;i=d;d=d+v|0;l=d>>>0>>0?k+1|0:k;i=d;d=d+q|0;k=l+e|0;k=d>>>0>>0?k+1|0:k;i=d;l=d;d=k;l=(e|0)==(k|0)&l>>>0>>0|e>>>0>k>>>0;e=l+w|0;k=h;k=e>>>0>>0?k+1|0:k;l=e;e=i;v=e-2|0;h=v;r=d-(e>>>0<2)|0;e=r;e=(d|0)==(e|0)&h>>>0>>0|d>>>0>e>>>0;d=l+e|0;k=d>>>0>>0?k+1|0:k;e=d;d=d-1|0;h=k-(e>>>0<1)|0;e=0;x=e;m=d;i=o;w=i<<2|c>>>30;B=0;q=Dr(d,e,w,B);e=N;t=e;l=e;e=c;K=(e&1073741823)<<2|b>>>30;u=0;D=h;i=0;e=Dr(K,u,h,i);d=e+q|0;l=N+l|0;l=d>>>0>>0?l+1|0:l;k=(l|0)==(t|0)&d>>>0>>0|l>>>0>>0;q=d;h=l;A=r;l=0;r=l;c=k;E=((p&1073741823)<<2|o>>>30)&-262145|262144;l=Dr(A,l,E,0);d=l+d|0;k=N+h|0;k=d>>>0>>0?k+1|0:k;p=d;e=k;h=(k|0)==(h|0)&d>>>0>>0|h>>>0>k>>>0;d=c+h|0;k=0;k=d>>>0>>0?1:k;h=Dr(D,i,E,O);d=h+d|0;l=N+k|0;l=d>>>0>>0?l+1|0:l;o=Dr(m,x,E,O);h=N;c=d;t=Dr(w,B,D,i);d=t+o|0;k=N+h|0;k=d>>>0>>0?k+1|0:k;t=d;d=k;k=(h|0)==(k|0)&o>>>0>t>>>0|h>>>0>k>>>0;o=c+d|0;k=k+l|0;l=o;h=l>>>0>>0?k+1|0:k;q=p;c=l;p=0;d=q+p|0;o=e;l=t+e|0;l=d>>>0

>>0?l+1|0:l;k=d;e=l;p=(l|0)==(o|0)&k>>>0>>0|l>>>0>>0;l=c+p|0;k=h;C=l;h=l>>>0

>>0?k+1|0:k;o=d;p=e;q=Dr(K,u,A,r);e=N;t=Dr(v,0,w,B);d=t+q|0;l=N+e|0;l=d>>>0>>0?l+1|0:l;t=d;q=(e|0)==(l|0)&q>>>0>d>>>0|e>>>0>l>>>0;e=l;y=q;k=b;L=k<<2&-4;c=0;k=Dr(m,x,L,c);d=k+d|0;l=N+l|0;l=d>>>0>>0?l+1|0:l;q=d;k=d;d=l;l=(l|0)==(e|0)&k>>>0>>0|e>>>0>l>>>0;e=y+l|0;k=0;k=e>>>0>>0?1:k;l=e;e=o+l|0;k=k+p|0;k=e>>>0>>0?k+1|0:k;t=e;l=e;e=k;p=(k|0)==(p|0)&l>>>0>>0|k>>>0

>>0;k=p+C|0;l=h;C=k;p=k>>>0

>>0;d=k+w|0;l=e;l=d>>>0>>0?l+1|0:l;e=l;d:{if((l|0)==131071|l>>>0<131071){y=0;m=f;x=0;k=Dr(h,y,m,x);o=N;l=b<<17;b=0;c=(k|0)!=0|(o|0)!=0;u=b-c|0;D=l-(b>>>0>>0)|0;b=0-(((k|0)!=0)+o|0)|0;r=0-k|0;v=b;c=0;w=Dr(i,c,m,x);b=N;B=b;o=0;q=Dr(h,y,g,o);k=q+w|0;l=N+b|0;l=k>>>0>>0?l+1|0:l;b=k;q=0;t=k;k=(k|0)==(v|0)&r>>>0>>0|k>>>0>v>>>0;C=u-k|0;u=D-(k>>>0>u>>>0)|0;k=Dr(d,0,m,x);m=N;y=Dr(h,y,z,0);p=y+k|0;k=N+m|0;k=p>>>0>>0?k+1|0:k;m=Dr(g,o,i,c);p=m+p|0;k=N+k|0;k=((l|0)==(B|0)&b>>>0>>0|l>>>0>>0)+(m>>>0>p>>>0?k+1|0:k)|0;b=l+p|0;p=b;b=b>>>0>>0?k+1|0:k;k=Dr(h,i,H,0);m=N;w=p;p=Dr(f,g,e,0);k=p+k|0;l=N+m|0;l=k>>>0

>>0?l+1|0:l;m=Dr(d,e,g,o);p=m+k|0;l=Dr(i,c,z,F);c=l+p|0;l=c;z=0;c=w+z|0;k=b+l|0;k=c>>>0>>0?k+1|0:k;b=c;z=C-b|0;F=u-((b>>>0>C>>>0)+k|0)|0;I=I-1|0;p=r-q|0;b=v-((r>>>0>>0)+t|0)|0;break d}r=i>>>1|0;l=0;o=b<<16;h=(i&1)<<31|h>>>1;i=d<<31|i>>>1;w=0;m=f;B=0;b=Dr(h,w,m,B);k=N;u=k;k=(b|0)!=0|(k|0)!=0;v=0-k|0;E=o-(c>>>0>>0)|0;q=0-b|0;t=0-(((b|0)!=0)+u|0)|0;o=0;u=Dr(h,w,g,o);b=N;D=b;k=e<<31|d>>>1;r=r|d<<31;Q=k|l;C=r;L=0;l=Dr(r,L,m,B);c=l+u|0;k=N+b|0;k=c>>>0>>0?k+1|0:k;b=k;l=c;x=l;y=0;k=(l|0)==(t|0)&y>>>0>q>>>0|l>>>0>t>>>0;A=v-k|0;v=E-(k>>>0>v>>>0)|0;k=Dr(h,i,H,0);E=N;O=Dr(m,g,e>>>1|0,0);l=O+k|0;k=N+E|0;E=l;l=l>>>0>>0?k+1|0:k;k=E;d=(e&1)<<31|d>>>1;e=e>>>1|0;E=Dr(d,e,g,o);k=k+E|0;l=N+l|0;F=Dr(r,Q,z,F);k=F+k|0;r=0;F=k;k=Dr(g,o,C,L);o=N;m=Dr(d,0,m,B);l=m+k|0;k=N+o|0;k=l>>>0>>0?k+1|0:k;z=Dr(h,w,z,0);l=z+l|0;k=N+k|0;p=l;l=l>>>0>>0?k+1|0:k;z=(b|0)==(D|0)&c>>>0>>0|b>>>0>>0;c=b;b=b+p|0;l=l+z|0;l=b>>>0>>0?l+1|0:l;c=b;b=b+r|0;l=l+F|0;l=b>>>0>>0?l+1|0:l;z=A-b|0;F=v-((b>>>0>A>>>0)+l|0)|0;p=q-y|0;b=t-((q>>>0>>0)+x|0)|0}if((I|0)>=16384){G=G|2147418112;b=0;c=0;break b}m=I+16383|0;if((I|0)<=-16383){e:{if(m){break e}m=p;k=b<<1|m>>>31;m=m<<1;c=(g|0)==(k|0)&f>>>0>>0|g>>>0>>0;f=z;k=F<<1|f>>>31;g=f<<1|b>>>31;l=g;f=(l|0)==(P|0)&(k|0)==(H|0)?c:(H|0)==(k|0)&l>>>0>P>>>0|k>>>0>H>>>0;b=f+h|0;k=i;k=b>>>0>>0?k+1|0:k;c=k;f=d+((i|0)==(k|0)&b>>>0>>0|i>>>0>k>>>0)|0;l=e&65535;e=f;l=d>>>0>e>>>0?l+1|0:l;d=l;if(!(l&65536)){break e}J=e|J;G=d|G;break b}b=0;c=0;break b}o=p;l=b<<1|o>>>31;o=o<<1;c=(g|0)==(l|0)&f>>>0<=o>>>0|g>>>0>>0;f=z;l=F<<1|f>>>31;f=f<<1|b>>>31;f=(f|0)==(P|0)&(l|0)==(H|0)?c:(H|0)==(l|0)&f>>>0>=P>>>0|l>>>0>H>>>0;b=f+h|0;k=i;k=b>>>0>>0?k+1|0:k;c=k;f=d+((i|0)==(k|0)&b>>>0>>0|i>>>0>k>>>0)|0;l=e&65535;l=d>>>0>f>>>0?l+1|0:l;e=0;d=e+f|0;k=(m<<16)+l|0;J=d|J;G=G|(d>>>0>>0?k+1|0:k)}j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=J;j[a+12>>2]=G;M=n+192|0;return}j[a>>2]=0;j[a+4>>2]=0;b=!(d|f|(e|g));j[a+8>>2]=b?0:J;j[a+12>>2]=b?2147450880:G;M=n+192|0}function Yn(a,b,c,d,e,f,g){var h=0,i=0,l=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;h=M-8976|0;M=h;z=d+e|0;F=0-z|0;a:{b:{while(1){if((c|0)!=48){c:{if((c|0)!=46){break a}c=j[b+4>>2];if(c>>>0>=m[b+104>>2]){break c}j[b+4>>2]=c+1;c=k[c|0];break b}}else{c=j[b+4>>2];if(c>>>0>2]){o=1;j[b+4>>2]=c+1;c=k[c|0]}else{o=1;c=pa(b)}continue}break}c=pa(b)}t=1;if((c|0)!=48){break a}while(1){c=l;l=c-1|0;n=n-(c>>>0<1)|0;c=j[b+4>>2];d:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break d}c=pa(b)}if((c|0)==48){continue}break}o=1}j[h+784>>2]=0;e:{f:{i=(c|0)==46;s=c-48|0;g:{h:{i:{if(i|s>>>0<=9){while(1){j:{if(i&1){if(!t){l=q;n=r;t=1;break j}i=!o;break i}i=q+1|0;r=i>>>0<1?r+1|0:r;q=i;if((v|0)<=2044){y=(c|0)==48?y:q;i=(h+784|0)+(v<<2)|0;o=i;if(u){s=(p(j[i>>2],10)+c|0)-48|0}j[o>>2]=s;o=1;i=u+1|0;c=(i|0)==9;u=c?0:i;v=c+v|0;break j}if((c|0)==48){break j}j[h+8960>>2]=j[h+8960>>2]|1;y=18396}c=j[b+4>>2];k:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break k}c=pa(b)}i=(c|0)==46;s=c-48|0;if(i|s>>>0<10){continue}break}}l=t?l:q;n=t?n:r;if(!(!o|(c&-33)!=69)){i=Ug(b,g);c=N;s=c;l:{if(i|(c|0)!=-2147483648){break l}if(!g){break g}i=0;s=0;if(!j[b+104>>2]){break l}j[b+4>>2]=j[b+4>>2]-1}n=n+s|0;b=i+l|0;n=b>>>0>>0?n+1|0:n;l=b;break f}i=!o;if((c|0)<0){break h}}if(!j[b+104>>2]){break h}j[b+4>>2]=j[b+4>>2]-1}if(!i){break f}j[37203]=28}q=0;r=0;Ib(b,0,0);c=0;b=0;break e}b=j[h+784>>2];if(!b){Ub(h,+(f|0)*0);q=j[h>>2];r=j[h+4>>2];c=j[h+12>>2];b=j[h+8>>2];break e}if(!((l|0)!=(q|0)|(n|0)!=(r|0)|((r|0)>0?1:(r|0)>=0?q>>>0>9:0)|(b>>>d|0?(d|0)<=30:0))){Cb(h+48|0,f);Ec(h+32|0,b);xa(h+16|0,j[h+48>>2],j[h+52>>2],j[h+56>>2],j[h+60>>2],j[h+32>>2],j[h+36>>2],j[h+40>>2],j[h+44>>2]);q=j[h+16>>2];r=j[h+20>>2];c=j[h+28>>2];b=j[h+24>>2];break e}if((n|0)>0?1:(n|0)>=0?l>>>0>(e|0)/-2>>>0:0){j[37203]=68;Cb(h+96|0,f);xa(h+80|0,j[h+96>>2],j[h+100>>2],j[h+104>>2],j[h+108>>2],-1,-1,-1,2147418111);xa(h- -64|0,j[h+80>>2],j[h+84>>2],j[h+88>>2],j[h+92>>2],-1,-1,-1,2147418111);q=j[h+64>>2];r=j[h+68>>2];c=j[h+76>>2];b=j[h+72>>2];break e}b=e-226|0;c=l>>>0>>0;b=b>>31;if((b|0)>(n|0)?1:(n|0)<=(b|0)?c:0){j[37203]=68;Cb(h+144|0,f);xa(h+128|0,j[h+144>>2],j[h+148>>2],j[h+152>>2],j[h+156>>2],0,0,0,65536);xa(h+112|0,j[h+128>>2],j[h+132>>2],j[h+136>>2],j[h+140>>2],0,0,0,65536);q=j[h+112>>2];r=j[h+116>>2];c=j[h+124>>2];b=j[h+120>>2];break e}if(u){if((u|0)<=8){c=(h+784|0)+(v<<2)|0;b=j[c>>2];while(1){b=p(b,10);u=u+1|0;if((u|0)!=9){continue}break}j[c>>2]=b}v=v+1|0}m:{t=l;if((y|0)>(l|0)|(y|0)>=9|(l|0)>17){break m}if((t|0)==9){Cb(h+192|0,f);Ec(h+176|0,j[h+784>>2]);xa(h+160|0,j[h+192>>2],j[h+196>>2],j[h+200>>2],j[h+204>>2],j[h+176>>2],j[h+180>>2],j[h+184>>2],j[h+188>>2]);q=j[h+160>>2];r=j[h+164>>2];c=j[h+172>>2];b=j[h+168>>2];break e}if((t|0)<=8){Cb(h+272|0,f);Ec(h+256|0,j[h+784>>2]);xa(h+240|0,j[h+272>>2],j[h+276>>2],j[h+280>>2],j[h+284>>2],j[h+256>>2],j[h+260>>2],j[h+264>>2],j[h+268>>2]);Cb(h+224|0,j[(0-t<<2)+123008>>2]);Wg(h+208|0,j[h+240>>2],j[h+244>>2],j[h+248>>2],j[h+252>>2],j[h+224>>2],j[h+228>>2],j[h+232>>2],j[h+236>>2]);q=j[h+208>>2];r=j[h+212>>2];c=j[h+220>>2];b=j[h+216>>2];break e}b=(p(t,-3)+d|0)+27|0;c=j[h+784>>2];if(c>>>b|0?(b|0)<=30:0){break m}Cb(h+352|0,f);Ec(h+336|0,c);xa(h+320|0,j[h+352>>2],j[h+356>>2],j[h+360>>2],j[h+364>>2],j[h+336>>2],j[h+340>>2],j[h+344>>2],j[h+348>>2]);Cb(h+304|0,j[(t<<2)+122936>>2]);xa(h+288|0,j[h+320>>2],j[h+324>>2],j[h+328>>2],j[h+332>>2],j[h+304>>2],j[h+308>>2],j[h+312>>2],j[h+316>>2]);q=j[h+288>>2];r=j[h+292>>2];c=j[h+300>>2];b=j[h+296>>2];break e}while(1){c=v;v=c-1|0;if(!j[(h+784|0)+(v<<2)>>2]){continue}break}u=0;b=(t|0)%9|0;n:{if(!b){i=0;break n}g=(t|0)>-1?b:b+9|0;o:{if(!c){i=0;c=0;break o}l=j[(0-g<<2)+123008>>2];n=1e9/(l|0)|0;s=0;b=0;i=0;while(1){o=s;r=(h+784|0)+(b<<2)|0;s=j[r>>2];q=(s>>>0)/(l>>>0)|0;o=o+q|0;j[r>>2]=o;o=!o&(b|0)==(i|0);i=o?i+1&2047:i;t=o?t-9|0:t;s=p(n,s-p(l,q)|0);b=b+1|0;if((c|0)!=(b|0)){continue}break}if(!s){break o}j[(h+784|0)+(c<<2)>>2]=s;c=c+1|0}t=(t-g|0)+9|0}while(1){if(!((t|0)!=36|m[(h+784|0)+(i<<2)>>2]>=10384593?(t|0)>=36:0)){v=c+2047|0;s=0;o=c;while(1){c=o;g=v&2047;o=(h+784|0)+(g<<2)|0;b=j[o>>2];n=b>>>3|0;l=b<<29;b=l+s|0;n=b>>>0>>0?n+1|0:n;l=b;s=0;if(!(!n&b>>>0<1000000001)){s=Er(b,n,1e9);l=l-Dr(s,N,1e9,0)|0}j[o>>2]=l;o=(g|0)!=(c-1&2047)?c:(g|0)==(i|0)?c:l?c:g;v=g-1|0;if((g|0)!=(i|0)){continue}break}u=u-29|0;if(!s){continue}i=i-1&2047;if((o|0)==(i|0)){b=(h+784|0)+((o+2046&2047)<<2)|0;c=o-1&2047;j[b>>2]=j[b>>2]|j[(h+784|0)+(c<<2)>>2]}t=t+9|0;j[(h+784|0)+(i<<2)>>2]=s;continue}break}p:{q:while(1){g=c+1&2047;n=(h+784|0)+((c-1&2047)<<2)|0;while(1){o=i;b=0;r:{s:{while(1){t:{l=b+o&2047;if((l|0)==(c|0)){break t}l=j[(h+784|0)+(l<<2)>>2];i=j[(b<<2)+122960>>2];if(l>>>0>>0){break t}if(i>>>0>>0){break s}b=b+1|0;if((b|0)!=4){continue}}break}if((t|0)!=36){break s}l=0;n=0;b=0;q=0;r=0;while(1){g=b+o&2047;if((g|0)==(c|0)){c=c+1&2047;j[((c<<2)+h|0)+780>>2]=0}xa(h+768|0,l,n,q,r,0,0,1342177280,1075633366);Ec(h+752|0,j[(h+784|0)+(g<<2)>>2]);yb(h+736|0,j[h+768>>2],j[h+772>>2],j[h+776>>2],j[h+780>>2],j[h+752>>2],j[h+756>>2],j[h+760>>2],j[h+764>>2]);q=j[h+744>>2];r=j[h+748>>2];l=j[h+736>>2];n=j[h+740>>2];b=b+1|0;if((b|0)!=4){continue}break}Cb(h+720|0,f);xa(h+704|0,l,n,q,r,j[h+720>>2],j[h+724>>2],j[h+728>>2],j[h+732>>2]);q=j[h+712>>2];r=j[h+716>>2];l=0;n=0;i=j[h+704>>2];s=j[h+708>>2];t=u+113|0;e=t-e|0;g=(e|0)<(d|0);d=g?(e|0)>0?e:0:d;if((d|0)<=112){break r}break p}l=(t|0)>45?9:1;u=l+u|0;i=c;if((c|0)==(o|0)){continue}r=1e9>>>l|0;s=-1<>2];b=(v>>>l|0)+b|0;j[q>>2]=b;b=!b&(i|0)==(o|0);i=b?i+1&2047:i;t=b?t-9|0:t;b=p(r,s&v);o=o+1&2047;if((o|0)!=(c|0)){continue}break}if(!b){continue}if((g|0)!=(i|0)){j[(h+784|0)+(c<<2)>>2]=b;c=g;continue q}j[n>>2]=j[n>>2]|1;i=g;continue}break}break}Ub(h+656|0,Od(225-d|0));Yg(h+688|0,j[h+656>>2],j[h+660>>2],j[h+664>>2],j[h+668>>2],i,s,q,r);A=j[h+696>>2];B=j[h+700>>2];C=j[h+688>>2];D=j[h+692>>2];Ub(h+640|0,Od(113-d|0));Ze(h+672|0,i,s,q,r,j[h+640>>2],j[h+644>>2],j[h+648>>2],j[h+652>>2]);l=j[h+672>>2];n=j[h+676>>2];w=j[h+680>>2];x=j[h+684>>2];ve(h+624|0,i,s,q,r,l,n,w,x);yb(h+608|0,C,D,A,B,j[h+624>>2],j[h+628>>2],j[h+632>>2],j[h+636>>2]);q=j[h+616>>2];r=j[h+620>>2];i=j[h+608>>2];s=j[h+612>>2]}b=o+4&2047;u:{if((b|0)==(c|0)){break u}b=j[(h+784|0)+(b<<2)>>2];v:{if(b>>>0<=499999999){if((o+5&2047)==(c|0)?!b:0){break v}Ub(h+496|0,+(f|0)*.25);yb(h+480|0,l,n,w,x,j[h+496>>2],j[h+500>>2],j[h+504>>2],j[h+508>>2]);w=j[h+488>>2];x=j[h+492>>2];l=j[h+480>>2];n=j[h+484>>2];break v}if((b|0)!=5e8){Ub(h+592|0,+(f|0)*.75);yb(h+576|0,l,n,w,x,j[h+592>>2],j[h+596>>2],j[h+600>>2],j[h+604>>2]);w=j[h+584>>2];x=j[h+588>>2];l=j[h+576>>2];n=j[h+580>>2];break v}E=+(f|0);if((o+5&2047)==(c|0)){Ub(h+528|0,E*.5);yb(h+512|0,l,n,w,x,j[h+528>>2],j[h+532>>2],j[h+536>>2],j[h+540>>2]);w=j[h+520>>2];x=j[h+524>>2];l=j[h+512>>2];n=j[h+516>>2];break v}Ub(h+560|0,E*.75);yb(h+544|0,l,n,w,x,j[h+560>>2],j[h+564>>2],j[h+568>>2],j[h+572>>2]);w=j[h+552>>2];x=j[h+556>>2];l=j[h+544>>2];n=j[h+548>>2]}if((d|0)>111){break u}Ze(h+464|0,l,n,w,x,0,0,0,1073676288);if(qc(j[h+464>>2],j[h+468>>2],j[h+472>>2],j[h+476>>2],0,0,0,0)){break u}yb(h+448|0,l,n,w,x,0,0,0,1073676288);w=j[h+456>>2];x=j[h+460>>2];l=j[h+448>>2];n=j[h+452>>2]}yb(h+432|0,i,s,q,r,l,n,w,x);ve(h+416|0,j[h+432>>2],j[h+436>>2],j[h+440>>2],j[h+444>>2],C,D,A,B);q=j[h+424>>2];r=j[h+428>>2];i=j[h+416>>2];s=j[h+420>>2];w:{if((-2-z|0)>=(t&2147483647)){break w}j[h+408>>2]=q;j[h+412>>2]=r&2147483647;j[h+400>>2]=i;j[h+404>>2]=s;xa(h+384|0,i,s,q,r,0,0,0,1073610752);c=Zg(j[h+400>>2],j[h+404>>2],j[h+408>>2],j[h+412>>2],1081081856);b=(c|0)<0;q=b?q:j[h+392>>2];r=b?r:j[h+396>>2];i=b?i:j[h+384>>2];s=b?s:j[h+388>>2];u=((c|0)>-1)+u|0;if(G=!(g&(b|(d|0)!=(e|0))&(qc(l,n,w,x,0,0,0,0)|0)!=0),H=0,I=(u+110|0)<=(F|0),I?G:H){break w}j[37203]=68}Xg(h+368|0,i,s,q,r,u);q=j[h+368>>2];r=j[h+372>>2];c=j[h+380>>2];b=j[h+376>>2]}j[a>>2]=q;j[a+4>>2]=r;j[a+8>>2]=b;j[a+12>>2]=c;M=h+8976|0}function Sc(a,b,c,d,e,f,g,m){var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=M-16|0;M=t;j[t+8>>2]=0;j[t>>2]=0;j[t+4>>2]=0;o=j[b+1024>>2];if(o){while(1){a:{if(j[o+56>>2]?0:g){break a}p=l[b+4462>>1];b:{if(!p){break b}c:{d:{if(!f){break d}n=j[f+56>>2];if(!n){break d}q=i[f+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)){break d}if(p>>>0>=l[n>>1]){break c}}n=j[o+56>>2];if(!n){break b}q=i[o+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)|p>>>0>1]){break b}}if(!f){break a}n=j[f+56>>2];if(!n){break a}q=i[f+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)|p>>>0>1]){break a}n=j[o+56>>2];if(!n){break a}q=i[o+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)|p>>>0>1]){break a}}n=j[o+56>>2];e:{if(!n){break e}q=i[o+60>>1];r=(q<<1)+n|0;if(q){u=l[b+4464>>1];while(1){p=q>>>1|0;v=(p<<1)+n|0;s=u>>>0>l[v>>1];n=s?v+2|0:n;q=s?(p^-1)+q|0:p;if(q){continue}break}}if((n|0)==(r|0)){break e}if(l[b+4464>>1]>=l[n>>1]){break a}}f:{if(g){break f}n=j[o+56>>2];if(!n){break f}q=i[o+60>>1];r=(q<<1)+n|0;if(q){u=l[b+4198>>1];while(1){p=q>>>1|0;v=(p<<1)+n|0;s=u>>>0>l[v>>1];n=s?v+2|0:n;q=s?(p^-1)+q|0:p;if(q){continue}break}}if((n|0)==(r|0)){break f}p=l[b+4198>>1];if(p>>>0>1]){break f}if(!f){break a}n=j[f+56>>2];if(!n){break f}q=i[f+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)){break f}if(p>>>0>=l[n>>1]){break a}}n=Id(o,c,d,e,f,g,m,0);if(!n){break a}while(1){g:{if(!f){break g}p=j[f+52>>2];if(p){$(t,p);Z(t,32);break g}p=Jb(j[b+4100>>2],l[f+30>>1]);Z(t,32);$(t,1738);if(!p){break g}$(t,p);T(p)}h:{if(!j[b+4148>>2]){break h}q=k[n+16|0];if(!(q&1)){break h}r=t;i:{if(q&2){s=k[n|0]+n|0;if(!(k[s+18|0]|k[s+19|0]<<8|(k[s+20|0]<<16|k[s+21|0]<<24))){break h}q=k[n+16|0];p=1810;if(!(q&1)){break i}}s=(k[n|0]+n|0)+18|0;p=s;if(!(q&2)){break i}p=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}$(r,p)}q=k[n+16|0];j:{k:{if(!(q&1)){break k}l:{if(q&2){p=k[n|0]+n|0;if(!(k[p+18|0]|k[p+19|0]<<8|(k[p+20|0]<<16|k[p+21|0]<<24))){break k}q=k[n+16|0];s=0;if(!(q&1)){break l}}p=(k[n|0]+n|0)+18|0;s=p;if(!(q&2)){break l}s=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}if(ca(s,1748)){break j}}Z(t,32);$(t,1748);$(t,n+17|0)}m:{if(j[b+4148>>2]){break m}p=k[n+16|0];if(!(p&1)){break m}if(p&2){p=k[n|0]+n|0;if(!(k[p+18|0]|k[p+19|0]<<8|(k[p+20|0]<<16|k[p+21|0]<<24))){break m}}Z(t,32);r=t;q=k[n+16|0];p=1810;n:{if(!(q&1)){break n}s=(k[n|0]+n|0)+18|0;p=s;if(!(q&2)){break n}p=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}$(r,p)}o:{if(j[o+52>>2]){Z(t,32);$(t,j[o+52>>2]);break o}p=Jb(j[b+4100>>2],l[o+30>>1]);Z(t,32);$(t,1738);if(!p){break o}$(t,p);T(p)}Z(t,10);n=Th(o,n,e,f,g,m);if(n){continue}break}}o=j[o+80>>2];if(o){continue}break}}p:{if(d){s=(c+d|0)-1|0;q=j[((k[s|0]<<2)+b|0)+1024>>2];if(q){v=(d|0)<1;while(1){n=q+68|0;n=h[q+79|0]<=-1?j[n>>2]:n;q:{r:{s:{t:{if(v){break t}r=d+n|0;o=d;p=s;while(1){u=k[n|0];if(!u){break s}if((u|0)!=k[p|0]?(u|0)!=46:0){break t}p=p-1|0;n=n+1|0;u=(o|0)>1;o=o-1|0;if(u){continue}break}n=r}if(k[n|0]){break r}}p=l[b+4462>>1];u:{v:{if(!p){break v}w:{x:{if(!f){break x}n=j[f+56>>2];if(!n){break x}o=i[f+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)){break x}if(p>>>0>=l[n>>1]){break w}}n=j[q+56>>2];if(!n){break v}o=i[q+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)|p>>>0>1]){break v}}if(!f){break u}n=j[f+56>>2];if(!n){break u}o=i[f+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)|p>>>0>1]){break u}n=j[q+56>>2];if(!n){break u}o=i[q+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)|p>>>0>1]){break u}}n=j[q+56>>2];y:{if(!n){break y}o=i[q+60>>1];u=(o<<1)+n|0;if(o){x=l[b+4464>>1];while(1){p=o>>>1|0;w=(p<<1)+n|0;r=x>>>0>l[w>>1];n=r?w+2|0:n;o=r?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(u|0)){break y}if(l[b+4464>>1]>=l[n>>1]){break u}}z:{if(g){break z}n=j[q+56>>2];if(!n){break z}o=i[q+60>>1];u=(o<<1)+n|0;if(o){x=l[b+4198>>1];while(1){p=o>>>1|0;w=(p<<1)+n|0;r=x>>>0>l[w>>1];n=r?w+2|0:n;o=r?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(u|0)){break z}if(l[b+4198>>1]>=l[n>>1]){break u}}n=Id(q,c,d,e,f,g,m,0);if(!n){break u}while(1){A:{if(!f){break A}o=j[f+52>>2];if(o){$(t,o);Z(t,32);break A}o=Jb(j[b+4100>>2],l[f+30>>1]);Z(t,32);$(t,1738);if(!o){break A}$(t,o);T(o)}B:{if(!j[b+4148>>2]){break B}o=k[n+16|0];if(!(o&1)){break B}u=t;C:{if(o&2){o=k[n|0]+n|0;if(!(k[o+18|0]|k[o+19|0]<<8|(k[o+20|0]<<16|k[o+21|0]<<24))){break B}o=k[n+16|0];p=1810;if(!(o&1)){break C}}r=(k[n|0]+n|0)+18|0;p=r;if(!(o&2)){break C}p=k[r|0]|k[r+1|0]<<8|(k[r+2|0]<<16|k[r+3|0]<<24)}$(u,p)}o=k[n+16|0];D:{E:{if(!(o&1)){break E}F:{if(o&2){o=k[n|0]+n|0;if(!(k[o+18|0]|k[o+19|0]<<8|(k[o+20|0]<<16|k[o+21|0]<<24))){break E}o=k[n+16|0];r=0;if(!(o&1)){break F}}p=(k[n|0]+n|0)+18|0;r=p;if(!(o&2)){break F}r=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}if(ca(r,1748)){break D}}Z(t,32);$(t,1748);$(t,n+17|0)}G:{if(j[b+4148>>2]){break G}o=k[n+16|0];if(!(o&1)){break G}if(o&2){o=k[n|0]+n|0;if(!(k[o+18|0]|k[o+19|0]<<8|(k[o+20|0]<<16|k[o+21|0]<<24))){break G}}Z(t,32);o=t;u=k[n+16|0];r=1810;H:{if(!(u&1)){break H}p=(k[n|0]+n|0)+18|0;r=p;if(!(u&2)){break H}r=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}$(o,r)}I:{if(j[q+52>>2]){Z(t,32);$(t,j[q+52>>2]);break I}o=Jb(j[b+4100>>2],l[q+30>>1]);Z(t,32);$(t,1738);if(!o){break I}$(t,o);T(o)}Z(t,10);n=Th(q,n,e,f,g,m);if(n){continue}break}}p=q+84|0;break q}p=q+88|0}q=j[p>>2];if(q){continue}break}}b=j[t+4>>2];j[a>>2]=j[t>>2];j[a+4>>2]=b;j[a+8>>2]=j[t+8>>2];break p}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;if(h[t+11|0]>-1){break p}T(j[t>>2])}M=t+16|0}function Eh(a,b,c,d){var e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0;e=M-160|0;M=e;f=j[c+4>>2];g=j[c>>2];a:{if(!(j[b+44>>2]?(f|0)!=(g|0):0)){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}o=j[d>>2];l=h[d+11|0];j[e+152>>2]=0;j[e+144>>2]=0;j[e+148>>2]=0;j[e+136>>2]=0;j[e+128>>2]=0;j[e+132>>2]=0;r=(l|0)<0?o:d;while(1){t=0;if((f|0)!=(g|0)){while(1){j[e+120>>2]=0;j[e+112>>2]=0;j[e+116>>2]=0;b:{c:{o=p(t,12)+g|0;if(h[o+11|0]<=-1){o=j[o>>2]}d=ca(o,121405);d:{if(!d){break d}o=d;g=ca(d+1|0,121405);if(!g){break d}while(1){o=g;j[e+104>>2]=0;j[e+96>>2]=0;j[e+100>>2]=0;g=W(d);if(g>>>0>=4294967280){break c}e:{f:{if(g>>>0>=11){l=g+16&-16;f=U(l);j[e+88>>2]=l|-2147483648;j[e+80>>2]=f;j[e+84>>2]=g;break f}h[e+91|0]=g;f=e+80|0;if(!g){break e}}V(f,d,g)}h[f+g|0]=0;h[e+75|0]=3;i[e+64>>1]=k[121405]|k[121406]<<8;h[e+66|0]=k[121407];h[e+67|0]=0;ec(e+96|0,e+80|0,e- -64|0);if(h[e+75|0]<=-1){T(j[e+64>>2])}if(h[e+91|0]<=-1){T(j[e+80>>2])}d=h[e+107|0];f=(d|0)<0;aa(e+112|0,f?j[e+96>>2]:e+96|0,f?j[e+100>>2]:d&255);g=ca(o+1|0,121405);if(h[e+107|0]<=-1){T(j[e+96>>2])}d=o;if(g){continue}break}}d=W(o);if(d>>>0<4294967280){g:{h:{if(d>>>0>=11){g=d+16&-16;f=U(g);j[e+104>>2]=g|-2147483648;j[e+96>>2]=f;j[e+100>>2]=d;break h}h[e+107|0]=d;f=e+96|0;if(!d){break g}}V(f,o,d)}h[d+f|0]=0;d=k[e+107|0];n=d<<24>>24;f=(n|0)<0;g=f?j[e+100>>2]:d;i:{if((g|0)<3){break i}d=j[e+96>>2];l=f?d:e+96|0;m=l+g|0;f=l;while(1){f=Aa(f,32,g-2|0);if(!f){break i}if(qa(f,121409,3)){f=f+1|0;g=m-f|0;if((g|0)>=3){continue}break i}break}if((f|0)==(m|0)){break i}g=f-l|0;if((g|0)==-1){break i}while(1){h[((n<<24>>24<0?d:e+96|0)+g|0)+1|0]=11;d=k[e+107|0];n=d<<24>>24;f=(n|0)<0;d=f?j[e+100>>2]:d;if(d>>>0>>0){break i}m=d;d=j[e+96>>2];l=f?d:e+96|0;m=m+l|0;g=g+l|0;f=m-g|0;if((f|0)<3){break i}while(1){f=Aa(g,32,f-2|0);if(!f){break i}if(qa(f,121409,3)){g=f+1|0;f=m-g|0;if((f|0)>=3){continue}break i}break}if((f|0)==(m|0)){break i}g=f-l|0;if((g|0)!=-1){continue}break}}Ab(e+80|0,e+96|0,11);u=0;g=j[e+84>>2];f=g;n=j[e+80>>2];if((f|0)==(n|0)){break b}while(1){q=p(u,12);m=q+n|0;g=k[m+11|0];d=g<<24>>24;j:{if((d|0)<=-1){g=j[m+4>>2];l=j[m>>2];break j}l=m}k:{if((g|0)<3){break k}s=g+l|0;f=l;while(1){f=Aa(f,105,g-2|0);if(!f){break k}if(qa(f,121413,3)){f=f+1|0;g=s-f|0;if((g|0)>=3){continue}break k}break}if((f|0)==(s|0)){break k}f=f-l|0;if((f|0)==-1){break k}Wa(m,f);n=j[e+80>>2];d=k[(q+n|0)+11|0]}l=n+q|0;l:{if(d<<24>>24<=-1){g=j[l+4>>2];l=j[l>>2];break l}g=d&255}m:{if((g|0)<3){break m}m=g+l|0;f=l;while(1){f=Aa(f,116,g-2|0);if(!f){break m}if(qa(f,121417,3)){f=f+1|0;g=m-f|0;if((g|0)>=3){continue}break m}break}if((f|0)==(m|0)){break m}f=f-l|0;if((f|0)==-1){break m}while(1){g=n+q|0;if(d<<24>>24<=-1){g=j[g>>2]}h[f+g|0]=95;n=j[e+80>>2];l=q+n|0;g=k[l+11|0];d=g<<24>>24;if((d|0)<=-1){g=j[l+4>>2];l=j[l>>2]}if((g|0)<3){break m}m=g+l|0;f=l;while(1){f=Aa(f,116,g-2|0);if(!f){break m}if(qa(f,121417,3)){f=f+1|0;g=m-f|0;if((g|0)>=3){continue}break m}break}f=(f|0)==(m|0)?-1:f-l|0;if((f|0)!=-1){continue}break}}n:{g=ca(o,121397);o:{if(!g){break o}f=W(g);if(f>>>0>=4294967280){break n}p:{q:{if(f>>>0>=11){l=f+16&-16;d=U(l);j[e+72>>2]=l|-2147483648;j[e+64>>2]=d;j[e+68>>2]=f;break q}h[e+75|0]=f;d=e- -64|0;if(!f){break p}}V(d,g,f)}h[d+f|0]=0;h[e+59|0]=3;i[e+48>>1]=k[121397]|k[121398]<<8;h[e+50|0]=k[121399];h[e+51|0]=0;ec(e+96|0,e- -64|0,e+48|0);if(h[e+59|0]<=-1){T(j[e+48>>2])}if(h[e+75|0]<=-1){T(j[e+64>>2])}l=Xb(j[b+44>>2],h[e+107|0]<0?j[e+96>>2]:e+96|0);if(!l){break o}while(1){$(ha(e- -64|0,j[e+80>>2]+q|0),r);Gh(e+48|0,b,l,h[e+75|0]<0?j[e+64>>2]:e- -64|0);f=k[e+59|0];g=f<<24>>24;d=j[e+52>>2];if(!((g|0)<0?d:f)){Gh(e+32|0,b,l,r);if(h[e+59|0]<=-1){T(j[e+48>>2])}j[e+56>>2]=j[e+40>>2];d=j[e+36>>2];j[e+48>>2]=j[e+32>>2];j[e+52>>2]=d;f=k[e+59|0];g=f;d=j[e+52>>2]}if(g<<24>>24<0?d:f){Ab(e+32|0,e+48|0,10);n=0;g=j[e+36>>2];d=g;if(j[e+32>>2]!=(g|0)){while(1){Z(e+144|0,10);d=k[e+123|0];f=d<<24>>24<0;aa(e+144|0,f?j[e+112>>2]:e+112|0,f?j[e+116>>2]:d);m=j[e+80>>2]+q|0;d=h[m+11|0];r:{if((d|0)<=-1){g=j[m+4>>2];d=j[m>>2];break r}g=d&255;d=m}s:{if((g|0)<3){break s}s=d+g|0;f=d;while(1){f=Aa(f,115,g-2|0);if(!f){break s}if(qa(f,121421,3)){f=f+1|0;g=s-f|0;if((g|0)>=3){continue}break s}break}if((f|0)==(s|0)|(f-d|0)==-1){break s}j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;h[e+11|0]=3;i[e>>1]=k[121421]|k[121422]<<8;h[e+2|0]=k[121423];h[e+3|0]=0;ec(e+16|0,m,e);if(h[e+11|0]<=-1){T(j[e>>2])}d=h[e+27|0];f=(d|0)<0;aa(e+144|0,f?j[e+16>>2]:e+16|0,f?j[e+20>>2]:d&255);if(h[e+27|0]>-1){break s}T(j[e+16>>2])}d=j[e+32>>2]+p(n,12)|0;g=k[d+11|0];f=g<<24>>24<0;aa(e+144|0,f?j[d>>2]:d,f?j[d+4>>2]:g);n=n+1|0;g=j[e+36>>2];d=j[e+32>>2];if(n>>>0<(g-d|0)/12>>>0){continue}break}}if(d){if((d|0)==(g|0)){f=d}else{while(1){f=g-12|0;if(h[g-1|0]<=-1){T(j[f>>2])}g=f;if((f|0)!=(d|0)){continue}break}f=j[e+32>>2]}j[e+36>>2]=d;T(f)}g=k[e+59|0]}l=j[l+12>>2];if(g<<24>>24<=-1){T(j[e+48>>2])}if(h[e+75|0]<=-1){T(j[e+64>>2])}if(l){continue}break}}f=j[e+80>>2];n=f;u=u+1|0;g=j[e+84>>2];if(u>>>0>=(g-f|0)/12>>>0){break b}continue}break}X();z()}X();z()}X();z()}if(f){if((f|0)==(g|0)){d=f}else{while(1){d=g-12|0;if(h[g-1|0]<=-1){T(j[d>>2])}g=d;if((g|0)!=(f|0)){continue}break}d=j[e+80>>2]}j[e+84>>2]=f;T(d)}if(h[e+107|0]<=-1){T(j[e+96>>2])}if(h[e+123|0]<=-1){T(j[e+112>>2])}t=t+1|0;g=j[c>>2];if(t>>>0<(j[c+4>>2]-g|0)/12>>>0){continue}break}}t:{d=k[e+155|0];if(d<<24>>24<0?j[e+148>>2]:d){break t}if(!ca(r,121425)){break t}Ka(e+128|0,r);h[e+123|0]=3;i[e+112>>1]=k[121425]|k[121426]<<8;h[e+114|0]=k[121427];h[e+115|0]=0;h[e+107|0]=3;i[e+96>>1]=k[121417]|k[121418]<<8;h[e+98|0]=k[121419];h[e+99|0]=0;wb(e+128|0,e+112|0,e+96|0);if(h[e+107|0]<=-1){T(j[e+96>>2])}if(h[e+123|0]<=-1){T(j[e+112>>2])}r=h[e+139|0]<0?j[e+128>>2]:e+128|0;g=j[c>>2];f=j[c+4>>2];continue}break}b=j[e+148>>2];j[a>>2]=j[e+144>>2];j[a+4>>2]=b;j[a+8>>2]=j[e+152>>2];j[e+152>>2]=0;j[e+144>>2]=0;j[e+148>>2]=0;if(h[e+139|0]>=0){break a}T(j[e+128>>2]);if(h[e+155|0]>-1){break a}T(j[e+144>>2])}M=e+160|0}function Xn(a,b,c){var d=0,e=0,f=0,g=0,l=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=q(0),F=0;g=M-304|0;M=g;e=k[b|0];a:{if(!e){break a}b:{c:{while(1){d:{e=e&255;e:{if((e|0)==32|e-9>>>0<5){while(1){e=b;b=b+1|0;d=k[e+1|0];if((d|0)==32|d-9>>>0<5){continue}break}Ib(a,0,0);while(1){b=j[a+4>>2];f:{if(b>>>0>2]){j[a+4>>2]=b+1;b=k[b|0];break f}b=pa(a)}if((b|0)==32|b-9>>>0<5){continue}break}b=j[a+4>>2];if(j[a+104>>2]){b=b-1|0;j[a+4>>2]=b}d=b-j[a+8>>2]|0;b=d;d=d>>31;f=b;l=l+j[a+124>>2]|0;b=t+j[a+120>>2]|0;l=b>>>0>>0?l+1|0:l;t=f+b|0;l=d+l|0;l=b>>>0>t>>>0?l+1|0:l;break e}g:{h:{i:{e=k[b|0];if((e|0)==37){d=k[b+1|0];if((d|0)==42){break i}if((d|0)!=37){break h}}Ib(a,0,0);e=((e|0)==37)+b|0;b=j[a+4>>2];j:{if(b>>>0>2]){j[a+4>>2]=b+1;b=k[b|0];break j}b=pa(a)}if((b|0)!=k[e|0]){if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}A=0;if((b|0)>=0){break a}break c}b=t+1|0;l=b>>>0<1?l+1|0:l;t=b;break e}s=0;e=b+2|0;break g}if(!(k[b+2|0]!=36|d-48>>>0>=10)){s=Wn(c,k[b+1|0]-48|0);e=b+3|0;break g}s=j[c>>2];c=c+4|0;e=b+1|0}A=0;b=0;if(k[e|0]-48>>>0<10){while(1){b=(k[e|0]+p(b,10)|0)-48|0;d=k[e+1|0];e=e+1|0;if(d-48>>>0<10){continue}break}}d=e;f=k[d|0];k:{if((f|0)!=109){break k}v=0;A=(s|0)!=0;f=k[e+1|0];w=0;d=e+1|0}e=d+1|0;r=3;l:{m:{switch(f-65|0){case 39:f=d+2|0;d=k[d+1|0]==104;e=d?f:e;r=d?-2:-1;break l;case 43:f=d+2|0;d=k[d+1|0]==108;e=d?f:e;r=d?3:1;break l;case 51:case 57:r=1;break l;case 11:r=2;break l;case 41:break l;case 0:case 2:case 4:case 5:case 6:case 18:case 23:case 26:case 32:case 34:case 35:case 36:case 37:case 38:case 40:case 45:case 46:case 47:case 50:case 52:case 55:break m;default:break c}}r=0;e=d}f=k[e|0];d=(f&47)==3;z=d?1:r;x=d?f|32:f;n:{if((x|0)==91){break n}o:{if((x|0)!=110){if((x|0)!=99){break o}b=(b|0)>1?b:1;break n}Rg(s,z,t,l);break e}Ib(a,0,0);while(1){d=j[a+4>>2];p:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break p}d=pa(a)}if((d|0)==32|d-9>>>0<5){continue}break}d=j[a+4>>2];if(j[a+104>>2]){d=d-1|0;j[a+4>>2]=d}d=d-j[a+8>>2]|0;f=d;d=d>>31;u=f;y=l+j[a+124>>2]|0;f=t+j[a+120>>2]|0;y=f>>>0>>0?y+1|0:y;t=u+f|0;d=d+y|0;d=f>>>0>t>>>0?d+1|0:d;l=d}y=b;C=b>>31;Ib(a,b,C);d=j[a+104>>2];f=j[a+4>>2];q:{if(d>>>0>f>>>0){j[a+4>>2]=f+1;break q}if((pa(a)|0)<0){break c}d=j[a+104>>2]}if(d){j[a+4>>2]=j[a+4>>2]-1}d=16;r:{s:{t:{u:{v:{w:{x:{switch(x-88|0){default:b=x-65|0;if(b>>>0>6|!(1<>2]-j[a+8>>2]|0;if(j[a+120>>2]==(0-d|0)&j[a+124>>2]==(0-((d>>31)+((d|0)!=0)|0)|0)){break b}if(!s){break r}y=j[g+8>>2];f=j[g+12>>2];d=j[g>>2];b=j[g+4>>2];switch(z|0){case 2:break t;case 1:break u;case 0:break v;default:break r};case 3:case 11:case 27:if((x&239)==99){ya(g+32|0,-1,257);h[g+32|0]=0;if((x|0)!=115){break s}h[g+65|0]=0;h[g+46|0]=0;i[g+42>>1]=0;i[g+44>>1]=0;break s}u=k[e+1|0];f=(u|0)==94;ya(g+32|0,f,257);h[g+32|0]=0;d=f?e+2|0:e+1|0;y:{z:{A:{e=k[(f?2:1)+e|0];if((e|0)!=45){if((e|0)==93){break A}r=(u|0)!=94;break y}r=(u|0)!=94;h[g+78|0]=r;break z}r=(u|0)!=94;h[g+126|0]=r}d=d+1|0}e=d;while(1){d=k[e|0];B:{if((d|0)!=45){if(!d){break c}if((d|0)!=93){break B}break s}d=45;u=k[e+1|0];if(!u|(u|0)==93){break B}f=e+1|0;e=k[e-1|0];C:{if(u>>>0<=e>>>0){d=u;break C}while(1){e=e+1|0;h[e+(g+32|0)|0]=r;d=k[f|0];if(e>>>0>>0){continue}break}}e=f}h[(d+g|0)+33|0]=r;e=e+1|0;continue};case 23:d=8;break w;case 12:case 29:d=10;break w;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 22:case 25:case 26:case 28:case 30:case 31:break r;case 0:case 24:case 32:break w;case 17:break x}}d=0}y=Tg(a,d,0,-1,-1);f=N;d=j[a+4>>2]-j[a+8>>2]|0;if(j[a+120>>2]==(0-d|0)&j[a+124>>2]==(0-((d>>31)+((d|0)!=0)|0)|0)){break b}if(!(!s|(x|0)!=112)){j[s>>2]=y;break r}Rg(s,z,y,f);break r}D=s,E=Sg(d,b,y,f),n[D>>2]=E;break r}D=s,F=Be(d,b,y,f),o[D>>3]=F;break r}j[s>>2]=d;j[s+4>>2]=b;j[s+8>>2]=y;j[s+12>>2]=f;break r}x=(x|0)==99;r=x?b+1|0:31;u=(z|0)!=1;D:{if(!u){d=s;if(A){d=ja(r<<2);if(!d){break d}}j[g+296>>2]=0;j[g+300>>2]=0;b=0;while(1){w=d;E:{while(1){d=j[a+4>>2];F:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break F}d=pa(a)}if(!k[(d+g|0)+33|0]){break E}h[g+27|0]=d;d=rd(g+28|0,g+27|0,1,g+296|0);if((d|0)==-2){continue}v=0;if((d|0)==-1){break c}if(w){j[(b<<2)+w>>2]=j[g+28>>2];b=b+1|0}if(!A|(b|0)!=(r|0)){continue}break}r=r<<1|1;d=vc(w,r<<2);if(!d){break c}continue}break}v=0;d=g+296|0;f=1;G:{if(!d){break G}f=!j[d>>2]}if(!f){break c}break D}if(A){b=0;d=ja(r);if(!d){break d}while(1){v=d;while(1){d=j[a+4>>2];H:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break H}d=pa(a)}if(!k[(d+g|0)+33|0]){w=0;break D}h[b+v|0]=d;b=b+1|0;if((r|0)!=(b|0)){continue}break}w=0;r=r<<1|1;d=vc(v,r);if(d){continue}break}break c}b=0;if(s){while(1){d=j[a+4>>2];I:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break I}d=pa(a)}if(k[(d+g|0)+33|0]){h[b+s|0]=d;b=b+1|0;continue}else{w=0;v=s;break D}}}while(1){b=j[a+4>>2];J:{if(b>>>0>2]){j[a+4>>2]=b+1;b=k[b|0];break J}b=pa(a)}if(k[(b+g|0)+33|0]){continue}break}v=0;w=0;b=0}d=j[a+4>>2];if(j[a+104>>2]){d=d-1|0;j[a+4>>2]=d}d=d-j[a+8>>2]|0;f=d;z=d+j[a+120>>2]|0;d=j[a+124>>2]+(d>>31)|0;d=f>>>0>z>>>0?d+1|0:d;if(!(d|z)|x&((y|0)!=(z|0)|(d|0)!=(C|0))){break b}K:{if(!A){break K}if(!u){j[s>>2]=w;break K}j[s>>2]=v}if(x){break r}if(w){j[(b<<2)+w>>2]=0}if(!v){v=0;break r}h[b+v|0]=0}d=j[a+4>>2]-j[a+8>>2]|0;b=d;d=d>>31;f=b;l=l+j[a+124>>2]|0;b=t+j[a+120>>2]|0;l=b>>>0>>0?l+1|0:l;t=f+b|0;l=d+l|0;l=b>>>0>t>>>0?l+1|0:l;B=((s|0)!=0)+B|0}b=e+1|0;e=k[e+1|0];if(e){continue}break a}break}v=0;w=0}B=B?B:-1}if(!A){break a}T(v);T(w)}M=g+304|0;return B}function Oo(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;o=M-560|0;M=o;j[o+44>>2]=0;Kr(+b);g=Hr(1)|0;Hr(0)|0;a:{if((g|0)<-1?1:(g|0)<=-1){B=1;b=-b;Kr(+b);g=Hr(1)|0;Hr(0)|0;w=122016;break a}B=1;w=122019;if(e&2048){break a}w=122022;if(e&1){break a}B=0;A=1;w=122017}b:{if((g&2146435072)==2146435072){n=B+3|0;tb(a,32,c,n,e&-65537);ab(a,w,B);d=f&32;ab(a,b!=b?d?122043:122047:d?122035:122039,3);break b}x=o+16|0;c:{d:{e:{b=sh(b,o+44|0);b=b+b;if(b!=0){g=j[o+44>>2];j[o+44>>2]=g-1;C=f|32;if((C|0)!=97){break e}break c}C=f|32;if((C|0)==97){break c}n=j[o+44>>2];q=(d|0)<0?6:d;break d}n=g-29|0;j[o+44>>2]=n;b=b*268435456;q=(d|0)<0?6:d}s=(n|0)<0?o+48|0:o+336|0;m=s;while(1){d=m;if(b<4294967296&b>=0){g=~~b>>>0}else{g=0}j[d>>2]=g;m=m+4|0;b=(b- +(g>>>0))*1e9;if(b!=0){continue}break}f:{if((n|0)<1){d=n;g=m;i=s;break f}i=s;d=n;while(1){t=(d|0)<29?d:29;g=m-4|0;g:{if(i>>>0>g>>>0){break g}d=t;l=0;while(1){v=g;D=l;E=j[g>>2];u=d&31;if((d&63)>>>0>=32){l=E<>>32-u;E=E<>>0>>0?l+1|0:l;l=Er(u,l,1e9);D=v;v=Dr(l,N,1e9,0);j[D>>2]=u-v;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!l){break g}i=i-4|0;j[i>>2]=l}while(1){g=m;if(i>>>0>>0){m=g-4|0;if(!j[m>>2]){continue}}break}d=j[o+44>>2]-t|0;j[o+44>>2]=d;m=g;if((d|0)>0){continue}break}}if((d|0)<=-1){y=((q+25|0)/9|0)+1|0;t=(C|0)==102;while(1){l=(d|0)<-9?9:0-d|0;h:{if(g>>>0<=i>>>0){i=j[i>>2]?i:i+4|0;break h}v=1e9>>>l|0;u=-1<>2];j[m>>2]=D+(d>>>l|0);d=p(v,d&u);m=m+4|0;if(m>>>0>>0){continue}break}i=j[i>>2]?i:i+4|0;if(!d){break h}j[g>>2]=d;g=g+4|0}d=j[o+44>>2]+l|0;j[o+44>>2]=d;m=t?s:i;g=g-m>>2>(y|0)?m+(y<<2)|0:g;if((d|0)<0){continue}break}}m=0;i:{if(g>>>0<=i>>>0){break i}m=p(s-i>>2,9);d=10;l=j[i>>2];if(l>>>0<10){break i}while(1){m=m+1|0;d=p(d,10);if(l>>>0>=d>>>0){continue}break}}d=(q-((C|0)==102?0:m)|0)-((C|0)==103&(q|0)!=0)|0;if((d|0)<(p(g-s>>2,9)-9|0)){l=d+9216|0;t=(l|0)/9|0;n=((t<<2)+((n|0)<0?o+48|4:o+340|0)|0)-4096|0;d=10;l=l-p(t,9)|0;if((l|0)<=7){while(1){d=p(d,10);l=l+1|0;if((l|0)!=8){continue}break}}t=j[n>>2];v=(t>>>0)/(d>>>0)|0;y=n+4|0;l=t-p(d,v)|0;j:{if(l?0:(y|0)==(g|0)){break j}u=d>>>1|0;z=l>>>0>>0?.5:(g|0)==(y|0)?(u|0)==(l|0)?1:1.5:1.5;b=v&1?9007199254740994:9007199254740992;if(!(k[w|0]!=45|A)){z=-z;b=-b}l=t-l|0;j[n>>2]=l;if(b+z==b){break j}d=d+l|0;j[n>>2]=d;if(d>>>0>=1e9){while(1){j[n>>2]=0;n=n-4|0;if(n>>>0>>0){i=i-4|0;j[i>>2]=0}d=j[n>>2]+1|0;j[n>>2]=d;if(d>>>0>999999999){continue}break}}m=p(s-i>>2,9);d=10;l=j[i>>2];if(l>>>0<10){break j}while(1){m=m+1|0;d=p(d,10);if(l>>>0>=d>>>0){continue}break}}d=n+4|0;g=d>>>0>>0?d:g}while(1){d=g;n=g>>>0<=i>>>0;if(!n){g=d-4|0;if(!j[g>>2]){continue}}break}k:{if((C|0)!=103){A=e&8;break k}g=q?q:1;l=(g|0)>(m|0)&(m|0)>-5;q=(l?m^-1:-1)+g|0;f=(l?-1:-2)+f|0;A=e&8;if(A){break k}g=-9;l:{if(n){break l}t=j[d-4>>2];if(!t){break l}l=10;g=0;if((t>>>0)%10|0){break l}while(1){n=g;g=g+1|0;l=p(l,10);if(!((t>>>0)%(l>>>0)|0)){continue}break}g=n^-1}n=p(d-s>>2,9);if((f&-33)==70){A=0;g=(g+n|0)-9|0;g=(g|0)>0?g:0;q=(g|0)>(q|0)?q:g;break k}A=0;g=((m+n|0)+g|0)-9|0;g=(g|0)>0?g:0;q=(g|0)>(q|0)?q:g}t=q|A;v=(t|0)!=0;D=a;l=c;u=f&-33;g=(m|0)>0?m:0;m:{if((u|0)==70){break m}g=m>>31;g=Gc(g+m^g,0,x);if((x-g|0)<=1){while(1){g=g-1|0;h[g|0]=48;if((x-g|0)<2){continue}break}}y=g-2|0;h[y|0]=f;h[g-1|0]=(m|0)<0?45:43;g=x-y|0}n=(g+(v+(q+B|0)|0)|0)+1|0;tb(D,32,l,n,e);ab(a,w,B);tb(a,48,c,n,e^65536);n:{o:{p:{if((u|0)==70){f=o+16|8;m=o+16|9;l=i>>>0>s>>>0?s:i;i=l;while(1){g=Gc(j[i>>2],0,m);q:{if((i|0)!=(l|0)){if(o+16>>>0>=g>>>0){break q}while(1){g=g-1|0;h[g|0]=48;if(o+16>>>0>>0){continue}break}break q}if((g|0)!=(m|0)){break q}h[o+24|0]=48;g=f}ab(a,g,m-g|0);i=i+4|0;if(s>>>0>=i>>>0){continue}break}if(t){ab(a,122051,1)}if((q|0)<1|d>>>0<=i>>>0){break p}while(1){g=Gc(j[i>>2],0,m);if(g>>>0>o+16>>>0){while(1){g=g-1|0;h[g|0]=48;if(o+16>>>0>>0){continue}break}}ab(a,g,(q|0)<9?q:9);g=q-9|0;i=i+4|0;if(d>>>0<=i>>>0){break o}f=(q|0)>9;q=g;if(f){continue}break}break o}r:{if((q|0)<0){break r}s=d>>>0>i>>>0?d:i+4|0;d=o+16|8;f=o+16|9;m=i;while(1){g=Gc(j[m>>2],0,f);if((f|0)==(g|0)){h[o+24|0]=48;g=d}s:{if((i|0)!=(m|0)){if(o+16>>>0>=g>>>0){break s}while(1){g=g-1|0;h[g|0]=48;if(o+16>>>0>>0){continue}break}break s}ab(a,g,1);g=g+1|0;if((q|0)<1?!A:0){break s}ab(a,122051,1)}v=g;g=f-g|0;ab(a,v,(g|0)<(q|0)?g:q);q=q-g|0;m=m+4|0;if(s>>>0<=m>>>0){break r}if((q|0)>-1){continue}break}}tb(a,48,q+18|0,18,0);ab(a,y,x-y|0);break n}g=q}tb(a,48,g+9|0,9,0)}break b}q=f&32;l=q?w+9|0:w;t:{if(d>>>0>11){break t}g=12-d|0;if(!g){break t}z=8;while(1){z=z*16;g=g-1|0;if(g){continue}break}if(k[l|0]==45){b=-(z+(-b-z));break t}b=b+z-z}i=j[o+44>>2];g=i>>31;g=Gc(g^g+i,0,x);if((x|0)==(g|0)){h[o+15|0]=48;g=o+15|0}m=B|2;i=j[o+44>>2];s=g-2|0;h[s|0]=f+15;h[g-1|0]=(i|0)<0?45:43;n=e&8;i=o+16|0;while(1){f=i;v=i;i=q;if(r(b)<2147483648){g=~~b}else{g=-2147483648}h[v|0]=i|k[g+122e3|0];b=(b- +(g|0))*16;i=f+1|0;if(!((i-(o+16|0)|0)!=1|(b==0?!((d|0)>0|n):0))){h[f+1|0]=46;i=f+2|0}if(b!=0){continue}break}g=a;f=c;if(!d|((i-o|0)-18|0)>=(d|0)){q=((x-(o+16|0)|0)-s|0)+i|0}else{q=((d+x|0)-s|0)+2|0}d=q;n=d+m|0;tb(g,32,f,n,e);ab(a,l,m);tb(a,48,c,n,e^65536);f=i-(o+16|0)|0;ab(a,o+16|0,f);d=x-s|0;tb(a,48,q-(d+f|0)|0,0,0);ab(a,s,d)}tb(a,32,c,n,e^8192);M=o+560|0;return((c|0)>(n|0)?c:n)|0}function xk(a,b,c,d,e,f,g,m,n){var o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;t=M-48|0;M=t;a:{b:{c:{if(!f){break c}r=l[a+4198>>1];d:{if(!r){break d}o=e;q=f;while(1){u=q>>>1|0;x=(u<<1)+o|0;s=r>>>0>l[x>>1];o=s?x+2|0:o;q=s?(u^-1)+q|0:u;if(q){continue}break}if(((f<<1)+e|0)==(o|0)){break d}if(r>>>0>=l[o>>1]){break b}}r=l[a+4464>>1];if(!r){break c}o=e;q=f;while(1){u=q>>>1|0;x=(u<<1)+o|0;s=r>>>0>l[x>>1];o=s?x+2|0:o;q=s?(u^-1)+q|0:u;if(q){continue}break}if(((f<<1)+e|0)==(o|0)){break c}if(r>>>0>=l[o>>1]){break b}}o=cb(c);j[b>>2]=o;if(!o){break a}j[b+8>>2]=0;h[b+4|0]=0;v=1;if(!n){break b}o=cb(n);j[b+12>>2]=o;if(!o){break a}h[b+16|0]=0;o=cb(c);j[b+20>>2]=o;v=2;if(!o){break a}}if(f){F=g+m|0;x=1;while(1){e:{E=(B<<1)+e|0;q=l[E>>1];u=j[(((q&255)<<2)+a|0)+3072>>2];if(u){while(1){f:{g:{if(l[u+30>>1]!=(q&65535)){break g}s=u+4|0;o=k[u+15|0];r=o<<24>>24;h:{i:{if((r|0)<=-1){o=j[u+8>>2];if(!(o&65535)){break h}o=o<<16>>16;if((o|0)>=(m|0)){break g}s=j[s>>2];break i}if(!r){break h}if((m|0)<=(o|0)){break g}}if(ba(s,F-o|0)){break g}}r=j[u+56>>2];j:{if(!r){break j}s=l[a+4198>>1];k:{if(!s){break k}q=i[u+60>>1];C=(q<<1)+r|0;o=r;if(q){while(1){w=q>>>1|0;D=(w<<1)+o|0;A=s>>>0>l[D>>1];o=A?D+2|0:o;q=A?(w^-1)+q|0:w;if(q){continue}break}}if((o|0)==(C|0)){break k}if(s>>>0>=l[o>>1]){break g}}s=l[a+4462>>1];l:{if(!s){break l}q=i[u+60>>1];C=(q<<1)+r|0;o=r;if(q){while(1){w=q>>>1|0;D=(w<<1)+o|0;A=s>>>0>l[D>>1];o=A?D+2|0:o;q=A?(w^-1)+q|0:w;if(q){continue}break}}if((o|0)==(C|0)){break l}if(s>>>0>=l[o>>1]){break g}}q=l[a+4464>>1];if(!q){break j}o=i[u+60>>1];A=(o<<1)+r|0;if(o){while(1){s=o>>>1|0;C=(s<<1)+r|0;w=q>>>0>l[C>>1];r=w?C+2|0:r;o=w?(s^-1)+o|0:s;if(o){continue}break}}if((r|0)==(A|0)){break j}if(q>>>0>=l[r>>1]){break g}}We(t+32|0,u,c,d);m:{n:{o:{p:{q:{r:{r=h[t+43|0];if((r|0)<=-1){if((v|0)>=100){o=v;break p}if(j[t+36>>2]){break r}o=v;break p}if((v|0)>=100){o=v;break p}o=t+32|0;if(r){break q}o=v;break p}o=j[t+32>>2]}r=p(v,12)+b|0;G=r,H=cb(o),j[G>>2]=H;o=k[u+29|0];j[r+8>>2]=0;h[r+4|0]=o&1;o=v+1|0;if(!n|(o|0)>=100){break p}r=W(n);if(r>>>0>=4294967280){break n}s:{t:{if(r>>>0>=11){q=r+16&-16;s=U(q);j[t+24>>2]=q|-2147483648;j[t+16>>2]=s;j[t+20>>2]=r;break t}h[t+27|0]=r;s=t+16|0;if(!r){break s}}V(s,n,r)}h[r+s|0]=0;s=u+68|0;s=h[u+79|0]<=-1?j[s>>2]:s;q=W(s);if(q>>>0>=4294967280){break m}u:{v:{if(q>>>0>=11){w=q+16&-16;r=U(w);j[t+8>>2]=w|-2147483648;j[t>>2]=r;j[t+4>>2]=q;break v}h[t+11|0]=q;r=t;if(!q){break u}}V(r,s,q)}s=0;h[r+q|0]=0;Va(t);r=k[t+11|0];q=r<<24>>24<0;aa(t+16|0,q?j[t>>2]:t,q?j[t+4>>2]:r);r=p(o,12)+b|0;q=cb(h[t+27|0]<0?j[t+16>>2]:t+16|0);j[r>>2]=q;w:{if(!q){y=v;break w}h[r+4|0]=0;q=r;r=cb(h[t+43|0]<0?j[t+32>>2]:t+32|0);j[q+8>>2]=r;if(!r){y=v;break w}o=v+2|0;s=1}if(h[t+11|0]<=-1){T(j[t>>2])}if(h[t+27|0]<=-1){T(j[t+16>>2])}v=0;if(!s){break o}}v=1}if(h[t+43|0]<=-1){T(j[t+32>>2])}if(v){break f}v=o;break e}X();z()}X();z()}o=v}u=j[u+92>>2];if(u){q=l[E>>1];v=o;continue}break}v=o}B=B+1|0;x=B>>>0>>0;if((f|0)!=(B|0)){continue}}break}if(x){break a}}x:{if((v|0)<2){y=v;break x}y=v;n=1;while(1){B=p(n,12)+b|0;if(!(!k[B+4|0]|!f)){s=0;while(1){y:{x=(s<<1)+e|0;q=l[x>>1];o=j[(((q&255)<<2)+a|0)+2048>>2];if(!o){break y}while(1){z:{if(!(h[o+29|0]&1)|l[o+30>>1]!=(q&65535)){break z}r=o+4|0;q=k[o+15|0];u=q<<24>>24;A:{B:{if((u|0)<=-1){q=j[o+8>>2];if(!(q&65535)){break A}q=q<<16>>16;if((q|0)>=(m|0)){break z}r=j[r>>2];break B}if(!u){break A}if((m|0)<=(q|0)){break z}}if(Eb(r,g,q)){break z}}r=j[B>>2];fh(t+32|0,o,r,W(r));r=h[t+43|0];C:{D:{if((r|0)<=-1){if(!j[t+36>>2]|(y|0)>=100){break C}u=j[t+32>>2];break D}if((y|0)>=100){break z}u=t+32|0;if(!r){break z}}r=p(y,12)+b|0;G=r,H=cb(u),j[G>>2]=H;q=k[o+29|0];j[r+8>>2]=0;h[r+4|0]=q&1;y=y+1|0;if(h[t+43|0]>-1){break z}}T(j[t+32>>2])}o=j[o+80>>2];if(!o){break y}q=l[x>>1];continue}}s=s+1|0;if((s|0)!=(f|0)){continue}break}}n=n+1|0;if((v|0)!=(n|0)){continue}break}}if(!f){break a}B=0;while(1){E:{x=(B<<1)+e|0;o=l[x>>1];u=j[(((o&255)<<2)+a|0)+2048>>2];if(!u){break E}while(1){F:{if(l[u+30>>1]!=(o&65535)){break F}s=u+4|0;o=k[u+15|0];n=o<<24>>24;G:{H:{if((n|0)<=-1){n=j[u+8>>2];if(!(n&65535)){break G}o=n<<16>>16;if((o|0)>=(m|0)){break F}s=j[s>>2];break H}if(!n){break G}if((m|0)<=(o|0)){break F}}if(Eb(s,g,o)){break F}}r=j[u+56>>2];I:{if(!r){break I}n=l[a+4198>>1];J:{if(!n){break J}q=i[u+60>>1];w=(q<<1)+r|0;o=r;if(q){while(1){v=q>>>1|0;A=(v<<1)+o|0;s=n>>>0>l[A>>1];o=s?A+2|0:o;q=s?(v^-1)+q|0:v;if(q){continue}break}}if((o|0)==(w|0)){break J}if(n>>>0>=l[o>>1]){break F}}n=l[a+4462>>1];K:{if(!n){break K}q=i[u+60>>1];w=(q<<1)+r|0;o=r;if(q){while(1){v=q>>>1|0;A=(v<<1)+o|0;s=n>>>0>l[A>>1];o=s?A+2|0:o;q=s?(v^-1)+q|0:v;if(q){continue}break}}if((o|0)==(w|0)){break K}if(n>>>0>=l[o>>1]){break F}}n=l[a+4464>>1];if(!n){break I}o=i[u+60>>1];s=(o<<1)+r|0;if(o){while(1){v=o>>>1|0;w=(v<<1)+r|0;q=n>>>0>l[w>>1];r=q?w+2|0:r;o=q?(v^-1)+o|0:v;if(o){continue}break}}if((r|0)==(s|0)){break I}if(n>>>0>=l[r>>1]){break F}}fh(t+32|0,u,c,d);n=h[t+43|0];L:{M:{if((n|0)<=-1){if(!j[t+36>>2]|(y|0)>=100){break L}q=j[t+32>>2];break M}if((y|0)>=100){break F}q=t+32|0;if(!n){break F}}n=p(y,12)+b|0;G=n,H=cb(q),j[G>>2]=H;o=k[u+29|0];j[n+8>>2]=0;h[n+4|0]=o&1;y=y+1|0;if(h[t+43|0]>-1){break F}}T(j[t+32>>2])}u=j[u+80>>2];if(!u){break E}o=l[x>>1];continue}}B=B+1|0;if((B|0)!=(f|0)){continue}break}}M=t+48|0;return y}function Qa(a,b,c,d,e,f,g,m){var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=j[a+1024>>2];if(v){w=(m|0)!=1;while(1){a:{if(j[v+56>>2]?0:f){break a}if(!w){n=j[v+56>>2];if(!n){break a}q=l[a+4164>>1];if(!q){break a}o=i[v+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break a}}q=l[a+4462>>1];b:{if(!q){break b}c:{d:{if(!e){break d}n=j[e+56>>2];if(!n){break d}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break d}if(q>>>0>=l[n>>1]){break c}}n=j[v+56>>2];if(!n){break b}o=i[v+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break b}}if(!e){break a}n=j[e+56>>2];if(!n){break a}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break a}n=j[v+56>>2];if(!n){break a}o=i[v+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break a}}e:{if(m){break e}n=j[v+56>>2];if(!n){break e}o=i[v+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4464>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break e}if(l[a+4464>>1]>=l[n>>1]){break a}}f:{if(f){break f}n=j[v+56>>2];if(!n){break f}o=i[v+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4198>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break f}q=l[a+4198>>1];if(q>>>0>1]){break f}if(!e){break a}n=j[e+56>>2];if(!n){break f}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break f}if(q>>>0>=l[n>>1]){break a}}n=Id(v,b,c,d,e,f,g,m?0:l[a+4464>>1]);if(!n){break a}j[a+4372>>2]=v;return n}v=j[v+80>>2];if(v){continue}break}}n=0;g:{if(!c){break g}v=(b+c|0)-1|0;u=j[((k[v|0]<<2)+a|0)+1024>>2];if(!u){break g}x=(e|0)!=0|(m|0)!=2;y=(c|0)<1;while(1){w=u+68|0;if(h[u+79|0]<=-1){n=j[w>>2]}else{n=w}h:{i:{j:{k:{if(y){break k}r=c+n|0;o=c;t=v;while(1){s=k[n|0];if(!s){break j}if((s|0)!=k[t|0]?(s|0)!=46:0){break k}t=t-1|0;n=n+1|0;s=(o|0)>1;o=o-1|0;if(s){continue}break}n=r}if(k[n|0]){break i}}l:{if((m|0)==1){n=j[u+56>>2];if(!n){break l}q=l[a+4164>>1];if(!q){break l}o=i[u+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break l}}q=l[a+4462>>1];m:{if(!q){break m}n:{o:{if(!e){break o}n=j[e+56>>2];if(!n){break o}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break o}if(q>>>0>=l[n>>1]){break n}}n=j[u+56>>2];if(!n){break m}o=i[u+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break m}}if(!e){break l}n=j[e+56>>2];if(!n){break l}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break l}n=j[u+56>>2];if(!n){break l}o=i[u+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break l}}p:{if(m){break p}n=j[u+56>>2];if(!n){break p}o=i[u+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4464>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break p}if(l[a+4464>>1]>=l[n>>1]){break l}}q:{r:{if(f){break r}n=j[u+56>>2];if(!n){break r}o=i[u+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4198>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break r}q=l[a+4198>>1];if(q>>>0>1]){break r}if(!e){break l}n=j[e+56>>2];if(!n){break q}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break r}if(q>>>0>=l[n>>1]){break l}}if(x){break q}n=j[u+56>>2];if(!n){break q}o=i[u+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4464>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break q}if(l[a+4464>>1]>=l[n>>1]){break l}}n=Id(u,b,c,d,e,f,g,m?0:l[a+4464>>1]);if(!n){break l}j[a+4372>>2]=u;i[a+4364>>1]=l[u+30>>1];if(!j[u+56>>2]){if(h[w+11|0]<=-1){j[a+4356>>2]=j[w>>2];return n}j[a+4356>>2]=w;return n}if(j[a+4456>>2]!=36){break g}b=h[u+15|0];c=j[u+8>>2];s:{if((b|0)<=-1){break s}c=b&255}if(!(c&65535)){break g}t:{if(h[w+11|0]<=-1){b=j[w>>2];if(k[b|0]!=105){break g}o=k[b+1|0];if((o|0)!=121){break t}break g}if(k[w|0]!=105){break g}o=k[w+1|0];if((o|0)==121){break g}}if((o|0)==116){break g}j[a+4360>>2]=1;return n}n=u+84|0;break h}n=u+88|0}u=j[n>>2];if(u){continue}break}n=0}return n}function $f(a,b,c,d,e,f,g,i,l,m,n){var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;o=M-560|0;M=o;j[o+548>>2]=n;j[o+552>>2]=b;j[o+96>>2]=78;r=Da(o+136|0,o+144|0,o+96|0);b=j[r>>2];j[o+132>>2]=b;j[o+128>>2]=b+400;u=ga(o+96|0);s=ga(o+80|0);p=ga(o- -64|0);q=ga(o+48|0);t=ga(o+32|0);yl(c,d,o+120|0,o+116|0,o+112|0,u,s,p,q,o+28|0);j[m>>2]=j[l>>2];w=e&512;x=w>>>9|0;b=0;c=0;while(1){n=c;a:{b:{c:{d:{if((b|0)==4){break d}if(!kb(a,o+552|0)){break d}e=0;e:{f:{g:{h:{i:{switch(h[(o+120|0)+b|0]){case 1:if((b|0)==3){break b}c=i;e=j[a>>2];d=j[e+12>>2];j:{if((d|0)==j[e+16>>2]){d=O[j[j[e>>2]+36>>2]](e)|0;break j}d=j[d>>2]}if(O[j[j[i>>2]+12>>2]](c,8192,d)|0){_f(o+16|0,a);bd(t,j[o+16>>2]);break h}j[f>>2]=j[f>>2]|4;a=0;break c;case 0:break i;case 4:break e;case 2:break f;case 3:break g;default:break a}}if((b|0)==3){break b}}while(1){if(!kb(a,o+552|0)){break b}c=i;e=j[a>>2];d=j[e+12>>2];k:{if((d|0)==j[e+16>>2]){d=O[j[j[e>>2]+36>>2]](e)|0;break k}d=j[d>>2]}if(!(O[j[j[i>>2]+12>>2]](c,8192,d)|0)){break b}_f(o+16|0,a);bd(t,j[o+16>>2]);continue}}if(k[p+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}if((c|0)==(0-d|0)){break b}if(k[p+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}if(!(d?c:0)){if(k[p+11|0]>>>7|0){d=j[p+4>>2]}else{d=k[p+11|0]}e=j[a>>2];c=j[e+12>>2];l:{if((c|0)==j[e+16>>2]){c=O[j[j[e>>2]+36>>2]](e)|0;break l}c=j[c>>2]}if(d){if(k[p+11|0]>>>7|0){d=j[p>>2]}else{d=p}if((c|0)==j[d>>2]){Na(a);c=p;d=c;if(k[c+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}c=c>>>0>1?d:n;break a}h[g|0]=1;break b}if(k[q+11|0]>>>7|0){d=j[q>>2]}else{d=q}if(j[d>>2]!=(c|0)){break b}Na(a);h[g|0]=1;c=q;d=c;if(k[c+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}c=c>>>0>1?d:n;break a}d=j[a>>2];c=j[d+12>>2];m:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break m}c=j[c>>2]}if(k[p+11|0]>>>7|0){d=j[p>>2]}else{d=p}if((c|0)==j[d>>2]){Na(a);c=p;d=c;if(k[c+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}c=c>>>0>1?d:n;break a}d=j[a>>2];c=j[d+12>>2];n:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break n}c=j[c>>2]}if(k[q+11|0]>>>7|0){d=j[q>>2]}else{d=q}if((c|0)==j[d>>2]){Na(a);h[g|0]=1;c=q;d=c;if(k[c+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}c=c>>>0>1?d:n;break a}j[f>>2]=j[f>>2]|4;a=0;break c}if(!(n|b>>>0<2)){c=0;if(!((b|0)==2&k[o+123|0]!=0|x)){break a}}y=o,z=qb(s),j[y+8>>2]=z;j[o+16>>2]=j[o+8>>2];o:{if(!b|k[(b+o|0)+119|0]>1){break o}while(1){p:{y=o,z=ic(s),j[y+8>>2]=z;if(!(j[o+16>>2]==j[o+8>>2]^1)){break p}if(!(O[j[j[i>>2]+12>>2]](i,8192,j[j[o+16>>2]>>2])|0)){break p}j[o+16>>2]=j[o+16>>2]+4;continue}break}y=o,z=qb(s),j[y+8>>2]=z;if(k[t+11|0]>>>7|0){d=j[t+4>>2]}else{d=k[t+11|0]}c=j[o+16>>2]-j[o+8>>2]>>2;if(d>>>0>=c>>>0){y=o,z=ic(t),j[y+8>>2]=z;if(ul(Xf(o+8|0,0-c|0),ic(t),qb(s))){break o}}y=o,z=qb(s),j[y>>2]=z;j[o+8>>2]=j[o>>2];j[o+16>>2]=j[o+8>>2]}j[o+8>>2]=j[o+16>>2];while(1){q:{y=o,z=ic(s),j[y>>2]=z;if(!(j[o+8>>2]==j[o>>2]^1)){break q}if(!kb(a,o+552|0)){break q}d=j[a>>2];c=j[d+12>>2];r:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break r}c=j[c>>2]}if((c|0)!=j[j[o+8>>2]>>2]){break q}Na(a);j[o+8>>2]=j[o+8>>2]+4;continue}break}if(!w){break b}y=o,z=ic(s),j[y>>2]=z;if(!(j[o+8>>2]==j[o>>2]^1)){break b}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){s:{if(!kb(a,o+552|0)){break s}v=i;c=j[a>>2];d=j[c+12>>2];t:{if((d|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break t}c=j[d>>2]}u:{if(O[j[j[i>>2]+12>>2]](v,2048,c)|0){d=j[m>>2];if((d|0)==j[o+548>>2]){zc(l,m,o+548|0);d=j[m>>2]}j[m>>2]=d+4;j[d>>2]=c;e=e+1|0;break u}d=!e;if(k[u+11|0]>>>7|0){v=j[u+4>>2]}else{v=k[u+11|0]}if(d|!v|(c|0)!=j[o+112>>2]){break s}c=j[o+132>>2];if((c|0)==j[o+128>>2]){zc(r,o+132|0,o+128|0);c=j[o+132>>2]}j[o+132>>2]=c+4;j[c>>2]=e;e=0}Na(a);continue}break}d=j[r>>2];v:{if(!e){break v}c=j[o+132>>2];if((d|0)==(c|0)){break v}if(j[o+128>>2]==(c|0)){zc(r,o+132|0,o+128|0);c=j[o+132>>2]}j[o+132>>2]=c+4;j[c>>2]=e}w:{if(j[o+28>>2]<1){break w}x:{if(!Ra(a,o+552|0)){d=j[a>>2];c=j[d+12>>2];y:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break y}c=j[c>>2]}if((c|0)==j[o+116>>2]){break x}}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){Na(a);if(j[o+28>>2]<1){break w}z:{if(!Ra(a,o+552|0)){c=i;e=j[a>>2];d=j[e+12>>2];A:{if((d|0)==j[e+16>>2]){d=O[j[j[e>>2]+36>>2]](e)|0;break A}d=j[d>>2]}if(O[j[j[i>>2]+12>>2]](c,2048,d)|0){break z}}j[f>>2]=j[f>>2]|4;a=0;break c}if(j[m>>2]==j[o+548>>2]){zc(l,m,o+548|0)}d=j[a>>2];c=j[d+12>>2];B:{if((c|0)==j[d+16>>2]){d=O[j[j[d>>2]+36>>2]](d)|0;break B}d=j[c>>2]}c=j[m>>2];j[m>>2]=c+4;j[c>>2]=d;j[o+28>>2]=j[o+28>>2]-1;continue}}c=n;if(j[l>>2]!=j[m>>2]){break a}j[f>>2]=j[f>>2]|4;a=0;break c}C:{if(!n){break C}e=1;while(1){if(k[n+11|0]>>>7|0){b=j[n+4>>2]}else{b=k[n+11|0]}if(b>>>0<=e>>>0){break C}D:{if(!Ra(a,o+552|0)){c=j[a>>2];b=j[c+12>>2];E:{if((b|0)==j[c+16>>2]){b=O[j[j[c>>2]+36>>2]](c)|0;break E}b=j[b>>2]}if(k[n+11|0]>>>7|0){c=j[n>>2]}else{c=n}if((b|0)==j[c+(e<<2)>>2]){break D}}j[f>>2]=j[f>>2]|4;a=0;break c}Na(a);e=e+1|0;continue}}a=1;if(j[r>>2]==j[o+132>>2]){break c}a=0;j[o+16>>2]=0;hb(u,j[r>>2],j[o+132>>2],o+16|0);if(j[o+16>>2]){j[f>>2]=j[f>>2]|4;break c}a=1}Y(t);Y(q);Y(p);Y(s);Y(u);b=j[r>>2];j[r>>2]=0;if(b){O[j[r+4>>2]](b)}M=o+560|0;return a}c=n}b=b+1|0;continue}}function Nh(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;f=M-1056|0;M=f;d=h[b+11|0];a:{b:{if((d|0)<=-1){w=j[b+4>>2];if(w>>>0>=1025){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}b=j[b>>2];A=f+16|0;break b}w=d&255;A=f+16|0}Vo(A,b);h[f+1040|0]=0;j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;o=k[f+16|0];if(o){m=-333;while(1){c:{d:{x=o&255;v=j[((x<<2)+c|0)+16>>2];if((v|0)<0){break d}r=j[c+4>>2];d=r+p(v,12)|0;b=k[d+11|0];u=b<<24>>24;if((u|0)<=-1){b=j[d+4>>2]}if(!b){break d}J=f+n|0;E=n-1|0;F=E+(f+16|0)|0;while(1){B=p(v,12);t=B+r|0;G=(u|0)>-1;e:{if(!G){d=j[t>>2];if(k[d|0]==(x|0)){break e}break d}d=t;if(k[d|0]!=(x|0)){break d}}l=1;b=d+1|0;m=0;i=k[d+1|0];f:{g:{if(!i){break g}e=d;g=k[J+17|0];h:{if((g|0)!=(i|0)){break h}while(1){i:{e=b;if((i&255)-48>>>0<10){break i}if(Aa(121384,i<<24>>24,6)){break i}b=e+1|0;l=l+1|0;i=k[e+1|0];if(!i){break g}d=e;g=k[f+16+(l+n)|0];if((g|0)==(i|0)){continue}break h}break}e=d}j:{if((i&255)==40){d=g<<24>>24;if((g&255|32)-97>>>0>=26?(d|0)>=0:0){break j}if(!Ya(e+2|0,d)){break j}e=b+1|0;while(1){d=k[e|0];b=e+1|0;e=b;if((d|0)!=41){continue}break}l=l+1|0;i=k[b|0]}s=(l|0)>1;m=i<<24>>24;k:{if((l|0)<2){break k}e=l;if((i&255)!=45){break k}while(1){l:{s=(e|0)>2;g=b+1|0;q=e-1|0;d=k[b+1|0];if((e|0)<3){break l}b=g;e=q;if((d&255)==45){continue}}break}b=g;break f}q=l;d=i;break f}m=40}s=(l|0)>1;q=l;i=m;d=i}b=(d&255)==60?b+1|0:b;g=h[b|0];e=(g&255)-48>>>0<10;b=e?b+1|0:b;d=k[b|0];if((d|0)==94){b=k[b+1|0]==94?b+1|0:b;d=k[b|0]}m:{d=d&255;n:{if(!d){break n}if((d|0)==94){if(n){d=h[F|0];if((d|0)<0|(d&255|32)-97>>>0<26){break m}}if(k[b+1|0]!=36){break n}b=h[f+16+(l+n)|0];if((b|0)<0){break m}if((b&255|32)-97>>>0>=26){break n}break m}if((d|0)!=36|(n|0)<1){break m}b=h[F|0];if((b&255|32)-97>>>0>=26?(b|0)>=0:0){break m}b=h[f+16+(l+n)|0];if((b|0)<0|(b&255|32)-97>>>0<26){break m}}o:{if((i&255)==45){break o}b=n+q|0;y=k[(b+f|0)+15|0];l=j[((y<<2)+c|0)+16>>2];if(!((l|0)>-1&s)){break o}H=b+(f+16|0)|0;if(!k[H|0]){break o}i=p(l,12)+r|0;d=k[i+11|0];b=d<<24>>24;if((b|0)<=-1){d=j[i+4>>2]}if(!d){break o}z=e?g-48|0:5;p:{q:{while(1){C=p(l,12)+r|0;r:{s:{t:{u:{I=b<<24>>24>-1;v:{if(!I){s=j[C>>2];g=s;if(k[g|0]==(y|0)){break v}if((m|0)<(z|0)){break o}break q}s=y;g=C;b=k[g|0];if((b|0)!=(y|0)){break u}}b=g+1|0;e=k[g+1|0];if(!e){i=q;break r}i=q;d=g;m=k[H|0];if((m|0)==(e|0)){break t}break s}s=b;if((m|0)<(z|0)){break o}break p}while(1){w:{d=b;if((e&255)-48>>>0<10){break w}if(Aa(121384,e<<24>>24,6)){break w}b=d+1|0;i=i+1|0;e=k[d+1|0];if(!e){break r}g=d;m=k[f+16+(i+n)|0];if((m|0)==(e|0)){continue}break s}break}d=g}if((e&255)!=40){break r}e=m<<24>>24;if((m&255|32)-97>>>0>=26?(e|0)>=0:0){break r}if(!Ya(d+2|0,e)){break r}i=i+1|0;e=40;while(1){d=e&255;if(!(!d|(d|0)==41)){e=k[b+1|0];b=b+1|0;continue}break}b=(d|0)==41?b+1|0:b}x:{while(1){e=k[b|0];if((e|0)!=45){d=b;if((e|0)!=60){break x}}else{b=b+1|0;continue}break}e=k[b+1|0];d=b+1|0}b=(e&255)-48>>>0<10;m=b?(e<<24>>24)-48|0:5;y:{b=k[(b?d+1|0:d)|0];z:{if(b){if((b|0)!=36){break z}b=h[f+16+(i+n)|0];if((b|0)<0|(b&255|32)-97>>>0<26|((i|0)==(q|0)|(m|0)<(z|0))){break z}break y}if((i|0)==(q|0)){break z}if((m|0)>=(z|0)){break y}}l=l+2|0;b=k[(p(l,12)+r|0)+11|0];continue}break}if(I){break p}}s=k[j[C>>2]]}if((s&255)==(y|0)){break m}}b=t+12|0;b=h[t+23|0]<=-1?j[b>>2]:b;A:{B:{C:{D:{if(!G){if(j[t+4>>2]){break D}break B}if(!(u&255)){break B}break C}t=j[t>>2]}d=Ya(t+1|0,60);m=(d|0)!=0;if(!d|D){break A}e=k[f+11|0];g=e<<24>>24;d=j[f+4>>2];E:{F:{if(!((g|0)<0?d:e)){break F}i=k[b|0];if(!i){e=0;break E}G:{if((g|0)<=-1){e=k[(j[f>>2]+d|0)-1|0];if((e|0)==(x|0)|(e|0)==(i|0)){break G}break F}g=k[(e+f|0)-1|0];if((g|0)==(x|0)){d=e;break G}d=e;if((i|0)!=(g|0)){break F}}xb(f,d-1|0,-1)}e=0;d=k[b|0];if(!d){break E}while(1){g=f+16+(e+n)|0;if(!k[g|0]){break E}h[g|0]=d;e=e+1|0;d=k[b+1|0];b=b+1|0;if(d){continue}break}}D=1;if((e|0)>=(q|0)){break c}d=(f+16|0)+n|0;b=d+e|0;e=d+q|0;d=k[e|0];if(d){while(1){h[b|0]=d;b=b+1|0;d=k[e+1|0];e=e+1|0;if(d){continue}break}}h[b|0]=0;break c}m=0}o=k[b|0];H:{if(!o){g=1;o=0;break H}I:{while(1){g=0;e=k[b+1|0];if(!e){break I}b=b+1|0;d=k[f+11|0];i=d<<24>>24;J:{K:{L:{if((i|0)<=-1){d=j[f+4>>2];if(w>>>0<=d>>>0){break I}if(!d){break K}g=j[f>>2];break L}if(d>>>0>=w>>>0){break I}g=f;if(!i){break K}}if(k[(d+g|0)-1|0]==(o&255)){break J}}Z(f,o<<24>>24);e=k[b|0]}o=e;if(e&255){continue}break}g=1;o=0}r=j[c+4>>2];u=h[(B+r|0)+11|0]}n=q+E|0;b=r+B|0;M:{if((u|0)<=-1){if(!j[b+4>>2]){break d}b=j[b>>2];break M}if(!(u&255)){break d}}if(!ca(b+1|0,121390)){break d}if(!g){Z(f,o<<24>>24)}b=A;d=(f+16|0)+n|0;e=k[d+1|0];if(e){d=d+1|0;while(1){h[b|0]=e;b=b+1|0;e=k[d+1|0];d=d+1|0;if(e){continue}break}}D=0;h[b|0]=0;n=0;break c}v=v+2|0;u=h[(p(v,12)+r|0)+11|0];continue}}N:{if(!(o&255)|(m|!q)){break N}b=k[f+11|0];if((b<<24>>24<0?j[f+4>>2]:b)>>>0>=w>>>0){break N}Z(f,o<<24>>24)}n=n+1|0;D=0;q=0}o=k[(f+16|0)+n|0];if(o){continue}break}}b=j[f+4>>2];j[a>>2]=j[f>>2];j[a+4>>2]=b;j[a+8>>2]=j[f+8>>2]}M=f+1056|0}function Nq(a,b,c){var d=0,e=0,f=0,g=0;d=M-96|0;M=d;j[d+64>>2]=0;j[d+68>>2]=0;j[d+72>>2]=0;e=ca(h[c+11|0]<0?j[c>>2]:c,121148);a:{if(!e){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[d+72>>2]=0;break a}c=Ya(e,62);if(!c){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[d+72>>2]=0;break a}c=ca(c,121155);if(!c){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[d+72>>2]=0;break a}b:{c:{d:{e:{if(Gd(e,121167)){mc(d+80|0,Ya(c,62));c=k[d+91|0];f:{if(!(c<<24>>24<0?j[d+84>>2]:c)){c=j[d+68>>2];b=j[d+64>>2];break f}Fd(d+48|0,b,d+80|0);c=j[d+64>>2];if(c){b=j[d+68>>2];e=c;g:{if((c|0)==(b|0)){break g}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+64>>2]}j[d+68>>2]=c;T(e)}b=j[d+48>>2];j[d+64>>2]=b;c=j[d+52>>2];j[d+68>>2]=c;j[d+72>>2]=j[d+56>>2]}h:{if((b|0)==(c|0)){j[a+4>>2]=c;j[a>>2]=c;j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;break h}j[d+56>>2]=0;j[d+48>>2]=0;j[d+52>>2]=0;$(d+48|0,121175);if(j[d+68>>2]!=j[d+64>>2]){e=k[121142]|k[121143]<<8|(k[121144]<<16|k[121145]<<24);f=k[121146];b=0;while(1){$(d+48|0,121182);c=ha(d+32|0,j[d+64>>2]+p(b,12)|0);i[d+16>>1]=9;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;wb(c,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}i[d+16>>1]=38;h[d+27|0]=1;h[d+11|0]=5;h[d+5|0]=0;j[d>>2]=e;h[d+4|0]=f;wb(c,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}i[d+16>>1]=60;h[d+27|0]=1;h[d+4|0]=0;j[d>>2]=997485606;h[d+11|0]=4;wb(c,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}c=h[d+43|0];g=(c|0)<0;aa(d+48|0,g?j[d+32>>2]:d+32|0,g?j[d+36>>2]:c&255);$(d+48|0,121186);if(h[d+43|0]<=-1){T(j[d+32>>2])}b=b+1|0;if(b>>>0<(j[d+68>>2]-j[d+64>>2]|0)/12>>>0){continue}break}}$(d+48|0,121191);b=j[d+68>>2];e=j[d+64>>2];if((b|0)!=(e|0)){while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((c|0)!=(e|0)){continue}break}}j[d+68>>2]=e;i:{if((e|0)!=j[d+72>>2]){b=ha(e,d+48|0)+12|0;break i}Wb(d- -64|0,d+48|0);b=j[d+68>>2]}c=j[d+64>>2];j[a+4>>2]=b;j[a>>2]=c;j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;if(h[d+59|0]>-1){break h}T(j[d+48>>2])}if(h[d+91|0]>-1){break e}T(j[d+80>>2]);break e}if(Gd(e,121199)){mc(d+48|0,Ya(c,62));c=h[d+59|0];j:{if((c|0)<=-1){if(j[d+52>>2]){break j}T(j[d+48>>2]);break d}if(!c){break d}}Fd(d+80|0,b,d+48|0);Mq(a,b,d+80|0);a=j[d+80>>2];if(a){c=a;b=j[d+84>>2];e=c;k:{if((c|0)==(b|0)){break k}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((a|0)!=(c|0)){continue}break}e=j[d+80>>2]}c=e;j[d+84>>2]=a;T(c)}if(h[d+59|0]>-1){break e}T(j[d+48>>2]);break e}l:{if(Gd(e,121204)){mc(d+48|0,Ya(c,62));e=k[d+59|0];if(!(e<<24>>24<0?j[d+52>>2]:e)){j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;break l}f=1;c=c+1|0;e=ca(c,121155);if(e){mc(d+32|0,Ya(e,62));c=h[d+43|0];m:{if((c|0)<=-1){if(j[d+36>>2]){break m}T(j[d+32>>2]);break l}if(!c){break l}}Fd(d+80|0,b,d+32|0);Ph(a,b,d+48|0,d+80|0);Md(a);c=j[d+80>>2];if(c){b=j[d+84>>2];e=c;n:{if((c|0)==(b|0)){break n}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+80>>2]}j[d+84>>2]=c;T(e)}if(h[d+43|0]<=-1){T(j[d+32>>2])}f=0;break l}c=ca(c,121213);if(!c){break l}Lq(d+80|0,Ya(c,62));c=j[d+80>>2];if((c|0)!=j[d+84>>2]){Ph(d+32|0,b,d+48|0,d+80|0);c=j[d+64>>2];if(c){b=j[d+68>>2];e=c;o:{if((c|0)==(b|0)){break o}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+64>>2]}j[d+68>>2]=c;T(e)}j[d+64>>2]=j[d+32>>2];b=j[d+40>>2];j[d+68>>2]=j[d+36>>2];j[d+72>>2]=b;Md(d- -64|0);j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];f=0;j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;c=j[d+80>>2];if(!c){break l}b=j[d+84>>2];e=c;p:{if((c|0)==(b|0)){break p}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+80>>2]}j[d+84>>2]=c;T(e);break l}if(!c){break l}j[d+84>>2]=c;T(c);break l}if(!Gd(e,121219)){break d}mc(d+80|0,Ya(c,62));e=k[d+91|0];e=e<<24>>24<0?j[d+84>>2]:e;q:{if(!e){j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;break q}c=ca(c+1|0,121155);if(c){mc(d+48|0,Ya(c,62));c=j[b+8>>2];b=j[b+4>>2];f=k[d+59|0];r:{if(f<<24>>24<0?j[d+52>>2]:f){if((b|0)==(c|0)){break r}cr(j[b>>2],d+80|0,d+48|0);break r}if((b|0)==(c|0)){break r}Vh(j[b>>2],d+80|0)}if(h[d+59|0]>-1){break q}T(j[d+48>>2]);break q}c=j[b+8>>2];b=j[b+4>>2];if((c|0)==(b|0)){break q}Vh(j[b>>2],d+80|0)}if(h[d+91|0]<=-1){T(j[d+80>>2])}if(!e){break e}break d}if(h[d+59|0]<=-1){T(j[d+48>>2])}if(f){break d}}a=j[d+64>>2];if(!a){break a}b=j[d+68>>2];if((a|0)!=(b|0)){break c}b=a;break b}j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;break a}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((a|0)!=(c|0)){continue}break}b=j[d+64>>2]}j[d+68>>2]=a;T(b)}M=d+96|0}function Mq(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;d=M-112|0;M=d;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;j[d+104>>2]=0;j[d+96>>2]=0;j[d+100>>2]=0;f=j[c>>2];a:{if((f|0)==j[c+4>>2]){break a}while(1){j[d+88>>2]=0;j[d+80>>2]=0;j[d+84>>2]=0;b:{c:{e=p(r,12)+f|0;if(h[e+11|0]<=-1){e=j[e>>2]}n=ca(e,121113);d:{if(!n){break d}e=n;f=ca(e+1|0,121113);if(!f){break d}while(1){e=f;j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;l=W(n);if(l>>>0>=4294967280){break c}e:{f:{if(l>>>0>=11){f=l+16&-16;g=U(f);j[d+56>>2]=f|-2147483648;j[d+48>>2]=g;j[d+52>>2]=l;break f}h[d+59|0]=l;g=d+48|0;if(!l){break e}}V(g,n,l)}h[g+l|0]=0;h[d+43|0]=3;i[d+32>>1]=k[121113]|k[121114]<<8;h[d+34|0]=k[121115];h[d+35|0]=0;ec(d- -64|0,d+48|0,d+32|0);if(h[d+43|0]<=-1){T(j[d+32>>2])}if(h[d+59|0]<=-1){T(j[d+48>>2])}g=h[d+75|0];f=(g|0)<0;aa(d+80|0,f?j[d+64>>2]:d- -64|0,f?j[d+68>>2]:g&255);f=ca(e+1|0,121113);if(h[d+75|0]<=-1){T(j[d+64>>2])}n=e;if(f){continue}break}}l=W(e);if(l>>>0<4294967280){g:{h:{if(l>>>0>=11){f=l+16&-16;g=U(f);j[d+72>>2]=f|-2147483648;j[d+64>>2]=g;j[d+68>>2]=l;break h}h[d+75|0]=l;g=d- -64|0;if(!l){break g}}V(g,e,l)}e=0;h[g+l|0]=0;f=k[d+75|0];g=f<<24>>24<0;f=g?j[d+68>>2]:f;m=j[d+64>>2];n=g?m:d- -64|0;while(1){i:{l=f+n|0;f=e+n|0;e=l-f|0;if((e|0)<3){break i}while(1){e=Aa(f,32,e-2|0);if(!e){break i}if(qa(e,121117,3)){f=e+1|0;e=l-f|0;if((e|0)>=3){continue}break i}break}if((e|0)==(l|0)){break i}e=e-n|0;if((e|0)==-1){break i}h[((g?m:d- -64|0)+e|0)+1|0]=11;m=j[d+64>>2];f=k[d+75|0];g=f<<24>>24<0;n=g?m:d- -64|0;f=g?j[d+68>>2]:f;if(f>>>0>=e>>>0){continue}}break}Ab(d+48|0,d- -64|0,11);n=0;f=j[d+52>>2];e=f;o=j[d+48>>2];if((e|0)==(o|0)){break b}while(1){j:{k:{q=p(n,12);l=q+o|0;m=k[l+11|0];s=m<<24>>24>-1;l:{if(!s){g=j[l>>2];f=j[l+4>>2];break l}g=l;f=m}if((f|0)<3){break k}t=f+g|0;e=g;while(1){e=Aa(e,100,f-2|0);if(!e){break k}if(qa(e,121121,3)){e=e+1|0;f=t-e|0;if((f|0)>=3){continue}break k}break}if((e|0)==(t|0)|(e-g|0)==-1){break k}m:{if(!s){m=j[l+4>>2];e=j[l>>2];break m}e=l}n:{if((m|0)<3){break n}g=e+m|0;f=e;while(1){f=Aa(f,105,m-2|0);if(!f){break n}if(qa(f,121125,3)){f=f+1|0;m=g-f|0;if((m|0)>=3){continue}break n}break}if((f|0)==(g|0)){break n}e=f-e|0;if((e|0)==-1){break n}Wa(l,e);o=j[d+48>>2]}j[d+32>>2]=0;j[d+36>>2]=0;j[d+40>>2]=0;Wb(d+32|0,o+q|0);Eh(d+16|0,j[b+16>>2],d+32|0,j[d+48>>2]+q|0);f=k[d+27|0];e=f<<24>>24;if((e|0)<0?j[d+20>>2]:f){Ab(d,d+16|0,10);e=0;f=j[d+4>>2];g=f;if(j[d>>2]!=(f|0)){while(1){Z(d+96|0,10);g=k[d+91|0];f=g<<24>>24<0;aa(d+96|0,f?j[d+80>>2]:d+80|0,f?j[d+84>>2]:g);l=j[d>>2]+p(e,12)|0;f=k[l+11|0];g=f<<24>>24<0;aa(d+96|0,g?j[l>>2]:l,g?j[l+4>>2]:f);e=e+1|0;f=j[d+4>>2];g=j[d>>2];if(e>>>0<(f-g|0)/12>>>0){continue}break}}if(g){if((f|0)==(g|0)){e=g}else{while(1){e=f-12|0;if(h[f-1|0]<=-1){T(j[e>>2])}f=e;if((e|0)!=(g|0)){continue}break}e=j[d>>2]}j[d+4>>2]=g;T(e)}e=k[d+27|0]}if(e<<24>>24<=-1){T(j[d+16>>2])}g=j[d+32>>2];if(!g){break j}f=g;e=j[d+36>>2];l=f;o:{if((f|0)==(e|0)){break o}while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((g|0)!=(e|0)){continue}break}l=j[d+32>>2]}f=l;j[d+36>>2]=g;T(f);break j}Z(d+96|0,10);f=k[d+91|0];e=f<<24>>24<0;aa(d+96|0,e?j[d+80>>2]:d+80|0,e?j[d+84>>2]:f);o=j[d+48>>2];l=q+o|0;e=h[l+11|0];p:{if((e|0)<=-1){g=j[l>>2];f=j[l+4>>2];break p}g=l;f=e&255}q:{if((f|0)<3){break q}m=f+g|0;e=g;while(1){e=Aa(e,115,f-2|0);if(!e){break q}if(qa(e,121129,3)){e=e+1|0;f=m-e|0;if((f|0)>=3){continue}break q}break}if((e|0)==(m|0)|(e-g|0)==-1){break q}j[d+40>>2]=0;j[d+32>>2]=0;j[d+36>>2]=0;h[d+27|0]=3;i[d+16>>1]=k[121129]|k[121130]<<8;h[d+18|0]=k[121131];h[d+19|0]=0;ec(d+32|0,l,d+16|0);if(h[d+27|0]<=-1){T(j[d+16>>2])}f=h[d+43|0];e=(f|0)<0;aa(d+96|0,e?j[d+32>>2]:d+32|0,e?j[d+36>>2]:f&255);if(h[d+43|0]<=-1){T(j[d+32>>2])}o=j[d+48>>2]}j[d+40>>2]=0;j[d+32>>2]=0;j[d+36>>2]=0;h[d+27|0]=3;i[d+16>>1]=k[121133]|k[121134]<<8;h[d+18|0]=k[121135];h[d+19|0]=0;ec(d+32|0,o+q|0,d+16|0);if(h[d+27|0]<=-1){T(j[d+16>>2])}f=h[d+43|0];e=(f|0)<0;aa(d+96|0,e?j[d+32>>2]:d+32|0,e?j[d+36>>2]:f&255);if(h[d+43|0]>-1){break j}T(j[d+32>>2])}e=j[d+48>>2];o=e;n=n+1|0;f=j[d+52>>2];if(n>>>0<(f-e|0)/12>>>0){continue}break}break b}X();z()}X();z()}if(e){if((e|0)==(f|0)){f=e}else{while(1){g=f-12|0;if(h[f-1|0]<=-1){T(j[g>>2])}f=g;if((f|0)!=(e|0)){continue}break}f=j[d+48>>2]}j[d+52>>2]=e;T(f)}if(h[d+75|0]<=-1){T(j[d+64>>2])}if(h[d+91|0]<=-1){T(j[d+80>>2])}r=r+1|0;f=j[c>>2];if(r>>>0<(j[c+4>>2]-f|0)/12>>>0){continue}break}c=j[a>>2];Ab(d+80|0,d+96|0,10);if(c){e=j[a+4>>2];b=c;r:{if((c|0)==(e|0)){break r}while(1){b=e-12|0;if(h[e-1|0]<=-1){T(j[b>>2])}e=b;if((c|0)!=(e|0)){continue}break}b=j[a>>2]}j[a+4>>2]=c;T(b)}j[a>>2]=j[d+80>>2];j[a+4>>2]=j[d+84>>2];j[a+8>>2]=j[d+88>>2];Md(a);if(h[d+107|0]>-1){break a}T(j[d+96>>2])}M=d+112|0} +function Ed(a,b,c,d,e){var f=0,g=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0;f=M-4224|0;M=f;ya(f+3808|0,0,400);ya(f+3408|0,0,400);while(1){q=g<<2;n=p(g,-100);j[q+(f+2608|0)>>2]=n;j[q+(f+3008|0)>>2]=n;n=g|1;q=n<<2;n=p(n,-100);j[q+(f+2608|0)>>2]=n;j[q+(f+3008|0)>>2]=n;n=g|2;q=n<<2;n=p(n,-100);j[q+(f+2608|0)>>2]=n;j[q+(f+3008|0)>>2]=n;n=g|3;q=n<<2;n=p(n,-100);j[q+(f+2608|0)>>2]=n;j[q+(f+3008|0)>>2]=n;g=g+4|0;if((g|0)!=100){continue}break}j[f+2600>>2]=0;j[f+2592>>2]=0;j[f+2596>>2]=0;a:{if(!j[a+76>>2]){break a}Ka(f+2592|0,c);b:{if(j[a+56>>2]){ob(f+2592|0);break b}Va(f+2592|0)}c=f+2592|0;if(h[f+2603|0]>-1){break a}c=j[f+2592>>2]}j[f+2584>>2]=0;j[f+2576>>2]=0;j[f+2580>>2]=0;D=W(c);E=D;c:{d:{e:{f:{if(!j[a+56>>2]){break f}q=W(c);if(q>>>0>=4294967280){break e}g:{h:{if(q>>>0>=11){g=q+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=q;o=f+1648|0;break h}h[f+1659|0]=q;o=f+1648|0;n=o;if(!q){break g}}V(n,c,q)}h[n+q|0]=0;E=ia(f+2576|0,f+1648|0);if(h[o+11|0]>-1){break f}T(j[f+1648>>2])}A=E;if((A|0)==-1){j[a+56>>2]=0;A=D}j[f+2572>>2]=-1;n=j[a+44>>2];if(n){G=j[n+4280>>2]}j[f+2568>>2]=0;j[f+2560>>2]=0;j[f+2564>>2]=0;j[f+2552>>2]=0;j[f+2544>>2]=0;j[f+2548>>2]=0;j[f+2536>>2]=0;j[f+2528>>2]=0;j[f+2532>>2]=0;if(G){i:{if(j[a+56>>2]){q=W(c);if(q>>>0>=4294967280){break e}j:{k:{if(q>>>0>=11){g=q+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=q;o=f+1648|0;break k}h[f+1659|0]=q;o=f+1648|0;n=o;if(!q){break j}}V(n,c,q)}h[n+q|0]=0;ia(f+2528|0,f+1648|0);if(h[o+11|0]<=-1){T(j[f+1648>>2])}Oc(f+2528|0,j[a+60>>2]);da(f+2544|0,f+2528|0);break i}Ka(f+2544|0,c);if((E|0)==-1){break i}Pc(f+2544|0,j[a+52>>2])}Nh(f+1648|0,f+2544|0,G);if(h[f+2571|0]<=-1){T(j[f+2560>>2])}j[f+2568>>2]=j[f+1656>>2];n=j[f+1652>>2];j[f+2560>>2]=j[f+1648>>2];j[f+2564>>2]=n}n=j[a+44>>2];x=0;l:{if(!n){break l}u=l[n+4192>>1];n=j[a+44>>2];x=0;if(!n){break l}C=l[n+4194>>1];n=j[a+44>>2];x=0;if(!n){break l}B=l[n+4196>>1];n=j[a+44>>2];x=0;if(!n){break l}x=l[n+4464>>1]}j[f+2520>>2]=0;j[f+2512>>2]=0;j[f+2516>>2]=0;j[f+2504>>2]=0;j[f+2496>>2]=0;j[f+2500>>2]=0;m:{n:{o:{if(j[a+56>>2]){q=W(c);if(q>>>0>=4294967280){break e}p:{q:{if(q>>>0>=11){g=q+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=q;o=f+1648|0;break q}h[f+1659|0]=q;o=f+1648|0;n=o;if(!q){break p}}V(n,c,q)}h[n+q|0]=0;ia(f+2512|0,f+1648|0);if(h[o+11|0]<=-1){T(j[f+1648>>2])}ia(f+2496|0,f+2560|0)}F=f+2488|0;j[F>>2]=0;j[f+2480>>2]=0;j[f+2484>>2]=0;j[f+2472>>2]=0;j[f+2464>>2]=0;j[f+2468>>2]=0;g=j[d>>2];if((g|0)!=j[d+4>>2]){L=99;I=(E|0)==-1;H=99;while(1){O=N<<2;t=Qe(j[O+g>>2],f+2572|0,0);r:{if(!t){break r}while(1){s:{t:{if(!I){n=A-k[t+1|0]|0;g=n>>31;if((g^g+n)>>>0>4){break t}}u:{if(e|G){break u}n=k[t+16|0];if(!(n&8)|n&4){break u}if(j[a+60>>2]!=49){break t}}r=j[t+4>>2];if(!r|!j[a+44>>2]){break s}y=l[t+2>>1];q=y<<16>>16;w=(q<<1)+r|0;g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]>>0;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<=u>>>0?(g|0)!=(w|0):0){break t}g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]<65511;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<65512?(g|0)!=(w|0):0){break t}g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]>>0;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<=C>>>0?(g|0)!=(w|0):0){break t}g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]>>0;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<=B>>>0?(g|0)!=(w|0):0){break t}if(y){while(1){o=q>>>1|0;n=(o<<1)+r|0;g=l[n>>1]>>0;r=g?n+2|0:r;q=g?(o^-1)+q|0:o;if(q){continue}break}}if((r|0)==(w|0)|l[r>>1]>x>>>0){break s}}t=Qe(j[j[d>>2]+O>>2],f+2572|0,t);if(t){continue}break r}v:{if(j[a+56>>2]){q=t+17|0;o=W(q);if(o>>>0>=4294967280){break e}w:{x:{if(o>>>0>=11){g=o+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=o;break x}h[f+1659|0]=o;n=f+1648|0;if(!o){break w}}V(n,q,o)}h[n+o|0]=0;ia(f+2464|0,f+1648|0);if(h[f+1659|0]<=-1){T(j[f+1648>>2])}n=Xc(a,f+2512|0,f+2464|0);if(!I){Ua(f+2464|0,j[a+60>>2])}n=bc(3,f+2512|0,f+2464|0,1)+n|0;break v}Ka(f+2480|0,t+17|0);g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0;y:{if(j[a+76>>2]){o=W(c);n=W(g);if((o|0)<=(n|0)){q=1;if(k[(g+o|0)-1|0]==k[(g+n|0)-1|0]){break y}}q=0;break y}q=0;r=j[a+52>>2];if(!r){break y}o=k[c|0];n=k[g|0];if(k[(r+p(n,3)|0)+1|0]!=o<<24>>24?(o|0)!=(n|0):0){break y}n=c;while(1){z:{q=n+1|0;r=k[n+1|0];if(!r){break z}o=k[g+1|0];g=g+1|0;n=q;if((o|0)==(r|0)){continue}}break}q=q-c|0}if(!I){Pa(f+2480|0,j[a+52>>2])}o=W(c);if(o>>>0>=4294967280){break e}A:{B:{if(o>>>0>=11){g=o+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=o;break B}h[f+1659|0]=o;n=f+1648|0;if(!o){break A}}V(n,c,o)}h[n+o|0]=0;g=k[f+2491|0];s=g<<24>>24<0?j[f+2484>>2]:g;n=0;C:{if(!s){break C}n=0;g=k[f+1659|0];o=g<<24>>24;v=(o|0)<0?j[f+1652>>2]:g;D:{if((v|0)<1){break D}g=1;n=(Ia(f+2480|0,(o|0)<0?j[f+1648>>2]:f+1648|0,1)|0)!=-1;if((v|0)!=1){while(1){n=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,1)|0)!=-1)+n|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}if((v|0)<2|n>>>0<2){break D}r=v-1|0;g=0;o=0;while(1){o=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,2)|0)!=-1)+o|0;g=g+1|0;if((r|0)!=(g|0)){continue}break}n=n+o|0;if((v|0)<3|o>>>0<2){break D}r=v-2|0;g=0;o=0;while(1){o=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,3)|0)!=-1)+o|0;g=g+1|0;if((r|0)!=(g|0)){continue}break}n=n+o|0}g=n;n=s-v|0;n=g+((n|0)>2?2-n|0:0)|0}if(h[f+1659|0]<=-1){T(j[f+1648>>2])}n=n+q|0}E:{if(h[f+2491|0]<=-1){h[j[f+2480>>2]]=0;j[f+2484>>2]=0;break E}h[f+2491|0]=0;h[f+2480|0]=0}q=k[t+16|0];F:{if(!(q&4)){break F}G:{H:{I:{J:{K:{g=0;L:{if(!(q&1)){break L}o=(k[t|0]+t|0)+18|0;g=o;if(!(q&2)){break L}g=k[o|0]|k[o+1|0]<<8|(k[o+2|0]<<16|k[o+3|0]<<24)}o=W(g);if(o>>>0<4294967280){M:{N:{if(o>>>0>=11){q=o+16&-16;s=U(q);j[f+1656>>2]=q|-2147483648;j[f+1648>>2]=s;j[f+1652>>2]=o;break N}h[f+1659|0]=o;s=f+1648|0;if(!o){break M}}V(s,g,o)}h[o+s|0]=0;h[f+859|0]=3;i[f+848>>1]=k[121393]|k[121394]<<8;h[f+850|0]=k[121395];h[f+851|0]=0;g=ec(f+2480|0,f+1648|0,f+848|0);if(h[f+859|0]<=-1){T(j[f+848>>2])}if(h[f+1659|0]<=-1){T(j[f+1648>>2])}if(!g){break F}if(j[a+56>>2]){ia(f+2464|0,f+2480|0);g=Xc(a,f+2512|0,f+2464|0);if(!I){Ua(f+2464|0,j[a+60>>2])}g=bc(3,f+2512|0,f+2464|0,1)+g|0;break G}g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0;O:{if(j[a+76>>2]){o=W(c);q=W(g);if((o|0)<=(q|0)){y=1;if(k[(g+o|0)-1|0]==k[(g+q|0)-1|0]){break O}}y=0;break O}y=0;r=j[a+52>>2];if(!r){break O}o=k[c|0];q=k[g|0];if(k[(r+p(q,3)|0)+1|0]!=o<<24>>24?(o|0)!=(q|0):0){break O}o=c;while(1){P:{q=o+1|0;s=k[o+1|0];if(!s){break P}r=k[g+1|0];g=g+1|0;o=q;if((r|0)==(s|0)){continue}}break}y=q-c|0}if(!I){Pa(f+2480|0,j[a+52>>2])}q=W(c);if(q>>>0>=4294967280){break e}Q:{R:{if(q>>>0>=11){g=q+16&-16;o=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=o;j[f+1652>>2]=q;break R}h[f+1659|0]=q;o=f+1648|0;if(!q){break Q}}V(o,c,q)}h[o+q|0]=0;q=k[f+2491|0];r=q<<24>>24<0?j[f+2484>>2]:q;g=0;if(!r){break H}o=0;g=k[f+1659|0];q=g<<24>>24;v=(q|0)<0?j[f+1652>>2]:g;if((v|0)<1){break I}g=1;o=(Ia(f+2480|0,(q|0)<0?j[f+1648>>2]:f+1648|0,1)|0)!=-1;if((v|0)!=1){break K}break J}break e}while(1){o=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,1)|0)!=-1)+o|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}if((v|0)<2|o>>>0<2){break I}q=v-1|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,2)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0;if((v|0)<3|s>>>0<2){break I}q=v-2|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,3)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0}g=r-v|0;g=((g|0)>2?2-g|0:0)+o|0}if(h[f+1659|0]<=-1){T(j[f+1648>>2])}g=g+y|0}n=(g|0)>(n|0)?g:n}o=-2e4;S:{if(!G|(n|0)<3){break S}g=A-k[t+1|0]|0;q=g>>31;if((q^g+q)>>>0>3){break S}T:{if(j[a+56>>2]){q=t+17|0;r=W(q);if(r>>>0>=4294967280){break e}U:{V:{if(r>>>0>=11){g=r+16&-16;o=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=o;j[f+1652>>2]=r;break V}h[f+1659|0]=r;o=f+1648|0;if(!r){break U}}V(o,q,r)}h[o+r|0]=0;ia(f+2528|0,f+1648|0);if(h[f+1659|0]<=-1){T(j[f+1648>>2])}Oc(f+2528|0,j[a+60>>2]);da(f+2544|0,f+2528|0);break T}Ka(f+2544|0,t+17|0);Pc(f+2544|0,j[a+52>>2])}Nh(f+1648|0,f+2544|0,G);if(h[f+2491|0]<=-1){T(j[f+2480>>2])}j[F>>2]=j[f+1656>>2];g=j[f+1652>>2];j[f+2480>>2]=j[f+1648>>2];j[f+2484>>2]=g;if(j[a+56>>2]){ia(f+2464|0,f+2480|0);o=bc(3,f+2496|0,f+2464|0,1)<<1;break S}g=k[f+2491|0];r=g<<24>>24<0?j[f+2484>>2]:g;g=0;W:{if(!r){break W}o=0;g=k[f+2571|0];q=g<<24>>24;v=(q|0)<0?j[f+2564>>2]:g;X:{if((v|0)<1){break X}g=1;o=(Ia(f+2480|0,(q|0)<0?j[f+2560>>2]:f+2560|0,1)|0)!=-1;if((v|0)!=1){while(1){o=((Ia(f+2480|0,(h[f+2571|0]<0?j[f+2560>>2]:f+2560|0)+g|0,1)|0)!=-1)+o|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}if((v|0)<2|o>>>0<2){break X}q=v-1|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+2571|0]<0?j[f+2560>>2]:f+2560|0)+g|0,2)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0;if((v|0)<3|s>>>0<2){break X}q=v-2|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+2571|0]<0?j[f+2560>>2]:f+2560|0)+g|0,3)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0}g=r-v|0;g=((g|0)>2?2-g|0:0)+o|0}o=g<<1}q=L<<2;g=q+(f+3008|0)|0;if(j[g>>2]<(n|0)){j[g>>2]=n;j[q+(f+3808|0)>>2]=t;g=0;while(1){r=j[(f+3008|0)+(g<<2)>>2];J=(r|0)<(n|0);w=g|1;q=j[(f+3008|0)+(w<<2)>>2];n=J?r:n;K=(q|0)<(n|0);v=g|2;s=j[(f+3008|0)+(v<<2)>>2];n=K?q:n;y=(s|0)<(n|0);r=g|3;q=j[(f+3008|0)+(r<<2)>>2];n=y?s:n;s=(q|0)<(n|0);n=s?q:n;L=s?r:y?v:K?w:J?g:L;g=g+4|0;if((g|0)!=100){continue}break}}g=H<<2;n=g+(f+2608|0)|0;if(j[n>>2]<(o|0)){j[n>>2]=o;j[g+(f+3408|0)>>2]=t+17;g=0;while(1){n=j[(f+2608|0)+(g<<2)>>2];J=(n|0)<(o|0);v=g|1;q=j[(f+2608|0)+(v<<2)>>2];n=J?n:o;K=(q|0)<(n|0);s=g|2;o=j[(f+2608|0)+(s<<2)>>2];n=K?q:n;y=(o|0)<(n|0);r=g|3;q=j[(f+2608|0)+(r<<2)>>2];n=y?o:n;w=(q|0)<(n|0);o=w?q:n;H=w?r:y?s:K?v:J?g:H;g=g+4|0;if((g|0)!=100){continue}break}}t=Qe(j[j[d>>2]+O>>2],f+2572|0,t);if(t){continue}break}}N=N+1|0;g=j[d>>2];if(N>>>0>2]-g>>2>>>0){continue}break}}j[f+2456>>2]=0;j[f+2448>>2]=0;j[f+2452>>2]=0;t=(E|0)==-1;u=1;C=0;Y:{Z:{while(1){_:{if(j[a+56>>2]){Oe(f+2448|0,j[f+2512>>2],j[f+2516>>2]);if((u|0)<(A|0)){e=j[f+2448>>2];g=u;while(1){d=e+(g<<1)|0;h[d|0]=42;h[d+1|0]=0;g=g+4|0;if((A|0)>(g|0)){continue}break}}if(!t){Ua(f+2448|0,j[a+60>>2])}g=bc(A,f+2512|0,f+2448|0,2);break _}$:{aa:{e=W(c);if(e>>>0<4294967280){ba:{ca:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+1656>>2]=d|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=e;break ca}h[f+1659|0]=e;n=f+1648|0;if(!e){break ba}}V(n,c,e)}h[e+n|0]=0;g=u;if((A|0)>(g|0)){break aa}break $}break e}while(1){h[(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0]=42;g=g+4|0;if((A|0)>(g|0)){continue}break}}if(!t){Pa(f+1648|0,j[a+52>>2])}e=W(c);if(e>>>0>=4294967280){break Z}da:{ea:{if(e>>>0>=11){d=e+16&-16;o=U(d);j[f+856>>2]=d|-2147483648;j[f+848>>2]=o;j[f+852>>2]=e;break ea}h[f+859|0]=e;o=f+848|0;if(!e){break da}}V(o,c,e)}g=0;h[e+o|0]=0;d=k[f+1659|0];e=d<<24>>24<0?j[f+1652>>2]:d;if(e){r=0;o=1;d=k[f+859|0];q=d<<24>>24<0?j[f+852>>2]:d;s=q;fa:{if((A|0)<1){break fa}while(1){g=0;n=0;if((o|0)>(q|0)){break fa}while(1){n=((Ia(f+1648|0,(h[f+859|0]<0?j[f+848>>2]:f+848|0)+g|0,o)|0)!=-1)+n|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}r=n+r|0;if(n>>>0<2){break fa}s=s-1|0;d=(o|0)==(A|0);o=o+1|0;if(!d){continue}break}}d=e-q|0;e=d>>31;e=e^d+e;d=e-2|0;g=r-(d>>>0>e>>>0?0:d)|0}if(h[f+859|0]<=-1){T(j[f+848>>2])}if(h[f+1659|0]>-1){break _}T(j[f+1648>>2])}C=g+C|0;u=u+1|0;if((u|0)!=4){continue}break}o=0;ya(f+1648|0,0,800);ya(f+848|0,0,800);while(1){e=(f+48|0)+(o<<2)|0;d=p(o,-100);j[e>>2]=d;j[e+16>>2]=d-400;j[e+12>>2]=d-300;j[e+8>>2]=d-200;j[e+4>>2]=d-100;o=o+5|0;if((o|0)!=200){continue}break}F=Pd(100,12);if(!F){break n}q=(C|0)/3|0;u=199;H=0;while(1){o=j[(f+3808|0)+(H<<2)>>2];ga:{if(!o){break ga}ha:{if(h[f+2491|0]<=-1){h[j[f+2480>>2]]=0;j[f+2484>>2]=0;break ha}h[f+2491|0]=0;h[f+2480|0]=0}d=0;n=k[o+16|0];g=0;ia:{if(!(n&4)){break ia}e=0;ja:{if(!(n&1)){break ja}g=(o+k[o|0]|0)+18|0;e=g;if(!(n&2)){break ja}e=k[g|0]|k[g+1|0]<<8|(k[g+2|0]<<16|k[g+3|0]<<24)}g=W(e);if(g>>>0>=4294967280){break d}ka:{la:{if(g>>>0>=11){n=g+16&-16;s=U(n);j[f+40>>2]=n|-2147483648;j[f+32>>2]=s;j[f+36>>2]=g;break la}h[f+43|0]=g;s=f+32|0;if(!g){break ka}}V(s,e,g)}h[g+s|0]=0;h[f+27|0]=3;i[f+16>>1]=k[121393]|k[121394]<<8;h[f+18|0]=k[121395];h[f+19|0]=0;e=ec(f+2480|0,f+32|0,f+16|0);if(h[f+27|0]<=-1){T(j[f+16>>2])}if(h[f+43|0]<=-1){T(j[f+32>>2])}g=0;if(!e){break ia}g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0}B=vk(j[a+44>>2],F,o+17|0,k[o|0],j[o+4>>2],l[o+2>>1],c,D,g);if((B|0)<1){break ga}while(1){e=q;ma:{if(j[a+56>>2]){o=j[F+p(d,12)>>2];r=W(o);if(r>>>0>=4294967280){break d}na:{oa:{if(r>>>0>=11){g=r+16&-16;n=U(g);j[f+40>>2]=g|-2147483648;j[f+32>>2]=n;j[f+36>>2]=r;break oa}h[f+43|0]=r;n=f+32|0;if(!r){break na}}V(n,o,r)}h[n+r|0]=0;ia(f+2464|0,f+32|0);if(h[f+43|0]<=-1){T(j[f+32>>2])}n=Xc(a,f+2512|0,f+2464|0);if((E|0)!=-1){Ua(f+2464|0,j[a+60>>2])}n=bc(A,f+2512|0,f+2464|0,2)+n|0;break ma}Ka(f+2480|0,j[F+p(d,12)>>2]);g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0;pa:{if(j[a+76>>2]){o=W(c);n=W(g);if((o|0)<=(n|0)){C=1;if(k[(g+o|0)-1|0]==k[(g+n|0)-1|0]){break pa}}C=0;break pa}C=0;r=j[a+52>>2];if(!r){break pa}o=k[c|0];n=k[g|0];if(k[(r+p(n,3)|0)+1|0]!=o<<24>>24?(o|0)!=(n|0):0){break pa}n=c;while(1){qa:{o=n+1|0;t=k[n+1|0];if(!t){break qa}r=k[g+1|0];g=g+1|0;n=o;if((r|0)==(t|0)){continue}}break}C=o-c|0}if((E|0)!=-1){Pa(f+2480|0,j[a+52>>2])}r=W(c);if(r>>>0>=4294967280){break Y}ra:{sa:{if(r>>>0>=11){g=r+16&-16;n=U(g);j[f+40>>2]=g|-2147483648;j[f+32>>2]=n;j[f+36>>2]=r;break sa}h[f+43|0]=r;n=f+32|0;if(!r){break ra}}V(n,c,r)}o=0;h[n+r|0]=0;n=k[f+2491|0];t=n<<24>>24<0?j[f+2484>>2]:n;if(t){r=0;o=1;n=k[f+43|0];x=n<<24>>24<0?j[f+36>>2]:n;s=x;ta:{if((A|0)<1){break ta}while(1){g=0;n=0;if((o|0)>(x|0)){break ta}while(1){n=((Ia(f+2480|0,(h[f+43|0]<0?j[f+32>>2]:f+32|0)+g|0,o)|0)!=-1)+n|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}r=n+r|0;if(n>>>0<2){break ta}s=s-1|0;n=(o|0)==(A|0);o=o+1|0;if(!n){continue}break}}n=t-x|0;g=n>>31;g=g^g+n;n=g-2|0;o=r-(g>>>0>>0?0:n)|0}if(h[f+43|0]<=-1){T(j[f+32>>2])}n=o+C|0}ua:{if((e|0)<=(n|0)){t=u<<2;r=t+(f+48|0)|0;if(j[r>>2]<(n|0)){o=t+(f+1648|0)|0;e=j[o>>2];va:{if(!e){break va}T(e);g=t+(f+848|0)|0;e=j[g>>2];if(!e){break va}T(e);j[g>>2]=0}j[r>>2]=n;e=F+p(d,12)|0;j[o>>2]=j[e>>2];j[t+(f+848|0)>>2]=j[e+8>>2];g=0;while(1){e=j[(f+48|0)+(g<<2)>>2];w=(e|0)<(n|0);x=g|1;o=j[(f+48|0)+(x<<2)>>2];e=w?e:n;v=(o|0)<(e|0);t=g|2;r=j[(f+48|0)+(t<<2)>>2];e=v?o:e;s=(r|0)<(e|0);o=g|3;n=j[(f+48|0)+(o<<2)>>2];e=s?r:e;r=(n|0)<(e|0);n=r?n:e;u=r?o:s?t:v?x:w?g:u;g=g+4|0;if((g|0)!=200){continue}break}break ua}e=F+p(d,12)|0;T(j[e>>2]);e=j[e+8>>2];if(!e){break ua}T(e);break ua}e=F+p(d,12)|0;T(j[e>>2]);e=j[e+8>>2];if(!e){break ua}T(e)}d=d+1|0;if((B|0)!=(d|0)){continue}break}}H=H+1|0;if((H|0)!=100){continue}break}break o}X();z()}break d}T(F);d=1;while(1){D=j[(f+48|0)+(d<<2)>>2];g=d;while(1){e=g-1|0;x=e<<2;q=x+(f+48|0)|0;u=j[q>>2];if((u|0)<(D|0)){n=x+(f+1648|0)|0;r=j[n>>2];j[q>>2]=D;t=g<<2;o=t+(f+1648|0)|0;j[n>>2]=j[o>>2];n=x+(f+848|0)|0;q=j[n>>2];s=n;n=t+(f+848|0)|0;j[s>>2]=j[n>>2];j[t+(f+48|0)>>2]=u;j[o>>2]=r;j[n>>2]=q;n=(g|0)>1;g=e;if(n){continue}}break}d=d+1|0;if((d|0)!=200){continue}break}if(G){t=1;while(1){r=j[(f+2608|0)+(t<<2)>>2];g=t;while(1){d=g-1|0;e=d<<2;n=e+(f+2608|0)|0;o=j[n>>2];if((o|0)<(r|0)){e=e+(f+3408|0)|0;q=j[e>>2];j[n>>2]=r;s=e;n=g<<2;e=n+(f+3408|0)|0;j[s>>2]=j[e>>2];j[n+(f+2608|0)>>2]=o;j[e>>2]=q;e=(g|0)>1;g=d;if(e){continue}}break}t=t+1|0;if((t|0)!=100){continue}break}}j[f+12>>2]=0;P=1;d=j[a+44>>2];wa:{if(!d){break wa}d=j[d+4292>>2];if((d|0)<0){break wa}P=(10- +(d|0))/5}j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;D=G?0:A;v=(E|0)==-1;r=0;xa:{ya:{while(1){za:{x=r<<2;e=j[x+(f+1648|0)>>2];Aa:{if(!e){break Aa}j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;Ba:{if(j[a+56>>2]){n=W(e);if(n>>>0>=4294967280){break ya}Ca:{Da:{if(n>>>0>=11){d=n+16&-16;o=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=o;j[f+4>>2]=n;break Da}h[f+11|0]=n;o=f;if(!n){break Ca}}V(o,e,n)}h[n+o|0]=0;t=ia(f+32|0,f);if(h[f+11|0]<=-1){T(j[f>>2])}Ua(f+32|0,j[a+60>>2]);da(f+16|0,f+32|0);break Ba}Ka(f+16|0,e);if(!v){Pa(f+16|0,j[a+52>>2])}t=W(e)}s=0;Hh(a,c,h[f+27|0]<0?j[f+16>>2]:f+16|0,f,f+4220|0,f+4216|0);e=j[f+4216>>2];if(e){g=j[f>>2];Ea:{if(!g){break Ea}n=j[f+4220>>2];if(!n){break Ea}d=n+1|0;while(1){Fa:{Ga:{switch(k[e+(p(d,g)+n|0)|0]){case 2:n=n-1|0;g=g-1|0;s=s+1|0;break Fa;case 0:g=g-1|0;break Fa;default:break Ga}}n=n-1|0}if(!g){break Ea}if(n){continue}break}}T(e)}if(!((t|0)!=(A|0)|(s|0)!=(A|0))){d=(f+48|0)+(r<<2)|0;j[d>>2]=j[d>>2]+2e3;if(h[f+27|0]>-1){break za}T(j[f+16>>2]);break za}Ha:{if(j[a+56>>2]){ia(f+32|0,f+16|0);d=bc(2,f+2512|0,f+32|0,10);if(!v){Oe(f+2464|0,j[f+2512>>2],j[f+2516>>2]);Ua(f+2464|0,j[a+60>>2]);e=bc(2,f+32|0,f+2464|0,10)+d|0;break Ha}e=bc(2,f+32|0,f+2512|0,10)+d|0;break Ha}e=W(c);if(e>>>0>=4294967280){break ya}Ia:{Ja:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=e;break Ja}h[f+11|0]=e;n=f;if(!e){break Ia}}V(n,c,e)}y=0;h[e+n|0]=0;d=k[f+27|0];u=d<<24>>24<0?j[f+20>>2]:d;if(u){g=0;d=k[f+11|0];o=d<<24>>24;w=(o|0)<0?j[f+4>>2]:d;Ka:{if((w|0)<1){o=0;break Ka}B=w-1|0;n=0;while(1){d=n+1|0;La:{if((Ia(f+16|0,(o<<24>>24<0?j[f>>2]:f)+g|0,1)|0)!=-1){break La}d=(g?(g|0)==(B|0)?-2:-1:-2)+n|0}n=d;g=g+1|0;if((w|0)!=(g|0)){o=k[f+11|0];continue}break}o=0;if((w|0)<2){g=n;break Ka}e=w-2|0;q=0;while(1){d=q+1|0;Ma:{if((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+o|0,2)|0)!=-1){break Ma}d=(o?(e|0)==(o|0)?-2:-1:-2)+q|0}q=d;o=o+1|0;if((B|0)!=(o|0)){continue}break}g=n;o=q}d=u-w|0;e=d>>31;e=e^d+e;d=e-2|0;y=(g+o|0)-(d>>>0>e>>>0?0:d)|0}if(h[f+11|0]<=-1){T(j[f>>2])}Na:{Oa:{Pa:{if(!v){Ka(f+2480|0,c);Pa(f+2480|0,j[a+52>>2]);d=k[f+2491|0];u=d<<24>>24<0?j[f+2484>>2]:d;d=0;if(!u){break Na}g=0;d=k[f+27|0];o=d<<24>>24;w=(o|0)<0?j[f+20>>2]:d;if((w|0)<1){o=0;break Oa}B=w-1|0;n=0;while(1){d=n+1|0;Qa:{if((Ia(f+2480|0,(o<<24>>24<0?j[f+16>>2]:f+16|0)+g|0,1)|0)!=-1){break Qa}d=(g?(g|0)==(B|0)?-2:-1:-2)+n|0}n=d;g=g+1|0;if((w|0)==(g|0)){break Pa}o=k[f+27|0];continue}}e=W(c);if(e>>>0>=4294967280){break ya}Ra:{Sa:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=e;break Sa}h[f+11|0]=e;n=f;if(!e){break Ra}}V(n,c,e)}o=0;h[e+n|0]=0;e=k[f+11|0];d=e<<24>>24;u=(d|0)<0?j[f+4>>2]:e;if(u){g=0;d=k[f+27|0];o=d<<24>>24;w=(o|0)<0?j[f+20>>2]:d;Ta:{if((w|0)<1){o=0;break Ta}B=w-1|0;n=0;while(1){d=n+1|0;Ua:{if((Ia(f,(o<<24>>24<0?j[f+16>>2]:f+16|0)+g|0,1)|0)!=-1){break Ua}d=(g?(g|0)==(B|0)?-2:-1:-2)+n|0}n=d;g=g+1|0;if((w|0)!=(g|0)){o=k[f+27|0];continue}break}o=0;if((w|0)<2){g=n;break Ta}e=w-2|0;q=0;while(1){d=q+1|0;Va:{if((Ia(f,(h[f+27|0]<0?j[f+16>>2]:f+16|0)+o|0,2)|0)!=-1){break Va}d=(o?(e|0)==(o|0)?-2:-1:-2)+q|0}q=d;o=o+1|0;if((B|0)!=(o|0)){continue}break}g=n;o=q}d=u-w|0;e=d>>31;e=e^d+e;d=e-2|0;o=(g+o|0)-(d>>>0>e>>>0?0:d)|0;d=k[f+11|0]}if(d<<24>>24<=-1){T(j[f>>2])}e=o+y|0;break Ha}o=0;if((w|0)<2){g=n;break Oa}e=w-2|0;q=0;while(1){d=q+1|0;Wa:{if((Ia(f+2480|0,(h[f+27|0]<0?j[f+16>>2]:f+16|0)+o|0,2)|0)!=-1){break Wa}d=(o?(e|0)==(o|0)?-2:-1:-2)+q|0}q=d;o=o+1|0;if((B|0)!=(o|0)){continue}break}g=n;o=q}d=u-w|0;e=d>>31;e=e^d+e;d=e-2|0;d=(g+o|0)-(d>>>0>e>>>0?0:d)|0}e=d+y|0}Xa:{if(j[a+56>>2]){y=bc(4,f+2512|0,f+32|0,2);n=Xc(a,f+2512|0,f+32|0);break Xa}g=W(c);if(g>>>0>=4294967280){break ya}Ya:{Za:{if(g>>>0>=11){d=g+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=g;break Za}h[f+11|0]=g;n=f;if(!g){break Ya}}V(n,c,g)}y=0;h[g+n|0]=0;d=k[f+27|0];q=d<<24>>24<0?j[f+20>>2]:d;if(q){n=0;d=k[f+11|0];o=d<<24>>24;u=(o|0)<0?j[f+4>>2]:d;_a:{if((u|0)<1){break _a}g=1;n=(Ia(f+16|0,(o|0)<0?j[f>>2]:f,1)|0)!=-1;if((u|0)!=1){while(1){n=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,1)|0)!=-1)+n|0;g=g+1|0;if((u|0)!=(g|0)){continue}break}}if((u|0)<2|n>>>0<2){break _a}d=u-1|0;g=0;o=0;while(1){o=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,2)|0)!=-1)+o|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}n=n+o|0;if((u|0)<3|o>>>0<2){break _a}d=u-2|0;g=0;o=0;while(1){o=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,3)|0)!=-1)+o|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}n=n+o|0;if((u|0)<4|o>>>0<2){break _a}d=u-3|0;g=0;o=0;while(1){o=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,4)|0)!=-1)+o|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}n=n+o|0}d=q-u|0;g=d>>31;q=n;n=g^d+g;d=n-2|0;y=q-(d>>>0>n>>>0?0:d)|0}if(h[f+11|0]<=-1){T(j[f>>2])}g=h[f+27|0]<0?j[f+16>>2]:f+16|0;if(j[a+76>>2]){q=W(c);d=W(g);if((q|0)<=(d|0)){n=1;if(k[(g+q|0)-1|0]==k[(d+g|0)-1|0]){break Xa}}n=0;break Xa}n=0;o=j[a+52>>2];if(!o){break Xa}q=k[c|0];d=k[g|0];if(k[(o+p(d,3)|0)+1|0]!=q<<24>>24?(q|0)!=(d|0):0){break Xa}n=c;while(1){$a:{d=n+1|0;o=k[n+1|0];if(!o){break $a}q=k[g+1|0];g=g+1|0;n=d;if((o|0)==(q|0)){continue}}break}n=d-c|0}d=A-t|0;g=d>>31;g=(s<<1)-(g^d+g)|0;q=x+(f+48|0)|0;if(v){d=0}else{d=(Pp(a,c,h[f+27|0]<0?j[f+16>>2]:f+16|0,f+12|0)|0)!=0}j[q>>2]=((d+(((e+g|0)+y|0)+n|0)|0)+(j[f+12>>2]?10:0)|0)+(+(e|0)-1){break Aa}T(j[f+16>>2])}r=r+1|0;if((r|0)!=200){continue}}break}d=1;while(1){D=j[(f+48|0)+(d<<2)>>2];g=d;while(1){e=g-1|0;x=e<<2;q=x+(f+48|0)|0;u=j[q>>2];if((u|0)<(D|0)){n=x+(f+1648|0)|0;r=j[n>>2];j[q>>2]=D;t=g<<2;o=t+(f+1648|0)|0;j[n>>2]=j[o>>2];n=x+(f+848|0)|0;q=j[n>>2];s=n;n=t+(f+848|0)|0;j[s>>2]=j[n>>2];j[t+(f+48|0)>>2]=u;j[o>>2]=r;j[n>>2]=q;n=(g|0)>1;g=e;if(n){continue}}break}d=d+1|0;if((d|0)!=200){continue}break}if(G){u=(E|0)==-1;o=0;while(1){r=o<<2;e=j[r+(f+3408|0)>>2];ab:{if(!e){break ab}j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;bb:{if(j[a+56>>2]){n=W(e);if(n>>>0>=4294967280){break ya}cb:{db:{if(n>>>0>=11){d=n+16&-16;s=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=s;j[f+4>>2]=n;break db}h[f+11|0]=n;s=f;if(!n){break cb}}V(s,e,n)}h[n+s|0]=0;C=ia(f+32|0,f);if(h[f+11|0]<=-1){T(j[f>>2])}Ua(f+32|0,j[a+60>>2]);da(f+16|0,f+32|0);break bb}Ka(f+16|0,e);if(!u){Pa(f+16|0,j[a+52>>2])}C=W(e)}eb:{if(j[a+56>>2]){s=Xc(a,f+2512|0,f+32|0);break eb}g=h[f+27|0]<0?j[f+16>>2]:f+16|0;if(j[a+76>>2]){e=W(c);d=W(g);if((e|0)<=(d|0)){s=1;if(k[(e+g|0)-1|0]==k[(d+g|0)-1|0]){break eb}}s=0;break eb}s=0;n=j[a+52>>2];if(!n){break eb}e=k[c|0];d=k[g|0];if(k[(n+p(d,3)|0)+1|0]!=e<<24>>24?(e|0)!=(d|0):0){break eb}n=c;while(1){fb:{d=n+1|0;q=k[n+1|0];if(!q){break fb}e=k[g+1|0];g=g+1|0;n=d;if((e|0)==(q|0)){continue}}break}s=d-c|0}e=W(c);if(e>>>0>=4294967280){break ya}gb:{hb:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=e;break hb}h[f+11|0]=e;n=f;if(!e){break gb}}V(n,c,e)}h[e+n|0]=0;e=A-C|0;n=e>>31;d=r+(f+2608|0)|0;Q=d,R=((s-(n^e+n)|0)+(Op(a,f,f+16|0)<<1)|0)+j[d>>2]|0,j[Q>>2]=R;if(h[f+11|0]<=-1){T(j[f>>2])}if(h[f+27|0]>-1){break ab}T(j[f+16>>2])}t=1;o=o+1|0;if((o|0)!=100){continue}break}while(1){o=j[(f+2608|0)+(t<<2)>>2];g=t;while(1){c=g-1|0;d=c<<2;e=d+(f+2608|0)|0;q=j[e>>2];if((q|0)<(o|0)){d=d+(f+3408|0)|0;n=j[d>>2];j[e>>2]=o;r=d;e=g<<2;d=e+(f+3408|0)|0;j[r>>2]=j[d>>2];j[e+(f+2608|0)>>2]=q;j[d>>2]=n;d=(g|0)>1;g=c;if(d){continue}}break}t=t+1|0;if((t|0)!=100){continue}break}}q=(j[b+4>>2]-j[b>>2]|0)/12|0;n=0;B=0;while(1){t=n<<2;r=t+(f+1648|0)|0;d=j[r>>2];ib:{if(!d){break ib}jb:{u=j[b+4>>2];g=j[b>>2];c=(u-g|0)/12|0;if(c>>>0>=q+j[a+68>>2]>>>0|c>>>0>=m[a+48>>2]){break jb}e=j[t+(f+48|0)>>2];kb:{if(B){A=1;if((e|0)<=1e3){break jb}break kb}A=1;if((e|0)>1e3){break kb}if((e|0)>-101){A=0;break kb}lb:{if(c>>>0>q>>>0){break lb}c=j[a+44>>2];if(!c){break kb}if(j[c+4296>>2]){break lb}g=j[b>>2];u=j[b+4>>2];break kb}T(d);B=1;c=j[t+(f+848|0)>>2];if(!c){break ib}T(c);break ib}mb:{nb:{if((g|0)!=(u|0)){e=t+(f+848|0)|0;u=0;while(1){c=j[e>>2];ob:{if(!c){s=j[r>>2];d=s;c=p(u,12)+g|0;if(h[c+11|0]<=-1){c=j[c>>2]}if(!ca(d,c)){break ob}break nb}d=p(u,12)+g|0;if(h[d+11|0]<=-1){d=j[d>>2]}if(ca(c,d)){break nb}s=j[r>>2]}d=W(s);if(d>>>0>=4294967280){break c}pb:{qb:{if(d>>>0>=11){c=d+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=d;break qb}h[f+27|0]=d;o=f+16|0;if(!d){break pb}}V(o,s,d)}h[d+o|0]=0;c=cc(a,f+16|0,0,0,0);if(h[f+27|0]<=-1){T(j[f+16>>2])}if(!c){break nb}u=u+1|0;g=j[b>>2];if(u>>>0<(j[b+4>>2]-g|0)/12>>>0){continue}break}}d=j[t+(f+848|0)>>2];if(d){e=W(d);if(e>>>0>=4294967280){break c}rb:{sb:{if(e>>>0>=11){c=e+16&-16;s=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=s;j[f+20>>2]=e;break sb}h[f+27|0]=e;s=f+16|0;if(!e){break rb}}V(s,d,e)}h[e+s|0]=0;d=j[b+4>>2];if(d>>>0>2]){c=j[f+20>>2];j[d>>2]=j[f+16>>2];j[d+4>>2]=c;j[d+8>>2]=j[f+24>>2];j[b+4>>2]=d+12;break nb}Db(b,f+16|0);if(h[f+27|0]>-1){break nb}T(j[f+16>>2]);break nb}d=j[r>>2];e=W(d);if(e>>>0>=4294967280){break mb}tb:{ub:{if(e>>>0>=11){c=e+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=e;break ub}h[f+27|0]=e;o=f+16|0;if(!e){break tb}}V(o,d,e)}h[e+o|0]=0;d=j[b+4>>2];if(d>>>0>2]){c=j[f+20>>2];j[d>>2]=j[f+16>>2];j[d+4>>2]=c;j[d+8>>2]=j[f+24>>2];j[b+4>>2]=d+12;break nb}Db(b,f+16|0);if(h[f+27|0]>-1){break nb}T(j[f+16>>2])}T(j[r>>2]);c=j[t+(f+848|0)>>2];if(c){T(c)}B=A;break ib}break c}T(d);c=j[t+(f+848|0)>>2];if(!c){break ib}T(c)}n=n+1|0;if((n|0)!=200){continue}break}break xa}X();z()}vb:{if(G){q=((j[b+4>>2]-j[b>>2]|0)/12|0)+2|0;u=0;while(1){e=(f+3408|0)+(u<<2)|0;n=j[e>>2];wb:{if(!n){break wb}d=j[b+4>>2];g=j[b>>2];c=(d-g|0)/12|0;if(c>>>0>=q>>>0|c>>>0>=m[a+48>>2]){break wb}s=0;xb:{if((d|0)==(g|0)){break xb}while(1){c=n;d=p(s,12)+g|0;if(h[d+11|0]<=-1){d=j[d>>2]}if(ca(c,d)){break wb}d=W(n);if(d>>>0<4294967280){yb:{zb:{if(d>>>0>=11){c=d+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=d;break zb}h[f+27|0]=d;o=f+16|0;if(!d){break yb}}V(o,n,d)}h[d+o|0]=0;c=cc(a,f+16|0,0,0,0);if(h[f+27|0]<=-1){T(j[f+16>>2])}if(!c){break wb}n=j[e>>2];s=s+1|0;g=j[b>>2];if(s>>>0>=(j[b+4>>2]-g|0)/12>>>0){break xb}continue}break}break c}d=W(n);if(d>>>0>=4294967280){break vb}Ab:{Bb:{if(d>>>0>=11){c=d+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=d;break Bb}h[f+27|0]=d;o=f+16|0;if(!d){break Ab}}V(o,n,d)}h[d+o|0]=0;d=j[b+4>>2];if(d>>>0>2]){c=j[f+20>>2];j[d>>2]=j[f+16>>2];j[d+4>>2]=c;j[d+8>>2]=j[f+24>>2];j[b+4>>2]=d+12;break wb}Db(b,f+16|0);if(h[f+27|0]>-1){break wb}T(j[f+16>>2])}u=u+1|0;if((u|0)!=100){continue}break}}if((E|0)==-1){j[a+56>>2]=1}a=j[f+32>>2];if(!a){break m}j[f+36>>2]=a;T(a);break m}break c}if((E|0)!=-1){break m}j[a+56>>2]=1}a=j[f+2448>>2];if(a){j[f+2452>>2]=a;T(a)}a=j[f+2464>>2];if(a){j[f+2468>>2]=a;T(a)}if(h[f+2491|0]<=-1){T(j[f+2480>>2])}a=j[f+2496>>2];if(a){j[f+2500>>2]=a;T(a)}a=j[f+2512>>2];if(a){j[f+2516>>2]=a;T(a)}a=j[f+2528>>2];if(a){j[f+2532>>2]=a;T(a)}if(h[f+2555|0]<=-1){T(j[f+2544>>2])}if(h[f+2571|0]<=-1){T(j[f+2560>>2])}a=j[f+2576>>2];if(a){j[f+2580>>2]=a;T(a)}if(h[f+2603|0]<=-1){T(j[f+2592>>2])}M=f+4224|0;return}X();z()}X();z()}X();z()}function ed(a,b,c,d,e,f,g,m,n,o,q){var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;x=M-48|0;M=x;j[x+40>>2]=0;j[x+32>>2]=0;j[x+36>>2]=0;w=k[b+11|0];r=w<<24>>24<0;t=j[b+4>>2];a:{if(!c){ka=148784,la=C()|0,j[ka>>2]=la;break a}if(!j[37196]){break a}if((C()|0)<=(j[37196]+5e4|0)){break a}j[37196]=0}w=r?t:w;u=j[a+4200>>2];b:{if(j[a+4144>>2]){if((u|0)<1){t=w;u=0;break b}I=h[b+11|0]<0?j[b>>2]:b;s=w-1|0;r=0;t=0;while(1){if((r|0)<(w|0)){while(1){c:{if((r|0)==(s|0)){r=w;break c}r=r+1|0;if((k[I+r|0]&192)==128){continue}}break}t=t+1|0;if((u|0)!=(t|0)){continue}}break}if((u|0)<2){t=w;u=r;break b}s=u-1|0;t=w;while(1){if((t|0)<0){u=r;break b}while(1){d:{if((t|0)<1){t=-1;break d}t=t-1|0;if((k[I+t|0]&192)==128){continue}}break}A=A+1|0;if((s|0)!=(A|0)){continue}break}u=r;break b}t=(w-u|0)+1|0}ua(x+32|0,b);e:{f:{if((t|0)<=(u|0)){break f}Z=n?3:1;da=(g|0)!=0;$=f+1|0;ea=$<<2;fa=f<<2;while(1){g:{if(!j[a+4144>>2]){L=u;break g}r=h[x+43|0]<0?j[x+32>>2]:x+32|0;while(1){L=u;u=u+1|0;if((k[r+L|0]&192)==128){continue}break}if((t|0)>(L|0)){break g}break f}j[x+44>>2]=g;S=da;while(1){R=d;J=0;Q=0;I=c;G=0;h:{while(1){if(!j[37196]){y=0;break f}i:{if(!J){J=0;y=j[x+32>>2];D=k[x+43|0];F=L;L=Q;O=w;break i}v=j[a+4248>>2];B=(j[a+4252>>2]-v|0)/40|0;if(B>>>0>>0){F=L;break h}u=(h[b+11|0]<0?j[b>>2]:b)+L|0;j:{while(1){H=p(J-1|0,40);y=H+v|0;s=y+24|0;A=k[y+35|0];r=A<<24>>24;k:{l:{if((r|0)<=-1){if(!j[y+28>>2]){break k}A=j[y+28>>2];s=j[s>>2];break l}if(!r){break k}}if(!Eb(u,s,A)){break j}}J=J+1|0;if(B>>>0>=J>>>0){continue}break}F=L;break h}s=k[y+11|0];r=s<<24>>24<0;oc(x+32|0,L,-1,r?j[y>>2]:y,r?j[y+4>>2]:s);B=x+32|0;u=H+j[a+4248>>2]|0;r=h[u+11|0];m:{if((r|0)<=-1){r=j[u+4>>2];break m}r=r&255}F=r+L|0;s=k[u+23|0];r=s<<24>>24<0;oc(B,F,-1,r?j[u+12>>2]:u+12|0,r?j[u+16>>2]:s);v=H+j[a+4248>>2]|0;r=h[v+23|0];n:{if((r|0)<=-1){r=j[v+16>>2];break n}r=r&255}B=r+F|0;y=x+16|0;r=b;s=h[v+35|0];u=j[v+28>>2];o:{if((s|0)<=-1){break o}u=s&255}sa(y,r,u+L|0,-1);s=k[x+27|0];r=s<<24>>24<0;oc(x+32|0,B,-1,r?j[x+16>>2]:x+16|0,r?j[x+20>>2]:s);if(h[x+27|0]<=-1){T(j[x+16>>2])}u=H+j[a+4248>>2]|0;r=h[u+11|0];p:{if((r|0)<=-1){r=j[u+4>>2];break p}r=r&255}D=h[x+43|0];y=j[x+32>>2];s=h[u+23|0];B=j[u+16>>2];q:{if((s|0)<=-1){break q}B=s&255}B=B+(r+w|0)|0;r=h[u+35|0];s=j[u+28>>2];r:{if((r|0)<=-1){break r}s=r&255}O=B-s|0;v=j[a+4200>>2];s:{if(!j[a+4144>>2]|(v|0)<1){break s}B=(D|0)<0?y:x+32|0;s=O-1|0;r=0;u=0;while(1){if((r|0)>=(O|0)){break s}while(1){t:{if((r|0)==(s|0)){r=O;break t}r=r+1|0;if((k[B+r|0]&192)==128){continue}}break}u=u+1|0;if((v|0)!=(u|0)){continue}break}}ga=w;ha=t;t=(O-v|0)+1|0}ba=t;r=0;t=(D<<24>>24<0?y:x+32|0)+F|0;ca=k[t|0];h[t|0]=0;j[a+4372>>2]=0;j[a+4376>>2]=0;u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{H:{t=j[a+4096>>2];s=j[t>>2];if((s|0)==j[t+4>>2]){break H}w=h[x+43|0]<0?j[x+32>>2]:x+32|0;while(1){D=dc(j[(r<<2)+s>>2],w);if(!D){t=j[a+4096>>2];s=j[t>>2];r=r+1|0;if(r>>>0>2]-s>>2>>>0){continue}}break}if(!D){break H}v=l[a+4162>>1];if(!v){break G}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=v>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if(n|(r|0)==(w|0)|v>>>0>1]){break G}Q=L;w=O;t=ba;break v}Q=J-1|0;break F}Q=J-1|0;if(n){break E}while(1){v=l[a+4198>>1];I:{J:{if(!v){break J}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=v>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break J}if(v>>>0>=l[r>>1]){break I}}v=j[x+44>>2];K:{L:{if(S){break L}H=l[a+4152>>1];if(v|!H){break L}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=H>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break L}if(H>>>0>=l[r>>1]){break K}}M:{if(I&65535|S){break M}H=l[a+4154>>1];if(!H){break M}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=H>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break M}if(H>>>0>=l[r>>1]){break K}}N:{if(!(I&65535)|(v|S)){break N}H=l[a+4156>>1];if(!H){break N}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=H>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break N}if(H>>>0>=l[r>>1]){break K}}if(!S|j[a+4268>>2]==j[a+4272>>2]){break I}if(!(v|I&65535)){if(hc(a,x+44|0,f,D,m,0)){break K}v=j[x+44>>2]}if(!v){break I}if(!hc(a,x+44|0,f,D,m,0)){break I}}if(!J){Q=-1;break E}v=l[(j[a+4248>>2]+p(Q,40)|0)+36>>1];if(!v){break E}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=v>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break I}if(v>>>0>=l[r>>1]){break E}}D=j[D+12>>2];if(D){continue}break}}if(S){break u}t=l[a+4152>>1];O:{if(!t){break O}H=1;D=gb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,Z,t);if(D){break D}D=Qa(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,0,l[a+4152>>1],Z);if(!D){if(!j[a+4168>>2]){break O}D=eb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,l[a+4152>>1]);if(!D){break O}}w=1;if(n){break C}P=j[a+4372>>2];t=j[P+56>>2];if(!t){break D}y=l[a+4162>>1];P:{if(!y){break P}s=i[P+60>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=y>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break P}if(y>>>0>=l[r>>1]){break O}}Q:{v=l[a+4158>>1];if(!v){break Q}r=i[P+60>>1];s=(r<<1)+t|0;if(r){while(1){B=r>>>1|0;w=(B<<1)+t|0;u=v>>>0>l[w>>1];t=u?w+2|0:t;r=u?(B^-1)+r|0:B;if(r){continue}break}}if((s|0)==(t|0)){break Q}if(!D|v>>>0>=l[t>>1]){break O}break D}if(D){break D}}if(!(I&65535)){t=l[a+4154>>1];if(!t){w=0;break A}H=1;D=Qa(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,0,t,Z);if(D){break D}if(j[a+4168>>2]){D=eb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,l[a+4154>>1]);if(D){break D}}w=0;D=gb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,Z,l[a+4154>>1]);if(!D){break A}break D}if(I<<16>>16<1){w=I;break A}t=l[a+4156>>1];if(!t){w=I;break A}H=1;D=Qa(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,0,t,Z);if(D){break D}if(j[a+4168>>2]){D=eb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,l[a+4156>>1]);if(D){break D}}D=gb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,Z,l[a+4156>>1]);if(D){break D}w=I;break A}u=j[D+4>>2];if(!u){H=G;break D}P=l[D+2>>1];v=P<<16>>16;y=(v<<1)+u|0;r=u;if(P){w=l[a+4192>>1];s=v;while(1){H=s>>>1|0;t=(H<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(H^-1)+s|0:H;if(s){continue}break}}R:{if(l[a+4192>>1]>=l[r>>1]?(r|0)!=(y|0):0){break R}r=u;if(P){w=l[a+4198>>1];s=v;while(1){H=s>>>1|0;t=(H<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(H^-1)+s|0:H;if(s){continue}break}}if(l[a+4198>>1]>=l[r>>1]?(r|0)!=(y|0):0){break R}r=u;s=v;if(P){while(1){B=s>>>1|0;t=(B<<1)+r|0;w=l[t>>1]<65511;r=w?t+2|0:r;s=w?(B^-1)+s|0:B;if(s){continue}break}}if(l[r>>1]<65512?(r|0)!=(y|0):0){break R}if(!o){H=G;break D}s=l[a+4194>>1];if(!s){H=G;break D}if(P){while(1){w=v>>>1|0;t=(w<<1)+u|0;r=s>>>0>l[t>>1];u=r?t+2|0:u;v=r?(w^-1)+v|0:w;if(v){continue}break}}if((u|0)==(y|0)){H=G;break D}H=G;if(s>>>0>1]){break D}}h[(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0]=ca;break u}S:{if(!D|n){break S}t=j[a+4376>>2];T:{if(!t){break T}r=j[t+56>>2];if(!r){break T}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){v=s>>>1|0;t=(v<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break T}if(l[a+4162>>1]>=l[r>>1]){break B}}t=j[a+4372>>2];if(!t){break S}r=j[t+56>>2];if(!r){break S}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){v=s>>>1|0;t=(v<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break S}if(l[a+4162>>1]>=l[r>>1]){break B}}U:{w=(H|0)!=0;B=w|!D;if(B){break U}V:{if(n){break V}y=l[a+4158>>1];if(!y){break V}W:{t=j[a+4376>>2];if(!t){break W}r=j[t+56>>2];if(!r){break W}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){H=s>>>1|0;t=(H<<1)+r|0;v=y>>>0>l[t>>1];r=v?t+2|0:r;s=v?(H^-1)+s|0:H;if(s){continue}break}}if((r|0)==(u|0)){break W}G=0;if(y>>>0>1]){break W}w=I;break A}t=j[a+4372>>2];if(!t){break V}r=j[t+56>>2];if(!r){break V}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){H=s>>>1|0;t=(H<<1)+r|0;v=y>>>0>l[t>>1];r=v?t+2|0:r;s=v?(H^-1)+s|0:H;if(s){continue}break}}if((r|0)==(u|0)){break V}G=0;if(y>>>0>1]){break V}w=I;break A}H=0;if(n|(B|I&65535)){break U}y=l[a+4156>>1];if(!y){break U}X:{t=j[a+4376>>2];if(!t){break X}r=j[t+56>>2];if(!r){break X}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){v=s>>>1|0;t=(v<<1)+r|0;B=y>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break X}G=0;if(y>>>0>1]){break X}w=0;break A}t=j[a+4372>>2];if(!t){break U}r=j[t+56>>2];if(!r){break U}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){v=s>>>1|0;t=(v<<1)+r|0;B=y>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break U}w=0;G=0;if(y>>>0>1]){break C}break A}if(!D){break B}}Y:{t=j[D+4>>2];if(!t){break Y}A=l[D+2>>1];v=A<<16>>16;P=(v<<1)+t|0;r=t;if(A){B=l[a+4192>>1];s=v;while(1){y=s>>>1|0;u=(y<<1)+r|0;G=B>>>0>l[u>>1];r=G?u+2|0:r;s=G?(y^-1)+s|0:y;if(s){continue}break}}if(!((r|0)==(P|0)|l[a+4192>>1]>1])){y=0;break f}r=t;s=v;if(A){while(1){G=s>>>1|0;u=(G<<1)+r|0;B=l[u>>1]<65511;r=B?u+2|0:r;s=B?(G^-1)+s|0:G;if(s){continue}break}}if(!((r|0)==(P|0)|l[r>>1]>=65512)){y=0;break f}if(!o){break Y}G=l[a+4194>>1];if(!G){break Y}r=t;if(A){while(1){B=v>>>1|0;s=(B<<1)+r|0;u=G>>>0>l[s>>1];r=u?s+2|0:r;v=u?(B^-1)+v|0:B;if(v){continue}break}}if((r|0)==(P|0)|G>>>0>1]){break Y}y=0;break f}y=l[a+4160>>1];Z:{_:{if(!y){if(!w){break _}break Z}s=i[D+2>>1];if(s){B=(s<<1)+t|0;r=t;while(1){G=s>>>1|0;u=(G<<1)+r|0;v=y>>>0>l[u>>1];r=v?u+2|0:r;s=v?(G^-1)+s|0:G;if(s){continue}break}I=(r|0)!=(B|0)?(y>>>0>=l[r>>1])+I|0:I;if(w){break Z}break _}if(w){break Z}}r=j[x+44>>2];if(j[r+fa>>2]?r:0){break Z}G=l[a+4152>>1];$:{if(!G){break $}s=i[D+2>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=G>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break $}if(G>>>0>=l[r>>1]){break Z}}aa:{ba:{if(c){break ba}G=l[a+4154>>1];if(!G){break aa}s=i[D+2>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=G>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break ba}if(G>>>0>=l[r>>1]){break Z}}if((c|0)<1){break aa}G=l[a+4156>>1];if(!G){break aa}s=i[D+2>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=G>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break aa}if(G>>>0>=l[r>>1]){break Z}}if(!n|j[a+4456>>2]!=36){break y}y=l[D+2>>1];v=y<<16>>16;G=(v<<1)+t|0;r=t;s=v;if(y){while(1){B=s>>>1|0;w=(B<<1)+r|0;u=l[w>>1]<70;r=u?w+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if(l[r>>1]<71?(r|0)!=(G|0):0){break Z}r=t;s=v;if(y){while(1){B=s>>>1|0;w=(B<<1)+r|0;u=l[w>>1]<71;r=u?w+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if(l[r>>1]<72?(r|0)!=(G|0):0){break Z}r=t;if(y){while(1){u=v>>>1|0;w=(u<<1)+r|0;s=l[w>>1]<72;r=s?w+2|0:r;v=s?(u^-1)+v|0:u;if(v){continue}break}}if((r|0)==(G|0)|l[r>>1]>72){break y}}if(J){v=l[(j[a+4248>>2]+p(Q,40)|0)+36>>1];if(!v){break z}r=i[D+2>>1];s=(r<<1)+t|0;if(r){while(1){B=r>>>1|0;w=(B<<1)+t|0;u=v>>>0>l[w>>1];t=u?w+2|0:t;r=u?(B^-1)+r|0:B;if(r){continue}break}}if((s|0)==(t|0)|v>>>0>1]){break y}}t=j[x+44>>2];ca:{if(t|(!j[a+4184>>2]|J)){break ca}w=(h[b+11|0]<0?j[b>>2]:b)+F|0;r=k[w-1|0];if((r|0)!=k[w|0]){break ca}if((r|0)==k[w+1|0]|((r|0)==k[w-2|0]?(F|0)>=2:0)){break y}}if(!j[a+4180>>2]|(t|J)){break z}if(kg(a,h[b+11|0]<0?j[b>>2]:b,F)){break y}break z}w=I;G=H}if(!n|j[a+4456>>2]!=36){break x}t=h[x+43|0]<0?j[x+32>>2]:x+32|0;D=gb(a,t,F,0,0);da:{if(D){break da}D=Qa(a,t,F,0,0,0,0,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(D){break x}D=eb(a,t,F,0,0,0);if(D){break da}D=Lb(a,t,F,0)}if(!D){break x}}r=j[a+4372>>2];if(!r){break x}t=j[r+56>>2];if(!t){break x}y=l[r+60>>1];u=y<<16>>16;H=(u<<1)+t|0;r=t;s=u;if(y){while(1){v=s>>>1|0;I=(v<<1)+r|0;B=l[I>>1]<120;r=B?I+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if(!((r|0)==(H|0)|l[r>>1]>=121)){I=w;H=G;break z}if(y){while(1){I=u>>>1|0;r=(I<<1)+t|0;s=l[r>>1]<37;t=s?r+2|0:t;u=s?(I^-1)+u|0:I;if(u){continue}break}}if((t|0)==(H|0)){break x}I=w;H=G;if(l[t>>1]>37){break x}}ea:{if(j[a+4456>>2]!=36){break ea}t=Fb(a,sa(x+16|0,x+32|0,0,F));if(h[x+27|0]<=-1){T(j[x+16>>2])}R=t+R|0;t=j[a+4376>>2];if(!t){break ea}s=t+4|0;s=h[t+15|0]<=-1?j[s>>2]:s;r=W(s);if(r>>>0>=4294967280){break e}fa:{ga:{if(r>>>0>=11){t=r+16&-16;A=U(t);j[x+24>>2]=t|-2147483648;j[x+16>>2]=A;j[x+20>>2]=r;break ga}h[x+27|0]=r;A=x+16|0;if(!r){break fa}}V(A,s,r)}h[r+A|0]=0;t=Fb(a,x+16|0);if(h[x+27|0]<=-1){T(j[x+16>>2])}I=((t|0)>1)+I|0}h[(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0]=ca;ia=I+1|0;P=R-1|0;ja=(I<<16>>16)+2|0;B=!J;while(1){G=1;ha:{if(!j[a+4188>>2]){break ha}if(_){F=F-1|0;G=0;break ha}_=0;if((F|0)<3){break ha}t=(h[b+11|0]<0?j[b>>2]:b)+F|0;_=k[t-1|0]==k[t-2|0]}ia:{t=j[a+4096>>2];s=j[t>>2];if((s|0)==j[t+4>>2]){break ia}r=0;w=(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0;while(1){v=dc(j[(r<<2)+s>>2],w);if(!v){t=j[a+4096>>2];s=j[t>>2];r=r+1|0;if(r>>>0>2]-s>>2>>>0){continue}}break}if(!v){break ia}while(1){ja:{A=l[a+4198>>1];ka:{la:{if(!A){break la}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break la}if(A>>>0>=l[r>>1]){break ka}}E=j[x+44>>2];A=l[a+4152>>1];ma:{na:{if(E|!A){break na}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break na}if(A>>>0>=l[r>>1]){break ma}}oa:{if(E){break oa}A=l[a+4158>>1];if(!A){break oa}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break oa}if(A>>>0>=l[r>>1]){break ma}}if(!E|j[a+4268>>2]==j[a+4272>>2]){break ka}if(!hc(a,x+44|0,$<<16>>16,v,0,1)){break ka}}if(!J){break ja}A=l[(j[a+4248>>2]+p(Q,40)|0)+38>>1];if(!A){break ja}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break ka}if(A>>>0>=l[r>>1]){break ja}}v=j[v+12>>2];if(v){continue}break ia}break}A=l[a+4468>>1];pa:{if(!A){break pa}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)|A>>>0>1]){break pa}if(!q|!(k[q|0]&32)){break ia}}qa:{if(!v){break qa}t=j[x+44>>2];if(!t|!j[t+ea>>2]){break qa}y=D;break f}if(!v){break ia}t=R;ra:{if(j[a+4456>>2]!=36){break ra}u=i[v+2>>1];t=R;if(!u){break ra}y=j[v+4>>2];E=y+(u<<1)|0;r=y;s=u;while(1){A=s>>>1|0;t=(A<<1)+r|0;w=l[t>>1]<73;r=w?t+2|0:r;s=w?(A^-1)+s|0:A;if(s){continue}break}t=R;if((r|0)==(E|0)){break ra}s=R;if(l[r>>1]<=73){while(1){w=u>>>1|0;t=(w<<1)+y|0;r=l[t>>1]<74;y=r?t+2|0:y;u=r?(w^-1)+u|0:w;if(u){continue}break}t=P;if((y|0)==(E|0)){break ra}s=P;t=R;if(l[y>>1]<75){break ra}}t=s}u=t;t=j[v+4>>2];K=l[a+4160>>1];w=I;sa:{if(!K){break sa}s=i[v+2>>1];w=I;if(!s){break sa}y=(s<<1)+t|0;r=t;while(1){E=s>>>1|0;w=(E<<1)+r|0;A=K>>>0>l[w>>1];r=A?w+2|0:r;s=A?(E^-1)+s|0:E;if(s){continue}break}w=I;if((r|0)==(y|0)){break sa}w=(K>>>0>=l[r>>1])+I|0}ta:{if(!t){break ta}aa=l[v+2>>1];y=aa<<16>>16;Y=(y<<1)+t|0;r=t;if(aa){E=l[a+4192>>1];s=y;while(1){N=s>>>1|0;A=(N<<1)+r|0;K=E>>>0>l[A>>1];r=K?A+2|0:r;s=K?(N^-1)+s|0:N;if(s){continue}break}}if(!((r|0)==(Y|0)|l[a+4192>>1]>1])){y=0;break f}r=t;s=y;if(aa){while(1){K=s>>>1|0;A=(K<<1)+r|0;E=l[A>>1]<65511;r=E?A+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}}if(!((r|0)==(Y|0)|l[r>>1]>=65512)){y=0;break f}if(!o){break ta}K=l[a+4194>>1];if(!K){break ta}r=t;if(aa){while(1){E=y>>>1|0;s=(E<<1)+r|0;A=K>>>0>l[s>>1];r=A?s+2|0:r;y=A?(E^-1)+y|0:E;if(y){continue}break}}if((r|0)==(Y|0)|K>>>0>1]){break ta}y=0;break f}N=l[a+4152>>1];ua:{va:{if(!N){break va}s=i[v+2>>1];A=(s<<1)+t|0;r=t;if(s){while(1){K=s>>>1|0;y=(K<<1)+r|0;E=N>>>0>l[y>>1];r=E?y+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}}if((r|0)==(A|0)){break va}if(N>>>0>=l[r>>1]){break ua}}K=l[a+4158>>1];if(!K){break ia}r=i[v+2>>1];y=(r<<1)+t|0;if(r){while(1){E=r>>>1|0;s=(E<<1)+t|0;A=K>>>0>l[s>>1];t=A?s+2|0:t;r=A?(E^-1)+r|0:E;if(r){continue}break}}if((t|0)==(y|0)|K>>>0>1]){break ia}}y=0;t=j[a+4308>>2];wa:{xa:{ya:{if(!((t|0)==-1|(t|0)>((w<<16>>16)+1|0))){if(!j[a+4312>>2]){break ia}w=u<<16>>16;s=k[v|0];za:{Aa:{if(s>>>0>=11){t=s+16&496;A=U(t);j[x+8>>2]=t|-2147483648;j[x>>2]=A;j[x+4>>2]=s;break Aa}h[x+11|0]=s;A=x;if(!s){break za}}V(A,v+17|0,s)}r=0;h[s+A|0]=0;y=1;if((Fb(a,x)+w|0)>j[a+4312>>2]){break ya}}w=j[a+4248>>2];Ba:{if(!((w|0)==j[a+4252>>2]|J)){r=0;if(hd(a,h[b+11|0]<0?j[b>>2]:b,F,D,v)|(j[a+4172>>2]?(v|0)==(D|0):0)){break Ba}r=1;if(y){break ya}break wa}t=(v|0)==(D|0)&j[a+4172>>2]!=0;r=t^1;if(!J|t){break Ba}A=l[(w+p(Q,40)|0)+38>>1];if(!A){r=1;break Ba}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){v=s>>>1|0;t=(v<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(w|0)){r=0;break Ba}r=A>>>0>=l[r>>1]}if(!y){break xa}}if(h[x+11|0]>-1){break xa}T(j[x>>2])}if(!r){break ia}}if(j[a+4176>>2]){y=0;if(nd(a,h[b+11|0]<0?j[b>>2]:b,O)){break f}}y=id(a,h[b+11|0]<0?j[b>>2]:b,O)?0:D;break f}i[a+4364>>1]=0;j[a+4372>>2]=0;Ca:{Da:{Ea:{if(S){break Ea}w=l[a+4152>>1];if(!w){break Ea}r=(h[b+11|0]<0?j[b>>2]:b)+F|0;t=W(r);v=gb(a,r,t,2,w);if(v){break Da}v=Qa(a,r,t,0,0,0,w,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(v){break Da}v=eb(a,r,t,0,0,w);if(v){break Da}v=Lb(a,r,t,w)}if(v){break Da}}Fa:{if(S){break Fa}w=l[a+4158>>1];if(!w){break Fa}j[a+4372>>2]=0;j[a+4376>>2]=0;r=(h[b+11|0]<0?j[b>>2]:b)+F|0;t=W(r);v=gb(a,r,t,2,w);if(v){break Da}v=Qa(a,r,t,0,0,0,w,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(v){break Da}v=eb(a,r,t,0,0,w);if(v){break Da}v=Lb(a,r,t,w)}if(v){break Da}}w=0;y=1;if(j[a+4268>>2]==j[a+4272>>2]){t=B;break Ca}if(!j[x+44>>2]){t=B;break Ca}r=(h[b+11|0]<0?j[b>>2]:b)+F|0;t=W(r);s=gb(a,r,t,2,0);Ga:{if(s){break Ga}s=Qa(a,r,t,0,0,0,0,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(s){break Ga}s=eb(a,r,t,0,0,0);if(s){break Ga}s=Lb(a,r,t,0)}t=B;if(!s){break Ca}}t=B;if(!hc(a,x+44|0,$<<16>>16,s,0,1)){break Ca}y=D;break f}E=j[a+4248>>2];Ha:{if(J){A=l[(E+p(Q,40)|0)+38>>1];if(!A){break Ha}r=j[v+4>>2];s=i[v+2>>1];u=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;w=A>>>0>l[t>>1];r=w?t+2|0:r;s=w?(y^-1)+s|0:y;if(s){continue}break}}y=1;w=0;if((r|0)==(u|0)){t=0;break Ca}if(!v){t=0;break Ca}t=0;if(A>>>0>1]){break Ca}}if((E|0)==j[a+4252>>2]|J){break Ha}w=0;y=1;t=1;if(hd(a,h[b+11|0]<0?j[b>>2]:b,F,D,v)){break Ca}}Ia:{t=j[a+4376>>2];Ja:{if(!t){break Ja}r=j[t+56>>2];if(!r){break Ja}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){A=s>>>1|0;t=(A<<1)+r|0;y=w>>>0>l[t>>1];r=y?t+2|0:r;s=y?(A^-1)+s|0:A;if(s){continue}break}}if((r|0)==(u|0)){break Ja}if(l[a+4162>>1]>=l[r>>1]){break Ia}}Ka:{La:{Ma:{t=j[a+4372>>2];if(!t){break Ma}r=j[t+56>>2];if(!r){break Ma}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){A=s>>>1|0;t=(A<<1)+r|0;y=w>>>0>l[t>>1];r=y?t+2|0:r;s=y?(A^-1)+s|0:A;if(s){continue}break}}if((r|0)==(u|0)){break Ma}w=0;y=1;if(v){break La}t=B;break Ca}if(!v){break Ia}break Ka}t=B;if(l[a+4162>>1]>=l[r>>1]){break Ca}}u=j[v+4>>2];E=l[a+4468>>1];Na:{if(!E){break Na}s=i[v+2>>1];w=(s<<1)+u|0;r=u;if(s){while(1){A=s>>>1|0;t=(A<<1)+r|0;y=E>>>0>l[t>>1];r=y?t+2|0:r;s=y?(A^-1)+s|0:A;if(s){continue}break}}Oa:{if(!((r|0)==(w|0)|E>>>0>1])){w=0;y=1;if(!q){t=B;break Ca}if(v){break Oa}t=B;break Ca}if(!v){break Ia}break Na}t=B;if(!(j[q>>2]&32)){break Ca}}y=0;Pa:{if(!u){break Pa}Y=l[v+2>>1];w=Y<<16>>16;N=(w<<1)+u|0;r=u;if(Y){A=l[a+4192>>1];s=w;while(1){K=s>>>1|0;t=(K<<1)+r|0;E=A>>>0>l[t>>1];r=E?t+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}}if(!((r|0)==(N|0)|l[a+4192>>1]>1])){break f}r=u;s=w;if(Y){while(1){E=s>>>1|0;t=(E<<1)+r|0;A=l[t>>1]<65511;r=A?t+2|0:r;s=A?(E^-1)+s|0:E;if(s){continue}break}}if(!((r|0)==(N|0)|l[r>>1]>=65512)){break f}if(!o){break Pa}A=l[a+4194>>1];if(!A){break Pa}if(Y){while(1){s=w>>>1|0;t=(s<<1)+u|0;r=A>>>0>l[t>>1];u=r?t+2|0:u;w=r?(s^-1)+w|0:s;if(w){continue}break}}if((u|0)==(N|0)){break Pa}w=v;t=B;if(A>>>0>=l[u>>1]){break f}break Ca}w=v;t=B;break Ca}w=0;y=1;t=B}u=R;v=I;Qa:{Ra:{Sa:{if(j[a+4456>>2]!=36){break Sa}u=(h[b+11|0]<0?j[b>>2]:b)+F|0;A=W(u);if(A>>>0>=4294967280){break e}Ta:{Ua:{if(A>>>0>=11){r=A+16&-16;s=U(r);j[x+24>>2]=r|-2147483648;j[x+16>>2]=s;j[x+20>>2]=A;break Ua}h[x+27|0]=A;s=x+16|0;if(!A){break Ta}}V(s,u,A)}h[s+A|0]=0;E=Fb(a,x+16|0);if(h[x+27|0]<=-1){T(j[x+16>>2])}s=j[a+4356>>2];Va:{if(s){u=W(s);if(u>>>0>=4294967280){break e}Wa:{Xa:{if(u>>>0>=11){r=u+16&-16;A=U(r);j[x+24>>2]=r|-2147483648;j[x+16>>2]=A;j[x+20>>2]=u;break Xa}h[x+27|0]=u;A=x+16|0;if(!u){break Wa}}V(A,s,u)}h[u+A|0]=0;Va(x+16|0);s=Fb(a,x+16|0);r=l[a+4360>>1];if(h[x+27|0]<=-1){T(j[x+16>>2])}r=r+s|0;break Va}r=j[a+4360>>2]}u=j[a+4376>>2];if(u){s=u+4|0;s=h[u+15|0]<=-1?j[s>>2]:s;v=W(s);if(v>>>0>=4294967280){break e}Ya:{Za:{if(v>>>0>=11){u=v+16&-16;A=U(u);j[x+24>>2]=u|-2147483648;j[x+16>>2]=A;j[x+20>>2]=v;break Za}h[x+27|0]=v;A=x+16|0;if(!v){break Ya}}V(A,s,v)}h[v+A|0]=0;s=Fb(a,x+16|0);if(h[x+27|0]<=-1){T(j[x+16>>2])}v=((s|0)>1)+I|0}u=(E+R|0)-r|0;r=h[a+4351|0];s=j[a+4344>>2];_a:{if((r|0)<=-1){break _a}s=r&255}if(!s){break Sa}$a:{switch(l[a+4364>>1]-73|0){case 26:if(y){break Qa}u=u+2|0;break Ra;case 1:if(y){break Qa}u=u+1|0;break Ra;case 0:break $a;default:break Sa}}if(y){break Qa}s=i[w+2>>1];if(!s){break Ra}r=j[w+4>>2];E=r+(s<<1)|0;while(1){N=s>>>1|0;A=(N<<1)+r|0;K=l[A>>1]<74;r=K?A+2|0:r;s=K?(N^-1)+s|0:N;if(s){continue}break}if((r|0)==(E|0)){break Ra}if(l[r>>1]>74){break Sa}u=u+1|0;break Ra}if(y){break Qa}}N=l[a+4160>>1];ab:{if(!N){break ab}s=i[w+2>>1];if(!s){break ab}r=j[w+4>>2];A=r+(s<<1)|0;while(1){K=s>>>1|0;y=(K<<1)+r|0;E=N>>>0>l[y>>1];r=E?y+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}if((r|0)==(A|0)){break ab}v=(N>>>0>=l[r>>1])+v|0}r=j[a+4308>>2];if(!((r|0)==-1|(r|0)>((v<<16>>16)+1|0))){r=j[a+4312>>2];if(!r|(r|0)>16){break Qa}}if(j[a+4172>>2]?(w|0)==(D|0):0){break Qa}if(j[a+4176>>2]){y=0;if(nd(a,h[b+11|0]<0?j[b>>2]:b,O)){break f}}y=id(a,h[b+11|0]<0?j[b>>2]:b,O)?0:D;break f}bb:{if((e|0)<=(ja|0)){break bb}E=ed(a,sa(x+16|0,x+32|0,F,-1),ia<<16>>16,R<<16>>16,e,$<<16>>16,j[x+44>>2],m,0,o,q);if(h[x+27|0]<=-1){T(j[x+16>>2])}if(!E){break bb}w=h[b+11|0];cb:{if(j[a+4248>>2]==j[a+4252>>2]){A=j[b>>2];break cb}A=j[b>>2];r=hd(a,(w|0)<0?A:b,F,D,E);if(t){if(!r){break cb}break bb}if(!r){break bb}}y=0;if(id(a,(w|0)<0?A:b,O)){break f}db:{if(!j[a+4176>>2]){if(l[a+4192>>1]){break db}y=D;break f}if(nd(a,h[b+11|0]<0?j[b>>2]:b,O)){break f}}t=k[E|0];if(Eb(E+17|0,(h[b+11|0]<0?j[b>>2]:b)+F|0,t)){y=D;break f}t=(t+F|0)+(h[x+43|0]<0?j[x+32>>2]:x+32|0)|0;r=k[t|0];h[t|0]=0;eb:{fb:{if(j[a+4176>>2]){if(nd(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,k[E|0]+F|0)){break fb}}if(!id(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,k[E|0]+F|0)){break eb}}h[(k[E|0]+F|0)+(h[x+43|0]<0?j[x+32>>2]:x+32|0)|0]=r;break bb}gb:{if(!l[a+4192>>1]){break gb}u=h[b+11|0];v=j[b>>2];c=j[a+4096>>2];t=j[c>>2];hb:{if((t|0)!=j[c+4>>2]){s=0;d=(u|0)<0?v:b;while(1){J=dc(j[(s<<2)+t>>2],d);if(!J){c=j[a+4096>>2];t=j[c>>2];s=s+1|0;if(s>>>0>2]-t>>2>>>0){continue}}break}if(J){break hb}v=j[b>>2];u=k[b+11|0]}b=u<<24>>24<0?v:b;J=gb(a,b,O,0,0);if(J){break hb}J=Qa(a,b,O,0,0,0,0,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(J){break hb}J=eb(a,b,O,0,0,0);if(J){break hb}J=Lb(a,b,O,0)}if(!J){break gb}}s=j[J+4>>2];if(!s){break gb}t=i[J+2>>1];d=(t<<1)+s|0;if(t){c=l[a+4192>>1];while(1){f=t>>>1|0;b=(f<<1)+s|0;e=c>>>0>l[b>>1];s=e?b+2|0:s;t=e?(f^-1)+t|0:f;if(t){continue}break}}if((d|0)==(s|0)|l[a+4192>>1]>1]){break gb}if(!Eb(J+17|0,h[x+43|0]<0?j[x+32>>2]:x+32|0,k[E|0]+F|0)){break f}}h[(k[E|0]+F|0)+(h[x+43|0]<0?j[x+32>>2]:x+32|0)|0]=r;y=D;break f}if((_|0)!=0&G){continue}break}_=G?_:0;F=(G^1)+F|0}G=H;break w}I=w}w=L?ga:O;J=J+1|0;F=L?L:F;Q=0;t=L?ha:ba}if(!j[a+4260>>2]|S){break h}L=F;if((j[a+4252>>2]-j[a+4248>>2]|0)/40>>>0>=J>>>0){continue}break h}break}t=ba;Q=L;w=O}ib:{if(Q){ua(x+32|0,b);L=Q;break ib}h[(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0]=ca;L=F}if(!(c|S)){S=1;if(j[a+4268>>2]!=j[a+4272>>2]){continue}}break}y=0;u=L+1|0;if((u|0)<(t|0)){continue}break}}if(h[x+43|0]<=-1){T(j[x+32>>2])}M=x+48|0;return y}X();z()}function Pf(a,b,c,d,e,f,g,m,n,o,p){var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,Y=0,_=0,ba=0,da=0,ea=0,fa=0,ga=0;r=M+ -64|0;M=r;j[r+56>>2]=0;j[r+48>>2]=0;j[r+52>>2]=0;j[r+40>>2]=0;j[r+32>>2]=0;j[r+36>>2]=0;a:{if(!d){fa=148788,ga=C()|0,j[fa>>2]=ga;break a}if(!j[37197]){break a}if((C()|0)<=(j[37197]+5e4|0)){break a}j[37197]=0}I=j[a+4200>>2];b:{if(j[a+4144>>2]){if((I|0)<1){I=0;break b}q=c-1|0;while(1){if((c|0)>(w|0)){while(1){c:{if((q|0)==(w|0)){w=c;break c}w=w+1|0;if((k[w+b|0]&192)==128){continue}}break}u=u+1|0;if((I|0)!=(u|0)){continue}}break}if((I|0)<2){I=w;break b}s=I-1|0;q=0;while(1){if((c|0)<0){I=w;break b}while(1){d:{if((c|0)<1){c=-1;break d}c=c-1|0;if((k[c+b|0]&192)==128){continue}}break}q=q+1|0;if((s|0)!=(q|0)){continue}break}I=w;break b}c=(c-I|0)+1|0}Ka(r+48|0,b);e:{f:{if((c|0)<=(I|0)){Q=r+32|0;break f}S=(m|0)!=0;N=g+1|0;Y=N<<2;_=g<<2;while(1){g:{if(!j[a+4144>>2]){w=I+1|0;G=I;break g}q=h[r+59|0]<0?j[r+48>>2]:r+48|0;w=I;while(1){G=w;w=w+1|0;if((k[q+G|0]&192)==128){continue}break}if((c|0)>(G|0)){break g}Q=r+32|0;break f}j[r+60>>2]=m;I=w;ba=b+w|0;E=b+G|0;da=E-2|0;ea=E-1|0;H=d;L=S;while(1){Q=r+32|0;if(!j[37197]){break f}d=(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0;O=k[d|0];h[d|0]=0;j[a+4372>>2]=0;h:{if(h[r+43|0]<=-1){h[j[r+32>>2]]=0;j[r+36>>2]=0;break h}h[r+43|0]=0;h[r+32|0]=0}if(p){q=k[p+11|0];d=q<<24>>24<0;aa(r+32|0,d?j[p>>2]:p,d?j[p+4>>2]:q)}v=1;w=0;x=0;d=j[a+4096>>2];q=j[d>>2];i:{j:{k:{if((q|0)==j[d+4>>2]){break k}s=h[r+59|0]<0?j[r+48>>2]:r+48|0;while(1){x=dc(j[(w<<2)+q>>2],s);if(!x){d=j[a+4096>>2];q=j[d>>2];w=w+1|0;if(w>>>0>2]-q>>2>>>0){continue}}break}l:{if(x){u=l[a+4162>>1];m:{if(!u){break m}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){t=q>>>1|0;d=(t<<1)+w|0;A=u>>>0>l[d>>1];w=A?d+2|0:w;q=A?(t^-1)+q|0:t;if(q){continue}break}}if((s|0)==(w|0)){break m}if(u>>>0>=l[w>>1]){break j}}while(1){u=l[a+4198>>1];n:{o:{if(!u){break o}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){t=q>>>1|0;d=(t<<1)+w|0;A=u>>>0>l[d>>1];w=A?d+2|0:w;q=A?(t^-1)+q|0:t;if(q){continue}break}}if((s|0)==(w|0)){break o}if(u>>>0>=l[w>>1]){break n}}t=j[r+60>>2];p:{if(L){break p}y=l[a+4152>>1];if(t|!y){break p}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){u=q>>>1|0;d=(u<<1)+w|0;A=y>>>0>l[d>>1];w=A?d+2|0:w;q=A?(u^-1)+q|0:u;if(q){continue}break}}if((s|0)==(w|0)){break p}if(y>>>0>=l[w>>1]){break l}}q:{if(H&65535|L){break q}y=l[a+4154>>1];if(!y){break q}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){u=q>>>1|0;d=(u<<1)+w|0;A=y>>>0>l[d>>1];w=A?d+2|0:w;q=A?(u^-1)+q|0:u;if(q){continue}break}}if((s|0)==(w|0)){break q}if(y>>>0>=l[w>>1]){break l}}r:{if(!(H&65535)|(t|L)){break r}y=l[a+4156>>1];if(!y){break r}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){u=q>>>1|0;d=(u<<1)+w|0;A=y>>>0>l[d>>1];w=A?d+2|0:w;q=A?(u^-1)+q|0:u;if(q){continue}break}}if((s|0)==(w|0)){break r}if(y>>>0>=l[w>>1]){break l}}if(!L|j[a+4268>>2]==j[a+4272>>2]){break n}if(!(t|H&65535)){if(hc(a,r+60|0,g,x,n,0)){break l}t=j[r+60>>2]}if(!t){break n}if(hc(a,r+60|0,g,x,n,0)){break l}}x=j[x+12>>2];if(x){continue}break}}x=0;break k}v=0}w=x;if(!j[37197]){break f}s:{t:{if(!v){Z(r+32|0,32);$(r+32|0,1744);$(r+32|0,h[r+59|0]<0?j[r+48>>2]:r+48|0);q=k[w+16|0];u:{v:{if(!(q&1)){break v}w:{if(q&2){d=k[w|0]+w|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break v}q=k[w+16|0];d=0;if(!(q&1)){break w}}s=(k[w|0]+w|0)+18|0;d=s;if(!(q&2)){break w}d=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}if(ca(d,1748)){break u}}Z(r+32|0,32);$(r+32|0,1748);$(r+32|0,h[r+59|0]<0?j[r+48>>2]:r+48|0)}d=k[w+16|0];x:{if(!(d&1)){break x}if(d&2){d=k[w|0]+w|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break x}}Z(r+32|0,32);q=r+32|0;d=k[w+16|0];s=1810;y:{if(!(d&1)){break y}x=(k[w|0]+w|0)+18|0;s=x;if(!(d&2)){break y}s=k[x|0]|k[x+1|0]<<8|(k[x+2|0]<<16|k[x+3|0]<<24)}$(q,s)}u=0;s=j[w+4>>2];if(!s){break t}D=l[w+2>>1];t=D<<16>>16;B=(t<<1)+s|0;q=s;if(D){A=l[a+4192>>1];d=t;while(1){y=d>>>1|0;x=(y<<1)+q|0;v=A>>>0>l[x>>1];q=v?x+2|0:q;d=v?(y^-1)+d|0:y;if(d){continue}break}}z:{if(l[a+4192>>1]>=l[q>>1]?(q|0)!=(B|0):0){break z}q=s;d=t;if(D){while(1){v=d>>>1|0;x=(v<<1)+q|0;A=l[x>>1]<65511;q=A?x+2|0:q;d=A?(v^-1)+d|0:v;if(d){continue}break}}if(l[q>>1]<65512?(q|0)!=(B|0):0){break z}if(D){q=l[a+4198>>1];while(1){A=t>>>1|0;d=(A<<1)+s|0;x=q>>>0>l[d>>1];s=x?d+2|0:s;t=x?(A^-1)+t|0:A;if(t){continue}break}}if((s|0)==(B|0)|l[a+4198>>1]>1]){break t}}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O;break j}d=l[a+4152>>1];A:{B:{if(!d){break B}w=gb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,1,d);if(w){break A}w=Qa(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,0,l[a+4152>>1],1);if(!w){if(!j[a+4168>>2]){break B}w=eb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,l[a+4152>>1]);if(!w){break B}}y=j[a+4372>>2];x=j[y+56>>2];if(!x){break A}u=l[a+4162>>1];C:{if(!u){break C}d=i[y+60>>1];A=(d<<1)+x|0;q=x;if(d){while(1){v=d>>>1|0;s=(v<<1)+q|0;t=u>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(A|0)){break C}if(u>>>0>=l[q>>1]){break B}}D:{v=l[a+4158>>1];if(!v){break D}q=i[y+60>>1];s=(q<<1)+x|0;if(q){while(1){t=q>>>1|0;d=(t<<1)+x|0;A=v>>>0>l[d>>1];x=A?d+2|0:x;q=A?(t^-1)+q|0:t;if(q){continue}break}}if((s|0)==(x|0)){break D}if(!w|v>>>0>=l[x>>1]){break B}break A}if(w){break A}}if(!(H&65535)){d=l[a+4154>>1];if(!d){break s}w=Qa(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,0,d,1);if(w){break A}if(j[a+4168>>2]){w=eb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,l[a+4154>>1]);if(w){break A}}w=gb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,1,l[a+4154>>1]);if(w){break A}break s}if(H<<16>>16<1){break s}d=l[a+4156>>1];if(!d){break s}w=Qa(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,0,d,1);if(w){break A}if(j[a+4168>>2]){w=eb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,l[a+4156>>1]);if(w){break A}}w=gb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,1,l[a+4156>>1]);if(!w){break s}}j[r+24>>2]=0;j[r+16>>2]=0;j[r+20>>2]=0;d=l[a+4152>>1];E:{if(d){fc(r,a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;d=h[r+27|0];if((d|0)<0?j[r+20>>2]:d&255){break E}}if(!(H&65535)){d=l[a+4154>>1];if(!d){break E}fc(r,a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;break E}if(H<<16>>16<1){break E}d=l[a+4156>>1];if(!d){break E}fc(r,a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d}q=k[r+27|0];d=q<<24>>24;if((d|0)<0?j[r+20>>2]:q){Z(r+32|0,32);$(r+32|0,1744);$(r+32|0,h[r+59|0]<0?j[r+48>>2]:r+48|0);Td(r+16|0);q=k[r+27|0];d=q<<24>>24<0;aa(r+32|0,d?j[r+16>>2]:r+16|0,d?j[r+20>>2]:q);d=k[r+27|0]}if(d<<24>>24<=-1){T(j[r+16>>2])}u=1}F:{if(!w){break F}d=j[a+4376>>2];G:{if(!d){break G}q=j[d+56>>2];if(!q){break G}d=i[d+60>>1];A=(d<<1)+q|0;if(d){x=l[a+4162>>1];while(1){v=d>>>1|0;s=(v<<1)+q|0;t=x>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(A|0)){break G}if(l[a+4162>>1]>=l[q>>1]){break j}}d=j[a+4372>>2];if(!d){break F}q=j[d+56>>2];if(!q){break F}d=i[d+60>>1];A=(d<<1)+q|0;if(d){x=l[a+4162>>1];while(1){v=d>>>1|0;s=(v<<1)+q|0;t=x>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(A|0)){break F}if(l[a+4162>>1]>=l[q>>1]){break j}}H:{if(!w|u){break H}v=l[a+4158>>1];I:{if(!v){break I}d=j[a+4376>>2];J:{if(!d){break J}q=j[d+56>>2];if(!q){break J}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break J}if(v>>>0>=l[q>>1]){break j}}d=j[a+4372>>2];if(!d){break I}q=j[d+56>>2];if(!q){break I}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break I}if(v>>>0>=l[q>>1]){break j}}if(H&65535){break H}v=l[a+4156>>1];if(!v){break H}d=j[a+4376>>2];K:{if(!d){break K}q=j[d+56>>2];if(!q){break K}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break K}if(v>>>0>=l[q>>1]){break s}}d=j[a+4372>>2];if(!d){break H}q=j[d+56>>2];if(!q){break H}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break H}if(v>>>0>=l[q>>1]){break s}}if(!w){break s}s=j[w+4>>2];L:{if(!s){break L}D=l[w+2>>1];x=D<<16>>16;B=s+(x<<1)|0;q=s;if(D){t=l[a+4192>>1];d=x;while(1){y=d>>>1|0;A=(y<<1)+q|0;v=t>>>0>l[A>>1];q=v?A+2|0:q;d=v?(y^-1)+d|0:y;if(d){continue}break}}if(l[a+4192>>1]>=l[q>>1]?(q|0)!=(B|0):0){break j}q=s;if(D){while(1){t=x>>>1|0;d=(t<<1)+q|0;A=l[d>>1]<65511;q=A?d+2|0:q;x=A?(t^-1)+x|0:t;if(x){continue}break}}if((q|0)==(B|0)){break L}if(l[q>>1]<65512){break j}}M:{N:{y=l[a+4160>>1];if(!y){break N}d=i[w+2>>1];if(!d){break N}A=s+(d<<1)|0;q=s;while(1){v=d>>>1|0;x=(v<<1)+q|0;t=y>>>0>l[x>>1];q=t?x+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}A=(q|0)!=(A|0)?(y>>>0>=l[q>>1])+H|0:H;break M}A=H}O:{if(u){break O}d=j[r+60>>2];if(j[d+_>>2]?d:0){break O}y=l[a+4152>>1];P:{if(!y){break P}d=i[w+2>>1];t=s+(d<<1)|0;q=s;if(d){while(1){u=d>>>1|0;x=(u<<1)+q|0;v=y>>>0>l[x>>1];q=v?x+2|0:q;d=v?(u^-1)+d|0:u;if(d){continue}break}}if((q|0)==(t|0)){break P}if(y>>>0>=l[q>>1]){break O}}Q:{R:{if(H&65535){break R}y=l[a+4154>>1];if(!y){break Q}d=i[w+2>>1];t=s+(d<<1)|0;q=s;if(d){while(1){u=d>>>1|0;x=(u<<1)+q|0;v=y>>>0>l[x>>1];q=v?x+2|0:q;d=v?(u^-1)+d|0:u;if(d){continue}break}}if((q|0)==(t|0)){break R}if(y>>>0>=l[q>>1]){break O}}if(H<<16>>16<1){break Q}u=l[a+4156>>1];if(!u){break Q}d=i[w+2>>1];x=s+(d<<1)|0;q=s;if(d){while(1){v=d>>>1|0;s=(v<<1)+q|0;t=u>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(x|0)){break Q}if(u>>>0>=l[q>>1]){break O}}break s}q=j[r+60>>2];S:{if(q|!j[a+4184>>2]){break S}d=k[ea|0];if((d|0)!=k[E|0]){break S}if((d|0)==k[ba|0]|((d|0)==k[da|0]?(G|0)>=2:0)){break s}}if(!(j[a+4248>>2]==j[a+4252>>2]|q)){if(hd(a,b,G,w,0)){break s}}if(!(!j[a+4180>>2]|q)){if(kg(a,b,G)){break s}}T:{if(j[a+4456>>2]!=36){x=e;break T}d=Fb(a,sa(r+16|0,r+48|0,0,G));if(h[r+27|0]<=-1){T(j[r+16>>2])}x=d+e|0;q=j[a+4376>>2];if(!q){break T}d=q+4|0;d=h[q+15|0]<=-1?j[d>>2]:d;s=W(d);if(s>>>0>=4294967280){break e}U:{V:{if(s>>>0>=11){q=s+16&-16;u=U(q);j[r+24>>2]=q|-2147483648;j[r+16>>2]=u;j[r+20>>2]=s;break V}h[r+27|0]=s;u=r+16|0;if(!s){break U}}V(u,d,s)}h[s+u|0]=0;d=Fb(a,r+16|0);if(h[r+27|0]<=-1){T(j[r+16>>2])}A=((d|0)>1)+A|0}q=0;s=j[a+4096>>2];d=j[s>>2];W:{if((d|0)==j[s+4>>2]){break W}while(1){t=dc(j[(q<<2)+d>>2],E);if(!t){s=j[a+4096>>2];d=j[s>>2];q=q+1|0;if(q>>>0>2]-d>>2>>>0){continue}}break}if(!t){break W}while(1){X:{Y:{B=l[a+4198>>1];Z:{if(!B){break Z}q=j[t+4>>2];d=i[t+2>>1];v=q+(d<<1)|0;if(d){while(1){y=d>>>1|0;s=(y<<1)+q|0;u=B>>>0>l[s>>1];q=u?s+2|0:q;d=u?(y^-1)+d|0:y;if(d){continue}break}}if((q|0)==(v|0)){break Z}if(B>>>0>=l[q>>1]){break Y}}v=j[r+60>>2];D=l[a+4152>>1];_:{$:{if(v|!D){break $}q=j[t+4>>2];d=i[t+2>>1];u=q+(d<<1)|0;if(d){while(1){B=d>>>1|0;s=(B<<1)+q|0;y=D>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(u|0)){break $}if(D>>>0>=l[q>>1]){break _}}aa:{if(v){break aa}D=l[a+4158>>1];if(!D){break aa}q=j[t+4>>2];d=i[t+2>>1];u=q+(d<<1)|0;if(d){while(1){B=d>>>1|0;s=(B<<1)+q|0;y=D>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(u|0)){break aa}if(D>>>0>=l[q>>1]){break _}}if(!v|j[a+4268>>2]==j[a+4272>>2]){break Y}if(!hc(a,r+60|0,N<<16>>16,t,0,1)){break Y}v=j[r+60>>2]}if(!v|!j[v+Y>>2]){break X}c=k[r+43|0];b=c<<24>>24<0;aa(o,b?j[r+32>>2]:r+32|0,b?j[r+36>>2]:c);Z(o,32);$(o,1744);$(o,E);ba:{if(!j[a+4148>>2]){break ba}w=k[t+16|0];if(!(w&1)){break ba}b=o;ca:{if(w&2){c=k[t|0]+t|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break ba}w=k[t+16|0];c=1810;if(!(w&1)){break ca}}d=(k[t|0]+t|0)+18|0;c=d;if(!(w&2)){break ca}c=k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24)}$(b,c)}w=k[t+16|0];da:{ea:{if(!(w&1)){break ea}fa:{if(w&2){b=k[t|0]+t|0;if(!(k[b+18|0]|k[b+19|0]<<8|(k[b+20|0]<<16|k[b+21|0]<<24))){break ea}w=k[t+16|0];b=0;if(!(w&1)){break fa}}c=(k[t|0]+t|0)+18|0;b=c;if(!(w&2)){break fa}b=k[c|0]|k[c+1|0]<<8|(k[c+2|0]<<16|k[c+3|0]<<24)}if(ca(b,1748)){break da}}Z(o,32);$(o,1748);$(o,t+17|0)}ga:{if(j[a+4148>>2]){break ga}a=k[t+16|0];if(!(a&1)){break ga}if(a&2){a=k[t|0]+t|0;if(!(k[a+18|0]|k[a+19|0]<<8|(k[a+20|0]<<16|k[a+21|0]<<24))){break ga}}Z(o,32);a=o;b=k[t+16|0];c=1810;ha:{if(!(b&1)){break ha}d=(k[t|0]+t|0)+18|0;c=d;if(!(b&2)){break ha}c=k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24)}$(a,c)}Z(o,10);break f}t=j[t+12>>2];if(t){continue}break W}break}d=x;ia:{if(j[a+4456>>2]!=36){break ia}s=j[t+4>>2];F=l[t+2>>1];v=F<<16>>16;D=s+(v<<1)|0;q=s;d=v;if(F){while(1){B=d>>>1|0;u=(B<<1)+q|0;y=l[u>>1]<73;q=y?u+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}d=x;if((q|0)==(D|0)){break ia}d=x;if(l[q>>1]>73){break ia}if(F){while(1){u=v>>>1|0;d=(u<<1)+s|0;q=l[d>>1]<74;s=q?d+2|0:s;v=q?(u^-1)+v|0:u;if(v){continue}break}}d=x-1|0;if((s|0)==(D|0)){break ia}d=x-(l[s>>1]>74)|0}y=d;s=j[t+4>>2];F=l[a+4160>>1];d=A;ja:{if(!F){break ja}d=i[t+2>>1];u=(d<<1)+s|0;q=s;if(d){while(1){D=d>>>1|0;v=(D<<1)+q|0;B=F>>>0>l[v>>1];q=B?v+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}}d=A;if((q|0)==(u|0)){break ja}d=(F>>>0>=l[q>>1])+A|0}ka:{if(!s){break ka}R=l[t+2>>1];v=R<<16>>16;K=(v<<1)+s|0;q=s;if(R){D=l[a+4192>>1];u=v;while(1){J=u>>>1|0;B=(J<<1)+q|0;F=D>>>0>l[B>>1];q=F?B+2|0:q;u=F?(J^-1)+u|0:J;if(u){continue}break}}if(!(l[a+4192>>1]>=l[q>>1]?(q|0)!=(K|0):0)){q=s;if(R){while(1){D=v>>>1|0;u=(D<<1)+q|0;B=l[u>>1]<65511;q=B?u+2|0:q;v=B?(D^-1)+v|0:D;if(v){continue}break}}if((q|0)==(K|0)|l[q>>1]>65511){break ka}}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O;e=y;break i}J=l[a+4152>>1];la:{ma:{if(!J){break ma}u=i[t+2>>1];B=(u<<1)+s|0;q=s;if(u){while(1){F=u>>>1|0;v=(F<<1)+q|0;D=J>>>0>l[v>>1];q=D?v+2|0:q;u=D?(F^-1)+u|0:F;if(u){continue}break}}if((q|0)==(B|0)){break ma}if(J>>>0>=l[q>>1]){break la}}F=l[a+4158>>1];if(!F){break W}q=i[t+2>>1];u=(q<<1)+s|0;if(q){while(1){D=q>>>1|0;v=(D<<1)+s|0;B=F>>>0>l[v>>1];s=B?v+2|0:s;q=B?(D^-1)+q|0:D;if(q){continue}break}}if((s|0)==(u|0)|F>>>0>1]){break W}}q=j[a+4308>>2];na:{if(!((q|0)==-1|(q|0)>((d<<16>>16)+1|0))){if(!j[a+4312>>2]){break W}s=y<<16>>16;v=k[t|0];oa:{pa:{if(v>>>0>=11){q=v+16&496;d=U(q);j[r+24>>2]=q|-2147483648;j[r+16>>2]=d;j[r+20>>2]=v;break pa}h[r+27|0]=v;d=r+16|0;if(!v){break oa}}V(d,t+17|0,v)}u=0;h[d+v|0]=0;if((Fb(a,r+16|0)+s|0)<=j[a+4312>>2]){u=!j[a+4172>>2]|(t|0)!=(w|0)}if(h[r+27|0]<=-1){T(j[r+16>>2])}if(u){break na}break W}if((t|0)!=(w|0)){break na}if(j[a+4172>>2]){break W}}q=k[r+43|0];d=q<<24>>24<0;aa(o,d?j[r+32>>2]:r+32|0,d?j[r+36>>2]:q);Z(o,32);$(o,1744);$(o,E);d=k[t+16|0];qa:{if(!(d&1)){break qa}if(d&2){d=k[t|0]+t|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break qa}}if(j[a+4148>>2]){d=o;q=k[t+16|0];s=1810;ra:{if(!(q&1)){break ra}v=(k[t|0]+t|0)+18|0;s=v;if(!(q&2)){break ra}s=k[v|0]|k[v+1|0]<<8|(k[v+2|0]<<16|k[v+3|0]<<24)}$(d,s)}q=k[t+16|0];sa:{ta:{if(!(q&1)){break ta}ua:{if(q&2){d=k[t|0]+t|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break ta}q=k[t+16|0];d=0;if(!(q&1)){break ua}}s=(k[t|0]+t|0)+18|0;d=s;if(!(q&2)){break ua}d=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}if(ca(d,1748)){break sa}}Z(o,32);$(o,1748);$(o,t+17|0)}if(j[a+4148>>2]){break qa}Z(o,32);d=o;q=k[t+16|0];s=1810;va:{if(!(q&1)){break va}t=(k[t|0]+t|0)+18|0;s=t;if(!(q&2)){break va}s=k[t|0]|k[t+1|0]<<8|(k[t+2|0]<<16|k[t+3|0]<<24)}$(d,s)}Z(o,10);P=1}i[a+4364>>1]=0;j[a+4372>>2]=0;wa:{xa:{ya:{za:{Aa:{if(L){break Aa}q=l[a+4152>>1];if(!q){break Aa}d=W(E);u=gb(a,E,d,0,q);if(u){break za}u=Qa(a,E,d,0,0,0,q,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(u){break ya}u=eb(a,E,d,0,0,q);if(u){break za}u=Lb(a,E,d,q)}if(u){break za}}Ba:{if(L){break Ba}q=l[a+4158>>1];if(!q){break Ba}j[a+4372>>2]=0;j[a+4376>>2]=0;d=W(E);u=gb(a,E,d,0,q);if(u){break za}u=Qa(a,E,d,0,0,0,q,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(u){break ya}u=eb(a,E,d,0,0,q);if(u){break za}u=Lb(a,E,d,q)}if(u){break za}}v=0;K=1;if(!j[r+60>>2]|j[a+4268>>2]==j[a+4272>>2]){break wa}d=W(E);u=gb(a,E,d,2,0);Ca:{if(u){break Ca}u=Qa(a,E,d,0,0,0,0,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(u){break Ca}u=eb(a,E,d,0,0,0);if(u){break Ca}u=Lb(a,E,d,0)}if(!u){break wa}}if(!hc(a,r+60|0,N<<16>>16,u,0,1)){break za}j[r+24>>2]=0;j[r+16>>2]=0;j[r+20>>2]=0;d=l[a+4152>>1];Da:{if(d){fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;d=h[r+27|0];if((d|0)<0?j[r+20>>2]:d&255){break Da}}d=l[a+4158>>1];if(!d){break Da}fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d}q=k[r+43|0];d=q<<24>>24<0;aa(o,d?j[r+32>>2]:r+32|0,d?j[r+36>>2]:q);d=k[r+27|0];if(d<<24>>24<0?j[r+20>>2]:d){Z(o,32);$(o,1744);$(o,E);Td(r+16|0);q=k[r+27|0];d=q<<24>>24<0;aa(o,d?j[r+16>>2]:r+16|0,d?j[r+20>>2]:q)}Z(o,10);if(h[r+27|0]<=-1){T(j[r+16>>2])}P=1}d=j[a+4376>>2];Ea:{if(!d){break Ea}q=j[d+56>>2];if(!q){break Ea}d=i[d+60>>1];v=(d<<1)+q|0;if(d){t=l[a+4162>>1];while(1){B=d>>>1|0;s=(B<<1)+q|0;y=t>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(v|0)){break Ea}if(l[a+4162>>1]>=l[q>>1]){break xa}}Fa:{d=j[a+4372>>2];if(!d){break Fa}q=j[d+56>>2];if(!q){break Fa}d=i[d+60>>1];v=(d<<1)+q|0;if(d){t=l[a+4162>>1];while(1){B=d>>>1|0;s=(B<<1)+q|0;y=t>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(v|0)){break Fa}v=0;K=1;if(l[a+4162>>1]>=l[q>>1]){break wa}if(u){break ya}break wa}if(!u){break xa}}K=0;Ga:{s=j[u+4>>2];Ha:{if(!s){break Ha}J=l[u+2>>1];t=J<<16>>16;F=(t<<1)+s|0;q=s;if(J){y=l[a+4192>>1];d=t;while(1){D=d>>>1|0;v=(D<<1)+q|0;B=y>>>0>l[v>>1];q=B?v+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}}if(!(l[a+4192>>1]>=l[q>>1]?(q|0)!=(F|0):0)){q=s;d=t;if(J){while(1){B=d>>>1|0;v=(B<<1)+q|0;y=l[v>>1]<65511;q=y?v+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(F|0)|l[q>>1]>65511){break Ha}}if(J){q=l[a+4198>>1];while(1){y=t>>>1|0;d=(y<<1)+s|0;v=q>>>0>l[d>>1];s=v?d+2|0:s;t=v?(y^-1)+t|0:y;if(t){continue}break}}if((s|0)==(F|0)|l[a+4198>>1]>1]){break Ga}}v=u;break wa}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O;e=x;d=A;break i}v=0;K=1}u=x;t=A;Ia:{Ja:{Ka:{if(j[a+4456>>2]!=36){break Ka}s=W(E);if(s>>>0>=4294967280){break e}La:{Ma:{if(s>>>0>=11){q=s+16&-16;d=U(q);j[r+24>>2]=q|-2147483648;j[r+16>>2]=d;j[r+20>>2]=s;break Ma}h[r+27|0]=s;d=r+16|0;if(!s){break La}}V(d,E,s)}h[d+s|0]=0;y=Fb(a,r+16|0);if(h[r+27|0]<=-1){T(j[r+16>>2])}q=j[a+4356>>2];Na:{if(q){s=W(q);if(s>>>0>=4294967280){break e}Oa:{Pa:{if(s>>>0>=11){d=s+16&-16;u=U(d);j[r+24>>2]=d|-2147483648;j[r+16>>2]=u;j[r+20>>2]=s;break Pa}h[r+27|0]=s;u=r+16|0;if(!s){break Oa}}V(u,q,s)}h[s+u|0]=0;Va(r+16|0);q=Fb(a,r+16|0);d=l[a+4360>>1];if(h[r+27|0]<=-1){T(j[r+16>>2])}q=d+q|0;break Na}q=j[a+4360>>2]}t=A;s=j[a+4376>>2];if(s){d=s+4|0;d=h[s+15|0]<=-1?j[d>>2]:d;t=W(d);if(t>>>0>=4294967280){break e}Qa:{Ra:{if(t>>>0>=11){s=t+16&-16;u=U(s);j[r+24>>2]=s|-2147483648;j[r+16>>2]=u;j[r+20>>2]=t;break Ra}h[r+27|0]=t;u=r+16|0;if(!t){break Qa}}V(u,d,t)}h[t+u|0]=0;d=Fb(a,r+16|0);if(h[r+27|0]<=-1){T(j[r+16>>2])}t=((d|0)>1)+A|0}u=(x+y|0)-q|0;d=h[a+4351|0];s=j[a+4344>>2];Sa:{if((d|0)<=-1){break Sa}s=d&255}if(!s){break Ka}Ta:{switch(l[a+4364>>1]-73|0){case 26:if(K){break Ia}u=u+2|0;break Ja;case 1:if(K){break Ia}u=u+1|0;break Ja;case 0:break Ta;default:break Ka}}if(K){break Ia}d=i[v+2>>1];if(!d){break Ja}q=j[v+4>>2];y=q+(d<<1)|0;while(1){D=d>>>1|0;s=(D<<1)+q|0;B=l[s>>1]<74;q=B?s+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}if((q|0)==(y|0)){break Ja}if(l[q>>1]>74){break Ka}u=u+1|0;break Ja}if(K){break Ia}}F=l[a+4160>>1];Ua:{if(!F){break Ua}d=i[v+2>>1];if(!d){break Ua}q=j[v+4>>2];y=q+(d<<1)|0;while(1){D=d>>>1|0;s=(D<<1)+q|0;B=F>>>0>l[s>>1];q=B?s+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}if((q|0)==(y|0)){break Ua}t=(F>>>0>=l[q>>1])+t|0}d=j[a+4308>>2];if(!((d|0)==-1|(d|0)>((t<<16>>16)+1|0))){d=j[a+4312>>2];if(!d|(d|0)>16){break Ia}}if(j[a+4172>>2]?(v|0)==(w|0):0){break Ia}j[r+24>>2]=0;j[r+16>>2]=0;j[r+20>>2]=0;d=l[a+4152>>1];Va:{if(d){fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;d=h[r+27|0];if((d|0)<0?j[r+20>>2]:d&255){break Va}}d=l[a+4158>>1];if(!d){break Va}fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d}q=k[r+43|0];d=q<<24>>24<0;aa(o,d?j[r+32>>2]:r+32|0,d?j[r+36>>2]:q);d=k[r+27|0];if(d<<24>>24<0?j[r+20>>2]:d){Z(o,32);$(o,1744);$(o,E);Td(r+16|0);Z(o,32);q=k[r+27|0];d=q<<24>>24<0;aa(o,d?j[r+16>>2]:r+16|0,d?j[r+20>>2]:q)}Z(o,10);if(h[r+27|0]<=-1){T(j[r+16>>2])}P=1;break s}d=A<<16;if(P|((d>>16)+2|0)>=(f|0)){break s}P=0;Pf(a,E,W(E),d+65536>>16,x<<16>>16,f,N<<16>>16,j[r+60>>2],n,o,r+32|0)}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O}d=H}if(!(H&65535|L)){L=1;H=d;if(j[a+4268>>2]!=j[a+4272>>2]){continue}}break}if((c|0)>(I|0)){continue}break}}if(h[Q+11|0]<=-1){T(j[r+32>>2])}if(h[r+59|0]<=-1){T(j[r+48>>2])}M=r- -64|0;return}X();z()}function pq(a,b){var c=0,d=0,e=0,f=0,g=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;c=M-65568|0;M=c;e=U(65788);d=Ie(e,b);j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;a:{if(ub(d,c)){o=a+4432|0;r=a+4444|0;u=a+4208|0;v=a+4204|0;w=a+4420|0;x=a+4408|0;y=a+4396|0;z=a+4384|0;A=a+4340|0;s=a+4128|0;B=a+4116|0;C=a+4104|0;g=c+65560|0;t=1;while(1){bb(c);b:{if(f&1){break b}if(_(c,0,3,1081,3)){break b}xb(c,0,3)}c:{if(_(c,0,3,1085,3)){break c}if(va(c,C)){break c}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}d:{if(_(c,0,3,1089,3)){break d}if(va(c,B)){break d}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}e:{if(_(c,0,3,1093,3)){break e}if(!va(c,s)){ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}b=k[a+4139|0];if(((b<<24>>24<0?j[a+4132>>2]:b)|0)!=5){break e}if(_(s,0,-1,1097,5)){break e}j[a+4144>>2]=1;_h()}if(!_(c,0,15,1103,15)){j[a+4148>>2]=1}f:{if(_(c,0,12,1119,12)){break f}if((l[a+4152>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4152>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break f}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}g:{if(_(c,0,13,1132,13)){break g}if(j[a+4148>>2]){if((l[a+4158>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4158>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break g}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if((l[a+4154>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4154>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break g}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}h:{if(_(c,0,14,1146,14)){break h}if((l[a+4156>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4156>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break h}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}i:{if(_(c,0,11,1161,11)){break i}if(j[a+4148>>2]){if((l[a+4154>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4154>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break i}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if((l[a+4158>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4158>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break i}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}j:{if(_(c,0,15,1173,15)){break j}if(j[a+4308>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4308>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break j}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}k:{if(_(c,0,12,1189,12)){break k}if((l[a+4160>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4160>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break k}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}l:{if(_(c,0,18,1202,18)){break l}if((l[a+4164>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4164>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break l}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}m:{if(_(c,0,18,1221,18)){break m}if((l[a+4162>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4162>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break m}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,20,1240,20)){j[a+4168>>2]=1}if(!_(c,0,16,1261,16)){j[a+4172>>2]=1}if(!_(c,0,16,1278,16)){j[a+4176>>2]=1}if(!_(c,0,19,1295,19)){j[a+4184>>2]=1}if(!_(c,0,16,1315,16)){j[a+4188>>2]=1}if(!_(c,0,17,1332,17)){j[a+4180>>2]=1}n:{if(_(c,0,9,1350,9)){break n}if((l[a+4194>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4194>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break n}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}o:{if(_(c,0,14,1360,14)){break o}if((l[a+4196>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4196>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break o}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}p:{if(_(c,0,13,1375,13)){break p}if((l[a+4192>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4192>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break p}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}q:{if(_(c,0,13,1389,13)){break q}if((l[a+4460>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4460>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break q}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}r:{if(_(c,0,9,1403,9)){break r}if((l[a+4462>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4462>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break r}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}s:{if(_(c,0,14,1413,14)){break s}if((l[a+4464>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4464>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break s}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}t:{if(_(c,0,10,1428,10)){break t}if((l[a+4198>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4198>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break t}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}u:{if(_(c,0,9,1439,9)){break u}if((l[a+4198>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4198>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break u}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}v:{if(_(c,0,11,1449,11)){break v}w:{if(j[a+4200>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4200>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break w}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(j[a+4200>>2]>0){break v}j[a+4200>>2]=1}x:{if(_(c,0,16,1461,16)){break x}if(Tp(a,c)){break x}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}y:{if(_(c,0,11,1478,11)){break y}if(va(c,A)){break y}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,8,1490,8)){j[a+4380>>2]=1}z:{if(_(c,0,9,1499,9)){break z}if(Ve(c,z,y,j[a+4144>>2])){break z}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}A:{if(_(c,0,6,1509,6)){break A}if(Ve(c,x,w,j[a+4144>>2])){break A}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}B:{if(_(c,0,5,1516,5)){break B}h[c+65563|0]=5;h[c+65557|0]=0;j[c+65552>>2]=k[1516]|k[1517]<<8|(k[1518]<<16|k[1519]<<24);h[c+65556|0]=k[1520];b=Ih(c,d,v,c+65552|0);if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break B}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}C:{if(_(c,0,5,1522,5)){break C}h[c+65563|0]=5;h[c+65557|0]=0;j[c+65552>>2]=k[1522]|k[1523]<<8|(k[1524]<<16|k[1525]<<24);h[c+65556|0]=k[1526];b=Ih(c,d,u,c+65552|0);if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break C}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}D:{if(_(c,0,5,1528,5)){break D}if(Mp(a,c,d)){break D}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}E:{if(_(c,0,20,1534,20)){break E}if(Fp(a,c,d)){break E}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}F:{if(_(c,0,12,1555,12)){break F}if(wp(a,c,d)){break F}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}G:{if(_(c,0,3,1568,3)){break G}if(lp(a,c,d)){break G}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}H:{if(_(c,0,5,1572,5)){break H}if(gp(a,c,d)){break H}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,4,1578,4)){if(!va(c,r)){ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}E=a,F=$h(r),j[E+4456>>2]=F}I:{if(_(c,0,7,1583,7)){break I}f=k[c+11|0];b=f<<24>>24<0;f=b?j[c+4>>2]:f;if(f>>>0<8){break I}q=b?j[c>>2]:c;D=q+f|0;f=q+7|0;while(1){J:{b=k[f|0];if(b>>>0>63){break J}n=b&31;if((b&63)>>>0>=32){b=1<>>32-n;n=1<>2])}b=j[c+65556>>2];j[o>>2]=j[c+65552>>2];j[o+4>>2]=b;j[o+8>>2]=j[g>>2]}K:{if(_(c,0,12,1591,12)){break K}if(j[a+4284>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4284>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break K}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,11,1604,11)){j[a+4296>>2]=1}L:{if(_(c,0,7,1616,7)){break L}if(j[a+4292>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4292>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break L}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}M:{if(_(c,0,10,1624,10)){break M}if(j[a+4288>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4288>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break M}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,11,1635,11)){j[a+4300>>2]=1}if(!_(c,0,9,1647,9)){j[a+4484>>2]=1}if(!_(c,0,12,1657,12)){j[a+4304>>2]=1}N:{if(_(c,0,8,1670,8)){break N}if((l[a+4466>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4466>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break N}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}O:{if(_(c,0,10,1679,10)){break O}if((l[a+4468>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4468>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break O}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}P:{if(_(c,0,4,1690,4)){break P}if((l[a+4470>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4470>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break P}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,10,1695,10)){j[a+4472>>2]=1}Q:{if(_(c,0,11,1706,11)){break Q}if((l[a+4476>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4476>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break Q}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,11,1718,11)){j[a+4480>>2]=1}R:{S:{T:{if(!_(c,0,3,1730,3)){b=j[a+4148>>2];if(!_(c,0,3,1734,3)){break T}b=b?83:80;break S}if(_(c,0,3,1734,3)){break R}}b=j[a+4148>>2]?80:83}if(t){ya(c+16|0,0,65536)}t=0;if(Zo(a,c,b,d,c+16|0)){break R}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}f=1;if(ub(d,c)){continue}break}}ea(d);T(e);b=1;d=1;while(1){e=(d<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}while(1){d=((b<<2)+a|0)+1024|0;E=d,F=la(a,j[d>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}Uo(a);Ro(a);U:{if(j[a+4144>>2]){break U}b=a+4128|0;d=h[a+4139|0];e=j[a+4132>>2];V:{if((d|0)<=-1){break V}e=d&255}if(!e){Ka(b,1760)}d=_c(b);j[a+4140>>2]=d;e=a+4384|0;b=0;while(1){d=p(b,3)+d|0;W:{if(k[d+2|0]==k[d+1|0]){break W}d=b<<24>>24;if((Ba(e,d,0)|0)!=-1){break W}Z(e,d)}b=b+1|0;if((b|0)==256){break U}d=j[a+4140>>2];continue}}if(k[a+4228|0]){break a}i[c+65552>>1]=45;h[c+65563|0]=1;d=a+4232|0;b=j[a+4236>>2];X:{if(b>>>0>2]){e=j[c+65556>>2];j[b>>2]=j[c+65552>>2];j[b+4>>2]=e;j[b+8>>2]=j[c+65560>>2];j[a+4236>>2]=b+12;break X}Db(d,c+65552|0);if(h[c+65563|0]>-1){break X}T(j[c+65552>>2])}h[c+65554|0]=0;i[c+65552>>1]=11614;h[c+65563|0]=2;b=j[a+4236>>2];Y:{if(b>>>0>2]){e=j[c+65556>>2];j[b>>2]=j[c+65552>>2];j[b+4>>2]=e;j[b+8>>2]=j[c+65560>>2];j[a+4236>>2]=b+12;break Y}Db(d,c+65552|0);if(h[c+65563|0]>-1){break Y}T(j[c+65552>>2])}h[c+65554|0]=0;i[c+65552>>1]=9261;h[c+65563|0]=2;b=j[a+4236>>2];Z:{if(b>>>0>2]){d=j[c+65556>>2];j[b>>2]=j[c+65552>>2];j[b+4>>2]=d;j[b+8>>2]=j[c+65560>>2];j[a+4236>>2]=b+12;break Z}Db(d,c+65552|0);if(h[c+65563|0]>-1){break Z}T(j[c+65552>>2])}h[a+4228|0]=1}if(h[c+11|0]<=-1){T(j[c>>2])}M=c+65568|0}function Oq(a,b,c,d,e,f){var g=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=M-128|0;M=g;j[f>>2]=0;j[e>>2]=0;h[d|0]=0;j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;j[g+92>>2]=0;a:{b:{if(!j[b+16>>2]|j[b+4>>2]==j[b+8>>2]){break b}if(!_(c,0,5,121100,5)){Nq(a,b,c);break a}n=k[c+11|0];o=n<<24>>24;c:{if(j[b+44>>2]){if(m[c+4>>2]<=299|(o|0)>-1){break c}break b}if(((o|0)<0?j[c+4>>2]:n)>>>0>99){break b}}j[g+88>>2]=0;j[g+80>>2]=0;j[g+84>>2]=0;j[g+72>>2]=0;j[g+64>>2]=0;j[g+68>>2]=0;d:{q=b;r=g+80|0;t=g- -64|0;o=j[b>>2];e:{f:{if(!o){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;break f}s=j[o+4204>>2];j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;if(!s){break f}n=g+112|0;if(Yc(s,c,g+112|0)){break e}}n=c}u=Pe(q,r,t,n,f,e);g:{if(!u){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[g+123|0]>-1){break g}T(j[g+112>>2]);break g}if(h[g+123|0]<=-1){T(j[g+112>>2])}t=C()|0;c=j[f>>2];o=j[b>>2];if(!(c|!o)){h:{if(!l[o+4468>>1]){break h}j[g+32>>2]=32;if(!_a(b,g+80|0,g+32|0,0)){break h}c=ha(g+48|0,g+80|0);i:{if(j[b+44>>2]){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;ia(g+112|0,c);vb(g+112|0,j[b+40>>2]);da(c,g+112|0);b=j[g+112>>2];if(!b){break i}j[g+116>>2]=b;T(b);break i}nb(c,j[b+36>>2])}b=j[g+100>>2];j:{if((b|0)!=j[g+104>>2]){b=ha(b,c)+12|0;break j}Wb(g+96|0,c);b=j[g+100>>2]}d=j[g+96>>2];j[a+4>>2]=b;j[a>>2]=d;j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g}c=j[f>>2]}s=0;k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{switch(c|0){case 0:s=Vb(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,g+92|0);o=t+25e4|0;if((C()|0)>(o|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g}if(!j[e>>2]){break q}c=ha(g+112|0,g+80|0);Z(c,46);e=Vb(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,g+92|0);if((C()|0)<=(o|0)){break s}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 1:h[d|0]=1;e=Vb(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,g+92|0);o=t+25e4|0;if((C()|0)>(o|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g}c=ha(g+112|0,g+80|0);u:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break u}Pa(c,j[b+36>>2])}n=Vb(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,g+92|0);if((C()|0)<=(o|0)){break r}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 4:h[d|0]=1;case 3:s=Vb(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,g+92|0);r=t+25e4|0;if((C()|0)>(r|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g}c=Ba(g+80|0,46,0);v:{if((c|0)==-1){break v}o=c+1|0;c=sa(g+112|0,g+80|0,o,-1);w:{if(j[b+44>>2]){j[g+56>>2]=0;j[g+48>>2]=0;j[g+52>>2]=0;ia(g+48|0,c);n=Mc(g+48|0,j[b+40>>2]);e=j[g+48>>2];if(!e){break w}j[g+52>>2]=e;T(e);break w}n=Nc(c,j[b+36>>2])}x:{if((n|0)!=1){break x}e=ha(g+48|0,g+80|0);lf(e,o);Jc(g+96|0,j[g+96>>2],e);if(h[e+11|0]>-1){break x}T(j[e>>2])}if(h[c+11|0]>-1){break v}T(j[c>>2])}j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;y:{z:{if(j[f>>2]!=4){break z}ua(g+112|0,g+80|0);A:{if(j[b+44>>2]){wr(g- -64|0,j[b+40>>2]);da(g+112|0,g- -64|0);break A}xr(g+112|0,j[b+36>>2])}e=0;s=Vb(j[b+16>>2],g+96|0,h[g+123|0]<0?j[g+112>>2]:g+112|0,g+92|0)|s;if((C()|0)<=(r|0)){break z}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;r=g+112|0;break y}ua(g+112|0,g+80|0);B:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(g+112|0,g- -64|0);break B}Pa(g+112|0,j[b+36>>2])}if(Ic(b,h[g+123|0]<0?j[g+112>>2]:g+112|0)){Jc(g+96|0,j[g+96>>2],g+112|0)}o=(j[g+100>>2]-j[g+96>>2]|0)/12|0;s=Vb(j[b+16>>2],g+96|0,h[g+123|0]<0?j[g+112>>2]:g+112|0,g+92|0)|s;if((C()|0)>(r|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];e=0;j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;r=g+112|0;break y}C:{if(j[f>>2]!=4){break C}D:{if(j[b+44>>2]){vb(g- -64|0,j[b+40>>2]);da(g+112|0,g- -64|0);break D}nb(g+112|0,j[b+36>>2])}if(Ic(b,h[g+123|0]<0?j[g+112>>2]:g+112|0)){Jc(g+96|0,j[g+96>>2],g+112|0)}s=Vb(j[b+16>>2],g+96|0,h[g+123|0]<0?j[g+112>>2]:g+112|0,g+92|0)|s;if((C()|0)<=(r|0)){break C}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];e=0;j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;r=g+112|0;break y}e=1;r=g+112|0;q=j[g+100>>2];c=j[g+96>>2];if((q-c|0)/12>>>0<=o>>>0){break y}while(1){w=p(o,12);e=w+c|0;v=h[e+11|0]>-1;E:{if(!v){n=j[e>>2];break E}n=e}x=Ya(n,32);F:{if(!x){break F}n=x+1|0;y=W(n);if(y>>>0>=u>>>0){break F}if(!ba((u+(h[g+91|0]<0?j[g+80>>2]:g+80|0)|0)-y|0,n)){break F}e=v?e:j[e>>2];q=n-e|0;if(q>>>0>=4294967280){break p}G:{if(q>>>0<=10){h[g+59|0]=q;c=g+48|0;break G}v=q+16&-16;c=U(v);j[g+56>>2]=v|-2147483648;j[g+48>>2]=c;j[g+52>>2]=q}if((e|0)!=(n|0)){while(1){h[c|0]=k[e|0];c=c+1|0;q=(e|0)!=(x|0);e=e+1|0;if(q){continue}break}}h[c|0]=0;e=W(n);if(e>>>0>=4294967280){break o}H:{I:{if(e>>>0>=11){q=e+16&-16;c=U(q);j[g+40>>2]=q|-2147483648;j[g+32>>2]=c;j[g+36>>2]=e;break I}h[g+43|0]=e;c=g+32|0;if(!e){break H}}V(c,n,e)}h[c+e|0]=0;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;J:{K:{if(!j[b+44>>2]){break K}ia(g+16|0,g+32|0);if(!j[b+44>>2]){break K}vb(g+16|0,j[b+40>>2]);da(g+32|0,g+16|0);break J}nb(g+32|0,j[b+36>>2])}c=w+j[g+96>>2]|0;e=c+12|0;n=j[g+100>>2];L:{if((e|0)!=(n|0)){while(1){if(h[c+11|0]<=-1){T(j[c>>2])}q=j[e+4>>2];j[c>>2]=j[e>>2];j[c+4>>2]=q;j[c+8>>2]=j[e+8>>2];h[e+11|0]=0;h[e|0]=0;c=c+12|0;e=e+12|0;if((n|0)!=(e|0)){continue}break}e=j[g+100>>2];if((e|0)==(c|0)){break L}}while(1){n=e-12|0;if(h[e-1|0]<=-1){T(j[n>>2])}e=n;if((e|0)!=(c|0)){continue}break}}j[g+100>>2]=c;x=j[g+96>>2];j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;c=h[g+43|0];n=(c|0)<0;e=h[g+59|0];q=(e|0)<0;w=n?j[g+36>>2]:c&255;e=q?j[g+52>>2]:e&255;c=w+e|0;if(c>>>0>=4294967280){break n}v=j[g+48>>2];M:{if(c>>>0<=10){h[g+11|0]=e;c=g;break M}y=c+16&-16;c=U(y);j[g+8>>2]=y|-2147483648;j[g>>2]=c;j[g+4>>2]=e}if(e){V(c,q?v:g+48|0,e)}h[c+e|0]=0;aa(g,n?j[g+32>>2]:g+32|0,w);Ne(g+96|0,x,g);if(h[g+11|0]<=-1){T(j[g>>2])}c=j[g+16>>2];if(c){j[g+20>>2]=c;T(c)}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(h[g+59|0]<=-1){T(j[g+48>>2])}c=j[g+96>>2];q=j[g+100>>2]}e=1;o=o+1|0;if(o>>>0<(q-c|0)/12>>>0){continue}break}}if(h[r+11|0]<=-1){T(j[g+112>>2])}if(e){break q}break g;case 2:break t;default:break q}}o=ha(g+48|0,g+80|0);N:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(o,g- -64|0);break N}Pa(o,j[b+36>>2])}n=0;s=Vb(j[b+16>>2],g+96|0,h[o+11|0]<0?j[o>>2]:g+48|0,g+92|0);c=t+25e4|0;O:{if((C()|0)>(c|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break O}e=j[b>>2];P:{if(!e|!l[e+4466>>1]){break P}if(!Ic(b,h[o+11|0]<0?j[o>>2]:g+48|0)){break P}Jc(g+96|0,j[g+96>>2],o)}Q:{if(j[b+44>>2]){vb(g- -64|0,j[b+40>>2]);da(o,g- -64|0);break Q}nb(o,j[b+36>>2])}s=Vb(j[b+16>>2],g+96|0,h[o+11|0]<0?j[o>>2]:g+48|0,g+92|0)|s;R:{if((C()|0)<=(c|0)){c=j[g+96>>2];if((c|0)!=j[g+100>>2]){break R}n=1;break O}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break O}e=0;while(1){n=p(e,12);c=n+c|0;S:{if(j[b+44>>2]){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;ia(g+112|0,c);Oc(g+112|0,j[b+40>>2]);da(c,g+112|0);c=j[g+112>>2];if(!c){break S}j[g+116>>2]=c;T(c);break S}Pc(c,j[b+36>>2])}c=j[b>>2];T:{if(!c|!j[c+4480>>2]){break T}c=n+j[g+96>>2]|0;if(j[b+44>>2]){h[g+114|0]=0;i[g+112>>1]=40899;h[g+123|0]=2;h[g+34|0]=0;i[g+32>>1]=21331;h[g+43|0]=2;wb(c,g+112|0,g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}if(h[g+123|0]>-1){break T}T(j[g+112>>2]);break T}i[g+112>>1]=223;h[g+123|0]=1;h[g+34|0]=0;i[g+32>>1]=21331;h[g+43|0]=2;wb(c,g+112|0,g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}if(h[g+123|0]>-1){break T}T(j[g+112>>2])}n=1;e=e+1|0;c=j[g+96>>2];if(e>>>0<(j[g+100>>2]-c|0)/12>>>0){continue}break}}if(h[o+11|0]<=-1){T(j[o>>2])}if(n){break q}break g}if(h[c+11|0]<=-1){T(j[c>>2])}s=e|s;break q}if(h[c+11|0]<=-1){T(j[c>>2])}s=e|n}U:{if(j[b+40>>2]!=36){break U}n=j[g+96>>2];if((n|0)==j[g+100>>2]){break U}e=0;while(1){c=p(e,12);o=Ba(c+n|0,45,0);V:{if((o|0)==-1){break V}n=c+j[g+96>>2]|0;n=sa(g+112|0,n,0,o);r=c+j[g+96>>2]|0;sa(g+48|0,r,o+1|0,-1);r=k[g+59|0];q=r<<24>>24<0;aa(n,q?j[g+48>>2]:g+48|0,q?j[g+52>>2]:r);if(h[g+59|0]<=-1){T(j[g+48>>2])}jb(b,n,g+48|0);c=c+j[g+96>>2]|0;n=h[c+11|0];W:{if((j[g+48>>2]&3)==3){c=(n|0)<=-1?j[c>>2]:c;n=32;break W}c=(n|0)<=-1?j[c>>2]:c;n=45}h[c+o|0]=n;if(h[g+123|0]>-1){break V}T(j[g+112>>2])}e=e+1|0;n=j[g+96>>2];if(e>>>0<(j[g+100>>2]-n|0)/12>>>0){continue}break}}if(s){break k}c=j[b>>2];if(!c|(j[g+92>>2]?0:j[g+96>>2]!=j[g+100>>2])|!j[c+4284>>2]){break k}e=b+4|0;X:{Y:{Z:{switch(j[f>>2]){case 0:Ed(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,e,0);if((C()|0)<=(t+25e4|0)){break k}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g;case 4:h[d|0]=1;case 3:c=ha(g+112|0,g+80|0);_:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break _}Pa(c,j[b+36>>2])}Ed(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,e,3);if((C()|0)<=(t+25e4|0)){break Y}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 1:h[d|0]=1;c=ha(g+112|0,g+80|0);$:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break $}Pa(c,j[b+36>>2])}Ed(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,e,1);if((C()|0)<=(t+25e4|0)){break X}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 2:break Z;default:break k}}c=ha(g+48|0,g+80|0);aa:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break aa}Pa(c,j[b+36>>2])}d=j[g+96>>2];f=j[g+100>>2];Ed(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+48|0,e,2);e=(f-d|0)/12|0;o=(C()|0)>(t+25e4|0);if(o){break m}f=j[g+96>>2];if((j[g+100>>2]-f|0)/12>>>0<=e>>>0){break l}while(1){d=p(e,12)+f|0;ba:{if(j[b+44>>2]){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;ia(g+112|0,d);Oc(g+112|0,j[b+40>>2]);da(d,g+112|0);d=j[g+112>>2];if(!d){break ba}j[g+116>>2]=d;T(d);break ba}Pc(d,j[b+36>>2])}e=e+1|0;f=j[g+96>>2];if(e>>>0<(j[g+100>>2]-f|0)/12>>>0){continue}break}break l}if(h[c+11|0]>-1){break k}T(j[c>>2]);break k}if(h[c+11|0]>-1){break k}T(j[c>>2]);break k}X();z()}X();z()}X();z()}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0}if(h[c+11|0]<=-1){T(j[c>>2])}if(o){break g}}e=0;ca:{n=Ba(g+80|0,45,0);if((n|0)==-1){break ca}o=1;f=j[g+96>>2];if((f|0)!=j[g+100>>2]){while(1){da:{c=Ba(p(e,12)+f|0,45,0);f=j[g+96>>2];if((c|0)!=-1){break da}e=e+1|0;if(e>>>0<(j[g+100>>2]-f|0)/12>>>0){continue}}break}o=(c|0)==-1}t=t+25e4|0;d=0;r=0;while(1){if(r&1|(!o|s)){break ca}e=j[g+84>>2];c=k[g+91|0];sa(g+112|0,g+80|0,d,n-d|0);r=((c<<24>>24<0?e:c)|0)==(n|0)|r;o=1;ea:{if(!Ic(b,h[g+123|0]<0?j[g+112>>2]:g+112|0)){e=h[g+123|0]<0?j[g+112>>2]:g+112|0;c=W(e);if(c>>>0>=4294967280){break d}fa:{ga:{if(c>>>0>=11){o=c+16&-16;f=U(o);j[g+40>>2]=o|-2147483648;j[g+32>>2]=f;j[g+36>>2]=c;break ga}h[g+43|0]=c;f=g+32|0;if(!c){break fa}}V(f,e,c)}h[c+f|0]=0;Rh(g+48|0,b,g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}q=C()|0;ha:{ia:{if((q|0)>(t|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;o=1;e=j[g+48>>2];c=1;if(e){break ia}break ha}e=j[g+52>>2];if((e|0)==j[g+48>>2]){o=0;c=0;if(e){break ia}break ha}ja:{if(!(r&1)){o=n+1|0;while(1){c=sa(g+32|0,g+80|0,0,d);e=e-12|0;u=k[e+11|0];f=u<<24>>24<0;aa(c,f?j[e>>2]:e,f?j[e+4>>2]:u);$(c,121111);sa(g+16|0,g+80|0,o,-1);f=k[g+27|0];u=f<<24>>24<0;aa(c,u?j[g+16>>2]:g+16|0,u?j[g+20>>2]:f);if(h[g+27|0]<=-1){T(j[g+16>>2])}j[g+16>>2]=0;f=j[b>>2];if(!(!f|!l[f+4192>>1])){_a(b,c,g+16|0,0)}if(!(k[g+16|0]&2)){Jc(g+96|0,j[g+96>>2],c)}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(j[g+48>>2]!=(e|0)){continue}break}break ja}while(1){c=sa(g+32|0,g+80|0,0,d);e=e-12|0;o=k[e+11|0];f=o<<24>>24<0;aa(c,f?j[e>>2]:e,f?j[e+4>>2]:o);j[g+16>>2]=0;f=j[b>>2];if(!(!f|!l[f+4192>>1])){_a(b,c,g+16|0,0)}if(!(k[g+16|0]&2)){Jc(g+96|0,j[g+96>>2],c)}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(j[g+48>>2]!=(e|0)){continue}break}}c=0}o=c;c=j[g+52>>2];f=e;ka:{if((e|0)==(c|0)){break ka}while(1){f=c-12|0;if(h[c-1|0]<=-1){T(j[f>>2])}c=f;if((e|0)!=(c|0)){continue}break}f=j[g+48>>2]}j[g+52>>2]=e;T(f)}e=0;if((q|0)>(t|0)){break ea}}e=1;if(!(r&1)){d=n+1|0;n=Ba(g+80|0,45,d)}if((n|0)!=-1){break ea}c=h[g+91|0];if((c|0)<=-1){n=j[g+84>>2];break ea}n=c&255}if(h[g+123|0]<=-1){T(j[g+112>>2])}if(e){continue}break}break g}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0}a=j[g+64>>2];if(a){j[g+68>>2]=a;T(a)}if(h[g+91|0]<=-1){T(j[g+80>>2])}a=j[g+96>>2];if(!a){break a}c=a;b=j[g+100>>2];d=c;la:{if((c|0)==(b|0)){break la}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((a|0)!=(c|0)){continue}break}d=j[g+96>>2]}c=d;j[g+100>>2]=a;T(c);break a}X();z()}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[g+100>>2]=0;j[g+104>>2]=0}M=g+128|0}function jb(a,b,c){var d=0,e=0,f=0,g=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=M-128|0;M=d;j[d+124>>2]=0;a:{if(!c){c=d+124|0;break a}j[c>>2]=0}b:{c:{e=k[b+11|0];if(((e<<24>>24<0?j[b+4>>2]:e)|0)!=7){break c}if(_(b,0,-1,121100,7)){break c}q=1;break b}g=k[b+11|0];e=g<<24>>24;f=j[b+4>>2];d:{if(j[a+44>>2]){if(f>>>0<=299|(e|0)>-1){break d}break b}if(((e|0)<0?f:g)>>>0>99){break b}}j[d+120>>2]=0;j[d+116>>2]=0;j[d+112>>2]=0;j[d+104>>2]=0;j[d+108>>2]=0;j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;m=a;o=d+104|0;v=d+88|0;e=j[a>>2];e:{f:{if(!e){j[d+80>>2]=0;j[d+72>>2]=0;j[d+76>>2]=0;break f}g=j[e+4204>>2];j[d+80>>2]=0;j[d+72>>2]=0;j[d+76>>2]=0;if(!g){break f}f=d+72|0;if(Yc(g,b,d+72|0)){break e}}f=b}n=Pe(m,o,v,f,d+120|0,d+116|0);if(h[d+83|0]<=-1){T(j[d+72>>2])}q=1;g:{if(!n|j[a+4>>2]==j[a+8>>2]){break g}b=0;m=j[d+104>>2];h:{i:{if(h[d+115|0]>=0){g=m<<24>>24;if((g|0)<58){break i}e=0;break h}g=n>>>0>1?n:1;e=0;while(1){s=h[b+m|0];if((s|0)>57){break h}f=1;if((s|0)<=47){if(!b|(s-44&255)>>>0>2){break h}f=2;if((e|0)==2){break h}}e=f;b=b+1|0;if((g|0)!=(b|0)){continue}break}b=g;break h}m=n>>>0>1?n:1;f=0;while(1){e=1;j:{if(g<<24>>24>47){break j}if((g-44&255)>>>0>2){e=f;break h}if(!b){e=f;break h}e=2;if((f|0)!=2){break j}e=f;break h}b=b+1|0;if((m|0)==(b|0)){b=m;break h}f=e;g=h[(d+104|0)+b|0];if((g|0)<58){continue}break}}if((e|0)==1?(b|0)==(n|0):0){break g}k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{s=j[d+120>>2];switch(s|0){case 1:break r;case 2:break s;case 0:break t;case 3:case 4:break u;default:break o}}j[c>>2]=j[c>>2]+32}e=_a(a,d+104|0,c,0);if(e|!j[d+116>>2]){break q}b=ha(d+72|0,d+104|0);Z(b,46);e=_a(a,b,c,0);if(h[b+11|0]>-1){break q}T(j[b>>2]);break q}j[c>>2]=j[c>>2]+32;e=_a(a,d+104|0,c,0);if(e){break p}n=j[d+116>>2];if(n){b=ha(d+72|0,d+104|0);Z(b,46);e=_a(a,b,c,0);if(h[b+11|0]<=-1){T(j[b>>2])}if(e){break p}}if(!j[a>>2]){break r}b=Ba(d+104|0,39,0);v:{if((b|0)==-1){break v}w:{if(j[a+44>>2]){Ua(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break w}Pa(d+104|0,j[a+36>>2])}e=k[d+115|0];if(b>>>0>=(e<<24>>24<0?j[d+108>>2]:e)-1>>>0){break v}b=b+1|0;g=sa(d+72|0,d+104|0,0,b);f=sa(d+56|0,d+104|0,b,-1);x:{y:{if(j[a+44>>2]){j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;ia(d+40|0,g);ia(d+24|0,f);z:{if(j[a+44>>2]){vb(d+24|0,j[a+40>>2]);da(f,d+24|0);break z}nb(f,j[a+36>>2])}o=j[f+4>>2];b=k[f+11|0];j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;e=k[g+11|0];m=e<<24>>24<0;e=m?j[g+4>>2]:e;v=o;o=b<<24>>24;r=(o|0)<0?v:b;b=e+r|0;if(b>>>0>=4294967280){break n}t=j[g>>2];A:{if(b>>>0<=10){h[d+19|0]=e;b=d+8|0;break A}u=b+16&-16;b=U(u);j[d+16>>2]=u|-2147483648;j[d+8>>2]=b;j[d+12>>2]=e}if(e){V(b,m?t:d+72|0,e)}h[b+e|0]=0;aa(d+8|0,(o|0)<0?j[f>>2]:d+56|0,r);if(h[d+115|0]<=-1){T(j[d+104>>2])}j[d+112>>2]=j[d+16>>2];b=j[d+12>>2];j[d+104>>2]=j[d+8>>2];j[d+108>>2]=b;Oe(d+88|0,j[d+40>>2],j[d+44>>2]);Pq(d+88|0,j[d+92>>2],j[d+24>>2],j[d+28>>2]);e=_a(a,d+104|0,c,0);b=j[d+24>>2];if(b){j[d+28>>2]=b;T(b)}b=j[d+40>>2];if(b){j[d+44>>2]=b;T(b)}b=5;if(!e){break y}break x}nb(f,j[a+36>>2]);o=j[f+4>>2];b=k[f+11|0];j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;e=k[g+11|0];m=e<<24>>24<0;e=m?j[g+4>>2]:e;v=o;o=b<<24>>24;r=(o|0)<0?v:b;b=e+r|0;if(b>>>0>=4294967280){break m}t=j[g>>2];B:{if(b>>>0<=10){h[d+51|0]=e;b=d+40|0;break B}u=b+16&-16;b=U(u);j[d+48>>2]=u|-2147483648;j[d+40>>2]=b;j[d+44>>2]=e}if(e){V(b,m?t:d+72|0,e)}h[b+e|0]=0;aa(d+40|0,(o|0)<0?j[f>>2]:d+56|0,r);if(h[d+115|0]<=-1){T(j[d+104>>2])}j[d+112>>2]=j[d+48>>2];b=j[d+44>>2];j[d+104>>2]=j[d+40>>2];j[d+108>>2]=b;b=5;e=_a(a,d+104|0,c,0);if(e){break x}}C:{if(j[a+44>>2]){vb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break C}nb(d+104|0,j[a+36>>2])}e=_a(a,d+104|0,c,0);b=e?5:0}if(h[f+11|0]<=-1){T(j[f>>2])}if(h[g+11|0]<=-1){T(j[g>>2])}if(b){break q}}b=j[a>>2];if(!b|!j[b+4480>>2]){break r}e=k[d+115|0];b=e<<24>>24<0;e=b?j[d+108>>2]:e;if((e|0)<2){break r}b=b?j[d+104>>2]:d+104|0;f=b+e|0;g=b;while(1){e=Aa(g,83,e-1|0);if(!e){break r}if((k[e|0]|k[e+1|0]<<8)!=21331){g=e+1|0;e=f-g|0;if((e|0)>=2){continue}break r}break}if((e|0)==(f|0)|(e-b|0)==-1){break r}D:{if(j[a+44>>2]){Ua(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break D}Pa(d+104|0,j[a+36>>2])}b=ha(d+72|0,d+104|0);e=Kc(a,b,0,0,0,c,0);E:{if(e){break E}F:{if(j[a+44>>2]){vb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break F}nb(d+104|0,j[a+36>>2])}e=Kc(a,d+104|0,0,0,0,c,0);if(e|!n){break E}Z(b,46);e=Kc(a,b,0,0,0,c,0);if(e){break E}ha(d+56|0,d+104|0);if(h[b+11|0]<=-1){T(j[b>>2])}j[d+80>>2]=j[d- -64>>2];e=j[d+60>>2];j[d+72>>2]=j[d+56>>2];j[d+76>>2]=e;Z(b,46);e=Kc(a,b,0,0,0,c,0)}if(h[b+11|0]<=-1){T(j[b>>2])}if(e){break p}}b=0;G:{if(!j[a+44>>2]){break G}H:{if(h[d+115|0]<=-1){e=j[d+104>>2];if(k[e|0]==196){break H}break G}e=d+104|0;if(k[d+104|0]!=196){break G}}b=k[e+1|0]==176}e=j[c>>2];j[c>>2]=e+32;I:{if((s|0)==2){J:{if(j[a+44>>2]){Ua(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break J}Pa(d+104|0,j[a+36>>2])}K:{if(j[a+44>>2]){vb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break K}nb(d+104|0,j[a+36>>2])}if(b){jf(d+104|0,0,1,121108)}m=0;e=_a(a,d+104|0,c,0);break I}m=1;if((s|0)!=1){m=0;e=_a(a,d+104|0,c,0);break I}j[c>>2]=e+48;e=_a(a,d+104|0,c,0);j[c>>2]=j[c>>2]-16}if(k[c|0]&2){break o}if(e){f=j[a>>2];if(!f){break g}if(!j[e+4>>2]|!l[f+4466>>1]){break p}g=j[e+4>>2];f=i[e+2>>1];t=g+(f<<1)|0;n=l[j[a>>2]+4466>>1];if(f){while(1){o=f>>>1|0;u=(o<<1)+g|0;r=n>>>0>l[u>>1];g=r?u+2|0:g;f=r?(o^-1)+f|0:o;if(f){continue}break}}if((g|0)==(t|0)|(s|0)!=2|n>>>0>1]){break p}}if(b){b=j[a+40>>2]-90|0;if(b>>>0>12|!(1<>2]){Ua(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break L}Pa(d+104|0,j[a+36>>2])}n=ha(d+72|0,d+104|0);M:{if(j[a+44>>2]){vb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break M}nb(d+104|0,j[a+36>>2])}e=_a(a,n,c,0);N:{O:{P:{if(!(e|!j[d+116>>2])){Z(n,46);e=_a(a,n,c,0);if(e){break P}ua(n,d+104|0);Z(n,46);Q:{if(!m){m=_a(a,n,c,0);break Q}j[c>>2]=j[c>>2]+16;m=_a(a,n,c,0);j[c>>2]=j[c>>2]-16}if(!m){break O}b=m;e=j[a>>2];f=0;R:{if(!e){break R}f=0;if(!j[m+4>>2]){break R}f=0;if(!l[e+4466>>1]){break R}e=j[m+4>>2];g=i[m+2>>1];t=e+(g<<1)|0;o=l[j[a>>2]+4466>>1];if(g){while(1){f=g>>>1|0;u=(f<<1)+e|0;r=o>>>0>l[u>>1];e=r?u+2|0:e;g=r?(f^-1)+g|0:f;if(g){continue}break}}f=0;if((e|0)==(t|0)){break R}f=o>>>0>=l[e>>1]}e=(s|0)==2?f?0:b:m;break N}if(!e){break O}}b=j[a>>2];if(!b|!j[e+4>>2]|!l[b+4466>>1]){break N}g=j[e+4>>2];f=i[e+2>>1];r=g+(f<<1)|0;b=l[j[a>>2]+4466>>1];if(f){while(1){m=f>>>1|0;t=(m<<1)+g|0;o=b>>>0>l[t>>1];g=o?t+2|0:g;f=o?(m^-1)+f|0:m;if(f){continue}break}}if((g|0)==(r|0)|b>>>0>1]){break N}if(!j[j[a>>2]+4480>>2]|(s|0)==2){break O}if(j[a+44>>2]){b=k[n+11|0];f=b<<24>>24<0;b=f?j[n+4>>2]:b;if((b|0)<2){break O}f=f?j[n>>2]:d+72|0;m=f+b|0;g=f;while(1){b=Aa(g,195,b-1|0);if(!b){break O}if((k[b|0]|k[b+1|0]<<8)!=40899){g=b+1|0;b=m-g|0;if((b|0)>=2){continue}break O}break}if((b|0)==(m|0)|(b-f|0)==-1){break O}break N}if((Ba(n,-33,0)|0)!=-1){break N}}e=0}if(h[n+11|0]>-1){break q}T(j[n>>2])}if(!e){break o}}b=j[a>>2];if(!b|!l[b+4470>>1]){break g}b=j[e+4>>2];if(!b){break g}e=i[e+2>>1];n=(e<<1)+b|0;f=l[j[a>>2]+4470>>1];if(e){while(1){g=e>>>1|0;s=(g<<1)+b|0;m=f>>>0>l[s>>1];b=m?s+2|0:b;e=m?(g^-1)+e|0:g;if(e){continue}break}}if((b|0)==(n|0)|f>>>0>1]){break g}j[c>>2]=j[c>>2]- -64;q=!j[j[a>>2]+4472>>2];break g}q=0;m=j[a+52>>2];e=j[a+56>>2];if(k[c|0]&2|(m|0)==(e|0)){break g}b=0;f=k[d+115|0];c=f<<24>>24<0;s=c?j[d+108>>2]:f;e=e-m|0;if(!e){break k}e=(e|0)/12|0;r=e>>>0>1?e:1;q=c?j[d+104>>2]:d+104|0;n=q+s|0;g=0;while(1){c=0;e=p(b,12)+m|0;f=k[e+11|0];o=f<<24>>24<0;f=o?j[e+4>>2]:f;o=o?j[e>>2]:e;while(1){S:{if(f){e=c+q|0;c=n-e|0;if((f|0)>(c|0)){break S}t=k[o|0];while(1){u=c-f|0;c=u+1|0;if(c>>>0>>0){break S}c=Aa(e,t,c);if(!c){break S}if(qa(c,o,f)){e=c+1|0;c=n-e|0;if((f|0)<=(c|0)){continue}break S}break}if((c|0)==(n|0)){break S}c=c-q|0}if((c|0)==-1){break S}g=g+1|0;c=c+f|0;if(s>>>0>=c>>>0){continue}}break}b=b+1|0;if((r|0)!=(b|0)){continue}break}break l}X();z()}X();z()}q=0;if((g|0)>9){break g}}b=0;T:{U:{while(1){V:{c=m;m=p(b,12);e=c+m|0;c=k[e+11|0];f=c<<24>>24;W:{X:{if((f|0)<=-1){c=j[e+4>>2];if((c|0)==1|c>>>0>s>>>0){break W}f=j[e>>2];break X}if((f|0)==1|c>>>0>s>>>0){break W}f=e}g=c-1|0;Y:{if(k[f|0]!=94){break Y}if(Ud(d+104|0,0,g,e,1,g)){break Y}e=jb(a,sa(d+72|0,d+104|0,g,-1),0);if(h[d+83|0]<=-1){T(j[d+72>>2])}if(e){break T}}e=m+j[a+52>>2]|0;Z:{if(h[e+11|0]<=-1){f=j[e>>2];break Z}f=e}if(k[f+g|0]!=36){break W}c=(s-c|0)+1|0;if(Ud(d+104|0,c,g,e,0,g)){break W}sa(d+72|0,d+104|0,c,-1);Wa(d+104|0,c);e=jb(a,d+104|0,0);f=k[d+83|0];c=f<<24>>24;if(e){break V}c=(c|0)<0;aa(d+104|0,c?j[d+72>>2]:d+72|0,c?j[d+76>>2]:f);if(h[d+83|0]>-1){break W}T(j[d+72>>2])}b=b+1|0;c=j[a+56>>2];m=j[a+52>>2];if(b>>>0<(c-m|0)/12>>>0){continue}break U}break}if((c|0)>-1){break T}T(j[d+72>>2]);break T}if((c|0)==(m|0)){break g}t=0;while(1){u=p(t,12);c=u+m|0;b=k[c+11|0];e=b<<24>>24;if((e|0)<=-1){b=j[c+4>>2]}_:{if(!b){break _}r=(e|0)<0?j[c>>2]:c;c=k[d+115|0];e=c<<24>>24<0;g=e?j[d+104>>2]:d+104|0;m=e?j[d+108>>2]:c;f=g+m|0;c=f;$:{if((b|0)>(m|0)){break $}n=k[r|0];c=m;e=g;while(1){aa:{q=c-b|0;c=q+1|0;if(c>>>0>>0){break aa}c=Aa(e,n,c);if(!c){break aa}if(!qa(c,r,b)){break $}e=c+1|0;c=f-e|0;if((c|0)>=(b|0)){continue}}break}c=f}o=(c|0)==(f|0)?-1:c-g|0;if(!o){break _}e=s-b|0;if(e>>>0<=o>>>0){break _}c=-1;v=a;w=d+72|0;x=d+104|0;if(m>>>0>o>>>0){q=(g+o|0)+1|0;c=f-q|0;ba:{ca:{if((c|0)<(b|0)){break ca}m=k[r|0];while(1){n=c-b|0;c=n+1|0;if(c>>>0>>0){break ca}c=Aa(q,m,c);if(!c){break ca}if(!qa(c,r,b)){break ba}q=c+1|0;c=f-q|0;if((c|0)>=(b|0)){continue}break}}c=f}c=(c|0)==(f|0)?-1:c-g|0}c=c?c>>>0>>0?c:o:o;b=jb(v,sa(w,x,c+b|0,-1),0);if(h[d+83|0]<=-1){T(j[d+72>>2])}if(!b){break _}sa(d+72|0,d+104|0,c,-1);Wa(d+104|0,c);b=0;da:{if(jb(a,d+104|0,0)){break da}b=k[d+83|0];e=b<<24>>24<0;aa(d+104|0,e?j[d+72>>2]:d+72|0,e?j[d+76>>2]:b);b=1;if(j[a+40>>2]!=36){break da}e=u+j[a+52>>2]|0;f=k[e+11|0];b=1;if(((f<<24>>24<0?j[e+4>>2]:f)|0)!=1){break da}b=1;if(_(e,0,-1,121111,1)){break da}b=c+1|0;sa(d+56|0,d+104|0,b,-1);if(h[d+83|0]<=-1){T(j[d+72>>2])}j[d+80>>2]=j[d- -64>>2];c=j[d+60>>2];j[d+72>>2]=j[d+56>>2];j[d+76>>2]=c;Wa(d+104|0,b);b=0;if(jb(a,d+104|0,0)){break da}b=k[d+83|0];c=b<<24>>24<0;aa(d+104|0,c?j[d+72>>2]:d+72|0,c?j[d+76>>2]:b);b=1}if(h[d+83|0]<=-1){T(j[d+72>>2])}if(!b){break T}}t=t+1|0;b=j[a+56>>2];m=j[a+52>>2];if(t>>>0<(b-m|0)/12>>>0){continue}break}if((b|0)==(m|0)){q=0;break g}f=0;ea:{while(1){fa:{n=p(f,12);e=n+m|0;b=k[e+11|0];q=b<<24>>24;if((q|0)<=-1){b=j[e+4>>2]}ga:{if(!b){break ga}c=k[d+115|0];m=c<<24>>24<0;g=m?j[d+104>>2]:d+104|0;c=m?j[d+108>>2]:c;m=g+c|0;ha:{ia:{if((b|0)>(c|0)){break ia}q=(q|0)<0?j[e>>2]:e;o=k[q|0];e=g;while(1){r=c-b|0;c=r+1|0;if(c>>>0>>0){break ia}c=Aa(e,o,c);if(!c){break ia}if(!qa(c,q,b)){break ha}e=c+1|0;c=m-e|0;if((c|0)>=(b|0)){continue}break}}c=m}c=(c|0)==(m|0)?-1:c-g|0;if(!c|c>>>0>=s-b>>>0){break ga}b=jb(a,sa(d+72|0,d+104|0,b+c|0,-1),0);if(h[d+83|0]<=-1){T(j[d+72>>2])}if(!b){break ga}sa(d+72|0,d+104|0,c,-1);Wa(d+104|0,c);e=jb(a,d+104|0,0);g=k[d+83|0];b=g<<24>>24;if(e){break fa}b=(b|0)<0;aa(d+104|0,b?j[d+72>>2]:d+72|0,b?j[d+76>>2]:g);ja:{if(j[a+40>>2]!=36){break ja}b=n+j[a+52>>2]|0;e=k[b+11|0];if(((e<<24>>24<0?j[b+4>>2]:e)|0)!=1){break ja}if(_(b,0,-1,121111,1)){break ja}b=c+1|0;sa(d+56|0,d+104|0,b,-1);if(h[d+83|0]<=-1){T(j[d+72>>2])}j[d+80>>2]=j[d- -64>>2];c=j[d+60>>2];j[d+72>>2]=j[d+56>>2];j[d+76>>2]=c;Wa(d+104|0,b);c=jb(a,d+104|0,0);e=k[d+83|0];b=e<<24>>24;if(c){break ea}b=(b|0)<0;aa(d+104|0,b?j[d+72>>2]:d+72|0,b?j[d+76>>2]:e)}if(h[d+83|0]>-1){break ga}T(j[d+72>>2])}q=0;f=f+1|0;m=j[a+52>>2];if(f>>>0<(j[a+56>>2]-m|0)/12>>>0){continue}break g}break}if((b|0)>-1){break T}T(j[d+72>>2]);break T}if((b|0)>-1){break T}T(j[d+72>>2])}q=1}a=j[d+88>>2];if(a){j[d+92>>2]=a;T(a)}if(h[d+115|0]>-1){break b}T(j[d+104>>2])}M=d+128|0;return q}function Iq(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0;d=M-144|0;M=d;a:{if(!(j[b+4>>2]!=j[b+8>>2]?j[b+16>>2]:0)){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}f=k[c+11|0];e=f<<24>>24;b:{if(j[b+44>>2]){if(m[c+4>>2]<300|(e|0)>-1){break b}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}if(((e|0)<0?j[c+4>>2]:f)>>>0<100){break b}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}j[d+140>>2]=0;j[d+136>>2]=0;j[d+128>>2]=0;j[d+120>>2]=0;j[d+124>>2]=0;j[d+112>>2]=0;j[d+104>>2]=0;j[d+108>>2]=0;p=b;o=d+120|0;q=d+104|0;e=j[b>>2];c:{d:{if(!e){j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;break d}l=j[e+4204>>2];j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;if(!l){break d}f=d+88|0;if(Yc(l,c,d+88|0)){break c}}f=c}e=Pe(p,o,q,f,d+140|0,d+136|0);if(h[d+99|0]<=-1){T(j[d+88>>2])}e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{if(!e){c=j[d+136>>2];if(!c){break n}o:{if(h[d+131|0]<=-1){h[j[d+120>>2]]=0;j[d+124>>2]=0;break o}h[d+131|0]=0;h[d+120|0]=0}e=c>>>0>1?c:1;c=0;while(1){Z(d+120|0,46);c=c+1|0;if((e|0)!=(c|0)){continue}break}j[d+136>>2]=0}c=0;j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;l=b;if(j[b+40>>2]!=36){break g}if(!e){break j}f=j[d+120>>2];if(h[d+131|0]<0){break m}while(1){b=f<<24>>24;if((b|0)>57){break k}p:{if((b|0)>47){break p}q:{switch((f&255)-44|0){case 0:case 2:break q;default:break k}}if(c){break p}c=0;break k}r:{s:{t:{b=c+1|0;f=k[b+(d+120|0)|0];switch(f-44|0){case 2:break s;case 0:break t;default:break r}}f=44}if(!(c>>>0<=2|n)){c=b;break k}u:{if(!n){break u}p=(d+120|0)+c|0;c=b;switch(k[p|0]-44|0){case 0:case 2:break k;default:break u}}n=n+1|0;g=b}c=b;if((b|0)!=(e|0)){continue}break}break l}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break e}p=k[f|0];while(1){b=p<<24>>24;if((b|0)>57){break k}v:{if((b|0)>47){break v}w:{switch((p&255)-44|0){case 0:case 2:break w;default:break k}}if(c){break v}c=0;break k}x:{y:{z:{b=c+1|0;p=k[b+f|0];switch(p-44|0){case 2:break y;case 0:break z;default:break x}}p=44}if(!(c>>>0<=2|n)){c=b;break k}A:{if(!n){break A}o=c+f|0;c=b;switch(k[o|0]-44|0){case 0:case 2:break k;default:break A}}n=n+1|0;g=b}c=b;if((b|0)!=(e|0)){continue}break}}c=e}if(!(!g|(c|0)!=(e|0)|c-g>>>0<4)){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break f}if((c|0)!=(e|0)){break i}}e=1;f=d+120|0;break h}if(!c){break g}B:{C:{if(h[d+131|0]<=-1){e=k[j[d+120>>2]+c|0];if((e|0)!=37){break C}break B}e=k[(d+120|0)+c|0];if((e|0)==37){break B}}if((e|0)!=176){break g}}e=0;b=sa(d+72|0,d+120|0,c,-1);g=_a(l,b,0,0);if(h[b+11|0]<=-1){T(j[b>>2])}f=d+120|0;if(!g){break g}}b=k[f+11|0];f=b<<24>>24<0;aa(d+88|0,f?j[d+120>>2]:d+120|0,f?j[d+124>>2]:b);b=c-1|0;Wa(d+88|0,b);D:{if(e){c=j[l+16>>2];e=sa(d+56|0,d+120|0,b,-1);Za(d+72|0,c,e);c=k[d+83|0];b=c<<24>>24;f=j[d+76>>2];if((b|0)<0?f:c){g=k[d+99|0];if(g<<24>>24<0?j[d+92>>2]:g){$(d+88|0,121137);f=j[d+76>>2];c=k[d+83|0];b=c}b=b<<24>>24<0;aa(d+88|0,b?j[d+72>>2]:d+72|0,b?f:c);b=k[d+83|0]}if(b<<24>>24<=-1){T(j[d+72>>2])}if(h[e+11|0]>-1){break D}T(j[e>>2]);break D}e=sa(d+72|0,d+120|0,b,1);Za(d+56|0,j[l+16>>2],e);f=k[d+67|0];b=f<<24>>24;g=j[d+60>>2];if((b|0)<0?g:f){p=k[d+99|0];if(p<<24>>24<0?j[d+92>>2]:p){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];b=f}b=b<<24>>24<0;aa(d+88|0,b?j[d+56>>2]:d+56|0,b?g:f);b=k[d+67|0]}if(b<<24>>24<=-1){T(j[d+56>>2])}Z(d+88|0,43);b=j[l+16>>2];f=sa(d+40|0,d+120|0,c,-1);Za(d+56|0,b,f);c=k[d+67|0];b=c<<24>>24;g=j[d+60>>2];if((b|0)<0?g:c){l=k[d+99|0];if(l<<24>>24<0?j[d+92>>2]:l){$(d+88|0,121137);g=j[d+60>>2];c=k[d+67|0];b=c}b=b<<24>>24<0;aa(d+88|0,b?j[d+56>>2]:d+56|0,b?g:c);b=k[d+67|0]}if(b<<24>>24<=-1){T(j[d+56>>2])}if(h[f+11|0]<=-1){T(j[f>>2])}if(h[e+11|0]>-1){break D}T(j[e>>2])}Ab(a,d+88|0,10);break f}E:{F:{switch(j[d+140>>2]){case 0:case 3:case 4:Za(d+72|0,j[l+16>>2],d+120|0);e=k[d+83|0];c=e<<24>>24;f=j[d+76>>2];if((c|0)<0?f:e){b=k[d+99|0];if(b<<24>>24<0?j[d+92>>2]:b){$(d+88|0,121137);f=j[d+76>>2];e=k[d+83|0];c=e}b=c<<24>>24<0;aa(d+88|0,b?j[d+72>>2]:d+72|0,b?f:e);c=k[d+83|0]}if(c<<24>>24<=-1){T(j[d+72>>2])}if(!j[d+136>>2]){break E}b=ha(d+72|0,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];c=f<<24>>24;g=j[d+60>>2];if((c|0)<0?g:f){e=k[d+99|0];if(e<<24>>24<0?j[d+92>>2]:e){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];c=f}c=c<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);c=k[d+67|0]}if(c<<24>>24<=-1){T(j[d+56>>2])}if(h[b+11|0]>-1){break E}T(j[b>>2]);break E;case 1:G:{if(j[l+44>>2]){Ua(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break G}Pa(d+120|0,j[l+36>>2])}b=ha(d+72|0,d+120|0);H:{if(j[l+44>>2]){vb(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break H}nb(d+120|0,j[l+36>>2])}Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}Za(d+56|0,j[l+16>>2],d+120|0);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}I:{if(!j[d+136>>2]){break I}Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}ua(b,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24>-1){break I}T(j[d+56>>2])}if(h[b+11|0]>-1){break E}T(j[b>>2]);break E;case 2:break F;default:break E}}Za(d+72|0,j[l+16>>2],d+120|0);e=k[d+83|0];c=e<<24>>24;f=j[d+76>>2];if((c|0)<0?f:e){b=k[d+99|0];if(b<<24>>24<0?j[d+92>>2]:b){$(d+88|0,121137);f=j[d+76>>2];e=k[d+83|0];c=e}b=c<<24>>24<0;aa(d+88|0,b?j[d+72>>2]:d+72|0,b?f:e);c=k[d+83|0]}if(c<<24>>24<=-1){T(j[d+72>>2])}p=j[d+136>>2];J:{if(!p){break J}b=ha(d+72|0,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];c=f<<24>>24;g=j[d+60>>2];if((c|0)<0?g:f){e=k[d+99|0];if(e<<24>>24<0?j[d+92>>2]:e){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];c=f}c=c<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);c=k[d+67|0]}if(c<<24>>24<=-1){T(j[d+56>>2])}if(h[b+11|0]>-1){break J}T(j[b>>2])}K:{if(j[l+44>>2]){Ua(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break K}Pa(d+120|0,j[l+36>>2])}b=ha(d+72|0,d+120|0);L:{if(j[l+44>>2]){vb(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break L}nb(d+120|0,j[l+36>>2])}Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}Za(d+56|0,j[l+16>>2],d+120|0);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}M:{if(!p){break M}Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}ua(b,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24>-1){break M}T(j[d+56>>2])}if(h[b+11|0]>-1){break E}T(j[b>>2])}b=k[d+99|0];if(b<<24>>24<0?j[d+92>>2]:b){N:{if(!j[l+48>>2]){break N}if(j[l+44>>2]){ob(d+88|0);break N}Va(d+88|0)}Ab(a,d+88|0,10);break f}O:{if(j[l+40>>2]!=36){break O}e=Ba(d+120|0,45,0);if((e|0)==-1){break O}c=sa(d+72|0,d+120|0,0,e);P:{Q:{R:{S:{T:{p=e+1|0;o=sa(d+56|0,d+120|0,p,-1);b=h[o+11|0];if((b|0)<=-1){switch(j[o+4>>2]){case 1:break S;case 0:break T;default:break Q}}n=d+56|0;switch(b&255){case 1:break R;case 0:break T;default:break Q}}if(!jb(l,c,0)){break P}Za(d+40|0,j[l+16>>2],c);b=h[d+51|0];U:{if((b|0)<=-1){if(j[d+44>>2]){break U}T(j[d+40>>2]);break P}if(!b){break P}}Ab(d+24|0,d+40|0,10);b=j[d+28>>2];e=j[d+24>>2];j[a+8>>2]=j[d+32>>2];j[a>>2]=e;j[a+4>>2]=b;if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}n=j[o>>2]}if(k[n|0]!=101){break Q}if(!jb(l,c,0)){break P}if(!Ic(l,121139)){break P}Za(d+40|0,j[l+16>>2],c);e=k[d+51|0];b=e<<24>>24<0;e=b?j[d+44>>2]:e;if(e){aa(d+88|0,b?j[d+40>>2]:d+40|0,e)}Z(d+88|0,43);b=j[l+16>>2];h[d+10|0]=0;i[d+8>>1]=25901;h[d+19|0]=2;Za(d+24|0,b,d+8|0);if(h[d+51|0]<=-1){T(j[d+40>>2])}j[d+48>>2]=j[d+32>>2];b=j[d+28>>2];j[d+40>>2]=j[d+24>>2];j[d+44>>2]=b;h[d+24|0]=0;h[d+35|0]=0;if(h[d+19|0]<=-1){T(j[d+8>>2])}b=h[d+51|0];e=(b|0)<0?j[d+44>>2]:b&255;if(e){aa(d+88|0,(b|0)<0?j[d+40>>2]:d+40|0,e)}Ab(a,d+88|0,10);if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}Z(c,32);b=jb(l,c,0);f=k[c+11|0];xb(c,(f<<24>>24<0?j[c+4>>2]:f)-1|0,-1);if(!b){break P}V:{if(!jb(l,o,0)){break V}b=h[o+11|0];W:{X:{if((b|0)<=-1){if(m[o+4>>2]>1){break W}f=h[j[o>>2]];if((f|0)>=49){break X}break V}if((b&255)>>>0>1){break W}f=h[d+56|0];if((f|0)<=48){break V}}if((f|0)>56){break V}}Za(d+40|0,j[l+16>>2],c);e=k[d+51|0];b=e<<24>>24<0;e=b?j[d+44>>2]:e;if(e){aa(d+88|0,b?j[d+40>>2]:d+40|0,e);Z(d+88|0,43)}Za(d+24|0,j[l+16>>2],o);if(h[d+51|0]<=-1){T(j[d+40>>2])}j[d+48>>2]=j[d+32>>2];b=j[d+28>>2];j[d+40>>2]=j[d+24>>2];j[d+44>>2]=b;e=h[d+51|0];b=(e|0)<0;e=b?j[d+44>>2]:e&255;if(e){aa(d+88|0,b?j[d+40>>2]:d+40|0,e)}Ab(a,d+88|0,10);if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}if(!e){break P}b=e-1|0;g=h[d+131|0];Y:{Z:{if((g|0)<=-1){if((k[b+j[d+120>>2]|0]-48&255)>>>0<10){break Y}n=j[d+120>>2];break Z}n=d+120|0;if((k[b+(d+120|0)|0]-48&255)>>>0<10){break Y}}if(k[b+n|0]!=46){break P}}_:{$:{n=(g|0)<0?j[d+120>>2]:d+120|0;f=k[n+b|0];b=(f|0)==46?2:1;if(b>>>0>e>>>0){p=b;break $}if((b|0)==(e|0)){break $}q=(f|0)==46;f=b+1|0;if(k[n+(e-f|0)|0]!=48?q:0){break _}if((e|0)==(f|0)){break $}f=b+2|0;if(k[n+(e-f|0)|0]!=48){break _}if((e|0)==(f|0)){break $}f=b+3|0;if(k[n+(e-f|0)|0]!=48){break _}if((e|0)==(f|0)){break $}f=b|4;if(f>>>0>5|k[n+(e-f|0)|0]!=48){break _}if((e|0)==(f|0)){break $}b=f+1|0;if((f|0)!=4){f=b;break _}if(k[n+(e-b|0)|0]!=48){f=b;break _}if((b|0)==(e|0)){break $}f=f+2|0;break _}f=p-1|0;if(!f){break P}}while(1){b=e-f|0;aa:{ba:{if(g<<24>>24<=-1){g=h[b+j[d+120>>2]|0];if((g|0)>=48){break ba}break aa}g=h[b+(d+120|0)|0];if((g|0)<48){break aa}}if((g|0)>57){break aa}b=sa(d+40|0,d+120|0,b,-1);p=_a(l,b,0,0);n=k[d+51|0];g=n<<24>>24;if(p){e=(g|0)<0;aa(d+88|0,e?j[d+40>>2]:d+40|0,e?j[b+4>>2]:n);Za(d+24|0,j[l+16>>2],b);e=k[d+35|0];b=e<<24>>24<0;e=b?j[d+28>>2]:e;if(e){aa(d+88|0,b?j[d+24>>2]:d+24|0,e)}Ab(a,d+88|0,10);if(h[d+35|0]<=-1){T(j[d+24>>2])}if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}if((g|0)>-1){break aa}T(j[d+40>>2])}f=f-1|0;if(!f){break P}g=k[d+131|0];continue}}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break O}T(j[c>>2])}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0}if(h[d+99|0]>-1){break e}T(j[d+88>>2])}a=j[d+104>>2];if(a){j[d+108>>2]=a;T(a)}if(h[d+131|0]>-1){break a}T(j[d+120>>2])}M=d+144|0}function ja(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;p=M-16|0;M=p;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{if(a>>>0<=244){f=j[37748];i=a>>>0<11?16:a+11&-8;c=i>>>3|0;b=f>>>c|0;if(b&3){d=c+((b^-1)&1)|0;b=d<<3;e=j[b+151040>>2];a=e+8|0;c=j[e+8>>2];b=b+151032|0;m:{if((c|0)==(b|0)){q=150992,r=Er(-2,d)&f,j[q>>2]=r;break m}j[c+12>>2]=b;j[b+8>>2]=c}b=d<<3;j[e+4>>2]=b|3;b=b+e|0;j[b+4>>2]=j[b+4>>2]|1;break a}n=j[37750];if(n>>>0>=i>>>0){break l}if(b){a=2<>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;c=(c|a)+(b>>>a|0)|0;a=c<<3;g=j[a+151040>>2];b=j[g+8>>2];a=a+151032|0;n:{if((b|0)==(a|0)){f=Er(-2,c)&f;j[37748]=f;break n}j[b+12>>2]=a;j[a+8>>2]=b}a=g+8|0;j[g+4>>2]=i|3;d=g+i|0;b=c<<3;e=b-i|0;j[d+4>>2]=e|1;j[b+g>>2]=e;if(n){b=n>>>3|0;c=(b<<3)+151032|0;g=j[37753];b=1<>2]}j[c+8>>2]=g;j[b+12>>2]=g;j[g+12>>2]=c;j[g+8>>2]=b}j[37753]=d;j[37750]=e;break a}h=j[37749];if(!h){break l}b=(h&0-h)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;b=j[((c|a)+(b>>>a|0)<<2)+151296>>2];e=(j[b+4>>2]&-8)-i|0;c=b;while(1){p:{a=j[c+16>>2];if(!a){a=j[c+20>>2];if(!a){break p}}c=(j[a+4>>2]&-8)-i|0;d=c>>>0>>0;e=d?c:e;b=d?a:b;c=a;continue}break}l=b+i|0;if(l>>>0<=b>>>0){break k}o=j[b+24>>2];d=j[b+12>>2];if((d|0)!=(b|0)){a=j[b+8>>2];j[a+12>>2]=d;j[d+8>>2]=a;break b}c=b+20|0;a=j[c>>2];if(!a){a=j[b+16>>2];if(!a){break j}c=b+16|0}while(1){g=c;d=a;c=a+20|0;a=j[c>>2];if(a){continue}c=d+16|0;a=j[d+16>>2];if(a){continue}break}j[g>>2]=0;break b}i=-1;if(a>>>0>4294967231){break l}a=a+11|0;i=a&-8;l=j[37749];if(!l){break l}f=31;e=0-i|0;if(i>>>0<=16777215){a=a>>>8|0;g=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|g))|0;f=(a<<1|i>>>a+21&1)+28|0}c=j[(f<<2)+151296>>2];q:{r:{s:{if(!c){a=0;break s}a=0;b=i<<((f|0)==31?0:25-(f>>>1|0)|0);while(1){t:{g=(j[c+4>>2]&-8)-i|0;if(g>>>0>=e>>>0){break t}d=c;e=g;if(e){break t}e=0;a=c;break r}g=j[c+20>>2];c=j[((b>>>29&4)+c|0)+16>>2];a=g?(g|0)==(c|0)?a:g:a;b=b<<1;if(c){continue}break}}if(!(a|d)){a=2<>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;a=j[((c|a)+(b>>>a|0)<<2)+151296>>2]}if(!a){break q}}while(1){b=(j[a+4>>2]&-8)-i|0;c=b>>>0>>0;e=c?b:e;d=c?a:d;b=j[a+16>>2];if(b){a=b}else{a=j[a+20>>2]}if(a){continue}break}}if(!d|j[37750]-i>>>0<=e>>>0){break l}h=d+i|0;if(h>>>0<=d>>>0){break k}f=j[d+24>>2];b=j[d+12>>2];if((d|0)!=(b|0)){a=j[d+8>>2];j[a+12>>2]=b;j[b+8>>2]=a;break c}c=d+20|0;a=j[c>>2];if(!a){a=j[d+16>>2];if(!a){break i}c=d+16|0}while(1){g=c;b=a;c=a+20|0;a=j[c>>2];if(a){continue}c=b+16|0;a=j[b+16>>2];if(a){continue}break}j[g>>2]=0;break c}c=j[37750];if(c>>>0>=i>>>0){d=j[37753];b=c-i|0;u:{if(b>>>0>=16){j[37750]=b;a=d+i|0;j[37753]=a;j[a+4>>2]=b|1;j[c+d>>2]=b;j[d+4>>2]=i|3;break u}j[37753]=0;j[37750]=0;j[d+4>>2]=c|3;a=c+d|0;j[a+4>>2]=j[a+4>>2]|1}a=d+8|0;break a}h=j[37751];if(h>>>0>i>>>0){b=h-i|0;j[37751]=b;c=j[37754];a=c+i|0;j[37754]=a;j[a+4>>2]=b|1;j[c+4>>2]=i|3;a=c+8|0;break a}a=0;l=i+47|0;b=l;if(j[37866]){c=j[37868]}else{j[37869]=-1;j[37870]=-1;j[37867]=4096;j[37868]=4096;j[37866]=p+12&-16^1431655768;j[37871]=0;j[37859]=0;c=4096}g=b+c|0;e=0-c|0;c=g&e;if(c>>>0<=i>>>0){break a}d=j[37858];if(d){b=j[37856];f=b+c|0;if(d>>>0>>0|b>>>0>=f>>>0){break a}}if(k[151436]&4){break f}v:{w:{d=j[37754];if(d){a=151440;while(1){b=j[a>>2];if(d>>>0>2]>>>0?b>>>0<=d>>>0:0){break w}a=j[a+8>>2];if(a){continue}break}}b=nc(0);if((b|0)==-1){break g}f=c;d=j[37867];a=d-1|0;if(a&b){f=(c-b|0)+(a+b&0-d)|0}if(f>>>0<=i>>>0|f>>>0>2147483646){break g}d=j[37858];if(d){a=j[37856];e=a+f|0;if(d>>>0>>0|a>>>0>=e>>>0){break g}}a=nc(f);if((b|0)!=(a|0)){break v}break e}f=e&g-h;if(f>>>0>2147483646){break g}b=nc(f);if((b|0)==(j[a>>2]+j[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|i+48>>>0<=f>>>0)){b=j[37868];b=b+(l-f|0)&0-b;if(b>>>0>2147483646){b=a;break e}if((nc(b)|0)!=-1){f=b+f|0;b=a;break e}nc(0-f|0);break g}b=a;if((a|0)!=-1){break e}break g}z()}d=0;break b}b=0;break c}if((b|0)!=-1){break e}}j[37859]=j[37859]|4}if(c>>>0>2147483646){break d}b=nc(c);a=nc(0);if(b>>>0>=a>>>0|(b|0)==-1|(a|0)==-1){break d}f=a-b|0;if(f>>>0<=i+40>>>0){break d}}a=j[37856]+f|0;j[37856]=a;if(a>>>0>m[37857]){j[37857]=a}x:{y:{z:{g=j[37754];if(g){a=151440;while(1){d=j[a>>2];c=j[a+4>>2];if((d+c|0)==(b|0)){break z}a=j[a+8>>2];if(a){continue}break}break y}a=j[37752];if(!(a>>>0<=b>>>0?a:0)){j[37752]=b}a=0;j[37861]=f;j[37860]=b;j[37756]=-1;j[37757]=j[37866];j[37863]=0;while(1){d=a<<3;c=d+151032|0;j[d+151040>>2]=c;j[d+151044>>2]=c;a=a+1|0;if((a|0)!=32){continue}break}d=f-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;j[37751]=c;a=a+b|0;j[37754]=a;j[a+4>>2]=c|1;j[(b+d|0)+4>>2]=40;j[37755]=j[37870];break x}if(j[a+12>>2]&8|(b>>>0<=g>>>0|d>>>0>g>>>0)){break y}j[a+4>>2]=c+f;a=g+8&7?-8-g&7:0;c=a+g|0;j[37754]=c;b=j[37751]+f|0;a=b-a|0;j[37751]=a;j[c+4>>2]=a|1;j[(b+g|0)+4>>2]=40;j[37755]=j[37870];break x}d=j[37752];if(d>>>0>b>>>0){j[37752]=b;d=0}c=b+f|0;a=151440;A:{B:{C:{D:{E:{F:{while(1){if((c|0)!=j[a>>2]){a=j[a+8>>2];if(a){continue}break F}break}if(!(k[a+12|0]&8)){break E}}a=151440;while(1){c=j[a>>2];if(c>>>0<=g>>>0){e=c+j[a+4>>2]|0;if(e>>>0>g>>>0){break D}}a=j[a+8>>2];continue}}j[a>>2]=b;j[a+4>>2]=j[a+4>>2]+f;l=(b+8&7?-8-b&7:0)+b|0;j[l+4>>2]=i|3;f=c+(c+8&7?-8-c&7:0)|0;c=(f-l|0)-i|0;h=i+l|0;if((f|0)==(g|0)){j[37754]=h;a=j[37751]+c|0;j[37751]=a;j[h+4>>2]=a|1;break B}if(j[37753]==(f|0)){j[37753]=h;a=j[37750]+c|0;j[37750]=a;j[h+4>>2]=a|1;j[a+h>>2]=a;break B}a=j[f+4>>2];if((a&3)==1){g=a&-8;G:{if(a>>>0<=255){d=j[f+8>>2];a=a>>>3|0;b=j[f+12>>2];if((b|0)==(d|0)){q=150992,r=j[37748]&Er(-2,a),j[q>>2]=r;break G}j[d+12>>2]=b;j[b+8>>2]=d;break G}i=j[f+24>>2];b=j[f+12>>2];H:{if((f|0)!=(b|0)){a=j[f+8>>2];j[a+12>>2]=b;j[b+8>>2]=a;break H}I:{a=f+20|0;e=j[a>>2];if(e){break I}a=f+16|0;e=j[a>>2];if(e){break I}b=0;break H}while(1){d=a;b=e;a=b+20|0;e=j[a>>2];if(e){continue}a=b+16|0;e=j[b+16>>2];if(e){continue}break}j[d>>2]=0}if(!i){break G}d=j[f+28>>2];a=(d<<2)+151296|0;J:{if(j[a>>2]==(f|0)){j[a>>2]=b;if(b){break J}q=150996,r=j[37749]&Er(-2,d),j[q>>2]=r;break G}j[i+(j[i+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break G}}j[b+24>>2]=i;a=j[f+16>>2];if(a){j[b+16>>2]=a;j[a+24>>2]=b}a=j[f+20>>2];if(!a){break G}j[b+20>>2]=a;j[a+24>>2]=b}f=f+g|0;c=c+g|0}j[f+4>>2]=j[f+4>>2]&-2;j[h+4>>2]=c|1;j[c+h>>2]=c;if(c>>>0<=255){a=c>>>3|0;b=(a<<3)+151032|0;c=j[37748];a=1<>2]}j[b+8>>2]=h;j[a+12>>2]=h;j[h+12>>2]=b;j[h+8>>2]=a;break B}a=31;if(c>>>0<=16777215){a=c>>>8|0;e=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(d|e))|0;a=(a<<1|c>>>a+21&1)+28|0}j[h+28>>2]=a;j[h+16>>2]=0;j[h+20>>2]=0;e=(a<<2)+151296|0;d=j[37749];b=1<>2]=h;j[h+24>>2]=e;break L}a=c<<((a|0)==31?0:25-(a>>>1|0)|0);b=j[e>>2];while(1){d=b;if((j[b+4>>2]&-8)==(c|0)){break C}b=a>>>29|0;a=a<<1;e=d+(b&4)|0;b=j[e+16>>2];if(b){continue}break}j[e+16>>2]=h;j[h+24>>2]=d}j[h+12>>2]=h;j[h+8>>2]=h;break B}d=f-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;j[37751]=c;a=a+b|0;j[37754]=a;j[a+4>>2]=c|1;j[(b+d|0)+4>>2]=40;j[37755]=j[37870];a=(e+(e-39&7?39-e&7:0)|0)-47|0;c=a>>>0>>0?g:a;j[c+4>>2]=27;a=j[37863];j[c+16>>2]=j[37862];j[c+20>>2]=a;a=j[37861];j[c+8>>2]=j[37860];j[c+12>>2]=a;j[37862]=c+8;j[37861]=f;j[37860]=b;j[37863]=0;a=c+24|0;while(1){j[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((c|0)==(g|0)){break x}j[c+4>>2]=j[c+4>>2]&-2;e=c-g|0;j[g+4>>2]=e|1;j[c>>2]=e;if(e>>>0<=255){a=e>>>3|0;b=(a<<3)+151032|0;c=j[37748];a=1<>2]}j[b+8>>2]=g;j[a+12>>2]=g;j[g+12>>2]=b;j[g+8>>2]=a;break x}a=31;j[g+16>>2]=0;j[g+20>>2]=0;if(e>>>0<=16777215){a=e>>>8|0;d=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|d))|0;a=(a<<1|e>>>a+21&1)+28|0}j[g+28>>2]=a;d=(a<<2)+151296|0;c=j[37749];b=1<>2]=g;j[g+24>>2]=d;break N}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);b=j[d>>2];while(1){c=b;if((e|0)==(j[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;d=c+(b&4)|0;b=j[d+16>>2];if(b){continue}break}j[d+16>>2]=g;j[g+24>>2]=c}j[g+12>>2]=g;j[g+8>>2]=g;break x}a=j[d+8>>2];j[a+12>>2]=h;j[d+8>>2]=h;j[h+24>>2]=0;j[h+12>>2]=d;j[h+8>>2]=a}a=l+8|0;break a}a=j[c+8>>2];j[a+12>>2]=g;j[c+8>>2]=g;j[g+24>>2]=0;j[g+12>>2]=c;j[g+8>>2]=a}a=j[37751];if(a>>>0<=i>>>0){break d}b=a-i|0;j[37751]=b;c=j[37754];a=c+i|0;j[37754]=a;j[a+4>>2]=b|1;j[c+4>>2]=i|3;a=c+8|0;break a}j[37203]=48;a=0;break a}O:{if(!f){break O}c=j[d+28>>2];a=(c<<2)+151296|0;P:{if(j[a>>2]==(d|0)){j[a>>2]=b;if(b){break P}l=Er(-2,c)&l;j[37749]=l;break O}j[f+(j[f+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break O}}j[b+24>>2]=f;a=j[d+16>>2];if(a){j[b+16>>2]=a;j[a+24>>2]=b}a=j[d+20>>2];if(!a){break O}j[b+20>>2]=a;j[a+24>>2]=b}Q:{if(e>>>0<=15){a=e+i|0;j[d+4>>2]=a|3;a=a+d|0;j[a+4>>2]=j[a+4>>2]|1;break Q}j[d+4>>2]=i|3;j[h+4>>2]=e|1;j[e+h>>2]=e;if(e>>>0<=255){a=e>>>3|0;b=(a<<3)+151032|0;c=j[37748];a=1<>2]}j[b+8>>2]=h;j[a+12>>2]=h;j[h+12>>2]=b;j[h+8>>2]=a;break Q}a=31;if(e>>>0<=16777215){a=e>>>8|0;g=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|g))|0;a=(a<<1|e>>>a+21&1)+28|0}j[h+28>>2]=a;j[h+16>>2]=0;j[h+20>>2]=0;c=(a<<2)+151296|0;S:{b=1<>2]=h;j[h+24>>2]=c;break T}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);i=j[c>>2];while(1){b=i;if((j[b+4>>2]&-8)==(e|0)){break S}c=a>>>29|0;a=a<<1;c=b+(c&4)|0;i=j[c+16>>2];if(i){continue}break}j[c+16>>2]=h;j[h+24>>2]=b}j[h+12>>2]=h;j[h+8>>2]=h;break Q}a=j[b+8>>2];j[a+12>>2]=h;j[b+8>>2]=h;j[h+24>>2]=0;j[h+12>>2]=b;j[h+8>>2]=a}a=d+8|0;break a}U:{if(!o){break U}c=j[b+28>>2];a=(c<<2)+151296|0;V:{if(j[a>>2]==(b|0)){j[a>>2]=d;if(d){break V}q=150996,r=Er(-2,c)&h,j[q>>2]=r;break U}j[(j[o+16>>2]==(b|0)?16:20)+o>>2]=d;if(!d){break U}}j[d+24>>2]=o;a=j[b+16>>2];if(a){j[d+16>>2]=a;j[a+24>>2]=d}a=j[b+20>>2];if(!a){break U}j[d+20>>2]=a;j[a+24>>2]=d}W:{if(e>>>0<=15){a=e+i|0;j[b+4>>2]=a|3;a=a+b|0;j[a+4>>2]=j[a+4>>2]|1;break W}j[b+4>>2]=i|3;j[l+4>>2]=e|1;j[e+l>>2]=e;if(n){a=n>>>3|0;c=(a<<3)+151032|0;d=j[37753];a=1<>2]}j[c+8>>2]=d;j[a+12>>2]=d;j[d+12>>2]=c;j[d+8>>2]=a}j[37753]=l;j[37750]=e}a=b+8|0}M=p+16|0;return a|0}function Lc(a,b,c,d,e,f,g,n){var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;o=M-176|0;M=o;w=a+56|0;a:{b:{c:{d:{p=k[a+67|0];t=p<<24>>24;q=j[a+60>>2];e:{if((t|0)<=-1){break e}q=p}f:{if(!q){break f}q=p;p=(t|0)<0;q=p?j[a+60>>2]:q;if(!q){break f}p=p?j[a+56>>2]:w;q=q+p|0;while(1){if((Ba(b,h[p|0],0)|0)!=-1){break d}p=p+1|0;if((q|0)!=(p|0)){continue}break}}if(j[a+12>>2]){break d}t=b;break c}t=ha(U(12),b);p=h[w+11|0];q=j[a+60>>2];g:{if((p|0)<=-1){break g}q=p&255}h:{if(!q){break h}if(j[a+16>>2]){c=Ld(t,a+68|0);break h}Kd(t,w)}if(!j[a+12>>2]){v=t;break c}i:{if(j[a+16>>2]){c=ob(t);break i}Va(t)}if(!f){f=0;A=1;v=t;p=0;break a}if(j[a+96>>2]){v=t;break b}f=ha(U(12),f);j:{if(!j[a+12>>2]){break j}if(j[a+16>>2]){ob(f);break j}Va(f)}v=t;u=f;break b}if(f){break b}A=1;f=0;p=0;break a}p=4;if(j[a+96>>2]){break a}p=h[f+11|0];q=j[f+4>>2];k:{if((p|0)<=-1){break k}q=p&255}p=q+1|0}w=k[t+11|0];x=w<<24>>24;q=j[t+4>>2];l:{if((x|0)<=-1){break l}q=w}s=ja((p+q|0)+20|0);m:{n:{if(!s){if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=1;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}q=s+17|0;if((x|0)<=-1){p=j[t>>2]}else{p=t}y=He(q,p);p=h[y|0];o:{if(!p){p=0;break o}q=h[s+18|0];if(!q){break o}p=q|p<<8;q=h[s+19|0];if(!q){break o}p=q|p<<8;q=h[s+20|0];if(!q){break o}p=q|p<<8;q=s+21|0;r=k[q|0];if(!r){break o}while(1){p=Er(p,5)^r<<24>>24;r=k[q+1|0];q=q+1|0;if(r){continue}break}}B=(p>>>0)%m[a>>2]|0;if((x|0)<=-1){p=j[t+4>>2]}else{p=w}j[s+8>>2]=0;j[s+12>>2]=0;j[s+4>>2]=d;i[s+2>>1]=e;h[s+1|0]=c;h[s|0]=p;c=((n|0)==1)<<3;h[s+16|0]=c;p:{if(A){break p}h[s+16|0]=c|1;e=j[a+96>>2];q:{if(e){h[s+16|0]=c|3;if((x|0)<=-1){w=j[t+4>>2]}c=(w+y|0)+1|0;p=0;if(h[f+11|0]<=-1){f=j[f>>2]}d=ta(f);if(!((d|0)<1|(d|0)>j[a+92>>2])){p=j[(e+(d<<2)|0)-4>>2]}h[c|0]=p;h[c+1|0]=p>>>8;h[c+2|0]=p>>>16;h[c+3|0]=p>>>24;break q}if((x|0)<=-1){w=j[t+4>>2]}c=(w+y|0)+1|0;if(h[f+11|0]<=-1){f=j[f>>2]}He(c,f)}e=k[s+16|0];d=0;r:{if(!(e&1)){break r}c=(k[s|0]+s|0)+18|0;d=c;if(!(e&2)){break r}d=k[c|0]|k[c+1|0]<<8|(k[c+2|0]<<16|k[c+3|0]<<24)}if(!ca(d,120898)){break p}p=k[s+16|0]+4|0;h[s+16|0]=p;t=a+100|0;c=j[a>>2]/500|0;if(c>>>0>(j[a+108>>2]-j[a+100>>2]|0)/60>>>0){Yh(t,c);p=k[s+16|0]}c=0;s:{if(!(p&1)){break s}d=(k[s|0]+s|0)+18|0;c=d;if(!(p&2)){break s}c=k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24)}d=W(c);if(d>>>0<4294967280){t:{u:{if(d>>>0>=11){e=d+16&-16;r=U(e);j[o+168>>2]=e|-2147483648;j[o+160>>2]=r;j[o+164>>2]=d;e=o+160|0;break u}h[o+171|0]=d;e=o+160|0;r=e;if(!d){break t}}V(r,c,d)}h[d+r|0]=0;j[o+152>>2]=h[e+11|0]<0?j[o+160>>2]:o+160|0;r=ka(o+160|0,o+152|0);w=o- -64|0;while(1){c=h[e+11|0];v:{if((c|0)<=-1){c=j[o+160>>2];if((c+j[o+164>>2]|0)!=(r|0)){break v}T(c);break p}if(((o+160|0)+(c&255)|0)==(r|0)){break p}}w:{x:{y:{z:{A:{d=j[o+152>>2];c=d-r|0;if(c>>>0<4294967280){B:{if(c>>>0<=10){h[o+19|0]=c;p=o+8|0;break B}f=c+16&-16;p=U(f);j[o+16>>2]=f|-2147483648;j[o+8>>2]=p;j[o+12>>2]=c}q=r;if((d|0)!=(q|0)){while(1){h[p|0]=k[q|0];p=p+1|0;q=q+1|0;if((d|0)!=(q|0)){continue}break}}h[p|0]=0;f=j[o+8>>2];d=k[o+19|0];x=d<<24>>24;p=(x|0)<0;c=p?f:o+8|0;p=p?j[o+12>>2]:d;d=c+p|0;q=c;C:{D:{if((p|0)<3){break D}while(1){p=Aa(q,112,p-2|0);if(!p){break D}if(!qa(p,120898,3)){break C}q=p+1|0;p=d-q|0;if((p|0)>2){continue}break}}p=d}if((x|0)<=-1){T(f)}if(!((c|0)==(p|0)&(d|0)!=(p|0))){break w}d=j[o+152>>2];c=d-r|0;if(c>>>0>=4294967280){break A}E:{if(c>>>0<=10){h[o+19|0]=c;p=o+8|0;break E}f=c+16&-16;p=U(f);j[o+16>>2]=f|-2147483648;j[o+8>>2]=p;j[o+12>>2]=c}if((d|0)!=(r|0)){while(1){h[p|0]=k[r|0];p=p+1|0;r=r+1|0;if((d|0)!=(r|0)){continue}break}}h[p|0]=0;f=sa(o+136|0,o+8|0,3,-1);if(h[o+19|0]<=-1){T(j[o+8>>2])}p=h[o+147|0];d=(p|0)<0;c=d?j[o+140>>2]:p&255;if(!c){break x}j[o+128>>2]=0;j[o+120>>2]=0;j[o+124>>2]=0;j[o+112>>2]=0;j[o+104>>2]=0;j[o+108>>2]=0;if((c|0)<2){break z}d=d?j[o+136>>2]:o+136|0;r=d+c|0;p=c;q=d;while(1){p=Aa(q,45,p-1|0);if(!p){break z}if((k[p|0]|k[p+1|0]<<8)!=15917){q=p+1|0;p=r-q|0;if((p|0)>=2){continue}break z}break}d=(p|0)==(r|0)?-1:p-d|0;if(d+1>>>0<2|d>>>0>=c-2>>>0){break z}sa(o+8|0,f,d+2|0,-1);if(h[o+115|0]<=-1){T(j[o+104>>2])}j[o+112>>2]=j[o+16>>2];c=j[o+12>>2];j[o+104>>2]=j[o+8>>2];j[o+108>>2]=c;p=h[o+147|0];c=(p|0)<0;q=j[o+136>>2];xb(f,d,(c?q+j[o+140>>2]|0:(o+136|0)+(p&255)|0)-(d+(c?q:o+136|0)|0)|0);break y}X();z()}X();z()}ua(o+104|0,b)}c=k[o+147|0];F:{if(k[Wd(f,(c<<24>>24<0?j[o+140>>2]:c)-1|0)|0]!=42){break F}p=1;G:{if(!j[a+16>>2]){q=0;break G}while(1){H:{c=h[o+147|0];I:{if((c|0)<=-1){q=j[o+140>>2];if(q>>>0>p>>>0){break I}break H}q=c&255;if(q>>>0<=p>>>0){break H}}if((k[Wd(f,(p^-1)+q|0)|0]&192)!=128){break H}p=p+1|0;continue}break}q=0;while(1){c=h[o+115|0];J:{if((c|0)<=-1){r=j[o+108>>2];if(r>>>0<=q>>>0){break G}break J}r=c&255;if(r>>>0<=q>>>0){break G}}if((k[Wd(o+104|0,(q^-1)+r|0)|0]&192)!=128){break G}q=q+1|0;continue}}c=k[o+147|0];r=c<<24>>24<0?j[o+140>>2]:c;c=p+1|0;if(r>>>0<=c>>>0){break F}d=k[o+115|0];p=d<<24>>24<0?j[o+108>>2]:d;d=q+1|0;if(p>>>0<=d>>>0){break F}xb(f,r-c|0,c);c=k[b+11|0];xb(o+104|0,(c<<24>>24<0?j[b+4>>2]:c)-d|0,d)}K:{if((n|0)!=1){break K}j[o+96>>2]=0;j[o+88>>2]=0;j[o+92>>2]=0;L:{if(j[a+16>>2]){ia(o+120|0,f);if(Mc(o+120|0,j[a+24>>2])){break L}vb(o+120|0,j[a+24>>2]);da(o+88|0,o+120|0);break L}if(Nc(f,j[a+52>>2])){break L}nb(o+88|0,j[a+52>>2])}d=k[o+99|0];c=d<<24>>24;if((c|0)<0?j[o+92>>2]:d){c=j[a+24>>2]-36|0;M:{if((c|0)!=13?c:0){break M}d=ha(o+72|0,o+104|0);N:{if(j[a+16>>2]){ia(o+120|0,d);Ua(o+120|0,j[a+24>>2]);da(d,o+120|0);break N}Pa(d,j[a+52>>2])}j[w>>2]=0;j[o+56>>2]=0;j[o+60>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[o+40>>2]=0;j[o+44>>2]=0;j[o+32>>2]=0;j[o+36>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[o+16>>2]=0;j[o+20>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;c=j[a+104>>2];O:{if(c>>>0>2]){p=j[o+12>>2];j[c>>2]=j[o+8>>2];j[c+4>>2]=p;j[c+8>>2]=j[o+16>>2];j[o+16>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;j[c+20>>2]=j[o+28>>2];p=j[o+24>>2];j[c+12>>2]=j[o+20>>2];j[c+16>>2]=p;j[o+20>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[c+32>>2]=j[o+40>>2];p=j[o+36>>2];j[c+24>>2]=j[o+32>>2];j[c+28>>2]=p;j[o+32>>2]=0;j[o+36>>2]=0;j[o+40>>2]=0;j[c+44>>2]=j[o+52>>2];p=j[o+48>>2];j[c+36>>2]=j[o+44>>2];j[c+40>>2]=p;j[o+44>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[c+56>>2]=j[o+64>>2];p=j[o+60>>2];j[c+48>>2]=j[o+56>>2];j[c+52>>2]=p;j[o+56>>2]=0;j[o+60>>2]=0;j[o+64>>2]=0;j[a+104>>2]=c+60;break O}Hd(t,o+8|0);if(h[o+67|0]>-1){break O}T(j[o+56>>2])}if(h[o+55|0]<0){T(j[o+44>>2])}if(h[o+43|0]<=-1){T(j[o+32>>2])}if(h[o+31|0]<=-1){T(j[o+20>>2])}if(h[o+19|0]<0){T(j[o+8>>2])}ua(j[a+104>>2]-60|0,f);ua(j[a+104>>2]-48|0,d);if(h[o+83|0]>-1){break M}T(j[o+72>>2])}j[w>>2]=0;j[o+56>>2]=0;j[o+60>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[o+40>>2]=0;j[o+44>>2]=0;j[o+32>>2]=0;j[o+36>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[o+16>>2]=0;j[o+20>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;c=j[a+104>>2];P:{if(c>>>0>2]){d=j[o+12>>2];j[c>>2]=j[o+8>>2];j[c+4>>2]=d;j[c+8>>2]=j[o+16>>2];j[o+16>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;j[c+20>>2]=j[o+28>>2];d=j[o+24>>2];j[c+12>>2]=j[o+20>>2];j[c+16>>2]=d;j[o+20>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[c+32>>2]=j[o+40>>2];d=j[o+36>>2];j[c+24>>2]=j[o+32>>2];j[c+28>>2]=d;j[o+32>>2]=0;j[o+36>>2]=0;j[o+40>>2]=0;j[c+44>>2]=j[o+52>>2];d=j[o+48>>2];j[c+36>>2]=j[o+44>>2];j[c+40>>2]=d;j[o+44>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[c+56>>2]=j[o+64>>2];d=j[o+60>>2];j[c+48>>2]=j[o+56>>2];j[c+52>>2]=d;j[o+56>>2]=0;j[o+60>>2]=0;j[o+64>>2]=0;j[a+104>>2]=c+60;break P}Hd(t,o+8|0);if(h[o+67|0]>-1){break P}T(j[o+56>>2])}if(h[o+55|0]<0){T(j[o+44>>2])}if(h[o+43|0]<=-1){T(j[o+32>>2])}if(h[o+31|0]<=-1){T(j[o+20>>2])}if(h[o+19|0]<0){T(j[o+8>>2])}ua(j[a+104>>2]-60|0,o+88|0);ua(j[a+104>>2]-48|0,o+104|0);c=k[o+99|0]}if(c<<24>>24>-1){break K}T(j[o+88>>2])}j[w>>2]=0;j[o+56>>2]=0;j[o+60>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[o+40>>2]=0;j[o+44>>2]=0;j[o+32>>2]=0;j[o+36>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[o+16>>2]=0;j[o+20>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;c=j[a+104>>2];Q:{if(c>>>0>2]){d=j[o+12>>2];j[c>>2]=j[o+8>>2];j[c+4>>2]=d;j[c+8>>2]=j[o+16>>2];j[o+16>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;j[c+20>>2]=j[o+28>>2];d=j[o+24>>2];j[c+12>>2]=j[o+20>>2];j[c+16>>2]=d;j[o+20>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[c+32>>2]=j[o+40>>2];d=j[o+36>>2];j[c+24>>2]=j[o+32>>2];j[c+28>>2]=d;j[o+32>>2]=0;j[o+36>>2]=0;j[o+40>>2]=0;j[c+44>>2]=j[o+52>>2];d=j[o+48>>2];j[c+36>>2]=j[o+44>>2];j[c+40>>2]=d;j[o+44>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[c+56>>2]=j[o+64>>2];d=j[o+60>>2];j[c+48>>2]=j[o+56>>2];j[c+52>>2]=d;j[o+56>>2]=0;j[o+60>>2]=0;j[o+64>>2]=0;j[a+104>>2]=c+60;break Q}Hd(t,o+8|0);if(h[o+67|0]>-1){break Q}T(j[o+56>>2])}if(h[o+55|0]<0){T(j[o+44>>2])}if(h[o+43|0]<=-1){T(j[o+32>>2])}if(h[o+31|0]<=-1){T(j[o+20>>2])}if(h[o+19|0]<0){T(j[o+8>>2])}ua(j[a+104>>2]-60|0,f);ua(j[a+104>>2]-48|0,o+104|0);if(h[o+115|0]<=-1){T(j[o+104>>2])}c=j[o+120>>2];if(c){j[o+124>>2]=c;T(c)}p=k[o+147|0]}if(p<<24>>24>-1){break w}T(j[o+136>>2])}r=ka(o+160|0,o+152|0);continue}}X();z()}R:{S:{T:{a=j[a+4>>2]+(B<<2)|0;p=j[a>>2];if(p){q=j[p+8>>2];if(!q){c=0;b=p+8|0;break R}c=0;if(!g){break T}r=p;while(1){p=q;if(!j[r+12>>2]){c=!ba(y,r+17|0)|c}r=p;q=j[p+8>>2];if(q){continue}break}break S}j[a>>2]=s;if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}while(1){a=p;p=q;U:{if(j[a+12>>2]){break U}b=ba(y,a+17|0);if(b){c=!b|c;break U}V:{b=j[a+4>>2];if(!b){break V}r=i[a+2>>1];f=b+(r<<1)|0;q=b;if(r){while(1){d=r>>>1|0;n=(d<<1)+q|0;e=l[n>>1]<65511;q=e?n+2|0:q;r=e?(d^-1)+r|0:d;if(r){continue}break}}if((f|0)==(q|0)|l[q>>1]>65511){break V}T(b);j[a+4>>2]=j[s+4>>2];i[a+2>>1]=l[s+2>>1];T(s);if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}j[a+12>>2]=s}q=j[p+8>>2];if(q){continue}break}}b=p+8|0}W:{X:{if(!ba(y,p+17|0)){if(g){break X}Y:{a=j[p+4>>2];if(!a){break Y}r=i[p+2>>1];f=a+(r<<1)|0;q=a;if(r){while(1){d=r>>>1|0;g=(d<<1)+q|0;e=l[g>>1]<65511;q=e?g+2|0:q;r=e?(d^-1)+r|0:d;if(r){continue}break}}if((f|0)==(q|0)|l[q>>1]>65511){break Y}T(a);j[p+4>>2]=j[s+4>>2];i[p+2>>1]=l[s+2>>1];T(s);if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}j[p+12>>2]=s}if(c&1){break X}j[b>>2]=s;break W}a=j[s+4>>2];if(a){T(a)}T(s)}if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2])}T(v)}M=o+176|0;return p}function Zo(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;g=M-80|0;M=g;h[g+72|0]=c;j[g+68>>2]=a;j[g+64>>2]=0;j[g+56>>2]=0;j[g+60>>2]=0;j[g+48>>2]=h[b+11|0]<0?j[b>>2]:b;a:{b:{c:{d:{e:{f:{m=ka(b,g+48|0);n=k[b+11|0];f=n<<24>>24<0;if((m|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:n)|0)){p=(c|0)==83?1:2;y=(c|0)!=80;while(1){g:{h:{switch(q|0){case 0:t=t+1|0;break g;case 1:s=j[g+48>>2];u=s-m|0;if(u>>>0>=4294967280){break d}o=j[a+4100>>2];i:{if(u>>>0<=10){h[g+43|0]=u;f=g+32|0;break i}n=u+16&-16;f=U(n);j[g+40>>2]=n|-2147483648;j[g+32>>2]=f;j[g+36>>2]=u}if((m|0)!=(s|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((s|0)!=(m|0)){continue}break}}h[f|0]=0;v=Ha(o,h[g+43|0]<0?j[g+32>>2]:g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}t=t+1|0;f=e+v|0;h[f|0]=p+k[f|0];break g;case 2:r=k[m|0]==89?1:r;t=t+1|0;break g;case 3:break h;default:break g}}o=j[g+48>>2];s=o-m|0;if(s>>>0>=4294967280){break e}j:{if(s>>>0<=10){h[g+43|0]=s;f=g+32|0;break j}n=s+16&-16;f=U(n);j[g+40>>2]=n|-2147483648;j[g+32>>2]=f;j[g+36>>2]=s}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;k:{if(h[g+43|0]>=0){w=ta(g+32|0);break k}f=j[g+32>>2];w=ta(f);T(f)}if(!(w>>>0<67108864?(w|0)>=1:0)){a=Jb(j[a+4100>>2],v&65535);if(!a){break b}T(a);break b}t=t+1|0;f=j[a+4144>>2]?r+2|0:r;f=j[j[a+4100>>2]+84>>2]?f+4|0:f;Zn(g+56|0,w,(j[j[a+4100>>2]+96>>2]?f+8|0:f)<<24>>24,v&65535)}q=q+1|0;m=ka(b,g+48|0);n=k[b+11|0];f=n<<24>>24<0;if((m|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:n)|0)){continue}break}if((t|0)==4){break f}}a=Jb(j[a+4100>>2],v&65535);if(!a){break b}T(a);break b}f=j[g+60>>2];m=j[g+56>>2];b=0;l:{if((f|0)==(m|0)){break l}b=j[m>>2]}m:{if((w|0)>=1){x=a+4420|0;u=a+4408|0;s=v&65535;y=(c|0)==83;e=0;n:{while(1){j[g+40>>2]=0;j[g+32>>2]=0;j[g+36>>2]=0;o:{p:{if(!ub(d,g+32|0)){break p}bb(g+32|0);j[g+48>>2]=h[g+43|0]<0?j[g+32>>2]:g+32|0;m=ka(g+32|0,g+48|0);n=k[g+43|0];f=n<<24>>24<0;if((m|0)!=((f?j[g+32>>2]:g+32|0)+(f?j[g+36>>2]:n)|0)){t=0;r=0;while(1){q:{r:{s:{t:{u:{v:{w:{switch(t|0){case 0:r=r+1|0;if(!e){break q}b=Tn(g+56|0);break q;case 1:o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}x:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break x}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;m=(Ha(j[a+4100>>2],h[g+27|0]<0?j[g+16>>2]:g+16|0)|0)==(s|0);y:{if(!m){f=Jb(j[a+4100>>2],s);if(!f){break y}T(f);break y}if(!e){break y}i[b+30>>1]=l[j[j[g+56>>2]>>2]+30>>1]}if(h[g+27|0]<=-1){T(j[g+16>>2])}if(!m){break p}r=r+1|0;break q;case 2:o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}z:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break z}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;m=b+16|0;if(h[b+27|0]<=-1){T(j[m>>2])}f=j[g+20>>2];j[m>>2]=j[g+16>>2];j[m+4>>2]=f;j[m+8>>2]=j[g+24>>2];A:{if(!j[a+4148>>2]){break A}if(j[a+4144>>2]){ob(m);break A}Va(m)}r=r+1|0;if(df(m)){break q}if(h[m+11|0]>-1){break v}h[j[b+16>>2]]=0;j[b+20>>2]=0;break q;case 3:i[b+60>>1]=0;j[b+52>>2]=0;j[b+56>>2]=0;B:{f=m;q=j[g+48>>2];o=(m|0)==(q|0);if(o){break B}while(1){if(k[f|0]==47){break B}f=f+1|0;if((q|0)!=(f|0)){continue}break}break s}if((f|0)==(q|0)){break s}p=f-m|0;if(p>>>0>=4294967280){break a}C:{if(p>>>0<=10){h[g+27|0]=p;n=g+16|0;break C}o=p+16&-16;n=U(o);j[g+24>>2]=o|-2147483648;j[g+16>>2]=n;j[g+20>>2]=p}if((f|0)!=(m|0)){while(1){h[n|0]=k[m|0];n=n+1|0;m=m+1|0;if((m|0)!=(f|0)){continue}break}}h[n|0]=0;q=b+4|0;if(h[b+15|0]<=-1){T(j[q>>2])}m=j[g+20>>2];j[q>>2]=j[g+16>>2];j[q+4>>2]=m;j[q+8>>2]=j[g+24>>2];o=j[g+48>>2];f=f+1|0;p=o-f|0;if(p>>>0>=4294967280){break a}D:{if(p>>>0<=10){h[g+27|0]=p;m=g+16|0;break D}n=p+16&-16;m=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=m;j[g+20>>2]=p}if((f|0)!=(o|0)){while(1){h[m|0]=k[f|0];m=m+1|0;f=f+1|0;if((o|0)!=(f|0)){continue}break}}h[m|0]=0;m=k[u+11|0];n=m<<24>>24;f=j[a+4412>>2];E:{if((n|0)<=-1){break E}f=m}F:{if(!f){break F}f=m;m=(n|0)<0;f=m?j[a+4412>>2]:f;if(!f){break F}m=m?j[a+4408>>2]:u;f=f+m|0;while(1){if((Ba(q,h[m|0],0)|0)==-1){m=m+1|0;if((f|0)!=(m|0)){continue}break F}break}if(j[a+4144>>2]){Ld(q,x);break F}Kd(q,u)}G:{if(!j[a+4148>>2]){break G}if(j[a+4144>>2]){ob(q);break G}Va(q)}p=b+56|0;H:{if(j[j[a+4100>>2]+84>>2]){n=ar(j[a+4100>>2],ta(h[g+27|0]<0?j[g+16>>2]:g+16|0),p);i[b+60>>1]=n;break H}o=j[a+4100>>2];m=h[g+27|0]<0?j[g+16>>2]:g+16|0;q=W(m);if(q>>>0>=4294967280){break u}I:{J:{if(q>>>0>=11){f=q+16&-16;n=U(f);j[g+8>>2]=f|-2147483648;j[g>>2]=n;j[g+4>>2]=q;break J}h[g+11|0]=q;n=g;if(!q){break I}}V(n,m,q)}h[n+q|0]=0;m=Te(o,p,g);i[b+60>>1]=m;if(h[g+11|0]<=-1){T(j[g>>2]);m=l[b+60>>1]}f=j[b+56>>2];Qc(f,f+(m<<16>>16<<1)|0,g);n=l[b+60>>1]}j[a+4488>>2]=1;m=0;f=0;if(n<<16>>16<=0){break t}while(1){h[(l[j[b+56>>2]+(m<<1)>>1]+a|0)+4492|0]=1;f=f+1|0;m=f&65535;if((m|0)>1]){continue}break}break t;case 4:o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}K:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break K}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;L:{if(!j[a+4148>>2]){break L}M:{if(j[a+4144>>2]){ob(g+16|0);break M}Va(g+16|0)}m=k[g+27|0];f=m<<24>>24;N:{if((f|0)<=-1){m=j[g+20>>2];if(!m){break L}f=j[g+16>>2];break N}if(!f){break L}f=g+16|0}m=f+m|0;f=0;while(1){n=f;o=m;O:{P:{Q:{R:{S:{T:{m=m-1|0;p=h[m|0];switch(p-91|0){case 3:break R;case 2:break S;case 0:break T;default:break Q}}if(n){h[o|0]=91;break P}h[m|0]=93;f=0;break O}h[m|0]=91;f=0;if(!n){break O}h[o|0]=94;break O}f=1;if(k[o|0]==93){break O}h[o|0]=p;f=n;break O}if(!n){f=0;break O}h[o|0]=p}f=1}if(((h[g+27|0]<0?j[g+16>>2]:g+16|0)|0)!=(m|0)){continue}break}}m=k[b+27|0];f=m<<24>>24;if((f|0)<=-1){m=j[b+20>>2]}U:{if(!m){break U}m=b+16|0;n=k[g+27|0];if(((n<<24>>24<0?j[g+20>>2]:n)|0)==1){if(!_(g+16|0,0,-1,1742,1)){break U}f=k[m+11|0]}V:{if(f<<24>>24<=-1){m=j[b+16>>2];f=j[b+20>>2];break V}f=f&255}if(!Nn(a,c,m,f,h[g+27|0]<0?j[g+16>>2]:g+16|0)){break U}Ka(g+16|0,1742)}W:{X:{if(!y){n=k[g+27|0];break X}Va(g+16|0);f=k[g+27|0];m=f<<24>>24;Y:{if((m|0)<=-1){m=j[g+16>>2];f=j[g+20>>2];n=m;if(f){break Y}break W}if(!m){m=g+16|0;break W}n=g+16|0}m=f+n|0;f=0;while(1){n=f;o=m;Z:{_:{$:{aa:{ba:{ca:{m=m-1|0;p=h[m|0];switch(p-91|0){case 3:break aa;case 2:break ba;case 0:break ca;default:break $}}if(n){h[o|0]=91;break _}h[m|0]=93;f=0;break Z}h[m|0]=91;f=0;if(!n){break Z}h[o|0]=94;break Z}f=1;if(k[o|0]==93){break Z}h[o|0]=p;f=n;break Z}if(!n){f=0;break Z}h[o|0]=p}f=1}n=h[g+27|0];if((((n|0)<0?j[g+16>>2]:g+16|0)|0)!=(m|0)){continue}break}}m=g+16|0;if(n<<24>>24>-1){break W}m=j[g+16>>2]}f=Hn(a,b,m);if(h[g+27|0]<=-1){T(j[g+16>>2])}if(f){break p}r=r+1|0;break q;case 5:break w;default:break q}}o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}da:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break da}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;ea:{fa:{if(j[j[a+4100>>2]+96>>2]){A=b,B=cr(j[a+4100>>2],ta(h[g+27|0]<0?j[g+16>>2]:g+16|0)),j[A+52>>2]=B;break fa}ga:{if(!j[a+4148>>2]){break ga}if(j[a+4144>>2]){ob(g+16|0);break ga}Va(g+16|0)}n=j[g+48>>2];m=k[g+43|0];f=m<<24>>24<0;f=(f?j[g+32>>2]:g+32|0)+(f?j[g+36>>2]:m)|0;if((n|0)!=(f|0)){zn(g+16|0,n,f)}m=cb(h[g+27|0]<0?j[g+16>>2]:g+16|0);j[b+52>>2]=m;f=0;if(!m){break ea}}f=1}if(h[g+27|0]<=-1){T(j[g+16>>2])}if(!f){break p}r=r+1|0;break q}h[m+11|0]=0;h[m|0]=0;break q}X();z()}if(h[g+27|0]>-1){break r}T(j[g+16>>2]);break r}p=q-m|0;if(p>>>0>=4294967280){break m}ha:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break ha}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if(!o){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((q|0)!=(m|0)){continue}break}}h[f|0]=0;o=b+4|0;if(h[b+15|0]<=-1){T(j[o>>2])}f=j[g+20>>2];j[o>>2]=j[g+16>>2];j[o+4>>2]=f;j[o+8>>2]=j[g+24>>2];m=k[u+11|0];n=m<<24>>24;f=j[a+4412>>2];ia:{if((n|0)<=-1){break ia}f=m}ja:{if(!f){break ja}f=m;m=(n|0)<0;f=m?j[a+4412>>2]:f;if(!f){break ja}m=m?j[a+4408>>2]:u;f=f+m|0;while(1){if((Ba(o,h[m|0],0)|0)==-1){m=m+1|0;if((f|0)!=(m|0)){continue}break ja}break}if(j[a+4144>>2]){Ld(o,x);break ja}Kd(o,u)}if(!j[a+4148>>2]){break r}if(j[a+4144>>2]){ob(o);break r}Va(o)}r=r+1|0;if(df(b+4|0)){break q}if(h[b+15|0]<=-1){h[j[b+4>>2]]=0;j[b+8>>2]=0;break q}h[b+15|0]=0;h[b+4|0]=0}t=t+1|0;m=ka(g+32|0,g+48|0);n=k[g+43|0];f=n<<24>>24<0;if((m|0)!=((f?j[g+32>>2]:g+32|0)+(f?j[g+36>>2]:n)|0)){continue}break}f=1;if((r|0)>3){break o}}f=Jb(j[a+4100>>2],s);if(!f){break p}T(f)}f=0}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(f){e=e+1|0;if((w|0)==(e|0)){break n}continue}break}x=0;break b}m=j[g+56>>2];f=j[g+60>>2]}if((f|0)==(m|0)){break c}if((c|0)==80){while(1){un(a,j[m>>2]);m=m+4|0;if((m|0)!=(f|0)){continue}break c}}while(1){pn(a,j[m>>2]);m=m+4|0;if((m|0)!=(f|0)){continue}break}break c}break a}X();z()}X();z()}j[g+60>>2]=j[g+56>>2];x=1}a=j[g+60>>2];f=j[g+56>>2];ka:{if((a|0)==(f|0)){f=a;break ka}m=0;while(1){b=j[(m<<2)+f>>2];if(b){O[j[j[b>>2]+4>>2]](b);f=j[g+56>>2];a=j[g+60>>2]}m=m+1|0;if(m>>>0>2>>>0){continue}break}}if(f){j[g+60>>2]=f;T(f)}M=g+80|0;return x}X();z()}function Wg(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0;n=M-192|0;M=n;z=h;F=i&65535;o=d;p=e&65535;G=(e^i)&-2147483648;m=i>>>16&32767;a:{u=e>>>16&32767;b:{c:{if(m-1>>>0<32766?u-1>>>0<=32765:0){break c}H=e&2147483647;l=H;k=d;if(!(!k&(l|0)==2147418112?!(b|c):l>>>0<2147418112)){J=d;G=e|32768;break b}H=i&2147483647;e=H;d=h;if(!(!d&(e|0)==2147418112?!(f|g):e>>>0<2147418112)){J=h;G=i|32768;b=f;c=g;break b}if(!(b|k|(l^2147418112|c))){if(!(d|f|(e^2147418112|g))){b=0;c=0;G=2147450880;break b}G=G|2147418112;b=0;c=0;break b}if(!(d|f|(e^2147418112|g))){b=0;c=0;break b}if(!(b|k|(c|l))){break a}if(!(d|f|(e|g))){G=G|2147418112;b=0;c=0;break b}if((l|0)==65535|l>>>0<65535){i=b;d=!(p|o);h=d<<6;k=s(d?b:o)+32|0;b=s(d?c:p);b=h+((b|0)==32?k:b)|0;mb(n+176|0,i,c,o,p,b-15|0);I=16-b|0;o=j[n+184>>2];p=j[n+188>>2];c=j[n+180>>2];b=j[n+176>>2]}if(e>>>0>65535){break c}d=!(z|F);e=d<<6;h=s(d?f:z)+32|0;d=s(d?g:F);d=e+((d|0)==32?h:d)|0;mb(n+160|0,f,g,z,F,d-15|0);I=(d+I|0)-16|0;z=j[n+168>>2];F=j[n+172>>2];f=j[n+160>>2];g=j[n+164>>2]}e=F|65536;H=e;P=z;d=z;l=e<<15|d>>>17;d=d<<15|g>>>17;h=-102865788-d|0;e=l;k=l;i=1963258675-(k+(d>>>0>4192101508)|0)|0;Nb(n+144|0,d,k,h,i);k=j[n+152>>2];Nb(n+128|0,0-k|0,0-(j[n+156>>2]+((k|0)!=0)|0)|0,h,i);h=j[n+136>>2];i=h<<1|j[n+132>>2]>>>31;h=j[n+140>>2]<<1|h>>>31;Nb(n+112|0,i,h,d,l);k=h;h=j[n+120>>2];Nb(n+96|0,i,k,0-h|0,0-(j[n+124>>2]+((h|0)!=0)|0)|0);h=j[n+104>>2];i=h<<1|j[n+100>>2]>>>31;h=j[n+108>>2]<<1|h>>>31;Nb(n+80|0,i,h,d,l);k=h;h=j[n+88>>2];Nb(n- -64|0,i,k,0-h|0,0-(j[n+92>>2]+((h|0)!=0)|0)|0);h=j[n+72>>2];i=h<<1|j[n+68>>2]>>>31;h=j[n+76>>2]<<1|h>>>31;Nb(n+48|0,i,h,d,l);k=h;h=j[n+56>>2];Nb(n+32|0,i,k,0-h|0,0-(j[n+60>>2]+((h|0)!=0)|0)|0);h=j[n+40>>2];i=h<<1|j[n+36>>2]>>>31;h=j[n+44>>2]<<1|h>>>31;Nb(n+16|0,i,h,d,l);k=h;h=j[n+24>>2];Nb(n,i,k,0-h|0,0-(j[n+28>>2]+((h|0)!=0)|0)|0);I=(u-m|0)+I|0;h=j[n+8>>2];k=j[n+12>>2]<<1|h>>>31;l=h<<1|j[n+4>>2]>>>31;h=l-1|0;l=k-(l>>>0<1)|0;k=0;C=k;i=h;q=e;e=0;r=Cr(h,k,q,e);k=N;v=k;y=l;m=0;u=d;h=Cr(l,m,d,0);d=h+r|0;k=N+k|0;k=d>>>0>>0?k+1|0:k;h=d;d=k;k=0;l=(d|0)==(v|0)&h>>>0>>0|d>>>0>>0;r=Cr(y,m,q,e);e=r+d|0;l=N+(k|l)|0;k=e;e=k>>>0>>0?l+1|0:l;q=k;l=h;r=0;h=Cr(i,C,u,t);d=r+h|0;k=N+l|0;k=d>>>0>>0?k+1|0:k;h=k;u=(l|0)==(k|0)&r>>>0>d>>>0|k>>>0>>0;l=q+u|0;k=e;A=l;e=l>>>0>>0?k+1|0:k;q=d;r=d;u=h;d=g;B=(d&131071)<<15|f>>>17;v=Cr(i,C,B,0);d=N;t=d;k=f;l=k<<15&-32768;x=0;D=Cr(y,m,l,x);h=D+v|0;k=N+d|0;k=h>>>0>>0?k+1|0:k;d=k;D=0;E=Cr(i,C,l,x);x=D+E|0;l=h;k=l+N|0;k=x>>>0>>0?k+1|0:k;w=(k|0)==(l|0)&x>>>0>>0|k>>>0>>0;k=(d|0)==(t|0)&l>>>0>>0|d>>>0>>0;h=d;d=Cr(y,m,B,K)+d|0;l=k+N|0;l=d>>>0>>0?l+1|0:l;h=d;d=w+d|0;k=l;k=d>>>0>>0?k+1|0:k;h=d;d=d+r|0;k=k+u|0;k=d>>>0>>0?k+1|0:k;r=d;v=k;h=(k|0)==(u|0)&d>>>0>>0|k>>>0>>0;d=h+A|0;k=e;k=d>>>0>>0?k+1|0:k;e=(r|0)!=0|(v|0)!=0;d=e+d|0;l=d>>>0>>0?k+1|0:k;h=d;t=0-d|0;A=0;u=Cr(t,A,i,C);d=N;x=d;e=u;q=d;A=Cr(y,m,t,A);d=N;w=d;B=0-(((h|0)!=0)+l|0)|0;t=0;l=Cr(i,C,B,t);h=l+A|0;k=N+d|0;k=h>>>0>>0?k+1|0:k;d=k;l=h+q|0;e=0+e|0;q=e;k=e;l=k>>>0>>0?l+1|0:l;e=l;l=(x|0)==(l|0)&k>>>0>>0|l>>>0>>0;k=(d|0)==(w|0)&h>>>0>>0|d>>>0>>0;h=d;d=Cr(y,m,B,t)+d|0;k=k+N|0;k=d>>>0>>0?k+1|0:k;h=d;d=l+d|0;w=d;h=d>>>0>>0?k+1|0:k;d=0-r|0;B=0-(((r|0)!=0)+v|0)|0;r=0;A=Cr(B,r,i,C);x=N;v=d;l=Cr(d,0,y,m);d=l+A|0;k=N+x|0;k=d>>>0>>0?k+1|0:k;l=d;d=k;C=Cr(i,C,v,K);v=0+C|0;k=l+N|0;k=v>>>0>>0?k+1|0:k;v=(l|0)==(k|0)&v>>>0>>0|l>>>0>k>>>0;i=(d|0)==(x|0)&l>>>0>>0|d>>>0>>0;l=d;d=Cr(y,m,B,r)+l|0;k=i+N|0;k=d>>>0>>0?k+1|0:k;i=d;d=d+v|0;l=d>>>0>>0?k+1|0:k;i=d;d=d+q|0;k=l+e|0;k=d>>>0>>0?k+1|0:k;i=d;l=d;d=k;l=(e|0)==(k|0)&l>>>0>>0|e>>>0>k>>>0;e=l+w|0;k=h;k=e>>>0>>0?k+1|0:k;l=e;e=i;v=e-2|0;h=v;r=d-(e>>>0<2)|0;e=r;e=(d|0)==(e|0)&h>>>0>>0|d>>>0>e>>>0;d=l+e|0;k=d>>>0>>0?k+1|0:k;e=d;d=d-1|0;h=k-(e>>>0<1)|0;e=0;x=e;m=d;i=o;w=i<<2|c>>>30;B=0;q=Cr(d,e,w,B);e=N;t=e;l=e;e=c;K=(e&1073741823)<<2|b>>>30;u=0;D=h;i=0;e=Cr(K,u,h,i);d=e+q|0;l=N+l|0;l=d>>>0>>0?l+1|0:l;k=(l|0)==(t|0)&d>>>0>>0|l>>>0>>0;q=d;h=l;A=r;l=0;r=l;c=k;E=((p&1073741823)<<2|o>>>30)&-262145|262144;l=Cr(A,l,E,0);d=l+d|0;k=N+h|0;k=d>>>0>>0?k+1|0:k;p=d;e=k;h=(k|0)==(h|0)&d>>>0>>0|h>>>0>k>>>0;d=c+h|0;k=0;k=d>>>0>>0?1:k;h=Cr(D,i,E,O);d=h+d|0;l=N+k|0;l=d>>>0>>0?l+1|0:l;o=Cr(m,x,E,O);h=N;c=d;t=Cr(w,B,D,i);d=t+o|0;k=N+h|0;k=d>>>0>>0?k+1|0:k;t=d;d=k;k=(h|0)==(k|0)&o>>>0>t>>>0|h>>>0>k>>>0;o=c+d|0;k=k+l|0;l=o;h=l>>>0>>0?k+1|0:k;q=p;c=l;p=0;d=q+p|0;o=e;l=t+e|0;l=d>>>0

>>0?l+1|0:l;k=d;e=l;p=(l|0)==(o|0)&k>>>0>>0|l>>>0>>0;l=c+p|0;k=h;C=l;h=l>>>0

>>0?k+1|0:k;o=d;p=e;q=Cr(K,u,A,r);e=N;t=Cr(v,0,w,B);d=t+q|0;l=N+e|0;l=d>>>0>>0?l+1|0:l;t=d;q=(e|0)==(l|0)&q>>>0>d>>>0|e>>>0>l>>>0;e=l;y=q;k=b;L=k<<2&-4;c=0;k=Cr(m,x,L,c);d=k+d|0;l=N+l|0;l=d>>>0>>0?l+1|0:l;q=d;k=d;d=l;l=(l|0)==(e|0)&k>>>0>>0|e>>>0>l>>>0;e=y+l|0;k=0;k=e>>>0>>0?1:k;l=e;e=o+l|0;k=k+p|0;k=e>>>0>>0?k+1|0:k;t=e;l=e;e=k;p=(k|0)==(p|0)&l>>>0>>0|k>>>0

>>0;k=p+C|0;l=h;C=k;p=k>>>0

>>0?l+1|0:l;y=Cr(D,i,L,c);D=N;i=Cr(E,O,v,Q);h=i+y|0;k=N+D|0;k=h>>>0>>0?k+1|0:k;E=h;l=Cr(w,B,A,r);h=h+l|0;i=k;k=k+N|0;k=h>>>0>>0?k+1|0:k;w=h;o=Cr(m,x,K,u);h=h+o|0;l=k+N|0;l=h>>>0>>0?l+1|0:l;o=h;h=l;x=0;m=(l|0)==(k|0)&o>>>0>>0|l>>>0>>0;l=(i|0)==(k|0)&w>>>0>>0|i>>>0>k>>>0;i=l+((i|0)==(D|0)&E>>>0>>0|i>>>0>>0)|0;k=0;i=m+i|0;k=i;l=h|0;i=l+t|0;k=(k|x)+e|0;k=i>>>0>>0?k+1|0:k;l=k;m=(e|0)==(k|0)&i>>>0>>0|e>>>0>k>>>0;e=m+C|0;k=p;w=e;e=e>>>0>>0?k+1|0:k;t=i;p=l;A=Cr(A,r,L,c);r=N;k=Cr(K,u,v,Q);i=k+A|0;l=N+r|0;l=i>>>0>>0?l+1|0:l;m=l;l=0;k=(m|0)==(r|0)&i>>>0>>0|m>>>0>>0;i=m+q|0;k=(k|l)+d|0;k=i>>>0>>0?k+1|0:k;m=i;l=i;i=k;l=(d|0)==(k|0)&l>>>0>>0|d>>>0>k>>>0;d=k;q=l;k=o;o=0;h=o+m|0;l=d+k|0;d=h;l=d>>>0>>0?l+1|0:l;h=(i|0)==(l|0)&d>>>0>>0|i>>>0>l>>>0;d=q+h|0;l=0;l=d>>>0>>0?1:l;h=d;d=d+t|0;k=l+p|0;k=d>>>0>>0?k+1|0:k;h=d;i=k;k=(k|0)==(p|0)&d>>>0>>0|k>>>0

>>0;d=k+w|0;l=e;l=d>>>0>>0?l+1|0:l;e=l;d:{if((l|0)==131071|l>>>0<131071){y=0;m=f;x=0;k=Cr(h,y,m,x);o=N;l=b<<17;b=0;c=(k|0)!=0|(o|0)!=0;u=b-c|0;D=l-(b>>>0>>0)|0;b=0-(((k|0)!=0)+o|0)|0;r=0-k|0;v=b;c=0;w=Cr(i,c,m,x);b=N;B=b;o=0;q=Cr(h,y,g,o);k=q+w|0;l=N+b|0;l=k>>>0>>0?l+1|0:l;b=k;q=0;t=k;k=(k|0)==(v|0)&r>>>0>>0|k>>>0>v>>>0;C=u-k|0;u=D-(k>>>0>u>>>0)|0;k=Cr(d,0,m,x);m=N;y=Cr(h,y,z,0);p=y+k|0;k=N+m|0;k=p>>>0>>0?k+1|0:k;m=Cr(g,o,i,c);p=m+p|0;k=N+k|0;k=((l|0)==(B|0)&b>>>0>>0|l>>>0>>0)+(m>>>0>p>>>0?k+1|0:k)|0;b=l+p|0;p=b;b=b>>>0>>0?k+1|0:k;k=Cr(h,i,H,0);m=N;w=p;p=Cr(f,g,e,0);k=p+k|0;l=N+m|0;l=k>>>0

>>0?l+1|0:l;m=Cr(d,e,g,o);p=m+k|0;l=Cr(i,c,z,F);c=l+p|0;l=c;z=0;c=w+z|0;k=b+l|0;k=c>>>0>>0?k+1|0:k;b=c;z=C-b|0;F=u-((b>>>0>C>>>0)+k|0)|0;I=I-1|0;p=r-q|0;b=v-((r>>>0>>0)+t|0)|0;break d}r=i>>>1|0;l=0;o=b<<16;h=(i&1)<<31|h>>>1;i=d<<31|i>>>1;w=0;m=f;B=0;b=Cr(h,w,m,B);k=N;u=k;k=(b|0)!=0|(k|0)!=0;v=0-k|0;E=o-(c>>>0>>0)|0;q=0-b|0;t=0-(((b|0)!=0)+u|0)|0;o=0;u=Cr(h,w,g,o);b=N;D=b;k=e<<31|d>>>1;r=r|d<<31;Q=k|l;C=r;L=0;l=Cr(r,L,m,B);c=l+u|0;k=N+b|0;k=c>>>0>>0?k+1|0:k;b=k;l=c;x=l;y=0;k=(l|0)==(t|0)&y>>>0>q>>>0|l>>>0>t>>>0;A=v-k|0;v=E-(k>>>0>v>>>0)|0;k=Cr(h,i,H,0);E=N;O=Cr(m,g,e>>>1|0,0);l=O+k|0;k=N+E|0;E=l;l=l>>>0>>0?k+1|0:k;k=E;d=(e&1)<<31|d>>>1;e=e>>>1|0;E=Cr(d,e,g,o);k=k+E|0;l=N+l|0;F=Cr(r,Q,z,F);k=F+k|0;r=0;F=k;k=Cr(g,o,C,L);o=N;m=Cr(d,0,m,B);l=m+k|0;k=N+o|0;k=l>>>0>>0?k+1|0:k;z=Cr(h,w,z,0);l=z+l|0;k=N+k|0;p=l;l=l>>>0>>0?k+1|0:k;z=(b|0)==(D|0)&c>>>0>>0|b>>>0>>0;c=b;b=b+p|0;l=l+z|0;l=b>>>0>>0?l+1|0:l;c=b;b=b+r|0;l=l+F|0;l=b>>>0>>0?l+1|0:l;z=A-b|0;F=v-((b>>>0>A>>>0)+l|0)|0;p=q-y|0;b=t-((q>>>0>>0)+x|0)|0}if((I|0)>=16384){G=G|2147418112;b=0;c=0;break b}m=I+16383|0;if((I|0)<=-16383){e:{if(m){break e}m=p;k=b<<1|m>>>31;m=m<<1;c=(g|0)==(k|0)&f>>>0>>0|g>>>0>>0;f=z;k=F<<1|f>>>31;g=f<<1|b>>>31;l=g;f=(l|0)==(P|0)&(k|0)==(H|0)?c:(H|0)==(k|0)&l>>>0>P>>>0|k>>>0>H>>>0;b=f+h|0;k=i;k=b>>>0>>0?k+1|0:k;c=k;f=d+((i|0)==(k|0)&b>>>0>>0|i>>>0>k>>>0)|0;l=e&65535;e=f;l=d>>>0>e>>>0?l+1|0:l;d=l;if(!(l&65536)){break e}J=e|J;G=d|G;break b}b=0;c=0;break b}o=p;l=b<<1|o>>>31;o=o<<1;c=(g|0)==(l|0)&f>>>0<=o>>>0|g>>>0>>0;f=z;l=F<<1|f>>>31;f=f<<1|b>>>31;f=(f|0)==(P|0)&(l|0)==(H|0)?c:(H|0)==(l|0)&f>>>0>=P>>>0|l>>>0>H>>>0;b=f+h|0;k=i;k=b>>>0>>0?k+1|0:k;c=k;f=d+((i|0)==(k|0)&b>>>0>>0|i>>>0>k>>>0)|0;l=e&65535;l=d>>>0>f>>>0?l+1|0:l;e=0;d=e+f|0;k=(m<<16)+l|0;J=d|J;G=G|(d>>>0>>0?k+1|0:k)}j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=J;j[a+12>>2]=G;M=n+192|0;return}j[a>>2]=0;j[a+4>>2]=0;b=!(d|f|(e|g));j[a+8>>2]=b?0:J;j[a+12>>2]=b?2147450880:G;M=n+192|0}function Xn(a,b,c,d,e,f,g){var h=0,i=0,l=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;h=M-8976|0;M=h;z=d+e|0;F=0-z|0;a:{b:{while(1){if((c|0)!=48){c:{if((c|0)!=46){break a}c=j[b+4>>2];if(c>>>0>=m[b+104>>2]){break c}j[b+4>>2]=c+1;c=k[c|0];break b}}else{c=j[b+4>>2];if(c>>>0>2]){o=1;j[b+4>>2]=c+1;c=k[c|0]}else{o=1;c=pa(b)}continue}break}c=pa(b)}t=1;if((c|0)!=48){break a}while(1){c=l;l=c-1|0;n=n-(c>>>0<1)|0;c=j[b+4>>2];d:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break d}c=pa(b)}if((c|0)==48){continue}break}o=1}j[h+784>>2]=0;e:{f:{i=(c|0)==46;s=c-48|0;g:{h:{i:{if(i|s>>>0<=9){while(1){j:{if(i&1){if(!t){l=q;n=r;t=1;break j}i=!o;break i}i=q+1|0;r=i>>>0<1?r+1|0:r;q=i;if((v|0)<=2044){y=(c|0)==48?y:q;i=(h+784|0)+(v<<2)|0;o=i;if(u){s=(p(j[i>>2],10)+c|0)-48|0}j[o>>2]=s;o=1;i=u+1|0;c=(i|0)==9;u=c?0:i;v=c+v|0;break j}if((c|0)==48){break j}j[h+8960>>2]=j[h+8960>>2]|1;y=18396}c=j[b+4>>2];k:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break k}c=pa(b)}i=(c|0)==46;s=c-48|0;if(i|s>>>0<10){continue}break}}l=t?l:q;n=t?n:r;if(!(!o|(c&-33)!=69)){i=Ug(b,g);c=N;s=c;l:{if(i|(c|0)!=-2147483648){break l}if(!g){break g}i=0;s=0;if(!j[b+104>>2]){break l}j[b+4>>2]=j[b+4>>2]-1}n=n+s|0;b=i+l|0;n=b>>>0>>0?n+1|0:n;l=b;break f}i=!o;if((c|0)<0){break h}}if(!j[b+104>>2]){break h}j[b+4>>2]=j[b+4>>2]-1}if(!i){break f}j[37203]=28}q=0;r=0;Ib(b,0,0);c=0;b=0;break e}b=j[h+784>>2];if(!b){Ub(h,+(f|0)*0);q=j[h>>2];r=j[h+4>>2];c=j[h+12>>2];b=j[h+8>>2];break e}if(!((l|0)!=(q|0)|(n|0)!=(r|0)|((r|0)>0?1:(r|0)>=0?q>>>0>9:0)|(b>>>d|0?(d|0)<=30:0))){Cb(h+48|0,f);Ec(h+32|0,b);xa(h+16|0,j[h+48>>2],j[h+52>>2],j[h+56>>2],j[h+60>>2],j[h+32>>2],j[h+36>>2],j[h+40>>2],j[h+44>>2]);q=j[h+16>>2];r=j[h+20>>2];c=j[h+28>>2];b=j[h+24>>2];break e}if((n|0)>0?1:(n|0)>=0?l>>>0>(e|0)/-2>>>0:0){j[37203]=68;Cb(h+96|0,f);xa(h+80|0,j[h+96>>2],j[h+100>>2],j[h+104>>2],j[h+108>>2],-1,-1,-1,2147418111);xa(h- -64|0,j[h+80>>2],j[h+84>>2],j[h+88>>2],j[h+92>>2],-1,-1,-1,2147418111);q=j[h+64>>2];r=j[h+68>>2];c=j[h+76>>2];b=j[h+72>>2];break e}b=e-226|0;c=l>>>0>>0;b=b>>31;if((b|0)>(n|0)?1:(n|0)<=(b|0)?c:0){j[37203]=68;Cb(h+144|0,f);xa(h+128|0,j[h+144>>2],j[h+148>>2],j[h+152>>2],j[h+156>>2],0,0,0,65536);xa(h+112|0,j[h+128>>2],j[h+132>>2],j[h+136>>2],j[h+140>>2],0,0,0,65536);q=j[h+112>>2];r=j[h+116>>2];c=j[h+124>>2];b=j[h+120>>2];break e}if(u){if((u|0)<=8){c=(h+784|0)+(v<<2)|0;b=j[c>>2];while(1){b=p(b,10);u=u+1|0;if((u|0)!=9){continue}break}j[c>>2]=b}v=v+1|0}m:{t=l;if((y|0)>(l|0)|(y|0)>=9|(l|0)>17){break m}if((t|0)==9){Cb(h+192|0,f);Ec(h+176|0,j[h+784>>2]);xa(h+160|0,j[h+192>>2],j[h+196>>2],j[h+200>>2],j[h+204>>2],j[h+176>>2],j[h+180>>2],j[h+184>>2],j[h+188>>2]);q=j[h+160>>2];r=j[h+164>>2];c=j[h+172>>2];b=j[h+168>>2];break e}if((t|0)<=8){Cb(h+272|0,f);Ec(h+256|0,j[h+784>>2]);xa(h+240|0,j[h+272>>2],j[h+276>>2],j[h+280>>2],j[h+284>>2],j[h+256>>2],j[h+260>>2],j[h+264>>2],j[h+268>>2]);Cb(h+224|0,j[(0-t<<2)+123008>>2]);Wg(h+208|0,j[h+240>>2],j[h+244>>2],j[h+248>>2],j[h+252>>2],j[h+224>>2],j[h+228>>2],j[h+232>>2],j[h+236>>2]);q=j[h+208>>2];r=j[h+212>>2];c=j[h+220>>2];b=j[h+216>>2];break e}b=(p(t,-3)+d|0)+27|0;c=j[h+784>>2];if(c>>>b|0?(b|0)<=30:0){break m}Cb(h+352|0,f);Ec(h+336|0,c);xa(h+320|0,j[h+352>>2],j[h+356>>2],j[h+360>>2],j[h+364>>2],j[h+336>>2],j[h+340>>2],j[h+344>>2],j[h+348>>2]);Cb(h+304|0,j[(t<<2)+122936>>2]);xa(h+288|0,j[h+320>>2],j[h+324>>2],j[h+328>>2],j[h+332>>2],j[h+304>>2],j[h+308>>2],j[h+312>>2],j[h+316>>2]);q=j[h+288>>2];r=j[h+292>>2];c=j[h+300>>2];b=j[h+296>>2];break e}while(1){c=v;v=c-1|0;if(!j[(h+784|0)+(v<<2)>>2]){continue}break}u=0;b=(t|0)%9|0;n:{if(!b){i=0;break n}g=(t|0)>-1?b:b+9|0;o:{if(!c){i=0;c=0;break o}l=j[(0-g<<2)+123008>>2];n=1e9/(l|0)|0;s=0;b=0;i=0;while(1){o=s;r=(h+784|0)+(b<<2)|0;s=j[r>>2];q=(s>>>0)/(l>>>0)|0;o=o+q|0;j[r>>2]=o;o=!o&(b|0)==(i|0);i=o?i+1&2047:i;t=o?t-9|0:t;s=p(n,s-p(l,q)|0);b=b+1|0;if((c|0)!=(b|0)){continue}break}if(!s){break o}j[(h+784|0)+(c<<2)>>2]=s;c=c+1|0}t=(t-g|0)+9|0}while(1){if(!((t|0)!=36|m[(h+784|0)+(i<<2)>>2]>=10384593?(t|0)>=36:0)){v=c+2047|0;s=0;o=c;while(1){c=o;g=v&2047;o=(h+784|0)+(g<<2)|0;b=j[o>>2];n=b>>>3|0;l=b<<29;b=l+s|0;n=b>>>0>>0?n+1|0:n;l=b;s=0;if(!(!n&b>>>0<1000000001)){s=Dr(b,n,1e9);l=l-Cr(s,N,1e9,0)|0}j[o>>2]=l;o=(g|0)!=(c-1&2047)?c:(g|0)==(i|0)?c:l?c:g;v=g-1|0;if((g|0)!=(i|0)){continue}break}u=u-29|0;if(!s){continue}i=i-1&2047;if((o|0)==(i|0)){b=(h+784|0)+((o+2046&2047)<<2)|0;c=o-1&2047;j[b>>2]=j[b>>2]|j[(h+784|0)+(c<<2)>>2]}t=t+9|0;j[(h+784|0)+(i<<2)>>2]=s;continue}break}p:{q:while(1){g=c+1&2047;n=(h+784|0)+((c-1&2047)<<2)|0;while(1){o=i;b=0;r:{s:{while(1){t:{l=b+o&2047;if((l|0)==(c|0)){break t}l=j[(h+784|0)+(l<<2)>>2];i=j[(b<<2)+122960>>2];if(l>>>0>>0){break t}if(i>>>0>>0){break s}b=b+1|0;if((b|0)!=4){continue}}break}if((t|0)!=36){break s}l=0;n=0;b=0;q=0;r=0;while(1){g=b+o&2047;if((g|0)==(c|0)){c=c+1&2047;j[((c<<2)+h|0)+780>>2]=0}xa(h+768|0,l,n,q,r,0,0,1342177280,1075633366);Ec(h+752|0,j[(h+784|0)+(g<<2)>>2]);yb(h+736|0,j[h+768>>2],j[h+772>>2],j[h+776>>2],j[h+780>>2],j[h+752>>2],j[h+756>>2],j[h+760>>2],j[h+764>>2]);q=j[h+744>>2];r=j[h+748>>2];l=j[h+736>>2];n=j[h+740>>2];b=b+1|0;if((b|0)!=4){continue}break}Cb(h+720|0,f);xa(h+704|0,l,n,q,r,j[h+720>>2],j[h+724>>2],j[h+728>>2],j[h+732>>2]);q=j[h+712>>2];r=j[h+716>>2];l=0;n=0;i=j[h+704>>2];s=j[h+708>>2];t=u+113|0;e=t-e|0;g=(e|0)<(d|0);d=g?(e|0)>0?e:0:d;if((d|0)<=112){break r}break p}l=(t|0)>45?9:1;u=l+u|0;i=c;if((c|0)==(o|0)){continue}r=1e9>>>l|0;s=-1<>2];b=(v>>>l|0)+b|0;j[q>>2]=b;b=!b&(i|0)==(o|0);i=b?i+1&2047:i;t=b?t-9|0:t;b=p(r,s&v);o=o+1&2047;if((o|0)!=(c|0)){continue}break}if(!b){continue}if((g|0)!=(i|0)){j[(h+784|0)+(c<<2)>>2]=b;c=g;continue q}j[n>>2]=j[n>>2]|1;i=g;continue}break}break}Ub(h+656|0,Od(225-d|0));Yg(h+688|0,j[h+656>>2],j[h+660>>2],j[h+664>>2],j[h+668>>2],i,s,q,r);A=j[h+696>>2];B=j[h+700>>2];C=j[h+688>>2];D=j[h+692>>2];Ub(h+640|0,Od(113-d|0));Ze(h+672|0,i,s,q,r,j[h+640>>2],j[h+644>>2],j[h+648>>2],j[h+652>>2]);l=j[h+672>>2];n=j[h+676>>2];w=j[h+680>>2];x=j[h+684>>2];ve(h+624|0,i,s,q,r,l,n,w,x);yb(h+608|0,C,D,A,B,j[h+624>>2],j[h+628>>2],j[h+632>>2],j[h+636>>2]);q=j[h+616>>2];r=j[h+620>>2];i=j[h+608>>2];s=j[h+612>>2]}b=o+4&2047;u:{if((b|0)==(c|0)){break u}b=j[(h+784|0)+(b<<2)>>2];v:{if(b>>>0<=499999999){if((o+5&2047)==(c|0)?!b:0){break v}Ub(h+496|0,+(f|0)*.25);yb(h+480|0,l,n,w,x,j[h+496>>2],j[h+500>>2],j[h+504>>2],j[h+508>>2]);w=j[h+488>>2];x=j[h+492>>2];l=j[h+480>>2];n=j[h+484>>2];break v}if((b|0)!=5e8){Ub(h+592|0,+(f|0)*.75);yb(h+576|0,l,n,w,x,j[h+592>>2],j[h+596>>2],j[h+600>>2],j[h+604>>2]);w=j[h+584>>2];x=j[h+588>>2];l=j[h+576>>2];n=j[h+580>>2];break v}E=+(f|0);if((o+5&2047)==(c|0)){Ub(h+528|0,E*.5);yb(h+512|0,l,n,w,x,j[h+528>>2],j[h+532>>2],j[h+536>>2],j[h+540>>2]);w=j[h+520>>2];x=j[h+524>>2];l=j[h+512>>2];n=j[h+516>>2];break v}Ub(h+560|0,E*.75);yb(h+544|0,l,n,w,x,j[h+560>>2],j[h+564>>2],j[h+568>>2],j[h+572>>2]);w=j[h+552>>2];x=j[h+556>>2];l=j[h+544>>2];n=j[h+548>>2]}if((d|0)>111){break u}Ze(h+464|0,l,n,w,x,0,0,0,1073676288);if(qc(j[h+464>>2],j[h+468>>2],j[h+472>>2],j[h+476>>2],0,0,0,0)){break u}yb(h+448|0,l,n,w,x,0,0,0,1073676288);w=j[h+456>>2];x=j[h+460>>2];l=j[h+448>>2];n=j[h+452>>2]}yb(h+432|0,i,s,q,r,l,n,w,x);ve(h+416|0,j[h+432>>2],j[h+436>>2],j[h+440>>2],j[h+444>>2],C,D,A,B);q=j[h+424>>2];r=j[h+428>>2];i=j[h+416>>2];s=j[h+420>>2];w:{if((-2-z|0)>=(t&2147483647)){break w}j[h+408>>2]=q;j[h+412>>2]=r&2147483647;j[h+400>>2]=i;j[h+404>>2]=s;xa(h+384|0,i,s,q,r,0,0,0,1073610752);c=Zg(j[h+400>>2],j[h+404>>2],j[h+408>>2],j[h+412>>2],1081081856);b=(c|0)<0;q=b?q:j[h+392>>2];r=b?r:j[h+396>>2];i=b?i:j[h+384>>2];s=b?s:j[h+388>>2];u=((c|0)>-1)+u|0;if(G=!(g&(b|(d|0)!=(e|0))&(qc(l,n,w,x,0,0,0,0)|0)!=0),H=0,I=(u+110|0)<=(F|0),I?G:H){break w}j[37203]=68}Xg(h+368|0,i,s,q,r,u);q=j[h+368>>2];r=j[h+372>>2];c=j[h+380>>2];b=j[h+376>>2]}j[a>>2]=q;j[a+4>>2]=r;j[a+8>>2]=b;j[a+12>>2]=c;M=h+8976|0}function Sc(a,b,c,d,e,f,g,m){var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=M-16|0;M=t;j[t+8>>2]=0;j[t>>2]=0;j[t+4>>2]=0;o=j[b+1024>>2];if(o){while(1){a:{if(j[o+56>>2]?0:g){break a}p=l[b+4462>>1];b:{if(!p){break b}c:{d:{if(!f){break d}n=j[f+56>>2];if(!n){break d}q=i[f+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)){break d}if(p>>>0>=l[n>>1]){break c}}n=j[o+56>>2];if(!n){break b}q=i[o+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)|p>>>0>1]){break b}}if(!f){break a}n=j[f+56>>2];if(!n){break a}q=i[f+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)|p>>>0>1]){break a}n=j[o+56>>2];if(!n){break a}q=i[o+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)|p>>>0>1]){break a}}n=j[o+56>>2];e:{if(!n){break e}q=i[o+60>>1];r=(q<<1)+n|0;if(q){u=l[b+4464>>1];while(1){p=q>>>1|0;v=(p<<1)+n|0;s=u>>>0>l[v>>1];n=s?v+2|0:n;q=s?(p^-1)+q|0:p;if(q){continue}break}}if((n|0)==(r|0)){break e}if(l[b+4464>>1]>=l[n>>1]){break a}}f:{if(g){break f}n=j[o+56>>2];if(!n){break f}q=i[o+60>>1];r=(q<<1)+n|0;if(q){u=l[b+4198>>1];while(1){p=q>>>1|0;v=(p<<1)+n|0;s=u>>>0>l[v>>1];n=s?v+2|0:n;q=s?(p^-1)+q|0:p;if(q){continue}break}}if((n|0)==(r|0)){break f}p=l[b+4198>>1];if(p>>>0>1]){break f}if(!f){break a}n=j[f+56>>2];if(!n){break f}q=i[f+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)){break f}if(p>>>0>=l[n>>1]){break a}}n=Id(o,c,d,e,f,g,m,0);if(!n){break a}while(1){g:{if(!f){break g}p=j[f+52>>2];if(p){$(t,p);Z(t,32);break g}p=Jb(j[b+4100>>2],l[f+30>>1]);Z(t,32);$(t,1738);if(!p){break g}$(t,p);T(p)}h:{if(!j[b+4148>>2]){break h}q=k[n+16|0];if(!(q&1)){break h}r=t;i:{if(q&2){s=k[n|0]+n|0;if(!(k[s+18|0]|k[s+19|0]<<8|(k[s+20|0]<<16|k[s+21|0]<<24))){break h}q=k[n+16|0];p=1810;if(!(q&1)){break i}}s=(k[n|0]+n|0)+18|0;p=s;if(!(q&2)){break i}p=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}$(r,p)}q=k[n+16|0];j:{k:{if(!(q&1)){break k}l:{if(q&2){p=k[n|0]+n|0;if(!(k[p+18|0]|k[p+19|0]<<8|(k[p+20|0]<<16|k[p+21|0]<<24))){break k}q=k[n+16|0];s=0;if(!(q&1)){break l}}p=(k[n|0]+n|0)+18|0;s=p;if(!(q&2)){break l}s=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}if(ca(s,1748)){break j}}Z(t,32);$(t,1748);$(t,n+17|0)}m:{if(j[b+4148>>2]){break m}p=k[n+16|0];if(!(p&1)){break m}if(p&2){p=k[n|0]+n|0;if(!(k[p+18|0]|k[p+19|0]<<8|(k[p+20|0]<<16|k[p+21|0]<<24))){break m}}Z(t,32);r=t;q=k[n+16|0];p=1810;n:{if(!(q&1)){break n}s=(k[n|0]+n|0)+18|0;p=s;if(!(q&2)){break n}p=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}$(r,p)}o:{if(j[o+52>>2]){Z(t,32);$(t,j[o+52>>2]);break o}p=Jb(j[b+4100>>2],l[o+30>>1]);Z(t,32);$(t,1738);if(!p){break o}$(t,p);T(p)}Z(t,10);n=Th(o,n,e,f,g,m);if(n){continue}break}}o=j[o+80>>2];if(o){continue}break}}p:{if(d){s=(c+d|0)-1|0;q=j[((k[s|0]<<2)+b|0)+1024>>2];if(q){v=(d|0)<1;while(1){n=q+68|0;n=h[q+79|0]<=-1?j[n>>2]:n;q:{r:{s:{t:{if(v){break t}r=d+n|0;o=d;p=s;while(1){u=k[n|0];if(!u){break s}if((u|0)!=k[p|0]?(u|0)!=46:0){break t}p=p-1|0;n=n+1|0;u=(o|0)>1;o=o-1|0;if(u){continue}break}n=r}if(k[n|0]){break r}}p=l[b+4462>>1];u:{v:{if(!p){break v}w:{x:{if(!f){break x}n=j[f+56>>2];if(!n){break x}o=i[f+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)){break x}if(p>>>0>=l[n>>1]){break w}}n=j[q+56>>2];if(!n){break v}o=i[q+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)|p>>>0>1]){break v}}if(!f){break u}n=j[f+56>>2];if(!n){break u}o=i[f+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)|p>>>0>1]){break u}n=j[q+56>>2];if(!n){break u}o=i[q+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)|p>>>0>1]){break u}}n=j[q+56>>2];y:{if(!n){break y}o=i[q+60>>1];u=(o<<1)+n|0;if(o){x=l[b+4464>>1];while(1){p=o>>>1|0;w=(p<<1)+n|0;r=x>>>0>l[w>>1];n=r?w+2|0:n;o=r?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(u|0)){break y}if(l[b+4464>>1]>=l[n>>1]){break u}}z:{if(g){break z}n=j[q+56>>2];if(!n){break z}o=i[q+60>>1];u=(o<<1)+n|0;if(o){x=l[b+4198>>1];while(1){p=o>>>1|0;w=(p<<1)+n|0;r=x>>>0>l[w>>1];n=r?w+2|0:n;o=r?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(u|0)){break z}if(l[b+4198>>1]>=l[n>>1]){break u}}n=Id(q,c,d,e,f,g,m,0);if(!n){break u}while(1){A:{if(!f){break A}o=j[f+52>>2];if(o){$(t,o);Z(t,32);break A}o=Jb(j[b+4100>>2],l[f+30>>1]);Z(t,32);$(t,1738);if(!o){break A}$(t,o);T(o)}B:{if(!j[b+4148>>2]){break B}o=k[n+16|0];if(!(o&1)){break B}u=t;C:{if(o&2){o=k[n|0]+n|0;if(!(k[o+18|0]|k[o+19|0]<<8|(k[o+20|0]<<16|k[o+21|0]<<24))){break B}o=k[n+16|0];p=1810;if(!(o&1)){break C}}r=(k[n|0]+n|0)+18|0;p=r;if(!(o&2)){break C}p=k[r|0]|k[r+1|0]<<8|(k[r+2|0]<<16|k[r+3|0]<<24)}$(u,p)}o=k[n+16|0];D:{E:{if(!(o&1)){break E}F:{if(o&2){o=k[n|0]+n|0;if(!(k[o+18|0]|k[o+19|0]<<8|(k[o+20|0]<<16|k[o+21|0]<<24))){break E}o=k[n+16|0];r=0;if(!(o&1)){break F}}p=(k[n|0]+n|0)+18|0;r=p;if(!(o&2)){break F}r=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}if(ca(r,1748)){break D}}Z(t,32);$(t,1748);$(t,n+17|0)}G:{if(j[b+4148>>2]){break G}o=k[n+16|0];if(!(o&1)){break G}if(o&2){o=k[n|0]+n|0;if(!(k[o+18|0]|k[o+19|0]<<8|(k[o+20|0]<<16|k[o+21|0]<<24))){break G}}Z(t,32);o=t;u=k[n+16|0];r=1810;H:{if(!(u&1)){break H}p=(k[n|0]+n|0)+18|0;r=p;if(!(u&2)){break H}r=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}$(o,r)}I:{if(j[q+52>>2]){Z(t,32);$(t,j[q+52>>2]);break I}o=Jb(j[b+4100>>2],l[q+30>>1]);Z(t,32);$(t,1738);if(!o){break I}$(t,o);T(o)}Z(t,10);n=Th(q,n,e,f,g,m);if(n){continue}break}}p=q+84|0;break q}p=q+88|0}q=j[p>>2];if(q){continue}break}}b=j[t+4>>2];j[a>>2]=j[t>>2];j[a+4>>2]=b;j[a+8>>2]=j[t+8>>2];break p}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;if(h[t+11|0]>-1){break p}T(j[t>>2])}M=t+16|0}function Eh(a,b,c,d){var e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0;e=M-160|0;M=e;f=j[c+4>>2];g=j[c>>2];a:{if(!(j[b+44>>2]?(f|0)!=(g|0):0)){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}o=j[d>>2];l=h[d+11|0];j[e+152>>2]=0;j[e+144>>2]=0;j[e+148>>2]=0;j[e+136>>2]=0;j[e+128>>2]=0;j[e+132>>2]=0;r=(l|0)<0?o:d;while(1){t=0;if((f|0)!=(g|0)){while(1){j[e+120>>2]=0;j[e+112>>2]=0;j[e+116>>2]=0;b:{c:{o=p(t,12)+g|0;if(h[o+11|0]<=-1){o=j[o>>2]}d=ca(o,121405);d:{if(!d){break d}o=d;g=ca(d+1|0,121405);if(!g){break d}while(1){o=g;j[e+104>>2]=0;j[e+96>>2]=0;j[e+100>>2]=0;g=W(d);if(g>>>0>=4294967280){break c}e:{f:{if(g>>>0>=11){l=g+16&-16;f=U(l);j[e+88>>2]=l|-2147483648;j[e+80>>2]=f;j[e+84>>2]=g;break f}h[e+91|0]=g;f=e+80|0;if(!g){break e}}V(f,d,g)}h[f+g|0]=0;h[e+75|0]=3;i[e+64>>1]=k[121405]|k[121406]<<8;h[e+66|0]=k[121407];h[e+67|0]=0;ec(e+96|0,e+80|0,e- -64|0);if(h[e+75|0]<=-1){T(j[e+64>>2])}if(h[e+91|0]<=-1){T(j[e+80>>2])}d=h[e+107|0];f=(d|0)<0;aa(e+112|0,f?j[e+96>>2]:e+96|0,f?j[e+100>>2]:d&255);g=ca(o+1|0,121405);if(h[e+107|0]<=-1){T(j[e+96>>2])}d=o;if(g){continue}break}}d=W(o);if(d>>>0<4294967280){g:{h:{if(d>>>0>=11){g=d+16&-16;f=U(g);j[e+104>>2]=g|-2147483648;j[e+96>>2]=f;j[e+100>>2]=d;break h}h[e+107|0]=d;f=e+96|0;if(!d){break g}}V(f,o,d)}h[d+f|0]=0;d=k[e+107|0];n=d<<24>>24;f=(n|0)<0;g=f?j[e+100>>2]:d;i:{if((g|0)<3){break i}d=j[e+96>>2];l=f?d:e+96|0;m=l+g|0;f=l;while(1){f=Aa(f,32,g-2|0);if(!f){break i}if(qa(f,121409,3)){f=f+1|0;g=m-f|0;if((g|0)>=3){continue}break i}break}if((f|0)==(m|0)){break i}g=f-l|0;if((g|0)==-1){break i}while(1){h[((n<<24>>24<0?d:e+96|0)+g|0)+1|0]=11;d=k[e+107|0];n=d<<24>>24;f=(n|0)<0;d=f?j[e+100>>2]:d;if(d>>>0>>0){break i}m=d;d=j[e+96>>2];l=f?d:e+96|0;m=m+l|0;g=g+l|0;f=m-g|0;if((f|0)<3){break i}while(1){f=Aa(g,32,f-2|0);if(!f){break i}if(qa(f,121409,3)){g=f+1|0;f=m-g|0;if((f|0)>=3){continue}break i}break}if((f|0)==(m|0)){break i}g=f-l|0;if((g|0)!=-1){continue}break}}Ab(e+80|0,e+96|0,11);u=0;g=j[e+84>>2];f=g;n=j[e+80>>2];if((f|0)==(n|0)){break b}while(1){q=p(u,12);m=q+n|0;g=k[m+11|0];d=g<<24>>24;j:{if((d|0)<=-1){g=j[m+4>>2];l=j[m>>2];break j}l=m}k:{if((g|0)<3){break k}s=g+l|0;f=l;while(1){f=Aa(f,105,g-2|0);if(!f){break k}if(qa(f,121413,3)){f=f+1|0;g=s-f|0;if((g|0)>=3){continue}break k}break}if((f|0)==(s|0)){break k}f=f-l|0;if((f|0)==-1){break k}Wa(m,f);n=j[e+80>>2];d=k[(q+n|0)+11|0]}l=n+q|0;l:{if(d<<24>>24<=-1){g=j[l+4>>2];l=j[l>>2];break l}g=d&255}m:{if((g|0)<3){break m}m=g+l|0;f=l;while(1){f=Aa(f,116,g-2|0);if(!f){break m}if(qa(f,121417,3)){f=f+1|0;g=m-f|0;if((g|0)>=3){continue}break m}break}if((f|0)==(m|0)){break m}f=f-l|0;if((f|0)==-1){break m}while(1){g=n+q|0;if(d<<24>>24<=-1){g=j[g>>2]}h[f+g|0]=95;n=j[e+80>>2];l=q+n|0;g=k[l+11|0];d=g<<24>>24;if((d|0)<=-1){g=j[l+4>>2];l=j[l>>2]}if((g|0)<3){break m}m=g+l|0;f=l;while(1){f=Aa(f,116,g-2|0);if(!f){break m}if(qa(f,121417,3)){f=f+1|0;g=m-f|0;if((g|0)>=3){continue}break m}break}f=(f|0)==(m|0)?-1:f-l|0;if((f|0)!=-1){continue}break}}n:{g=ca(o,121397);o:{if(!g){break o}f=W(g);if(f>>>0>=4294967280){break n}p:{q:{if(f>>>0>=11){l=f+16&-16;d=U(l);j[e+72>>2]=l|-2147483648;j[e+64>>2]=d;j[e+68>>2]=f;break q}h[e+75|0]=f;d=e- -64|0;if(!f){break p}}V(d,g,f)}h[d+f|0]=0;h[e+59|0]=3;i[e+48>>1]=k[121397]|k[121398]<<8;h[e+50|0]=k[121399];h[e+51|0]=0;ec(e+96|0,e- -64|0,e+48|0);if(h[e+59|0]<=-1){T(j[e+48>>2])}if(h[e+75|0]<=-1){T(j[e+64>>2])}l=Xb(j[b+44>>2],h[e+107|0]<0?j[e+96>>2]:e+96|0);if(!l){break o}while(1){$(ha(e- -64|0,j[e+80>>2]+q|0),r);Gh(e+48|0,b,l,h[e+75|0]<0?j[e+64>>2]:e- -64|0);f=k[e+59|0];g=f<<24>>24;d=j[e+52>>2];if(!((g|0)<0?d:f)){Gh(e+32|0,b,l,r);if(h[e+59|0]<=-1){T(j[e+48>>2])}j[e+56>>2]=j[e+40>>2];d=j[e+36>>2];j[e+48>>2]=j[e+32>>2];j[e+52>>2]=d;f=k[e+59|0];g=f;d=j[e+52>>2]}if(g<<24>>24<0?d:f){Ab(e+32|0,e+48|0,10);n=0;g=j[e+36>>2];d=g;if(j[e+32>>2]!=(g|0)){while(1){Z(e+144|0,10);d=k[e+123|0];f=d<<24>>24<0;aa(e+144|0,f?j[e+112>>2]:e+112|0,f?j[e+116>>2]:d);m=j[e+80>>2]+q|0;d=h[m+11|0];r:{if((d|0)<=-1){g=j[m+4>>2];d=j[m>>2];break r}g=d&255;d=m}s:{if((g|0)<3){break s}s=d+g|0;f=d;while(1){f=Aa(f,115,g-2|0);if(!f){break s}if(qa(f,121421,3)){f=f+1|0;g=s-f|0;if((g|0)>=3){continue}break s}break}if((f|0)==(s|0)|(f-d|0)==-1){break s}j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;h[e+11|0]=3;i[e>>1]=k[121421]|k[121422]<<8;h[e+2|0]=k[121423];h[e+3|0]=0;ec(e+16|0,m,e);if(h[e+11|0]<=-1){T(j[e>>2])}d=h[e+27|0];f=(d|0)<0;aa(e+144|0,f?j[e+16>>2]:e+16|0,f?j[e+20>>2]:d&255);if(h[e+27|0]>-1){break s}T(j[e+16>>2])}d=j[e+32>>2]+p(n,12)|0;g=k[d+11|0];f=g<<24>>24<0;aa(e+144|0,f?j[d>>2]:d,f?j[d+4>>2]:g);n=n+1|0;g=j[e+36>>2];d=j[e+32>>2];if(n>>>0<(g-d|0)/12>>>0){continue}break}}if(d){if((d|0)==(g|0)){f=d}else{while(1){f=g-12|0;if(h[g-1|0]<=-1){T(j[f>>2])}g=f;if((f|0)!=(d|0)){continue}break}f=j[e+32>>2]}j[e+36>>2]=d;T(f)}g=k[e+59|0]}l=j[l+12>>2];if(g<<24>>24<=-1){T(j[e+48>>2])}if(h[e+75|0]<=-1){T(j[e+64>>2])}if(l){continue}break}}f=j[e+80>>2];n=f;u=u+1|0;g=j[e+84>>2];if(u>>>0>=(g-f|0)/12>>>0){break b}continue}break}X();z()}X();z()}X();z()}if(f){if((f|0)==(g|0)){d=f}else{while(1){d=g-12|0;if(h[g-1|0]<=-1){T(j[d>>2])}g=d;if((g|0)!=(f|0)){continue}break}d=j[e+80>>2]}j[e+84>>2]=f;T(d)}if(h[e+107|0]<=-1){T(j[e+96>>2])}if(h[e+123|0]<=-1){T(j[e+112>>2])}t=t+1|0;g=j[c>>2];if(t>>>0<(j[c+4>>2]-g|0)/12>>>0){continue}break}}t:{d=k[e+155|0];if(d<<24>>24<0?j[e+148>>2]:d){break t}if(!ca(r,121425)){break t}Ka(e+128|0,r);h[e+123|0]=3;i[e+112>>1]=k[121425]|k[121426]<<8;h[e+114|0]=k[121427];h[e+115|0]=0;h[e+107|0]=3;i[e+96>>1]=k[121417]|k[121418]<<8;h[e+98|0]=k[121419];h[e+99|0]=0;wb(e+128|0,e+112|0,e+96|0);if(h[e+107|0]<=-1){T(j[e+96>>2])}if(h[e+123|0]<=-1){T(j[e+112>>2])}r=h[e+139|0]<0?j[e+128>>2]:e+128|0;g=j[c>>2];f=j[c+4>>2];continue}break}b=j[e+148>>2];j[a>>2]=j[e+144>>2];j[a+4>>2]=b;j[a+8>>2]=j[e+152>>2];j[e+152>>2]=0;j[e+144>>2]=0;j[e+148>>2]=0;if(h[e+139|0]>=0){break a}T(j[e+128>>2]);if(h[e+155|0]>-1){break a}T(j[e+144>>2])}M=e+160|0}function Wn(a,b,c){var d=0,e=0,f=0,g=0,l=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=q(0),F=0;g=M-304|0;M=g;e=k[b|0];a:{if(!e){break a}b:{c:{while(1){d:{e=e&255;e:{if((e|0)==32|e-9>>>0<5){while(1){e=b;b=b+1|0;d=k[e+1|0];if((d|0)==32|d-9>>>0<5){continue}break}Ib(a,0,0);while(1){b=j[a+4>>2];f:{if(b>>>0>2]){j[a+4>>2]=b+1;b=k[b|0];break f}b=pa(a)}if((b|0)==32|b-9>>>0<5){continue}break}b=j[a+4>>2];if(j[a+104>>2]){b=b-1|0;j[a+4>>2]=b}d=b-j[a+8>>2]|0;b=d;d=d>>31;f=b;l=l+j[a+124>>2]|0;b=t+j[a+120>>2]|0;l=b>>>0>>0?l+1|0:l;t=f+b|0;l=d+l|0;l=b>>>0>t>>>0?l+1|0:l;break e}g:{h:{i:{e=k[b|0];if((e|0)==37){d=k[b+1|0];if((d|0)==42){break i}if((d|0)!=37){break h}}Ib(a,0,0);e=((e|0)==37)+b|0;b=j[a+4>>2];j:{if(b>>>0>2]){j[a+4>>2]=b+1;b=k[b|0];break j}b=pa(a)}if((b|0)!=k[e|0]){if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}A=0;if((b|0)>=0){break a}break c}b=t+1|0;l=b>>>0<1?l+1|0:l;t=b;break e}s=0;e=b+2|0;break g}if(!(k[b+2|0]!=36|d-48>>>0>=10)){s=Vn(c,k[b+1|0]-48|0);e=b+3|0;break g}s=j[c>>2];c=c+4|0;e=b+1|0}A=0;b=0;if(k[e|0]-48>>>0<10){while(1){b=(k[e|0]+p(b,10)|0)-48|0;d=k[e+1|0];e=e+1|0;if(d-48>>>0<10){continue}break}}d=e;f=k[d|0];k:{if((f|0)!=109){break k}v=0;A=(s|0)!=0;f=k[e+1|0];w=0;d=e+1|0}e=d+1|0;r=3;l:{m:{switch(f-65|0){case 39:f=d+2|0;d=k[d+1|0]==104;e=d?f:e;r=d?-2:-1;break l;case 43:f=d+2|0;d=k[d+1|0]==108;e=d?f:e;r=d?3:1;break l;case 51:case 57:r=1;break l;case 11:r=2;break l;case 41:break l;case 0:case 2:case 4:case 5:case 6:case 18:case 23:case 26:case 32:case 34:case 35:case 36:case 37:case 38:case 40:case 45:case 46:case 47:case 50:case 52:case 55:break m;default:break c}}r=0;e=d}f=k[e|0];d=(f&47)==3;z=d?1:r;x=d?f|32:f;n:{if((x|0)==91){break n}o:{if((x|0)!=110){if((x|0)!=99){break o}b=(b|0)>1?b:1;break n}Rg(s,z,t,l);break e}Ib(a,0,0);while(1){d=j[a+4>>2];p:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break p}d=pa(a)}if((d|0)==32|d-9>>>0<5){continue}break}d=j[a+4>>2];if(j[a+104>>2]){d=d-1|0;j[a+4>>2]=d}d=d-j[a+8>>2]|0;f=d;d=d>>31;u=f;y=l+j[a+124>>2]|0;f=t+j[a+120>>2]|0;y=f>>>0>>0?y+1|0:y;t=u+f|0;d=d+y|0;d=f>>>0>t>>>0?d+1|0:d;l=d}y=b;C=b>>31;Ib(a,b,C);d=j[a+104>>2];f=j[a+4>>2];q:{if(d>>>0>f>>>0){j[a+4>>2]=f+1;break q}if((pa(a)|0)<0){break c}d=j[a+104>>2]}if(d){j[a+4>>2]=j[a+4>>2]-1}d=16;r:{s:{t:{u:{v:{w:{x:{switch(x-88|0){default:b=x-65|0;if(b>>>0>6|!(1<>2]-j[a+8>>2]|0;if(j[a+120>>2]==(0-d|0)&j[a+124>>2]==(0-((d>>31)+((d|0)!=0)|0)|0)){break b}if(!s){break r}y=j[g+8>>2];f=j[g+12>>2];d=j[g>>2];b=j[g+4>>2];switch(z|0){case 2:break t;case 1:break u;case 0:break v;default:break r};case 3:case 11:case 27:if((x&239)==99){ya(g+32|0,-1,257);h[g+32|0]=0;if((x|0)!=115){break s}h[g+65|0]=0;h[g+46|0]=0;i[g+42>>1]=0;i[g+44>>1]=0;break s}u=k[e+1|0];f=(u|0)==94;ya(g+32|0,f,257);h[g+32|0]=0;d=f?e+2|0:e+1|0;y:{z:{A:{e=k[(f?2:1)+e|0];if((e|0)!=45){if((e|0)==93){break A}r=(u|0)!=94;break y}r=(u|0)!=94;h[g+78|0]=r;break z}r=(u|0)!=94;h[g+126|0]=r}d=d+1|0}e=d;while(1){d=k[e|0];B:{if((d|0)!=45){if(!d){break c}if((d|0)!=93){break B}break s}d=45;u=k[e+1|0];if(!u|(u|0)==93){break B}f=e+1|0;e=k[e-1|0];C:{if(u>>>0<=e>>>0){d=u;break C}while(1){e=e+1|0;h[e+(g+32|0)|0]=r;d=k[f|0];if(e>>>0>>0){continue}break}}e=f}h[(d+g|0)+33|0]=r;e=e+1|0;continue};case 23:d=8;break w;case 12:case 29:d=10;break w;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 22:case 25:case 26:case 28:case 30:case 31:break r;case 0:case 24:case 32:break w;case 17:break x}}d=0}y=Tg(a,d,0,-1,-1);f=N;d=j[a+4>>2]-j[a+8>>2]|0;if(j[a+120>>2]==(0-d|0)&j[a+124>>2]==(0-((d>>31)+((d|0)!=0)|0)|0)){break b}if(!(!s|(x|0)!=112)){j[s>>2]=y;break r}Rg(s,z,y,f);break r}D=s,E=Sg(d,b,y,f),n[D>>2]=E;break r}D=s,F=Be(d,b,y,f),o[D>>3]=F;break r}j[s>>2]=d;j[s+4>>2]=b;j[s+8>>2]=y;j[s+12>>2]=f;break r}x=(x|0)==99;r=x?b+1|0:31;u=(z|0)!=1;D:{if(!u){d=s;if(A){d=ja(r<<2);if(!d){break d}}j[g+296>>2]=0;j[g+300>>2]=0;b=0;while(1){w=d;E:{while(1){d=j[a+4>>2];F:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break F}d=pa(a)}if(!k[(d+g|0)+33|0]){break E}h[g+27|0]=d;d=rd(g+28|0,g+27|0,1,g+296|0);if((d|0)==-2){continue}v=0;if((d|0)==-1){break c}if(w){j[(b<<2)+w>>2]=j[g+28>>2];b=b+1|0}if(!A|(b|0)!=(r|0)){continue}break}r=r<<1|1;d=vc(w,r<<2);if(!d){break c}continue}break}v=0;d=g+296|0;f=1;G:{if(!d){break G}f=!j[d>>2]}if(!f){break c}break D}if(A){b=0;d=ja(r);if(!d){break d}while(1){v=d;while(1){d=j[a+4>>2];H:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break H}d=pa(a)}if(!k[(d+g|0)+33|0]){w=0;break D}h[b+v|0]=d;b=b+1|0;if((r|0)!=(b|0)){continue}break}w=0;r=r<<1|1;d=vc(v,r);if(d){continue}break}break c}b=0;if(s){while(1){d=j[a+4>>2];I:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break I}d=pa(a)}if(k[(d+g|0)+33|0]){h[b+s|0]=d;b=b+1|0;continue}else{w=0;v=s;break D}}}while(1){b=j[a+4>>2];J:{if(b>>>0>2]){j[a+4>>2]=b+1;b=k[b|0];break J}b=pa(a)}if(k[(b+g|0)+33|0]){continue}break}v=0;w=0;b=0}d=j[a+4>>2];if(j[a+104>>2]){d=d-1|0;j[a+4>>2]=d}d=d-j[a+8>>2]|0;f=d;z=d+j[a+120>>2]|0;d=j[a+124>>2]+(d>>31)|0;d=f>>>0>z>>>0?d+1|0:d;if(!(d|z)|x&((y|0)!=(z|0)|(d|0)!=(C|0))){break b}K:{if(!A){break K}if(!u){j[s>>2]=w;break K}j[s>>2]=v}if(x){break r}if(w){j[(b<<2)+w>>2]=0}if(!v){v=0;break r}h[b+v|0]=0}d=j[a+4>>2]-j[a+8>>2]|0;b=d;d=d>>31;f=b;l=l+j[a+124>>2]|0;b=t+j[a+120>>2]|0;l=b>>>0>>0?l+1|0:l;t=f+b|0;l=d+l|0;l=b>>>0>t>>>0?l+1|0:l;B=((s|0)!=0)+B|0}b=e+1|0;e=k[e+1|0];if(e){continue}break a}break}v=0;w=0}B=B?B:-1}if(!A){break a}T(v);T(w)}M=g+304|0;return B}function No(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;o=M-560|0;M=o;j[o+44>>2]=0;Jr(+b);g=Gr(1)|0;Gr(0)|0;a:{if((g|0)<-1?1:(g|0)<=-1){B=1;b=-b;Jr(+b);g=Gr(1)|0;Gr(0)|0;w=122016;break a}B=1;w=122019;if(e&2048){break a}w=122022;if(e&1){break a}B=0;A=1;w=122017}b:{if((g&2146435072)==2146435072){n=B+3|0;tb(a,32,c,n,e&-65537);ab(a,w,B);d=f&32;ab(a,b!=b?d?122043:122047:d?122035:122039,3);break b}x=o+16|0;c:{d:{e:{b=sh(b,o+44|0);b=b+b;if(b!=0){g=j[o+44>>2];j[o+44>>2]=g-1;C=f|32;if((C|0)!=97){break e}break c}C=f|32;if((C|0)==97){break c}n=j[o+44>>2];q=(d|0)<0?6:d;break d}n=g-29|0;j[o+44>>2]=n;b=b*268435456;q=(d|0)<0?6:d}s=(n|0)<0?o+48|0:o+336|0;m=s;while(1){d=m;if(b<4294967296&b>=0){g=~~b>>>0}else{g=0}j[d>>2]=g;m=m+4|0;b=(b- +(g>>>0))*1e9;if(b!=0){continue}break}f:{if((n|0)<1){d=n;g=m;i=s;break f}i=s;d=n;while(1){t=(d|0)<29?d:29;g=m-4|0;g:{if(i>>>0>g>>>0){break g}d=t;l=0;while(1){v=g;D=l;E=j[g>>2];u=d&31;if((d&63)>>>0>=32){l=E<>>32-u;E=E<>>0>>0?l+1|0:l;l=Dr(u,l,1e9);D=v;v=Cr(l,N,1e9,0);j[D>>2]=u-v;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!l){break g}i=i-4|0;j[i>>2]=l}while(1){g=m;if(i>>>0>>0){m=g-4|0;if(!j[m>>2]){continue}}break}d=j[o+44>>2]-t|0;j[o+44>>2]=d;m=g;if((d|0)>0){continue}break}}if((d|0)<=-1){y=((q+25|0)/9|0)+1|0;t=(C|0)==102;while(1){l=(d|0)<-9?9:0-d|0;h:{if(g>>>0<=i>>>0){i=j[i>>2]?i:i+4|0;break h}v=1e9>>>l|0;u=-1<>2];j[m>>2]=D+(d>>>l|0);d=p(v,d&u);m=m+4|0;if(m>>>0>>0){continue}break}i=j[i>>2]?i:i+4|0;if(!d){break h}j[g>>2]=d;g=g+4|0}d=j[o+44>>2]+l|0;j[o+44>>2]=d;m=t?s:i;g=g-m>>2>(y|0)?m+(y<<2)|0:g;if((d|0)<0){continue}break}}m=0;i:{if(g>>>0<=i>>>0){break i}m=p(s-i>>2,9);d=10;l=j[i>>2];if(l>>>0<10){break i}while(1){m=m+1|0;d=p(d,10);if(l>>>0>=d>>>0){continue}break}}d=(q-((C|0)==102?0:m)|0)-((C|0)==103&(q|0)!=0)|0;if((d|0)<(p(g-s>>2,9)-9|0)){l=d+9216|0;t=(l|0)/9|0;n=((t<<2)+((n|0)<0?o+48|4:o+340|0)|0)-4096|0;d=10;l=l-p(t,9)|0;if((l|0)<=7){while(1){d=p(d,10);l=l+1|0;if((l|0)!=8){continue}break}}t=j[n>>2];v=(t>>>0)/(d>>>0)|0;y=n+4|0;l=t-p(d,v)|0;j:{if(l?0:(y|0)==(g|0)){break j}u=d>>>1|0;z=l>>>0>>0?.5:(g|0)==(y|0)?(u|0)==(l|0)?1:1.5:1.5;b=v&1?9007199254740994:9007199254740992;if(!(k[w|0]!=45|A)){z=-z;b=-b}l=t-l|0;j[n>>2]=l;if(b+z==b){break j}d=d+l|0;j[n>>2]=d;if(d>>>0>=1e9){while(1){j[n>>2]=0;n=n-4|0;if(n>>>0>>0){i=i-4|0;j[i>>2]=0}d=j[n>>2]+1|0;j[n>>2]=d;if(d>>>0>999999999){continue}break}}m=p(s-i>>2,9);d=10;l=j[i>>2];if(l>>>0<10){break j}while(1){m=m+1|0;d=p(d,10);if(l>>>0>=d>>>0){continue}break}}d=n+4|0;g=d>>>0>>0?d:g}while(1){d=g;n=g>>>0<=i>>>0;if(!n){g=d-4|0;if(!j[g>>2]){continue}}break}k:{if((C|0)!=103){A=e&8;break k}g=q?q:1;l=(g|0)>(m|0)&(m|0)>-5;q=(l?m^-1:-1)+g|0;f=(l?-1:-2)+f|0;A=e&8;if(A){break k}g=-9;l:{if(n){break l}t=j[d-4>>2];if(!t){break l}l=10;g=0;if((t>>>0)%10|0){break l}while(1){n=g;g=g+1|0;l=p(l,10);if(!((t>>>0)%(l>>>0)|0)){continue}break}g=n^-1}n=p(d-s>>2,9);if((f&-33)==70){A=0;g=(g+n|0)-9|0;g=(g|0)>0?g:0;q=(g|0)>(q|0)?q:g;break k}A=0;g=((m+n|0)+g|0)-9|0;g=(g|0)>0?g:0;q=(g|0)>(q|0)?q:g}t=q|A;v=(t|0)!=0;D=a;l=c;u=f&-33;g=(m|0)>0?m:0;m:{if((u|0)==70){break m}g=m>>31;g=Gc(g+m^g,0,x);if((x-g|0)<=1){while(1){g=g-1|0;h[g|0]=48;if((x-g|0)<2){continue}break}}y=g-2|0;h[y|0]=f;h[g-1|0]=(m|0)<0?45:43;g=x-y|0}n=(g+(v+(q+B|0)|0)|0)+1|0;tb(D,32,l,n,e);ab(a,w,B);tb(a,48,c,n,e^65536);n:{o:{p:{if((u|0)==70){f=o+16|8;m=o+16|9;l=i>>>0>s>>>0?s:i;i=l;while(1){g=Gc(j[i>>2],0,m);q:{if((i|0)!=(l|0)){if(o+16>>>0>=g>>>0){break q}while(1){g=g-1|0;h[g|0]=48;if(o+16>>>0>>0){continue}break}break q}if((g|0)!=(m|0)){break q}h[o+24|0]=48;g=f}ab(a,g,m-g|0);i=i+4|0;if(s>>>0>=i>>>0){continue}break}if(t){ab(a,122051,1)}if((q|0)<1|d>>>0<=i>>>0){break p}while(1){g=Gc(j[i>>2],0,m);if(g>>>0>o+16>>>0){while(1){g=g-1|0;h[g|0]=48;if(o+16>>>0>>0){continue}break}}ab(a,g,(q|0)<9?q:9);g=q-9|0;i=i+4|0;if(d>>>0<=i>>>0){break o}f=(q|0)>9;q=g;if(f){continue}break}break o}r:{if((q|0)<0){break r}s=d>>>0>i>>>0?d:i+4|0;d=o+16|8;f=o+16|9;m=i;while(1){g=Gc(j[m>>2],0,f);if((f|0)==(g|0)){h[o+24|0]=48;g=d}s:{if((i|0)!=(m|0)){if(o+16>>>0>=g>>>0){break s}while(1){g=g-1|0;h[g|0]=48;if(o+16>>>0>>0){continue}break}break s}ab(a,g,1);g=g+1|0;if((q|0)<1?!A:0){break s}ab(a,122051,1)}v=g;g=f-g|0;ab(a,v,(g|0)<(q|0)?g:q);q=q-g|0;m=m+4|0;if(s>>>0<=m>>>0){break r}if((q|0)>-1){continue}break}}tb(a,48,q+18|0,18,0);ab(a,y,x-y|0);break n}g=q}tb(a,48,g+9|0,9,0)}break b}q=f&32;l=q?w+9|0:w;t:{if(d>>>0>11){break t}g=12-d|0;if(!g){break t}z=8;while(1){z=z*16;g=g-1|0;if(g){continue}break}if(k[l|0]==45){b=-(z+(-b-z));break t}b=b+z-z}i=j[o+44>>2];g=i>>31;g=Gc(g^g+i,0,x);if((x|0)==(g|0)){h[o+15|0]=48;g=o+15|0}m=B|2;i=j[o+44>>2];s=g-2|0;h[s|0]=f+15;h[g-1|0]=(i|0)<0?45:43;n=e&8;i=o+16|0;while(1){f=i;v=i;i=q;if(r(b)<2147483648){g=~~b}else{g=-2147483648}h[v|0]=i|k[g+122e3|0];b=(b- +(g|0))*16;i=f+1|0;if(!((i-(o+16|0)|0)!=1|(b==0?!((d|0)>0|n):0))){h[f+1|0]=46;i=f+2|0}if(b!=0){continue}break}g=a;f=c;if(!d|((i-o|0)-18|0)>=(d|0)){q=((x-(o+16|0)|0)-s|0)+i|0}else{q=((d+x|0)-s|0)+2|0}d=q;n=d+m|0;tb(g,32,f,n,e);ab(a,l,m);tb(a,48,c,n,e^65536);f=i-(o+16|0)|0;ab(a,o+16|0,f);d=x-s|0;tb(a,48,q-(d+f|0)|0,0,0);ab(a,s,d)}tb(a,32,c,n,e^8192);M=o+560|0;return((c|0)>(n|0)?c:n)|0}function vk(a,b,c,d,e,f,g,m,n){var o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;t=M-48|0;M=t;a:{b:{c:{if(!f){break c}r=l[a+4198>>1];d:{if(!r){break d}o=e;q=f;while(1){u=q>>>1|0;x=(u<<1)+o|0;s=r>>>0>l[x>>1];o=s?x+2|0:o;q=s?(u^-1)+q|0:u;if(q){continue}break}if(((f<<1)+e|0)==(o|0)){break d}if(r>>>0>=l[o>>1]){break b}}r=l[a+4464>>1];if(!r){break c}o=e;q=f;while(1){u=q>>>1|0;x=(u<<1)+o|0;s=r>>>0>l[x>>1];o=s?x+2|0:o;q=s?(u^-1)+q|0:u;if(q){continue}break}if(((f<<1)+e|0)==(o|0)){break c}if(r>>>0>=l[o>>1]){break b}}o=cb(c);j[b>>2]=o;if(!o){break a}j[b+8>>2]=0;h[b+4|0]=0;v=1;if(!n){break b}o=cb(n);j[b+12>>2]=o;if(!o){break a}h[b+16|0]=0;o=cb(c);j[b+20>>2]=o;v=2;if(!o){break a}}if(f){F=g+m|0;x=1;while(1){e:{E=(B<<1)+e|0;q=l[E>>1];u=j[(((q&255)<<2)+a|0)+3072>>2];if(u){while(1){f:{g:{if(l[u+30>>1]!=(q&65535)){break g}s=u+4|0;o=k[u+15|0];r=o<<24>>24;h:{i:{if((r|0)<=-1){o=j[u+8>>2];if(!(o&65535)){break h}o=o<<16>>16;if((o|0)>=(m|0)){break g}s=j[s>>2];break i}if(!r){break h}if((m|0)<=(o|0)){break g}}if(ba(s,F-o|0)){break g}}r=j[u+56>>2];j:{if(!r){break j}s=l[a+4198>>1];k:{if(!s){break k}q=i[u+60>>1];C=(q<<1)+r|0;o=r;if(q){while(1){w=q>>>1|0;D=(w<<1)+o|0;A=s>>>0>l[D>>1];o=A?D+2|0:o;q=A?(w^-1)+q|0:w;if(q){continue}break}}if((o|0)==(C|0)){break k}if(s>>>0>=l[o>>1]){break g}}s=l[a+4462>>1];l:{if(!s){break l}q=i[u+60>>1];C=(q<<1)+r|0;o=r;if(q){while(1){w=q>>>1|0;D=(w<<1)+o|0;A=s>>>0>l[D>>1];o=A?D+2|0:o;q=A?(w^-1)+q|0:w;if(q){continue}break}}if((o|0)==(C|0)){break l}if(s>>>0>=l[o>>1]){break g}}q=l[a+4464>>1];if(!q){break j}o=i[u+60>>1];A=(o<<1)+r|0;if(o){while(1){s=o>>>1|0;C=(s<<1)+r|0;w=q>>>0>l[C>>1];r=w?C+2|0:r;o=w?(s^-1)+o|0:s;if(o){continue}break}}if((r|0)==(A|0)){break j}if(q>>>0>=l[r>>1]){break g}}We(t+32|0,u,c,d);m:{n:{o:{p:{q:{r:{r=h[t+43|0];if((r|0)<=-1){if((v|0)>=100){o=v;break p}if(j[t+36>>2]){break r}o=v;break p}if((v|0)>=100){o=v;break p}o=t+32|0;if(r){break q}o=v;break p}o=j[t+32>>2]}r=p(v,12)+b|0;G=r,H=cb(o),j[G>>2]=H;o=k[u+29|0];j[r+8>>2]=0;h[r+4|0]=o&1;o=v+1|0;if(!n|(o|0)>=100){break p}r=W(n);if(r>>>0>=4294967280){break n}s:{t:{if(r>>>0>=11){q=r+16&-16;s=U(q);j[t+24>>2]=q|-2147483648;j[t+16>>2]=s;j[t+20>>2]=r;break t}h[t+27|0]=r;s=t+16|0;if(!r){break s}}V(s,n,r)}h[r+s|0]=0;s=u+68|0;s=h[u+79|0]<=-1?j[s>>2]:s;q=W(s);if(q>>>0>=4294967280){break m}u:{v:{if(q>>>0>=11){w=q+16&-16;r=U(w);j[t+8>>2]=w|-2147483648;j[t>>2]=r;j[t+4>>2]=q;break v}h[t+11|0]=q;r=t;if(!q){break u}}V(r,s,q)}s=0;h[r+q|0]=0;Va(t);r=k[t+11|0];q=r<<24>>24<0;aa(t+16|0,q?j[t>>2]:t,q?j[t+4>>2]:r);r=p(o,12)+b|0;q=cb(h[t+27|0]<0?j[t+16>>2]:t+16|0);j[r>>2]=q;w:{if(!q){y=v;break w}h[r+4|0]=0;q=r;r=cb(h[t+43|0]<0?j[t+32>>2]:t+32|0);j[q+8>>2]=r;if(!r){y=v;break w}o=v+2|0;s=1}if(h[t+11|0]<=-1){T(j[t>>2])}if(h[t+27|0]<=-1){T(j[t+16>>2])}v=0;if(!s){break o}}v=1}if(h[t+43|0]<=-1){T(j[t+32>>2])}if(v){break f}v=o;break e}X();z()}X();z()}o=v}u=j[u+92>>2];if(u){q=l[E>>1];v=o;continue}break}v=o}B=B+1|0;x=B>>>0>>0;if((f|0)!=(B|0)){continue}}break}if(x){break a}}x:{if((v|0)<2){y=v;break x}y=v;n=1;while(1){B=p(n,12)+b|0;if(!(!k[B+4|0]|!f)){s=0;while(1){y:{x=(s<<1)+e|0;q=l[x>>1];o=j[(((q&255)<<2)+a|0)+2048>>2];if(!o){break y}while(1){z:{if(!(h[o+29|0]&1)|l[o+30>>1]!=(q&65535)){break z}r=o+4|0;q=k[o+15|0];u=q<<24>>24;A:{B:{if((u|0)<=-1){q=j[o+8>>2];if(!(q&65535)){break A}q=q<<16>>16;if((q|0)>=(m|0)){break z}r=j[r>>2];break B}if(!u){break A}if((m|0)<=(q|0)){break z}}if(Eb(r,g,q)){break z}}r=j[B>>2];eh(t+32|0,o,r,W(r));r=h[t+43|0];C:{D:{if((r|0)<=-1){if(!j[t+36>>2]|(y|0)>=100){break C}u=j[t+32>>2];break D}if((y|0)>=100){break z}u=t+32|0;if(!r){break z}}r=p(y,12)+b|0;G=r,H=cb(u),j[G>>2]=H;q=k[o+29|0];j[r+8>>2]=0;h[r+4|0]=q&1;y=y+1|0;if(h[t+43|0]>-1){break z}}T(j[t+32>>2])}o=j[o+80>>2];if(!o){break y}q=l[x>>1];continue}}s=s+1|0;if((s|0)!=(f|0)){continue}break}}n=n+1|0;if((v|0)!=(n|0)){continue}break}}if(!f){break a}B=0;while(1){E:{x=(B<<1)+e|0;o=l[x>>1];u=j[(((o&255)<<2)+a|0)+2048>>2];if(!u){break E}while(1){F:{if(l[u+30>>1]!=(o&65535)){break F}s=u+4|0;o=k[u+15|0];n=o<<24>>24;G:{H:{if((n|0)<=-1){n=j[u+8>>2];if(!(n&65535)){break G}o=n<<16>>16;if((o|0)>=(m|0)){break F}s=j[s>>2];break H}if(!n){break G}if((m|0)<=(o|0)){break F}}if(Eb(s,g,o)){break F}}r=j[u+56>>2];I:{if(!r){break I}n=l[a+4198>>1];J:{if(!n){break J}q=i[u+60>>1];w=(q<<1)+r|0;o=r;if(q){while(1){v=q>>>1|0;A=(v<<1)+o|0;s=n>>>0>l[A>>1];o=s?A+2|0:o;q=s?(v^-1)+q|0:v;if(q){continue}break}}if((o|0)==(w|0)){break J}if(n>>>0>=l[o>>1]){break F}}n=l[a+4462>>1];K:{if(!n){break K}q=i[u+60>>1];w=(q<<1)+r|0;o=r;if(q){while(1){v=q>>>1|0;A=(v<<1)+o|0;s=n>>>0>l[A>>1];o=s?A+2|0:o;q=s?(v^-1)+q|0:v;if(q){continue}break}}if((o|0)==(w|0)){break K}if(n>>>0>=l[o>>1]){break F}}n=l[a+4464>>1];if(!n){break I}o=i[u+60>>1];s=(o<<1)+r|0;if(o){while(1){v=o>>>1|0;w=(v<<1)+r|0;q=n>>>0>l[w>>1];r=q?w+2|0:r;o=q?(v^-1)+o|0:v;if(o){continue}break}}if((r|0)==(s|0)){break I}if(n>>>0>=l[r>>1]){break F}}eh(t+32|0,u,c,d);n=h[t+43|0];L:{M:{if((n|0)<=-1){if(!j[t+36>>2]|(y|0)>=100){break L}q=j[t+32>>2];break M}if((y|0)>=100){break F}q=t+32|0;if(!n){break F}}n=p(y,12)+b|0;G=n,H=cb(q),j[G>>2]=H;o=k[u+29|0];j[n+8>>2]=0;h[n+4|0]=o&1;y=y+1|0;if(h[t+43|0]>-1){break F}}T(j[t+32>>2])}u=j[u+80>>2];if(!u){break E}o=l[x>>1];continue}}B=B+1|0;if((B|0)!=(f|0)){continue}break}}M=t+48|0;return y}function Qa(a,b,c,d,e,f,g,m){var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=j[a+1024>>2];if(v){w=(m|0)!=1;while(1){a:{if(j[v+56>>2]?0:f){break a}if(!w){n=j[v+56>>2];if(!n){break a}q=l[a+4164>>1];if(!q){break a}o=i[v+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break a}}q=l[a+4462>>1];b:{if(!q){break b}c:{d:{if(!e){break d}n=j[e+56>>2];if(!n){break d}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break d}if(q>>>0>=l[n>>1]){break c}}n=j[v+56>>2];if(!n){break b}o=i[v+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break b}}if(!e){break a}n=j[e+56>>2];if(!n){break a}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break a}n=j[v+56>>2];if(!n){break a}o=i[v+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break a}}e:{if(m){break e}n=j[v+56>>2];if(!n){break e}o=i[v+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4464>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break e}if(l[a+4464>>1]>=l[n>>1]){break a}}f:{if(f){break f}n=j[v+56>>2];if(!n){break f}o=i[v+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4198>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break f}q=l[a+4198>>1];if(q>>>0>1]){break f}if(!e){break a}n=j[e+56>>2];if(!n){break f}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break f}if(q>>>0>=l[n>>1]){break a}}n=Id(v,b,c,d,e,f,g,m?0:l[a+4464>>1]);if(!n){break a}j[a+4372>>2]=v;return n}v=j[v+80>>2];if(v){continue}break}}n=0;g:{if(!c){break g}v=(b+c|0)-1|0;u=j[((k[v|0]<<2)+a|0)+1024>>2];if(!u){break g}x=(e|0)!=0|(m|0)!=2;y=(c|0)<1;while(1){w=u+68|0;if(h[u+79|0]<=-1){n=j[w>>2]}else{n=w}h:{i:{j:{k:{if(y){break k}r=c+n|0;o=c;t=v;while(1){s=k[n|0];if(!s){break j}if((s|0)!=k[t|0]?(s|0)!=46:0){break k}t=t-1|0;n=n+1|0;s=(o|0)>1;o=o-1|0;if(s){continue}break}n=r}if(k[n|0]){break i}}l:{if((m|0)==1){n=j[u+56>>2];if(!n){break l}q=l[a+4164>>1];if(!q){break l}o=i[u+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break l}}q=l[a+4462>>1];m:{if(!q){break m}n:{o:{if(!e){break o}n=j[e+56>>2];if(!n){break o}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break o}if(q>>>0>=l[n>>1]){break n}}n=j[u+56>>2];if(!n){break m}o=i[u+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break m}}if(!e){break l}n=j[e+56>>2];if(!n){break l}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break l}n=j[u+56>>2];if(!n){break l}o=i[u+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break l}}p:{if(m){break p}n=j[u+56>>2];if(!n){break p}o=i[u+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4464>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break p}if(l[a+4464>>1]>=l[n>>1]){break l}}q:{r:{if(f){break r}n=j[u+56>>2];if(!n){break r}o=i[u+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4198>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break r}q=l[a+4198>>1];if(q>>>0>1]){break r}if(!e){break l}n=j[e+56>>2];if(!n){break q}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break r}if(q>>>0>=l[n>>1]){break l}}if(x){break q}n=j[u+56>>2];if(!n){break q}o=i[u+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4464>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break q}if(l[a+4464>>1]>=l[n>>1]){break l}}n=Id(u,b,c,d,e,f,g,m?0:l[a+4464>>1]);if(!n){break l}j[a+4372>>2]=u;i[a+4364>>1]=l[u+30>>1];if(!j[u+56>>2]){if(h[w+11|0]<=-1){j[a+4356>>2]=j[w>>2];return n}j[a+4356>>2]=w;return n}if(j[a+4456>>2]!=36){break g}b=h[u+15|0];c=j[u+8>>2];s:{if((b|0)<=-1){break s}c=b&255}if(!(c&65535)){break g}t:{if(h[w+11|0]<=-1){b=j[w>>2];if(k[b|0]!=105){break g}o=k[b+1|0];if((o|0)!=121){break t}break g}if(k[w|0]!=105){break g}o=k[w+1|0];if((o|0)==121){break g}}if((o|0)==116){break g}j[a+4360>>2]=1;return n}n=u+84|0;break h}n=u+88|0}u=j[n>>2];if(u){continue}break}n=0}return n}function $f(a,b,c,d,e,f,g,i,l,m,n){var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;o=M-560|0;M=o;j[o+548>>2]=n;j[o+552>>2]=b;j[o+96>>2]=78;r=Da(o+136|0,o+144|0,o+96|0);b=j[r>>2];j[o+132>>2]=b;j[o+128>>2]=b+400;u=ga(o+96|0);s=ga(o+80|0);p=ga(o- -64|0);q=ga(o+48|0);t=ga(o+32|0);xl(c,d,o+120|0,o+116|0,o+112|0,u,s,p,q,o+28|0);j[m>>2]=j[l>>2];w=e&512;x=w>>>9|0;b=0;c=0;while(1){n=c;a:{b:{c:{d:{if((b|0)==4){break d}if(!kb(a,o+552|0)){break d}e=0;e:{f:{g:{h:{i:{switch(h[(o+120|0)+b|0]){case 1:if((b|0)==3){break b}c=i;e=j[a>>2];d=j[e+12>>2];j:{if((d|0)==j[e+16>>2]){d=O[j[j[e>>2]+36>>2]](e)|0;break j}d=j[d>>2]}if(O[j[j[i>>2]+12>>2]](c,8192,d)|0){_f(o+16|0,a);bd(t,j[o+16>>2]);break h}j[f>>2]=j[f>>2]|4;a=0;break c;case 0:break i;case 4:break e;case 2:break f;case 3:break g;default:break a}}if((b|0)==3){break b}}while(1){if(!kb(a,o+552|0)){break b}c=i;e=j[a>>2];d=j[e+12>>2];k:{if((d|0)==j[e+16>>2]){d=O[j[j[e>>2]+36>>2]](e)|0;break k}d=j[d>>2]}if(!(O[j[j[i>>2]+12>>2]](c,8192,d)|0)){break b}_f(o+16|0,a);bd(t,j[o+16>>2]);continue}}if(k[p+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}if((c|0)==(0-d|0)){break b}if(k[p+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}if(!(d?c:0)){if(k[p+11|0]>>>7|0){d=j[p+4>>2]}else{d=k[p+11|0]}e=j[a>>2];c=j[e+12>>2];l:{if((c|0)==j[e+16>>2]){c=O[j[j[e>>2]+36>>2]](e)|0;break l}c=j[c>>2]}if(d){if(k[p+11|0]>>>7|0){d=j[p>>2]}else{d=p}if((c|0)==j[d>>2]){Na(a);c=p;d=c;if(k[c+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}c=c>>>0>1?d:n;break a}h[g|0]=1;break b}if(k[q+11|0]>>>7|0){d=j[q>>2]}else{d=q}if(j[d>>2]!=(c|0)){break b}Na(a);h[g|0]=1;c=q;d=c;if(k[c+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}c=c>>>0>1?d:n;break a}d=j[a>>2];c=j[d+12>>2];m:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break m}c=j[c>>2]}if(k[p+11|0]>>>7|0){d=j[p>>2]}else{d=p}if((c|0)==j[d>>2]){Na(a);c=p;d=c;if(k[c+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}c=c>>>0>1?d:n;break a}d=j[a>>2];c=j[d+12>>2];n:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break n}c=j[c>>2]}if(k[q+11|0]>>>7|0){d=j[q>>2]}else{d=q}if((c|0)==j[d>>2]){Na(a);h[g|0]=1;c=q;d=c;if(k[c+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}c=c>>>0>1?d:n;break a}j[f>>2]=j[f>>2]|4;a=0;break c}if(!(n|b>>>0<2)){c=0;if(!((b|0)==2&k[o+123|0]!=0|x)){break a}}y=o,z=qb(s),j[y+8>>2]=z;j[o+16>>2]=j[o+8>>2];o:{if(!b|k[(b+o|0)+119|0]>1){break o}while(1){p:{y=o,z=ic(s),j[y+8>>2]=z;if(!(j[o+16>>2]==j[o+8>>2]^1)){break p}if(!(O[j[j[i>>2]+12>>2]](i,8192,j[j[o+16>>2]>>2])|0)){break p}j[o+16>>2]=j[o+16>>2]+4;continue}break}y=o,z=qb(s),j[y+8>>2]=z;if(k[t+11|0]>>>7|0){d=j[t+4>>2]}else{d=k[t+11|0]}c=j[o+16>>2]-j[o+8>>2]>>2;if(d>>>0>=c>>>0){y=o,z=ic(t),j[y+8>>2]=z;if(tl(Xf(o+8|0,0-c|0),ic(t),qb(s))){break o}}y=o,z=qb(s),j[y>>2]=z;j[o+8>>2]=j[o>>2];j[o+16>>2]=j[o+8>>2]}j[o+8>>2]=j[o+16>>2];while(1){q:{y=o,z=ic(s),j[y>>2]=z;if(!(j[o+8>>2]==j[o>>2]^1)){break q}if(!kb(a,o+552|0)){break q}d=j[a>>2];c=j[d+12>>2];r:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break r}c=j[c>>2]}if((c|0)!=j[j[o+8>>2]>>2]){break q}Na(a);j[o+8>>2]=j[o+8>>2]+4;continue}break}if(!w){break b}y=o,z=ic(s),j[y>>2]=z;if(!(j[o+8>>2]==j[o>>2]^1)){break b}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){s:{if(!kb(a,o+552|0)){break s}v=i;c=j[a>>2];d=j[c+12>>2];t:{if((d|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break t}c=j[d>>2]}u:{if(O[j[j[i>>2]+12>>2]](v,2048,c)|0){d=j[m>>2];if((d|0)==j[o+548>>2]){zc(l,m,o+548|0);d=j[m>>2]}j[m>>2]=d+4;j[d>>2]=c;e=e+1|0;break u}d=!e;if(k[u+11|0]>>>7|0){v=j[u+4>>2]}else{v=k[u+11|0]}if(d|!v|(c|0)!=j[o+112>>2]){break s}c=j[o+132>>2];if((c|0)==j[o+128>>2]){zc(r,o+132|0,o+128|0);c=j[o+132>>2]}j[o+132>>2]=c+4;j[c>>2]=e;e=0}Na(a);continue}break}d=j[r>>2];v:{if(!e){break v}c=j[o+132>>2];if((d|0)==(c|0)){break v}if(j[o+128>>2]==(c|0)){zc(r,o+132|0,o+128|0);c=j[o+132>>2]}j[o+132>>2]=c+4;j[c>>2]=e}w:{if(j[o+28>>2]<1){break w}x:{if(!Ra(a,o+552|0)){d=j[a>>2];c=j[d+12>>2];y:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break y}c=j[c>>2]}if((c|0)==j[o+116>>2]){break x}}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){Na(a);if(j[o+28>>2]<1){break w}z:{if(!Ra(a,o+552|0)){c=i;e=j[a>>2];d=j[e+12>>2];A:{if((d|0)==j[e+16>>2]){d=O[j[j[e>>2]+36>>2]](e)|0;break A}d=j[d>>2]}if(O[j[j[i>>2]+12>>2]](c,2048,d)|0){break z}}j[f>>2]=j[f>>2]|4;a=0;break c}if(j[m>>2]==j[o+548>>2]){zc(l,m,o+548|0)}d=j[a>>2];c=j[d+12>>2];B:{if((c|0)==j[d+16>>2]){d=O[j[j[d>>2]+36>>2]](d)|0;break B}d=j[c>>2]}c=j[m>>2];j[m>>2]=c+4;j[c>>2]=d;j[o+28>>2]=j[o+28>>2]-1;continue}}c=n;if(j[l>>2]!=j[m>>2]){break a}j[f>>2]=j[f>>2]|4;a=0;break c}C:{if(!n){break C}e=1;while(1){if(k[n+11|0]>>>7|0){b=j[n+4>>2]}else{b=k[n+11|0]}if(b>>>0<=e>>>0){break C}D:{if(!Ra(a,o+552|0)){c=j[a>>2];b=j[c+12>>2];E:{if((b|0)==j[c+16>>2]){b=O[j[j[c>>2]+36>>2]](c)|0;break E}b=j[b>>2]}if(k[n+11|0]>>>7|0){c=j[n>>2]}else{c=n}if((b|0)==j[c+(e<<2)>>2]){break D}}j[f>>2]=j[f>>2]|4;a=0;break c}Na(a);e=e+1|0;continue}}a=1;if(j[r>>2]==j[o+132>>2]){break c}a=0;j[o+16>>2]=0;hb(u,j[r>>2],j[o+132>>2],o+16|0);if(j[o+16>>2]){j[f>>2]=j[f>>2]|4;break c}a=1}Y(t);Y(q);Y(p);Y(s);Y(u);b=j[r>>2];j[r>>2]=0;if(b){O[j[r+4>>2]](b)}M=o+560|0;return a}c=n}b=b+1|0;continue}}function Nh(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;f=M-1056|0;M=f;d=h[b+11|0];a:{b:{if((d|0)<=-1){w=j[b+4>>2];if(w>>>0>=1025){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}b=j[b>>2];A=f+16|0;break b}w=d&255;A=f+16|0}Vo(A,b);h[f+1040|0]=0;j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;o=k[f+16|0];if(o){m=-333;while(1){c:{d:{x=o&255;v=j[((x<<2)+c|0)+16>>2];if((v|0)<0){break d}r=j[c+4>>2];d=r+p(v,12)|0;b=k[d+11|0];u=b<<24>>24;if((u|0)<=-1){b=j[d+4>>2]}if(!b){break d}J=f+n|0;E=n-1|0;F=E+(f+16|0)|0;while(1){B=p(v,12);t=B+r|0;G=(u|0)>-1;e:{if(!G){d=j[t>>2];if(k[d|0]==(x|0)){break e}break d}d=t;if(k[d|0]!=(x|0)){break d}}l=1;b=d+1|0;m=0;i=k[d+1|0];f:{g:{if(!i){break g}e=d;g=k[J+17|0];h:{if((g|0)!=(i|0)){break h}while(1){i:{e=b;if((i&255)-48>>>0<10){break i}if(Aa(121384,i<<24>>24,6)){break i}b=e+1|0;l=l+1|0;i=k[e+1|0];if(!i){break g}d=e;g=k[f+16+(l+n)|0];if((g|0)==(i|0)){continue}break h}break}e=d}j:{if((i&255)==40){d=g<<24>>24;if((g&255|32)-97>>>0>=26?(d|0)>=0:0){break j}if(!Ya(e+2|0,d)){break j}e=b+1|0;while(1){d=k[e|0];b=e+1|0;e=b;if((d|0)!=41){continue}break}l=l+1|0;i=k[b|0]}s=(l|0)>1;m=i<<24>>24;k:{if((l|0)<2){break k}e=l;if((i&255)!=45){break k}while(1){l:{s=(e|0)>2;g=b+1|0;q=e-1|0;d=k[b+1|0];if((e|0)<3){break l}b=g;e=q;if((d&255)==45){continue}}break}b=g;break f}q=l;d=i;break f}m=40}s=(l|0)>1;q=l;i=m;d=i}b=(d&255)==60?b+1|0:b;g=h[b|0];e=(g&255)-48>>>0<10;b=e?b+1|0:b;d=k[b|0];if((d|0)==94){b=k[b+1|0]==94?b+1|0:b;d=k[b|0]}m:{d=d&255;n:{if(!d){break n}if((d|0)==94){if(n){d=h[F|0];if((d|0)<0|(d&255|32)-97>>>0<26){break m}}if(k[b+1|0]!=36){break n}b=h[f+16+(l+n)|0];if((b|0)<0){break m}if((b&255|32)-97>>>0>=26){break n}break m}if((d|0)!=36|(n|0)<1){break m}b=h[F|0];if((b&255|32)-97>>>0>=26?(b|0)>=0:0){break m}b=h[f+16+(l+n)|0];if((b|0)<0|(b&255|32)-97>>>0<26){break m}}o:{if((i&255)==45){break o}b=n+q|0;y=k[(b+f|0)+15|0];l=j[((y<<2)+c|0)+16>>2];if(!((l|0)>-1&s)){break o}H=b+(f+16|0)|0;if(!k[H|0]){break o}i=p(l,12)+r|0;d=k[i+11|0];b=d<<24>>24;if((b|0)<=-1){d=j[i+4>>2]}if(!d){break o}z=e?g-48|0:5;p:{q:{while(1){C=p(l,12)+r|0;r:{s:{t:{u:{I=b<<24>>24>-1;v:{if(!I){s=j[C>>2];g=s;if(k[g|0]==(y|0)){break v}if((m|0)<(z|0)){break o}break q}s=y;g=C;b=k[g|0];if((b|0)!=(y|0)){break u}}b=g+1|0;e=k[g+1|0];if(!e){i=q;break r}i=q;d=g;m=k[H|0];if((m|0)==(e|0)){break t}break s}s=b;if((m|0)<(z|0)){break o}break p}while(1){w:{d=b;if((e&255)-48>>>0<10){break w}if(Aa(121384,e<<24>>24,6)){break w}b=d+1|0;i=i+1|0;e=k[d+1|0];if(!e){break r}g=d;m=k[f+16+(i+n)|0];if((m|0)==(e|0)){continue}break s}break}d=g}if((e&255)!=40){break r}e=m<<24>>24;if((m&255|32)-97>>>0>=26?(e|0)>=0:0){break r}if(!Ya(d+2|0,e)){break r}i=i+1|0;e=40;while(1){d=e&255;if(!(!d|(d|0)==41)){e=k[b+1|0];b=b+1|0;continue}break}b=(d|0)==41?b+1|0:b}x:{while(1){e=k[b|0];if((e|0)!=45){d=b;if((e|0)!=60){break x}}else{b=b+1|0;continue}break}e=k[b+1|0];d=b+1|0}b=(e&255)-48>>>0<10;m=b?(e<<24>>24)-48|0:5;y:{b=k[(b?d+1|0:d)|0];z:{if(b){if((b|0)!=36){break z}b=h[f+16+(i+n)|0];if((b|0)<0|(b&255|32)-97>>>0<26|((i|0)==(q|0)|(m|0)<(z|0))){break z}break y}if((i|0)==(q|0)){break z}if((m|0)>=(z|0)){break y}}l=l+2|0;b=k[(p(l,12)+r|0)+11|0];continue}break}if(I){break p}}s=k[j[C>>2]]}if((s&255)==(y|0)){break m}}b=t+12|0;b=h[t+23|0]<=-1?j[b>>2]:b;A:{B:{C:{D:{if(!G){if(j[t+4>>2]){break D}break B}if(!(u&255)){break B}break C}t=j[t>>2]}d=Ya(t+1|0,60);m=(d|0)!=0;if(!d|D){break A}e=k[f+11|0];g=e<<24>>24;d=j[f+4>>2];E:{F:{if(!((g|0)<0?d:e)){break F}i=k[b|0];if(!i){e=0;break E}G:{if((g|0)<=-1){e=k[(j[f>>2]+d|0)-1|0];if((e|0)==(x|0)|(e|0)==(i|0)){break G}break F}g=k[(e+f|0)-1|0];if((g|0)==(x|0)){d=e;break G}d=e;if((i|0)!=(g|0)){break F}}xb(f,d-1|0,-1)}e=0;d=k[b|0];if(!d){break E}while(1){g=f+16+(e+n)|0;if(!k[g|0]){break E}h[g|0]=d;e=e+1|0;d=k[b+1|0];b=b+1|0;if(d){continue}break}}D=1;if((e|0)>=(q|0)){break c}d=(f+16|0)+n|0;b=d+e|0;e=d+q|0;d=k[e|0];if(d){while(1){h[b|0]=d;b=b+1|0;d=k[e+1|0];e=e+1|0;if(d){continue}break}}h[b|0]=0;break c}m=0}o=k[b|0];H:{if(!o){g=1;o=0;break H}I:{while(1){g=0;e=k[b+1|0];if(!e){break I}b=b+1|0;d=k[f+11|0];i=d<<24>>24;J:{K:{L:{if((i|0)<=-1){d=j[f+4>>2];if(w>>>0<=d>>>0){break I}if(!d){break K}g=j[f>>2];break L}if(d>>>0>=w>>>0){break I}g=f;if(!i){break K}}if(k[(d+g|0)-1|0]==(o&255)){break J}}Z(f,o<<24>>24);e=k[b|0]}o=e;if(e&255){continue}break}g=1;o=0}r=j[c+4>>2];u=h[(B+r|0)+11|0]}n=q+E|0;b=r+B|0;M:{if((u|0)<=-1){if(!j[b+4>>2]){break d}b=j[b>>2];break M}if(!(u&255)){break d}}if(!ca(b+1|0,121390)){break d}if(!g){Z(f,o<<24>>24)}b=A;d=(f+16|0)+n|0;e=k[d+1|0];if(e){d=d+1|0;while(1){h[b|0]=e;b=b+1|0;e=k[d+1|0];d=d+1|0;if(e){continue}break}}D=0;h[b|0]=0;n=0;break c}v=v+2|0;u=h[(p(v,12)+r|0)+11|0];continue}}N:{if(!(o&255)|(m|!q)){break N}b=k[f+11|0];if((b<<24>>24<0?j[f+4>>2]:b)>>>0>=w>>>0){break N}Z(f,o<<24>>24)}n=n+1|0;D=0;q=0}o=k[(f+16|0)+n|0];if(o){continue}break}}b=j[f+4>>2];j[a>>2]=j[f>>2];j[a+4>>2]=b;j[a+8>>2]=j[f+8>>2]}M=f+1056|0}function Nq(a,b,c){var d=0,e=0,f=0,g=0;d=M-96|0;M=d;j[d+64>>2]=0;j[d+68>>2]=0;j[d+72>>2]=0;e=ca(h[c+11|0]<0?j[c>>2]:c,121148);a:{if(!e){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[d+72>>2]=0;break a}c=Ya(e,62);if(!c){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[d+72>>2]=0;break a}c=ca(c,121155);if(!c){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[d+72>>2]=0;break a}b:{c:{d:{e:{if(Gd(e,121167)){mc(d+80|0,Ya(c,62));c=k[d+91|0];f:{if(!(c<<24>>24<0?j[d+84>>2]:c)){c=j[d+68>>2];b=j[d+64>>2];break f}Fd(d+48|0,b,d+80|0);c=j[d+64>>2];if(c){b=j[d+68>>2];e=c;g:{if((c|0)==(b|0)){break g}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+64>>2]}j[d+68>>2]=c;T(e)}b=j[d+48>>2];j[d+64>>2]=b;c=j[d+52>>2];j[d+68>>2]=c;j[d+72>>2]=j[d+56>>2]}h:{if((b|0)==(c|0)){j[a+4>>2]=c;j[a>>2]=c;j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;break h}j[d+56>>2]=0;j[d+48>>2]=0;j[d+52>>2]=0;$(d+48|0,121175);if(j[d+68>>2]!=j[d+64>>2]){e=k[121142]|k[121143]<<8|(k[121144]<<16|k[121145]<<24);f=k[121146];b=0;while(1){$(d+48|0,121182);c=ha(d+32|0,j[d+64>>2]+p(b,12)|0);i[d+16>>1]=9;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;wb(c,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}i[d+16>>1]=38;h[d+27|0]=1;h[d+11|0]=5;h[d+5|0]=0;j[d>>2]=e;h[d+4|0]=f;wb(c,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}i[d+16>>1]=60;h[d+27|0]=1;h[d+4|0]=0;j[d>>2]=997485606;h[d+11|0]=4;wb(c,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}c=h[d+43|0];g=(c|0)<0;aa(d+48|0,g?j[d+32>>2]:d+32|0,g?j[d+36>>2]:c&255);$(d+48|0,121186);if(h[d+43|0]<=-1){T(j[d+32>>2])}b=b+1|0;if(b>>>0<(j[d+68>>2]-j[d+64>>2]|0)/12>>>0){continue}break}}$(d+48|0,121191);b=j[d+68>>2];e=j[d+64>>2];if((b|0)!=(e|0)){while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((c|0)!=(e|0)){continue}break}}j[d+68>>2]=e;i:{if((e|0)!=j[d+72>>2]){b=ha(e,d+48|0)+12|0;break i}Wb(d- -64|0,d+48|0);b=j[d+68>>2]}c=j[d+64>>2];j[a+4>>2]=b;j[a>>2]=c;j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;if(h[d+59|0]>-1){break h}T(j[d+48>>2])}if(h[d+91|0]>-1){break e}T(j[d+80>>2]);break e}if(Gd(e,121199)){mc(d+48|0,Ya(c,62));c=h[d+59|0];j:{if((c|0)<=-1){if(j[d+52>>2]){break j}T(j[d+48>>2]);break d}if(!c){break d}}Fd(d+80|0,b,d+48|0);Lq(a,b,d+80|0);a=j[d+80>>2];if(a){c=a;b=j[d+84>>2];e=c;k:{if((c|0)==(b|0)){break k}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((a|0)!=(c|0)){continue}break}e=j[d+80>>2]}c=e;j[d+84>>2]=a;T(c)}if(h[d+59|0]>-1){break e}T(j[d+48>>2]);break e}l:{if(Gd(e,121204)){mc(d+48|0,Ya(c,62));e=k[d+59|0];if(!(e<<24>>24<0?j[d+52>>2]:e)){j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;break l}f=1;c=c+1|0;e=ca(c,121155);if(e){mc(d+32|0,Ya(e,62));c=h[d+43|0];m:{if((c|0)<=-1){if(j[d+36>>2]){break m}T(j[d+32>>2]);break l}if(!c){break l}}Fd(d+80|0,b,d+32|0);Ph(a,b,d+48|0,d+80|0);Md(a);c=j[d+80>>2];if(c){b=j[d+84>>2];e=c;n:{if((c|0)==(b|0)){break n}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+80>>2]}j[d+84>>2]=c;T(e)}if(h[d+43|0]<=-1){T(j[d+32>>2])}f=0;break l}c=ca(c,121213);if(!c){break l}Kq(d+80|0,Ya(c,62));c=j[d+80>>2];if((c|0)!=j[d+84>>2]){Ph(d+32|0,b,d+48|0,d+80|0);c=j[d+64>>2];if(c){b=j[d+68>>2];e=c;o:{if((c|0)==(b|0)){break o}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+64>>2]}j[d+68>>2]=c;T(e)}j[d+64>>2]=j[d+32>>2];b=j[d+40>>2];j[d+68>>2]=j[d+36>>2];j[d+72>>2]=b;Md(d- -64|0);j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];f=0;j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;c=j[d+80>>2];if(!c){break l}b=j[d+84>>2];e=c;p:{if((c|0)==(b|0)){break p}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+80>>2]}j[d+84>>2]=c;T(e);break l}if(!c){break l}j[d+84>>2]=c;T(c);break l}if(!Gd(e,121219)){break d}mc(d+80|0,Ya(c,62));e=k[d+91|0];e=e<<24>>24<0?j[d+84>>2]:e;q:{if(!e){j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;break q}c=ca(c+1|0,121155);if(c){mc(d+48|0,Ya(c,62));c=j[b+8>>2];b=j[b+4>>2];f=k[d+59|0];r:{if(f<<24>>24<0?j[d+52>>2]:f){if((b|0)==(c|0)){break r}br(j[b>>2],d+80|0,d+48|0);break r}if((b|0)==(c|0)){break r}Vh(j[b>>2],d+80|0)}if(h[d+59|0]>-1){break q}T(j[d+48>>2]);break q}c=j[b+8>>2];b=j[b+4>>2];if((c|0)==(b|0)){break q}Vh(j[b>>2],d+80|0)}if(h[d+91|0]<=-1){T(j[d+80>>2])}if(!e){break e}break d}if(h[d+59|0]<=-1){T(j[d+48>>2])}if(f){break d}}a=j[d+64>>2];if(!a){break a}b=j[d+68>>2];if((a|0)!=(b|0)){break c}b=a;break b}j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;break a}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((a|0)!=(c|0)){continue}break}b=j[d+64>>2]}j[d+68>>2]=a;T(b)}M=d+96|0}function Lq(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;d=M-112|0;M=d;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;j[d+104>>2]=0;j[d+96>>2]=0;j[d+100>>2]=0;f=j[c>>2];a:{if((f|0)==j[c+4>>2]){break a}while(1){j[d+88>>2]=0;j[d+80>>2]=0;j[d+84>>2]=0;b:{c:{e=p(r,12)+f|0;if(h[e+11|0]<=-1){e=j[e>>2]}n=ca(e,121113);d:{if(!n){break d}e=n;f=ca(e+1|0,121113);if(!f){break d}while(1){e=f;j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;l=W(n);if(l>>>0>=4294967280){break c}e:{f:{if(l>>>0>=11){f=l+16&-16;g=U(f);j[d+56>>2]=f|-2147483648;j[d+48>>2]=g;j[d+52>>2]=l;break f}h[d+59|0]=l;g=d+48|0;if(!l){break e}}V(g,n,l)}h[g+l|0]=0;h[d+43|0]=3;i[d+32>>1]=k[121113]|k[121114]<<8;h[d+34|0]=k[121115];h[d+35|0]=0;ec(d- -64|0,d+48|0,d+32|0);if(h[d+43|0]<=-1){T(j[d+32>>2])}if(h[d+59|0]<=-1){T(j[d+48>>2])}g=h[d+75|0];f=(g|0)<0;aa(d+80|0,f?j[d+64>>2]:d- -64|0,f?j[d+68>>2]:g&255);f=ca(e+1|0,121113);if(h[d+75|0]<=-1){T(j[d+64>>2])}n=e;if(f){continue}break}}l=W(e);if(l>>>0<4294967280){g:{h:{if(l>>>0>=11){f=l+16&-16;g=U(f);j[d+72>>2]=f|-2147483648;j[d+64>>2]=g;j[d+68>>2]=l;break h}h[d+75|0]=l;g=d- -64|0;if(!l){break g}}V(g,e,l)}e=0;h[g+l|0]=0;f=k[d+75|0];g=f<<24>>24<0;f=g?j[d+68>>2]:f;m=j[d+64>>2];n=g?m:d- -64|0;while(1){i:{l=f+n|0;f=e+n|0;e=l-f|0;if((e|0)<3){break i}while(1){e=Aa(f,32,e-2|0);if(!e){break i}if(qa(e,121117,3)){f=e+1|0;e=l-f|0;if((e|0)>=3){continue}break i}break}if((e|0)==(l|0)){break i}e=e-n|0;if((e|0)==-1){break i}h[((g?m:d- -64|0)+e|0)+1|0]=11;m=j[d+64>>2];f=k[d+75|0];g=f<<24>>24<0;n=g?m:d- -64|0;f=g?j[d+68>>2]:f;if(f>>>0>=e>>>0){continue}}break}Ab(d+48|0,d- -64|0,11);n=0;f=j[d+52>>2];e=f;o=j[d+48>>2];if((e|0)==(o|0)){break b}while(1){j:{k:{q=p(n,12);l=q+o|0;m=k[l+11|0];s=m<<24>>24>-1;l:{if(!s){g=j[l>>2];f=j[l+4>>2];break l}g=l;f=m}if((f|0)<3){break k}t=f+g|0;e=g;while(1){e=Aa(e,100,f-2|0);if(!e){break k}if(qa(e,121121,3)){e=e+1|0;f=t-e|0;if((f|0)>=3){continue}break k}break}if((e|0)==(t|0)|(e-g|0)==-1){break k}m:{if(!s){m=j[l+4>>2];e=j[l>>2];break m}e=l}n:{if((m|0)<3){break n}g=e+m|0;f=e;while(1){f=Aa(f,105,m-2|0);if(!f){break n}if(qa(f,121125,3)){f=f+1|0;m=g-f|0;if((m|0)>=3){continue}break n}break}if((f|0)==(g|0)){break n}e=f-e|0;if((e|0)==-1){break n}Wa(l,e);o=j[d+48>>2]}j[d+32>>2]=0;j[d+36>>2]=0;j[d+40>>2]=0;Wb(d+32|0,o+q|0);Eh(d+16|0,j[b+16>>2],d+32|0,j[d+48>>2]+q|0);f=k[d+27|0];e=f<<24>>24;if((e|0)<0?j[d+20>>2]:f){Ab(d,d+16|0,10);e=0;f=j[d+4>>2];g=f;if(j[d>>2]!=(f|0)){while(1){Z(d+96|0,10);g=k[d+91|0];f=g<<24>>24<0;aa(d+96|0,f?j[d+80>>2]:d+80|0,f?j[d+84>>2]:g);l=j[d>>2]+p(e,12)|0;f=k[l+11|0];g=f<<24>>24<0;aa(d+96|0,g?j[l>>2]:l,g?j[l+4>>2]:f);e=e+1|0;f=j[d+4>>2];g=j[d>>2];if(e>>>0<(f-g|0)/12>>>0){continue}break}}if(g){if((f|0)==(g|0)){e=g}else{while(1){e=f-12|0;if(h[f-1|0]<=-1){T(j[e>>2])}f=e;if((e|0)!=(g|0)){continue}break}e=j[d>>2]}j[d+4>>2]=g;T(e)}e=k[d+27|0]}if(e<<24>>24<=-1){T(j[d+16>>2])}g=j[d+32>>2];if(!g){break j}f=g;e=j[d+36>>2];l=f;o:{if((f|0)==(e|0)){break o}while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((g|0)!=(e|0)){continue}break}l=j[d+32>>2]}f=l;j[d+36>>2]=g;T(f);break j}Z(d+96|0,10);f=k[d+91|0];e=f<<24>>24<0;aa(d+96|0,e?j[d+80>>2]:d+80|0,e?j[d+84>>2]:f);o=j[d+48>>2];l=q+o|0;e=h[l+11|0];p:{if((e|0)<=-1){g=j[l>>2];f=j[l+4>>2];break p}g=l;f=e&255}q:{if((f|0)<3){break q}m=f+g|0;e=g;while(1){e=Aa(e,115,f-2|0);if(!e){break q}if(qa(e,121129,3)){e=e+1|0;f=m-e|0;if((f|0)>=3){continue}break q}break}if((e|0)==(m|0)|(e-g|0)==-1){break q}j[d+40>>2]=0;j[d+32>>2]=0;j[d+36>>2]=0;h[d+27|0]=3;i[d+16>>1]=k[121129]|k[121130]<<8;h[d+18|0]=k[121131];h[d+19|0]=0;ec(d+32|0,l,d+16|0);if(h[d+27|0]<=-1){T(j[d+16>>2])}f=h[d+43|0];e=(f|0)<0;aa(d+96|0,e?j[d+32>>2]:d+32|0,e?j[d+36>>2]:f&255);if(h[d+43|0]<=-1){T(j[d+32>>2])}o=j[d+48>>2]}j[d+40>>2]=0;j[d+32>>2]=0;j[d+36>>2]=0;h[d+27|0]=3;i[d+16>>1]=k[121133]|k[121134]<<8;h[d+18|0]=k[121135];h[d+19|0]=0;ec(d+32|0,o+q|0,d+16|0);if(h[d+27|0]<=-1){T(j[d+16>>2])}f=h[d+43|0];e=(f|0)<0;aa(d+96|0,e?j[d+32>>2]:d+32|0,e?j[d+36>>2]:f&255);if(h[d+43|0]>-1){break j}T(j[d+32>>2])}e=j[d+48>>2];o=e;n=n+1|0;f=j[d+52>>2];if(n>>>0<(f-e|0)/12>>>0){continue}break}break b}X();z()}X();z()}if(e){if((e|0)==(f|0)){f=e}else{while(1){g=f-12|0;if(h[f-1|0]<=-1){T(j[g>>2])}f=g;if((f|0)!=(e|0)){continue}break}f=j[d+48>>2]}j[d+52>>2]=e;T(f)}if(h[d+75|0]<=-1){T(j[d+64>>2])}if(h[d+91|0]<=-1){T(j[d+80>>2])}r=r+1|0;f=j[c>>2];if(r>>>0<(j[c+4>>2]-f|0)/12>>>0){continue}break}c=j[a>>2];Ab(d+80|0,d+96|0,10);if(c){e=j[a+4>>2];b=c;r:{if((c|0)==(e|0)){break r}while(1){b=e-12|0;if(h[e-1|0]<=-1){T(j[b>>2])}e=b;if((c|0)!=(e|0)){continue}break}b=j[a>>2]}j[a+4>>2]=c;T(b)}j[a>>2]=j[d+80>>2];j[a+4>>2]=j[d+84>>2];j[a+8>>2]=j[d+88>>2];Md(a);if(h[d+107|0]>-1){break a}T(j[d+96>>2])}M=d+112|0}function Ce(a,b,c,d,e,f,g){var l=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;l=M-80|0;M=l;j[l+76>>2]=b;B=l+55|0;y=l+56|0;b=0;a:{b:while(1){c:{if((v|0)<0){break c}if((2147483647-v|0)<(b|0)){j[37203]=61;v=-1;break c}v=b+v|0}d:{e:{f:{q=j[l+76>>2];b=q;m=k[b|0];if(m){while(1){g:{m=m&255;h:{if(!m){m=b;break h}if((m|0)!=37){break g}m=b;while(1){if(k[b+1|0]!=37){break h}n=b+2|0;j[l+76>>2]=n;m=m+1|0;r=k[b+2|0];b=n;if((r|0)==37){continue}break}}b=m-q|0;if(a){ab(a,q,b)}if(b){continue b}m=l;b=j[l+76>>2];i:{if(!(k[b+2|0]!=36|h[j[l+76>>2]+1|0]-48>>>0>=10)){x=h[b+1|0]-48|0;z=1;b=b+3|0;break i}x=-1;b=b+1|0}j[m+76>>2]=b;s=0;w=h[b|0];n=w-32|0;j:{if(n>>>0>31){m=b;break j}m=b;n=1<>2]=m;s=n|s;w=h[b+1|0];n=w-32|0;if(n>>>0>=32){break j}b=m;n=1<>>0>=10){break m}b=j[l+76>>2];if(k[b+2|0]!=36){break m}j[((h[b+1|0]<<2)+e|0)-192>>2]=10;t=j[((h[b+1|0]<<3)+d|0)-384>>2];z=1;b=b+3|0;break l}if(z){break f}z=0;t=0;if(a){b=j[c>>2];j[c>>2]=b+4;t=j[b>>2]}b=j[l+76>>2]+1|0}j[n+76>>2]=b;if((t|0)>-1){break k}t=0-t|0;s=s|8192;break k}t=qh(l+76|0);if((t|0)<0){break f}b=j[l+76>>2]}r=-1;n:{if(k[b|0]!=46){break n}if(k[b+1|0]==42){o:{if(h[b+2|0]-48>>>0>=10){break o}b=j[l+76>>2];if(k[b+3|0]!=36){break o}j[((h[b+2|0]<<2)+e|0)-192>>2]=10;r=j[((h[b+2|0]<<3)+d|0)-384>>2];b=b+4|0;j[l+76>>2]=b;break n}if(z){break f}if(a){b=j[c>>2];j[c>>2]=b+4;r=j[b>>2]}else{r=0}b=j[l+76>>2]+2|0;j[l+76>>2]=b;break n}j[l+76>>2]=b+1;r=qh(l+76|0);b=j[l+76>>2]}m=0;while(1){A=m;u=-1;if(h[b|0]-65>>>0>57){break a}w=b+1|0;j[l+76>>2]=w;m=h[b|0];b=w;m=k[(m+p(A,58)|0)+121471|0];if(m-1>>>0<8){continue}break}p:{q:{if((m|0)!=19){if(!m){break a}if((x|0)>=0){j[(x<<2)+e>>2]=m;b=(x<<3)+d|0;m=j[b+4>>2];j[l+64>>2]=j[b>>2];j[l+68>>2]=m;break q}if(!a){break d}ph(l- -64|0,m,c,g);w=j[l+76>>2];break p}if((x|0)>-1){break a}}b=0;if(!a){continue b}}n=s&-65537;m=s&8192?n:s;u=0;x=121517;s=y;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{b=h[w-1|0];b=A?(b&15)==3?b&-33:b:b;switch(b-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break e;default:break G}}H:{switch(b-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break e;default:break H}}if((b|0)==83){break w}break e}b=j[l+64>>2];q=j[l+68>>2];x=121517;break z}b=0;I:{switch(A&255){case 0:j[j[l+64>>2]>>2]=v;continue b;case 1:j[j[l+64>>2]>>2]=v;continue b;case 2:m=j[l+64>>2];j[m>>2]=v;j[m+4>>2]=v>>31;continue b;case 3:i[j[l+64>>2]>>1]=v;continue b;case 4:h[j[l+64>>2]]=v;continue b;case 6:j[j[l+64>>2]>>2]=v;continue b;case 7:break I;default:continue b}}m=j[l+64>>2];j[m>>2]=v;j[m+4>>2]=v>>31;continue b}r=r>>>0>8?r:8;m=m|8;b=120}q=Po(j[l+64>>2],j[l+68>>2],y,b&32);if(!(m&8)|!(j[l+64>>2]|j[l+68>>2])){break y}x=(b>>>4|0)+121517|0;u=2;break y}q=Oo(j[l+64>>2],j[l+68>>2],y);if(!(m&8)){break y}b=y-q|0;r=(b|0)<(r|0)?r:b+1|0;break y}n=j[l+68>>2];q=n;b=j[l+64>>2];if((n|0)<-1?1:(n|0)<=-1){q=0-(q+((b|0)!=0)|0)|0;b=0-b|0;j[l+64>>2]=b;j[l+68>>2]=q;u=1;x=121517;break z}if(m&2048){u=1;x=121518;break z}u=m&1;x=u?121519:121517}q=Gc(b,q,y)}m=(r|0)>-1?m&-65537:m;b=j[l+64>>2];n=j[l+68>>2];if(!(!!(b|n)|r)){r=0;q=y;break e}b=!(b|n)+(y-q|0)|0;r=(b|0)<(r|0)?r:b;break e}b=j[l+64>>2];q=b?b:121527;b=Aa(q,0,r);s=b?b:r+q|0;m=n;r=b?b-q|0:r;break e}n=j[l+64>>2];if(r){break u}b=0;tb(a,32,t,0,m);break t}j[l+12>>2]=0;j[l+8>>2]=j[l+64>>2];j[l+64>>2]=l+8;r=-1;n=l+8|0}b=0;J:{while(1){q=j[n>>2];if(!q){break J}q=th(l+4|0,q);s=(q|0)<0;if(!(s|q>>>0>r-b>>>0)){n=n+4|0;b=b+q|0;if(r>>>0>b>>>0){continue}break J}break}u=-1;if(s){break a}}tb(a,32,t,b,m);if(!b){b=0;break t}n=0;w=j[l+64>>2];while(1){q=j[w>>2];if(!q){break t}q=th(l+4|0,q);n=q+n|0;if((n|0)>(b|0)){break t}ab(a,l+4|0,q);w=w+4|0;if(b>>>0>n>>>0){continue}break}}tb(a,32,t,b,m^8192);b=(b|0)<(t|0)?t:b;continue b}b=O[f|0](a,o[l+64>>3],t,r,m,b)|0;continue b}h[l+55|0]=j[l+64>>2];r=1;q=B;m=n;break e}n=b+1|0;j[l+76>>2]=n;m=k[b+1|0];b=n;continue}}u=v;if(a){break a}if(!z){break d}b=1;while(1){a=j[(b<<2)+e>>2];if(a){ph((b<<3)+d|0,a,c,g);u=1;b=b+1|0;if((b|0)!=10){continue}break a}break}u=1;if(b>>>0>=10){break a}while(1){if(j[(b<<2)+e>>2]){break f}b=b+1|0;if((b|0)!=10){continue}break}break a}u=-1;break a}s=s-q|0;r=(r|0)<(s|0)?s:r;n=r+u|0;b=(n|0)>(t|0)?n:t;tb(a,32,b,n,m);ab(a,x,u);tb(a,48,b,n,m^65536);tb(a,48,r,s,0);ab(a,q,s);tb(a,32,b,n,m^8192);continue}break}u=0}M=l+80|0;return u}function Fp(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=M+ -64|0;M=e;a:{d=0;b:{if(k[a+4244|0]){break b}h[a+4244|0]=1;j[e+56>>2]=h[b+11|0]<0?j[b>>2]:b;c:{d:{e:{g=ka(b,e+56|0);d=k[b+11|0];f=d<<24>>24<0;if((g|0)==((f?j[b>>2]:b)+(f?j[b+4>>2]:d)|0)){break e}n=a+4248|0;q=-1;while(1){f:{switch(o|0){case 1:q=j[e+56>>2];f=q-g|0;if(f>>>0>=4294967280){break a}g:{if(f>>>0<=10){h[e+11|0]=f;d=e;break g}p=f+16&-16;d=U(p);j[e+8>>2]=p|-2147483648;j[e>>2]=d;j[e+4>>2]=f}if((g|0)!=(q|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}}h[d|0]=0;h:{if(h[e+11|0]>=0){q=ta(e);break h}d=j[e>>2];q=ta(d);T(d)}d=0;if((q|0)<=0){break b}Ao(n,q);case 0:l=l+1|0;break;default:break f}}o=o+1|0;g=ka(b,e+56|0);d=k[b+11|0];f=d<<24>>24<0;if((g|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:d)|0)){continue}break}if((l|0)!=2){break e}if((q|0)>=1){break d}break c}d=0;break b}t=a+4248|0;s=1;while(1){j[e+48>>2]=0;j[e+40>>2]=0;j[e+44>>2]=0;i:{if(ub(c,e+40|0)){bb(e+40|0);j[e+32>>2]=0;j[e+36>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;j[e>>2]=0;j[e+4>>2]=0;b=j[a+4252>>2];j:{if(b>>>0>2]){d=j[e+4>>2];j[b>>2]=j[e>>2];j[b+4>>2]=d;j[b+8>>2]=j[e+8>>2];j[e+8>>2]=0;j[e>>2]=0;j[e+4>>2]=0;j[b+20>>2]=j[e+20>>2];d=j[e+16>>2];j[b+12>>2]=j[e+12>>2];j[b+16>>2]=d;j[e+12>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;j[b+32>>2]=j[e+32>>2];d=j[e+28>>2];j[b+24>>2]=j[e+24>>2];j[b+28>>2]=d;j[e+24>>2]=0;j[e+28>>2]=0;j[e+32>>2]=0;j[b+36>>2]=j[e+36>>2];j[a+4252>>2]=b+40;break j}uo(t,e);if(h[e+35|0]>-1){break j}T(j[e+24>>2])}if(h[e+23|0]<=-1){T(j[e+12>>2])}if(h[e+11|0]<=-1){T(j[e>>2])}b=0;j[e+56>>2]=h[e+51|0]<0?j[e+40>>2]:e+40|0;while(1){g=ka(e+40|0,e+56|0);d=k[e+51|0];f=d<<24>>24;k:{if((f|0)<=-1){d=j[e+40>>2];if((d+j[e+44>>2]|0)!=(g|0)){break k}T(d);break i}if((d+(e+40|0)|0)==(g|0)){break i}}l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{v:{w:{x:{switch(b|0){case 0:if(!_(e+40|0,g-((f|0)<0?j[e+40>>2]:e+40|0)|0,20,1534,20)){break m}if(h[e+51|0]>-1){break c}T(j[e+40>>2]);break c;case 1:p=j[e+56>>2];l=p-g|0;n=j[a+4252>>2];f=n-40|0;d=h[n-29|0];if((d|0)<=-1){d=(j[n-32>>2]&2147483647)-1|0;if(l>>>0<=d>>>0){break p}o=j[n-36>>2];break q}if(l>>>0>10){break r}break o;case 2:p=j[e+56>>2];l=p-g|0;n=j[a+4252>>2];f=n-28|0;d=h[n-17|0];if((d|0)<=-1){d=(j[n-20>>2]&2147483647)-1|0;if(l>>>0<=d>>>0){break u}o=j[n-24>>2];break v}if(l>>>0>10){break w}break t;case 3:break x;default:break m}}p=j[e+56>>2];l=p-g|0;n=j[a+4252>>2];f=n-16|0;y:{z:{d=h[n-5|0];A:{B:{if((d|0)<=-1){d=(j[n-8>>2]&2147483647)-1|0;if(l>>>0<=d>>>0){break A}o=j[n-12>>2];break B}if(l>>>0<=10){break z}o=d&255;d=10}pb(f,d,l-d|0,o,0,o,0);if(h[f+11|0]>-1){break z}}d=j[f>>2];break y}d=f}if((g|0)!=(p|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[d|0]=0;C:{if(h[f+11|0]<=-1){j[n-12>>2]=l;break C}h[f+11|0]=l}j[a+4260>>2]=1;break m}o=d&255;d=10}pb(f,d,l-d|0,o,0,o,0);if(h[f+11|0]>-1){break t}}d=j[f>>2];break s}d=f}if((g|0)!=(p|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[d|0]=0;D:{if(h[f+11|0]<=-1){j[n-24>>2]=l;break D}h[f+11|0]=l}l=Ba(j[a+4252>>2]-28|0,47,0);if((l|0)==-1){break m}d=j[a+4252>>2];o=d-28|0;f=h[d-17|0];E:{if((f|0)<=-1){g=j[d-24>>2];if(l>>>0>=g>>>0){break l}o=j[o>>2];break E}g=f&255;if(l>>>0>=g>>>0){break l}}d=g;g=l+1|0;f=d-g|0;if(f>>>0>=4294967280){break a}F:{G:{if(f>>>0>=11){n=f+16&-16;d=U(n);j[e+8>>2]=n|-2147483648;j[e>>2]=d;j[e+4>>2]=f;break G}h[e+11|0]=f;d=e;if(!f){break F}}V(d,g+o|0,f)}h[d+f|0]=0;Wa(j[a+4252>>2]-28|0,l);d=Ha(j[a+4100>>2],h[e+11|0]<0?j[e>>2]:e);i[j[a+4252>>2]-2>>1]=d;if(h[e+11|0]>-1){break m}T(j[e>>2]);b=b+1|0;continue}o=d&255;d=10}pb(f,d,l-d|0,o,0,o,0);if(h[f+11|0]>-1){break o}}d=j[f>>2];break n}d=f}if((g|0)!=(p|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[d|0]=0;H:{if(h[f+11|0]<=-1){j[n-36>>2]=l;break H}h[f+11|0]=l}l=Ba(j[a+4252>>2]-40|0,47,0);if((l|0)==-1){break m}d=j[a+4252>>2];o=d-40|0;f=h[d-29|0];I:{if((f|0)<=-1){g=j[d-36>>2];if(l>>>0>=g>>>0){break l}o=j[o>>2];break I}g=f&255;if(l>>>0>=g>>>0){break l}}d=g;g=l+1|0;f=d-g|0;if(f>>>0>=4294967280){break a}J:{K:{if(f>>>0>=11){n=f+16&-16;d=U(n);j[e+8>>2]=n|-2147483648;j[e>>2]=d;j[e+4>>2]=f;break K}h[e+11|0]=f;d=e;if(!f){break J}}V(d,g+o|0,f)}h[d+f|0]=0;Wa(j[a+4252>>2]-40|0,l);d=Ha(j[a+4100>>2],h[e+11|0]<0?j[e>>2]:e);i[j[a+4252>>2]-4>>1]=d;if(h[e+11|0]>-1){break m}T(j[e>>2]);b=b+1|0;continue}b=b+1|0;continue}break}X();z()}if(h[e+51|0]>-1){break c}T(j[e+40>>2]);break c}r=r+1|0;s=(r|0)<(q|0);if((q|0)!=(r|0)){continue}break}}d=s^1}a=d;M=e- -64|0;return a&1}X();z()}function xd(a,b,c){var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0;a:{b:{c:while(1){j=b-2|0;d:while(1){d=a;e:while(1){f:{g:{h:{i:{j:{k:{l:{m:{a=b-d|0;e=a>>1;switch(e|0){case 4:break k;case 3:break l;case 2:break m;case 0:case 1:break f;case 5:break i;default:break j}}a=b-2|0;b=k[a|0]|k[a+1|0]<<8;c=k[d|0]|k[d+1|0]<<8;if(b>>>0>=c>>>0){break f}h[d|0]=b;h[d+1|0]=b>>>8;h[a|0]=c;h[a+1|0]=c>>>8;return}a=b-2|0;c=k[a|0]|k[a+1|0]<<8;e=k[d+2|0]|k[d+3|0]<<8;b=k[d|0]|k[d+1|0]<<8;if(e>>>0>=b>>>0){if(c>>>0>=e>>>0){break f}h[d+2|0]=c;h[d+3|0]=c>>>8;h[a|0]=e;h[a+1|0]=e>>>8;a=k[d+2|0]|k[d+3|0]<<8;b=k[d|0]|k[d+1|0]<<8;if(a>>>0>=b>>>0){break f}break b}if(c>>>0>>0){h[d|0]=c;h[d+1|0]=c>>>8;break a}h[d+2|0]=b;h[d+3|0]=b>>>8;h[d|0]=e;h[d+1|0]=e>>>8;c=k[a|0]|k[a+1|0]<<8;if(c>>>0>=b>>>0){break f}h[d+2|0]=c;h[d+3|0]=c>>>8;break a}e=b-2|0;b=k[d+4|0]|k[d+5|0]<<8;a=k[d+2|0]|k[d+3|0]<<8;c=k[d|0]|k[d+1|0]<<8;n:{if(a>>>0>=c>>>0){if(a>>>0<=b>>>0){a=b;break n}h[d+4|0]=a;h[d+5|0]=a>>>8;h[d+2|0]=b;h[d+3|0]=b>>>8;if(b>>>0>=c>>>0){break n}h[d+2|0]=c;h[d+3|0]=c>>>8;h[d|0]=b;h[d+1|0]=b>>>8;break n}o:{if(a>>>0>b>>>0){h[d+4|0]=c;h[d+5|0]=c>>>8;h[d|0]=b;h[d+1|0]=b>>>8;break o}h[d+2|0]=c;h[d+3|0]=c>>>8;h[d|0]=a;h[d+1|0]=a>>>8;if(b>>>0>=c>>>0){a=b;break n}h[d+4|0]=c;h[d+5|0]=c>>>8;h[d+2|0]=b;h[d+3|0]=b>>>8}a=c}b=k[e|0]|k[e+1|0]<<8;if(b>>>0>=(a&65535)>>>0){break f}h[d+4|0]=b;h[d+5|0]=b>>>8;h[e|0]=a;h[e+1|0]=a>>>8;a=k[d+4|0]|k[d+5|0]<<8;b=k[d+2|0]|k[d+3|0]<<8;if(a>>>0>=b>>>0){break f}h[d+4|0]=b;h[d+5|0]=b>>>8;h[d+2|0]=a;h[d+3|0]=a>>>8;b=k[d|0]|k[d+1|0]<<8;if(b>>>0<=a>>>0){break f}break b}if((a|0)<=61){a=k[d+4|0]|k[d+5|0]<<8;c=k[d+2|0]|k[d+3|0]<<8;e=k[d|0]|k[d+1|0]<<8;p:{if(c>>>0>=e>>>0){if(a>>>0>=c>>>0){c=a;break p}h[d+4|0]=c;h[d+5|0]=c>>>8;h[d+2|0]=a;h[d+3|0]=a>>>8;if(a>>>0>=e>>>0){break p}h[d+2|0]=e;h[d+3|0]=e>>>8;h[d|0]=a;h[d+1|0]=a>>>8;break p}q:{if(a>>>0>>0){h[d+4|0]=e;h[d+5|0]=e>>>8;h[d|0]=a;h[d+1|0]=a>>>8;break q}h[d+2|0]=e;h[d+3|0]=e>>>8;h[d|0]=c;h[d+1|0]=c>>>8;if(a>>>0>=e>>>0){c=a;break p}h[d+4|0]=e;h[d+5|0]=e>>>8;h[d+2|0]=a;h[d+3|0]=a>>>8}c=e}a=d+6|0;if((b|0)==(a|0)){break f}f=d+4|0;while(1){j=a;e=a;i=k[a|0]|k[a+1|0]<<8;if(i>>>0<(c&65535)>>>0){while(1){r:{h[e|0]=c;h[e+1|0]=c>>>8;a=f;if((d|0)==(a|0)){a=d;break r}e=a;f=a-2|0;c=k[f|0]|k[f+1|0]<<8;if(i>>>0>>0){continue}}break}h[a|0]=i;h[a+1|0]=i>>>8}a=j+2|0;if((b|0)==(a|0)){break f}c=k[j|0]|k[j+1|0]<<8;f=j;continue}}g=((e|0)/2<<1)+d|0;s:{if((a|0)>=1999){a=(e|0)/4<<1;i=fe(d,a+d|0,g,a+g|0,j);break s}e=k[g|0]|k[g+1|0]<<8;a=k[d|0]|k[d+1|0]<<8;t:{if(e>>>0>=a>>>0){a=k[j|0]|k[j+1|0]<<8;i=0;if(a>>>0>=e>>>0){break s}h[g|0]=a;h[g+1|0]=a>>>8;h[j|0]=e;h[j+1|0]=e>>>8;a=k[g|0]|k[g+1|0]<<8;e=k[d|0]|k[d+1|0]<<8;i=1;if(a>>>0>=e>>>0){break s}h[d|0]=a;h[d+1|0]=a>>>8;h[g|0]=e;h[g+1|0]=e>>>8;break t}f=k[j|0]|k[j+1|0]<<8;if(f>>>0>>0){h[d|0]=f;h[d+1|0]=f>>>8;h[j|0]=a;h[j+1|0]=a>>>8;i=1;break s}h[d|0]=e;h[d+1|0]=e>>>8;h[g|0]=a;h[g+1|0]=a>>>8;e=k[j|0]|k[j+1|0]<<8;i=1;if(e>>>0>=a>>>0){break s}h[g|0]=e;h[g+1|0]=e>>>8;h[j|0]=a;h[j+1|0]=a>>>8}i=2}a=j;f=k[d|0]|k[d+1|0]<<8;l=k[g|0]|k[g+1|0]<<8;if(f>>>0>=l>>>0){while(1){a=a-2|0;if((d|0)==(a|0)){e=d+2|0;a=k[j|0]|k[j+1|0]<<8;if(a>>>0>f>>>0){break g}if((e|0)==(j|0)){break f}while(1){i=k[e|0]|k[e+1|0]<<8;if(i>>>0>f>>>0){h[e|0]=a;h[e+1|0]=a>>>8;h[j|0]=i;h[j+1|0]=i>>>8;e=e+2|0;break g}e=e+2|0;if((j|0)!=(e|0)){continue}break}break f}e=k[a|0]|k[a+1|0]<<8;if(e>>>0>=l>>>0){continue}break}h[d|0]=e;h[d+1|0]=e>>>8;h[a|0]=f;h[a+1|0]=f>>>8;i=i+1|0}e=d+2|0;if(e>>>0>=a>>>0){break h}while(1){l=k[g|0]|k[g+1|0]<<8;while(1){f=e;e=e+2|0;m=k[f|0]|k[f+1|0]<<8;if(l>>>0>m>>>0){continue}break}while(1){a=a-2|0;n=k[a|0]|k[a+1|0]<<8;if(l>>>0<=n>>>0){continue}break}if(a>>>0>>0){e=f;break h}else{h[f|0]=n;h[f+1|0]=n>>>8;h[a|0]=m;h[a+1|0]=m>>>8;g=(f|0)==(g|0)?a:g;i=i+1|0;continue}}}fe(d,d+2|0,d+4|0,d+6|0,b-2|0);break f}u:{if((e|0)==(g|0)){break u}a=k[g|0]|k[g+1|0]<<8;f=k[e|0]|k[e+1|0]<<8;if(a>>>0>=f>>>0){break u}h[e|0]=a;h[e+1|0]=a>>>8;h[g|0]=f;h[g+1|0]=f>>>8;i=i+1|0}if(!i){f=wf(d,e);a=e+2|0;if(wf(a,b)){b=e;a=d;if(!f){continue c}break f}if(f){continue d}}if((e-d|0)<(b-e|0)){xd(d,e,c);a=e+2|0;continue d}xd(e+2|0,b,c);b=e;a=d;continue c}a=j;if((e|0)==(a|0)){break f}while(1){i=k[d|0]|k[d+1|0]<<8;while(1){f=e;e=e+2|0;g=k[f|0]|k[f+1|0]<<8;if(g>>>0<=i>>>0){continue}break}while(1){a=a-2|0;l=k[a|0]|k[a+1|0]<<8;if(l>>>0>i>>>0){continue}break}if(a>>>0<=f>>>0){d=f;continue e}else{h[f|0]=l;h[f+1|0]=l>>>8;h[a|0]=g;h[a+1|0]=g>>>8;continue}}}break}break}break}return}h[d+2|0]=b;h[d+3|0]=b>>>8;h[d|0]=a;h[d+1|0]=a>>>8;return}h[a|0]=b;h[a+1|0]=b>>>8}function xa(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;m=M-96|0;M=m;q=c;w=(g&131071)<<15|f>>>17;k=i&65535;u=k;l=h;D=l<<15|g>>>17;o=(e^i)&-2147483648;p=e&65535;y=p;n=d;z=p;p=0;E=(k&131071)<<15|l>>>17;F=i>>>16&32767;O=e>>>16&32767;a:{b:{if(O-1>>>0<=32765){k=0;if(F-1>>>0<32766){break b}}r=e&2147483647;x=r;k=d;if(!(!k&(r|0)==2147418112?!(b|c):r>>>0<2147418112)){A=d;o=e|32768;break a}e=i&2147483647;r=e;d=h;if(!(!d&(e|0)==2147418112?!(f|g):e>>>0<2147418112)){A=h;o=i|32768;b=f;c=g;break a}if(!(b|k|(x^2147418112|c))){if(!(d|f|(g|r))){o=2147450880;b=0;c=0;break a}o=o|2147418112;b=0;c=0;break a}if(!(d|f|(r^2147418112|g))){d=b|k;e=c|x;b=0;c=0;if(!(d|e)){o=2147450880;break a}o=o|2147418112;break a}if(!(b|k|(c|x))){b=0;c=0;break a}if(!(d|f|(g|r))){b=0;c=0;break a}if((x|0)==65535|x>>>0<65535){h=b;i=c;d=!(n|y);e=d<<6;k=s(d?b:n)+32|0;b=s(d?c:y);b=e+((b|0)==32?k:b)|0;mb(m+80|0,h,i,n,y,b-15|0);n=j[m+88>>2];q=j[m+84>>2];z=j[m+92>>2];v=16-b|0;b=j[m+80>>2]}k=v;if(r>>>0>65535){break b}c=!(l|u);d=c<<6;e=s(c?f:l)+32|0;c=s(c?g:u);c=d+((c|0)==32?e:c)|0;i=c;mb(m- -64|0,f,g,l,u,c-15|0);e=j[m+76>>2];c=e;h=j[m+72>>2];d=h;d=d<<15;e=j[m+68>>2];D=e>>>17|d;d=0;f=j[m+64>>2];w=d|((e&131071)<<15|f>>>17);E=(c&131071)<<15|h>>>17;k=(v-i|0)+16|0}v=k;d=w;c=b;u=0;r=Cr(d,0,b,u);b=N;G=b;e=f;B=e<<15&-32768;l=q;g=Cr(B,0,l,0);f=g+r|0;e=N+b|0;e=f>>>0>>0?e+1|0:e;h=f;k=f;i=0;g=Cr(c,u,B,C);f=i+g|0;b=k;k=k+N|0;k=f>>>0>>0?k+1|0:k;w=f;g=k;J=(b|0)==(k|0)&f>>>0>>0|b>>>0>k>>>0;P=Cr(d,t,l,H);K=N;q=n;f=Cr(B,C,n,0);b=f+P|0;k=N+K|0;Q=b;n=Cr(D,0,c,u);i=b+n|0;b=b>>>0>>0?k+1|0:k;f=b+N|0;x=i;f=i>>>0>>0?f+1|0:f;y=f;k=f;f=(e|0)==(G|0)&h>>>0>>0|e>>>0>>0;h=e+x|0;k=f+k|0;r=h;k=h>>>0>>0?k+1|0:k;n=k;e=h;h=k;S=Cr(d,t,q,R);G=N;f=B;I=z|65536;B=p;i=Cr(f,C,I,p);f=i+S|0;k=N+G|0;k=f>>>0>>0?k+1|0:k;T=f;C=Cr(D,U,l,H);i=f+C|0;p=k;f=k+N|0;f=i>>>0>>0?f+1|0:f;L=i;E=E&2147483647|-2147483648;i=Cr(c,u,E,0);c=L+i|0;u=f;k=f+N|0;C=c;c=c>>>0>>0?k+1|0:k;z=J;i=0;f=i+e|0;k=h+C|0;J=f;h=f;e=z+f|0;z=f>>>0>>0?k+1|0:k;f=z;f=e>>>0>>0?f+1|0:f;h=e;i=f;v=(v+(F+O|0)|0)-16383|0;f=Cr(q,R,D,U);e=N;t=Cr(d,t,I,B);d=t+f|0;k=N+e|0;k=d>>>0>>0?k+1|0:k;t=d;f=(e|0)==(k|0)&f>>>0>d>>>0|e>>>0>k>>>0;e=k;F=f;f=Cr(E,V,l,H);d=f+d|0;k=N+k|0;k=d>>>0>>0?k+1|0:k;f=d;d=k;l=(k|0)==(e|0)&f>>>0>>0|e>>>0>k>>>0;k=F+l|0;e=0;e=k>>>0>>0?1:e;t=f;l=d;F=k;f=(b|0)==(y|0)&x>>>0>>0|b>>>0>y>>>0;b=f+((b|0)==(K|0)&P>>>0>Q>>>0|b>>>0>>0)|0;k=0;k=b>>>0>>0?1:k;f=b;b=t+f|0;k=d+k|0;k=b>>>0>>0?k+1|0:k;H=b;d=k;k=(k|0)==(l|0)&b>>>0>>0|k>>>0>>0;b=F+k|0;f=e;f=b>>>0>>0?f+1|0:f;e=Cr(E,V,I,B);b=e+b|0;k=N+f|0;t=b;e=b>>>0>>0?k+1|0:k;l=Cr(E,V,q,R);f=N;q=Cr(D,U,I,B);b=q+l|0;k=N+f|0;k=b>>>0>>0?k+1|0:k;q=b;b=k;k=(f|0)==(k|0)&l>>>0>q>>>0|f>>>0>k>>>0;l=b+t|0;e=e+k|0;e=l>>>0>>0?e+1|0:e;t=l;l=0;b=l+H|0;k=d+q|0;k=b>>>0>>0?k+1|0:k;f=k;l=(d|0)==(k|0)&b>>>0>>0|d>>>0>k>>>0;d=t+l|0;k=e;D=d;d=d>>>0>>0?k+1|0:k;q=b;l=f;f=(p|0)==(u|0)&T>>>0>L>>>0|p>>>0>u>>>0;e=f+((p|0)==(G|0)&S>>>0>T>>>0|p>>>0>>0)|0;f=e;e=f+((c|0)==(u|0)&C>>>0>>0|c>>>0>>0)|0;f=e;b=c+b|0;e=f+l|0;e=b>>>0>>0?e+1|0:e;p=b;c=b;b=e;e=(e|0)==(l|0)&c>>>0>>0|e>>>0>>0;c=e+D|0;k=d;k=c>>>0>>0?k+1|0:k;d=c;l=d;e=(n|0)==(z|0)&r>>>0>J>>>0|n>>>0>z>>>0;d=e+((n|0)==(y|0)&r>>>0>>0|n>>>0>>0)|0;f=0;f=d>>>0>>0?1:f;n=d;d=d+p|0;e=b+f|0;e=d>>>0>>0?e+1|0:e;c=(b|0)==(e|0)&d>>>0

>>0|b>>>0>e>>>0;b=l+c|0;k=b>>>0>>0?k+1|0:k;c=k;c:{if(k&65536){v=v+1|0;break c}n=g>>>31|0;k=c<<1|b>>>31;b=b<<1|e>>>31;c=k;k=e<<1|d>>>31;d=d<<1|i>>>31;e=k;p=w;k=g<<1|p>>>31;w=p<<1;g=k;k=i<<1|h>>>31;h=h<<1|n;i=k}if((v|0)>=32767){o=o|2147418112;b=0;c=0;break a}d:{if((v|0)<=0){f=1-v|0;if(f>>>0>=128){b=0;c=0;break a}k=v+127|0;mb(m+48|0,w,g,h,i,k);mb(m+32|0,d,e,b,c,k);Fc(m+16|0,w,g,h,i,f);Fc(m,d,e,b,c,f);w=(j[m+48>>2]|j[m+56>>2])!=0|(j[m+52>>2]|j[m+60>>2])!=0|(j[m+32>>2]|j[m+16>>2]);g=j[m+36>>2]|j[m+20>>2];h=j[m+40>>2]|j[m+24>>2];i=j[m+44>>2]|j[m+28>>2];d=j[m>>2];e=j[m+4>>2];c=j[m+12>>2];b=j[m+8>>2];break d}c=c&65535|v<<16}A=b|A;o=c|o;if(!(!h&(i|0)==-2147483648?!(g|w):(i|0)>-1)){k=e;b=d+1|0;k=b>>>0<1?k+1|0:k;f=b;c=k;f=(e|0)==(k|0)&d>>>0>f>>>0|e>>>0>k>>>0;d=f+A|0;e=o;A=d;o=d>>>0>>0?e+1|0:e;break a}if(h|w|(i^-2147483648|g)){b=d;c=e;break a}c=d&1;b=c+d|0;k=e;k=b>>>0>>0?k+1|0:k;f=b;c=k;e=(e|0)==(k|0)&d>>>0>f>>>0|e>>>0>k>>>0;d=e+A|0;k=o;A=d;o=d>>>0>>0?k+1|0:k}j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=A;j[a+12>>2]=o;M=m+96|0}function _a(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=M-432|0;M=m;j[m+424>>2]=0;j[m+416>>2]=0;j[m+420>>2]=0;Sh(a,m+416|0,b);a:{b=k[m+427|0];u=b<<24>>24<0?j[m+420>>2]:b;b:{if(!u){break b}c:{if(!j[a+48>>2]){break c}if(j[a+44>>2]){ob(m+416|0);break c}Va(m+416|0)}s=h[m+427|0]<0?j[m+416>>2]:m+416|0;b=j[a+4>>2];if((b|0)!=j[a+8>>2]){while(1){g=0;f=dc(j[(t<<2)+b>>2],s);d:{if(!f){break d}e:{b=j[f+4>>2];if(!b){break e}n=j[a>>2];if(!n){break e}e=i[f+2>>1];q=(e<<1)+b|0;n=l[n+4192>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)|n>>>0>1]){break e}if(c){j[c>>2]=j[c>>2]+2}if(!l[j[a>>2]+4152>>1]|j[a+40>>2]!=36){break b}b=j[f+4>>2];e=i[f+2>>1];s=b+(e<<1)|0;a=l[j[a>>2]+4152>>1];if(e){while(1){d=e>>>1|0;u=(d<<1)+b|0;f=a>>>0>l[u>>1];b=f?u+2|0:b;e=f?(d^-1)+e|0:d;if(e){continue}break}}if(!c|(b|0)==(s|0)|a>>>0>1]){break b}j[c>>2]=j[c>>2]+1;break b}if(!c){while(1){if(!j[f+4>>2]){g=f;break d}b=j[a>>2];if(!b){g=f;break d}f:{g:{if(!l[b+4198>>1]){break g}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4198>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){break g}if(n>>>0>=l[b>>1]){break f}}if(!l[j[a>>2]+4464>>1]){g=f;break d}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4464>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){g=f;break d}if(n>>>0>=l[b>>1]){break f}g=f;break d}f=j[f+12>>2];if(f){continue}break d}}while(1){if(!j[f+4>>2]){g=f;break d}b=j[a>>2];if(!b){g=f;break d}h:{i:{if(!l[b+4198>>1]){break i}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4198>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){break i}if(n>>>0>=l[b>>1]){break h}}j:{if(!l[j[a>>2]+4464>>1]){break j}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4464>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){break j}if(n>>>0>=l[b>>1]){break h}}if(!(k[c|0]&16)){g=f;break d}b=j[f+4>>2];e=i[f+2>>1];p=b+(e<<1)|0;if(e){while(1){n=e>>>1|0;q=(n<<1)+b|0;o=l[q>>1]<65511;b=o?q+2|0:b;e=o?(n^-1)+e|0:n;if(e){continue}break}}if((b|0)==(p|0)){g=f;break d}if(l[b>>1]<=65511){break h}g=f;break d}f=j[f+12>>2];if(f){continue}break}}if(!g){t=t+1|0;b=j[a+4>>2];if(t>>>0>2]-b>>2>>>0){continue}}break}if(g){break b}}b=j[a>>2];if(!b){g=0;break b}g=0;k:{f=pl(b,s,u);if(!f){break k}l:{if(!j[f+4>>2]){break l}m:{if(!l[j[a>>2]+4464>>1]){break m}b=j[f+4>>2];e=i[f+2>>1];p=b+(e<<1)|0;t=l[j[a>>2]+4464>>1];if(e){while(1){n=e>>>1|0;q=(n<<1)+b|0;o=t>>>0>l[q>>1];b=o?q+2|0:b;e=o?(n^-1)+e|0:n;if(e){continue}break}}if((b|0)==(p|0)){break m}if(t>>>0>=l[b>>1]){break k}}n:{if(!c|!(k[c|0]&16)){break n}b=j[f+4>>2];e=i[f+2>>1];o=b+(e<<1)|0;if(e){while(1){t=e>>>1|0;p=(t<<1)+b|0;n=l[p>>1]<65511;b=n?p+2|0:b;e=n?(t^-1)+e|0:t;if(e){continue}break}}if((b|0)==(o|0)){break n}if(l[b>>1]<65512){break k}}b=j[f+4>>2];if(!b){break l}g=j[a>>2];if(!g){break l}e=i[f+2>>1];t=(e<<1)+b|0;g=l[g+4192>>1];if(e){while(1){s=e>>>1|0;n=(s<<1)+b|0;u=g>>>0>l[n>>1];b=u?n+2|0:b;e=u?(s^-1)+e|0:s;if(e){continue}break}}if((b|0)==(t|0)|g>>>0>1]){break l}g=0;if(!c){break b}j[c>>2]=j[c>>2]+2;break b}if(!d){g=f;break b}Ka(d,f+17|0);if(!j[a+48>>2]){g=f;break b}if(j[a+44>>2]){ob(d);g=f;break b}Va(d);g=f;break b}f=1;b=j[a>>2];if(!(l[b+4152>>1]|l[b+4154>>1])){f=j[b+4268>>2]!=j[b+4272>>2]}if(!f){break b}f=j[a>>2];b=W(s);if(b>>>0>=4294967280){break a}o:{p:{if(b>>>0>=11){g=b+16&-16;e=U(g);j[m+8>>2]=g|-2147483648;j[m>>2]=e;j[m+4>>2]=b;g=m;break p}h[m+11|0]=b;g=m;e=m;if(!b){break o}}V(e,s,b)}h[b+e|0]=0;b=ed(f,m,0,0,100,0,0,m+16|0,0,0,c);if(h[g+11|0]<=-1){T(j[m>>2])}if(!b){g=0;if(j[a+40>>2]!=36){break b}b=u-1|0;if(k[b+s|0]!=45){break b}if(b>>>0>=4294967280){break a}q:{r:{if(b>>>0>=11){g=u+15&-16;e=U(g);j[m+8>>2]=g|-2147483648;j[m>>2]=e;j[m+4>>2]=b;f=m;break r}h[m+11|0]=b;f=m;e=f;if(!b){break q}}V(e,s,b)}g=0;h[b+e|0]=0;b=ed(j[a>>2],m,-5,0,100,0,0,m+16|0,1,0,c);if(h[f+11|0]<=-1){T(j[m>>2])}if(!b){break b}}s:{if(!d){break s}Ka(d,b+17|0);if(!j[a+48>>2]){break s}if(j[a+44>>2]){ob(d);break s}Va(d)}if(c){j[c>>2]=j[c>>2]+1}g=b}if(h[m+427|0]<=-1){T(j[m+416>>2])}M=m+432|0;return g}X();z()}function fg(a,b,c,d,e,f,g,i,m,n,o){var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;p=M-560|0;M=p;j[p+548>>2]=o;j[p+552>>2]=b;j[p+104>>2]=78;s=Da(p+136|0,p+144|0,p+104|0);b=j[s>>2];j[p+132>>2]=b;j[p+128>>2]=b+400;v=ga(p+104|0);t=ga(p+88|0);q=ga(p+72|0);r=ga(p+56|0);u=ga(p+40|0);Dl(c,d,p+120|0,p+119|0,p+118|0,v,t,q,r,p+36|0);j[n>>2]=j[m>>2];w=e&512;x=w>>>9|0;b=0;c=0;while(1){o=c;a:{b:{c:{d:{if((b|0)==4){break d}if(!lb(a,p+552|0)){break d}e=0;e:{f:{g:{h:{i:{switch(h[(p+120|0)+b|0]){case 1:if((b|0)==3){break b}c=Ga(a);if((c|0)>=0){c=l[j[i+8>>2]+((c&255)<<1)>>1]&8192}else{c=0}if(c){eg(p+24|0,a);Z(u,h[p+24|0]);break h}j[f>>2]=j[f>>2]|4;a=0;break c;case 0:break i;case 4:break e;case 2:break f;case 3:break g;default:break a}}if((b|0)==3){break b}}while(1){if(!lb(a,p+552|0)){break b}c=Ga(a);if((c|0)>=0){c=(l[j[i+8>>2]+((c&255)<<1)>>1]&8192)!=0}else{c=0}if(!c){break b}eg(p+24|0,a);Z(u,h[p+24|0]);continue}}if(k[q+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}if((c|0)==(0-d|0)){break b}if(k[q+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}if(!(d?c:0)){if(k[q+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}d=Ga(a);if(c){if(k[q+11|0]>>>7|0){c=j[q>>2]}else{c=q}if(k[c|0]==(d&255)){Oa(a);c=q;if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}c=d>>>0>1?c:o;break a}h[g|0]=1;break b}if(k[r+11|0]>>>7|0){c=j[r>>2]}else{c=r}if(k[c|0]!=(d&255)){break b}Oa(a);h[g|0]=1;c=r;if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}c=d>>>0>1?c:o;break a}d=Ga(a)&255;if(k[q+11|0]>>>7|0){c=j[q>>2]}else{c=q}if((d|0)==k[c|0]){Oa(a);c=q;if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}c=d>>>0>1?c:o;break a}d=Ga(a)&255;if(k[r+11|0]>>>7|0){c=j[r>>2]}else{c=r}if((d|0)==k[c|0]){Oa(a);h[g|0]=1;c=r;if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}c=d>>>0>1?c:o;break a}j[f>>2]=j[f>>2]|4;a=0;break c}if(!(o|b>>>0<2)){c=0;if(!((b|0)==2&k[p+123|0]!=0|x)){break a}}z=p,A=qb(t),j[z+16>>2]=A;j[p+24>>2]=j[p+16>>2];j:{if(!b|k[(b+p|0)+119|0]>1){break j}while(1){k:{z=p,A=kc(t),j[z+16>>2]=A;if(!(j[p+24>>2]==j[p+16>>2]^1)){break k}c=h[j[p+24>>2]];if((c|0)>=0){c=(l[j[i+8>>2]+((c&255)<<1)>>1]&8192)!=0}else{c=0}if(!c){break k}j[p+24>>2]=j[p+24>>2]+1;continue}break}z=p,A=qb(t),j[z+16>>2]=A;if(k[u+11|0]>>>7|0){d=j[u+4>>2]}else{d=k[u+11|0]}c=j[p+24>>2]-j[p+16>>2]|0;if(d>>>0>=c>>>0){z=p,A=kc(u),j[z+16>>2]=A;if(zl(le(p+16|0,0-c|0),kc(u),qb(t))){break j}}z=p,A=qb(t),j[z+8>>2]=A;j[p+16>>2]=j[p+8>>2];j[p+24>>2]=j[p+16>>2]}j[p+16>>2]=j[p+24>>2];while(1){l:{z=p,A=kc(t),j[z+8>>2]=A;if(!(j[p+16>>2]==j[p+8>>2]^1)){break l}if(!lb(a,p+552|0)){break l}if((Ga(a)&255)!=k[j[p+16>>2]]){break l}Oa(a);j[p+16>>2]=j[p+16>>2]+1;continue}break}if(!w){break b}z=p,A=kc(t),j[z+8>>2]=A;if(!(j[p+16>>2]==j[p+8>>2]^1)){break b}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){m:{if(!lb(a,p+552|0)){break m}c=Ga(a);n:{if((c|0)>=0?l[j[i+8>>2]+((c&255)<<1)>>1]&2048:0){d=j[n>>2];if((d|0)==j[p+548>>2]){dg(m,n,p+548|0);d=j[n>>2]}j[n>>2]=d+1;h[d|0]=c;e=e+1|0;break n}y=!e;if(k[v+11|0]>>>7|0){d=j[v+4>>2]}else{d=k[v+11|0]}if(y|!d|k[p+118|0]!=(c&255)){break m}c=j[p+132>>2];if((c|0)==j[p+128>>2]){zc(s,p+132|0,p+128|0);c=j[p+132>>2]}j[p+132>>2]=c+4;j[c>>2]=e;e=0}Oa(a);continue}break}d=j[s>>2];o:{if(!e){break o}c=j[p+132>>2];if((d|0)==(c|0)){break o}if(j[p+128>>2]==(c|0)){zc(s,p+132|0,p+128|0);c=j[p+132>>2]}j[p+132>>2]=c+4;j[c>>2]=e}p:{if(j[p+36>>2]<1){break p}q:{if(!Sa(a,p+552|0)){if((Ga(a)&255)==k[p+119|0]){break q}}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){Oa(a);if(j[p+36>>2]<1){break p}r:{if(!Sa(a,p+552|0)){c=Ga(a);if((c|0)>=0){c=l[j[i+8>>2]+((c&255)<<1)>>1]&2048}else{c=0}if(c){break r}}j[f>>2]=j[f>>2]|4;a=0;break c}if(j[n>>2]==j[p+548>>2]){dg(m,n,p+548|0)}c=Ga(a);d=j[n>>2];j[n>>2]=d+1;h[d|0]=c;j[p+36>>2]=j[p+36>>2]-1;continue}}c=o;if(j[m>>2]!=j[n>>2]){break a}j[f>>2]=j[f>>2]|4;a=0;break c}s:{if(!o){break s}e=1;while(1){if(k[o+11|0]>>>7|0){b=j[o+4>>2]}else{b=k[o+11|0]}if(b>>>0<=e>>>0){break s}t:{if(!Sa(a,p+552|0)){c=Ga(a)&255;if(k[o+11|0]>>>7|0){b=j[o>>2]}else{b=o}if((c|0)==k[b+e|0]){break t}}j[f>>2]=j[f>>2]|4;a=0;break c}Oa(a);e=e+1|0;continue}}a=1;if(j[s>>2]==j[p+132>>2]){break c}a=0;j[p+24>>2]=0;hb(v,j[s>>2],j[p+132>>2],p+24|0);if(j[p+24>>2]){j[f>>2]=j[f>>2]|4;break c}a=1}Y(u);Y(r);Y(q);Y(t);Y(v);b=j[s>>2];j[s>>2]=0;if(b){O[j[s+4>>2]](b)}M=p+560|0;return a}c=o}b=b+1|0;continue}}function Yn(a,b,c,d,e,f){var g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=M-432|0;M=g;h=j[b+4>>2];a:{if(h>>>0>2]){j[b+4>>2]=h+1;i=k[h|0];break a}i=pa(b)}b:{c:{while(1){if((i|0)!=48){d:{if((i|0)!=46){break b}h=j[b+4>>2];if(h>>>0>=m[b+104>>2]){break d}j[b+4>>2]=h+1;i=k[h|0];break c}}else{h=j[b+4>>2];if(h>>>0>2]){z=1;j[b+4>>2]=h+1;i=k[h|0]}else{z=1;i=pa(b)}continue}break}i=pa(b)}y=1;if((i|0)!=48){break b}while(1){h=u;u=h-1|0;v=v-(h>>>0<1)|0;h=j[b+4>>2];e:{if(h>>>0>2]){j[b+4>>2]=h+1;i=k[h|0];break e}i=pa(b)}if((i|0)==48){continue}break}z=1}h=1073676288;while(1){f:{A=i|32;g:{h:{B=i-48|0;if(B>>>0<10){break h}if(A-97>>>0>5?(i|0)!=46:0){break f}if((i|0)!=46){break h}if(y){break f}y=1;u=p;v=l;break g}i=(i|0)>57?A-87|0:B;i:{if((l|0)<0?1:(l|0)<=0?p>>>0<=7:0){r=i+(r<<4)|0;break i}if((l|0)<0?1:(l|0)<=0?p>>>0<=28:0){Cb(g+48|0,i);xa(g+32|0,w,x,q,h,0,0,0,1073414144);w=j[g+32>>2];x=j[g+36>>2];q=j[g+40>>2];h=j[g+44>>2];xa(g+16|0,w,x,q,h,j[g+48>>2],j[g+52>>2],j[g+56>>2],j[g+60>>2]);yb(g,n,o,s,t,j[g+16>>2],j[g+20>>2],j[g+24>>2],j[g+28>>2]);s=j[g+8>>2];t=j[g+12>>2];n=j[g>>2];o=j[g+4>>2];break i}if(!i|E){break i}xa(g+80|0,w,x,q,h,0,0,0,1073610752);yb(g- -64|0,n,o,s,t,j[g+80>>2],j[g+84>>2],j[g+88>>2],j[g+92>>2]);s=j[g+72>>2];t=j[g+76>>2];E=1;n=j[g+64>>2];o=j[g+68>>2]}p=p+1|0;l=p>>>0<1?l+1|0:l;z=1}i=j[b+4>>2];if(i>>>0>2]){j[b+4>>2]=i+1;i=k[i|0]}else{i=pa(b)}continue}break}j:{k:{l:{if(!z){if(!j[b+104>>2]){if(f){break k}break l}c=j[b+4>>2];j[b+4>>2]=c-1;if(!f){break l}j[b+4>>2]=c-2;if(!y){break k}j[b+4>>2]=c-3;break k}if((l|0)<0?1:(l|0)<=0?p>>>0<=7:0){q=p;h=l;while(1){r=r<<4;q=q+1|0;h=q>>>0<1?h+1|0:h;if((q|0)!=8|h){continue}break}}m:{if((i&-33)==80){q=Ug(b,f);i=N;h=i;if(q|(h|0)!=-2147483648){break m}if(f){q=0;h=0;if(!j[b+104>>2]){break m}j[b+4>>2]=j[b+4>>2]-1;break m}n=0;o=0;Ib(b,0,0);c=0;b=0;break j}q=0;h=0;if(!j[b+104>>2]){break m}j[b+4>>2]=j[b+4>>2]-1}if(!r){Ub(g+112|0,+(e|0)*0);n=j[g+112>>2];o=j[g+116>>2];c=j[g+120>>2];b=j[g+124>>2];break j}f=y?u:p;b=(y?v:l)<<2|f>>>30;f=q+(f<<2)|0;l=b+h|0;b=f;p=b-32|0;l=(b>>>0>>0?l+1|0:l)-(b>>>0<32)|0;b=l;if((b|0)>0?1:(b|0)>=0?p>>>0>0-d>>>0:0){j[37203]=68;Cb(g+160|0,e);xa(g+144|0,j[g+160>>2],j[g+164>>2],j[g+168>>2],j[g+172>>2],-1,-1,-1,2147418111);xa(g+128|0,j[g+144>>2],j[g+148>>2],j[g+152>>2],j[g+156>>2],-1,-1,-1,2147418111);n=j[g+128>>2];o=j[g+132>>2];c=j[g+136>>2];b=j[g+140>>2];break j}b=d-226|0;f=p>>>0>=b>>>0;b=b>>31;if((b|0)<(l|0)?1:(l|0)>=(b|0)?f:0){if((r|0)>-1){while(1){yb(g+416|0,n,o,s,t,0,0,0,-1073807360);h=Zg(n,o,s,t,1073610752);f=(h|0)<0;b=f;yb(g+400|0,n,o,s,t,b?n:j[g+416>>2],b?o:j[g+420>>2],b?s:j[g+424>>2],b?t:j[g+428>>2]);b=p;p=b-1|0;l=l-(b>>>0<1)|0;s=j[g+408>>2];t=j[g+412>>2];n=j[g+400>>2];o=j[g+404>>2];r=r<<1|(h|0)>-1;if((r|0)>-1){continue}break}}b=d;h=(p-b|0)+32|0;l=l-((b>>31)+(b>>>0>p>>>0)|0)|0;b=h;l=b>>>0<32?l+1|0:l;c=((l|0)<0?1:(l|0)<=0?c>>>0>b>>>0:0)?(b|0)>0?b:0:c;n:{if((c|0)>=113){Cb(g+384|0,e);u=j[g+392>>2];v=j[g+396>>2];w=j[g+384>>2];x=j[g+388>>2];d=0;b=0;break n}Ub(g+352|0,Od(144-c|0));Cb(g+336|0,e);w=j[g+336>>2];x=j[g+340>>2];u=j[g+344>>2];v=j[g+348>>2];Yg(g+368|0,j[g+352>>2],j[g+356>>2],j[g+360>>2],j[g+364>>2],w,x,u,v);C=j[g+376>>2];D=j[g+380>>2];d=j[g+372>>2];b=j[g+368>>2]}c=!(r&1)&((qc(n,o,s,t,0,0,0,0)|0)!=0&(c|0)<32);Ec(g+320|0,c+r|0);xa(g+304|0,w,x,u,v,j[g+320>>2],j[g+324>>2],j[g+328>>2],j[g+332>>2]);yb(g+272|0,j[g+304>>2],j[g+308>>2],j[g+312>>2],j[g+316>>2],b,d,C,D);xa(g+288|0,c?0:n,c?0:o,c?0:s,c?0:t,w,x,u,v);yb(g+256|0,j[g+288>>2],j[g+292>>2],j[g+296>>2],j[g+300>>2],j[g+272>>2],j[g+276>>2],j[g+280>>2],j[g+284>>2]);ve(g+240|0,j[g+256>>2],j[g+260>>2],j[g+264>>2],j[g+268>>2],b,d,C,D);e=j[g+240>>2];d=j[g+244>>2];c=j[g+248>>2];b=j[g+252>>2];if(!qc(e,d,c,b,0,0,0,0)){j[37203]=68}Xg(g+224|0,e,d,c,b,p);n=j[g+224>>2];o=j[g+228>>2];c=j[g+232>>2];b=j[g+236>>2];break j}j[37203]=68;Cb(g+208|0,e);xa(g+192|0,j[g+208>>2],j[g+212>>2],j[g+216>>2],j[g+220>>2],0,0,0,65536);xa(g+176|0,j[g+192>>2],j[g+196>>2],j[g+200>>2],j[g+204>>2],0,0,0,65536);n=j[g+176>>2];o=j[g+180>>2];c=j[g+184>>2];b=j[g+188>>2];break j}Ib(b,0,0)}Ub(g+96|0,+(e|0)*0);n=j[g+96>>2];o=j[g+100>>2];c=j[g+104>>2];b=j[g+108>>2]}j[a>>2]=n;j[a+4>>2]=o;j[a+8>>2]=c;j[a+12>>2]=b;M=g+432|0}function er(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=M-112|0;M=d;a:{e=0;b:{if(j[a+100>>2]!=j[a+104>>2]){break b}j[d+104>>2]=h[b+11|0]<0?j[b>>2]:b;c:{d:{e:{g=ka(b,d+104|0);e=k[b+11|0];f=e<<24>>24<0;if((g|0)==((f?j[b>>2]:b)+(f?j[b+4>>2]:e)|0)){break e}t=a+100|0;o=-1;while(1){f:{switch(l|0){case 1:o=j[d+104>>2];f=o-g|0;if(f>>>0>=4294967280){break a}g:{if(f>>>0<=10){h[d+35|0]=f;e=d+24|0;break g}n=f+16&-16;e=U(n);j[d+32>>2]=n|-2147483648;j[d+24>>2]=e;j[d+28>>2]=f}if((g|0)!=(o|0)){while(1){h[e|0]=k[g|0];e=e+1|0;g=g+1|0;if((o|0)!=(g|0)){continue}break}}h[e|0]=0;h:{if(h[d+35|0]>=0){o=ta(d+24|0);break h}e=j[d+24>>2];o=ta(e);T(e)}e=0;if((o|0)<=0){break b}Yh(t,o);case 0:r=r+1|0;break;default:break f}}l=l+1|0;g=ka(b,d+104|0);e=k[b+11|0];f=e<<24>>24<0;if((g|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:e)|0)){continue}break}if((r|0)!=2){break e}if((o|0)<1){break c}v=d- -64|0;w=1;break d}e=0;break b}while(1){j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;b=0;i:{if(!ub(c,d+88|0)){break i}bb(d+88|0);j[d+80>>2]=0;j[d+72>>2]=0;j[d+76>>2]=0;j[v>>2]=0;j[v+4>>2]=0;j[d+56>>2]=0;j[d+60>>2]=0;j[d+48>>2]=0;j[d+52>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[d+32>>2]=0;j[d+36>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;b=j[a+104>>2];j:{if(b>>>0>2]){e=j[d+28>>2];j[b>>2]=j[d+24>>2];j[b+4>>2]=e;j[b+8>>2]=j[d+32>>2];j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;j[b+20>>2]=j[d+44>>2];e=j[d+40>>2];j[b+12>>2]=j[d+36>>2];j[b+16>>2]=e;j[d+36>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[b+32>>2]=j[d+56>>2];e=j[d+52>>2];j[b+24>>2]=j[d+48>>2];j[b+28>>2]=e;j[d+48>>2]=0;j[d+52>>2]=0;j[d+56>>2]=0;j[b+44>>2]=j[d+68>>2];e=j[d+64>>2];j[b+36>>2]=j[d+60>>2];j[b+40>>2]=e;j[d+60>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;j[b+56>>2]=j[d+80>>2];e=j[d+76>>2];j[b+48>>2]=j[d+72>>2];j[b+52>>2]=e;j[d+72>>2]=0;j[d+76>>2]=0;j[d+80>>2]=0;j[a+104>>2]=b+60;break j}Hd(t,d+24|0);if(h[d+83|0]>-1){break j}T(j[d+72>>2])}if(h[d+71|0]<0){T(j[d+60>>2])}if(h[d+59|0]<=-1){T(j[d+48>>2])}if(h[d+47|0]<=-1){T(j[d+36>>2])}if(h[d+35|0]<0){T(j[d+24>>2])}b=0;j[d+104>>2]=h[d+99|0]<0?j[d+88>>2]:d+88|0;r=0;g=ka(d+88|0,d+104|0);l=j[d+88>>2];f=k[d+99|0];e=f<<24>>24<0;k:{if((g|0)!=((e?l:d+88|0)+(e?j[d+92>>2]:f)|0)){while(1){l:{m:{n:{o:{p:{q:{r:{switch(b|0){case 0:if(!_(d+88|0,g-(e&1?l:d+88|0)|0,3,120980,3)){break l}break k;case 1:q=j[a+104>>2];f=q-60|0;s=j[d+104>>2];r=k[g|0]==94?1:r;g=r+g|0;n=s-g|0;e=h[q-49|0];if((e|0)<=-1){e=(j[q-52>>2]&2147483647)-1|0;if(n>>>0<=e>>>0){break o}l=j[q-56>>2];break p}if(n>>>0>10){break q}break n;case 2:break r;default:break l}}s=j[d+104>>2];n=s-g|0;x=p(r,12);q=x+j[a+104>>2]|0;f=q-48|0;s:{t:{e=h[q-37|0];u:{v:{if((e|0)<=-1){e=(j[q-40>>2]&2147483647)-1|0;if(n>>>0<=e>>>0){break u}l=j[q-44>>2];break v}if(n>>>0<=10){break t}l=e&255;e=10}pb(f,e,n-e|0,l,0,l,0);if(h[f+11|0]>-1){break t}}e=j[f>>2];break s}e=f}if((g|0)!=(s|0)){while(1){h[e|0]=k[g|0];e=e+1|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}}h[e|0]=0;w:{if(h[f+11|0]<=-1){j[q-44>>2]=n;break w}h[f+11|0]=n}e=j[a+104>>2];i[d+24>>1]=95;h[d+35|0]=1;i[d+8>>1]=32;h[d+19|0]=1;wb((e+x|0)-48|0,d+24|0,d+8|0);if(h[d+19|0]<=-1){T(j[d+8>>2])}if(h[d+35|0]>-1){break l}T(j[d+24>>2]);break l}l=e&255;e=10}pb(f,e,n-e|0,l,0,l,0);if(h[f+11|0]>-1){break n}}e=j[f>>2];break m}e=f}if((g|0)!=(s|0)){while(1){h[e|0]=k[g|0];e=e+1|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}}h[e|0]=0;x:{if(h[f+11|0]<=-1){j[q-56>>2]=n;break x}h[f+11|0]=n}e=j[a+104>>2];i[d+24>>1]=95;h[d+35|0]=1;i[d+8>>1]=32;h[d+19|0]=1;wb(e-60|0,d+24|0,d+8|0);if(h[d+19|0]<=-1){T(j[d+8>>2])}if(h[d+35|0]<=-1){T(j[d+24>>2])}f=j[a+104>>2];e=f-60|0;g=k[f-49|0];l=g<<24>>24;y:{if((l|0)<=-1){f=j[f-56>>2];if(!f){break l}g=f-1|0;if(k[g+j[e>>2]|0]==36){break y}break l}if(!l){break l}g=g-1|0;if(k[e+g|0]!=36){break l}}Wa(e,g);r=r+2|0}b=b+1|0;g=ka(d+88|0,d+104|0);l=j[d+88>>2];f=k[d+99|0];e=f<<24>>24<0;if((g|0)!=((e?l:d+88|0)+(e?j[d+92>>2]:f)|0)){continue}break}}b=j[a+104>>2];e=h[b-49|0];z:{if((e|0)<=-1){e=j[b-56>>2];break z}e=e&255}if(e){b=b+p(r,12)|0;e=h[b-37|0];A:{if((e|0)<=-1){e=j[b-44>>2];break A}e=e&255}b=1;if(e){break i}}}Zh(t);b=0}if(h[d+99|0]<=-1){T(j[d+88>>2])}if(!b){break c}u=u+1|0;w=(u|0)<(o|0);if((o|0)!=(u|0)){continue}break}}e=w^1}a=e;M=d+112|0;return a&1}X();z()}function Lh(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0;g=M-16|0;M=g;a:{f=W(c);if((f|0)>=3){if(j[a+60>>2]==36){u=Qp(a,c,f)}l=ja(f+2|0);c=He(l+1|0,c);b:{if(!k[l+2|0]){o=e;break b}o=e;s=1;while(1){h[c-1|0]=k[c|0];c=l+s|0;if(j[a+56>>2]){f=s+1|0;e=l+f|0;i=k[e|0];if((i&192)==128){while(1){h[c|0]=i;c=e;s=f;f=f+1|0;e=l+f|0;i=k[e|0];if((i&192)==128){continue}break}}if(!k[c+1|0]){break b}}h[c|0]=32;c:{d:{e:{if(!d){f=W(l);if(f>>>0>=4294967280){break a}f:{g:{if(f>>>0>=11){i=f+16&-16;e=U(i);j[g+8>>2]=i|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break g}h[g+11|0]=f;e=g;if(!f){break f}}V(e,l,f)}h[e+f|0]=0;e=cc(a,g,0,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!e){break e}if(!(o&1)){e=j[b+4>>2];i=j[b>>2];if((e|0)!=(i|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((f|0)!=(i|0)){continue}break}}j[b+4>>2]=i}i=j[b>>2];f=W(l);if(f>>>0>=4294967280){break a}h:{i:{if(f>>>0>=11){o=f+16&-16;e=U(o);j[g+8>>2]=o|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break i}h[g+11|0]=f;e=g;if(!f){break h}}V(e,l,f)}h[e+f|0]=0;Ne(b,i,g);if(h[g+11|0]<=-1){T(j[g>>2])}o=1;if(k[a+40|0]){break d}break c}if(!k[a+40|0]){break c}h[c|0]=45;break c}if(!k[a+40|0]){break c}}h[c|0]=45;f=W(l);if(f>>>0>=4294967280){break a}j:{k:{if(f>>>0>=11){i=f+16&-16;e=U(i);j[g+8>>2]=i|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break k}h[g+11|0]=f;e=g;if(!f){break j}}V(e,l,f)}h[e+f|0]=0;e=cc(a,g,0,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!e){break c}if(!(o&1)){e=j[b+4>>2];i=j[b>>2];if((e|0)!=(i|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((f|0)!=(i|0)){continue}break}}j[b+4>>2]=i}i=j[b>>2];f=W(l);if(f>>>0>=4294967280){break a}l:{m:{if(f>>>0>=11){o=f+16&-16;e=U(o);j[g+8>>2]=o|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break m}h[g+11|0]=f;e=g;if(!f){break l}}V(e,l,f)}h[e+f|0]=0;Ne(b,i,g);if(h[g+11|0]<=-1){T(j[g>>2])}o=1}n:{if((j[a+64>>2]!=0|o)&1|m[a+48>>2]<=(j[b+4>>2]-j[b>>2]|0)/12>>>0){break n}h[c|0]=0;f=W(l);if(f>>>0>=4294967280){break a}o:{p:{if(f>>>0>=11){i=f+16&-16;e=U(i);j[g+8>>2]=i|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break p}h[g+11|0]=f;e=g;if(!f){break o}}V(e,l,f)}h[e+f|0]=0;n=cc(a,g,d,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!n){break n}r=c+1|0;e=W(r);if(e>>>0>=4294967280){break a}q:{r:{if(e>>>0>=11){f=e+16&-16;i=U(f);j[g+8>>2]=f|-2147483648;j[g>>2]=i;j[g+4>>2]=e;break r}h[g+11|0]=e;i=g;if(!e){break q}}V(i,r,e)}h[e+i|0]=0;i=cc(a,g,d,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!i){break n}e=c;s:{t:{if(j[a+60>>2]!=36|u){break t}q=k[c-1|0];if((q|0)==k[c+1|0]){if((s|0)>=2){f=45;if((q|0)==k[c-2|0]){break s}}f=45;if((q|0)==k[c+2|0]){break s}}if((n|0)!=3){break t}f=45;if((i|0)>1){break s}}f=32}h[e|0]=f;f=0;i=0;e=j[b>>2];n=j[b+4>>2];u:{if((e|0)!=(n|0)){while(1){i=W(l);q=p(f,12)+e|0;t=k[q+11|0];if((i|0)==((t<<24>>24<0?j[q+4>>2]:t)|0)){e=0;if(!_(q,0,-1,l,i)){break u}n=j[b+4>>2];e=j[b>>2]}f=f+1|0;i=(n-e|0)/12|0;if(f>>>0>>0){continue}break}}e=1;if(m[a+48>>2]<=i>>>0){break u}f=W(l);if(f>>>0>=4294967280){break a}v:{w:{if(f>>>0>=11){n=f+16&-16;i=U(n);j[g+8>>2]=n|-2147483648;j[g>>2]=i;j[g+4>>2]=f;break w}h[g+11|0]=f;i=g;if(!f){break v}}V(i,l,f)}h[f+i|0]=0;f=j[b+4>>2];if(f>>>0>2]){i=j[g+4>>2];j[f>>2]=j[g>>2];j[f+4>>2]=i;j[f+8>>2]=j[g+8>>2];j[b+4>>2]=f+12;break u}Db(b,g);if(h[g+11|0]>-1){break u}T(j[g>>2])}if(j[a+64>>2]|!k[a+40|0]){break n}if((Je(a,r)|0)<2){break n}if((Je(a,l)-Je(a,c)|0)<2){break n}h[c|0]=45;c=0;f=j[b>>2];n=j[b+4>>2];x:{y:{if((f|0)==(n|0)){f=n;break y}while(1){i=W(l);r=p(c,12)+f|0;q=k[r+11|0];if((i|0)==((q<<24>>24<0?j[r+4>>2]:q)|0)){r=_(r,0,-1,l,i);f=j[b>>2];n=j[b+4>>2];i=0;if(!r){break x}}c=c+1|0;if(c>>>0<(n-f|0)/12>>>0){continue}break}}i=e}if(!i|m[a+48>>2]<=(n-f|0)/12>>>0){break n}c=W(l);if(c>>>0>=4294967280){break a}z:{A:{if(c>>>0>=11){e=c+16&-16;f=U(e);j[g+8>>2]=e|-2147483648;j[g>>2]=f;j[g+4>>2]=c;break A}h[g+11|0]=c;f=g;if(!c){break z}}V(f,l,c)}h[c+f|0]=0;c=j[b+4>>2];if(c>>>0>2]){e=j[g+4>>2];j[c>>2]=j[g>>2];j[c+4>>2]=e;j[c+8>>2]=j[g+8>>2];j[b+4>>2]=c+12;break n}Db(b,g);if(h[g+11|0]>-1){break n}T(j[g>>2])}s=s+1|0;c=s+l|0;if(k[c+1|0]){continue}break}}T(l)}M=g+16|0;return o&1}X();z()}function cc(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0;r=M-400|0;M=r;a:{b:{if(!d){break b}f=j[d>>2]-1|0;j[d>>2]=f;if(f|!e){break b}f=0;if(((C()|0)-j[e>>2]|0)>5e4){break a}j[d>>2]=100}f=0;d=j[a+44>>2];if(!d){break a}if((c|0)==1){c=1;if(!(l[d+4152>>1]|l[d+4154>>1]?c:j[d+4268>>2]!=j[d+4272>>2])){break a}if(!ed(j[a+44>>2],b,0,0,100,0,0,r,0,1,0)){break a}b=Xb(j[a+44>>2],h[b+11|0]<0?j[b>>2]:b);c:{if(!b){break c}d=j[b+4>>2];if(!d){break c}e=i[b+2>>1];o=(e<<1)+d|0;c=l[j[a+44>>2]+4192>>1];if(e){while(1){n=e>>>1|0;m=(n<<1)+d|0;g=c>>>0>l[m>>1];d=g?m+2|0:d;e=g?(n^-1)+e|0:n;if(e){continue}break}}if(c>>>0>=l[d>>1]?(d|0)!=(o|0):0){break a}d=j[b+4>>2];e=i[b+2>>1];n=d+(e<<1)|0;a=l[j[a+44>>2]+4194>>1];if(e){while(1){b=e>>>1|0;g=(b<<1)+d|0;c=a>>>0>l[g>>1];d=c?g+2|0:d;e=c?(b^-1)+e|0:b;if(e){continue}break}}if((d|0)==(n|0)){break c}if(a>>>0>=l[d>>1]){break a}}f=3;break a}g=Xb(d,h[b+11|0]<0?j[b>>2]:b);d:{e:{f:{if(g){d=j[g+4>>2];g:{if(!d){break g}f=i[g+2>>1];o=(f<<1)+d|0;c=l[j[a+44>>2]+4192>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(c>>>0>=l[d>>1]){break a}}d=j[g+4>>2];f=i[g+2>>1];o=d+(f<<1)|0;c=l[j[a+44>>2]+4194>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(c>>>0>=l[d>>1]){break a}}d=j[g+4>>2];f=i[g+2>>1];o=d+(f<<1)|0;c=l[j[a+44>>2]+4476>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}if((d|0)==(o|0)){break g}f=0;if(c>>>0>=l[d>>1]){break a}}while(1){d=j[g+4>>2];if(!d){n=3;break d}f=i[g+2>>1];o=(f<<1)+d|0;c=l[j[a+44>>2]+4198>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}h:{if(c>>>0>=l[d>>1]?(d|0)!=(o|0):0){break h}c=j[g+4>>2];n=l[g+2>>1];e=n<<16>>16;o=c+(e<<1)|0;d=c;f=e;if(n){while(1){m=f>>>1|0;p=(m<<1)+d|0;q=l[p>>1]<65511;d=q?p+2|0:d;f=q?(m^-1)+f|0:m;if(f){continue}break}}if(l[d>>1]<65512?(d|0)!=(o|0):0){break h}d=l[j[a+44>>2]+4464>>1];if(n){while(1){f=e>>>1|0;m=(f<<1)+c|0;n=d>>>0>l[m>>1];c=n?m+2|0:c;e=n?(f^-1)+e|0:f;if(e){continue}break}}if((c|0)==(o|0)|d>>>0>1]){break f}}g=j[g+12>>2];if(g){continue}break}break e}c=k[b+11|0];d=c<<24>>24<0;g=gb(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0,0)}n=3;if(g){break d}}f=0;n=2;c=k[b+11|0];d=c<<24>>24<0;g=Qa(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0,0,0,0,0);if(g){break d}if(!j[j[a+44>>2]+4488>>2]){break a}c=k[b+11|0];d=c<<24>>24<0;g=eb(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0,0,0);if(g){break d}c=k[b+11|0];d=c<<24>>24<0;g=Lb(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0);if(!g){break a}}d=j[g+4>>2];i:{if(!d){break i}f=i[g+2>>1];o=(f<<1)+d|0;b=l[j[a+44>>2]+4192>>1];if(f){while(1){c=f>>>1|0;m=(c<<1)+d|0;e=b>>>0>l[m>>1];d=e?m+2|0:d;f=e?(c^-1)+f|0:c;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(b>>>0>=l[d>>1]){break a}}c=j[g+4>>2];b=l[g+2>>1];e=b<<16>>16;o=c+(e<<1)|0;d=c;if(b){f=e;while(1){m=f>>>1|0;p=(m<<1)+d|0;q=l[p>>1]<65511;d=q?p+2|0:d;f=q?(m^-1)+f|0:m;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(l[d>>1]<65512){break a}}d=l[j[a+44>>2]+4194>>1];if(b){while(1){b=e>>>1|0;m=(b<<1)+c|0;f=d>>>0>l[m>>1];c=f?m+2|0:c;e=f?(b^-1)+e|0:b;if(e){continue}break}}if((c|0)!=(o|0)){f=0;if(d>>>0>=l[c>>1]){break a}}d=j[g+4>>2];f=i[g+2>>1];o=d+(f<<1)|0;b=l[j[a+44>>2]+4464>>1];if(f){while(1){c=f>>>1|0;m=(c<<1)+d|0;e=b>>>0>l[m>>1];d=e?m+2|0:d;f=e?(c^-1)+f|0:c;if(f){continue}break}}if((d|0)==(o|0)){break i}f=0;if(b>>>0>=l[d>>1]){break a}}j:{if(!l[j[a+44>>2]+4152>>1]){break j}d=j[g+4>>2];f=i[g+2>>1];e=d+(f<<1)|0;a=l[j[a+44>>2]+4152>>1];if(f){while(1){b=f>>>1|0;g=(b<<1)+d|0;c=a>>>0>l[g>>1];d=c?g+2|0:d;f=c?(b^-1)+f|0:b;if(f){continue}break}}if((d|0)==(e|0)){break j}f=n;if(a>>>0>=l[d>>1]){break a}}f=1}M=r+400|0;return f}function Mp(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0;d=M+ -64|0;M=d;a:{b:{c:{e=0;d:{if(j[a+4280>>2]){break d}j[d+56>>2]=h[b+11|0]<0?j[b>>2]:b;e:{f:{g:{f=ka(b,d+56|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){break g}n=-1;g=0;while(1){h:{switch(g|0){case 1:l=j[d+56>>2];n=l-f|0;if(n>>>0>=4294967280){break c}i:{if(n>>>0<=10){h[d+51|0]=n;e=d+40|0;break i}o=n+16&-16;e=U(o);j[d+48>>2]=o|-2147483648;j[d+40>>2]=e;j[d+44>>2]=n}if((f|0)!=(l|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[e|0]=0;j:{if(h[d+51|0]>=0){n=ta(d+40|0);break j}e=j[d+40>>2];n=ta(e);T(e)}e=0;if((n|0)<=0){break d}e=U(1040);j[e+12>>2]=0;j[e+4>>2]=0;j[e+8>>2]=0;j[a+4280>>2]=e;h[e|0]=j[a+4144>>2];case 0:p=p+1|0;break;default:break h}}g=g+1|0;f=ka(b,d+56|0);e=k[b+11|0];l=e<<24>>24<0;if((f|0)!=((l?j[b>>2]:b)+(l?j[b+4>>2]:e)|0)){continue}break}if((p|0)!=2){break g}if((n|0)<1){break e}p=0;break f}e=0;break d}while(1){j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;b=0;k:{if(!ub(c,d+40|0)){break k}bb(d+40|0);e=j[a+4280>>2];f=j[e+8>>2];b=0;e=j[e+4>>2];j[d+56>>2]=h[d+51|0]<0?j[d+40>>2]:d+40|0;r=(f-e|0)/12|0;f=ka(d+40|0,d+56|0);g=j[d+40>>2];l=k[d+51|0];e=l<<24>>24<0;l:{if((f|0)!=((e?g:d+40|0)+(e?j[d+44>>2]:l)|0)){while(1){m:{n:{switch(b|0){case 0:if(!_(d+40|0,f-(e&1?g:d+40|0)|0,5,1528,5)){break m}break l;case 1:o=j[d+56>>2];g=o-f|0;if(g>>>0>=4294967280){break b}l=j[a+4280>>2];o:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break o}q=g+16&-16;e=U(q);j[d+32>>2]=q|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(o|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((o|0)!=(f|0)){continue}break}}h[e|0]=0;e=j[l+8>>2];p:{if(e>>>0>2]){f=j[d+28>>2];j[e>>2]=j[d+24>>2];j[e+4>>2]=f;j[e+8>>2]=j[d+32>>2];j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;j[l+8>>2]=e+12;break p}Db(l+4|0,d+24|0)}if(h[d+35|0]>-1){break m}T(j[d+24>>2]);break m;case 2:break n;default:break m}}o=j[d+56>>2];g=o-f|0;if(g>>>0>=4294967280){break a}l=j[a+4280>>2];q:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break q}q=g+16&-16;e=U(q);j[d+32>>2]=q|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(o|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((o|0)!=(f|0)){continue}break}}h[e|0]=0;e=j[l+8>>2];r:{if(e>>>0>2]){f=j[d+28>>2];j[e>>2]=j[d+24>>2];j[e+4>>2]=f;j[e+8>>2]=j[d+32>>2];j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;j[l+8>>2]=e+12;break r}Db(l+4|0,d+24|0)}if(h[d+35|0]<=-1){T(j[d+24>>2])}e=j[j[a+4280>>2]+8>>2];i[d+24>>1]=95;h[d+35|0]=1;h[d+8|0]=0;h[d+19|0]=0;wb(e-12|0,d+24|0,d+8|0);if(h[d+19|0]<=-1){T(j[d+8>>2])}if(h[d+35|0]>-1){break m}T(j[d+24>>2])}b=b+1|0;f=ka(d+40|0,d+56|0);g=j[d+40>>2];l=k[d+51|0];e=l<<24>>24<0;if((f|0)!=((e?g:d+40|0)+(e?j[d+44>>2]:l)|0)){continue}break}}e=j[a+4280>>2];b=1;if((r+2|0)==((j[e+8>>2]-j[e+4>>2]|0)/12|0)){break k}f=j[a+4280>>2];e=j[f+8>>2];g=j[f+4>>2];if((e|0)!=(g|0)){while(1){b=e-12|0;if(h[e-1|0]<=-1){T(j[b>>2])}e=b;if((g|0)!=(e|0)){continue}break}}j[f+8>>2]=g}b=0}if(h[d+51|0]<=-1){T(j[d+40>>2])}if(b){p=p+1|0;if((p|0)==(n|0)){break e}continue}break}e=0;break d}b=j[a+4280>>2];h[d+40|0]=0;h[d+51|0]=0;c=j[b+8>>2];s:{if(c>>>0>2]){e=j[d+44>>2];j[c>>2]=j[d+40>>2];j[c+4>>2]=e;j[c+8>>2]=j[d+48>>2];j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[b+8>>2]=c+12;break s}Db(b+4|0,d+40|0)}if(h[d+51|0]<=-1){T(j[d+40>>2])}b=j[a+4280>>2];h[d+40|0]=0;h[d+51|0]=0;c=j[b+8>>2];t:{if(c>>>0>2]){e=j[d+44>>2];j[c>>2]=j[d+40>>2];j[c+4>>2]=e;j[c+8>>2]=j[d+48>>2];j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[b+8>>2]=c+12;break t}Db(b+4|0,d+40|0)}if(h[d+51|0]<=-1){T(j[d+40>>2])}oq(j[a+4280>>2]);e=1}a=e;M=d- -64|0;return a}X();z()}X();z()}X();z()}function Rh(a,b,c){var d=0,e=0,f=0,g=0,i=0,m=0,n=0,o=0,q=0,r=0,s=0;f=M-48|0;M=f;Oq(a,b,c,f+31|0,f+24|0,f+20|0);a:{if(!j[b+48>>2]){break a}d=j[a>>2];if((d|0)==j[a+4>>2]){break a}while(1){d=p(e,12)+d|0;b:{if(j[b+44>>2]){ob(d);break b}Va(d)}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}c:{if(!k[f+31|0]){break c}d=j[a>>2];if((d|0)==j[a+4>>2]){break c}e=0;while(1){d=p(e,12)+d|0;d:{if(j[b+44>>2]){j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;ia(f+32|0,d);vb(f+32|0,j[b+40>>2]);da(d,f+32|0);d=j[f+32>>2];if(!d){break d}j[f+36>>2]=d;T(d);break d}nb(d,j[b+36>>2])}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}g=j[f+24>>2];e:{if(!g){break e}e=j[b>>2];if(!e|!j[e+4304>>2]){break e}d=j[a>>2];if((d|0)==j[a+4>>2]){break e}e=0;while(1){m=k[c+11|0];sa(f+32|0,c,(m<<24>>24<0?j[c+4>>2]:m)-g|0,-1);q=p(e,12)+d|0;d=k[f+43|0];m=d<<24>>24<0;aa(q,m?j[f+32>>2]:f+32|0,m?j[f+36>>2]:d);if(h[f+43|0]<=-1){T(j[f+32>>2])}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}c=j[b>>2];f:{if(!c|(l[j[b>>2]+4192>>1]?0:!l[c+4466>>1])|j[f+20>>2]-1>>>0>1){break f}g:{c=j[a+4>>2];g=j[a>>2];if((c|0)==(g|0)){d=0;break g}e=0;d=0;while(1){h:{i:{c=p(e,12);if((Ba(c+g|0,32,0)|0)!=-1){break i}if(jb(b,c+j[a>>2]|0,0)){break i}j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;j[f+16>>2]=0;j[f+8>>2]=0;j[f+12>>2]=0;c=c+j[a>>2]|0;j:{if(j[b+44>>2]){ia(f+8|0,c);break j}ua(f+32|0,c)}k:{if(j[b+44>>2]){Ua(f+8|0,j[b+40>>2]);da(f+32|0,f+8|0);break k}Pa(f+32|0,j[b+36>>2])}l:{if(!jb(b,f+32|0,0)){m:{if(j[b+44>>2]){vb(f+8|0,j[b+40>>2]);da(f+32|0,f+8|0);break m}nb(f+32|0,j[b+36>>2])}if(!jb(b,f+32|0,0)){break l}}ua(j[a>>2]+p(d,12)|0,f+32|0);d=d+1|0}c=j[f+8>>2];if(c){j[f+12>>2]=c;T(c)}if(h[f+43|0]>-1){break h}T(j[f+32>>2]);break h}g=j[a>>2];ua(g+p(d,12)|0,c+g|0);d=d+1|0}e=e+1|0;c=j[a+4>>2];g=j[a>>2];i=(c-g|0)/12|0;if(e>>>0>>0){continue}break}if(d>>>0<=i>>>0){break g}Qh(a,d-i|0);break f}if(d>>>0>=i>>>0){break f}d=p(d,12)+g|0;if((d|0)!=(c|0)){while(1){e=c-12|0;if(h[c-1|0]<=-1){T(j[e>>2])}c=e;if((d|0)!=(e|0)){continue}break}}j[a+4>>2]=d}m=0;n:{o:{e=j[a+4>>2];o=j[a>>2];p:{if((e|0)==(o|0)){g=0;break p}g=0;while(1){e=p(m,12);ua(p(g,12)+o|0,e+o|0);o=j[a>>2];c=0;q:{if(!g){break q}i=0;q=e+o|0;e=k[q+11|0];c=e<<24>>24;r=(c|0)<0?j[q+4>>2]:e;r:{s:{if((c|0)<=-1){while(1){d=p(i,12)+o|0;c=k[d+11|0];n=c<<24>>24<0;t:{if(((n?j[d+4>>2]:c)|0)!=(r|0)){break t}s=j[d>>2];e=j[q>>2];if(!n){if(!r){break r}if(k[e|0]!=(s&255)){break t}while(1){c=c-1|0;if(!c){break r}n=k[e+1|0];e=e+1|0;d=d+1|0;if((n|0)==k[d|0]){continue}break}break t}if(!r){break r}if(!qa(n?s:d,e,r)){break r}}i=i+1|0;if((i|0)!=(g|0)){continue}break s}}while(1){e=p(i,12)+o|0;c=k[e+11|0];d=c<<24>>24<0;u:{if(((d?j[e+4>>2]:c)|0)!=(r|0)){break u}n=j[e>>2];if(!d){if(!r){break r}if(k[q|0]!=(n&255)){break u}d=q;while(1){c=c-1|0;if(!c){break r}n=k[d+1|0];d=d+1|0;e=e+1|0;if((n|0)==k[e|0]){continue}break}break u}if(!r){break r}if(!qa(d?n:e,q,r)){break r}}i=i+1|0;if((i|0)!=(g|0)){continue}break}}c=g;break q}c=g-1|0}g=c+1|0;m=m+1|0;e=j[a+4>>2];c=(e-o|0)/12|0;if(m>>>0>>0){continue}break}if(c>>>0>>0){break o}m=c}if(g>>>0>=m>>>0){break n}d=p(g,12)+o|0;if((d|0)!=(e|0)){while(1){c=e-12|0;if(h[e-1|0]<=-1){T(j[c>>2])}e=c;if((e|0)!=(d|0)){continue}break}}j[a+4>>2]=d;break n}Qh(a,g-c|0)}b=j[b>>2];v:{if(!b){break v}b=j[b+4208>>2];if(!b){break v}d=j[a>>2];if((d|0)==j[a+4>>2]){break v}e=0;while(1){j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;c=p(e,12);if(Yc(b,c+d|0,f+32|0)){ua(c+j[a>>2]|0,f+32|0)}if(h[f+43|0]<=-1){T(j[f+32>>2])}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}M=f+48|0}function wp(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=M-48|0;M=d;a:{if(k[a+4264|0]){break a}h[a+4264|0]=1;j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;b:{c:{e=ka(b,d+40|0);f=k[b+11|0];g=f<<24>>24<0;if((e|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:f)|0)){break c}n=a+4268|0;o=-1;while(1){d:{switch(l|0){case 1:o=j[d+40>>2];g=o-e|0;if(g>>>0>=4294967280){break b}e:{if(g>>>0<=10){h[d+35|0]=g;f=d+24|0;break e}r=g+16&-16;f=U(r);j[d+32>>2]=r|-2147483648;j[d+24>>2]=f;j[d+28>>2]=g}if((e|0)!=(o|0)){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((o|0)!=(e|0)){continue}break}}h[f|0]=0;f:{if(h[d+35|0]>=0){o=ta(d+24|0);break f}e=j[d+24>>2];o=ta(e);T(e)}if((o|0)<=0){e=0;break a}ro(n,o);case 0:s=s+1|0;break;default:break d}}l=l+1|0;e=ka(b,d+40|0);f=k[b+11|0];g=f<<24>>24<0;if((e|0)!=((g?j[b>>2]:b)+(g?j[b+4>>2]:f)|0)){continue}break}if((s|0)!=2){break c}e=1;if((o|0)<1){break a}v=a+4268|0;r=0;while(1){g:{j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;h:{if(ub(c,d+24|0)){bb(d+24|0);j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;b=j[a+4272>>2];i:{if(b>>>0>2]){j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;j[b>>2]=j[d+8>>2];j[b+4>>2]=j[d+12>>2];j[b+8>>2]=j[d+16>>2];j[a+4272>>2]=b+12;break i}po(v,d+8|0);b=j[d+8>>2];if(!b){break i}j[d+12>>2]=b;T(b)}s=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;e=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];f=g<<24>>24<0;if((e|0)!=((f?b:d+24|0)+(f?j[d+28>>2]:g)|0)){while(1){j:{k:{switch(s|0){case 0:if(!_(d+24|0,e-(f&1?b:d+24|0)|0,12,1555,12)){break j}o=0;e=0;break h;case 1:break k;default:break j}}f=e;l:{l=j[d+40>>2];g=(l|0)==(e|0);if(g){break l}while(1){if(k[f|0]!=40){f=f+1|0;if((l|0)!=(f|0)){continue}break l}break}if((f|0)==(l|0)){break l}if(g){break j}m:{n:{while(1){b=e+1|0;f=e;g=k[e|0];if((g|0)==40){o:{p:{while(1){f=f+1|0;if((l|0)==(f|0)){break p}if(k[f|0]!=41){continue}break}e=b;b=f;break o}f=e}g=k[e|0]}q:{g=g&255;r:{if(!((g|0)!=42?(g|0)!=63:0)){e=j[a+4272>>2];q=e-8|0;b=j[q>>2];p=e-4|0;n=j[p>>2];if(b>>>0>>0){i[b>>1]=g;j[q>>2]=b+2;break r}u=e-12|0;e=j[u>>2];l=b-e|0;if((l|0)<=-3){break q}t=l>>1;b=t+1|0;n=n-e|0;n=n>>1>>>0<1073741823?b>>>0>n>>>0?b:n:2147483647;b=0;s:{if(!n){break s}if((n|0)<=-1){break n}b=U(n<<1)}t=b+(t<<1)|0;i[t>>1]=g;if((l|0)>=1){V(b,e,l)}j[u>>2]=b;j[q>>2]=t+2;j[p>>2]=b+(n<<1);if(!e){break r}T(e);break r}g=b-e|0;if(g>>>0>=4294967280){break m}n=j[a+4272>>2];q=j[a+4100>>2];t:{if(g>>>0<=10){h[d+19|0]=g;l=d+8|0;break t}p=g+16&-16;l=U(p);j[d+16>>2]=p|-2147483648;j[d+8>>2]=l;j[d+12>>2]=g}if((b|0)!=(e|0)){while(1){h[l|0]=k[e|0];l=l+1|0;e=e+1|0;if((e|0)!=(b|0)){continue}break}}h[l|0]=0;Uh(q,n-12|0,d+8|0);if(h[d+19|0]>-1){break r}T(j[d+8>>2])}e=f+1|0;l=j[d+40>>2];if((e|0)!=(l|0)){continue}break j}break}X();z()}D();z()}X();z()}b=l-e|0;if(b>>>0>=4294967280){break g}n=j[a+4272>>2];q=j[a+4100>>2];u:{if(b>>>0<=10){h[d+19|0]=b;f=d+8|0;break u}p=b+16&-16;f=U(p);j[d+16>>2]=p|-2147483648;j[d+8>>2]=f;j[d+12>>2]=b}if(!g){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}h[f|0]=0;Uh(q,n-12|0,d+8|0);if(h[d+19|0]>-1){break j}T(j[d+8>>2])}s=s+1|0;e=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];f=g<<24>>24<0;if((e|0)!=((f?b:d+24|0)+(f?j[d+28>>2]:g)|0)){continue}break}}b=j[a+4272>>2]-12|0;e=1;if(j[b>>2]!=j[b+4>>2]){break h}}e=0}if(h[d+35|0]<=-1){T(j[d+24>>2])}r=r+1|0;if((r|0)<(o|0)&e){continue}break a}break}X();z()}e=0;break a}X();z()}M=d+48|0;return e}function hc(a,b,c,d,e,f){var g=0,h=0,k=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;r=M-16|0;M=r;a:{b:{C=j[b>>2];k=C;if(k){break b}j[b>>2]=e;k=e;if(e){break b}d=0;break a}g=U(8);j[r>>2]=g;e=g+8|0;j[r+8>>2]=e;j[g>>2]=0;j[g+4>>2]=0;j[r+4>>2]=e;e=c<<2;j[e+k>>2]=d;g=i[d+2>>1];c:{d:{if(g){e:{m=j[a+4268>>2];e=j[a+4272>>2];z=(m|0)==(e|0);if(z){break e}e=(e-m|0)/12|0;A=e>>>0>1?e:1;while(1){k=p(n,12)+m|0;e=j[k+4>>2];t=j[k>>2];f:{if((e|0)==(t|0)){break f}u=e-t>>1;o=0;while(1){g:{x=l[t+(o<<1)>>1];if((x|0)==42|(x|0)==63){break g}s=j[d+4>>2];e=s;k=g;while(1){v=k>>>1|0;q=(v<<1)+e|0;y=x>>>0>l[q>>1];e=y?q+2|0:e;k=y?(v^-1)+k|0:v;if(k){continue}break}if((s+(g<<1)|0)==(e|0)|x>>>0>1]){break g}h=1;break f}o=o+1|0;if(u>>>0>o>>>0){continue}break}}n=n+1|0;if((A|0)!=(n|0)){continue}break}if(!h){break e}h:{if(z){break h}i:while(1){w=0;h=0;g=0;o=1;while(1){B=p(D,12);n=1;j:{k:{l:{if(g<<16>>16>(c|0)){break l}d=m+B|0;e=j[d>>2];d=j[d+4>>2]-e>>1;if(h>>>0>=d>>>0){break l}while(1){t=g<<16;q=t>>16;m:{n:{s=h+1|0;if(s>>>0>=d>>>0){break n}u=l[(s<<1)+e>>1];k=(u|0)==63;if((u|0)!=42?!k:0){break n}E=j[r>>2];F=E+(w<<16>>16<<3)|0;i[F+2>>1]=g;d=h+2|0;i[F>>1]=d;m=0;v=(k?g:c)<<16>>16;o:{if((v|0)>16){h=q;break o}y=(h<<1)+e|0;z=j[b>>2];h=q;while(1){e=j[z+(h<<2)>>2];s=i[e+2>>1];if(!s){m=1;break o}o=l[y>>1];A=j[e+4>>2];e=A;k=s;while(1){x=k>>>1|0;u=(x<<1)+e|0;t=o>>>0>l[u>>1];e=t?u+2|0:e;k=t?(x^-1)+k|0:x;if(k){continue}break}if((A+(s<<1)|0)==(e|0)){m=1;break o}if(o>>>0>1]){m=1;break o}h=(g<<16)+65536>>16;g=h;if((v|0)>=(g|0)){continue}break}g=h}e=h-q|0;j[F+4>>2]=e;p:{if((e|0)<1){break p}w=w+1|0;h=(w<<16>>16)+1|0;e=j[r+4>>2]-E>>3;if(h>>>0>e>>>0){Gl(r,h-e|0);break p}if(e>>>0<=h>>>0){break p}j[r+4>>2]=(h<<3)+E}o=1;if((m^1)&g<<16>>16>(c|0)){h=d;break l}m=j[a+4268>>2];o=0;break m}g=0;k=j[j[b>>2]+(q<<2)>>2];if(!k){break k}q=i[k+2>>1];if(!q){break k}v=l[(h<<1)+e>>1];A=j[k+4>>2];e=A;k=q;while(1){y=k>>>1|0;u=(y<<1)+e|0;z=v>>>0>l[u>>1];e=z?u+2|0:e;k=z?(y^-1)+k|0:y;if(k){continue}break}if((A+(q<<1)|0)==(e|0)|v>>>0>1]){break k}g=t+65536>>16;n=(g|0)>(c|0)?n:(d|0)!=(s|0)?n:0;o=1;d=s}h=d;if(g<<16>>16>(c|0)){break l}d=m+B|0;e=j[d>>2];d=j[d+4>>2]-e>>1;if(h>>>0>>0){continue}break}}k=(o|0)!=0;if(!n){g=n;break j}if(!o){g=n;break j}d=1;g=j[a+4268>>2]+B|0;q=j[g>>2];e=h;g=j[g+4>>2]-q>>1;if(e>>>0>=g>>>0){break c}while(1){k=1;d=e+1|0;if(d>>>0>=g>>>0){g=n;break j}d=l[q+(d<<1)>>1];if(!((d|0)==63|(d|0)==42)){g=n;break j}e=e+2|0;if(g>>>0>e>>>0){continue}break}d=1;break c}k=1;o=1}q:{if(w&65535){e=j[r>>2];while(1){h=e+((w<<16>>16)-1<<3)|0;d=j[h+4>>2];g=d-1|0;j[h+4>>2]=g;if((d|0)>0){break q}w=w-1|0;if(w&65535){continue}break}h=i[h>>1];g=1}r:{if(!(!g|k^1)){if(!f){d=1;break c}d=1;e=j[a+4268>>2]+B|0;if(j[e+4>>2]-j[e>>2]>>1>>>0<=h>>>0){break c}m=j[a+4268>>2];e=B+m|0;n=j[e>>2];g=j[e+4>>2]-n>>1;if(g>>>0<=h>>>0){break c}while(1){e=h+1|0;if(e>>>0>=g>>>0){break r}e=l[n+(e<<1)>>1];if((e|0)!=42?(e|0)!=63:0){break r}h=h+2|0;if(g>>>0>h>>>0){continue}break}break c}m=j[a+4268>>2]}D=D+1|0;if(D>>>0<(j[a+4272>>2]-m|0)/12>>>0){continue i}break h}g=g+l[h+2>>1]|0;h=i[h>>1];m=j[a+4268>>2];continue}}}d=0;j[j[b>>2]+(c<<2)>>2]=0;if(C){break c}break d}d=0;j[j[b>>2]+(c<<2)>>2]=0;if(!C){break d}break c}d=0;j[e+j[b>>2]>>2]=0;if(C){break c}}j[b>>2]=0}a=j[r>>2];if(!a){break a}j[r+4>>2]=a;T(a)}M=r+16|0;return d}function yb(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0;l=M-112|0;M=l;m=h;p=i&2147483647;n=c-(b>>>0<1)|0;k=b-1|0;r=(k|0)==-1&(n|0)==-1;t=d;q=(c|0)==(n|0)&b>>>0>k>>>0|c>>>0>n>>>0;o=d+q|0;n=e&2147483647;k=n;k=o>>>0>>0?k+1|0:k;q=o-1|0;a:{b:{k=k-(o>>>0<1)|0;if(!((q|0)==-1&(k|0)==2147418111?r:k>>>0>2147418111)){k=f;o=g-(k>>>0<1)|0;k=k-1|0;r=(k|0)!=-1|(o|0)!=-1;q=(g|0)==(o|0)&f>>>0>k>>>0|g>>>0>o>>>0;o=q+m|0;k=p;k=o>>>0>>0?k+1|0:k;q=o;o=o-1|0;k=k-(q>>>0<1)|0;if((o|0)==-1&(k|0)==2147418111?r:(k|0)==2147418111&(o|0)!=-1|k>>>0<2147418111){break b}}if(!(!t&(n|0)==2147418112?!(b|c):n>>>0<2147418112)){h=d;i=e|32768;f=b;g=c;break a}if(!(!m&(p|0)==2147418112?!(f|g):p>>>0<2147418112)){i=i|32768;break a}if(!(b|t|(n^2147418112|c))){k=d;d=!(b^f|d^h|(c^g|e^i^-2147483648));h=d?0:k;i=d?2147450880:e;f=d?0:b;g=d?0:c;break a}if(!(f|m|(p^2147418112|g))){break a}if(!(b|t|(c|n))){if(f|m|(g|p)){break a}f=b&f;g=c&g;h=d&h;i=e&i;break a}if(f|m|(g|p)){break b}f=b;g=c;h=d;i=e;break a}r=(m|0)==(t|0)&(n|0)==(p|0)?(c|0)==(g|0)&b>>>0>>0|c>>>0>>0:(n|0)==(p|0)&m>>>0>t>>>0|n>>>0

>>0;k=r;o=k?f:b;p=k?g:c;m=k?i:e;t=m;n=k?h:d;k=m&65535;i=r?e:i;e=i;h=r?d:h;q=i>>>16&32767;m=m>>>16&32767;if(!m){d=!(k|n);i=d<<6;m=s(d?o:n)+32|0;d=s(d?p:k);d=i+((d|0)==32?m:d)|0;mb(l+96|0,o,p,n,k,d-15|0);n=j[l+104>>2];o=j[l+96>>2];p=j[l+100>>2];m=16-d|0;k=j[l+108>>2]}f=r?b:f;g=r?c:g;i=e&65535;if(!q){b=!(h|i);c=b<<6;d=s(b?f:h)+32|0;b=s(b?g:i);b=c+((b|0)==32?d:b)|0;mb(l+80|0,f,g,h,i,b-15|0);q=16-b|0;h=j[l+88>>2];i=j[l+92>>2];g=j[l+84>>2];f=j[l+80>>2]}b=h;c=i<<3|b>>>29;h=b<<3|g>>>29;i=c|524288;b=n;d=k<<3|b>>>29;n=b<<3|p>>>29;u=d;r=e^t;b=f;k=g<<3|b>>>29;b=b<<3;c=k;d=m-q|0;e=b;c:{if(!d){break c}if(d>>>0>127){h=0;i=0;k=0;e=1;break c}mb(l- -64|0,b,c,h,i,128-d|0);Fc(l+48|0,b,c,h,i,d);h=j[l+56>>2];i=j[l+60>>2];k=j[l+52>>2];e=j[l+48>>2]|((j[l+64>>2]|j[l+72>>2])!=0|(j[l+68>>2]|j[l+76>>2])!=0)}f=k;d=n;q=u|524288;b=o;k=p<<3|b>>>29;c=b<<3;d:{if((r|0)<-1?1:(r|0)<=-1){p=e;b=c-e|0;n=h;o=d-h|0;e=(f|0)==(k|0)&c>>>0>>0|f>>>0>k>>>0;h=o-e|0;c=k-((c>>>0

>>0)+f|0)|0;i=(q-((d>>>0>>0)+i|0)|0)-(e>>>0>o>>>0)|0;if(!(b|h|(c|i))){f=0;g=0;h=0;i=0;break a}if(i>>>0>524287){break d}f=b;d=!(h|i);e=d<<6;g=s(d?b:h)+32|0;b=s(d?c:i);b=e+((b|0)==32?g:b)|0;b=b-12|0;mb(l+32|0,f,c,h,i,b);m=m-b|0;h=j[l+40>>2];i=j[l+44>>2];b=j[l+32>>2];c=j[l+36>>2];break d}b=c;g=b+e|0;c=f+k|0;c=b>>>0>g>>>0?c+1|0:c;b=g;g=(c|0)==(f|0)&e>>>0>b>>>0|c>>>0>>0;e=d;f=d+h|0;d=i+q|0;d=e>>>0>f>>>0?d+1|0:d;e=g+f|0;h=e;i=h>>>0>>0?d+1|0:d;if(!(i&1048576)){break d}b=b&1|((c&1)<<31|b>>>1);c=h<<31|c>>>1;m=m+1|0;h=(i&1)<<31|h>>>1;i=i>>>1|0}p=0;t=t&-2147483648;if((m|0)>=32767){h=p;i=t|2147418112;f=0;g=0;break a}e=0;e:{if((m|0)>0){e=m;break e}mb(l+16|0,b,c,h,i,m+127|0);Fc(l,b,c,h,i,1-m|0);b=j[l>>2]|((j[l+16>>2]|j[l+24>>2])!=0|(j[l+20>>2]|j[l+28>>2])!=0);c=j[l+4>>2];h=j[l+8>>2];i=j[l+12>>2]}k=(c&7)<<29|b>>>3;m=b&7;b=k+(m>>>0>4)|0;d=h<<29|c>>>3;c=b>>>0>>0?d+1|0:d;f=b;g=c;b=(d|0)==(c|0)&b>>>0>>0|c>>>0>>0;d=p|((i&7)<<29|h>>>3);b=b+d|0;k=t|(i>>>3&65535|e<<16);h=b;i=b>>>0>>0?k+1|0:k;f:{if((m|0)==4){k=i;c=0;d=g+c|0;e=f&1;b=f+e|0;d=b>>>0>>0?d+1|0:d;f=b;g=d;c=(c|0)==(d|0)&b>>>0>>0|c>>>0>d>>>0;b=c+h|0;h=b;i=b>>>0>>0?k+1|0:k;break f}if(!m){break a}}}j[a>>2]=f;j[a+4>>2]=g;j[a+8>>2]=h;j[a+12>>2]=i;M=l+112|0}function Tg(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0,o=0,q=0,r=0,s=0;q=M-16|0;M=q;a:{b:{c:{d:{e:{f:{if(b>>>0<=36){while(1){f=j[a+4>>2];g:{if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break g}f=pa(a)}if((f|0)==32|f-9>>>0<5){continue}break}h:{i:{switch(f-43|0){case 0:case 2:break i;default:break h}}r=(f|0)==45?-1:0;f=j[a+4>>2];if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break h}f=pa(a)}j:{if(!(b&-17|(f|0)!=48)){f=j[a+4>>2];k:{if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break k}f=pa(a)}if((f&-33)==88){b=16;f=j[a+4>>2];l:{if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break l}f=pa(a)}if(k[f+123041|0]<16){break e}if(!j[a+104>>2]){d=0;e=0;if(c){break a}break b}b=j[a+4>>2];j[a+4>>2]=b-1;if(!c){break b}j[a+4>>2]=b-2;d=0;e=0;break a}if(b){break j}b=8;break e}b=b?b:10;if(b>>>0>k[f+123041|0]){break j}if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}d=0;e=0;Ib(a,0,0);j[37203]=28;break a}if((b|0)!=10){break e}c=f-48|0;if(c>>>0<=9){b=0;while(1){b=p(b,10)+c|0;c=j[a+4>>2];m:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break m}f=pa(a)}c=f-48|0;if(b>>>0<429496729?c>>>0<=9:0){continue}break}g=b}if(c>>>0>9){break f}i=Cr(g,0,10,0);b=N;while(1){f=c+i|0;l=f>>>0>>0?b+1|0:b;g=f;i=(l|0)==429496729&f>>>0>=2576980378|l>>>0>429496729;b=j[a+4>>2];n:{if(b>>>0>2]){j[a+4>>2]=b+1;f=k[b|0];break n}f=pa(a)}c=f-48|0;if(i|c>>>0>9){break f}i=Cr(g,l,10,0);b=N;if((b|0)==-1&(c^-1)>>>0>=i>>>0|(b|0)!=-1){continue}break}b=10;break d}j[37203]=28;d=0;e=0;break a}b=10;if(c>>>0<=9){break d}break c}if(b-1&b){c=k[f+123041|0];if(c>>>0>>0){while(1){i=p(b,i)+c|0;g=i>>>0<=119304646;c=j[a+4>>2];o:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break o}f=pa(a)}c=k[f+123041|0];if(c>>>0>>0?g:0){continue}break}g=i}if(b>>>0<=c>>>0){break d}i=b;while(1){n=Cr(g,l,i,0);o=N;c=c&255;if((o|0)==-1&(c^-1)>>>0>>0){break d}l=o;f=c+n|0;l=f>>>0>>0?l+1|0:l;g=f;o=b;c=j[a+4>>2];p:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break p}f=pa(a)}c=k[f+123041|0];if(o>>>0<=c>>>0){break d}Nb(q,i,0,g,l);if(!(j[q+8>>2]|j[q+12>>2])){continue}break}break d}o=h[(p(b,23)>>>5&7)+123297|0];c=k[f+123041|0];if(c>>>0>>0){while(1){i=i<>>0<=134217727;c=j[a+4>>2];q:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break q}f=pa(a)}c=k[f+123041|0];if(c>>>0>>0?g:0){continue}break}g=i}i=o;n=i&31;if((i&63)>>>0>=32){o=0;n=-1>>>n|0}else{o=-1>>>n|0;n=(1<>>n}if(!o&g>>>0>n>>>0|b>>>0<=c>>>0){break d}while(1){s=c&255;c=i;f=c&31;if((c&63)>>>0>=32){l=g<>>32-f|l<>2];r:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break r}f=pa(a)}if((l|0)==(o|0)&g>>>0>n>>>0|l>>>0>o>>>0){break d}c=k[f+123041|0];if(c>>>0>>0){continue}break}}if(k[f+123041|0]>=b>>>0){break c}while(1){f=j[a+4>>2];s:{if(f>>>0>2]){j[a+4>>2]=f+1;c=k[f|0];break s}c=pa(a)}if(k[c+123041|0]>>0){continue}break}j[37203]=68;r=d&1?0:r;g=d;l=e}if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}t:{if((e|0)==(l|0)&d>>>0>g>>>0|e>>>0>l>>>0){break t}if(!(r|d&1)){j[37203]=68;a=d;d=a-1|0;e=e-(a>>>0<1)|0;break a}if((e|0)==(l|0)&d>>>0>=g>>>0|e>>>0>l>>>0){break t}j[37203]=68;break a}a=r;b=a^g;d=b-a|0;c=a>>31;e=(c^l)-((a>>>0>b>>>0)+c|0)|0;break a}d=0;e=0;Ib(a,0,0)}M=q+16|0;N=e;return d} -function Ce(a,b,c,d,e,f,g){var l=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;l=M-80|0;M=l;j[l+76>>2]=b;B=l+55|0;y=l+56|0;b=0;a:{b:while(1){c:{if((v|0)<0){break c}if((2147483647-v|0)<(b|0)){j[37203]=61;v=-1;break c}v=b+v|0}d:{e:{f:{q=j[l+76>>2];b=q;m=k[b|0];if(m){while(1){g:{m=m&255;h:{if(!m){m=b;break h}if((m|0)!=37){break g}m=b;while(1){if(k[b+1|0]!=37){break h}n=b+2|0;j[l+76>>2]=n;m=m+1|0;r=k[b+2|0];b=n;if((r|0)==37){continue}break}}b=m-q|0;if(a){ab(a,q,b)}if(b){continue b}m=l;b=j[l+76>>2];i:{if(!(k[b+2|0]!=36|h[j[l+76>>2]+1|0]-48>>>0>=10)){x=h[b+1|0]-48|0;z=1;b=b+3|0;break i}x=-1;b=b+1|0}j[m+76>>2]=b;s=0;w=h[b|0];n=w-32|0;j:{if(n>>>0>31){m=b;break j}m=b;n=1<>2]=m;s=n|s;w=h[b+1|0];n=w-32|0;if(n>>>0>=32){break j}b=m;n=1<>>0>=10){break m}b=j[l+76>>2];if(k[b+2|0]!=36){break m}j[((h[b+1|0]<<2)+e|0)-192>>2]=10;t=j[((h[b+1|0]<<3)+d|0)-384>>2];z=1;b=b+3|0;break l}if(z){break f}z=0;t=0;if(a){b=j[c>>2];j[c>>2]=b+4;t=j[b>>2]}b=j[l+76>>2]+1|0}j[n+76>>2]=b;if((t|0)>-1){break k}t=0-t|0;s=s|8192;break k}t=qh(l+76|0);if((t|0)<0){break f}b=j[l+76>>2]}r=-1;n:{if(k[b|0]!=46){break n}if(k[b+1|0]==42){o:{if(h[b+2|0]-48>>>0>=10){break o}b=j[l+76>>2];if(k[b+3|0]!=36){break o}j[((h[b+2|0]<<2)+e|0)-192>>2]=10;r=j[((h[b+2|0]<<3)+d|0)-384>>2];b=b+4|0;j[l+76>>2]=b;break n}if(z){break f}if(a){b=j[c>>2];j[c>>2]=b+4;r=j[b>>2]}else{r=0}b=j[l+76>>2]+2|0;j[l+76>>2]=b;break n}j[l+76>>2]=b+1;r=qh(l+76|0);b=j[l+76>>2]}m=0;while(1){A=m;u=-1;if(h[b|0]-65>>>0>57){break a}w=b+1|0;j[l+76>>2]=w;m=h[b|0];b=w;m=k[(m+p(A,58)|0)+121471|0];if(m-1>>>0<8){continue}break}p:{q:{if((m|0)!=19){if(!m){break a}if((x|0)>=0){j[(x<<2)+e>>2]=m;b=(x<<3)+d|0;m=j[b+4>>2];j[l+64>>2]=j[b>>2];j[l+68>>2]=m;break q}if(!a){break d}ph(l- -64|0,m,c,g);w=j[l+76>>2];break p}if((x|0)>-1){break a}}b=0;if(!a){continue b}}n=s&-65537;m=s&8192?n:s;u=0;x=121517;s=y;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{b=h[w-1|0];b=A?(b&15)==3?b&-33:b:b;switch(b-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break e;default:break G}}H:{switch(b-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break e;default:break H}}if((b|0)==83){break w}break e}b=j[l+64>>2];q=j[l+68>>2];x=121517;break z}b=0;I:{switch(A&255){case 0:j[j[l+64>>2]>>2]=v;continue b;case 1:j[j[l+64>>2]>>2]=v;continue b;case 2:m=j[l+64>>2];j[m>>2]=v;j[m+4>>2]=v>>31;continue b;case 3:i[j[l+64>>2]>>1]=v;continue b;case 4:h[j[l+64>>2]]=v;continue b;case 6:j[j[l+64>>2]>>2]=v;continue b;case 7:break I;default:continue b}}m=j[l+64>>2];j[m>>2]=v;j[m+4>>2]=v>>31;continue b}r=r>>>0>8?r:8;m=m|8;b=120}q=Qo(j[l+64>>2],j[l+68>>2],y,b&32);if(!(m&8)|!(j[l+64>>2]|j[l+68>>2])){break y}x=(b>>>4|0)+121517|0;u=2;break y}q=Po(j[l+64>>2],j[l+68>>2],y);if(!(m&8)){break y}b=y-q|0;r=(b|0)<(r|0)?r:b+1|0;break y}n=j[l+68>>2];q=n;b=j[l+64>>2];if((n|0)<-1?1:(n|0)<=-1){q=0-(q+((b|0)!=0)|0)|0;b=0-b|0;j[l+64>>2]=b;j[l+68>>2]=q;u=1;x=121517;break z}if(m&2048){u=1;x=121518;break z}u=m&1;x=u?121519:121517}q=Gc(b,q,y)}m=(r|0)>-1?m&-65537:m;b=j[l+64>>2];n=j[l+68>>2];if(!(!!(b|n)|r)){r=0;q=y;break e}b=!(b|n)+(y-q|0)|0;r=(b|0)<(r|0)?r:b;break e}b=j[l+64>>2];q=b?b:121527;b=Aa(q,0,r);s=b?b:r+q|0;m=n;r=b?b-q|0:r;break e}n=j[l+64>>2];if(r){break u}b=0;tb(a,32,t,0,m);break t}j[l+12>>2]=0;j[l+8>>2]=j[l+64>>2];j[l+64>>2]=l+8;r=-1;n=l+8|0}b=0;J:{while(1){q=j[n>>2];if(!q){break J}q=th(l+4|0,q);s=(q|0)<0;if(!(s|q>>>0>r-b>>>0)){n=n+4|0;b=b+q|0;if(r>>>0>b>>>0){continue}break J}break}u=-1;if(s){break a}}tb(a,32,t,b,m);if(!b){b=0;break t}n=0;w=j[l+64>>2];while(1){q=j[w>>2];if(!q){break t}q=th(l+4|0,q);n=q+n|0;if((n|0)>(b|0)){break t}ab(a,l+4|0,q);w=w+4|0;if(b>>>0>n>>>0){continue}break}}tb(a,32,t,b,m^8192);b=(b|0)<(t|0)?t:b;continue b}b=O[f|0](a,o[l+64>>3],t,r,m,b)|0;continue b}h[l+55|0]=j[l+64>>2];r=1;q=B;m=n;break e}n=b+1|0;j[l+76>>2]=n;m=k[b+1|0];b=n;continue}}u=v;if(a){break a}if(!z){break d}b=1;while(1){a=j[(b<<2)+e>>2];if(a){ph((b<<3)+d|0,a,c,g);u=1;b=b+1|0;if((b|0)!=10){continue}break a}break}u=1;if(b>>>0>=10){break a}while(1){if(j[(b<<2)+e>>2]){break f}b=b+1|0;if((b|0)!=10){continue}break}break a}u=-1;break a}s=s-q|0;r=(r|0)<(s|0)?s:r;n=r+u|0;b=(n|0)>(t|0)?n:t;tb(a,32,b,n,m);ab(a,x,u);tb(a,48,b,n,m^65536);tb(a,48,r,s,0);ab(a,q,s);tb(a,32,b,n,m^8192);continue}break}u=0}M=l+80|0;return u}function Hp(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=M+ -64|0;M=e;a:{d=0;b:{if(k[a+4244|0]){break b}h[a+4244|0]=1;j[e+56>>2]=h[b+11|0]<0?j[b>>2]:b;c:{d:{e:{g=ka(b,e+56|0);d=k[b+11|0];f=d<<24>>24<0;if((g|0)==((f?j[b>>2]:b)+(f?j[b+4>>2]:d)|0)){break e}n=a+4248|0;q=-1;while(1){f:{switch(o|0){case 1:q=j[e+56>>2];f=q-g|0;if(f>>>0>=4294967280){break a}g:{if(f>>>0<=10){h[e+11|0]=f;d=e;break g}p=f+16&-16;d=U(p);j[e+8>>2]=p|-2147483648;j[e>>2]=d;j[e+4>>2]=f}if((g|0)!=(q|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}}h[d|0]=0;h:{if(h[e+11|0]>=0){q=ta(e);break h}d=j[e>>2];q=ta(d);T(d)}d=0;if((q|0)<=0){break b}Bo(n,q);case 0:l=l+1|0;break;default:break f}}o=o+1|0;g=ka(b,e+56|0);d=k[b+11|0];f=d<<24>>24<0;if((g|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:d)|0)){continue}break}if((l|0)!=2){break e}if((q|0)>=1){break d}break c}d=0;break b}t=a+4248|0;s=1;while(1){j[e+48>>2]=0;j[e+40>>2]=0;j[e+44>>2]=0;i:{if(ub(c,e+40|0)){bb(e+40|0);j[e+32>>2]=0;j[e+36>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;j[e>>2]=0;j[e+4>>2]=0;b=j[a+4252>>2];j:{if(b>>>0>2]){d=j[e+4>>2];j[b>>2]=j[e>>2];j[b+4>>2]=d;j[b+8>>2]=j[e+8>>2];j[e+8>>2]=0;j[e>>2]=0;j[e+4>>2]=0;j[b+20>>2]=j[e+20>>2];d=j[e+16>>2];j[b+12>>2]=j[e+12>>2];j[b+16>>2]=d;j[e+12>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;j[b+32>>2]=j[e+32>>2];d=j[e+28>>2];j[b+24>>2]=j[e+24>>2];j[b+28>>2]=d;j[e+24>>2]=0;j[e+28>>2]=0;j[e+32>>2]=0;j[b+36>>2]=j[e+36>>2];j[a+4252>>2]=b+40;break j}vo(t,e);if(h[e+35|0]>-1){break j}T(j[e+24>>2])}if(h[e+23|0]<=-1){T(j[e+12>>2])}if(h[e+11|0]<=-1){T(j[e>>2])}b=0;j[e+56>>2]=h[e+51|0]<0?j[e+40>>2]:e+40|0;while(1){g=ka(e+40|0,e+56|0);d=k[e+51|0];f=d<<24>>24;k:{if((f|0)<=-1){d=j[e+40>>2];if((d+j[e+44>>2]|0)!=(g|0)){break k}T(d);break i}if((d+(e+40|0)|0)==(g|0)){break i}}l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{v:{w:{x:{switch(b|0){case 0:if(!_(e+40|0,g-((f|0)<0?j[e+40>>2]:e+40|0)|0,20,1534,20)){break m}if(h[e+51|0]>-1){break c}T(j[e+40>>2]);break c;case 1:p=j[e+56>>2];l=p-g|0;n=j[a+4252>>2];f=n-40|0;d=h[n-29|0];if((d|0)<=-1){d=(j[n-32>>2]&2147483647)-1|0;if(l>>>0<=d>>>0){break p}o=j[n-36>>2];break q}if(l>>>0>10){break r}break o;case 2:p=j[e+56>>2];l=p-g|0;n=j[a+4252>>2];f=n-28|0;d=h[n-17|0];if((d|0)<=-1){d=(j[n-20>>2]&2147483647)-1|0;if(l>>>0<=d>>>0){break u}o=j[n-24>>2];break v}if(l>>>0>10){break w}break t;case 3:break x;default:break m}}p=j[e+56>>2];l=p-g|0;n=j[a+4252>>2];f=n-16|0;y:{z:{d=h[n-5|0];A:{B:{if((d|0)<=-1){d=(j[n-8>>2]&2147483647)-1|0;if(l>>>0<=d>>>0){break A}o=j[n-12>>2];break B}if(l>>>0<=10){break z}o=d&255;d=10}pb(f,d,l-d|0,o,0,o,0);if(h[f+11|0]>-1){break z}}d=j[f>>2];break y}d=f}if((g|0)!=(p|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[d|0]=0;C:{if(h[f+11|0]<=-1){j[n-12>>2]=l;break C}h[f+11|0]=l}j[a+4260>>2]=1;break m}o=d&255;d=10}pb(f,d,l-d|0,o,0,o,0);if(h[f+11|0]>-1){break t}}d=j[f>>2];break s}d=f}if((g|0)!=(p|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[d|0]=0;D:{if(h[f+11|0]<=-1){j[n-24>>2]=l;break D}h[f+11|0]=l}l=Ba(j[a+4252>>2]-28|0,47,0);if((l|0)==-1){break m}d=j[a+4252>>2];o=d-28|0;f=h[d-17|0];E:{if((f|0)<=-1){g=j[d-24>>2];if(l>>>0>=g>>>0){break l}o=j[o>>2];break E}g=f&255;if(l>>>0>=g>>>0){break l}}d=g;g=l+1|0;f=d-g|0;if(f>>>0>=4294967280){break a}F:{G:{if(f>>>0>=11){n=f+16&-16;d=U(n);j[e+8>>2]=n|-2147483648;j[e>>2]=d;j[e+4>>2]=f;break G}h[e+11|0]=f;d=e;if(!f){break F}}V(d,g+o|0,f)}h[d+f|0]=0;Wa(j[a+4252>>2]-28|0,l);d=Ha(j[a+4100>>2],h[e+11|0]<0?j[e>>2]:e);i[j[a+4252>>2]-2>>1]=d;if(h[e+11|0]>-1){break m}T(j[e>>2]);b=b+1|0;continue}o=d&255;d=10}pb(f,d,l-d|0,o,0,o,0);if(h[f+11|0]>-1){break o}}d=j[f>>2];break n}d=f}if((g|0)!=(p|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[d|0]=0;H:{if(h[f+11|0]<=-1){j[n-36>>2]=l;break H}h[f+11|0]=l}l=Ba(j[a+4252>>2]-40|0,47,0);if((l|0)==-1){break m}d=j[a+4252>>2];o=d-40|0;f=h[d-29|0];I:{if((f|0)<=-1){g=j[d-36>>2];if(l>>>0>=g>>>0){break l}o=j[o>>2];break I}g=f&255;if(l>>>0>=g>>>0){break l}}d=g;g=l+1|0;f=d-g|0;if(f>>>0>=4294967280){break a}J:{K:{if(f>>>0>=11){n=f+16&-16;d=U(n);j[e+8>>2]=n|-2147483648;j[e>>2]=d;j[e+4>>2]=f;break K}h[e+11|0]=f;d=e;if(!f){break J}}V(d,g+o|0,f)}h[d+f|0]=0;Wa(j[a+4252>>2]-40|0,l);d=Ha(j[a+4100>>2],h[e+11|0]<0?j[e>>2]:e);i[j[a+4252>>2]-4>>1]=d;if(h[e+11|0]>-1){break m}T(j[e>>2]);b=b+1|0;continue}b=b+1|0;continue}break}X();z()}if(h[e+51|0]>-1){break c}T(j[e+40>>2]);break c}r=r+1|0;s=(r|0)<(q|0);if((q|0)!=(r|0)){continue}break}}d=s^1}a=d;M=e- -64|0;return a&1}X();z()}function xd(a,b,c){var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0;a:{b:{c:while(1){j=b-2|0;d:while(1){d=a;e:while(1){f:{g:{h:{i:{j:{k:{l:{m:{a=b-d|0;e=a>>1;switch(e|0){case 4:break k;case 3:break l;case 2:break m;case 0:case 1:break f;case 5:break i;default:break j}}a=b-2|0;b=k[a|0]|k[a+1|0]<<8;c=k[d|0]|k[d+1|0]<<8;if(b>>>0>=c>>>0){break f}h[d|0]=b;h[d+1|0]=b>>>8;h[a|0]=c;h[a+1|0]=c>>>8;return}a=b-2|0;c=k[a|0]|k[a+1|0]<<8;e=k[d+2|0]|k[d+3|0]<<8;b=k[d|0]|k[d+1|0]<<8;if(e>>>0>=b>>>0){if(c>>>0>=e>>>0){break f}h[d+2|0]=c;h[d+3|0]=c>>>8;h[a|0]=e;h[a+1|0]=e>>>8;a=k[d+2|0]|k[d+3|0]<<8;b=k[d|0]|k[d+1|0]<<8;if(a>>>0>=b>>>0){break f}break b}if(c>>>0>>0){h[d|0]=c;h[d+1|0]=c>>>8;break a}h[d+2|0]=b;h[d+3|0]=b>>>8;h[d|0]=e;h[d+1|0]=e>>>8;c=k[a|0]|k[a+1|0]<<8;if(c>>>0>=b>>>0){break f}h[d+2|0]=c;h[d+3|0]=c>>>8;break a}e=b-2|0;b=k[d+4|0]|k[d+5|0]<<8;a=k[d+2|0]|k[d+3|0]<<8;c=k[d|0]|k[d+1|0]<<8;n:{if(a>>>0>=c>>>0){if(a>>>0<=b>>>0){a=b;break n}h[d+4|0]=a;h[d+5|0]=a>>>8;h[d+2|0]=b;h[d+3|0]=b>>>8;if(b>>>0>=c>>>0){break n}h[d+2|0]=c;h[d+3|0]=c>>>8;h[d|0]=b;h[d+1|0]=b>>>8;break n}o:{if(a>>>0>b>>>0){h[d+4|0]=c;h[d+5|0]=c>>>8;h[d|0]=b;h[d+1|0]=b>>>8;break o}h[d+2|0]=c;h[d+3|0]=c>>>8;h[d|0]=a;h[d+1|0]=a>>>8;if(b>>>0>=c>>>0){a=b;break n}h[d+4|0]=c;h[d+5|0]=c>>>8;h[d+2|0]=b;h[d+3|0]=b>>>8}a=c}b=k[e|0]|k[e+1|0]<<8;if(b>>>0>=(a&65535)>>>0){break f}h[d+4|0]=b;h[d+5|0]=b>>>8;h[e|0]=a;h[e+1|0]=a>>>8;a=k[d+4|0]|k[d+5|0]<<8;b=k[d+2|0]|k[d+3|0]<<8;if(a>>>0>=b>>>0){break f}h[d+4|0]=b;h[d+5|0]=b>>>8;h[d+2|0]=a;h[d+3|0]=a>>>8;b=k[d|0]|k[d+1|0]<<8;if(b>>>0<=a>>>0){break f}break b}if((a|0)<=61){a=k[d+4|0]|k[d+5|0]<<8;c=k[d+2|0]|k[d+3|0]<<8;e=k[d|0]|k[d+1|0]<<8;p:{if(c>>>0>=e>>>0){if(a>>>0>=c>>>0){c=a;break p}h[d+4|0]=c;h[d+5|0]=c>>>8;h[d+2|0]=a;h[d+3|0]=a>>>8;if(a>>>0>=e>>>0){break p}h[d+2|0]=e;h[d+3|0]=e>>>8;h[d|0]=a;h[d+1|0]=a>>>8;break p}q:{if(a>>>0>>0){h[d+4|0]=e;h[d+5|0]=e>>>8;h[d|0]=a;h[d+1|0]=a>>>8;break q}h[d+2|0]=e;h[d+3|0]=e>>>8;h[d|0]=c;h[d+1|0]=c>>>8;if(a>>>0>=e>>>0){c=a;break p}h[d+4|0]=e;h[d+5|0]=e>>>8;h[d+2|0]=a;h[d+3|0]=a>>>8}c=e}a=d+6|0;if((b|0)==(a|0)){break f}f=d+4|0;while(1){j=a;e=a;i=k[a|0]|k[a+1|0]<<8;if(i>>>0<(c&65535)>>>0){while(1){r:{h[e|0]=c;h[e+1|0]=c>>>8;a=f;if((d|0)==(a|0)){a=d;break r}e=a;f=a-2|0;c=k[f|0]|k[f+1|0]<<8;if(i>>>0>>0){continue}}break}h[a|0]=i;h[a+1|0]=i>>>8}a=j+2|0;if((b|0)==(a|0)){break f}c=k[j|0]|k[j+1|0]<<8;f=j;continue}}g=((e|0)/2<<1)+d|0;s:{if((a|0)>=1999){a=(e|0)/4<<1;i=fe(d,a+d|0,g,a+g|0,j);break s}e=k[g|0]|k[g+1|0]<<8;a=k[d|0]|k[d+1|0]<<8;t:{if(e>>>0>=a>>>0){a=k[j|0]|k[j+1|0]<<8;i=0;if(a>>>0>=e>>>0){break s}h[g|0]=a;h[g+1|0]=a>>>8;h[j|0]=e;h[j+1|0]=e>>>8;a=k[g|0]|k[g+1|0]<<8;e=k[d|0]|k[d+1|0]<<8;i=1;if(a>>>0>=e>>>0){break s}h[d|0]=a;h[d+1|0]=a>>>8;h[g|0]=e;h[g+1|0]=e>>>8;break t}f=k[j|0]|k[j+1|0]<<8;if(f>>>0>>0){h[d|0]=f;h[d+1|0]=f>>>8;h[j|0]=a;h[j+1|0]=a>>>8;i=1;break s}h[d|0]=e;h[d+1|0]=e>>>8;h[g|0]=a;h[g+1|0]=a>>>8;e=k[j|0]|k[j+1|0]<<8;i=1;if(e>>>0>=a>>>0){break s}h[g|0]=e;h[g+1|0]=e>>>8;h[j|0]=a;h[j+1|0]=a>>>8}i=2}a=j;f=k[d|0]|k[d+1|0]<<8;l=k[g|0]|k[g+1|0]<<8;if(f>>>0>=l>>>0){while(1){a=a-2|0;if((d|0)==(a|0)){e=d+2|0;a=k[j|0]|k[j+1|0]<<8;if(a>>>0>f>>>0){break g}if((e|0)==(j|0)){break f}while(1){i=k[e|0]|k[e+1|0]<<8;if(i>>>0>f>>>0){h[e|0]=a;h[e+1|0]=a>>>8;h[j|0]=i;h[j+1|0]=i>>>8;e=e+2|0;break g}e=e+2|0;if((j|0)!=(e|0)){continue}break}break f}e=k[a|0]|k[a+1|0]<<8;if(e>>>0>=l>>>0){continue}break}h[d|0]=e;h[d+1|0]=e>>>8;h[a|0]=f;h[a+1|0]=f>>>8;i=i+1|0}e=d+2|0;if(e>>>0>=a>>>0){break h}while(1){l=k[g|0]|k[g+1|0]<<8;while(1){f=e;e=e+2|0;m=k[f|0]|k[f+1|0]<<8;if(l>>>0>m>>>0){continue}break}while(1){a=a-2|0;n=k[a|0]|k[a+1|0]<<8;if(l>>>0<=n>>>0){continue}break}if(a>>>0>>0){e=f;break h}else{h[f|0]=n;h[f+1|0]=n>>>8;h[a|0]=m;h[a+1|0]=m>>>8;g=(f|0)==(g|0)?a:g;i=i+1|0;continue}}}fe(d,d+2|0,d+4|0,d+6|0,b-2|0);break f}u:{if((e|0)==(g|0)){break u}a=k[g|0]|k[g+1|0]<<8;f=k[e|0]|k[e+1|0]<<8;if(a>>>0>=f>>>0){break u}h[e|0]=a;h[e+1|0]=a>>>8;h[g|0]=f;h[g+1|0]=f>>>8;i=i+1|0}if(!i){f=wf(d,e);a=e+2|0;if(wf(a,b)){b=e;a=d;if(!f){continue c}break f}if(f){continue d}}if((e-d|0)<(b-e|0)){xd(d,e,c);a=e+2|0;continue d}xd(e+2|0,b,c);b=e;a=d;continue c}a=j;if((e|0)==(a|0)){break f}while(1){i=k[d|0]|k[d+1|0]<<8;while(1){f=e;e=e+2|0;g=k[f|0]|k[f+1|0]<<8;if(g>>>0<=i>>>0){continue}break}while(1){a=a-2|0;l=k[a|0]|k[a+1|0]<<8;if(l>>>0>i>>>0){continue}break}if(a>>>0<=f>>>0){d=f;continue e}else{h[f|0]=l;h[f+1|0]=l>>>8;h[a|0]=g;h[a+1|0]=g>>>8;continue}}}break}break}break}return}h[d+2|0]=b;h[d+3|0]=b>>>8;h[d|0]=a;h[d+1|0]=a>>>8;return}h[a|0]=b;h[a+1|0]=b>>>8}function xa(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;m=M-96|0;M=m;q=c;w=(g&131071)<<15|f>>>17;k=i&65535;u=k;l=h;D=l<<15|g>>>17;o=(e^i)&-2147483648;p=e&65535;y=p;n=d;z=p;p=0;E=(k&131071)<<15|l>>>17;F=i>>>16&32767;O=e>>>16&32767;a:{b:{if(O-1>>>0<=32765){k=0;if(F-1>>>0<32766){break b}}r=e&2147483647;x=r;k=d;if(!(!k&(r|0)==2147418112?!(b|c):r>>>0<2147418112)){A=d;o=e|32768;break a}e=i&2147483647;r=e;d=h;if(!(!d&(e|0)==2147418112?!(f|g):e>>>0<2147418112)){A=h;o=i|32768;b=f;c=g;break a}if(!(b|k|(x^2147418112|c))){if(!(d|f|(g|r))){o=2147450880;b=0;c=0;break a}o=o|2147418112;b=0;c=0;break a}if(!(d|f|(r^2147418112|g))){d=b|k;e=c|x;b=0;c=0;if(!(d|e)){o=2147450880;break a}o=o|2147418112;break a}if(!(b|k|(c|x))){b=0;c=0;break a}if(!(d|f|(g|r))){b=0;c=0;break a}if((x|0)==65535|x>>>0<65535){h=b;i=c;d=!(n|y);e=d<<6;k=s(d?b:n)+32|0;b=s(d?c:y);b=e+((b|0)==32?k:b)|0;mb(m+80|0,h,i,n,y,b-15|0);n=j[m+88>>2];q=j[m+84>>2];z=j[m+92>>2];v=16-b|0;b=j[m+80>>2]}k=v;if(r>>>0>65535){break b}c=!(l|u);d=c<<6;e=s(c?f:l)+32|0;c=s(c?g:u);c=d+((c|0)==32?e:c)|0;i=c;mb(m- -64|0,f,g,l,u,c-15|0);e=j[m+76>>2];c=e;h=j[m+72>>2];d=h;d=d<<15;e=j[m+68>>2];D=e>>>17|d;d=0;f=j[m+64>>2];w=d|((e&131071)<<15|f>>>17);E=(c&131071)<<15|h>>>17;k=(v-i|0)+16|0}v=k;d=w;c=b;u=0;r=Dr(d,0,b,u);b=N;G=b;e=f;B=e<<15&-32768;l=q;g=Dr(B,0,l,0);f=g+r|0;e=N+b|0;e=f>>>0>>0?e+1|0:e;h=f;k=f;i=0;g=Dr(c,u,B,C);f=i+g|0;b=k;k=k+N|0;k=f>>>0>>0?k+1|0:k;w=f;g=k;J=(b|0)==(k|0)&f>>>0>>0|b>>>0>k>>>0;P=Dr(d,t,l,H);K=N;q=n;f=Dr(B,C,n,0);b=f+P|0;k=N+K|0;Q=b;n=Dr(D,0,c,u);i=b+n|0;b=b>>>0>>0?k+1|0:k;f=b+N|0;x=i;f=i>>>0>>0?f+1|0:f;y=f;k=f;f=(e|0)==(G|0)&h>>>0>>0|e>>>0>>0;h=e+x|0;k=f+k|0;r=h;k=h>>>0>>0?k+1|0:k;n=k;e=h;h=k;S=Dr(d,t,q,R);G=N;f=B;I=z|65536;B=p;i=Dr(f,C,I,p);f=i+S|0;k=N+G|0;k=f>>>0>>0?k+1|0:k;T=f;C=Dr(D,U,l,H);i=f+C|0;p=k;f=k+N|0;f=i>>>0>>0?f+1|0:f;L=i;E=E&2147483647|-2147483648;i=Dr(c,u,E,0);c=L+i|0;u=f;k=f+N|0;C=c;c=c>>>0>>0?k+1|0:k;z=J;i=0;f=i+e|0;k=h+C|0;J=f;h=f;e=z+f|0;z=f>>>0>>0?k+1|0:k;f=z;f=e>>>0>>0?f+1|0:f;h=e;i=f;v=(v+(F+O|0)|0)-16383|0;f=Dr(q,R,D,U);e=N;t=Dr(d,t,I,B);d=t+f|0;k=N+e|0;k=d>>>0>>0?k+1|0:k;t=d;f=(e|0)==(k|0)&f>>>0>d>>>0|e>>>0>k>>>0;e=k;F=f;f=Dr(E,V,l,H);d=f+d|0;k=N+k|0;k=d>>>0>>0?k+1|0:k;f=d;d=k;l=(k|0)==(e|0)&f>>>0>>0|e>>>0>k>>>0;k=F+l|0;e=0;e=k>>>0>>0?1:e;t=f;l=d;F=k;f=(b|0)==(y|0)&x>>>0>>0|b>>>0>y>>>0;b=f+((b|0)==(K|0)&P>>>0>Q>>>0|b>>>0>>0)|0;k=0;k=b>>>0>>0?1:k;f=b;b=t+f|0;k=d+k|0;k=b>>>0>>0?k+1|0:k;H=b;d=k;k=(k|0)==(l|0)&b>>>0>>0|k>>>0>>0;b=F+k|0;f=e;f=b>>>0>>0?f+1|0:f;e=Dr(E,V,I,B);b=e+b|0;k=N+f|0;t=b;e=b>>>0>>0?k+1|0:k;l=Dr(E,V,q,R);f=N;q=Dr(D,U,I,B);b=q+l|0;k=N+f|0;k=b>>>0>>0?k+1|0:k;q=b;b=k;k=(f|0)==(k|0)&l>>>0>q>>>0|f>>>0>k>>>0;l=b+t|0;e=e+k|0;e=l>>>0>>0?e+1|0:e;t=l;l=0;b=l+H|0;k=d+q|0;k=b>>>0>>0?k+1|0:k;f=k;l=(d|0)==(k|0)&b>>>0>>0|d>>>0>k>>>0;d=t+l|0;k=e;D=d;d=d>>>0>>0?k+1|0:k;q=b;l=f;f=(p|0)==(u|0)&T>>>0>L>>>0|p>>>0>u>>>0;e=f+((p|0)==(G|0)&S>>>0>T>>>0|p>>>0>>0)|0;f=e;e=f+((c|0)==(u|0)&C>>>0>>0|c>>>0>>0)|0;f=e;b=c+b|0;e=f+l|0;e=b>>>0>>0?e+1|0:e;p=b;c=b;b=e;e=(e|0)==(l|0)&c>>>0>>0|e>>>0>>0;c=e+D|0;k=d;k=c>>>0>>0?k+1|0:k;d=c;l=d;e=(n|0)==(z|0)&r>>>0>J>>>0|n>>>0>z>>>0;d=e+((n|0)==(y|0)&r>>>0>>0|n>>>0>>0)|0;f=0;f=d>>>0>>0?1:f;n=d;d=d+p|0;e=b+f|0;e=d>>>0>>0?e+1|0:e;c=(b|0)==(e|0)&d>>>0

>>0|b>>>0>e>>>0;b=l+c|0;k=b>>>0>>0?k+1|0:k;c=k;c:{if(k&65536){v=v+1|0;break c}n=g>>>31|0;k=c<<1|b>>>31;b=b<<1|e>>>31;c=k;k=e<<1|d>>>31;d=d<<1|i>>>31;e=k;p=w;k=g<<1|p>>>31;w=p<<1;g=k;k=i<<1|h>>>31;h=h<<1|n;i=k}if((v|0)>=32767){o=o|2147418112;b=0;c=0;break a}d:{if((v|0)<=0){f=1-v|0;if(f>>>0>=128){b=0;c=0;break a}k=v+127|0;mb(m+48|0,w,g,h,i,k);mb(m+32|0,d,e,b,c,k);Fc(m+16|0,w,g,h,i,f);Fc(m,d,e,b,c,f);w=(j[m+48>>2]|j[m+56>>2])!=0|(j[m+52>>2]|j[m+60>>2])!=0|(j[m+32>>2]|j[m+16>>2]);g=j[m+36>>2]|j[m+20>>2];h=j[m+40>>2]|j[m+24>>2];i=j[m+44>>2]|j[m+28>>2];d=j[m>>2];e=j[m+4>>2];c=j[m+12>>2];b=j[m+8>>2];break d}c=c&65535|v<<16}A=b|A;o=c|o;if(!(!h&(i|0)==-2147483648?!(g|w):(i|0)>-1)){k=e;b=d+1|0;k=b>>>0<1?k+1|0:k;f=b;c=k;f=(e|0)==(k|0)&d>>>0>f>>>0|e>>>0>k>>>0;d=f+A|0;e=o;A=d;o=d>>>0>>0?e+1|0:e;break a}if(h|w|(i^-2147483648|g)){b=d;c=e;break a}c=d&1;b=c+d|0;k=e;k=b>>>0>>0?k+1|0:k;f=b;c=k;e=(e|0)==(k|0)&d>>>0>f>>>0|e>>>0>k>>>0;d=e+A|0;k=o;A=d;o=d>>>0>>0?k+1|0:k}j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=A;j[a+12>>2]=o;M=m+96|0}function _a(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=M-432|0;M=m;j[m+424>>2]=0;j[m+416>>2]=0;j[m+420>>2]=0;Sh(a,m+416|0,b);a:{b=k[m+427|0];u=b<<24>>24<0?j[m+420>>2]:b;b:{if(!u){break b}c:{if(!j[a+48>>2]){break c}if(j[a+44>>2]){ob(m+416|0);break c}Va(m+416|0)}s=h[m+427|0]<0?j[m+416>>2]:m+416|0;b=j[a+4>>2];if((b|0)!=j[a+8>>2]){while(1){g=0;f=dc(j[(t<<2)+b>>2],s);d:{if(!f){break d}e:{b=j[f+4>>2];if(!b){break e}n=j[a>>2];if(!n){break e}e=i[f+2>>1];q=(e<<1)+b|0;n=l[n+4192>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)|n>>>0>1]){break e}if(c){j[c>>2]=j[c>>2]+2}if(!l[j[a>>2]+4152>>1]|j[a+40>>2]!=36){break b}b=j[f+4>>2];e=i[f+2>>1];s=b+(e<<1)|0;a=l[j[a>>2]+4152>>1];if(e){while(1){d=e>>>1|0;u=(d<<1)+b|0;f=a>>>0>l[u>>1];b=f?u+2|0:b;e=f?(d^-1)+e|0:d;if(e){continue}break}}if(!c|(b|0)==(s|0)|a>>>0>1]){break b}j[c>>2]=j[c>>2]+1;break b}if(!c){while(1){if(!j[f+4>>2]){g=f;break d}b=j[a>>2];if(!b){g=f;break d}f:{g:{if(!l[b+4198>>1]){break g}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4198>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){break g}if(n>>>0>=l[b>>1]){break f}}if(!l[j[a>>2]+4464>>1]){g=f;break d}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4464>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){g=f;break d}if(n>>>0>=l[b>>1]){break f}g=f;break d}f=j[f+12>>2];if(f){continue}break d}}while(1){if(!j[f+4>>2]){g=f;break d}b=j[a>>2];if(!b){g=f;break d}h:{i:{if(!l[b+4198>>1]){break i}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4198>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){break i}if(n>>>0>=l[b>>1]){break h}}j:{if(!l[j[a>>2]+4464>>1]){break j}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4464>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){break j}if(n>>>0>=l[b>>1]){break h}}if(!(k[c|0]&16)){g=f;break d}b=j[f+4>>2];e=i[f+2>>1];p=b+(e<<1)|0;if(e){while(1){n=e>>>1|0;q=(n<<1)+b|0;o=l[q>>1]<65511;b=o?q+2|0:b;e=o?(n^-1)+e|0:n;if(e){continue}break}}if((b|0)==(p|0)){g=f;break d}if(l[b>>1]<=65511){break h}g=f;break d}f=j[f+12>>2];if(f){continue}break}}if(!g){t=t+1|0;b=j[a+4>>2];if(t>>>0>2]-b>>2>>>0){continue}}break}if(g){break b}}b=j[a>>2];if(!b){g=0;break b}g=0;k:{f=ql(b,s,u);if(!f){break k}l:{if(!j[f+4>>2]){break l}m:{if(!l[j[a>>2]+4464>>1]){break m}b=j[f+4>>2];e=i[f+2>>1];p=b+(e<<1)|0;t=l[j[a>>2]+4464>>1];if(e){while(1){n=e>>>1|0;q=(n<<1)+b|0;o=t>>>0>l[q>>1];b=o?q+2|0:b;e=o?(n^-1)+e|0:n;if(e){continue}break}}if((b|0)==(p|0)){break m}if(t>>>0>=l[b>>1]){break k}}n:{if(!c|!(k[c|0]&16)){break n}b=j[f+4>>2];e=i[f+2>>1];o=b+(e<<1)|0;if(e){while(1){t=e>>>1|0;p=(t<<1)+b|0;n=l[p>>1]<65511;b=n?p+2|0:b;e=n?(t^-1)+e|0:t;if(e){continue}break}}if((b|0)==(o|0)){break n}if(l[b>>1]<65512){break k}}b=j[f+4>>2];if(!b){break l}g=j[a>>2];if(!g){break l}e=i[f+2>>1];t=(e<<1)+b|0;g=l[g+4192>>1];if(e){while(1){s=e>>>1|0;n=(s<<1)+b|0;u=g>>>0>l[n>>1];b=u?n+2|0:b;e=u?(s^-1)+e|0:s;if(e){continue}break}}if((b|0)==(t|0)|g>>>0>1]){break l}g=0;if(!c){break b}j[c>>2]=j[c>>2]+2;break b}if(!d){g=f;break b}Ka(d,f+17|0);if(!j[a+48>>2]){g=f;break b}if(j[a+44>>2]){ob(d);g=f;break b}Va(d);g=f;break b}f=1;b=j[a>>2];if(!(l[b+4152>>1]|l[b+4154>>1])){f=j[b+4268>>2]!=j[b+4272>>2]}if(!f){break b}f=j[a>>2];b=W(s);if(b>>>0>=4294967280){break a}o:{p:{if(b>>>0>=11){g=b+16&-16;e=U(g);j[m+8>>2]=g|-2147483648;j[m>>2]=e;j[m+4>>2]=b;g=m;break p}h[m+11|0]=b;g=m;e=m;if(!b){break o}}V(e,s,b)}h[b+e|0]=0;b=ed(f,m,0,0,100,0,0,m+16|0,0,0,c);if(h[g+11|0]<=-1){T(j[m>>2])}if(!b){g=0;if(j[a+40>>2]!=36){break b}b=u-1|0;if(k[b+s|0]!=45){break b}if(b>>>0>=4294967280){break a}q:{r:{if(b>>>0>=11){g=u+15&-16;e=U(g);j[m+8>>2]=g|-2147483648;j[m>>2]=e;j[m+4>>2]=b;f=m;break r}h[m+11|0]=b;f=m;e=f;if(!b){break q}}V(e,s,b)}g=0;h[b+e|0]=0;b=ed(j[a>>2],m,-5,0,100,0,0,m+16|0,1,0,c);if(h[f+11|0]<=-1){T(j[m>>2])}if(!b){break b}}s:{if(!d){break s}Ka(d,b+17|0);if(!j[a+48>>2]){break s}if(j[a+44>>2]){ob(d);break s}Va(d)}if(c){j[c>>2]=j[c>>2]+1}g=b}if(h[m+427|0]<=-1){T(j[m+416>>2])}M=m+432|0;return g}X();z()}function fg(a,b,c,d,e,f,g,i,m,n,o){var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;p=M-560|0;M=p;j[p+548>>2]=o;j[p+552>>2]=b;j[p+104>>2]=78;s=Da(p+136|0,p+144|0,p+104|0);b=j[s>>2];j[p+132>>2]=b;j[p+128>>2]=b+400;v=ga(p+104|0);t=ga(p+88|0);q=ga(p+72|0);r=ga(p+56|0);u=ga(p+40|0);El(c,d,p+120|0,p+119|0,p+118|0,v,t,q,r,p+36|0);j[n>>2]=j[m>>2];w=e&512;x=w>>>9|0;b=0;c=0;while(1){o=c;a:{b:{c:{d:{if((b|0)==4){break d}if(!lb(a,p+552|0)){break d}e=0;e:{f:{g:{h:{i:{switch(h[(p+120|0)+b|0]){case 1:if((b|0)==3){break b}c=Ga(a);if((c|0)>=0){c=l[j[i+8>>2]+((c&255)<<1)>>1]&8192}else{c=0}if(c){eg(p+24|0,a);Z(u,h[p+24|0]);break h}j[f>>2]=j[f>>2]|4;a=0;break c;case 0:break i;case 4:break e;case 2:break f;case 3:break g;default:break a}}if((b|0)==3){break b}}while(1){if(!lb(a,p+552|0)){break b}c=Ga(a);if((c|0)>=0){c=(l[j[i+8>>2]+((c&255)<<1)>>1]&8192)!=0}else{c=0}if(!c){break b}eg(p+24|0,a);Z(u,h[p+24|0]);continue}}if(k[q+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}if((c|0)==(0-d|0)){break b}if(k[q+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}if(!(d?c:0)){if(k[q+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}d=Ga(a);if(c){if(k[q+11|0]>>>7|0){c=j[q>>2]}else{c=q}if(k[c|0]==(d&255)){Oa(a);c=q;if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}c=d>>>0>1?c:o;break a}h[g|0]=1;break b}if(k[r+11|0]>>>7|0){c=j[r>>2]}else{c=r}if(k[c|0]!=(d&255)){break b}Oa(a);h[g|0]=1;c=r;if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}c=d>>>0>1?c:o;break a}d=Ga(a)&255;if(k[q+11|0]>>>7|0){c=j[q>>2]}else{c=q}if((d|0)==k[c|0]){Oa(a);c=q;if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}c=d>>>0>1?c:o;break a}d=Ga(a)&255;if(k[r+11|0]>>>7|0){c=j[r>>2]}else{c=r}if((d|0)==k[c|0]){Oa(a);h[g|0]=1;c=r;if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}c=d>>>0>1?c:o;break a}j[f>>2]=j[f>>2]|4;a=0;break c}if(!(o|b>>>0<2)){c=0;if(!((b|0)==2&k[p+123|0]!=0|x)){break a}}z=p,A=qb(t),j[z+16>>2]=A;j[p+24>>2]=j[p+16>>2];j:{if(!b|k[(b+p|0)+119|0]>1){break j}while(1){k:{z=p,A=kc(t),j[z+16>>2]=A;if(!(j[p+24>>2]==j[p+16>>2]^1)){break k}c=h[j[p+24>>2]];if((c|0)>=0){c=(l[j[i+8>>2]+((c&255)<<1)>>1]&8192)!=0}else{c=0}if(!c){break k}j[p+24>>2]=j[p+24>>2]+1;continue}break}z=p,A=qb(t),j[z+16>>2]=A;if(k[u+11|0]>>>7|0){d=j[u+4>>2]}else{d=k[u+11|0]}c=j[p+24>>2]-j[p+16>>2]|0;if(d>>>0>=c>>>0){z=p,A=kc(u),j[z+16>>2]=A;if(Al(le(p+16|0,0-c|0),kc(u),qb(t))){break j}}z=p,A=qb(t),j[z+8>>2]=A;j[p+16>>2]=j[p+8>>2];j[p+24>>2]=j[p+16>>2]}j[p+16>>2]=j[p+24>>2];while(1){l:{z=p,A=kc(t),j[z+8>>2]=A;if(!(j[p+16>>2]==j[p+8>>2]^1)){break l}if(!lb(a,p+552|0)){break l}if((Ga(a)&255)!=k[j[p+16>>2]]){break l}Oa(a);j[p+16>>2]=j[p+16>>2]+1;continue}break}if(!w){break b}z=p,A=kc(t),j[z+8>>2]=A;if(!(j[p+16>>2]==j[p+8>>2]^1)){break b}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){m:{if(!lb(a,p+552|0)){break m}c=Ga(a);n:{if((c|0)>=0?l[j[i+8>>2]+((c&255)<<1)>>1]&2048:0){d=j[n>>2];if((d|0)==j[p+548>>2]){dg(m,n,p+548|0);d=j[n>>2]}j[n>>2]=d+1;h[d|0]=c;e=e+1|0;break n}y=!e;if(k[v+11|0]>>>7|0){d=j[v+4>>2]}else{d=k[v+11|0]}if(y|!d|k[p+118|0]!=(c&255)){break m}c=j[p+132>>2];if((c|0)==j[p+128>>2]){zc(s,p+132|0,p+128|0);c=j[p+132>>2]}j[p+132>>2]=c+4;j[c>>2]=e;e=0}Oa(a);continue}break}d=j[s>>2];o:{if(!e){break o}c=j[p+132>>2];if((d|0)==(c|0)){break o}if(j[p+128>>2]==(c|0)){zc(s,p+132|0,p+128|0);c=j[p+132>>2]}j[p+132>>2]=c+4;j[c>>2]=e}p:{if(j[p+36>>2]<1){break p}q:{if(!Sa(a,p+552|0)){if((Ga(a)&255)==k[p+119|0]){break q}}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){Oa(a);if(j[p+36>>2]<1){break p}r:{if(!Sa(a,p+552|0)){c=Ga(a);if((c|0)>=0){c=l[j[i+8>>2]+((c&255)<<1)>>1]&2048}else{c=0}if(c){break r}}j[f>>2]=j[f>>2]|4;a=0;break c}if(j[n>>2]==j[p+548>>2]){dg(m,n,p+548|0)}c=Ga(a);d=j[n>>2];j[n>>2]=d+1;h[d|0]=c;j[p+36>>2]=j[p+36>>2]-1;continue}}c=o;if(j[m>>2]!=j[n>>2]){break a}j[f>>2]=j[f>>2]|4;a=0;break c}s:{if(!o){break s}e=1;while(1){if(k[o+11|0]>>>7|0){b=j[o+4>>2]}else{b=k[o+11|0]}if(b>>>0<=e>>>0){break s}t:{if(!Sa(a,p+552|0)){c=Ga(a)&255;if(k[o+11|0]>>>7|0){b=j[o>>2]}else{b=o}if((c|0)==k[b+e|0]){break t}}j[f>>2]=j[f>>2]|4;a=0;break c}Oa(a);e=e+1|0;continue}}a=1;if(j[s>>2]==j[p+132>>2]){break c}a=0;j[p+24>>2]=0;hb(v,j[s>>2],j[p+132>>2],p+24|0);if(j[p+24>>2]){j[f>>2]=j[f>>2]|4;break c}a=1}Y(u);Y(r);Y(q);Y(t);Y(v);b=j[s>>2];j[s>>2]=0;if(b){O[j[s+4>>2]](b)}M=p+560|0;return a}c=o}b=b+1|0;continue}}function Zn(a,b,c,d,e,f){var g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=M-432|0;M=g;h=j[b+4>>2];a:{if(h>>>0>2]){j[b+4>>2]=h+1;i=k[h|0];break a}i=pa(b)}b:{c:{while(1){if((i|0)!=48){d:{if((i|0)!=46){break b}h=j[b+4>>2];if(h>>>0>=m[b+104>>2]){break d}j[b+4>>2]=h+1;i=k[h|0];break c}}else{h=j[b+4>>2];if(h>>>0>2]){z=1;j[b+4>>2]=h+1;i=k[h|0]}else{z=1;i=pa(b)}continue}break}i=pa(b)}y=1;if((i|0)!=48){break b}while(1){h=u;u=h-1|0;v=v-(h>>>0<1)|0;h=j[b+4>>2];e:{if(h>>>0>2]){j[b+4>>2]=h+1;i=k[h|0];break e}i=pa(b)}if((i|0)==48){continue}break}z=1}h=1073676288;while(1){f:{A=i|32;g:{h:{B=i-48|0;if(B>>>0<10){break h}if(A-97>>>0>5?(i|0)!=46:0){break f}if((i|0)!=46){break h}if(y){break f}y=1;u=p;v=l;break g}i=(i|0)>57?A-87|0:B;i:{if((l|0)<0?1:(l|0)<=0?p>>>0<=7:0){r=i+(r<<4)|0;break i}if((l|0)<0?1:(l|0)<=0?p>>>0<=28:0){Cb(g+48|0,i);xa(g+32|0,w,x,q,h,0,0,0,1073414144);w=j[g+32>>2];x=j[g+36>>2];q=j[g+40>>2];h=j[g+44>>2];xa(g+16|0,w,x,q,h,j[g+48>>2],j[g+52>>2],j[g+56>>2],j[g+60>>2]);yb(g,n,o,s,t,j[g+16>>2],j[g+20>>2],j[g+24>>2],j[g+28>>2]);s=j[g+8>>2];t=j[g+12>>2];n=j[g>>2];o=j[g+4>>2];break i}if(!i|E){break i}xa(g+80|0,w,x,q,h,0,0,0,1073610752);yb(g- -64|0,n,o,s,t,j[g+80>>2],j[g+84>>2],j[g+88>>2],j[g+92>>2]);s=j[g+72>>2];t=j[g+76>>2];E=1;n=j[g+64>>2];o=j[g+68>>2]}p=p+1|0;l=p>>>0<1?l+1|0:l;z=1}i=j[b+4>>2];if(i>>>0>2]){j[b+4>>2]=i+1;i=k[i|0]}else{i=pa(b)}continue}break}j:{k:{l:{if(!z){if(!j[b+104>>2]){if(f){break k}break l}c=j[b+4>>2];j[b+4>>2]=c-1;if(!f){break l}j[b+4>>2]=c-2;if(!y){break k}j[b+4>>2]=c-3;break k}if((l|0)<0?1:(l|0)<=0?p>>>0<=7:0){q=p;h=l;while(1){r=r<<4;q=q+1|0;h=q>>>0<1?h+1|0:h;if((q|0)!=8|h){continue}break}}m:{if((i&-33)==80){q=Ug(b,f);i=N;h=i;if(q|(h|0)!=-2147483648){break m}if(f){q=0;h=0;if(!j[b+104>>2]){break m}j[b+4>>2]=j[b+4>>2]-1;break m}n=0;o=0;Ib(b,0,0);c=0;b=0;break j}q=0;h=0;if(!j[b+104>>2]){break m}j[b+4>>2]=j[b+4>>2]-1}if(!r){Ub(g+112|0,+(e|0)*0);n=j[g+112>>2];o=j[g+116>>2];c=j[g+120>>2];b=j[g+124>>2];break j}f=y?u:p;b=(y?v:l)<<2|f>>>30;f=q+(f<<2)|0;l=b+h|0;b=f;p=b-32|0;l=(b>>>0>>0?l+1|0:l)-(b>>>0<32)|0;b=l;if((b|0)>0?1:(b|0)>=0?p>>>0>0-d>>>0:0){j[37203]=68;Cb(g+160|0,e);xa(g+144|0,j[g+160>>2],j[g+164>>2],j[g+168>>2],j[g+172>>2],-1,-1,-1,2147418111);xa(g+128|0,j[g+144>>2],j[g+148>>2],j[g+152>>2],j[g+156>>2],-1,-1,-1,2147418111);n=j[g+128>>2];o=j[g+132>>2];c=j[g+136>>2];b=j[g+140>>2];break j}b=d-226|0;f=p>>>0>=b>>>0;b=b>>31;if((b|0)<(l|0)?1:(l|0)>=(b|0)?f:0){if((r|0)>-1){while(1){yb(g+416|0,n,o,s,t,0,0,0,-1073807360);h=Zg(n,o,s,t,1073610752);f=(h|0)<0;b=f;yb(g+400|0,n,o,s,t,b?n:j[g+416>>2],b?o:j[g+420>>2],b?s:j[g+424>>2],b?t:j[g+428>>2]);b=p;p=b-1|0;l=l-(b>>>0<1)|0;s=j[g+408>>2];t=j[g+412>>2];n=j[g+400>>2];o=j[g+404>>2];r=r<<1|(h|0)>-1;if((r|0)>-1){continue}break}}b=d;h=(p-b|0)+32|0;l=l-((b>>31)+(b>>>0>p>>>0)|0)|0;b=h;l=b>>>0<32?l+1|0:l;c=((l|0)<0?1:(l|0)<=0?c>>>0>b>>>0:0)?(b|0)>0?b:0:c;n:{if((c|0)>=113){Cb(g+384|0,e);u=j[g+392>>2];v=j[g+396>>2];w=j[g+384>>2];x=j[g+388>>2];d=0;b=0;break n}Ub(g+352|0,Od(144-c|0));Cb(g+336|0,e);w=j[g+336>>2];x=j[g+340>>2];u=j[g+344>>2];v=j[g+348>>2];Yg(g+368|0,j[g+352>>2],j[g+356>>2],j[g+360>>2],j[g+364>>2],w,x,u,v);C=j[g+376>>2];D=j[g+380>>2];d=j[g+372>>2];b=j[g+368>>2]}c=!(r&1)&((qc(n,o,s,t,0,0,0,0)|0)!=0&(c|0)<32);Ec(g+320|0,c+r|0);xa(g+304|0,w,x,u,v,j[g+320>>2],j[g+324>>2],j[g+328>>2],j[g+332>>2]);yb(g+272|0,j[g+304>>2],j[g+308>>2],j[g+312>>2],j[g+316>>2],b,d,C,D);xa(g+288|0,c?0:n,c?0:o,c?0:s,c?0:t,w,x,u,v);yb(g+256|0,j[g+288>>2],j[g+292>>2],j[g+296>>2],j[g+300>>2],j[g+272>>2],j[g+276>>2],j[g+280>>2],j[g+284>>2]);ve(g+240|0,j[g+256>>2],j[g+260>>2],j[g+264>>2],j[g+268>>2],b,d,C,D);e=j[g+240>>2];d=j[g+244>>2];c=j[g+248>>2];b=j[g+252>>2];if(!qc(e,d,c,b,0,0,0,0)){j[37203]=68}Xg(g+224|0,e,d,c,b,p);n=j[g+224>>2];o=j[g+228>>2];c=j[g+232>>2];b=j[g+236>>2];break j}j[37203]=68;Cb(g+208|0,e);xa(g+192|0,j[g+208>>2],j[g+212>>2],j[g+216>>2],j[g+220>>2],0,0,0,65536);xa(g+176|0,j[g+192>>2],j[g+196>>2],j[g+200>>2],j[g+204>>2],0,0,0,65536);n=j[g+176>>2];o=j[g+180>>2];c=j[g+184>>2];b=j[g+188>>2];break j}Ib(b,0,0)}Ub(g+96|0,+(e|0)*0);n=j[g+96>>2];o=j[g+100>>2];c=j[g+104>>2];b=j[g+108>>2]}j[a>>2]=n;j[a+4>>2]=o;j[a+8>>2]=c;j[a+12>>2]=b;M=g+432|0}function fr(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=M-112|0;M=d;a:{e=0;b:{if(j[a+100>>2]!=j[a+104>>2]){break b}j[d+104>>2]=h[b+11|0]<0?j[b>>2]:b;c:{d:{e:{g=ka(b,d+104|0);e=k[b+11|0];f=e<<24>>24<0;if((g|0)==((f?j[b>>2]:b)+(f?j[b+4>>2]:e)|0)){break e}t=a+100|0;o=-1;while(1){f:{switch(l|0){case 1:o=j[d+104>>2];f=o-g|0;if(f>>>0>=4294967280){break a}g:{if(f>>>0<=10){h[d+35|0]=f;e=d+24|0;break g}n=f+16&-16;e=U(n);j[d+32>>2]=n|-2147483648;j[d+24>>2]=e;j[d+28>>2]=f}if((g|0)!=(o|0)){while(1){h[e|0]=k[g|0];e=e+1|0;g=g+1|0;if((o|0)!=(g|0)){continue}break}}h[e|0]=0;h:{if(h[d+35|0]>=0){o=ta(d+24|0);break h}e=j[d+24>>2];o=ta(e);T(e)}e=0;if((o|0)<=0){break b}Yh(t,o);case 0:r=r+1|0;break;default:break f}}l=l+1|0;g=ka(b,d+104|0);e=k[b+11|0];f=e<<24>>24<0;if((g|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:e)|0)){continue}break}if((r|0)!=2){break e}if((o|0)<1){break c}v=d- -64|0;w=1;break d}e=0;break b}while(1){j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;b=0;i:{if(!ub(c,d+88|0)){break i}bb(d+88|0);j[d+80>>2]=0;j[d+72>>2]=0;j[d+76>>2]=0;j[v>>2]=0;j[v+4>>2]=0;j[d+56>>2]=0;j[d+60>>2]=0;j[d+48>>2]=0;j[d+52>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[d+32>>2]=0;j[d+36>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;b=j[a+104>>2];j:{if(b>>>0>2]){e=j[d+28>>2];j[b>>2]=j[d+24>>2];j[b+4>>2]=e;j[b+8>>2]=j[d+32>>2];j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;j[b+20>>2]=j[d+44>>2];e=j[d+40>>2];j[b+12>>2]=j[d+36>>2];j[b+16>>2]=e;j[d+36>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[b+32>>2]=j[d+56>>2];e=j[d+52>>2];j[b+24>>2]=j[d+48>>2];j[b+28>>2]=e;j[d+48>>2]=0;j[d+52>>2]=0;j[d+56>>2]=0;j[b+44>>2]=j[d+68>>2];e=j[d+64>>2];j[b+36>>2]=j[d+60>>2];j[b+40>>2]=e;j[d+60>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;j[b+56>>2]=j[d+80>>2];e=j[d+76>>2];j[b+48>>2]=j[d+72>>2];j[b+52>>2]=e;j[d+72>>2]=0;j[d+76>>2]=0;j[d+80>>2]=0;j[a+104>>2]=b+60;break j}Hd(t,d+24|0);if(h[d+83|0]>-1){break j}T(j[d+72>>2])}if(h[d+71|0]<0){T(j[d+60>>2])}if(h[d+59|0]<=-1){T(j[d+48>>2])}if(h[d+47|0]<=-1){T(j[d+36>>2])}if(h[d+35|0]<0){T(j[d+24>>2])}b=0;j[d+104>>2]=h[d+99|0]<0?j[d+88>>2]:d+88|0;r=0;g=ka(d+88|0,d+104|0);l=j[d+88>>2];f=k[d+99|0];e=f<<24>>24<0;k:{if((g|0)!=((e?l:d+88|0)+(e?j[d+92>>2]:f)|0)){while(1){l:{m:{n:{o:{p:{q:{r:{switch(b|0){case 0:if(!_(d+88|0,g-(e&1?l:d+88|0)|0,3,120980,3)){break l}break k;case 1:q=j[a+104>>2];f=q-60|0;s=j[d+104>>2];r=k[g|0]==94?1:r;g=r+g|0;n=s-g|0;e=h[q-49|0];if((e|0)<=-1){e=(j[q-52>>2]&2147483647)-1|0;if(n>>>0<=e>>>0){break o}l=j[q-56>>2];break p}if(n>>>0>10){break q}break n;case 2:break r;default:break l}}s=j[d+104>>2];n=s-g|0;x=p(r,12);q=x+j[a+104>>2]|0;f=q-48|0;s:{t:{e=h[q-37|0];u:{v:{if((e|0)<=-1){e=(j[q-40>>2]&2147483647)-1|0;if(n>>>0<=e>>>0){break u}l=j[q-44>>2];break v}if(n>>>0<=10){break t}l=e&255;e=10}pb(f,e,n-e|0,l,0,l,0);if(h[f+11|0]>-1){break t}}e=j[f>>2];break s}e=f}if((g|0)!=(s|0)){while(1){h[e|0]=k[g|0];e=e+1|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}}h[e|0]=0;w:{if(h[f+11|0]<=-1){j[q-44>>2]=n;break w}h[f+11|0]=n}e=j[a+104>>2];i[d+24>>1]=95;h[d+35|0]=1;i[d+8>>1]=32;h[d+19|0]=1;wb((e+x|0)-48|0,d+24|0,d+8|0);if(h[d+19|0]<=-1){T(j[d+8>>2])}if(h[d+35|0]>-1){break l}T(j[d+24>>2]);break l}l=e&255;e=10}pb(f,e,n-e|0,l,0,l,0);if(h[f+11|0]>-1){break n}}e=j[f>>2];break m}e=f}if((g|0)!=(s|0)){while(1){h[e|0]=k[g|0];e=e+1|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}}h[e|0]=0;x:{if(h[f+11|0]<=-1){j[q-56>>2]=n;break x}h[f+11|0]=n}e=j[a+104>>2];i[d+24>>1]=95;h[d+35|0]=1;i[d+8>>1]=32;h[d+19|0]=1;wb(e-60|0,d+24|0,d+8|0);if(h[d+19|0]<=-1){T(j[d+8>>2])}if(h[d+35|0]<=-1){T(j[d+24>>2])}f=j[a+104>>2];e=f-60|0;g=k[f-49|0];l=g<<24>>24;y:{if((l|0)<=-1){f=j[f-56>>2];if(!f){break l}g=f-1|0;if(k[g+j[e>>2]|0]==36){break y}break l}if(!l){break l}g=g-1|0;if(k[e+g|0]!=36){break l}}Wa(e,g);r=r+2|0}b=b+1|0;g=ka(d+88|0,d+104|0);l=j[d+88>>2];f=k[d+99|0];e=f<<24>>24<0;if((g|0)!=((e?l:d+88|0)+(e?j[d+92>>2]:f)|0)){continue}break}}b=j[a+104>>2];e=h[b-49|0];z:{if((e|0)<=-1){e=j[b-56>>2];break z}e=e&255}if(e){b=b+p(r,12)|0;e=h[b-37|0];A:{if((e|0)<=-1){e=j[b-44>>2];break A}e=e&255}b=1;if(e){break i}}}Zh(t);b=0}if(h[d+99|0]<=-1){T(j[d+88>>2])}if(!b){break c}u=u+1|0;w=(u|0)<(o|0);if((o|0)!=(u|0)){continue}break}}e=w^1}a=e;M=d+112|0;return a&1}X();z()}function Lh(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0;g=M-16|0;M=g;a:{f=W(c);if((f|0)>=3){if(j[a+60>>2]==36){u=Rp(a,c,f)}l=ja(f+2|0);c=He(l+1|0,c);b:{if(!k[l+2|0]){o=e;break b}o=e;s=1;while(1){h[c-1|0]=k[c|0];c=l+s|0;if(j[a+56>>2]){f=s+1|0;e=l+f|0;i=k[e|0];if((i&192)==128){while(1){h[c|0]=i;c=e;s=f;f=f+1|0;e=l+f|0;i=k[e|0];if((i&192)==128){continue}break}}if(!k[c+1|0]){break b}}h[c|0]=32;c:{d:{e:{if(!d){f=W(l);if(f>>>0>=4294967280){break a}f:{g:{if(f>>>0>=11){i=f+16&-16;e=U(i);j[g+8>>2]=i|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break g}h[g+11|0]=f;e=g;if(!f){break f}}V(e,l,f)}h[e+f|0]=0;e=cc(a,g,0,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!e){break e}if(!(o&1)){e=j[b+4>>2];i=j[b>>2];if((e|0)!=(i|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((f|0)!=(i|0)){continue}break}}j[b+4>>2]=i}i=j[b>>2];f=W(l);if(f>>>0>=4294967280){break a}h:{i:{if(f>>>0>=11){o=f+16&-16;e=U(o);j[g+8>>2]=o|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break i}h[g+11|0]=f;e=g;if(!f){break h}}V(e,l,f)}h[e+f|0]=0;Ne(b,i,g);if(h[g+11|0]<=-1){T(j[g>>2])}o=1;if(k[a+40|0]){break d}break c}if(!k[a+40|0]){break c}h[c|0]=45;break c}if(!k[a+40|0]){break c}}h[c|0]=45;f=W(l);if(f>>>0>=4294967280){break a}j:{k:{if(f>>>0>=11){i=f+16&-16;e=U(i);j[g+8>>2]=i|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break k}h[g+11|0]=f;e=g;if(!f){break j}}V(e,l,f)}h[e+f|0]=0;e=cc(a,g,0,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!e){break c}if(!(o&1)){e=j[b+4>>2];i=j[b>>2];if((e|0)!=(i|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((f|0)!=(i|0)){continue}break}}j[b+4>>2]=i}i=j[b>>2];f=W(l);if(f>>>0>=4294967280){break a}l:{m:{if(f>>>0>=11){o=f+16&-16;e=U(o);j[g+8>>2]=o|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break m}h[g+11|0]=f;e=g;if(!f){break l}}V(e,l,f)}h[e+f|0]=0;Ne(b,i,g);if(h[g+11|0]<=-1){T(j[g>>2])}o=1}n:{if((j[a+64>>2]!=0|o)&1|m[a+48>>2]<=(j[b+4>>2]-j[b>>2]|0)/12>>>0){break n}h[c|0]=0;f=W(l);if(f>>>0>=4294967280){break a}o:{p:{if(f>>>0>=11){i=f+16&-16;e=U(i);j[g+8>>2]=i|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break p}h[g+11|0]=f;e=g;if(!f){break o}}V(e,l,f)}h[e+f|0]=0;n=cc(a,g,d,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!n){break n}r=c+1|0;e=W(r);if(e>>>0>=4294967280){break a}q:{r:{if(e>>>0>=11){f=e+16&-16;i=U(f);j[g+8>>2]=f|-2147483648;j[g>>2]=i;j[g+4>>2]=e;break r}h[g+11|0]=e;i=g;if(!e){break q}}V(i,r,e)}h[e+i|0]=0;i=cc(a,g,d,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!i){break n}e=c;s:{t:{if(j[a+60>>2]!=36|u){break t}q=k[c-1|0];if((q|0)==k[c+1|0]){if((s|0)>=2){f=45;if((q|0)==k[c-2|0]){break s}}f=45;if((q|0)==k[c+2|0]){break s}}if((n|0)!=3){break t}f=45;if((i|0)>1){break s}}f=32}h[e|0]=f;f=0;i=0;e=j[b>>2];n=j[b+4>>2];u:{if((e|0)!=(n|0)){while(1){i=W(l);q=p(f,12)+e|0;t=k[q+11|0];if((i|0)==((t<<24>>24<0?j[q+4>>2]:t)|0)){e=0;if(!_(q,0,-1,l,i)){break u}n=j[b+4>>2];e=j[b>>2]}f=f+1|0;i=(n-e|0)/12|0;if(f>>>0>>0){continue}break}}e=1;if(m[a+48>>2]<=i>>>0){break u}f=W(l);if(f>>>0>=4294967280){break a}v:{w:{if(f>>>0>=11){n=f+16&-16;i=U(n);j[g+8>>2]=n|-2147483648;j[g>>2]=i;j[g+4>>2]=f;break w}h[g+11|0]=f;i=g;if(!f){break v}}V(i,l,f)}h[f+i|0]=0;f=j[b+4>>2];if(f>>>0>2]){i=j[g+4>>2];j[f>>2]=j[g>>2];j[f+4>>2]=i;j[f+8>>2]=j[g+8>>2];j[b+4>>2]=f+12;break u}Db(b,g);if(h[g+11|0]>-1){break u}T(j[g>>2])}if(j[a+64>>2]|!k[a+40|0]){break n}if((Je(a,r)|0)<2){break n}if((Je(a,l)-Je(a,c)|0)<2){break n}h[c|0]=45;c=0;f=j[b>>2];n=j[b+4>>2];x:{y:{if((f|0)==(n|0)){f=n;break y}while(1){i=W(l);r=p(c,12)+f|0;q=k[r+11|0];if((i|0)==((q<<24>>24<0?j[r+4>>2]:q)|0)){r=_(r,0,-1,l,i);f=j[b>>2];n=j[b+4>>2];i=0;if(!r){break x}}c=c+1|0;if(c>>>0<(n-f|0)/12>>>0){continue}break}}i=e}if(!i|m[a+48>>2]<=(n-f|0)/12>>>0){break n}c=W(l);if(c>>>0>=4294967280){break a}z:{A:{if(c>>>0>=11){e=c+16&-16;f=U(e);j[g+8>>2]=e|-2147483648;j[g>>2]=f;j[g+4>>2]=c;break A}h[g+11|0]=c;f=g;if(!c){break z}}V(f,l,c)}h[c+f|0]=0;c=j[b+4>>2];if(c>>>0>2]){e=j[g+4>>2];j[c>>2]=j[g>>2];j[c+4>>2]=e;j[c+8>>2]=j[g+8>>2];j[b+4>>2]=c+12;break n}Db(b,g);if(h[g+11|0]>-1){break n}T(j[g>>2])}s=s+1|0;c=s+l|0;if(k[c+1|0]){continue}break}}T(l)}M=g+16|0;return o&1}X();z()}function cc(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0;r=M-400|0;M=r;a:{b:{if(!d){break b}f=j[d>>2]-1|0;j[d>>2]=f;if(f|!e){break b}f=0;if(((C()|0)-j[e>>2]|0)>5e4){break a}j[d>>2]=100}f=0;d=j[a+44>>2];if(!d){break a}if((c|0)==1){c=1;if(!(l[d+4152>>1]|l[d+4154>>1]?c:j[d+4268>>2]!=j[d+4272>>2])){break a}if(!ed(j[a+44>>2],b,0,0,100,0,0,r,0,1,0)){break a}b=Xb(j[a+44>>2],h[b+11|0]<0?j[b>>2]:b);c:{if(!b){break c}d=j[b+4>>2];if(!d){break c}e=i[b+2>>1];o=(e<<1)+d|0;c=l[j[a+44>>2]+4192>>1];if(e){while(1){n=e>>>1|0;m=(n<<1)+d|0;g=c>>>0>l[m>>1];d=g?m+2|0:d;e=g?(n^-1)+e|0:n;if(e){continue}break}}if(c>>>0>=l[d>>1]?(d|0)!=(o|0):0){break a}d=j[b+4>>2];e=i[b+2>>1];n=d+(e<<1)|0;a=l[j[a+44>>2]+4194>>1];if(e){while(1){b=e>>>1|0;g=(b<<1)+d|0;c=a>>>0>l[g>>1];d=c?g+2|0:d;e=c?(b^-1)+e|0:b;if(e){continue}break}}if((d|0)==(n|0)){break c}if(a>>>0>=l[d>>1]){break a}}f=3;break a}g=Xb(d,h[b+11|0]<0?j[b>>2]:b);d:{e:{f:{if(g){d=j[g+4>>2];g:{if(!d){break g}f=i[g+2>>1];o=(f<<1)+d|0;c=l[j[a+44>>2]+4192>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(c>>>0>=l[d>>1]){break a}}d=j[g+4>>2];f=i[g+2>>1];o=d+(f<<1)|0;c=l[j[a+44>>2]+4194>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(c>>>0>=l[d>>1]){break a}}d=j[g+4>>2];f=i[g+2>>1];o=d+(f<<1)|0;c=l[j[a+44>>2]+4476>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}if((d|0)==(o|0)){break g}f=0;if(c>>>0>=l[d>>1]){break a}}while(1){d=j[g+4>>2];if(!d){n=3;break d}f=i[g+2>>1];o=(f<<1)+d|0;c=l[j[a+44>>2]+4198>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}h:{if(c>>>0>=l[d>>1]?(d|0)!=(o|0):0){break h}c=j[g+4>>2];n=l[g+2>>1];e=n<<16>>16;o=c+(e<<1)|0;d=c;f=e;if(n){while(1){m=f>>>1|0;p=(m<<1)+d|0;q=l[p>>1]<65511;d=q?p+2|0:d;f=q?(m^-1)+f|0:m;if(f){continue}break}}if(l[d>>1]<65512?(d|0)!=(o|0):0){break h}d=l[j[a+44>>2]+4464>>1];if(n){while(1){f=e>>>1|0;m=(f<<1)+c|0;n=d>>>0>l[m>>1];c=n?m+2|0:c;e=n?(f^-1)+e|0:f;if(e){continue}break}}if((c|0)==(o|0)|d>>>0>1]){break f}}g=j[g+12>>2];if(g){continue}break}break e}c=k[b+11|0];d=c<<24>>24<0;g=gb(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0,0)}n=3;if(g){break d}}f=0;n=2;c=k[b+11|0];d=c<<24>>24<0;g=Qa(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0,0,0,0,0);if(g){break d}if(!j[j[a+44>>2]+4488>>2]){break a}c=k[b+11|0];d=c<<24>>24<0;g=eb(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0,0,0);if(g){break d}c=k[b+11|0];d=c<<24>>24<0;g=Lb(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0);if(!g){break a}}d=j[g+4>>2];i:{if(!d){break i}f=i[g+2>>1];o=(f<<1)+d|0;b=l[j[a+44>>2]+4192>>1];if(f){while(1){c=f>>>1|0;m=(c<<1)+d|0;e=b>>>0>l[m>>1];d=e?m+2|0:d;f=e?(c^-1)+f|0:c;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(b>>>0>=l[d>>1]){break a}}c=j[g+4>>2];b=l[g+2>>1];e=b<<16>>16;o=c+(e<<1)|0;d=c;if(b){f=e;while(1){m=f>>>1|0;p=(m<<1)+d|0;q=l[p>>1]<65511;d=q?p+2|0:d;f=q?(m^-1)+f|0:m;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(l[d>>1]<65512){break a}}d=l[j[a+44>>2]+4194>>1];if(b){while(1){b=e>>>1|0;m=(b<<1)+c|0;f=d>>>0>l[m>>1];c=f?m+2|0:c;e=f?(b^-1)+e|0:b;if(e){continue}break}}if((c|0)!=(o|0)){f=0;if(d>>>0>=l[c>>1]){break a}}d=j[g+4>>2];f=i[g+2>>1];o=d+(f<<1)|0;b=l[j[a+44>>2]+4464>>1];if(f){while(1){c=f>>>1|0;m=(c<<1)+d|0;e=b>>>0>l[m>>1];d=e?m+2|0:d;f=e?(c^-1)+f|0:c;if(f){continue}break}}if((d|0)==(o|0)){break i}f=0;if(b>>>0>=l[d>>1]){break a}}j:{if(!l[j[a+44>>2]+4152>>1]){break j}d=j[g+4>>2];f=i[g+2>>1];e=d+(f<<1)|0;a=l[j[a+44>>2]+4152>>1];if(f){while(1){b=f>>>1|0;g=(b<<1)+d|0;c=a>>>0>l[g>>1];d=c?g+2|0:d;f=c?(b^-1)+f|0:b;if(f){continue}break}}if((d|0)==(e|0)){break j}f=n;if(a>>>0>=l[d>>1]){break a}}f=1}M=r+400|0;return f}function Op(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0;d=M+ -64|0;M=d;a:{b:{c:{e=0;d:{if(j[a+4280>>2]){break d}j[d+56>>2]=h[b+11|0]<0?j[b>>2]:b;e:{f:{g:{f=ka(b,d+56|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){break g}n=-1;g=0;while(1){h:{switch(g|0){case 1:l=j[d+56>>2];n=l-f|0;if(n>>>0>=4294967280){break c}i:{if(n>>>0<=10){h[d+51|0]=n;e=d+40|0;break i}o=n+16&-16;e=U(o);j[d+48>>2]=o|-2147483648;j[d+40>>2]=e;j[d+44>>2]=n}if((f|0)!=(l|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[e|0]=0;j:{if(h[d+51|0]>=0){n=ta(d+40|0);break j}e=j[d+40>>2];n=ta(e);T(e)}e=0;if((n|0)<=0){break d}e=U(1040);j[e+12>>2]=0;j[e+4>>2]=0;j[e+8>>2]=0;j[a+4280>>2]=e;h[e|0]=j[a+4144>>2];case 0:p=p+1|0;break;default:break h}}g=g+1|0;f=ka(b,d+56|0);e=k[b+11|0];l=e<<24>>24<0;if((f|0)!=((l?j[b>>2]:b)+(l?j[b+4>>2]:e)|0)){continue}break}if((p|0)!=2){break g}if((n|0)<1){break e}p=0;break f}e=0;break d}while(1){j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;b=0;k:{if(!ub(c,d+40|0)){break k}bb(d+40|0);e=j[a+4280>>2];f=j[e+8>>2];b=0;e=j[e+4>>2];j[d+56>>2]=h[d+51|0]<0?j[d+40>>2]:d+40|0;r=(f-e|0)/12|0;f=ka(d+40|0,d+56|0);g=j[d+40>>2];l=k[d+51|0];e=l<<24>>24<0;l:{if((f|0)!=((e?g:d+40|0)+(e?j[d+44>>2]:l)|0)){while(1){m:{n:{switch(b|0){case 0:if(!_(d+40|0,f-(e&1?g:d+40|0)|0,5,1528,5)){break m}break l;case 1:o=j[d+56>>2];g=o-f|0;if(g>>>0>=4294967280){break b}l=j[a+4280>>2];o:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break o}q=g+16&-16;e=U(q);j[d+32>>2]=q|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(o|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((o|0)!=(f|0)){continue}break}}h[e|0]=0;e=j[l+8>>2];p:{if(e>>>0>2]){f=j[d+28>>2];j[e>>2]=j[d+24>>2];j[e+4>>2]=f;j[e+8>>2]=j[d+32>>2];j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;j[l+8>>2]=e+12;break p}Db(l+4|0,d+24|0)}if(h[d+35|0]>-1){break m}T(j[d+24>>2]);break m;case 2:break n;default:break m}}o=j[d+56>>2];g=o-f|0;if(g>>>0>=4294967280){break a}l=j[a+4280>>2];q:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break q}q=g+16&-16;e=U(q);j[d+32>>2]=q|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(o|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((o|0)!=(f|0)){continue}break}}h[e|0]=0;e=j[l+8>>2];r:{if(e>>>0>2]){f=j[d+28>>2];j[e>>2]=j[d+24>>2];j[e+4>>2]=f;j[e+8>>2]=j[d+32>>2];j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;j[l+8>>2]=e+12;break r}Db(l+4|0,d+24|0)}if(h[d+35|0]<=-1){T(j[d+24>>2])}e=j[j[a+4280>>2]+8>>2];i[d+24>>1]=95;h[d+35|0]=1;h[d+8|0]=0;h[d+19|0]=0;wb(e-12|0,d+24|0,d+8|0);if(h[d+19|0]<=-1){T(j[d+8>>2])}if(h[d+35|0]>-1){break m}T(j[d+24>>2])}b=b+1|0;f=ka(d+40|0,d+56|0);g=j[d+40>>2];l=k[d+51|0];e=l<<24>>24<0;if((f|0)!=((e?g:d+40|0)+(e?j[d+44>>2]:l)|0)){continue}break}}e=j[a+4280>>2];b=1;if((r+2|0)==((j[e+8>>2]-j[e+4>>2]|0)/12|0)){break k}f=j[a+4280>>2];e=j[f+8>>2];g=j[f+4>>2];if((e|0)!=(g|0)){while(1){b=e-12|0;if(h[e-1|0]<=-1){T(j[b>>2])}e=b;if((g|0)!=(e|0)){continue}break}}j[f+8>>2]=g}b=0}if(h[d+51|0]<=-1){T(j[d+40>>2])}if(b){p=p+1|0;if((p|0)==(n|0)){break e}continue}break}e=0;break d}b=j[a+4280>>2];h[d+40|0]=0;h[d+51|0]=0;c=j[b+8>>2];s:{if(c>>>0>2]){e=j[d+44>>2];j[c>>2]=j[d+40>>2];j[c+4>>2]=e;j[c+8>>2]=j[d+48>>2];j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[b+8>>2]=c+12;break s}Db(b+4|0,d+40|0)}if(h[d+51|0]<=-1){T(j[d+40>>2])}b=j[a+4280>>2];h[d+40|0]=0;h[d+51|0]=0;c=j[b+8>>2];t:{if(c>>>0>2]){e=j[d+44>>2];j[c>>2]=j[d+40>>2];j[c+4>>2]=e;j[c+8>>2]=j[d+48>>2];j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[b+8>>2]=c+12;break t}Db(b+4|0,d+40|0)}if(h[d+51|0]<=-1){T(j[d+40>>2])}pq(j[a+4280>>2]);e=1}a=e;M=d- -64|0;return a}X();z()}X();z()}X();z()}function Rh(a,b,c){var d=0,e=0,f=0,g=0,i=0,m=0,n=0,o=0,q=0,r=0,s=0;f=M-48|0;M=f;Pq(a,b,c,f+31|0,f+24|0,f+20|0);a:{if(!j[b+48>>2]){break a}d=j[a>>2];if((d|0)==j[a+4>>2]){break a}while(1){d=p(e,12)+d|0;b:{if(j[b+44>>2]){ob(d);break b}Va(d)}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}c:{if(!k[f+31|0]){break c}d=j[a>>2];if((d|0)==j[a+4>>2]){break c}e=0;while(1){d=p(e,12)+d|0;d:{if(j[b+44>>2]){j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;ia(f+32|0,d);vb(f+32|0,j[b+40>>2]);da(d,f+32|0);d=j[f+32>>2];if(!d){break d}j[f+36>>2]=d;T(d);break d}nb(d,j[b+36>>2])}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}g=j[f+24>>2];e:{if(!g){break e}e=j[b>>2];if(!e|!j[e+4304>>2]){break e}d=j[a>>2];if((d|0)==j[a+4>>2]){break e}e=0;while(1){m=k[c+11|0];sa(f+32|0,c,(m<<24>>24<0?j[c+4>>2]:m)-g|0,-1);q=p(e,12)+d|0;d=k[f+43|0];m=d<<24>>24<0;aa(q,m?j[f+32>>2]:f+32|0,m?j[f+36>>2]:d);if(h[f+43|0]<=-1){T(j[f+32>>2])}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}c=j[b>>2];f:{if(!c|(l[j[b>>2]+4192>>1]?0:!l[c+4466>>1])|j[f+20>>2]-1>>>0>1){break f}g:{c=j[a+4>>2];g=j[a>>2];if((c|0)==(g|0)){d=0;break g}e=0;d=0;while(1){h:{i:{c=p(e,12);if((Ba(c+g|0,32,0)|0)!=-1){break i}if(jb(b,c+j[a>>2]|0,0)){break i}j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;j[f+16>>2]=0;j[f+8>>2]=0;j[f+12>>2]=0;c=c+j[a>>2]|0;j:{if(j[b+44>>2]){ia(f+8|0,c);break j}ua(f+32|0,c)}k:{if(j[b+44>>2]){Ua(f+8|0,j[b+40>>2]);da(f+32|0,f+8|0);break k}Pa(f+32|0,j[b+36>>2])}l:{if(!jb(b,f+32|0,0)){m:{if(j[b+44>>2]){vb(f+8|0,j[b+40>>2]);da(f+32|0,f+8|0);break m}nb(f+32|0,j[b+36>>2])}if(!jb(b,f+32|0,0)){break l}}ua(j[a>>2]+p(d,12)|0,f+32|0);d=d+1|0}c=j[f+8>>2];if(c){j[f+12>>2]=c;T(c)}if(h[f+43|0]>-1){break h}T(j[f+32>>2]);break h}g=j[a>>2];ua(g+p(d,12)|0,c+g|0);d=d+1|0}e=e+1|0;c=j[a+4>>2];g=j[a>>2];i=(c-g|0)/12|0;if(e>>>0>>0){continue}break}if(d>>>0<=i>>>0){break g}Qh(a,d-i|0);break f}if(d>>>0>=i>>>0){break f}d=p(d,12)+g|0;if((d|0)!=(c|0)){while(1){e=c-12|0;if(h[c-1|0]<=-1){T(j[e>>2])}c=e;if((d|0)!=(e|0)){continue}break}}j[a+4>>2]=d}m=0;n:{o:{e=j[a+4>>2];o=j[a>>2];p:{if((e|0)==(o|0)){g=0;break p}g=0;while(1){e=p(m,12);ua(p(g,12)+o|0,e+o|0);o=j[a>>2];c=0;q:{if(!g){break q}i=0;q=e+o|0;e=k[q+11|0];c=e<<24>>24;r=(c|0)<0?j[q+4>>2]:e;r:{s:{if((c|0)<=-1){while(1){d=p(i,12)+o|0;c=k[d+11|0];n=c<<24>>24<0;t:{if(((n?j[d+4>>2]:c)|0)!=(r|0)){break t}s=j[d>>2];e=j[q>>2];if(!n){if(!r){break r}if(k[e|0]!=(s&255)){break t}while(1){c=c-1|0;if(!c){break r}n=k[e+1|0];e=e+1|0;d=d+1|0;if((n|0)==k[d|0]){continue}break}break t}if(!r){break r}if(!qa(n?s:d,e,r)){break r}}i=i+1|0;if((i|0)!=(g|0)){continue}break s}}while(1){e=p(i,12)+o|0;c=k[e+11|0];d=c<<24>>24<0;u:{if(((d?j[e+4>>2]:c)|0)!=(r|0)){break u}n=j[e>>2];if(!d){if(!r){break r}if(k[q|0]!=(n&255)){break u}d=q;while(1){c=c-1|0;if(!c){break r}n=k[d+1|0];d=d+1|0;e=e+1|0;if((n|0)==k[e|0]){continue}break}break u}if(!r){break r}if(!qa(d?n:e,q,r)){break r}}i=i+1|0;if((i|0)!=(g|0)){continue}break}}c=g;break q}c=g-1|0}g=c+1|0;m=m+1|0;e=j[a+4>>2];c=(e-o|0)/12|0;if(m>>>0>>0){continue}break}if(c>>>0>>0){break o}m=c}if(g>>>0>=m>>>0){break n}d=p(g,12)+o|0;if((d|0)!=(e|0)){while(1){c=e-12|0;if(h[e-1|0]<=-1){T(j[c>>2])}e=c;if((e|0)!=(d|0)){continue}break}}j[a+4>>2]=d;break n}Qh(a,g-c|0)}b=j[b>>2];v:{if(!b){break v}b=j[b+4208>>2];if(!b){break v}d=j[a>>2];if((d|0)==j[a+4>>2]){break v}e=0;while(1){j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;c=p(e,12);if(Yc(b,c+d|0,f+32|0)){ua(c+j[a>>2]|0,f+32|0)}if(h[f+43|0]<=-1){T(j[f+32>>2])}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}M=f+48|0}function yp(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=M-48|0;M=d;a:{if(k[a+4264|0]){break a}h[a+4264|0]=1;j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;b:{c:{e=ka(b,d+40|0);f=k[b+11|0];g=f<<24>>24<0;if((e|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:f)|0)){break c}n=a+4268|0;o=-1;while(1){d:{switch(l|0){case 1:o=j[d+40>>2];g=o-e|0;if(g>>>0>=4294967280){break b}e:{if(g>>>0<=10){h[d+35|0]=g;f=d+24|0;break e}r=g+16&-16;f=U(r);j[d+32>>2]=r|-2147483648;j[d+24>>2]=f;j[d+28>>2]=g}if((e|0)!=(o|0)){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((o|0)!=(e|0)){continue}break}}h[f|0]=0;f:{if(h[d+35|0]>=0){o=ta(d+24|0);break f}e=j[d+24>>2];o=ta(e);T(e)}if((o|0)<=0){e=0;break a}so(n,o);case 0:s=s+1|0;break;default:break d}}l=l+1|0;e=ka(b,d+40|0);f=k[b+11|0];g=f<<24>>24<0;if((e|0)!=((g?j[b>>2]:b)+(g?j[b+4>>2]:f)|0)){continue}break}if((s|0)!=2){break c}e=1;if((o|0)<1){break a}v=a+4268|0;r=0;while(1){g:{j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;h:{if(ub(c,d+24|0)){bb(d+24|0);j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;b=j[a+4272>>2];i:{if(b>>>0>2]){j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;j[b>>2]=j[d+8>>2];j[b+4>>2]=j[d+12>>2];j[b+8>>2]=j[d+16>>2];j[a+4272>>2]=b+12;break i}qo(v,d+8|0);b=j[d+8>>2];if(!b){break i}j[d+12>>2]=b;T(b)}s=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;e=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];f=g<<24>>24<0;if((e|0)!=((f?b:d+24|0)+(f?j[d+28>>2]:g)|0)){while(1){j:{k:{switch(s|0){case 0:if(!_(d+24|0,e-(f&1?b:d+24|0)|0,12,1555,12)){break j}o=0;e=0;break h;case 1:break k;default:break j}}f=e;l:{l=j[d+40>>2];g=(l|0)==(e|0);if(g){break l}while(1){if(k[f|0]!=40){f=f+1|0;if((l|0)!=(f|0)){continue}break l}break}if((f|0)==(l|0)){break l}if(g){break j}m:{n:{while(1){b=e+1|0;f=e;g=k[e|0];if((g|0)==40){o:{p:{while(1){f=f+1|0;if((l|0)==(f|0)){break p}if(k[f|0]!=41){continue}break}e=b;b=f;break o}f=e}g=k[e|0]}q:{g=g&255;r:{if(!((g|0)!=42?(g|0)!=63:0)){e=j[a+4272>>2];q=e-8|0;b=j[q>>2];p=e-4|0;n=j[p>>2];if(b>>>0>>0){i[b>>1]=g;j[q>>2]=b+2;break r}u=e-12|0;e=j[u>>2];l=b-e|0;if((l|0)<=-3){break q}t=l>>1;b=t+1|0;n=n-e|0;n=n>>1>>>0<1073741823?b>>>0>n>>>0?b:n:2147483647;b=0;s:{if(!n){break s}if((n|0)<=-1){break n}b=U(n<<1)}t=b+(t<<1)|0;i[t>>1]=g;if((l|0)>=1){V(b,e,l)}j[u>>2]=b;j[q>>2]=t+2;j[p>>2]=b+(n<<1);if(!e){break r}T(e);break r}g=b-e|0;if(g>>>0>=4294967280){break m}n=j[a+4272>>2];q=j[a+4100>>2];t:{if(g>>>0<=10){h[d+19|0]=g;l=d+8|0;break t}p=g+16&-16;l=U(p);j[d+16>>2]=p|-2147483648;j[d+8>>2]=l;j[d+12>>2]=g}if((b|0)!=(e|0)){while(1){h[l|0]=k[e|0];l=l+1|0;e=e+1|0;if((e|0)!=(b|0)){continue}break}}h[l|0]=0;Uh(q,n-12|0,d+8|0);if(h[d+19|0]>-1){break r}T(j[d+8>>2])}e=f+1|0;l=j[d+40>>2];if((e|0)!=(l|0)){continue}break j}break}X();z()}D();z()}X();z()}b=l-e|0;if(b>>>0>=4294967280){break g}n=j[a+4272>>2];q=j[a+4100>>2];u:{if(b>>>0<=10){h[d+19|0]=b;f=d+8|0;break u}p=b+16&-16;f=U(p);j[d+16>>2]=p|-2147483648;j[d+8>>2]=f;j[d+12>>2]=b}if(!g){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}h[f|0]=0;Uh(q,n-12|0,d+8|0);if(h[d+19|0]>-1){break j}T(j[d+8>>2])}s=s+1|0;e=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];f=g<<24>>24<0;if((e|0)!=((f?b:d+24|0)+(f?j[d+28>>2]:g)|0)){continue}break}}b=j[a+4272>>2]-12|0;e=1;if(j[b>>2]!=j[b+4>>2]){break h}}e=0}if(h[d+35|0]<=-1){T(j[d+24>>2])}r=r+1|0;if((r|0)<(o|0)&e){continue}break a}break}X();z()}e=0;break a}X();z()}M=d+48|0;return e}function hc(a,b,c,d,e,f){var g=0,h=0,k=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;r=M-16|0;M=r;a:{b:{C=j[b>>2];k=C;if(k){break b}j[b>>2]=e;k=e;if(e){break b}d=0;break a}g=U(8);j[r>>2]=g;e=g+8|0;j[r+8>>2]=e;j[g>>2]=0;j[g+4>>2]=0;j[r+4>>2]=e;e=c<<2;j[e+k>>2]=d;g=i[d+2>>1];c:{d:{if(g){e:{m=j[a+4268>>2];e=j[a+4272>>2];z=(m|0)==(e|0);if(z){break e}e=(e-m|0)/12|0;A=e>>>0>1?e:1;while(1){k=p(n,12)+m|0;e=j[k+4>>2];t=j[k>>2];f:{if((e|0)==(t|0)){break f}u=e-t>>1;o=0;while(1){g:{x=l[t+(o<<1)>>1];if((x|0)==42|(x|0)==63){break g}s=j[d+4>>2];e=s;k=g;while(1){v=k>>>1|0;q=(v<<1)+e|0;y=x>>>0>l[q>>1];e=y?q+2|0:e;k=y?(v^-1)+k|0:v;if(k){continue}break}if((s+(g<<1)|0)==(e|0)|x>>>0>1]){break g}h=1;break f}o=o+1|0;if(u>>>0>o>>>0){continue}break}}n=n+1|0;if((A|0)!=(n|0)){continue}break}if(!h){break e}h:{if(z){break h}i:while(1){w=0;h=0;g=0;o=1;while(1){B=p(D,12);n=1;j:{k:{l:{if(g<<16>>16>(c|0)){break l}d=m+B|0;e=j[d>>2];d=j[d+4>>2]-e>>1;if(h>>>0>=d>>>0){break l}while(1){t=g<<16;q=t>>16;m:{n:{s=h+1|0;if(s>>>0>=d>>>0){break n}u=l[(s<<1)+e>>1];k=(u|0)==63;if((u|0)!=42?!k:0){break n}E=j[r>>2];F=E+(w<<16>>16<<3)|0;i[F+2>>1]=g;d=h+2|0;i[F>>1]=d;m=0;v=(k?g:c)<<16>>16;o:{if((v|0)>16){h=q;break o}y=(h<<1)+e|0;z=j[b>>2];h=q;while(1){e=j[z+(h<<2)>>2];s=i[e+2>>1];if(!s){m=1;break o}o=l[y>>1];A=j[e+4>>2];e=A;k=s;while(1){x=k>>>1|0;u=(x<<1)+e|0;t=o>>>0>l[u>>1];e=t?u+2|0:e;k=t?(x^-1)+k|0:x;if(k){continue}break}if((A+(s<<1)|0)==(e|0)){m=1;break o}if(o>>>0>1]){m=1;break o}h=(g<<16)+65536>>16;g=h;if((v|0)>=(g|0)){continue}break}g=h}e=h-q|0;j[F+4>>2]=e;p:{if((e|0)<1){break p}w=w+1|0;h=(w<<16>>16)+1|0;e=j[r+4>>2]-E>>3;if(h>>>0>e>>>0){Il(r,h-e|0);break p}if(e>>>0<=h>>>0){break p}j[r+4>>2]=(h<<3)+E}o=1;if((m^1)&g<<16>>16>(c|0)){h=d;break l}m=j[a+4268>>2];o=0;break m}g=0;k=j[j[b>>2]+(q<<2)>>2];if(!k){break k}q=i[k+2>>1];if(!q){break k}v=l[(h<<1)+e>>1];A=j[k+4>>2];e=A;k=q;while(1){y=k>>>1|0;u=(y<<1)+e|0;z=v>>>0>l[u>>1];e=z?u+2|0:e;k=z?(y^-1)+k|0:y;if(k){continue}break}if((A+(q<<1)|0)==(e|0)|v>>>0>1]){break k}g=t+65536>>16;n=(g|0)>(c|0)?n:(d|0)!=(s|0)?n:0;o=1;d=s}h=d;if(g<<16>>16>(c|0)){break l}d=m+B|0;e=j[d>>2];d=j[d+4>>2]-e>>1;if(h>>>0>>0){continue}break}}k=(o|0)!=0;if(!n){g=n;break j}if(!o){g=n;break j}d=1;g=j[a+4268>>2]+B|0;q=j[g>>2];e=h;g=j[g+4>>2]-q>>1;if(e>>>0>=g>>>0){break c}while(1){k=1;d=e+1|0;if(d>>>0>=g>>>0){g=n;break j}d=l[q+(d<<1)>>1];if(!((d|0)==63|(d|0)==42)){g=n;break j}e=e+2|0;if(g>>>0>e>>>0){continue}break}d=1;break c}k=1;o=1}q:{if(w&65535){e=j[r>>2];while(1){h=e+((w<<16>>16)-1<<3)|0;d=j[h+4>>2];g=d-1|0;j[h+4>>2]=g;if((d|0)>0){break q}w=w-1|0;if(w&65535){continue}break}h=i[h>>1];g=1}r:{if(!(!g|k^1)){if(!f){d=1;break c}d=1;e=j[a+4268>>2]+B|0;if(j[e+4>>2]-j[e>>2]>>1>>>0<=h>>>0){break c}m=j[a+4268>>2];e=B+m|0;n=j[e>>2];g=j[e+4>>2]-n>>1;if(g>>>0<=h>>>0){break c}while(1){e=h+1|0;if(e>>>0>=g>>>0){break r}e=l[n+(e<<1)>>1];if((e|0)!=42?(e|0)!=63:0){break r}h=h+2|0;if(g>>>0>h>>>0){continue}break}break c}m=j[a+4268>>2]}D=D+1|0;if(D>>>0<(j[a+4272>>2]-m|0)/12>>>0){continue i}break h}g=g+l[h+2>>1]|0;h=i[h>>1];m=j[a+4268>>2];continue}}}d=0;j[j[b>>2]+(c<<2)>>2]=0;if(C){break c}break d}d=0;j[j[b>>2]+(c<<2)>>2]=0;if(!C){break d}break c}d=0;j[e+j[b>>2]>>2]=0;if(C){break c}}j[b>>2]=0}a=j[r>>2];if(!a){break a}j[r+4>>2]=a;T(a)}M=r+16|0;return d}function yb(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0;l=M-112|0;M=l;m=h;p=i&2147483647;n=c-(b>>>0<1)|0;k=b-1|0;r=(k|0)==-1&(n|0)==-1;t=d;q=(c|0)==(n|0)&b>>>0>k>>>0|c>>>0>n>>>0;o=d+q|0;n=e&2147483647;k=n;k=o>>>0>>0?k+1|0:k;q=o-1|0;a:{b:{k=k-(o>>>0<1)|0;if(!((q|0)==-1&(k|0)==2147418111?r:k>>>0>2147418111)){k=f;o=g-(k>>>0<1)|0;k=k-1|0;r=(k|0)!=-1|(o|0)!=-1;q=(g|0)==(o|0)&f>>>0>k>>>0|g>>>0>o>>>0;o=q+m|0;k=p;k=o>>>0>>0?k+1|0:k;q=o;o=o-1|0;k=k-(q>>>0<1)|0;if((o|0)==-1&(k|0)==2147418111?r:(k|0)==2147418111&(o|0)!=-1|k>>>0<2147418111){break b}}if(!(!t&(n|0)==2147418112?!(b|c):n>>>0<2147418112)){h=d;i=e|32768;f=b;g=c;break a}if(!(!m&(p|0)==2147418112?!(f|g):p>>>0<2147418112)){i=i|32768;break a}if(!(b|t|(n^2147418112|c))){k=d;d=!(b^f|d^h|(c^g|e^i^-2147483648));h=d?0:k;i=d?2147450880:e;f=d?0:b;g=d?0:c;break a}if(!(f|m|(p^2147418112|g))){break a}if(!(b|t|(c|n))){if(f|m|(g|p)){break a}f=b&f;g=c&g;h=d&h;i=e&i;break a}if(f|m|(g|p)){break b}f=b;g=c;h=d;i=e;break a}r=(m|0)==(t|0)&(n|0)==(p|0)?(c|0)==(g|0)&b>>>0>>0|c>>>0>>0:(n|0)==(p|0)&m>>>0>t>>>0|n>>>0

>>0;k=r;o=k?f:b;p=k?g:c;m=k?i:e;t=m;n=k?h:d;k=m&65535;i=r?e:i;e=i;h=r?d:h;q=i>>>16&32767;m=m>>>16&32767;if(!m){d=!(k|n);i=d<<6;m=s(d?o:n)+32|0;d=s(d?p:k);d=i+((d|0)==32?m:d)|0;mb(l+96|0,o,p,n,k,d-15|0);n=j[l+104>>2];o=j[l+96>>2];p=j[l+100>>2];m=16-d|0;k=j[l+108>>2]}f=r?b:f;g=r?c:g;i=e&65535;if(!q){b=!(h|i);c=b<<6;d=s(b?f:h)+32|0;b=s(b?g:i);b=c+((b|0)==32?d:b)|0;mb(l+80|0,f,g,h,i,b-15|0);q=16-b|0;h=j[l+88>>2];i=j[l+92>>2];g=j[l+84>>2];f=j[l+80>>2]}b=h;c=i<<3|b>>>29;h=b<<3|g>>>29;i=c|524288;b=n;d=k<<3|b>>>29;n=b<<3|p>>>29;u=d;r=e^t;b=f;k=g<<3|b>>>29;b=b<<3;c=k;d=m-q|0;e=b;c:{if(!d){break c}if(d>>>0>127){h=0;i=0;k=0;e=1;break c}mb(l- -64|0,b,c,h,i,128-d|0);Fc(l+48|0,b,c,h,i,d);h=j[l+56>>2];i=j[l+60>>2];k=j[l+52>>2];e=j[l+48>>2]|((j[l+64>>2]|j[l+72>>2])!=0|(j[l+68>>2]|j[l+76>>2])!=0)}f=k;d=n;q=u|524288;b=o;k=p<<3|b>>>29;c=b<<3;d:{if((r|0)<-1?1:(r|0)<=-1){p=e;b=c-e|0;n=h;o=d-h|0;e=(f|0)==(k|0)&c>>>0>>0|f>>>0>k>>>0;h=o-e|0;c=k-((c>>>0

>>0)+f|0)|0;i=(q-((d>>>0>>0)+i|0)|0)-(e>>>0>o>>>0)|0;if(!(b|h|(c|i))){f=0;g=0;h=0;i=0;break a}if(i>>>0>524287){break d}f=b;d=!(h|i);e=d<<6;g=s(d?b:h)+32|0;b=s(d?c:i);b=e+((b|0)==32?g:b)|0;b=b-12|0;mb(l+32|0,f,c,h,i,b);m=m-b|0;h=j[l+40>>2];i=j[l+44>>2];b=j[l+32>>2];c=j[l+36>>2];break d}b=c;g=b+e|0;c=f+k|0;c=b>>>0>g>>>0?c+1|0:c;b=g;g=(c|0)==(f|0)&e>>>0>b>>>0|c>>>0>>0;e=d;f=d+h|0;d=i+q|0;d=e>>>0>f>>>0?d+1|0:d;e=g+f|0;h=e;i=h>>>0>>0?d+1|0:d;if(!(i&1048576)){break d}b=b&1|((c&1)<<31|b>>>1);c=h<<31|c>>>1;m=m+1|0;h=(i&1)<<31|h>>>1;i=i>>>1|0}p=0;t=t&-2147483648;if((m|0)>=32767){h=p;i=t|2147418112;f=0;g=0;break a}e=0;e:{if((m|0)>0){e=m;break e}mb(l+16|0,b,c,h,i,m+127|0);Fc(l,b,c,h,i,1-m|0);b=j[l>>2]|((j[l+16>>2]|j[l+24>>2])!=0|(j[l+20>>2]|j[l+28>>2])!=0);c=j[l+4>>2];h=j[l+8>>2];i=j[l+12>>2]}k=(c&7)<<29|b>>>3;m=b&7;b=k+(m>>>0>4)|0;d=h<<29|c>>>3;c=b>>>0>>0?d+1|0:d;f=b;g=c;b=(d|0)==(c|0)&b>>>0>>0|c>>>0>>0;d=p|((i&7)<<29|h>>>3);b=b+d|0;k=t|(i>>>3&65535|e<<16);h=b;i=b>>>0>>0?k+1|0:k;f:{if((m|0)==4){k=i;c=0;d=g+c|0;e=f&1;b=f+e|0;d=b>>>0>>0?d+1|0:d;f=b;g=d;c=(c|0)==(d|0)&b>>>0>>0|c>>>0>d>>>0;b=c+h|0;h=b;i=b>>>0>>0?k+1|0:k;break f}if(!m){break a}}}j[a>>2]=f;j[a+4>>2]=g;j[a+8>>2]=h;j[a+12>>2]=i;M=l+112|0}function Tg(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0,o=0,q=0,r=0,s=0;q=M-16|0;M=q;a:{b:{c:{d:{e:{f:{if(b>>>0<=36){while(1){f=j[a+4>>2];g:{if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break g}f=pa(a)}if((f|0)==32|f-9>>>0<5){continue}break}h:{i:{switch(f-43|0){case 0:case 2:break i;default:break h}}r=(f|0)==45?-1:0;f=j[a+4>>2];if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break h}f=pa(a)}j:{if(!(b&-17|(f|0)!=48)){f=j[a+4>>2];k:{if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break k}f=pa(a)}if((f&-33)==88){b=16;f=j[a+4>>2];l:{if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break l}f=pa(a)}if(k[f+123041|0]<16){break e}if(!j[a+104>>2]){d=0;e=0;if(c){break a}break b}b=j[a+4>>2];j[a+4>>2]=b-1;if(!c){break b}j[a+4>>2]=b-2;d=0;e=0;break a}if(b){break j}b=8;break e}b=b?b:10;if(b>>>0>k[f+123041|0]){break j}if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}d=0;e=0;Ib(a,0,0);j[37203]=28;break a}if((b|0)!=10){break e}c=f-48|0;if(c>>>0<=9){b=0;while(1){b=p(b,10)+c|0;c=j[a+4>>2];m:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break m}f=pa(a)}c=f-48|0;if(b>>>0<429496729?c>>>0<=9:0){continue}break}g=b}if(c>>>0>9){break f}i=Dr(g,0,10,0);b=N;while(1){f=c+i|0;l=f>>>0>>0?b+1|0:b;g=f;i=(l|0)==429496729&f>>>0>=2576980378|l>>>0>429496729;b=j[a+4>>2];n:{if(b>>>0>2]){j[a+4>>2]=b+1;f=k[b|0];break n}f=pa(a)}c=f-48|0;if(i|c>>>0>9){break f}i=Dr(g,l,10,0);b=N;if((b|0)==-1&(c^-1)>>>0>=i>>>0|(b|0)!=-1){continue}break}b=10;break d}j[37203]=28;d=0;e=0;break a}b=10;if(c>>>0<=9){break d}break c}if(b-1&b){c=k[f+123041|0];if(c>>>0>>0){while(1){i=p(b,i)+c|0;g=i>>>0<=119304646;c=j[a+4>>2];o:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break o}f=pa(a)}c=k[f+123041|0];if(c>>>0>>0?g:0){continue}break}g=i}if(b>>>0<=c>>>0){break d}i=b;while(1){n=Dr(g,l,i,0);o=N;c=c&255;if((o|0)==-1&(c^-1)>>>0>>0){break d}l=o;f=c+n|0;l=f>>>0>>0?l+1|0:l;g=f;o=b;c=j[a+4>>2];p:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break p}f=pa(a)}c=k[f+123041|0];if(o>>>0<=c>>>0){break d}Nb(q,i,0,g,l);if(!(j[q+8>>2]|j[q+12>>2])){continue}break}break d}o=h[(p(b,23)>>>5&7)+123297|0];c=k[f+123041|0];if(c>>>0>>0){while(1){i=i<>>0<=134217727;c=j[a+4>>2];q:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break q}f=pa(a)}c=k[f+123041|0];if(c>>>0>>0?g:0){continue}break}g=i}i=o;n=i&31;if((i&63)>>>0>=32){o=0;n=-1>>>n|0}else{o=-1>>>n|0;n=(1<>>n}if(!o&g>>>0>n>>>0|b>>>0<=c>>>0){break d}while(1){s=c&255;c=i;f=c&31;if((c&63)>>>0>=32){l=g<>>32-f|l<>2];r:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break r}f=pa(a)}if((l|0)==(o|0)&g>>>0>n>>>0|l>>>0>o>>>0){break d}c=k[f+123041|0];if(c>>>0>>0){continue}break}}if(k[f+123041|0]>=b>>>0){break c}while(1){f=j[a+4>>2];s:{if(f>>>0>2]){j[a+4>>2]=f+1;c=k[f|0];break s}c=pa(a)}if(k[c+123041|0]>>0){continue}break}j[37203]=68;r=d&1?0:r;g=d;l=e}if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}t:{if((e|0)==(l|0)&d>>>0>g>>>0|e>>>0>l>>>0){break t}if(!(r|d&1)){j[37203]=68;a=d;d=a-1|0;e=e-(a>>>0<1)|0;break a}if((e|0)==(l|0)&d>>>0>=g>>>0|e>>>0>l>>>0){break t}j[37203]=68;break a}a=r;b=a^g;d=b-a|0;c=a>>31;e=(c^l)-((a>>>0>b>>>0)+c|0)|0;break a}d=0;e=0;Ib(a,0,0)}M=q+16|0;N=e;return d} +function ir(a,b){var c=0,d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=M-32|0;M=c;g=U(65788);e=Ie(g,b);j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;a:{b:{if(!ub(e,c+16|0)){break b}bb(c+16|0);if(!_(c+16|0,0,3,120902,3)){xb(c+16|0,0,3)}p=c+16|2;r=a+68|0;s=a+56|0;q=a+40|0;o=a+28|0;t=c+16|4;while(1){c:{if(_(c+16|0,0,4,120913,4)){break c}d=h[c+27|0];d:{if((d|0)<=-1){if(m[c+20>>2]<=4){break c}b=j[c+16>>2]+4|0;break d}b=t;if((d&255)>>>0<=4){break c}}b=h[b|0];if(!((b|0)==32|b-9>>>0<5)){break c}d=j[a+8>>2]?k[c+27|0]:d;f=d<<24>>24<0;b=f?j[c+16>>2]:c+16|0;f=f?j[c+20>>2]:d&255;n=b+f|0;l=b;d=f;e:{if((d|0)<4){break e}while(1){d=Aa(l,108,d-3|0);if(!d){break e}if((k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24))!=1735290732){l=d+1|0;d=n-l|0;if((d|0)>=4){continue}break e}break}if((d|0)==(n|0)|(d-b|0)==-1){break e}j[a+8>>2]=1}l=b;f:{d=f;if((d|0)<3){break f}g:{while(1){d=Aa(l,110,d-2|0);if(!d){break g}if(qa(d,120918,3)){l=d+1|0;d=n-l|0;if((d|0)>=3){continue}break g}break}if((d|0)==(n|0)|(d-b|0)==-1){break g}j[a+8>>2]=2}d=b;if((f|0)<5){break f}while(1){d=Aa(d,85,f-4|0);if(!d){break f}if(qa(d,120922,5)){d=d+1|0;f=n-d|0;if((f|0)>=5){continue}break f}break}if((d|0)==(n|0)|(d-b|0)==-1){break f}j[a+8>>2]=3;break c}if(j[a+8>>2]){break c}}h:{if(_(c+16|0,0,13,120928,13)){break h}j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;b=va(c+16|0,c);i:{if(!b){ea(e);T(g);break i}u=a,v=Ha(a,h[c+11|0]<0?j[c>>2]:c),i[u+20>>1]=v}if(h[c+11|0]<=-1){T(j[c>>2])}if(b){break h}a=c+16|0;break a}j:{if(_(c+16|0,0,3,120942,3)){break j}if(!va(c+16|0,o)){ea(e);T(g);a=c+16|0;break a}k:{b=k[a+39|0];if(((b<<24>>24<0?j[a+32>>2]:b)|0)!=5){break k}if(_(o,0,-1,120922,5)){break k}j[a+16>>2]=1;_h();break j}u=a,v=_c(o),j[u+52>>2]=v}if(!_(c+16|0,0,4,120946,4)){if(!va(c+16|0,q)){ea(e);T(g);a=c+16|0;break a}u=a,v=$h(q),j[u+24>>2]=v}l:{if(_(c+16|0,0,6,120951,6)){break l}if(Ve(c+16|0,s,r,j[a+16>>2])){break l}ea(e);T(g);a=c+16|0;break a}m:{if(_(c+16|0,0,2,120958,2)){break m}d=h[c+27|0];n:{if((d|0)<=-1){if(m[c+20>>2]<=2){break m}b=j[c+16>>2]+2|0;break n}b=p;if((d&255)>>>0<=2){break m}}b=h[b|0];if(!((b|0)==32|b-9>>>0<5)){break m}if(gr(a,c+16|0,e)){break m}ea(e);T(g);a=c+16|0;break a}o:{if(_(c+16|0,0,2,120961,2)){break o}d=h[c+27|0];p:{if((d|0)<=-1){if(m[c+20>>2]<=2){break o}b=j[c+16>>2]+2|0;break p}b=p;if((d&255)>>>0<=2){break o}}b=h[b|0];if(!((b|0)==32|b-9>>>0<5)){break o}if(fr(a,c+16|0,e)){break o}ea(e);T(g);a=c+16|0;break a}if(!_(c+16|0,0,15,120964,15)){j[a+12>>2]=1}q:{if(_(c+16|0,0,3,120980,3)){break q}if(er(a,c+16|0,e)){break q}ea(e);T(g);a=c+16|0;break a}r:{if(_(c+16|0,0,3,120984,3)){if(_(c+16|0,0,3,120988,3)){break r}}d=h[c+27|0];s:{if((d|0)<=-1){if(m[c+20>>2]<=3){break r}b=j[c+16>>2];break s}b=c+16|0;if((d&255)>>>0<=3){break r}}b=h[b+3|0];if(!((b|0)==32|b-9>>>0<5)){break r}if(j[a+100>>2]!=j[a+104>>2]){break b}}if(!ub(e,c+16|0)){break b}bb(c+16|0);continue}}t:{if(j[a+52>>2]){break t}h[c+9|0]=0;h[c+8|0]=k[121e3];h[c+11|0]=9;b=k[120996]|k[120997]<<8|(k[120998]<<16|k[120999]<<24);j[c>>2]=k[120992]|k[120993]<<8|(k[120994]<<16|k[120995]<<24);j[c+4>>2]=b;u=a,v=_c(c),j[u+52>>2]=v;if(h[c+11|0]>-1){break t}T(j[c>>2])}ea(e);T(g);a=c+16|0}if(h[a+11|0]<=-1){T(j[c+16>>2])}M=c+32|0}function Vb(a,b,c,d){var e=0,f=0,g=0,i=0,k=0,l=0,n=0,o=0,p=0,q=0;e=M-48|0;M=e;j[e+40>>2]=0;j[e+32>>2]=0;j[e+36>>2]=0;k=j[b+4>>2];i=j[b>>2];j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;p=(k-i|0)/12|0;a:{if(!j[a+76>>2]){break a}Ka(e+16|0,c);b:{if(j[a+56>>2]){ob(e+16|0);break b}Va(e+16|0)}c=e+16|0;if(h[e+27|0]>-1){break a}c=j[e+16>>2]}c:{d:{if(j[a+56>>2]){l=W(c);if(l>>>0>=4294967280){break c}e:{f:{if(l>>>0>=11){k=l+16&-16;i=U(k);j[e+8>>2]=k|-2147483648;j[e>>2]=i;j[e+4>>2]=l;k=e;break f}h[e+11|0]=l;k=e;i=e;if(!l){break e}}V(i,c,l)}h[i+l|0]=0;l=ia(e+32|0,e);if(h[k+11|0]<=-1){T(j[e>>2])}if((l|0)==-1){break d}}k=0;while(1){q=C()|0;i=(j[b+4>>2]-j[b>>2]|0)/12|0;f=i;n=0;o=j[a+48>>2];if(f>>>0>>0){g:{if(j[a+56>>2]){jq(a,b,j[e+32>>2],l,g);break g}iq(a,b,c,g)}o=j[a+48>>2];f=(j[b+4>>2]-j[b>>2]|0)/12|0;n=i>>>0>>0}k=g?i:k;h:{if(f>>>0>=o>>>0){break h}i:{if(!g){i=0;break i}i=1;if(j[a+72>>2]+k>>>0<=f>>>0){break h}}hq(a,b,c,i);n=(j[b+4>>2]-j[b>>2]|0)/12>>>0>f>>>0|n}i=q+1e5|0;if((C()|0)>(i|0)){break d}j:{k:{l:{m:{n:{f=(j[b+4>>2]-j[b>>2]|0)/12|0;o:{if(f>>>0>=m[a+48>>2]){break o}if(!g){break n}if(f>>>0>=j[a+72>>2]+k>>>0){break o}Mh(a,b,c,1)}if((C()|0)>(i|0)){break d}if(!g){break m}o=0;f=(j[b+4>>2]-j[b>>2]|0)/12|0;if(f>>>0>2]){break l}break j}Mh(a,b,c,0);if((C()|0)>(i|0)){break d}}f=(j[b+4>>2]-j[b>>2]|0)/12|0;o=p>>>0>>0;if(m[a+48>>2]<=f>>>0){break j}if(!g){break k}}if(j[a+72>>2]+k>>>0<=f>>>0){break j}}if(j[a+56>>2]){gq(a,b,j[e+32>>2],l,g);break j}fq(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;p:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break p}if(j[a+56>>2]){eq(a,b,j[e+32>>2],l,g);break p}dq(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;q:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break q}if(j[a+56>>2]){cq(a,b,j[e+32>>2],l,g);break q}bq(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;r:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break r}if(j[a+56>>2]){aq(a,b,j[e+32>>2],l,g);break r}$p(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;s:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break s}if(j[a+56>>2]){_p(a,b,j[e+32>>2],l,g);break s}Zp(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;t:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break t}if(j[a+56>>2]){Yp(a,b,j[e+32>>2],l,g);break t}Xp(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;u:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break u}if(j[a+56>>2]){Wp(a,b,j[e+32>>2],l,g);break u}Vp(a,b,c,g)}if((C()|0)>(i|0)){break d}v:{w:{x:{f=(j[b+4>>2]-j[b>>2]|0)/12|0;y:{if(f>>>0>=m[a+48>>2]){break y}if(f>>>0>=j[a+72>>2]+k>>>0?g:0){break x}if(j[a+56>>2]){Up(a,b,j[e+32>>2],l,g);break y}Sp(a,b,c,g)}if((C()|0)>(i|0)){break d}if(g){break w}n=Lh(a,b,c,0,n);break v}if((C()|0)>(i|0)){break d}}if(j[a+64>>2]|j[a+72>>2]+k>>>0<=(j[b+4>>2]-j[b>>2]|0)/12>>>0){break v}n=Lh(a,b,c,1,n)}if((C()|0)>(i|0)){break d}i=g|o;g=g+1|0;if(!((i|0)!=0|n)){continue}break}if(!d|o|j[b>>2]==j[b+4>>2]){break d}j[d>>2]=1}if(h[e+27|0]<=-1){T(j[e+16>>2])}a=j[e+32>>2];if(a){j[e+36>>2]=a;T(a)}M=e+48|0;return n}X();z()}function bp(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;f=M-32|0;M=f;c=j[a+4>>2];e=j[a+8>>2];d=((c|0)==(e|0))+b|0;b=(d>>>0)/341|0;g=((p(b,341)|0)!=(d|0))+b|0;d=j[a+16>>2];b=(d>>>0)/341|0;h=b>>>0>g>>>0?g:b;a:{b=g-h|0;b:{if(!b){j[a+16>>2]=d+p(h,-341);if(!h){break b}while(1){k=j[c>>2];b=c+4|0;j[a+4>>2]=b;c:{if(j[a+12>>2]!=(e|0)){break c}i=j[a>>2];if(i>>>0>>0){c=((b-i>>2)+1|0)/-2<<2;g=c+b|0;d=e-b|0;if(d){Ja(g,b,d);b=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break c}c=e-i|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;l=U(c);g=c+l|0;c=e-b|0;d=l+(d&-4)|0;e=d;if(c){e=c+d|0;c=d;while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=l;if(!i){break c}T(i);e=j[a+8>>2]}j[e>>2]=k;e=j[a+8>>2]+4|0;j[a+8>>2]=e;h=h-1|0;if(!h){break b}c=j[a+4>>2];continue}}d:{e:{g=j[a+12>>2];d=g-j[a>>2]|0;k=e-c>>2;if((d>>2)-k>>>0>=b>>>0){if((e|0)!=(g|0)){while(1){n=f,o=U(4092),j[n+8>>2]=o;Ad(a,f+8|0);b=b-1|0;if(!b){break e}if(j[a+12>>2]!=j[a+8>>2]){continue}break}}c=b;while(1){n=f,o=U(4092),j[n+8>>2]=o;zd(a,f+8|0);e=j[a+16>>2]+((j[a+8>>2]-j[a+4>>2]|0)==4?340:341)|0;j[a+16>>2]=e;c=c-1|0;if(c){continue}break}h=b+h|0;break d}j[f+24>>2]=a+12;g=b+k|0;d=d>>1;g=d>>>0>>0?g:d;c=0;f:{if(!g){break f}if(g>>>0>=1073741824){break a}c=U(g<<2)}l=p(h,-341);j[f+8>>2]=c;d=c+(k-h<<2)|0;j[f+16>>2]=d;j[f+20>>2]=c+(g<<2);j[f+12>>2]=d;while(1){n=f,o=U(4092),j[n+4>>2]=o;Ad(f+8|0,f+4|0);b=b-1|0;if(b){continue}break}g:{if(!h){g=j[a+4>>2];break g}g=j[a+4>>2];e=j[f+16>>2];while(1){h:{if(j[f+20>>2]!=(e|0)){break h}b=j[f+12>>2];m=j[f+8>>2];if(b>>>0>m>>>0){c=((b-m>>2)+1|0)/-2<<2;k=c+b|0;d=e-b|0;if(d){Ja(k,b,d);b=j[f+12>>2]}e=d+k|0;j[f+16>>2]=e;j[f+12>>2]=b+c;break h}c=e-m|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;i=U(c);k=c+i|0;c=e-b|0;d=i+(d&-4)|0;e=d;if(c){e=c+d|0;c=d;while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}j[f+20>>2]=k;j[f+16>>2]=e;j[f+12>>2]=d;j[f+8>>2]=i;if(!m){break h}T(m);e=j[f+16>>2]}j[e>>2]=j[g>>2];e=j[f+16>>2]+4|0;j[f+16>>2]=e;g=j[a+4>>2]+4|0;j[a+4>>2]=g;h=h-1|0;if(h){continue}break}}b=j[a+8>>2];c=g;if((b|0)!=(c|0)){while(1){b=b-4|0;zd(f+8|0,b);if(j[a+4>>2]!=(b|0)){continue}break}g=j[a+8>>2];c=b}d=j[a>>2];j[a>>2]=j[f+8>>2];j[f+8>>2]=d;j[a+4>>2]=j[f+12>>2];j[f+12>>2]=c;j[a+8>>2]=j[f+16>>2];j[f+16>>2]=g;b=j[a+12>>2];j[a+12>>2]=j[f+20>>2];j[f+20>>2]=b;j[a+16>>2]=l+j[a+16>>2];if((c|0)!=(g|0)){j[f+16>>2]=(((g-c|0)-4>>>2^-1)<<2)+g}if(!d){break b}T(d);break b}e=j[a+16>>2]}j[a+16>>2]=p(h,-341)+e;if(!h){break b}e=j[a+8>>2];while(1){b=j[a+4>>2];k=j[b>>2];b=b+4|0;j[a+4>>2]=b;i:{if(j[a+12>>2]!=(e|0)){break i}i=j[a>>2];if(i>>>0>>0){c=((b-i>>2)+1|0)/-2<<2;g=c+b|0;d=e-b|0;if(d){Ja(g,b,d);b=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break i}c=e-i|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;l=U(c);g=c+l|0;c=e-b|0;d=l+(d&-4)|0;e=d;if(c){e=c+d|0;c=d;while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=l;if(!i){break i}T(i);e=j[a+8>>2]}j[e>>2]=k;e=j[a+8>>2]+4|0;j[a+8>>2]=e;h=h-1|0;if(h){continue}break}}M=f+32|0;return}D();z()}function pp(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0;c=M-80|0;M=c;a:{b:{d=W(b);if(d>>>0<4294967280){c:{d:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+40>>2]=f|-2147483648;j[c+32>>2]=e;j[c+36>>2]=d;f=c+32|0;break d}h[c+43|0]=d;f=c+32|0;e=f;if(!d){break c}}V(e,b,d)}h[d+e|0]=0;e=Hc(a,c+32|0);if(h[f+11|0]<=-1){T(j[c+32>>2])}e:{if((e|0)==(a+4|0)){break e}j[c+48>>2]=0;j[c+52>>2]=0;j[c+40>>2]=0;j[c+44>>2]=0;j[c+32>>2]=0;j[c+36>>2]=0;d=W(b);if(d>>>0>=4294967280){break b}f:{g:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+24>>2]=f|-2147483648;j[c+16>>2]=e;j[c+20>>2]=d;f=c+16|0;break g}h[c+27|0]=d;f=c+16|0;e=f;if(!d){break f}}V(e,b,d)}h[d+e|0]=0;j[c+64>>2]=c+16;fp(c+72|0,a,c+16|0,c- -64|0);Me(j[j[c+72>>2]+28>>2]);if(h[f+11|0]<=-1){T(j[c+16>>2])}d=W(b);if(d>>>0>=4294967280){break a}h:{i:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+24>>2]=f|-2147483648;j[c+16>>2]=e;j[c+20>>2]=d;f=c+16|0;break i}h[c+27|0]=d;f=c+16|0;e=f;if(!d){break h}}V(e,b,d)}h[d+e|0]=0;Bh(a,c+16|0);if(h[f+11|0]<=-1){T(j[c+16>>2])}if(j[a+32>>2]){d=j[a+28>>2];while(1){g=W(b);e=(d>>>0)/341|0;f=j[j[a+16>>2]+(e<<2)>>2];e=d-p(e,341)|0;d=f+p(e,12)|0;i=k[d+11|0];j:{if((g|0)==((i<<24>>24<0?j[d+4>>2]:i)|0)){if(!_(d,0,-1,b,g)){break j}e=j[a+28>>2];f=(e>>>0)/341|0;e=e-p(f,341)|0;f=j[j[a+16>>2]+(f<<2)>>2]}i=p(e,12);e=j[c+52>>2]+j[c+48>>2]|0;g=j[c+40>>2];d=j[c+36>>2];l=g-d|0;if((e|0)==((l?p(l>>2,341)-1|0:0)|0)){Ah(c+32|0);g=j[c+40>>2];d=j[c+36>>2];e=j[c+48>>2]+j[c+52>>2]|0}f=f+i|0;if((d|0)==(g|0)){e=0}else{g=d;d=(e>>>0)/341|0;e=j[g+(d<<2)>>2]+p(e-p(d,341)|0,12)|0}ha(e,f);j[c+52>>2]=j[c+52>>2]+1}f=a;e=j[a+28>>2];d=(e>>>0)/341|0;d=j[j[a+16>>2]+(d<<2)>>2]+p(e-p(d,341)|0,12)|0;if(h[d+11|0]<=-1){T(j[d>>2]);e=j[a+28>>2]}d=e+1|0;j[f+28>>2]=d;e=j[a+32>>2]-1|0;j[a+32>>2]=e;if(d>>>0>=682){T(j[j[a+16>>2]>>2]);j[a+16>>2]=j[a+16>>2]+4;d=j[a+28>>2]-341|0;j[a+28>>2]=d;e=j[a+32>>2]}if(e){continue}break}}g=a+12|0;if((g|0)!=(c+32|0)){e=j[c+36>>2];b=j[c+48>>2];d=(b>>>0)/341|0;f=e+(d<<2)|0;i=(e|0)==j[c+40>>2];j[c+20>>2]=i?0:j[f>>2]+p(b-p(d,341)|0,12)|0;j[c+16>>2]=f;f=b+j[c+52>>2]|0;d=(f>>>0)/341|0;b=e+(d<<2)|0;j[c+76>>2]=i?0:j[b>>2]+p(f-p(d,341)|0,12)|0;j[c+72>>2]=b;a=j[c+20>>2];j[c+8>>2]=j[c+16>>2];j[c+12>>2]=a;a=j[c+76>>2];j[c>>2]=j[c+72>>2];j[c+4>>2]=a;ep(g,c+8|0,c)}b=j[c+48>>2];d=(b>>>0)/341|0;a=j[c+36>>2];e=j[c+40>>2];k:{if((a|0)==(e|0)){e=a;break k}g=(d<<2)+a|0;f=j[g>>2];d=f+p(b-p(d,341)|0,12)|0;b=b+j[c+52>>2]|0;i=(b>>>0)/341|0;b=j[(i<<2)+a>>2]+p(b-p(i,341)|0,12)|0;if((d|0)==(b|0)){break k}while(1){if(h[d+11|0]<=-1){T(j[d>>2]);f=j[g>>2]}d=d+12|0;if((d-f|0)==4092){f=j[g+4>>2];g=g+4|0;d=f}if((b|0)!=(d|0)){continue}break}a=j[c+36>>2];e=j[c+40>>2]}j[c+52>>2]=0;d=e-a>>2;if(d>>>0>2){while(1){T(j[a>>2]);a=j[c+36>>2]+4|0;j[c+36>>2]=a;e=j[c+40>>2];d=e-a>>2;if(d>>>0>2){continue}break}}f=170;l:{switch(d-1|0){case 1:f=341;case 0:j[c+48>>2]=f;break;default:break l}}m:{if((a|0)==(e|0)){break m}while(1){T(j[a>>2]);a=a+4|0;if((e|0)!=(a|0)){continue}break}a=j[c+40>>2];b=j[c+36>>2];if((a|0)==(b|0)){break m}j[c+40>>2]=a+(((a-b|0)-4>>>2^-1)<<2)}a=j[c+32>>2];if(!a){break e}T(a)}M=c+80|0;return}X();z()}X();z()}X();z()}function Jd(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:{s=k[a+28|0];b:{if(!s){break b}i=a+52|0;l=a+48|0;e=b-1|0;b=a+32|0;d=k[a+29|0];q=d&2;m=d&16;o=1;while(1){c:{d:{e:{f:{g:{h:{i:{j:{f=h[b|0];switch(f-91|0){case 0:break i;case 1:break d;case 2:break g;case 3:break h;default:break j}}if((f|0)==46){break f}if(!f){break b}break d}b=b+1|0;k:{if(m){if((b|0)!=(l|0)){break k}b=j[a+48>>2];g=e;break c}if((b|0)==(i|0)){break b}}g=e;if(k[b|0]){break c}break b}b=b+1|0;l:{if(m){if((b|0)!=(l|0)){break l}b=j[a+48>>2];p=1;break c}if((b|0)==(i|0)){break b}}p=1;if(k[b|0]){break c}break b}if(!(p|r)){break a}if(!r){m:{if(!q|c>>>0>e>>>0){break m}while(1){if((k[e|0]&192)!=128){break m}e=e-1|0;if(e>>>0>=c>>>0){continue}break}}e=e-1|0}b=b+1|0;n:{o:{if(m){if((b|0)!=(l|0)){break o}b=j[a+48>>2];break n}if((b|0)==(i|0)){break b}}b=k[b|0]?b:0}o=o+1|0;g=0;if(!b|c>>>0<=e>>>0){break e}break a}if(g){break d}b=b+1|0;p:{q:{if(m){if((b|0)!=(l|0)){break q}b=j[a+48>>2];break p}if((b|0)!=(i|0)){break q}b=0;break p}b=k[b|0]?b:0}r:{if(q){while(1){d=e;e=d-1|0;if(e>>>0>>0){break r}if((k[e|0]&192)==128){continue}break}g=0;if(!q|h[e|0]>-1){break c}e=d-2|0;if(e>>>0>=c>>>0){break c}return!b}g=0;e=e-1|0;if(e>>>0>=c>>>0){break c}}return!b}p=0;r=0;break c}s:{t:{u:{if(k[e|0]==(f&255)){b=b+1|0;v:{w:{if(m){if((b|0)!=(l|0)){break w}d=j[a+48>>2];break v}if((b|0)!=(i|0)){break w}d=0;break v}d=k[b|0]?b:0}if(!(!q|(f|0)>-1)){f=e-1|0;x:{if(!d|f>>>0>>0){break x}if(!m){while(1){n=k[d|0];b=f;if((n|0)!=k[b|0]){break u}if((n&192)!=128){break x}d=d+1|0;if((d|0)==(i|0)){f=b-1|0;d=0;e=b;break x}f=b-1|0;d=k[d|0]?d:0;if(!d){e=b;break x}e=b;if(c>>>0<=f>>>0){continue}break x}}while(1){n=k[d|0];b=f;if((n|0)!=k[b|0]){break u}if((n&192)!=128){break x}f=b-1|0;d=d+1|0;e=j[a+48>>2];y:{if((d|0)==(l|0)){break y}e=k[d|0]?d:0}d=e;if(!d){e=b;break x}e=b;if(c>>>0<=f>>>0){continue}break}}z:{if(!g){b=d;break z}if((f|0)==(g|0)){b=d;break z}if(p){break a}if((o|0)==(s|0)){break b}A:{if(!m){while(1){b=0;if(!d){break A}if(k[d|0]==93){b=d;break A}d=d+1|0;if((i|0)==(d|0)){break A}if(k[d|0]){continue}break A}}while(1){b=0;if(!d){break A}if(k[d|0]==93){b=d;break A}d=d+1|0;B:{if((l|0)==(d|0)){d=j[a+48>>2];break B}if(!k[d|0]){break A}}if(d){continue}break}}f=e-2|0;r=1}if(!b){b=0;break s}n=k[b|0];break t}if(!g){f=e;b=d;break s}if(p){break a}if((o|0)==(s|0)){break b}C:{if(!m){while(1){b=0;if(!d){break C}if(k[d|0]==93){b=d;break C}d=d+1|0;if((i|0)==(d|0)){break C}if(k[d|0]){continue}break C}}while(1){b=0;if(!d){break C}if(k[d|0]==93){b=d;break C}d=d+1|0;D:{if((l|0)==(d|0)){d=j[a+48>>2];break D}if(!k[d|0]){break C}}if(d){continue}break}}f=e-1|0;r=1;break s}if(!g){break a}b=b+1|0;E:{if(m){if((b|0)!=(l|0)){break E}b=j[a+48>>2];break c}if((b|0)==(i|0)){break b}}if(!k[b|0]){break b}break c}b=d;f=g;if(f){break t}break a}if((n|0)==93){break s}b=b+1|0;F:{if(m){if((b|0)!=(l|0)){break F}b=j[a+48>>2];break s}if((b|0)!=(i|0)){break F}b=0;break s}b=k[b|0]?b:0}o=!g+o|0;e=g?f:f-1|0;if(!b|e>>>0>=c>>>0|k[b|0]==93){break c}break a}if(b){continue}break}}return 1}return 0}function T(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0;a:{if(!a){break a}d=a-8|0;b=j[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=j[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=j[d+8>>2];b=b>>>3|0;c=j[d+12>>2];if((c|0)==(e|0)){i=150992,k=j[37748]&Er(-2,b),j[i>>2]=k;break b}j[e+12>>2]=c;j[c+8>>2]=e;break b}h=j[d+24>>2];b=j[d+12>>2];c:{if((d|0)!=(b|0)){c=j[d+8>>2];j[c+12>>2]=b;j[b+8>>2]=c;break c}d:{e=d+20|0;c=j[e>>2];if(c){break d}e=d+16|0;c=j[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=j[e>>2];if(c){continue}e=b+16|0;c=j[b+16>>2];if(c){continue}break}j[g>>2]=0}if(!h){break b}e=j[d+28>>2];c=(e<<2)+151296|0;e:{if(j[c>>2]==(d|0)){j[c>>2]=b;if(b){break e}i=150996,k=j[37749]&Er(-2,e),j[i>>2]=k;break b}j[h+(j[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}j[b+24>>2]=h;c=j[d+16>>2];if(c){j[b+16>>2]=c;j[c+24>>2]=b}c=j[d+20>>2];if(!c){break b}j[b+20>>2]=c;j[c+24>>2]=b;break b}b=j[f+4>>2];if((b&3)!=3){break b}j[37750]=a;j[f+4>>2]=b&-2;j[d+4>>2]=a|1;j[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=j[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(j[37754]==(f|0)){j[37754]=d;a=j[37751]+a|0;j[37751]=a;j[d+4>>2]=a|1;if(j[37753]!=(d|0)){break a}j[37750]=0;j[37753]=0;return}if(j[37753]==(f|0)){j[37753]=d;a=j[37750]+a|0;j[37750]=a;j[d+4>>2]=a|1;j[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){c=j[f+8>>2];b=b>>>3|0;e=j[f+12>>2];if((c|0)==(e|0)){i=150992,k=j[37748]&Er(-2,b),j[i>>2]=k;break g}j[c+12>>2]=e;j[e+8>>2]=c;break g}h=j[f+24>>2];b=j[f+12>>2];h:{if((f|0)!=(b|0)){c=j[f+8>>2];j[c+12>>2]=b;j[b+8>>2]=c;break h}i:{e=f+20|0;c=j[e>>2];if(c){break i}e=f+16|0;c=j[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=j[e>>2];if(c){continue}e=b+16|0;c=j[b+16>>2];if(c){continue}break}j[g>>2]=0}if(!h){break g}e=j[f+28>>2];c=(e<<2)+151296|0;j:{if(j[c>>2]==(f|0)){j[c>>2]=b;if(b){break j}i=150996,k=j[37749]&Er(-2,e),j[i>>2]=k;break g}j[h+(j[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}j[b+24>>2]=h;c=j[f+16>>2];if(c){j[b+16>>2]=c;j[c+24>>2]=b}c=j[f+20>>2];if(!c){break g}j[b+20>>2]=c;j[c+24>>2]=b}j[d+4>>2]=a|1;j[a+d>>2]=a;if(j[37753]!=(d|0)){break f}j[37750]=a;return}j[f+4>>2]=b&-2;j[d+4>>2]=a|1;j[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;b=(a<<3)+151032|0;c=j[37748];a=1<>2]}j[b+8>>2]=d;j[a+12>>2]=d;j[d+12>>2]=b;j[d+8>>2]=a;return}e=31;j[d+16>>2]=0;j[d+20>>2]=0;if(a>>>0<=16777215){b=a>>>8|0;g=b+1048320>>>16&8;b=b<>>16&4;b=b<>>16&2;b=(b<>>15|0)-(c|(e|g))|0;e=(b<<1|a>>>b+21&1)+28|0}j[d+28>>2]=e;g=(e<<2)+151296|0;l:{m:{c=j[37749];b=1<>2]=d;j[d+24>>2]=g;break n}e=a<<((e|0)==31?0:25-(e>>>1|0)|0);b=j[g>>2];while(1){c=b;if((j[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=j[g+16>>2];if(b){continue}break}j[g+16>>2]=d;j[d+24>>2]=c}j[d+12>>2]=d;j[d+8>>2]=d;break l}a=j[c+8>>2];j[a+12>>2]=d;j[c+8>>2]=d;j[d+24>>2]=0;j[d+12>>2]=c;j[d+8>>2]=a}a=j[37756]-1|0;j[37756]=a?a:-1}}function _e(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0;f=a+b|0;a:{b:{c=j[a+4>>2];if(c&1){break b}if(!(c&3)){break a}c=j[a>>2];b=c+b|0;a=a-c|0;if((a|0)!=j[37753]){if(c>>>0<=255){e=j[a+8>>2];c=c>>>3|0;d=j[a+12>>2];if((d|0)==(e|0)){i=150992,k=j[37748]&Er(-2,c),j[i>>2]=k;break b}j[e+12>>2]=d;j[d+8>>2]=e;break b}h=j[a+24>>2];c=j[a+12>>2];c:{if((c|0)!=(a|0)){d=j[a+8>>2];j[d+12>>2]=c;j[c+8>>2]=d;break c}d:{e=a+20|0;d=j[e>>2];if(d){break d}e=a+16|0;d=j[e>>2];if(d){break d}c=0;break c}while(1){g=e;c=d;e=c+20|0;d=j[e>>2];if(d){continue}e=c+16|0;d=j[c+16>>2];if(d){continue}break}j[g>>2]=0}if(!h){break b}e=j[a+28>>2];d=(e<<2)+151296|0;e:{if(j[d>>2]==(a|0)){j[d>>2]=c;if(c){break e}i=150996,k=j[37749]&Er(-2,e),j[i>>2]=k;break b}j[h+(j[h+16>>2]==(a|0)?16:20)>>2]=c;if(!c){break b}}j[c+24>>2]=h;d=j[a+16>>2];if(d){j[c+16>>2]=d;j[d+24>>2]=c}d=j[a+20>>2];if(!d){break b}j[c+20>>2]=d;j[d+24>>2]=c;break b}c=j[f+4>>2];if((c&3)!=3){break b}j[37750]=b;j[f+4>>2]=c&-2;j[a+4>>2]=b|1;j[f>>2]=b;return}c=j[f+4>>2];f:{if(!(c&2)){if(j[37754]==(f|0)){j[37754]=a;b=j[37751]+b|0;j[37751]=b;j[a+4>>2]=b|1;if(j[37753]!=(a|0)){break a}j[37750]=0;j[37753]=0;return}if(j[37753]==(f|0)){j[37753]=a;b=j[37750]+b|0;j[37750]=b;j[a+4>>2]=b|1;j[a+b>>2]=b;return}b=(c&-8)+b|0;g:{if(c>>>0<=255){e=j[f+8>>2];c=c>>>3|0;d=j[f+12>>2];if((d|0)==(e|0)){i=150992,k=j[37748]&Er(-2,c),j[i>>2]=k;break g}j[e+12>>2]=d;j[d+8>>2]=e;break g}h=j[f+24>>2];c=j[f+12>>2];h:{if((f|0)!=(c|0)){d=j[f+8>>2];j[d+12>>2]=c;j[c+8>>2]=d;break h}i:{d=f+20|0;e=j[d>>2];if(e){break i}d=f+16|0;e=j[d>>2];if(e){break i}c=0;break h}while(1){g=d;c=e;d=c+20|0;e=j[d>>2];if(e){continue}d=c+16|0;e=j[c+16>>2];if(e){continue}break}j[g>>2]=0}if(!h){break g}e=j[f+28>>2];d=(e<<2)+151296|0;j:{if(j[d>>2]==(f|0)){j[d>>2]=c;if(c){break j}i=150996,k=j[37749]&Er(-2,e),j[i>>2]=k;break g}j[h+(j[h+16>>2]==(f|0)?16:20)>>2]=c;if(!c){break g}}j[c+24>>2]=h;d=j[f+16>>2];if(d){j[c+16>>2]=d;j[d+24>>2]=c}d=j[f+20>>2];if(!d){break g}j[c+20>>2]=d;j[d+24>>2]=c}j[a+4>>2]=b|1;j[a+b>>2]=b;if(j[37753]!=(a|0)){break f}j[37750]=b;return}j[f+4>>2]=c&-2;j[a+4>>2]=b|1;j[a+b>>2]=b}if(b>>>0<=255){b=b>>>3|0;c=(b<<3)+151032|0;d=j[37748];b=1<>2]}j[c+8>>2]=a;j[b+12>>2]=a;j[a+12>>2]=c;j[a+8>>2]=b;return}e=31;j[a+16>>2]=0;j[a+20>>2]=0;if(b>>>0<=16777215){c=b>>>8|0;g=c+1048320>>>16&8;c=c<>>16&4;c=c<>>16&2;c=(c<>>15|0)-(d|(e|g))|0;e=(c<<1|b>>>c+21&1)+28|0}j[a+28>>2]=e;g=(e<<2)+151296|0;l:{d=j[37749];c=1<>2]=a;j[a+24>>2]=g;break m}e=b<<((e|0)==31?0:25-(e>>>1|0)|0);c=j[g>>2];while(1){d=c;if((j[c+4>>2]&-8)==(b|0)){break l}c=e>>>29|0;e=e<<1;g=d+(c&4)|0;c=j[g+16>>2];if(c){continue}break}j[g+16>>2]=a;j[a+24>>2]=d}j[a+12>>2]=a;j[a+8>>2]=a;return}b=j[d+8>>2];j[b+12>>2]=a;j[d+8>>2]=a;j[a+24>>2]=0;j[a+12>>2]=d;j[a+8>>2]=b}}function lp(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;d=M-48|0;M=d;a:{if(k[a+4212|0]){break a}h[a+4212|0]=1;j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;b:{c:{f=ka(b,d+40|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){break c}l=a+4216|0;i=-1;while(1){d:{switch(n|0){case 1:i=j[d+40>>2];g=i-f|0;if(g>>>0>=4294967280){break b}e:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break e}o=g+16&-16;e=U(o);j[d+32>>2]=o|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(i|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((i|0)!=(f|0)){continue}break}}h[e|0]=0;f:{if(h[d+35|0]>=0){i=ta(d+24|0);break f}e=j[d+24>>2];i=ta(e);T(e)}if((i|0)<=0){f=0;break a}io(l,i);case 0:p=p+1|0;break;default:break d}}n=n+1|0;f=ka(b,d+40|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)!=((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){continue}break}if((p|0)!=2){break c}f=1;if((i|0)<1){break a}r=a+4216|0;n=0;while(1){g:{j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;h:{if(ub(c,d+24|0)){bb(d+24|0);j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;b=j[a+4220>>2];i:{if(b>>>0>2]){j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;j[b>>2]=j[d+8>>2];j[b+4>>2]=j[d+12>>2];j[b+8>>2]=j[d+16>>2];j[a+4220>>2]=b+12;break i}bo(r,d+8|0);b=j[d+8>>2];if(!b){break i}e=j[d+12>>2];f=b;j:{if((b|0)==(e|0)){break j}while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((e|0)!=(b|0)){continue}break}f=j[d+8>>2]}j[d+12>>2]=b;T(f)}p=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;f=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];e=g<<24>>24<0;if((f|0)!=((e?b:d+24|0)+(e?j[d+28>>2]:g)|0)){while(1){k:{l:{switch(p|0){case 0:if(!_(d+24|0,f-(e&1?b:d+24|0)|0,3,1568,3)){break k}i=0;f=0;break h;case 1:break l;default:break k}}g=j[d+40>>2];if((f|0)==(g|0)){break k}while(1){e=f+1|0;m:{n:{b=f;l=k[b|0];if((l|0)==40){while(1){b=b+1|0;if((g|0)==(b|0)){break n}if(k[b|0]!=41){continue}break}f=e;g=b;break m}if(!j[a+4144>>2]|l>>>0<192){break n}o:{if((e|0)==(g|0)){break o}while(1){if((k[e|0]&192)!=128){g=e;break o}e=e+1|0;if((g|0)!=(e|0)){continue}break}}b=g-1|0;break m}b=f;g=e}l=g-f|0;if(l>>>0>=4294967280){break g}o=j[a+4220>>2];p:{if(l>>>0<=10){h[d+19|0]=l;e=d+8|0;break p}q=l+16&-16;e=U(q);j[d+16>>2]=q|-2147483648;j[d+8>>2]=e;j[d+12>>2]=l}if((f|0)!=(g|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((f|0)!=(g|0)){continue}break}}h[e|0]=0;f=o-8|0;e=j[f>>2];q:{if(e>>>0>2]){g=j[d+12>>2];j[e>>2]=j[d+8>>2];j[e+4>>2]=g;j[e+8>>2]=j[d+16>>2];j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;j[f>>2]=e+12;break q}Db(o-12|0,d+8|0)}if(h[d+19|0]<=-1){T(j[d+8>>2])}g=j[d+40>>2];f=b+1|0;if((g|0)!=(f|0)){continue}break}}p=p+1|0;f=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];e=g<<24>>24<0;if((f|0)!=((e?b:d+24|0)+(e?j[d+28>>2]:g)|0)){continue}break}}b=j[a+4220>>2]-12|0;f=1;if(j[b>>2]!=j[b+4>>2]){break h}}f=0}if(h[d+35|0]<=-1){T(j[d+24>>2])}n=n+1|0;if((n|0)<(i|0)&f){continue}break a}break}X();z()}f=0;break a}X();z()}M=d+48|0;return f}function Pp(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,q=0,r=0,s=0;e=M+ -64|0;M=e;j[d>>2]=0;a:{b:{c:{d:{e:{f:{g:{if(j[a+56>>2]){j[e+56>>2]=0;j[e+48>>2]=0;j[e+52>>2]=0;j[e+40>>2]=0;j[e+32>>2]=0;j[e+36>>2]=0;g=W(b);if(g>>>0>=4294967280){break g}h:{i:{if(g>>>0>=11){f=g+16&-16;m=U(f);j[e+24>>2]=f|-2147483648;j[e+16>>2]=m;j[e+20>>2]=g;f=e+16|0;break i}h[e+27|0]=g;f=e+16|0;m=f;if(!g){break h}}V(m,b,g)}h[g+m|0]=0;n=ia(e+48|0,e+16|0);if(h[f+11|0]<=-1){T(j[e+16>>2])}g=W(c);if(g>>>0>=4294967280){break f}j:{k:{if(g>>>0>=11){f=g+16&-16;b=U(f);j[e+24>>2]=f|-2147483648;j[e+16>>2]=b;j[e+20>>2]=g;f=e+16|0;break k}h[e+27|0]=g;f=e+16|0;b=f;if(!g){break j}}V(b,c,g)}m=0;h[b+g|0]=0;b=ia(e+32|0,e+16|0);if(h[f+11|0]<=-1){T(j[e+16>>2])}g=(n|0)<1|(b|0)<1;if(g){break c}l:{if(j[a+76>>2]){c=(b<<1)-2|0;f=c+j[e+32>>2]|0;f=k[f|0]|k[f+1|0]<<8;i[e+14>>1]=f;a=j[a+60>>2];i[e+10>>1]=f;ai(e+16|0,e+10|0,a);a=c+j[e+32>>2]|0;c=l[e+16>>1];h[a|0]=c;h[a+1|0]=c>>>8;break l}c=j[e+32>>2];c=k[c|0]|k[c+1|0]<<8;i[e+12>>1]=c;a=j[a+60>>2];i[e+8>>1]=c;ai(e+16|0,e+8|0,a);a=j[e+32>>2];c=l[e+16>>1];h[a|0]=c;h[a+1|0]=c>>>8}a=b-1>>>0>>0?b:n;f=0;o=j[e+32>>2];s=j[e+48>>2];c=0;while(1){q=f<<1;r=q+s|0;r=k[r|0]|k[r+1|0]<<8;q=o+q|0;q=k[q|0]|k[q+1|0]<<8;m:{if(!((r&255)!=(q&255)|(r>>>8|0)!=(q>>>8|0))){m=m+1|0;break m}if((c|0)<=1){j[(e+16|0)+(c<<2)>>2]=f}c=c+1|0}f=f+1|0;if((a|0)!=(f|0)){continue}break}break d}f=W(c);if(f>>>0>=4294967280){break e}n:{o:{if(f>>>0>=11){g=f+16&-16;m=U(g);j[e+56>>2]=g|-2147483648;j[e+48>>2]=m;j[e+52>>2]=f;break o}h[e+59|0]=f;m=e+48|0;if(!f){break n}}V(m,c,f)}h[f+m|0]=0;p:{if(j[a+76>>2]){c=h[e+59|0];q:{if((c|0)<=-1){c=j[e+52>>2]-1|0;f=j[e+48>>2];m=c+f|0;break q}f=e+48|0;c=(c&255)-1|0;m=c+(e+48|0)|0}h[c+f|0]=k[(j[a+52>>2]+p(k[m|0],3)|0)+1|0];a=e+48|0;break p}Pa(e+48|0,j[a+52>>2]);a=e+48|0}m=0;a=k[a+11|0];g=a<<24>>24;a=(g|0)<0?j[e+52>>2]:a;r:{s:{if(!a){break s}f=0;n=(g|0)<0?j[e+48>>2]:e+48|0;c=0;t:{while(1){o=k[b+f|0];if(!o){break t}u:{if((o|0)==k[f+n|0]){m=m+1|0;break u}if((c|0)<=1){j[(e+16|0)+(c<<2)>>2]=f}c=c+1|0}f=f+1|0;if((a|0)!=(f|0)){continue}break}f=a}if(k[b+f|0]|(c|0)!=2|(a|0)!=(f|0)){break s}n=j[e+16>>2];c=k[n+b|0];a=j[e+20>>2];v:{if((g|0)<=-1){f=j[e+48>>2];if((c|0)==k[a+f|0]){break v}break r}f=e+48|0;if((c|0)!=k[a+(e+48|0)|0]){break b}}if(k[a+b|0]!=k[f+n|0]){break s}j[d>>2]=1}if((g|0)>-1){break b}}T(j[e+48>>2]);break b}X();z()}X();z()}X();z()}if((b|0)!=(n|0)|(c|0)!=2){break c}b=j[e+48>>2];a=j[e+16>>2];c=b+(a<<1)|0;c=k[c|0]|k[c+1|0]<<8;n=j[e+32>>2];f=j[e+20>>2];o=n+(f<<1)|0;o=k[o|0]|k[o+1|0]<<8;if((c&255)!=(o&255)|(c>>>8|0)!=(o>>>8|0)){break c}b=b+(f<<1)|0;b=k[b|0]|k[b+1|0]<<8;a=n+(a<<1)|0;a=k[a|0]|k[a+1|0]<<8;if((b&255)!=(a&255)|(b>>>8|0)!=(a>>>8|0)){break c}j[d>>2]=1}a=j[e+32>>2];if(a){j[e+36>>2]=a;T(a)}a=j[e+48>>2];if(a){j[e+52>>2]=a;T(a)}a=0;if(g){break a}}a=m}M=e- -64|0;return a}function hr(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,m=0,n=0;c=M-80|0;M=c;i=U(65788);g=Ie(i,b);j[c+72>>2]=0;j[c+64>>2]=0;j[c+68>>2]=0;a:{b:{if(!ub(g,c- -64|0)){ea(g);T(i);m=2;a=c- -64|0;break b}bb(c- -64|0);if(!_(c- -64|0,0,3,120902,3)){xb(c- -64|0,0,3)}b=ta(h[c+75|0]<0?j[c+64>>2]:c- -64|0);j[a>>2]=b;if(b-1>>>0>=536870659){ea(g);T(i);m=4;a=c- -64|0;break b}d=b+1005|0;b=d&1?d:b+1006|0;j[a>>2]=b;b=Pd(b,4);j[a+4>>2]=b;if(!b){ea(g);T(i);m=3;a=c- -64|0;break b}j[c+56>>2]=0;j[c+48>>2]=0;j[c+52>>2]=0;c:{while(1){if(ub(g,c- -64|0)){bb(c- -64|0);b=Ba(c- -64|0,58,0);d:{if((b|0)==-1){d=-1;break d}while(1){e:{if(b>>>0<4){break e}d=b-3|0;f:{g:{f=h[c+75|0];h:{i:{if((f|0)<=-1){e=k[j[c+64>>2]+d|0];if((e|0)!=32){break i}break h}e=k[(c- -64|0)+d|0];if((e|0)==32){break g}}if((e|0)!=9){break e}if((f|0)>=0){break g}}e=j[c+64>>2];while(1){b=d-1|0;f=k[b+e|0];if((f|0)!=9?(f|0)!=32:0){break f}d=b;if(b){continue}break}d=-1;break d}while(1){b=d-1|0;e=k[b+(c- -64|0)|0];if((e|0)!=9?(e|0)!=32:0){break f}d=b;if(b){continue}break}d=-1;break d}d=d+1|0;break d}d=-1;b=Ba(c- -64|0,58,b+1|0);if((b|0)!=-1){continue}break}}b=Ba(c- -64|0,9,0);if((b|0)!=-1){e=b+1|0;d=(d|0)==-1?e:b>>>0>>0?e:d}j[c+40>>2]=0;j[c+32>>2]=0;j[c+36>>2]=0;if((d|0)!=-1){sa(c+16|0,c- -64|0,d,-1);if(h[c+43|0]<=-1){T(j[c+32>>2])}j[c+40>>2]=j[c+24>>2];b=j[c+20>>2];j[c+32>>2]=j[c+16>>2];j[c+36>>2]=b;Wa(c- -64|0,d-1|0)}b=0;j:{k:{l:{while(1){d=Ba(c- -64|0,47,b);while(1){b=d;d=1;if(!b){continue}break}if((b|0)==-1){break l}f=b-1|0;d=k[c+75|0];e=d<<24>>24<0;if(k[f+(e?j[c+64>>2]:c- -64|0)|0]==92){xb(c- -64|0,f,1);continue}break}if(((e?j[c+68>>2]:d)|0)==(b|0)){break l}sa(c+16|0,c- -64|0,b+1|0,-1);Wa(c- -64|0,b);d=j[a+84>>2];m:{if(d){b=ta(h[c+27|0]<0?j[c+16>>2]:c+16|0);n:{if(!((b|0)<=j[a+80>>2]?(b|0)>=1:0)){j[c+12>>2]=0;break n}b=b-1|0;j[c+12>>2]=j[d+(b<<2)>>2];b=l[j[a+88>>2]+(b<<1)>>1];e=1;if(b){break m}}b=0;e=1;break m}e=h[c+27|0]<0?j[c+16>>2]:c+16|0;b=W(e);if(b>>>0>=4294967280){break a}o:{p:{if(b>>>0>=11){f=b+16&-16;d=U(f);j[c+8>>2]=f|-2147483648;j[c>>2]=d;j[c+4>>2]=b;break p}h[c+11|0]=b;d=c;if(!b){break o}}V(d,e,b)}h[b+d|0]=0;b=Te(a,c+12|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}if((b|0)==-1){ea(g);T(i);m=6;b=-1;e=0;break m}d=j[c+12>>2];Qc(d,d+(b<<1)|0,c);e=1}if(h[c+27|0]<=-1){T(j[c+16>>2])}d=0;if(e){break k}break j}b=0;j[c+12>>2]=0}q:{if(j[a+16>>2]){d=ia(c+48|0,c- -64|0);e=Mc(c+48|0,j[a+24>>2]);break q}d=k[c+75|0];d=d<<24>>24<0?j[c+68>>2]:d;e=Nc(c- -64|0,j[a+52>>2])}r:{f=j[c+12>>2];n=k[c+43|0];n=(n<<24>>24<0?j[c+36>>2]:n)?c+32|0:0;if(Lc(a,c- -64|0,d,f,b,n,0,e)){break r}if(Se(a,c- -64|0,d,f,b,n,e)){break r}d=1;break j}ea(g);T(i);m=5;d=0}if(h[c+43|0]<=-1){T(j[c+32>>2])}if(d){continue}break c}break}ea(g);T(i);m=0}a=j[c+48>>2];if(a){j[c+52>>2]=a;T(a)}a=c- -64|0}if(h[a+11|0]<=-1){T(j[c+64>>2])}M=c+80|0;return m}X();z()}function Wl(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,l=0,m=0,n=0,o=0;h=M+ -64|0;M=h;j[h+56>>2]=b;j[e>>2]=0;i=j[d+28>>2];j[h>>2]=i;j[i+4>>2]=j[i+4>>2]+1;i=rb(h);l=j[h>>2];m=j[l+4>>2]-1|0;j[l+4>>2]=m;if((m|0)==-1){O[j[j[l>>2]+8>>2]](l)}a:{b:{c:{d:{switch(g-65|0){case 0:case 32:mg(a,f+24|0,h+56|0,c,e,i);break b;case 1:case 33:case 39:lg(a,f+16|0,h+56|0,c,e,i);break b;case 34:b=O[j[j[a+8>>2]+12>>2]](a+8|0)|0;g=h;i=a;m=j[h+56>>2];a=b;e:{if(k[a+11|0]>>>7|0){b=j[a>>2];break e}b=a}l=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}n=g,o=Yb(i,m,c,d,e,f,l,b+(a<<2)|0),j[n+56>>2]=o;break b;case 35:case 36:Vl(f+12|0,h+56|0,c,e,i);break b;case 3:g=j[31927];j[h+24>>2]=j[31926];j[h+28>>2]=g;g=j[31925];j[h+16>>2]=j[31924];j[h+20>>2]=g;g=j[31923];j[h+8>>2]=j[31922];j[h+12>>2]=g;g=j[31921];j[h>>2]=j[31920];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+32|0),j[n+56>>2]=o;break b;case 5:g=j[31935];j[h+24>>2]=j[31934];j[h+28>>2]=g;g=j[31933];j[h+16>>2]=j[31932];j[h+20>>2]=g;g=j[31931];j[h+8>>2]=j[31930];j[h+12>>2]=g;g=j[31929];j[h>>2]=j[31928];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+32|0),j[n+56>>2]=o;break b;case 7:Ul(f+8|0,h+56|0,c,e,i);break b;case 8:Tl(f+8|0,h+56|0,c,e,i);break b;case 41:Sl(f+28|0,h+56|0,c,e,i);break b;case 44:Rl(f+16|0,h+56|0,c,e,i);break b;case 12:Ql(f+4|0,h+56|0,c,e,i);break b;case 45:case 51:Pl(h+56|0,c,e,i);break b;case 47:Ol(a,f+8|0,h+56|0,c,e,i);break b;case 49:g=V(h,127744,44);n=g,o=Yb(a,b,c,d,e,f,g,g+44|0),j[n+56>>2]=o;break b;case 17:j[h+16>>2]=j[31952];g=j[31951];j[h+8>>2]=j[31950];j[h+12>>2]=g;g=j[31949];j[h>>2]=j[31948];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+20|0),j[n+56>>2]=o;break b;case 18:Nl(f,h+56|0,c,e,i);break b;case 19:g=j[31963];j[h+24>>2]=j[31962];j[h+28>>2]=g;g=j[31961];j[h+16>>2]=j[31960];j[h+20>>2]=g;g=j[31959];j[h+8>>2]=j[31958];j[h+12>>2]=g;g=j[31957];j[h>>2]=j[31956];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+32|0),j[n+56>>2]=o;break b;case 54:Ml(f+24|0,h+56|0,c,e,i);break b;case 55:a=O[j[j[a>>2]+20>>2]](a,b,c,d,e,f)|0;break a;case 23:b=O[j[j[a+8>>2]+24>>2]](a+8|0)|0;g=h;i=a;m=j[h+56>>2];a=b;f:{if(k[a+11|0]>>>7|0){b=j[a>>2];break f}b=a}l=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}n=g,o=Yb(i,m,c,d,e,f,l,b+(a<<2)|0),j[n+56>>2]=o;break b;case 56:jg(f+20|0,h+56|0,c,e,i);break b;case 24:Ll(f+20|0,h+56|0,c,e,i);break b;default:if((g|0)==37){break c}break;case 2:case 4:case 6:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 20:case 21:case 22:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 37:case 38:case 40:case 42:case 43:case 46:case 48:case 50:case 52:case 53:break d}}j[e>>2]=j[e>>2]|4;break b}Kl(h+56|0,c,e,i)}a=j[h+56>>2]}M=h- -64|0;return a|0}function Uh(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0;n=M-16|0;M=n;d=k[c+11|0];e=d<<24>>24;a:{d=(e|0)<0?j[c+4>>2]:d;if(!d){break a}b:{c:{d:{switch(j[a+8>>2]-1|0){case 0:a=j[b>>2];e=j[b+4>>2]-a|0;g=e>>1;l=d>>>1|0;d=g+l|0;e:{if(d>>>0<=j[b+8>>2]-a>>1>>>0){break e}if((d|0)<=-1){break c}o=d<<1;d=U(o);if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+o;j[b+4>>2]=d+(g<<1);j[b>>2]=d;if(!a){break e}T(a)}if(!l){break a}while(1){a=h[c+11|0]<0?j[c>>2]:c;d=f<<1;o=k[a+d|0]<<8|k[a+(d|1)|0];a=j[b+4>>2];d=j[b+8>>2];f:{if(a>>>0>>0){i[a>>1]=o;j[b+4>>2]=a+2;break f}e=a;a=j[b>>2];e=e-a|0;if((e|0)<=-3){break b}p=e>>1;g=p+1|0;d=d-a|0;g=d>>1>>>0<1073741823?d>>>0>>0?g:d:2147483647;d=0;g:{if(!g){break g}if((g|0)<=-1){break c}d=U(g<<1)}p=d+(p<<1)|0;i[p>>1]=o;if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+(g<<1);j[b+4>>2]=p+2;j[b>>2]=d;if(!a){break f}T(a)}f=f+1|0;if((l|0)!=(f|0)){continue}break}break a;case 1:c=(e|0)<0?j[c>>2]:c;a=c;h:{while(1){i:{f=k[c|0];j:{if((f|0)!=44){if(f){break j}e=ta(a);a=j[b+4>>2];c=j[b+8>>2];if(a>>>0>=c>>>0){break i}i[a>>1]=e;j[b+4>>2]=a+2;break h}g=ta(a);a=j[b+4>>2];f=j[b+8>>2];k:{if(a>>>0>>0){i[a>>1]=g;j[b+4>>2]=a+2;break k}d=a;a=j[b>>2];d=d-a|0;if((d|0)<=-3){break b}l=d>>1;e=l+1|0;f=f-a|0;e=f>>1>>>0<1073741823?e>>>0>f>>>0?e:f:2147483647;f=0;l:{if(!e){break l}if((e|0)<=-1){break c}f=U(e<<1)}l=f+(l<<1)|0;i[l>>1]=g;if((d|0)>=1){V(f,a,d)}j[b+8>>2]=f+(e<<1);j[b+4>>2]=l+2;j[b>>2]=f;if(!a){break k}T(a)}a=c+1|0}c=c+1|0;continue}break}d=a;a=j[b>>2];f=d-a|0;if((f|0)<=-3){break b}g=f>>1;d=g+1|0;c=c-a|0;d=c>>1>>>0<1073741823?c>>>0>>0?d:c:2147483647;c=0;m:{if(!d){break m}if((d|0)<=-1){break c}c=U(d<<1)}g=c+(g<<1)|0;i[g>>1]=e;if((f|0)>=1){V(c,a,f)}j[b+8>>2]=c+(d<<1);j[b+4>>2]=g+2;j[b>>2]=c;if(!a){break h}T(a)}break a;case 2:j[n+8>>2]=0;j[n>>2]=0;j[n+4>>2]=0;ia(n,c);f=j[b>>2];c=j[b+4>>2]-f>>1;a=j[n>>2];e=j[n+4>>2]-a|0;g=e>>1;d=c+g|0;n:{if(c>>>0>>0){$q(b,g);f=j[b>>2];a=j[n>>2];break n}if(c>>>0<=d>>>0){break n}j[b+4>>2]=(d<<1)+f}V((c<<1)+f|0,a,e);a=j[n>>2];if(!a){break a}j[n+4>>2]=a;T(a);break a;default:break d}}a=j[b>>2];o:{if(d>>>0<=j[b+8>>2]-a>>1>>>0){break o}if((d|0)<=-1){break c}e=j[b+4>>2];g=d<<1;d=U(g);e=e-a|0;l=d+e|0;if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+g;j[b+4>>2]=l;j[b>>2]=d;if(!a){break o}T(a)}while(1){d=h[c+11|0];p:{if((d|0)<=-1){if(m[c+4>>2]<=f>>>0){break a}a=j[c>>2];break p}a=c;if((d&255)>>>0<=f>>>0){break a}}l=k[a+f|0];a=j[b+4>>2];d=j[b+8>>2];if(a>>>0>>0){i[a>>1]=l;j[b+4>>2]=a+2;f=f+1|0;continue}e=a;a=j[b>>2];e=e-a|0;if((e|0)<=-3){break b}o=e>>1;g=o+1|0;d=d-a|0;g=d>>1>>>0<1073741823?d>>>0>>0?g:d:2147483647;d=0;q:{if(!g){break q}if((g|0)<=-1){break c}d=U(g<<1)}o=d+(o<<1)|0;i[o>>1]=l;if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+(g<<1);j[b+4>>2]=o+2;j[b>>2]=d;if(a){T(a)}f=f+1|0;continue}}D();z()}X();z()}M=n+16|0}function Ih(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;e=M+ -64|0;M=e;a:{f=0;b:{if(j[c>>2]){break b}j[e+56>>2]=h[a+11|0]<0?j[a>>2]:a;c:{d:{e:{g=ka(a,e+56|0);f=k[a+11|0];o=f<<24>>24<0;if((g|0)==((o?j[a>>2]:a)+(o?j[a+4>>2]:f)|0)){break e}o=0;while(1){f:{switch(l|0){case 1:n=j[e+56>>2];m=n-g|0;if(m>>>0>=4294967280){break a}g:{if(m>>>0<=10){h[e+51|0]=m;f=e+40|0;break g}i=m+16&-16;f=U(i);j[e+48>>2]=i|-2147483648;j[e+40>>2]=f;j[e+44>>2]=m}if((g|0)!=(n|0)){while(1){h[f|0]=k[g|0];f=f+1|0;g=g+1|0;if((n|0)!=(g|0)){continue}break}}h[f|0]=0;h:{if(h[e+51|0]>=0){m=ta(e+40|0);break h}f=j[e+40>>2];m=ta(f);T(f)}f=0;if((m|0)<=0){break b}f=U(12);nq(f,m);j[c>>2]=f;case 0:o=o+1|0;break;default:break f}}l=l+1|0;g=ka(a,e+56|0);f=k[a+11|0];n=f<<24>>24<0;if((g|0)!=((n?j[a>>2]:a)+(n?j[a+4>>2]:f)|0)){continue}break}if((o|0)!=2){break e}if((m|0)<1){o=0;break c}o=1;n=0;break d}f=0;break b}while(1){j[e+48>>2]=0;j[e+40>>2]=0;j[e+44>>2]=0;g=1;i:{if(!ub(b,e+40|0)){break i}bb(e+40|0);a=0;j[e+32>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;j[e+16>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;j[e+56>>2]=h[e+51|0]<0?j[e+40>>2]:e+40|0;g=ka(e+40|0,e+56|0);l=j[e+40>>2];i=k[e+51|0];f=i<<24>>24<0;j:{if((g|0)!=((f?l:e+40|0)+(f?j[e+44>>2]:i)|0)){while(1){k:{l:{switch(a|0){case 0:i=g-(f&1?l:e+40|0)|0;f=k[d+11|0];f=f<<24>>24<0?j[d+4>>2]:f;if(!Ud(e+40|0,i,f,d,0,f)){break k}a=j[c>>2];if(a){T(Le(a))}j[c>>2]=0;g=1;break j;case 1:p=j[e+56>>2];l=p-g|0;i=h[e+35|0];m:{n:{o:{if((i|0)<=-1){f=(j[e+32>>2]&2147483647)-1|0;if(l>>>0<=f>>>0){break n}i=j[e+28>>2];break o}f=e+24|0;if(l>>>0<=10){break m}f=10;i=i&255}pb(e+24|0,f,l-f|0,i,0,i,0);f=e+24|0;if(h[e+35|0]>-1){break m}}f=j[e+24>>2]}if((g|0)!=(p|0)){while(1){h[f|0]=k[g|0];f=f+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[f|0]=0;if(h[e+35|0]<=-1){j[e+28>>2]=l;break k}h[e+35|0]=l;break k;case 2:break l;default:break k}}p=j[e+56>>2];l=p-g|0;i=h[e+19|0];p:{q:{r:{if((i|0)<=-1){f=(j[e+16>>2]&2147483647)-1|0;if(l>>>0<=f>>>0){break q}i=j[e+12>>2];break r}f=e+8|0;if(l>>>0<=10){break p}f=10;i=i&255}pb(e+8|0,f,l-f|0,i,0,i,0);f=e+8|0;if(h[e+19|0]>-1){break p}}f=j[e+8>>2]}if((g|0)!=(p|0)){while(1){h[f|0]=k[g|0];f=f+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[f|0]=0;if(h[e+19|0]<=-1){j[e+12>>2]=l;break k}h[e+19|0]=l}a=a+1|0;g=ka(e+40|0,e+56|0);l=j[e+40>>2];i=k[e+51|0];f=i<<24>>24<0;if((g|0)!=((f?l:e+40|0)+(f?j[e+44>>2]:i)|0)){continue}break}}s:{a=k[e+35|0];if(a<<24>>24<0?j[e+28>>2]:a){a=k[e+19|0];if(a<<24>>24<0?j[e+12>>2]:a){break s}}g=1;break j}mq(j[c>>2],e+24|0,e+8|0);g=0}if(h[e+19|0]<=-1){T(j[e+8>>2])}if(h[e+35|0]>-1){break i}T(j[e+24>>2])}if(h[e+51|0]<=-1){T(j[e+40>>2])}if(g){break c}n=n+1|0;o=(n|0)<(m|0);if((m|0)!=(n|0)){continue}break}}f=o^1}a=f;M=e- -64|0;return a&1}X();z()}function je(a,b,c,d,e,f,g,m,n){var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;q=M-32|0;M=q;a:{if(!g){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}o=e;if(f){x=l[b+4476>>1];p=f;while(1){u=p>>>1|0;r=(u<<1)+o|0;s=x>>>0>l[r>>1];o=s?r+2|0:o;p=s?(u^-1)+p|0:u;if(p){continue}break}}if(!(((f<<1)+e|0)==(o|0)|l[b+4476>>1]>1])){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}b:{c:{d:{if(!Df(g,m)){e=W(c);if(e>>>0>=4294967280){break d}e:{f:{if(e>>>0>=11){d=e+16&-16;b=U(d);j[a+8>>2]=d|-2147483648;j[a>>2]=b;j[a+4>>2]=e;a=b;break f}h[a+11|0]=e;if(!e){break e}}V(a,c,e)}h[a+e|0]=0;break a}j[q+24>>2]=0;j[q+16>>2]=0;j[q+20>>2]=0;g:{h:{if(ca(g,1752)){break h}if(ca(g,1756)){break h}x=-1;break g}Ka(q+16|0,g);Z(q+16|0,32);g=h[q+27|0];x=j[q+20>>2];if((g|0)<=-1){break g}x=g&255}if(f){G=(x|0)==-1;while(1){i:{E=(A<<1)+e|0;o=l[E>>1];t=j[(((o&255)<<2)+b|0)+3072>>2];if(!t){break i}while(1){j:{if(l[t+30>>1]!=(o&65535)){break j}y=j[t+52>>2];if(!y){break j}g=i[t+60>>1];k:{if(!g){break k}w=l[b+4476>>1];s=j[t+56>>2];o=s;p=g;while(1){v=p>>>1|0;r=(v<<1)+o|0;u=w>>>0>l[r>>1];o=u?r+2|0:o;p=u?(v^-1)+p|0:v;if(p){continue}break}if((s+(g<<1)|0)==(o|0)){break k}if(w>>>0>=l[o>>1]){break j}}if(!G){jf(q+16|0,x,-1,y);y=h[q+27|0]<0?j[q+16>>2]:q+16|0}v=Df(y,m);l:{if(v){break l}We(a,t,c,d);g=h[a+11|0];m:{n:{if((g|0)<=-1){if(!j[a+4>>2]){break m}p=j[a>>2];break n}p=a;if(!g){break j}}B=q+16|0;p=dc(j[b+4100>>2],p);if(!p){break b}g=j[p+4>>2];if(!g){break b}C=l[p+2>>1];r=C<<16>>16;F=(r<<1)+g|0;o=g;if(C){u=l[b+4192>>1];p=r;while(1){D=p>>>1|0;s=(D<<1)+o|0;w=l[s>>1]>>0;o=w?s+2|0:o;p=w?(D^-1)+p|0:D;if(p){continue}break}}if(!(l[b+4192>>1]>=l[o>>1]?(o|0)!=(F|0):0)){if(C){while(1){s=r>>>1|0;p=(s<<1)+g|0;o=l[p>>1]<65511;g=o?p+2|0:g;r=o?(s^-1)+r|0:s;if(r){continue}break}}if((g|0)==(F|0)|l[g>>1]>65511){break b}}if(h[a+11|0]>-1){break l}}T(j[a>>2])}if((v|0)!=1|n){break j}g=i[t+60>>1];if((g|0)<1){break j}w=l[b+4476>>1];s=j[t+56>>2];o=s;r=g&65535;p=r;while(1){v=p>>>1|0;g=(v<<1)+o|0;u=w>>>0>l[g>>1];o=u?g+2|0:o;p=u?(v^-1)+p|0:v;if(p){continue}break}if(w>>>0>=l[o>>1]?(s+(r<<1)|0)!=(o|0):0){break j}We(q,t,c,d);p=a;s=b;o=k[q+11|0];r=o<<24>>24;o:{p:{if((r|0)<=-1){o=j[q+4>>2];if(!o){break o}g=j[q>>2];break p}if(!r){break j}g=q}je(p,s,g,o,j[t+56>>2],l[t+60>>1],y,m,1);g=h[a+11|0];q:{if((g|0)<=-1){if(j[a+4>>2]){break c}T(j[a>>2]);break q}if(g){break c}}if(h[q+11|0]>-1){break j}}T(j[q>>2])}t=j[t+92>>2];if(!t){break i}o=l[E>>1];continue}}A=A+1|0;if((A|0)!=(f|0)){continue}break}}B=q+16|0;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break b}X();z()}if(h[q+11|0]<=-1){T(j[q>>2])}B=q+16|0}if(h[B+11|0]>-1){break a}T(j[q+16>>2])}M=q+32|0}function Vc(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;a:{if(!k[a+28|0]){break a}f=a+52|0;g=a+48|0;c=a+32|0;d=k[a+29|0];n=d&2;i=d&16;while(1){b:{c:{d:{e:{f:{g:{h:{d=h[c|0];switch(d-91|0){case 1:break c;case 2:break e;case 3:break f;case 0:break g;default:break h}}if((d|0)==46){break d}if(!d){break a}break c}c=c+1|0;i:{if(i){if((c|0)!=(g|0)){break i}c=j[a+48>>2];o=0;e=b;m=0;break b}if((c|0)==(f|0)){break a}}o=0;e=b;m=0;if(k[c|0]){break b}break a}c=c+1|0;j:{if(i){if((c|0)!=(g|0)){break j}c=j[a+48>>2];o=1;break b}if((c|0)==(f|0)){break a}}o=1;if(k[c|0]){break b}break a}if((m|0)==(o|0)){return 0}d=c+1|0;k:{l:{if(i){if((d|0)!=(g|0)){break l}c=j[a+48>>2];break k}if((d|0)!=(f|0)){break l}c=0;break k}c=k[d|0]?d:0}m:{if(m){d=b;break m}if(!k[b|0]){d=b;break m}if(!n){d=b+1|0;break m}while(1){e=k[b+1|0];d=b+1|0;b=d;if((e&192)==128){continue}break}}e=0;if(!c){b=d;break b}if(k[d|0]){b=d;break b}return 0}if(e){break c}d=c+1|0;n:{o:{if(i){if((d|0)!=(g|0)){break o}c=j[a+48>>2];break n}if((d|0)!=(f|0)){break o}c=0;break n}c=k[d|0]?d:0}p:{if(!n){d=b+1|0;l=k[b+1|0];break p}while(1){l=k[b+1|0];d=b+1|0;b=d;if((l&192)==128){continue}break}}e=0;if(!c){b=d;break b}if(l){b=d;break b}return 0}q:{r:{s:{t:{u:{v:{if(k[b|0]==(d&255)){c=c+1|0;b=b+1|0;w:{x:{if(i){if((c|0)!=(g|0)){break x}c=j[a+48>>2];break w}if((c|0)==(f|0)){break u}}c=k[c|0]?c:0}if(!(!n|(d|0)>-1)){if(!c){break r}if(!i){l=k[c|0];if((l&192)!=128){break q}while(1){if(k[b|0]!=(l|0)){break v}c=c+1|0;if((f|0)==(c|0)|!k[c|0]){break s}b=b+1|0;l=k[c|0];if((l&192)==128){continue}break}break q}while(1){d=k[c|0];if((d&192)!=128){break q}if((d|0)!=k[b|0]){break v}c=c+1|0;y:{if((g|0)==(c|0)){c=j[a+48>>2];break y}if(!k[c|0]){break s}}b=b+1|0;if(c){continue}break}break r}if(!e){e=0;break b}if(!i){break t}while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;z:{if((g|0)==(c|0)){c=j[a+48>>2];break z}if(!k[c|0]){break a}}if(c){continue}break}break a}if(!e){return 0}c=c+1|0;A:{if(i){if((c|0)!=(g|0)){break A}c=j[a+48>>2];break b}if((c|0)==(f|0)){break a}}if(!k[c|0]){break a}break b}b=e;if(b){break b}return 0}if((d|0)<=-1){c=0;if(n){break q}}c=0;if(!e){break a}}while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;if((f|0)==(c|0)){break a}if(k[c|0]){continue}break}break a}b=b+1|0}c=0}if(!e){e=0;break b}if((b|0)==(e|0)){b=e;break b}if(!i){while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;if((f|0)==(c|0)){break a}if(k[c|0]){continue}break a}}while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;B:{if((g|0)==(c|0)){c=j[a+48>>2];break B}if(!k[c|0]){break a}}if(c){continue}break}break a}if(c){continue}break}}return 1}function mm(a,b,c,d,e,f,g,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var l=0,m=0,n=0,o=0,p=0;i=M-32|0;M=i;j[i+24>>2]=b;j[e>>2]=0;l=j[d+28>>2];j[i+8>>2]=l;j[l+4>>2]=j[l+4>>2]+1;l=sb(i+8|0);m=j[i+8>>2];n=j[m+4>>2]-1|0;j[m+4>>2]=n;if((n|0)==-1){O[j[j[m>>2]+8>>2]](m)}a:{b:{c:{d:{switch(g-65|0){case 0:case 32:pg(a,f+24|0,i+24|0,c,e,l);break b;case 1:case 33:case 39:og(a,f+16|0,i+24|0,c,e,l);break b;case 34:b=O[j[j[a+8>>2]+12>>2]](a+8|0)|0;g=i;l=a;n=j[i+24>>2];a=b;e:{if(k[a+11|0]>>>7|0){b=j[a>>2];break e}b=a}m=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}o=g,p=Zb(l,n,c,d,e,f,m,b+a|0),j[o+24>>2]=p;break b;case 35:case 36:lm(f+12|0,i+24|0,c,e,l);break b;case 3:j[i+8>>2]=623865125;j[i+12>>2]=2032480100;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+16|0),j[o+24>>2]=p;break b;case 5:j[i+8>>2]=623728933;j[i+12>>2]=1680158061;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+16|0),j[o+24>>2]=p;break b;case 7:km(f+8|0,i+24|0,c,e,l);break b;case 8:jm(f+8|0,i+24|0,c,e,l);break b;case 41:im(f+28|0,i+24|0,c,e,l);break b;case 44:hm(f+16|0,i+24|0,c,e,l);break b;case 12:gm(f+4|0,i+24|0,c,e,l);break b;case 45:case 51:fm(i+24|0,c,e,l);break b;case 47:em(a,f+8|0,i+24|0,c,e,l);break b;case 49:g=k[127663]|k[127664]<<8|(k[127665]<<16|k[127666]<<24);h[i+15|0]=g;h[i+16|0]=g>>>8;h[i+17|0]=g>>>16;h[i+18|0]=g>>>24;g=k[127660]|k[127661]<<8|(k[127662]<<16|k[127663]<<24);j[i+8>>2]=k[127656]|k[127657]<<8|(k[127658]<<16|k[127659]<<24);j[i+12>>2]=g;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+19|0),j[o+24>>2]=p;break b;case 17:h[i+12|0]=k[127671];j[i+8>>2]=k[127667]|k[127668]<<8|(k[127669]<<16|k[127670]<<24);o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+13|0),j[o+24>>2]=p;break b;case 18:dm(f,i+24|0,c,e,l);break b;case 19:j[i+8>>2]=624576549;j[i+12>>2]=1394948685;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+16|0),j[o+24>>2]=p;break b;case 54:cm(f+24|0,i+24|0,c,e,l);break b;case 55:a=O[j[j[a>>2]+20>>2]](a,b,c,d,e,f)|0;break a;case 23:b=O[j[j[a+8>>2]+24>>2]](a+8|0)|0;g=i;l=a;n=j[i+24>>2];a=b;f:{if(k[a+11|0]>>>7|0){b=j[a>>2];break f}b=a}m=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}o=g,p=Zb(l,n,c,d,e,f,m,b+a|0),j[o+24>>2]=p;break b;case 56:ng(f+20|0,i+24|0,c,e,l);break b;case 24:bm(f+20|0,i+24|0,c,e,l);break b;default:if((g|0)==37){break c}break;case 2:case 4:case 6:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 20:case 21:case 22:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 37:case 38:case 40:case 42:case 43:case 46:case 48:case 50:case 52:case 53:break d}}j[e>>2]=j[e>>2]|4;break b}am(i+24|0,c,e,l)}a=j[i+24>>2]}M=i+32|0;return a|0}function hl(){var a=0,b=0;j[37681]=0;j[37680]=134060;j[37680]=128412;j[37680]=127888;gl();fl();Nf(28);rc(150896,127877);Mf(150736);j[37601]=0;j[37600]=134060;j[37600]=128412;j[37600]=129480;Ca(150400,za(148928));j[37603]=0;j[37602]=134060;j[37602]=128412;j[37602]=129512;Ca(150408,za(148936));el();Ca(150416,za(149132));j[37609]=0;j[37608]=134060;j[37608]=128412;j[37608]=128468;Ca(150432,za(149124));j[37611]=0;j[37610]=134060;j[37610]=128412;j[37610]=128616;Ca(150440,za(149140));j[37613]=0;j[37612]=134060;j[37612]=128412;j[37612]=127960;a=150456,b=ra(),j[a>>2]=b;Ca(150448,za(149148));j[37617]=0;j[37616]=134060;j[37616]=128412;j[37616]=128764;Ca(150464,za(149156));j[37619]=0;j[37618]=134060;j[37618]=128412;j[37618]=128880;Ca(150472,za(149164));j[37621]=0;j[37620]=134060;j[37620]=128412;i[75244]=11310;j[37620]=128008;ga(150492);Ca(150480,za(149172));j[37629]=0;j[37628]=134060;j[37628]=128412;j[37630]=46;j[37631]=44;j[37628]=128048;ga(150528);Ca(150512,za(149180));j[37637]=0;j[37636]=134060;j[37636]=128412;j[37636]=129544;Ca(150544,za(148944));j[37639]=0;j[37638]=134060;j[37638]=128412;j[37638]=129788;Ca(150552,za(148952));j[37641]=0;j[37640]=134060;j[37640]=128412;j[37640]=13e4;Ca(150560,za(148960));j[37643]=0;j[37642]=134060;j[37642]=128412;j[37642]=130232;Ca(150568,za(148968));j[37645]=0;j[37644]=134060;j[37644]=128412;j[37644]=131216;Ca(150576,za(149008));j[37647]=0;j[37646]=134060;j[37646]=128412;j[37646]=131364;Ca(150584,za(149016));j[37649]=0;j[37648]=134060;j[37648]=128412;j[37648]=131480;Ca(150592,za(149024));j[37651]=0;j[37650]=134060;j[37650]=128412;j[37650]=131596;Ca(150600,za(149032));j[37653]=0;j[37652]=134060;j[37652]=128412;j[37652]=131712;Ca(150608,za(149040));j[37655]=0;j[37654]=134060;j[37654]=128412;j[37654]=131876;Ca(150616,za(149048));j[37657]=0;j[37656]=134060;j[37656]=128412;j[37656]=132040;Ca(150624,za(149056));j[37659]=0;j[37658]=134060;j[37658]=128412;j[37658]=132204;Ca(150632,za(149064));j[37661]=0;j[37660]=134060;j[37660]=128412;j[37662]=133756;j[37660]=130432;j[37662]=130480;Ca(150640,za(148976));j[37665]=0;j[37664]=134060;j[37664]=128412;j[37666]=133792;j[37664]=130696;j[37666]=130744;Ca(150656,za(148984));j[37669]=0;j[37668]=134060;j[37668]=128412;qf(150680);j[37668]=130932;Ca(150672,za(148992));j[37673]=0;j[37672]=134060;j[37672]=128412;qf(150696);j[37672]=131088;Ca(150688,za(149e3));j[37677]=0;j[37676]=134060;j[37676]=128412;j[37676]=132368;Ca(150704,za(149072));j[37679]=0;j[37678]=134060;j[37678]=128412;j[37678]=132488;Ca(150712,za(149080))}function gr(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=M-48|0;M=d;a:{b:{c:{d:{e:{if(j[a+80>>2]){break e}j[d+32>>2]=h[b+11|0]<0?j[b>>2]:b;f=ka(b,d+32|0);g=k[b+11|0];e=g<<24>>24<0;if((f|0)==((e?j[b>>2]:b)+(e?j[b+4>>2]:g)|0)){break c}while(1){f:{g:{h:{switch(l|0){case 1:break h;case 0:break g;default:break f}}n=j[d+32>>2];m=n-f|0;if(m>>>0>=4294967280){break d}i:{if(m>>>0<=10){h[d+27|0]=m;e=d+16|0;break i}g=m+16&-16;e=U(g);j[d+24>>2]=g|-2147483648;j[d+16>>2]=e;j[d+20>>2]=m}if((f|0)!=(n|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((n|0)!=(f|0)){continue}break}}h[e|0]=0;j:{if(h[d+27|0]>=0){f=ta(d+16|0);j[a+80>>2]=f;break j}e=j[d+16>>2];q=a,r=ta(e),j[q+80>>2]=r;T(e);f=j[a+80>>2]}if((f|0)<=0){f=0;j[a+88>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;break a}g=ja(f<<2);j[a+84>>2]=g;e=ja(f<<1);j[a+88>>2]=e;if(e?g:0){break g}j[a+80>>2]=0;if(g){T(g)}if(e){T(e)}j[a+84>>2]=0;j[a+88>>2]=0;break e}o=o+1|0}l=l+1|0;f=ka(b,d+32|0);g=k[b+11|0];e=g<<24>>24<0;if((f|0)!=((e?j[b>>2]:b)+(e?j[b+4>>2]:g)|0)){continue}break}if((o|0)!=2){break c}f=1;if(j[a+80>>2]<1){break a}while(1){k:{j[d+24>>2]=0;j[d+16>>2]=0;j[d+20>>2]=0;if(!ub(c,d+16|0)){break k}bb(d+16|0);b=0;m=p<<2;j[m+j[a+84>>2]>>2]=0;o=p<<1;i[o+j[a+88>>2]>>1]=0;j[d+32>>2]=h[d+27|0]<0?j[d+16>>2]:d+16|0;f=ka(d+16|0,d+32|0);l=j[d+16>>2];g=k[d+27|0];e=g<<24>>24<0;if((f|0)!=((e?l:d+16|0)+(e?j[d+20>>2]:g)|0)){while(1){l:{m:{switch(b|0){case 0:if(!_(d+16|0,f-(e&1?l:d+16|0)|0,2,120958,2)){break l}f=0;j[a+80>>2]=0;T(j[a+84>>2]);T(j[a+88>>2]);j[a+84>>2]=0;j[a+88>>2]=0;if(h[d+27|0]>-1){break a}T(j[d+16>>2]);break a;case 1:break m;default:break l}}n=j[d+32>>2];l=n-f|0;if(l>>>0>=4294967280){break b}n:{if(l>>>0<=10){h[d+11|0]=l;e=d;break n}g=l+16&-16;e=U(g);j[d+8>>2]=g|-2147483648;j[d>>2]=e;j[d+4>>2]=l}if((f|0)!=(n|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((n|0)!=(f|0)){continue}break}}h[e|0]=0;g=Te(a,m+j[a+84>>2]|0,d);i[o+j[a+88>>2]>>1]=g;e=j[m+j[a+84>>2]>>2];Qc(e,e+((g&65535)<<1)|0,d+40|0);if(h[d+11|0]>-1){break l}T(j[d>>2])}b=b+1|0;f=ka(d+16|0,d+32|0);l=j[d+16>>2];g=k[d+27|0];e=g<<24>>24<0;if((f|0)!=((e?l:d+16|0)+(e?j[d+20>>2]:g)|0)){continue}break}}b=j[a+84>>2];if(!j[b+m>>2]){T(b);T(j[a+88>>2]);f=0;j[a+88>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;if(h[d+27|0]>-1){break a}T(j[d+16>>2]);break a}if(e){T(l)}f=1;p=p+1|0;if((p|0)>2]){continue}break a}break}if(h[d+27|0]>-1){break e}T(j[d+16>>2])}f=0;break a}X();z()}f=0;j[a+80>>2]=0;T(j[a+84>>2]);T(j[a+88>>2]);j[a+84>>2]=0;j[a+88>>2]=0;break a}X();z()}M=d+48|0;return f}function wf(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,j=0;d=1;a:{b:{c:{d:{switch(b-a>>1){case 2:b=b-2|0;c=k[b|0]|k[b+1|0]<<8;e=k[a|0]|k[a+1|0]<<8;if(c>>>0>=e>>>0){break c}h[a|0]=c;h[a+1|0]=c>>>8;h[b|0]=e;h[b+1|0]=e>>>8;return 1;case 3:b=b-2|0;c=k[b|0]|k[b+1|0]<<8;e=k[a+2|0]|k[a+3|0]<<8;f=k[a|0]|k[a+1|0]<<8;if(e>>>0>=f>>>0){if(c>>>0>=e>>>0){break c}h[a+2|0]=c;h[a+3|0]=c>>>8;h[b|0]=e;h[b+1|0]=e>>>8;b=k[a+2|0]|k[a+3|0]<<8;c=k[a|0]|k[a+1|0]<<8;if(b>>>0>=c>>>0){break c}break a}if(c>>>0>>0){h[a|0]=c;h[a+1|0]=c>>>8;break b}h[a+2|0]=f;h[a+3|0]=f>>>8;h[a|0]=e;h[a+1|0]=e>>>8;c=k[b|0]|k[b+1|0]<<8;if(c>>>0>=f>>>0){break c}h[a+2|0]=c;h[a+3|0]=c>>>8;break b;case 4:e=b-2|0;b=k[a+4|0]|k[a+5|0]<<8;c=k[a+2|0]|k[a+3|0]<<8;d=k[a|0]|k[a+1|0]<<8;e:{if(c>>>0>=d>>>0){if(b>>>0>=c>>>0){c=b;break e}h[a+4|0]=c;h[a+5|0]=c>>>8;h[a+2|0]=b;h[a+3|0]=b>>>8;if(b>>>0>=d>>>0){break e}h[a+2|0]=d;h[a+3|0]=d>>>8;h[a|0]=b;h[a+1|0]=b>>>8;break e}f:{if(b>>>0>>0){h[a+4|0]=d;h[a+5|0]=d>>>8;h[a|0]=b;h[a+1|0]=b>>>8;break f}h[a+2|0]=d;h[a+3|0]=d>>>8;h[a|0]=c;h[a+1|0]=c>>>8;if(b>>>0>=d>>>0){c=b;break e}h[a+4|0]=d;h[a+5|0]=d>>>8;h[a+2|0]=b;h[a+3|0]=b>>>8}c=d}d=1;b=k[e|0]|k[e+1|0]<<8;if(b>>>0>=(c&65535)>>>0){break c}h[a+4|0]=b;h[a+5|0]=b>>>8;h[e|0]=c;h[e+1|0]=c>>>8;b=k[a+4|0]|k[a+5|0]<<8;c=k[a+2|0]|k[a+3|0]<<8;if(b>>>0>=c>>>0){break c}h[a+4|0]=c;h[a+5|0]=c>>>8;h[a+2|0]=b;h[a+3|0]=b>>>8;c=k[a|0]|k[a+1|0]<<8;if(c>>>0<=b>>>0){break c}break a;case 5:fe(a,a+2|0,a+4|0,a+6|0,b-2|0);return 1;case 0:case 1:break c;default:break d}}d=k[a+4|0]|k[a+5|0]<<8;c=k[a+2|0]|k[a+3|0]<<8;e=k[a|0]|k[a+1|0]<<8;g:{if(c>>>0>=e>>>0){if(c>>>0<=d>>>0){c=d;break g}h[a+4|0]=c;h[a+5|0]=c>>>8;h[a+2|0]=d;h[a+3|0]=d>>>8;if(d>>>0>=e>>>0){break g}h[a+2|0]=e;h[a+3|0]=e>>>8;h[a|0]=d;h[a+1|0]=d>>>8;break g}h:{if(c>>>0>d>>>0){h[a+4|0]=e;h[a+5|0]=e>>>8;h[a|0]=d;h[a+1|0]=d>>>8;break h}h[a+2|0]=e;h[a+3|0]=e>>>8;h[a|0]=c;h[a+1|0]=c>>>8;if(d>>>0>=e>>>0){c=d;break g}h[a+4|0]=e;h[a+5|0]=e>>>8;h[a+2|0]=d;h[a+3|0]=d>>>8}c=e}i:{j:{d=a+6|0;if((d|0)==(b|0)){break j}f=a+4|0;while(1){k:{e=d;i=d;g=k[d|0]|k[d+1|0]<<8;if(g>>>0<(c&65535)>>>0){while(1){l:{h[i|0]=c;h[i+1|0]=c>>>8;d=f;if((d|0)==(a|0)){d=a;break l}i=d;f=d-2|0;c=k[f|0]|k[f+1|0]<<8;if(g>>>0>>0){continue}}break}h[d|0]=g;h[d+1|0]=g>>>8;j=j+1|0;if((j|0)==8){break k}}d=e+2|0;if((d|0)==(b|0)){break j}c=k[e|0]|k[e+1|0]<<8;f=e;continue}break}c=(e+2|0)==(b|0);a=0;break i}a=1}d=a|c}return d&1}h[b|0]=f;h[b+1|0]=f>>>8;return 1}h[a+2|0]=c;h[a+3|0]=c>>>8;h[a|0]=b;h[a+1|0]=b>>>8;return 1}function Id(a,b,c,d,e,f,g,m){var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=M-16|0;M=q;x=d&1;a:{if(h[a+29|0]&1?0:x){break a}d=h[a+15|0];o=j[a+8>>2];b:{if((d|0)<=-1){break b}o=d&255}d=c-o|0;c:{if(!j[j[a+64>>2]+4484>>2]|d?(d|0)<=0:0){break c}n=k[a+28|0];c=h[a+27|0];o=j[a+20>>2];d:{if((c|0)<=-1){break d}o=c&255}if(n>>>0>o+d>>>0){break c}o=a+16|0;e:{f:{if(d>>>0>=11){s=d+16&-16;c=U(s);j[q+8>>2]=s|-2147483648;j[q>>2]=c;j[q+4>>2]=d;break f}h[q+11|0]=d;c=q;if(!d){break e}}V(c,b,d)}h[c+d|0]=0;b=k[o+11|0];d=b<<24>>24;c=j[a+20>>2];g:{if((d|0)<=-1){break g}c=b}if(c){c=(d|0)<0;aa(q,c?j[a+16>>2]:o,c?j[a+20>>2]:b)}n=1;c=k[q+11|0];d=c<<24>>24<0;b=d?j[q>>2]:q;h:{if(!Jd(a,b+(d?j[q+4>>2]:c)|0,b)){break h}d=Xb(j[a+64>>2],b);if(!d){break h}while(1){w=d;b=j[d+4>>2];s=l[d+2>>1];o=s<<16>>16;u=b+(o<<1)|0;d=b;if(s){r=l[a+30>>1];c=o;while(1){n=c>>>1|0;t=(n<<1)+d|0;p=r>>>0>l[t>>1];d=p?t+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}i:{if(!(l[a+30>>1]>=l[d>>1]?(d|0)!=(u|0):0)){if(!e){break i}d=j[e+56>>2];if(!d){break i}c=i[e+60>>1];r=(c<<1)+d|0;if(c){t=l[a+30>>1];while(1){n=c>>>1|0;v=(n<<1)+d|0;p=t>>>0>l[v>>1];d=p?v+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((d|0)==(r|0)|l[a+30>>1]>1]){break i}}j:{if(!x){break j}if(!e){break i}n=l[e+30>>1];d=b;c=o;if(s){while(1){p=c>>>1|0;t=(p<<1)+d|0;r=n>>>0>l[t>>1];d=r?t+2|0:d;c=r?(p^-1)+c|0:p;if(c){continue}break}}if(n>>>0>=l[d>>1]?(d|0)!=(u|0):0){break j}d=j[a+56>>2];if(!d){break i}c=i[a+60>>1];t=(c<<1)+d|0;if(c){while(1){p=c>>>1|0;v=(p<<1)+d|0;r=n>>>0>l[v>>1];d=r?v+2|0:d;c=r?(p^-1)+c|0:p;if(c){continue}break}}if((d|0)==(t|0)|n>>>0>1]){break i}}if(f){d=j[a+56>>2];if(!d){break i}c=i[a+60>>1];r=(c<<1)+d|0;if(c){while(1){n=c>>>1|0;t=(n<<1)+d|0;p=l[t>>1]>>0;d=p?t+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((d|0)==(r|0)|l[d>>1]>f>>>0){break i}}k:{if(!m){break k}d=b;c=o;if(s){while(1){n=c>>>1|0;r=(n<<1)+d|0;p=l[r>>1]>>0;d=p?r+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((d|0)==(u|0)){break k}if(l[d>>1]<=m>>>0){break i}}n=0;if(!g){break h}if(s){while(1){c=o>>>1|0;s=(c<<1)+b|0;d=l[s>>1]>>0;b=d?s+2|0:b;o=d?(c^-1)+o|0:c;if(o){continue}break}}if(l[b>>1]<=g>>>0?(b|0)!=(u|0):0){break h}d=j[a+56>>2];if(!d){break i}c=i[a+60>>1];s=(c<<1)+d|0;if(c){while(1){b=c>>>1|0;u=(b<<1)+d|0;o=l[u>>1]>>0;d=o?u+2|0:d;c=o?(b^-1)+c|0:b;if(c){continue}break}}if((d|0)==(s|0)){break i}if(l[d>>1]<=g>>>0){break h}}d=j[w+12>>2];if(d){continue}break}n=1}if(h[q+11|0]<=-1){T(j[q>>2])}if(!n){break a}}w=0}M=q+16|0;return w}function Oc(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,m=0;a:{e=j[a>>2];c=j[a+4>>2];if((e|0)==(c|0)){break a}a=c-e|0;f=j[37199];b:{switch(b-90|0){case 0:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=48;b=1;c=k[e|0]|k[e+1|0]<<8;c:{if((c|0)!=105){if(!f){break c}a=l[(f+p(c,6)|0)+2>>1];if((c|0)==(a|0)){break c}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=48;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;d:{if((g|0)!=105){if(!f){break d}b=l[(f+p(g,6)|0)+2>>1];if((g|0)==(b|0)){break d}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;case 10:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=48;b=1;c=k[e|0]|k[e+1|0]<<8;e:{if((c|0)!=105){if(!f){break e}a=l[(f+p(c,6)|0)+2>>1];if((c|0)==(a|0)){break e}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=48;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;f:{if((g|0)!=105){if(!f){break f}b=l[(f+p(g,6)|0)+2>>1];if((g|0)==(b|0)){break f}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;default:d=e-c|0;c=((a|0)<(d|0)?d:a)>>>1|0;a=(a|0)>-1?a:-1;g=p(c,(a|0)<1?a:1);g:{h:{i:{a=k[e|0]|k[e+1|0]<<8;if((a|0)!=105){break i}d=48;c=1;switch(b-100|0){case 0:case 2:break h;default:break i}}if(!f){break g}d=l[(f+p(a,6)|0)+2>>1];if((a|0)==(d|0)){break g}c=d>>>8|0}h[e|0]=d;h[e+1|0]=c}a=1;if(g>>>0<=1){break a}g=g>>>0>1?g:1;i=b-90|0;m=i>>>0>12;while(1){b=(a<<1)+e|0;c=k[b|0]|k[b+1|0]<<8;j:{k:{if(!(!(1<>1];if((c|0)==(d|0)){break j}c=d>>>8|0}h[b+1|0]=c;h[b|0]=d}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a;case 12:break b}}d=1;b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;c=p(b,(a|0)<1?a:1);g=c>>>0>1?c:1;a=k[e|0]|k[e+1|0]<<8;if(f){b=48;l:{if((a|0)!=105){b=l[(f+p(a,6)|0)+2>>1];if((a|0)==(b|0)){break l}d=b>>>8|0}h[e|0]=b;h[e+1|0]=d}a=1;if(c>>>0<=1){break a}while(1){b=48;c=1;d=(a<<1)+e|0;i=k[d|0]|k[d+1|0]<<8;m:{if((i|0)!=105){b=l[(f+p(i,6)|0)+2>>1];if((i|0)==(b|0)){break m}c=b>>>8|0}h[d+1|0]=c;h[d|0]=b}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a}if((a|0)==105){h[e|0]=48;h[e+1|0]=1}if(c>>>0<2){break a}a=1;b=g-1|0;f=b&1;if((g|0)!=2){b=b&-2;while(1){d=(a<<1)+e|0;if((k[d|0]|k[d+1|0]<<8)==105){h[d+1|0]=1;h[d|0]=48}if((k[d+2|0]|k[d+3|0]<<8)==105){h[d+3|0]=1;h[d+2|0]=48}a=a+2|0;b=b-2|0;if(b){continue}break}}if(!f){break a}a=(a<<1)+e|0;if((k[a|0]|k[a+1|0]<<8)!=105){break a}h[a+1|0]=1;h[a|0]=48}}function Ua(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,m=0;a:{e=j[a>>2];c=j[a+4>>2];if((e|0)==(c|0)){break a}a=c-e|0;f=j[37199];b:{switch(b-90|0){case 0:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=49;b=1;c=k[e|0]|k[e+1|0]<<8;c:{if((c|0)!=73){if(!f){break c}a=l[(f+p(c,6)|0)+4>>1];if((c|0)==(a|0)){break c}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=49;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;d:{if((g|0)!=73){if(!f){break d}b=l[(f+p(g,6)|0)+4>>1];if((g|0)==(b|0)){break d}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;case 10:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=49;b=1;c=k[e|0]|k[e+1|0]<<8;e:{if((c|0)!=73){if(!f){break e}a=l[(f+p(c,6)|0)+4>>1];if((c|0)==(a|0)){break e}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=49;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;f:{if((g|0)!=73){if(!f){break f}b=l[(f+p(g,6)|0)+4>>1];if((g|0)==(b|0)){break f}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;default:d=e-c|0;c=((a|0)<(d|0)?d:a)>>>1|0;a=(a|0)>-1?a:-1;g=p(c,(a|0)<1?a:1);g:{h:{i:{a=k[e|0]|k[e+1|0]<<8;if((a|0)!=73){break i}d=49;c=1;switch(b-100|0){case 0:case 2:break h;default:break i}}if(!f){break g}d=l[(f+p(a,6)|0)+4>>1];if((a|0)==(d|0)){break g}c=d>>>8|0}h[e|0]=d;h[e+1|0]=c}a=1;if(g>>>0<=1){break a}g=g>>>0>1?g:1;i=b-90|0;m=i>>>0>12;while(1){b=(a<<1)+e|0;c=k[b|0]|k[b+1|0]<<8;j:{k:{if(!(!(1<>1];if((c|0)==(d|0)){break j}c=d>>>8|0}h[b+1|0]=c;h[b|0]=d}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a;case 12:break b}}d=1;b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;c=p(b,(a|0)<1?a:1);g=c>>>0>1?c:1;a=k[e|0]|k[e+1|0]<<8;if(f){b=49;l:{if((a|0)!=73){b=l[(f+p(a,6)|0)+4>>1];if((a|0)==(b|0)){break l}d=b>>>8|0}h[e|0]=b;h[e+1|0]=d}a=1;if(c>>>0<=1){break a}while(1){b=49;c=1;d=(a<<1)+e|0;i=k[d|0]|k[d+1|0]<<8;m:{if((i|0)!=73){b=l[(f+p(i,6)|0)+4>>1];if((i|0)==(b|0)){break m}c=b>>>8|0}h[d+1|0]=c;h[d|0]=b}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a}if((a|0)==73){h[e|0]=49;h[e+1|0]=1}if(c>>>0<2){break a}a=1;b=g-1|0;f=b&1;if((g|0)!=2){b=b&-2;while(1){d=(a<<1)+e|0;if((k[d|0]|k[d+1|0]<<8)==73){h[d+1|0]=1;h[d|0]=49}if((k[d+2|0]|k[d+3|0]<<8)==73){h[d+3|0]=1;h[d+2|0]=49}a=a+2|0;b=b-2|0;if(b){continue}break}}if(!f){break a}a=(a<<1)+e|0;if((k[a|0]|k[a+1|0]<<8)!=73){break a}h[a+1|0]=1;h[a|0]=49}}function gb(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j[a+4360>>2]=0;j[a+4352>>2]=0;j[a+4356>>2]=0;j[a+4376>>2]=0;a:{q=j[a>>2];b:{if(!q){break b}if(!d){t=(d|0)!=2;while(1){n=j[q+56>>2];c:{d:{if(!n){break d}u=l[q+60>>1];m=u<<16>>16;v=(m<<1)+n|0;f=n;if(u){p=l[a+4464>>1];g=m;while(1){s=g>>>1|0;o=(s<<1)+f|0;r=p>>>0>l[o>>1];f=r?o+2|0:f;g=r?(s^-1)+g|0:s;if(g){continue}break}}if(l[a+4464>>1]>=l[f>>1]?(f|0)!=(v|0):0){break c}if(t){break d}if(u){f=l[a+4164>>1];while(1){p=m>>>1|0;g=(p<<1)+n|0;o=f>>>0>l[g>>1];n=o?g+2|0:n;m=o?(p^-1)+m|0:p;if(m){continue}break}}if((n|0)==(v|0)|l[a+4164>>1]>1]){break c}}f=jd(q,b,c,0,e);if(f){break a}}q=j[q+68>>2];if(q){continue}break}break b}p=(d|0)!=2;while(1){e:{if(!p){f=j[q+56>>2];if(!f){break e}g=i[q+60>>1];o=(g<<1)+f|0;if(g){n=l[a+4164>>1];while(1){r=g>>>1|0;m=(r<<1)+f|0;t=n>>>0>l[m>>1];f=t?m+2|0:f;g=t?(r^-1)+g|0:r;if(g){continue}break}}if((f|0)==(o|0)|l[a+4164>>1]>1]){break e}}f=jd(q,b,c,d,e);if(f){break a}}q=j[q+68>>2];if(q){continue}break}}f:{n=j[(k[b|0]<<2)+a>>2];g:{if(!n){break g}if(!d){t=(d|0)!=2;while(1){g=n+4|0;g=h[n+15|0]<0?j[g>>2]:g;f=k[g|0];h:{if(!f){break h}m=b;if((f|0)!=46&k[m|0]!=(f|0)){break h}while(1){f=k[g+1|0];if(!f){break h}d=k[m+1|0];m=m+1|0;g=g+1|0;if(!((f|0)!=46&(d|0)!=(f|0))){continue}break}}if(f){d=n+76|0}else{m=j[n+56>>2];i:{j:{if(!m){break j}u=l[n+60>>1];d=u<<16>>16;v=(d<<1)+m|0;f=m;if(u){p=l[a+4464>>1];g=d;while(1){s=g>>>1|0;o=(s<<1)+f|0;r=p>>>0>l[o>>1];f=r?o+2|0:f;g=r?(s^-1)+g|0:s;if(g){continue}break}}if(l[a+4464>>1]>=l[f>>1]?(f|0)!=(v|0):0){break i}if(t){break j}if(u){f=l[a+4164>>1];while(1){p=d>>>1|0;g=(p<<1)+m|0;o=f>>>0>l[g>>1];m=o?g+2|0:m;d=o?(p^-1)+d|0:p;if(d){continue}break}}if((m|0)==(v|0)|l[a+4164>>1]>1]){break i}}f=jd(n,b,c,0,e);if(f){break f}}d=n+72|0}n=j[d>>2];if(n){continue}break}break g}t=(d|0)!=2;while(1){g=n+4|0;g=h[n+15|0]<=-1?j[g>>2]:g;f=k[g|0];k:{if(!f){break k}m=b;if((f|0)!=46&k[m|0]!=(f|0)){break k}while(1){f=k[g+1|0];if(!f){break k}o=k[m+1|0];m=m+1|0;g=g+1|0;if(!((f|0)!=46&(f|0)!=(o|0))){continue}break}}l:{if(!f){m:{if(!t){f=j[n+56>>2];if(!f){break m}g=i[n+60>>1];p=(g<<1)+f|0;if(g){o=l[a+4164>>1];while(1){s=g>>>1|0;m=(s<<1)+f|0;r=o>>>0>l[m>>1];f=r?m+2|0:f;g=r?(s^-1)+g|0:s;if(g){continue}break}}if((f|0)==(p|0)|l[a+4164>>1]>1]){break m}}f=jd(n,b,c,d,e);if(f){break f}}m=n+72|0;break l}m=n+76|0}n=j[m>>2];if(n){continue}break}}return 0}j[a+4376>>2]=n;return f}j[a+4376>>2]=q;return f}function Za(a,b,c){var d=0,e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0;d=M-448|0;M=d;j[d+440>>2]=0;j[d+432>>2]=0;j[d+436>>2]=0;a:{if(!j[b+44>>2]){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}m=ha(d+416|0,c);b:{if(!j[b+76>>2]){break b}if(j[b+56>>2]){ob(m);break b}Va(m)}e=Xb(j[b+44>>2],h[m+11|0]<0?j[m>>2]:d+416|0);if(e){while(1){c=j[e+4>>2];c:{d:{if(!c){break d}f=i[e+2>>1];q=(f<<1)+c|0;n=l[j[b+44>>2]+4192>>1];if(f){while(1){g=f>>>1|0;o=(g<<1)+c|0;p=n>>>0>l[o>>1];c=p?o+2|0:c;f=p?(g^-1)+f|0:g;if(f){continue}break}}if(n>>>0>=l[c>>1]?(c|0)!=(q|0):0){break c}c=j[e+4>>2];f=i[e+2>>1];q=c+(f<<1)|0;n=l[j[b+44>>2]+4198>>1];if(f){while(1){g=f>>>1|0;o=(g<<1)+c|0;p=n>>>0>l[o>>1];c=p?o+2|0:c;f=p?(g^-1)+f|0:g;if(f){continue}break}}if(n>>>0>=l[c>>1]?(c|0)!=(q|0):0){break c}c=j[e+4>>2];f=i[e+2>>1];q=c+(f<<1)|0;n=l[j[b+44>>2]+4464>>1];if(f){while(1){g=f>>>1|0;o=(g<<1)+c|0;p=n>>>0>l[o>>1];c=p?o+2|0:c;f=p?(g^-1)+f|0:g;if(f){continue}break}}if((c|0)==(q|0)){break d}if(n>>>0>=l[c>>1]){break c}}c=k[e+16|0];e:{f:{if(!(c&1)){break f}g:{if(c&2){c=k[e|0]+e|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break f}c=k[e+16|0];g=0;if(!(c&1)){break g}}f=(k[e|0]+e|0)+18|0;g=f;if(!(c&2)){break g}g=k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24)}if(ca(g,121397)){break e}}Z(d+432|0,32);$(d+432|0,121397);c=k[m+11|0];f=c<<24>>24<0;aa(d+432|0,f?j[m>>2]:d+416|0,f?j[m+4>>2]:c)}c=k[e+16|0];h:{if(!(c&1)){break h}if(c&2){c=k[e|0]+e|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break h}}Z(d+432|0,32);n=d+432|0;g=k[e+16|0];f=121429;i:{if(!(g&1)){break i}c=(k[e|0]+e|0)+18|0;f=c;if(!(g&2)){break i}f=k[c|0]|k[c+1|0]<<8|(k[c+2|0]<<16|k[c+3|0]<<24)}$(n,f)}Z(d+432|0,10)}e=j[e+12>>2];if(e){continue}break}}c=k[m+11|0];e=c<<24>>24<0;fc(d+400|0,j[b+44>>2],e?j[m>>2]:d+416|0,e?j[m+4>>2]:c,0);e=k[d+411|0];c=e<<24>>24;e=(c|0)<0?j[d+404>>2]:e;if(e){aa(d+432|0,(c|0)<0?j[d+400>>2]:d+400|0,e)}e=1;c=j[b+44>>2];if(!(l[c+4152>>1]|l[c+4154>>1])){e=j[c+4268>>2]!=j[c+4272>>2]}j:{if(!e){break j}c=k[d+443|0];if(c<<24>>24<0?j[d+436>>2]:c){break j}e=j[b+44>>2];b=k[m+11|0];c=b<<24>>24<0;Pf(e,c?j[m>>2]:d+416|0,c?j[m+4>>2]:b,0,0,100,0,0,d,d+432|0,0)}zi(d+432|0);j[a+8>>2]=j[d+440>>2];b=j[d+436>>2];j[a>>2]=j[d+432>>2];j[a+4>>2]=b;j[d+440>>2]=0;j[d+432>>2]=0;j[d+436>>2]=0;if(h[d+411|0]<=-1){T(j[d+400>>2])}if(h[m+11|0]<=-1){T(j[m>>2])}if(h[d+443|0]>-1){break a}T(j[d+432>>2])}M=d+448|0}function fr(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;d=M-48|0;M=d;a:{b:{c:{d:{e:{if(j[a+92>>2]){break e}j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;e=ka(b,d+40|0);f=k[b+11|0];g=f<<24>>24<0;if((e|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:f)|0)){break c}g=0;while(1){f:{g:{h:{switch(g|0){case 1:break h;case 0:break g;default:break f}}n=j[d+40>>2];i=n-e|0;if(i>>>0>=4294967280){break d}i:{if(i>>>0<=10){h[d+35|0]=i;f=d+24|0;break i}m=i+16&-16;f=U(m);j[d+32>>2]=m|-2147483648;j[d+24>>2]=f;j[d+28>>2]=i}if((e|0)!=(n|0)){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((n|0)!=(e|0)){continue}break}}h[f|0]=0;j:{if(h[d+35|0]>=0){e=ta(d+24|0);j[a+92>>2]=e;break j}e=j[d+24>>2];p=a,q=ta(e),j[p+92>>2]=q;T(e);e=j[a+92>>2]}if((e|0)<=0){break e}e=ja(e<<2);j[a+96>>2]=e;if(e){break g}e=0;j[a+92>>2]=0;break a}l=l+1|0}g=g+1|0;e=ka(b,d+40|0);f=k[b+11|0];i=f<<24>>24<0;if((e|0)!=((i?j[b>>2]:b)+(i?j[b+4>>2]:f)|0)){continue}break}if((l|0)!=2){break c}e=1;if(j[a+92>>2]<1){break a}i=0;while(1){k:{j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;if(!ub(c,d+24|0)){break k}bb(d+24|0);b=0;n=i<<2;j[n+j[a+96>>2]>>2]=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;e=ka(d+24|0,d+40|0);g=j[d+24>>2];o=k[d+35|0];l=o<<24>>24;f=(l|0)<0;m=j[d+28>>2];if((e|0)!=((f?g:d+24|0)+(f?m:o)|0)){while(1){l:{m:{switch(b|0){case 0:if(!_(d+24|0,e-(f&1?g:d+24|0)|0,2,120961,2)){break l}e=0;j[a+92>>2]=0;T(j[a+96>>2]);j[a+96>>2]=0;if(h[d+35|0]>-1){break a}T(j[d+24>>2]);break a;case 1:break m;default:break l}}f=f&1;l=(f?g:d+24|0)+(f?m:l&255)|0;g=l-e|0;if(g>>>0>=4294967280){break b}n:{if(g>>>0<=10){h[d+19|0]=g;f=d+8|0;break n}m=g+16&-16;f=U(m);j[d+16>>2]=m|-2147483648;j[d+8>>2]=f;j[d+12>>2]=g}if((e|0)!=(l|0)){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}h[f|0]=0;o:{if(!j[a+12>>2]){break o}if(j[a+16>>2]){ob(d+8|0);break o}Va(d+8|0)}e=cb(h[d+19|0]<0?j[d+8>>2]:d+8|0);j[n+j[a+96>>2]>>2]=e;if(h[d+19|0]>-1){break l}T(j[d+8>>2])}b=b+1|0;e=ka(d+24|0,d+40|0);g=j[d+24>>2];o=k[d+35|0];l=o<<24>>24;f=(l|0)<0;m=j[d+28>>2];if((e|0)!=((f?g:d+24|0)+(f?m:o)|0)){continue}break}}b=j[a+96>>2];if(!j[b+n>>2]){e=0;j[a+92>>2]=0;T(b);j[a+96>>2]=0;if(h[d+35|0]>-1){break a}T(j[d+24>>2]);break a}if(f){T(g)}e=1;i=i+1|0;if((i|0)>2]){continue}break a}break}if(h[d+35|0]>-1){break e}T(j[d+24>>2])}e=0;break a}X();z()}e=0;j[a+92>>2]=0;T(j[a+96>>2]);j[a+96>>2]=0;break a}X();z()}M=d+48|0;return e}function Te(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0;l=M-16|0;M=l;d=k[c+11|0];f=d<<24>>24;m=j[c+4>>2];g=(f|0)<0?m:d;a:{if(!g){j[b>>2]=0;break a}e=-1;b:{c:{d:{e:{f:{g:{h:{i:{switch(j[a+8>>2]-1|0){case 1:if((f|0)>=0){if(!f){e=1;break c}a=d&3;if(d-1>>>0>=3){break h}d=0;e=1;break d}if(!m){e=1;break c}a=j[c>>2];f=m&3;j:{if(m-1>>>0<3){d=0;e=1;break j}g=m&-4;d=0;e=1;while(1){e=((((k[a+d|0]==44)+e|0)+(k[a+(d|1)|0]==44)|0)+(k[a+(d|2)|0]==44)|0)+(k[a+(d|3)|0]==44)|0;d=d+4|0;g=g-4|0;if(g){continue}break}}if(!f){break c}while(1){e=(k[a+d|0]==44)+e|0;d=d+1|0;f=f-1|0;if(f){continue}break}break c;case 0:break i;case 2:break g;default:break f}}e=(g|0)/2|0;d=ja(e<<1);j[b>>2]=d;if(!d){break b}if((g|0)<2){break a}a=0;b=h[c+11|0]<0?j[c>>2]:c;if((g&-2)!=2){g=e&-2;while(1){c=a<<1;i[c+d>>1]=k[b+(c|1)|0]|k[b+c|0]<<8;f=c|2;i[f+d>>1]=k[b+(c|3)|0]|k[b+f|0]<<8;a=a+2|0;g=g-2|0;if(g){continue}break}}if(!(e&1)){break a}a=a<<1;i[a+d>>1]=k[b+(a|1)|0]|k[a+b|0]<<8;break a}f=d&252;d=0;e=1;while(1){e=((((k[c+d|0]==44)+e|0)+(k[(d|1)+c|0]==44)|0)+(k[(d|2)+c|0]==44)|0)+(k[(d|3)+c|0]==44)|0;d=d+4|0;f=f-4|0;if(f){continue}break}break d}j[l+8>>2]=0;j[l>>2]=0;j[l+4>>2]=0;ia(l,c);e=b;a=j[l>>2];b=j[l+4>>2]-a|0;c=ja(b);j[e>>2]=c;if(!c){break e}V(c,a,b);if(a){j[l+4>>2]=a;T(a)}e=b>>1;break a}d=ja(g<<1);j[b>>2]=d;if(!d){break a}k:{l:{m:{b=k[c+11|0];a=b<<24>>24;if((a|0)>=0){if(!a){break k}a=b&3;if(b-1>>>0>=3){break m}e=0;break l}e=j[c+4>>2];if(!e){break k}b=j[c>>2];a=e&3;n:{if(e-1>>>0<3){c=0;break n}f=e&-4;c=0;while(1){i[d>>1]=k[b+c|0];i[d+2>>1]=k[b+(c|1)|0];i[d+4>>1]=k[b+(c|2)|0];i[d+6>>1]=k[b+(c|3)|0];c=c+4|0;d=d+8|0;f=f-4|0;if(f){continue}break}}if(!a){break k}while(1){i[d>>1]=k[b+c|0];c=c+1|0;d=d+2|0;a=a-1|0;if(a){continue}break}break k}f=b&252;e=0;while(1){i[d>>1]=k[c+e|0];i[d+2>>1]=k[(e|1)+c|0];i[d+4>>1]=k[(e|2)+c|0];i[d+6>>1]=k[(e|3)+c|0];e=e+4|0;d=d+8|0;f=f-4|0;if(f){continue}break}}if(!a){break k}while(1){i[d>>1]=k[c+e|0];e=e+1|0;d=d+2|0;a=a-1|0;if(a){continue}break}}e=g;break a}if(!a){break b}j[l+4>>2]=a;T(a);break b}if(!a){break c}while(1){e=(k[c+d|0]==44)+e|0;d=d+1|0;a=a-1|0;if(a){continue}break}}d=ja(e<<1);j[b>>2]=d;if(!d){break b}f=h[c+11|0]<0?j[c>>2]:c;c=f;while(1){a=k[c|0];o:{if((a|0)!=44){if(a){break o}n=d,o=ta(f),i[n>>1]=o;break a}n=d,o=ta(f),i[n>>1]=o;d=d+2|0;f=c+1|0}c=c+1|0;continue}}e=-1}M=l+16|0;return e}function Jo(a){var b=0,c=0,d=0,e=0,f=0,g=0;while(1){b=(c<<2)+a|0;j[b+2048>>2]=0;b=j[b>>2];if(b){while(1){d=j[b+68>>2];O[j[j[b>>2]+4>>2]](b);b=d;if(b){continue}break}}c=c+1|0;if((c|0)!=256){continue}break}c=0;while(1){b=(c<<2)+a|0;j[b+3072>>2]=0;e=b+1024|0;b=j[e>>2];if(b){while(1){d=j[b+80>>2];O[j[j[b>>2]+4>>2]](b);b=d;if(b){continue}break}}j[e>>2]=0;c=c+1|0;if((c|0)!=256){continue}break}b=j[a+4204>>2];if(b){T(Le(b))}b=j[a+4208>>2];if(b){T(Le(b))}e=j[a+4280>>2];if(e){d=j[e+4>>2];if(d){b=j[e+8>>2];c=d;a:{if((d|0)==(b|0)){break a}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((d|0)!=(b|0)){continue}break}c=j[e+4>>2]}j[e+8>>2]=d;T(c)}T(e)}i[a+4464>>1]=0;j[a+4460>>2]=0;j[a+4308>>2]=0;j[a+4312>>2]=0;j[a+4100>>2]=0;j[a+4152>>2]=0;j[a+4156>>2]=0;j[a+4192>>2]=0;j[a+4196>>2]=0;b=a+4158|0;i[b>>1]=0;i[b+2>>1]=0;i[b+4>>1]=0;i[b+6>>1]=0;j[a+4200>>2]=0;j[a+4380>>2]=0;if(h[a+4455|0]<=-1){T(j[a+4444>>2])}if(h[a+4443|0]<=-1){T(j[a+4432>>2])}b=j[a+4420>>2];if(b){j[a+4424>>2]=b;T(b)}if(h[a+4419|0]<=-1){T(j[a+4408>>2])}b=j[a+4396>>2];if(b){j[a+4400>>2]=b;T(b)}if(h[a+4395|0]<=-1){T(j[a+4384>>2])}if(h[a+4351|0]<=-1){T(j[a+4340>>2])}b=j[a+4328>>2];if(b){j[a+4332>>2]=b;T(b)}if(h[a+4327|0]<=-1){T(j[a+4316>>2])}d=j[a+4268>>2];if(d){b=j[a+4272>>2];c=d;b:{if((d|0)==(b|0)){break b}while(1){c=b-12|0;e=j[c>>2];if(e){j[b-8>>2]=e;T(e)}b=c;if((d|0)!=(b|0)){continue}break}c=j[a+4268>>2]}j[a+4272>>2]=d;T(c)}d=j[a+4248>>2];if(d){b=j[a+4252>>2];c=d;c:{if((d|0)==(b|0)){break c}while(1){if(h[b-5|0]<=-1){T(j[b-16>>2])}if(h[b-17|0]<=-1){T(j[b-28>>2])}b=b-40|0;if(h[b+11|0]<=-1){T(j[b>>2])}if((b|0)!=(d|0)){continue}break}c=j[a+4248>>2]}j[a+4252>>2]=d;T(c)}d=j[a+4232>>2];if(d){b=j[a+4236>>2];c=d;d:{if((d|0)==(b|0)){break d}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((d|0)!=(b|0)){continue}break}c=j[a+4232>>2]}j[a+4236>>2]=d;T(c)}d=j[a+4216>>2];if(d){b=j[a+4220>>2];c=d;e:{if((d|0)==(b|0)){break e}while(1){e=b-12|0;c=j[e>>2];if(c){g=b-8|0;b=j[g>>2];f=c;f:{if((c|0)==(b|0)){break f}while(1){f=b-12|0;if(h[b-1|0]<=-1){T(j[f>>2])}b=f;if((c|0)!=(b|0)){continue}break}f=j[e>>2]}j[g>>2]=c;T(f)}b=e;if((d|0)!=(b|0)){continue}break}c=j[a+4216>>2]}j[a+4220>>2]=d;T(c)}if(h[a+4139|0]<=-1){T(j[a+4128>>2])}if(h[a+4127|0]<=-1){T(j[a+4116>>2])}if(h[a+4115|0]<=-1){T(j[a+4104>>2])}return a}function Ch(a,b){var c=0,d=0,e=0,f=0,g=0,i=0;d=b;a:{b:{g=j[b>>2];if(g){c=j[b+4>>2];if(!c){break b}while(1){d=c;c=j[c>>2];if(c){continue}break}}g=j[d+4>>2];if(g){break b}g=0;e=1;break a}j[g+8>>2]=j[d+8>>2];e=0}f=j[d+8>>2];c=j[f>>2];c:{if((d|0)==(c|0)){j[f>>2]=g;if((a|0)==(d|0)){c=0;a=g;break c}c=j[f+4>>2];break c}j[f+4>>2]=g}d:{e:{f:{i=!k[d+12|0];if((b|0)!=(d|0)){f=j[b+8>>2];j[d+8>>2]=f;j[f+((j[j[b+8>>2]>>2]!=(b|0))<<2)>>2]=d;f=j[b>>2];j[d>>2]=f;j[f+8>>2]=d;f=j[b+4>>2];j[d+4>>2]=f;if(f){j[f+8>>2]=d}h[d+12|0]=k[b+12|0];a=(a|0)==(b|0)?d:a}if(!(i|!a)){if(e){while(1){b=k[c+12|0];g:{e=j[c+8>>2];if(j[e>>2]!=(c|0)){if(!b){h[c+12|0]=1;h[e+12|0]=0;d=j[e+4>>2];b=j[d>>2];j[e+4>>2]=b;if(b){j[b+8>>2]=e}j[d+8>>2]=j[e+8>>2];b=j[e+8>>2];j[(((e|0)!=j[b>>2])<<2)+b>>2]=d;j[d>>2]=e;j[e+8>>2]=d;b=j[c>>2];a=(b|0)==(a|0)?c:a;c=j[b+4>>2]}d=j[c>>2];if(!(k[d+12|0]?0:d)){b=j[c+4>>2];if(k[b+12|0]?0:b){break f}h[c+12|0]=0;c=j[c+8>>2];h:{if((c|0)==(a|0)){c=a;break h}if(k[c+12|0]){break g}}h[c+12|0]=1;return}b=j[c+4>>2];if(b){break f}break e}i:{if(b){b=c;break i}h[c+12|0]=1;h[e+12|0]=0;b=j[c+4>>2];j[e>>2]=b;if(b){j[b+8>>2]=e}j[c+8>>2]=j[e+8>>2];d=j[e+8>>2];j:{if((e|0)==j[d>>2]){j[d>>2]=c;b=j[e>>2];break j}j[d+4>>2]=c}j[c+4>>2]=e;j[e+8>>2]=c;a=(a|0)==(e|0)?c:a}d=j[b>>2];k:{if(!(!d|k[d+12|0])){c=b;break k}c=j[b+4>>2];if(!(k[c+12|0]?0:c)){h[b+12|0]=0;c=j[b+8>>2];if(k[c+12|0]?(c|0)!=(a|0):0){break g}h[c+12|0]=1;return}if(d){if(!k[d+12|0]){c=b;break k}c=j[b+4>>2]}h[c+12|0]=1;h[b+12|0]=0;a=j[c>>2];j[b+4>>2]=a;if(a){j[a+8>>2]=b}j[c+8>>2]=j[b+8>>2];a=j[b+8>>2];j[((j[a>>2]!=(b|0))<<2)+a>>2]=c;j[c>>2]=b;j[b+8>>2]=c;d=b}a=c;c=j[c+8>>2];h[a+12|0]=k[c+12|0];h[c+12|0]=1;h[d+12|0]=1;b=j[c>>2];a=j[b+4>>2];j[c>>2]=a;if(a){j[a+8>>2]=c}j[b+8>>2]=j[c+8>>2];a=j[c+8>>2];j[(((c|0)!=j[a>>2])<<2)+a>>2]=b;j[b+4>>2]=c;j[c+8>>2]=b;return}b=j[c+8>>2];c=j[((j[b>>2]==(c|0))<<2)+b>>2];continue}}h[g+12|0]=1}return}if(k[b+12|0]){break e}d=c;break d}h[d+12|0]=1;h[c+12|0]=0;a=j[d+4>>2];j[c>>2]=a;if(a){j[a+8>>2]=c}j[d+8>>2]=j[c+8>>2];a=j[c+8>>2];j[((j[a>>2]!=(c|0))<<2)+a>>2]=d;j[d+4>>2]=c;j[c+8>>2]=d;b=c}c=j[d+8>>2];h[d+12|0]=k[c+12|0];h[c+12|0]=1;h[b+12|0]=1;b=j[c+4>>2];a=j[b>>2];j[c+4>>2]=a;if(a){j[a+8>>2]=c}j[b+8>>2]=j[c+8>>2];a=j[c+8>>2];j[(((c|0)!=j[a>>2])<<2)+a>>2]=b;j[b>>2]=c;j[c+8>>2]=b}function mq(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;d=M-48|0;M=d;a:{if(j[a+8>>2]>=j[a+4>>2]){break a}l=k[b+11|0];if(!(l<<24>>24<0?j[b+4>>2]:l)){break a}l=k[c+11|0];if(!(l<<24>>24<0?j[c+4>>2]:l)){break a}m=ha(d+32|0,b);f=h[m+11|0];if(k[((f|0)<0?j[m>>2]:d+32|0)|0]==95){q=1;xb(m,0,1);f=k[m+11|0]}b:{c:{if(f<<24>>24<=-1){b=j[m+4>>2];if(!b){break b}f=b-1|0;if(k[f+j[m>>2]|0]==95){break c}break b}b=f&255;if(!b){break b}f=b-1|0;if(k[f+(d+32|0)|0]!=95){break b}}xb(m,f,-1);q=q|2}i[d+16>>1]=95;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;wb(m,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}d:{e:{b=j[a+8>>2];if((b|0)<1){break e}n=k[m+11|0];e=n<<24>>24;o=(e|0)<0?j[m>>2]:d+32|0;r=b-1|0;t=j[a>>2];f=0;l=-1;while(1){s=f+r>>>1|0;b=j[t+(s<<2)>>2];g=h[b+11|0];f:{if((g|0)<=-1){g=j[b+4>>2];b=j[b>>2];break f}g=g&255}b=Eb(o,b,g);g=(b|0)<0;l=g?l:b?l:s;r=g?s-1|0:r;f=g?f:s+1|0;if((r|0)>=(f|0)){continue}break}if((l|0)<0){break e}g=j[t+(l<<2)>>2];f=k[g+11|0];b=f<<24>>24;e=(e|0)<0?j[m+4>>2]:n;n=(b|0)<0?j[g+4>>2]:f;if((e|0)!=(n|0)){break e}e=j[g>>2];b=(b|0)<0;g:{if(!b){if(!n){break g}if(k[o|0]!=(e&255)){break e}b=g;while(1){f=f-1|0;if(!f){break g}e=k[o+1|0];o=o+1|0;b=b+1|0;if((e|0)==k[b|0]){continue}break}break e}if(!n){break g}if(qa(b?e:g,o,n)){break e}}b=p(q,12);ua((b+g|0)+12|0,c);a=j[j[a>>2]+(l<<2)>>2];i[d+16>>1]=95;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;wb((a+b|0)+12|0,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]>-1){break d}T(j[d+16>>2]);break d}e=U(60);j[e>>2]=0;j[e+4>>2]=0;j[e+56>>2]=0;j[e+48>>2]=0;j[e+52>>2]=0;j[e+40>>2]=0;j[e+44>>2]=0;j[e+32>>2]=0;j[e+36>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;ua(e,m);b=(e+p(q,12)|0)+12|0;ua(b,c);i[d+16>>1]=95;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;wb(b,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}l=j[a+8>>2];f=l+1|0;j[a+8>>2]=f;j[j[a>>2]+(l<<2)>>2]=e;h:{if((l|0)<1){break h}while(1){b=l;n=h[e+11|0]<=-1?j[e>>2]:e;c=f<<2;f=j[a>>2];g=j[(c+f|0)-8>>2];i:{if(h[g+11|0]<=-1){c=j[g>>2];break i}c=g}if((ba(n,c)|0)>-1){break h}j[f+(b<<2)>>2]=g;l=b-1|0;f=b;if((b|0)>1){continue}break}l=0}j[j[a>>2]+(l<<2)>>2]=e}if(h[m+11|0]<=-1){T(j[m>>2])}}M=d+48|0}function Gh(a,b,c,d){var e=0,f=0,g=0,i=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=M-32|0;M=g;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;f=Fh(d);a:{m=k[c+16|0];n=0;b:{if(!(m&1)){break b}e=(k[c|0]+c|0)+18|0;n=e;if(!(m&2)){break b}n=k[e|0]|k[e+1|0]<<8|(k[e+2|0]<<16|k[e+3|0]<<24)}c:{if((Fh(n)|0)>(f|0)){break c}e=k[c+16|0];d:{if(!(e&1)){break d}f=0;if(e&2){e=k[c|0]+c|0;if(!(k[e+18|0]|k[e+19|0]<<8|(k[e+20|0]<<16|k[e+21|0]<<24))){break d}e=k[c+16|0];f=!(e&1)}o=c+17|0;p=l[c+2>>1];q=j[c+4>>2];m=k[c|0];n=j[b+44>>2];e:{if(f){break e}i=(c+m|0)+18|0;if(!(e&2)){break e}i=k[i|0]|k[i+1|0]<<8|(k[i+2|0]<<16|k[i+3|0]<<24)}je(g+16|0,n,o,m,q,p,i,d,0);f=k[g+27|0];e=f<<24>>24;i=(e|0)<0;f=i?j[g+20>>2]:f;if(f){aa(a,i?j[g+16>>2]:g+16|0,f);Z(a,10);e=k[g+27|0]}if(e<<24>>24>-1){break d}T(j[g+16>>2])}e=k[c+16|0];if(!(e&1)){break c}f:{if(e&2){e=k[c|0]+c|0;if(!(k[e+18|0]|k[e+19|0]<<8|(k[e+20|0]<<16|k[e+21|0]<<24))){break c}e=k[c+16|0];f=121429;if(!(e&1)){break f}}i=(k[c|0]+c|0)+18|0;f=i;if(!(e&2)){break f}f=k[i|0]|k[i+1|0]<<8|(k[i+2|0]<<16|k[i+3|0]<<24)}e=ca(f,121401);if(!e){break c}p=c+17|0;while(1){o=e+3|0;i=$e(o);if(i>>>0>=4294967280){break a}g:{h:{if(i>>>0>=11){c=i+16&-16;e=U(c);j[g+24>>2]=c|-2147483648;j[g+16>>2]=e;j[g+20>>2]=i;break h}h[g+27|0]=i;e=g+16|0;if(!i){break g}}V(e,o,i)}h[e+i|0]=0;e=Xb(j[b+44>>2],h[g+27|0]<0?j[g+16>>2]:g+16|0);if(e){while(1){c=k[e+16|0];i:{if(!(c&1)){break i}j:{if(c&2){c=k[e|0]+e|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break i}c=k[e+16|0];n=121429;if(!(c&1)){break j}}f=(k[e|0]+e|0)+18|0;n=f;if(!(c&2)){break j}n=k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24)}c=ca(n,121397);if(!c){break i}c=c+3|0;if(Eb(c,p,$e(c))){break i}q=g;r=j[b+44>>2];s=e+17|0;f=k[e|0];n=f;t=j[e+4>>2];u=l[e+2>>1];c=k[e+16|0];m=0;k:{if(!(c&1)){break k}f=(e+f|0)+18|0;m=f;if(!(c&2)){break k}m=k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24)}je(q,r,s,n,t,u,m,d,0);m=k[g+11|0];c=m<<24>>24;f=(c|0)<0;m=f?j[g+4>>2]:m;if(m){aa(a,f?j[g>>2]:g,m);Z(a,10);c=k[g+11|0]}if(c<<24>>24>-1){break i}T(j[g>>2])}e=j[e+12>>2];if(e){continue}break}}e=ca(i+o|0,121401);if(h[g+27|0]<=-1){T(j[g+16>>2])}if(e){continue}break}}M=g+32|0;return}X();z()}function Vg(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,n=0,o=0;f=M-48|0;M=f;a:{if(c>>>0<=2){c=c<<2;i=j[c+123020>>2];o=j[c+123008>>2];while(1){c=j[b+4>>2];b:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break b}c=pa(b)}if((c|0)==32|c-9>>>0<5){continue}break}g=1;c:{d:{switch(c-43|0){case 0:case 2:break d;default:break c}}g=(c|0)==45?-1:1;c=j[b+4>>2];if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break c}c=pa(b)}e:{f:{while(1){if(h[e+122944|0]==(c|32)){g:{if(e>>>0>6){break g}c=j[b+4>>2];if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break g}c=pa(b)}e=e+1|0;if((e|0)!=8){continue}break f}break}if((e|0)!=3){if((e|0)==8){break f}if(!d|e>>>0<4){break e}if((e|0)==8){break f}}c=j[b+104>>2];if(c){j[b+4>>2]=j[b+4>>2]-1}if(!d|e>>>0<4){break f}while(1){if(c){j[b+4>>2]=j[b+4>>2]-1}e=e-1|0;if(e>>>0>3){continue}break}}$n(f,q(q(g|0)*q(B)));g=j[f+8>>2];i=j[f+12>>2];l=j[f>>2];n=j[f+4>>2];break a}h:{i:{j:{if(e){break j}e=0;while(1){if(h[e+122953|0]!=(c|32)){break j}k:{if(e>>>0>1){break k}c=j[b+4>>2];if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break k}c=pa(b)}e=e+1|0;if((e|0)!=3){continue}break}break i}l:{switch(e|0){case 0:m:{if((c|0)!=48){break m}e=j[b+4>>2];n:{if(e>>>0>2]){j[b+4>>2]=e+1;e=k[e|0];break n}e=pa(b)}if((e&-33)==88){Yn(f+16|0,b,o,i,g,d);g=j[f+24>>2];i=j[f+28>>2];l=j[f+16>>2];n=j[f+20>>2];break a}if(!j[b+104>>2]){break m}j[b+4>>2]=j[b+4>>2]-1}Xn(f+32|0,b,c,o,i,g,d);g=j[f+40>>2];i=j[f+44>>2];l=j[f+32>>2];n=j[f+36>>2];break a;case 3:break i;default:break l}}if(j[b+104>>2]){j[b+4>>2]=j[b+4>>2]-1}break h}o:{c=j[b+4>>2];p:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break p}c=pa(b)}if((c|0)==40){e=1;break o}g=0;i=2147450880;if(!j[b+104>>2]){break a}j[b+4>>2]=j[b+4>>2]-1;break a}while(1){q:{c=j[b+4>>2];r:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break r}c=pa(b)}if(!(c-48>>>0<10|c-65>>>0<26|(c|0)==95)){if(c-97>>>0>=26){break q}}e=e+1|0;continue}break}g=0;i=2147450880;if((c|0)==41){break a}c=j[b+104>>2];if(c){j[b+4>>2]=j[b+4>>2]-1}if(d){if(!e){break a}while(1){e=e-1|0;if(c){j[b+4>>2]=j[b+4>>2]-1}if(e){continue}break}break a}}j[37203]=28;Ib(b,0,0)}g=0;i=0}j[a>>2]=l;j[a+4>>2]=n;j[a+8>>2]=g;j[a+12>>2]=i;M=f+48|0}function Ph(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;e=M-80|0;M=e;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;a:{if(!j[b+16>>2]|j[d>>2]==j[d+4>>2]){break a}Fd(e+48|0,b,c);j[e+44>>2]=0;j[e+40>>2]=0;j[e+32>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;Sq(b,e+24|0,c,e+44|0,e+40|0);j[e+16>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;c=j[d>>2];b:{if((c|0)==j[d+4>>2]){break b}while(1){Eh(e- -64|0,j[b+16>>2],e+48|0,p(f,12)+c|0);g=k[e+75|0];c=g<<24>>24;i=j[e+68>>2];if((c|0)<0?i:g){l=k[e+19|0];if(l<<24>>24<0?j[e+12>>2]:l){$(e+8|0,121137);i=j[e+68>>2];g=k[e+75|0];c=g}c=c<<24>>24<0;aa(e+8|0,c?j[e+64>>2]:e- -64|0,c?i:g);c=k[e+75|0]}if(c<<24>>24<=-1){T(j[e+64>>2])}f=f+1|0;c=j[d>>2];if(f>>>0<(j[d+4>>2]-c|0)/12>>>0){continue}break}c=k[e+19|0];if(!(c<<24>>24<0?j[e+12>>2]:c)){break b}f=j[e+44>>2];c:{if((f|0)!=2){break c}if(j[b+44>>2]){j[e+72>>2]=0;j[e+64>>2]=0;j[e+68>>2]=0;ia(e- -64|0,e+8|0);Oc(e- -64|0,j[b+40>>2]);da(e+8|0,e- -64|0);c=j[e+64>>2];if(!c){break c}j[e+68>>2]=c;T(c);break c}Pc(e+8|0,j[b+36>>2])}Ab(e- -64|0,e+8|0,10);d=j[e+64>>2];j[a>>2]=d;g=j[e+68>>2];j[a+4>>2]=g;j[a+8>>2]=j[e+72>>2];d:{e:{switch(f-1|0){case 0:case 3:break e;default:break d}}c=g-d|0;if(!c){break d}c=(c|0)/12|0;i=c>>>0>1?c:1;c=0;while(1){f=p(c,12)+d|0;f:{if(j[b+44>>2]){j[e+72>>2]=0;j[e+64>>2]=0;j[e+68>>2]=0;ia(e- -64|0,f);vb(e- -64|0,j[b+40>>2]);da(f,e- -64|0);f=j[e+64>>2];if(!f){break f}j[e+68>>2]=f;T(f);break f}nb(f,j[b+36>>2])}c=c+1|0;if((i|0)!=(c|0)){continue}break}}if((d|0)==(g|0)){break b}while(1){f=d+12|0;g:{if(jb(b,d,0)){d=f;break g}c=d;h:{if((f|0)!=(g|0)){while(1){if(h[c+11|0]<=-1){T(j[c>>2])}i=j[f+4>>2];j[c>>2]=j[f>>2];j[c+4>>2]=i;j[c+8>>2]=j[f+8>>2];h[f+11|0]=0;h[f|0]=0;c=c+12|0;f=f+12|0;if((g|0)!=(f|0)){continue}break}g=j[a+4>>2];if((g|0)==(c|0)){break h}}while(1){f=g-12|0;if(h[g-1|0]<=-1){T(j[f>>2])}g=f;if((f|0)!=(c|0)){continue}break}}j[a+4>>2]=c;g=c}if((d|0)!=(g|0)){continue}break}}if(h[e+19|0]<=-1){T(j[e+8>>2])}if(h[e+35|0]<=-1){T(j[e+24>>2])}a=j[e+48>>2];if(!a){break a}b=a;f=j[e+52>>2];c=b;i:{if((b|0)==(f|0)){break i}while(1){b=f-12|0;if(h[f-1|0]<=-1){T(j[b>>2])}f=b;if((a|0)!=(f|0)){continue}break}c=j[e+48>>2]}b=c;j[e+52>>2]=a;T(b)}M=e+80|0}function gf(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=M-32|0;M=f;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;q=h[b+15|0];g=j[b+8>>2];a:{if((q|0)<=-1){break a}g=q&255}u=d-g|0;b:{if(!j[j[b+64>>2]+4484>>2]|u?(u|0)<=0:0){break b}q=k[b+28|0];d=h[b+27|0];g=j[b+20>>2];c:{if((d|0)<=-1){break c}g=d&255}if(q>>>0>g+u>>>0){break b}o=ha(f+16|0,b+16|0);g=o;q=b+4|0;d=h[q+11|0];s=j[b+8>>2];d:{if((d|0)<=-1){break d}s=d&255}$(g,s+c|0);e:{if(!Vc(b,h[o+11|0]<0?j[o>>2]:f+16|0)){break e}c=h[b+27|0];g=j[b+20>>2];f:{if((c|0)<=-1){break f}g=c&255}c=Xb(j[b+64>>2],h[o+11|0]<0?j[o>>2]:f+16|0);if(c){s=b+52|0;while(1){d=j[c+4>>2];m=i[c+2>>1];n=d+(m<<1)|0;if(m){p=l[b+30>>1];while(1){t=m>>>1|0;r=(t<<1)+d|0;e=p>>>0>l[r>>1];d=e?r+2|0:d;m=e?(t^-1)+m|0:t;if(m){continue}break}}g:{if((d|0)==(n|0)|l[b+30>>1]>1]){break g}d=j[b+56>>2];m=i[b+60>>1];p=d+(m<<1)|0;t=l[j[b+64>>2]+4198>>1];if(m){while(1){e=m>>>1|0;r=(e<<1)+d|0;n=t>>>0>l[r>>1];d=n?r+2|0:d;m=n?(e^-1)+m|0:e;if(m){continue}break}}if(t>>>0>=l[d>>1]?(d|0)!=(p|0):0){break g}h:{i:{if(j[s>>2]){Z(a,32);d=s;break i}d=q;if(h[d+11|0]>-1){break h}d=q}d=j[d>>2]}$(a,d);d=k[c+16|0];j:{k:{if(!(d&1)){break k}l:{if(d&2){d=k[c|0]+c|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break k}d=k[c+16|0];e=0;if(!(d&1)){break l}}p=(k[c|0]+c|0)+18|0;e=p;if(!(d&2)){break l}e=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}if(ca(e,1056)){break j}}Z(a,32);$(a,1056);$(a,c+17|0)}m:{n:{d=k[c+16|0];if(!(d&1)){break n}if(d&2){d=k[c|0]+c|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break n}}Z(a,32);d=a;r=k[c+16|0];e=1080;o:{if(!(r&1)){break o}n=(k[c|0]+c|0)+18|0;e=n;if(!(r&2)){break o}e=k[n|0]|k[n+1|0]<<8|(k[n+2|0]<<16|k[n+3|0]<<24)}$(d,e);break m}d=Jb(j[j[b+64>>2]+4100>>2],l[b+30>>1]);Z(a,32);$(a,1060);$(a,d);T(d)}Z(a,10)}c=j[c+12>>2];if(c){continue}break}}if(!(h[b+29|0]&1)){break e}Sc(f,j[b+64>>2],h[o+11|0]<0?j[o>>2]:f+16|0,u+g|0,1,b,0,0);c=k[f+11|0];b=c<<24>>24;d=(b|0)<0;c=d?j[f+4>>2]:c;if(c){aa(a,d?j[f>>2]:f,c);b=k[f+11|0]}if(b<<24>>24>-1){break e}T(j[f>>2])}if(h[o+11|0]>-1){break b}T(j[o>>2])}M=f+32|0}function gp(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0;d=M-48|0;M=d;a:{b:{c:{d:{if(k[a+4228|0]){break d}h[a+4228|0]=1;j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;f=ka(b,d+40|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){break d}o=a+4232|0;g=-1;while(1){e:{switch(l|0){case 1:n=j[d+40>>2];g=n-f|0;if(g>>>0>=4294967280){break b}f:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break f}q=g+16&-16;e=U(q);j[d+32>>2]=q|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(n|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((n|0)!=(f|0)){continue}break}}h[e|0]=0;g:{if(h[d+35|0]>=0){g=ta(d+24|0);break g}e=j[d+24>>2];g=ta(e);T(e)}if((g|0)<=-1){break d}if(!g){n=1;break c}_n(o,g);case 0:i=i+1|0;break;default:break e}}l=l+1|0;f=ka(b,d+40|0);e=k[b+11|0];n=e<<24>>24<0;if((f|0)!=((n?j[b>>2]:b)+(n?j[b+4>>2]:e)|0)){continue}break}if((i|0)!=2){break d}n=1;if((g|0)>=1){q=a+4232|0;o=0;while(1){j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;h:{if(!ub(c,d+24|0)){i=0;break h}bb(d+24|0);b=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;f=ka(d+24|0,d+40|0);l=j[d+24>>2];i=k[d+35|0];e=i<<24>>24<0;if((f|0)==((e?l:d+24|0)+(e?j[d+28>>2]:i)|0)){i=1;break h}while(1){i:{j:{switch(b|0){case 0:if(!_(d+24|0,f-(e&1?l:d+24|0)|0,5,1572,5)){break i}i=0;g=0;break h;case 1:break j;default:break i}}l=j[d+40>>2];i=l-f|0;if(i>>>0>=4294967280){break a}k:{if(i>>>0<=10){h[d+19|0]=i;e=d+8|0;break k}p=i+16&-16;e=U(p);j[d+16>>2]=p|-2147483648;j[d+8>>2]=e;j[d+12>>2]=i}if((f|0)!=(l|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[e|0]=0;e=j[a+4236>>2];if(e>>>0>2]){f=j[d+12>>2];j[e>>2]=j[d+8>>2];j[e+4>>2]=f;j[e+8>>2]=j[d+16>>2];j[a+4236>>2]=e+12;break i}Db(q,d+8|0);if(h[d+19|0]>-1){break i}T(j[d+8>>2])}i=1;b=b+1|0;f=ka(d+24|0,d+40|0);l=j[d+24>>2];p=k[d+35|0];e=p<<24>>24<0;if((f|0)!=((e?l:d+24|0)+(e?j[d+28>>2]:p)|0)){continue}break}}if(h[d+35|0]<=-1){T(j[d+24>>2])}if(!i){break d}o=o+1|0;if((o|0)<(g|0)){continue}break}}if(((j[a+4236>>2]-j[a+4232>>2]|0)/12|0)==(g|0)){break c}}n=0}M=d+48|0;return n}X();z()}X();z()}function Hf(a,b,c,d,e,f,g){var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=M+ -64|0;M=m;j[m+56>>2]=0;j[m+48>>2]=0;j[m+52>>2]=0;j[m+40>>2]=0;j[m+32>>2]=0;j[m+36>>2]=0;j[m+24>>2]=0;j[m+16>>2]=0;j[m+20>>2]=0;n=j[b+1024>>2];if(n){while(1){a:{if(!k[(l[n+30>>1]+b|0)+4492|0]){break a}Wh(m,n,c,d,e,f,g);q=k[m+11|0];o=q<<24>>24;if((o|0)<0?j[m+4>>2]:q){b:{if(!f){break b}o=j[f+52>>2];if(o){$(m+48|0,o);Z(m+48|0,32);break b}o=Jb(j[b+4100>>2],l[f+30>>1]);Z(m+48|0,32);$(m+48|0,1738);if(!o){break b}$(m+48|0,o);T(o)}o=k[m+11|0];q=o<<24>>24<0;aa(m+48|0,q?j[m>>2]:m,q?j[m+4>>2]:o);c:{if(j[n+52>>2]){Z(m+48|0,32);$(m+48|0,j[n+52>>2]);break c}o=Jb(j[b+4100>>2],l[n+30>>1]);Z(m+48|0,32);$(m+48|0,1738);if(!o){break c}$(m+48|0,o);T(o)}Z(m+48|0,10);o=k[m+11|0]}if(o<<24>>24>-1){break a}T(j[m>>2])}n=j[n+80>>2];if(n){continue}break}}if(d){t=(c+d|0)-1|0;p=j[((k[t|0]<<2)+b|0)+1024>>2];if(p){u=(d|0)<1;while(1){o=p+68|0;if(h[p+79|0]<=-1){n=j[o>>2]}else{n=o}d:{e:{f:{g:{if(u){break g}v=d+n|0;q=d;s=t;while(1){r=k[n|0];if(!r){break f}if((r|0)!=k[s|0]?(r|0)!=46:0){break g}s=s-1|0;n=n+1|0;r=(q|0)>1;q=q-1|0;if(r){continue}break}n=v}if(k[n|0]){break e}}h:{if(!k[(l[p+30>>1]+b|0)+4492|0]){break h}Wh(m,p,c,d,e,f,g);q=k[m+11|0];n=q<<24>>24;if((n|0)<0?j[m+4>>2]:q){i[b+4364>>1]=l[p+30>>1];if(!j[p+56>>2]){n=b;if(h[o+11|0]<=-1){o=j[o>>2]}j[n+4356>>2]=o}ua(m+32|0,m);i:{if(h[m+27|0]<=-1){h[j[m+16>>2]]=0;j[m+20>>2]=0;break i}h[m+27|0]=0;h[m+16|0]=0}j:{if(j[p+52>>2]){Z(m+16|0,32);$(m+16|0,j[p+52>>2]);break j}n=Jb(j[b+4100>>2],l[p+30>>1]);Z(m+16|0,32);$(m+16|0,1738);if(!n){break j}$(m+16|0,n);T(n)}mi(m+32|0,m+16|0);Z(m+32|0,10);n=k[m+43|0];o=n<<24>>24<0;aa(m+48|0,o?j[m+32>>2]:m+32|0,o?j[m+36>>2]:n);n=k[m+11|0]}if(n<<24>>24>-1){break h}T(j[m>>2])}n=p+84|0;break d}n=p+88|0}p=j[n>>2];if(p){continue}break}}b=j[m+52>>2];j[a>>2]=j[m+48>>2];j[a+4>>2]=b;j[a+8>>2]=j[m+56>>2];a=m+48|0}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;if(h[m+27|0]<=-1){T(j[m+16>>2])}if(h[m+43|0]<=-1){T(j[m+32>>2])}if(h[m+59|0]<=-1){T(j[m+48>>2])}M=m- -64|0}function Ze(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=M-128|0;M=k;a:{b:{c:{if(!qc(f,g,h,i,0,0,0,0)){break c}m=ei(f,g,h,i);s=e>>>16|0;o=s&32767;if((o|0)==32767){break c}if(m){break b}}xa(k+16|0,b,c,d,e,f,g,h,i);e=j[k+16>>2];d=j[k+20>>2];c=j[k+24>>2];b=j[k+28>>2];Wg(k,e,d,c,b,e,d,c,b);d=j[k+8>>2];e=j[k+12>>2];h=j[k>>2];i=j[k+4>>2];break a}m=o<<16;p=d;r=m|e&65535;n=r;q=h;r=i>>>16&32767;l=i&65535|r<<16;if((qc(b,c,p,n,f,g,h,l)|0)<=0){if(qc(b,c,p,n,f,g,q,l)){h=b;i=c;break a}xa(k+112|0,b,c,d,e,0,0,0,0);d=j[k+120>>2];e=j[k+124>>2];h=j[k+112>>2];i=j[k+116>>2];break a}if(o){i=c;h=b}else{xa(k+96|0,b,c,p,n,0,0,0,1081540608);h=j[k+108>>2];n=h;p=j[k+104>>2];o=(h>>>16|0)-120|0;i=j[k+100>>2];h=j[k+96>>2]}if(!r){xa(k+80|0,f,g,q,l,0,0,0,1081540608);f=j[k+92>>2];l=f;q=j[k+88>>2];r=(l>>>16|0)-120|0;g=j[k+84>>2];f=j[k+80>>2]}t=l&65535|65536;n=n&65535|65536;if((o|0)>(r|0)){while(1){l=p;m=q;u=l-m|0;m=n-((l>>>0>>0)+t|0)|0;l=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;m=m-(l>>>0>u>>>0)|0;l=u-l|0;d:{if((m|0)>0?1:(m|0)>=0){n=h;h=h-f|0;i=i-((f>>>0>n>>>0)+g|0)|0;if(!(h|l|(i|m))){xa(k+32|0,b,c,d,e,0,0,0,0);d=j[k+40>>2];e=j[k+44>>2];h=j[k+32>>2];i=j[k+36>>2];break a}m=m<<1|l>>>31;p=l<<1|i>>>31;break d}m=n<<1|p>>>31;p=p<<1|i>>>31}n=m;m=i<<1|h>>>31;h=h<<1;i=m;o=o-1|0;if((r|0)<(o|0)){continue}break}o=r}m=p;r=m-q|0;l=n-((m>>>0>>0)+t|0)|0;m=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;l=l-(m>>>0>r>>>0)|0;q=r-m|0;e:{if((l|0)<0){q=p;l=n;break e}p=h;h=h-f|0;i=i-((f>>>0>p>>>0)+g|0)|0;if(h|q|(i|l)){break e}xa(k+48|0,b,c,d,e,0,0,0,0);d=j[k+56>>2];e=j[k+60>>2];h=j[k+48>>2];i=j[k+52>>2];break a}if((l|0)==65535|l>>>0<65535){while(1){b=i>>>31|0;o=o-1|0;n=i<<1|h>>>31;h=h<<1;i=n;c=b;b=q;l=l<<1|b>>>31;q=c|b<<1;if(l>>>0<65536){continue}break}}b=s&32768;if((o|0)<=0){xa(k- -64|0,h,i,q,l&65535|(b|o+120)<<16,0,0,0,1065811968);d=j[k+72>>2];e=j[k+76>>2];h=j[k+64>>2];i=j[k+68>>2];break a}d=q;e=l&65535|(b|o)<<16}j[a>>2]=h;j[a+4>>2]=i;j[a+8>>2]=d;j[a+12>>2]=e;M=k+128|0}function Hh(a,b,c,d,e,f){var g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;l=M-48|0;M=l;j[l+40>>2]=0;j[l+32>>2]=0;j[l+36>>2]=0;j[l+24>>2]=0;j[l+16>>2]=0;j[l+20>>2]=0;a:{b:{c:{d:{if(j[a+56>>2]){m=W(b);if(m>>>0>=4294967280){break c}e:{f:{if(m>>>0>=11){g=m+16&-16;i=U(g);j[l+8>>2]=g|-2147483648;j[l>>2]=i;j[l+4>>2]=m;g=l;break f}h[l+11|0]=m;g=l;i=l;if(!m){break e}}V(i,b,m)}h[i+m|0]=0;q=ia(l+32|0,l);if(h[g+11|0]<=-1){T(j[l>>2])}m=W(c);if(m>>>0>=4294967280){break c}g:{h:{if(m>>>0>=11){g=m+16&-16;i=U(g);j[l+8>>2]=g|-2147483648;j[l>>2]=i;j[l+4>>2]=m;g=l;break h}h[l+11|0]=m;i=l;if(!m){break g}}V(i,c,m)}h[i+m|0]=0;t=ia(l+16|0,l);if(h[g+11|0]>-1){break d}T(j[l>>2]);break d}q=W(b);t=W(c)}r=t+1|0;g=p(r,q+1|0);o=ja(g);u=ja(g);if(!o|!u){break b}i=1;i:{if((q|0)<1){break i}g=q&3;if(q-1>>>0>=3){m=q&-4;while(1){h[p(i,r)+o|0]=0;h[p(i+1|0,r)+o|0]=0;h[p(i+2|0,r)+o|0]=0;h[p(i+3|0,r)+o|0]=0;i=i+4|0;m=m-4|0;if(m){continue}break}}if(!g){break i}while(1){h[p(i,r)+o|0]=0;i=i+1|0;g=g-1|0;if(g){continue}break}}if((t|0)>=0){ya(o,0,r)}if((q|0)>=1){A=j[l+16>>2];B=j[l+32>>2];i=1;while(1){m=i;j:{if((t|0)<1){break j}x=p(m,r);i=m-1|0;y=p(i,r);if(j[a+56>>2]){g=1;v=(i<<1)+B|0;while(1){s=k[v|0]|k[v+1|0]<<8;i=g;n=i-1|0;g=(n<<1)+A|0;g=k[g|0]|k[g+1|0]<<8;k:{if(!((s&255)!=(g&255)|(s>>>8|0)!=(g>>>8|0))){g=i+x|0;h[o+g|0]=k[(n+y|0)+o|0]+1;n=2;break k}s=h[(i+y|0)+o|0];g=i+x|0;w=o+g|0;n=h[w-1|0];if((s|0)>=(n|0)){h[w|0]=s;n=0;break k}h[w|0]=n;n=1}h[g+u|0]=n;g=i+1|0;if((i|0)!=(t|0)){continue}break}break j}w=k[b+i|0];g=1;while(1){i=g;n=i-1|0;l:{if((w|0)!=k[n+c|0]){s=h[(i+y|0)+o|0];g=i+x|0;v=o+g|0;n=h[v-1|0];if((s|0)>=(n|0)){h[v|0]=s;n=0;break l}h[v|0]=n;n=1;break l}g=i+x|0;h[o+g|0]=k[(n+y|0)+o|0]+1;n=2}h[g+u|0]=n;g=i+1|0;if((i|0)!=(t|0)){continue}break}}i=m+1|0;if((m|0)!=(q|0)){continue}break}}j[f>>2]=u;T(o);j[d>>2]=q;j[e>>2]=t;break a}X();z()}if(o){T(o)}if(u){T(u)}j[f>>2]=0}a=j[l+16>>2];if(a){j[l+20>>2]=a;T(a)}a=j[l+32>>2];if(a){j[l+36>>2]=a;T(a)}M=l+48|0}function Mg(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;f=j[b>>2];a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{if(!d){break l}g=j[d>>2];if(!g){break l}if(!a){d=c;break j}j[d>>2]=0;d=c;break k}m:{if(!j[j[37179]>>2]){if(!a){break m}if(!c){break a}g=c;while(1){d=h[f|0];if(d){j[a>>2]=d&57343;a=a+4|0;f=f+1|0;g=g-1|0;if(g){continue}break a}break}j[a>>2]=0;j[b>>2]=0;return c-g|0}d=c;if(!a){break i}break g}return W(f)}e=1;break g}e=0;break h}e=1}while(1){if(!e){e=k[f|0]>>>3|0;if((e-16|e+(g>>26))>>>0>7){break f}i=f+1|0;e=i;n:{if(!(g&33554432)){break n}if((k[i|0]&192)!=128){break f}i=f+2|0;e=i;if(!(g&524288)){break n}if((k[i|0]&192)!=128){break f}e=f+3|0}f=e;d=d-1|0;e=1;continue}while(1){g=k[f|0];o:{if(f&3|g-1>>>0>126){break o}g=j[f>>2];if((g|g-16843009)&-2139062144){break o}while(1){d=d-4|0;g=j[f+4>>2];e=f+4|0;f=e;if(!((g-16843009|g)&-2139062144)){continue}break}f=e}e=g&255;if(e-1>>>0<=126){d=d-1|0;f=f+1|0;continue}break}e=e-194|0;if(e>>>0>50){break e}f=f+1|0;g=j[(e<<2)+123312>>2];e=0;continue}}while(1){if(!e){if(!d){break a}while(1){p:{e=k[f|0];i=e-1|0;q:{r:{if(i>>>0>126){g=e;break r}if(f&3|d>>>0<5){break q}s:{while(1){g=j[f>>2];if((g|g-16843009)&-2139062144){break s}j[a>>2]=g&255;j[a+4>>2]=k[f+1|0];j[a+8>>2]=k[f+2|0];j[a+12>>2]=k[f+3|0];a=a+16|0;f=f+4|0;d=d-4|0;if(d>>>0>4){continue}break}g=k[f|0]}e=g&255;i=e-1|0}if(i>>>0>126){break p}}j[a>>2]=e;a=a+4|0;f=f+1|0;d=d-1|0;if(d){continue}break a}break}e=e-194|0;if(e>>>0>50){break e}f=f+1|0;g=j[(e<<2)+123312>>2];e=1;continue}i=k[f|0];e=i>>>3|0;if((e-16|e+(g>>26))>>>0>7){break f}t:{u:{l=f+1|0;e=i-128|g<<6;i=l;v:{if((e|0)>-1){break v}i=k[l|0]-128|0;if(i>>>0>63){break u}l=f+2|0;e=i|e<<6;i=l;if((e|0)>-1){break v}i=k[l|0]-128|0;if(i>>>0>63){break u}e=i|e<<6;i=f+3|0}f=i;j[a>>2]=e;d=d-1|0;a=a+4|0;break t}j[37203]=25;f=f-1|0;break c}e=0;continue}}f=f-1|0;if(g){break d}g=k[f|0]}if(g&255){break d}if(a){j[a>>2]=0;j[b>>2]=0}return c-d|0}j[37203]=25;if(!a){break b}}j[b>>2]=f}return-1}j[b>>2]=f;return c}function jd(a,b,c,d,e){var f=0,g=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=M-16|0;M=r;q=h[a+15|0];n=j[a+8>>2];a:{if((q|0)<=-1){break a}n=q&255}s=c-n|0;b:{if(!(!j[j[a+64>>2]+4484>>2]|s?(s|0)<=0:0)){n=ha(r,a+16|0);q=n;c=h[a+15|0];f=j[a+8>>2];c:{if((c|0)<=-1){break c}f=c&255}$(q,f+b|0);d:{e:{if(!Vc(a,h[n+11|0]<0?j[n>>2]:r)){break e}b=h[a+27|0];q=j[a+20>>2];f:{if((b|0)<=-1){break f}q=b&255}g=Xb(j[a+64>>2],h[n+11|0]<0?j[n>>2]:r);g:{if(!g){break g}if(!e){while(1){c=j[g+4>>2];b=i[g+2>>1];m=c+(b<<1)|0;if(b){p=l[a+30>>1];while(1){o=b>>>1|0;k=(o<<1)+c|0;f=p>>>0>l[k>>1];c=f?k+2|0:c;b=f?(o^-1)+b|0:o;if(b){continue}break}}if(!((c|0)==(m|0)|l[a+30>>1]>1])){c=j[a+56>>2];b=i[a+60>>1];p=c+(b<<1)|0;o=l[j[a+64>>2]+4198>>1];if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=o>>>0>l[k>>1];c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}b=0;if((c|0)==(p|0)|o>>>0>1]){break d}}g=j[g+12>>2];if(g){continue}break g}}while(1){c=j[g+4>>2];b=i[g+2>>1];m=c+(b<<1)|0;if(b){p=l[a+30>>1];while(1){o=b>>>1|0;k=(o<<1)+c|0;f=p>>>0>l[k>>1];c=f?k+2|0:c;b=f?(o^-1)+b|0:o;if(b){continue}break}}h:{if((c|0)==(m|0)|l[a+30>>1]>1]){break h}c=j[a+56>>2];b=i[a+60>>1];p=c+(b<<1)|0;o=l[j[a+64>>2]+4198>>1];if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=o>>>0>l[k>>1];c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}if(o>>>0>=l[c>>1]?(c|0)!=(p|0):0){break h}c=j[g+4>>2];b=i[g+2>>1];p=c+(b<<1)|0;if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=l[k>>1]>>0;c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}b=0;if(!((c|0)==(p|0)|l[c>>1]>e>>>0)){break d}c=j[a+56>>2];if(!c){break h}b=i[a+60>>1];p=(b<<1)+c|0;if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=l[k>>1]>>0;c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}if((c|0)==(p|0)|l[c>>1]>e>>>0){break h}b=0;break d}g=j[g+12>>2];if(g){continue}break}}if(!(h[a+29|0]&1)){break e}g=Qa(j[a+64>>2],h[n+11|0]<0?j[n>>2]:r,q+s|0,1,a,0,e,d);b=0;if(g){break d}}b=1}if(h[n+11|0]<=-1){T(j[n>>2])}if(!b){break b}}g=0}M=r+16|0;return g}function Ah(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0;f=M-32|0;M=f;a:{b:{c:{d:{b=j[a+16>>2];if(b>>>0>=341){j[a+16>>2]=b-341;b=j[a+4>>2];k=j[b>>2];c=b+4|0;j[a+4>>2]=c;e=j[a+8>>2];e:{if((e|0)!=j[a+12>>2]){break e}h=j[a>>2];if(h>>>0>>0){b=((c-h>>2)+1|0)/-2<<2;g=b+c|0;d=e-c|0;if(d){Ja(g,c,d);c=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break e}b=e-h|0;d=b?b>>1:1;if(d>>>0>=1073741824){break d}b=d<<2;i=U(b);g=b+i|0;b=e-c|0;d=i+(d&-4)|0;e=d;if(b){e=b+d|0;b=d;while(1){j[b>>2]=j[c>>2];c=c+4|0;b=b+4|0;if((e|0)!=(b|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=i;if(!h){break e}T(h);e=j[a+8>>2]}j[e>>2]=k;j[a+8>>2]=j[a+8>>2]+4;break a}b=j[a+8>>2];c=b-j[a+4>>2]>>2;d=j[a+12>>2];g=d-j[a>>2]|0;if(c>>>0>2>>>0){if((b|0)!=(d|0)){l=f,m=U(4092),j[l+8>>2]=m;Ad(a,f+8|0);break a}l=f,m=U(4092),j[l+8>>2]=m;zd(a,f+8|0);b=j[a+4>>2];k=j[b>>2];c=b+4|0;j[a+4>>2]=c;e=j[a+8>>2];f:{if((e|0)!=j[a+12>>2]){break f}h=j[a>>2];if(h>>>0>>0){b=((c-h>>2)+1|0)/-2<<2;g=b+c|0;d=e-c|0;if(d){Ja(g,c,d);c=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break f}b=e-h|0;d=b?b>>1:1;if(d>>>0>=1073741824){break d}b=d<<2;i=U(b);g=b+i|0;b=e-c|0;d=i+(d&-4)|0;e=d;if(b){e=b+d|0;b=d;while(1){j[b>>2]=j[c>>2];c=c+4|0;b=b+4|0;if((e|0)!=(b|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=i;if(!h){break f}T(h);e=j[a+8>>2]}j[e>>2]=k;j[a+8>>2]=j[a+8>>2]+4;break a}j[f+24>>2]=a+12;b=g?g>>1:1;if(b>>>0>=1073741824){break d}d=b<<2;g=U(d);j[f+8>>2]=g;b=g+(c<<2)|0;j[f+16>>2]=b;j[f+20>>2]=d+g;j[f+12>>2]=b;l=f,m=U(4092),j[l+4>>2]=m;Ad(f+8|0,f+4|0);c=j[a+8>>2];if((c|0)==j[a+4>>2]){b=c;break b}while(1){c=c-4|0;zd(f+8|0,c);if(j[a+4>>2]!=(c|0)){continue}break}break c}D();z()}b=j[a+8>>2]}g=j[a>>2];j[a>>2]=j[f+8>>2];j[f+8>>2]=g;j[a+4>>2]=j[f+12>>2];j[f+12>>2]=c;j[a+8>>2]=j[f+16>>2];j[f+16>>2]=b;d=j[a+12>>2];j[a+12>>2]=j[f+20>>2];j[f+20>>2]=d;if((b|0)!=(c|0)){j[f+16>>2]=b+(((b-c|0)-4>>>2^-1)<<2)}if(!g){break a}T(g)}M=f+32|0}function Ro(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;n=1;while(1){p=((n<<2)+a|0)+1024|0;f=j[p>>2];a:{if(!f){break a}while(1){l=0;i=f;f=j[f+80>>2];b:{if(!f){break b}g=i+68|0;if(h[i+79|0]>=0){m=k[g|0];d=f;while(1){c=d+68|0;c=h[d+79|0]<=-1?j[c>>2]:c;b=m;c:{if(!b){break c}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break c}while(1){b=k[e+1|0];if(!b){break c}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+80>>2];if(d){continue}break}break b}g=j[g>>2];m=k[g|0];d=f;while(1){c=d+68|0;c=h[d+79|0]<0?j[c>>2]:c;b=m;d:{if(!b){break d}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break d}while(1){b=k[e+1|0];if(!b){break d}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+80>>2];if(d){continue}break}}j[i+84>>2]=0;j[i+88>>2]=l;if(f){c=i+68|0;e=f+68|0;c=h[i+79|0]<=-1?j[c>>2]:c;b=k[c|0];e=h[f+79|0]<=-1?j[e>>2]:e;e:{if(!b|(b|0)!=46&k[e|0]!=(b|0)){break e}while(1){b=k[c+1|0];if(!b){break e}d=k[e+1|0];e=e+1|0;c=c+1|0;if(!((b|0)!=46&(b|0)!=(d|0))){continue}break}}if(b){continue}j[i+84>>2]=f;continue}break}b=j[p>>2];if(!b){break a}while(1){l=j[b+80>>2];if(!l){break a}g=b+68|0;f:{g:{h:{if(h[b+79|0]>=0){m=k[g|0];f=0;b=l;while(1){d=b;c=b+68|0;c=h[b+79|0]<=-1?j[c>>2]:c;b=m;i:{if(!b){break i}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break i}while(1){b=k[e+1|0];if(!b){break i}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+80>>2];if(b){continue}break}break g}g=j[g>>2];m=k[g|0];f=0;b=l;while(1){d=b;c=b+68|0;c=h[b+79|0]<0?j[c>>2]:c;b=m;j:{if(!b){break j}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break j}while(1){b=k[e+1|0];if(!b){break j}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+80>>2];if(b){continue}break}break g}d=f;if(!d){break f}}j[d+88>>2]=0}b=l;if(b){continue}break}}n=n+1|0;if((n|0)!=256){continue}break}}function Ne(a,b,c){var d=0,e=0,f=0,g=0,i=0,k=0,l=0;g=M-32|0;M=g;i=j[a>>2];l=(b-i|0)/12|0;a:{b:{e=j[a+4>>2];d=j[a+8>>2];c:{if(e>>>0>>0){if((b|0)==(e|0)){e=j[c+4>>2];j[b>>2]=j[c>>2];j[b+4>>2]=e;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[a+4>>2]=b+12;break c}i=e;k=(e-b|0)-12|0;d=p((k|0)/12|0,12)+b|0;if(e>>>0>d>>>0){f=d;while(1){l=j[f+4>>2];j[i>>2]=j[f>>2];j[i+4>>2]=l;j[i+8>>2]=j[f+8>>2];j[f>>2]=0;j[f+4>>2]=0;j[f+8>>2]=0;i=i+12|0;f=f+12|0;if(f>>>0>>0){continue}break}}j[a+4>>2]=i;if(k){while(1){a=e-12|0;d=d-12|0;if(h[e-1|0]<=-1){T(j[a>>2])}e=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=e;j[a+8>>2]=j[d+8>>2];h[d+11|0]=0;h[d|0]=0;e=a;if((b|0)!=(d|0)){continue}break}}if(h[b+11|0]<=-1){T(j[b>>2])}a=j[c+4>>2];j[b>>2]=j[c>>2];j[b+4>>2]=a;j[b+8>>2]=j[c+8>>2];h[c+11|0]=0;h[c|0]=0;break c}k=((e-i|0)/12|0)+1|0;if(k>>>0>=357913942){break b}j[g+24>>2]=a+8;f=g;i=(d-i|0)/12|0;d=i<<1;d=i>>>0<178956970?d>>>0>>0?k:d:357913941;e=0;d:{if(!d){break d}if(d>>>0>=357913942){break a}e=U(p(d,12))}j[f+8>>2]=e;f=e+p(l,12)|0;j[g+16>>2]=f;j[g+20>>2]=e+p(d,12);j[g+12>>2]=f;Jq(g+8|0,c);c=j[g+12>>2];f=c;e=j[a>>2];if((e|0)!=(b|0)){f=c;d=b;while(1){d=d-12|0;c=j[d+4>>2];f=f-12|0;j[f>>2]=j[d>>2];j[f+4>>2]=c;j[f+8>>2]=j[d+8>>2];j[d>>2]=0;j[d+4>>2]=0;j[d+8>>2]=0;f=j[g+12>>2]-12|0;j[g+12>>2]=f;if((d|0)!=(e|0)){continue}break}}e=j[a+4>>2];e:{if((e|0)==(b|0)){d=j[g+16>>2];break e}d=j[g+16>>2];while(1){c=j[b+4>>2];j[d>>2]=j[b>>2];j[d+4>>2]=c;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;d=j[g+16>>2]+12|0;j[g+16>>2]=d;b=b+12|0;if((e|0)!=(b|0)){continue}break}b=j[a+4>>2];f=j[g+12>>2]}e=j[a>>2];j[a>>2]=f;j[g+12>>2]=e;j[a+4>>2]=d;j[g+16>>2]=b;c=j[a+8>>2];j[a+8>>2]=j[g+20>>2];j[g+8>>2]=e;j[g+20>>2]=c;if((b|0)!=(e|0)){while(1){b=b-12|0;j[g+16>>2]=b;if(h[b+11|0]<=-1){T(j[b>>2]);b=j[g+16>>2]}if((b|0)!=(e|0)){continue}break}b=j[g+8>>2]}if(b){T(b)}}M=g+32|0;return}X();z()}D();z()}function Fb(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;l=M-16|0;M=l;a:{if(!j[a+4312>>2]){break a}b:{if(!j[a+4144>>2]){c=k[b+11|0];e=c<<24>>24;c=(e|0)<0?j[b+4>>2]:c;if(!c){break a}d=j[b>>2];i=h[a+4327|0];if((i|0)<0){break b}r=(e|0)<0?d:b;o=c>>>0>1?c:1;c=a+4316|0;e=i&255;q=c+e|0;d=0;while(1){i=d+r|0;c:{if(!e){a=c;break c}s=h[i|0];a=c;b=e;while(1){g=b>>>1|0;m=g+a|0;n=(s|0)>h[m|0];a=n?m+1|0:a;b=n?(g^-1)+b|0:g;if(b){continue}break}}f=(a|0)!=(q|0)?(h[i|0]>=h[a|0])+f|0:f;d=d+1|0;if((o|0)!=(d|0)){continue}break}break a}if(j[a+4328>>2]==j[a+4332>>2]){break a}j[l+8>>2]=0;j[l>>2]=0;j[l+4>>2]=0;ia(l,b);c=j[l>>2];b=j[l+4>>2];d:{if((c|0)==(b|0)){c=b;break d}e=b-c|0;d=(e|0)>-1?e:-1;b=c-b|0;d=p((d|0)<1?d:1,((b|0)>(e|0)?b:e)>>>1|0);i=d>>>0>1?d:1;g=j[a+4332>>2];e=j[a+4328>>2];a=g-e|0;if(a){d=a>>1;while(1){a=(n<<1)+c|0;r=k[a|0]|k[a+1|0]<<8;a=e;b=d;while(1){o=b>>>1|0;q=(o<<1)+a|0;s=r>>>0>(k[q|0]|k[q+1|0]<<8)>>>0;a=s?q+2|0:a;b=s?(o^-1)+b|0:o;if(b){continue}break}f=(a|0)!=(g|0)?(r>>>0>=(k[a|0]|k[a+1|0]<<8)>>>0)+f|0:f;n=n+1|0;if((i|0)!=(n|0)){continue}break}break d}b=(e|0)==(g|0);f=0;e:{if(b){break e}f=(k[c|0]|k[c+1|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0}if(d>>>0<2){break d}a=1;d=i-1|0;g=d&1;if((i|0)!=2){d=d&-2;while(1){if(!b){m=f;f=(a<<1)+c|0;f=m+((k[f|0]|k[f+1|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0)|0}if(!b){m=f;f=(a<<1)+c|0;f=m+((k[f+2|0]|k[f+3|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0)|0}a=a+2|0;d=d-2|0;if(d){continue}break}}if(b|!g){break d}a=(a<<1)+c|0;f=((k[a|0]|k[a+1|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0)+f|0}if(!c){break a}j[l+4>>2]=c;T(c);break a}r=(e|0)<0?d:b;o=c>>>0>1?c:1;e=j[a+4316>>2];c=j[a+4320>>2];q=e+c|0;d=0;while(1){i=d+r|0;a=e;if(c){s=h[i|0];b=c;while(1){g=b>>>1|0;m=g+a|0;n=(s|0)>h[m|0];a=n?m+1|0:a;b=n?(g^-1)+b|0:g;if(b){continue}break}}f=(a|0)!=(q|0)?(h[i|0]>=h[a|0])+f|0:f;d=d+1|0;if((o|0)!=(d|0)){continue}break}}M=l+16|0;return f<<16>>16}function Uo(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;n=1;while(1){p=(n<<2)+a|0;f=j[p>>2];a:{if(!f){break a}while(1){l=0;i=f;f=j[f+68>>2];b:{if(!f){break b}g=i+4|0;if(h[i+15|0]>=0){m=k[g|0];d=f;while(1){c=d+4|0;c=h[d+15|0]<=-1?j[c>>2]:c;b=m;c:{if(!b){break c}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break c}while(1){b=k[e+1|0];if(!b){break c}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+68>>2];if(d){continue}break}break b}g=j[g>>2];m=k[g|0];d=f;while(1){c=d+4|0;c=h[d+15|0]<0?j[c>>2]:c;b=m;d:{if(!b){break d}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break d}while(1){b=k[e+1|0];if(!b){break d}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+68>>2];if(d){continue}break}}j[i+72>>2]=0;j[i+76>>2]=l;if(f){c=i+4|0;e=f+4|0;c=h[i+15|0]<=-1?j[c>>2]:c;b=k[c|0];e=h[f+15|0]<=-1?j[e>>2]:e;e:{if(!b|(b|0)!=46&k[e|0]!=(b|0)){break e}while(1){b=k[c+1|0];if(!b){break e}d=k[e+1|0];e=e+1|0;c=c+1|0;if(!((b|0)!=46&(b|0)!=(d|0))){continue}break}}if(b){continue}j[i+72>>2]=f;continue}break}b=j[p>>2];if(!b){break a}while(1){l=j[b+68>>2];if(!l){break a}g=b+4|0;f:{g:{h:{if(h[b+15|0]>=0){m=k[g|0];f=0;b=l;while(1){d=b;c=b+4|0;c=h[b+15|0]<=-1?j[c>>2]:c;b=m;i:{if(!b){break i}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break i}while(1){b=k[e+1|0];if(!b){break i}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+68>>2];if(b){continue}break}break g}g=j[g>>2];m=k[g|0];f=0;b=l;while(1){d=b;c=b+4|0;c=h[b+15|0]<0?j[c>>2]:c;b=m;j:{if(!b){break j}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break j}while(1){b=k[e+1|0];if(!b){break j}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+68>>2];if(b){continue}break}break g}d=f;if(!d){break f}}j[d+76>>2]=0}b=l;if(b){continue}break}}n=n+1|0;if((n|0)!=256){continue}break}}function Df(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,j=0,l=0;c=1;a:{if(!(!a|!b)){f=Ya(a,10);b:{c:{c=ca(a,1756);if(!(!f|c>>>0<=f>>>0?c:0)){c=ca(a,1752);if(!c){break c}}i=a;if(!f){break b}if(c>>>0>f>>>0){break c}i=a;break b}c=ca(a,1813);i=0}d=Ya(b,10);a=ca(b,1756);d:{e:{if(!(!d|a>>>0<=d>>>0?a:0)){a=ca(b,1752);if(!a){break e}}if(!d|a>>>0<=d>>>0){break d}}a=ca(b,1813)}b=(a|0)!=0;e=(c|0)!=0;g=1;f:{if(!a|!c){break f}g:{if(f){if(c>>>0>=f>>>0){e=1;b=1;break f}e=1;b=1;j=!d;if(!(j|a>>>0>>0)){break f}break g}if(d){e=1;b=1;if(a>>>0>=d>>>0){break f}}while(1){if(k[c+3|0]!=k[a+3|0]){break a}b=a+3|0;a=c+3|0;c=0;g=0;while(1){b=b+1|0;h:{i:{f=h[a+1|0];switch(f|0){case 0:case 9:case 10:case 32:break i;default:break h}}g=1}j:{k:{e=h[b|0];switch(e|0){case 0:case 9:case 10:case 32:break k;default:break j}}c=1}a=a+1|0;if((e|0)==(f|0)?!(c|g):0){continue}break}if(!g|!c){break a}c=ca(a,1756);i=a;l:{if(c){break l}c=ca(a,1752);i=a;if(c){break l}c=ca(a,1813);i=0}a=ca(b,1756);m:{n:{if(!(!d^a>>>0>d>>>0?0:a)){a=ca(b,1752);if(!a){break n}}if(!d|a>>>0<=d>>>0){break m}}a=ca(b,1813)}g=0;b=(a|0)!=0;e=(c|0)!=0;if(!a|!c){break f}if(!d){continue}e=1;b=1;if(a>>>0>>0){continue}break}break f}while(1){if(k[c+3|0]!=k[a+3|0]){break a}b=a+3|0;a=c+3|0;c=0;g=0;while(1){b=b+1|0;o:{p:{e=h[a+1|0];switch(e|0){case 0:case 9:case 10:case 32:break p;default:break o}}g=1}q:{r:{l=h[b|0];switch(l|0){case 0:case 9:case 10:case 32:break r;default:break q}}c=1}a=a+1|0;if((e|0)==(l|0)?!(c|g):0){continue}break}if(!g|!c){break a}s:{t:{c=ca(a,1756);if(!(c>>>0<=f>>>0?c:0)){c=ca(a,1752);if(!c){break t}}if(c>>>0>f>>>0){break t}break s}c=ca(a,1813);a=0}i=a;a=ca(b,1756);u:{v:{if(!(a>>>0>d>>>0^j?0:a)){a=ca(b,1752);if(!a){break v}}if(!d|a>>>0<=d>>>0){break u}}a=ca(b,1813)}g=0;b=(a|0)!=0;e=(c|0)!=0;if(!a|!c){break f}e=1;if(c>>>0>=f>>>0){b=1;break f}b=1;if(a>>>0>>0|j){continue}break}}c=b|e|g}return c}return i?-1:1}function Vf(a,b,c,d,e,f,g,i,m,n,o,p,q,r,s){var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;y=M-16|0;M=y;j[c>>2]=a;B=d&512;while(1){if((z|0)==4){if(k[r+11|0]>>>7|0){e=j[r+4>>2]}else{e=k[r+11|0]}if(e>>>0>1){D=y,E=qb(r),j[D+8>>2]=E;D=c,E=dd(le(y+8|0,1),kc(r),j[c>>2]),j[D>>2]=E}d=d&176;if((d|0)!=16){if((d|0)==32){a=j[c>>2]}j[b>>2]=a}M=y+16|0;return}a:{b:{switch(h[m+z|0]){case 0:j[b>>2]=j[c>>2];break a;case 1:j[b>>2]=j[c>>2];u=O[j[j[g>>2]+28>>2]](g,32)|0;t=j[c>>2];j[c>>2]=t+1;h[t|0]=u;break a;case 3:if(k[r+11|0]>>>7|0){t=j[r+4>>2]}else{t=k[r+11|0]}if(!t){break a}if(k[r+11|0]>>>7|0){t=j[r>>2]}else{t=r}u=k[t|0];t=j[c>>2];j[c>>2]=t+1;h[t|0]=u;break a;case 2:t=!B;if(k[q+11|0]>>>7|0){u=j[q+4>>2]}else{u=k[q+11|0]}if(t|!u){break a}D=c,E=dd(qb(q),kc(q),j[c>>2]),j[D>>2]=E;break a;case 4:break b;default:break a}}C=j[c>>2];e=i?e+1|0:e;v=e;while(1){c:{if(f>>>0<=v>>>0){break c}u=h[v|0];if((u|0)>=0){t=(l[j[g+8>>2]+((u&255)<<1)>>1]&2048)!=0}else{t=0}if(!t){break c}v=v+1|0;continue}break}u=s;if((u|0)>=1){while(1){t=(u|0)<1;if(!(t|e>>>0>=v>>>0)){v=v-1|0;t=k[v|0];w=j[c>>2];j[c>>2]=w+1;h[w|0]=t;u=u-1|0;continue}break}if(t){t=0}else{t=O[j[j[g>>2]+28>>2]](g,48)|0}while(1){w=j[c>>2];j[c>>2]=w+1;if((u|0)>=1){h[w|0]=t;u=u-1|0;continue}break}h[w|0]=n}d:{if((e|0)==(v|0)){u=O[j[j[g>>2]+28>>2]](g,48)|0;t=j[c>>2];j[c>>2]=t+1;h[t|0]=u;break d}if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}if(t){if(k[p+11|0]>>>7|0){t=j[p>>2]}else{t=p}t=h[t|0]}else{t=-1}u=0;x=0;while(1){if((e|0)==(v|0)){break d}e:{if((u|0)!=(t|0)){w=u;break e}t=j[c>>2];j[c>>2]=t+1;h[t|0]=o;w=0;if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}x=x+1|0;if(t>>>0<=x>>>0){t=u;break e}if(k[p+11|0]>>>7|0){t=j[p>>2]}else{t=p}if(k[t+x|0]==127){t=-1;break e}if(k[p+11|0]>>>7|0){t=j[p>>2]}else{t=p}t=h[t+x|0]}v=v-1|0;u=k[v|0];A=j[c>>2];j[c>>2]=A+1;h[A|0]=u;u=w+1|0;continue}}pc(C,j[c>>2])}z=z+1|0;continue}}function Tf(a,b,c,d,e,f,g,i,l,m,n,o,p,q,r){var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;x=M-16|0;M=x;j[c>>2]=a;A=d&512;while(1){if((y|0)==4){if(k[q+11|0]>>>7|0){e=j[q+4>>2]}else{e=k[q+11|0]}if(e>>>0>1){C=x,D=qb(q),j[C+8>>2]=D;C=c,D=dd(Xf(x+8|0,1),ic(q),j[c>>2]),j[C>>2]=D}d=d&176;if((d|0)!=16){if((d|0)==32){a=j[c>>2]}j[b>>2]=a}M=x+16|0}else{a:{b:{switch(h[l+y|0]){case 0:j[b>>2]=j[c>>2];break a;case 1:j[b>>2]=j[c>>2];s=O[j[j[g>>2]+44>>2]](g,32)|0;t=j[c>>2];j[c>>2]=t+4;j[t>>2]=s;break a;case 3:if(k[q+11|0]>>>7|0){s=j[q+4>>2]}else{s=k[q+11|0]}if(!s){break a}if(k[q+11|0]>>>7|0){s=j[q>>2]}else{s=q}s=j[s>>2];t=j[c>>2];j[c>>2]=t+4;j[t>>2]=s;break a;case 2:s=!A;if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}if(s|!t){break a}C=c,D=dd(qb(p),ic(p),j[c>>2]),j[C>>2]=D;break a;case 4:break b;default:break a}}B=j[c>>2];e=i?e+4|0:e;u=e;while(1){c:{if(f>>>0<=u>>>0){break c}if(!(O[j[j[g>>2]+12>>2]](g,2048,j[u>>2])|0)){break c}u=u+4|0;continue}break}s=r;if((s|0)>=1){while(1){t=(s|0)<1;if(!(t|e>>>0>=u>>>0)){u=u-4|0;t=j[u>>2];v=j[c>>2];j[c>>2]=v+4;j[v>>2]=t;s=s-1|0;continue}break}if(t){t=0}else{t=O[j[j[g>>2]+44>>2]](g,48)|0}while(1){v=j[c>>2];j[c>>2]=v+4;if((s|0)>=1){j[v>>2]=t;s=s-1|0;continue}break}j[v>>2]=m}d:{if((e|0)==(u|0)){s=O[j[j[g>>2]+44>>2]](g,48)|0;t=j[c>>2];u=t+4|0;j[c>>2]=u;j[t>>2]=s;break d}if(k[o+11|0]>>>7|0){s=j[o+4>>2]}else{s=k[o+11|0]}if(s){if(k[o+11|0]>>>7|0){s=j[o>>2]}else{s=o}t=h[s|0]}else{t=-1}s=0;w=0;while(1){if((e|0)!=(u|0)){e:{if((s|0)!=(t|0)){v=s;break e}t=j[c>>2];j[c>>2]=t+4;j[t>>2]=n;v=0;if(k[o+11|0]>>>7|0){t=j[o+4>>2]}else{t=k[o+11|0]}w=w+1|0;if(t>>>0<=w>>>0){t=s;break e}if(k[o+11|0]>>>7|0){s=j[o>>2]}else{s=o}if(k[s+w|0]==127){t=-1;break e}if(k[o+11|0]>>>7|0){s=j[o>>2]}else{s=o}t=h[s+w|0]}u=u-4|0;s=j[u>>2];z=j[c>>2];j[c>>2]=z+4;j[z>>2]=s;s=v+1|0;continue}break}u=j[c>>2]}kd(B,u)}y=y+1|0;continue}break}}function Yp(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0;g=M-32|0;M=g;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;a:{b:{if(!d){break b}if((d|0)<=-1){break a}l=d<<1;f=U(l);j[g+16>>2]=f;d=d<<1;i=d+f|0;j[g+24>>2]=i;l=V(f,c,l);j[g+20>>2]=i;if(d>>1>>>0<2){break b}if(i>>>0>l>>>0){while(1){d=f+2|0;c:{if(d>>>0>=i>>>0){break c}i=Er(k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24),16);h[f|0]=i;h[f+1|0]=i>>>8;h[f+2|0]=i>>>16;h[f+3|0]=i>>>24;i=j[g+20>>2];if(i>>>0<=f+4>>>0){break c}i=Er(k[f+2|0]|k[f+3|0]<<8|(k[f+4|0]<<16|k[f+5|0]<<24),16);h[f+2|0]=i;h[f+3|0]=i>>>8;h[f+4|0]=i>>>16;h[f+5|0]=i>>>24;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]<0){T(j[g>>2])}i=j[g+20>>2];if(i>>>0<=f+6>>>0){break c}i=Er(k[f+4|0]|k[f+5|0]<<8|(k[f+6|0]<<16|k[f+7|0]<<24),16);h[f+4|0]=i;h[f+5|0]=i>>>8;h[f+6|0]=i>>>16;h[f+7|0]=i>>>24;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}i=j[g+20>>2];if(i>>>0<=f+8>>>0){break c}i=Er(k[f+6|0]|k[f+7|0]<<8|(k[f+8|0]<<16|k[f+9|0]<<24),16);h[f+6|0]=i;h[f+7|0]=i>>>8;h[f+8|0]=i>>>16;h[f+9|0]=i>>>24;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}i=j[g+20>>2]}l=j[g+16>>2];m=i-l|0;if(m){Ja(l,c,m);i=j[g+20>>2]}f=d;if(i>>>0>f>>>0){continue}break}f=j[g+16>>2]}if(f>>>0>=i>>>0){break b}m=i;while(1){n=2;i=i-2|0;d=i;l=i;d:{if(f>>>0>=i>>>0){break d}while(1){d=d-2|0;f=k[d|0]|k[d+1|0]<<8;o=k[l|0]|k[l+1|0]<<8;h[d|0]=o;h[d+1|0]=o>>>8;h[l|0]=f;h[l+1|0]=f>>>8;e:{if(n>>>0<4){break e}j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]>-1){break e}T(j[g>>2])}f=j[g+16>>2];if(f>>>0>=d>>>0){break d}l=d;n=m-d|0;if((n|0)<10){continue}break}}m=i;d=j[g+20>>2]-f|0;if(d){Ja(f,c,d);f=j[g+16>>2]}if(f>>>0>>0){continue}break}}if(f){j[g+20>>2]=f;T(f)}M=g+32|0;return}X();z()}function hq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;g=M-48|0;M=g;j[g+40>>2]=0;j[g+32>>2]=0;j[g+36>>2]=0;a:{b:{if((W(c)|0)>=2){e=j[a+44>>2];if(e){break b}}break a}c:{o=j[e+4100>>2]+100|0;f=j[o>>2];if((f|0)==j[o+4>>2]){e=0;break c}d:while(1){e=c;while(1){e:{f:{n=e;r=p(q,60);i=r+f|0;e=k[i+11|0];l=e<<24>>24>-1;g:{if(!l){m=j[i>>2];break g}m=i}n=ca(n,m);if(n){m=n-c|0;e=l?e:j[i+4>>2];f=(c|0)==(n|0);f=(W(c)|0)==(e+m|0)?f?3:2:f;if(!f){e=0;break e}if((c|0)==(n|0)){e=i+p(f,12)|0;l=h[e+23|0];h:{if((l|0)>=0){e=l&255;break h}e=j[e+16>>2]}if(e){e=f;break e}e=f-1|0;if(e){break f}e=0;break e}while(1){e=i+p(f,12)|0;l=h[e+23|0];i:{if((l|0)<=-1){e=j[e+16>>2];break i}e=l&255}if(e){e=f;break e}e=0;f=(f|0)==2?0:f-1|0;if(f){continue}break}break e}q=q+1|0;if(q>>>0<(j[o+4>>2]-f|0)/60>>>0){continue d}e=h[g+43|0]<0;break c}l=i+p(e,12)|0;s=h[l+23|0];j:{if((s|0)>=0){l=s&255;break j}l=j[l+16>>2]}if(l){break e}e=0;f=f-2|0;if(!f){break e}e=i+p(f,12)|0;l=h[e+23|0];if((l|0)>=0){e=l&255?f:0;break e}e=j[e+16>>2]?f:0}f=p(e,12);e=f+i|0;i=h[e+23|0];k:{if((i|0)<=-1){e=j[e+16>>2];break k}e=i&255}l:{if(!e){break l}Ka(g+32|0,c);Wa(g+32|0,m);e=f+(r+j[o>>2]|0)|0;f=e+12|0;l=j[f>>2];m=f;f=k[e+23|0];i=f<<24>>24<0;aa(g+32|0,i?l:m,i?j[e+16>>2]:f);f=g+32|0;e=r+j[o>>2]|0;i=h[e+11|0];m:{if((i|0)<=-1){e=j[e+4>>2];break m}e=i&255}$(f,e+n|0);f=0;wa(a,b,g+32|0,d,0,0);e=Ba(g+32|0,32,0);if((e|0)==-1){break l}while(1){n:{if(!cc(a,sa(g+16|0,g+32|0,f,e-f|0),0,0,0)){f=e+1|0;break n}i=j[b>>2];m=j[b+4>>2];f=e+1|0;wa(a,b,sa(g,g+32|0,f,-1),d,0,0);m=(m-i|0)/12|0;e=j[b>>2];i=(j[b+4>>2]-e|0)/12|0;if(m>>>0>>0){ua((e+p(i,12)|0)-12|0,g+32|0)}if(h[g+11|0]>-1){break n}T(j[g>>2])}e=Ba(g+32|0,32,f);if(h[g+27|0]<=-1){T(j[g+16>>2])}if((e|0)!=-1){continue}break}}e=n+1|0;f=j[o>>2];continue}}}if(!e){break a}T(j[g+32>>2])}M=g+48|0}function Jc(a,b,c){var d=0,e=0,f=0,g=0,i=0,k=0,l=0,n=0,o=0;g=M-32|0;M=g;i=j[a>>2];l=(b-i|0)/12|0;a:{b:{e=j[a+4>>2];d=j[a+8>>2];c:{if(e>>>0>>0){if((b|0)==(e|0)){n=a,o=ha(b,c)+12|0,j[n+4>>2]=o;break c}i=e;k=(e-b|0)-12|0;d=p((k|0)/12|0,12)+b|0;if(e>>>0>d>>>0){f=d;while(1){l=j[f+4>>2];j[i>>2]=j[f>>2];j[i+4>>2]=l;j[i+8>>2]=j[f+8>>2];j[f>>2]=0;j[f+4>>2]=0;j[f+8>>2]=0;i=i+12|0;f=f+12|0;if(e>>>0>f>>>0){continue}break}}j[a+4>>2]=i;if(k){while(1){f=e-12|0;d=d-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=j[d+4>>2];j[f>>2]=j[d>>2];j[f+4>>2]=e;j[f+8>>2]=j[d+8>>2];h[d+11|0]=0;h[d|0]=0;e=f;if((b|0)!=(d|0)){continue}break}}e=b;if(b>>>0<=c>>>0){c=m[a+4>>2]>c>>>0?c+12|0:c}ua(e,c);break c}k=((e-i|0)/12|0)+1|0;if(k>>>0>=357913942){break b}j[g+24>>2]=a+8;f=g;i=(d-i|0)/12|0;d=i<<1;d=i>>>0<178956970?d>>>0>>0?k:d:357913941;e=0;d:{if(!d){break d}if(d>>>0>=357913942){break a}e=U(p(d,12))}j[f+8>>2]=e;f=e+p(l,12)|0;j[g+16>>2]=f;j[g+20>>2]=e+p(d,12);j[g+12>>2]=f;Qq(g+8|0,c);c=j[g+12>>2];f=c;e=j[a>>2];if((e|0)!=(b|0)){f=c;d=b;while(1){d=d-12|0;c=j[d+4>>2];f=f-12|0;j[f>>2]=j[d>>2];j[f+4>>2]=c;j[f+8>>2]=j[d+8>>2];j[d>>2]=0;j[d+4>>2]=0;j[d+8>>2]=0;f=j[g+12>>2]-12|0;j[g+12>>2]=f;if((d|0)!=(e|0)){continue}break}}e=j[a+4>>2];e:{if((e|0)==(b|0)){d=j[g+16>>2];break e}d=j[g+16>>2];while(1){c=j[b+4>>2];j[d>>2]=j[b>>2];j[d+4>>2]=c;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;d=j[g+16>>2]+12|0;j[g+16>>2]=d;b=b+12|0;if((e|0)!=(b|0)){continue}break}b=j[a+4>>2];f=j[g+12>>2]}e=j[a>>2];j[a>>2]=f;j[g+12>>2]=e;j[a+4>>2]=d;j[g+16>>2]=b;c=j[a+8>>2];j[a+8>>2]=j[g+20>>2];j[g+8>>2]=e;j[g+20>>2]=c;if((b|0)!=(e|0)){while(1){b=b-12|0;j[g+16>>2]=b;if(h[b+11|0]<=-1){T(j[b>>2]);b=j[g+16>>2]}if((b|0)!=(e|0)){continue}break}b=j[g+8>>2]}if(b){T(b)}}M=g+32|0;return}X();z()}D();z()}function Td(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0;e=M-16|0;M=e;a:{if((Ba(a,10,0)|0)==-1){break a}Ab(e,a,10);b:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break b}h[a+11|0]=0;h[a|0]=0}b=j[e>>2];if((b|0)!=j[e+4>>2]){ua(a,b);o=j[e+4>>2];f=j[e>>2];d=o-f|0;if((d|0)/12>>>0>=2){i=1;while(1){q=p(i,12);g=q+f|0;m=k[g+11|0];c=m<<24>>24;n=(c|0)<0?j[g+4>>2]:m;c:{d:{if((c|0)<=-1){d=0;if(!n){while(1){b=p(d,12)+f|0;c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){break c}d=d+1|0;if((i|0)!=(d|0)){continue}break d}}while(1){c=p(d,12)+f|0;m=k[c+11|0];b=m<<24>>24<0;if(((b?j[c+4>>2]:m)|0)==(n|0)){if(!qa(j[g>>2],b?j[c>>2]:c,n)){break c}}d=d+1|0;if((i|0)!=(d|0)){continue}break}break d}l=0;if(!n){while(1){b=p(l,12)+f|0;c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){break c}l=l+1|0;if((l|0)!=(i|0)){continue}break d}}while(1){c=p(l,12)+f|0;d=k[c+11|0];b=d<<24>>24<0;e:{if(((b?j[c+4>>2]:d)|0)!=(n|0)){break e}d=b?j[c>>2]:c;c=g;b=m;while(1){if(k[c|0]!=k[d|0]){break e}d=d+1|0;c=c+1|0;b=b-1|0;if(b){continue}break}break c}l=l+1|0;if((l|0)!=(i|0)){continue}break}}c=a;b=k[c+11|0];if(b<<24>>24<0?j[c+4>>2]:b){Z(a,10);f=j[e>>2]}b=f+q|0;g=k[b+11|0];f=g<<24>>24<0;aa(c,f?j[b>>2]:b,f?j[b+4>>2]:g);f=j[e>>2];o=j[e+4>>2]}i=i+1|0;d=o-f|0;if(i>>>0<(d|0)/12>>>0){continue}break}}f:{if((d|0)==12){ua(a,f);break f}Ka(a,1817);d=j[e>>2];if((d|0)!=j[e+4>>2]){c=0;while(1){b=p(c,12)+d|0;g=k[b+11|0];f=g<<24>>24<0;aa(a,f?j[b>>2]:b,f?j[b+4>>2]:g);$(a,1821);c=c+1|0;d=j[e>>2];if(c>>>0<(j[e+4>>2]-d|0)/12>>>0){continue}break}}b=k[a+11|0];c=b<<24>>24<0;h[((c?j[a+4>>2]:b)+(c?j[a>>2]:a)|0)-2|0]=41}b=j[e>>2]}if(!b){break a}c=j[e+4>>2];a=b;g:{if((b|0)==(c|0)){break g}while(1){a=c-12|0;if(h[c-1|0]<=-1){T(j[a>>2])}c=a;if((b|0)!=(c|0)){continue}break}a=j[e>>2]}j[e+4>>2]=b;T(a)}M=e+16|0}function Tp(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;d=M-32|0;M=d;j[d+16>>2]=h[b+11|0]<0?j[b>>2]:b;a:{b:{c:{f=ka(b,d+16|0);c=k[b+11|0];g=c<<24>>24<0;if((f|0)!=((g?j[b>>2]:b)+(g?j[b+4>>2]:c)|0)){g=a+4316|0;o=a+4328|0;while(1){d:{e:{f:{switch(n|0){case 1:l=j[d+16>>2];e=l-f|0;if(e>>>0>=4294967280){break a}g:{if(e>>>0<=10){h[d+11|0]=e;c=d;break g}i=e+16&-16;c=U(i);j[d+8>>2]=i|-2147483648;j[d>>2]=c;j[d+4>>2]=e}if((f|0)!=(l|0)){while(1){h[c|0]=k[f|0];c=c+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[c|0]=0;if(h[d+11|0]>=0){p=a,q=ta(d),j[p+4312>>2]=q;break e}c=j[d>>2];p=a,q=ta(c),j[p+4312>>2]=q;T(c);break e;case 0:break e;case 2:break f;default:break d}}if(!j[a+4144>>2]){l=j[d+16>>2];e=l-f|0;i=h[g+11|0];h:{i:{j:{if((i|0)<=-1){c=(j[a+4324>>2]&2147483647)-1|0;if(e>>>0<=c>>>0){break i}i=j[a+4320>>2];break j}c=g;if(e>>>0<=10){break h}c=10;i=i&255}pb(g,c,e-c|0,i,0,i,0);c=g;if(h[c+11|0]>-1){break h}}c=j[g>>2]}if((f|0)!=(l|0)){while(1){h[c|0]=k[f|0];c=c+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[c|0]=0;k:{l:{if(h[g+11|0]>=0){h[g+11|0]=e;if(e<<24>>24>-1){break l}e=j[a+4320>>2];c=j[g>>2];break k}j[a+4320>>2]=e;c=j[g>>2];break k}e=e&255;c=g}be(c,c+e|0,d);break e}l=j[d+16>>2];e=l-f|0;if(e>>>0>=4294967280){break a}m:{if(e>>>0<=10){h[d+11|0]=e;c=d;break m}i=e+16&-16;c=U(i);j[d+8>>2]=i|-2147483648;j[d>>2]=c;j[d+4>>2]=e}if((f|0)!=(l|0)){while(1){h[c|0]=k[f|0];c=c+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[c|0]=0;ia(o,d);xd(j[a+4328>>2],j[a+4332>>2],d+24|0);if(h[d+11|0]>-1){break e}T(j[d>>2])}m=m+1|0}n=n+1|0;f=ka(b,d+16|0);c=k[b+11|0];e=c<<24>>24<0;if((f|0)!=((e?j[b>>2]:b)+(e?j[b+4>>2]:c)|0)){continue}break}f=1;if((m|0)>1){break c}}f=0;break b}if((m|0)!=2){break b}Ka(a+4316|0,1799)}M=d+32|0;return f}X();z()}function Wh(a,b,c,d,e,f,g){var m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=M-32|0;M=m;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;a:{b:{if(h[b+29|0]&1?0:e&1){break b}p=h[b+15|0];n=j[b+8>>2];c:{if((p|0)<=-1){break c}n=p&255}q=d-n|0;if(!j[j[b+64>>2]+4484>>2]|q?(q|0)<=0:0){break b}o=k[b+28|0];d=h[b+27|0];n=j[b+20>>2];d:{if((d|0)<=-1){break d}n=d&255}if(o>>>0>n+q>>>0){break b}n=W(c);if(n>>>0>=4294967280){break a}p=b+16|0;e:{f:{if(n>>>0>=11){d=n+16&-16;o=U(d);j[m+24>>2]=d|-2147483648;j[m+16>>2]=o;j[m+20>>2]=n;break f}h[m+27|0]=n;o=m+16|0;if(!n){break e}}V(o,c,n)}h[n+o|0]=0;Wa(m+16|0,q);d=k[b+27|0];c=d<<24>>24<0;aa(m+16|0,c?j[b+16>>2]:p,c?j[b+20>>2]:d);c=b;n=h[m+27|0]<0?j[m+16>>2]:m+16|0;o=n;d=h[b+27|0];p=j[b+20>>2];g:{if((d|0)<=-1){break g}p=d&255}r=p+q|0;h:{if(!Jd(c,o+r|0,n)){break h}if(f){i:{d=j[b+56>>2];if(!d){break i}o=i[b+60>>1];p=(o<<1)+d|0;s=l[f+30>>1];if(o){while(1){q=o>>>1|0;c=(q<<1)+d|0;n=s>>>0>l[c>>1];d=n?c+2|0:d;o=n?(q^-1)+o|0:q;if(o){continue}break}}if((d|0)==(p|0)|s>>>0>1]){break i}Sc(m,j[b+64>>2],h[m+27|0]<0?j[m+16>>2]:m+16|0,r,0,0,l[b+30>>1],g);d=k[m+11|0];b=d<<24>>24;o=j[m+4>>2];if((b|0)<0?o:d){c=j[f+52>>2];if(c){$(a,c);Z(a,32);o=j[m+4>>2];d=k[m+11|0];b=d}b=b<<24>>24<0;aa(a,b?j[m>>2]:m,b?o:d);bb(a);b=k[m+11|0]}if(b<<24>>24>-1){break h}T(j[m>>2]);break h}Sc(m,j[b+64>>2],h[m+27|0]<0?j[m+16>>2]:m+16|0,r,e,f,l[b+30>>1],g);c=k[m+11|0];b=c<<24>>24;d=(b|0)<0;c=d?j[m+4>>2]:c;if(c){aa(a,d?j[m>>2]:m,c);bb(a);b=k[m+11|0]}if(b<<24>>24>-1){break h}T(j[m>>2]);break h}Sc(m,j[b+64>>2],h[m+27|0]<0?j[m+16>>2]:m+16|0,r,0,0,l[b+30>>1],g);c=k[m+11|0];b=c<<24>>24;d=(b|0)<0;c=d?j[m+4>>2]:c;if(c){aa(a,d?j[m>>2]:m,c);bb(a);b=k[m+11|0]}if(b<<24>>24>-1){break h}T(j[m>>2])}if(h[m+27|0]>-1){break b}T(j[m+16>>2])}M=m+32|0;return}X();z()}function gi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;g=j[a+4>>2];c=g&3;d=g&-8;f=d+a|0;a:{if(!c){c=0;if(b>>>0<256){break a}if(d>>>0>=b+4>>>0){c=a;if(d-b>>>0<=j[37868]<<1>>>0){break a}}return 0}b:{if(b>>>0<=d>>>0){c=d-b|0;if(c>>>0<16){break b}j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=c|3;j[f+4>>2]=j[f+4>>2]|1;_e(b,c);break b}c=0;if(j[37754]==(f|0)){d=d+j[37751]|0;if(d>>>0<=b>>>0){break a}j[a+4>>2]=g&1|b|2;c=a+b|0;b=d-b|0;j[c+4>>2]=b|1;j[37751]=b;j[37754]=c;break b}if(j[37753]==(f|0)){d=d+j[37750]|0;if(d>>>0>>0){break a}c=d-b|0;c:{if(c>>>0>=16){j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=c|1;d=a+d|0;j[d>>2]=c;j[d+4>>2]=j[d+4>>2]&-2;break c}j[a+4>>2]=d|g&1|2;b=a+d|0;j[b+4>>2]=j[b+4>>2]|1;c=0;b=0}j[37753]=b;j[37750]=c;break b}e=j[f+4>>2];if(e&2){break a}h=d+(e&-8)|0;if(h>>>0>>0){break a}k=h-b|0;d:{if(e>>>0<=255){c=j[f+8>>2];e=e>>>3|0;d=j[f+12>>2];if((d|0)==(c|0)){m=150992,n=j[37748]&Er(-2,e),j[m>>2]=n;break d}j[c+12>>2]=d;j[d+8>>2]=c;break d}i=j[f+24>>2];d=j[f+12>>2];e:{if((f|0)!=(d|0)){c=j[f+8>>2];j[c+12>>2]=d;j[d+8>>2]=c;break e}f:{c=f+20|0;e=j[c>>2];if(e){break f}c=f+16|0;e=j[c>>2];if(e){break f}d=0;break e}while(1){l=c;d=e;c=d+20|0;e=j[c>>2];if(e){continue}c=d+16|0;e=j[d+16>>2];if(e){continue}break}j[l>>2]=0}if(!i){break d}c=j[f+28>>2];e=(c<<2)+151296|0;g:{if(j[e>>2]==(f|0)){j[e>>2]=d;if(d){break g}m=150996,n=j[37749]&Er(-2,c),j[m>>2]=n;break d}j[i+(j[i+16>>2]==(f|0)?16:20)>>2]=d;if(!d){break d}}j[d+24>>2]=i;c=j[f+16>>2];if(c){j[d+16>>2]=c;j[c+24>>2]=d}c=j[f+20>>2];if(!c){break d}j[d+20>>2]=c;j[c+24>>2]=d}if(k>>>0<=15){j[a+4>>2]=g&1|h|2;b=a+h|0;j[b+4>>2]=j[b+4>>2]|1;break b}j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=k|3;c=a+h|0;j[c+4>>2]=j[c+4>>2]|1;_e(b,k)}c=a}return c}function Hd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;f=M-32|0;M=f;a:{d=j[a>>2];e=(j[a+4>>2]-d|0)/60|0;c=e+1|0;if(c>>>0<71582789){h=j[a+8>>2];j[f+24>>2]=a+8;j[f+20>>2]=0;d=(h-d|0)/60|0;h=d<<1;d=d>>>0<35791394?c>>>0>h>>>0?c:h:71582788;if(d){if(d>>>0>=71582789){break a}g=U(p(d,60))}c=p(e,60)+g|0;j[f+16>>2]=c;j[c+8>>2]=j[b+8>>2];e=j[b+4>>2];j[c>>2]=j[b>>2];j[c+4>>2]=e;j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];e=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=e;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];e=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=e;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+44>>2]=j[b+44>>2];e=j[b+40>>2];j[c+36>>2]=j[b+36>>2];j[c+40>>2]=e;j[b+44>>2]=0;j[b+36>>2]=0;j[b+40>>2]=0;j[c+56>>2]=j[b+56>>2];e=j[b+52>>2];j[c+48>>2]=j[b+48>>2];j[c+52>>2]=e;j[b+48>>2]=0;j[b+52>>2]=0;j[b+56>>2]=0;e=p(d,60)+g|0;h=c+60|0;b=j[a+4>>2];g=j[a>>2];b:{if((b|0)==(g|0)){b=g;break b}while(1){b=b-60|0;d=j[b+4>>2];c=c-60|0;j[c>>2]=j[b>>2];j[c+4>>2]=d;j[c+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];d=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=d;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];d=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=d;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+44>>2]=j[b+44>>2];d=j[b+40>>2];j[c+36>>2]=j[b+36>>2];j[c+40>>2]=d;j[b+44>>2]=0;j[b+36>>2]=0;j[b+40>>2]=0;j[c+56>>2]=j[b+56>>2];d=j[b+52>>2];j[c+48>>2]=j[b+48>>2];j[c+52>>2]=d;j[b+48>>2]=0;j[b+52>>2]=0;j[b+56>>2]=0;if((b|0)!=(g|0)){continue}break}g=j[a+4>>2];b=j[a>>2]}j[a>>2]=c;j[f+12>>2]=b;j[a+4>>2]=h;j[f+16>>2]=g;g=j[a+8>>2];j[a+8>>2]=e;j[f+8>>2]=b;j[f+20>>2]=g;Xh(f+8|0,b);a=j[f+8>>2];if(a){T(a)}M=f+32|0;return}X();z()}D();z()}function Xp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;e=M-16|0;M=e;a:{l=W(c);if(l>>>0<4294967280){b:{c:{if(l>>>0>=11){f=l+16&-16;g=U(f);j[e+8>>2]=f|-2147483648;j[e>>2]=g;j[e+4>>2]=l;p=e;break c}h[e+11|0]=l;p=e;g=e;if(!l){break b}}V(g,c,l)}h[g+l|0]=0;n=h[p+11|0];d:{if((n|0)<=-1){if(m[e+4>>2]<2){break a}l=j[e>>2];break d}l=e;if((n&255)>>>0<2){break a}}while(1){i=l;e:{f:{g:{h:{i:{q=n<<24>>24;j:{if((q|0)<=-1){f=j[e>>2];o=f;g=j[e+4>>2];l=g+f|0;if(i>>>0>=l>>>0){break j}break h}g=n&255;l=g+e|0;if(i>>>0>>0){break i}f=e}o=f+1|0;if((o|0)==(l|0)){break a}break g}o=j[e>>2];f=e}l=i+1|0;if(l>>>0>=f+g>>>0){f=(q|0)<0;break e}f=k[i+1|0];h[i+1|0]=k[i|0];h[i|0]=f;g=k[p+11|0];n=g<<24>>24;f=(n|0)<0;g=f?j[e+4>>2]:g;o=j[e>>2];if(i+2>>>0>=g+(f?o:e)>>>0){break e}f=k[i+2|0];h[i+2|0]=k[i+1|0];h[i+1|0]=f;wa(a,b,e,d,0,0);g=k[p+11|0];n=g<<24>>24;f=(n|0)<0;g=f?j[e+4>>2]:g;o=j[e>>2];if(i+3>>>0>>0){break f}break e}while(1){f=1;i=l-1|0;g=i;q=n<<24>>24<0?j[e>>2]:e;if((q|0)!=(i|0)){while(1){n=k[g|0];r=g;g=g-1|0;h[r|0]=k[g|0];h[g|0]=n;if(f>>>0>=2){wa(a,b,e,d,0,0)}if((g|0)!=(q|0)){f=l-g|0;if((f|0)<5){continue}}break}n=k[p+11|0]}l=n<<24>>24<0;f=l?j[e+4>>2]:n&255;if(f){Ja(l?j[e>>2]:e,c,f)}n=k[p+11|0];l=i;if((i|0)!=(o|0)){continue}break}break a}f=k[i+3|0];h[i+3|0]=k[i+2|0];h[i+2|0]=f;wa(a,b,e,d,0,0);g=k[p+11|0];n=g<<24>>24;f=(n|0)<0;g=f?j[e+4>>2]:g;o=j[e>>2];if(i+4>>>0>=g+(f?o:e)>>>0){break e}f=k[i+4|0];h[i+4|0]=k[i+3|0];h[i+3|0]=f;wa(a,b,e,d,0,0);q=k[p+11|0];n=q<<24>>24;f=(n|0)<0;r=i+5|0;i=j[e+4>>2];g=f?i:q;o=j[e>>2];if(r>>>0>=g+(f?o:e)>>>0){break e}g=(n|0)<0?i:q}if(!g){continue}Ja(f?o:e,c,g);n=k[p+11|0];continue}}X();z()}if(n<<24>>24<=-1){T(j[e>>2])}M=e+16|0}function xp(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=M-32|0;M=e;j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;d=k[c+11|0];f=d<<24>>24;g=k[b+11|0];i=g<<24>>24<0;a:{b:{c:{l=(f|0)<0?j[c+4>>2]:d;g=i?j[b+4>>2]:g;d=l+g|0;if(d>>>0<4294967280){m=j[b>>2];d:{if(d>>>0<=10){h[e+27|0]=g;d=e+16|0;break d}n=d+16&-16;d=U(n);j[e+24>>2]=n|-2147483648;j[e+16>>2]=d;j[e+20>>2]=g}if(g){V(d,i?m:b,g)}h[d+g|0]=0;aa(e+16|0,(f|0)<0?j[c>>2]:c,l);g=a+40|0;d=k[e+27|0];n=d<<24>>24;i=(n|0)<0;l=k[a+51|0];f=l<<24>>24<0;e:{f:{g:{m=i?j[e+20>>2]:d;if((m|0)==((f?j[a+44>>2]:l)|0)){f=f?j[g>>2]:g;l=j[e+16>>2];if(i){break g}if(!m){break b}i=k[f|0]==(l&255);h:{if(!i){break h}l=e+16|0;while(1){d=d-1|0;if(!d){break h}i=k[f+1|0];f=f+1|0;l=l+1|0;i=(i|0)==k[l|0];if(i){continue}break}}if((n|0)>=0){break f}T(j[e+16>>2]);if(i){break b}break e}if(!i){break e}T(j[e+16>>2]);break e}if(m){d=qa(i?l:e+16|0,f,m);T(l);if(!d){break b}break e}T(l);break b}if(i){break b}}j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;d=k[c+11|0];i=d<<24>>24;f=k[b+11|0];l=f<<24>>24<0;m=(i|0)<0?j[c+4>>2]:d;f=l?j[b+4>>2]:f;d=m+f|0;if(d>>>0>=4294967280){break c}n=j[b>>2];i:{if(d>>>0<=10){h[e+27|0]=f;d=e+16|0;break i}o=d+16&-16;d=U(o);j[e+24>>2]=o|-2147483648;j[e+16>>2]=d;j[e+20>>2]=f}if(f){V(d,l?n:b,f)}h[d+f|0]=0;aa(e+16|0,(i|0)<0?j[c>>2]:c,m);if(h[g+11|0]<=-1){T(j[g>>2])}d=j[e+20>>2];j[g>>2]=j[e+16>>2];j[g+4>>2]=d;j[g+8>>2]=j[e+24>>2];j[a+52>>2]=0;d=Hc(a,g);j:{if((d|0)!=(a+4|0)){c=j[d+28>>2];break j}b=h[b+11|0]<0?j[b>>2]:b;d=h[c+11|0]<0?j[c>>2]:c;c=U(64);Vq(c,b,d);ha(e+16|0,g);j[e+28>>2]=c;jp(e+8|0,a,e+16|0);if(h[e+27|0]>-1){break j}T(j[e+16>>2])}j[a+52>>2]=c;break a}X();z()}X();z()}c=j[a+52>>2]}M=e+32|0;return c}function Jq(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0;a:{e=j[a+8>>2];b:{if((e|0)!=j[a+12>>2]){break b}c=j[a+4>>2];d=j[a>>2];if(c>>>0>d>>>0){f=p((((c-d|0)/12|0)+1|0)/-2|0,12);d=f+c|0;if((c|0)!=(e|0)){while(1){if(h[d+11|0]<=-1){T(j[d>>2])}g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];h[c+11|0]=0;h[c|0]=0;d=d+12|0;c=c+12|0;if((e|0)!=(c|0)){continue}break}e=j[a+4>>2]}j[a+8>>2]=d;j[a+4>>2]=e+f;break b}f=e-d|0;f=f?(f|0)/12<<1:1;if(f>>>0>=357913942){break a}g=p(f,12);i=U(g);m=i+g|0;f=p(f>>>2|0,12)+i|0;g=e-c|0;k=(g|0)/12|0;c:{if(!g){g=f;break c}k=p(k,12);l=g-12|0;e=((l>>>0)/12|0)+1&3;d:{if(!e){d=f;break d}d=f;while(1){g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;c=c+12|0;d=d+12|0;e=e-1|0;if(e){continue}break}}g=f+k|0;if(l>>>0>=36){while(1){e=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=e;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[d+20>>2]=j[c+20>>2];e=j[c+16>>2];j[d+12>>2]=j[c+12>>2];j[d+16>>2]=e;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[d+32>>2]=j[c+32>>2];e=j[c+28>>2];j[d+24>>2]=j[c+24>>2];j[d+28>>2]=e;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[d+44>>2]=j[c+44>>2];e=j[c+40>>2];j[d+36>>2]=j[c+36>>2];j[d+40>>2]=e;j[c+44>>2]=0;j[c+36>>2]=0;j[c+40>>2]=0;c=c+48|0;d=d+48|0;if((g|0)!=(d|0)){continue}break}}e=j[a+8>>2];c=j[a+4>>2];d=j[a>>2]}j[a+12>>2]=m;j[a+8>>2]=g;j[a+4>>2]=f;j[a>>2]=i;if((c|0)!=(e|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((f|0)!=(c|0)){continue}break}}if(!d){break b}T(d)}d=j[b+4>>2];f=j[a+8>>2];j[f>>2]=j[b>>2];j[f+4>>2]=d;j[f+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[a+8>>2]=j[a+8>>2]+12;return}D();z()}function Mc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0;i=j[a>>2];m=j[a+4>>2];if((i|0)==(m|0)){return 0}g=j[37199];a=0;c=i;d=c;a:{b:{switch(b-100|0){case 2:if(!g){e=i;while(1){d=k[e|0]|k[e+1|0]<<8;c:{if((d|0)==105){c=d;d=304;break c}if((d|0)!=73){c=d;break c}f=f+1|0;c=305}a=((c|0)==(d|0))+a|0;e=e+2|0;if((m|0)!=(e|0)){continue}break}break a}while(1){e=k[c|0]|k[c+1|0]<<8;d:{e:{if((e|0)==73){f=f+1|0;d=305;break e}d=l[(p(e,6)+g|0)+4>>1];f=((e|0)!=(d|0))+f|0;h=304;if((e|0)==105){break d}}h=l[(p(e,6)+g|0)+2>>1]}e=h;a=((e&65535)==(d|0))+a|0;c=c+2|0;if((m|0)!=(c|0)){continue}break}break a;case 0:while(1){e=a;a=k[c|0]|k[c+1|0]<<8;f:{g:{if((a|0)==73){f=f+1|0;d=305;break g}d=g?l[(p(a,6)+g|0)+4>>1]:a;f=((a|0)!=(d&65535))+f|0;h=304;if((a|0)==105){break f}}h=a;if(!g){break f}h=l[(p(a,6)+g|0)+2>>1]}a=e+((h&65535)==(d&65535))|0;c=c+2|0;if((m|0)!=(c|0)){continue}break}break a;default:break b}}while(1){h=a;h:{i:{j:{a=k[d|0]|k[d+1|0]<<8;k:{if((a|0)!=73){break k}c=b-90|0;if(c>>>0>12){break k}if(1<>1]:a;f=((a|0)!=(c&65535))+f|0;if((a|0)!=105){break i}e=b-90|0;if(e>>>0>12){break i}n=304;if(1<>1]}a=h+((n&65535)==(c&65535))|0;d=d+2|0;if((m|0)!=(d|0)){continue}break}}if(!f){return 0}d=k[i|0]|k[i+1|0]<<8;l:{m:{n:{o:{if((d|0)!=73){break o}c=b-90|0;if(c>>>0>12){break o}b=305;if(1<>1]}c=(b|0)!=(d|0);e=1;if((f|0)!=1){break m}if((b|0)!=(d|0)){break l}}e=2;b=m-i>>1;if((b|0)==(f|0)|(b|0)==(a+f|0)){break l}e=f>>>0>1?c?4:3:3}return e}function Yo(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=M-1056|0;M=i;d=i+1048|0;j[d>>2]=0;j[d+4>>2]=0;d=i+1040|0;j[d>>2]=0;j[d+4>>2]=0;j[i+1032>>2]=0;j[i+1036>>2]=0;j[i+1024>>2]=0;j[i+1028>>2]=0;a:{b:{c:{d:{c=k[b|0];e:{if(!c){l=-1;d=1;break e}while(1){if(!k[a+f|0]){break b}d=c&255;f=f+1|0;j[(d<<2)+i>>2]=f;c=(i+1024|0)+(d>>>3&28)|0;j[c>>2]=j[c>>2]|1<>>0>1){break d}}g=-1;e=1;break c}m=1;c=1;while(1){g=k[(c+l|0)+b|0];h=k[b+d|0];f:{if((g|0)==(h|0)){if((c|0)==(m|0)){e=e+m|0;c=1;break f}c=c+1|0;break f}if(g>>>0>h>>>0){m=d-l|0;e=d;c=1;break f}l=e;e=e+1|0;m=1;c=1}d=c+e|0;if(f>>>0>d>>>0){continue}break}e=1;g=-1;if(f>>>0<=1){d=m;break c}d=0;h=1;c=1;while(1){o=k[(c+g|0)+b|0];n=k[b+e|0];g:{if((o|0)==(n|0)){if((c|0)==(h|0)){d=d+h|0;c=1;break g}c=c+1|0;break g}if(n>>>0>o>>>0){h=e-g|0;d=e;c=1;break g}g=d;d=d+1|0;h=1;c=1}e=d+c|0;if(f>>>0>e>>>0){continue}break}d=m;e=h}c=d;d=g+1>>>0>l+1>>>0;h=d?e:c;n=d?g:l;o=n+1|0;h:{if(qa(b,h+b|0,o)){d=(n^-1)+f|0;h=(d>>>0>>0?n:d)+1|0;p=f-h|0;m=0;break h}p=f-h|0;m=p}r=f-1|0;q=f|63;g=0;d=a;while(1){i:{if(a-d>>>0>=f>>>0){break i}c=Aa(a,0,q);if(c){a=c;if(c-d>>>0>>0){break b}break i}a=a+q|0}e=k[d+r|0];c=f;j:{k:{if(!(j[(i+1024|0)+(e>>>3&28)>>2]>>>e&1)){break k}c=f-j[(e<<2)+i>>2]|0;if(c){c=m?g?c>>>0>>0?p:c:c:c;break k}l:{c=o;e=c>>>0>g>>>0?c:g;l=k[e+b|0];if(l){while(1){if(k[d+e|0]!=(l&255)){break l}e=e+1|0;l=k[e+b|0];if(l){continue}break}}while(1){if(c>>>0<=g>>>0){break a}c=c-1|0;if(k[c+b|0]==k[d+c|0]){continue}break}c=h;g=m;break j}c=e-n|0}g=0}d=d+c|0;continue}}d=0}M=i+1056|0;return d}function rg(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=M-16|0;M=m;n=rb(g);r=Bc(g);g=r;O[j[j[g>>2]+20>>2]](m,g);j[f>>2]=d;a:{b:{i=a;g=k[i|0];switch(g-43|0){case 0:case 2:break b;default:break a}}g=O[j[j[n>>2]+44>>2]](n,g<<24>>24)|0;i=j[f>>2];j[f>>2]=i+4;j[i>>2]=g;i=a+1|0}c:{g=i;if(!((c-g|0)<=1|k[g|0]!=48|(k[g+1|0]|32)!=120)){g=O[j[j[n>>2]+44>>2]](n,48)|0;l=j[f>>2];j[f>>2]=l+4;j[l>>2]=g;g=O[j[j[n>>2]+44>>2]](n,h[i+1|0])|0;l=j[f>>2];j[f>>2]=l+4;j[l>>2]=g;i=i+2|0;g=i;while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(!(l-48>>>0<10|(l|32)-97>>>0<6)){break c}g=g+1|0;continue}}while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(l-48>>>0>=10){break c}g=g+1|0;continue}}if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}d:{if(!o){O[j[j[n>>2]+48>>2]](n,i,g,j[f>>2])|0;j[f>>2]=j[f>>2]+(g-i<<2);break d}pc(i,g);t=O[j[j[r>>2]+16>>2]](r)|0;l=i;while(1){if(g>>>0<=l>>>0){kd((i-a<<2)+d|0,j[f>>2])}else{if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}s=h[o+p|0]!=(q|0);if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}if(!(s|h[o+p|0]<1)){q=j[f>>2];j[f>>2]=q+4;j[q>>2]=t;if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}p=(o-1>>>0>p>>>0)+p|0;q=0}o=O[j[j[n>>2]+44>>2]](n,h[l|0])|0;s=j[f>>2];j[f>>2]=s+4;j[s>>2]=o;l=l+1|0;q=q+1|0;continue}break}}e:{f:{while(1){if(c>>>0<=g>>>0){break f}i=k[g|0];if((i|0)!=46){i=O[j[j[n>>2]+44>>2]](n,i<<24>>24)|0;p=j[f>>2];j[f>>2]=p+4;j[p>>2]=i;g=g+1|0;continue}break}i=O[j[j[r>>2]+12>>2]](r)|0;p=j[f>>2];l=p+4|0;j[f>>2]=l;j[p>>2]=i;g=g+1|0;break e}l=j[f>>2]}O[j[j[n>>2]+48>>2]](n,g,c,l)|0;i=f;f=j[f>>2]+(c-g<<2)|0;j[i>>2]=f;j[e>>2]=(b|0)==(c|0)?f:(b-a<<2)+d|0;Y(m);M=m+16|0}function yq(a,b,c){j[a+4096>>2]=c;c=j[j[c>>2]>>2];j[a+4104>>2]=0;j[a+4108>>2]=0;j[a+4100>>2]=c;c=a+4112|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4120|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4128|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4136|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4144|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4152|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4158|0;i[c>>1]=0;i[c+2>>1]=0;i[c+4>>1]=0;i[c+6>>1]=0;j[a+4168>>2]=0;j[a+4172>>2]=0;c=a+4176|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4184|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4204>>2]=0;j[a+4208>>2]=0;h[a+4212|0]=0;j[a+4216>>2]=0;j[a+4220>>2]=0;c=a+4221|0;h[c|0]=0;h[c+1|0]=0;h[c+2|0]=0;h[c+3|0]=0;h[c+4|0]=0;h[c+5|0]=0;h[c+6|0]=0;h[c+7|0]=0;c=a+4237|0;h[c|0]=0;h[c+1|0]=0;h[c+2|0]=0;h[c+3|0]=0;h[c+4|0]=0;h[c+5|0]=0;h[c+6|0]=0;h[c+7|0]=0;j[a+4232>>2]=0;j[a+4236>>2]=0;h[a+4264|0]=0;c=a+4256|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4248>>2]=0;j[a+4252>>2]=0;j[a+4268>>2]=0;j[a+4272>>2]=0;c=a+4276|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4316>>2]=0;j[a+4320>>2]=0;c=a+4324|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4332|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4340|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4348>>2]=0;ya(a+4384|0,0,72);j[a+4192>>2]=65510;j[a+4196>>2]=0;j[a+4488>>2]=0;j[a+4380>>2]=0;j[a+4360>>2]=0;j[a+4352>>2]=0;j[a+4356>>2]=0;j[a+4308>>2]=-1;j[a+4312>>2]=0;j[a+4200>>2]=-1;i[a+4464>>1]=0;j[a+4456>>2]=0;j[a+4460>>2]=0;j[a+4292>>2]=-1;j[a+4296>>2]=0;j[a+4284>>2]=-1;j[a+4288>>2]=-1;j[a+4300>>2]=0;j[a+4304>>2]=0;j[a+4480>>2]=0;j[a+4484>>2]=0;j[a+4372>>2]=0;j[a+4376>>2]=0;ya(a+4492|0,0,65536);c=ya(a,0,4096);a=c+4474|0;i[a>>1]=0;i[a+2>>1]=0;a=c;i[a+4466>>1]=0;i[a+4468>>1]=0;i[a+4470>>1]=0;i[a+4472>>1]=0;pq(a,b);if(j[a+4200>>2]==-1){j[c+4200>>2]=3}return c}function nl(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a=M-1072|0;M=a;j[a+16>>2]=f;j[a+20>>2]=g;j[a+24>>2]=h;j[a+28>>2]=i;j[a+956>>2]=a+960;l=oh(a+960|0,a+16|0);j[a+544>>2]=77;n=Da(a+536|0,0,a+544|0);j[a+544>>2]=77;m=Da(a+528|0,0,a+544|0);q=a+544|0;a:{if(l>>>0>=100){p=ra();j[a>>2]=f;j[a+4>>2]=g;j[a+8>>2]=h;j[a+12>>2]=i;l=Sb(a+956|0,p,127871,a);f=j[a+956>>2];if(!f){break a}g=j[n>>2];j[n>>2]=f;if(g){O[j[n+4>>2]](g)}f=ja(l<<2);g=j[m>>2];j[m>>2]=f;if(g){O[j[m+4>>2]](g)}if(j[m>>2]!=0^1){break a}q=j[m>>2]}f=j[d+28>>2];j[a+520>>2]=f;j[f+4>>2]=j[f+4>>2]+1;h=rb(a+520|0);g=h;f=j[a+956>>2];O[j[j[g>>2]+48>>2]](g,f,f+l|0,q)|0;r=l?k[j[a+956>>2]]==45:r;p=ga(a+488|0);o=ga(a+472|0);g=ga(a+456|0);Uf(c,r,a+520|0,a+512|0,a+508|0,a+504|0,p,o,g,a+452|0);j[a+48>>2]=77;i=Da(a+40|0,0,a+48|0);c=j[a+452>>2];b:{if((c|0)<(l|0)){if(k[g+11|0]>>>7|0){f=j[g+4>>2]}else{f=k[g+11|0]}f=f+(l-c<<1|1)|0;break b}if(k[g+11|0]>>>7|0){c=j[g+4>>2]}else{c=k[g+11|0]}f=c+2|0}c=a+48|0;t=j[a+452>>2];if(k[o+11|0]>>>7|0){s=j[o+4>>2]}else{s=k[o+11|0]}f=t+(s+f|0)|0;if(f>>>0>=101){c=ja(f<<2);f=j[i>>2];j[i>>2]=c;if(f){O[j[i+4>>2]](f)}c=j[i>>2];if(!c){break a}}Tf(c,a+36|0,a+32|0,j[d+4>>2],q,(l<<2)+q|0,h,r,a+512|0,j[a+508>>2],j[a+504>>2],p,o,g,j[a+452>>2]);b=_b(b,c,j[a+36>>2],j[a+32>>2],d,e);c=j[i>>2];j[i>>2]=0;if(c){O[j[i+4>>2]](c)}Y(g);Y(o);Y(p);d=j[a+520>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}c=j[m>>2];j[m>>2]=0;if(c){O[j[m+4>>2]](c)}c=j[n>>2];j[n>>2]=0;if(c){O[j[n+4>>2]](c)}M=a+1072|0;return b|0}Fa();z()}function Th(a,b,c,d,e,f){var g=0,h=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=d?l[d+30>>1]:s;p=j[b+12>>2];if(p){u=c&1;while(1){k=j[p+4>>2];q=l[p+2>>1];m=q<<16>>16;r=k+(m<<1)|0;b=k;if(q){n=l[a+30>>1];c=m;while(1){g=c>>>1|0;o=(g<<1)+b|0;h=n>>>0>l[o>>1];b=h?o+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}a:{if(!(l[a+30>>1]>=l[b>>1]?(b|0)!=(r|0):0)){if(!d){break a}b=j[d+56>>2];if(!b){break a}c=i[d+60>>1];n=(c<<1)+b|0;if(c){o=l[a+30>>1];while(1){g=c>>>1|0;t=(g<<1)+b|0;h=o>>>0>l[t>>1];b=h?t+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if((b|0)==(n|0)|l[a+30>>1]>1]){break a}}b:{if(!u){break b}b=k;c=m;if(q){while(1){g=c>>>1|0;n=(g<<1)+b|0;h=l[n>>1]>>0;b=h?n+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if(l[b>>1]<=s>>>0?(b|0)!=(r|0):0){break b}b=j[a+56>>2];if(!b){break a}c=i[a+60>>1];n=(c<<1)+b|0;if(c){while(1){g=c>>>1|0;o=(g<<1)+b|0;h=l[o>>1]>>0;b=h?o+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if((b|0)==(n|0)|l[b>>1]>s>>>0){break a}}if(e){b=j[a+56>>2];if(!b){break a}c=i[a+60>>1];n=(c<<1)+b|0;if(c){while(1){g=c>>>1|0;o=(g<<1)+b|0;h=l[o>>1]>>0;b=h?o+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if((b|0)==(n|0)|l[b>>1]>e>>>0){break a}}if(!f){return p}if(q){while(1){b=m>>>1|0;q=(b<<1)+k|0;c=l[q>>1]>>0;k=c?q+2|0:k;m=c?(b^-1)+m|0:b;if(m){continue}break}}if(!((k|0)==(r|0)|l[k>>1]>f>>>0)){return p}b=j[a+56>>2];if(!b){break a}c=i[a+60>>1];q=(c<<1)+b|0;if(c){while(1){k=c>>>1|0;r=(k<<1)+b|0;m=l[r>>1]>>0;b=m?r+2|0:b;c=m?(k^-1)+c|0:k;if(c){continue}break}}if((b|0)==(q|0)|l[b>>1]>f>>>0){break a}return p}p=j[p+12>>2];if(p){continue}break}}return 0}function cq(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=M-48|0;M=f;j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;a:{if(!d){break a}b:{if((d|0)>-1){n=d<<1;g=U(n);j[f+16>>2]=g;o=(d<<1)+g|0;j[f+24>>2]=o;V(g,c,n);j[f+20>>2]=o;while(1){o=q<<1;c=o+g|0;n=k[c|0]|k[c+1|0]<<8;i[f+12>>1]=n;i[f+10>>1]=n;yr(f+14|0,f+10|0);c=o+j[f+16>>2]|0;g=l[f+14>>1];h[c|0]=g;h[c+1|0]=g>>>8;r=n&255;c=o+j[f+16>>2]|0;c=k[c|0]|k[c+1|0]<<8;s=n>>>8|0;if(!((s|0)==(c>>>8|0)?(r|0)==(c&255):0)){da(f+32|0,f+16|0);wa(a,b,f+32|0,e,0,0);c=o+j[f+16>>2]|0;h[c|0]=n;h[c+1|0]=n>>>8}if(j[a>>2]){c=j[a+4>>2];c:{if(!c){g=0;break c}m=j[a+8>>2];g=0;while(1){p=m+(g<<1)|0;p=k[p|0]|k[p+1|0]<<8;if((p>>>8|0)==(s|0)?(p&255)==(r|0):0){break c}g=g+1|0;if(g>>>0>>0){continue}break}}d:{if(c>>>0<=g>>>0){break d}while(1){e:{if(!g){break e}m=(j[a+8>>2]+(g<<1)|0)-2|0;m=k[m|0]|k[m+1|0]<<8;if((m&65280)==31744?!(m&255):0){break e}c=o+j[f+16>>2]|0;h[c|0]=m;h[c+1|0]=m>>>8;da(f+32|0,f+16|0);wa(a,b,f+32|0,e,0,0);c=j[a+4>>2]}m=g+1|0;f:{if(m>>>0>=c>>>0){break f}m=j[a+8>>2]+(m<<1)|0;m=k[m|0]|k[m+1|0]<<8;if((m&65280)==31744?!(m&255):0){break f}c=o+j[f+16>>2]|0;h[c|0]=m;h[c+1|0]=m>>>8;da(f+32|0,f+16|0);wa(a,b,f+32|0,e,0,0);c=j[a+4>>2]}while(1){g=g+1|0;if(g>>>0>=c>>>0){break d}m=j[a+8>>2]+(g<<1)|0;m=k[m|0]|k[m+1|0]<<8;if((m&255)!=(r|0)|(m>>>8|0)!=(s|0)){continue}break}if(c>>>0>g>>>0){continue}break}}c=o+j[f+16>>2]|0;h[c|0]=n;h[c+1|0]=n>>>8}g=j[f+16>>2];q=q+1|0;if((q|0)!=(d|0)){continue}break}break b}X();z()}if(!g){break a}j[f+20>>2]=g;T(g)}if(h[f+43|0]<=-1){T(j[f+32>>2])}M=f+48|0}function ug(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=M-16|0;M=m;n=sb(g);r=Dc(g);g=r;O[j[j[g>>2]+20>>2]](m,g);j[f>>2]=d;a:{b:{i=a;g=k[i|0];switch(g-43|0){case 0:case 2:break b;default:break a}}g=O[j[j[n>>2]+28>>2]](n,g<<24>>24)|0;i=j[f>>2];j[f>>2]=i+1;h[i|0]=g;i=a+1|0}c:{g=i;if(!((c-g|0)<=1|k[g|0]!=48|(k[g+1|0]|32)!=120)){g=O[j[j[n>>2]+28>>2]](n,48)|0;l=j[f>>2];j[f>>2]=l+1;h[l|0]=g;g=O[j[j[n>>2]+28>>2]](n,h[i+1|0])|0;l=j[f>>2];j[f>>2]=l+1;h[l|0]=g;i=i+2|0;g=i;while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(!(l-48>>>0<10|(l|32)-97>>>0<6)){break c}g=g+1|0;continue}}while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(l-48>>>0>=10){break c}g=g+1|0;continue}}if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}d:{if(!o){O[j[j[n>>2]+32>>2]](n,i,g,j[f>>2])|0;j[f>>2]=j[f>>2]+(g-i|0);break d}pc(i,g);t=O[j[j[r>>2]+16>>2]](r)|0;l=i;while(1){if(g>>>0<=l>>>0){pc((i-a|0)+d|0,j[f>>2])}else{if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}s=h[o+p|0]!=(q|0);if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}if(!(s|h[o+p|0]<1)){q=j[f>>2];j[f>>2]=q+1;h[q|0]=t;if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}p=(o-1>>>0>p>>>0)+p|0;q=0}o=O[j[j[n>>2]+28>>2]](n,h[l|0])|0;s=j[f>>2];j[f>>2]=s+1;h[s|0]=o;l=l+1|0;q=q+1|0;continue}break}}while(1){e:{i=n;if(c>>>0>g>>>0){p=k[g|0];if((p|0)!=46){break e}p=O[j[j[r>>2]+12>>2]](r)|0;l=j[f>>2];j[f>>2]=l+1;h[l|0]=p;g=g+1|0}O[j[j[n>>2]+32>>2]](i,g,c,j[f>>2])|0;i=f;f=j[f>>2]+(c-g|0)|0;j[i>>2]=f;j[e>>2]=(b|0)==(c|0)?f:(b-a|0)+d|0;Y(m);M=m+16|0;return}i=O[j[j[n>>2]+28>>2]](n,p<<24>>24)|0;p=j[f>>2];j[f>>2]=p+1;h[p|0]=i;g=g+1|0;continue}}function ql(a,b,c,d,e,f,g,i,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a=M-464|0;M=a;j[a+16>>2]=f;j[a+20>>2]=g;j[a+24>>2]=i;j[a+28>>2]=l;j[a+348>>2]=a+352;m=oh(a+352|0,a+16|0);j[a+240>>2]=77;o=Da(a+232|0,0,a+240|0);j[a+240>>2]=77;n=Da(a+224|0,0,a+240|0);r=a+240|0;a:{if(m>>>0>=100){q=ra();j[a>>2]=f;j[a+4>>2]=g;j[a+8>>2]=i;j[a+12>>2]=l;m=Sb(a+348|0,q,127871,a);f=j[a+348>>2];if(!f){break a}g=j[o>>2];j[o>>2]=f;if(g){O[j[o+4>>2]](g)}f=ja(m);g=j[n>>2];j[n>>2]=f;if(g){O[j[n+4>>2]](g)}if(j[n>>2]!=0^1){break a}r=j[n>>2]}f=j[d+28>>2];j[a+216>>2]=f;j[f+4>>2]=j[f+4>>2]+1;i=sb(a+216|0);g=i;f=j[a+348>>2];O[j[j[g>>2]+32>>2]](g,f,f+m|0,r)|0;s=m?k[j[a+348>>2]]==45:s;q=ga(a+192|0);p=ga(a+176|0);g=ga(a+160|0);Wf(c,s,a+216|0,a+208|0,a+207|0,a+206|0,q,p,g,a+156|0);j[a+48>>2]=77;l=Da(a+40|0,0,a+48|0);c=j[a+156>>2];b:{if((c|0)<(m|0)){if(k[g+11|0]>>>7|0){f=j[g+4>>2]}else{f=k[g+11|0]}f=f+(m-c<<1|1)|0;break b}if(k[g+11|0]>>>7|0){c=j[g+4>>2]}else{c=k[g+11|0]}f=c+2|0}c=a+48|0;u=j[a+156>>2];if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}f=u+(t+f|0)|0;if(f>>>0>=101){c=ja(f);f=j[l>>2];j[l>>2]=c;if(f){O[j[l+4>>2]](f)}c=j[l>>2];if(!c){break a}}Vf(c,a+36|0,a+32|0,j[d+4>>2],r,m+r|0,i,s,a+208|0,h[a+207|0],h[a+206|0],q,p,g,j[a+156>>2]);b=$b(b,c,j[a+36>>2],j[a+32>>2],d,e);c=j[l>>2];j[l>>2]=0;if(c){O[j[l+4>>2]](c)}Y(g);Y(p);Y(q);d=j[a+216>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}c=j[n>>2];j[n>>2]=0;if(c){O[j[n+4>>2]](c)}c=j[o>>2];j[o>>2]=0;if(c){O[j[o+4>>2]](c)}M=a+464|0;return b|0}Fa();z()}function Qq(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0;a:{e=j[a+8>>2];b:{if((e|0)!=j[a+12>>2]){break b}c=j[a+4>>2];d=j[a>>2];if(c>>>0>d>>>0){f=p((((c-d|0)/12|0)+1|0)/-2|0,12);d=f+c|0;if((c|0)!=(e|0)){while(1){if(h[d+11|0]<=-1){T(j[d>>2])}g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];h[c+11|0]=0;h[c|0]=0;d=d+12|0;c=c+12|0;if((e|0)!=(c|0)){continue}break}e=j[a+4>>2]}j[a+8>>2]=d;j[a+4>>2]=e+f;break b}f=e-d|0;f=f?(f|0)/12<<1:1;if(f>>>0>=357913942){break a}g=p(f,12);i=U(g);m=i+g|0;f=p(f>>>2|0,12)+i|0;g=e-c|0;k=(g|0)/12|0;c:{if(!g){g=f;break c}k=p(k,12);l=g-12|0;e=((l>>>0)/12|0)+1&3;d:{if(!e){d=f;break d}d=f;while(1){g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;c=c+12|0;d=d+12|0;e=e-1|0;if(e){continue}break}}g=f+k|0;if(l>>>0>=36){while(1){e=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=e;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[d+20>>2]=j[c+20>>2];e=j[c+16>>2];j[d+12>>2]=j[c+12>>2];j[d+16>>2]=e;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[d+32>>2]=j[c+32>>2];e=j[c+28>>2];j[d+24>>2]=j[c+24>>2];j[d+28>>2]=e;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[d+44>>2]=j[c+44>>2];e=j[c+40>>2];j[d+36>>2]=j[c+36>>2];j[d+40>>2]=e;j[c+44>>2]=0;j[c+36>>2]=0;j[c+40>>2]=0;c=c+48|0;d=d+48|0;if((g|0)!=(d|0)){continue}break}}e=j[a+8>>2];c=j[a+4>>2];d=j[a>>2]}j[a+12>>2]=m;j[a+8>>2]=g;j[a+4>>2]=f;j[a>>2]=i;if((c|0)!=(e|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((e|0)!=(c|0)){continue}break}}if(!d){break b}T(d)}ha(j[a+8>>2],b);j[a+8>>2]=j[a+8>>2]+12;return}D();z()}function ep(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;d=M-160|0;M=d;a:{b:{e=j[b+4>>2];f=j[c+4>>2];if((e|0)==(f|0)){break b}i=j[a+20>>2];g=j[c>>2];h=j[b>>2];if(i>>>0>=(p(g-h>>2,341)+((f-j[g>>2]|0)/12|0)|0)+((e-j[h>>2]|0)/-12|0)>>>0){break b}f=j[b>>2];g=j[b+4>>2];c:{if(!i){break c}b=f;e=i+((g-j[b>>2]|0)/12|0)|0;if((e|0)>=1){i=(e>>>0)/341|0;h=b+(i<<2)|0;e=j[h>>2]+p(e-p(i,341)|0,12)|0;break c}e=340-e|0;h=b+((e|0)/-341<<2)|0;e=j[h>>2]+p(340-((e|0)%341|0)|0,12)|0}j[d+148>>2]=e;j[d+144>>2]=h;j[d+152>>2]=f;j[d+156>>2]=g;b=j[a+4>>2];g=j[a+16>>2];i=(g>>>0)/341|0;f=b+(i<<2)|0;j[d+140>>2]=(b|0)!=j[a+8>>2]?j[f>>2]+p(g-p(i,341)|0,12)|0:0;j[d+136>>2]=f;b=j[d+156>>2];j[d+72>>2]=j[d+152>>2];j[d+76>>2]=b;b=j[d+148>>2];j[d+64>>2]=j[d+144>>2];j[d+68>>2]=b;b=j[d+140>>2];j[d+56>>2]=j[d+136>>2];j[d+60>>2]=b;yh(d+128|0,d+72|0,d- -64|0,d+56|0);j[d+124>>2]=e;j[d+120>>2]=h;b=j[c+4>>2];c=j[c>>2];j[d+112>>2]=c;j[d+116>>2]=b;f=j[d+124>>2];j[d+48>>2]=j[d+120>>2];j[d+52>>2]=f;j[d+40>>2]=c;j[d+44>>2]=b;dp(a,d+48|0,d+40|0);break a}f=j[b+4>>2];j[d+96>>2]=j[b>>2];j[d+100>>2]=f;b=j[c+4>>2];j[d+88>>2]=j[c>>2];j[d+92>>2]=b;h=j[a+4>>2];g=j[a+16>>2];e=(g>>>0)/341|0;c=h+(e<<2)|0;b=d;if((h|0)==j[a+8>>2]){f=0}else{f=j[c>>2]+p(g-p(e,341)|0,12)|0}j[b+84>>2]=f;j[d+80>>2]=c;b=j[d+100>>2];j[d+32>>2]=j[d+96>>2];j[d+36>>2]=b;b=j[d+92>>2];j[d+24>>2]=j[d+88>>2];j[d+28>>2]=b;b=j[d+84>>2];j[d+16>>2]=j[d+80>>2];j[d+20>>2]=b;yh(d+128|0,d+32|0,d+24|0,d+16|0);b=j[d+132>>2];c=j[d+128>>2];j[d+104>>2]=c;j[d+108>>2]=b;j[d+8>>2]=c;j[d+12>>2]=b;cp(a,d+8|0)}M=d+160|0}function Yc(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;f=M-16|0;M=f;a:{if(h[c+11|0]<=-1){h[j[c>>2]]=0;j[c+4>>2]=0;break a}h[c+11|0]=0;h[c|0]=0}i=k[b+11|0];d=i<<24>>24<0;q=d?j[b+4>>2]:i;if(q){r=d?j[b>>2]:b;while(1){o=m+r|0;b:{c:{b=j[a+8>>2];d:{if((b|0)<=0){i=-1;break d}i=-1;b=b-1|0;n=j[a>>2];g=0;while(1){e=b+g>>>1|0;d=j[n+(e<<2)>>2];l=h[d+11|0];e:{if((l|0)<=-1){l=j[d+4>>2];d=j[d>>2];break e}l=l&255}l=Eb(o,d,l);d=(l|0)<0;i=d?i:l?i:e;b=d?e-1|0:b;g=d?g:e+1|0;if((b|0)>=(g|0)){continue}break}if((i|0)>-1){break c}}d=0;j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;b=0;break b}d=W(o);e=m?2:3;l=!m;g=j[n+(i<<2)>>2];b=h[g+11|0];f:{if((b|0)<=-1){b=j[g+4>>2];break f}b=b&255}b=(b|0)==(d|0)?e:l;g:{if(!b){d=0;break g}h:{if(!m){d=g+p(b,12)|0;e=h[d+23|0];i:{if((e|0)>=0){d=e&255;break i}d=j[d+16>>2]}if(d){d=b;break g}d=b-1|0;if(d){break h}d=0;break g}while(1){d=g+p(b,12)|0;e=h[d+23|0];j:{if((e|0)<=-1){d=j[d+16>>2];break j}d=e&255}if(d){d=b;break g}d=0;b=(b|0)==2?0:b-1|0;if(b){continue}break}break g}e=g+p(d,12)|0;n=h[e+23|0];k:{if((n|0)>=0){e=n&255;break k}e=j[e+16>>2]}if(e){break g}d=0;b=b-2|0;if(!b){break g}d=g+p(b,12)|0;e=h[d+23|0];if((e|0)>=0){d=e&255?b:0;break g}d=j[d+16>>2]?b:0}ha(f,(g+p(d,12)|0)+12|0);d=j[f+4>>2];b=k[f+11|0]}e=b&255;b=b<<24>>24<0;d=b?d:e;l:{if(d){aa(c,b?j[f>>2]:f,d);b=j[j[a>>2]+(i<<2)>>2];d=h[b+11|0];m:{if((d|0)<=-1){b=j[b+4>>2];break m}b=d&255}m=(b+m|0)-1|0;s=1;break l}Z(c,h[o|0])}if(h[f+11|0]<=-1){T(j[f>>2])}m=m+1|0;if(q>>>0>m>>>0){continue}break}}M=f+16|0;return s}function Ke(a,b,c,d,e,f,g,i,l){var m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;a:{u=b+d|0;if(k[u|0]){n=j[g+4>>2];q=j[g>>2];if((n|0)!=(q|0)){while(1){s=0;t=p(v,12);m=t+q|0;r=j[m+4>>2];o=j[m>>2];if((r|0)!=(o|0)){while(1){m=p(s,12)+o|0;n=h[m+11|0];b:{if((n|0)<=-1){n=j[m+4>>2];m=j[m>>2];break b}n=n&255}c:{if(Eb(m,u,n)){break c}x=1;if((o|0)==(r|0)){break c}m=k[c+11|0];r=m<<24>>24<0?j[c+4>>2]:m;n=d+n|0;o=0;while(1){d:{Wa(c,r);m=j[t+j[g>>2]>>2]+p(o,12)|0;w=k[m+11|0];q=w<<24>>24<0;aa(c,q?j[m>>2]:m,q?j[m+4>>2]:w);Ke(a,b,c,n,e,f,g,i,l);if(!j[i>>2]){break d}o=o+1|0;q=j[g>>2];m=t+q|0;if(o>>>0<(j[m+4>>2]-j[m>>2]|0)/12>>>0){continue}break c}break}break a}s=s+1|0;m=q+t|0;r=j[m+4>>2];o=j[m>>2];if(s>>>0<(r-o|0)/12>>>0){continue}break}n=j[g+4>>2]}v=v+1|0;if(v>>>0<(n-q|0)/12>>>0){continue}break}if(x){break a}}Z(c,h[u|0]);Ke(a,b,c,d+1|0,e,f,g,i,l);break a}b=j[e+4>>2];n=j[e>>2];if((b|0)!=(n|0)){b=(b-n|0)/12|0;s=b>>>0>1?b:1;d=k[c+11|0];g=d<<24>>24<0;b=g?j[c>>2]:c;d=g?j[c+4>>2]:d;while(1){g=n+p(q,12)|0;o=k[g+11|0];m=o<<24>>24<0;e:{if((d|0)!=((m?j[g+4>>2]:o)|0)){break e}r=j[g>>2];if(!m){if(!d){break a}m=b;if(k[m|0]!=(r&255)){break e}while(1){o=o-1|0;if(!o){break a}r=k[m+1|0];m=m+1|0;g=g+1|0;if((r|0)==k[g|0]){continue}break}break e}if(!d){break a}if(!qa(m?r:g,b,d)){break a}}q=q+1|0;if((s|0)!=(q|0)){continue}break}}if(!cc(a,c,f,i,l)){break a}b=j[a+48>>2];a=j[e+4>>2];if(b>>>0<=(a-j[e>>2]|0)/12>>>0){break a}if((a|0)!=j[e+8>>2]){y=e,z=ha(a,c)+12|0,j[y+4>>2]=z;break a}Wb(e,c)}}function lq(a,b,c){var d=0,e=0,f=0,g=0,i=0,k=0,l=0;d=M-16|0;M=d;j[a+52>>2]=0;j[a+44>>2]=c;j[a+28>>2]=0;j[a+32>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;j[a>>2]=0;j[a+4>>2]=0;j[a+56>>2]=0;j[a+60>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;j[a+72>>2]=3;j[a+76>>2]=0;j[a+64>>2]=0;j[a+68>>2]=4;j[a+48>>2]=15;j[a+36>>2]=0;j[a+16>>2]=0;a:{b:{if(!c){break b}j[a+60>>2]=j[c+4456>>2];k=a,l=ck(j[a+44>>2]),j[k>>2]=l;j[a+64>>2]=j[j[a+44>>2]+4300>>2];if(j[j[a+44>>2]+4284>>2]>=0){j[a+68>>2]=j[j[a+44>>2]+4284>>2]}j[a+56>>2]=j[j[a+44>>2]+4144>>2];if(j[j[a+44>>2]+4288>>2]>=0){j[a+72>>2]=j[j[a+44>>2]+4288>>2]}if(!j[a+56>>2]){k=a,l=_c(Bg(j[a+44>>2])),j[k+52>>2]=l}j[a+76>>2]=j[j[a+44>>2]+4148>>2];f=j[a>>2];if(!f){break b}if(j[a+56>>2]){g=W(f);if(g>>>0>=4294967280){break a}i=a+8|0;c:{d:{if(g>>>0>=11){e=g+16&-16;c=U(e);j[d+8>>2]=e|-2147483648;j[d>>2]=c;j[d+4>>2]=g;e=d;break d}h[d+11|0]=g;e=d;c=d;if(!g){break c}}V(c,f,g)}h[c+g|0]=0;k=a,l=ia(i,d),j[k+4>>2]=l;if(h[e+11|0]>-1){break b}T(j[d>>2]);break b}k=a,l=W(f),j[k+4>>2]=l}g=a;e:{f:{if(!b){break f}e=cb(b);j[a+20>>2]=e;c=0;if(!e){break e}k=a,l=W(e),j[k+24>>2]=l;if(!j[a+56>>2]){break f}f=W(b);if(f>>>0>=4294967280){break a}i=a+28|0;g:{h:{if(f>>>0>=11){c=f+16&-16;e=U(c);j[d+8>>2]=c|-2147483648;j[d>>2]=e;j[d+4>>2]=f;c=d;break h}h[d+11|0]=f;c=d;e=d;if(!f){break g}}V(e,b,f)}h[e+f|0]=0;k=a,l=ia(i,d),j[k+24>>2]=l;if(h[c+11|0]>-1){break f}T(j[d>>2])}a=j[a+20>>2];c=0;if(!a){break e}c=1;if(Ya(a,45)){break e}c=(Ya(a,97)|0)!=0}h[g+40|0]=c;M=d+16|0;return}X();z()}function bc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=j[c+4>>2];m=j[c>>2];c=e-m|0;if(!c){return 0}s=c>>1;f=j[b+4>>2];n=j[b>>2];b=f-n|0;t=b>>1;a:{if((a|0)<1){break a}e=m-e|0;e=((c|0)<(e|0)?e:c)>>>1|0;c=(c|0)>-1?c:-1;o=p(e,(c|0)<1?c:1);i=d&8;c=n-f|0;c=((b|0)<(c|0)?c:b)>>>1|0;b=(b|0)>-1?b:-1;r=p(c,(b|0)<1?b:1);q=r;c=1;while(1){b=u;u=b+1|0;e=0;f=c;h=t-c|0;b:{if((h|0)<0){break b}if((f|0)>(s|0)){e=r-b|0;g=e&1;b=0;c=0;if((r|0)!=(u|0)){e=e&-2;while(1){c=i?(b?(b|0)==(h|0)?-2:-1:-2)+c|0:c;c=i?c+((h|0)==(b|1)?-2:-1)|0:c;b=b+2|0;e=e-2|0;if(e){continue}break}}e=c;if(!g|!i){break b}e=(b?(b|0)==(h|0)?-2:-1:-2)+e|0;break b}b=0;if(!i){while(1){g=0;while(1){c=0;c:{d:{e:{while(1){h=(b+c<<1)+n|0;l=(c+g<<1)+m|0;if(!(k[h|0]!=k[l|0]|k[h+1|0]!=k[l+1|0])){c=c+1|0;if((f|0)!=(c|0)){continue}break e}break}if((c|0)!=(f|0)){break d}}e=e+1|0;break c}g=g+1|0;if((o|0)!=(g|0)){continue}}break}b=b+1|0;if((q|0)!=(b|0)){continue}break b}}while(1){g=0;f:{g:{while(1){c=0;h:{while(1){l=(b+c<<1)+n|0;v=(c+g<<1)+m|0;if(!(k[l|0]!=k[v|0]|k[l+1|0]!=k[v+1|0])){c=c+1|0;if((f|0)!=(c|0)){continue}break h}break}if((c|0)==(f|0)){break h}g=g+1|0;if((o|0)==(g|0)){break g}continue}break}e=e+1|0;break f}if((c|0)==(f|0)){break f}e=(b?(b|0)==(h|0)?-2:-1:-2)+e|0}b=b+1|0;if((q|0)!=(b|0)){continue}break}}w=e+w|0;if((e|0)<2?!i:0){break a}q=q-1|0;o=o-1|0;c=f+1|0;if((a|0)!=(f|0)){continue}break}}a=s-t|0;b=a>>31;a=d&2?(b^a+b)-2|0:a-2&0-(d&1);return w-((a|0)>0?a:0)|0}function fe(a,b,c,d,e){var f=0,g=0,i=0,j=0;j=k[c|0]|k[c+1|0]<<8;f=k[b|0]|k[b+1|0]<<8;g=k[a|0]|k[a+1|0]<<8;a:{if(f>>>0>=g>>>0){if(f>>>0<=j>>>0){f=j;break a}h[b|0]=j;h[b+1|0]=j>>>8;h[c|0]=f;h[c+1|0]=f>>>8;i=1;g=k[b|0]|k[b+1|0]<<8;j=k[a|0]|k[a+1|0]<<8;if(g>>>0>=j>>>0){break a}h[a|0]=g;h[a+1|0]=g>>>8;h[b|0]=j;h[b+1|0]=j>>>8;f=k[c|0]|k[c+1|0]<<8;i=2;break a}b:{if(f>>>0>j>>>0){h[a|0]=j;h[a+1|0]=j>>>8;h[c|0]=g;h[c+1|0]=g>>>8;i=1;break b}h[a|0]=f;h[a+1|0]=f>>>8;h[b|0]=g;h[b+1|0]=g>>>8;i=1;f=k[c|0]|k[c+1|0]<<8;if(g>>>0<=f>>>0){break a}h[b|0]=f;h[b+1|0]=f>>>8;h[c|0]=g;h[c+1|0]=g>>>8;i=2}f=g}g=k[d|0]|k[d+1|0]<<8;c:{if(g>>>0>=(f&65535)>>>0){break c}h[c|0]=g;h[c+1|0]=g>>>8;h[d|0]=f;h[d+1|0]=f>>>8;f=k[c|0]|k[c+1|0]<<8;g=k[b|0]|k[b+1|0]<<8;if(f>>>0>=g>>>0){i=i+1|0;break c}h[b|0]=f;h[b+1|0]=f>>>8;h[c|0]=g;h[c+1|0]=g>>>8;f=k[b|0]|k[b+1|0]<<8;g=k[a|0]|k[a+1|0]<<8;if(f>>>0>=g>>>0){i=i+2|0;break c}h[a|0]=f;h[a+1|0]=f>>>8;h[b|0]=g;h[b+1|0]=g>>>8;i=i+3|0}f=k[e|0]|k[e+1|0]<<8;g=k[d|0]|k[d+1|0]<<8;if(f>>>0>>0){h[d|0]=f;h[d+1|0]=f>>>8;h[e|0]=g;h[e+1|0]=g>>>8;e=k[d|0]|k[d+1|0]<<8;f=k[c|0]|k[c+1|0]<<8;if(e>>>0>=f>>>0){return i+1|0}h[c|0]=e;h[c+1|0]=e>>>8;h[d|0]=f;h[d+1|0]=f>>>8;d=k[c|0]|k[c+1|0]<<8;e=k[b|0]|k[b+1|0]<<8;if(d>>>0>=e>>>0){return i+2|0}h[b|0]=d;h[b+1|0]=d>>>8;h[c|0]=e;h[c+1|0]=e>>>8;c=k[b|0]|k[b+1|0]<<8;d=k[a|0]|k[a+1|0]<<8;if(c>>>0>=d>>>0){return i+3|0}h[a|0]=c;h[a+1|0]=c>>>8;h[b|0]=d;h[b+1|0]=d>>>8;i=i+4|0}return i}function ia(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0;c=j[a>>2];j[a+4>>2]=c;d=c;a:{b:{e=k[b+11|0];f=e<<24>>24<0;e=f?j[b+4>>2]:e;c:{if((e|0)>=1){b=f?j[b>>2]:b;m=e+b|0;while(1){f=0;d:{e:{f:{g:{h:{i:{d=k[b|0];switch((d>>>4|0)-8|0){case 0:case 1:case 2:case 3:break h;case 4:case 5:break i;case 7:break f;case 6:break g;default:break d}}c=k[b+1|0];if((c&192)==128){break e}}f=255;d=253;break d}f=255;c=k[b+1|0];if((c&192)!=128){d=253;break d}e=k[b+2|0];if((e&192)!=128){b=b+1|0;d=253;break d}b=b+2|0;f=c>>>2&15|d<<4;d=e&63|c<<6;break d}b=j[a+4>>2];if((b|0)!=j[a+8>>2]){h[b|0]=253;h[b+1|0]=255;j[a+4>>2]=b+2;return-1}c=j[a>>2];d=b-c|0;if((d|0)<=-3){break b}e=d>>1;f=e+1|0;f=e>>>0<1073741823?d>>>0>>0?f:d:2147483647;b=0;j:{if(!f){break j}if((f|0)<=-1){break a}b=U(f<<1)}e=b+(e<<1)|0;h[e|0]=253;h[e+1|0]=255;if((d|0)>=1){V(b,c,d)}j[a+8>>2]=b+(f<<1);j[a+4>>2]=e+2;j[a>>2]=b;a=-1;if(!c){break c}T(c);return-1}b=b+1|0;f=d>>>2&7;d=c&63|d<<6}c=j[a+4>>2];k:{if((c|0)!=j[a+8>>2]){d=d&255|f<<8;h[c|0]=d;h[c+1|0]=d>>>8;j[a+4>>2]=c+2;break k}l=j[a>>2];e=c-l|0;if((e|0)<=-3){break b}g=e>>1;i=g+1|0;i=g>>>0<1073741823?e>>>0>>0?i:e:2147483647;c=0;l:{if(!i){break l}if((i|0)<=-1){break a}c=U(i<<1)}g=c+(g<<1)|0;d=d&255|f<<8;h[g|0]=d;h[g+1|0]=d>>>8;if((e|0)>=1){V(c,l,e)}j[a+8>>2]=(i<<1)+c;j[a+4>>2]=g+2;j[a>>2]=c;if(!l){break k}T(l)}b=b+1|0;if(m>>>0>b>>>0){continue}break}c=j[a>>2];d=j[a+4>>2]}a=d-c>>1}return a}X();z()}D();z()}function gq(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0;g=M-32|0;M=g;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;a:{b:{if(!d){d=0;break b}if((d|0)<=-1){break a}i=d<<1;f=U(i);j[g+16>>2]=f;d=(d<<1)+f|0;j[g+24>>2]=d;V(f,c,i);j[g+20>>2]=d}i=d-f|0;if(i>>1>>>0>1){d=0;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;c:{if((i|0)==2){break c}while(1){l=d<<1;i=l+f|0;m=k[i|0]|k[i+1|0]<<8;d=d+1|0;n=d<<1;f=n+f|0;o=k[f|0]|k[f+1|0]<<8;h[i|0]=o;h[i+1|0]=o>>>8;h[f|0]=m;h[f+1|0]=m>>>8;da(g,g+16|0);wa(a,b,g,e,0,0);i=j[g+16>>2];f=i+l|0;m=k[f|0]|k[f+1|0]<<8;i=i+n|0;l=k[i|0]|k[i+1|0]<<8;h[f|0]=l;h[f+1|0]=l>>>8;h[i|0]=m;h[i+1|0]=m>>>8;f=j[g+16>>2];i=j[g+20>>2]-f|0;if((i>>1)-1>>>0>d>>>0){continue}break}if((i&-4)!=8){break c}d=k[c+2|0]|k[c+3|0]<<8;h[f|0]=d;h[f+1|0]=d>>>8;d=j[g+16>>2];f=k[c|0]|k[c+1|0]<<8;h[d+2|0]=f;h[d+3|0]=f>>>8;d=j[g+16>>2];f=k[c+4|0]|k[c+5|0]<<8;h[d+4|0]=f;h[d+5|0]=f>>>8;f=j[g+20>>2];i=f-4|0;d=((f-d|0)+c|0)-2|0;d=k[d|0]|k[d+1|0]<<8;h[i|0]=d;h[i+1|0]=d>>>8;d=j[g+20>>2];f=d-2|0;d=((d-j[g+16>>2]|0)+c|0)-4|0;d=k[d|0]|k[d+1|0]<<8;h[f|0]=d;h[f+1|0]=d>>>8;da(g,g+16|0);wa(a,b,g,e,0,0);d=j[g+16>>2];if((j[g+20>>2]-d|0)!=10){break c}f=k[c|0]|k[c+1|0]<<8;h[d|0]=f;h[d+1|0]=f>>>8;d=j[g+16>>2];f=k[c+4|0]|k[c+5|0]<<8;h[d+2|0]=f;h[d+3|0]=f>>>8;d=j[g+16>>2];c=k[c+2|0]|k[c+3|0]<<8;h[d+4|0]=c;h[d+5|0]=c>>>8;da(g,g+16|0);wa(a,b,g,e,0,0)}if(h[g+11|0]<=-1){T(j[g>>2])}f=j[g+16>>2]}if(f){j[g+20>>2]=f;T(f)}M=g+32|0;return}X();z()}function Qc(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:while(1){g=b-2|0;d=a;b:while(1){c:{d:{e:{f:{g:{h:{i:{j:{e=b-d|0;a=e>>1;switch(a|0){case 2:break j;case 0:case 1:break c;case 3:break f;case 5:break h;case 4:break i;default:break g}}a=b-2|0;if(l[a>>1]>=l[d>>1]){break c}$a(d,a);return}_d(d,d+2|0,d+4|0,b-2|0);return}Zd(d,d+2|0,d+4|0,d+6|0,b-2|0);return}if((e|0)<=61){Ri(d,b);return}f=((a|0)/2<<1)+d|0;k:{if((e|0)>=1999){a=(a|0)/4<<1;h=Zd(d,a+d|0,f,a+f|0,g);break k}h=wc(d,f,g)}a=g;if(l[d>>1]>=l[f>>1]){while(1){a=a-2|0;if((d|0)==(a|0)){f=d+2|0;if(l[d>>1]>1]){break d}while(1){if((f|0)==(g|0)){break c}if(l[d>>1]>1]){$a(f,g);f=f+2|0;break d}else{f=f+2|0;continue}}}if(l[a>>1]>=l[f>>1]){continue}break}$a(d,a);h=h+1|0}e=d+2|0;if(e>>>0>=a>>>0){break e}while(1){g=e;e=e+2|0;if(l[g>>1]>1]){continue}while(1){a=a-2|0;if(l[a>>1]>=l[f>>1]){continue}break}if(a>>>0>>0){e=g;break e}else{$a(g,a);f=(f|0)==(g|0)?a:f;h=h+1|0;continue}}}wc(d,d+2|0,b-2|0);break c}if(!((e|0)==(f|0)|l[f>>1]>=l[e>>1])){$a(e,f);h=h+1|0}if(!h){g=nf(d,e);a=e+2|0;if(nf(a,b)){b=e;a=d;if(!g){continue a}break c}if(g){continue a}}if((e-d|0)<(b-e|0)){Qc(d,e,c);a=e+2|0;continue a}Qc(e+2|0,b,c);b=e;a=d;continue a}a=g;if((f|0)==(a|0)){break c}while(1){e=f;f=e+2|0;if(l[d>>1]>=l[e>>1]){continue}while(1){a=a-2|0;if(l[d>>1]>1]){continue}break}if(a>>>0<=e>>>0){d=e;continue b}else{$a(e,a);continue}}}break}break}}function zi(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0;g=M-16|0;M=g;Ab(g,a,10);a:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break a}h[a+11|0]=0;h[a|0]=0}f=j[g>>2];b:{if((f|0)==j[g+4>>2]){c=f;break b}ua(a,f);f=j[g+4>>2];c=j[g>>2];if((f-c|0)/12>>>0<2){break b}l=1;while(1){q=p(l,12);d=q+c|0;n=k[d+11|0];b=n<<24>>24;o=(b|0)<0?j[d+4>>2]:n;c:{d:{if((b|0)<=-1){e=0;if(!o){while(1){b=p(e,12)+c|0;d=k[b+11|0];if(!(d<<24>>24<0?j[b+4>>2]:d)){break c}e=e+1|0;if((l|0)!=(e|0)){continue}break d}}while(1){b=p(e,12)+c|0;i=k[b+11|0];n=i<<24>>24<0;if(((n?j[b+4>>2]:i)|0)==(o|0)){if(!qa(j[d>>2],n?j[b>>2]:b,o)){break c}}e=e+1|0;if((l|0)!=(e|0)){continue}break}break d}m=0;if(!o){while(1){b=p(m,12)+c|0;d=k[b+11|0];if(!(d<<24>>24<0?j[b+4>>2]:d)){break c}m=m+1|0;if((m|0)!=(l|0)){continue}break d}}while(1){b=p(m,12)+c|0;e=k[b+11|0];i=e<<24>>24<0;e:{if(((i?j[b+4>>2]:e)|0)!=(o|0)){break e}e=i?j[b>>2]:b;b=d;i=n;while(1){if(k[b|0]!=k[e|0]){break e}e=e+1|0;b=b+1|0;i=i-1|0;if(i){continue}break}break c}m=m+1|0;if((m|0)!=(l|0)){continue}break}}f=a;d=k[a+11|0];if(d<<24>>24<0?j[a+4>>2]:d){Z(a,10);c=j[g>>2]}c=c+q|0;b=k[c+11|0];d=b<<24>>24<0;aa(f,d?j[c>>2]:c,d?j[c+4>>2]:b);c=j[g>>2];f=j[g+4>>2]}l=l+1|0;if(l>>>0<(f-c|0)/12>>>0){continue}break}}if(c){if((c|0)==(f|0)){a=c}else{while(1){a=f-12|0;if(h[f-1|0]<=-1){T(j[a>>2])}f=a;if((a|0)!=(c|0)){continue}break}a=j[g>>2]}j[g+4>>2]=c;T(a)}M=g+16|0}function pd(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=M-128|0;M=m;j[m+120>>2]=b;j[m+16>>2]=77;q=Da(m+8|0,0,m+16|0);n=m+16|0;a:{o=(d-c|0)/12|0;if(o>>>0>=101){n=ja(o);if(!n){break a}b=j[q>>2];j[q>>2]=n;if(b){O[j[q+4>>2]](b)}}i=n;b=c;while(1)if((b|0)==(d|0)){b:while(1){c:{if(!(kb(a,m+120|0)?o:0)){if(Ra(a,m+120|0)){j[f>>2]=j[f>>2]|2}break c}i=j[a>>2];b=j[i+12>>2];d:{if((b|0)==j[i+16>>2]){b=O[j[j[i>>2]+36>>2]](i)|0;break d}b=j[b>>2]}r=b;if(!g){r=O[j[j[e>>2]+28>>2]](e,r)|0}t=s+1|0;u=0;i=n;b=c;while(1)if((b|0)==(d|0)){s=t;if(!u){continue b}Na(a);i=n;b=c;if(o+p>>>0<2){continue b}while(1){if((b|0)==(d|0)){continue b}if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if(!((l|0)==(s|0)|k[i|0]!=2)){h[i|0]=0;p=p-1|0}i=i+1|0;b=b+12|0;continue}}else{e:{if(k[i|0]!=1){break e}if(k[b+11|0]>>>7|0){l=j[b>>2]}else{l=b}l=j[l+(s<<2)>>2];if(!g){l=O[j[j[e>>2]+28>>2]](e,l)|0}f:{if((r|0)==(l|0)){u=1;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if((l|0)!=(t|0)){break e}h[i|0]=2;p=p+1|0;break f}h[i|0]=0}o=o-1|0}i=i+1|0;b=b+12|0;continue}}break}g:{h:{while(1){if((c|0)==(d|0)){break h}if(k[n|0]!=2){n=n+1|0;c=c+12|0;continue}break}d=c;break g}j[f>>2]=j[f>>2]|4}a=q;b=j[a>>2];j[a>>2]=0;if(b){O[j[a+4>>2]](b)}M=m+128|0;return d}else{if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}i:{if(l){h[i|0]=1;break i}h[i|0]=2;p=p+1|0;o=o-1|0}i=i+1|0;b=b+12|0;continue}}Fa();z()}function ml(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a=M-496|0;M=a;g=j[d+28>>2];j[a+488>>2]=g;j[g+4>>2]=j[g+4>>2]+1;n=rb(a+488|0);h=c;c=f;g=j[f+4>>2];a:{if(k[f+11|0]>>>7|0){break a}g=k[c+11|0]}if(g){if(k[c+11|0]>>>7|0){g=j[c>>2]}else{g=c}q=j[g>>2]==(O[j[j[n>>2]+44>>2]](n,45)|0)}o=ga(a+456|0);m=ga(a+440|0);i=ga(a+424|0);Uf(h,q,a+488|0,a+480|0,a+476|0,a+472|0,o,m,i,a+420|0);j[a+16>>2]=77;l=Da(a+8|0,0,a+16|0);if(k[c+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}b:{if((c|0)>j[a+420>>2]){if(k[f+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}g=j[a+420>>2];if(k[i+11|0]>>>7|0){h=j[i+4>>2]}else{h=k[i+11|0]}g=(h+(c-g<<1)|0)+1|0;break b}if(k[i+11|0]>>>7|0){c=j[i+4>>2]}else{c=k[i+11|0]}g=c+2|0}c=a+16|0;c:{p=j[a+420>>2];if(k[m+11|0]>>>7|0){h=j[m+4>>2]}else{h=k[m+11|0]}g=p+(h+g|0)|0;if(g>>>0<101){break c}c=ja(g<<2);g=j[l>>2];j[l>>2]=c;if(g){O[j[l+4>>2]](g)}c=j[l>>2];if(c){break c}Fa();z()}h=c;r=a+4|0;p=a;s=j[d+4>>2];if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}t=g;if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}Tf(h,r,p,s,t,g+(f<<2)|0,n,q,a+480|0,j[a+476>>2],j[a+472>>2],o,m,i,j[a+420>>2]);b=_b(b,c,j[a+4>>2],j[a>>2],d,e);c=j[l>>2];j[l>>2]=0;if(c){O[j[l+4>>2]](c)}Y(i);Y(m);Y(o);d=j[a+488>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}M=a+496|0;return b|0}function sq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=M-16|0;M=f;a:{if(!j[a+64>>2]){b=-1;break a}d=j[a+92>>2]&8;b:{if(d){b=j[a+12>>2];break b}j[a+28>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;b=k[a+98|0];c=j[(b?52:60)+a>>2];b=j[(b?32:56)+a>>2];j[a+92>>2]=8;j[a+8>>2]=b;b=b+c|0;j[a+16>>2]=b;j[a+12>>2]=b}if(!b){b=f+16|0;j[a+16>>2]=b;j[a+12>>2]=b;j[a+8>>2]=f+15}c=j[a+16>>2];if(d){e=(c-j[a+8>>2]|0)/2|0;e=e>>>0<4?e:4}c:{d:{e:{if((b|0)==(c|0)){Ja(j[a+8>>2],b-e|0,e);if(k[a+98|0]){c=j[a+8>>2];c=vh(c+e|0,(j[a+16>>2]-e|0)-c|0,j[a+64>>2]);b=-1;if(!c){break c}b=j[a+8>>2]+e|0;j[a+12>>2]=b;j[a+16>>2]=b+c;b=k[b|0];break c}g=a;b=j[a+40>>2];c=j[a+36>>2];f:{if((b|0)==(c|0)){d=b;break f}Ja(j[a+32>>2],c,b-c|0);b=j[a+36>>2];d=j[a+40>>2]}c=j[a+32>>2];d=(d-b|0)+c|0;j[g+36>>2]=d;c=c+((c|0)==(a+44|0)?8:j[a+52>>2])|0;j[a+40>>2]=c;b=j[a+76>>2];j[a+80>>2]=j[a+72>>2];j[a+84>>2]=b;b=d;c=c-d|0;d=j[a+60>>2]-e|0;c=vh(b,c>>>0>>0?c:d,j[a+64>>2]);b=-1;if(!c){break c}b=j[a+68>>2];if(!b){break e}c=c+j[a+36>>2]|0;j[a+40>>2]=c;g=c;c=j[a+8>>2];if((O[j[j[b>>2]+16>>2]](b,a+72|0,j[a+32>>2],g,a+36|0,c+e|0,c+j[a+60>>2]|0,f+8|0)|0)==3){b=j[a+32>>2];j[a+8>>2]=b;c=j[a+40>>2];break d}b=j[a+8>>2]+e|0;c=j[f+8>>2];if((b|0)!=(c|0)){break d}b=-1;break c}b=k[b|0];break c}Fa();z()}j[a+16>>2]=c;j[a+12>>2]=b;b=k[b|0]}if(j[a+8>>2]!=(f+15|0)){break a}j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0}M=f+16|0;return b|0}function ol(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a=M-192|0;M=a;g=j[d+28>>2];j[a+184>>2]=g;j[g+4>>2]=j[g+4>>2]+1;o=sb(a+184|0);i=c;c=f;g=j[f+4>>2];a:{if(k[f+11|0]>>>7|0){break a}g=k[c+11|0]}if(g){if(k[c+11|0]>>>7|0){g=j[c>>2]}else{g=c}r=k[g|0]==(O[j[j[o>>2]+28>>2]](o,45)&255)}p=ga(a+160|0);n=ga(a+144|0);l=ga(a+128|0);Wf(i,r,a+184|0,a+176|0,a+175|0,a+174|0,p,n,l,a+124|0);j[a+16>>2]=77;m=Da(a+8|0,0,a+16|0);if(k[c+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}b:{if((c|0)>j[a+124>>2]){if(k[f+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}g=j[a+124>>2];if(k[l+11|0]>>>7|0){i=j[l+4>>2]}else{i=k[l+11|0]}g=(i+(c-g<<1)|0)+1|0;break b}if(k[l+11|0]>>>7|0){c=j[l+4>>2]}else{c=k[l+11|0]}g=c+2|0}c=a+16|0;c:{q=j[a+124>>2];if(k[n+11|0]>>>7|0){i=j[n+4>>2]}else{i=k[n+11|0]}g=q+(i+g|0)|0;if(g>>>0<101){break c}c=ja(g);g=j[m>>2];j[m>>2]=c;if(g){O[j[m+4>>2]](g)}c=j[m>>2];if(c){break c}Fa();z()}i=c;s=a+4|0;q=a;t=j[d+4>>2];if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}u=g;if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}Vf(i,s,q,t,u,g+f|0,o,r,a+176|0,h[a+175|0],h[a+174|0],p,n,l,j[a+124>>2]);b=$b(b,c,j[a+4>>2],j[a>>2],d,e);c=j[m>>2];j[m>>2]=0;if(c){O[j[m+4>>2]](c)}Y(l);Y(n);Y(p);d=j[a+184>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}M=a+192|0;return b|0}function be(a,b,c){var d=0,e=0,f=0,g=0,i=0;a:while(1){g=b-1|0;d=a;b:while(1){c:{d:{e:{f:{g:{h:{i:{j:{a=b-d|0;switch(a|0){case 2:break j;case 0:case 1:break c;case 3:break f;case 5:break h;case 4:break i;default:break g}}a=b-1|0;if(h[a|0]>=h[d|0]){break c}Xa(d,a);return}ae(d,d+1|0,d+2|0,b-1|0);return}$d(d,d+1|0,d+2|0,d+3|0,b-1|0);return}if((a|0)<=30){Si(d,b);return}e=(a>>>1|0)+d|0;k:{if((a|0)>=1e3){a=a>>>2|0;i=$d(d,a+d|0,e,a+e|0,g);break k}i=xc(d,e,g)}a=g;if(h[d|0]>=h[e|0]){while(1){a=a-1|0;if((d|0)==(a|0)){e=d+1|0;if(h[d|0]=h[e|0]){continue}break}Xa(d,a);i=i+1|0}f=d+1|0;if(f>>>0>=a>>>0){break e}while(1){g=f;f=f+1|0;if(h[g|0]=h[e|0]){continue}break}if(a>>>0>>0){f=g;break e}else{Xa(g,a);e=(e|0)==(g|0)?a:e;i=i+1|0;continue}}}xc(d,d+1|0,b-1|0);break c}if(!((e|0)==(f|0)|h[e|0]>=h[f|0])){Xa(f,e);i=i+1|0}if(!i){g=of(d,f);a=f+1|0;if(of(a,b)){b=f;a=d;if(!g){continue a}break c}if(g){continue a}}if((f-d|0)<(b-f|0)){be(d,f,c);a=f+1|0;continue a}be(f+1|0,b,c);b=f;a=d;continue a}a=g;if((e|0)==(a|0)){break c}while(1){f=e;e=f+1|0;if(h[d|0]>=h[f|0]){continue}while(1){a=a-1|0;if(h[d|0]>>0<=f>>>0){d=f;continue b}else{Xa(f,a);continue}}}break}break}}function fq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0;e=M-16|0;M=e;a:{b:{c:{i=W(c);if(i>>>0<4294967280){d:{e:{if(i>>>0>=11){m=i+16&-16;f=U(m);j[e+8>>2]=m|-2147483648;j[e>>2]=f;j[e+4>>2]=i;m=e;break e}h[e+11|0]=i;m=e;f=e;if(!i){break d}}V(f,c,i)}h[f+i|0]=0;f=k[m+11|0];g=f<<24>>24;if(((g|0)<0?j[e+4>>2]:f)>>>0<2){break a}f=0;f:{g:{while(1){h:{i:{j:{if(g<<24>>24<=-1){i=j[e+4>>2];if(i-1>>>0>f>>>0){break j}if((i|0)!=4){break h}f=k[c+1|0];break g}i=g&255;l=e;if(i-1>>>0>f>>>0){break i}if((g&255)!=4){break h}f=k[c+1|0];l=e;break f}l=j[e>>2]}i=f+1|0;g=l+i|0;n=k[g|0];l=f+l|0;h[g|0]=k[l|0];h[l|0]=n;wa(a,b,e,d,0,0);l=h[m+11|0]<0?j[e>>2]:e;g=l+i|0;n=k[g|0];f=f+l|0;h[g|0]=k[f|0];h[f|0]=n;g=k[m+11|0];f=i;continue}break}if((i|0)!=5){break a}f=k[c+1|0];l=e;if(g<<24>>24>-1){break f}}l=j[e>>2]}h[l|0]=f;i=e|1;h[(h[m+11|0]<0?j[e>>2]+1|0:i)|0]=k[c|0];l=e|2;h[(h[m+11|0]<0?j[e>>2]+2|0:l)|0]=k[c+2|0];f=k[m+11|0];g=f<<24>>24<0;f=g?j[e+4>>2]:f;h[((g?j[e>>2]:e)+f|0)-2|0]=k[(c+f|0)-1|0];f=k[m+11|0];g=f<<24>>24<0;f=g?j[e+4>>2]:f;h[((g?j[e>>2]:e)+f|0)-1|0]=k[(c+f|0)-2|0];wa(a,b,e,d,0,0);g=h[m+11|0];if((g|0)>-1){break c}if(j[e+4>>2]!=5){break a}f=j[e>>2];break b}X();z()}f=e;if((g|0)!=5){break a}}h[f|0]=k[c|0];h[(h[m+11|0]<0?j[e>>2]+1|0:i)|0]=k[c+2|0];h[(h[m+11|0]<0?j[e>>2]+2|0:l)|0]=k[c+1|0];wa(a,b,e,d,0,0);g=k[m+11|0]}if(g<<24>>24<=-1){T(j[e>>2])}M=e+16|0}function uo(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{d=j[a>>2];g=(j[a+4>>2]-d|0)/40|0;c=g+1|0;if(c>>>0<107374183){d=(j[a+8>>2]-d|0)/40|0;e=d<<1;d=d>>>0<53687091?c>>>0>e>>>0?c:e:107374182;if(d){if(d>>>0>=107374183){break c}f=U(p(d,40))}e=j[b+4>>2];c=p(g,40)+f|0;j[c>>2]=j[b>>2];j[c+4>>2]=e;j[c+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];g=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=g;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];g=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=g;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+36>>2]=j[b+36>>2];d=p(d,40)+f|0;g=c+40|0;b=j[a+4>>2];f=j[a>>2];if((b|0)==(f|0)){break b}while(1){b=b-40|0;e=j[b+4>>2];c=c-40|0;j[c>>2]=j[b>>2];j[c+4>>2]=e;j[c+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];e=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=e;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];e=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=e;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+36>>2]=j[b+36>>2];if((b|0)!=(f|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=g;f=j[a>>2];j[a>>2]=c;if((b|0)==(f|0)){break a}while(1){if(h[b-5|0]<=-1){T(j[b-16>>2])}if(h[b-17|0]<=-1){T(j[b-28>>2])}b=b-40|0;if(h[b+11|0]<=-1){T(j[b>>2])}if((b|0)!=(f|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=g;j[a>>2]=c}if(f){T(f)}}function yl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,l=0,n=0;a=M-624|0;M=a;j[a+608>>2]=c;j[a+616>>2]=b;j[a+16>>2]=78;i=Da(a+200|0,a+208|0,a+16|0);b=j[e+28>>2];j[a+192>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=rb(a+192|0);h[a+191|0]=0;a:{if(!$f(a+616|0,c,d,a+192|0,j[e+4>>2],f,a+191|0,b,i,a+196|0,a+608|0)){break a}c=k[127867]|k[127868]<<8|(k[127869]<<16|k[127870]<<24);h[a+183|0]=c;h[a+184|0]=c>>>8;h[a+185|0]=c>>>16;h[a+186|0]=c>>>24;c=k[127864]|k[127865]<<8|(k[127866]<<16|k[127867]<<24);j[a+176>>2]=k[127860]|k[127861]<<8|(k[127862]<<16|k[127863]<<24);j[a+180>>2]=c;O[j[j[b>>2]+48>>2]](b,a+176|0,a+186|0,a+128|0)|0;j[a+16>>2]=77;b=Da(a+8|0,0,a+16|0);c=a+16|0;b:{if((j[a+196>>2]-j[i>>2]|0)>=393){d=ja((j[a+196>>2]-j[i>>2]>>2)+2|0);c=j[b>>2];j[b>>2]=d;if(c){O[j[b+4>>2]](c)}if(!j[b>>2]){break b}c=j[b>>2]}if(k[a+191|0]){h[c|0]=45;c=c+1|0}e=j[i>>2];while(1){if(m[a+196>>2]<=e>>>0){c:{h[c|0]=0;j[a>>2]=g;if((Pg(a+16|0,a)|0)!=1){break c}c=j[b>>2];j[b>>2]=0;if(c){O[j[b+4>>2]](c)}break a}}else{l=c,n=k[(a+176|0)+(me(a+128|0,a+168|0,e)-(a+128|0)>>2)|0],h[l|0]=n;c=c+1|0;e=e+4|0;continue}break}Fa();z()}Fa();z()}if(Ra(a+616|0,a+608|0)){j[f>>2]=j[f>>2]|2}d=j[a+616>>2];b=j[a+192>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+624|0;return d|0}function hd(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;s=j[a+4248>>2];a=j[a+4252>>2];if((s|0)!=(a|0)){u=d+17|0;v=(a-s|0)/40|0;r=b+c|0;w=k[r|0];while(1){f=p(t,40)+s|0;b=f+12|0;b=h[f+23|0]<=-1?j[b>>2]:b;a=k[b|0];a:{if(!a){break a}g=r;if((a|0)!=46&(a|0)!=(w|0)){break a}while(1){a=k[b+1|0];if(!a){break a}o=k[g+1|0];g=g+1|0;b=b+1|0;if(!((a|0)!=46&(a|0)!=(o|0))){continue}break}}b:{if(a){break b}c:{if(!d){break c}m=l[f+36>>1];if(!m){break c}a=j[d+4>>2];if(!a){break b}b=i[d+2>>1];o=(b<<1)+a|0;if(b){while(1){n=b>>>1|0;g=(n<<1)+a|0;q=m>>>0>l[g>>1];a=q?g+2|0:a;b=q?(n^-1)+b|0:n;if(b){continue}break}}if((a|0)==(o|0)|m>>>0>1]){break b}}d:{if(!e){break d}m=l[f+38>>1];if(!m){break d}a=j[e+4>>2];if(!a){break b}b=i[e+2>>1];o=(b<<1)+a|0;if(b){while(1){n=b>>>1|0;g=(n<<1)+a|0;q=m>>>0>l[g>>1];a=q?g+2|0:a;b=q?(n^-1)+b|0:n;if(b){continue}break}}if((a|0)==(o|0)|m>>>0>1]){break b}}e:{f:{g:{h:{a=k[f+11|0];b=a<<24>>24;g=(b|0)>-1;if(!g){if(j[f+4>>2]){break h}return 1}if(b){break g}return 1}b=j[f>>2];break f}b=f}if(k[b|0]!=48){break e}b=k[d|0];if((b|0)>(c|0)){break e}if(Eb(r-b|0,u,b)){break e}return 1}i:{if(!g){b=j[f>>2];if(k[b|0]==48){break b}a=j[f+4>>2];if(a){break i}break b}if(k[f|0]==48){break b}b=f}if(Eb(r-a|0,b,a)){break b}return 1}t=t+1|0;if(v>>>0>t>>>0){continue}break}}return 0}function Yb(a,b,c,d,e,f,g,h){var i=0,k=0,l=0,m=0,n=0;k=M-32|0;M=k;j[k+16>>2]=c;j[k+24>>2]=b;b=j[d+28>>2];j[k+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=rb(k+8|0);c=j[k+8>>2];i=j[c+4>>2]-1|0;j[c+4>>2]=i;if((i|0)==-1){O[j[j[c>>2]+8>>2]](c)}j[e>>2]=0;c=0;a:{while(1){if(c|(g|0)==(h|0)){break a}b:{if(Ra(k+24|0,k+16|0)){break b}c:{if((O[j[j[b>>2]+52>>2]](b,j[g>>2],0)|0)==37){c=g+4|0;if((h|0)==(c|0)){break b}l=0;i=O[j[j[b>>2]+52>>2]](b,j[c>>2],0)|0;d:{if(!((i|0)==69|(i&255)==48)){c=g;break d}if((g+8|0)==(h|0)){break b}l=i;i=O[j[j[b>>2]+52>>2]](b,j[g+8>>2],0)|0}m=k,n=O[j[j[a>>2]+36>>2]](a,j[k+24>>2],j[k+16>>2],d,e,f,i,l)|0,j[m+24>>2]=n;g=c+8|0;break c}if(O[j[j[b>>2]+12>>2]](b,8192,j[g>>2])|0){while(1){e:{g=g+4|0;if((h|0)==(g|0)){g=h;break e}if(O[j[j[b>>2]+12>>2]](b,8192,j[g>>2])|0){continue}}break}while(1){if(!kb(k+24|0,k+16|0)){break c}c=b;i=j[k+24>>2];l=j[i+12>>2];f:{if((l|0)==j[i+16>>2]){i=O[j[j[i>>2]+36>>2]](i)|0;break f}i=j[l>>2]}if(!(O[j[j[b>>2]+12>>2]](c,8192,i)|0)){break c}Na(k+24|0);continue}}c=b;i=j[k+24>>2];l=j[i+12>>2];g:{if((l|0)==j[i+16>>2]){i=O[j[j[i>>2]+36>>2]](i)|0;break g}i=j[l>>2]}if((O[j[j[b>>2]+28>>2]](c,i)|0)==(O[j[j[b>>2]+28>>2]](b,j[g>>2])|0)){g=g+4|0;Na(k+24|0);break c}j[e>>2]=4}c=j[e>>2];continue}break}j[e>>2]=4}if(Ra(k+24|0,k+16|0)){j[e>>2]=j[e>>2]|2}M=k+32|0;return j[k+24>>2]}function El(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,l=0,n=0;a=M-288|0;M=a;j[a+272>>2]=c;j[a+280>>2]=b;j[a+16>>2]=78;i=Da(a+152|0,a+160|0,a+16|0);b=j[e+28>>2];j[a+144>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(a+144|0);h[a+143|0]=0;a:{if(!fg(a+280|0,c,d,a+144|0,j[e+4>>2],f,a+143|0,b,i,a+148|0,a+260|0)){break a}c=k[127867]|k[127868]<<8|(k[127869]<<16|k[127870]<<24);h[a+135|0]=c;h[a+136|0]=c>>>8;h[a+137|0]=c>>>16;h[a+138|0]=c>>>24;c=k[127864]|k[127865]<<8|(k[127866]<<16|k[127867]<<24);j[a+128>>2]=k[127860]|k[127861]<<8|(k[127862]<<16|k[127863]<<24);j[a+132>>2]=c;O[j[j[b>>2]+32>>2]](b,a+128|0,a+138|0,a+118|0)|0;j[a+16>>2]=77;b=Da(a+8|0,0,a+16|0);c=a+16|0;b:{if((j[a+148>>2]-j[i>>2]|0)>=99){d=ja((j[a+148>>2]-j[i>>2]|0)+2|0);c=j[b>>2];j[b>>2]=d;if(c){O[j[b+4>>2]](c)}if(!j[b>>2]){break b}c=j[b>>2]}if(k[a+143|0]){h[c|0]=45;c=c+1|0}e=j[i>>2];while(1){if(m[a+148>>2]<=e>>>0){c:{h[c|0]=0;j[a>>2]=g;if((Pg(a+16|0,a)|0)!=1){break c}c=j[b>>2];j[b>>2]=0;if(c){O[j[b+4>>2]](c)}break a}}else{l=c,n=k[((pe(a+118|0,a+128|0,e)-a|0)+a|0)+10|0],h[l|0]=n;c=c+1|0;e=e+1|0;continue}break}Fa();z()}Fa();z()}if(Sa(a+280|0,a+272|0)){j[f>>2]=j[f>>2]|2}d=j[a+280>>2];b=j[a+144>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+288|0;return d|0}function qd(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=M-128|0;M=m;j[m+120>>2]=b;j[m+16>>2]=77;q=Da(m+8|0,0,m+16|0);n=m+16|0;a:{o=(d-c|0)/12|0;if(o>>>0>=101){n=ja(o);if(!n){break a}b=j[q>>2];j[q>>2]=n;if(b){O[j[q+4>>2]](b)}}i=n;b=c;while(1)if((b|0)==(d|0)){b:while(1){c:{if(!(lb(a,m+120|0)?o:0)){if(Sa(a,m+120|0)){j[f>>2]=j[f>>2]|2}break c}r=Ga(a);if(!g){r=O[j[j[e>>2]+12>>2]](e,r)|0}u=s+1|0;v=0;i=n;b=c;while(1)if((b|0)==(d|0)){s=u;if(!v){continue b}Oa(a);i=n;b=c;if(o+p>>>0<2){continue b}while(1){if((b|0)==(d|0)){continue b}if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if(!((l|0)==(s|0)|k[i|0]!=2)){h[i|0]=0;p=p-1|0}i=i+1|0;b=b+12|0;continue}}else{d:{if(k[i|0]!=1){break d}if(k[b+11|0]>>>7|0){l=j[b>>2]}else{l=b}t=h[l+s|0];l=r&255;if(!g){t=O[j[j[e>>2]+12>>2]](e,t)|0}e:{if((t&255)==(l|0)){v=1;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if((l|0)!=(u|0)){break d}h[i|0]=2;p=p+1|0;break e}h[i|0]=0}o=o-1|0}i=i+1|0;b=b+12|0;continue}}break}f:{g:{while(1){if((c|0)==(d|0)){break g}if(k[n|0]!=2){n=n+1|0;c=c+12|0;continue}break}d=c;break f}j[f>>2]=j[f>>2]|4}a=q;b=j[a>>2];j[a>>2]=0;if(b){O[j[a+4>>2]](b)}M=m+128|0;return d}else{if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}h:{if(l){h[i|0]=1;break h}h[i|0]=2;p=p+1|0;o=o-1|0}i=i+1|0;b=b+12|0;continue}}Fa();z()}function vm(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0;a=M-432|0;M=a;j[a+424>>2]=37;j[a+428>>2]=0;l=md(a+424|1,127642,j[c+4>>2]);j[a+380>>2]=a+384;i=ra();a:{if(l){k=j[c+8>>2];j[a+72>>2]=g;j[a+76>>2]=h;m=a- -64|0;j[m>>2]=e;j[m+4>>2]=f;j[a+48>>2]=k;i=fb(a+384|0,30,i,a+424|0,a+48|0);break a}j[a+80>>2]=e;j[a+84>>2]=f;j[a+88>>2]=g;j[a+92>>2]=h;i=fb(a+384|0,30,i,a+424|0,a+80|0)}j[a+128>>2]=77;k=Da(a+368|0,0,a+128|0);b:{if((i|0)>=30){i=ra();c:{if(l){l=j[c+8>>2];j[a+24>>2]=g;j[a+28>>2]=h;j[a+16>>2]=e;j[a+20>>2]=f;j[a>>2]=l;i=Sb(a+380|0,i,a+424|0,a);break c}j[a+32>>2]=e;j[a+36>>2]=f;j[a+40>>2]=g;j[a+44>>2]=h;i=Sb(a+380|0,i,a+424|0,a+32|0)}f=j[a+380>>2];if(!f){break b}e=j[k>>2];j[k>>2]=f;if(e){O[j[k+4>>2]](e)}}e=j[a+380>>2];f=e+i|0;l=Bb(e,f,c);j[a+128>>2]=77;e=Da(a+120|0,0,a+128|0);d:{if(j[a+380>>2]==(a+384|0)){i=a+128|0;g=a+384|0;break d}i=ja(i<<3);if(!i){break b}g=j[e>>2];j[e>>2]=i;if(g){O[j[e+4>>2]](g)}g=j[a+380>>2]}h=j[c+28>>2];j[a+104>>2]=h;j[h+4>>2]=j[h+4>>2]+1;rg(g,l,f,i,a+116|0,a+112|0,a+104|0);f=j[a+104>>2];g=j[f+4>>2]-1|0;j[f+4>>2]=g;if((g|0)==-1){O[j[j[f>>2]+8>>2]](f)}c=_b(b,i,j[a+116>>2],j[a+112>>2],c,d);b=j[e>>2];j[e>>2]=0;if(b){O[j[e+4>>2]](b)}b=j[k>>2];j[k>>2]=0;if(b){O[j[k+4>>2]](b)}M=a+432|0;return c|0}Fa();z()}function Dm(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0;a=M-256|0;M=a;j[a+248>>2]=37;j[a+252>>2]=0;l=md(a+248|1,127642,j[c+4>>2]);j[a+204>>2]=a+208;i=ra();a:{if(l){k=j[c+8>>2];j[a+72>>2]=g;j[a+76>>2]=h;m=a- -64|0;j[m>>2]=e;j[m+4>>2]=f;j[a+48>>2]=k;i=fb(a+208|0,30,i,a+248|0,a+48|0);break a}j[a+80>>2]=e;j[a+84>>2]=f;j[a+88>>2]=g;j[a+92>>2]=h;i=fb(a+208|0,30,i,a+248|0,a+80|0)}j[a+128>>2]=77;k=Da(a+192|0,0,a+128|0);b:{if((i|0)>=30){i=ra();c:{if(l){l=j[c+8>>2];j[a+24>>2]=g;j[a+28>>2]=h;j[a+16>>2]=e;j[a+20>>2]=f;j[a>>2]=l;i=Sb(a+204|0,i,a+248|0,a);break c}j[a+32>>2]=e;j[a+36>>2]=f;j[a+40>>2]=g;j[a+44>>2]=h;i=Sb(a+204|0,i,a+248|0,a+32|0)}f=j[a+204>>2];if(!f){break b}e=j[k>>2];j[k>>2]=f;if(e){O[j[k+4>>2]](e)}}e=j[a+204>>2];f=e+i|0;l=Bb(e,f,c);j[a+128>>2]=77;e=Da(a+120|0,0,a+128|0);d:{if(j[a+204>>2]==(a+208|0)){i=a+128|0;g=a+208|0;break d}i=ja(i<<1);if(!i){break b}g=j[e>>2];j[e>>2]=i;if(g){O[j[e+4>>2]](g)}g=j[a+204>>2]}h=j[c+28>>2];j[a+104>>2]=h;j[h+4>>2]=j[h+4>>2]+1;ug(g,l,f,i,a+116|0,a+112|0,a+104|0);f=j[a+104>>2];g=j[f+4>>2]-1|0;j[f+4>>2]=g;if((g|0)==-1){O[j[j[f>>2]+8>>2]](f)}c=$b(b,i,j[a+116>>2],j[a+112>>2],c,d);b=j[e>>2];j[e>>2]=0;if(b){O[j[e+4>>2]](b)}b=j[k>>2];j[k>>2]=0;if(b){O[j[k+4>>2]](b)}M=a+256|0;return c|0}Fa();z()}function Pm(a,b,c,d,e){var f=0,g=0,i=0;f=M-384|0;M=f;j[f+368>>2]=b;j[f+376>>2]=a;oe(f+216|0,c,f+240|0,f+236|0,f+232|0);b=ga(f+200|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+196>>2]=a;j[f+28>>2]=f+32;j[f+24>>2]=0;h[f+23|0]=1;h[f+22|0]=69;while(1){a:{if(!kb(f+376|0,f+368|0)){break a}g=j[f+196>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+196>>2]=c+a}c=j[f+376>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(ne(c,f+23|0,f+22|0,a,f+196|0,j[f+236>>2],j[f+232>>2],f+216|0,f+32|0,f+28|0,f+24|0,f+240|0)){break a}Na(f+376|0);continue}break}if(k[f+227|0]>>>7|0){c=j[f+220>>2]}else{c=k[f+227|0]}d:{if(!c|!k[f+23|0]){break d}c=j[f+28>>2];if((c-(f+32|0)|0)>159){break d}j[f+28>>2]=c+4;j[c>>2]=j[f+24>>2]}yg(f,a,j[f+196>>2],d);a=j[f+4>>2];j[e>>2]=j[f>>2];j[e+4>>2]=a;a=j[f+12>>2];j[e+8>>2]=j[f+8>>2];j[e+12>>2]=a;hb(f+216|0,f+32|0,j[f+28>>2],d);if(Ra(f+376|0,f+368|0)){j[d>>2]=j[d>>2]|2}a=j[f+376>>2];Y(b);Y(f+216|0);M=f+384|0;return a}function nk(a,b,c,d,e,f){var g=0,h=0,l=0,m=0,n=0,o=0;j[c>>2]=a;j[f>>2]=d;a:{b:{c:{while(1){a=j[c>>2];if(!(a>>>0>=b>>>0|d>>>0>=e>>>0)){m=2;g=k[a|0];if(g>>>0>1114111){break a}o=c;d:{if(g<<24>>24>=0){i[d>>1]=g;a=a+1|0;break d}if(g>>>0<194){break a}if(g>>>0<=223){if((b-a|0)<2){break b}h=k[a+1|0];if((h&192)!=128){break c}g=h&63|g<<6&1984;if(g>>>0>1114111){break c}i[d>>1]=g;a=a+2|0;break d}if(g>>>0<=239){if((b-a|0)<3){break b}l=k[a+2|0];h=k[a+1|0];e:{f:{if((g|0)!=237){if((g|0)!=224){break f}if((h&224)==160){break e}break c}if((h&224)==128){break e}break c}if((h&192)!=128){break c}}if((l&192)!=128){break c}g=l&63|((h&63)<<6|g<<12);if((g&65535)>>>0>1114111){break c}i[d>>1]=g;a=a+3|0;break d}if(g>>>0>244){break a}m=1;if((b-a|0)<4){break c}l=k[a+2|0];h=k[a+1|0];g:{h:{switch(g-240|0){case 0:if((h+112&255)>>>0>=48){break a}break g;case 4:if((h&240)!=128){break a}break g;default:break h}}if((h&192)!=128){break a}}if((l&192)!=128){break a}a=k[a+3|0];if((a&192)!=128){break a}if((e-d|0)<4){break c}m=2;a=a&63;n=l<<6;g=g&7;if((a|(n&4032|(h<<12&258048|g<<18)))>>>0>1114111){break c}h=h<<2;i[d>>1]=(l>>>4&3|(h&192|g<<8|h&60))+16320|55296;j[f>>2]=d+2;i[d+2>>1]=a|n&960|56320;a=j[c>>2]+4|0}j[o>>2]=a;d=j[f>>2]+2|0;j[f>>2]=d;continue}break}m=a>>>0>>0}return m}return 1}return 2}function Zb(a,b,c,d,e,f,g,i){var k=0,m=0,n=0,o=0,p=0,q=0;k=M-32|0;M=k;j[k+16>>2]=c;j[k+24>>2]=b;b=j[d+28>>2];j[k+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;m=sb(k+8|0);b=j[k+8>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}j[e>>2]=0;c=0;a:{while(1){if(c|(g|0)==(i|0)){break a}b:{if(Sa(k+24|0,k+16|0)){break b}c:{if((O[j[j[m>>2]+36>>2]](m,h[g|0],0)|0)==37){c=g+1|0;if((i|0)==(c|0)){break b}n=0;b=O[j[j[m>>2]+36>>2]](m,h[c|0],0)|0;d:{if(!((b|0)==69|(b&255)==48)){c=g;break d}if((g+2|0)==(i|0)){break b}n=b;b=O[j[j[m>>2]+36>>2]](m,h[g+2|0],0)|0}o=k,p=O[j[j[a>>2]+36>>2]](a,j[k+24>>2],j[k+16>>2],d,e,f,b,n)|0,j[o+24>>2]=p;g=c+2|0;break c}b=h[g|0];if((b|0)>=0){b=l[j[m+8>>2]+((b&255)<<1)>>1]&8192}else{b=0}if(b){while(1){e:{g=g+1|0;if((i|0)==(g|0)){g=i;break e}b=h[g|0];if((b|0)>=0){b=l[j[m+8>>2]+((b&255)<<1)>>1]&8192}else{b=0}if(b){continue}}break}while(1){if(!lb(k+24|0,k+16|0)){break c}b=Ga(k+24|0);if((b|0)>=0){b=(l[j[m+8>>2]+((b&255)<<1)>>1]&8192)!=0}else{b=0}if(!b){break c}Oa(k+24|0);continue}}if(((p=m,q=Ga(k+24|0),o=j[j[m>>2]+12>>2],O[o](p|0,q|0)|0)|0)==(O[j[j[m>>2]+12>>2]](m,h[g|0])|0)){g=g+1|0;Oa(k+24|0);break c}j[e>>2]=4}c=j[e>>2];continue}break}j[e>>2]=4}if(Sa(k+24|0,k+16|0)){j[e>>2]=j[e>>2]|2}M=k+32|0;return j[k+24>>2]}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=M-16|0;M=f;a:{b:{if(!j[a+64>>2]){break b}c=j[a+68>>2];if(!c){break a}c:{b=j[a+92>>2];d:{if(b&16){if(j[a+24>>2]!=j[a+20>>2]){c=-1;if((O[j[j[a>>2]+52>>2]](a,-1)|0)==-1){break b}}e=a+72|0;while(1){c=j[a+68>>2];b=j[a+32>>2];b=O[j[j[c>>2]+20>>2]](c,e,b,b+j[a+52>>2]|0,f+12|0)|0;c=-1;g=j[a+32>>2];d=j[f+12>>2]-g|0;if(($c(g,d,j[a+64>>2])|0)!=(d|0)){break b}if((b|0)==1){continue}break}if((b|0)==2){break b}if(!Fe(j[a+64>>2])){break d}break b}if(!(b&8)){break d}b=j[a+84>>2];j[f>>2]=j[a+80>>2];j[f+4>>2]=b;e:{if(k[a+98|0]){b=j[a+16>>2]-j[a+12>>2]|0;c=b;b=b>>31;d=0;break e}d=O[j[j[c>>2]+24>>2]](c)|0;e=j[a+36>>2];b=j[a+40>>2]-e|0;c=b;b=b>>31;if((d|0)>=1){e=p(d,j[a+16>>2]-j[a+12>>2]|0);d=c+e|0;b=b+(e>>31)|0;b=c>>>0>d>>>0?b+1|0:b;c=d;d=0;break e}g=j[a+12>>2];d=0;if((g|0)==j[a+16>>2]){break e}d=j[a+68>>2];d=O[j[j[d>>2]+32>>2]](d,f,j[a+32>>2],e,g-j[a+8>>2]|0)|0;e=(j[a+36>>2]-d|0)-j[a+32>>2]|0;d=c+e|0;b=(e>>31)+b|0;b=c>>>0>d>>>0?b+1|0:b;c=d;d=1}if(De(j[a+64>>2],0-c|0,0-(b+((c|0)!=0)|0)|0,1)){break c}if(d){c=j[f+4>>2];j[a+72>>2]=j[f>>2];j[a+76>>2]=c}j[a+92>>2]=0;j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;c=j[a+32>>2];j[a+40>>2]=c;j[a+36>>2]=c}c=0;break b}c=-1}M=f+16|0;return c|0}Fa();z()}function Ue(a,b,c,d,e,f){var g=0,m=0,n=0,o=0,p=0,q=0,r=0;m=M-16|0;M=m;a:{b:{if(h[a+29|0]&1?0:d&1){break b}g=h[a+15|0];n=j[a+8>>2];c:{if((g|0)<=-1){break c}n=g&255}o=c-n|0;d:{if(!j[j[a+64>>2]+4484>>2]|o?(o|0)<=0:0){break d}n=k[a+28|0];c=h[a+27|0];g=j[a+20>>2];e:{if((c|0)<=-1){break e}g=c&255}if(n>>>0>g+o>>>0){break d}g=W(b);if(g>>>0>=4294967280){break a}n=a+16|0;f:{g:{if(g>>>0>=11){p=g+16&-16;c=U(p);j[m+8>>2]=p|-2147483648;j[m>>2]=c;j[m+4>>2]=g;break g}h[m+11|0]=g;c=m;if(!g){break f}}V(c,b,g)}h[c+g|0]=0;Wa(m,o);b=k[a+27|0];c=b<<24>>24<0;aa(m,c?j[a+16>>2]:n,c?j[a+20>>2]:b);n=a;g=h[m+11|0]<0?j[m>>2]:m;p=g;c=h[a+27|0];b=j[a+20>>2];h:{if((c|0)<=-1){break h}b=c&255}b=b+o|0;i:{if(Jd(n,p+b|0,g)){j:{if(e){k:{g=j[a+56>>2];if(!g){break k}c=i[a+60>>1];r=(c<<1)+g|0;o=l[e+30>>1];if(c){while(1){n=c>>>1|0;q=(n<<1)+g|0;p=o>>>0>l[q>>1];g=p?q+2|0:g;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((g|0)==(r|0)|o>>>0>1]){break k}g=Qa(j[a+64>>2],h[m+11|0]<0?j[m>>2]:m,b,0,0,l[a+30>>1],f,0);break j}g=Qa(j[a+64>>2],h[m+11|0]<0?j[m>>2]:m,b,d,e,l[a+30>>1],f,0);break j}g=Qa(j[a+64>>2],h[m+11|0]<0?j[m>>2]:m,b,0,0,l[a+30>>1],f,0)}a=0;if(g){break i}}g=0;a=1}if(h[m+11|0]<=-1){T(j[m>>2])}if(!a){break b}}g=0}M=m+16|0;return g}X();z()}function Sq(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0;i=M-16|0;M=i;a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}g=h[c+11|0]<0?j[c>>2]:c;while(1){f=g;g=f+1|0;if(k[f|0]==32){continue}break}j[e>>2]=0;g=W(f);b:{if((g|0)<1){break b}m=f-1|0;c:{while(1){if(k[g+m|0]!=46){break c}l=l+1|0;j[e>>2]=l;n=(g|0)>1;g=g-1|0;if(n){continue}break}m=0;break b}d:{if(!j[a+44>>2]){l=0;c=0;e=0;if((g|0)>=1){m=0;while(1){n=h[f|0];e=j[a+36>>2]+p(n&255,3)|0;o=k[e|0];q=k[e+1|0];e=k[e+2|0];Z(b,n);c=((e|0)==(q|0))+c|0;f=f+1|0;l=((o|0)!=0)+l|0;m=m+1|0;if((m|0)!=(g|0)){continue}break}e=g}f=k[j[a+36>>2]+p(k[(h[b+11|0]<0?j[b>>2]:b)|0],3)|0];break d}g=0;j[i+8>>2]=0;j[i>>2]=0;j[i+4>>2]=0;ia(i,c);e:{f:{f=j[i>>2];g:{if((f|0)==j[i+4>>2]){da(b,i);c=0;break g}c=0;l=0;while(1){e=(g<<1)+f|0;e=k[e|0]|k[e+1|0]<<8;f=Xe(e,j[a+40>>2]);l=((e|0)!=(f|0))+l|0;c=((Ye(e,j[a+40>>2])|0)==(f|0))+c|0;g=g+1|0;f=j[i>>2];if(g>>>0>2]-f>>1>>>0){continue}break}da(b,i);if(l){break f}}l=0;f=0;break e}b=j[i>>2];b=k[b|0]|k[b+1|0]<<8;f=(Xe(b,j[a+40>>2])|0)!=(b|0)}a=j[i>>2];if(a){j[i+4>>2]=a;T(a)}e=0}if(!l){m=0;break b}m=1;if(f?(l|0)==1:0){break b}m=2;if((e|0)==(l|0)|(c+l|0)==(e|0)){break b}m=(l|0)>1?f?4:3:3}j[d>>2]=m;M=i+16|0}function Om(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-352|0;M=a;j[a+336>>2]=c;j[a+344>>2]=b;h=ga(a+208|0);b=j[d+28>>2];j[a+16>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=rb(a+16|0);O[j[j[b>>2]+48>>2]](b,127600,127626,a+224|0)|0;b=j[a+16>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}c=ga(a+192|0);fa(c,k[c+11|0]>>>7|0?(j[c+8>>2]&2147483647)-1|0:10);d=a;if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[d+188>>2]=b;j[a+12>>2]=a+16;j[a+8>>2]=0;while(1){a:{if(!kb(a+344|0,a+336|0)){break a}g=j[a+188>>2];if(k[c+11|0]>>>7|0){d=j[c+4>>2]}else{d=k[c+11|0]}if((g|0)==(d+b|0)){b=c;b:{if(k[b+11|0]>>>7|0){d=j[b+4>>2];break b}d=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=a;if(k[b+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[g+188>>2]=d+b}d=j[a+344>>2];g=j[d+12>>2];c:{if((g|0)==j[d+16>>2]){d=O[j[j[d>>2]+36>>2]](d)|0;break c}d=j[g>>2]}if(Ac(d,16,b,a+188|0,a+8|0,0,h,a+16|0,a+12|0,a+224|0)){break a}Na(a+344|0);continue}break}fa(c,j[a+188>>2]-b|0);if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}d=ra();j[a>>2]=f;if((xg(b,d,a)|0)!=1){j[e>>2]=4}if(Ra(a+344|0,a+336|0)){j[e>>2]=j[e>>2]|2}b=j[a+344>>2];Y(c);Y(h);M=a+352|0;return b|0}function Tm(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=q(0);f=M-368|0;M=f;j[f+352>>2]=b;j[f+360>>2]=a;oe(f+200|0,c,f+224|0,f+220|0,f+216|0);b=ga(f+184|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+180>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!kb(f+360|0,f+352|0)){break a}g=j[f+180>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+180>>2]=c+a}c=j[f+360>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(ne(c,f+7|0,f+6|0,a,f+180|0,j[f+220>>2],j[f+216>>2],f+200|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Na(f+360|0);continue}break}if(k[f+211|0]>>>7|0){c=j[f+204>>2]}else{c=k[f+211|0]}d:{if(!c|!k[f+7|0]){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=Ag(a,j[f+180>>2],d),n[l>>2]=m;hb(f+200|0,f+16|0,j[f+12>>2],d);if(Ra(f+360|0,f+352|0)){j[d>>2]=j[d>>2]|2}a=j[f+360>>2];Y(b);Y(f+200|0);M=f+368|0;return a}function qq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0;e=M-16|0;M=e;a:{b:{if(!j[a+64>>2]){break b}c:{if(k[a+92|0]&16){g=j[a+20>>2];c=j[a+28>>2];break c}j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;d=j[a+52>>2];c=0;d:{if(d>>>0<9){break d}if(k[a+98|0]){g=j[a+32>>2];c=(d+g|0)-1|0;break d}g=j[a+56>>2];c=(g+j[a+60>>2]|0)-1|0}j[a+92>>2]=16;j[a+28>>2]=c;j[a+20>>2]=g;j[a+24>>2]=g}m=c;d=j[a+24>>2];if((b|0)==-1){c=g}else{if(!d){j[a+28>>2]=e+16;j[a+20>>2]=e+15;j[a+24>>2]=e+15;d=e+15|0}h[d|0]=b;d=j[a+24>>2]+1|0;j[a+24>>2]=d;c=j[a+20>>2]}if((c|0)!=(d|0)){e:{if(k[a+98|0]){l=c;c=d-c|0;f=-1;if(($c(l,c,j[a+64>>2])|0)!=(c|0)){break a}break e}f=j[a+32>>2];j[e+8>>2]=f;f:{i=j[a+68>>2];if(!i){break f}l=a+72|0;while(1){c=O[j[j[i>>2]+12>>2]](i,l,c,d,e+4|0,f,j[a+52>>2]+f|0,e+8|0)|0;d=j[a+20>>2];if((d|0)==j[e+4>>2]){break b}if((c|0)==3){c=j[a+24>>2]-d|0;if(($c(d,c,j[a+64>>2])|0)!=(c|0)){break b}break e}if(c>>>0>1){break b}f=j[a+32>>2];d=j[e+8>>2]-f|0;if(($c(f,d,j[a+64>>2])|0)!=(d|0)){break b}if((c|0)!=1){break e}c=j[e+4>>2];j[a+20>>2]=c;d=j[a+24>>2];j[a+28>>2]=d;i=j[a+68>>2];if(!i){break f}f=j[a+32>>2];continue}}Fa();z()}j[a+28>>2]=m;j[a+20>>2]=g;j[a+24>>2]=g}f=(b|0)==-1?0:b;break a}f=-1}M=e+16|0;return f|0}function Rm(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0;f=M-368|0;M=f;j[f+352>>2]=b;j[f+360>>2]=a;oe(f+200|0,c,f+224|0,f+220|0,f+216|0);b=ga(f+184|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+180>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!kb(f+360|0,f+352|0)){break a}g=j[f+180>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+180>>2]=c+a}c=j[f+360>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(ne(c,f+7|0,f+6|0,a,f+180|0,j[f+220>>2],j[f+216>>2],f+200|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Na(f+360|0);continue}break}if(k[f+211|0]>>>7|0){c=j[f+204>>2]}else{c=k[f+211|0]}d:{if(!c|!k[f+7|0]){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=zg(a,j[f+180>>2],d),o[l>>3]=m;hb(f+200|0,f+16|0,j[f+12>>2],d);if(Ra(f+360|0,f+352|0)){j[d>>2]=j[d>>2]|2}a=j[f+360>>2];Y(b);Y(f+200|0);M=f+368|0;return a}function Nn(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;f=W(e);a:{b:{if((b|0)==80){if(!Eb(c,e,f)){return 1}if(j[a+4144>>2]){break b}b=(f|0)>0;c:{if((d|0)<1|(f|0)<1){break c}h=f-1|0;while(1){a=k[e+g|0];d:{if((a|0)!=91){b=g;if((a|0)==k[c+i|0]){break d}break b}a=g+1|0;m=(a|0)<(h|0)?h:a;n=k[c+i|0];o=k[a+e|0];a=0;b=g;e:{while(1){f:{b=b+1|0;l=k[e+b|0];a=(l|0)==(n|0)?1:a;if((b|0)>=(h|0)){break f}if((l|0)!=93){continue}break e}break}if((g|0)>=(h|0)){b=m;break e}b=m;if((l|0)!=93){break b}}g=0;if((o|0)!=94^(a|0)!=0){break a}}g=b+1|0;b=(g|0)<(f|0);i=i+1|0;if((i|0)>=(d|0)){break c}if((f|0)>(g|0)){continue}break}}g=1;if(b){break b}break a}g:{if((d|0)<(f|0)){break g}if(ba((c+d|0)-f|0,e)){break g}return 1}if(j[a+4144>>2]){break b}h:{if((d|0)<1){b=f;break h}if((f|0)<1){b=f;break h}while(1){h=d-1|0;i=k[h+c|0];b=f-1|0;a=k[e+b|0];i:{if((a|0)==93){m=(f|0)>1?1:b;g=m-1|0;a=0;j:{while(1){k:{f=b;b=f-1|0;l=k[e+b|0];a=(l|0)==(i|0)?1:a;if((f|0)<2){break k}if((l|0)!=91){continue}break j}break}if(g){f=m;b=g;break j}f=m;b=g;if((l|0)!=91){break b}}g=0;if((a|0)!=0^k[e+f|0]!=94){break a}break i}if((a|0)!=(i|0)){break b}}if((d|0)<2){break h}d=h;f=b;if((f|0)>0){continue}break}}g=1;if((b|0)<1){break a}}g=0}return g}function Md(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0;d=M-16|0;M=d;b=j[a>>2];a:{if((j[a+4>>2]-b|0)/12>>>0<2){break a}j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;Wb(d,b);m=1;b=j[a+4>>2];c=j[a>>2];if((b-c|0)/12>>>0>1){while(1){f=p(m,12)+c|0;b:{c:{d:{b=j[d>>2];g=j[d+4>>2];if((b|0)==(g|0)){break d}e=k[f+11|0];c=e<<24>>24<0;n=c?j[f+4>>2]:e;if(n){e=c?j[f>>2]:f;while(1){l=k[b+11|0];c=l<<24>>24<0;e:{if(((c?j[b+4>>2]:l)|0)!=(n|0)){break e}i=j[b>>2];if(!c){if(k[e|0]!=(i&255)){break e}i=b;c=e;while(1){l=l-1|0;if(!l){break d}o=k[c+1|0];c=c+1|0;i=i+1|0;if(k[i|0]==(o|0)){continue}break}break e}if(!qa(i,e,n)){break d}}b=b+12|0;if((g|0)!=(b|0)){continue}break}break c}while(1){c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){break d}b=b+12|0;if((g|0)!=(b|0)){continue}break}break c}if((b|0)!=(g|0)){break b}}if(j[d+8>>2]!=(g|0)){q=d,r=ha(g,f)+12|0,j[q+4>>2]=r;break b}Wb(d,f)}m=m+1|0;b=j[a+4>>2];c=j[a>>2];if(m>>>0<(b-c|0)/12>>>0){continue}break}}j[a>>2]=j[d>>2];j[d>>2]=c;j[a+4>>2]=j[d+4>>2];j[d+4>>2]=b;e=j[a+8>>2];j[a+8>>2]=j[d+8>>2];j[d+8>>2]=e;if(!c){break a}if((b|0)==(c|0)){a=c}else{while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((b|0)!=(c|0)){continue}break}a=j[d>>2]}j[d+4>>2]=c;T(a)}M=d+16|0}function Kh(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0;g=j[a+4>>2];d=j[a+8>>2];if(g>>>0>>0){if((b|0)==(g|0)){c=k[c|0]|k[c+1|0]<<8;h[b|0]=c;h[b+1|0]=c>>>8;j[a+4>>2]=b+2;return}d=g;e=d-2|0;if(d>>>0>e>>>0){while(1){f=k[e|0]|k[e+1|0]<<8;h[d|0]=f;h[d+1|0]=f>>>8;d=d+2|0;e=e+2|0;if(g>>>0>e>>>0){continue}break}}j[a+4>>2]=d;d=(g-b|0)-2|0;if(d){Ja(g-(d>>1<<1)|0,b,d)}d=b;if(c>>>0>=d>>>0){c=m[a+4>>2]>c>>>0?c+2|0:c}a=k[c|0]|k[c+1|0]<<8;h[d|0]=a;h[d+1|0]=a>>>8;return}a:{l=j[a>>2];e=g-l|0;if((e|0)>-3){e=(e>>1)+1|0;d=d-l|0;e=d>>1>>>0<1073741823?d>>>0>>0?e:d:2147483647;g=0;b:{if(!e){break b}if((e|0)<=-1){break a}g=U(e<<1)}n=g+(e<<1)|0;i=b-l|0;f=i>>1;d=g+(f<<1)|0;c:{d:{if((e|0)==(f|0)){if((i|0)>=1){d=((f+1|0)/-2<<1)+d|0;c=k[c|0]|k[c+1|0]<<8;h[d|0]=c;h[d+1|0]=c>>>8;f=d-(f<<1)|0;e=d+2|0;break d}d=i?i:1;if((d|0)<=-1){break a}i=d<<1;e=U(i);n=e+i|0;d=e+(d>>>1&2147483646)|0;if(!g){c=k[c|0]|k[c+1|0]<<8;h[d|0]=c;h[d+1|0]=c>>>8;e=d+2|0;f=d-(f<<1)|0;break c}T(g);l=j[a>>2];i=b-l|0;f=i>>1}c=k[c|0]|k[c+1|0]<<8;h[d|0]=c;h[d+1|0]=c>>>8;e=d+2|0;f=d-(f<<1)|0;if((i|0)<1){break c}}V(f,l,i)}c=j[a+4>>2]-b|0;if((c|0)>=1){e=V(e,b,c)+c|0}j[a+8>>2]=n;j[a+4>>2]=e;b=j[a>>2];j[a>>2]=f;if(b){T(b)}return}X();z()}D();z()}function ni(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,l=0,m=0,n=0;if(zb(a,j[b+8>>2],e)){if(!(j[b+28>>2]==1|j[b+4>>2]!=(c|0))){j[b+28>>2]=d}return}a:{if(zb(a,j[b>>2],e)){if(!(j[b+20>>2]!=(c|0)?j[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}j[b+32>>2]=1;return}j[b+32>>2]=d;if(j[b+44>>2]!=4){f=a+16|0;m=f+(j[a+12>>2]<<3)|0;n=b;b:{c:{while(1){d:{if(f>>>0>=m>>>0){break d}i[b+52>>1]=0;Qd(f,b,c,c,1,e);if(k[b+54|0]){break d}e:{if(!k[b+53|0]){break e}if(k[b+52|0]){d=1;if(j[b+24>>2]==1){break c}l=1;g=1;if(k[a+8|0]&2){break e}break c}l=1;d=g;if(!(h[a+8|0]&1)){break c}}f=f+8|0;continue}break}d=g;a=4;if(!l){break b}}a=3}j[n+44>>2]=a;if(d&1){break a}}j[b+20>>2]=c;j[b+40>>2]=j[b+40>>2]+1;if(j[b+36>>2]!=1|j[b+24>>2]!=2){break a}h[b+54|0]=1;return}g=j[a+12>>2];f=a+16|0;ad(f,b,c,d,e);if((g|0)<2){break a}g=f+(g<<3)|0;f=a+24|0;a=j[a+8>>2];if(!(j[b+36>>2]!=1?!(a&2):0)){while(1){if(k[b+54|0]){break a}ad(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}break a}if(!(a&1)){while(1){if(k[b+54|0]|j[b+36>>2]==1){break a}ad(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break a}}while(1){if(k[b+54|0]|(j[b+24>>2]==1?j[b+36>>2]==1:0)){break a}ad(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}}}function fn(a,b,c,d,e){var f=0,g=0,i=0;f=M-288|0;M=f;j[f+272>>2]=b;j[f+280>>2]=a;re(f+224|0,c,f+240|0,f+239|0,f+238|0);b=ga(f+208|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+204>>2]=a;j[f+28>>2]=f+32;j[f+24>>2]=0;h[f+23|0]=1;h[f+22|0]=69;while(1){a:{if(!lb(f+280|0,f+272|0)){break a}g=j[f+204>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+204>>2]=c+a}if(qe(Ga(f+280|0),f+23|0,f+22|0,a,f+204|0,h[f+239|0],h[f+238|0],f+224|0,f+32|0,f+28|0,f+24|0,f+240|0)){break a}Oa(f+280|0);continue}break}if(k[f+235|0]>>>7|0){c=j[f+228>>2]}else{c=k[f+235|0]}c:{if(!c|!k[f+23|0]){break c}c=j[f+28>>2];if((c-(f+32|0)|0)>159){break c}j[f+28>>2]=c+4;j[c>>2]=j[f+24>>2]}yg(f,a,j[f+204>>2],d);a=j[f+4>>2];j[e>>2]=j[f>>2];j[e+4>>2]=a;a=j[f+12>>2];j[e+8>>2]=j[f+8>>2];j[e+12>>2]=a;hb(f+224|0,f+32|0,j[f+28>>2],d);if(Sa(f+280|0,f+272|0)){j[d>>2]=j[d>>2]|2}a=j[f+280>>2];Y(b);Y(f+224|0);M=f+288|0;return a}function Wm(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Uc(c,f+224|0);Tc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(Ac(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Cg(b,j[f+188>>2],d,h),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function $m(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Uc(c,f+224|0);Tc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(Ac(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Gg(b,j[f+188>>2],d,h),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function bn(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Uc(c,f+224|0);Tc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(Ac(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Hg(b,j[f+188>>2],d,h),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function Zm(a,b,c,d,e){var f=0,g=0,h=0,l=0,m=0,n=0,o=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);m=Uc(c,f+224|0);Tc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(Ac(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,m)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}n=e,o=Fg(b,j[f+188>>2],d,h),i[n>>1]=o;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function Ym(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Uc(c,f+224|0);Tc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(Ac(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Dg(b,j[f+188>>2],d,h),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function Ug(a,b){var c=0,d=0,e=0,f=0;a:{b:{c:{c=j[a+4>>2];d:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break d}c=pa(a)}switch(c-43|0){case 0:case 2:break b;default:break c}}d=c-48|0;break a}f=(c|0)==45;b=!b;c=j[a+4>>2];e:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break e}c=pa(a)}d=c-48|0;if(!(b|d>>>0<10|!j[a+104>>2])){j[a+4>>2]=j[a+4>>2]-1}}f:{if(d>>>0<10){d=0;while(1){d=p(d,10)+c|0;b=j[a+4>>2];g:{if(b>>>0>2]){j[a+4>>2]=b+1;c=k[b|0];break g}c=pa(a)}e=c-48|0;d=d-48|0;if((d|0)<214748364?e>>>0<=9:0){continue}break}b=d;d=d>>31;h:{if(e>>>0>=10){break h}while(1){d=Cr(b,d,10,0);b=d+c|0;c=N;c=b>>>0>>0?c+1|0:c;d=b;b=d-48|0;d=c-(d>>>0<48)|0;c=j[a+4>>2];i:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break i}c=pa(a)}e=c-48|0;if(e>>>0>9){break h}if((d|0)<21474836?1:(d|0)<=21474836?b>>>0<2061584302:0){continue}break}}if(e>>>0<10){while(1){c=j[a+4>>2];j:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break j}c=pa(a)}if(c-48>>>0<10){continue}break}}if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}a=b;b=f?0-a|0:a;d=f?0-(((a|0)!=0)+d|0)|0:d;break f}b=0;d=-2147483648;if(!j[a+104>>2]){break f}j[a+4>>2]=j[a+4>>2]-1;N=-2147483648;return 0}N=d;return b}function pk(a,b,c,d,e,f){var g=0,i=0;j[c>>2]=a;j[f>>2]=d;g=j[c>>2];a:{b:{while(1){if(b>>>0<=g>>>0){a=0;break a}a=2;d=l[g>>1];if(d>>>0>1114111){break a}c:{d:{if(d>>>0<=127){a=1;g=j[f>>2];if((e-g|0)<1){break a}j[f>>2]=g+1;h[g|0]=d;break d}if(d>>>0<=2047){a=j[f>>2];if((e-a|0)<2){break b}j[f>>2]=a+1;h[a|0]=d>>>6|192;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d&63|128;break d}if(d>>>0<=55295){a=j[f>>2];if((e-a|0)<3){break b}j[f>>2]=a+1;h[a|0]=d>>>12|224;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d>>>6&63|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d&63|128;break d}if(d>>>0<=56319){a=1;if((b-g|0)<4){break a}i=l[g+2>>1];if((i&64512)!=56320){break c}if((e-j[f>>2]|0)<4){break a}a=d&960;if((i&1023|(d<<10&64512|a<<10))+65536>>>0>1114111){break c}j[c>>2]=g+2;g=j[f>>2];j[f>>2]=g+1;a=(a>>>6|0)+1|0;h[g|0]=a>>>2|240;g=j[f>>2];j[f>>2]=g+1;h[g|0]=a<<4&48|d>>>2&15|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=i>>>6&15|d<<4&48|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=i&63|128;break d}if(d>>>0<57344){break a}a=j[f>>2];if((e-a|0)<3){break b}j[f>>2]=a+1;h[a|0]=d>>>12|224;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d>>>6&63|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d&63|128}g=j[c>>2]+2|0;j[c>>2]=g;continue}break}return 2}return 1}return a}function Zn(a,b,c,d){var e=0,f=0,g=0,l=0,m=0,n=0;a:{b:{f=j[a>>2];c:{if(j[a+8>>2]-f>>2>>>0>=b>>>0){break c}if(b>>>0>=1073741824){break b}e=j[a+4>>2];l=b<<2;b=U(l);l=b+l|0;e=e-f|0;m=e+b|0;if((e|0)>=1){V(b,f,e)}j[a+8>>2]=l;j[a+4>>2]=m;j[a>>2]=b;if(!f){break c}T(f)}d:{if(k[a+16|0]==80){l=U(84);zh(l,j[a+12>>2]);b=j[a+4>>2];g=j[a+8>>2];if(b>>>0>>0){j[b>>2]=l;j[a+4>>2]=b+4;break d}f=j[a>>2];m=b-f|0;b=m>>2;e=b+1|0;if(e>>>0>=1073741824){break a}n=b<<2;g=g-f|0;b=g>>1;e=g>>2>>>0<536870911?b>>>0>>0?e:b:1073741823;b=0;e:{if(!e){break e}if(e>>>0>=1073741824){break b}b=U(e<<2)}g=n+b|0;j[g>>2]=l;if((m|0)>=1){V(b,f,m)}j[a+8>>2]=b+(e<<2);j[a+4>>2]=g+4;j[a>>2]=b;if(!f){break d}T(f);break d}l=U(108);bi(l,j[a+12>>2]);b=j[a+4>>2];g=j[a+8>>2];if(b>>>0>>0){j[b>>2]=l;j[a+4>>2]=b+4;break d}f=j[a>>2];m=b-f|0;b=m>>2;e=b+1|0;if(e>>>0>=1073741824){break a}n=b<<2;g=g-f|0;b=g>>1;e=g>>2>>>0<536870911?b>>>0>>0?e:b:1073741823;b=0;f:{if(!e){break f}if(e>>>0>=1073741824){break b}b=U(e<<2)}g=n+b|0;j[g>>2]=l;if((m|0)>=1){V(b,f,m)}j[a+8>>2]=b+(e<<2);j[a+4>>2]=g+4;j[a>>2]=b;if(!f){break d}T(f)}a=j[j[a+4>>2]-4>>2];i[a+30>>1]=d;h[a+29|0]=c;return}D();z()}X();z()}function yh(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0;a:{f=j[b+4>>2];g=j[c+4>>2];if((f|0)!=(g|0)){c=j[c>>2];e=j[b>>2];l=(p(c-e>>2,341)+((g-j[c>>2]|0)/12|0)|0)+((f-j[e>>2]|0)/-12|0)|0;if((l|0)>0){break a}}b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;return}h=j[d>>2];c=j[d+4>>2];i=j[b>>2];while(1){k=j[i>>2]+4092|0;g=(k-f|0)/12|0;e=(g|0)>(l|0);n=e?l:g;g=c;m=e?p(l,12)+f|0:k;if((m|0)!=(f|0)){e=f;while(1){o=((j[h>>2]-g|0)+4092|0)/12|0;c=e;k=(m-c|0)/12|0;e=(o|0)<(k|0);q=e?o:k;k=g;e=e?p(o,12)+c|0:m;if((e|0)!=(c|0)){while(1){ua(k,c);k=k+12|0;c=c+12|0;if((e|0)!=(c|0)){continue}break}}b:{if(!q){break b}c=((g-j[h>>2]|0)/12|0)+q|0;if((c|0)>=1){g=(c>>>0)/341|0;h=(g<<2)+h|0;g=j[h>>2]+p(c-p(g,341)|0,12)|0;break b}c=340-c|0;h=((c|0)/-341<<2)+h|0;g=j[h>>2]+p(340-((c|0)%341|0)|0,12)|0}if((e|0)!=(m|0)){continue}break}}e=d;j[e>>2]=h;c=g;j[e+4>>2]=c;l=l-n|0;if(n){g=b;f=((f-j[i>>2]|0)/12|0)+n|0;c:{if((f|0)>=1){e=(f>>>0)/341|0;i=(e<<2)+i|0;j[b>>2]=i;f=j[i>>2]+p(f-p(e,341)|0,12)|0;break c}f=340-f|0;i=((f|0)/-341<<2)+i|0;j[b>>2]=i;f=j[i>>2]+p(340-((f|0)%341|0)|0,12)|0}j[g+4>>2]=f}if((l|0)>0){continue}break}j[a>>2]=h;j[a+4>>2]=c}function Xi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=0,l=0,n=0,o=0,p=0;h=M-16|0;M=h;n=f&16;l=f&8;a:{b:{switch(e|0){case 0:case 2:k=(f&24)!=0;break a;case 1:break b;default:break a}}k=(l>>>3|0)!=(n>>>4|0)}k=l?j[b+12>>2]!=0&k:k;c:{d:{if(n){g=-1;i=-1;if(j[b+24>>2]!=0&k){break d}break c}g=-1;i=-1;if(!k){break c}}if(j[b+28>>2]){f=j[b+28>>2]}else{f=j[b+16>>2]}k=f;e:{f:{g:{switch(e-1|0){case 1:break f;case 0:break g;default:break e}}if(l){f=j[b+12>>2];break f}f=j[b+24>>2]}e=f-j[b+8>>2]|0;o=e;p=e>>31}d=d+p|0;c=c+o|0;d=o>>>0>c>>>0?d+1|0:d;e=c;c=d;if((d|0)<0){break c}d=k-j[b+8>>2]|0;f=d>>>0>>0;d=d>>31;if((c|0)>(d|0)?1:(d|0)<=(c|0)?f:0){break c}d=e+j[b+8>>2]|0;j[h+12>>2]=d;if(l){f=j[b+8>>2];j[h+8>>2]=j[b+16>>2];g=M-16|0;M=g;M=g+16|0;g=h+8|0;i=h+12|0;j[b+16>>2]=j[(m[i>>2]>2]?g:i)>>2];j[b+12>>2]=d;j[b+8>>2]=f}if(n){f=j[b+28>>2];g=j[h+12>>2];j[h+4>>2]=j[b+20>>2];d=M-16|0;M=d;M=d+16|0;d=h+12|0;i=h+4|0;d=j[(m[d>>2]>2]?d:i)>>2];j[b+28>>2]=j[b+28>>2];j[b+20>>2]=d;j[b+24>>2]=d;j[b+24>>2]=j[b+24>>2]+(g+j[b+28>>2]-(f+j[b+20>>2])|0)}g=e;i=c}j[a+8>>2]=g;j[a+12>>2]=i;j[a>>2]=0;j[a+4>>2]=0;M=h+16|0}function en(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-272|0;M=a;j[a+256>>2]=c;j[a+264>>2]=b;h=ga(a+208|0);b=j[d+28>>2];j[a+16>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(a+16|0);O[j[j[b>>2]+32>>2]](b,127600,127626,a+224|0)|0;b=j[a+16>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}c=ga(a+192|0);fa(c,k[c+11|0]>>>7|0?(j[c+8>>2]&2147483647)-1|0:10);d=a;if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[d+188>>2]=b;j[a+12>>2]=a+16;j[a+8>>2]=0;while(1){a:{if(!lb(a+264|0,a+256|0)){break a}g=j[a+188>>2];if(k[c+11|0]>>>7|0){d=j[c+4>>2]}else{d=k[c+11|0]}if((g|0)==(d+b|0)){b=c;b:{if(k[b+11|0]>>>7|0){d=j[b+4>>2];break b}d=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=a;if(k[b+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[g+188>>2]=d+b}if(Cc(Ga(a+264|0),16,b,a+188|0,a+8|0,0,h,a+16|0,a+12|0,a+224|0)){break a}Oa(a+264|0);continue}break}fa(c,j[a+188>>2]-b|0);if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}d=ra();j[a>>2]=f;if((xg(b,d,a)|0)!=1){j[e>>2]=4}if(Sa(a+264|0,a+256|0)){j[e>>2]=j[e>>2]|2}b=j[a+264>>2];Y(c);Y(h);M=a+272|0;return b|0}function cp(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0;i=j[a+4>>2];k=j[a+16>>2];n=j[a+20>>2];f=k+n|0;l=(f>>>0)/341|0;d=i+(l<<2)|0;c=j[b+4>>2];m=c;e=j[a+8>>2];o=(i|0)==(e|0);g=0;a:{if(o){break a}g=j[d>>2]+p(f-p(l,341)|0,12)|0}b:{if((m|0)==(g|0)){break b}f=j[b>>2];l=c-j[f>>2]|0;m=(p(d-f>>2,341)+((g-j[d>>2]|0)/12|0)|0)+((l|0)/-12|0)|0;if((m|0)<1){break b}q=(k>>>0)/341|0;b=(q<<2)+i|0;d=c;c=o?0:j[b>>2]+p(k-p(q,341)|0,12)|0;c:{if((d|0)==(c|0)){break c}d=(p(f-b>>2,341)+((l|0)/12|0)|0)+((c-j[b>>2]|0)/-12|0)|0;if(!d){break c}c=d+((c-j[b>>2]|0)/12|0)|0;if((c|0)>=1){d=(c>>>0)/341|0;b=(d<<2)+b|0;c=j[b>>2]+p(c-p(d,341)|0,12)|0;break c}c=340-c|0;b=((c|0)/-341<<2)+b|0;c=j[b>>2]+p(340-((c|0)%341|0)|0,12)|0}if((c|0)!=(g|0)){while(1){if(h[c+11|0]<=-1){T(j[c>>2])}c=c+12|0;if((c-j[b>>2]|0)==4092){c=j[b+4>>2];b=b+4|0}if((c|0)!=(g|0)){continue}break}k=j[a+16>>2];i=j[a+4>>2];n=j[a+20>>2];e=j[a+8>>2]}b=n-m|0;j[a+20>>2]=b;c=e-i|0;if((c?p(c>>2,341)-1|0:0)-(b+k|0)>>>0<682){break b}while(1){T(j[e-4>>2]);e=j[a+8>>2]-4|0;j[a+8>>2]=e;b=e-j[a+4>>2]|0;if((b?p(b>>2,341)-1|0:0)-(j[a+20>>2]+j[a+16>>2]|0)>>>0>681){continue}break}}}function kn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=q(0);f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;re(f+208|0,c,f+224|0,f+223|0,f+222|0);b=ga(f+192|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+188>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+188>>2]=c+a}if(qe(Ga(f+264|0),f+7|0,f+6|0,a,f+188|0,h[f+223|0],h[f+222|0],f+208|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c|!k[f+7|0]){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=Ag(a,j[f+188>>2],d),n[l>>2]=m;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}a=j[f+264>>2];Y(b);Y(f+208|0);M=f+272|0;return a}function hn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;re(f+208|0,c,f+224|0,f+223|0,f+222|0);b=ga(f+192|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+188>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+188>>2]=c+a}if(qe(Ga(f+264|0),f+7|0,f+6|0,a,f+188|0,h[f+223|0],h[f+222|0],f+208|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c|!k[f+7|0]){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=zg(a,j[f+188>>2],d),o[l>>3]=m;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}a=j[f+264>>2];Y(b);Y(f+208|0);M=f+272|0;return a}function dr(a){var b=0,c=0,d=0,e=0,f=0,g=0,k=0,m=0,n=0,o=0;b=j[a+4>>2];if(b){d=j[a>>2];if((d|0)>=1){while(1){c=j[(f<<2)+b>>2];if(c){while(1){g=c;c=j[c+8>>2];e=j[g+4>>2];a:{if(!e){break a}if(j[a+84>>2]){d=i[g+2>>1];o=(d<<1)+e|0;b=e;if(d){while(1){k=d>>>1|0;m=(k<<1)+b|0;n=l[m>>1]<65511;b=n?m+2|0:b;d=n?(k^-1)+d|0:k;if(d){continue}break}}if((b|0)==(o|0)|l[b>>1]>65511){break a}}T(e)}T(g);if(c){continue}break}d=j[a>>2]}f=f+1|0;if((f|0)>=(d|0)){b=j[a+4>>2]}else{b=j[a+4>>2];continue}break}}T(b)}j[a>>2]=0;c=j[a+84>>2];b:{if(!c){break b}b=1;if(j[a+80>>2]>=1){T(j[c>>2]);if(j[a+80>>2]>1){while(1){T(j[j[a+84>>2]+(b<<2)>>2]);b=b+1|0;if((b|0)>2]){continue}break}}c=j[a+84>>2]}T(c);j[a+84>>2]=0;b=j[a+88>>2];if(!b){break b}T(b);j[a+88>>2]=0}c=j[a+96>>2];if(c){b=1;if(j[a+92>>2]>=1){T(j[c>>2]);if(j[a+92>>2]>1){while(1){T(j[j[a+96>>2]+(b<<2)>>2]);b=b+1|0;if((b|0)>2]){continue}break}}c=j[a+96>>2]}T(c);j[a+96>>2]=0}if(j[a+100>>2]){Zh(a+100|0);T(j[a+100>>2])}b=j[a+68>>2];if(b){j[a+72>>2]=b;T(b)}if(h[a+67|0]<=-1){T(j[a+56>>2])}if(h[a+51|0]<=-1){T(j[a+40>>2])}if(h[a+39|0]<=-1){T(j[a+28>>2])}return a}function V(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){F(a|0,b|0,c|0)|0;return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if((c|0)<1){c=a;break b}if(!(a&3)){c=a;break b}c=a;while(1){h[c|0]=k[b|0];b=b+1|0;c=c+1|0;if(e>>>0<=c>>>0){break b}if(c&3){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+ -64|0;if(f>>>0>>0){break c}while(1){j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=j[b+16>>2];j[c+20>>2]=j[b+20>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=j[b+28>>2];j[c+32>>2]=j[b+32>>2];j[c+36>>2]=j[b+36>>2];j[c+40>>2]=j[b+40>>2];j[c+44>>2]=j[b+44>>2];j[c+48>>2]=j[b+48>>2];j[c+52>>2]=j[b+52>>2];j[c+56>>2]=j[b+56>>2];j[c+60>>2]=j[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){h[c|0]=k[b|0];h[c+1|0]=k[b+1|0];h[c+2|0]=k[b+2|0];h[c+3|0]=k[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){h[c|0]=k[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function gk(a,b,c,d,e,f){var g=0,i=0,l=0,m=0,n=0,o=0;j[c>>2]=a;j[f>>2]=d;a:{b:{while(1){g=j[c>>2];if(!(g>>>0>=b>>>0|d>>>0>=e>>>0)){l=h[g|0];a=l&255;c:{if((l|0)>=0){if(a>>>0<=1114111){l=1;break c}return 2}n=2;if(a>>>0<194){break b}if(a>>>0<=223){if((b-g|0)<2){break a}i=k[g+1|0];if((i&192)!=128){break b}l=2;a=i&63|a<<6&1984;if(a>>>0<=1114111){break c}break b}if(a>>>0<=239){if((b-g|0)<3){break a}m=k[g+2|0];i=k[g+1|0];d:{e:{if((a|0)!=237){if((a|0)!=224){break e}if((i&224)==160){break d}break b}if((i&224)==128){break d}break b}if((i&192)!=128){break b}}if((m&192)!=128){break b}l=3;a=m&63|(a<<12&61440|(i&63)<<6);if(a>>>0<=1114111){break c}break b}if(a>>>0>244){break b}if((b-g|0)<4){break a}m=k[g+2|0];i=k[g+1|0];f:{g:{switch(a-240|0){case 0:if((i+112&255)>>>0<48){break f}break b;case 4:if((i&240)==128){break f}break b;default:break g}}if((i&192)!=128){break b}}if((m&192)!=128){break b}o=k[g+3|0];if((o&192)!=128){break b}l=4;a=o&63|(m<<6&4032|(a<<18&1835008|(i&63)<<12));if(a>>>0>1114111){break b}}j[d>>2]=a;j[c>>2]=g+l;d=j[f>>2]+4|0;j[f>>2]=d;continue}break}n=b>>>0>g>>>0}return n}return 1}function Ld(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;d=M-32|0;M=d;j[d+24>>2]=0;j[d+16>>2]=0;j[d+20>>2]=0;j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;ia(d+16|0,a);a:{c=j[d+16>>2];if((c|0)==j[d+20>>2]){break a}b:{while(1){e=(m<<1)+c|0;n=j[b+4>>2];c=j[b>>2];f=n-c|0;if(f){f=f>>1;o=k[e|0]|k[e+1|0]<<8;while(1){l=f>>>1|0;g=(l<<1)+c|0;i=o>>>0>(k[g|0]|k[g+1|0]<<8)>>>0;c=i?g+2|0:c;f=i?(l^-1)+f|0:l;if(f){continue}break}}c:{d:{if((k[e|0]|k[e+1|0]<<8)>>>0>=(k[c|0]|k[c+1|0]<<8)>>>0?(c|0)!=(n|0):0){break d}c=j[d+4>>2];if((c|0)!=j[d+8>>2]){e=k[e|0]|k[e+1|0]<<8;h[c|0]=e;h[c+1|0]=e>>>8;j[d+4>>2]=c+2;break d}l=j[d>>2];f=c-l|0;if((f|0)<=-3){break c}i=f>>1;g=i+1|0;g=i>>>0<1073741823?f>>>0>>0?g:f:2147483647;c=0;e:{if(!g){break e}if((g|0)<=-1){break b}c=U(g<<1)}i=c+(i<<1)|0;e=k[e|0]|k[e+1|0]<<8;h[i|0]=e;h[i+1|0]=e>>>8;if((f|0)>=1){V(c,l,f)}j[d+8>>2]=c+(g<<1);j[d+4>>2]=i+2;j[d>>2]=c;if(!l){break d}T(l)}m=m+1|0;c=j[d+16>>2];if(m>>>0>2]-c>>1>>>0){continue}break a}break}X();z()}D();z()}da(a,d);c=j[d+4>>2];a=j[d>>2];if(a){j[d+4>>2]=a;T(a)}b=j[d+16>>2];if(b){j[d+20>>2]=b;T(b)}M=d+32|0;return c-a>>1}function wm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,k=0,l=0,m=0;a=M-384|0;M=a;j[a+376>>2]=37;j[a+380>>2]=0;g=md(a+376|1,127641,j[c+4>>2]);j[a+332>>2]=a+336;f=ra();a:{if(g){i=j[c+8>>2];o[a+40>>3]=e;j[a+32>>2]=i;f=fb(a+336|0,30,f,a+376|0,a+32|0);break a}o[a+48>>3]=e;f=fb(a+336|0,30,f,a+376|0,a+48|0)}j[a+80>>2]=77;i=Da(a+320|0,0,a+80|0);b:{if((f|0)>=30){f=ra();c:{if(g){g=j[c+8>>2];o[a+8>>3]=e;j[a>>2]=g;f=Sb(a+332|0,f,a+376|0,a);break c}o[a+16>>3]=e;f=Sb(a+332|0,f,a+376|0,a+16|0)}h=j[a+332>>2];if(!h){break b}g=j[i>>2];j[i>>2]=h;if(g){O[j[i+4>>2]](g)}}g=j[a+332>>2];h=g+f|0;m=Bb(g,h,c);j[a+80>>2]=77;g=Da(a+72|0,0,a+80|0);d:{if(j[a+332>>2]==(a+336|0)){f=a+80|0;k=a+336|0;break d}f=ja(f<<3);if(!f){break b}k=j[g>>2];j[g>>2]=f;if(k){O[j[g+4>>2]](k)}k=j[a+332>>2]}l=j[c+28>>2];j[a+56>>2]=l;j[l+4>>2]=j[l+4>>2]+1;rg(k,m,h,f,a+68|0,a- -64|0,a+56|0);h=j[a+56>>2];k=j[h+4>>2]-1|0;j[h+4>>2]=k;if((k|0)==-1){O[j[j[h>>2]+8>>2]](h)}c=_b(b,f,j[a+68>>2],j[a+64>>2],c,d);b=j[g>>2];j[g>>2]=0;if(b){O[j[g+4>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+384|0;return c|0}Fa();z()}function Fm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,k=0,l=0,m=0;a=M-208|0;M=a;j[a+200>>2]=37;j[a+204>>2]=0;g=md(a+200|1,127641,j[c+4>>2]);j[a+156>>2]=a+160;f=ra();a:{if(g){i=j[c+8>>2];o[a+40>>3]=e;j[a+32>>2]=i;f=fb(a+160|0,30,f,a+200|0,a+32|0);break a}o[a+48>>3]=e;f=fb(a+160|0,30,f,a+200|0,a+48|0)}j[a+80>>2]=77;i=Da(a+144|0,0,a+80|0);b:{if((f|0)>=30){f=ra();c:{if(g){g=j[c+8>>2];o[a+8>>3]=e;j[a>>2]=g;f=Sb(a+156|0,f,a+200|0,a);break c}o[a+16>>3]=e;f=Sb(a+156|0,f,a+200|0,a+16|0)}h=j[a+156>>2];if(!h){break b}g=j[i>>2];j[i>>2]=h;if(g){O[j[i+4>>2]](g)}}g=j[a+156>>2];h=g+f|0;m=Bb(g,h,c);j[a+80>>2]=77;g=Da(a+72|0,0,a+80|0);d:{if(j[a+156>>2]==(a+160|0)){f=a+80|0;k=a+160|0;break d}f=ja(f<<1);if(!f){break b}k=j[g>>2];j[g>>2]=f;if(k){O[j[g+4>>2]](k)}k=j[a+156>>2]}l=j[c+28>>2];j[a+56>>2]=l;j[l+4>>2]=j[l+4>>2]+1;ug(k,m,h,f,a+68|0,a- -64|0,a+56|0);h=j[a+56>>2];k=j[h+4>>2]-1|0;j[h+4>>2]=k;if((k|0)==-1){O[j[j[h>>2]+8>>2]](h)}c=$b(b,f,j[a+68>>2],j[a+64>>2],c,d);b=j[g>>2];j[g>>2]=0;if(b){O[j[g+4>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+208|0;return c|0}Fa();z()}function Um(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=M-16|0;M=m;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[b+4356>>2]=0;j[b+4360>>2]=0;j[b+4376>>2]=0;e=j[b>>2];if(e){while(1){gf(m,e,c,d);f=k[m+11|0];g=f<<24>>24;n=(g|0)<0;f=n?j[m+4>>2]:f;if(f){aa(a,n?j[m>>2]:m,f);g=k[m+11|0]}e=j[e+68>>2];if(g<<24>>24<=-1){T(j[m>>2])}if(e){continue}break}}f=j[(k[c|0]<<2)+b>>2];a:{if(!f){break a}while(1){g=f+4|0;g=h[f+15|0]<0?j[g>>2]:g;e=k[g|0];b:{if(!e){break b}n=c;if((e|0)!=46&k[n|0]!=(e|0)){break b}while(1){e=k[g+1|0];if(!e){break b}o=k[n+1|0];n=n+1|0;g=g+1|0;if(!((e|0)!=46&(e|0)!=(o|0))){continue}break}}if(e){f=j[f+76>>2];if(f){continue}break a}gf(m,f,c,d);e=k[m+11|0];n=e<<24>>24;o=(n|0)<0;q=o?j[m+4>>2]:e;c:{if(!q){break c}e=j[f+56>>2];d:{if(!e){break d}g=i[f+60>>1];t=(g<<1)+e|0;if(g){u=l[b+4464>>1];while(1){p=g>>>1|0;r=(p<<1)+e|0;s=l[r>>1]>>0;e=s?r+2|0:e;g=s?(p^-1)+g|0:p;if(g){continue}break}}if((e|0)==(t|0)){break d}if(l[b+4464>>1]>=l[e>>1]){break c}}aa(a,o?j[m>>2]:m,q);j[b+4376>>2]=f;n=h[m+11|0]}f=j[f+72>>2];if((n|0)<=-1){T(j[m>>2])}if(f){continue}break}}M=m+16|0}function sn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Wc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Cc(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127600)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Gg(b,j[f+188>>2],d,i),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function mn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Wc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Cc(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127600)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Cg(b,j[f+188>>2],d,i),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function ld(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=M-16|0;M=l;o=rb(g);i=Bc(g);g=i;O[j[j[g>>2]+20>>2]](l,g);if(k[l+11|0]>>>7|0){g=j[l+4>>2]}else{g=k[l+11|0]}a:{if(!g){O[j[j[o>>2]+48>>2]](o,a,c,d)|0;g=(c-a<<2)+d|0;j[f>>2]=g;break a}j[f>>2]=d;b:{c:{m=a;g=k[m|0];switch(g-43|0){case 0:case 2:break c;default:break b}}n=O[j[j[o>>2]+44>>2]](o,g<<24>>24)|0;g=j[f>>2];j[f>>2]=g+4;j[g>>2]=n;m=a+1|0}if(!(k[m|0]!=48|(c-m|0)<2|(k[m+1|0]|32)!=120)){n=O[j[j[o>>2]+44>>2]](o,48)|0;g=j[f>>2];j[f>>2]=g+4;j[g>>2]=n;n=O[j[j[o>>2]+44>>2]](o,h[m+1|0])|0;g=j[f>>2];j[f>>2]=g+4;j[g>>2]=n;m=m+2|0}pc(m,c);r=O[j[j[i>>2]+16>>2]](i)|0;n=0;g=m;while(1){if(c>>>0<=g>>>0){kd((m-a<<2)+d|0,j[f>>2]);g=j[f>>2]}else{if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}p=!k[i+n|0];if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}if(!(p|h[i+n|0]!=(q|0))){i=j[f>>2];j[f>>2]=i+4;j[i>>2]=r;if(k[l+11|0]>>>7|0){i=j[l+4>>2]}else{i=k[l+11|0]}n=(i-1>>>0>n>>>0)+n|0;q=0}p=O[j[j[o>>2]+44>>2]](o,h[g|0])|0;i=j[f>>2];j[f>>2]=i+4;j[i>>2]=p;g=g+1|0;q=q+1|0;continue}break}}j[e>>2]=(b|0)==(c|0)?g:(b-a<<2)+d|0;Y(l);M=l+16|0}function od(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=M-16|0;M=l;o=sb(g);i=Dc(g);g=i;O[j[j[g>>2]+20>>2]](l,g);if(k[l+11|0]>>>7|0){g=j[l+4>>2]}else{g=k[l+11|0]}a:{if(!g){O[j[j[o>>2]+32>>2]](o,a,c,d)|0;g=(c-a|0)+d|0;j[f>>2]=g;break a}j[f>>2]=d;b:{c:{m=a;g=k[m|0];switch(g-43|0){case 0:case 2:break c;default:break b}}n=O[j[j[o>>2]+28>>2]](o,g<<24>>24)|0;g=j[f>>2];j[f>>2]=g+1;h[g|0]=n;m=a+1|0}if(!(k[m|0]!=48|(c-m|0)<2|(k[m+1|0]|32)!=120)){n=O[j[j[o>>2]+28>>2]](o,48)|0;g=j[f>>2];j[f>>2]=g+1;h[g|0]=n;n=O[j[j[o>>2]+28>>2]](o,h[m+1|0])|0;g=j[f>>2];j[f>>2]=g+1;h[g|0]=n;m=m+2|0}pc(m,c);r=O[j[j[i>>2]+16>>2]](i)|0;n=0;g=m;while(1){if(c>>>0<=g>>>0){pc((m-a|0)+d|0,j[f>>2]);g=j[f>>2]}else{if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}p=!k[i+n|0];if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}if(!(p|h[i+n|0]!=(q|0))){i=j[f>>2];j[f>>2]=i+1;h[i|0]=r;if(k[l+11|0]>>>7|0){i=j[l+4>>2]}else{i=k[l+11|0]}n=(i-1>>>0>n>>>0)+n|0;q=0}p=O[j[j[o>>2]+28>>2]](o,h[g|0])|0;i=j[f>>2];j[f>>2]=i+1;h[i|0]=p;g=g+1|0;q=q+1|0;continue}break}}j[e>>2]=(b|0)==(c|0)?g:(b-a|0)+d|0;Y(l);M=l+16|0}function ne(a,b,c,d,e,f,g,i,l,m,n,o){var p=0;p=M-16|0;M=p;j[p+12>>2]=a;a:{b:{if((a|0)==(f|0)){if(!k[b|0]){break b}a=0;h[b|0]=0;b=j[e>>2];j[e>>2]=b+1;h[b|0]=46;if(k[i+11|0]>>>7|0){b=j[i+4>>2]}else{b=k[i+11|0]}if(!b){break a}b=j[m>>2];if((b-l|0)>159){break a}c=j[n>>2];j[m>>2]=b+4;j[b>>2]=c;break a}if(k[i+11|0]>>>7|0){f=j[i+4>>2]}else{f=k[i+11|0]}if(!(!f|(a|0)!=(g|0))){if(!k[b|0]){break b}a=0;b=j[m>>2];if((b-l|0)>159){break a}a=j[n>>2];j[m>>2]=b+4;j[b>>2]=a;a=0;j[n>>2]=0;break a}a=-1;f=me(o,o+128|0,p+12|0)-o|0;if((f|0)>124){break a}g=k[(f>>2)+127600|0];c:{d:{switch(Er(f-88|0,30)|0){case 2:case 3:b=j[e>>2];if((k[b-1|0]&95)!=(k[c|0]&127)?(b|0)!=(d|0):0){break a}j[e>>2]=b+1;h[b|0]=g;a=0;break a;case 0:case 1:h[c|0]=80;break c;default:break d}}a=h[c|0];if((a|0)!=(g&95)){break c}h[c|0]=a|128;if(!k[b|0]){break c}h[b|0]=0;if(k[i+11|0]>>>7|0){a=j[i+4>>2]}else{a=k[i+11|0]}if(!a){break c}a=j[m>>2];if((a-l|0)>159){break c}b=j[n>>2];j[m>>2]=a+4;j[a>>2]=b}a=j[e>>2];j[e>>2]=a+1;h[a|0]=g;a=0;if((f|0)>84){break a}j[n>>2]=j[n>>2]+1;break a}a=-1}M=p+16|0;return a}function vn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Wc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Cc(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127600)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Hg(b,j[f+188>>2],d,i),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function qn(a,b,c,d,e){var f=0,g=0,l=0,m=0,n=0,o=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;l=Tb(c);Wc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){m=j[b+4>>2]}else{m=k[b+11|0]}fa(g,m<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Cc(Ga(f+264|0),l,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127600)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}n=e,o=Fg(b,j[f+188>>2],d,l),i[n>>1]=o;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function on(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Wc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Cc(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127600)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Dg(b,j[f+188>>2],d,i),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function Yh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=M-32|0;M=e;a:{d=j[a+8>>2];f=j[a>>2];b:{if((d-f|0)/60>>>0>=b>>>0){break b}c=j[a+4>>2];j[e+24>>2]=a+8;j[e+20>>2]=0;if(b>>>0>=71582789){break a}g=p(b,60);b=U(g);h=b+g|0;g=b+p((c-f|0)/60|0,60)|0;c:{if((c|0)==(f|0)){b=g;c=f;break c}b=g;while(1){c=c-60|0;d=j[c+4>>2];b=b-60|0;j[b>>2]=j[c>>2];j[b+4>>2]=d;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[b+20>>2]=j[c+20>>2];d=j[c+16>>2];j[b+12>>2]=j[c+12>>2];j[b+16>>2]=d;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[b+32>>2]=j[c+32>>2];d=j[c+28>>2];j[b+24>>2]=j[c+24>>2];j[b+28>>2]=d;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[b+44>>2]=j[c+44>>2];d=j[c+40>>2];j[b+36>>2]=j[c+36>>2];j[b+40>>2]=d;j[c+44>>2]=0;j[c+36>>2]=0;j[c+40>>2]=0;j[b+56>>2]=j[c+56>>2];d=j[c+52>>2];j[b+48>>2]=j[c+48>>2];j[b+52>>2]=d;j[c+48>>2]=0;j[c+52>>2]=0;j[c+56>>2]=0;if((c|0)!=(f|0)){continue}break}d=j[a+8>>2];f=j[a+4>>2];c=j[a>>2]}j[a>>2]=b;j[e+12>>2]=c;j[a+4>>2]=g;j[e+16>>2]=f;j[a+8>>2]=h;j[e+8>>2]=c;j[e+20>>2]=d;Xh(e+8|0,c);a=j[e+8>>2];if(!a){break b}T(a)}M=e+32|0;return}D();z()}function qe(a,b,c,d,e,f,g,i,l,m,n,o){var p=0;p=M-16|0;M=p;h[p+15|0]=a;a:{b:{if((a|0)==(f|0)){if(!k[b|0]){break b}a=0;h[b|0]=0;b=j[e>>2];j[e>>2]=b+1;h[b|0]=46;if(k[i+11|0]>>>7|0){b=j[i+4>>2]}else{b=k[i+11|0]}if(!b){break a}b=j[m>>2];if((b-l|0)>159){break a}c=j[n>>2];j[m>>2]=b+4;j[b>>2]=c;break a}if(k[i+11|0]>>>7|0){f=j[i+4>>2]}else{f=k[i+11|0]}if(!(!f|(a|0)!=(g|0))){if(!k[b|0]){break b}a=0;b=j[m>>2];if((b-l|0)>159){break a}a=j[n>>2];j[m>>2]=b+4;j[b>>2]=a;a=0;j[n>>2]=0;break a}a=-1;f=pe(o,o+32|0,p+15|0)-o|0;if((f|0)>31){break a}g=k[f+127600|0];c:{d:{switch(f-22|0){case 2:case 3:b=j[e>>2];if((k[b-1|0]&95)!=(k[c|0]&127)?(b|0)!=(d|0):0){break a}j[e>>2]=b+1;h[b|0]=g;a=0;break a;case 0:case 1:h[c|0]=80;break c;default:break d}}a=h[c|0];if((a|0)!=(g&95)){break c}h[c|0]=a|128;if(!k[b|0]){break c}h[b|0]=0;if(k[i+11|0]>>>7|0){a=j[i+4>>2]}else{a=k[i+11|0]}if(!a){break c}a=j[m>>2];if((a-l|0)>159){break c}b=j[n>>2];j[m>>2]=a+4;j[a>>2]=b}a=j[e>>2];j[e>>2]=a+1;h[a|0]=g;a=0;if((f|0)>21){break a}j[n>>2]=j[n>>2]+1;break a}a=-1}M=p+16|0;return a}function _c(a){var b=0,c=0,d=0;c=h[a+11|0];a:{if((c|0)<=-1){c=U(j[a+4>>2]+1|0);a=j[a>>2];break a}c=U((c&255)+1|0)}d=c;b=k[a|0];if(b){while(1){b:{c:{if((b-65&255)>>>0<=25){b=b+32|0;break c}if((b-97&255)>>>0<26){break c}if((b-48&255)>>>0>9){break b}}h[d|0]=b;d=d+1|0}b=k[a+1|0];a=a+1|0;if(b){continue}break}}b=0;h[d|0]=0;d:{if(!ba(c,120592)){break d}if(!ba(c,120601)){b=1;break d}if(!ba(c,120610)){b=2;break d}if(!ba(c,120619)){b=3;break d}if(!ba(c,120628)){b=4;break d}if(!ba(c,120637)){b=5;break d}if(!ba(c,120646)){b=6;break d}if(!ba(c,120655)){b=7;break d}if(!ba(c,120664)){b=8;break d}if(!ba(c,120673)){b=9;break d}if(!ba(c,120683)){b=10;break d}if(!ba(c,120690)){b=11;break d}if(!ba(c,120701)){b=12;break d}if(!ba(c,120711)){b=13;break d}if(!ba(c,120721)){b=14;break d}if(!ba(c,120731)){b=15;break d}if(!ba(c,120741)){b=16;break d}if(!ba(c,120747)){b=17;break d}if(!ba(c,120753)){b=18;break d}if(!ba(c,120760)){b=19;break d}if(!ba(c,120776)){b=20;break d}if(!ba(c,120785)){b=21;break d}T(c);return 134576}T(c);return j[(b<<3)+1844>>2]}function Jh(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0;g=M-16|0;M=g;a:{b:{c:{d:{e:{f:{g:{f=h[a+11|0];h:{if((f|0)<=-1){i=b-j[a>>2]|0;e=d-c|0;if(!e){break b}f=j[a>>2];l=j[a+4>>2];if(l+f>>>0>c>>>0?f>>>0<=c>>>0:0){break h}b=(j[a+8>>2]&2147483647)-1|0;if(b-l>>>0>=e>>>0){break f}break d}i=b-a|0;e=d-c|0;if(!e){break b}l=f&255;if(l+a>>>0<=c>>>0|a>>>0>c>>>0){break g}}if(e>>>0>=4294967280){break e}i:{if(e>>>0<=10){h[g+11|0]=e;i=g;break i}f=e+16&-16;i=U(f);j[g+8>>2]=f|-2147483648;j[g>>2]=i;j[g+4>>2]=e}if((c|0)!=(d|0)){f=c;c=d-c|0;i=V(i,f,c)+c|0}h[i|0]=0;f=a;d=b;c=k[g+11|0];b=c<<24>>24<0;a=b?j[g>>2]:g;c=Jh(f,d,a,a+(b?j[g+4>>2]:c)|0);if(h[g+11|0]>-1){break a}T(j[g>>2]);break a}b=10;f=a;if(10-l>>>0>>0){break d}}m=l-i|0;if(!m){break c}b=i+f|0;Ja(b+e|0,b,m);break c}X();z()}pb(a,b,(e-b|0)+l|0,l,i,0,e);f=j[a>>2]}b=e+l|0;j:{if(h[a+11|0]<=-1){j[a+4>>2]=b;break j}h[a+11|0]=b}h[b+f|0]=0;if((c|0)==(d|0)){break b}e=i+f|0;while(1){h[e|0]=k[c|0];e=e+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}if(h[a+11|0]<=-1){a=j[a>>2]}c=a+i|0}M=g+16|0;return c}function dp(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0;k=j[b>>2];g=j[c+4>>2];c=j[c>>2];e=j[b+4>>2];if((g|0)!=(e|0)){h=(p(c-k>>2,341)+((g-j[c>>2]|0)/12|0)|0)+((e-j[k>>2]|0)/-12|0)|0}e=j[a+8>>2];d=j[a+4>>2];c=e-d|0;f=c?p(c>>2,341)-1|0:0;c=j[a+20>>2];g=c+j[a+16>>2]|0;f=f-g|0;if(f>>>0>>0){bp(a,h-f|0);c=j[a+20>>2];g=c+j[a+16>>2]|0;d=j[a+4>>2];e=j[a+8>>2]}i=(g>>>0)/341|0;f=(i<<2)+d|0;e=(d|0)==(e|0)?0:j[f>>2]+p(g-p(i,341)|0,12)|0;m=e;a:{if(!h){i=f;g=e;break a}d=((e-j[f>>2]|0)/12|0)+h|0;if((d|0)>=1){l=(d>>>0)/341|0;i=(l<<2)+f|0;g=j[i>>2]+p(d-p(l,341)|0,12)|0;break a}d=340-d|0;i=((d|0)/-341<<2)+f|0;g=j[i>>2]+p(340-((d|0)%341|0)|0,12)|0}b:{if((m|0)==(g|0)){break b}while(1){d=g;m=(f|0)==(i|0);d=m?d:j[f>>2]+4092|0;c:{if((e|0)==(d|0)){d=e;break c}h=j[b+4>>2];c=e;while(1){c=ha(c,h);h=h+12|0;j[b+4>>2]=h;c=c+12|0;if((h-j[k>>2]|0)==4092){l=k+4|0;j[b>>2]=l;h=j[k+4>>2];j[b+4>>2]=h;k=l}if((c|0)!=(d|0)){continue}break}c=j[a+20>>2]}c=((d-e|0)/12|0)+c|0;j[a+20>>2]=c;if(m){break b}e=j[f+4>>2];f=f+4|0;if((e|0)!=(g|0)){continue}break}}}function nd(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0;e=M-16|0;M=e;a:{b:{if((c|0)<2){break b}c=j[a+4100>>2]+100|0;if(j[c>>2]==j[c+4>>2]){break b}c=j[a+4100>>2]+100|0;if(j[c+4>>2]==j[c>>2]){break b}while(1){c:{i=p(l,60);g=i+j[j[a+4100>>2]+100>>2]|0;c=h[g+23|0];d:{if((c|0)<=-1){c=j[g+16>>2];break d}c=c&255}if(!c){break c}g=j[j[a+4100>>2]+100>>2]+i|0;c=h[g+11|0];e:{if((c|0)<=-1){g=j[g+4>>2];break e}g=c&255}c=b;while(1){d=j[j[a+4100>>2]+100>>2]+i|0;if(h[d+11|0]<=-1){d=j[d>>2]}m=ca(c,d);if(!m){break c}f=W(b);if(f>>>0>=4294967280){break a}f:{g:{if(f>>>0>=11){d=f+16&-16;c=U(d);j[e+8>>2]=d|-2147483648;j[e>>2]=c;j[e+4>>2]=f;break g}h[e+11|0]=f;c=e;if(!f){break f}}V(c,b,f)}h[c+f|0]=0;f=j[j[a+4100>>2]+100>>2]+i|0;c=k[f+23|0];d=c<<24>>24<0;oc(e,m-b|0,g,d?j[f+12>>2]:f+12|0,d?j[f+16>>2]:c);d=k[e+11|0];c=d<<24>>24<0;d=tg(a,c?j[e>>2]:e,c?j[e+4>>2]:d);if(h[e+11|0]<=-1){T(j[e>>2])}c=m+1|0;if(!d){continue}break}g=1;break b}g=0;l=l+1|0;c=j[a+4100>>2]+100|0;if(l>>>0<(j[c+4>>2]-j[c>>2]|0)/60>>>0){continue}break}}M=e+16|0;return g}X();z()}function Bk(a,b,c,d,e,f,g,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var l=0,m=0,n=0,o=0;n=M-16|0;M=n;l=c;while(1){a:{if((d|0)==(l|0)){l=d;break a}if(!j[l>>2]){break a}l=l+4|0;continue}break}j[i>>2]=f;j[e>>2]=c;while(1){b:{c:{if(!((f|0)==(g|0)|(c|0)==(d|0))){m=j[b+4>>2];j[n+8>>2]=j[b>>2];j[n+12>>2]=m;m=1;d:{e:{f:{g:{h:{o=Ak(f,e,l-c>>2,g-f|0,j[a+8>>2]);switch(o+1|0){case 0:break h;case 1:break c;default:break g}}j[i>>2]=f;while(1){i:{if(j[e>>2]==(c|0)){break i}b=ge(f,j[c>>2],j[a+8>>2]);if((b|0)==-1){break i}f=b+j[i>>2]|0;j[i>>2]=f;c=c+4|0;continue}break}j[e>>2]=c;break f}f=j[i>>2]+o|0;j[i>>2]=f;if((f|0)==(g|0)){break d}if((d|0)==(l|0)){c=j[e>>2];l=d;continue}l=ge(n+4|0,0,j[a+8>>2]);if((l|0)!=-1){break e}}m=2;break c}c=n+4|0;if(g-j[i>>2]>>>0>>0){break c}while(1){if(l){f=k[c|0];m=j[i>>2];j[i>>2]=m+1;h[m|0]=f;l=l-1|0;c=c+1|0;continue}break}c=j[e>>2]+4|0;j[e>>2]=c;l=c;while(1){if((d|0)==(l|0)){l=d;break b}if(!j[l>>2]){break b}l=l+4|0;continue}}c=j[e>>2]}m=(c|0)!=(d|0)}M=n+16|0;return m|0}f=j[i>>2];continue}}function Bd(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);h[b+12|0]=c;a:{if(c){break a}while(1){d=j[b+8>>2];if(k[d+12|0]){break a}b:{c=j[d+8>>2];e=j[c>>2];if((d|0)==(e|0)){e=j[c+4>>2];if(!(!e|k[e+12|0])){break b}c:{if(j[d>>2]==(b|0)){b=d;break c}b=j[d+4>>2];e=j[b>>2];j[d+4>>2]=e;a=b;if(e){j[e+8>>2]=d;c=j[d+8>>2]}j[a+8>>2]=c;a=j[d+8>>2];j[(((d|0)!=j[a>>2])<<2)+a>>2]=b;j[b>>2]=d;j[d+8>>2]=b;c=j[b+8>>2]}h[b+12|0]=1;h[c+12|0]=0;a=j[c>>2];b=j[a+4>>2];j[c>>2]=b;if(b){j[b+8>>2]=c}j[a+8>>2]=j[c+8>>2];b=j[c+8>>2];j[((j[b>>2]!=(c|0))<<2)+b>>2]=a;j[a+4>>2]=c;j[c+8>>2]=a;return}if(!(k[e+12|0]|!e)){break b}d:{if(j[d>>2]!=(b|0)){b=d;break d}e=j[b+4>>2];j[d>>2]=e;a=b;if(e){j[e+8>>2]=d;c=j[d+8>>2]}j[a+8>>2]=c;a=j[d+8>>2];j[(((d|0)!=j[a>>2])<<2)+a>>2]=b;j[b+4>>2]=d;j[d+8>>2]=b;c=j[b+8>>2]}h[b+12|0]=1;h[c+12|0]=0;a=j[c+4>>2];b=j[a>>2];j[c+4>>2]=b;if(b){j[b+8>>2]=c}j[a+8>>2]=j[c+8>>2];b=j[c+8>>2];j[((j[b>>2]!=(c|0))<<2)+b>>2]=a;j[a>>2]=c;j[c+8>>2]=a;break a}h[d+12|0]=1;h[c+12|0]=(a|0)==(c|0);h[e+12|0]=1;b=c;if((b|0)!=(a|0)){continue}break}}}function Be(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;g=M-32|0;M=g;e=d&2147483647;h=e;f=e-1006698496|0;e=e-1140785152|0;i=c;a:{if((f|0)==(e|0)&c>>>0>c>>>0|e>>>0>f>>>0){e=d<<4|c>>>28;c=c<<4|b>>>28;b=b&268435455;h=b;if((b|0)==134217728&a>>>0>=1|b>>>0>134217728){e=e+1073741824|0;a=c+1|0;e=a>>>0<1?e+1|0:e;f=a;break a}f=c;e=e+1073741824|0;if(a|h^134217728){break a}b=c&1;a=b+f|0;e=a>>>0>>0?e+1|0:e;f=a;break a}if(!(!i&(h|0)==2147418112?!(a|b):h>>>0<2147418112)){f=c;c=d<<4|c>>>28;f=f<<4|b>>>28;e=c&524287|2146959360;break a}f=0;e=2146435072;if(h>>>0>1140785151){break a}e=0;h=h>>>16|0;if(h>>>0<15249){break a}e=d&65535|65536;mb(g+16|0,a,b,c,e,h-15233|0);Fc(g,a,b,c,e,15361-h|0);e=j[g+4>>2];h=e;a=j[g+8>>2];c=j[g+12>>2]<<4|a>>>28;f=a<<4|e>>>28;e=c;a=h&268435455;c=a;b=j[g>>2]|((j[g+16>>2]|j[g+24>>2])!=0|(j[g+20>>2]|j[g+28>>2])!=0);if((a|0)==134217728&b>>>0>=1|a>>>0>134217728){a=f+1|0;e=a>>>0<1?e+1|0:e;f=a;break a}if(b|c^134217728){break a}a=f+(f&1)|0;e=a>>>0>>0?e+1|0:e;f=a}M=g+32|0;Hr(0,f|0);Hr(1,d&-2147483648|e);return+Ir()}function kg(a,b,c){var d=0,e=0,f=0;d=M-32|0;M=d;b=b+c|0;a:{b:{c:{d:{if(j[a+4144>>2]){while(1){b=b-1|0;if((k[b|0]&192)==128){continue}break}c=W(b);if(c>>>0>=4294967280){break c}e:{f:{if(c>>>0>=11){f=c+16&-16;e=U(f);j[d+24>>2]=f|-2147483648;j[d+16>>2]=e;j[d+20>>2]=c;break f}h[d+27|0]=c;e=d+16|0;if(!c){break e}}V(e,b,c)}b=0;h[c+e|0]=0;j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;ia(d,d+16|0);c=0;f=j[d+4>>2];e=j[d>>2];if(f-e>>1>>>0>=2){c=k[e+2|0]|k[e+3|0]<<8}b=(e|0)!=(f|0)?k[e|0]|k[e+1|0]<<8:b;e=c&65535;g:{if((Ye(e,j[a+4456>>2])|0)!=(e|0)){a=Ye(b,j[a+4456>>2]);if((b|0)==45|(c&65535)==45|(a|0)!=(b|0)){break g}break b}if((e|0)==45){break g}if((b|0)!=45){break b}}a=j[d>>2];if(a){j[d+4>>2]=a;T(a)}if(h[d+27|0]>-1){break d}T(j[d+16>>2]);break d}c=k[b|0];a=j[a+4140>>2];b=k[b-1|0];if(!k[a+p(b,3)|0]){if((c|0)==45|(b|0)==45){break d}b=1;if(!k[a+p(c,3)|0]){break d}break a}if((b|0)==45){break d}b=1;if((c|0)!=45){break a}}b=0;break a}X();z()}a=j[d>>2];if(a){j[d+4>>2]=a;T(a)}if(h[d+27|0]<=-1){T(j[d+16>>2])}b=1}M=d+32|0;return b}function jp(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=M-32|0;M=g;a:{if(j[b+32>>2]!=j[b+36>>2]){break a}d=j[b+28>>2];e=(d>>>0)/341|0;if((Hc(b,j[j[b+16>>2]+(e<<2)>>2]+p(d-p(e,341)|0,12)|0)|0)==(b+4|0)){break a}d=j[b+28>>2];e=(d>>>0)/341|0;d=j[j[b+16>>2]+(e<<2)>>2]+p(d-p(e,341)|0,12)|0;j[g+16>>2]=d;ip(g+24|0,b,d,g+16|0);Me(j[j[g+24>>2]+28>>2]);d=j[b+28>>2];e=(d>>>0)/341|0;Bh(b,j[j[b+16>>2]+(e<<2)>>2]+p(d-p(e,341)|0,12)|0);e=b;d=j[b+28>>2];f=(d>>>0)/341|0;f=j[j[b+16>>2]+(f<<2)>>2]+p(d-p(f,341)|0,12)|0;if(h[f+11|0]<=-1){T(j[f>>2]);d=j[b+28>>2]}d=d+1|0;j[e+28>>2]=d;j[b+32>>2]=j[b+32>>2]-1;if(d>>>0<682){break a}T(j[j[b+16>>2]>>2]);j[b+16>>2]=j[b+16>>2]+4;j[b+28>>2]=j[b+28>>2]-341}d=j[b+32>>2]+j[b+28>>2]|0;f=j[b+20>>2];e=j[b+16>>2];i=f-e|0;if((d|0)==((i?p(i>>2,341)-1|0:0)|0)){Ah(b+12|0);f=j[b+20>>2];e=j[b+16>>2];d=j[b+28>>2]+j[b+32>>2]|0}if((e|0)!=(f|0)){f=e;e=(d>>>0)/341|0;e=j[f+(e<<2)>>2]+p(d-p(e,341)|0,12)|0}else{e=0}ha(e,c);j[b+32>>2]=j[b+32>>2]+1;hp(g+24|0,b,c,c);j[a>>2]=j[g+24>>2];h[a+4|0]=k[g+28|0];M=g+32|0}function Uf(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=Zf(c);b:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break b}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}Pb(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=Yf(c);c:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break c}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}Pb(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function Wf(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=cg(c);b:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break b}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}db(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=bg(c);c:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break c}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}db(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function ek(a,b,c){var d=0,e=0,f=0,g=0,i=0,j=0,l=0;d=a;while(1){a:{if(c>>>0<=j>>>0|b>>>0<=d>>>0){break a}g=h[d|0];f=g&255;b:{if((g|0)>=0){g=1;if(f>>>0<=1114111){break b}break a}if(f>>>0<194){break a}if(f>>>0<=223){if((b-d|0)<2){break a}e=k[d+1|0];if((e&192)!=128){break a}g=2;if((e&63|f<<6&1984)>>>0<=1114111){break b}break a}c:{d:{if(f>>>0<=239){if((b-d|0)<3){break a}i=k[d+2|0];e=k[d+1|0];if((f|0)==237){break d}if((f|0)==224){if((e&224)==160){break c}break a}if((e&192)!=128){break a}break c}if((b-d|0)<4|f>>>0>244){break a}i=k[d+2|0];e=k[d+1|0];e:{f:{switch(f-240|0){case 0:if((e+112&255)>>>0<48){break e}break a;case 4:if((e&240)==128){break e}break a;default:break f}}if((e&192)!=128){break a}}if((i&192)!=128){break a}l=k[d+3|0];if((l&192)!=128){break a}g=4;if((l&63|(i<<6&4032|(f<<18&1835008|(e&63)<<12)))>>>0>1114111){break a}break b}if((e&224)!=128){break a}}if((i&192)!=128){break a}g=3;if((i&63|(f<<12&61440|(e&63)<<6))>>>0>1114111){break a}}j=j+1|0;d=d+g|0;continue}break}return d-a|0}function Pq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;a:{b:{e=d-c|0;c:{if((e|0)<1){break c}m=e>>1;i=j[a+8>>2];n=j[a+4>>2];if((m|0)<=i-n>>1){g=n-b|0;e=g>>1;d:{if((e|0)>=(m|0)){f=n;l=d;break d}f=n;l=(e<<1)+c|0;if((l|0)!=(d|0)){e=l;while(1){i=k[e|0]|k[e+1|0]<<8;h[f|0]=i;h[f+1|0]=i>>>8;f=f+2|0;e=e+2|0;if((e|0)!=(d|0)){continue}break}}j[a+4>>2]=f;if((g|0)<1){break c}}d=m<<1;m=f-(d+b|0)|0;e=f;d=e-d|0;if(n>>>0>d>>>0){while(1){g=k[d|0]|k[d+1|0]<<8;h[e|0]=g;h[e+1|0]=g>>>8;e=e+2|0;d=d+2|0;if(n>>>0>d>>>0){continue}break}}j[a+4>>2]=e;if(m){Ja(f-(m>>1<<1)|0,b,m)}a=l-c|0;if(!a){break c}Ja(b,c,a);return}l=j[a>>2];g=m+(n-l>>1)|0;if((g|0)<=-1){break b}i=i-l|0;g=i>>1>>>0<1073741823?g>>>0>i>>>0?g:i:2147483647;f=0;e:{if(!g){break e}if((g|0)<=-1){break a}f=U(g<<1)}i=b-l|0;o=c;c=c-d|0;c=V(f+(i>>1<<1)|0,o,p(((c|0)>(e|0)?c:e)>>>1|0,(e|0)<1?e:1)<<1);if((i|0)>=1){V(f,l,i)}e=c+(m<<1)|0;c=n-b|0;if((c|0)>=1){e=V(e,b,c)+c|0}j[a+8>>2]=f+(g<<1);j[a+4>>2]=e;j[a>>2]=f;if(l){T(l)}}return}X();z()}D();z()}function kk(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=a;while(1){a:{if(c>>>0<=g>>>0|b>>>0<=e>>>0){break a}f=k[e|0];if(f>>>0>1114111){break a}d=e+1|0;b:{if(f<<24>>24>=0){break b}if(f>>>0<194){break a}if(f>>>0<=223){if((b-e|0)<2){break a}d=k[e+1|0];if((d&192)!=128|(d&63|f<<6&1984)>>>0>1114111){break a}d=e+2|0;break b}c:{d:{if(f>>>0<=239){if((b-e|0)<3){break a}h=k[e+2|0];d=k[e+1|0];if((f|0)==237){break d}if((f|0)==224){if((d&224)==160){break c}break a}if((d&192)!=128){break a}break c}if(c-g>>>0<2|f>>>0>244|(b-e|0)<4){break a}h=k[e+2|0];d=k[e+1|0];e:{f:{switch(f-240|0){case 0:if((d+112&255)>>>0<48){break e}break a;case 4:if((d&240)==128){break e}break a;default:break f}}if((d&192)!=128){break a}}if((h&192)!=128){break a}i=k[e+3|0];if((i&192)!=128|(i&63|(h<<6&4032|(f<<18&1835008|(d&63)<<12)))>>>0>1114111){break a}g=g+1|0;d=e+4|0;break b}if((d&224)!=128){break a}}if((h&192)!=128|(h&63|(f<<12&61440|(d&63)<<6))>>>0>1114111){break a}d=e+3|0}e=d;g=g+1|0;continue}break}return e-a|0}function Vq(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[a+44>>2]=0;j[a+48>>2]=0;j[a+12>>2]=0;j[a+32>>2]=0;j[a+36>>2]=0;g=a+52|0;j[g>>2]=0;j[g+4>>2]=0;j[a+60>>2]=0;m=a,n=cb(b),j[m+20>>2]=n;h=U(112);jr(h,c,b);k=a+4|0;a:{b:{c=j[a+8>>2];d=j[a+12>>2];c:{if(c>>>0>>0){j[c>>2]=h;j[a+8>>2]=c+4;break c}e=j[k>>2];i=c-e|0;c=i>>2;f=c+1|0;if(f>>>0>=1073741824){break b}l=c<<2;d=d-e|0;c=d>>1;f=d>>2>>>0<536870911?c>>>0>>0?f:c:1073741823;c=0;d:{if(!f){break d}if(f>>>0>=1073741824){break a}c=U(f<<2)}d=l+c|0;j[d>>2]=h;if((i|0)>=1){V(c,e,i)}j[a+12>>2]=c+(f<<2);j[a+8>>2]=d+4;j[a+4>>2]=c;if(!e){break c}T(e)}c=U(70028);b=yq(c,b,k);j[a>>2]=c;b=Vj(b);c=a+24|0;ua(c,Bg(j[a>>2]));j[a+40>>2]=j[j[a>>2]+4456>>2];e=j[j[a>>2]+4144>>2];j[a+44>>2]=e;if(!e){m=a,n=_c(c),j[m+36>>2]=n}j[a+48>>2]=j[j[a>>2]+4148>>2];c=j[a>>2]+4232|0;if((c|0)!=(g|0)){Uq(g,j[c>>2],j[c+4>>2])}c=U(80);lq(c,b,j[a>>2]);j[a+16>>2]=c;if(b){T(b)}return}X();z()}D();z()}function Uq(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=(c-b|0)/12|0;e=j[a+8>>2];d=j[a>>2];if(g>>>0<=(e-d|0)/12>>>0){f=(j[a+4>>2]-d|0)/12|0;e=p(f,12)+b|0;i=f>>>0>>0?e:c;if((i|0)!=(b|0)){while(1){ua(d,b);d=d+12|0;b=b+12|0;if((i|0)!=(b|0)){continue}break}}b=j[a+4>>2];if(f>>>0>>0){if((c|0)!=(i|0)){while(1){b=ha(b,e)+12|0;e=e+12|0;if((e|0)!=(c|0)){continue}break}}j[a+4>>2]=b;return}if((b|0)!=(d|0)){while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((d|0)!=(b|0)){continue}break}}j[a+4>>2]=d;return}if(d){e=j[a+4>>2];f=d;a:{if((d|0)==(e|0)){break a}while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((d|0)!=(e|0)){continue}break}f=j[a>>2]}j[a+4>>2]=d;T(f);j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;e=0}b:{if(g>>>0>=357913942){break b}d=(e|0)/12|0;e=d<<1;d=d>>>0<178956970?e>>>0>>0?g:e:357913941;if(d>>>0>=357913942){break b}e=p(d,12);d=U(e);j[a>>2]=d;j[a+4>>2]=d;j[a+8>>2]=d+e;if((b|0)!=(c|0)){while(1){d=ha(d,b)+12|0;b=b+12|0;if((c|0)!=(b|0)){continue}break}}j[a+4>>2]=d;return}X();z()}function eb(a,b,c,d,e,f){var g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:{o=j[a+1024>>2];if(o){while(1){if(k[(l[o+30>>1]+a|0)+4492|0]){g=Ue(o,b,c,d,e,f);if(g){break a}}o=j[o+80>>2];if(o){continue}break}}b:{c:{if(!c){break c}r=(b+c|0)-1|0;m=j[((k[r|0]<<2)+a|0)+1024>>2];if(!m){break c}if((c|0)>=1){while(1){n=m+68|0;g=n;d:{if(h[m+79|0]>=0){break d}g=j[n>>2]}o=g;s=o+c|0;g=c;q=r;e:{f:{g:{while(1){p=k[o|0];if(!p){break g}if((p|0)!=k[q|0]?(p|0)!=46:0){break f}q=q-1|0;o=o+1|0;p=(g|0)>1;g=g-1|0;if(p){continue}break}if(k[s|0]){break f}}if(k[(l[m+30>>1]+a|0)+4492|0]){g=Ue(m,b,c,d,e,f);if(g){break b}}n=m+84|0;break e}n=m+88|0}m=j[n>>2];if(m){continue}break c}}while(1){n=m+68|0;if(h[m+79|0]<=-1){g=j[n>>2]}else{g=n}h:{if(!k[g|0]){if(k[(l[m+30>>1]+a|0)+4492|0]){g=Ue(m,b,c,d,e,f);if(g){break b}}n=m+84|0;break h}n=m+88|0}m=j[n>>2];if(m){continue}break}}g=0;break a}i[a+4364>>1]=l[m+30>>1];if(j[m+56>>2]){break a}if(h[n+11|0]<=-1){j[a+4356>>2]=j[n>>2];return g}j[a+4356>>2]=n;return g}return g}function $h(a){var b=0;a=h[a+11|0]<0?j[a>>2]:a;b=0;a:{b:{if(!ba(a,120801)){break b}b=1;if(!ba(a,120804)){break b}b=2;if(!ba(a,120807)){break b}b=3;if(!ba(a,120813)){break b}b=4;if(!ba(a,120816)){break b}b=5;if(!ba(a,120819)){break b}b=6;if(!ba(a,120823)){break b}b=7;if(!ba(a,120826)){break b}b=8;if(!ba(a,120829)){break b}b=9;if(!ba(a,120832)){break b}b=10;if(!ba(a,120835)){break b}b=11;if(!ba(a,120838)){break b}b=12;if(!ba(a,120841)){break b}b=13;if(!ba(a,120844)){break b}b=14;if(!ba(a,120847)){break b}b=15;if(!ba(a,120850)){break b}b=16;if(!ba(a,120853)){break b}b=17;if(!ba(a,120856)){break b}b=18;if(!ba(a,120862)){break b}b=19;if(!ba(a,120865)){break b}b=20;if(!ba(a,120868)){break b}b=21;if(!ba(a,120871)){break b}b=22;if(!ba(a,120874)){break b}b=23;if(!ba(a,120877)){break b}b=24;if(!ba(a,120880)){break b}b=25;if(!ba(a,120883)){break b}b=26;if(!ba(a,120886)){break b}b=27;if(!ba(a,120892)){break b}b=999;if(ba(a,120895)){break a}b=28}b=j[(b<<3)+2020>>2]}return b}function zk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,l=0,m=0;l=M-16|0;M=l;i=c;while(1){a:{if((d|0)==(i|0)){i=d;break a}if(!k[i|0]){break a}i=i+1|0;continue}break}j[h>>2]=f;j[e>>2]=c;while(1){b:{c:{d:{if((f|0)==(g|0)|(c|0)==(d|0)){break d}m=j[b+4>>2];j[l+8>>2]=j[b>>2];j[l+12>>2]=m;e:{f:{g:{m=yk(f,e,i-c|0,g-f>>2,b,j[a+8>>2]);h:{if((m|0)==-1){while(1){i:{j[h>>2]=f;if(j[e>>2]==(c|0)){break i}g=1;j:{k:{l:{b=Cf(f,c,i-c|0,l+8|0,j[a+8>>2]);switch(b+2|0){case 2:break j;case 1:break l;case 0:break f;default:break k}}j[e>>2]=c;break h}g=b}c=c+g|0;f=j[h>>2]+4|0;continue}break}j[e>>2]=c;break d}f=j[h>>2]+(m<<2)|0;j[h>>2]=f;if((f|0)==(g|0)){break e}c=j[e>>2];if((d|0)==(i|0)){i=d;continue}if(!Cf(f,c,1,b,j[a+8>>2])){break g}}a=2;break c}j[h>>2]=j[h>>2]+4;c=j[e>>2]+1|0;j[e>>2]=c;i=c;while(1){if((d|0)==(i|0)){i=d;break b}if(!k[i|0]){break b}i=i+1|0;continue}}j[e>>2]=c;a=1;break c}c=j[e>>2]}a=(c|0)!=(d|0)}M=l+16|0;return a|0}f=j[h>>2];continue}}function bo(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{d=j[a>>2];e=(j[a+4>>2]-d|0)/12|0;c=e+1|0;if(c>>>0<357913942){d=(j[a+8>>2]-d|0)/12|0;g=d<<1;d=d>>>0<178956970?c>>>0>g>>>0?c:g:357913941;if(d){if(d>>>0>=357913942){break c}f=U(p(d,12))}c=p(e,12)+f|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;d=p(d,12)+f|0;f=c+12|0;b=j[a+4>>2];e=j[a>>2];if((b|0)==(e|0)){break b}while(1){c=c-12|0;j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;b=b-12|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;if((b|0)!=(e|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=f;e=j[a>>2];j[a>>2]=c;if((b|0)==(e|0)){break a}while(1){d=b-12|0;a=j[d>>2];if(a){g=b-8|0;c=j[g>>2];b=a;d:{if((a|0)==(c|0)){break d}while(1){b=c-12|0;if(h[c-1|0]<=-1){T(j[b>>2])}c=b;if((b|0)!=(a|0)){continue}break}b=j[d>>2]}f=b;j[g>>2]=a;T(f)}b=d;if((e|0)!=(b|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=f;j[a>>2]=c}if(e){T(e)}}function Jb(a,b){var c=0,d=0;c=M-176|0;M=c;a:{if(!b){b=cb(120906);break a}j[c+168>>2]=0;j[c+160>>2]=0;j[c+164>>2]=0;b:{c:{switch(j[a+8>>2]-1|0){case 0:Z(c+160|0,b<<16>>24);Z(c+160|0,b<<24>>24);break b;case 1:j[c+80>>2]=121092;j[c+24>>2]=121072;a=c+24|4;td(c+80|0,a);j[c+152>>2]=0;j[c+156>>2]=-1;j[c+80>>2]=121036;j[c+24>>2]=121016;d=wd(a);j[c+60>>2]=0;j[c+64>>2]=0;j[c+68>>2]=0;j[c+72>>2]=0;j[c+76>>2]=16;j[c+28>>2]=120536;jo(c+24|0,b);_q(c+8|0,a);if(h[c+171|0]<=-1){T(j[c+160>>2])}j[c+168>>2]=j[c+16>>2];a=j[c+12>>2];j[c+160>>2]=j[c+8>>2];j[c+164>>2]=a;j[c+80>>2]=121036;j[c+24>>2]=121016;j[c+28>>2]=120536;if(h[c+71|0]<=-1){T(j[c+60>>2])}ib(d);Ta(c+80|0);break b;case 2:a=U(2);j[c+24>>2]=a;d=a+2|0;j[c+32>>2]=d;h[a|0]=b;h[a+1|0]=b>>>8;j[c+28>>2]=d;da(c+160|0,c+24|0);a=j[c+24>>2];if(!a){break b}j[c+28>>2]=a;T(a);break b;default:break c}}Z(c+160|0,b<<24>>24)}b=cb(h[c+171|0]<0?j[c+160>>2]:c+160|0);if(h[c+171|0]>-1){break a}T(j[c+160>>2])}M=c+176|0;return b}function Tn(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0;a:{b:{c:{if(k[a+16|0]==80){f=U(84);zh(f,j[a+12>>2]);b=j[a+4>>2];c=j[a+8>>2];if(b>>>0>>0){j[b>>2]=f;j[a+4>>2]=b+4;break c}e=j[a>>2];g=b-e|0;b=g>>2;d=b+1|0;if(d>>>0>=1073741824){break b}i=b<<2;c=c-e|0;b=c>>1;d=c>>2>>>0<536870911?b>>>0>>0?d:b:1073741823;b=0;d:{if(!d){break d}if(d>>>0>=1073741824){break a}b=U(d<<2)}c=i+b|0;j[c>>2]=f;if((g|0)>=1){V(b,e,g)}j[a+8>>2]=b+(d<<2);j[a+4>>2]=c+4;j[a>>2]=b;if(!e){break c}T(e);break c}f=U(108);bi(f,j[a+12>>2]);b=j[a+4>>2];c=j[a+8>>2];if(b>>>0>>0){j[b>>2]=f;j[a+4>>2]=b+4;break c}e=j[a>>2];g=b-e|0;b=g>>2;d=b+1|0;if(d>>>0>=1073741824){break b}i=b<<2;c=c-e|0;b=c>>1;d=c>>2>>>0<536870911?b>>>0>>0?d:b:1073741823;b=0;e:{if(!d){break e}if(d>>>0>=1073741824){break a}b=U(d<<2)}c=i+b|0;j[c>>2]=f;if((g|0)>=1){V(b,e,g)}j[a+8>>2]=b+(d<<2);j[a+4>>2]=c+4;j[a>>2]=b;if(!e){break c}T(e)}b=j[j[a+4>>2]-4>>2];h[b+29|0]=k[j[j[a>>2]>>2]+29|0]&15;return b}X();z()}D();z()}function Kc(a,b,c,d,e,f,g){var l=0,m=0,n=0,o=0;l=M-48|0;M=l;m=k[b+11|0];n=m<<24>>24<0;a:{b:{c:{m=n?j[b+4>>2]:m;if(m>>>0>>0){break c}o=m;m=n?j[b>>2]:b;n=o+m|0;c=c+m|0;o=n-c|0;d:{e:{if((o|0)<2){break e}while(1){c=Aa(c,115,o-1|0);if(!c){break e}if((k[c|0]|k[c+1|0]<<8)==29555){break d}c=c+1|0;o=n-c|0;if((o|0)>1){continue}break}}c=n}if((d|0)>4){break c}n=(c|0)==(n|0)?-1:c-m|0;if((n|0)==-1){break c}h[n+m|0]=195;m=n+1|0;h[m+(h[b+11|0]<0?j[b>>2]:b)|0]=159;o=n+2|0;d=d+1|0;c=Kc(a,b,o,d,e+1|0,f,g);if(c){break a}h[n+(h[b+11|0]<0?j[b>>2]:b)|0]=115;h[m+(h[b+11|0]<0?j[b>>2]:b)|0]=115;c=Kc(a,b,o,d,e,f,g);if(c){break a}break b}if((e|0)<1){break b}if(j[a+44>>2]){c=_a(a,b,f,g);break a}b=ha(l,b);h[l+34|0]=0;i[l+32>>1]=40899;h[l+43|0]=2;i[l+16>>1]=223;h[l+27|0]=1;wb(b,l+32|0,l+16|0);if(h[l+27|0]<=-1){T(j[l+16>>2])}if(h[l+43|0]<=-1){T(j[l+32>>2])}c=_a(a,b,f,g);if(h[b+11|0]>-1){break a}T(j[b>>2]);break a}c=0}M=l+48|0;return c}function Sg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0;h=M-32|0;M=h;f=d&2147483647;g=f;e=f-1065418752|0;i=f-1082064896|0;f=c;a:{if((e|0)==(i|0)&f>>>0>>0|e>>>0>>0){g=(d&33554431)<<7|c>>>25;f=0;k=f;i=c&33554431;if(!(!f&(i|0)==16777216?!(a|b):!f&i>>>0<16777216)){e=g+1073741825|0;break a}e=g+1073741824|0;if(i^16777216|a|(b|k)){break a}e=(g&1)+e|0;break a}if(!(!f&(g|0)==2147418112?!(a|b):g>>>0<2147418112)){e=((d&33554431)<<7|c>>>25)&4194303|2143289344;break a}e=2139095040;if(g>>>0>1082064895){break a}e=0;f=g>>>16|0;if(f>>>0<16145){break a}g=c;e=d&65535|65536;mb(h+16|0,a,b,g,e,f-16129|0);Fc(h,a,b,g,e,16257-f|0);b=j[h+8>>2];e=(j[h+12>>2]&33554431)<<7|b>>>25;g=j[h+4>>2];f=g;a=0;i=a;k=j[h>>2]|((j[h+16>>2]|j[h+24>>2])!=0|(j[h+20>>2]|j[h+28>>2])!=0);b=b&33554431;if(!(!a&(b|0)==16777216?!(f|k):!a&b>>>0<16777216)){e=e+1|0;break a}if(b^16777216|k|(f|i)){break a}e=(e&1)+e|0}M=h+32|0;return Hr(2,d&-2147483648|e),Kr()}function Ao(a,b){var c=0,d=0,e=0,f=0,g=0;a:{d=j[a>>2];if((j[a+8>>2]-d|0)/40>>>0>=b>>>0){break a}b:{c:{if(b>>>0<107374183){c=j[a+4>>2];e=p(b,40);b=U(e);g=b+e|0;e=b+p((c-d|0)/40|0,40)|0;if((c|0)==(d|0)){break c}b=e;while(1){c=c-40|0;f=j[c+4>>2];b=b-40|0;j[b>>2]=j[c>>2];j[b+4>>2]=f;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[b+20>>2]=j[c+20>>2];f=j[c+16>>2];j[b+12>>2]=j[c+12>>2];j[b+16>>2]=f;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[b+32>>2]=j[c+32>>2];f=j[c+28>>2];j[b+24>>2]=j[c+24>>2];j[b+28>>2]=f;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[b+36>>2]=j[c+36>>2];if((c|0)!=(d|0)){continue}break}j[a+8>>2]=g;c=j[a+4>>2];j[a+4>>2]=e;d=j[a>>2];j[a>>2]=b;if((c|0)==(d|0)){break b}while(1){if(h[c-5|0]<=-1){T(j[c-16>>2])}if(h[c-17|0]<=-1){T(j[c-28>>2])}c=c-40|0;if(h[c+11|0]<=-1){T(j[c>>2])}if((c|0)!=(d|0)){continue}break}break b}D();z()}j[a+8>>2]=g;j[a+4>>2]=e;j[a>>2]=e}if(!d){break a}T(d)}}function bq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;e=M-16|0;M=e;g=W(c);if(g>>>0<4294967280){a:{b:{if(g>>>0>=11){i=g+16&-16;f=U(i);j[e+8>>2]=i|-2147483648;j[e>>2]=f;j[e+4>>2]=g;i=e;break b}h[e+11|0]=g;i=e;f=e;if(!g){break a}}V(f,c,g)}h[f+g|0]=0;while(1){c:{d:{f=h[i+11|0];e:{if((f|0)<=-1){if(m[e+4>>2]>l>>>0){break d}T(j[e>>2]);break e}c=e;if((f&255)>>>0>l>>>0){break c}}M=e+16|0;return}c=j[e>>2]}f=c+l|0;g=h[f|0];c=g&255;h[f|0]=k[(j[a+52>>2]+p(c,3)|0)+2|0];if((c|0)!=k[(h[i+11|0]<0?j[e>>2]:e)+l|0]){wa(a,b,e,d,0,0);h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=g}f=j[a>>2];if(f){f:{c=Ya(f,g);if(!c){break f}while(1){g:{if(c>>>0<=f>>>0){break g}f=k[c-1|0];if((f|0)==124){break g}h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=f;wa(a,b,e,d,0,0)}f=c+1|0;c=k[c+1|0];if(!(!c|(c|0)==124)){h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=c;wa(a,b,e,d,0,0)}c=Ya(f,g);if(!c){break f}f=j[a>>2];continue}}h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=g}l=l+1|0;continue}}X();z()}function Rp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;a:{b:{e=d-c|0;c:{if((e|0)<1){break c}m=e>>1;l=j[a+8>>2];n=j[a+4>>2];if((m|0)<=l-n>>1){e=n-b|0;f=e>>1;d:{if((f|0)>=(m|0)){g=n;f=d;break d}g=n;f=(f<<1)+c|0;d=d-f|0;if((d|0)>=1){g=V(n,f,d)+d|0}j[a+4>>2]=g;if((e|0)<1){break c}}d=m<<1;m=g-(d+b|0)|0;e=g;d=e-d|0;if(n>>>0>d>>>0){while(1){i=k[d|0]|k[d+1|0]<<8;h[e|0]=i;h[e+1|0]=i>>>8;e=e+2|0;d=d+2|0;if(n>>>0>d>>>0){continue}break}}j[a+4>>2]=e;if(m){Ja(g-(m>>1<<1)|0,b,m)}a=f-c|0;if(!a){break c}Ja(b,c,a);return}f=j[a>>2];i=m+(n-f>>1)|0;if((i|0)<=-1){break b}l=l-f|0;i=l>>1>>>0<1073741823?i>>>0>l>>>0?i:l:2147483647;g=0;e:{if(!i){break e}if((i|0)<=-1){break a}g=U(i<<1)}l=b-f|0;o=c;c=c-d|0;c=V(g+(l>>1<<1)|0,o,p(((c|0)>(e|0)?c:e)>>>1|0,(e|0)<1?e:1)<<1);if((l|0)>=1){V(g,f,l)}e=c+(m<<1)|0;c=n-b|0;if((c|0)>=1){e=V(e,b,c)+c|0}j[a+8>>2]=g+(i<<1);j[a+4>>2]=e;j[a>>2]=g;if(f){T(f)}}return}X();z()}D();z()}function Qp(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0;f=j[a+44>>2];a:{b:{if(!f){break b}f=Xb(f,b);d=0;c:{if(!f){break c}d=f;e=j[d+4>>2];if(!e){break c}d=i[f+2>>1];n=(d<<1)+e|0;g=l[j[a+44>>2]+4198>>1];if(d){while(1){h=d>>>1|0;k=(h<<1)+e|0;m=g>>>0>l[k>>1];e=m?k+2|0:e;d=m?(h^-1)+d|0:h;if(d){continue}break}}if(!(g>>>0>=l[e>>1]?(e|0)!=(n|0):0)){e=j[f+4>>2];d=i[f+2>>1];n=e+(d<<1)|0;g=l[j[a+44>>2]+4464>>1];if(d){while(1){h=d>>>1|0;k=(h<<1)+e|0;m=g>>>0>l[k>>1];e=m?k+2|0:e;d=m?(h^-1)+d|0:h;if(d){continue}break}}d=f;if((e|0)==(n|0)){break c}d=f;if(g>>>0>1]){break c}}d=0}if(!gb(j[a+44>>2],b,c,1,0)){d=Qa(j[a+44>>2],b,c,0,0,0,0,0)}if(!d){break b}e=j[d+4>>2];if(!e){break b}d=i[d+2>>1];f=(d<<1)+e|0;a=l[j[a+44>>2]+4192>>1];if(d){while(1){b=d>>>1|0;g=(b<<1)+e|0;c=a>>>0>l[g>>1];e=c?g+2|0:e;d=c?(b^-1)+d|0:b;if(d){continue}break}}if((e|0)==(f|0)){break b}b=1;if(a>>>0>=l[e>>1]){break a}}b=0}return b}function br(a,b,c){var d=0,e=0,f=0,g=0,l=0;f=M-16|0;M=f;a:{b:{l=j[a+4>>2];c:{if(!l){break c}e=h[c+11|0]<0?j[c>>2]:c;c=h[e|0];d:{if(!c){break d}d=h[e+1|0];if(!d){d=c;break d}d=d|c<<8;c=h[e+2|0];if(!c){break d}d=c|d<<8;c=h[e+3|0];if(!c){break d}d=c|d<<8;c=e+4|0;g=k[c|0];if(!g){break d}while(1){d=Er(d,5)^g<<24>>24;g=k[c+1|0];c=c+1|0;if(g){continue}break}}d=j[l+((d>>>0)%m[a>>2]<<2)>>2];if(!d){break c}while(1){if(!ba(e,d+17|0)){break b}d=j[d+8>>2];if(d){continue}break}}Re(a,b);break a}Re(a,b);if(!j[d+4>>2]){break a}j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;e:{if(!j[a+16>>2]){c=k[b+11|0];c=c<<24>>24<0?j[b+4>>2]:c;g=Nc(b,j[a+52>>2]);break e}c=ia(f,b);g=Mc(f,j[a+24>>2]);e=j[f>>2];if(!e){break e}j[f+4>>2]=e;T(e)}f:{if(j[a+84>>2]){Lc(a,b,c,j[d+4>>2],i[d+2>>1],0,0,g);break f}e=i[d+2>>1]<<1;l=ja(e);if(!l){break a}Lc(a,b,c,V(l,j[d+4>>2],e),i[d+2>>1],0,0,g)}Se(a,b,c,j[d+4>>2],i[d+2>>1],0,g)}M=f+16|0}function ec(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0;l=M-16|0;M=l;a:{b:{c:{d:{d=k[b+11|0];e=d<<24>>24;if((e|0)<=-1){d=j[b+4>>2];if(d){break d}break a}if(e){break c}break a}e=j[b>>2];break b}e=b}f=k[c+11|0];g=f<<24>>24<0;f=g?j[c+4>>2]:f;if(f){if((d|0)<(f|0)){break a}i=d+e|0;g=g?j[c>>2]:c;o=k[g|0];c=e;while(1){d=d-f|0;n=d+1|0;if(n>>>0>>0){break a}c=Aa(c,o,n);if(!c){break a}if(qa(c,g,f)){c=c+1|0;d=i-c|0;if((f|0)<=(d|0)){continue}break a}break}if((c|0)==(i|0)){break a}i=c-e|0;if((i|0)==-1){break a}}e:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break e}h[a+11|0]=0;h[a|0]=0}c=0;b=sa(l,b,i+3|0,-1);f:{g:{while(1){e=k[b+11|0];f=e<<24>>24;h:{if((f|0)<=-1){if(m[b+4>>2]<=c>>>0){break g}d=j[b>>2];break h}d=l;if(c>>>0>=e>>>0){break f}}e=k[c+d|0];d=e-9|0;if(!(1<>>0<=23:0)){Z(a,e<<24>>24);c=c+1|0;continue}break}if((f|0)>-1){break f}}T(j[b>>2])}p=1}M=l+16|0;return p}function oc(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0;g=M-16|0;M=g;j[g+12>>2]=c;c=b;a:{b:{c:{if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}if(c>>>0<=i>>>0){n=i-b|0;j[g+8>>2]=n;c=M-16|0;M=c;M=c+16|0;c=g+8|0;l=g+12|0;j[g+12>>2]=j[(m[c>>2]>2]?c:l)>>2];f=j[g+12>>2];c=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;if(f+(c-i|0)>>>0>=e>>>0){if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}l=c;c=j[g+12>>2];d:{if((e|0)==(c|0)){break d}n=n-c|0;if(!n){break d}f=b+l|0;if(c>>>0>e>>>0){break c}e:{if(d>>>0<=f>>>0|l+i>>>0<=d>>>0){break e}if(c+f>>>0<=d>>>0){d=(e-c|0)+d|0;break e}Kb(f,d,c);f=j[g+12>>2];c=0;j[g+12>>2]=0;d=d+e|0;e=e-f|0;b=b+f|0}f=b+l|0;Kb(f+e|0,c+f|0,n)}Kb(b+l|0,d,e);break b}cd(a,c,((e+i|0)-c|0)-f|0,i,b,f,e,d);break a}X();z()}Kb(f,d,e);Kb(e+f|0,f+j[g+12>>2]|0,n)}c=(e-j[g+12>>2]|0)+i|0;b=c;f:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break f}h[a+11|0]=b}h[g+7|0]=0;h[c+l|0]=k[g+7|0]}M=g+16|0}function Br(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{e=b;if(b){d=c;if(!d){break i}break h}a=(a>>>0)/(c>>>0)|0;N=0;return a}if(!a){break g}break f}if(!(d-1&d)){break e}h=(s(d)+33|0)-s(e)|0;i=0-h|0;break c}a=(e>>>0)/0|0;N=0;return a}d=32-s(e)|0;if(d>>>0<31){break d}break b}if((d|0)==1){break a}if(d){d=31-s(d-1^d)|0}else{d=32}c=d&31;if((d&63)>>>0>=32){e=0;a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}N=e;return a}h=d+1|0;i=63-d|0}d=b;e=h&63;f=e&31;if(e>>>0>=32){e=0;f=d>>>f|0}else{e=d>>>f|0;f=((1<>>f}i=i&63;d=i&31;if(i>>>0>=32){b=a<>>32-d|b<>>31;j=g;e=e<<1|f>>>31;g=i-(e+(d>>>0>>0)|0)>>31;k=c&g;f=j-k|0;e=e-(j>>>0>>0)|0;b=b<<1|a>>>31;a=l|a<<1;g=g&1;l=g;h=h-1|0;if(h){continue}break}}N=b<<1|a>>>31;return g|a<<1}a=0;b=0}N=b;return a}function Ab(a,b,c){var d=0,e=0,f=0,g=0,i=0;d=M-160|0;M=d;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;e=h[b+11|0];if((e|0)<0?j[b+4>>2]:e&255){j[d+20>>2]=0;j[d+80>>2]=120480;j[d+16>>2]=120460;j[d+24>>2]=120320;e=d+28|0;td(d+80|0,e);j[d+152>>2]=0;j[d+156>>2]=-1;j[d+80>>2]=120340;j[d+16>>2]=120300;j[d+24>>2]=120320;f=wd(e);j[d+60>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;j[d+72>>2]=0;j[d+76>>2]=24;j[d+28>>2]=120536;Ki(e,b);j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;b=Vd(d+16|0,d,c);if(!(k[(j[j[b>>2]-12>>2]+b|0)+16|0]&5)){while(1){b=k[d+11|0];a:{if(!(b<<24>>24<0?j[d+4>>2]:b)){break a}b=j[a+4>>2];if((b|0)!=j[a+8>>2]){g=a,i=ha(b,d)+12|0,j[g+4>>2]=i;break a}Wb(a,d)}b=Vd(d+16|0,d,c);if(!(k[(j[j[b>>2]-12>>2]+b|0)+16|0]&5)){continue}break}}if(h[d+11|0]<=-1){T(j[d>>2])}j[d+80>>2]=120340;j[d+16>>2]=120300;j[d+28>>2]=120536;j[d+24>>2]=120320;if(h[d+71|0]<=-1){T(j[d+60>>2])}ib(f);Ta(d+80|0)}M=d+160|0}function Bp(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0;d=j[37201];a:{b:{if(d){e=k[b+11|0];f=e<<24>>24<0;l=f?j[b>>2]:b;f=f?j[b+4>>2]:e;e=148804;while(1){b=k[d+27|0];g=b<<24>>24<0;b=g?j[d+20>>2]:b;n=b>>>0>>0;c:{d:{e:{f:{g:{m=n?b:f;h:{if(m){i=d+16|0;g=g?j[i>>2]:i;i=qa(l,g,m);if(!i){if(b>>>0>f>>>0){break h}break g}if((i|0)>-1){break g}break h}if(b>>>0<=f>>>0){break f}}b=j[d>>2];if(b){break c}break b}b=qa(g,l,m);if(b){break e}}if(n){break d}break a}if((b|0)>-1){break a}}e=d+4|0;b=j[d+4>>2];if(!b){break a}d=e}e=d;d=b;continue}}d=148804}e=d}f=a;b=j[e>>2];if(b){c=0}else{b=U(32);j[b+24>>2]=j[c+8>>2];l=j[c+4>>2];j[b+16>>2]=j[c>>2];j[b+20>>2]=l;j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;c=j[c+12>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=d;j[b+28>>2]=c;j[e>>2]=b;d=j[j[37200]>>2];c=b;i:{if(!d){break i}j[37200]=d;c=j[e>>2]}Bd(j[37201],c);j[37202]=j[37202]+1;c=1}h[f+4|0]=c;j[a>>2]=b}function fp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=j[b+4>>2];a:{b:{if(e){f=k[c+11|0];g=f<<24>>24<0;m=g?j[c>>2]:c;g=g?j[c+4>>2]:f;f=b+4|0;while(1){c=k[e+27|0];i=c<<24>>24<0;c=i?j[e+20>>2]:c;o=c>>>0>>0;c:{d:{e:{f:{g:{n=o?c:g;h:{if(n){l=e+16|0;i=i?j[l>>2]:l;l=qa(m,i,n);if(!l){if(c>>>0>g>>>0){break h}break g}if((l|0)>-1){break g}break h}if(c>>>0<=g>>>0){break f}}c=j[e>>2];if(c){break c}break b}c=qa(i,m,n);if(c){break e}}if(o){break d}break a}if((c|0)>-1){break a}}f=e+4|0;c=j[e+4>>2];if(!c){break a}e=f}f=e;e=c;continue}}e=b+4|0}f=e}g=a;c=j[f>>2];if(c){b=0}else{c=U(32);d=j[d>>2];m=j[d+4>>2];j[c+16>>2]=j[d>>2];j[c+20>>2]=m;j[c+24>>2]=j[d+8>>2];j[d>>2]=0;j[d+4>>2]=0;j[d+8>>2]=0;j[c+8>>2]=e;j[c>>2]=0;j[c+4>>2]=0;j[c+28>>2]=0;j[f>>2]=c;e=j[j[b>>2]>>2];d=c;i:{if(!e){break i}j[b>>2]=e;d=j[f>>2]}Bd(j[b+4>>2],d);j[b+8>>2]=j[b+8>>2]+1;b=1}h[g+4|0]=b;j[a>>2]=c}function fc(a,b,c,d,e){var f=0,g=0,i=0;f=M-32|0;M=f;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;Um(f+16|0,b,c,d);g=k[f+27|0];i=g<<24>>24<0;g=i?j[f+20>>2]:g;if(g){aa(a,i?j[f+16>>2]:f+16|0,g)}Sc(f,b,c,d,0,0,0,e);if(h[f+27|0]<=-1){T(j[f+16>>2])}j[f+24>>2]=j[f+8>>2];i=j[f+4>>2];j[f+16>>2]=j[f>>2];j[f+20>>2]=i;g=h[f+27|0];i=(g|0)<0;g=i?j[f+20>>2]:g&255;if(g){aa(a,i?j[f+16>>2]:f+16|0,g)}a:{if(!j[b+4488>>2]){break a}j[b+4372>>2]=0;j[b+4376>>2]=0;Hf(f,b,c,d,0,0,e);if(h[f+27|0]<=-1){T(j[f+16>>2])}j[f+24>>2]=j[f+8>>2];i=j[f+4>>2];j[f+16>>2]=j[f>>2];j[f+20>>2]=i;i=h[f+27|0];g=(i|0)<0?j[f+20>>2]:i&255;if(g){aa(a,(i|0)<0?j[f+16>>2]:f+16|0,g)}Mm(f,b,c,d,e);if(h[f+27|0]<=-1){T(j[f+16>>2])}j[f+24>>2]=j[f+8>>2];b=j[f+4>>2];j[f+16>>2]=j[f>>2];j[f+20>>2]=b;b=h[f+27|0];c=(b|0)<0?j[f+20>>2]:b&255;if(!c){break a}aa(a,(b|0)<0?j[f+16>>2]:f+16|0,c)}if(h[f+27|0]<=-1){T(j[f+16>>2])}M=f+32|0}function Qh(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0;d=j[a+8>>2];c=j[a+4>>2];if((d-c|0)/12>>>0>=b>>>0){if(b){b=p((p(b,12)-12>>>0)/12|0,12)+12|0;c=ya(c,0,b)+b|0}j[a+4>>2]=c;return}a:{b:{c:{g=j[a>>2];f=(c-g|0)/12|0;e=f+b|0;if(e>>>0<357913942){d=(d-g|0)/12|0;i=d<<1;d=d>>>0<178956970?e>>>0>i>>>0?e:i:357913941;if(d){if(d>>>0>=357913942){break c}k=U(p(d,12))}e=p(f,12)+k|0;f=p((p(b,12)-12>>>0)/12|0,12)+12|0;b=ya(e,0,f);f=b+f|0;d=p(d,12)+k|0;if((c|0)==(g|0)){break b}while(1){c=c-12|0;b=j[c+4>>2];e=e-12|0;j[e>>2]=j[c>>2];j[e+4>>2]=b;j[e+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;if((c|0)!=(g|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=f;c=j[a>>2];j[a>>2]=e;if((b|0)==(c|0)){break a}while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((a|0)!=(c|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=f;j[a>>2]=b}if(c){T(c)}}function po(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{d=j[a>>2];f=(j[a+4>>2]-d|0)/12|0;c=f+1|0;if(c>>>0<357913942){d=(j[a+8>>2]-d|0)/12|0;g=d<<1;d=d>>>0<178956970?c>>>0>g>>>0?c:g:357913941;if(d){if(d>>>0>=357913942){break c}e=U(p(d,12))}c=p(f,12)+e|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;d=p(d,12)+e|0;f=c+12|0;b=j[a+4>>2];e=j[a>>2];if((b|0)==(e|0)){break b}while(1){c=c-12|0;j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;b=b-12|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;if((b|0)!=(e|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=f;e=j[a>>2];j[a>>2]=c;if((b|0)==(e|0)){break a}while(1){a=b-12|0;c=j[a>>2];if(c){j[b-8>>2]=c;T(c)}b=a;if((e|0)!=(b|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=f;j[a>>2]=c}if(e){T(e)}}function Wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,k=0,l=0;g=M-16|0;M=g;f=-1;i=-1;a:{if(!(d&24)){break a}h=d&8;if(j[b+12>>2]?0:h){break a}k=d&16;if(j[b+24>>2]?0:k){break a}d=j[c+8>>2];c=j[c+12>>2];if(j[b+28>>2]){e=j[b+28>>2]}else{e=j[b+16>>2]}if((c|0)<0){break a}e=e-j[b+8>>2]|0;l=e>>>0>>0;e=e>>31;if((c|0)>(e|0)?1:(e|0)<=(c|0)?l:0){break a}j[g+12>>2]=d+j[b+8>>2];if(h){f=j[b+8>>2];i=j[g+12>>2];j[g+8>>2]=j[b+16>>2];e=M-16|0;M=e;M=e+16|0;e=g+8|0;h=g+12|0;j[b+16>>2]=j[(m[h>>2]>2]?e:h)>>2];j[b+12>>2]=i;j[b+8>>2]=f}if(k){i=j[b+28>>2];e=j[g+12>>2];j[g+4>>2]=j[b+20>>2];f=M-16|0;M=f;M=f+16|0;f=g+12|0;h=g+4|0;f=j[(m[f>>2]>2]?f:h)>>2];j[b+28>>2]=j[b+28>>2];j[b+20>>2]=f;j[b+24>>2]=f;j[b+24>>2]=j[b+24>>2]+(e+j[b+28>>2]-(i+j[b+20>>2])|0)}f=d;i=c}j[a+8>>2]=f;j[a+12>>2]=i;j[a>>2]=0;j[a+4>>2]=0;M=g+16|0}function va(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0;f=M-16|0;M=f;c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){j[f+8>>2]=h[a+11|0]<0?j[a>>2]:a;d=ka(a,f+8|0);c=k[a+11|0];e=c<<24>>24<0;if((d|0)!=((e?j[a>>2]:a)+(e?j[a+4>>2]:c)|0)){while(1){a:{b:{c:{switch(l|0){case 0:break b;case 1:break c;default:break a}}i=j[f+8>>2];e=i-d|0;g=h[b+11|0];d:{e:{f:{if((g|0)<=-1){c=(j[b+8>>2]&2147483647)-1|0;if(e>>>0<=c>>>0){break e}g=j[b+4>>2];break f}c=b;if(e>>>0<=10){break d}c=10;g=g&255}pb(b,c,e-c|0,g,0,g,0);c=b;if(h[b+11|0]>-1){break d}}c=j[b>>2]}if((d|0)!=(i|0)){while(1){h[c|0]=k[d|0];c=c+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}h[c|0]=0;if(h[b+11|0]<=-1){j[b+4>>2]=e;break b}h[b+11|0]=e}m=m+1|0}l=l+1|0;d=ka(a,f+8|0);c=k[a+11|0];e=c<<24>>24<0;if((d|0)!=((e?j[a>>2]:a)+(e?j[a+4>>2]:c)|0)){continue}break}}d=(m|0)==2}M=f+16|0;return d}function _i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0;f=M-16|0;M=f;a:{if((b|0)==-1){break a}if(j[a+24>>2]==j[a+28>>2]){d=-1;if((j[a+32>>2]&12)!=4){break a}if(j[a+28>>2]){c=j[a+28>>2]}else{c=j[a+16>>2]}e=j[a+8>>2];j[f+12>>2]=j[a+36>>2];g=c-e|0;j[f+8>>2]=g<<1;c=M-16|0;M=c;M=c+16|0;c=f+8|0;e=f+12|0;c=j[(m[e>>2]>2]?c:e)>>2];e=c?c:4096;c=j[a+40>>2];b:{if(!c){c=U(e);break b}c=O[c|0](e)|0;if(!c){break a}}if(g){V(c,j[a+8>>2],g)}g=j[a+12>>2]-j[a+8>>2]|0;k=j[a+16>>2]-j[a+8>>2]|0;l=j[a+24>>2]-j[a+20>>2]|0;c:{if(!(h[a+32|0]&1)){break c}d=j[a+8>>2];i=j[a+44>>2];if(i){O[i|0](d);break c}if(!d){break c}T(d)}d=c+k|0;j[a+16>>2]=d;j[a+12>>2]=c+g;j[a+8>>2]=c;j[a+28>>2]=c+e;j[a+20>>2]=d;j[a+24>>2]=d;j[a+24>>2]=l+j[a+24>>2];j[a+32>>2]=j[a+32>>2]|1}h[j[a+24>>2]]=b;j[a+24>>2]=j[a+24>>2]+1;d=b&255}M=f+16|0;return d|0}function zn(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0;e=M-16|0;M=e;f=c-b|0;a:{g=k[a+11|0];i=g<<24>>24;b:{c:{if((i|0)<=-1){if(!f){break b}l=(j[a+8>>2]&2147483647)-1|0;g=j[a+4>>2];d=j[a>>2];break c}if(!f){break b}l=10;d=a}if(!(d>>>0>b>>>0|d+g>>>0<=b>>>0)){if(f>>>0>=4294967280){break a}d:{if(f>>>0<=10){h[e+11|0]=f;d=e;break d}i=f+16&-16;d=U(i);j[e+8>>2]=i|-2147483648;j[e>>2]=d;j[e+4>>2]=f}if((b|0)!=(c|0)){d=V(d,b,f)+f|0}h[d|0]=0;c=a;b=k[e+11|0];a=b<<24>>24<0;aa(c,a?j[e>>2]:e,a?j[e+4>>2]:b);if(h[e+11|0]>-1){break b}T(j[e>>2]);break b}if(l-g>>>0>>0){pb(a,l,(f+g|0)-l|0,g,g,0,0);i=h[a+11|0]}d=j[a>>2];e:{if(i<<24>>24<=-1){break e}d=a}d=d+g|0;if((b|0)!=(c|0)){while(1){h[d|0]=k[b|0];d=d+1|0;b=b+1|0;if((c|0)!=(b|0)){continue}break}}h[d|0]=0;b=f+g|0;if(h[a+11|0]<=-1){j[a+4>>2]=b;break b}h[a+11|0]=b}M=e+16|0;return}X();z()}function xl(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=Zf(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);Pb(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);Pb(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=Yf(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);Pb(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);Pb(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function Se(a,b,c,d,e,f,g){var k=0,m=0,n=0,o=0,p=0,q=0,r=0;k=M-32|0;M=k;n=d?e:0;a:{b:{c:{if(g-3>>>0>=2){if(!n|(g|0)!=2){break a}break c}if(n){break c}e=1;break b}q=(n<<1)+d|0;r=l[a+20>>1];g=d;m=n;while(1){e=m>>>1|0;p=(e<<1)+g|0;o=l[p>>1]>>0;g=o?p+2|0:g;m=o?(e^-1)+m|0:e;if(m){continue}break}if((g|0)==(q|0)){e=0;break b}e=0;m=0;if(l[a+20>>1]>=l[g>>1]){break a}}m=1;o=n+1|0;g=ja(o<<1);if(!g){break a}if(!e){V(g,d,n<<1)}i[g+(n<<1)>>1]=65511;if(j[a+16>>2]){j[k+24>>2]=0;j[k+16>>2]=0;j[k+20>>2]=0;j[k+8>>2]=0;j[k>>2]=0;j[k+4>>2]=0;ia(k,b);Ua(k,j[a+24>>2]);vb(k,j[a+24>>2]);da(k+16|0,k);m=Lc(a,k+16|0,c,g,o,f,1,1);a=j[k>>2];if(a){j[k+4>>2]=a;T(a)}if(h[k+27|0]>-1){break a}T(j[k+16>>2]);break a}b=ha(k+16|0,b);Pa(b,j[a+52>>2]);nb(b,j[a+52>>2]);m=Lc(a,b,c,g,o,f,1,1);if(h[b+11|0]>-1){break a}T(j[b>>2])}M=k+32|0;return m}function Qn(a,b){var c=0,d=0,e=0;a:{if(k[b|0]){break a}b=ue(123616);if(k[b|0]?b:0){break a}b=ue(p(a,12)+123632|0);if(k[b|0]?b:0){break a}b=ue(123704);if(k[b|0]?b:0){break a}b=123709}b:{while(1){e=k[b+c|0];if(!(!e|(e|0)==47)){e=15;c=c+1|0;if((c|0)!=15){continue}break b}break}e=c}d=123709;c:{d:{c=k[b|0];e:{f:{if(!(k[b+e|0]|(c|0)==46)){d=b;if((c|0)!=67){break f}}if(!k[d+1|0]){break e}}if(!ba(d,123709)){break e}if(ba(d,123717)){break d}}if(!a){c=123540;if(k[d+1|0]==46){break c}}return 0}c=j[37230];if(c){while(1){if(!ba(d,c+8|0)){break c}c=j[c+24>>2];if(c){continue}break}}c=j[37230];if(c){while(1){if(!ba(d,c+8|0)){return c}c=j[c+24>>2];if(c){continue}break}}c=ja(28);g:{if(!c){c=0;break g}b=j[30886];j[c>>2]=j[30885];j[c+4>>2]=b;b=c+8|0;V(b,d,e);h[b+e|0]=0;j[c+24>>2]=j[37230];j[37230]=c}c=a|c?c:123540}return c}function Dl(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=cg(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);db(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);db(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=bg(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);db(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);db(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function Mn(a,b,c){var d=0,e=0,f=0,g=0,i=0;i=M-16|0;M=i;a:{b:{c:{d:{if(a){if(c>>>0>=4){break d}d=c;break c}c=0;a=j[b>>2];d=j[a>>2];if(!d){break a}while(1){f=1;if(d>>>0>=128){g=-1;f=tc(i+12|0,d);if((f|0)==-1){break a}}d=j[a+4>>2];a=a+4|0;c=c+f|0;g=c;if(d){continue}break}break a}f=j[b>>2];d=c;while(1){e=j[f>>2];e:{if(e-1>>>0>=127){if(!e){h[a|0]=0;j[b>>2]=0;break b}g=-1;e=tc(a,e);if((e|0)==-1){break a}d=d-e|0;a=a+e|0;break e}h[a|0]=e;d=d-1|0;f=j[b>>2];a=a+1|0}f=f+4|0;j[b>>2]=f;if(d>>>0>3){continue}break}}if(d){f=j[b>>2];while(1){e=j[f>>2];f:{if(e-1>>>0>=127){if(!e){h[a|0]=0;j[b>>2]=0;break b}g=-1;e=tc(i+12|0,e);if((e|0)==-1){break a}if(d>>>0>>0){break b}tc(a,j[f>>2]);d=d-e|0;a=a+e|0;break f}h[a|0]=e;d=d-1|0;f=j[b>>2];a=a+1|0}f=f+4|0;j[b>>2]=f;if(d){continue}break}}g=c;break a}g=c-d|0}M=i+16|0;return g}function Wp(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;f=M-48|0;M=f;j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;a:{if(d){if((d|0)<=-1){break a}g=d<<1;n=U(g);j[f+32>>2]=n;i=n+(d<<1)|0;j[f+40>>2]=i;V(n,c,g);j[f+36>>2]=i}j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;q=f,r=C()|0,j[q+12>>2]=r;j[f+8>>2]=100;b:{if(!j[a+24>>2]|(d|0)<1){break b}while(1){c=d;while(1){n=c-1|0;p=n<<1;g=p+j[f+32>>2]|0;i=k[g|0]|k[g+1|0]<<8;l=j[a+28>>2]+(o<<1)|0;l=k[l|0]|k[l+1|0]<<8;if(!((i>>>8|0)==(l>>>8|0)?(i&255)==(l&255):0)){h[g|0]=l;h[g+1|0]=l>>>8;da(f+16|0,f+32|0);wa(a,b,f+16|0,e,f+8|0,f+12|0);if(!j[f+8>>2]){break b}g=j[f+32>>2]+p|0;h[g|0]=i;h[g+1|0]=i>>>8}g=(c|0)>1;c=n;if(g){continue}break}o=o+1|0;if(o>>>0>2]){continue}break}}if(h[f+27|0]<=-1){T(j[f+16>>2])}a=j[f+32>>2];if(a){j[f+36>>2]=a;T(a)}M=f+48|0;return}X();z()}function Mm(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;i=M-16|0;M=i;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[b+4356>>2]=0;j[b+4360>>2]=0;j[b+4376>>2]=0;f=j[b>>2];if(f){while(1){xf(i,f,c,d,e);l=k[i+11|0];g=l<<24>>24;m=(g|0)<0;l=m?j[i+4>>2]:l;if(l){aa(a,m?j[i>>2]:i,l);g=k[i+11|0]}f=j[f+68>>2];if(g<<24>>24<=-1){T(j[i>>2])}if(f){continue}break}}l=j[(k[c|0]<<2)+b>>2];if(l){while(1){g=l+4|0;g=h[l+15|0]<=-1?j[g>>2]:g;f=k[g|0];a:{if(!f){break a}m=c;if((f|0)!=46&k[m|0]!=(f|0)){break a}while(1){f=k[g+1|0];if(!f){break a}n=k[m+1|0];m=m+1|0;g=g+1|0;if(!((f|0)!=46&(f|0)!=(n|0))){continue}break}}b:{if(!f){xf(i,l,c,d,e);g=k[i+11|0];f=g<<24>>24;m=(f|0)<0;g=m?j[i+4>>2]:g;if(g){aa(a,m?j[i>>2]:i,g);j[b+4376>>2]=l;f=k[i+11|0]}l=j[l+72>>2];if(f<<24>>24>-1){break b}T(j[i>>2]);break b}l=j[l+76>>2]}if(l){continue}break}}M=i+16|0}function Db(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{c=j[a>>2];f=(j[a+4>>2]-c|0)/12|0;d=f+1|0;if(d>>>0<357913942){c=(j[a+8>>2]-c|0)/12|0;g=c<<1;c=c>>>0<178956970?d>>>0>g>>>0?d:g:357913941;if(c){if(c>>>0>=357913942){break c}e=U(p(c,12))}d=p(f,12)+e|0;f=j[b+4>>2];j[d>>2]=j[b>>2];j[d+4>>2]=f;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;e=p(c,12)+e|0;f=d+12|0;b=j[a+4>>2];c=j[a>>2];if((b|0)==(c|0)){break b}while(1){b=b-12|0;g=j[b+4>>2];d=d-12|0;j[d>>2]=j[b>>2];j[d+4>>2]=g;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;if((b|0)!=(c|0)){continue}break}j[a+8>>2]=e;e=j[a+4>>2];j[a+4>>2]=f;c=j[a>>2];j[a>>2]=d;if((c|0)==(e|0)){break a}while(1){a=e-12|0;if(h[e-1|0]<=-1){T(j[a>>2])}e=a;if((a|0)!=(c|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=e;j[a+4>>2]=f;j[a>>2]=d}if(c){T(c)}}function Ko(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,k=0;e=M-32|0;M=e;g=j[a+28>>2];j[e+16>>2]=g;d=j[a+20>>2];j[e+28>>2]=c;j[e+24>>2]=b;b=d-g|0;j[e+20>>2]=b;g=b+c|0;k=2;b=e+16|0;a:{b:{f=E(j[a+60>>2],e+16|0,2,e+12|0)|0;d=0;c:{if(!f){break c}j[37203]=f;d=-1}d:{if(!d){while(1){d=j[e+12>>2];if((d|0)==(g|0)){break d}if((d|0)<=-1){break b}h=j[b+4>>2];f=h>>>0>>0;i=(f<<3)+b|0;h=d-(f?h:0)|0;j[i>>2]=h+j[i>>2];i=(f?12:4)+b|0;j[i>>2]=j[i>>2]-h;g=g-d|0;b=f?b+8|0:b;k=k-f|0;f=E(j[a+60>>2],b|0,k|0,e+12|0)|0;d=0;e:{if(!f){break e}j[37203]=f;d=-1}if(!d){continue}break}}if((g|0)!=-1){break b}}b=j[a+44>>2];j[a+28>>2]=b;j[a+20>>2]=b;j[a+16>>2]=b+j[a+48>>2];a=c;break a}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a>>2]=j[a>>2]|32;a=0;if((k|0)==2){break a}a=c-j[b+4>>2]|0}M=e+32|0;return a|0}function Kn(a,b,c,d,e){var f=0,g=0,h=0,i=0,k=0,l=0;g=M-1040|0;M=g;i=j[b>>2];j[g+12>>2]=i;k=a?a:g+16|0;a:{b:{c:{d=a?d:256;if(!d|!i){break c}f=c>>>2|0;l=f>>>0>=d>>>0;if(d>>>0>f>>>0?c>>>0<=131:0){break b}while(1){f=l?d:f;c=c-f|0;f=Mg(k,g+12|0,f,e);if((f|0)==-1){d=0;i=j[g+12>>2];h=-1;break c}l=(g+16|0)==(k|0);k=l?k:(f<<2)+k|0;h=f+h|0;d=d-(l?0:f)|0;i=j[g+12>>2];if(!d|!i){break c}f=c>>>2|0;l=f>>>0>=d>>>0;if(d>>>0<=f>>>0|c>>>0>131){continue}break}break b}if(!i){break a}}if(!d|!c){break a}f=h;while(1){d:{h=rd(k,i,c,e);e:{if(h+2>>>0<=2){f:{switch(h+1|0){case 1:j[g+12>>2]=0;break e;case 0:break a;default:break f}}j[e>>2]=0;break e}i=j[g+12>>2]+h|0;j[g+12>>2]=i;f=f+1|0;d=d-1|0;if(d){break d}}h=f;break a}k=k+4|0;c=c-h|0;h=f;if(c){continue}break}}if(a){j[b>>2]=j[g+12>>2]}M=g+1040|0;return h}function or(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=j[b+44>>2];k=j[b+24>>2];if(i>>>0>>0){j[b+44>>2]=k;i=k}o=-1;p=-1;q=f&24;a:{if(!q|((q|0)==24?(e|0)==1:0)){break a}if(i){g=b+32|0;l=i;if(h[b+43|0]<=-1){g=j[g>>2]}g=l-g|0;l=g;g=g>>31}b:{c:{switch(e|0){case 1:if(f&8){e=j[b+12>>2]-j[b+8>>2]|0;m=e;n=e>>31;break b}e=k-j[b+20>>2]|0;m=e;n=e>>31;break b;case 0:break b;case 2:break c;default:break a}}m=l;n=g}e=d+n|0;c=c+m|0;e=m>>>0>c>>>0?e+1|0:e;d=c;c=e;if((e|0)<0|((e|0)>(g|0)?1:(e|0)>=(g|0)?d>>>0>l>>>0:0)){break a}e=f&8;d:{if(!(c|d)){break d}if(j[b+12>>2]?0:e){break a}if(!(f&16)){break d}if(!k){break a}}if(e){j[b+16>>2]=i;j[b+12>>2]=d+j[b+8>>2]}if(f&16){j[b+24>>2]=d+j[b+20>>2]}o=d;p=c}j[a+8>>2]=o;j[a+12>>2]=p;j[a>>2]=0;j[a+4>>2]=0}function hp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=j[b+4>>2];a:{b:{if(e){f=k[c+11|0];g=f<<24>>24<0;n=g?j[c>>2]:c;g=g?j[c+4>>2]:f;f=b+4|0;while(1){c=k[e+27|0];i=c<<24>>24<0;c=i?j[e+20>>2]:c;o=c>>>0>>0;c:{d:{e:{f:{g:{m=o?c:g;h:{if(m){l=e+16|0;i=i?j[l>>2]:l;l=qa(n,i,m);if(!l){if(c>>>0>g>>>0){break h}break g}if((l|0)>-1){break g}break h}if(c>>>0<=g>>>0){break f}}c=j[e>>2];if(c){break c}break b}c=qa(i,n,m);if(c){break e}}if(o){break d}break a}if((c|0)>-1){break a}}f=e+4|0;c=j[e+4>>2];if(!c){break a}e=f}f=e;e=c;continue}}e=b+4|0}f=e}g=a;c=j[f>>2];if(c){b=0}else{c=U(32);ha(c+16|0,d);d=j[d+12>>2];j[c+8>>2]=e;j[c>>2]=0;j[c+4>>2]=0;j[c+28>>2]=d;j[f>>2]=c;e=j[j[b>>2]>>2];d=c;i:{if(!e){break i}j[b>>2]=e;d=j[f>>2]}Bd(j[b+4>>2],d);j[b+8>>2]=j[b+8>>2]+1;b=1}h[g+4|0]=b;j[a>>2]=c}function io(a,b){var c=0,d=0,e=0,f=0,g=0;a:{e=j[a>>2];if((j[a+8>>2]-e|0)/12>>>0>=b>>>0){break a}b:{c:{if(b>>>0<357913942){c=j[a+4>>2];b=p(b,12);d=U(b);f=b+d|0;d=d+p((c-e|0)/12|0,12)|0;if((c|0)==(e|0)){break c}b=d;while(1){b=b-12|0;j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;c=c-12|0;j[b>>2]=j[c>>2];j[b+4>>2]=j[c+4>>2];j[b+8>>2]=j[c+8>>2];j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;if((c|0)!=(e|0)){continue}break}j[a+8>>2]=f;c=j[a+4>>2];j[a+4>>2]=d;e=j[a>>2];j[a>>2]=b;if((c|0)==(e|0)){break b}while(1){d=c-12|0;f=j[d>>2];if(f){a=f;c=c-8|0;b=j[c>>2];g=a;d:{if((a|0)==(b|0)){break d}while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((f|0)!=(b|0)){continue}break}g=j[d>>2]}a=g;j[c>>2]=f;T(a)}c=d;if((e|0)!=(c|0)){continue}break}break b}D();z()}j[a+8>>2]=f;j[a+4>>2]=d;j[a>>2]=d}if(!e){break a}T(e)}}function ip(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=j[b+4>>2];a:{b:{if(e){f=k[c+11|0];g=f<<24>>24<0;n=g?j[c>>2]:c;g=g?j[c+4>>2]:f;f=b+4|0;while(1){c=k[e+27|0];i=c<<24>>24<0;c=i?j[e+20>>2]:c;o=c>>>0>>0;c:{d:{e:{f:{g:{m=o?c:g;h:{if(m){l=e+16|0;i=i?j[l>>2]:l;l=qa(n,i,m);if(!l){if(c>>>0>g>>>0){break h}break g}if((l|0)>-1){break g}break h}if(c>>>0<=g>>>0){break f}}c=j[e>>2];if(c){break c}break b}c=qa(i,n,m);if(c){break e}}if(o){break d}break a}if((c|0)>-1){break a}}f=e+4|0;c=j[e+4>>2];if(!c){break a}e=f}f=e;e=c;continue}}e=b+4|0}f=e}g=a;c=j[f>>2];if(c){b=0}else{c=U(32);ha(c+16|0,j[d>>2]);j[c+8>>2]=e;j[c>>2]=0;j[c+4>>2]=0;j[c+28>>2]=0;j[f>>2]=c;e=j[j[b>>2]>>2];d=c;i:{if(!e){break i}j[b>>2]=e;d=j[f>>2]}Bd(j[b+4>>2],d);j[b+8>>2]=j[b+8>>2]+1;b=1}h[g+4|0]=b;j[a>>2]=c}function ik(a,b,c,d,e,f){var g=0;j[c>>2]=a;j[f>>2]=d;d=j[c>>2];a:{while(1){if(b>>>0<=d>>>0){g=0;break a}g=2;a=j[d>>2];if(a>>>0>1114111|(a&-2048)==55296){break a}b:{c:{if(a>>>0<=127){g=1;d=j[f>>2];if((e-d|0)<1){break a}j[f>>2]=d+1;h[d|0]=a;break c}if(a>>>0<=2047){d=j[f>>2];if((e-d|0)<2){break b}j[f>>2]=d+1;h[d|0]=a>>>6|192;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a&63|128;break c}d=j[f>>2];g=e-d|0;if(a>>>0<=65535){if((g|0)<3){break b}j[f>>2]=d+1;h[d|0]=a>>>12|224;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a>>>6&63|128;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a&63|128;break c}if((g|0)<4){break b}j[f>>2]=d+1;h[d|0]=a>>>18|240;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a>>>12&63|128;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a>>>6&63|128;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a&63|128}d=j[c>>2]+4|0;j[c>>2]=d;continue}break}return 1}return g}function dq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=M-16|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){l=f+16&-16;g=U(l);j[e+8>>2]=l|-2147483648;j[e>>2]=g;j[e+4>>2]=f;l=e;break b}h[e+11|0]=f;l=e;g=e;if(!f){break a}}V(g,c,f)}h[f+g|0]=0;m=j[e>>2];c=h[l+11|0];g=(c|0)<0?m:e;while(1){c:{d:{e:{i=c<<24>>24;f:{if((i|0)<=-1){f=m;n=j[e+4>>2];if(f+n>>>0>g>>>0){break f}T(m);break e}if((c&255)+e>>>0<=g>>>0){break e}n=j[e+4>>2];f=e}i=(i|0)<0;if((i?m:e)+(i?n:c&255)>>>0>f>>>0){break d}break c}M=e+16|0;return}while(1){o=g-f|0;i=o>>31;if((i^i+o)-2>>>0<=2){c=k[g|0];h[g|0]=k[f|0];h[f|0]=c;wa(a,b,e,d,0,0);c=k[g|0];h[g|0]=k[f|0];h[f|0]=c;n=j[e+4>>2];m=j[e>>2];c=k[l+11|0]}f=f+1|0;i=c<<24>>24<0;if(f>>>0<(i?m:e)+(i?n:c&255)>>>0){continue}break}}g=g+1|0;continue}}X();z()}function ul(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0;f=M-16|0;M=f;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:1;i=c-b>>2;a:{if(!i){break a}if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}m=g;if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}if(k[a+11|0]>>>7|0){l=j[a+4>>2]}else{l=k[a+11|0]}if(g+(l<<2)>>>0>b>>>0&b>>>0>=m>>>0){d=a;a=M-16|0;M=a;Ig(f,b,c);M=a+16|0;b=f;a=b;if(k[a+11|0]>>>7|0){a=j[a>>2]}if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}yi(d,a,c);Y(b);break a}if(d-e>>>0>>0){bf(a,d,(e+i|0)-d|0,e,e)}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}d=d+(e<<2)|0;while(1){if((b|0)!=(c|0)){j[d>>2]=j[b>>2];b=b+4|0;d=d+4|0;continue}break}j[f>>2]=0;j[d>>2]=j[f>>2];b=e+i|0;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}}M=f+16|0}function _p(a,b,c,d,e){var f=0,g=0,i=0,k=0,l=0,n=0,o=0;f=M-48|0;M=f;j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;a:{if(d){if((d|0)<=-1){break a}k=d<<1;g=U(k);j[f+32>>2]=g;i=(d<<1)+g|0;j[f+40>>2]=i;V(g,c,k);j[f+36>>2]=i}n=f,o=C()|0,j[n+28>>2]=o;j[f+24>>2]=100;if(j[a+24>>2]){b:{k=0;while(1){c=i-g>>1;d=0;c:{while(1){c=c-d<<1;Kh(f+32|0,c+g|0,j[a+28>>2]+(k<<1)|0);j[f+16>>2]=0;j[f+8>>2]=0;j[f+12>>2]=0;da(f+8|0,f+32|0);wa(a,b,f+8|0,e,f+24|0,f+28|0);i=j[f+24>>2];if(i){c=c+j[f+32>>2]|0;l=c+2|0;g=j[f+36>>2]-l|0;if(g){Ja(c,l,g)}j[f+36>>2]=c+g}if(h[f+19|0]<=-1){T(j[f+8>>2])}if(i){i=j[f+36>>2];g=j[f+32>>2];c=i-g>>1;d=d+1|0;if(c>>>0>>0){break c}continue}break}g=j[f+32>>2];break b}k=k+1|0;if(k>>>0>2]){continue}break}}}if(g){j[f+36>>2]=g;T(g)}M=f+48|0;return}X();z()}function Al(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0;f=M-32|0;M=f;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;i=c-b|0;a:{if(!i){break a}if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}m=g;if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}if(k[a+11|0]>>>7|0){l=j[a+4>>2]}else{l=k[a+11|0]}if(g+l>>>0>b>>>0&b>>>0>=m>>>0){d=a;e=M-16|0;M=e;a=f+16|0;Jg(a,b,c);M=e+16|0;b=a;if(k[a+11|0]>>>7|0){a=j[a>>2]}if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}aa(d,a,c);Y(b);break a}if(d-e>>>0>>0){pb(a,d,(e+i|0)-d|0,e,e,0,0)}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}d=d+e|0;while(1){if((b|0)!=(c|0)){h[d|0]=k[b|0];b=b+1|0;d=d+1|0;continue}break}h[f+15|0]=0;h[d|0]=k[f+15|0];b=e+i|0;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}}M=f+32|0}function Cl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,l=0,m=0;a=M-160|0;M=a;j[a+144>>2]=c;j[a+152>>2]=b;j[a+20>>2]=78;i=Da(a+24|0,a+32|0,a+20|0);b=j[e+28>>2];j[a+16>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(a+16|0);h[a+15|0]=0;a:{if(!fg(a+152|0,c,d,a+16|0,j[e+4>>2],f,a+15|0,b,i,a+20|0,a+132|0)){break a}Bl(g);if(k[a+15|0]){Z(g,O[j[j[b>>2]+28>>2]](b,45)|0)}c=O[j[j[b>>2]+28>>2]](b,48)|0;e=j[i>>2];l=j[a+20>>2];d=l-1|0;b=d>>>0>>0?e:d;m=c&255;while(1){c=g;b:{if(d>>>0>e>>>0){if((m|0)==k[e|0]){break b}}else{e=b}Al(c,e,l);break a}e=e+1|0;continue}}if(Sa(a+152|0,a+144|0)){j[f>>2]=j[f>>2]|2}d=j[a+152>>2];b=j[a+16>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+160|0;return d|0}function Cc(a,b,c,d,e,f,g,i,l,m){var n=0,o=0,p=0;n=M-16|0;M=n;h[n+15|0]=a;a:{b:{c:{if(j[d>>2]!=(c|0)){break c}o=43;p=a&255;if((p|0)!=k[m+24|0]){o=45;if(k[m+25|0]!=(p|0)){break c}}j[d>>2]=c+1;h[c|0]=o;break b}if(k[g+11|0]>>>7|0){g=j[g+4>>2]}else{g=k[g+11|0]}if(!(!g|(a|0)!=(f|0))){a=0;b=j[l>>2];if((b-i|0)>159){break a}a=j[e>>2];j[l>>2]=b+4;j[b>>2]=a;break b}a=-1;f=pe(m,m+26|0,n+15|0)-m|0;if((f|0)>23){break a}d:{e:{switch(b-8|0){case 0:case 2:if((b|0)>(f|0)){break d}break a;case 1:break d;default:break e}}if((b|0)!=16|(f|0)<22){break d}b=j[d>>2];if((b|0)==(c|0)|(b-c|0)>2|k[b-1|0]!=48){break a}a=0;j[e>>2]=0;j[d>>2]=b+1;h[b|0]=k[f+127600|0];break a}a=j[d>>2];j[d>>2]=a+1;h[a|0]=k[f+127600|0];j[e>>2]=j[e>>2]+1;a=0;break a}a=0;j[e>>2]=0}M=n+16|0;return a}function Ac(a,b,c,d,e,f,g,i,l,m){var n=0,o=0;n=M-16|0;M=n;j[n+12>>2]=a;a:{b:{c:{if(j[d>>2]!=(c|0)){break c}o=43;if(j[m+96>>2]!=(a|0)){o=45;if(j[m+100>>2]!=(a|0)){break c}}j[d>>2]=c+1;h[c|0]=o;break b}if(k[g+11|0]>>>7|0){g=j[g+4>>2]}else{g=k[g+11|0]}if(!(!g|(a|0)!=(f|0))){a=0;b=j[l>>2];if((b-i|0)>159){break a}a=j[e>>2];j[l>>2]=b+4;j[b>>2]=a;break b}a=-1;g=me(m,m+104|0,n+12|0)-m|0;if((g|0)>92){break a}f=g>>2;d:{e:{switch(b-8|0){case 0:case 2:if((b|0)>(f|0)){break d}break a;case 1:break d;default:break e}}if((b|0)!=16|(g|0)<88){break d}b=j[d>>2];if((b|0)==(c|0)|(b-c|0)>2|k[b-1|0]!=48){break a}a=0;j[e>>2]=0;j[d>>2]=b+1;h[b|0]=k[f+127600|0];break a}a=j[d>>2];j[d>>2]=a+1;h[a|0]=k[f+127600|0];j[e>>2]=j[e>>2]+1;a=0;break a}a=0;j[e>>2]=0}M=n+16|0;return a}function Eq(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0;d=M-16|0;M=d;wd(a);j[a+52>>2]=0;j[a+56>>2]=0;j[a+40>>2]=0;j[a+32>>2]=0;j[a+36>>2]=0;j[a>>2]=121328;j[a+60>>2]=0;j[a+64>>2]=0;j[a+68>>2]=0;j[a+72>>2]=0;j[a+76>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;j[a+88>>2]=0;h[a+91|0]=0;h[a+92|0]=0;h[a+93|0]=0;h[a+94|0]=0;h[a+95|0]=0;h[a+96|0]=0;h[a+97|0]=0;h[a+98|0]=0;b=d+8|0;e=a+4|0;c=j[e>>2];j[b>>2]=c;j[c+4>>2]=j[c+4>>2]+1;f=Jf(j[b>>2],za(149140));b=j[b>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}if(f){b=j[e>>2];j[d>>2]=b;j[b+4>>2]=j[b+4>>2]+1;g=a,i=Hb(d,149140),j[g+68>>2]=i;b=j[d>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[a+68>>2];g=a,i=O[j[j[b>>2]+28>>2]](b)|0,h[g+98|0]=i}O[j[j[a>>2]+12>>2]](a,0,4096)|0;M=d+16|0}function xn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,k=0,l=0;g=M-32|0;M=g;j[g+24>>2]=b;a:{if(!(j[d+4>>2]&1)){j[g>>2]=-1;b=O[j[j[a>>2]+16>>2]](a,b,c,d,e,g)|0;j[g+24>>2]=b;b:{switch(j[g>>2]){case 0:h[f|0]=0;break a;case 1:h[f|0]=1;break a;default:break b}}h[f|0]=1;j[e>>2]=4;break a}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;i=sb(g);a=j[g>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=Dc(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}O[j[j[a>>2]+24>>2]](g,a);O[j[j[a>>2]+28>>2]](g|12,a);d=g+24|0;k=f,l=(qd(g+24|0,c,g,d,i,e,1)|0)==(g|0),h[k|0]=l;b=j[g+24>>2];while(1){d=Y(d-12|0);if((g|0)!=(d|0)){continue}break}}M=g+32|0;return b|0}function dn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,k=0,l=0;g=M-32|0;M=g;j[g+24>>2]=b;a:{if(!(j[d+4>>2]&1)){j[g>>2]=-1;b=O[j[j[a>>2]+16>>2]](a,b,c,d,e,g)|0;j[g+24>>2]=b;b:{switch(j[g>>2]){case 0:h[f|0]=0;break a;case 1:h[f|0]=1;break a;default:break b}}h[f|0]=1;j[e>>2]=4;break a}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;i=rb(g);a=j[g>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=Bc(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}O[j[j[a>>2]+24>>2]](g,a);O[j[j[a>>2]+28>>2]](g|12,a);d=g+24|0;k=f,l=(pd(g+24|0,c,g,d,i,e,1)|0)==(g|0),h[k|0]=l;b=j[g+24>>2];while(1){d=Y(d-12|0);if((g|0)!=(d|0)){continue}break}}M=g+32|0;return b|0}function fi(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0;c=M-16|0;b=a;j[b>>2]=0;j[b+4>>2]=0;j[b+32>>2]=0;j[b+36>>2]=0;j[b+24>>2]=0;j[b+28>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[b+8>>2]=0;j[b+12>>2]=0;if(!j[37866]){j[37869]=-1;j[37870]=-1;j[37867]=4096;j[37868]=4096;j[37866]=c+12&-16^1431655768;j[37871]=0;j[37859]=0}k=j[37754];if(k){c=151440;h=1;l=j[37751];e=l+40|0;g=e;while(1){f=j[c>>2];b=f+(f+8&7?-8-f&7:0)|0;m=j[c+4>>2]+f|0;while(1){a:{if((b|0)==(k|0)|b>>>0>=m>>>0){break a}d=j[b+4>>2];if((d|0)==7){break a}i=d&-8;d=(d&3)==1;g=(d?i:0)+g|0;e=e+i|0;h=d+h|0;b=b+i|0;if(f>>>0<=b>>>0){continue}}break}c=j[c+8>>2];if(c){continue}break}j[a+4>>2]=h;j[a>>2]=e;b=j[37856];j[a+16>>2]=b-e;c=j[37857];j[a+36>>2]=l;j[a+32>>2]=g;j[a+28>>2]=b-g;j[a+20>>2]=c}}function eq(a,b,c,d,e){var f=0,g=0,i=0,l=0;g=M-32|0;M=g;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;a:{if(!d){break a}b:{c:{if((d|0)>-1){l=d<<1;f=U(l);j[g+16>>2]=f;i=(d<<1)+f|0;j[g+24>>2]=i;d=V(f,c,l);j[g+20>>2]=i;if(d>>>0>=i>>>0){break b}while(1){if(f>>>0>>0){while(1){l=d-f|0;c=l>>31;if((c^c+(l>>1))-2>>>0<=2){c=k[d|0]|k[d+1|0]<<8;i=k[f|0]|k[f+1|0]<<8;h[d|0]=i;h[d+1|0]=i>>>8;h[f|0]=c;h[f+1|0]=c>>>8;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);c=k[d|0]|k[d+1|0]<<8;i=k[f|0]|k[f+1|0]<<8;h[d|0]=i;h[d+1|0]=i>>>8;h[f|0]=c;h[f+1|0]=c>>>8;if(h[g+11|0]<=-1){T(j[g>>2])}i=j[g+20>>2]}f=f+2|0;if(i>>>0>f>>>0){continue}break}}f=j[g+16>>2];d=d+2|0;if(i>>>0>d>>>0){continue}break}break c}X();z()}if(!f){break a}}j[g+20>>2]=f;T(f)}M=g+32|0}function Re(a,b){var c=0,d=0,e=0,f=0,g=0,n=0,o=0;f=j[a+4>>2];a:{if(!f){break a}e=h[b+11|0]<0?j[b>>2]:b;b=h[e|0];b:{if(!b){break b}c=h[e+1|0];if(!c){c=b;break b}c=c|b<<8;b=h[e+2|0];if(!b){break b}c=b|c<<8;b=h[e+3|0];if(!b){break b}c=b|c<<8;b=e+4|0;d=k[b|0];if(!d){break b}while(1){c=Er(c,5)^d<<24>>24;d=k[b+1|0];b=b+1|0;if(d){continue}break}}d=j[f+((c>>>0)%m[a>>2]<<2)>>2];if(!d){break a}while(1){if(!ba(e,d+17|0)){while(1){b=j[d+4>>2];c:{if(!b){break c}c=i[d+2>>1];n=(c<<1)+b|0;if(c){o=l[a+20>>1];while(1){e=c>>>1|0;g=(e<<1)+b|0;f=l[g>>1]>>0;b=f?g+2|0:b;c=f?(e^-1)+c|0:e;if(c){continue}break}}if((b|0)==(n|0)|l[a+20>>1]>1]){break c}i[d+2>>1]=0}d=j[d+12>>2];if(d){continue}break}return 0}d=j[d+8>>2];if(d){continue}break}}return 1}function Gq(a,b,c){var d=0,e=0,f=0,g=0;d=M-32|0;M=d;g=W(c);if(g>>>0<4294967280){a:{b:{if(g>>>0>=11){e=g+16&-16;f=U(e);j[d+8>>2]=e|-2147483648;j[d>>2]=f;j[d+4>>2]=g;e=d;break b}h[d+11|0]=g;e=d;f=d;if(!g){break a}}V(f,c,g)}h[f+g|0]=0;Rh(d+16|0,a,d);if(h[e+11|0]<=-1){T(j[d>>2])}c=j[d+16>>2];e=j[d+20>>2];c:{if((c|0)==(e|0)){a=0;j[b>>2]=0;e=c;break c}a=ja((e-c|0)/12<<2);j[b>>2]=a;f=0;if(!a){a=0;break c}while(1){a=p(f,12)+c|0;if(h[a+11|0]<=-1){a=j[a>>2]}a=cb(a);j[j[b>>2]+(f<<2)>>2]=a;e=j[d+20>>2];c=j[d+16>>2];a=(e-c|0)/12|0;f=f+1|0;if(a>>>0>f>>>0){continue}break}}if(c){if((c|0)==(e|0)){b=c}else{while(1){b=e-12|0;if(h[e-1|0]<=-1){T(j[b>>2])}e=b;if((e|0)!=(c|0)){continue}break}b=j[d+16>>2]}j[d+20>>2]=c;T(b)}M=d+32|0;return a}X();z()}function wb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;h=k[b+11|0];f=h<<24>>24<0;m=j[b+4>>2];g=f?m:h;o=f?j[b>>2]:b;e=k[a+11|0];d=e<<24>>24<0;e=d?j[a+4>>2]:e;n=d?j[a>>2]:a;d=0;while(1){a:{if(g){i=e+n|0;e=d+n|0;d=i-e|0;if((g|0)>(d|0)){break a}l=k[o|0];while(1){d=d-g|0;p=d+1|0;if(p>>>0>>0){break a}d=Aa(e,l,p);if(!d){break a}if(qa(d,o,g)){e=d+1|0;d=i-e|0;if((g|0)<=(d|0)){continue}break a}break}if((d|0)==(i|0)){break a}d=d-n|0}if((d|0)==-1){break a}l=f?m:h;f=k[c+11|0];g=f<<24>>24<0;oc(a,d,l,g?j[c>>2]:c,g?j[c+4>>2]:f);h=k[b+11|0];f=h<<24>>24<0;m=j[b+4>>2];g=f?m:h;o=f?j[b>>2]:b;e=k[a+11|0];i=e<<24>>24<0;n=i?j[a>>2]:a;l=d;d=k[c+11|0];d=l+(d<<24>>24<0?j[c+4>>2]:d)|0;e=i?j[a+4>>2]:e;if(d>>>0<=e>>>0){continue}}break}}function Wb(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{e=j[a>>2];f=(j[a+4>>2]-e|0)/12|0;c=f+1|0;if(c>>>0<357913942){e=(j[a+8>>2]-e|0)/12|0;g=e<<1;c=e>>>0<178956970?c>>>0>g>>>0?c:g:357913941;d=0;d:{if(!c){break d}if(c>>>0>=357913942){break c}d=U(p(c,12))}e=d+p(c,12)|0;d=ha(d+p(f,12)|0,b);f=d+12|0;b=j[a+4>>2];c=j[a>>2];if((b|0)==(c|0)){break b}while(1){b=b-12|0;g=j[b+4>>2];d=d-12|0;j[d>>2]=j[b>>2];j[d+4>>2]=g;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;if((b|0)!=(c|0)){continue}break}j[a+8>>2]=e;b=j[a+4>>2];j[a+4>>2]=f;c=j[a>>2];j[a>>2]=d;if((b|0)==(c|0)){break a}while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((a|0)!=(c|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=e;j[a+4>>2]=f;j[a>>2]=d}if(c){T(c)}}function Ja(a,b,c){var d=0;a:{if((a|0)==(b|0)){break a}if((b-a|0)-c>>>0<=0-(c<<1)>>>0){V(a,b,c);return}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){break b}if(!(a&3)){break c}while(1){if(!c){break a}h[a|0]=k[b|0];b=b+1|0;c=c-1|0;a=a+1|0;if(a&3){continue}break}break c}d:{if(d){break d}if(a+c&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;h[d|0]=k[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;j[c+a>>2]=j[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;h[c+a|0]=k[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){j[a>>2]=j[b>>2];b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){h[a|0]=k[b|0];a=a+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}}function Zp(a,b,c,d){var e=0,f=0,g=0,i=0,k=0,l=0,n=0;e=M-32|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){i=f+16&-16;g=U(i);j[e+24>>2]=i|-2147483648;j[e+16>>2]=g;j[e+20>>2]=f;break b}h[e+27|0]=f;g=e+16|0;if(!f){break a}}V(g,c,f)}i=0;h[f+g|0]=0;l=e,n=C()|0,j[l+12>>2]=n;j[e+8>>2]=100;c:{if(!j[a+24>>2]){break c}d:while(1){f=0;while(1){e:{g=h[e+27|0];f:{if((g|0)<=-1){g=j[e+20>>2];if(g>>>0>>0){break f}c=j[e+16>>2];break e}c=e+16|0;g=g&255;if(g>>>0>=f>>>0){break e}}i=i+1|0;if(i>>>0>2]){continue d}break c}k=c;c=g-f|0;kf(e+16|0,k+c|0,h[j[a+20>>2]+i|0]);wa(a,b,e+16|0,d,e+8|0,e+12|0);if(!j[e+8>>2]){break c}xb(e+16|0,c,1);f=f+1|0;continue}}}if(h[e+27|0]<=-1){T(j[e+16>>2])}M=e+32|0;return}X();z()}function ya(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}f=a+c|0;h[f-1|0]=b;h[a|0]=b;if(c>>>0<3){break a}h[f-2|0]=b;h[a+1|0]=b;h[f-3|0]=b;h[a+2|0]=b;if(c>>>0<7){break a}h[f-4|0]=b;h[a+3|0]=b;if(c>>>0<9){break a}f=0-a&3;e=f+a|0;d=p(b&255,16843009);j[e>>2]=d;b=c-f&-4;c=b+e|0;j[c-4>>2]=d;if(b>>>0<9){break a}j[e+8>>2]=d;j[e+4>>2]=d;j[c-8>>2]=d;j[c-12>>2]=d;if(b>>>0<25){break a}j[e+24>>2]=d;j[e+20>>2]=d;j[e+16>>2]=d;j[e+12>>2]=d;j[c-16>>2]=d;j[c-20>>2]=d;j[c-24>>2]=d;j[c-28>>2]=d;c=b;b=e&4|24;c=c-b|0;if(c>>>0<32){break a}d=Cr(d,0,1,1);f=N;b=b+e|0;while(1){j[b+24>>2]=d;e=f;j[b+28>>2]=e;j[b+16>>2]=d;j[b+20>>2]=e;j[b+8>>2]=d;j[b+12>>2]=e;j[b>>2]=d;j[b+4>>2]=e;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function _q(a,b){var c=0,d=0,e=0,f=0;a:{d=j[b+48>>2];if(d&16){d=j[b+44>>2];c=j[b+24>>2];if(d>>>0>>0){j[b+44>>2]=c;d=c}b=j[b+20>>2];e=d-b|0;if(e>>>0>=4294967280){break a}b:{if(e>>>0<=10){h[a+11|0]=e;break b}f=e+16&-16;c=U(f);j[a+8>>2]=f|-2147483648;j[a>>2]=c;j[a+4>>2]=e;a=c}if((b|0)!=(d|0)){while(1){h[a|0]=k[b|0];a=a+1|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}}h[a|0]=0;return}if(d&8){e=j[b+16>>2];b=j[b+8>>2];c=e-b|0;if(c>>>0>=4294967280){break a}c:{if(c>>>0<=10){h[a+11|0]=c;break c}f=c+16&-16;d=U(f);j[a+8>>2]=f|-2147483648;j[a>>2]=d;j[a+4>>2]=c;a=d}if((b|0)!=(e|0)){while(1){h[a|0]=k[b|0];a=a+1|0;b=b+1|0;if((e|0)!=(b|0)){continue}break}}h[a|0]=0;return}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;return}X();z()}function Xg(a,b,c,d,e,f){var g=0;g=M-80|0;M=g;a:{if((f|0)>=16384){xa(g+32|0,b,c,d,e,0,0,0,2147352576);d=j[g+40>>2];e=j[g+44>>2];b=j[g+32>>2];c=j[g+36>>2];if((f|0)<32767){f=f-16383|0;break a}xa(g+16|0,b,c,d,e,0,0,0,2147352576);f=((f|0)<49149?f:49149)-32766|0;d=j[g+24>>2];e=j[g+28>>2];b=j[g+16>>2];c=j[g+20>>2];break a}if((f|0)>-16383){break a}xa(g- -64|0,b,c,d,e,0,0,0,65536);d=j[g+72>>2];e=j[g+76>>2];b=j[g+64>>2];c=j[g+68>>2];if((f|0)>-32765){f=f+16382|0;break a}xa(g+48|0,b,c,d,e,0,0,0,65536);f=((f|0)>-49146?f:-49146)+32764|0;d=j[g+56>>2];e=j[g+60>>2];b=j[g+48>>2];c=j[g+52>>2]}xa(g,b,c,d,e,0,0,0,f+16383<<16);b=j[g+12>>2];j[a+8>>2]=j[g+8>>2];j[a+12>>2]=b;b=j[g+4>>2];j[a>>2]=j[g>>2];j[a+4>>2]=b;M=g+80|0}function Vp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0;e=M-32|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){i=f+16&-16;g=U(i);j[e+24>>2]=i|-2147483648;j[e+16>>2]=g;j[e+20>>2]=f;break b}h[e+27|0]=f;g=e+16|0;if(!f){break a}}V(g,c,f)}h[f+g|0]=0;m=e,n=C()|0,j[m+12>>2]=n;j[e+8>>2]=100;g=j[a+24>>2];c:{if(!g){break c}f=0;while(1){c=k[e+27|0];i=c<<24>>24<0;l=j[e+16>>2];c=i?l+j[e+20>>2]|0:c+(e+16|0)|0;i=i?l:e+16|0;if((c|0)!=(i|0)){while(1){g=k[j[a+20>>2]+f|0];c=c-1|0;l=k[c|0];if((g|0)!=(l|0)){h[c|0]=g;wa(a,b,e+16|0,d,e+8|0,e+12|0);if(!j[e+8>>2]){break c}h[c|0]=l}if((c|0)!=(i|0)){continue}break}g=j[a+24>>2]}f=f+1|0;if(g>>>0>f>>>0){continue}break}}if(h[e+27|0]<=-1){T(j[e+16>>2])}M=e+32|0;return}X();z()}function ph(a,b,c,d){a:{if(b>>>0>20){break a}b:{switch(b-9|0){case 0:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=j[b>>2];return;case 1:b=j[c>>2];j[c>>2]=b+4;b=j[b>>2];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 2:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=j[b>>2];j[a+4>>2]=0;return;case 3:b=j[c>>2]+7&-8;j[c>>2]=b+8;c=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=c;return;case 4:b=j[c>>2];j[c>>2]=b+4;b=i[b>>1];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 5:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=l[b>>1];j[a+4>>2]=0;return;case 6:b=j[c>>2];j[c>>2]=b+4;b=h[b|0];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 7:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=k[b|0];j[a+4>>2]=0;return;case 8:b=j[c>>2]+7&-8;j[c>>2]=b+8;o[a>>3]=o[b>>3];return;case 9:break b;default:break a}}O[d|0](a,c)}}function xf(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0;g=M-32|0;M=g;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;i=h[b+15|0];f=j[b+8>>2];a:{if((i|0)<=-1){break a}f=i&255}i=d-f|0;b:{if(!j[j[b+64>>2]+4484>>2]|i?(i|0)<=0:0){break b}l=k[b+28|0];d=h[b+27|0];f=j[b+20>>2];c:{if((d|0)<=-1){break c}f=d&255}if(l>>>0>f+i>>>0){break b}d=ha(g+16|0,b+16|0);f=d;l=c;c=h[b+15|0];m=j[b+8>>2];d:{if((c|0)<=-1){break d}m=c&255}$(f,l+m|0);e:{if(!Vc(b,h[d+11|0]<0?j[d>>2]:g+16|0)){break e}c=h[b+27|0];f=j[b+20>>2];f:{if((c|0)<=-1){break f}f=c&255}c=f;if(!(h[b+29|0]&1)){break e}Hf(g,j[b+64>>2],h[d+11|0]<0?j[d>>2]:g+16|0,c+i|0,1,b,e);j[a+8>>2]=j[g+8>>2];b=j[g+4>>2];j[a>>2]=j[g>>2];j[a+4>>2]=b}if(h[d+11|0]>-1){break b}T(j[d>>2])}M=g+32|0}function mc(a,b){var c=0,d=0,e=0;c=M-32|0;M=c;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;a:{if(!b){break a}e=60;b:{c:{d=k[b|0];switch(d-34|0){case 28:break b;case 0:case 5:break c;default:break a}}e=d}d=k[b+1|0];d:{if(!d|(d|0)==(e|0)){break d}b=b+1|0;while(1){Z(a,d<<24>>24);d=k[b+1|0];if(!d){break d}b=b+1|0;if((d|0)!=(e|0)){continue}break}}h[c+20|0]=0;j[c+16>>2]=997485606;h[c+27|0]=4;i[c>>1]=60;h[c+11|0]=1;wb(a,c+16|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}if(h[c+27|0]<=-1){T(j[c+16>>2])}h[c+27|0]=5;h[c+21|0]=0;j[c+16>>2]=k[121142]|k[121143]<<8|(k[121144]<<16|k[121145]<<24);h[c+20|0]=k[121146];i[c>>1]=38;h[c+11|0]=1;wb(a,c+16|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}if(h[c+27|0]>-1){break a}T(j[c+16>>2])}M=c+32|0}function kr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0;if((b|0)==-1){return 0}i=j[a+8>>2];l=j[a+12>>2];m=a;f=j[a+24>>2];g=j[a+28>>2];c=j[a+44>>2];a:{b:{if((f|0)!=(g|0)){break b}c=-1;if(!(k[a+48|0]&16)){break a}c=j[a+44>>2];e=j[a+20>>2];d=a+32|0;Z(d,0);n=c-e|0;e=f-e|0;Wa(d,h[a+43|0]<=-1?(j[a+40>>2]&2147483647)-1|0:10);c=h[d+11|0];c:{if((c|0)<=-1){d=j[a+32>>2];c=j[a+36>>2];break c}c=c&255}j[a+20>>2]=d;g=d+c|0;j[a+28>>2]=g;f=d+e|0;j[a+24>>2]=f;c=d+n|0}e=f+1|0;c=c>>>0>e>>>0?c:e;j[m+44>>2]=c;if(k[a+48|0]&8){d=a+32|0;d=h[a+43|0]<=-1?j[d>>2]:d;j[a+16>>2]=c;j[a+8>>2]=d;j[a+12>>2]=(l-i|0)+d}if((f|0)==(g|0)){return O[j[j[a>>2]+52>>2]](a,b&255)|0}j[a+24>>2]=e;h[f|0]=b;c=b&255}return c|0}function Dh(a){var b=0,c=0,d=0,e=0;d=M-16|0;M=d;b=j[a>>2];a=W(b);if(a>>>0<4294967280){a:{b:{if(a>>>0>=11){e=a+16&-16;c=U(e);j[d+8>>2]=e|-2147483648;j[d>>2]=c;j[d+4>>2]=a;break b}h[d+11|0]=a;c=d;if(!a){break a}}V(c,b,a)}h[a+c|0]=0;b=Hc(148800,d);c:{if((b|0)==148804){break c}a=j[b+4>>2];d:{if(!a){c=j[b+8>>2];if((b|0)==j[c>>2]){break d}a=b+8|0;while(1){e=j[a>>2];a=e+8|0;c=j[e+8>>2];if((e|0)!=j[c>>2]){continue}break}break d}while(1){c=a;a=j[a>>2];if(a){continue}break}}if((b|0)==j[37200]){j[37200]=c}a=j[b+28>>2];j[37202]=j[37202]-1;Ch(j[37201],b);if(h[b+27|0]<=-1){T(j[b+16>>2])}T(b);if(!a){break c}c=j[a>>2];if(c){T(c);j[a>>2]=0}T(a)}if(h[d+11|0]<=-1){T(j[d>>2])}M=d+16|0;return}X();z()}function wl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0;a=M-448|0;M=a;j[a+432>>2]=c;j[a+440>>2]=b;j[a+20>>2]=78;b=Da(a+24|0,a+32|0,a+20|0);i=j[e+28>>2];j[a+16>>2]=i;j[i+4>>2]=j[i+4>>2]+1;i=rb(a+16|0);h[a+15|0]=0;if($f(a+440|0,c,d,a+16|0,j[e+4>>2],f,a+15|0,i,b,a+20|0,a+432|0)){vl(g);if(k[a+15|0]){bd(g,O[j[j[i>>2]+44>>2]](i,45)|0)}c=O[j[j[i>>2]+44>>2]](i,48)|0;e=j[b>>2];d=j[a+20>>2];i=d-4|0;while(1){if(!((c|0)!=j[e>>2]|e>>>0>=i>>>0)){e=e+4|0;continue}break}ul(g,e,d)}if(Ra(a+440|0,a+432|0)){j[f>>2]=j[f>>2]|2}e=j[a+440>>2];c=j[a+16>>2];d=j[c+4>>2]-1|0;j[c+4>>2]=d;if((d|0)==-1){O[j[j[c>>2]+8>>2]](c)}c=j[b>>2];j[b>>2]=0;if(c){O[j[b+4>>2]](c)}M=a+448|0;return e|0}function Ln(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0;f=M-272|0;M=f;g=j[b>>2];j[f+12>>2]=g;h=a?a:f+16|0;a:{b:{c:{d=a?d:256;if(!d|!g){break c}e=c>>>0>=d>>>0;if(!(e|c>>>0>32)){break b}while(1){e=e?d:c;c=c-e|0;e=Mn(h,f+12|0,e);if((e|0)==-1){d=0;g=j[f+12>>2];k=-1;break c}i=(f+16|0)==(h|0);h=i?h:e+h|0;k=e+k|0;d=d-(i?0:e)|0;g=j[f+12>>2];if(!d|!g){break c}e=c>>>0>=d>>>0;if(e|c>>>0>=33){continue}break}break b}if(!g){break a}}if(!d|!c){break a}e=k;while(1){d:{i=tc(h,j[g>>2]);e:{if(i+1>>>0<=1){k=-1;if(i){break a}j[f+12>>2]=0;break e}g=j[f+12>>2]+4|0;j[f+12>>2]=g;e=e+i|0;d=d-i|0;if(d){break d}}k=e;break a}h=h+i|0;k=e;c=c-1|0;if(c){continue}break}}if(a){j[b>>2]=j[f+12>>2]}M=f+272|0;return k}function Up(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;f=M-32|0;M=f;a:{if(!(!j[a+44>>2]|(d|0)<5)){p=(d<<1)+c|0;l=2;while(1){i=g;g=0;m=(l<<1)+c|0;o=k[m|0]|k[m+1|0]<<8;n=m-4|0;n=k[n|0]|k[n+1|0]<<8;b:{if((o&255)!=(n&255)|(o>>>8|0)!=(n>>>8|0)){break b}g=i+1|0;if((g|0)!=2|l>>>0<4?(g|0)!=3:0){break b}i=0;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;g=(m-c|0)-2|0;if(g){if((g|0)<=-1){break a}i=U(g);j[f+16>>2]=i;j[f+24>>2]=i+(g>>1<<1);i=V(i,c,g)+g|0;j[f+20>>2]=i}Rp(f+16|0,i,m+2|0,p);j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;da(f,f+16|0);wa(a,b,f,e,0,0);if(h[f+11|0]<=-1){T(j[f>>2])}g=j[f+16>>2];if(g){j[f+20>>2]=g;T(g)}g=0}l=l+1|0;if((l|0)!=(d|0)){continue}break}}M=f+32|0;return}X();z()}function Nc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;if(!b){return 0}h=k[a+11|0];m=h<<24>>24;e=(m|0)<0;a:{f=j[a+4>>2];c=e?f:h;if(!c){break a}e=e?j[a>>2]:a;n=c&1;b:{if((c|0)==1){c=0;a=e;break b}d=c&-2;c=0;a=e;while(1){i=p(k[a|0],3)+b|0;l=p(k[a+1|0],3)+b|0;g=((k[i+2|0]==k[i+1|0])+g|0)+(k[l+2|0]==k[l+1|0])|0;c=((k[i|0]!=0)+c|0)+(k[l|0]!=0)|0;a=a+2|0;d=d-2|0;if(d){continue}break}}if(n){a=p(k[a|0],3)+b|0;g=(k[a+2|0]==k[a+1|0])+g|0;c=(k[a|0]!=0)+c|0}if(!c){return 0}d=1;a=k[p(k[e|0],3)+b|0];if(a?(c|0)==1:0){break a}c:{if((m|0)<=-1){d=2;if((c|0)!=(f|0)){break c}break a}d=2;f=h;if((f|0)==(c|0)){break a}}if((c+g|0)==(f|0)){break a}return c>>>0>1?a?4:3:3}return d}function wa(a,b,c,d,e,f){var g=0,h=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;a:{q=j[b>>2];i=j[b+4>>2]-q|0;g=(i|0)/12|0;if((g|0)==j[a+48>>2]){break a}if(i){r=g>>>0>1?g:1;g=k[c+11|0];h=g<<24>>24<0;i=h?j[c>>2]:c;m=h?j[c+4>>2]:g;while(1){h=p(o,12)+q|0;l=k[h+11|0];g=l<<24>>24<0;b:{if(((g?j[h+4>>2]:l)|0)!=(m|0)){break b}n=j[h>>2];if(!g){if(!m){break a}g=i;if(k[g|0]!=(n&255)){break b}while(1){l=l-1|0;if(!l){break a}n=k[g+1|0];g=g+1|0;h=h+1|0;if((n|0)==k[h|0]){continue}break}break b}if(!m){break a}if(!qa(g?n:h,i,m)){break a}}o=o+1|0;if((r|0)!=(o|0)){continue}break}}if(!cc(a,c,d,e,f)){break a}a=j[b+4>>2];if((a|0)!=j[b+8>>2]){s=b,t=ha(a,c)+12|0,j[s+4>>2]=t;return}Wb(b,c)}}function pn(a,b){var c=0,d=0,e=0;c=b+68|0;ua(c,b+4|0);Va(c);d=b+68|0;if(h[b+79|0]<=-1){c=j[d>>2]}else{c=d}e=((k[b+30|0]<<2)+a|0)+3072|0;j[b+92>>2]=j[e>>2];j[e>>2]=b;a:{if(!k[c|0]){j[b+80>>2]=j[a+1024>>2];a=a+1024|0;break a}j[b+84>>2]=0;j[b+88>>2]=0;a=((k[c|0]<<2)+a|0)+1024|0;c=j[a>>2];if(!c){break a}b:{c:{if(h[d+11|0]>-1){while(1){a=c;c=a+68|0;e=d;if(h[a+79|0]<=-1){c=j[c>>2]}if((ba(e,c)|0)<=0){c=j[a+84>>2];if(c){continue}break c}c=j[a+88>>2];if(c){continue}break b}}d=j[d>>2];while(1){a=c;c=a+68|0;e=d;if(h[a+79|0]<0){c=j[c>>2]}if((ba(e,c)|0)>=1){c=j[a+88>>2];if(c){continue}break b}c=j[a+84>>2];if(c){continue}break}}a=a+84|0;break a}a=a+88|0}j[a>>2]=b}function pa(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,n=0;a:{c=j[a+112>>2];d=j[a+116>>2];b:{if(c|d){b=c>>>0<=m[a+120>>2];c=j[a+124>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?b:0){break b}}g=ao(a);if((g|0)>-1){break a}}j[a+104>>2]=0;return-1}i=a;b=j[a+116>>2];l=b;d=j[a+8>>2];c=d;f=j[a+112>>2];c:{if(!(b|f)){break c}c=d;e=j[a+120>>2]^-1;f=e+f|0;b=(j[a+124>>2]^-1)+l|0;b=f>>>0>>0?b+1|0:b;l=j[a+4>>2];e=d-l|0;n=f>>>0>=e>>>0;e=e>>31;if((b|0)>(e|0)?1:(e|0)<=(b|0)?n:0){break c}c=f+l|0}j[i+104>>2]=c;i=j[a+4>>2];if(d){c=a;b=(d-i|0)+1|0;d=b+j[a+120>>2]|0;a=j[a+124>>2]+(b>>31)|0;j[c+120>>2]=d;j[c+124>>2]=d>>>0>>0?a+1|0:a}a=i-1|0;if(k[a|0]!=(g|0)){h[a|0]=g}return g}function nf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0;f=M-16|0;M=f;c=1;a:{b:{switch(b-a>>1){case 2:b=b-2|0;if(l[b>>1]>=l[a>>1]){break a}$a(a,b);break a;case 3:wc(a,a+2|0,b-2|0);break a;case 4:_d(a,a+2|0,a+4|0,b-2|0);break a;case 5:Zd(a,a+2|0,a+4|0,a+6|0,b-2|0);break a;case 0:case 1:break a;default:break b}}e=a+4|0;wc(a,a+2|0,e);d=a+6|0;c:{while(1){g=(b|0)==(d|0);if(g){break c}d:{if(l[d>>1]>1]){i[f+14>>1]=l[d>>1];h=d;while(1){e:{c=e;i[h>>1]=l[c>>1];if((a|0)==(c|0)){c=a;break e}h=c;e=c-2|0;if(l[f+14>>1]>1]){continue}}break}i[c>>1]=l[f+14>>1];j=j+1|0;if((j|0)==8){break d}}e=d;d=d+2|0;continue}break}c=(d+2|0)==(b|0)}c=c|g}M=f+16|0;return c&1}function qc(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0;j=1;i=d&2147483647;m=i;k=c;a:{if(!c&(i|0)==2147418112?a|b:(i|0)==2147418112&(c|0)!=0|i>>>0>2147418112){break a}l=h&2147483647;n=l;i=g;if(!g&(l|0)==2147418112?e|f:(l|0)==2147418112&(g|0)!=0|l>>>0>2147418112){break a}if(!(a|e|(i|k)|(b|f|(m|n)))){return 0}k=d&h;if((k|0)>0?1:(k|0)>=0){j=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>>0|b>>>0>>0:(d|0)<(h|0)?1:(d|0)<=(h|0)?c>>>0>>0:0){break a}return(a^e|c^g)!=0|(b^f|d^h)!=0}j=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>e>>>0|b>>>0>f>>>0:(d|0)>(h|0)?1:(d|0)>=(h|0)?c>>>0>g>>>0:0){break a}j=(a^e|c^g)!=0|(b^f|d^h)!=0}return j}function Ki(a,b){var c=0,d=0,e=0,f=0;c=a+32|0;ua(c,b);j[a+44>>2]=0;d=j[a+48>>2];if(d&8){f=a;e=h[c+11|0];a:{if((e|0)<=-1){b=j[a+32>>2];e=b+j[a+36>>2]|0;break a}b=c;e=(e&255)+b|0}j[f+16>>2]=e;j[a+12>>2]=b;j[a+8>>2]=b;j[a+44>>2]=e}b:{if(!(d&16)){break b}d=c;b=h[c+11|0];c:{if((b|0)>=0){b=b&255;j[a+44>>2]=c+b;e=10;break c}b=j[a+36>>2];j[a+44>>2]=b+j[a+32>>2];e=(j[a+40>>2]&2147483647)-1|0}Wa(d,e);d=h[c+11|0];d:{if((d|0)<=-1){c=j[a+32>>2];d=j[a+36>>2];break d}d=d&255}j[a+20>>2]=c;j[a+24>>2]=c;j[a+28>>2]=c+d;if(!(k[a+48|0]&3)){break b}e:{if((b|0)<=-1){b=b-2147483647|0;d=(b|0)<0;c=d?c-2|0:c+2147483647|0;b=d?1:b;break e}if(!b){break b}}j[a+24>>2]=b+c}}function rd(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0;i=M-16|0;M=i;f=d?d:148904;d=j[f>>2];a:{b:{c:{if(!b){if(d){break c}break a}e=-2;if(!c){break a}l=a?a:i+12|0;d:{if(d){a=c;break d}a=k[b|0];d=a<<24>>24;if((d|0)>=0){j[l>>2]=a;e=(d|0)!=0;break a}a=h[b|0];if(!j[j[37179]>>2]){j[l>>2]=a&57343;e=1;break a}a=(a&255)-194|0;if(a>>>0>50){break c}d=j[(a<<2)+123312>>2];a=c-1|0;if(!a){break b}b=b+1|0}g=k[b|0];m=g>>>3|0;if((m-16|(d>>26)+m)>>>0>7){break c}while(1){a=a-1|0;d=g-128|d<<6;if((d|0)>=0){j[f>>2]=0;j[l>>2]=d;e=c-a|0;break a}if(!a){break b}b=b+1|0;g=k[b|0];if((g&192)==128){continue}break}}j[f>>2]=0;j[37203]=25;e=-1;break a}j[f>>2]=d}M=i+16|0;return e}function Qb(a,b,c,d,e){var f=0,g=0,h=0,i=0;g=M-16|0;M=g;j[g+8>>2]=b;a:{if(Ra(a,g+8|0)){j[c>>2]=j[c>>2]|6;b=0;break a}h=d;b=j[a>>2];f=j[b+12>>2];b:{if((f|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break b}b=j[f>>2]}if(!(O[j[j[d>>2]+12>>2]](h,2048,b)|0)){j[c>>2]=j[c>>2]|4;b=0;break a}b=O[j[j[d>>2]+52>>2]](d,b,0)|0;while(1){c:{Na(a);b=b-48|0;if(!kb(a,g+8|0)|(e|0)<2){break c}h=d;f=j[a>>2];i=j[f+12>>2];d:{if((i|0)==j[f+16>>2]){f=O[j[j[f>>2]+36>>2]](f)|0;break d}f=j[i>>2]}if(!(O[j[j[d>>2]+12>>2]](h,2048,f)|0)){break a}e=e-1|0;b=(O[j[j[d>>2]+52>>2]](d,f,0)|0)+p(b,10)|0;continue}break}if(!Ra(a,g+8|0)){break a}j[c>>2]=j[c>>2]|2}M=g+16|0;return b}function Lf(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;g=M-16|0;M=g;f=h[a+15|0];e=j[a+8>>2];a:{if((f|0)<=-1){break a}e=f&255}f=c-e|0;b:{c:{if(!j[j[a+64>>2]+4484>>2]|f?(f|0)<=0:0){break c}i=k[a+28|0];c=h[a+27|0];e=j[a+20>>2];d:{if((c|0)<=-1){break d}e=c&255}if(i>>>0>e+f>>>0){break c}c=ha(g,a+16|0);e=c;i=b;b=h[a+15|0];l=j[a+8>>2];e:{if((b|0)<=-1){break e}l=b&255}$(e,i+l|0);f:{g:{if(!Vc(a,h[c+11|0]<0?j[c>>2]:g)){break g}b=h[a+27|0];e=j[a+20>>2];h:{if((b|0)<=-1){break h}e=b&255}b=e;if(!(h[a+29|0]&1)){break g}a=eb(j[a+64>>2],h[c+11|0]<0?j[c>>2]:g,b+f|0,1,a,d);b=0;if(a){break f}}a=0;b=1}if(h[c+11|0]<=-1){T(j[c>>2])}if(!b){break b}}a=0}M=g+16|0;return a}function Sp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=M-16|0;M=f;a:{e=W(c);if(!((e|0)<5|!j[a+44>>2])){p=e-2|0;q=c+e|0;r=c^-1;m=1;i=2;e=0;while(1){g=e;n=n+1|0;e=0;l=c+i|0;b:{if(k[l|0]!=k[l-2|0]){break b}e=g+1|0;if((e|0)!=2|i>>>0<4?(e|0)!=3:0){break b}g=l+r|0;if(g>>>0>=4294967280){break a}c:{if(g>>>0<=10){h[f+11|0]=g;e=f;break c}o=g+16&-16;e=U(o);j[f+8>>2]=o|-2147483648;j[f>>2]=e;j[f+4>>2]=g}s=V(e,c,n)+m|0,t=0,h[s|0]=t;e=k[f+11|0];g=e<<24>>24<0;Jh(f,(g?j[f>>2]:f)+(g?j[f+4>>2]:e)|0,l+1|0,q);wa(a,b,f,d,0,0);if(h[f+11|0]<=-1){T(j[f>>2])}e=0}m=m+1|0;i=i+1|0;if((n|0)!=(p|0)){continue}break}}M=f+16|0;return}X();z()}function of(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,j=0;f=M-16|0;M=f;c=1;a:{b:{switch(b-a|0){case 2:b=b-1|0;if(h[b|0]>=h[a|0]){break a}Xa(a,b);break a;case 3:xc(a,a+1|0,b-1|0);break a;case 4:ae(a,a+1|0,a+2|0,b-1|0);break a;case 5:$d(a,a+1|0,a+2|0,a+3|0,b-1|0);break a;case 0:case 1:break a;default:break b}}e=a+2|0;xc(a,a+1|0,e);d=a+3|0;c:{while(1){g=(b|0)==(d|0);if(g){break c}d:{if(h[d|0]>2];b=(d>>>0)/341|0;c=j[a+4>>2];f=j[a+8>>2];a:{if((c|0)==(f|0)){g=a+20|0;break a}g=a+20|0;e=(b<<2)+c|0;b=j[e>>2]+p(d-p(b,341)|0,12)|0;d=d+j[a+20>>2]|0;i=(d>>>0)/341|0;d=j[(i<<2)+c>>2]+p(d-p(i,341)|0,12)|0;if((b|0)==(d|0)){break a}while(1){if(h[b+11|0]<=-1){T(j[b>>2])}b=b+12|0;if((b-j[e>>2]|0)==4092){b=j[e+4>>2];e=e+4|0}if((b|0)!=(d|0)){continue}break}c=j[a+4>>2];f=j[a+8>>2]}j[g>>2]=0;b=f-c>>2;if(b>>>0>2){while(1){T(j[c>>2]);c=j[a+4>>2]+4|0;j[a+4>>2]=c;b=j[a+8>>2]-c>>2;if(b>>>0>2){continue}break}}c=170;b:{switch(b-1|0){case 1:c=341;case 0:j[a+16>>2]=c;break;default:break b}}}function ro(a,b){var c=0,d=0,e=0,f=0;a:{d=j[a>>2];if((j[a+8>>2]-d|0)/12>>>0>=b>>>0){break a}b:{c:{if(b>>>0<357913942){c=j[a+4>>2];e=p(b,12);b=U(e);f=b+e|0;e=b+p((c-d|0)/12|0,12)|0;if((c|0)==(d|0)){break c}b=e;while(1){b=b-12|0;j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;c=c-12|0;j[b>>2]=j[c>>2];j[b+4>>2]=j[c+4>>2];j[b+8>>2]=j[c+8>>2];j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;if((c|0)!=(d|0)){continue}break}j[a+8>>2]=f;c=j[a+4>>2];j[a+4>>2]=e;d=j[a>>2];j[a>>2]=b;if((c|0)==(d|0)){break b}while(1){a=c-12|0;b=j[a>>2];if(b){j[c-8>>2]=b;T(b)}c=a;if((d|0)!=(c|0)){continue}break}break b}D();z()}j[a+8>>2]=f;j[a+4>>2]=e;j[a>>2]=e}if(!d){break a}T(d)}}function Ep(a){var b=0,c=0,d=0,e=0;b=j[a>>2];e=a+4|0;if((b|0)!=(e|0)){while(1){d=b;Me(j[b+28>>2]);c=j[b+4>>2];a:{if(!c){b=j[d+8>>2];if((d|0)==j[b>>2]){break a}c=d+8|0;while(1){d=j[c>>2];c=d+8|0;b=j[d+8>>2];if((d|0)!=j[b>>2]){continue}break}break a}while(1){b=c;c=j[b>>2];if(c){continue}break}}if((b|0)!=(e|0)){continue}break}}Cd(a,j[a+4>>2]);j[a>>2]=e;j[a+4>>2]=0;j[a+8>>2]=0;kp(a+12|0);c=j[a+16>>2];b=j[a+20>>2];b:{if((c|0)==(b|0)){break b}while(1){T(j[c>>2]);c=c+4|0;if((b|0)!=(c|0)){continue}break}b=j[a+20>>2];c=j[a+16>>2];if((b|0)==(c|0)){break b}j[a+20>>2]=b+(((b-c|0)-4>>>2^-1)<<2)}b=j[a+12>>2];if(b){T(b)}Cd(a,j[a+4>>2])}function $p(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0;e=M-16|0;M=e;a:{f=W(c);if(f>>>0<4294967280){b:{c:{if(f>>>0>=11){i=f+16&-16;g=U(i);j[e+8>>2]=i|-2147483648;j[e>>2]=g;j[e+4>>2]=f;i=e;break c}h[e+11|0]=f;i=e;g=e;if(!f){break b}}V(g,c,f)}h[f+g|0]=0;c=k[i+11|0];g=c<<24>>24;if(((g|0)<0?j[e+4>>2]:c)>>>0<2){break a}f=0;while(1){d:{if(g<<24>>24<=-1){l=j[e+4>>2];if(l>>>0<=f>>>0){break a}c=j[e>>2];l=l+(f^-1)|0;g=c+l|0;break d}c=g&255;if(c>>>0<=f>>>0){break a}l=c+(f^-1)|0;g=l+e|0;c=e}m=h[g|0];xb(e,g-c|0,1);wa(a,b,e,d,0,0);kf(e,(h[i+11|0]<0?j[e>>2]:e)+l|0,m);f=f+1|0;g=k[i+11|0];continue}}X();z()}if(g<<24>>24<=-1){T(j[e>>2])}M=e+16|0}function wq(a,b){a=a|0;b=b|0;var c=0;O[j[j[a>>2]+24>>2]](a)|0;b=Hb(b,149140);j[a+68>>2]=b;c=k[a+98|0];b=O[j[j[b>>2]+28>>2]](b)|0;h[a+98|0]=b;if((b|0)!=(c|0)){j[a+8>>2]=0;j[a+12>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;c=k[a+96|0];if(b){a:{if(!c){break a}b=j[a+32>>2];if(!b){break a}T(b)}h[a+96|0]=k[a+97|0];j[a+52>>2]=j[a+60>>2];b=j[a+56>>2];j[a+56>>2]=0;j[a+60>>2]=0;j[a+32>>2]=b;h[a+97|0]=0;return}b:{if(c){break b}b=j[a+32>>2];if((b|0)==(a+44|0)){break b}h[a+97|0]=0;j[a+56>>2]=b;b=j[a+52>>2];j[a+60>>2]=b;b=U(b);h[a+96|0]=1;j[a+32>>2]=b;return}b=j[a+52>>2];j[a+60>>2]=b;b=U(b);h[a+97|0]=1;j[a+56>>2]=b}}function rp(a,b,c){var d=0,e=0,f=0;e=j[c>>2]+4|0;a:{b:{f=j[a+4>>2];c:{if(!f){d=e>>>0>1e3?e:1e3;j[a+8>>2]=d;d=ja(d);j[a+16>>2]=0;j[a+4>>2]=d;break c}d=j[a+8>>2];e=e+j[a+16>>2]|0;if(d>>>0>=e>>>0){break b}while(1){d=d<<1;if(e>>>0>d>>>0){continue}break}j[a+8>>2]=d;d=vc(f,d);if(d){j[a+4>>2]=d;d=d+j[a+16>>2]|0;break c}d=ja(j[a+8>>2]);e=j[a+4>>2];d=V(d,e,j[a+16>>2]);T(e);j[a+4>>2]=d;d=d+j[a+16>>2]|0}j[a+12>>2]=d;break a}d=j[a+12>>2]}e=j[c>>2];h[d|0]=e;h[d+1|0]=e>>>8;h[d+2|0]=e>>>16;h[d+3|0]=e>>>24;d=j[a+12>>2]+4|0;j[a+12>>2]=d;j[a+16>>2]=j[a+16>>2]+4;V(d,b,j[c>>2]);b=j[c>>2];j[a+12>>2]=b+j[a+12>>2];j[a+16>>2]=b+j[a+16>>2]}function Xc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;h=j[c+4>>2];d=j[c>>2];i=h-d|0;l=i>>1;m=j[b+4>>2];e=j[b>>2];n=m-e|0;o=n>>1;if(!j[a+76>>2]){f=(d|0)!=(h|0)?k[d|0]|k[d+1|0]<<8:f;g=(e|0)!=(m|0)?k[e|0]|k[e+1|0]<<8:g;a:{if((f|0)!=(g|0)){d=0;if((Xe(f,j[a+60>>2])|0)!=(g|0)){break a}}d=1;if((n|0)<3|(i|0)<3){break a}a=j[c>>2];b=j[b>>2];while(1){c=d<<1;e=c+b|0;c=a+c|0;if(k[e|0]!=k[c|0]|k[e+1|0]!=k[c+1|0]){break a}d=d+1|0;if((o|0)<=(d|0)){break a}if((d|0)<(l|0)){continue}break}}return d}a=((o<<1)+e|0)-2|0;a=k[a|0]|k[a+1|0]<<8;b=(d+(l<<1)|0)-2|0;b=k[b|0]|k[b+1|0]<<8;return(a&255)==(b&255)&(a>>>8|0)==(b>>>8|0)}function rh(a,b,c,d,e){var f=0,g=0,i=0;f=M-208|0;M=f;j[f+204>>2]=c;ya(f+160|0,0,40);j[f+200>>2]=j[f+204>>2];a:{if((Ce(0,b,f+200|0,f+80|0,f+160|0,d,e)|0)<0){b=-1;break a}g=j[a+76>>2]>=0;c=j[a>>2];if(h[a+74|0]<=0){j[a>>2]=c&-33}i=c&32;b:{if(j[a+48>>2]){b=Ce(a,b,f+200|0,f+80|0,f+160|0,d,e);break b}j[a+48>>2]=80;j[a+16>>2]=f+80;j[a+28>>2]=f;j[a+20>>2]=f;c=j[a+44>>2];j[a+44>>2]=f;d=Ce(a,b,f+200|0,f+80|0,f+160|0,d,e);b=d;if(!c){break b}O[j[a+36>>2]](a,0,0)|0;j[a+48>>2]=0;j[a+44>>2]=c;j[a+28>>2]=0;j[a+16>>2]=0;b=j[a+20>>2];j[a+20>>2]=0;b=b?d:-1}c=a;a=j[a>>2];j[c>>2]=a|i;b=a&32?-1:b;if(!g){break a}}M=f+208|0;return b}function Pe(a,b,c,d,e,f){var g=0,i=0,l=0,m=0,n=0;g=M-16|0;M=g;a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}j[c+4>>2]=j[c>>2];j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;Sh(a,g,d);d=h[g+11|0]<0?j[g>>2]:g;while(1){l=d;d=d+1|0;if(k[l|0]==32){continue}break}j[f>>2]=0;m=e;d=W(l);e=0;b:{if((d|0)<1){break b}e=l-1|0;c:{while(1){if(k[d+e|0]!=46){break c}i=i+1|0;j[f>>2]=i;n=(d|0)>1;d=d-1|0;if(n){continue}break}i=0;e=0;break b}aa(b,l,d);d=k[b+11|0];i=d<<24>>24<0?j[b+4>>2]:d;if(j[a+44>>2]){ia(c,b);e=Mc(c,j[a+40>>2]);break b}e=Nc(b,j[a+36>>2])}j[m>>2]=e;if(h[g+11|0]<=-1){T(j[g>>2])}M=g+16|0;return i}function id(a,b,c){var d=0,e=0,f=0,g=0;d=M-16|0;M=d;e=0;a:{if((c|0)<3){break a}b:{f=W(b);if(f>>>0<4294967280){c:{d:{if(f>>>0>=11){c=f+16&-16;e=U(c);j[d+8>>2]=c|-2147483648;j[d>>2]=e;j[d+4>>2]=f;c=d;break d}h[d+11|0]=f;c=d;e=d;if(!f){break c}}V(e,b,f)}h[e+f|0]=0;e=1;while(1){f=h[c+11|0];e:{if((f|0)<=-1){if(m[d+4>>2]>e>>>0){break e}T(j[d>>2]);break b}if((f&255)>>>0<=e>>>0){break b}}f:{if(!((k[b+e|0]&192)==128?j[a+4144>>2]:0)){lf(d,e);f=k[c+11|0];g=f<<24>>24<0;if(tg(a,g?j[d>>2]:d,g?j[d+4>>2]:f)){break f}xb(d,e,1)}e=e+1|0;continue}break}if(h[c+11|0]<=-1){T(j[d>>2])}e=1;break a}X();z()}e=0}M=d+16|0;return e}function un(a,b){var c=0,d=0,e=0;d=b+4|0;if(h[b+15|0]<=-1){c=j[d>>2]}else{c=d}e=((k[b+30|0]<<2)+a|0)+2048|0;j[b+80>>2]=j[e>>2];j[e>>2]=b;a:{if(!k[c|0]){j[b+68>>2]=j[a>>2];break a}j[b+72>>2]=0;j[b+76>>2]=0;a=(k[c|0]<<2)+a|0;c=j[a>>2];if(!c){break a}b:{c:{if(h[d+11|0]>-1){while(1){a=c;c=a+4|0;e=d;if(h[a+15|0]<=-1){c=j[c>>2]}if((ba(e,c)|0)<=0){c=j[a+72>>2];if(c){continue}break c}c=j[a+76>>2];if(c){continue}break b}}d=j[d>>2];while(1){a=c;c=a+4|0;e=d;if(h[a+15|0]<0){c=j[c>>2]}if((ba(e,c)|0)>=1){c=j[a+76>>2];if(c){continue}break b}c=j[a+72>>2];if(c){continue}break}}a=a+72|0;break a}a=a+76|0}j[a>>2]=b}function aq(a,b,c,d,e){var f=0,g=0,l=0,m=0;f=M-32|0;M=f;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;a:{if(d){if((d|0)<=-1){break a}m=d<<1;g=U(m);j[f+16>>2]=g;l=(d<<1)+g|0;j[f+24>>2]=l;V(g,c,m);j[f+20>>2]=l}c=l-g|0;if(!(c>>1>>>0<2|!c)){c=c>>1;d=0;while(1){m=(d^-1)+c<<1;c=m+g|0;i[f+14>>1]=k[c|0]|k[c+1|0]<<8;g=l;l=c+2|0;g=g-l|0;if(g){Ja(c,l,g)}j[f+20>>2]=c+g;j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;da(f,f+16|0);wa(a,b,f,e,0,0);Kh(f+16|0,m+j[f+16>>2]|0,f+14|0);if(h[f+11|0]<=-1){T(j[f>>2])}l=j[f+20>>2];g=j[f+16>>2];c=l-g>>1;d=d+1|0;if(c>>>0>d>>>0){continue}break}}if(g){j[f+20>>2]=g;T(g)}M=f+32|0;return}X();z()}function _n(a,b){var c=0,d=0,e=0,f=0,g=0;a:{d=j[a>>2];if((j[a+8>>2]-d|0)/12>>>0>=b>>>0){break a}b:{c:{if(b>>>0<357913942){c=j[a+4>>2];e=p(b,12);b=U(e);f=b+e|0;e=b+p((c-d|0)/12|0,12)|0;if((c|0)==(d|0)){break c}b=e;while(1){c=c-12|0;g=j[c+4>>2];b=b-12|0;j[b>>2]=j[c>>2];j[b+4>>2]=g;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;if((c|0)!=(d|0)){continue}break}j[a+8>>2]=f;c=j[a+4>>2];j[a+4>>2]=e;d=j[a>>2];j[a>>2]=b;if((c|0)==(d|0)){break b}while(1){a=c-12|0;if(h[c-1|0]<=-1){T(j[a>>2])}c=a;if((d|0)!=(c|0)){continue}break}break b}D();z()}j[a+8>>2]=f;j[a+4>>2]=e;j[a>>2]=e}if(!d){break a}T(d)}}function Ha(a,b){var c=0,d=0,e=0;c=M-32|0;M=c;a:{b:{c:{switch(j[a+8>>2]-1|0){case 0:a=k[b|0]|k[b+1|0]<<8;b=a<<8|a>>>8;break b;case 1:b=ta(b);break b;case 2:j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;d=W(b);if(d>>>0>=4294967280){break a}d:{e:{if(d>>>0>=11){a=d+16&-16;e=U(a);j[c+8>>2]=a|-2147483648;j[c>>2]=e;j[c+4>>2]=d;a=c;break e}h[c+11|0]=d;a=c;e=c;if(!d){break d}}V(e,b,d)}h[d+e|0]=0;ia(c+16|0,c);if(h[a+11|0]<=-1){T(j[c>>2])}a=j[c+16>>2];f:{if((a|0)!=j[c+20>>2]){b=k[a|0]|k[a+1|0]<<8;break f}b=0;if(!a){break b}}j[c+20>>2]=a;T(a);break b;default:break c}}b=k[b|0]}M=c+32|0;return b&65535}X();z()}function _h(){var a=0,b=0,c=0,d=0,e=0;j[37198]=j[37198]+1;if(!j[37199]){d=U(393216);j[37199]=d;while(1){a=p(b,6)+d|0;i[a+4>>1]=b;h[a|0]=0;i[a+2>>1]=b;a=b|1;c=p(a,6)+d|0;i[c+4>>1]=a;h[c|0]=0;i[c+2>>1]=a;a=b|2;c=p(a,6)+d|0;i[c+4>>1]=a;h[c|0]=0;i[c+2>>1]=a;a=b|3;c=p(a,6)+d|0;i[c+4>>1]=a;h[c|0]=0;i[c+2>>1]=a;b=b+4|0;if((b|0)!=65536){continue}break}while(1){a=p(e,6);b=p(l[a+2256>>1],6)+d|0;h[b|0]=1;a=a+2258|0;a=l[a>>1]|l[a+2>>1]<<16;i[b+2>>1]=a;i[b+4>>1]=a>>>16;a=p(e|1,6);b=p(l[a+2256>>1],6)+d|0;h[b|0]=1;a=j[a+2258>>2];i[b+2>>1]=a;i[b+4>>1]=a>>>16;e=e+2|0;if((e|0)!=19672){continue}break}}}function cf(a,b,c,d,e,f,g,h){var i=0,l=0,n=0;i=M-16|0;M=i;if((b^-1)+1073741807>>>0>=c>>>0){if(k[a+11|0]>>>7|0){n=j[a>>2]}else{n=a}a:{if(b>>>0<536870887){j[i+8>>2]=b<<1;j[i+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=i+8|0;l=i+12|0;c=j[(m[l>>2]>2]?c:l)>>2];if(c>>>0>=2){l=c+4&-4;c=l-1|0;c=(c|0)==2?l:c}else{c=1}break a}c=1073741806}l=c+1|0;c=Rc(l);if(e){sc(c,n,e)}if(g){sc(c+(e<<2)|0,h,g)}d=d-f|0;h=d-e|0;if(h){e=e<<2;sc((e+c|0)+(g<<2)|0,(e+n|0)+(f<<2)|0,h)}if((b|0)!=1){T(n)}j[a>>2]=c;j[a+8>>2]=l|-2147483648;b=a;a=d+g|0;j[b+4>>2]=a;j[i+4>>2]=0;j[c+(a<<2)>>2]=j[i+4>>2];M=i+16|0;return}X();z()}function kl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=M-32|0;M=b;e=ga(b+16|0);d=b+8|0;c=d;j[c+4>>2]=0;j[c>>2]=134060;j[c>>2]=128412;j[c>>2]=128880;j[c>>2]=128996;c=M-16|0;M=c;j[c+8>>2]=e;M=c+16|0;g=j[c+8>>2];if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}h=c;if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}jl(d,g,h,c+(f<<2)|0);if(k[e+11|0]>>>7|0){c=j[e>>2]}else{c=e}d=ga(a);a=b+8|0;f=a;j[f+4>>2]=0;j[f>>2]=134060;j[f>>2]=128412;j[f>>2]=128880;j[f>>2]=129092;f=M-16|0;M=f;j[f+8>>2]=d;M=f+16|0;il(a,j[f+8>>2],c,W(c)+c|0);Y(e);M=b+32|0}function Bm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=M-48|0;M=f;j[f+40>>2]=b;a:{if(!(j[c+4>>2]&1)){c=O[j[j[a>>2]+24>>2]](a,b,c,d,e)|0;break a}a=j[c+28>>2];j[f+24>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=Bc(f+24|0);b=j[f+24>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b:{if(e){O[j[j[a>>2]+24>>2]](f+24|0,a);break b}O[j[j[a>>2]+28>>2]](f+24|0,a)}g=f,h=qb(f+24|0),j[g+16>>2]=h;while(1){g=f,h=ic(f+24|0),j[g+8>>2]=h;if(j[f+16>>2]==j[f+8>>2]^1){ah(f+40|0,j[j[f+16>>2]>>2]);j[f+16>>2]=j[f+16>>2]+4;continue}else{c=j[f+40>>2];Y(f+24|0)}break}}M=f+48|0;return c|0}function Lm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0;f=M-48|0;M=f;j[f+40>>2]=b;a:{if(!(j[c+4>>2]&1)){c=O[j[j[a>>2]+24>>2]](a,b,c,d,e)|0;break a}a=j[c+28>>2];j[f+24>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=Dc(f+24|0);b=j[f+24>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b:{if(e){O[j[j[a>>2]+24>>2]](f+24|0,a);break b}O[j[j[a>>2]+28>>2]](f+24|0,a)}g=f,i=qb(f+24|0),j[g+16>>2]=i;while(1){g=f,i=kc(f+24|0),j[g+8>>2]=i;if(j[f+16>>2]==j[f+8>>2]^1){bh(f+40|0,h[j[f+16>>2]]);j[f+16>>2]=j[f+16>>2]+1;continue}else{c=j[f+40>>2];Y(f+24|0)}break}}M=f+48|0;return c|0}function ji(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,l=0,m=0,n=0,o=0,p=0;if(zb(a,j[b+8>>2],f)){Rd(b,c,d,e);return}l=k[b+53|0];g=j[a+12>>2];h[b+53|0]=0;m=k[b+52|0];h[b+52|0]=0;n=a+16|0;Qd(n,b,c,d,e,f);o=k[b+53|0];l=l|o;p=k[b+52|0];m=m|p;a:{if((g|0)<2){break a}n=n+(g<<3)|0;g=a+24|0;while(1){if(k[b+54|0]){break a}b:{if(p){if(j[b+24>>2]==1){break a}if(k[a+8|0]&2){break b}break a}if(!o){break b}if(!(h[a+8|0]&1)){break a}}i[b+52>>1]=0;Qd(g,b,c,d,e,f);o=k[b+53|0];l=o|l;p=k[b+52|0];m=p|m;g=g+8|0;if(n>>>0>g>>>0){continue}break}}h[b+53|0]=(l&255)!=0;h[b+52|0]=(m&255)!=0}function Mj(){var a=0;a:{if(h[150016]&1){break a}if(!Ma(150016)){break a}a=149728;while(1){a=ga(a)+12|0;if((a|0)!=150016){continue}break}La(150016)}oa(149728,132996);oa(149740,133004);oa(149752,133013);oa(149764,133019);oa(149776,133025);oa(149788,133029);oa(149800,133034);oa(149812,133039);oa(149824,133046);oa(149836,133056);oa(149848,133064);oa(149860,133073);oa(149872,133082);oa(149884,133086);oa(149896,133090);oa(149908,133094);oa(149920,133025);oa(149932,133098);oa(149944,133102);oa(149956,133106);oa(149968,133110);oa(149980,133114);oa(149992,133118);oa(150004,133122)}function Jj(){var a=0;a:{if(h[150320]&1){break a}if(!Ma(150320)){break a}a=150032;while(1){a=ga(a)+12|0;if((a|0)!=150320){continue}break}La(150320)}na(150032,133128);na(150044,133160);na(150056,133196);na(150068,133220);na(150080,133244);na(150092,133260);na(150104,133280);na(150116,133300);na(150128,133328);na(150140,133368);na(150152,133400);na(150164,133436);na(150176,133472);na(150188,133488);na(150200,133504);na(150212,133520);na(150224,133244);na(150236,133536);na(150248,133552);na(150260,133568);na(150272,133584);na(150284,133600);na(150296,133616);na(150308,133632)}function zd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{f=j[a+4>>2];b:{if((f|0)!=j[a>>2]){c=f;break b}e=j[a+8>>2];c=j[a+12>>2];if(e>>>0>>0){d=((c-e>>2)+1|0)/2<<2;c=d+e|0;g=e-f|0;if(g){c=c-g|0;Ja(c,f,g);e=j[a+8>>2]}j[a+4>>2]=c;j[a+8>>2]=e+d;break b}c=c-f|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;h=U(c);g=h+c|0;c=(d+3&-4)+h|0;i=c;d=e-f|0;if(d){i=c+d|0;e=c;d=f;while(1){j[e>>2]=j[d>>2];d=d+4|0;e=e+4|0;if((i|0)!=(e|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=i;j[a+4>>2]=c;j[a>>2]=h;if(!f){break b}T(f);c=j[a+4>>2]}j[c-4>>2]=j[b>>2];j[a+4>>2]=j[a+4>>2]-4;return}D();z()}function vq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;j[a+8>>2]=0;j[a+12>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;a:{if(!k[a+96|0]){break a}d=j[a+32>>2];if(!d){break a}T(d)}b:{if(!k[a+97|0]){break b}d=j[a+56>>2];if(!d){break b}T(d)}j[a+52>>2]=c;e=a;c:{d:{e:{if(c>>>0>=9){d=k[a+98|0];if(!(!b|!d)){h[a+96|0]=0;j[a+32>>2]=b;break d}f=U(c);h[a+96|0]=1;j[a+32>>2]=f;break e}h[a+96|0]=0;j[a+52>>2]=8;j[a+32>>2]=a+44;d=k[a+98|0]}if(d){break d}d=(c|0)>8?c:8;j[a+60>>2]=d;c=0;if(b){break c}b=U(d);c=1;break c}b=0;j[a+60>>2]=0;c=0}h[e+97|0]=c;j[a+56>>2]=b;return a|0}function Hc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;g=a+4|0;a=j[a+4>>2];a:{b:{if(!a){break b}d=k[b+11|0];c=d<<24>>24<0;i=c?j[b>>2]:b;e=c?j[b+4>>2]:d;c=g;while(1){b=k[a+27|0];l=b<<24>>24<0;h=l?j[a+20>>2]:b;f=h>>>0>e>>>0;d=f?e:h;c:{if(d){b=a+16|0;b=qa(l?j[b>>2]:b,i,d);if(b){break c}}b=e>>>0>h>>>0?-1:f}c=(b|0)<0?c:a;a=j[(b>>>29&4)+a>>2];if(a){continue}break}if((c|0)==(g|0)){break b}a=k[c+27|0];f=a<<24>>24<0;d:{d=f?j[c+20>>2]:a;b=d>>>0>>0?d:e;if(b){a=c+16|0;a=qa(i,f?j[a>>2]:a,b);if(a){break d}}if(d>>>0>e>>>0){break b}break a}if((a|0)>-1){break a}}c=g}return c}function Tq(a){var b=0,c=0,d=0,e=0;b=j[a+16>>2];if(b){T(kq(b))}b=j[a>>2];if(b){T(Jo(b))}c=j[a+4>>2];e=j[a+8>>2];if((c|0)!=(e|0)){while(1){b=j[(d<<2)+c>>2];if(b){T(dr(b));e=j[a+8>>2];c=j[a+4>>2]}d=d+1|0;if(d>>>0>2>>>0){continue}break}}j[a+36>>2]=0;j[a>>2]=0;j[a+16>>2]=0;b=j[a+20>>2];if(b){T(b)}j[a+20>>2]=0;d=j[a+52>>2];if(d){b=d;c=j[a+56>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){b=c-12|0;if(h[c-1|0]<=-1){T(j[b>>2])}c=b;if((b|0)!=(d|0)){continue}break}e=j[a+52>>2]}b=e;j[a+56>>2]=d;T(b)}if(h[a+35|0]<=-1){T(j[a+24>>2])}b=j[a+4>>2];if(b){j[a+8>>2]=b;T(b)}}function yp(a,b,c){var d=0,e=0,f=0,g=0;d=M-32|0;M=d;a:{f=j[b>>2];e=W(f);if(e>>>0<4294967280){b:{c:{if(e>>>0>=11){g=e+16&-16;b=U(g);j[d+24>>2]=g|-2147483648;j[d+16>>2]=b;j[d+20>>2]=e;break c}h[d+27|0]=e;b=d+16|0;if(!e){break b}}V(b,f,e)}h[b+e|0]=0;f=j[c>>2];e=W(f);if(e>>>0>=4294967280){break a}d:{e:{if(e>>>0>=11){c=e+16&-16;b=U(c);j[d+8>>2]=c|-2147483648;j[d>>2]=b;j[d+4>>2]=e;c=d;break e}h[d+11|0]=e;c=d;b=d;if(!e){break d}}V(b,f,e)}h[b+e|0]=0;a=xp(a,d+16|0,d);if(h[c+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}M=d+32|0;return(a|0)!=0}X();z()}X();z()}function Ad(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{e=j[a+8>>2];b:{if((e|0)!=j[a+12>>2]){break b}f=j[a+4>>2];g=j[a>>2];if(f>>>0>g>>>0){g=((f-g>>2)+1|0)/-2<<2;c=g+f|0;d=e-f|0;if(d){Ja(c,f,d);f=j[a+4>>2]}e=c+d|0;j[a+8>>2]=e;j[a+4>>2]=f+g;break b}c=e-g|0;c=c?c>>1:1;if(c>>>0>=1073741824){break a}d=c<<2;h=U(d);i=h+d|0;d=e-f|0;c=(c&-4)+h|0;e=c;if(d){e=c+d|0;d=c;while(1){j[d>>2]=j[f>>2];f=f+4|0;d=d+4|0;if((e|0)!=(d|0)){continue}break}}j[a+12>>2]=i;j[a+8>>2]=e;j[a+4>>2]=c;j[a>>2]=h;if(!g){break b}T(g);e=j[a+8>>2]}j[e>>2]=j[b>>2];j[a+8>>2]=j[a+8>>2]+4;return}D();z()}function Gp(a){var b=0,c=0,d=0;j[a+52>>2]=0;b=j[37200];if((b|0)!=148804){while(1){d=b;b=j[b+28>>2];if(b){c=j[b>>2];if(c){T(c);j[b>>2]=0}T(b)}c=j[d+4>>2];a:{if(!c){b=j[d+8>>2];if((d|0)==j[b>>2]){break a}d=d+8|0;while(1){c=j[d>>2];d=c+8|0;b=j[c+8>>2];if((c|0)!=j[b>>2]){continue}break}break a}while(1){b=c;c=j[b>>2];if(c){continue}break}}if((b|0)!=148804){continue}break}}Dd(148800,j[37201]);j[37200]=148804;j[37201]=0;j[37202]=0;j[a+56>>2]=121508;T(j[a+60>>2]);j[a+68>>2]=0;j[a+72>>2]=0;j[a+60>>2]=0;j[a+64>>2]=0;if(h[a+51|0]<=-1){T(j[a+40>>2])}Ep(a);return a}function Ub(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0;f=M-16|0;M=f;Jr(+b);h=Gr(1)|0;e=Gr(0)|0;g=h&2147483647;c=g;d=e;g=c+ -1048576|0;a:{if((g|0)==2145386495|g>>>0<2145386495){i=d<<28;e=c>>>4|0;c=(c&15)<<28|d>>>4;d=e+1006632960|0;break a}if((c|0)==2146435072|c>>>0>2146435072){i=e<<28;c=h;e=c>>>4|0;c=(c&15)<<28|d>>>4;d=e|2147418112;break a}if(!(c|d)){c=0;d=0;break a}g=c;c=c>>>0<1?s(e)+32|0:s(c);mb(f,d,g,0,0,c+49|0);k=j[f>>2];i=j[f+4>>2];e=15372-c<<16;c=j[f+8>>2];d=e|j[f+12>>2]^65536}j[a>>2]=k;j[a+4>>2]=i;j[a+8>>2]=c;j[a+12>>2]=h&-2147483648|d;M=f+16|0}function um(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0;a=M-208|0;M=a;i[a+204>>1]=k[127654]|k[127655]<<8;j[a+200>>2]=k[127650]|k[127651]<<8|(k[127652]<<16|k[127653]<<24);f=ra();j[a>>2]=e;g=fb(a+176|0,20,f,a+200|0,a);f=g+(a+176|0)|0;h=Bb(a+176|0,f,c);e=j[c+28>>2];j[a+16>>2]=e;j[e+4>>2]=j[e+4>>2]+1;l=rb(a+16|0);e=j[a+16>>2];m=j[e+4>>2]-1|0;j[e+4>>2]=m;if((m|0)==-1){O[j[j[e>>2]+8>>2]](e)}O[j[j[l>>2]+48>>2]](l,a+176|0,f,a+16|0)|0;e=b;b=(a+16|0)+(g<<2)|0;b=_b(e,a+16|0,(f|0)==(h|0)?b:((h-a<<2)+a|0)-688|0,b,c,d);M=a+208|0;return b|0}function li(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(zb(a,j[b+8>>2],e)){if(!(j[b+28>>2]==1|j[b+4>>2]!=(c|0))){j[b+28>>2]=d}return}a:{if(zb(a,j[b>>2],e)){if(!(j[b+20>>2]!=(c|0)?j[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}j[b+32>>2]=1;return}j[b+32>>2]=d;b:{if(j[b+44>>2]==4){break b}i[b+52>>1]=0;a=j[a+8>>2];O[j[j[a>>2]+20>>2]](a,b,c,c,1,e);if(k[b+53|0]){j[b+44>>2]=3;if(!k[b+52|0]){break b}break a}j[b+44>>2]=4}j[b+20>>2]=c;j[b+40>>2]=j[b+40>>2]+1;if(j[b+36>>2]!=1|j[b+24>>2]!=2){break a}h[b+54|0]=1;return}a=j[a+8>>2];O[j[j[a>>2]+24>>2]](a,b,c,d,e)}}function Lb(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;j[a+4356>>2]=0;j[a+4360>>2]=0;j[a+4376>>2]=0;e=j[a>>2];a:{if(e){while(1){f=Lf(e,b,c,d);if(f){break a}e=j[e+68>>2];if(e){continue}break}}g=j[(k[b|0]<<2)+a>>2];if(g){while(1){f=g+4|0;f=h[g+15|0]<=-1?j[f>>2]:f;e=k[f|0];b:{if(!e){break b}i=b;if((e|0)!=46&k[b|0]!=(e|0)){break b}while(1){e=k[f+1|0];if(!e){break b}l=k[i+1|0];i=i+1|0;f=f+1|0;if(!((e|0)!=46&(e|0)!=(l|0))){continue}break}}c:{if(!e){i=Lf(g,b,c,d);if(i){j[a+4376>>2]=g;return i}i=g+72|0;break c}i=g+76|0}g=j[i>>2];if(g){continue}break}}f=0}return f}function cd(a,b,c,d,e,f,g,i){var l=0,n=0,o=0;l=M-16|0;M=l;if((b^-1)-17>>>0>=c>>>0){if(k[a+11|0]>>>7|0){o=j[a>>2]}else{o=a}a:{if(b>>>0<2147483623){j[l+8>>2]=b<<1;j[l+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=l+8|0;n=l+12|0;c=j[(m[n>>2]>2]?c:n)>>2];if(c>>>0>=11){n=c+16&-16;c=n-1|0;c=(c|0)==11?n:c}else{c=10}break a}c=-18}n=c+1|0;c=U(n);if(e){ac(c,o,e)}if(g){ac(c+e|0,i,g)}d=d-f|0;i=d-e|0;if(i){ac((c+e|0)+g|0,(e+o|0)+f|0,i)}if((b|0)!=10){T(o)}j[a>>2]=c;j[a+8>>2]=n|-2147483648;b=a;a=d+g|0;j[b+4>>2]=a;h[l+7|0]=0;h[a+c|0]=k[l+7|0];M=l+16|0;return}X();z()}function tp(a,b){var c=0,d=0,e=0,f=0,g=0,i=0;d=M-16|0;M=d;f=j[a+52>>2];c=0;a:{if(!f){break a}b=Gq(f,d+8|0,j[b>>2]);j[a+72>>2]=0;j[a+68>>2]=j[a+60>>2];j[d+12>>2]=0;c=a+56|0;sp(c,d+12|0);b:{if((b|0)<=0){b=j[a+60>>2];c=j[a+72>>2];h[b|0]=c;h[b+1|0]=c>>>8;h[b+2|0]=c>>>16;h[b+3|0]=c>>>24;break b}while(1){f=j[j[d+8>>2]+(e<<2)>>2];g=d,i=W(f),j[g+4>>2]=i;rp(c,f,d+4|0);e=e+1|0;if((b|0)!=(e|0)){continue}break}c=j[a+60>>2];e=j[a+72>>2];h[c|0]=e;h[c+1|0]=e>>>8;h[c+2|0]=e>>>16;h[c+3|0]=e>>>24;if((b|0)<=0){break b}Fq(d+8|0,b)}c=j[a+60>>2]}M=d+16|0;return c}function Am(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127648]|k[127649]<<8;j[a+24>>2]=k[127644]|k[127645]<<8|(k[127646]<<16|k[127647]<<24);jc(a+24|1,127636,1,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;e=g>>>9&1;h=fb(f,e+13|0,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-((e<<3)+107&112)|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Cm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0;a=M-96|0;M=a;i[a+92>>1]=k[127654]|k[127655]<<8;j[a+88>>2]=k[127650]|k[127651]<<8|(k[127652]<<16|k[127653]<<24);f=ra();j[a>>2]=e;g=fb(a- -64|0,20,f,a+88|0,a);f=g+(a- -64|0)|0;h=Bb(a- -64|0,f,c);e=j[c+28>>2];j[a+16>>2]=e;j[e+4>>2]=j[e+4>>2]+1;l=sb(a+16|0);e=j[a+16>>2];m=j[e+4>>2]-1|0;j[e+4>>2]=m;if((m|0)==-1){O[j[j[e>>2]+8>>2]](e)}O[j[j[l>>2]+32>>2]](l,a- -64|0,f,a+16|0)|0;e=b;b=(a+16|0)+g|0;b=$b(e,a+16|0,(f|0)==(h|0)?b:((h-a|0)+a|0)-48|0,b,c,d);M=a+96|0;return b|0}function ri(a){var b=0,c=0,d=0,e=0;b=M+ -64|0;M=b;c=j[a>>2];d=j[c-4>>2];e=j[c-8>>2];j[b+20>>2]=0;j[b+16>>2]=134284;j[b+12>>2]=a;j[b+8>>2]=134332;c=0;ya(b+24|0,0,39);a=a+e|0;a:{if(zb(d,134332,0)){j[b+56>>2]=1;O[j[j[d>>2]+20>>2]](d,b+8|0,a,a,1,0);c=j[b+32>>2]==1?a:0;break a}O[j[j[d>>2]+24>>2]](d,b+8|0,a,1,0);b:{switch(j[b+44>>2]){case 0:c=j[b+48>>2]==1?j[b+36>>2]==1?j[b+40>>2]==1?j[b+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(j[b+32>>2]!=1){if(j[b+48>>2]|j[b+36>>2]!=1|j[b+40>>2]!=1){break a}}c=j[b+24>>2]}M=b- -64|0;return c}function Oe(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=c-b|0;g=f>>1;d=j[a+8>>2];e=j[a>>2];if(g>>>0<=d-e>>1>>>0){d=j[a+4>>2]-e|0;f=d>>1;d=f>>>0>>0?b+d|0:c;h=d-b|0;if(h){Ja(e,b,h)}if(f>>>0>>0){b=j[a+4>>2];c=c-d|0;if((c|0)>=1){b=V(b,d,c)+c|0}j[a+4>>2]=b;return}j[a+4>>2]=e+h;return}if(e){j[a+4>>2]=e;T(e);j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;d=0}a:{if((f|0)<=-1){break a}c=d>>1>>>0<1073741823?d>>>0>>0?g:d:2147483647;if((c|0)<=-1){break a}e=c<<1;c=U(e);j[a>>2]=c;j[a+4>>2]=c;j[a+8>>2]=c+e;if((f|0)>=1){c=V(c,b,f)+f|0}j[a+4>>2]=c;return}X();z()}function kf(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0;d=M-32|0;M=d;h[d+23|0]=c;j[d+24>>2]=b;i=d,l=qb(a),j[i+16>>2]=l;e=j[d+24>>2]-j[d+16>>2]|0;b=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}a:{if((b|0)==(c|0)){pb(a,c,1,c,e,0,1);b=j[a>>2];break a}if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}f=c-e|0;if(!f){break a}g=b+e|0;Kb(g+1|0,g,f)}h[b+e|0]=k[d+23|0];h[d+15|0]=0;f=b;b=c+1|0;h[f+b|0]=k[d+15|0];b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}i=d,l=qb(a),j[i+8>>2]=l;le(d+8|0,e);M=d+32|0}function Km(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127648]|k[127649]<<8;j[a+24>>2]=k[127644]|k[127645]<<8|(k[127646]<<16|k[127647]<<24);jc(a+24|1,127636,1,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;h=fb(f,(g>>>9&1)+13|0,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-32|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;od(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function We(a,b,c,d){var e=0,f=0,g=0,i=0;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;g=k[b+28|0]>d>>>0;f=h[b+27|0];e=j[b+20>>2];a:{if((f|0)<=-1){break a}e=f&255}b:{if(g|(!j[j[b+64>>2]+4484>>2]|d?e>>>0>=d>>>0:0)){break b}i=c+d|0;if(!Jd(b,i,c)){break b}e=b+16|0;g=k[e+11|0];f=g<<24>>24;c:{d:{if((f|0)<=-1){g=j[b+20>>2];if(!g){break c}f=j[e>>2];break d}if(!f){break c}f=e}if(ba(i-g|0,f)){break b}}Ka(a,c);f=a;c=h[e+11|0];e=j[b+20>>2];e:{if((c|0)<=-1){break e}e=c&255}c=k[b+15|0];a=c<<24>>24<0;oc(f,d-e|0,-1,a?j[b+4>>2]:b+4|0,a?j[b+8>>2]:c)}}function ym(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127648]|k[127649]<<8;j[a+24>>2]=k[127644]|k[127645]<<8|(k[127646]<<16|k[127647]<<24);jc(a+24|1,127636,0,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;h=fb(f,g>>>9&1|12,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-96|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Hm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127648]|k[127649]<<8;j[a+24>>2]=k[127644]|k[127645]<<8|(k[127646]<<16|k[127647]<<24);jc(a+24|1,127636,0,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;h=fb(f,g>>>9&1|12,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-32|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;od(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function ka(a,b){var c=0,d=0,e=0,f=0,g=0;c=M-32|0;M=c;e=j[a>>2];f=j[a+4>>2];d=k[a+11|0];i[c>>1]=2336;h[c+11|0]=2;h[c+2|0]=0;g=a;a=d<<24>>24<0;d=(a?e:g)+(a?f:d)|0;f=ha(c+16|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}a=j[b>>2];a:{if((d|0)==(a|0)){a=d;break a}b:{while(1){if((Ba(f,h[a|0],0)|0)==-1){break b}a=a+1|0;if((d|0)!=(a|0)){continue}break}a=d;break a}if((a|0)==(d|0)){break a}e=a;while(1){if((Ba(f,h[e|0],0)|0)!=-1){d=e;break a}e=e+1|0;if((e|0)!=(d|0)){continue}break}}j[b>>2]=d;if(h[c+27|0]<=-1){T(j[c+16>>2])}M=c+32|0;return a}function Kd(a,b){var c=0,d=0,e=0,f=0,g=0;f=M-16|0;M=f;e=k[a+11|0];d=e<<24>>24<0;c=d?j[a>>2]:a;e=d?j[a+4>>2]:e;d=c+e|0;g=ha(f,b);a:{b:{if(!e){break b}while(1){if((Ba(g,h[c|0],0)|0)!=-1){break b}c=c+1|0;if((d|0)!=(c|0)){continue}break}c=d;break a}if((c|0)==(d|0)){break a}b=c+1|0;if((d|0)==(b|0)){break a}while(1){if((Ba(g,h[b|0],0)|0)==-1){h[c|0]=k[b|0];c=c+1|0}b=b+1|0;if((d|0)!=(b|0)){continue}break}}e=j[a>>2];d=k[a+11|0];b=d<<24>>24<0;xb(a,c-(b?e:a)|0,(b?e+j[a+4>>2]|0:a+d|0)-c|0);if(h[f+11|0]<=-1){T(j[f>>2])}M=f+16|0}function Vd(a,b,c){var d=0,e=0,f=0,g=0,i=0;e=M-16|0;M=e;so(e+8|0,a);if(k[e+8|0]){a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}g=a+24|0;i=c&255;b:{c:{while(1){c=j[j[j[a>>2]-12>>2]+g>>2];d=j[c+12>>2];d:{if((d|0)!=j[c+16>>2]){j[c+12>>2]=d+1;c=k[d|0];break d}c=O[j[j[c>>2]+40>>2]](c)|0;if((c|0)==-1){break c}}d=0;if((c&255)==(i|0)){break b}Z(b,c<<24>>24);f=f+1|0;if(j[b+4>>2]!=-17|h[b+11|0]>-1){continue}break}d=4;break b}d=f?2:6}b=j[j[a>>2]-12>>2]+a|0;gh(b,d|j[b+16>>2])}M=e+16|0;return a}function Ie(a,b){var c=0,d=0,e=0,f=0;d=M-16|0;M=d;j[d+12>>2]=b;b=a+112|0;j[b>>2]=121312;j[a+4>>2]=121292;j[a>>2]=0;j[a+8>>2]=0;c=a+12|0;td(b,c);j[a+184>>2]=0;j[a+188>>2]=-1;j[b>>2]=121256;j[a+4>>2]=121236;Eq(c);j[a+65784>>2]=0;j[a+192>>2]=0;h[a+196|0]=0;c=Np(d+12|0);a:{if(!c){j[d>>2]=j[d+12>>2];Lo(j[30514],d);break a}b=U(136);f=j[c+4>>2];c=j[c>>2];j[b+56>>2]=121488;j[b>>2]=121468;j[b+4>>2]=0;e=b+8|0;td(b+56|0,e);j[b+128>>2]=0;j[b+132>>2]=-1;j[b+56>>2]=133916;j[b>>2]=133896;aj(e,c,f);j[a>>2]=b}M=d+16|0;return a}function sp(a,b){var c=0,d=0,e=0;a:{b:{d=j[a+4>>2];c:{if(!d){j[a+8>>2]=1e3;c=ja(1e3);j[a+16>>2]=0;j[a+4>>2]=c;break c}c=j[a+8>>2];e=j[a+16>>2]+4|0;if(c>>>0>=e>>>0){break b}while(1){c=c<<1;if(e>>>0>c>>>0){continue}break}j[a+8>>2]=c;c=vc(d,c);if(c){j[a+4>>2]=c;c=c+j[a+16>>2]|0;break c}c=ja(j[a+8>>2]);d=j[a+4>>2];c=V(c,d,j[a+16>>2]);T(d);j[a+4>>2]=c;c=c+j[a+16>>2]|0}j[a+12>>2]=c;break a}c=j[a+12>>2]}b=j[b>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;j[a+12>>2]=j[a+12>>2]+4;j[a+16>>2]=j[a+16>>2]+4}function Fc(a,b,c,d,e,f){var g=0,h=0,i=0,k=0;a:{if(f&64){c=f+ -64|0;b=c&31;if((c&63)>>>0>=32){c=0;b=e>>>b|0}else{c=e>>>b|0;b=((1<>>b}d=0;e=0;break a}if(!f){break a}h=e;i=d;k=64-f|0;g=k&31;if((k&63)>>>0>=32){h=i<>>32-g|h<>>0>=32){g=0;b=c>>>b|0}else{g=c>>>b|0;b=((1<>>b}b=k|b;c=g|h;g=d;d=f&31;if((f&63)>>>0>=32){h=0;d=e>>>d|0}else{h=e>>>d|0;d=((1<>>d}e=h}j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=d;j[a+12>>2]=e}function Cp(a,b,c){var d=0,e=0,f=0,g=0;d=M-48|0;M=d;Dh(a);f=j[a>>2];a=W(f);if(a>>>0<4294967280){a:{b:{if(a>>>0>=11){g=a+16&-16;e=U(g);j[d+16>>2]=g|-2147483648;j[d+8>>2]=e;j[d+12>>2]=a;break b}h[d+19|0]=a;e=d+8|0;if(!a){break a}}V(e,f,a)}h[a+e|0]=0;a=U(8);j[a+4>>2]=c;j[a>>2]=b;j[d+32>>2]=j[d+16>>2];j[d+16>>2]=0;j[d+36>>2]=a;a=j[d+12>>2];j[d+24>>2]=j[d+8>>2];j[d+28>>2]=a;j[d+8>>2]=0;j[d+12>>2]=0;Bp(d+40|0,d+24|0,d+24|0);if(h[d+35|0]<=-1){T(j[d+24>>2])}if(h[d+19|0]<=-1){T(j[d+8>>2])}M=d+48|0;return 1}X();z()}function Ji(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;g=M-16|0;M=g;e=b;if(k[a+11|0]>>>7|0){f=j[a+4>>2]}else{f=k[a+11|0]}if(e>>>0<=f>>>0){e=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;a:{if(e-f>>>0>=d>>>0){if(!d){break a}if(k[a+11|0]>>>7|0){e=j[a>>2]}else{e=a}l=e+b|0;i=f-b|0;if(i){b=b+e|0;Kb(b+d|0,b,i);c=b>>>0<=c>>>0?e+f>>>0>c>>>0?c+d|0:c:c}Kb(l,c,d);c=d+f|0;b=c;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}h[g+15|0]=0;h[c+e|0]=k[g+15|0];break a}cd(a,e,(d+f|0)-e|0,f,b,0,d,c)}M=g+16|0;return}X();z()}function Vo(a,b){var c=0,d=0;c=1024;a:{b:{c:{if((a^b)&3){break c}d=1;d:{if(!(b&3)){break d}while(1){d=k[b|0];h[a|0]=d;if(!d){break a}a=a+1|0;b=b+1|0;c=c-1|0;d=(c|0)!=0;if(!c){break d}if(b&3){continue}break}}if(!d){break b}if(!k[b|0]){break a}if(c>>>0<4){break c}while(1){d=j[b>>2];if((d^-1)&d-16843009&-2139062144){break c}j[a>>2]=d;a=a+4|0;b=b+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break b}while(1){d=k[b|0];h[a|0]=d;if(!d){break a}a=a+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}c=0}ya(a,0,c)}function Hn(a,b,c){var d=0,e=0,f=0,g=0,i=0;a:{if(ba(c,1742)){e=k[c|0];if(e){d=c;while(1){i=d;d=f;f=0;b:{c:{switch(e-91|0){case 0:f=1;g=g+1|0;break b;case 2:break b;default:break c}}f=1;if(d&1){break b}g=(!(e&128)|!j[a+4144>>2]|(e&192)==128)+g|0;f=0}d=i+1|0;e=k[i+1|0];if(e){continue}break}}h[b+28|0]=g;a=W(c);d=a>>>0<20?a:20;V(b+32|0,c,d);if(a>>>0<=19){ya((b+d|0)+32|0,0,20-d|0);return 0}if(!k[c+20|0]){break a}h[b+29|0]=k[b+29|0]+16;a=cb(c+16|0);j[b+48>>2]=a;return!a}h[b+32|0]=0;h[b+28|0]=0}return 0}function mb(a,b,c,d,e,f){var g=0,h=0,i=0,k=0;a:{if(f&64){d=b;e=f+ -64|0;b=e&31;if((e&63)>>>0>=32){e=d<>>32-b|c<>>0>=32){h=g<>>32-d|e<>>0>=32){f=0;d=d>>>e|0}else{f=d>>>e|0;d=((1<>>e}d=k|d;e=f|h;f=b;b=i&31;if((i&63)>>>0>=32){h=f<>>32-b|c<>2]=b;j[a+4>>2]=c;j[a+8>>2]=d;j[a+12>>2]=e}function Rb(a,b,c,d,e){var f=0,g=0;f=M-16|0;M=f;j[f+8>>2]=b;a:{if(Sa(a,f+8|0)){j[c>>2]=j[c>>2]|6;b=0;break a}b=Ga(a);if(!((b|0)>=0?(l[j[d+8>>2]+((b&255)<<1)>>1]&2048)!=0:0)){j[c>>2]=j[c>>2]|4;b=0;break a}b=O[j[j[d>>2]+36>>2]](d,b,0)|0;while(1){b:{Oa(a);b=b-48|0;if(!lb(a,f+8|0)|(e|0)<2){break b}g=Ga(a);if(!((g|0)>=0?(l[j[d+8>>2]+((g&255)<<1)>>1]&2048)!=0:0)){break a}e=e-1|0;b=(O[j[j[d>>2]+36>>2]](d,g,0)|0)+p(b,10)|0;continue}break}if(!Sa(a,f+8|0)){break a}j[c>>2]=j[c>>2]|2}M=f+16|0;return b}function zm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127638,1,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;e=h>>>9&1;h=fb(g,e+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-((e<<3)+187&240)|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function xm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127638,0,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;e=h>>>9&1;h=fb(g,e+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-((e<<3)+187&240)|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function zo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=M-16|0;M=e;while(1){a:{if((c|0)<=(g|0)){break a}d=j[a+12>>2];f=j[a+16>>2];b:{if(d>>>0>>0){j[e+12>>2]=2147483647;j[e+8>>2]=f-d;j[e+4>>2]=c-g;d=M-16|0;M=d;M=d+16|0;d=M-16|0;M=d;M=d+16|0;d=e+4|0;f=e+8|0;d=j[d>>2]>2]?d:f;f=e+12|0;d=j[(j[d>>2]>2]?d:f)>>2];ac(b,j[a+12>>2],d);j[a+12>>2]=j[a+12>>2]+d;break b}d=O[j[j[a>>2]+40>>2]](a)|0;if((d|0)==-1){break a}h[b|0]=d;d=1}b=b+d|0;g=d+g|0;continue}break}M=e+16|0;return g|0}function Sh(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}ua(b,c);b:{c=j[a>>2];c:{if(!c){break c}f=lk(c);if(!f){break c}if(j[a+44>>2]){Ld(b,j[a>>2]+4420|0);break c}e=W(f);if(e>>>0>=4294967280){break b}d:{e:{if(e>>>0>=11){a=e+16&-16;c=U(a);j[d+8>>2]=a|-2147483648;j[d>>2]=c;j[d+4>>2]=e;a=d;break e}h[d+11|0]=e;a=d;c=d;if(!e){break d}}V(c,f,e)}h[c+e|0]=0;Kd(b,d);if(h[a+11|0]>-1){break c}T(j[d>>2])}M=d+16|0;return}X();z()}function Im(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127638,1,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;h=fb(g,(h>>>9&1)+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-48|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;od(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Gm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127638,0,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;h=fb(g,(h>>>9&1)+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-48|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;od(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Hg(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;a:{b:{c:{if((a|0)!=(b|0)){g=j[37203];j[37203]=0;a=Kg(a,e+12|0,d,ra());d=N;f=j[37203];d:{if(f){if(j[e+12>>2]!=(b|0)){break d}if((f|0)==68){break b}break c}j[37203]=g;if(j[e+12>>2]==(b|0)){break c}}}j[c>>2]=4;b=0;break a}if(((d|0)<-1?1:(d|0)<=-1?a>>>0<2147483648:0)|((d|0)>0?1:(d|0)>=0?a>>>0>2147483647:0)){break b}b=a;break a}j[c>>2]=4;b=2147483647;if((d|0)>0?1:(d|0)>=0?a>>>0>=1:0){break a}b=-2147483648}M=e+16|0;return b}function pb(a,b,c,d,e,f,g){var h=0,i=0,l=0;i=M-16|0;M=i;if(-17-b>>>0>=c>>>0){if(k[a+11|0]>>>7|0){l=j[a>>2]}else{l=a}a:{if(b>>>0<2147483623){j[i+8>>2]=b<<1;j[i+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=i+8|0;h=i+12|0;c=j[(m[h>>2]>2]?c:h)>>2];if(c>>>0>=11){h=c+16&-16;c=h-1|0;c=(c|0)==11?h:c}else{c=10}break a}c=-18}h=c+1|0;c=U(h);if(e){ac(c,l,e)}d=(d-f|0)-e|0;if(d){ac((c+e|0)+g|0,(e+l|0)+f|0,d)}if((b|0)!=10){T(l)}j[a>>2]=c;j[a+8>>2]=h|-2147483648;M=i+16|0;return}X();z()}function Aa(a,b,c){var d=0,e=0;d=(c|0)!=0;a:{b:{c:{if(!c|!(a&3)){break c}e=b&255;while(1){if((e|0)==k[a|0]){break b}a=a+1|0;c=c-1|0;d=(c|0)!=0;if(!c){break c}if(a&3){continue}break}}if(!d){break a}}d:{if(k[a|0]==(b&255)|c>>>0<4){break d}d=p(b&255,16843009);while(1){e=d^j[a>>2];if((e^-1)&e-16843009&-2139062144){break d}a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}b=b&255;while(1){if((b|0)==k[a|0]){return a}a=a+1|0;c=c-1|0;if(c){continue}break}}return 0}function jo(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=M-32|0;M=d;f=kh(d+24|0,a);a:{if(!k[f|0]){break a}c=j[(j[j[a>>2]-12>>2]+a|0)+28>>2];j[d+16>>2]=c;j[c+4>>2]=j[c+4>>2]+1;g=Hb(d+16|0,148960);c=j[d+16>>2];e=j[c+4>>2]-1|0;j[c+4>>2]=e;if((e|0)==-1){O[j[j[c>>2]+8>>2]](c)}j[d+8>>2]=j[(j[j[a>>2]-12>>2]+a|0)+24>>2];c=j[j[a>>2]-12>>2]+a|0;e=lo(c);h=d,i=O[j[j[g>>2]+24>>2]](g,j[d+8>>2],c,e,b)|0,j[h+16>>2]=i;if(j[d+16>>2]){break a}vd(j[j[a>>2]-12>>2]+a|0,5)}jh(f);M=d+32|0}function lf(a,b){var c=0,d=0,e=0,f=0,g=0;e=M-16|0;M=e;c=a;d=j[a+4>>2];a:{if(k[a+11|0]>>>7|0){break a}d=k[c+11|0]}if(d>>>0>=b>>>0){c=k[c+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;b:{if(c-d>>>0>=1){if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}f=d-b|0;if(!f){break b}g=b+c|0;Kb(g+1|0,g,f);break b}pb(a,c,(d+1|0)-c|0,d,b,0,1);c=j[a>>2]}Xd(b+c|0,1,32);d=d+1|0;b=d;c:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break c}h[a+11|0]=b}h[e+15|0]=0;h[c+d|0]=k[e+15|0];M=e+16|0;return}X();z()}function bf(a,b,c,d,e){var f=0,g=0,h=0;g=M-16|0;M=g;if(1073741807-b>>>0>=c>>>0){if(k[a+11|0]>>>7|0){h=j[a>>2]}else{h=a}a:{if(b>>>0<536870887){j[g+8>>2]=b<<1;j[g+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=g+8|0;f=g+12|0;c=j[(m[f>>2]>2]?c:f)>>2];if(c>>>0>=2){f=c+4&-4;c=f-1|0;c=(c|0)==2?f:c}else{c=1}break a}c=1073741806}f=c+1|0;c=Rc(f);if(e){sc(c,h,e)}d=d-e|0;if(d){e=e<<2;sc(e+c|0,e+h|0,d)}if((b|0)!=1){T(h)}j[a>>2]=c;j[a+8>>2]=f|-2147483648;M=g+16|0;return}X();z()}function Cg(a,b,c,d){var e=0,f=0,g=0,h=0;e=M-16|0;M=e;a:{b:{c:{if((a|0)!=(b|0)){d:{e:{f=k[a|0];if((f|0)!=45){break e}a=a+1|0;if((b|0)!=(a|0)){break e}break d}h=j[37203];j[37203]=0;a=te(a,e+12|0,d,ra());d=N;g=j[37203];f:{if(g){if(j[e+12>>2]!=(b|0)){break f}if((g|0)==68){break c}break b}j[37203]=h;if(j[e+12>>2]==(b|0)){break b}}}}j[c>>2]=4;a=0;b=0;break a}j[c>>2]=4;a=-1;b=-1;break a}b=a;c=(f|0)==45;a=c?0-a|0:a;b=c?0-(d+((b|0)!=0)|0)|0:d}M=e+16|0;N=b;return a}function uq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=0,l=0;f=j[b+68>>2];if(f){g=O[j[j[f>>2]+24>>2]](f)|0;f=-1;h=-1;a:{if(!j[b+64>>2]|((g|0)<1?c|d:0)){break a}if(O[j[j[b>>2]+24>>2]](b)|e>>>0>2){break a}i=j[b+64>>2];d=Cr(g,g>>31,c,d);c=(g|0)>0;if(De(i,c?d:0,c?N:0,e)){break a}c=j[b+64>>2];b:{if(j[c+76>>2]<=-1){f=xh(c);h=N;break b}f=xh(c);h=N}k=j[b+72>>2];l=j[b+76>>2]}j[a+8>>2]=f;j[a+12>>2]=h;j[a>>2]=k;j[a+4>>2]=l;return}Fa();z()}function xb(a,b,c){var d=0,e=0,f=0,g=0,i=0;d=M-16|0;M=d;j[d+12>>2]=c;if(k[a+11|0]>>>7|0){f=j[a+4>>2]}else{f=k[a+11|0]}if(f>>>0>=b>>>0){if(c){if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}g=c;e=f-b|0;j[d+8>>2]=e;c=M-16|0;M=c;M=c+16|0;c=d+8|0;i=d+12|0;c=j[(m[c>>2]>2]?c:i)>>2];j[d+12>>2]=c;e=e-c|0;if(e){b=b+g|0;Kb(b,b+c|0,e);c=j[d+12>>2]}c=f-c|0;b=c;a:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break a}h[a+11|0]=b}h[d+7|0]=0;h[c+g|0]=k[d+7|0]}M=d+16|0;return}X();z()}function _(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+8>>2]=e;j[f+12>>2]=c;e=(e|0)==-1;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if(!(e|c>>>0>>0)){j[f>>2]=c-b;c=M-16|0;M=c;M=c+16|0;c=f+12|0;j[f+4>>2]=j[(m[f>>2]>2]?f:c)>>2];if(k[a+11|0]>>>7|0){a=j[a>>2]}c=M-16|0;M=c;M=c+16|0;c=a+b|0;a=f+8|0;b=f+4|0;b=ke(c,d,j[(m[a>>2]>2]?a:b)>>2]);a:{if(b){break a}b=-1;a=j[f+4>>2];c=j[f+8>>2];if(a>>>0>>0){break a}b=a>>>0>c>>>0}M=f+16|0;return b}X();z()}function Fg(a,b,c,d){var e=0,f=0,g=0,h=0;e=M-16|0;M=e;a:{b:{c:{d:{if((a|0)!=(b|0)){e:{f:{f=k[a|0];if((f|0)!=45){break f}a=a+1|0;if((b|0)!=(a|0)){break f}break e}h=j[37203];j[37203]=0;a=te(a,e+12|0,d,ra());d=N;g=j[37203];g:{if(g){if(j[e+12>>2]!=(b|0)){break g}if((g|0)==68){break c}break d}j[37203]=h;if(j[e+12>>2]==(b|0)){break d}}}}j[c>>2]=4;a=0;break a}if(!d&a>>>0<=65535){break b}}j[c>>2]=4;a=65535;break a}a=(f|0)==45?0-a|0:a}M=e+16|0;return a&65535}function eh(a,b,c,d){var e=0,f=0,g=0;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;g=k[b+28|0]>d>>>0;e=h[b+27|0];f=j[b+20>>2];a:{if((e|0)<=-1){break a}f=e&255}b:{if(g|(!j[j[b+64>>2]+4484>>2]|d?f>>>0>=d>>>0:0)){break b}if(!Vc(b,c)){break b}d=b+16|0;e=k[d+11|0];f=e<<24>>24;c:{d:{if((f|0)<=-1){e=j[b+20>>2];if(!e){break c}d=j[d>>2];break d}if(!f){break c}}if(Eb(c,d,e)){break b}}ua(a,b+4|0);d=h[b+27|0];b=j[b+20>>2];e:{if((d|0)<=-1){break e}b=d&255}$(a,b+c|0)}}function Gd(a,b){var c=0,d=0,e=0,f=0;d=M-16|0;M=d;e=d;f=Ya(a,62);a=ca(a,121161);c=0;a:{if(!a){break a}c=0;if(a>>>0>=f>>>0){break a}b:{while(1){c=k[a-1|0];if((c|0)==10|(c|0)==32){break b}a=ca(W(121161)+a|0,121161);c=0;if(!a){break a}if(a>>>0>>0){continue}break}c=0;break a}c=W(121161)+a|0}mc(e,c);a=0;c=W(b);f=k[d+11|0];e=f<<24>>24;if((c|0)==(((e|0)<0?j[d+4>>2]:f)|0)){a=!_(d,0,-1,b,c);e=k[d+11|0]}if(e<<24>>24<=-1){T(j[d>>2])}M=d+16|0;return a}function Zg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;h=-1;f=d&2147483647;i=f;g=c;a:{if(!c&(f|0)==2147418112?a|b:(f|0)==2147418112&(c|0)!=0|f>>>0>2147418112){break a}f=e&2147483647;j=f;if((f|0)==2147418112?0:f>>>0>2147418112){break a}if(!(a|g|(i|j|b))){return 0}g=d&e;if((g|0)>0?1:(g|0)>=0){if(!c&(d|0)==(e|0)?0:(d|0)<(e|0)){break a}return(a|c)!=0|(d^e|b)!=0}if(!c&(d|0)==(e|0)?a|b:(d|0)>(e|0)?1:(d|0)>=(e|0)?c:0){break a}h=(a|c)!=0|(d^e|b)!=0}return h}function tc(a,b){a:{if(a){if(b>>>0<=127){break a}b:{if(!j[j[37179]>>2]){if((b&-128)==57216){break a}break b}if(b>>>0<=2047){h[a+1|0]=b&63|128;h[a|0]=b>>>6|192;return 2}if(!((b&-8192)!=57344?b>>>0>=55296:0)){h[a+2|0]=b&63|128;h[a|0]=b>>>12|224;h[a+1|0]=b>>>6&63|128;return 3}if(b-65536>>>0<=1048575){h[a+3|0]=b&63|128;h[a|0]=b>>>18|240;h[a+2|0]=b>>>6&63|128;h[a+1|0]=b>>>12&63|128;return 4}}j[37203]=25;a=-1}else{a=1}return a}h[a|0]=b;return 1}function Xo(a,b){var c=0,d=0;a:{d=b&255;if(d){if(a&3){while(1){c=k[a|0];if(!c|(c|0)==(b&255)){break a}a=a+1|0;if(a&3){continue}break}}c=j[a>>2];b:{if((c^-1)&c-16843009&-2139062144){break b}d=p(d,16843009);while(1){c=c^d;if((c^-1)&c-16843009&-2139062144){break b}c=j[a+4>>2];a=a+4|0;if(!(c-16843009&(c^-1)&-2139062144)){continue}break}}while(1){c=a;d=k[c|0];if(d){a=c+1|0;if((d|0)!=(b&255)){continue}}break}return c}return W(a)+a|0}return a}function Gl(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=j[a+8>>2];c=j[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=ya(c,0,b)+b|0}j[a+4>>2]=c;return}a:{f=j[a>>2];g=c-f|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){c=0;e=e-f|0;i=e>>2;d=e>>3>>>0<268435455?d>>>0>i>>>0?d:i:536870911;if(d){if(d>>>0>=536870912){break a}c=U(d<<3)}b=b<<3;b=ya((h<<3)+c|0,0,b)+b|0;if((g|0)>=1){V(c,f,g)}j[a+8>>2]=(d<<3)+c;j[a+4>>2]=b;j[a>>2]=c;if(f){T(f)}return}X();z()}D();z()}function _b(a,b,c,d,e,f){var g=0,h=0,i=0,l=0;i=M-16|0;M=i;a:{if(!a){break a}h=j[e+12>>2];g=c-b|0;if((g|0)>=1){g=g>>2;if((O[j[j[a>>2]+48>>2]](a,b,g)|0)!=(g|0)){break a}}b=d-b>>2;g=(b|0)<(h|0)?h-b|0:0;if((g|0)>=1){h=a;f=sg(i,g,f);b=f;if(k[b+11|0]>>>7|0){b=j[b>>2]}b=O[j[j[a>>2]+48>>2]](h,b,g)|0;Y(f);if((b|0)!=(g|0)){break a}}b=d-c|0;if((b|0)>=1){b=b>>2;if((O[j[j[a>>2]+48>>2]](a,c,b)|0)!=(b|0)){break a}}j[e+12>>2]=0;l=a}M=i+16|0;return l}function Ca(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;j[a+4>>2]=j[a+4>>2]+1;c=M-16|0;M=c;j[c+12>>2]=a;a=d+8|0;j[a>>2]=j[c+12>>2];M=c+16|0;if(j[37685]-j[37684]>>2>>>0<=b>>>0){cl(b+1|0)}if(j[j[37684]+(b<<2)>>2]){c=j[j[37684]+(b<<2)>>2];e=j[c+4>>2]-1|0;j[c+4>>2]=e;if((e|0)==-1){O[j[j[c>>2]+8>>2]](c)}}c=j[a>>2];j[a>>2]=0;j[j[37684]+(b<<2)>>2]=c;b=j[a>>2];j[a>>2]=0;if(b){a=j[b+4>>2]-1|0;j[b+4>>2]=a;if((a|0)==-1){O[j[j[b>>2]+8>>2]](b)}}M=d+16|0}function hb(a,b,c,d){var e=0,f=0;a:{if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}if(!e|(c-b|0)<5){break a}kd(b,c);f=c-4|0;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}if(k[a+11|0]>>>7|0){a=j[a>>2]}c=a;a=e+a|0;while(1){b:{e=h[c|0];if(b>>>0>=f>>>0){break b}if(!((e|0)<1|(e|0)>=127|j[b>>2]==h[c|0])){j[d>>2]=4;return}c=(a-c|0)>1?c+1|0:c;b=b+4|0;continue}break}if((e|0)<1|(e|0)>=127|h[c|0]>>>0>j[f>>2]-1>>>0){break a}j[d>>2]=4}}function Dg(a,b,c,d){var e=0,f=0,g=0,h=0;e=M-16|0;M=e;a:{b:{c:{d:{if((a|0)!=(b|0)){e:{f:{f=k[a|0];if((f|0)!=45){break f}a=a+1|0;if((b|0)!=(a|0)){break f}break e}h=j[37203];j[37203]=0;a=te(a,e+12|0,d,ra());d=N;g=j[37203];g:{if(g){if(j[e+12>>2]!=(b|0)){break g}if((g|0)==68){break c}break d}j[37203]=h;if(j[e+12>>2]==(b|0)){break d}}}}j[c>>2]=4;a=0;break a}if(!d){break b}}j[c>>2]=4;a=-1;break a}a=(f|0)==45?0-a|0:a}M=e+16|0;return a}function Pc(a,b){var c=0,d=0,e=0;a:{d=k[a+11|0];c=d<<24>>24<0;d=c?j[a+4>>2]:d;if(!d){break a}c=c?j[a>>2]:a;a=c;e=d&3;if(e){a=c;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+2|0];a=a+1|0;e=e-1|0;if(e){continue}break}}if(d-1>>>0<=2){break a}c=c+d|0;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+2|0];h[a+1|0]=k[(p(k[a+1|0],3)+b|0)+2|0];h[a+2|0]=k[(p(k[a+2|0],3)+b|0)+2|0];h[a+3|0]=k[(p(k[a+3|0],3)+b|0)+2|0];a=a+4|0;if((c|0)!=(a|0)){continue}break}}}function Pa(a,b){var c=0,d=0,e=0;a:{d=k[a+11|0];c=d<<24>>24<0;d=c?j[a+4>>2]:d;if(!d){break a}c=c?j[a>>2]:a;a=c;e=d&3;if(e){a=c;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+1|0];a=a+1|0;e=e-1|0;if(e){continue}break}}if(d-1>>>0<=2){break a}c=c+d|0;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+1|0];h[a+1|0]=k[(p(k[a+1|0],3)+b|0)+1|0];h[a+2|0]=k[(p(k[a+2|0],3)+b|0)+1|0];h[a+3|0]=k[(p(k[a+3|0],3)+b|0)+1|0];a=a+4|0;if((c|0)!=(a|0)){continue}break}}}function Je(a,b){var c=0,d=0,e=0;c=M-32|0;M=c;a:{b:{if(j[a+56>>2]){j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;d=W(b);if(d>>>0>=4294967280){break a}c:{d:{if(d>>>0>=11){e=d+16&-16;a=U(e);j[c+8>>2]=e|-2147483648;j[c>>2]=a;j[c+4>>2]=d;e=c;break d}h[c+11|0]=d;e=c;a=c;if(!d){break c}}V(a,b,d)}h[a+d|0]=0;a=ia(c+16|0,c);if(h[e+11|0]<=-1){T(j[c>>2])}b=j[c+16>>2];if(!b){break b}j[c+20>>2]=b;T(b);break b}a=W(b)}M=c+32|0;return a}X();z()}function $n(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=M-16|0;M=d;f=(Lr(b),Gr(2));c=f&2147483647;a:{if(c-8388608>>>0<=2130706431){e=c;c=c>>>7|0;g=e<<25;c=c+1065353216|0;break a}if(c>>>0>=2139095040){c=f;e=c>>>7|0;g=c<<25;c=e|2147418112;break a}if(!c){c=0;break a}e=c;c=s(c);mb(d,e,0,0,0,c+81|0);h=j[d>>2];i=j[d+4>>2];g=j[d+8>>2];c=j[d+12>>2]^65536|16265-c<<16}j[a>>2]=h;j[a+4>>2]=i;j[a+8>>2]=g;j[a+12>>2]=f&-2147483648|c;M=d+16|0}function $b(a,b,c,d,e,f){var g=0,h=0,i=0,l=0;i=M-16|0;M=i;a:{if(!a){break a}h=j[e+12>>2];g=c-b|0;if((g|0)>=1){if((O[j[j[a>>2]+48>>2]](a,b,g)|0)!=(g|0)){break a}}b=d-b|0;g=(b|0)<(h|0)?h-b|0:0;if((g|0)>=1){h=a;f=vg(i,g,f);b=f;if(k[b+11|0]>>>7|0){b=j[b>>2]}b=O[j[j[a>>2]+48>>2]](h,b,g)|0;Y(f);if((b|0)!=(g|0)){break a}}b=d-c|0;if((b|0)>=1){if((O[j[j[a>>2]+48>>2]](a,c,b)|0)!=(b|0)){break a}}j[e+12>>2]=0;l=a}M=i+16|0;return l}function tg(a,b,c){var d=0,e=0,f=0,g=0;a:{d=j[a+4096>>2];e=j[d>>2];if((e|0)!=j[d+4>>2]){d=0;while(1){f=dc(j[(d<<2)+e>>2],b);if(!f){g=j[a+4096>>2];e=j[g>>2];d=d+1|0;if(d>>>0>2]-e>>2>>>0){continue}}break}if(f){break a}}d=gb(a,b,c,0,0);b:{if(d){break b}d=Qa(a,b,c,0,0,0,0,0);if(!j[a+4488>>2]){break b}j[a+4372>>2]=0;j[a+4376>>2]=0;if(d){break b}d=eb(a,b,c,0,0,0);if(d){break b}d=Lb(a,b,c,0)}return(d|0)!=0}return 1}function dc(a,b){var c=0,d=0,e=0,f=0;f=j[a+4>>2];if(!f){return 0}d=h[b|0];a:{if(!d){break a}c=h[b+1|0];if(!c){c=d;break a}c=c|d<<8;d=h[b+2|0];if(!d){break a}c=d|c<<8;d=h[b+3|0];if(!d){break a}c=d|c<<8;e=b+4|0;d=k[e|0];if(!d){break a}while(1){c=Er(c,5)^d<<24>>24;d=k[e+1|0];e=e+1|0;if(d){continue}break}}c=j[((c>>>0)%m[a>>2]<<2)+f>>2];if(c){while(1){if(!ba(b,c+17|0)){return c}c=j[c+8>>2];if(c){continue}break}}return 0}function $q(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=j[a+8>>2];c=j[a+4>>2];if(e-c>>1>>>0>=b>>>0){if(b){b=b<<1;c=ya(c,0,b)+b|0}j[a+4>>2]=c;return}a:{f=j[a>>2];g=c-f|0;h=g>>1;d=h+b|0;if((d|0)>-1){c=0;e=e-f|0;d=e>>1>>>0<1073741823?d>>>0>e>>>0?d:e:2147483647;if(d){if((d|0)<=-1){break a}c=U(d<<1)}b=b<<1;b=ya((h<<1)+c|0,0,b)+b|0;if((g|0)>=1){V(c,f,g)}j[a+8>>2]=(d<<1)+c;j[a+4>>2]=b;j[a>>2]=c;if(f){T(f)}return}X();z()}D();z()}function Kq(a,b){var c=0,d=0,e=0,f=0;c=M-16|0;M=c;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;a:{if(!b){break a}b=ca(b,121182);if(!b){break a}while(1){mc(c,(W(121182)+b|0)-1|0);d=h[c+11|0];b:{if((d|0)<=-1){if(j[c+4>>2]){break b}T(j[c>>2]);break a}if(!d){break a}}d=j[a+4>>2];c:{if((d|0)!=j[a+8>>2]){e=a,f=ha(d,c)+12|0,j[e+4>>2]=f;break c}Wb(a,c)}if(h[c+11|0]<=-1){T(j[c>>2])}b=ca(b+1|0,121182);if(b){continue}break}}M=c+16|0}function da(a,b){var c=0,d=0,e=0;a:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break a}h[a+11|0]=0;h[a|0]=0}c=j[b>>2];d=j[b+4>>2];if(c>>>0>>0){while(1){e=a;b=k[c+1|0];b:{c:{if(b){if(b>>>0>=8){Z(a,b>>>4|-32);b=k[c+1|0]<<2&60|k[c|0]>>>6|-128;break c}b=(b<<2|k[c|0]>>>6)+ -64|0;break c}b=h[c|0];if((b|0)>-1){break b}b=(b&192)>>>6|-64}Z(e,b<<24>>24);b=k[c|0]&63|-128}Z(a,b);c=c+2|0;if(d>>>0>c>>>0){continue}break}}}function wo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=M-16|0;M=e;while(1){a:{if((c|0)<=(f|0)){break a}d=j[a+24>>2];g=j[a+28>>2];if(d>>>0>=g>>>0){if((O[j[j[a>>2]+52>>2]](a,k[b|0])|0)==-1){break a}f=f+1|0;b=b+1|0}else{j[e+12>>2]=g-d;j[e+8>>2]=c-f;d=M-16|0;M=d;M=d+16|0;d=e+8|0;g=e+12|0;d=j[(j[d>>2]>2]?d:g)>>2];ac(j[a+24>>2],b,d);j[a+24>>2]=d+j[a+24>>2];f=d+f|0;b=b+d|0}continue}break}M=e+16|0;return f|0}function ll(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;b=M-32|0;M=b;d=ga(b+16|0);c=M-16|0;M=c;j[c+8>>2]=d;M=c+16|0;g=j[c+8>>2];if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}e=c;if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}Rf(g,e,c+f|0);if(k[d+11|0]>>>7|0){c=j[d>>2]}else{c=d}e=ga(a);a=M-16|0;M=a;j[a+8>>2]=e;M=a+16|0;Rf(j[a+8>>2],c,W(c)+c|0);Y(d);M=b+32|0}function se(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0;e=M-160|0;M=e;ya(e+16|0,0,144);j[e+92>>2]=-1;j[e+60>>2]=b;j[e+24>>2]=-1;j[e+20>>2]=b;Ib(e+16|0,0,0);Vg(e,e+16|0,d,1);d=j[e+8>>2];g=j[e+12>>2];h=j[e>>2];i=j[e+4>>2];if(c){k=c;f=b;b=j[e+20>>2]-j[e+24>>2]|0;l=b;c=b+j[e+136>>2]|0;b=j[e+140>>2]+(b>>31)|0;b=c>>>0>>0?b+1|0:b;j[k>>2]=!(b|c)?f:f+c|0}j[a>>2]=h;j[a+4>>2]=i;j[a+8>>2]=d;j[a+12>>2]=g;M=e+160|0}function yi(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:1;g=d;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}a:{if(g-e>>>0>=c>>>0){if(!c){break a}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}sc(d+(e<<2)|0,b,c);b=c+e|0;c=b;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}j[f+12>>2]=0;j[d+(b<<2)>>2]=j[f+12>>2];break a}cf(a,d,(c+e|0)-d|0,e,e,0,c,b)}M=f+16|0}function ob(a){var b=0,c=0,d=0,e=0,f=0;b=M-16|0;M=b;j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;ia(b,a);c=j[b>>2];d=j[b+4>>2];a:{if((c|0)==(d|0)){break a}d=d-2|0;if(d>>>0<=c>>>0){break a}while(1){e=k[c|0]|k[c+1|0]<<8;f=k[d|0]|k[d+1|0]<<8;h[c|0]=f;h[c+1|0]=f>>>8;h[d|0]=e;h[d+1|0]=e>>>8;c=c+2|0;d=d-2|0;if(c>>>0>>0){continue}break}}da(a,b);c=j[b+4>>2];a=j[b>>2];if(a){j[b+4>>2]=a;T(a)}M=b+16|0;return c-a>>1}function Sj(){var a=0;a:{if(h[149544]&1){break a}if(!Ma(149544)){break a}a=149376;while(1){a=ga(a)+12|0;if((a|0)!=149544){continue}break}La(149544)}oa(149376,132568);oa(149388,132575);oa(149400,132582);oa(149412,132590);oa(149424,132600);oa(149436,132609);oa(149448,132616);oa(149460,132625);oa(149472,132629);oa(149484,132633);oa(149496,132637);oa(149508,132641);oa(149520,132645);oa(149532,132649)}function Pj(){var a=0;a:{if(h[149720]&1){break a}if(!Ma(149720)){break a}a=149552;while(1){a=ga(a)+12|0;if((a|0)!=149720){continue}break}La(149720)}na(149552,132656);na(149564,132684);na(149576,132712);na(149588,132744);na(149600,132784);na(149612,132820);na(149624,132848);na(149636,132884);na(149648,132900);na(149660,132916);na(149672,132932);na(149684,132948);na(149696,132964);na(149708,132980)}function il(a,b,c,d){var e=0,f=0;e=M-160|0;M=e;j[e+152>>2]=b;f=e+144|0;a:{b:while(1){if(c>>>0>>0){j[e+8>>2]=c;if((O[j[j[a>>2]+16>>2]](a,e+144|0,c,(d-c|0)>32?c+32|0:d,e+8|0,e+16|0,f,e+12|0)|0)==2){break a}b=e+16|0;if(j[e+8>>2]==(c|0)){break a}while(1)if(m[e+12>>2]<=b>>>0){c=j[e+8>>2];continue b}else{j[e+4>>2]=j[b>>2];bd(j[e+152>>2],j[e+4>>2]);b=b+4|0;continue}}break}M=e+160|0;return}Fa();z()}function Wo(a,b){var c=0;a:{b:{if((a^b)&3){break b}if(b&3){while(1){c=k[b|0];h[a|0]=c;if(!c){break a}a=a+1|0;b=b+1|0;if(b&3){continue}break}}c=j[b>>2];if((c^-1)&c-16843009&-2139062144){break b}while(1){j[a>>2]=c;c=j[b+4>>2];a=a+4|0;b=b+4|0;if(!(c-16843009&(c^-1)&-2139062144)){continue}break}}c=k[b|0];h[a|0]=c;if(!c){break a}while(1){c=k[b+1|0];h[a+1|0]=c;a=a+1|0;b=b+1|0;if(c){continue}break}}}function Op(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;Hh(a,h[b+11|0]<0?j[b>>2]:b,h[c+11|0]<0?j[c>>2]:c,d+12|0,d+8|0,d+4|0);a=j[d+4>>2];if(a){b=j[d+12>>2];a:{if(!b){break a}c=j[d+8>>2];if(!c){break a}f=c+1|0;while(1){b:{c:{switch(k[a+(p(b,f)+c|0)|0]){case 2:c=c-1|0;b=b-1|0;e=e+1|0;break b;case 0:b=b-1|0;break b;default:break c}}c=c-1|0}if(!b){break a}if(c){continue}break}}T(a)}M=d+16|0;return e}function ub(a,b){var c=0,d=0,e=0,f=0,g=0;d=M-16|0;M=d;j[a+65784>>2]=j[a+65784>>2]+1;e=j[a>>2];c=j[(e+j[j[e>>2]-12>>2]|0)+28>>2];j[d+8>>2]=c;j[c+4>>2]=j[c+4>>2]+1;c=Hb(d+8|0,149132);g=O[j[j[c>>2]+28>>2]](c,10)|0;c=j[d+8>>2];f=j[c+4>>2]-1|0;j[c+4>>2]=f;if((f|0)==-1){O[j[j[c>>2]+8>>2]](c)}b=Vd(e,b,g);b=j[(j[j[b>>2]-12>>2]+b|0)+16>>2]&5;if(b){j[a+65784>>2]=j[a+65784>>2]-1}M=d+16|0;return!b}function Nd(a,b,c){var d=0,e=0,f=0;f=j[c+16>>2];a:{if(f){d=f}else{if(di(c)){break a}d=j[c+16>>2]}f=j[c+20>>2];if(d-f>>>0>>0){return O[j[c+36>>2]](c,a,b)|0}b:{if(h[c+75|0]<0){break b}d=b;while(1){e=d;if(!e){e=0;break b}d=e-1|0;if(k[d+a|0]!=10){continue}break}d=O[j[c+36>>2]](c,a,e)|0;if(d>>>0>>0){break a}a=a+e|0;b=b-e|0;f=j[c+20>>2]}V(f,a,b);j[c+20>>2]=j[c+20>>2]+b;d=b+e|0}return d}function aa(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;g=d;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}a:{if(g-e>>>0>=c>>>0){if(!c){break a}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}ac(d+e|0,b,c);b=c+e|0;c=b;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}h[f+15|0]=0;h[b+d|0]=k[f+15|0];break a}cd(a,d,(c+e|0)-d|0,e,e,0,c,b)}M=f+16|0}function yg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0;e=M-32|0;M=e;a:{if((b|0)!=(c|0)){k=j[37203];j[37203]=0;ej(e,b,e+28|0);b=j[e+8>>2];f=j[e+12>>2];g=j[e>>2];h=j[e+4>>2];i=j[37203];b:{if(i){if(j[e+28>>2]!=(c|0)){break b}if((i|0)!=68){break a}j[d>>2]=4;break a}j[37203]=k;if(j[e+28>>2]==(c|0)){break a}}}j[d>>2]=4;g=0;h=0;b=0;f=0}j[a>>2]=g;j[a+4>>2]=h;j[a+8>>2]=b;j[a+12>>2]=f;M=e+32|0}function bd(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;j[d+12>>2]=b;a:{b:{c:{d:{if(k[a+11|0]>>>7|0){c=(j[a+8>>2]&2147483647)-1|0;e=j[a+4>>2];if((c|0)==(e|0)){break d}break b}e=1;c=1;b=k[a+11|0];if((b|0)!=1){break c}}bf(a,c,1,c,c);b=e;if(k[a+11|0]>>>7|0){break b}}c=a;h[a+11|0]=b+1;break a}c=j[a>>2];j[a+4>>2]=e+1;b=e}a=(b<<2)+c|0;j[a>>2]=j[d+12>>2];j[d+8>>2]=0;j[a+4>>2]=j[d+8>>2];M=d+16|0}function Gg(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;a:{b:{if((a|0)!=(b|0)){g=j[37203];j[37203]=0;d=Kg(a,e+12|0,d,ra());a=N;f=j[37203];c:{if(f){if(j[e+12>>2]!=(b|0)){break c}if((f|0)==68){break b}break a}j[37203]=g;if(j[e+12>>2]==(b|0)){break a}}}j[c>>2]=4;d=0;a=0;break a}j[c>>2]=4;if((a|0)>0?1:(a|0)>=0?d>>>0>=1:0){d=-1;a=2147483647;break a}d=0;a=-2147483648}M=e+16|0;N=a;return d}function Z(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;h[d+15|0]=b;a:{b:{c:{d:{if(k[a+11|0]>>>7|0){c=(j[a+8>>2]&2147483647)-1|0;e=j[a+4>>2];if((c|0)==(e|0)){break d}break b}e=10;c=10;b=k[a+11|0];if((b|0)!=10){break c}}pb(a,c,1,c,c,0,0);b=e;if(k[a+11|0]>>>7|0){break b}}c=a;h[a+11|0]=b+1;break a}c=j[a>>2];j[a+4>>2]=e+1;b=e}a=b+c|0;h[a|0]=k[d+15|0];h[d+14|0]=0;h[a+1|0]=k[d+14|0];M=d+16|0}function zc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=M-16|0;M=e;f=j[a+4>>2];d=j[c>>2]-j[a>>2]|0;a:{if(d>>>0<2147483647){d=d<<1;break a}d=-1}g=d?d:4;h=j[b>>2];i=j[a>>2];d=vc((f|0)==78?0:j[a>>2],g);if(d){if((f|0)!=78){j[a>>2]=0}j[e+4>>2]=77;d=Da(e+8|0,d,e+4|0);ag(a,d);f=j[d>>2];j[d>>2]=0;if(f){O[j[d+4>>2]](f)}j[b>>2]=j[a>>2]+(h-i|0);j[c>>2]=j[a>>2]+(g&-4);M=e+16|0;return}Fa();z()}function Ig(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=M-16|0;M=g;e=c-b>>2;if(e>>>0<=1073741807){a:{if(e>>>0<=1){h[a+11|0]=e;d=a;break a}i=a;if(e>>>0>=2){d=e+4&-4;f=d-1|0;d=(f|0)==2?d:f}else{d=1}f=d+1|0;d=Rc(f);j[i>>2]=d;j[a+8>>2]=f|-2147483648;j[a+4>>2]=e}while(1){if((b|0)!=(c|0)){j[d>>2]=j[b>>2];d=d+4|0;b=b+4|0;continue}break}j[g+12>>2]=0;j[d>>2]=j[g+12>>2];M=g+16|0;return}X();z()}function Jg(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=M-16|0;M=g;e=c-b|0;if(e>>>0<=4294967279){a:{if(e>>>0<=10){h[a+11|0]=e;d=a;break a}i=a;if(e>>>0>=11){d=e+16&-16;f=d-1|0;d=(f|0)==11?d:f}else{d=10}f=d+1|0;d=U(f);j[i>>2]=d;j[a+8>>2]=f|-2147483648;j[a+4>>2]=e}while(1){if((b|0)!=(c|0)){h[d|0]=k[b|0];d=d+1|0;b=b+1|0;continue}break}h[g+15|0]=0;h[d|0]=k[g+15|0];M=g+16|0;return}X();z()}function Ai(a,b,c){var d=0,e=0,f=0,g=0;e=M-16|0;M=e;d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:1;a:{if(d>>>0>=c>>>0){if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}f=d;if(c){Ni(d,b,c)}j[e+12>>2]=0;j[(c<<2)+f>>2]=j[e+12>>2];b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}break a}f=a;g=d;d=c-d|0;if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}cf(f,g,d,a,0,a,c,b)}M=e+16|0}function jq(a,b,c,d,e){var f=0,g=0,i=0;f=M-32|0;M=f;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;a:{if(d){if((d|0)<=-1){break a}i=d<<1;g=U(i);j[f+16>>2]=g;d=(d<<1)+g|0;j[f+24>>2]=d;V(g,c,i);j[f+20>>2]=d}Oc(f+16|0,j[a+60>>2]);j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;da(f,f+16|0);wa(a,b,f,e,0,0);if(h[f+11|0]<=-1){T(j[f>>2])}a=j[f+16>>2];if(a){j[f+20>>2]=a;T(a)}M=f+32|0;return}X();z()}function dg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=M-16|0;M=e;f=j[a+4>>2];d=j[c>>2]-j[a>>2]|0;a:{if(d>>>0<2147483647){d=d<<1;break a}d=-1}g=d?d:1;h=j[b>>2];i=j[a>>2];d=vc((f|0)==78?0:j[a>>2],g);if(d){if((f|0)!=78){j[a>>2]=0}j[e+4>>2]=77;d=Da(e+8|0,d,e+4|0);ag(a,d);f=j[d>>2];j[d>>2]=0;if(f){O[j[d+4>>2]](f)}j[b>>2]=j[a>>2]+(h-i|0);j[c>>2]=g+j[a>>2];M=e+16|0;return}Fa();z()}function Bh(a,b){var c=0,d=0,e=0;c=Hc(a,b);if((c|0)==(a+4|0)){return}b=j[c+4>>2];a:{if(!b){d=j[c+8>>2];if(j[d>>2]==(c|0)){break a}b=c+8|0;while(1){d=j[b>>2];b=d+8|0;e=d;d=j[d+8>>2];if((e|0)!=j[d>>2]){continue}break}break a}while(1){d=b;b=j[d>>2];if(b){continue}break}}if(j[a>>2]==(c|0)){j[a>>2]=d}j[a+8>>2]=j[a+8>>2]-1;Ch(j[a+4>>2],c);if(h[c+27|0]<=-1){T(j[c+16>>2])}T(c)}function md(a,b,c){var d=0,e=0;if(c&2048){h[a|0]=43;a=a+1|0}if(c&1024){h[a|0]=35;a=a+1|0}d=c&260;if((d|0)!=260){h[a|0]=46;h[a+1|0]=42;a=a+2|0}c=c&16384;while(1){e=k[b|0];if(e){h[a|0]=e;a=a+1|0;b=b+1|0;continue}break}a:{b:{if((d|0)!=256){if((d|0)!=4){break b}b=c?70:102;break a}b=c?69:101;break a}b=c?65:97;if((d|0)==260){break a}b=c?71:103}h[a|0]=b;return(d|0)!=260}function ki(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(zb(a,j[b+8>>2],e)){if(!(j[b+28>>2]==1|j[b+4>>2]!=(c|0))){j[b+28>>2]=d}return}a:{if(!zb(a,j[b>>2],e)){break a}if(!(j[b+20>>2]!=(c|0)?j[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}j[b+32>>2]=1;return}j[b+20>>2]=c;j[b+32>>2]=d;j[b+40>>2]=j[b+40>>2]+1;if(!(j[b+36>>2]!=1|j[b+24>>2]!=2)){h[b+54|0]=1}j[b+44>>2]=4}}function Ic(a,b){var c=0,d=0,e=0,f=0;c=M-48|0;M=c;j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;d=W(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+8>>2]=f|-2147483648;j[c>>2]=e;j[c+4>>2]=d;break b}h[c+11|0]=d;e=c;if(!d){break a}}V(e,b,d)}h[d+e|0]=0;a=jb(a,c,0);if(h[c+11|0]<=-1){T(j[c>>2])}if(h[c+27|0]<=-1){T(j[c+16>>2])}M=c+48|0;return a}X();z()}function Fd(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;Iq(a,b,c);b=j[b>>2];a:{if(!b){break a}e=j[b+4208>>2];if(!e){break a}c=j[a>>2];if((c|0)==j[a+4>>2]){break a}b=0;while(1){j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;f=c;c=p(b,12);if(Yc(e,f+c|0,d)){ua(j[a>>2]+c|0,d)}if(h[d+11|0]<=-1){T(j[d>>2])}b=b+1|0;c=j[a>>2];if(b>>>0<(j[a+4>>2]-c|0)/12>>>0){continue}break}}M=d+16|0}function oe(a,b,c,d,e){var f=0,g=0,h=0;f=M-16|0;M=f;b=j[b+28>>2];j[f+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=rb(f+8|0);O[j[j[b>>2]+48>>2]](b,127600,127632,c)|0;b=Bc(f+8|0);g=d,h=O[j[j[b>>2]+12>>2]](b)|0,j[g>>2]=h;g=e,h=O[j[j[b>>2]+16>>2]](b)|0,j[g>>2]=h;O[j[j[b>>2]+20>>2]](a,b);a=j[f+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=f+16|0}function bb(a){var b=0,c=0,d=0,e=0,f=0;a:{b:{c:{d:{e:{f:{b=k[a+11|0];e=b<<24>>24;if((e|0)<=-1){b=j[a+4>>2];if(b){break f}break a}if(e){break e}break a}d=b-1|0;c=k[d+j[a>>2]|0];if((c|0)!=13){break d}break c}d=b-1|0;c=k[d+a|0];if((c|0)==13){break c}}f=b;if((c|0)!=10){break b}}f=d}c=f;if(b>>>0<2){break a}c=c-(k[(((e|0)<0?j[a>>2]:a)+b|0)-2|0]==13)|0}Wa(a,c)}function re(a,b,c,d,e){var f=0,g=0,i=0;f=M-16|0;M=f;b=j[b+28>>2];j[f+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(f+8|0);O[j[j[b>>2]+32>>2]](b,127600,127632,c)|0;b=Dc(f+8|0);g=d,i=O[j[j[b>>2]+12>>2]](b)|0,h[g|0]=i;g=e,i=O[j[j[b>>2]+16>>2]](b)|0,h[g|0]=i;O[j[j[b>>2]+20>>2]](a,b);a=j[f+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=f+16|0}function _o(a,b){var c=0,d=0,e=0,f=0;d=a+3|0;c=k[a+3|0];f=(c|0)!=0;e=c|(k[a+1|0]<<16|k[a|0]<<24|k[a+2|0]<<8);a=k[b|0]|k[b+1|0]<<8|(k[b+2|0]<<16|k[b+3|0]<<24);b=a<<24|a<<8&16711680|(a>>>8&65280|a>>>24);a:{if(!(!c|(e|0)==(b|0))){while(1){a=d+1|0;c=k[d+1|0];f=(c|0)!=0;e=c|e<<8;if((b|0)==(e|0)){break a}d=a;if(c){continue}break}break a}a=d}return f?a-3|0:0}function Mi(a,b){var c=0,d=0,e=0,f=0;e=M-16|0;M=e;if(b){d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}f=c+b|0;if(d-c>>>0>>0){pb(a,d,f-d|0,c,c,0,0)}d=c;if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}Xd(d+c|0,b,0);a:{if(k[a+11|0]>>>7|0){j[a+4>>2]=f;break a}h[a+11|0]=f}h[e+15|0]=0;h[c+f|0]=k[e+15|0]}M=e+16|0}function tq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a:{b:{if(j[b+64>>2]){if(!(O[j[j[b>>2]+24>>2]](b)|0)){break b}}break a}if(De(j[b+64>>2],j[c+8>>2],j[c+12>>2],0)){break a}d=j[c+4>>2];j[b+72>>2]=j[c>>2];j[b+76>>2]=d;b=j[c+12>>2];j[a+8>>2]=j[c+8>>2];j[a+12>>2]=b;b=j[c+4>>2];j[a>>2]=j[c>>2];j[a+4>>2]=b;return}j[a+8>>2]=-1;j[a+12>>2]=-1;j[a>>2]=0;j[a+4>>2]=0}function yd(a,b,c,d){var e=0,f=0;e=M-160|0;M=e;V(e+8|0,122072,144);a:{b:{if(b-1>>>0>=2147483647){if(b){break b}b=1;a=e+159|0}j[e+52>>2]=a;j[e+28>>2]=a;f=-2-a|0;b=b>>>0>f>>>0?f:b;j[e+56>>2]=b;a=a+b|0;j[e+36>>2]=a;j[e+24>>2]=a;a=rh(e+8|0,c,d,61,62);if(!b){break a}b=j[e+28>>2];h[b-((b|0)==j[e+24>>2])|0]=0;break a}j[37203]=61;a=-1}M=e+160|0;return a}function jl(a,b,c,d){var e=0,f=0;e=M+ -64|0;M=e;j[e+56>>2]=b;f=e+48|0;a:{b:while(1){if(c>>>0>>0){j[e+8>>2]=c;if((O[j[j[a>>2]+12>>2]](a,e+48|0,c,d,e+8|0,e+16|0,f,e+12|0)|0)==2){break a}b=e+16|0;if(j[e+8>>2]==(c|0)){break a}while(1)if(m[e+12>>2]<=b>>>0){c=j[e+8>>2];continue b}else{Qf(e+56|0,b);b=b+1|0;continue}}break}M=e- -64|0;return}Fa();z()}function Rd(a,b,c,d){h[a+53|0]=1;a:{if(j[a+4>>2]!=(c|0)){break a}h[a+52|0]=1;c=j[a+16>>2];if(!c){j[a+36>>2]=1;j[a+24>>2]=d;j[a+16>>2]=b;if((d|0)!=1|j[a+48>>2]!=1){break a}h[a+54|0]=1;return}if((b|0)==(c|0)){c=j[a+24>>2];if((c|0)==2){j[a+24>>2]=d;c=d}if(j[a+48>>2]!=1|(c|0)!=1){break a}h[a+54|0]=1;return}h[a+54|0]=1;j[a+36>>2]=j[a+36>>2]+1}}function wh(a,b,c,d){var e=0,f=0;if((d|0)==1){f=b;e=j[a+8>>2]-j[a+4>>2]|0;b=b-e|0;c=c-((e>>31)+(f>>>0>>0)|0)|0}a:{if(m[a+20>>2]>m[a+28>>2]){O[j[a+36>>2]](a,0,0)|0;if(!j[a+20>>2]){break a}}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;O[j[a+40>>2]](a,b,c,d)|0;if((N|0)<0){break a}j[a+4>>2]=0;j[a+8>>2]=0;j[a>>2]=j[a>>2]&-17;return 0}return-1}function em(a,b,c,d,e,f){var g=0,h=0;g=O[j[j[a+8>>2]+8>>2]](a+8|0)|0;a=g;h=j[g+4>>2];a:{if(k[g+11|0]>>>7|0){break a}h=k[a+11|0]}if(k[g+23|0]>>>7|0){a=j[g+16>>2]}else{a=k[g+23|0]}if((h|0)==(0-a|0)){j[e>>2]=j[e>>2]|4;return}a=qd(c,d,g,g+24|0,f,e,0)-g|0;c=j[b>>2];if(!(a|(c|0)!=12)){j[b>>2]=0;return}if(!((a|0)!=12|(c|0)>11)){j[b>>2]=c+12}}function Ol(a,b,c,d,e,f){var g=0,h=0;g=O[j[j[a+8>>2]+8>>2]](a+8|0)|0;a=g;h=j[g+4>>2];a:{if(k[g+11|0]>>>7|0){break a}h=k[a+11|0]}if(k[g+23|0]>>>7|0){a=j[g+16>>2]}else{a=k[g+23|0]}if((h|0)==(0-a|0)){j[e>>2]=j[e>>2]|4;return}a=pd(c,d,g,g+24|0,f,e,0)-g|0;c=j[b>>2];if(!(a|(c|0)!=12)){j[b>>2]=0;return}if(!((a|0)!=12|(c|0)>11)){j[b>>2]=c+12}}function Np(a){var b=0,c=0,d=0,e=0;b=M-16|0;M=b;e=j[a>>2];c=W(e);if(c>>>0<4294967280){a:{b:{if(c>>>0>=11){a=c+16&-16;d=U(a);j[b+8>>2]=a|-2147483648;j[b>>2]=d;j[b+4>>2]=c;a=b;break b}h[b+11|0]=c;a=b;d=b;if(!c){break a}}V(d,e,c)}e=0;h[c+d|0]=0;d=Hc(148800,b);if(h[a+11|0]<=-1){T(j[b>>2])}M=b+16|0;return(d|0)!=148804?j[d+28>>2]:e}X();z()}function mf(a,b,c){var d=0,e=0,f=0;f=M-16|0;M=f;d=a;if(k[d+11|0]>>>7|0){e=(j[d+8>>2]&2147483647)-1|0}else{e=10}a:{if(e>>>0>=c>>>0){e=k[d+11|0]>>>7|0?j[d>>2]:d;Kb(e,b,c);h[f+15|0]=0;h[c+e|0]=k[f+15|0];b:{if(k[d+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}break a}a=k[d+11|0]>>>7|0?j[a+4>>2]:k[a+11|0];cd(d,e,c-e|0,a,0,a,c,b)}M=f+16|0}function Nb(a,b,c,d,e){var f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;h=e;e=0;i=e;f=c;c=0;e=Cr(h,e,f,c);k=N;g=b;l=Cr(d,0,b,0);b=N;d=Cr(d,m,f,c);c=b+d|0;b=N;b=c>>>0>>0?b+1|0:b;f=b;d=b+e|0;b=k;b=d>>>0>>0?b+1|0:b;f=d;e=b;b=Cr(g,n,h,i)+c|0;d=N;d=b>>>0>>0?d+1|0:d;g=d;d=d+f|0;j[a+8>>2]=d;j[a+12>>2]=d>>>0>>0?e+1|0:e;j[a>>2]=l;j[a+4>>2]=b}function jh(a){var b=0;a:{b=j[a+4>>2];if(!j[(j[j[b>>2]-12>>2]+b|0)+24>>2]){break a}b=j[a+4>>2];if(j[(j[j[b>>2]-12>>2]+b|0)+16>>2]){break a}b=j[a+4>>2];if(!(j[(j[j[b>>2]-12>>2]+b|0)+4>>2]&8192)){break a}b=j[a+4>>2];b=j[(j[j[b>>2]-12>>2]+b|0)+24>>2];if((O[j[j[b>>2]+24>>2]](b)|0)!=-1){break a}a=j[a+4>>2];vd(j[j[a>>2]-12>>2]+a|0,1)}}function vh(a,b,c){var d=0,e=0,f=0;d=k[c+74|0];h[c+74|0]=d-1|d;d=j[c+4>>2];e=j[c+8>>2]-d|0;f=b;a:{if((e|0)<1){break a}f=d;d=b>>>0>e>>>0?e:b;V(a,f,d);j[c+4>>2]=d+j[c+4>>2];a=a+d|0;f=b-d|0}d=f;if(d){while(1){b:{if(!uh(c)){e=O[j[c+32>>2]](c,a,d)|0;if(e+1>>>0>1){break b}}return b-d|0}a=a+e|0;d=d-e|0;if(d){continue}break}}return b}function ta(a){var b=0,c=0,d=0,e=0,f=0;while(1){b=a;a=b+1|0;c=h[b|0];if((c|0)==32|c-9>>>0<5){continue}break}a:{b:{c:{c=h[b|0];switch(c-43|0){case 0:break b;case 2:break c;default:break a}}e=1}c=h[a|0];b=a;f=e}if(c-48>>>0<10){while(1){d=(p(d,10)-h[b|0]|0)+48|0;a=h[b+1|0];b=b+1|0;if(a-48>>>0<10){continue}break}}return f?d:0-d|0}function si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=M+ -64|0;M=d;e=1;a:{if(zb(a,b,0)){break a}e=0;if(!b){break a}b=ri(b);e=0;if(!b){break a}ya(d+8|4,0,52);j[d+56>>2]=1;j[d+20>>2]=-1;j[d+16>>2]=a;j[d+8>>2]=b;O[j[j[b>>2]+28>>2]](b,d+8|0,j[c>>2],1);a=j[d+32>>2];if((a|0)==1){j[c>>2]=j[d+24>>2]}e=(a|0)==1}a=e;M=d- -64|0;return a|0}function W(a){var b=0,c=0,d=0;a:{b:{b=a;if(!(b&3)){break b}if(!k[a|0]){return 0}while(1){b=b+1|0;if(!(b&3)){break b}if(k[b|0]){continue}break}break a}while(1){c=b;b=b+4|0;d=j[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}if(!(d&255)){return c-a|0}while(1){d=k[c+1|0];b=c+1|0;c=b;if(d){continue}break}}return b-a|0}function Le(a){var b=0,c=0,d=0;c=j[a+8>>2];if((c|0)>=1){while(1){b=j[j[a>>2]+(d<<2)>>2];if(b){if(h[b+59|0]<=-1){T(j[b+48>>2])}if(h[b+47|0]<0){T(j[b+36>>2])}if(h[b+35|0]<=-1){T(j[b+24>>2])}if(h[b+23|0]<=-1){T(j[b+12>>2])}if(h[b+11|0]<0){T(j[b>>2])}T(b);c=j[a+8>>2]}d=d+1|0;if((d|0)<(c|0)){continue}break}}T(j[a>>2]);return a}function lr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=j[a+44>>2];c=j[a+24>>2];if(d>>>0>>0){j[a+44>>2]=c;d=c}c=j[a+12>>2];e=-1;a:{if(c>>>0<=m[a+8>>2]){break a}if((b|0)==-1){j[a+16>>2]=d;j[a+12>>2]=c-1;return 0}if(!(k[a+48|0]&16)){e=-1;if(k[c-1|0]!=(b&255)){break a}}j[a+16>>2]=d;d=a;a=c-1|0;j[d+12>>2]=a;h[a|0]=b;e=b}return e|0}function iq(a,b,c,d){var e=0,f=0,g=0,i=0;e=M-16|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){g=f+16&-16;i=U(g);j[e+8>>2]=g|-2147483648;j[e>>2]=i;j[e+4>>2]=f;g=e;break b}h[e+11|0]=f;g=e;i=e;if(!f){break a}}V(i,c,f)}h[f+i|0]=0;Pc(e,j[a+52>>2]);wa(a,b,e,d,0,0);if(h[g+11|0]<=-1){T(j[e>>2])}M=e+16|0;return}X();z()}function Ri(a,b){var c=0,d=0,e=0,f=0,g=0;e=M-16|0;M=e;c=a+4|0;wc(a,a+2|0,c);d=a+6|0;while(1){if((b|0)!=(d|0)){if(l[d>>1]>1]){i[e+14>>1]=l[d>>1];g=d;while(1){a:{f=c;i[g>>1]=l[c>>1];if((a|0)==(c|0)){f=a;break a}g=f;c=f-2|0;if(l[e+14>>1]>1]){continue}}break}i[f>>1]=l[e+14>>1]}c=d;d=c+2|0;continue}break}M=e+16|0}function Pn(){var a=0,b=0,c=0,d=0;b=M-32|0;M=b;while(1){c=Qn(a,1<>2]=c;d=((c|0)!=0)+d|0;a=a+1|0;if((a|0)!=6){continue}break}a=123568;a:{b:{c:{switch(d|0){case 0:break a;case 1:break c;default:break b}}if(j[b+8>>2]!=123540){break b}a=123592;break a}a=0}M=b+32|0;return a}function Ip(a){a=a|0;var b=0;b=U(76);j[b+4>>2]=0;j[b+8>>2]=0;j[b+12>>2]=0;j[b+16>>2]=0;j[b+40>>2]=0;j[b+44>>2]=0;j[b+36>>2]=a;j[b+60>>2]=0;j[b+64>>2]=0;j[b+56>>2]=121508;j[b>>2]=b+4;j[b+20>>2]=0;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[b+48>>2]=0;j[b+68>>2]=0;j[b+72>>2]=0;Ka(b+40|0,121496);j[b+52>>2]=0;return b|0}function xi(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(b>>>0<=1073741807){a:{if(b>>>0<=1){h[a+11|0]=b;d=a;break a}g=a;if(b>>>0>=2){d=b+4&-4;e=d-1|0;d=(e|0)==2?d:e}else{d=1}e=d+1|0;d=Rc(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=b}if(b){Oi(d,c,b)}j[f+12>>2]=0;j[(b<<2)+d>>2]=j[f+12>>2];M=f+16|0;return}X();z()}function Si(a,b){var c=0,d=0,e=0,f=0,g=0;e=M-16|0;M=e;c=a+2|0;xc(a,a+1|0,c);d=a+3|0;while(1){if((b|0)!=(d|0)){if(h[d|0]>2]=b;b=6;a:{b:{if(Ra(a,f+8|0)){break b}b=4;h=d;e=j[a>>2];g=j[e+12>>2];c:{if((g|0)==j[e+16>>2]){e=O[j[j[e>>2]+36>>2]](e)|0;break c}e=j[g>>2]}if((O[j[j[d>>2]+52>>2]](h,e,0)|0)!=37){break b}b=2;if(!Ra(Na(a),f+8|0)){break a}}j[c>>2]=j[c>>2]|b}M=f+16|0}function Pl(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;j[e+8>>2]=b;while(1){a:{if(!kb(a,e+8|0)){break a}g=d;b=j[a>>2];f=j[b+12>>2];b:{if((f|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break b}b=j[f>>2]}if(!(O[j[j[d>>2]+12>>2]](g,8192,b)|0)){break a}Na(a);continue}break}if(Ra(a,e+8|0)){j[c>>2]=j[c>>2]|2}M=e+16|0}function Bi(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(c>>>0<=1073741807){a:{if(c>>>0<=1){h[a+11|0]=c;d=a;break a}g=a;if(c>>>0>=2){d=c+4&-4;e=d-1|0;d=(e|0)==2?d:e}else{d=1}e=d+1|0;d=Rc(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=c}sc(d,b,c);j[f+12>>2]=0;j[(c<<2)+d>>2]=j[f+12>>2];M=f+16|0;return}X();z()}function Od(a){var b=0;b=1;a:{if((a|0)>=1024){b=8.98846567431158e+307;if((a|0)<2047){a=a-1023|0;break a}b=B;a=((a|0)<3069?a:3069)-2046|0;break a}if((a|0)>-1023){break a}b=2.2250738585072014e-308;if((a|0)>-2045){a=a+1022|0;break a}b=0;a=((a|0)>-3066?a:-3066)+2044|0}Hr(0,0);Hr(1,a+1023<<20);return b*+Ir()}function Yd(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(c>>>0<=4294967279){a:{if(c>>>0<=10){h[a+11|0]=c;d=a;break a}g=a;if(c>>>0>=11){d=c+16&-16;e=d-1|0;d=(e|0)==11?d:e}else{d=10}e=d+1|0;d=U(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=c}ac(d,b,c);h[f+15|0]=0;h[c+d|0]=k[f+15|0];M=f+16|0;return}X();z()}function Mh(a,b,c,d){var e=0,f=0,g=0;e=M-32|0;M=e;j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;a:{if((W(c)|0)<2){break a}f=j[a+44>>2];if(!f){break a}f=f+4216|0;if(j[f>>2]==j[f+4>>2]){break a}g=C()|0;j[e+8>>2]=100;j[e+12>>2]=g;Ke(a,c,e+16|0,0,b,d,f,e+8|0,e+12|0);if(h[e+27|0]>-1){break a}T(j[e+16>>2])}M=e+32|0}function Kf(a){a=a|0;var b=0,c=0,d=0,e=0;j[a>>2]=127888;b=a+16|0;while(1){if(j[b+4>>2]-j[b>>2]>>2>>>0>c>>>0){if(j[j[b>>2]+(c<<2)>>2]){d=j[j[b>>2]+(c<<2)>>2];e=j[d+4>>2]-1|0;j[d+4>>2]=e;if((e|0)==-1){O[j[j[d>>2]+8>>2]](d)}}c=c+1|0;continue}break}Y(a+176|0);if(j[b>>2]){Mf(b);sf(b+32|0,j[b>>2])}return a|0}function Ci(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(b>>>0<=4294967279){a:{if(b>>>0<=10){h[a+11|0]=b;d=a;break a}g=a;if(b>>>0>=11){d=b+16&-16;e=d-1|0;d=(e|0)==11?d:e}else{d=10}e=d+1|0;d=U(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=b}Xd(d,b,c);h[f+15|0]=0;h[b+d|0]=k[f+15|0];M=f+16|0;return}X();z()}function $l(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-32|0;M=g;h=j[31963];j[g+24>>2]=j[31962];j[g+28>>2]=h;h=j[31961];j[g+16>>2]=j[31960];j[g+20>>2]=h;h=j[31959];j[g+8>>2]=j[31958];j[g+12>>2]=h;h=j[31957];j[g>>2]=j[31956];j[g+4>>2]=h;a=Yb(a,b,c,d,e,f,g,g+32|0);M=g+32|0;return a|0}function bi(a,b){i[a+60>>1]=0;j[a+52>>2]=0;j[a+56>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[a+68>>2]=0;j[a+72>>2]=0;j[a+64>>2]=b;j[a>>2]=1072;j[a+12>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+76>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;j[a+88>>2]=0;j[a+92>>2]=0;j[a+96>>2]=0;j[a+100>>2]=0;j[a+104>>2]=0}function al(a){var b=0,c=0,d=0;c=M-32|0;M=c;a:{if(j[37688]-j[37685]>>2>>>0>=a>>>0){Nf(a);break a}b=jj(c+8|0,kj((j[37685]-j[37684]>>2)+a|0),j[37685]-j[37684]>>2);ij(b,a);hj(b);a=b;d=j[a+4>>2];while(1){if(j[a+8>>2]!=(d|0)){j[a+8>>2]=j[a+8>>2]-4;continue}break}if(j[b>>2]){sf(j[b+16>>2],j[b>>2])}}M=c+32|0}function Cb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=M-16|0;M=d;g=a;h=a;a:{if(!b){b=0;break a}c=b>>31;e=c+b^c;c=s(e);mb(d,e,0,0,0,c+81|0);e=0+j[d+8>>2]|0;c=(j[d+12>>2]^65536)+(16414-c<<16)|0;c=e>>>0>>0?c+1|0:c;f=b&-2147483648|c;c=j[d+4>>2];b=j[d>>2]}j[h>>2]=b;j[g+4>>2]=c;j[a+8>>2]=e;j[a+12>>2]=f;M=d+16|0}function xk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=M-16|0;M=f;j[e>>2]=c;a=ge(f+12|0,0,j[a+8>>2]);c=2;a:{if(a+1>>>0<2){break a}b=a-1|0;c=1;if(b>>>0>d-j[e>>2]>>>0){break a}c=f+12|0;while(1){if(b){a=k[c|0];d=j[e>>2];j[e>>2]=d+1;h[d|0]=a;b=b-1|0;c=c+1|0;continue}break}c=0}M=f+16|0;return c|0}function Vh(a,b){var c=0,d=0,e=0,f=0;c=M-16|0;M=c;if(Re(a,b)){j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;a:{if(!j[a+16>>2]){d=k[b+11|0];d=d<<24>>24<0?j[b+4>>2]:d;e=Nc(b,j[a+52>>2]);break a}d=ia(c,b);e=Mc(c,j[a+24>>2]);f=j[c>>2];if(!f){break a}j[c+4>>2]=f;T(f)}Lc(a,b,d,0,0,0,0,e);Se(a,b,d,0,0,0,e)}M=c+16|0}function $o(a,b){var c=0,d=0,e=0,f=0;d=a+2|0;c=k[a+2|0];e=(c|0)!=0;a=k[a+1|0]<<16|k[a|0]<<24|c<<8;f=k[b+1|0]<<16|k[b|0]<<24|k[b+2|0]<<8;a:{if(!(!c|(a|0)==(f|0))){while(1){b=d+1|0;c=k[d+1|0];e=(c|0)!=0;a=(a|c)<<8;if((f|0)==(a|0)){break a}d=b;if(c){continue}break}break a}b=d}return e?b-2|0:0}function xh(a){var b=0,c=0,d=0,e=0,f=0;b=j[a+40>>2];c=O[b|0](a,0,0,k[a|0]&128?m[a+20>>2]>m[a+28>>2]?2:1:1)|0;b=N;d=b;if((b|0)>0?1:(b|0)>=0){e=j[a+20>>2]-j[a+28>>2]|0;a=j[a+8>>2]-j[a+4>>2]|0;f=c-a|0;b=e+f|0;a=(d-((a>>31)+(c>>>0>>0)|0)|0)+(e>>31)|0;c=b;d=b>>>0>>0?a+1|0:a}N=d;return c}function ai(a,b,c){var d=0;a:{b:{c:{d=k[b|0]|k[b+1|0]<<8;if((d|0)!=73){break c}c=c-90|0;if(c>>>0>12|!(1<>1];if((d|0)==(c|0)){break a}d=c>>>8|0}h[b|0]=c;h[b+1|0]=d}b=k[b|0]|k[b+1|0]<<8;h[a|0]=b;h[a+1|0]=b>>>8}function ue(a){var b=0,c=0,d=0,e=0;e=W(a);a:{if(!j[37227]|!k[a|0]){break a}if(Ya(a,61)){break a}b=j[j[37227]>>2];if(!b){break a}b:{while(1){d=Eb(a,b,e);b=j[37227];if(!d){d=j[b+(c<<2)>>2]+e|0;if(k[d|0]==61){break b}}c=c+1|0;b=j[b+(c<<2)>>2];if(b){continue}break}return 0}c=d+1|0}return c}function Xh(a,b){var c=0,d=0;c=j[a+8>>2];if((c|0)!=(b|0)){while(1){d=c-60|0;j[a+8>>2]=d;if(h[d+59|0]<=-1){T(j[d+48>>2])}if(h[c-13|0]<0){T(j[c-24>>2])}if(h[c-25|0]<=-1){T(j[c-36>>2])}if(h[c-37|0]<=-1){T(j[c-48>>2])}if(h[d+11|0]<0){T(j[d>>2])}c=j[a+8>>2];if((c|0)!=(b|0)){continue}break}}}function Ec(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=M-16|0;M=c;g=a;h=a;a:{if(!b){b=0;e=0;break a}d=b;b=s(b);mb(c,d,0,0,0,b+81|0);d=0+j[c+8>>2]|0;b=(j[c+12>>2]^65536)+(16414-b<<16)|0;b=d>>>0>>0?b+1|0:b;f=d;d=b;b=j[c+4>>2];e=j[c>>2]}j[h>>2]=e;j[g+4>>2]=b;j[a+8>>2]=f;j[a+12>>2]=d;M=c+16|0}function mi(a,b){var c=0,d=0,e=0;c=Ba(a,10,0);if((c|0)!=-1){while(1){d=k[b+11|0];e=d<<24>>24<0;Ji(a,c,e?j[b>>2]:b,e?j[b+4>>2]:d);d=c;c=k[b+11|0];c=Ba(a,10,(d+(c<<24>>24<0?j[b+4>>2]:c)|0)+1|0);if((c|0)!=-1){continue}break}}d=a;a=k[b+11|0];c=a<<24>>24<0;aa(d,c?j[b>>2]:b,c?j[b+4>>2]:a)}function vb(a,b){var c=0;a:{c=j[a>>2];if((c|0)==j[a+4>>2]){break a}b:{c:{a=k[c|0]|k[c+1|0]<<8;if((a|0)!=105){break c}b=b-90|0;if(b>>>0>12|!(1<>1];if((a|0)==(b|0)){break a}a=b>>>8|0}h[c|0]=b;h[c+1|0]=a}}function _l(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=a;h=b;b=O[j[j[a+8>>2]+20>>2]](a+8|0)|0;a=b;if(k[b+11|0]>>>7|0){a=j[a>>2]}i=a;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}return Yb(g,h,c,d,e,f,i,a+(b<<2)|0)|0}function wr(a,b){var c=0;a:{c=j[a>>2];if((c|0)==j[a+4>>2]){break a}b:{c:{a=k[c|0]|k[c+1|0]<<8;if((a|0)!=73){break c}b=b-90|0;if(b>>>0>12|!(1<>1];if((a|0)==(b|0)){break a}a=b>>>8|0}h[c|0]=b;h[c+1|0]=a}}function tk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;while(1){a:{if((c|0)==(d|0)|e>>>0<=g>>>0){break a}f=1;b:{c:{h=sk(c,d-c|0,b,j[a+8>>2]);switch(h+2|0){case 0:case 1:break a;case 2:break b;default:break c}}f=h}g=g+1|0;i=f+i|0;c=c+f|0;continue}break}return i|0}function Zh(a){var b=0,c=0;b=j[a+4>>2];c=j[a>>2];if((b|0)!=(c|0)){while(1){if(h[b-1|0]<=-1){T(j[b-12>>2])}if(h[b-13|0]<0){T(j[b-24>>2])}if(h[b-25|0]<=-1){T(j[b-36>>2])}if(h[b-37|0]<=-1){T(j[b-48>>2])}b=b-60|0;if(h[b+11|0]<0){T(j[b>>2])}if((b|0)!=(c|0)){continue}break}}j[a+4>>2]=c}function Ag(a,b,c){var d=0,e=q(0),f=0;d=M-16|0;M=d;a:{if((a|0)!=(b|0)){f=j[37203];j[37203]=0;ra();e=Jn(a,d+12|0);a=j[37203];b:{if(a){if(j[d+12>>2]!=(b|0)){break b}if((a|0)!=68){break a}j[c>>2]=4;break a}j[37203]=f;if(j[d+12>>2]==(b|0)){break a}}}j[c>>2]=4;e=q(0)}M=d+16|0;return e}function qm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=a;h=b;b=O[j[j[a+8>>2]+20>>2]](a+8|0)|0;a=b;if(k[b+11|0]>>>7|0){a=j[a>>2]}i=a;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}return Zb(g,h,c,d,e,f,i,a+b|0)|0}function ca(a,b){var c=0,d=0;c=h[b|0];if(!c){return a}a=Ya(a,c);a:{if(!a){break a}if(!k[b+1|0]){return a}if(!k[a+1|0]){break a}if(!k[b+2|0]){return ap(a,b)}if(!k[a+2|0]){break a}if(!k[b+3|0]){return $o(a,b)}if(!k[a+3|0]){break a}if(!k[b+4|0]){return _o(a,b)}d=Yo(a,b)}return d}function Fh(a){var b=0,c=0;a:{if(!a|!k[a|0]){break a}b=ca(a,121425);b:{if(b){break b}b=ca(a,121413);if(b){break b}b=ca(a,121417);if(!b){break a}}while(1){a=b+1|0;b=ca(a,121425);c:{if(b){break c}b=ca(a,121413);if(b){break c}b=ca(a,121417)}c=c+1|0;if(b){continue}break}}return c}function pm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=sb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}pg(a,f+24|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function om(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=sb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}og(a,f+16|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function Zl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=rb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}mg(a,f+24|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function Yl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=rb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}lg(a,f+16|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function zg(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;a:{if((a|0)!=(b|0)){f=j[37203];j[37203]=0;ra();e=In(a,d+12|0);a=j[37203];b:{if(a){if(j[d+12>>2]!=(b|0)){break b}if((a|0)!=68){break a}j[c>>2]=4;break a}j[37203]=f;if(j[d+12>>2]==(b|0)){break a}}}j[c>>2]=4;e=0}M=d+16|0;return e}function Di(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;j[d+12>>2]=j[a+4>>2];j[d+8>>2]=j[b+4>>2];c=M-16|0;M=c;M=c+16|0;c=d+8|0;e=d+12|0;c=ke(j[a>>2],j[b>>2],j[(m[c>>2]>2]?c:e)>>2]);a:{if(c){break a}c=0;if(j[a+4>>2]==j[b+4>>2]){break a}c=m[a+4>>2]>2]?-1:1}M=d+16|0;return c}function Zi(a,b){a=a|0;b=b|0;var c=0;if(j[a+8>>2]==j[a+12>>2]){return-1}if((b|0)==-1){j[a+12>>2]=j[a+12>>2]-1;return 0}a:{b:{if(k[a+32|0]&2){c=-1;if(k[j[a+12>>2]-1|0]!=(b&255)){break a}j[a+12>>2]=j[a+12>>2]-1;break b}j[a+12>>2]=j[a+12>>2]-1;h[j[a+12>>2]]=b}c=b}return c|0}function Gc(a,b,c){var d=0,e=0,f=0;a:{if(b>>>0<1){d=a;break a}while(1){d=Dr(a,b,10);e=N;f=e;e=Cr(d,e,10,0);c=c-1|0;h[c|0]=a-e|48;e=b>>>0>9;a=d;b=f;if(e){continue}break}}if(d){while(1){c=c-1|0;a=(d>>>0)/10|0;h[c|0]=d-p(a,10)|48;b=d>>>0>9;d=a;if(b){continue}break}}return c}function nm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;a=M-16|0;M=a;j[a+8>>2]=b;b=j[d+28>>2];j[a>>2]=b;j[b+4>>2]=j[b+4>>2]+1;g=sb(a);b=j[a>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}ng(f+20|0,a+8|0,c,e,g);M=a+16|0;return j[a+8>>2]}function Xl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;a=M-16|0;M=a;j[a+8>>2]=b;b=j[d+28>>2];j[a>>2]=b;j[b+4>>2]=j[b+4>>2]+1;g=rb(a);b=j[a>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}jg(f+20|0,a+8|0,c,e,g);M=a+16|0;return j[a+8>>2]}function Ee(a){var b=0,c=0;a:{if(m[a+20>>2]<=m[a+28>>2]){break a}O[j[a+36>>2]](a,0,0)|0;if(j[a+20>>2]){break a}return-1}b=j[a+4>>2];c=j[a+8>>2];if(b>>>0>>0){b=b-c|0;O[j[a+40>>2]](a,b,b>>31,1)|0}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;return 0}function Hi(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;d=d-c|0;a:{if(!d){b=a;break a}if((d|0)>(b-a|0)){break a}h[e+15|0]=k[c|0];g=1-d|0;while(1){f=b-a|0;if((d|0)>(f|0)){break a}a=hf(a,g+f|0,e+15|0);if(!a){break a}if(ke(a,c,d)){a=a+1|0;continue}break}b=a}M=e+16|0;return b}function ap(a,b){var c=0,d=0,e=0,f=0;c=k[a+1|0];e=(c|0)!=0;a:{if(!c){break a}c=c|k[a|0]<<8;f=k[b+1|0]|k[b|0]<<8;if((c|0)==(f|0)){break a}b=a+1|0;while(1){a=b;d=k[a+1|0];e=(d|0)!=0;if(!d){break a}b=a+1|0;c=c<<8&65280|d;if((f|0)!=(c|0)){continue}break}}return e?a:0}function To(a){var b=0,c=0,d=0,e=0;e=j[a+76>>2]>=0;d=j[a>>2]&1;if(!d){b=j[a+52>>2];if(b){j[b+56>>2]=j[a+56>>2]}c=j[a+56>>2];if(c){j[c+52>>2]=b}if(j[37225]==(a|0)){j[37225]=c}}Fe(a);O[j[a+12>>2]](a)|0;b=j[a+96>>2];if(b){T(b)}a:{if(!d){T(a);break a}if(!e){break a}}}function sh(a,b){var c=0,d=0,e=0;Jr(+a);c=Gr(1)|0;d=Gr(0)|0;e=c;c=c>>>20&2047;if((c|0)!=2047){if(!c){c=b;if(a==0){b=0}else{a=sh(a*0x10000000000000000,b);b=j[b>>2]+ -64|0}j[c>>2]=b;return a}j[b>>2]=c-1022;Hr(0,d|0);Hr(1,e&-2146435073|1071644672);a=+Ir()}return a}function oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(zb(a,j[b+8>>2],0)){Sd(b,c,d);return}e=j[a+12>>2];f=a+16|0;af(f,b,c,d);a:{if((e|0)<2){break a}e=(e<<3)+f|0;a=a+24|0;while(1){af(a,b,c,d);a=a+8|0;if(e>>>0<=a>>>0){break a}if(!k[b+54|0]){continue}break}}}function sa(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+12>>2]=d;d=k[b+11|0]>>>7|0?j[b+4>>2]:k[b+11|0];if(d>>>0>>0){X();z()}b=k[b+11|0]>>>7|0?j[b>>2]:b;j[e+4>>2]=d-c;d=M-16|0;M=d;M=d+16|0;d=b+c|0;b=e+4|0;c=e+12|0;Yd(a,d,j[(m[b>>2]>2]?b:c)>>2]);M=e+16|0;return a}function Tc(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;b=j[b+28>>2];j[d+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=Bc(d+8|0);e=c,f=O[j[j[b>>2]+16>>2]](b)|0,j[e>>2]=f;O[j[j[b>>2]+20>>2]](a,b);a=j[d+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=d+16|0}function Wc(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;b=j[b+28>>2];j[d+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=Dc(d+8|0);e=c,f=O[j[j[b>>2]+16>>2]](b)|0,h[e|0]=f;O[j[j[b>>2]+20>>2]](a,b);a=j[d+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=d+16|0}function Bn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;a:{while(1){if((d|0)!=(e|0)){a=-1;if((b|0)==(c|0)){break a}f=j[b>>2];g=j[d>>2];if((f|0)<(g|0)){break a}if((f|0)>(g|0)){return 1}else{d=d+4|0;b=b+4|0;continue}}break}a=(b|0)!=(c|0)}return a|0}function En(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;a:{while(1){if((d|0)!=(e|0)){a=-1;if((b|0)==(c|0)){break a}f=h[b|0];g=h[d|0];if((f|0)<(g|0)){break a}if((f|0)>(g|0)){return 1}else{d=d+1|0;b=b+1|0;continue}}break}a=(b|0)!=(c|0)}return a|0}function lc(a){a=a|0;var b=0;j[a>>2]=121328;b=j[a+64>>2];if(b){Oh(a);To(b);j[a+64>>2]=0;O[j[j[a>>2]+12>>2]](a,0,0)|0}a:{if(!k[a+96|0]){break a}b=j[a+32>>2];if(!b){break a}T(b)}b:{if(!k[a+97|0]){break b}b=j[a+56>>2];if(!b){break b}T(b)}ib(a);return a|0}function Rn(){var a=0,b=0;a=M-16|0;M=a;a:{if(J(a+12|0,a+8|0)|0){break a}b=ja((j[a+12>>2]<<2)+4|0);j[37227]=b;if(!b){break a}b=ja(j[a+8>>2]);if(!b){j[37227]=0;break a}j[j[37227]+(j[a+12>>2]<<2)>>2]=0;if(!(I(j[37227],b|0)|0)){break a}j[37227]=0}M=a+16|0}function uh(a){var b=0,c=0;b=k[a+74|0];h[a+74|0]=b-1|b;if(m[a+20>>2]>m[a+28>>2]){O[j[a+36>>2]](a,0,0)|0}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;b=j[a>>2];if(b&4){j[a>>2]=b|32;return-1}c=j[a+44>>2]+j[a+48>>2]|0;j[a+8>>2]=c;j[a+4>>2]=c;return b<<27>>31}function rq(a,b){a=a|0;b=b|0;var c=0,d=0;c=-1;a:{if(!j[a+64>>2]){break a}d=j[a+12>>2];if(d>>>0<=m[a+8>>2]){break a}if((b|0)==-1){j[a+12>>2]=d-1;return 0}if(k[d-1|0]!=(b&255)?!(k[a+88|0]&16):0){break a}c=a;a=d-1|0;j[c+12>>2]=a;h[a|0]=b;c=b}return c|0}function jc(a,b,c,d){var e=0;if(d&2048){h[a|0]=43;a=a+1|0}if(d&512){h[a|0]=35;a=a+1|0}while(1){e=k[b|0];if(e){h[a|0]=e;a=a+1|0;b=b+1|0;continue}break}e=d&74;b=111;a:{if((e|0)==64){break a}b=d&16384?88:120;if((e|0)==8){break a}b=c?100:117}h[a|0]=b}function am(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=M-16|0;M=e;j[e+8>>2]=b;b=6;a:{b:{if(Sa(a,e+8|0)){break b}b=4;if(((g=d,h=Ga(a),i=0,f=j[j[d>>2]+36>>2],O[f](g|0,h|0,i|0)|0)|0)!=37){break b}b=2;if(!Sa(Oa(a),e+8|0)){break a}}j[c>>2]=j[c>>2]|b}M=e+16|0}function fm(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+8>>2]=b;while(1){a:{if(!lb(a,e+8|0)){break a}b=Ga(a);if((b|0)>=0){b=(l[j[d+8>>2]+((b&255)<<1)>>1]&8192)!=0}else{b=0}if(!b){break a}Oa(a);continue}break}if(Sa(a,e+8|0)){j[c>>2]=j[c>>2]|2}M=e+16|0}function mr(a){a=a|0;var b=0,c=0,d=0;b=j[a+44>>2];c=j[a+24>>2];if(b>>>0>>0){j[a+44>>2]=c;b=c}d=-1;a:{if(!(k[a+48|0]&8)){break a}c=j[a+16>>2];if(c>>>0>>0){j[a+16>>2]=b}else{b=c}a=j[a+12>>2];if(a>>>0>=b>>>0){break a}d=k[a|0]}return d|0}function vc(a,b){var c=0,d=0;if(!a){return ja(b)}if(b>>>0>=4294967232){j[37203]=48;return 0}c=gi(a-8|0,b>>>0<11?16:b+11&-8);if(c){return c+8|0}c=ja(b);if(!c){return 0}d=j[a-4>>2];d=(d&3?-4:-8)+(d&-8)|0;V(c,a,b>>>0>d>>>0?d:b);T(a);return c}function tl(a,b,c){var d=0;d=M-32|0;M=d;j[d+16>>2]=b;j[d+24>>2]=a;j[d+8>>2]=c;while(1){a=j[d+24>>2]==j[d+16>>2]^1;if(!(!a|j[j[d+24>>2]>>2]!=j[j[d+8>>2]>>2])){j[d+24>>2]=j[d+24>>2]+4;j[d+8>>2]=j[d+8>>2]+4;continue}break}M=d+32|0;return a^1}function oq(a){var b=0,c=0,d=0;ya(a+16|0,255,1024);d=j[a+4>>2];while(1){a:{b=p(c,12)+d|0;b:{if(h[b+11|0]<=-1){b=k[j[b>>2]];if(b){break b}break a}b=k[b|0];if(!b){break a}}b=(b<<2)+a|0;if(j[b+16>>2]<=-1){j[b+16>>2]=c}c=c+2|0;continue}break}}function Lg(a,b,c,d,e){var f=0;f=M-144|0;M=f;j[f+44>>2]=a;j[f+4>>2]=a;j[f>>2]=0;j[f+76>>2]=-1;j[f+8>>2]=(a|0)<0?-1:a+2147483647|0;Ib(f,0,0);c=Tg(f,c,1,d,e);d=N;if(b){j[b>>2]=((j[f+4>>2]+j[f+120>>2]|0)-j[f+8>>2]|0)+a}M=f+144|0;N=d;return c}function wc(a,b,c){var d=0,e=0;e=l[c>>1]>1];a:{b:{if(l[b>>1]>=l[a>>1]){d=0;if(!e){break a}$a(b,c);d=1;if(l[b>>1]>=l[a>>1]){break a}$a(a,b);break b}if(e){$a(a,c);return 1}$a(a,b);d=1;if(l[c>>1]>=l[b>>1]){break a}$a(b,c)}d=2}return d}function lh(a){var b=0,c=0,d=0;b=M-16|0;M=b;if(j[(j[j[a>>2]-12>>2]+a|0)+24>>2]){c=kh(b+8|0,a);a:{if(!k[c|0]){break a}d=j[(j[j[a>>2]-12>>2]+a|0)+24>>2];if((O[j[j[d>>2]+24>>2]](d)|0)!=-1){break a}vd(j[j[a>>2]-12>>2]+a|0,1)}jh(c)}M=b+16|0}function Nm(a,b){var c=0,d=0;c=M-16|0;M=c;a=j[a+28>>2];j[c+8>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=rb(c+8|0);O[j[j[a>>2]+48>>2]](a,127600,127626,b)|0;a=j[c+8>>2];d=j[a+4>>2]-1|0;j[a+4>>2]=d;if((d|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=c+16|0;return b}function Nf(a){var b=0,c=0;b=M-16|0;M=b;j[b>>2]=150736;c=j[37685];j[b+4>>2]=c;j[b+8>>2]=(a<<2)+c;a=j[b+4>>2];while(1){if(j[b+8>>2]!=(a|0)){j[j[b+4>>2]>>2]=0;a=j[b+4>>2]+4|0;j[b+4>>2]=a;continue}break}j[j[b>>2]+4>>2]=j[b+4>>2];M=b+16|0}function Ei(a,b,c,d,e,f){var g=0,h=0;g=M-48|0;M=g;h=j[d+4>>2];j[g+40>>2]=j[d>>2];j[g+44>>2]=h;ff(g+24|0,a);ef(g+32|0,g+24|0,b,c);ef(g+16|0,g+40|0,e,f);a=j[g+20>>2];j[g+8>>2]=j[g+16>>2];j[g+12>>2]=a;a=Di(g+32|0,g+8|0);M=g+48|0;return a}function kj(a){var b=0,c=0;c=M-16|0;M=c;j[c+12>>2]=a;b=a;a=uf();if(b>>>0<=a>>>0){b=j[37688]-j[37684]>>2;if(b>>>0>>1>>>0){j[c+8>>2]=b<<1;a=M-16|0;M=a;M=a+16|0;a=c+12|0;b=c+8|0;a=j[(m[b>>2]>2]?a:b)>>2]}M=c+16|0;return a}X();z()}function zl(a,b,c){var d=0;d=M-32|0;M=d;j[d+16>>2]=b;j[d+24>>2]=a;j[d+8>>2]=c;while(1){a=j[d+24>>2]==j[d+16>>2]^1;if(!(!a|k[j[d+24>>2]]!=k[j[d+8>>2]])){j[d+24>>2]=j[d+24>>2]+1;j[d+8>>2]=j[d+8>>2]+1;continue}break}M=d+32|0;return a^1}function ij(a,b){var c=0,d=0;c=M-16|0;M=c;j[c>>2]=j[a+8>>2];d=j[a+8>>2];j[c+8>>2]=a+8;j[c+4>>2]=(b<<2)+d;b=j[c>>2];while(1){if(j[c+4>>2]!=(b|0)){j[j[c>>2]>>2]=0;b=j[c>>2]+4|0;j[c>>2]=b;continue}break}j[j[c+8>>2]>>2]=j[c>>2];M=c+16|0}function Eb(a,b,c){var d=0,e=0,f=0;if(!c){return 0}d=k[a|0];a:{if(!d){break a}while(1){b:{e=k[b|0];if((e|0)!=(d|0)){break b}c=c-1|0;if(!c|!e){break b}b=b+1|0;d=k[a+1|0];a=a+1|0;if(d){continue}break a}break}f=d}return(f&255)-k[b|0]|0}function Bb(a,b,c){c=j[c+4>>2]&176;if((c|0)==32){return b}a:{if((c|0)!=16){break a}b:{c:{c=k[a|0];switch(c-43|0){case 0:case 2:break c;default:break b}}return a+1|0}if((c|0)!=48|(b-a|0)<2|(k[a+1|0]|32)!=120){break a}a=a+2|0}return a}function yr(a,b){var c=0,d=0,e=0;c=k[b|0]|k[b+1|0]<<8;a:{if((c|0)!=105){break a}}d=j[37199];b:{if(!d){break b}e=c;c=l[(d+p(c,6)|0)+2>>1];if((e|0)==(c|0)){break b}h[b|0]=c;h[b+1|0]=c>>>8}b=k[b|0]|k[b+1|0]<<8;h[a|0]=b;h[a+1|0]=b>>>8}function Xb(a,b){var c=0,d=0,e=0,f=0;c=j[a+4096>>2];d=j[c>>2];a:{if((d|0)==j[c+4>>2]){break a}c=0;while(1){e=dc(j[(c<<2)+d>>2],b);if(e){break a}f=j[a+4096>>2];d=j[f>>2];c=c+1|0;if(c>>>0>2]-d>>2>>>0){continue}break}}return e}function so(a,b){var c=0,d=0;c=M-32|0;M=c;h[a|0]=0;d=j[j[b>>2]-12>>2]+b|0;a:{if(!j[(j[j[b>>2]-12>>2]+b|0)+16>>2]){if(j[d+72>>2]){lh(j[(j[j[b>>2]-12>>2]+b|0)+72>>2])}h[a|0]=!j[(j[j[b>>2]-12>>2]+b|0)+16>>2];break a}vd(d,4)}M=c+32|0}function Va(a){var b=0,c=0;a:{c=k[a+11|0];b=c<<24>>24<0;c=b?j[a+4>>2]:c;if(!c){break a}a=b?j[a>>2]:a;b=(c+a|0)-1|0;if(a>>>0>=b>>>0){break a}while(1){c=k[a|0];h[a|0]=k[b|0];h[b|0]=c;a=a+1|0;b=b-1|0;if(a>>>0>>0){continue}break}}}function xc(a,b,c){var d=0,e=0;e=h[c|0]=h[a|0]){d=0;if(!e){break a}Xa(b,c);d=1;if(h[b|0]>=h[a|0]){break a}Xa(a,b);break b}if(e){Xa(a,c);return 1}Xa(a,b);d=1;if(h[c|0]>=h[b|0]){break a}Xa(b,c)}d=2}return d}function ko(a){var b=0,c=0,d=0;b=M-16|0;M=b;a=j[a+28>>2];j[b+8>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=sb(b+8|0);d=O[j[j[a>>2]+28>>2]](a,32)|0;a=j[b+8>>2];c=j[a+4>>2]-1|0;j[a+4>>2]=c;if((c|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=b+16|0;return d}function Zc(a){a=a|0;var b=0;j[a>>2]=1032;if(k[a+29|0]&16){T(j[a+48>>2])}b=j[a+52>>2];if(!(!b|k[a+29|0]&8)){T(b)}b=j[a+56>>2];if(!(!b|k[a+29|0]&4)){T(b)}if(h[a+27|0]<=-1){T(j[a+16>>2])}if(h[a+15|0]<=-1){T(j[a+4>>2])}return a|0}function Hl(a,b,c,d,e,f){var g=0;g=M-144|0;M=g;j[g+28>>2]=g+132;ig(a,g+32|0,g+28|0,d,e,f);j[g+16>>2]=0;j[g+20>>2]=0;j[g+12>>2]=g+32;a=Fl(b,g+12|0,j[c>>2]-b>>2,g+16|0,j[a>>2]);if((a|0)==-1){Fa();z()}j[c>>2]=(a<<2)+b;M=g+144|0}function kq(a){var b=0;j[a+44>>2]=0;b=j[a>>2];if(b){T(b)}j[a>>2]=0;j[a+4>>2]=0;b=j[a+20>>2];if(b){T(b)}j[a+48>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;b=j[a+28>>2];if(b){j[a+32>>2]=b;T(b)}b=j[a+8>>2];if(b){j[a+12>>2]=b;T(b)}return a}function zh(a,b){i[a+60>>1]=0;j[a+52>>2]=0;j[a+56>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[a+68>>2]=0;j[a+72>>2]=0;j[a+64>>2]=b;j[a>>2]=1048;j[a+12>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+76>>2]=0;j[a+80>>2]=0}function Ar(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=p(e,f);g=c&65535;h=a&65535;i=p(g,h);f=(i>>>16|0)+p(f,g)|0;e=(f&65535)+p(e,h)|0;a=(p(b,c)+j|0)+p(a,d)+(f>>>16)+(e>>>16)|0;b=i&65535|e<<16;N=a;return b}function ef(a,b,c,d){var e=0,f=0;e=M-16|0;M=e;j[e+12>>2]=d;if(m[b+4>>2]>>0){Fa();z()}d=j[b>>2];j[e+8>>2]=j[b+4>>2]-c;b=M-16|0;M=b;M=b+16|0;b=e+8|0;f=e+12|0;j[a+4>>2]=j[(m[b>>2]>2]?b:f)>>2];j[a>>2]=c+d;M=e+16|0}function Zd(a,b,c,d,e){var f=0;f=_d(a,b,c,d);if(l[e>>1]>1]){$a(d,e);if(l[d>>1]>=l[c>>1]){return f+1|0}$a(c,d);if(l[c>>1]>=l[b>>1]){return f+2|0}$a(b,c);if(l[b>>1]>=l[a>>1]){return f+3|0}$a(a,b);f=f+4|0}return f}function jr(a,b,c){j[a>>2]=0;j[a+4>>2]=0;i[a+20>>1]=65510;j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;ya(a+24|0,0,88);ir(a,c);a:{if(!hr(a,b)){break a}T(j[a+4>>2]);j[a>>2]=1;b=Pd(1,4);j[a+4>>2]=b;if(b){break a}j[a>>2]=0}}function Fq(a,b){var c=0,d=0;a:{if(!a){break a}c=j[a>>2];if(!c){break a}d=1;if((b|0)>=1){T(j[c>>2]);if((b|0)!=1){while(1){T(j[j[a>>2]+(d<<2)>>2]);d=d+1|0;if((d|0)!=(b|0)){continue}break}}c=j[a>>2]}T(c);j[a>>2]=0}}function za(a){var b=0,c=0,d=0;b=M-32|0;M=b;j[b+12>>2]=0;j[b+8>>2]=79;c=j[b+12>>2];j[b>>2]=j[b+8>>2];j[b+4>>2]=c;d=j[b+4>>2];c=b+16|0;j[c+4>>2]=j[b>>2];j[c+8>>2]=d;j[c>>2]=a;Zk(a,c);M=b+32|0;return j[a+4>>2]-1|0}function Sd(a,b,c){var d=0;d=j[a+16>>2];if(!d){j[a+36>>2]=1;j[a+24>>2]=c;j[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(j[a+24>>2]!=2){break a}j[a+24>>2]=c;return}h[a+54|0]=1;j[a+24>>2]=2;j[a+36>>2]=j[a+36>>2]+1}}function Qe(a,b,c){var d=0;a:{if(c){d=j[c+8>>2];if(d){break a}}c=j[b>>2];while(1){b:{c=c+1|0;j[b>>2]=c;if(j[a>>2]<=(c|0)){break b}d=j[j[a+4>>2]+(c<<2)>>2];if(!d){continue}break a}break}j[b>>2]=-1;d=0}return d}function Fe(a){var b=0;if(a){if(j[a+76>>2]<=-1){return Ee(a)}return Ee(a)}if(j[37204]){b=Fe(j[37204])}a=j[37225];if(a){while(1){if(m[a+20>>2]>m[a+28>>2]){b=Ee(a)|b}a=j[a+56>>2];if(a){continue}break}}return b}function $d(a,b,c,d,e){var f=0;f=ae(a,b,c,d);if(h[e|0]=h[c|0]){return f+1|0}Xa(c,d);if(h[c|0]>=h[b|0]){return f+2|0}Xa(b,c);if(h[b|0]>=h[a|0]){return f+3|0}Xa(a,b);f=f+4|0}return f}function pl(a,b,c){var d=0;d=gb(a,b,c,0,0);a:{if(d){break a}d=Qa(a,b,c,0,0,0,0,0);if(!j[a+4488>>2]){break a}j[a+4372>>2]=0;j[a+4376>>2]=0;if(d){break a}d=eb(a,b,c,0,0,0);if(d){break a}d=Lb(a,b,c,0)}return d}function jj(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;j[d+12>>2]=0;f=a+12|0;j[f>>2]=0;j[f+4>>2]=150768;if(b){e=tf(j[a+16>>2],b)}j[a>>2]=e;c=(c<<2)+e|0;j[a+8>>2]=c;j[a+4>>2]=c;j[a+12>>2]=(b<<2)+e;M=d+16|0;return a}function Ni(a,b,c){var d=0;a:{if(a-b>>2>>>0>>0){while(1){c=c-1|0;d=c<<2;j[d+a>>2]=j[b+d>>2];if(c){continue}break a}}if(!c){break a}while(1){j[a>>2]=j[b>>2];a=a+4|0;b=b+4|0;c=c-1|0;if(c){continue}break}}}function Ib(a,b,c){var d=0,e=0,f=0,g=0;j[a+112>>2]=b;j[a+116>>2]=c;d=j[a+8>>2];g=j[a+4>>2];e=d-g|0;f=e>>31;j[a+120>>2]=e;j[a+124>>2]=f;j[a+104>>2]=b|c?((c|0)<(f|0)?1:(c|0)<=(f|0)?b>>>0>>0:0)?b+g|0:d:d}function Yi(a){a=a|0;var b=0,c=0;a:{if(j[a+12>>2]==j[a+16>>2]){b=-1;if(m[a+16>>2]>=m[a+24>>2]){break a}b=j[a+8>>2];c=j[a+12>>2];j[a+16>>2]=j[a+24>>2];j[a+12>>2]=c;j[a+8>>2]=b}b=k[j[a+12>>2]]}return b|0}function tb(a,b,c,d,e){var f=0;f=M-256|0;M=f;if(!(e&73728|(c|0)<=(d|0))){c=c-d|0;d=c>>>0<256;ya(f,b&255,d?c:256);if(!d){while(1){ab(a,f,256);c=c-256|0;if(c>>>0>255){continue}break}}ab(a,f,c)}M=f+256|0}function On(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;j[d+12>>2]=c;j[d+8>>2]=c;e=-1;c=yd(0,0,b,c);a:{if((c|0)<0){break a}f=a;c=c+1|0;a=ja(c);j[f>>2]=a;if(!a){break a}e=yd(a,c,b,j[d+12>>2])}M=d+16|0;return e}function qk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=pk(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function ok(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=nk(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function jk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=ik(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function hk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=gk(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function ig(a,b,c,d,e,f){var g=0,i=0,k=0;g=M-16|0;M=g;h[g+15|0]=0;h[g+14|0]=f;h[g+13|0]=e;h[g+12|0]=37;if(f){Xa(g+13|0,g+14|0)}i=c,k=(H(b|0,j[c>>2]-b|0,g+12|0,d|0,j[a>>2])|0)+b|0,j[i>>2]=k;M=g+16|0}function So(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=M-16|0;M=e;a=L(j[a+60>>2],b|0,c|0,d&255,e+8|0)|0;b=0;a:{if(!a){break a}j[37203]=a;b=-1}a=b;M=e+16|0;N=a?-1:j[e+12>>2];return(a?-1:j[e+8>>2])|0}function Ae(a){a=a|0;var b=0,c=0;j[a>>2]=122472;Fo(a);b=j[a+28>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}T(j[a+32>>2]);T(j[a+36>>2]);T(j[a+48>>2]);T(j[a+60>>2]);return a|0}function Rg(a,b,c,d){a:{if(!a){break a}b:{switch(b+2|0){case 0:h[a|0]=c;return;case 1:i[a>>1]=c;return;case 2:case 3:j[a>>2]=c;return;case 5:break b;default:break a}}j[a>>2]=c;j[a+4>>2]=d}}function di(a){var b=0;b=k[a+74|0];h[a+74|0]=b-1|b;b=j[a>>2];if(b&8){j[a>>2]=b|32;return-1}j[a+4>>2]=0;j[a+8>>2]=0;b=j[a+44>>2];j[a+28>>2]=b;j[a+20>>2]=b;j[a+16>>2]=b+j[a+48>>2];return 0}function rl(a,b){var c=0,d=0;c=M-16|0;M=c;if(k[a+11|0]>>>7|0){T(j[a>>2])}j[a+8>>2]=j[b+8>>2];d=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=d;h[b+11|0]=0;j[c+12>>2]=0;j[b>>2]=j[c+12>>2];M=c+16|0}function ba(a,b){var c=0,d=0;c=k[a|0];d=k[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=k[b+1|0];c=k[a+1|0];if(!c){break a}b=b+1|0;a=a+1|0;if((c|0)==(d|0)){continue}break}}return c-d|0}function Gj(){var a=0;a:{if(h[150360]&1){break a}if(!Ma(150360)){break a}a=150336;while(1){a=ga(a)+12|0;if((a|0)!=150360){continue}break}La(150360)}oa(150336,133648);oa(150348,133651)}function Dj(){var a=0;a:{if(h[150392]&1){break a}if(!Ma(150392)){break a}a=150368;while(1){a=ga(a)+12|0;if((a|0)!=150392){continue}break}La(150392)}na(150368,133656);na(150380,133668)}function sl(a,b){var c=0,d=0;c=M-16|0;M=c;if(k[a+11|0]>>>7|0){T(j[a>>2])}j[a+8>>2]=j[b+8>>2];d=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=d;h[b+11|0]=0;h[c+15|0]=0;h[b|0]=k[c+15|0];M=c+16|0}function nc(a){var b=0,c=0;b=j[37193];c=a+3&-4;a=b+c|0;a:{if(a>>>0<=b>>>0?(c|0)>=1:0){break a}if(a>>>0>Nr()<<16>>>0){if(!(G(a|0)|0)){break a}}j[37193]=a;return b}j[37203]=48;return-1}function ve(a,b,c,d,e,f,g,h,i){var k=0;k=M-16|0;M=k;yb(k,b,c,d,e,f,g,h,i^-2147483648);b=j[k+4>>2];j[a>>2]=j[k>>2];j[a+4>>2]=b;b=j[k+12>>2];j[a+8>>2]=j[k+8>>2];j[a+12>>2]=b;M=k+16|0}function ic(a){var b=0,c=0,d=0;b=M-16|0;M=b;d=b;if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}j[d+8>>2]=c+(a<<2);M=b+16|0;return j[b+8>>2]}function Ye(a,b){var c=0;a:{b:{if((a|0)!=105){break b}b=b-90|0;if(b>>>0>12){break b}c=304;if(1<>1]}return c&65535}function af(a,b,c,d){var e=0,f=0,g=0,h=0;f=j[a+4>>2];a=j[a>>2];g=a;h=b;e=0;a:{if(!c){break a}b=f>>8;e=b;if(!(f&1)){break a}e=j[b+j[c>>2]>>2]}O[j[j[a>>2]+28>>2]](g,h,e+c|0,f&2?d:2)}function Xe(a,b){var c=0;a:{b:{if((a|0)!=73){break b}b=b-90|0;if(b>>>0>12){break b}c=305;if(1<>1]}return c&65535}function ur(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}ib(a+12|0);Ta(a- -64|0);return a|0}function ha(a,b){var c=0,d=0;c=M-16|0;M=c;a:{if(!(k[b+11|0]>>>7|0)){j[a+8>>2]=j[b+8>>2];d=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=d;break a}Yd(a,j[b>>2],j[b+4>>2])}M=c+16|0;return a}function de(a){a=a|0;var b=0,c=0;j[a>>2]=133828;a:{if(!j[a+8>>2]|(j[a+32>>2]&9)!=1){break a}b=j[a+8>>2];c=j[a+44>>2];if(c){O[c|0](b);break a}if(!b){break a}T(b)}ib(a);return a|0}function Li(a,b){var c=0,d=0;c=M-16|0;M=c;a:{if(k[a+11|0]>>>7|0){d=j[a>>2];h[c+15|0]=0;h[b+d|0]=k[c+15|0];j[a+4>>2]=b;break a}h[c+14|0]=0;h[a+b|0]=k[c+14|0];h[a+11|0]=b}M=c+16|0}function vr(a){a=a|0;var b=0,c=0,d=0;c=a+56|0;j[c>>2]=120340;b=a-8|0;j[b>>2]=120300;d=a+4|0;j[d>>2]=120536;j[a>>2]=120320;if(h[a+47|0]<=-1){T(j[b+44>>2])}ib(d);Ta(c);return b|0}function Jl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;c=M-128|0;M=c;j[c+12>>2]=c+116;ig(a+8|0,c+16|0,c+12|0,e,f,g);a=dj(c+16|0,j[c+12>>2],b);M=c+128|0;return a|0}function Il(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;c=M-416|0;M=c;j[c+12>>2]=c+416;Hl(a+8|0,c+16|0,c+12|0,e,f,g);a=cj(c+16|0,j[c+12>>2],b);M=c+416|0;return a|0}function vl(a){var b=0,c=0;b=M-16|0;M=b;a:{if(k[a+11|0]>>>7|0){c=j[a>>2];j[b+12>>2]=0;j[c>>2]=j[b+12>>2];j[a+4>>2]=0;break a}j[b+8>>2]=0;j[a>>2]=j[b+8>>2];h[a+11|0]=0}M=b+16|0}function kc(a){var b=0,c=0,d=0;b=M-16|0;M=b;d=b;if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}j[d+8>>2]=c+a;M=b+16|0;return j[b+8>>2]}function Dk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=M-16|0;M=a;j[a+12>>2]=e;j[a+8>>2]=d-c;b=M-16|0;M=b;M=b+16|0;M=a+16|0;b=a+8|0;a=a+12|0;return j[(m[b>>2]>2]?b:a)>>2]}function rm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=M-16|0;M=g;j[g+8>>2]=624576549;j[g+12>>2]=1394948685;a=Zb(a,b,c,d,e,f,g+8|0,g+16|0);M=g+16|0;return a|0}function fb(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=c;j[f+8>>2]=e;c=Mb(f,f+12|0);b=yd(a,b,d,j[f+8>>2]);a=j[c>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=f+16|0;return b}function xg(a,b,c){var d=0;d=M-16|0;M=d;j[d+12>>2]=b;j[d+8>>2]=c;b=Mb(d,d+12|0);c=Qg(a,127633,j[d+8>>2]);a=j[b>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=d+16|0;return c}function _g(a){var b=0,c=0;b=j[a>>2];if(b){c=j[b+12>>2];a:{if((c|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break a}b=j[c>>2]}if((b|0)!=-1){return!j[a>>2]}j[a>>2]=0}return 1}function Rk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=j[b>>2];if(a>>>0<=127){a=j[j[31124]+(j[b>>2]<<2)>>2]}j[d>>2]=a;b=b+4|0;continue}break}return c|0}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=j[b>>2];if(a>>>0<=127){a=j[j[31512]+(j[b>>2]<<2)>>2]}j[d>>2]=a;b=b+4|0;continue}break}return c|0}function rr(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}ib(a+12|0);Ta(a- -64|0);T(a)}function $g(a){var b=0,c=0;b=j[a>>2];if(b){c=j[b+12>>2];a:{if((c|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break a}b=k[c|0]}if((b|0)!=-1){return!j[a>>2]}j[a>>2]=0}return 1}function Tk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a:{while(1){if((c|0)==(d|0)){break a}if(!(!(l[j[30931]+(j[c>>2]<<1)>>1]&b)|m[c>>2]>127)){c=c+4|0;continue}break}d=c}return d|0}function Bl(a){var b=0,c=0;b=M-16|0;M=b;a:{if(k[a+11|0]>>>7|0){c=j[a>>2];h[b+15|0]=0;h[c|0]=k[b+15|0];j[a+4>>2]=0;break a}h[b+14|0]=0;h[a|0]=k[b+14|0];h[a+11|0]=0}M=b+16|0}function sr(a){a=a|0;var b=0,c=0,d=0;c=a+56|0;j[c>>2]=120340;b=a-8|0;j[b>>2]=120300;d=a+4|0;j[d>>2]=120536;j[a>>2]=120320;if(h[a+47|0]<=-1){T(j[b+44>>2])}ib(d);Ta(c);T(b)}function Sb(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+12>>2]=b;j[e+8>>2]=d;b=Mb(e,e+12|0);c=On(a,c,j[e+8>>2]);a=j[b>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=e+16|0;return c}function _d(a,b,c,d){var e=0;e=wc(a,b,c);if(l[d>>1]>1]){$a(c,d);if(l[c>>1]>=l[b>>1]){return e+1|0}$a(b,c);if(l[b>>1]>=l[a>>1]){return e+2|0}$a(a,b);e=e+3|0}return e}function Uk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){a:{if((c|0)!=(d|0)){if(!(l[j[30931]+(j[c>>2]<<1)>>1]&b)|m[c>>2]>127){break a}}else{c=d}return c|0}c=c+4|0;continue}}function Pd(a,b){var c=0,d=0,e=0;c=0;a:{if(!a){break a}d=Cr(a,0,b,0);e=N;c=d;if((a|b)>>>0<65536){break a}c=e?-1:d}b=c;a=ja(b);if(!(!a|!(k[a-4|0]&3))){ya(a,0,b)}return a}function Jk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=h[b|0];if((a|0)>=0){a=j[j[31124]+(h[b|0]<<2)>>2]}h[d|0]=a;b=b+1|0;continue}break}return c|0}function Hk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=h[b|0];if((a|0)>=0){a=j[j[31512]+(h[b|0]<<2)>>2]}h[d|0]=a;b=b+1|0;continue}break}return c|0}function qa(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}while(1){d=k[a|0];e=k[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}f=d-e|0}return f}function sk(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+12>>2]=d;d=Mb(e+8|0,e+12|0);b=rd(0,a,b,c?c:148924);a=j[d>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=e+16|0;return b}function uf(){var a=0,b=0;a=M-16|0;M=a;j[a+12>>2]=1073741823;j[a+8>>2]=2147483647;b=M-16|0;M=b;M=b+16|0;M=a+16|0;b=a+8|0;a=a+12|0;return j[(m[b>>2]>2]?b:a)>>2]}function qh(a){var b=0,c=0,d=0;if(h[j[a>>2]]-48>>>0<10){while(1){b=j[a>>2];d=h[b|0];j[a>>2]=b+1;c=(p(c,10)+d|0)-48|0;if(h[b+1|0]-48>>>0<10){continue}break}}return c}function kh(a,b){j[a+4>>2]=b;h[a|0]=0;if(!j[(j[j[b>>2]-12>>2]+b|0)+16>>2]){if(j[(j[j[b>>2]-12>>2]+b|0)+72>>2]){lh(j[(j[j[b>>2]-12>>2]+b|0)+72>>2])}h[a|0]=1}return a}function Un(a,b,c){var d=0,e=0,f=0;e=j[a+84>>2];d=c+256|0;f=Aa(e,0,d);d=f?f-e|0:d;c=c>>>0>d>>>0?d:c;V(b,e,c);b=e+d|0;j[a+84>>2]=b;j[a+8>>2]=b;j[a+4>>2]=c+e;return c}function ae(a,b,c,d){var e=0;e=xc(a,b,c);if(h[d|0]=h[b|0]){return e+1|0}Xa(b,c);if(h[b|0]>=h[a|0]){return e+2|0}Xa(a,b);e=e+3|0}return e}function Vk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((b|0)!=(c|0)){i[d>>1]=m[b>>2]<=127?l[j[30931]+(j[b>>2]<<1)>>1]:0;d=d+2|0;b=b+4|0;continue}break}return c|0}function yk(a,b,c,d,e,f){var g=0;g=M-16|0;M=g;j[g+12>>2]=f;f=Mb(g+8|0,g+12|0);b=Kn(a,b,c,d,e);a=j[f>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=g+16|0;return b}function uk(a){var b=0,c=0;b=M-16|0;M=b;j[b+12>>2]=a;a=Mb(b+8|0,b+12|0);c=M-16|0;M=c;M=c+16|0;a=j[a>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=b+16|0;return 0}function Bf(a){var b=0,c=0;b=M-16|0;M=b;j[b+12>>2]=a;a=Mb(b+8|0,b+12|0);c=j[j[37179]>>2]?4:1;a=j[a>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=b+16|0;return c}function $k(){var a=0;a:{if(h[149116]&1){break a}if(!Ma(149116)){break a}a=j[dl()>>2];j[37277]=a;j[a+4>>2]=j[a+4>>2]+1;j[37278]=149108;La(149116)}return j[37278]}function ck(a){var b=0,c=0;b=k[a+4115|0];c=b<<24>>24;if((c|0)<=-1){b=j[a+4108>>2]}a=a+4104|0;if(!b){Ka(a,1770);c=h[a+11|0]}if((c|0)<=-1){a=j[a>>2]}return cb(a)}function Fl(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=e;e=Mb(f+8|0,f+12|0);b=Mg(a,b,c,d);a=j[e>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=f+16|0;return b}function Cf(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=e;e=Mb(f+8|0,f+12|0);b=rd(a,b,c,d);a=j[e>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=f+16|0;return b}function Ak(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=e;e=Mb(f+8|0,f+12|0);b=Ln(a,b,c,d);a=j[e>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=f+16|0;return b}function yn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=0;while(1){if((b|0)!=(c|0)){a=j[b>>2]+(a<<4)|0;d=a&-268435456;a=(d|d>>>24)^a;b=b+4|0;continue}break}return a|0}function Yq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}ib(a+4|0);Ta(a+56|0);return a|0}function $e(a){var b=0;a:{if(!a){break a}while(1){b:{switch(k[a|0]){case 0:case 9:case 10:case 32:break a;default:break b}}b=b+1|0;a=a+1|0;continue}}return b}function Cn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=0;while(1){if((b|0)!=(c|0)){a=h[b|0]+(a<<4)|0;d=a&-268435456;a=(d|d>>>24)^a;b=b+1|0;continue}break}return a|0}function Fi(a){a=a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}ib(a+12|0);Ta(a- -64|0);return a|0}function dd(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=a;M=d+16|0;d=j[d+8>>2];a=M-16|0;M=a;j[a+8>>2]=b;M=a+16|0;a=j[a+8>>2]-d|0;if(a){Ja(c,d,a)}return a+c|0}function Wq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}ib(a+4|0);Ta(a+56|0);T(a)}function Vj(a){var b=0,c=0;b=a+4116|0;a:{b:{c=h[a+4127|0];if((c|0)<=-1){if(j[a+4120>>2]){break b}return 0}if(c){break a}return 0}b=j[b>>2]}return cb(b)}function Mk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((b|0)!=(c|0)){a=j[b>>2];h[e|0]=a>>>0<128?a:d;e=e+1|0;b=b+4|0;continue}break}return c|0}function ge(a,b,c){var d=0;d=M-16|0;M=d;j[d+12>>2]=c;c=Mb(d+8|0,d+12|0);b=tc(a,b);a=j[c>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=d+16|0;return b}function Dq(a){var b=0;b=j[a>>2];if(b){T(b)}b=j[a+212>>2];if(b){j[a+216>>2]=b;T(b)}b=a+112|0;j[b>>2]=121256;j[a+4>>2]=121236;lc(a+12|0);Ta(b);return a}function tr(a){a=a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}ib(a+12|0);Ta(a- -64|0);T(a)}function ej(a,b,c){var d=0;d=M-16|0;M=d;Fn(d,b,c,ra());b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;b=j[d+12>>2];j[a+8>>2]=j[d+8>>2];j[a+12>>2]=b;M=d+16|0}function Ek(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((b|0)!=(c|0)){a=h[b|0];h[e|0]=(a|0)>-1?a:d;e=e+1|0;b=b+1|0;continue}break}return c|0}function ea(a){var b=0;b=j[a+192>>2];if(b){T(Dq(b))}b=j[a>>2];if(b){O[j[j[b>>2]+4>>2]](b)}b=a+112|0;j[b>>2]=121256;j[a+4>>2]=121236;lc(a+12|0);Ta(b)}function xr(a,b){var c=0;a:{c=h[a+11|0];b:{if((c|0)<=-1){if(!j[a+4>>2]){break a}a=j[a>>2];break b}if(!c){break a}}h[a|0]=k[(p(k[a|0],3)+b|0)+1|0]}}function nb(a,b){var c=0;a:{c=h[a+11|0];b:{if((c|0)<=-1){if(!j[a+4>>2]){break a}a=j[a>>2];break b}if(!c){break a}}h[a|0]=k[(p(k[a|0],3)+b|0)+2|0]}}function ii(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(zb(a,j[b+8>>2],f)){Rd(b,c,d,e);return}a=j[a+8>>2];O[j[j[a>>2]+20>>2]](a,b,c,d,e,f)}function Gn(a,b,c){var d=0;d=M-16|0;M=d;se(d,b,c,2);b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;b=j[d+12>>2];j[a+8>>2]=j[d+8>>2];j[a+12>>2]=b;M=d+16|0}function ua(a,b){var c=0;if((a|0)!=(b|0)){c=a;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}mf(c,a,b)}}function cj(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=c;while(1){if((a|0)!=(b|0)){ah(d+8|0,j[a>>2]);a=a+4|0;continue}break}M=d+16|0;return j[d+8>>2]}function dj(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=c;while(1){if((a|0)!=(b|0)){bh(d+8|0,h[a|0]);a=a+1|0;continue}break}M=d+16|0;return j[d+8>>2]}function bj(a,b,c){var d=0,e=0,f=0;e=a;d=b;f=d;a:{if(!c){c=W(d);break a}c=c>>>0<2147483647?c:2147483647}j[e+16>>2]=f+c;j[a+12>>2]=d;j[a+8>>2]=b}function ff(a,b){var c=0,d=0;if(k[b+11|0]>>>7|0){c=j[b>>2]}else{c=b}d=a;if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}j[d+4>>2]=b;j[a>>2]=c}function Qd(a,b,c,d,e,f){var g=0,h=0,i=0;g=j[a+4>>2];h=g>>8;a=j[a>>2];i=a;if(g&1){h=j[j[d>>2]+h>>2]}O[j[j[a>>2]+20>>2]](i,b,c,d+h|0,g&2?e:2,f)}function Wd(a,b){var c=0;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if(c>>>0<=b>>>0){X();z()}if(k[a+11|0]>>>7|0){a=j[a>>2]}return a+b|0}function ma(a,b,c){var d=0,e=0;if(!b){return c}while(1){d=b,e=ma(a,j[b+76>>2],c),j[d+68>>2]=e;c=b;b=j[b+72>>2];if(b){continue}break}return c}function la(a,b,c){var d=0,e=0;if(!b){return c}while(1){d=b,e=la(a,j[b+88>>2],c),j[d+80>>2]=e;c=b;b=j[b+84>>2];if(b){continue}break}return c}function ei(a,b,c,d){var e=0,f=0;f=d&65535;d=d>>>16&32767;a:{if((d|0)!=32767){e=4;if(d){break a}return a|c|(b|f)?3:2}e=!(a|c|(b|f))}return e}function ar(a,b,c){if(!((b|0)<1|j[a+80>>2]<(b|0))){b=b-1|0;j[c>>2]=j[j[a+84>>2]+(b<<2)>>2];return l[j[a+88>>2]+(b<<1)>>1]}j[c>>2]=0;return 0}function ao(a){var b=0,c=0;b=M-16|0;M=b;c=-1;a:{if(uh(a)){break a}if((O[j[a+32>>2]](a,b+15|0,1)|0)!=1){break a}c=k[b+15|0]}M=b+16|0;return c}function Ho(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=j[a+20>>2];d=j[a+16>>2]-e|0;d=c>>>0>>0?c:d;V(e,b,d);j[a+20>>2]=d+j[a+20>>2];return c|0}function Qg(a,b,c){var d=0;d=M-144|0;M=d;d=ya(d,0,144);j[d+76>>2]=-1;j[d+44>>2]=a;j[d+32>>2]=76;j[d+84>>2]=a;a=Wn(d,b,c);M=d+144|0;return a}function zp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=M-16|0;M=d;j[d+8>>2]=c;j[d+12>>2]=b;if(a){a=yp(a,d+12|0,d+8|0)}else{a=0}M=d+16|0;return a|0}function ad(a,b,c,d,e){var f=0,g=0,h=0;f=j[a+4>>2];g=f>>8;a=j[a>>2];h=a;if(f&1){g=j[j[c>>2]+g>>2]}O[j[j[a>>2]+24>>2]](h,b,c+g|0,f&2?d:2,e)}function Fn(a,b,c,d){d=M-16|0;M=d;Gn(d,b,c);b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;b=j[d+12>>2];j[a+8>>2]=j[d+8>>2];j[a+12>>2]=b;M=d+16|0}function Mo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=b;b=j[b>>2]+15&-16;j[c>>2]=b+16;d=a,e=Be(j[b>>2],j[b+4>>2],j[b+8>>2],j[b+12>>2]),o[d>>3]=e}function qo(a,b){var c=0;c=j[a+24>>2];if((c|0)==j[a+28>>2]){return O[j[j[a>>2]+52>>2]](a,b&255)|0}j[a+24>>2]=c+1;h[c|0]=b;return b&255}function ib(a){a=a|0;var b=0,c=0;j[a>>2]=122224;b=j[a+4>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}return a|0}function Zq(a){a=a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}ib(a+4|0);Ta(a+56|0);return a|0}function Po(a,b,c,d){if(a|b){while(1){c=c-1|0;h[c|0]=k[(a&15)+122e3|0]|d;a=(b&15)<<28|a>>>4;b=b>>>4|0;if(a|b){continue}break}}return c}function Ia(a,b,c){var d=0;if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}return Ii(d,a,b,c)}function Ba(a,b,c){var d=0;if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}return Gi(d,a,b,c)}function Ga(a){var b=0;a=j[a>>2];b=j[a+12>>2];a:{if((b|0)==j[a+16>>2]){a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=k[b|0]}return a<<24>>24}function Fo(a){var b=0,c=0;b=j[a+40>>2];while(1){if(b){b=b-1|0;c=b<<2;O[j[j[a+32>>2]+c>>2]](0,a,j[c+j[a+36>>2]>>2]);continue}break}}function lk(a){var b=0,c=0;b=a+4408|0;a:{c=h[a+4419|0];if((c|0)<=-1){if(j[a+4412>>2]){break a}return 0}return c?b:0}return j[b>>2]}function Gi(a,b,c,d){var e=0;e=M-16|0;M=e;h[e+15|0]=c;c=-1;if(b>>>0>d>>>0){b=hf(a+d|0,b-d|0,e+15|0);c=b?b-a|0:-1}M=e+16|0;return c}function Dp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=M-16|0;M=e;j[e+12>>2]=b;if(a){a=Cp(e+12|0,c,d)}else{a=0}M=e+16|0;return a|0}function Bg(a){var b=0,c=0;b=h[a+4139|0];c=j[a+4132>>2];a:{if((b|0)<=-1){break a}c=b&255}b=c;a=a+4128|0;if(!b){Ka(a,1760)}return a}function ra(){var a=0,b=0;a:{if(h[149092]&1){break a}if(!Ma(149092)){break a}a=149088,b=Pn(),j[a>>2]=b;La(149092)}return j[37272]}function dl(){a:{if(h[149104]&1){break a}if(!Ma(149104)){break a}hl();j[37274]=150720;j[37275]=149096;La(149104)}return j[37275]}function Xq(a){a=a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}ib(a+4|0);Ta(a+56|0);T(a)}function oo(a,b){var c=0;c=j[a+24>>2];if((c|0)==j[a+28>>2]){return O[j[j[a>>2]+52>>2]](a,b)|0}j[a+24>>2]=c+4;j[c>>2]=b;return b}function Ok(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((b|0)!=(c|0)){j[d>>2]=h[b|0];d=d+4|0;b=b+1|0;continue}break}return c|0}function og(a,b,c,d,e,f){a=O[j[j[a+8>>2]+4>>2]](a+8|0)|0;a=qd(c,d,a,a+288|0,f,e,0)-a|0;if((a|0)<=287){j[b>>2]=((a|0)/12|0)%12}}function lg(a,b,c,d,e,f){a=O[j[j[a+8>>2]+4>>2]](a+8|0)|0;a=pd(c,d,a,a+288|0,f,e,0)-a|0;if((a|0)<=287){j[b>>2]=((a|0)/12|0)%12}}function Gk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((b|0)!=(c|0)){h[d|0]=k[b|0];d=d+1|0;b=b+1|0;continue}break}return c|0}function wd(a){j[a>>2]=122224;If(a+4|0);j[a+24>>2]=0;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;return a}function pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(zb(a,j[b+8>>2],0)){Sd(b,c,d);return}a=j[a+8>>2];O[j[j[a>>2]+28>>2]](a,b,c,d)}function cl(a){var b=0;b=j[37685]-j[37684]>>2;if(b>>>0>>0){al(a-b|0);return}if(a>>>0>>0){rf(150736,j[37684]+(a<<2)|0)}}function Wa(a,b){var c=0,d=0;d=b;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if(d>>>0>c>>>0){Mi(a,b-c|0);return}Li(a,b)}function td(a,b){j[a+20>>2]=0;j[a+24>>2]=b;j[a+12>>2]=0;j[a+4>>2]=4098;j[a+8>>2]=6;j[a+16>>2]=!b;ya(a+32|0,0,40);If(a+28|0)}function pg(a,b,c,d,e,f){a=O[j[j[a+8>>2]>>2]](a+8|0)|0;a=qd(c,d,a,a+168|0,f,e,0)-a|0;if((a|0)<=167){j[b>>2]=((a|0)/12|0)%7}}function mg(a,b,c,d,e,f){a=O[j[j[a+8>>2]>>2]](a+8|0)|0;a=pd(c,d,a,a+168|0,f,e,0)-a|0;if((a|0)<=167){j[b>>2]=((a|0)/12|0)%7}}function me(a,b,c){c=j[c>>2];while(1){a:{if((a|0)!=(b|0)){if((c|0)!=j[a>>2]){break a}}else{a=b}return a}a=a+4|0;continue}}function U(a){var b=0;a=a?a:1;a:{while(1){b=ja(a);if(b){break a}b=j[37747];if(b){O[b|0]();continue}break}D();z()}return b}function hj(a){var b=0;b=a+4|0;gj(j[37684],j[37685],b);sd(150736,b);sd(150740,a+8|0);sd(150752,a+12|0);j[a>>2]=j[a+4>>2]}function Rf(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=a;while(1){if(b>>>0>>0){Qf(d+8|0,b);b=b+1|0;continue}break}M=d+16|0}function pe(a,b,c){c=k[c|0];while(1){a:{if((a|0)!=(b|0)){if((c|0)!=k[a|0]){break a}}else{a=b}return a}a=a+1|0;continue}}function dh(a){var b=0;b=j[a+12>>2];if((b|0)==j[a+16>>2]){return O[j[j[a>>2]+40>>2]](a)|0}j[a+12>>2]=b+4;return j[b>>2]}function Tj(a){a=a|0;a:{if(h[149192]&1){break a}if(!Ma(149192)){break a}Sj();j[37297]=149376;La(149192)}return j[37297]}function Qj(a){a=a|0;a:{if(h[149200]&1){break a}if(!Ma(149200)){break a}Pj();j[37299]=149552;La(149200)}return j[37299]}function Nj(a){a=a|0;a:{if(h[149208]&1){break a}if(!Ma(149208)){break a}Mj();j[37301]=149728;La(149208)}return j[37301]}function Kj(a){a=a|0;a:{if(h[149216]&1){break a}if(!Ma(149216)){break a}Jj();j[37303]=150032;La(149216)}return j[37303]}function Jn(a,b){var c=0,d=q(0);c=M-16|0;M=c;se(c,a,b,0);d=Sg(j[c>>2],j[c+4>>2],j[c+8>>2],j[c+12>>2]);M=c+16|0;return d}function Hj(a){a=a|0;a:{if(h[149224]&1){break a}if(!Ma(149224)){break a}Gj();j[37305]=150336;La(149224)}return j[37305]}function Ej(a){a=a|0;a:{if(h[149232]&1){break a}if(!Ma(149232)){break a}Dj();j[37307]=150368;La(149232)}return j[37307]}function xo(a){a=a|0;var b=0;if((O[j[j[a>>2]+36>>2]](a)|0)==-1){return-1}b=a;a=j[a+12>>2];j[b+12>>2]=a+1;return k[a|0]}function hh(a){var b=0;b=j[a+12>>2];if((b|0)==j[a+16>>2]){return O[j[j[a>>2]+40>>2]](a)|0}j[a+12>>2]=b+1;return k[b|0]}function Ve(a,b,c,d){var e=0;e=M-16|0;M=e;a=va(a,b);if(!(!d|!a)){ia(c,b);xd(j[c>>2],j[c+4>>2],e+8|0)}M=e+16|0;return a}function Oo(a,b,c){if(a|b){while(1){c=c-1|0;h[c|0]=a&7|48;a=(b&7)<<29|a>>>3;b=b>>>3|0;if(a|b){continue}break}}return c}function fj(a){var b=0,c=0,d=0;c=j[a+4>>2];b=j[a>>2];a=j[a+8>>2];b=b+(a>>1)|0;d=b;if(a&1){c=j[c+j[b>>2]>>2]}O[c|0](d)}function In(a,b){var c=0,d=0;c=M-16|0;M=c;se(c,a,b,1);d=Be(j[c>>2],j[c+4>>2],j[c+8>>2],j[c+12>>2]);M=c+16|0;return d}function Yg(a,b,c,d,e,f,g,h,i){j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=d;j[a+12>>2]=e&65535|(i>>>16&32768|e>>>16&32767)<<16}function Mb(a,b){var c=0;c=j[37179];b=j[b>>2];if(b){j[37179]=(b|0)==-1?148860:b}j[a>>2]=(c|0)==148860?-1:c;return a}function zj(a){a=a|0;a:{if(h[149264]&1){break a}if(!Ma(149264)){break a}yc(149252,128152);La(149264)}return 149252}function xj(a){a=a|0;a:{if(h[149280]&1){break a}if(!Ma(149280)){break a}rc(149268,128188);La(149280)}return 149268}function vj(a){a=a|0;a:{if(h[149296]&1){break a}if(!Ma(149296)){break a}yc(149284,128200);La(149296)}return 149284}function tj(a){a=a|0;a:{if(h[149312]&1){break a}if(!Ma(149312)){break a}rc(149300,128236);La(149312)}return 149300}function rj(a){a=a|0;a:{if(h[149328]&1){break a}if(!Ma(149328)){break a}yc(149316,128260);La(149328)}return 149316}function pj(a){a=a|0;a:{if(h[149344]&1){break a}if(!Ma(149344)){break a}rc(149332,128344);La(149344)}return 149332}function nj(a){a=a|0;a:{if(h[149360]&1){break a}if(!Ma(149360)){break a}yc(149348,128356);La(149360)}return 149348}function Bj(a){a=a|0;a:{if(h[149248]&1){break a}if(!Ma(149248)){break a}rc(149236,128140);La(149248)}return 149236}function wk(a){a=a|0;a:{if(uk(j[a+8>>2])){a=-1}else{a=j[a+8>>2];if(a){break a}a=1}return a|0}return(Bf(a)|0)==1|0}function tm(a,b){a:{if((a|0)==(b|0)){break a}while(1){b=b-1|0;if(b>>>0<=a>>>0){break a}Xa(a,b);a=a+1|0;continue}}}function sm(a,b){a:{if((a|0)==(b|0)){break a}while(1){b=b-4|0;if(b>>>0<=a>>>0){break a}sd(a,b);a=a+4|0;continue}}}function el(){j[37605]=0;j[37604]=134060;j[37604]=128412;h[150428]=0;j[37606]=0;j[37604]=127908;j[37606]=j[30931]}function qb(a){var b=0,c=0;b=M-16|0;M=b;c=b;if(k[a+11|0]>>>7|0){a=j[a>>2]}j[c+8>>2]=a;M=b+16|0;return j[b+8>>2]}function Tb(a){a:{a=j[a+4>>2]&74;if(a){if((a|0)==64){return 8}if((a|0)!=8){break a}return 16}return 0}return 10}function zb(a,b,c){if(!c){return j[a+4>>2]==j[b+4>>2]}if((a|0)==(b|0)){return 1}return!ba(j[a+4>>2],j[b+4>>2])}function vi(a){var b=0;a:{a=j[a+8>>2];b=k[a|0];if((b|0)!=1){if(b&2){break a}h[a|0]=2;a=1}else{a=0}return a}z()}function ag(a,b){var c=0,d=0;d=j[b>>2];j[b>>2]=0;c=j[a>>2];j[a>>2]=d;if(c){O[j[a+4>>2]](c)}j[a+4>>2]=j[b+4>>2]}function Ma(a){var b=0;b=M-16|0;M=b;j[b+12>>2]=0;j[b+4>>2]=a;j[b>>2]=a;j[b+8>>2]=a+1;a=wi(b);M=b+16|0;return a}function Bq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Ta(a+108|0);return a|0}function np(a){a=a|0;j[a>>2]=121508;T(j[a+4>>2]);j[a+12>>2]=0;j[a+16>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;return a|0}function Co(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;j[a+8>>2]=-1;j[a+12>>2]=-1;j[a>>2]=0;j[a+4>>2]=0}function ng(a,b,c,d,e){b=Rb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=((b|0)<69?b+2e3|0:(b|0)<100?b+1900|0:b)-1900}}function jg(a,b,c,d,e){b=Qb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=((b|0)<69?b+2e3|0:(b|0)<100?b+1900|0:b)-1900}}function Xf(a,b){var c=0;c=M-16|0;M=c;j[c+8>>2]=j[a>>2];j[c+8>>2]=j[c+8>>2]+(b<<2);M=c+16|0;return j[c+8>>2]}function lo(a){var b=0;a:{if(j[a+76>>2]!=-1){a=j[a+76>>2];break a}b=a;a=ko(a);j[b+76>>2]=a}return a<<24>>24}function Da(a,b,c){var d=0;d=M-16|0;M=d;j[d+12>>2]=b;j[a>>2]=j[d+12>>2];j[a+4>>2]=j[c>>2];M=d+16|0;return a}function $c(a,b,c){a:{if(j[c+76>>2]<=-1){a=Nd(a,b,c);break a}a=Nd(a,b,c)}if((a|0)==(b|0)){return b}return a}function Ef(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j[e>>2]=c;j[h>>2]=f;return 3}function zq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Ta(a+108|0);T(a)}function aj(a,b,c){wd(a);j[a+40>>2]=0;j[a+44>>2]=0;j[a+32>>2]=0;j[a+36>>2]=4096;j[a>>2]=133828;bj(a,b,c)}function Vn(a,b){var c=0;c=M-16|0;j[c+12>>2]=a;a=b>>>0>1?((b<<2)+a|0)-4|0:a;j[c+8>>2]=a+4;return j[a>>2]}function Jf(a,b){a=a+16|0;if(j[a+4>>2]-j[a>>2]>>2>>>0>b>>>0){a=j[j[a>>2]+(b<<2)>>2]!=0}else{a=0}return a}function wi(a){var b=0,c=0;b=M-16|0;M=b;j[b+8>>2]=j[a+4>>2];if(!k[j[b+8>>2]]){c=vi(a)}M=b+16|0;return c}function le(a,b){var c=0;c=M-16|0;M=c;j[c+8>>2]=j[a>>2];j[c+8>>2]=j[c+8>>2]+b;M=c+16|0;return j[c+8>>2]}function cb(a){var b=0,c=0,d=0;a:{if(!a){break a}b=W(a)+1|0;c=ja(b);if(!c){break a}d=V(c,a,b)}return d}function Zk(a,b){var c=0,d=0;c=M-16|0;M=c;if(j[a>>2]!=-1){d=c+8|0;j[d>>2]=b;j[c>>2]=d;Pi(a,c)}M=c+16|0}function gl(){var a=0;a=M-16|0;M=a;j[37684]=0;j[37685]=0;j[a+12>>2]=0;j[37688]=0;h[150880]=0;M=a+16|0}function sd(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=j[a>>2];j[a>>2]=j[b>>2];j[b>>2]=j[c+12>>2];M=c+16|0}function $a(a,b){var c=0;c=M-16|0;M=c;i[c+14>>1]=l[a>>1];i[a>>1]=l[b>>1];i[b>>1]=l[c+14>>1];M=c+16|0}function lm(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>30|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function jm(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>11|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function hm(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>12|c&4)){j[a>>2]=b-1;return}j[d>>2]=c|4}function Vl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>30|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Tl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>11|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Rl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>12|c&4)){j[a>>2]=b-1;return}j[d>>2]=c|4}function Pi(a,b){while(1){if(j[a>>2]==1){continue}break}if(!j[a>>2]){j[a>>2]=1;O[80](b);j[a>>2]=-1}}function La(a){var b=0;b=M-16|0;M=b;j[b+12>>2]=0;j[b+4>>2]=a;j[b>>2]=a;j[b+8>>2]=a+1;ui(b);M=b+16|0}function im(a,b,c,d,e){b=Rb(b,c,d,e,3);c=j[d>>2];if(!((b|0)>365|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function fl(){var a=0;if(uf()>>>0<28){X();z()}a=tf(150768,28);j[37684]=a;j[37685]=a;j[37688]=a+112}function Sl(a,b,c,d,e){b=Qb(b,c,d,e,3);c=j[d>>2];if(!((b|0)>365|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function up(a,b){a=a|0;b=b|0;var c=0;c=M-16|0;M=c;j[c+12>>2]=b;a=tp(a,c+12|0);M=c+16|0;return a|0}function rf(a,b){var c=0;c=j[a+4>>2];while(1){if((b|0)!=(c|0)){c=c-4|0;continue}break}j[a+4>>2]=b}function km(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>23|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function gm(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>59|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function dm(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>60|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Ul(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>23|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Ud(a,b,c,d,e,f){var g=0;g=M-16|0;M=g;ff(g+8|0,d);a=Ei(a,b,c,g+8|0,e,f);M=g+16|0;return a}function Ql(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>59|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Nl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>60|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function cm(a,b,c,d,e){b=Rb(b,c,d,e,1);c=j[d>>2];if(!((b|0)>6|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Ml(a,b,c,d,e){b=Qb(b,c,d,e,1);c=j[d>>2];if(!((b|0)>6|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Io(a,b,c){if(c){while(1){j[a>>2]=j[b>>2];a=a+4|0;b=b+4|0;c=c-1|0;if(c){continue}break}}}function hi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(zb(a,j[b+8>>2],f)){Rd(b,c,d,e)}}function ui(a){var b=0;b=M-16|0;M=b;j[b+8>>2]=j[a+4>>2];h[j[b+8>>2]]=1;h[j[a+8>>2]]=1;M=b+16|0}function nr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;O[j[j[b>>2]+16>>2]](a,b,j[c+8>>2],j[c+12>>2],0,d)}function Xa(a,b){var c=0;c=M-16|0;M=c;h[c+15|0]=k[a|0];h[a|0]=k[b|0];h[b|0]=k[c+15|0];M=c+16|0}function Go(a){var b=0;b=a;a=0;while(1){if((a|0)!=3){j[(a<<2)+b>>2]=0;a=a+1|0;continue}break}}function Bo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;j[a+8>>2]=-1;j[a+12>>2]=-1;j[a>>2]=0;j[a+4>>2]=0}function Ng(a){var b=0,c=0;c=a;while(1){b=c;c=b+4|0;if(j[b>>2]){continue}break}return b-a>>2}function Ff(a){a=a|0;var b=0;j[a>>2]=127908;b=j[a+8>>2];if(!(!b|!k[a+12|0])){T(b)}return a|0}function bh(a,b){var c=0;a:{c=j[a>>2];if(!c){break a}if((qo(c,b)|0)!=-1){break a}j[a>>2]=0}}function ah(a,b){var c=0;a:{c=j[a>>2];if(!c){break a}if((oo(c,b)|0)!=-1){break a}j[a>>2]=0}}function Er(a,b){var c=0,d=0;c=b&31;d=(-1>>>c&a)<>>a} -function jr(a,b){var c=0,d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=M-32|0;M=c;g=U(65788);e=Ie(g,b);j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;a:{b:{if(!ub(e,c+16|0)){break b}bb(c+16|0);if(!_(c+16|0,0,3,120902,3)){xb(c+16|0,0,3)}p=c+16|2;r=a+68|0;s=a+56|0;q=a+40|0;o=a+28|0;t=c+16|4;while(1){c:{if(_(c+16|0,0,4,120913,4)){break c}d=h[c+27|0];d:{if((d|0)<=-1){if(m[c+20>>2]<=4){break c}b=j[c+16>>2]+4|0;break d}b=t;if((d&255)>>>0<=4){break c}}b=h[b|0];if(!((b|0)==32|b-9>>>0<5)){break c}d=j[a+8>>2]?k[c+27|0]:d;f=d<<24>>24<0;b=f?j[c+16>>2]:c+16|0;f=f?j[c+20>>2]:d&255;n=b+f|0;l=b;d=f;e:{if((d|0)<4){break e}while(1){d=Aa(l,108,d-3|0);if(!d){break e}if((k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24))!=1735290732){l=d+1|0;d=n-l|0;if((d|0)>=4){continue}break e}break}if((d|0)==(n|0)|(d-b|0)==-1){break e}j[a+8>>2]=1}l=b;f:{d=f;if((d|0)<3){break f}g:{while(1){d=Aa(l,110,d-2|0);if(!d){break g}if(qa(d,120918,3)){l=d+1|0;d=n-l|0;if((d|0)>=3){continue}break g}break}if((d|0)==(n|0)|(d-b|0)==-1){break g}j[a+8>>2]=2}d=b;if((f|0)<5){break f}while(1){d=Aa(d,85,f-4|0);if(!d){break f}if(qa(d,120922,5)){d=d+1|0;f=n-d|0;if((f|0)>=5){continue}break f}break}if((d|0)==(n|0)|(d-b|0)==-1){break f}j[a+8>>2]=3;break c}if(j[a+8>>2]){break c}}h:{if(_(c+16|0,0,13,120928,13)){break h}j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;b=va(c+16|0,c);i:{if(!b){ea(e);T(g);break i}u=a,v=Ha(a,h[c+11|0]<0?j[c>>2]:c),i[u+20>>1]=v}if(h[c+11|0]<=-1){T(j[c>>2])}if(b){break h}a=c+16|0;break a}j:{if(_(c+16|0,0,3,120942,3)){break j}if(!va(c+16|0,o)){ea(e);T(g);a=c+16|0;break a}k:{b=k[a+39|0];if(((b<<24>>24<0?j[a+32>>2]:b)|0)!=5){break k}if(_(o,0,-1,120922,5)){break k}j[a+16>>2]=1;$h();break j}u=a,v=_c(o),j[u+52>>2]=v}if(!_(c+16|0,0,4,120946,4)){if(!va(c+16|0,q)){ea(e);T(g);a=c+16|0;break a}u=a,v=ai(q),j[u+24>>2]=v}l:{if(_(c+16|0,0,6,120951,6)){break l}if(Ve(c+16|0,s,r,j[a+16>>2])){break l}ea(e);T(g);a=c+16|0;break a}m:{if(_(c+16|0,0,2,120958,2)){break m}d=h[c+27|0];n:{if((d|0)<=-1){if(m[c+20>>2]<=2){break m}b=j[c+16>>2]+2|0;break n}b=p;if((d&255)>>>0<=2){break m}}b=h[b|0];if(!((b|0)==32|b-9>>>0<5)){break m}if(hr(a,c+16|0,e)){break m}ea(e);T(g);a=c+16|0;break a}o:{if(_(c+16|0,0,2,120961,2)){break o}d=h[c+27|0];p:{if((d|0)<=-1){if(m[c+20>>2]<=2){break o}b=j[c+16>>2]+2|0;break p}b=p;if((d&255)>>>0<=2){break o}}b=h[b|0];if(!((b|0)==32|b-9>>>0<5)){break o}if(gr(a,c+16|0,e)){break o}ea(e);T(g);a=c+16|0;break a}if(!_(c+16|0,0,15,120964,15)){j[a+12>>2]=1}q:{if(_(c+16|0,0,3,120980,3)){break q}if(fr(a,c+16|0,e)){break q}ea(e);T(g);a=c+16|0;break a}r:{if(_(c+16|0,0,3,120984,3)){if(_(c+16|0,0,3,120988,3)){break r}}d=h[c+27|0];s:{if((d|0)<=-1){if(m[c+20>>2]<=3){break r}b=j[c+16>>2];break s}b=c+16|0;if((d&255)>>>0<=3){break r}}b=h[b+3|0];if(!((b|0)==32|b-9>>>0<5)){break r}if(j[a+100>>2]!=j[a+104>>2]){break b}}if(!ub(e,c+16|0)){break b}bb(c+16|0);continue}}t:{if(j[a+52>>2]){break t}h[c+9|0]=0;h[c+8|0]=k[121e3];h[c+11|0]=9;b=k[120996]|k[120997]<<8|(k[120998]<<16|k[120999]<<24);j[c>>2]=k[120992]|k[120993]<<8|(k[120994]<<16|k[120995]<<24);j[c+4>>2]=b;u=a,v=_c(c),j[u+52>>2]=v;if(h[c+11|0]>-1){break t}T(j[c>>2])}ea(e);T(g);a=c+16|0}if(h[a+11|0]<=-1){T(j[c+16>>2])}M=c+32|0}function Vb(a,b,c,d){var e=0,f=0,g=0,i=0,k=0,l=0,n=0,o=0,p=0,q=0;e=M-48|0;M=e;j[e+40>>2]=0;j[e+32>>2]=0;j[e+36>>2]=0;k=j[b+4>>2];i=j[b>>2];j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;p=(k-i|0)/12|0;a:{if(!j[a+76>>2]){break a}Ka(e+16|0,c);b:{if(j[a+56>>2]){ob(e+16|0);break b}Va(e+16|0)}c=e+16|0;if(h[e+27|0]>-1){break a}c=j[e+16>>2]}c:{d:{if(j[a+56>>2]){l=W(c);if(l>>>0>=4294967280){break c}e:{f:{if(l>>>0>=11){k=l+16&-16;i=U(k);j[e+8>>2]=k|-2147483648;j[e>>2]=i;j[e+4>>2]=l;k=e;break f}h[e+11|0]=l;k=e;i=e;if(!l){break e}}V(i,c,l)}h[i+l|0]=0;l=ia(e+32|0,e);if(h[k+11|0]<=-1){T(j[e>>2])}if((l|0)==-1){break d}}k=0;while(1){q=C()|0;i=(j[b+4>>2]-j[b>>2]|0)/12|0;f=i;n=0;o=j[a+48>>2];if(f>>>0>>0){g:{if(j[a+56>>2]){kq(a,b,j[e+32>>2],l,g);break g}jq(a,b,c,g)}o=j[a+48>>2];f=(j[b+4>>2]-j[b>>2]|0)/12|0;n=i>>>0>>0}k=g?i:k;h:{if(f>>>0>=o>>>0){break h}i:{if(!g){i=0;break i}i=1;if(j[a+72>>2]+k>>>0<=f>>>0){break h}}iq(a,b,c,i);n=(j[b+4>>2]-j[b>>2]|0)/12>>>0>f>>>0|n}i=q+1e5|0;if((C()|0)>(i|0)){break d}j:{k:{l:{m:{n:{f=(j[b+4>>2]-j[b>>2]|0)/12|0;o:{if(f>>>0>=m[a+48>>2]){break o}if(!g){break n}if(f>>>0>=j[a+72>>2]+k>>>0){break o}Mh(a,b,c,1)}if((C()|0)>(i|0)){break d}if(!g){break m}o=0;f=(j[b+4>>2]-j[b>>2]|0)/12|0;if(f>>>0>2]){break l}break j}Mh(a,b,c,0);if((C()|0)>(i|0)){break d}}f=(j[b+4>>2]-j[b>>2]|0)/12|0;o=p>>>0>>0;if(m[a+48>>2]<=f>>>0){break j}if(!g){break k}}if(j[a+72>>2]+k>>>0<=f>>>0){break j}}if(j[a+56>>2]){hq(a,b,j[e+32>>2],l,g);break j}gq(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;p:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break p}if(j[a+56>>2]){fq(a,b,j[e+32>>2],l,g);break p}eq(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;q:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break q}if(j[a+56>>2]){dq(a,b,j[e+32>>2],l,g);break q}cq(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;r:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break r}if(j[a+56>>2]){bq(a,b,j[e+32>>2],l,g);break r}aq(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;s:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break s}if(j[a+56>>2]){$p(a,b,j[e+32>>2],l,g);break s}_p(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;t:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break t}if(j[a+56>>2]){Zp(a,b,j[e+32>>2],l,g);break t}Yp(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;u:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break u}if(j[a+56>>2]){Xp(a,b,j[e+32>>2],l,g);break u}Wp(a,b,c,g)}if((C()|0)>(i|0)){break d}v:{w:{x:{f=(j[b+4>>2]-j[b>>2]|0)/12|0;y:{if(f>>>0>=m[a+48>>2]){break y}if(f>>>0>=j[a+72>>2]+k>>>0?g:0){break x}if(j[a+56>>2]){Up(a,b,j[e+32>>2],l,g);break y}Tp(a,b,c,g)}if((C()|0)>(i|0)){break d}if(g){break w}n=Lh(a,b,c,0,n);break v}if((C()|0)>(i|0)){break d}}if(j[a+64>>2]|j[a+72>>2]+k>>>0<=(j[b+4>>2]-j[b>>2]|0)/12>>>0){break v}n=Lh(a,b,c,1,n)}if((C()|0)>(i|0)){break d}i=g|o;g=g+1|0;if(!((i|0)!=0|n)){continue}break}if(!d|o|j[b>>2]==j[b+4>>2]){break d}j[d>>2]=1}if(h[e+27|0]<=-1){T(j[e+16>>2])}a=j[e+32>>2];if(a){j[e+36>>2]=a;T(a)}M=e+48|0;return n}X();z()}function cp(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;f=M-32|0;M=f;c=j[a+4>>2];e=j[a+8>>2];d=((c|0)==(e|0))+b|0;b=(d>>>0)/341|0;g=((p(b,341)|0)!=(d|0))+b|0;d=j[a+16>>2];b=(d>>>0)/341|0;h=b>>>0>g>>>0?g:b;a:{b=g-h|0;b:{if(!b){j[a+16>>2]=d+p(h,-341);if(!h){break b}while(1){k=j[c>>2];b=c+4|0;j[a+4>>2]=b;c:{if(j[a+12>>2]!=(e|0)){break c}i=j[a>>2];if(i>>>0>>0){c=((b-i>>2)+1|0)/-2<<2;g=c+b|0;d=e-b|0;if(d){Ja(g,b,d);b=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break c}c=e-i|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;l=U(c);g=c+l|0;c=e-b|0;d=l+(d&-4)|0;e=d;if(c){e=c+d|0;c=d;while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=l;if(!i){break c}T(i);e=j[a+8>>2]}j[e>>2]=k;e=j[a+8>>2]+4|0;j[a+8>>2]=e;h=h-1|0;if(!h){break b}c=j[a+4>>2];continue}}d:{e:{g=j[a+12>>2];d=g-j[a>>2]|0;k=e-c>>2;if((d>>2)-k>>>0>=b>>>0){if((e|0)!=(g|0)){while(1){n=f,o=U(4092),j[n+8>>2]=o;Ad(a,f+8|0);b=b-1|0;if(!b){break e}if(j[a+12>>2]!=j[a+8>>2]){continue}break}}c=b;while(1){n=f,o=U(4092),j[n+8>>2]=o;zd(a,f+8|0);e=j[a+16>>2]+((j[a+8>>2]-j[a+4>>2]|0)==4?340:341)|0;j[a+16>>2]=e;c=c-1|0;if(c){continue}break}h=b+h|0;break d}j[f+24>>2]=a+12;g=b+k|0;d=d>>1;g=d>>>0>>0?g:d;c=0;f:{if(!g){break f}if(g>>>0>=1073741824){break a}c=U(g<<2)}l=p(h,-341);j[f+8>>2]=c;d=c+(k-h<<2)|0;j[f+16>>2]=d;j[f+20>>2]=c+(g<<2);j[f+12>>2]=d;while(1){n=f,o=U(4092),j[n+4>>2]=o;Ad(f+8|0,f+4|0);b=b-1|0;if(b){continue}break}g:{if(!h){g=j[a+4>>2];break g}g=j[a+4>>2];e=j[f+16>>2];while(1){h:{if(j[f+20>>2]!=(e|0)){break h}b=j[f+12>>2];m=j[f+8>>2];if(b>>>0>m>>>0){c=((b-m>>2)+1|0)/-2<<2;k=c+b|0;d=e-b|0;if(d){Ja(k,b,d);b=j[f+12>>2]}e=d+k|0;j[f+16>>2]=e;j[f+12>>2]=b+c;break h}c=e-m|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;i=U(c);k=c+i|0;c=e-b|0;d=i+(d&-4)|0;e=d;if(c){e=c+d|0;c=d;while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}j[f+20>>2]=k;j[f+16>>2]=e;j[f+12>>2]=d;j[f+8>>2]=i;if(!m){break h}T(m);e=j[f+16>>2]}j[e>>2]=j[g>>2];e=j[f+16>>2]+4|0;j[f+16>>2]=e;g=j[a+4>>2]+4|0;j[a+4>>2]=g;h=h-1|0;if(h){continue}break}}b=j[a+8>>2];c=g;if((b|0)!=(c|0)){while(1){b=b-4|0;zd(f+8|0,b);if(j[a+4>>2]!=(b|0)){continue}break}g=j[a+8>>2];c=b}d=j[a>>2];j[a>>2]=j[f+8>>2];j[f+8>>2]=d;j[a+4>>2]=j[f+12>>2];j[f+12>>2]=c;j[a+8>>2]=j[f+16>>2];j[f+16>>2]=g;b=j[a+12>>2];j[a+12>>2]=j[f+20>>2];j[f+20>>2]=b;j[a+16>>2]=l+j[a+16>>2];if((c|0)!=(g|0)){j[f+16>>2]=(((g-c|0)-4>>>2^-1)<<2)+g}if(!d){break b}T(d);break b}e=j[a+16>>2]}j[a+16>>2]=p(h,-341)+e;if(!h){break b}e=j[a+8>>2];while(1){b=j[a+4>>2];k=j[b>>2];b=b+4|0;j[a+4>>2]=b;i:{if(j[a+12>>2]!=(e|0)){break i}i=j[a>>2];if(i>>>0>>0){c=((b-i>>2)+1|0)/-2<<2;g=c+b|0;d=e-b|0;if(d){Ja(g,b,d);b=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break i}c=e-i|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;l=U(c);g=c+l|0;c=e-b|0;d=l+(d&-4)|0;e=d;if(c){e=c+d|0;c=d;while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=l;if(!i){break i}T(i);e=j[a+8>>2]}j[e>>2]=k;e=j[a+8>>2]+4|0;j[a+8>>2]=e;h=h-1|0;if(h){continue}break}}M=f+32|0;return}D();z()}function qp(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0;c=M-80|0;M=c;a:{b:{d=W(b);if(d>>>0<4294967280){c:{d:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+40>>2]=f|-2147483648;j[c+32>>2]=e;j[c+36>>2]=d;f=c+32|0;break d}h[c+43|0]=d;f=c+32|0;e=f;if(!d){break c}}V(e,b,d)}h[d+e|0]=0;e=Hc(a,c+32|0);if(h[f+11|0]<=-1){T(j[c+32>>2])}e:{if((e|0)==(a+4|0)){break e}j[c+48>>2]=0;j[c+52>>2]=0;j[c+40>>2]=0;j[c+44>>2]=0;j[c+32>>2]=0;j[c+36>>2]=0;d=W(b);if(d>>>0>=4294967280){break b}f:{g:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+24>>2]=f|-2147483648;j[c+16>>2]=e;j[c+20>>2]=d;f=c+16|0;break g}h[c+27|0]=d;f=c+16|0;e=f;if(!d){break f}}V(e,b,d)}h[d+e|0]=0;j[c+64>>2]=c+16;gp(c+72|0,a,c+16|0,c- -64|0);Me(j[j[c+72>>2]+28>>2]);if(h[f+11|0]<=-1){T(j[c+16>>2])}d=W(b);if(d>>>0>=4294967280){break a}h:{i:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+24>>2]=f|-2147483648;j[c+16>>2]=e;j[c+20>>2]=d;f=c+16|0;break i}h[c+27|0]=d;f=c+16|0;e=f;if(!d){break h}}V(e,b,d)}h[d+e|0]=0;Bh(a,c+16|0);if(h[f+11|0]<=-1){T(j[c+16>>2])}if(j[a+32>>2]){d=j[a+28>>2];while(1){g=W(b);e=(d>>>0)/341|0;f=j[j[a+16>>2]+(e<<2)>>2];e=d-p(e,341)|0;d=f+p(e,12)|0;i=k[d+11|0];j:{if((g|0)==((i<<24>>24<0?j[d+4>>2]:i)|0)){if(!_(d,0,-1,b,g)){break j}e=j[a+28>>2];f=(e>>>0)/341|0;e=e-p(f,341)|0;f=j[j[a+16>>2]+(f<<2)>>2]}i=p(e,12);e=j[c+52>>2]+j[c+48>>2]|0;g=j[c+40>>2];d=j[c+36>>2];l=g-d|0;if((e|0)==((l?p(l>>2,341)-1|0:0)|0)){Ah(c+32|0);g=j[c+40>>2];d=j[c+36>>2];e=j[c+48>>2]+j[c+52>>2]|0}f=f+i|0;if((d|0)==(g|0)){e=0}else{g=d;d=(e>>>0)/341|0;e=j[g+(d<<2)>>2]+p(e-p(d,341)|0,12)|0}ha(e,f);j[c+52>>2]=j[c+52>>2]+1}f=a;e=j[a+28>>2];d=(e>>>0)/341|0;d=j[j[a+16>>2]+(d<<2)>>2]+p(e-p(d,341)|0,12)|0;if(h[d+11|0]<=-1){T(j[d>>2]);e=j[a+28>>2]}d=e+1|0;j[f+28>>2]=d;e=j[a+32>>2]-1|0;j[a+32>>2]=e;if(d>>>0>=682){T(j[j[a+16>>2]>>2]);j[a+16>>2]=j[a+16>>2]+4;d=j[a+28>>2]-341|0;j[a+28>>2]=d;e=j[a+32>>2]}if(e){continue}break}}g=a+12|0;if((g|0)!=(c+32|0)){e=j[c+36>>2];b=j[c+48>>2];d=(b>>>0)/341|0;f=e+(d<<2)|0;i=(e|0)==j[c+40>>2];j[c+20>>2]=i?0:j[f>>2]+p(b-p(d,341)|0,12)|0;j[c+16>>2]=f;f=b+j[c+52>>2]|0;d=(f>>>0)/341|0;b=e+(d<<2)|0;j[c+76>>2]=i?0:j[b>>2]+p(f-p(d,341)|0,12)|0;j[c+72>>2]=b;a=j[c+20>>2];j[c+8>>2]=j[c+16>>2];j[c+12>>2]=a;a=j[c+76>>2];j[c>>2]=j[c+72>>2];j[c+4>>2]=a;fp(g,c+8|0,c)}b=j[c+48>>2];d=(b>>>0)/341|0;a=j[c+36>>2];e=j[c+40>>2];k:{if((a|0)==(e|0)){e=a;break k}g=(d<<2)+a|0;f=j[g>>2];d=f+p(b-p(d,341)|0,12)|0;b=b+j[c+52>>2]|0;i=(b>>>0)/341|0;b=j[(i<<2)+a>>2]+p(b-p(i,341)|0,12)|0;if((d|0)==(b|0)){break k}while(1){if(h[d+11|0]<=-1){T(j[d>>2]);f=j[g>>2]}d=d+12|0;if((d-f|0)==4092){f=j[g+4>>2];g=g+4|0;d=f}if((b|0)!=(d|0)){continue}break}a=j[c+36>>2];e=j[c+40>>2]}j[c+52>>2]=0;d=e-a>>2;if(d>>>0>2){while(1){T(j[a>>2]);a=j[c+36>>2]+4|0;j[c+36>>2]=a;e=j[c+40>>2];d=e-a>>2;if(d>>>0>2){continue}break}}f=170;l:{switch(d-1|0){case 1:f=341;case 0:j[c+48>>2]=f;break;default:break l}}m:{if((a|0)==(e|0)){break m}while(1){T(j[a>>2]);a=a+4|0;if((e|0)!=(a|0)){continue}break}a=j[c+40>>2];b=j[c+36>>2];if((a|0)==(b|0)){break m}j[c+40>>2]=a+(((a-b|0)-4>>>2^-1)<<2)}a=j[c+32>>2];if(!a){break e}T(a)}M=c+80|0;return}X();z()}X();z()}X();z()}function Jd(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:{s=k[a+28|0];b:{if(!s){break b}i=a+52|0;l=a+48|0;e=b-1|0;b=a+32|0;d=k[a+29|0];q=d&2;m=d&16;o=1;while(1){c:{d:{e:{f:{g:{h:{i:{j:{f=h[b|0];switch(f-91|0){case 0:break i;case 1:break d;case 2:break g;case 3:break h;default:break j}}if((f|0)==46){break f}if(!f){break b}break d}b=b+1|0;k:{if(m){if((b|0)!=(l|0)){break k}b=j[a+48>>2];g=e;break c}if((b|0)==(i|0)){break b}}g=e;if(k[b|0]){break c}break b}b=b+1|0;l:{if(m){if((b|0)!=(l|0)){break l}b=j[a+48>>2];p=1;break c}if((b|0)==(i|0)){break b}}p=1;if(k[b|0]){break c}break b}if(!(p|r)){break a}if(!r){m:{if(!q|c>>>0>e>>>0){break m}while(1){if((k[e|0]&192)!=128){break m}e=e-1|0;if(e>>>0>=c>>>0){continue}break}}e=e-1|0}b=b+1|0;n:{o:{if(m){if((b|0)!=(l|0)){break o}b=j[a+48>>2];break n}if((b|0)==(i|0)){break b}}b=k[b|0]?b:0}o=o+1|0;g=0;if(!b|c>>>0<=e>>>0){break e}break a}if(g){break d}b=b+1|0;p:{q:{if(m){if((b|0)!=(l|0)){break q}b=j[a+48>>2];break p}if((b|0)!=(i|0)){break q}b=0;break p}b=k[b|0]?b:0}r:{if(q){while(1){d=e;e=d-1|0;if(e>>>0>>0){break r}if((k[e|0]&192)==128){continue}break}g=0;if(!q|h[e|0]>-1){break c}e=d-2|0;if(e>>>0>=c>>>0){break c}return!b}g=0;e=e-1|0;if(e>>>0>=c>>>0){break c}}return!b}p=0;r=0;break c}s:{t:{u:{if(k[e|0]==(f&255)){b=b+1|0;v:{w:{if(m){if((b|0)!=(l|0)){break w}d=j[a+48>>2];break v}if((b|0)!=(i|0)){break w}d=0;break v}d=k[b|0]?b:0}if(!(!q|(f|0)>-1)){f=e-1|0;x:{if(!d|f>>>0>>0){break x}if(!m){while(1){n=k[d|0];b=f;if((n|0)!=k[b|0]){break u}if((n&192)!=128){break x}d=d+1|0;if((d|0)==(i|0)){f=b-1|0;d=0;e=b;break x}f=b-1|0;d=k[d|0]?d:0;if(!d){e=b;break x}e=b;if(c>>>0<=f>>>0){continue}break x}}while(1){n=k[d|0];b=f;if((n|0)!=k[b|0]){break u}if((n&192)!=128){break x}f=b-1|0;d=d+1|0;e=j[a+48>>2];y:{if((d|0)==(l|0)){break y}e=k[d|0]?d:0}d=e;if(!d){e=b;break x}e=b;if(c>>>0<=f>>>0){continue}break}}z:{if(!g){b=d;break z}if((f|0)==(g|0)){b=d;break z}if(p){break a}if((o|0)==(s|0)){break b}A:{if(!m){while(1){b=0;if(!d){break A}if(k[d|0]==93){b=d;break A}d=d+1|0;if((i|0)==(d|0)){break A}if(k[d|0]){continue}break A}}while(1){b=0;if(!d){break A}if(k[d|0]==93){b=d;break A}d=d+1|0;B:{if((l|0)==(d|0)){d=j[a+48>>2];break B}if(!k[d|0]){break A}}if(d){continue}break}}f=e-2|0;r=1}if(!b){b=0;break s}n=k[b|0];break t}if(!g){f=e;b=d;break s}if(p){break a}if((o|0)==(s|0)){break b}C:{if(!m){while(1){b=0;if(!d){break C}if(k[d|0]==93){b=d;break C}d=d+1|0;if((i|0)==(d|0)){break C}if(k[d|0]){continue}break C}}while(1){b=0;if(!d){break C}if(k[d|0]==93){b=d;break C}d=d+1|0;D:{if((l|0)==(d|0)){d=j[a+48>>2];break D}if(!k[d|0]){break C}}if(d){continue}break}}f=e-1|0;r=1;break s}if(!g){break a}b=b+1|0;E:{if(m){if((b|0)!=(l|0)){break E}b=j[a+48>>2];break c}if((b|0)==(i|0)){break b}}if(!k[b|0]){break b}break c}b=d;f=g;if(f){break t}break a}if((n|0)==93){break s}b=b+1|0;F:{if(m){if((b|0)!=(l|0)){break F}b=j[a+48>>2];break s}if((b|0)!=(i|0)){break F}b=0;break s}b=k[b|0]?b:0}o=!g+o|0;e=g?f:f-1|0;if(!b|e>>>0>=c>>>0|k[b|0]==93){break c}break a}if(b){continue}break}}return 1}return 0}function T(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0;a:{if(!a){break a}d=a-8|0;b=j[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=j[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=j[d+8>>2];b=b>>>3|0;c=j[d+12>>2];if((c|0)==(e|0)){i=150992,k=j[37748]&Fr(-2,b),j[i>>2]=k;break b}j[e+12>>2]=c;j[c+8>>2]=e;break b}h=j[d+24>>2];b=j[d+12>>2];c:{if((d|0)!=(b|0)){c=j[d+8>>2];j[c+12>>2]=b;j[b+8>>2]=c;break c}d:{e=d+20|0;c=j[e>>2];if(c){break d}e=d+16|0;c=j[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=j[e>>2];if(c){continue}e=b+16|0;c=j[b+16>>2];if(c){continue}break}j[g>>2]=0}if(!h){break b}e=j[d+28>>2];c=(e<<2)+151296|0;e:{if(j[c>>2]==(d|0)){j[c>>2]=b;if(b){break e}i=150996,k=j[37749]&Fr(-2,e),j[i>>2]=k;break b}j[h+(j[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}j[b+24>>2]=h;c=j[d+16>>2];if(c){j[b+16>>2]=c;j[c+24>>2]=b}c=j[d+20>>2];if(!c){break b}j[b+20>>2]=c;j[c+24>>2]=b;break b}b=j[f+4>>2];if((b&3)!=3){break b}j[37750]=a;j[f+4>>2]=b&-2;j[d+4>>2]=a|1;j[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=j[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(j[37754]==(f|0)){j[37754]=d;a=j[37751]+a|0;j[37751]=a;j[d+4>>2]=a|1;if(j[37753]!=(d|0)){break a}j[37750]=0;j[37753]=0;return}if(j[37753]==(f|0)){j[37753]=d;a=j[37750]+a|0;j[37750]=a;j[d+4>>2]=a|1;j[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){c=j[f+8>>2];b=b>>>3|0;e=j[f+12>>2];if((c|0)==(e|0)){i=150992,k=j[37748]&Fr(-2,b),j[i>>2]=k;break g}j[c+12>>2]=e;j[e+8>>2]=c;break g}h=j[f+24>>2];b=j[f+12>>2];h:{if((f|0)!=(b|0)){c=j[f+8>>2];j[c+12>>2]=b;j[b+8>>2]=c;break h}i:{e=f+20|0;c=j[e>>2];if(c){break i}e=f+16|0;c=j[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=j[e>>2];if(c){continue}e=b+16|0;c=j[b+16>>2];if(c){continue}break}j[g>>2]=0}if(!h){break g}e=j[f+28>>2];c=(e<<2)+151296|0;j:{if(j[c>>2]==(f|0)){j[c>>2]=b;if(b){break j}i=150996,k=j[37749]&Fr(-2,e),j[i>>2]=k;break g}j[h+(j[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}j[b+24>>2]=h;c=j[f+16>>2];if(c){j[b+16>>2]=c;j[c+24>>2]=b}c=j[f+20>>2];if(!c){break g}j[b+20>>2]=c;j[c+24>>2]=b}j[d+4>>2]=a|1;j[a+d>>2]=a;if(j[37753]!=(d|0)){break f}j[37750]=a;return}j[f+4>>2]=b&-2;j[d+4>>2]=a|1;j[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;b=(a<<3)+151032|0;c=j[37748];a=1<>2]}j[b+8>>2]=d;j[a+12>>2]=d;j[d+12>>2]=b;j[d+8>>2]=a;return}e=31;j[d+16>>2]=0;j[d+20>>2]=0;if(a>>>0<=16777215){b=a>>>8|0;g=b+1048320>>>16&8;b=b<>>16&4;b=b<>>16&2;b=(b<>>15|0)-(c|(e|g))|0;e=(b<<1|a>>>b+21&1)+28|0}j[d+28>>2]=e;g=(e<<2)+151296|0;l:{m:{c=j[37749];b=1<>2]=d;j[d+24>>2]=g;break n}e=a<<((e|0)==31?0:25-(e>>>1|0)|0);b=j[g>>2];while(1){c=b;if((j[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=j[g+16>>2];if(b){continue}break}j[g+16>>2]=d;j[d+24>>2]=c}j[d+12>>2]=d;j[d+8>>2]=d;break l}a=j[c+8>>2];j[a+12>>2]=d;j[c+8>>2]=d;j[d+24>>2]=0;j[d+12>>2]=c;j[d+8>>2]=a}a=j[37756]-1|0;j[37756]=a?a:-1}}function _e(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0;f=a+b|0;a:{b:{c=j[a+4>>2];if(c&1){break b}if(!(c&3)){break a}c=j[a>>2];b=c+b|0;a=a-c|0;if((a|0)!=j[37753]){if(c>>>0<=255){e=j[a+8>>2];c=c>>>3|0;d=j[a+12>>2];if((d|0)==(e|0)){i=150992,k=j[37748]&Fr(-2,c),j[i>>2]=k;break b}j[e+12>>2]=d;j[d+8>>2]=e;break b}h=j[a+24>>2];c=j[a+12>>2];c:{if((c|0)!=(a|0)){d=j[a+8>>2];j[d+12>>2]=c;j[c+8>>2]=d;break c}d:{e=a+20|0;d=j[e>>2];if(d){break d}e=a+16|0;d=j[e>>2];if(d){break d}c=0;break c}while(1){g=e;c=d;e=c+20|0;d=j[e>>2];if(d){continue}e=c+16|0;d=j[c+16>>2];if(d){continue}break}j[g>>2]=0}if(!h){break b}e=j[a+28>>2];d=(e<<2)+151296|0;e:{if(j[d>>2]==(a|0)){j[d>>2]=c;if(c){break e}i=150996,k=j[37749]&Fr(-2,e),j[i>>2]=k;break b}j[h+(j[h+16>>2]==(a|0)?16:20)>>2]=c;if(!c){break b}}j[c+24>>2]=h;d=j[a+16>>2];if(d){j[c+16>>2]=d;j[d+24>>2]=c}d=j[a+20>>2];if(!d){break b}j[c+20>>2]=d;j[d+24>>2]=c;break b}c=j[f+4>>2];if((c&3)!=3){break b}j[37750]=b;j[f+4>>2]=c&-2;j[a+4>>2]=b|1;j[f>>2]=b;return}c=j[f+4>>2];f:{if(!(c&2)){if(j[37754]==(f|0)){j[37754]=a;b=j[37751]+b|0;j[37751]=b;j[a+4>>2]=b|1;if(j[37753]!=(a|0)){break a}j[37750]=0;j[37753]=0;return}if(j[37753]==(f|0)){j[37753]=a;b=j[37750]+b|0;j[37750]=b;j[a+4>>2]=b|1;j[a+b>>2]=b;return}b=(c&-8)+b|0;g:{if(c>>>0<=255){e=j[f+8>>2];c=c>>>3|0;d=j[f+12>>2];if((d|0)==(e|0)){i=150992,k=j[37748]&Fr(-2,c),j[i>>2]=k;break g}j[e+12>>2]=d;j[d+8>>2]=e;break g}h=j[f+24>>2];c=j[f+12>>2];h:{if((f|0)!=(c|0)){d=j[f+8>>2];j[d+12>>2]=c;j[c+8>>2]=d;break h}i:{d=f+20|0;e=j[d>>2];if(e){break i}d=f+16|0;e=j[d>>2];if(e){break i}c=0;break h}while(1){g=d;c=e;d=c+20|0;e=j[d>>2];if(e){continue}d=c+16|0;e=j[c+16>>2];if(e){continue}break}j[g>>2]=0}if(!h){break g}e=j[f+28>>2];d=(e<<2)+151296|0;j:{if(j[d>>2]==(f|0)){j[d>>2]=c;if(c){break j}i=150996,k=j[37749]&Fr(-2,e),j[i>>2]=k;break g}j[h+(j[h+16>>2]==(f|0)?16:20)>>2]=c;if(!c){break g}}j[c+24>>2]=h;d=j[f+16>>2];if(d){j[c+16>>2]=d;j[d+24>>2]=c}d=j[f+20>>2];if(!d){break g}j[c+20>>2]=d;j[d+24>>2]=c}j[a+4>>2]=b|1;j[a+b>>2]=b;if(j[37753]!=(a|0)){break f}j[37750]=b;return}j[f+4>>2]=c&-2;j[a+4>>2]=b|1;j[a+b>>2]=b}if(b>>>0<=255){b=b>>>3|0;c=(b<<3)+151032|0;d=j[37748];b=1<>2]}j[c+8>>2]=a;j[b+12>>2]=a;j[a+12>>2]=c;j[a+8>>2]=b;return}e=31;j[a+16>>2]=0;j[a+20>>2]=0;if(b>>>0<=16777215){c=b>>>8|0;g=c+1048320>>>16&8;c=c<>>16&4;c=c<>>16&2;c=(c<>>15|0)-(d|(e|g))|0;e=(c<<1|b>>>c+21&1)+28|0}j[a+28>>2]=e;g=(e<<2)+151296|0;l:{d=j[37749];c=1<>2]=a;j[a+24>>2]=g;break m}e=b<<((e|0)==31?0:25-(e>>>1|0)|0);c=j[g>>2];while(1){d=c;if((j[c+4>>2]&-8)==(b|0)){break l}c=e>>>29|0;e=e<<1;g=d+(c&4)|0;c=j[g+16>>2];if(c){continue}break}j[g+16>>2]=a;j[a+24>>2]=d}j[a+12>>2]=a;j[a+8>>2]=a;return}b=j[d+8>>2];j[b+12>>2]=a;j[d+8>>2]=a;j[a+24>>2]=0;j[a+12>>2]=d;j[a+8>>2]=b}}function np(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;d=M-48|0;M=d;a:{if(k[a+4212|0]){break a}h[a+4212|0]=1;j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;b:{c:{f=ka(b,d+40|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){break c}l=a+4216|0;i=-1;while(1){d:{switch(n|0){case 1:i=j[d+40>>2];g=i-f|0;if(g>>>0>=4294967280){break b}e:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break e}o=g+16&-16;e=U(o);j[d+32>>2]=o|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(i|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((i|0)!=(f|0)){continue}break}}h[e|0]=0;f:{if(h[d+35|0]>=0){i=ta(d+24|0);break f}e=j[d+24>>2];i=ta(e);T(e)}if((i|0)<=0){f=0;break a}jo(l,i);case 0:p=p+1|0;break;default:break d}}n=n+1|0;f=ka(b,d+40|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)!=((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){continue}break}if((p|0)!=2){break c}f=1;if((i|0)<1){break a}r=a+4216|0;n=0;while(1){g:{j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;h:{if(ub(c,d+24|0)){bb(d+24|0);j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;b=j[a+4220>>2];i:{if(b>>>0>2]){j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;j[b>>2]=j[d+8>>2];j[b+4>>2]=j[d+12>>2];j[b+8>>2]=j[d+16>>2];j[a+4220>>2]=b+12;break i}co(r,d+8|0);b=j[d+8>>2];if(!b){break i}e=j[d+12>>2];f=b;j:{if((b|0)==(e|0)){break j}while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((e|0)!=(b|0)){continue}break}f=j[d+8>>2]}j[d+12>>2]=b;T(f)}p=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;f=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];e=g<<24>>24<0;if((f|0)!=((e?b:d+24|0)+(e?j[d+28>>2]:g)|0)){while(1){k:{l:{switch(p|0){case 0:if(!_(d+24|0,f-(e&1?b:d+24|0)|0,3,1568,3)){break k}i=0;f=0;break h;case 1:break l;default:break k}}g=j[d+40>>2];if((f|0)==(g|0)){break k}while(1){e=f+1|0;m:{n:{b=f;l=k[b|0];if((l|0)==40){while(1){b=b+1|0;if((g|0)==(b|0)){break n}if(k[b|0]!=41){continue}break}f=e;g=b;break m}if(!j[a+4144>>2]|l>>>0<192){break n}o:{if((e|0)==(g|0)){break o}while(1){if((k[e|0]&192)!=128){g=e;break o}e=e+1|0;if((g|0)!=(e|0)){continue}break}}b=g-1|0;break m}b=f;g=e}l=g-f|0;if(l>>>0>=4294967280){break g}o=j[a+4220>>2];p:{if(l>>>0<=10){h[d+19|0]=l;e=d+8|0;break p}q=l+16&-16;e=U(q);j[d+16>>2]=q|-2147483648;j[d+8>>2]=e;j[d+12>>2]=l}if((f|0)!=(g|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((f|0)!=(g|0)){continue}break}}h[e|0]=0;f=o-8|0;e=j[f>>2];q:{if(e>>>0>2]){g=j[d+12>>2];j[e>>2]=j[d+8>>2];j[e+4>>2]=g;j[e+8>>2]=j[d+16>>2];j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;j[f>>2]=e+12;break q}Db(o-12|0,d+8|0)}if(h[d+19|0]<=-1){T(j[d+8>>2])}g=j[d+40>>2];f=b+1|0;if((g|0)!=(f|0)){continue}break}}p=p+1|0;f=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];e=g<<24>>24<0;if((f|0)!=((e?b:d+24|0)+(e?j[d+28>>2]:g)|0)){continue}break}}b=j[a+4220>>2]-12|0;f=1;if(j[b>>2]!=j[b+4>>2]){break h}}f=0}if(h[d+35|0]<=-1){T(j[d+24>>2])}n=n+1|0;if((n|0)<(i|0)&f){continue}break a}break}X();z()}f=0;break a}X();z()}M=d+48|0;return f}function Qp(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,q=0,r=0,s=0;e=M+ -64|0;M=e;j[d>>2]=0;a:{b:{c:{d:{e:{f:{g:{if(j[a+56>>2]){j[e+56>>2]=0;j[e+48>>2]=0;j[e+52>>2]=0;j[e+40>>2]=0;j[e+32>>2]=0;j[e+36>>2]=0;g=W(b);if(g>>>0>=4294967280){break g}h:{i:{if(g>>>0>=11){f=g+16&-16;m=U(f);j[e+24>>2]=f|-2147483648;j[e+16>>2]=m;j[e+20>>2]=g;f=e+16|0;break i}h[e+27|0]=g;f=e+16|0;m=f;if(!g){break h}}V(m,b,g)}h[g+m|0]=0;n=ia(e+48|0,e+16|0);if(h[f+11|0]<=-1){T(j[e+16>>2])}g=W(c);if(g>>>0>=4294967280){break f}j:{k:{if(g>>>0>=11){f=g+16&-16;b=U(f);j[e+24>>2]=f|-2147483648;j[e+16>>2]=b;j[e+20>>2]=g;f=e+16|0;break k}h[e+27|0]=g;f=e+16|0;b=f;if(!g){break j}}V(b,c,g)}m=0;h[b+g|0]=0;b=ia(e+32|0,e+16|0);if(h[f+11|0]<=-1){T(j[e+16>>2])}g=(n|0)<1|(b|0)<1;if(g){break c}l:{if(j[a+76>>2]){c=(b<<1)-2|0;f=c+j[e+32>>2]|0;f=k[f|0]|k[f+1|0]<<8;i[e+14>>1]=f;a=j[a+60>>2];i[e+10>>1]=f;bi(e+16|0,e+10|0,a);a=c+j[e+32>>2]|0;c=l[e+16>>1];h[a|0]=c;h[a+1|0]=c>>>8;break l}c=j[e+32>>2];c=k[c|0]|k[c+1|0]<<8;i[e+12>>1]=c;a=j[a+60>>2];i[e+8>>1]=c;bi(e+16|0,e+8|0,a);a=j[e+32>>2];c=l[e+16>>1];h[a|0]=c;h[a+1|0]=c>>>8}a=b-1>>>0>>0?b:n;f=0;o=j[e+32>>2];s=j[e+48>>2];c=0;while(1){q=f<<1;r=q+s|0;r=k[r|0]|k[r+1|0]<<8;q=o+q|0;q=k[q|0]|k[q+1|0]<<8;m:{if(!((r&255)!=(q&255)|(r>>>8|0)!=(q>>>8|0))){m=m+1|0;break m}if((c|0)<=1){j[(e+16|0)+(c<<2)>>2]=f}c=c+1|0}f=f+1|0;if((a|0)!=(f|0)){continue}break}break d}f=W(c);if(f>>>0>=4294967280){break e}n:{o:{if(f>>>0>=11){g=f+16&-16;m=U(g);j[e+56>>2]=g|-2147483648;j[e+48>>2]=m;j[e+52>>2]=f;break o}h[e+59|0]=f;m=e+48|0;if(!f){break n}}V(m,c,f)}h[f+m|0]=0;p:{if(j[a+76>>2]){c=h[e+59|0];q:{if((c|0)<=-1){c=j[e+52>>2]-1|0;f=j[e+48>>2];m=c+f|0;break q}f=e+48|0;c=(c&255)-1|0;m=c+(e+48|0)|0}h[c+f|0]=k[(j[a+52>>2]+p(k[m|0],3)|0)+1|0];a=e+48|0;break p}Pa(e+48|0,j[a+52>>2]);a=e+48|0}m=0;a=k[a+11|0];g=a<<24>>24;a=(g|0)<0?j[e+52>>2]:a;r:{s:{if(!a){break s}f=0;n=(g|0)<0?j[e+48>>2]:e+48|0;c=0;t:{while(1){o=k[b+f|0];if(!o){break t}u:{if((o|0)==k[f+n|0]){m=m+1|0;break u}if((c|0)<=1){j[(e+16|0)+(c<<2)>>2]=f}c=c+1|0}f=f+1|0;if((a|0)!=(f|0)){continue}break}f=a}if(k[b+f|0]|(c|0)!=2|(a|0)!=(f|0)){break s}n=j[e+16>>2];c=k[n+b|0];a=j[e+20>>2];v:{if((g|0)<=-1){f=j[e+48>>2];if((c|0)==k[a+f|0]){break v}break r}f=e+48|0;if((c|0)!=k[a+(e+48|0)|0]){break b}}if(k[a+b|0]!=k[f+n|0]){break s}j[d>>2]=1}if((g|0)>-1){break b}}T(j[e+48>>2]);break b}X();z()}X();z()}X();z()}if((b|0)!=(n|0)|(c|0)!=2){break c}b=j[e+48>>2];a=j[e+16>>2];c=b+(a<<1)|0;c=k[c|0]|k[c+1|0]<<8;n=j[e+32>>2];f=j[e+20>>2];o=n+(f<<1)|0;o=k[o|0]|k[o+1|0]<<8;if((c&255)!=(o&255)|(c>>>8|0)!=(o>>>8|0)){break c}b=b+(f<<1)|0;b=k[b|0]|k[b+1|0]<<8;a=n+(a<<1)|0;a=k[a|0]|k[a+1|0]<<8;if((b&255)!=(a&255)|(b>>>8|0)!=(a>>>8|0)){break c}j[d>>2]=1}a=j[e+32>>2];if(a){j[e+36>>2]=a;T(a)}a=j[e+48>>2];if(a){j[e+52>>2]=a;T(a)}a=0;if(g){break a}}a=m}M=e- -64|0;return a}function ir(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,m=0,n=0;c=M-80|0;M=c;i=U(65788);g=Ie(i,b);j[c+72>>2]=0;j[c+64>>2]=0;j[c+68>>2]=0;a:{b:{if(!ub(g,c- -64|0)){ea(g);T(i);m=2;a=c- -64|0;break b}bb(c- -64|0);if(!_(c- -64|0,0,3,120902,3)){xb(c- -64|0,0,3)}b=ta(h[c+75|0]<0?j[c+64>>2]:c- -64|0);j[a>>2]=b;if(b-1>>>0>=536870659){ea(g);T(i);m=4;a=c- -64|0;break b}d=b+1005|0;b=d&1?d:b+1006|0;j[a>>2]=b;b=Pd(b,4);j[a+4>>2]=b;if(!b){ea(g);T(i);m=3;a=c- -64|0;break b}j[c+56>>2]=0;j[c+48>>2]=0;j[c+52>>2]=0;c:{while(1){if(ub(g,c- -64|0)){bb(c- -64|0);b=Ba(c- -64|0,58,0);d:{if((b|0)==-1){d=-1;break d}while(1){e:{if(b>>>0<4){break e}d=b-3|0;f:{g:{f=h[c+75|0];h:{i:{if((f|0)<=-1){e=k[j[c+64>>2]+d|0];if((e|0)!=32){break i}break h}e=k[(c- -64|0)+d|0];if((e|0)==32){break g}}if((e|0)!=9){break e}if((f|0)>=0){break g}}e=j[c+64>>2];while(1){b=d-1|0;f=k[b+e|0];if((f|0)!=9?(f|0)!=32:0){break f}d=b;if(b){continue}break}d=-1;break d}while(1){b=d-1|0;e=k[b+(c- -64|0)|0];if((e|0)!=9?(e|0)!=32:0){break f}d=b;if(b){continue}break}d=-1;break d}d=d+1|0;break d}d=-1;b=Ba(c- -64|0,58,b+1|0);if((b|0)!=-1){continue}break}}b=Ba(c- -64|0,9,0);if((b|0)!=-1){e=b+1|0;d=(d|0)==-1?e:b>>>0>>0?e:d}j[c+40>>2]=0;j[c+32>>2]=0;j[c+36>>2]=0;if((d|0)!=-1){sa(c+16|0,c- -64|0,d,-1);if(h[c+43|0]<=-1){T(j[c+32>>2])}j[c+40>>2]=j[c+24>>2];b=j[c+20>>2];j[c+32>>2]=j[c+16>>2];j[c+36>>2]=b;Wa(c- -64|0,d-1|0)}b=0;j:{k:{l:{while(1){d=Ba(c- -64|0,47,b);while(1){b=d;d=1;if(!b){continue}break}if((b|0)==-1){break l}f=b-1|0;d=k[c+75|0];e=d<<24>>24<0;if(k[f+(e?j[c+64>>2]:c- -64|0)|0]==92){xb(c- -64|0,f,1);continue}break}if(((e?j[c+68>>2]:d)|0)==(b|0)){break l}sa(c+16|0,c- -64|0,b+1|0,-1);Wa(c- -64|0,b);d=j[a+84>>2];m:{if(d){b=ta(h[c+27|0]<0?j[c+16>>2]:c+16|0);n:{if(!((b|0)<=j[a+80>>2]?(b|0)>=1:0)){j[c+12>>2]=0;break n}b=b-1|0;j[c+12>>2]=j[d+(b<<2)>>2];b=l[j[a+88>>2]+(b<<1)>>1];e=1;if(b){break m}}b=0;e=1;break m}e=h[c+27|0]<0?j[c+16>>2]:c+16|0;b=W(e);if(b>>>0>=4294967280){break a}o:{p:{if(b>>>0>=11){f=b+16&-16;d=U(f);j[c+8>>2]=f|-2147483648;j[c>>2]=d;j[c+4>>2]=b;break p}h[c+11|0]=b;d=c;if(!b){break o}}V(d,e,b)}h[b+d|0]=0;b=Te(a,c+12|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}if((b|0)==-1){ea(g);T(i);m=6;b=-1;e=0;break m}d=j[c+12>>2];Qc(d,d+(b<<1)|0,c);e=1}if(h[c+27|0]<=-1){T(j[c+16>>2])}d=0;if(e){break k}break j}b=0;j[c+12>>2]=0}q:{if(j[a+16>>2]){d=ia(c+48|0,c- -64|0);e=Mc(c+48|0,j[a+24>>2]);break q}d=k[c+75|0];d=d<<24>>24<0?j[c+68>>2]:d;e=Nc(c- -64|0,j[a+52>>2])}r:{f=j[c+12>>2];n=k[c+43|0];n=(n<<24>>24<0?j[c+36>>2]:n)?c+32|0:0;if(Lc(a,c- -64|0,d,f,b,n,0,e)){break r}if(Se(a,c- -64|0,d,f,b,n,e)){break r}d=1;break j}ea(g);T(i);m=5;d=0}if(h[c+43|0]<=-1){T(j[c+32>>2])}if(d){continue}break c}break}ea(g);T(i);m=0}a=j[c+48>>2];if(a){j[c+52>>2]=a;T(a)}a=c- -64|0}if(h[a+11|0]<=-1){T(j[c+64>>2])}M=c+80|0;return m}X();z()}function Xl(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,l=0,m=0,n=0,o=0;h=M+ -64|0;M=h;j[h+56>>2]=b;j[e>>2]=0;i=j[d+28>>2];j[h>>2]=i;j[i+4>>2]=j[i+4>>2]+1;i=rb(h);l=j[h>>2];m=j[l+4>>2]-1|0;j[l+4>>2]=m;if((m|0)==-1){O[j[j[l>>2]+8>>2]](l)}a:{b:{c:{d:{switch(g-65|0){case 0:case 32:mg(a,f+24|0,h+56|0,c,e,i);break b;case 1:case 33:case 39:lg(a,f+16|0,h+56|0,c,e,i);break b;case 34:b=O[j[j[a+8>>2]+12>>2]](a+8|0)|0;g=h;i=a;m=j[h+56>>2];a=b;e:{if(k[a+11|0]>>>7|0){b=j[a>>2];break e}b=a}l=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}n=g,o=Yb(i,m,c,d,e,f,l,b+(a<<2)|0),j[n+56>>2]=o;break b;case 35:case 36:Wl(f+12|0,h+56|0,c,e,i);break b;case 3:g=j[31927];j[h+24>>2]=j[31926];j[h+28>>2]=g;g=j[31925];j[h+16>>2]=j[31924];j[h+20>>2]=g;g=j[31923];j[h+8>>2]=j[31922];j[h+12>>2]=g;g=j[31921];j[h>>2]=j[31920];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+32|0),j[n+56>>2]=o;break b;case 5:g=j[31935];j[h+24>>2]=j[31934];j[h+28>>2]=g;g=j[31933];j[h+16>>2]=j[31932];j[h+20>>2]=g;g=j[31931];j[h+8>>2]=j[31930];j[h+12>>2]=g;g=j[31929];j[h>>2]=j[31928];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+32|0),j[n+56>>2]=o;break b;case 7:Vl(f+8|0,h+56|0,c,e,i);break b;case 8:Ul(f+8|0,h+56|0,c,e,i);break b;case 41:Tl(f+28|0,h+56|0,c,e,i);break b;case 44:Sl(f+16|0,h+56|0,c,e,i);break b;case 12:Rl(f+4|0,h+56|0,c,e,i);break b;case 45:case 51:Ql(h+56|0,c,e,i);break b;case 47:Pl(a,f+8|0,h+56|0,c,e,i);break b;case 49:g=V(h,127744,44);n=g,o=Yb(a,b,c,d,e,f,g,g+44|0),j[n+56>>2]=o;break b;case 17:j[h+16>>2]=j[31952];g=j[31951];j[h+8>>2]=j[31950];j[h+12>>2]=g;g=j[31949];j[h>>2]=j[31948];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+20|0),j[n+56>>2]=o;break b;case 18:Ol(f,h+56|0,c,e,i);break b;case 19:g=j[31963];j[h+24>>2]=j[31962];j[h+28>>2]=g;g=j[31961];j[h+16>>2]=j[31960];j[h+20>>2]=g;g=j[31959];j[h+8>>2]=j[31958];j[h+12>>2]=g;g=j[31957];j[h>>2]=j[31956];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+32|0),j[n+56>>2]=o;break b;case 54:Nl(f+24|0,h+56|0,c,e,i);break b;case 55:a=O[j[j[a>>2]+20>>2]](a,b,c,d,e,f)|0;break a;case 23:b=O[j[j[a+8>>2]+24>>2]](a+8|0)|0;g=h;i=a;m=j[h+56>>2];a=b;f:{if(k[a+11|0]>>>7|0){b=j[a>>2];break f}b=a}l=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}n=g,o=Yb(i,m,c,d,e,f,l,b+(a<<2)|0),j[n+56>>2]=o;break b;case 56:jg(f+20|0,h+56|0,c,e,i);break b;case 24:Ml(f+20|0,h+56|0,c,e,i);break b;default:if((g|0)==37){break c}break;case 2:case 4:case 6:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 20:case 21:case 22:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 37:case 38:case 40:case 42:case 43:case 46:case 48:case 50:case 52:case 53:break d}}j[e>>2]=j[e>>2]|4;break b}Ll(h+56|0,c,e,i)}a=j[h+56>>2]}M=h- -64|0;return a|0}function Uh(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0;n=M-16|0;M=n;d=k[c+11|0];e=d<<24>>24;a:{d=(e|0)<0?j[c+4>>2]:d;if(!d){break a}b:{c:{d:{switch(j[a+8>>2]-1|0){case 0:a=j[b>>2];e=j[b+4>>2]-a|0;g=e>>1;l=d>>>1|0;d=g+l|0;e:{if(d>>>0<=j[b+8>>2]-a>>1>>>0){break e}if((d|0)<=-1){break c}o=d<<1;d=U(o);if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+o;j[b+4>>2]=d+(g<<1);j[b>>2]=d;if(!a){break e}T(a)}if(!l){break a}while(1){a=h[c+11|0]<0?j[c>>2]:c;d=f<<1;o=k[a+d|0]<<8|k[a+(d|1)|0];a=j[b+4>>2];d=j[b+8>>2];f:{if(a>>>0>>0){i[a>>1]=o;j[b+4>>2]=a+2;break f}e=a;a=j[b>>2];e=e-a|0;if((e|0)<=-3){break b}p=e>>1;g=p+1|0;d=d-a|0;g=d>>1>>>0<1073741823?d>>>0>>0?g:d:2147483647;d=0;g:{if(!g){break g}if((g|0)<=-1){break c}d=U(g<<1)}p=d+(p<<1)|0;i[p>>1]=o;if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+(g<<1);j[b+4>>2]=p+2;j[b>>2]=d;if(!a){break f}T(a)}f=f+1|0;if((l|0)!=(f|0)){continue}break}break a;case 1:c=(e|0)<0?j[c>>2]:c;a=c;h:{while(1){i:{f=k[c|0];j:{if((f|0)!=44){if(f){break j}e=ta(a);a=j[b+4>>2];c=j[b+8>>2];if(a>>>0>=c>>>0){break i}i[a>>1]=e;j[b+4>>2]=a+2;break h}g=ta(a);a=j[b+4>>2];f=j[b+8>>2];k:{if(a>>>0>>0){i[a>>1]=g;j[b+4>>2]=a+2;break k}d=a;a=j[b>>2];d=d-a|0;if((d|0)<=-3){break b}l=d>>1;e=l+1|0;f=f-a|0;e=f>>1>>>0<1073741823?e>>>0>f>>>0?e:f:2147483647;f=0;l:{if(!e){break l}if((e|0)<=-1){break c}f=U(e<<1)}l=f+(l<<1)|0;i[l>>1]=g;if((d|0)>=1){V(f,a,d)}j[b+8>>2]=f+(e<<1);j[b+4>>2]=l+2;j[b>>2]=f;if(!a){break k}T(a)}a=c+1|0}c=c+1|0;continue}break}d=a;a=j[b>>2];f=d-a|0;if((f|0)<=-3){break b}g=f>>1;d=g+1|0;c=c-a|0;d=c>>1>>>0<1073741823?c>>>0>>0?d:c:2147483647;c=0;m:{if(!d){break m}if((d|0)<=-1){break c}c=U(d<<1)}g=c+(g<<1)|0;i[g>>1]=e;if((f|0)>=1){V(c,a,f)}j[b+8>>2]=c+(d<<1);j[b+4>>2]=g+2;j[b>>2]=c;if(!a){break h}T(a)}break a;case 2:j[n+8>>2]=0;j[n>>2]=0;j[n+4>>2]=0;ia(n,c);f=j[b>>2];c=j[b+4>>2]-f>>1;a=j[n>>2];e=j[n+4>>2]-a|0;g=e>>1;d=c+g|0;n:{if(c>>>0>>0){ar(b,g);f=j[b>>2];a=j[n>>2];break n}if(c>>>0<=d>>>0){break n}j[b+4>>2]=(d<<1)+f}V((c<<1)+f|0,a,e);a=j[n>>2];if(!a){break a}j[n+4>>2]=a;T(a);break a;default:break d}}a=j[b>>2];o:{if(d>>>0<=j[b+8>>2]-a>>1>>>0){break o}if((d|0)<=-1){break c}e=j[b+4>>2];g=d<<1;d=U(g);e=e-a|0;l=d+e|0;if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+g;j[b+4>>2]=l;j[b>>2]=d;if(!a){break o}T(a)}while(1){d=h[c+11|0];p:{if((d|0)<=-1){if(m[c+4>>2]<=f>>>0){break a}a=j[c>>2];break p}a=c;if((d&255)>>>0<=f>>>0){break a}}l=k[a+f|0];a=j[b+4>>2];d=j[b+8>>2];if(a>>>0>>0){i[a>>1]=l;j[b+4>>2]=a+2;f=f+1|0;continue}e=a;a=j[b>>2];e=e-a|0;if((e|0)<=-3){break b}o=e>>1;g=o+1|0;d=d-a|0;g=d>>1>>>0<1073741823?d>>>0>>0?g:d:2147483647;d=0;q:{if(!g){break q}if((g|0)<=-1){break c}d=U(g<<1)}o=d+(o<<1)|0;i[o>>1]=l;if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+(g<<1);j[b+4>>2]=o+2;j[b>>2]=d;if(a){T(a)}f=f+1|0;continue}}D();z()}X();z()}M=n+16|0}function Ih(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;e=M+ -64|0;M=e;a:{f=0;b:{if(j[c>>2]){break b}j[e+56>>2]=h[a+11|0]<0?j[a>>2]:a;c:{d:{e:{g=ka(a,e+56|0);f=k[a+11|0];o=f<<24>>24<0;if((g|0)==((o?j[a>>2]:a)+(o?j[a+4>>2]:f)|0)){break e}o=0;while(1){f:{switch(l|0){case 1:n=j[e+56>>2];m=n-g|0;if(m>>>0>=4294967280){break a}g:{if(m>>>0<=10){h[e+51|0]=m;f=e+40|0;break g}i=m+16&-16;f=U(i);j[e+48>>2]=i|-2147483648;j[e+40>>2]=f;j[e+44>>2]=m}if((g|0)!=(n|0)){while(1){h[f|0]=k[g|0];f=f+1|0;g=g+1|0;if((n|0)!=(g|0)){continue}break}}h[f|0]=0;h:{if(h[e+51|0]>=0){m=ta(e+40|0);break h}f=j[e+40>>2];m=ta(f);T(f)}f=0;if((m|0)<=0){break b}f=U(12);oq(f,m);j[c>>2]=f;case 0:o=o+1|0;break;default:break f}}l=l+1|0;g=ka(a,e+56|0);f=k[a+11|0];n=f<<24>>24<0;if((g|0)!=((n?j[a>>2]:a)+(n?j[a+4>>2]:f)|0)){continue}break}if((o|0)!=2){break e}if((m|0)<1){o=0;break c}o=1;n=0;break d}f=0;break b}while(1){j[e+48>>2]=0;j[e+40>>2]=0;j[e+44>>2]=0;g=1;i:{if(!ub(b,e+40|0)){break i}bb(e+40|0);a=0;j[e+32>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;j[e+16>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;j[e+56>>2]=h[e+51|0]<0?j[e+40>>2]:e+40|0;g=ka(e+40|0,e+56|0);l=j[e+40>>2];i=k[e+51|0];f=i<<24>>24<0;j:{if((g|0)!=((f?l:e+40|0)+(f?j[e+44>>2]:i)|0)){while(1){k:{l:{switch(a|0){case 0:i=g-(f&1?l:e+40|0)|0;f=k[d+11|0];f=f<<24>>24<0?j[d+4>>2]:f;if(!Ud(e+40|0,i,f,d,0,f)){break k}a=j[c>>2];if(a){T(Le(a))}j[c>>2]=0;g=1;break j;case 1:p=j[e+56>>2];l=p-g|0;i=h[e+35|0];m:{n:{o:{if((i|0)<=-1){f=(j[e+32>>2]&2147483647)-1|0;if(l>>>0<=f>>>0){break n}i=j[e+28>>2];break o}f=e+24|0;if(l>>>0<=10){break m}f=10;i=i&255}pb(e+24|0,f,l-f|0,i,0,i,0);f=e+24|0;if(h[e+35|0]>-1){break m}}f=j[e+24>>2]}if((g|0)!=(p|0)){while(1){h[f|0]=k[g|0];f=f+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[f|0]=0;if(h[e+35|0]<=-1){j[e+28>>2]=l;break k}h[e+35|0]=l;break k;case 2:break l;default:break k}}p=j[e+56>>2];l=p-g|0;i=h[e+19|0];p:{q:{r:{if((i|0)<=-1){f=(j[e+16>>2]&2147483647)-1|0;if(l>>>0<=f>>>0){break q}i=j[e+12>>2];break r}f=e+8|0;if(l>>>0<=10){break p}f=10;i=i&255}pb(e+8|0,f,l-f|0,i,0,i,0);f=e+8|0;if(h[e+19|0]>-1){break p}}f=j[e+8>>2]}if((g|0)!=(p|0)){while(1){h[f|0]=k[g|0];f=f+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[f|0]=0;if(h[e+19|0]<=-1){j[e+12>>2]=l;break k}h[e+19|0]=l}a=a+1|0;g=ka(e+40|0,e+56|0);l=j[e+40>>2];i=k[e+51|0];f=i<<24>>24<0;if((g|0)!=((f?l:e+40|0)+(f?j[e+44>>2]:i)|0)){continue}break}}s:{a=k[e+35|0];if(a<<24>>24<0?j[e+28>>2]:a){a=k[e+19|0];if(a<<24>>24<0?j[e+12>>2]:a){break s}}g=1;break j}nq(j[c>>2],e+24|0,e+8|0);g=0}if(h[e+19|0]<=-1){T(j[e+8>>2])}if(h[e+35|0]>-1){break i}T(j[e+24>>2])}if(h[e+51|0]<=-1){T(j[e+40>>2])}if(g){break c}n=n+1|0;o=(n|0)<(m|0);if((m|0)!=(n|0)){continue}break}}f=o^1}a=f;M=e- -64|0;return a&1}X();z()}function je(a,b,c,d,e,f,g,m,n){var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;q=M-32|0;M=q;a:{if(!g){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}o=e;if(f){x=l[b+4476>>1];p=f;while(1){u=p>>>1|0;r=(u<<1)+o|0;s=x>>>0>l[r>>1];o=s?r+2|0:o;p=s?(u^-1)+p|0:u;if(p){continue}break}}if(!(((f<<1)+e|0)==(o|0)|l[b+4476>>1]>1])){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}b:{c:{d:{if(!Df(g,m)){e=W(c);if(e>>>0>=4294967280){break d}e:{f:{if(e>>>0>=11){d=e+16&-16;b=U(d);j[a+8>>2]=d|-2147483648;j[a>>2]=b;j[a+4>>2]=e;a=b;break f}h[a+11|0]=e;if(!e){break e}}V(a,c,e)}h[a+e|0]=0;break a}j[q+24>>2]=0;j[q+16>>2]=0;j[q+20>>2]=0;g:{h:{if(ca(g,1752)){break h}if(ca(g,1756)){break h}x=-1;break g}Ka(q+16|0,g);Z(q+16|0,32);g=h[q+27|0];x=j[q+20>>2];if((g|0)<=-1){break g}x=g&255}if(f){G=(x|0)==-1;while(1){i:{E=(A<<1)+e|0;o=l[E>>1];t=j[(((o&255)<<2)+b|0)+3072>>2];if(!t){break i}while(1){j:{if(l[t+30>>1]!=(o&65535)){break j}y=j[t+52>>2];if(!y){break j}g=i[t+60>>1];k:{if(!g){break k}w=l[b+4476>>1];s=j[t+56>>2];o=s;p=g;while(1){v=p>>>1|0;r=(v<<1)+o|0;u=w>>>0>l[r>>1];o=u?r+2|0:o;p=u?(v^-1)+p|0:v;if(p){continue}break}if((s+(g<<1)|0)==(o|0)){break k}if(w>>>0>=l[o>>1]){break j}}if(!G){jf(q+16|0,x,-1,y);y=h[q+27|0]<0?j[q+16>>2]:q+16|0}v=Df(y,m);l:{if(v){break l}We(a,t,c,d);g=h[a+11|0];m:{n:{if((g|0)<=-1){if(!j[a+4>>2]){break m}p=j[a>>2];break n}p=a;if(!g){break j}}B=q+16|0;p=dc(j[b+4100>>2],p);if(!p){break b}g=j[p+4>>2];if(!g){break b}C=l[p+2>>1];r=C<<16>>16;F=(r<<1)+g|0;o=g;if(C){u=l[b+4192>>1];p=r;while(1){D=p>>>1|0;s=(D<<1)+o|0;w=l[s>>1]>>0;o=w?s+2|0:o;p=w?(D^-1)+p|0:D;if(p){continue}break}}if(!(l[b+4192>>1]>=l[o>>1]?(o|0)!=(F|0):0)){if(C){while(1){s=r>>>1|0;p=(s<<1)+g|0;o=l[p>>1]<65511;g=o?p+2|0:g;r=o?(s^-1)+r|0:s;if(r){continue}break}}if((g|0)==(F|0)|l[g>>1]>65511){break b}}if(h[a+11|0]>-1){break l}}T(j[a>>2])}if((v|0)!=1|n){break j}g=i[t+60>>1];if((g|0)<1){break j}w=l[b+4476>>1];s=j[t+56>>2];o=s;r=g&65535;p=r;while(1){v=p>>>1|0;g=(v<<1)+o|0;u=w>>>0>l[g>>1];o=u?g+2|0:o;p=u?(v^-1)+p|0:v;if(p){continue}break}if(w>>>0>=l[o>>1]?(s+(r<<1)|0)!=(o|0):0){break j}We(q,t,c,d);p=a;s=b;o=k[q+11|0];r=o<<24>>24;o:{p:{if((r|0)<=-1){o=j[q+4>>2];if(!o){break o}g=j[q>>2];break p}if(!r){break j}g=q}je(p,s,g,o,j[t+56>>2],l[t+60>>1],y,m,1);g=h[a+11|0];q:{if((g|0)<=-1){if(j[a+4>>2]){break c}T(j[a>>2]);break q}if(g){break c}}if(h[q+11|0]>-1){break j}}T(j[q>>2])}t=j[t+92>>2];if(!t){break i}o=l[E>>1];continue}}A=A+1|0;if((A|0)!=(f|0)){continue}break}}B=q+16|0;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break b}X();z()}if(h[q+11|0]<=-1){T(j[q>>2])}B=q+16|0}if(h[B+11|0]>-1){break a}T(j[q+16>>2])}M=q+32|0}function Vc(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;a:{if(!k[a+28|0]){break a}f=a+52|0;g=a+48|0;c=a+32|0;d=k[a+29|0];n=d&2;i=d&16;while(1){b:{c:{d:{e:{f:{g:{h:{d=h[c|0];switch(d-91|0){case 1:break c;case 2:break e;case 3:break f;case 0:break g;default:break h}}if((d|0)==46){break d}if(!d){break a}break c}c=c+1|0;i:{if(i){if((c|0)!=(g|0)){break i}c=j[a+48>>2];o=0;e=b;m=0;break b}if((c|0)==(f|0)){break a}}o=0;e=b;m=0;if(k[c|0]){break b}break a}c=c+1|0;j:{if(i){if((c|0)!=(g|0)){break j}c=j[a+48>>2];o=1;break b}if((c|0)==(f|0)){break a}}o=1;if(k[c|0]){break b}break a}if((m|0)==(o|0)){return 0}d=c+1|0;k:{l:{if(i){if((d|0)!=(g|0)){break l}c=j[a+48>>2];break k}if((d|0)!=(f|0)){break l}c=0;break k}c=k[d|0]?d:0}m:{if(m){d=b;break m}if(!k[b|0]){d=b;break m}if(!n){d=b+1|0;break m}while(1){e=k[b+1|0];d=b+1|0;b=d;if((e&192)==128){continue}break}}e=0;if(!c){b=d;break b}if(k[d|0]){b=d;break b}return 0}if(e){break c}d=c+1|0;n:{o:{if(i){if((d|0)!=(g|0)){break o}c=j[a+48>>2];break n}if((d|0)!=(f|0)){break o}c=0;break n}c=k[d|0]?d:0}p:{if(!n){d=b+1|0;l=k[b+1|0];break p}while(1){l=k[b+1|0];d=b+1|0;b=d;if((l&192)==128){continue}break}}e=0;if(!c){b=d;break b}if(l){b=d;break b}return 0}q:{r:{s:{t:{u:{v:{if(k[b|0]==(d&255)){c=c+1|0;b=b+1|0;w:{x:{if(i){if((c|0)!=(g|0)){break x}c=j[a+48>>2];break w}if((c|0)==(f|0)){break u}}c=k[c|0]?c:0}if(!(!n|(d|0)>-1)){if(!c){break r}if(!i){l=k[c|0];if((l&192)!=128){break q}while(1){if(k[b|0]!=(l|0)){break v}c=c+1|0;if((f|0)==(c|0)|!k[c|0]){break s}b=b+1|0;l=k[c|0];if((l&192)==128){continue}break}break q}while(1){d=k[c|0];if((d&192)!=128){break q}if((d|0)!=k[b|0]){break v}c=c+1|0;y:{if((g|0)==(c|0)){c=j[a+48>>2];break y}if(!k[c|0]){break s}}b=b+1|0;if(c){continue}break}break r}if(!e){e=0;break b}if(!i){break t}while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;z:{if((g|0)==(c|0)){c=j[a+48>>2];break z}if(!k[c|0]){break a}}if(c){continue}break}break a}if(!e){return 0}c=c+1|0;A:{if(i){if((c|0)!=(g|0)){break A}c=j[a+48>>2];break b}if((c|0)==(f|0)){break a}}if(!k[c|0]){break a}break b}b=e;if(b){break b}return 0}if((d|0)<=-1){c=0;if(n){break q}}c=0;if(!e){break a}}while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;if((f|0)==(c|0)){break a}if(k[c|0]){continue}break}break a}b=b+1|0}c=0}if(!e){e=0;break b}if((b|0)==(e|0)){b=e;break b}if(!i){while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;if((f|0)==(c|0)){break a}if(k[c|0]){continue}break a}}while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;B:{if((g|0)==(c|0)){c=j[a+48>>2];break B}if(!k[c|0]){break a}}if(c){continue}break}break a}if(c){continue}break}}return 1}function nm(a,b,c,d,e,f,g,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var l=0,m=0,n=0,o=0,p=0;i=M-32|0;M=i;j[i+24>>2]=b;j[e>>2]=0;l=j[d+28>>2];j[i+8>>2]=l;j[l+4>>2]=j[l+4>>2]+1;l=sb(i+8|0);m=j[i+8>>2];n=j[m+4>>2]-1|0;j[m+4>>2]=n;if((n|0)==-1){O[j[j[m>>2]+8>>2]](m)}a:{b:{c:{d:{switch(g-65|0){case 0:case 32:pg(a,f+24|0,i+24|0,c,e,l);break b;case 1:case 33:case 39:og(a,f+16|0,i+24|0,c,e,l);break b;case 34:b=O[j[j[a+8>>2]+12>>2]](a+8|0)|0;g=i;l=a;n=j[i+24>>2];a=b;e:{if(k[a+11|0]>>>7|0){b=j[a>>2];break e}b=a}m=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}o=g,p=Zb(l,n,c,d,e,f,m,b+a|0),j[o+24>>2]=p;break b;case 35:case 36:mm(f+12|0,i+24|0,c,e,l);break b;case 3:j[i+8>>2]=623865125;j[i+12>>2]=2032480100;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+16|0),j[o+24>>2]=p;break b;case 5:j[i+8>>2]=623728933;j[i+12>>2]=1680158061;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+16|0),j[o+24>>2]=p;break b;case 7:lm(f+8|0,i+24|0,c,e,l);break b;case 8:km(f+8|0,i+24|0,c,e,l);break b;case 41:jm(f+28|0,i+24|0,c,e,l);break b;case 44:im(f+16|0,i+24|0,c,e,l);break b;case 12:hm(f+4|0,i+24|0,c,e,l);break b;case 45:case 51:gm(i+24|0,c,e,l);break b;case 47:fm(a,f+8|0,i+24|0,c,e,l);break b;case 49:g=k[127663]|k[127664]<<8|(k[127665]<<16|k[127666]<<24);h[i+15|0]=g;h[i+16|0]=g>>>8;h[i+17|0]=g>>>16;h[i+18|0]=g>>>24;g=k[127660]|k[127661]<<8|(k[127662]<<16|k[127663]<<24);j[i+8>>2]=k[127656]|k[127657]<<8|(k[127658]<<16|k[127659]<<24);j[i+12>>2]=g;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+19|0),j[o+24>>2]=p;break b;case 17:h[i+12|0]=k[127671];j[i+8>>2]=k[127667]|k[127668]<<8|(k[127669]<<16|k[127670]<<24);o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+13|0),j[o+24>>2]=p;break b;case 18:em(f,i+24|0,c,e,l);break b;case 19:j[i+8>>2]=624576549;j[i+12>>2]=1394948685;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+16|0),j[o+24>>2]=p;break b;case 54:dm(f+24|0,i+24|0,c,e,l);break b;case 55:a=O[j[j[a>>2]+20>>2]](a,b,c,d,e,f)|0;break a;case 23:b=O[j[j[a+8>>2]+24>>2]](a+8|0)|0;g=i;l=a;n=j[i+24>>2];a=b;f:{if(k[a+11|0]>>>7|0){b=j[a>>2];break f}b=a}m=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}o=g,p=Zb(l,n,c,d,e,f,m,b+a|0),j[o+24>>2]=p;break b;case 56:ng(f+20|0,i+24|0,c,e,l);break b;case 24:cm(f+20|0,i+24|0,c,e,l);break b;default:if((g|0)==37){break c}break;case 2:case 4:case 6:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 20:case 21:case 22:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 37:case 38:case 40:case 42:case 43:case 46:case 48:case 50:case 52:case 53:break d}}j[e>>2]=j[e>>2]|4;break b}bm(i+24|0,c,e,l)}a=j[i+24>>2]}M=i+32|0;return a|0}function il(){var a=0,b=0;j[37681]=0;j[37680]=134060;j[37680]=128412;j[37680]=127888;hl();gl();Nf(28);rc(150896,127877);Mf(150736);j[37601]=0;j[37600]=134060;j[37600]=128412;j[37600]=129480;Ca(150400,za(148928));j[37603]=0;j[37602]=134060;j[37602]=128412;j[37602]=129512;Ca(150408,za(148936));fl();Ca(150416,za(149132));j[37609]=0;j[37608]=134060;j[37608]=128412;j[37608]=128468;Ca(150432,za(149124));j[37611]=0;j[37610]=134060;j[37610]=128412;j[37610]=128616;Ca(150440,za(149140));j[37613]=0;j[37612]=134060;j[37612]=128412;j[37612]=127960;a=150456,b=ra(),j[a>>2]=b;Ca(150448,za(149148));j[37617]=0;j[37616]=134060;j[37616]=128412;j[37616]=128764;Ca(150464,za(149156));j[37619]=0;j[37618]=134060;j[37618]=128412;j[37618]=128880;Ca(150472,za(149164));j[37621]=0;j[37620]=134060;j[37620]=128412;i[75244]=11310;j[37620]=128008;ga(150492);Ca(150480,za(149172));j[37629]=0;j[37628]=134060;j[37628]=128412;j[37630]=46;j[37631]=44;j[37628]=128048;ga(150528);Ca(150512,za(149180));j[37637]=0;j[37636]=134060;j[37636]=128412;j[37636]=129544;Ca(150544,za(148944));j[37639]=0;j[37638]=134060;j[37638]=128412;j[37638]=129788;Ca(150552,za(148952));j[37641]=0;j[37640]=134060;j[37640]=128412;j[37640]=13e4;Ca(150560,za(148960));j[37643]=0;j[37642]=134060;j[37642]=128412;j[37642]=130232;Ca(150568,za(148968));j[37645]=0;j[37644]=134060;j[37644]=128412;j[37644]=131216;Ca(150576,za(149008));j[37647]=0;j[37646]=134060;j[37646]=128412;j[37646]=131364;Ca(150584,za(149016));j[37649]=0;j[37648]=134060;j[37648]=128412;j[37648]=131480;Ca(150592,za(149024));j[37651]=0;j[37650]=134060;j[37650]=128412;j[37650]=131596;Ca(150600,za(149032));j[37653]=0;j[37652]=134060;j[37652]=128412;j[37652]=131712;Ca(150608,za(149040));j[37655]=0;j[37654]=134060;j[37654]=128412;j[37654]=131876;Ca(150616,za(149048));j[37657]=0;j[37656]=134060;j[37656]=128412;j[37656]=132040;Ca(150624,za(149056));j[37659]=0;j[37658]=134060;j[37658]=128412;j[37658]=132204;Ca(150632,za(149064));j[37661]=0;j[37660]=134060;j[37660]=128412;j[37662]=133756;j[37660]=130432;j[37662]=130480;Ca(150640,za(148976));j[37665]=0;j[37664]=134060;j[37664]=128412;j[37666]=133792;j[37664]=130696;j[37666]=130744;Ca(150656,za(148984));j[37669]=0;j[37668]=134060;j[37668]=128412;qf(150680);j[37668]=130932;Ca(150672,za(148992));j[37673]=0;j[37672]=134060;j[37672]=128412;qf(150696);j[37672]=131088;Ca(150688,za(149e3));j[37677]=0;j[37676]=134060;j[37676]=128412;j[37676]=132368;Ca(150704,za(149072));j[37679]=0;j[37678]=134060;j[37678]=128412;j[37678]=132488;Ca(150712,za(149080))}function hr(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=M-48|0;M=d;a:{b:{c:{d:{e:{if(j[a+80>>2]){break e}j[d+32>>2]=h[b+11|0]<0?j[b>>2]:b;f=ka(b,d+32|0);g=k[b+11|0];e=g<<24>>24<0;if((f|0)==((e?j[b>>2]:b)+(e?j[b+4>>2]:g)|0)){break c}while(1){f:{g:{h:{switch(l|0){case 1:break h;case 0:break g;default:break f}}n=j[d+32>>2];m=n-f|0;if(m>>>0>=4294967280){break d}i:{if(m>>>0<=10){h[d+27|0]=m;e=d+16|0;break i}g=m+16&-16;e=U(g);j[d+24>>2]=g|-2147483648;j[d+16>>2]=e;j[d+20>>2]=m}if((f|0)!=(n|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((n|0)!=(f|0)){continue}break}}h[e|0]=0;j:{if(h[d+27|0]>=0){f=ta(d+16|0);j[a+80>>2]=f;break j}e=j[d+16>>2];q=a,r=ta(e),j[q+80>>2]=r;T(e);f=j[a+80>>2]}if((f|0)<=0){f=0;j[a+88>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;break a}g=ja(f<<2);j[a+84>>2]=g;e=ja(f<<1);j[a+88>>2]=e;if(e?g:0){break g}j[a+80>>2]=0;if(g){T(g)}if(e){T(e)}j[a+84>>2]=0;j[a+88>>2]=0;break e}o=o+1|0}l=l+1|0;f=ka(b,d+32|0);g=k[b+11|0];e=g<<24>>24<0;if((f|0)!=((e?j[b>>2]:b)+(e?j[b+4>>2]:g)|0)){continue}break}if((o|0)!=2){break c}f=1;if(j[a+80>>2]<1){break a}while(1){k:{j[d+24>>2]=0;j[d+16>>2]=0;j[d+20>>2]=0;if(!ub(c,d+16|0)){break k}bb(d+16|0);b=0;m=p<<2;j[m+j[a+84>>2]>>2]=0;o=p<<1;i[o+j[a+88>>2]>>1]=0;j[d+32>>2]=h[d+27|0]<0?j[d+16>>2]:d+16|0;f=ka(d+16|0,d+32|0);l=j[d+16>>2];g=k[d+27|0];e=g<<24>>24<0;if((f|0)!=((e?l:d+16|0)+(e?j[d+20>>2]:g)|0)){while(1){l:{m:{switch(b|0){case 0:if(!_(d+16|0,f-(e&1?l:d+16|0)|0,2,120958,2)){break l}f=0;j[a+80>>2]=0;T(j[a+84>>2]);T(j[a+88>>2]);j[a+84>>2]=0;j[a+88>>2]=0;if(h[d+27|0]>-1){break a}T(j[d+16>>2]);break a;case 1:break m;default:break l}}n=j[d+32>>2];l=n-f|0;if(l>>>0>=4294967280){break b}n:{if(l>>>0<=10){h[d+11|0]=l;e=d;break n}g=l+16&-16;e=U(g);j[d+8>>2]=g|-2147483648;j[d>>2]=e;j[d+4>>2]=l}if((f|0)!=(n|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((n|0)!=(f|0)){continue}break}}h[e|0]=0;g=Te(a,m+j[a+84>>2]|0,d);i[o+j[a+88>>2]>>1]=g;e=j[m+j[a+84>>2]>>2];Qc(e,e+((g&65535)<<1)|0,d+40|0);if(h[d+11|0]>-1){break l}T(j[d>>2])}b=b+1|0;f=ka(d+16|0,d+32|0);l=j[d+16>>2];g=k[d+27|0];e=g<<24>>24<0;if((f|0)!=((e?l:d+16|0)+(e?j[d+20>>2]:g)|0)){continue}break}}b=j[a+84>>2];if(!j[b+m>>2]){T(b);T(j[a+88>>2]);f=0;j[a+88>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;if(h[d+27|0]>-1){break a}T(j[d+16>>2]);break a}if(e){T(l)}f=1;p=p+1|0;if((p|0)>2]){continue}break a}break}if(h[d+27|0]>-1){break e}T(j[d+16>>2])}f=0;break a}X();z()}f=0;j[a+80>>2]=0;T(j[a+84>>2]);T(j[a+88>>2]);j[a+84>>2]=0;j[a+88>>2]=0;break a}X();z()}M=d+48|0;return f}function wf(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,j=0;d=1;a:{b:{c:{d:{switch(b-a>>1){case 2:b=b-2|0;c=k[b|0]|k[b+1|0]<<8;e=k[a|0]|k[a+1|0]<<8;if(c>>>0>=e>>>0){break c}h[a|0]=c;h[a+1|0]=c>>>8;h[b|0]=e;h[b+1|0]=e>>>8;return 1;case 3:b=b-2|0;c=k[b|0]|k[b+1|0]<<8;e=k[a+2|0]|k[a+3|0]<<8;f=k[a|0]|k[a+1|0]<<8;if(e>>>0>=f>>>0){if(c>>>0>=e>>>0){break c}h[a+2|0]=c;h[a+3|0]=c>>>8;h[b|0]=e;h[b+1|0]=e>>>8;b=k[a+2|0]|k[a+3|0]<<8;c=k[a|0]|k[a+1|0]<<8;if(b>>>0>=c>>>0){break c}break a}if(c>>>0>>0){h[a|0]=c;h[a+1|0]=c>>>8;break b}h[a+2|0]=f;h[a+3|0]=f>>>8;h[a|0]=e;h[a+1|0]=e>>>8;c=k[b|0]|k[b+1|0]<<8;if(c>>>0>=f>>>0){break c}h[a+2|0]=c;h[a+3|0]=c>>>8;break b;case 4:e=b-2|0;b=k[a+4|0]|k[a+5|0]<<8;c=k[a+2|0]|k[a+3|0]<<8;d=k[a|0]|k[a+1|0]<<8;e:{if(c>>>0>=d>>>0){if(b>>>0>=c>>>0){c=b;break e}h[a+4|0]=c;h[a+5|0]=c>>>8;h[a+2|0]=b;h[a+3|0]=b>>>8;if(b>>>0>=d>>>0){break e}h[a+2|0]=d;h[a+3|0]=d>>>8;h[a|0]=b;h[a+1|0]=b>>>8;break e}f:{if(b>>>0>>0){h[a+4|0]=d;h[a+5|0]=d>>>8;h[a|0]=b;h[a+1|0]=b>>>8;break f}h[a+2|0]=d;h[a+3|0]=d>>>8;h[a|0]=c;h[a+1|0]=c>>>8;if(b>>>0>=d>>>0){c=b;break e}h[a+4|0]=d;h[a+5|0]=d>>>8;h[a+2|0]=b;h[a+3|0]=b>>>8}c=d}d=1;b=k[e|0]|k[e+1|0]<<8;if(b>>>0>=(c&65535)>>>0){break c}h[a+4|0]=b;h[a+5|0]=b>>>8;h[e|0]=c;h[e+1|0]=c>>>8;b=k[a+4|0]|k[a+5|0]<<8;c=k[a+2|0]|k[a+3|0]<<8;if(b>>>0>=c>>>0){break c}h[a+4|0]=c;h[a+5|0]=c>>>8;h[a+2|0]=b;h[a+3|0]=b>>>8;c=k[a|0]|k[a+1|0]<<8;if(c>>>0<=b>>>0){break c}break a;case 5:fe(a,a+2|0,a+4|0,a+6|0,b-2|0);return 1;case 0:case 1:break c;default:break d}}d=k[a+4|0]|k[a+5|0]<<8;c=k[a+2|0]|k[a+3|0]<<8;e=k[a|0]|k[a+1|0]<<8;g:{if(c>>>0>=e>>>0){if(c>>>0<=d>>>0){c=d;break g}h[a+4|0]=c;h[a+5|0]=c>>>8;h[a+2|0]=d;h[a+3|0]=d>>>8;if(d>>>0>=e>>>0){break g}h[a+2|0]=e;h[a+3|0]=e>>>8;h[a|0]=d;h[a+1|0]=d>>>8;break g}h:{if(c>>>0>d>>>0){h[a+4|0]=e;h[a+5|0]=e>>>8;h[a|0]=d;h[a+1|0]=d>>>8;break h}h[a+2|0]=e;h[a+3|0]=e>>>8;h[a|0]=c;h[a+1|0]=c>>>8;if(d>>>0>=e>>>0){c=d;break g}h[a+4|0]=e;h[a+5|0]=e>>>8;h[a+2|0]=d;h[a+3|0]=d>>>8}c=e}i:{j:{d=a+6|0;if((d|0)==(b|0)){break j}f=a+4|0;while(1){k:{e=d;i=d;g=k[d|0]|k[d+1|0]<<8;if(g>>>0<(c&65535)>>>0){while(1){l:{h[i|0]=c;h[i+1|0]=c>>>8;d=f;if((d|0)==(a|0)){d=a;break l}i=d;f=d-2|0;c=k[f|0]|k[f+1|0]<<8;if(g>>>0>>0){continue}}break}h[d|0]=g;h[d+1|0]=g>>>8;j=j+1|0;if((j|0)==8){break k}}d=e+2|0;if((d|0)==(b|0)){break j}c=k[e|0]|k[e+1|0]<<8;f=e;continue}break}c=(e+2|0)==(b|0);a=0;break i}a=1}d=a|c}return d&1}h[b|0]=f;h[b+1|0]=f>>>8;return 1}h[a+2|0]=c;h[a+3|0]=c>>>8;h[a|0]=b;h[a+1|0]=b>>>8;return 1}function Id(a,b,c,d,e,f,g,m){var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=M-16|0;M=q;x=d&1;a:{if(h[a+29|0]&1?0:x){break a}d=h[a+15|0];o=j[a+8>>2];b:{if((d|0)<=-1){break b}o=d&255}d=c-o|0;c:{if(!j[j[a+64>>2]+4484>>2]|d?(d|0)<=0:0){break c}n=k[a+28|0];c=h[a+27|0];o=j[a+20>>2];d:{if((c|0)<=-1){break d}o=c&255}if(n>>>0>o+d>>>0){break c}o=a+16|0;e:{f:{if(d>>>0>=11){s=d+16&-16;c=U(s);j[q+8>>2]=s|-2147483648;j[q>>2]=c;j[q+4>>2]=d;break f}h[q+11|0]=d;c=q;if(!d){break e}}V(c,b,d)}h[c+d|0]=0;b=k[o+11|0];d=b<<24>>24;c=j[a+20>>2];g:{if((d|0)<=-1){break g}c=b}if(c){c=(d|0)<0;aa(q,c?j[a+16>>2]:o,c?j[a+20>>2]:b)}n=1;c=k[q+11|0];d=c<<24>>24<0;b=d?j[q>>2]:q;h:{if(!Jd(a,b+(d?j[q+4>>2]:c)|0,b)){break h}d=Xb(j[a+64>>2],b);if(!d){break h}while(1){w=d;b=j[d+4>>2];s=l[d+2>>1];o=s<<16>>16;u=b+(o<<1)|0;d=b;if(s){r=l[a+30>>1];c=o;while(1){n=c>>>1|0;t=(n<<1)+d|0;p=r>>>0>l[t>>1];d=p?t+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}i:{if(!(l[a+30>>1]>=l[d>>1]?(d|0)!=(u|0):0)){if(!e){break i}d=j[e+56>>2];if(!d){break i}c=i[e+60>>1];r=(c<<1)+d|0;if(c){t=l[a+30>>1];while(1){n=c>>>1|0;v=(n<<1)+d|0;p=t>>>0>l[v>>1];d=p?v+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((d|0)==(r|0)|l[a+30>>1]>1]){break i}}j:{if(!x){break j}if(!e){break i}n=l[e+30>>1];d=b;c=o;if(s){while(1){p=c>>>1|0;t=(p<<1)+d|0;r=n>>>0>l[t>>1];d=r?t+2|0:d;c=r?(p^-1)+c|0:p;if(c){continue}break}}if(n>>>0>=l[d>>1]?(d|0)!=(u|0):0){break j}d=j[a+56>>2];if(!d){break i}c=i[a+60>>1];t=(c<<1)+d|0;if(c){while(1){p=c>>>1|0;v=(p<<1)+d|0;r=n>>>0>l[v>>1];d=r?v+2|0:d;c=r?(p^-1)+c|0:p;if(c){continue}break}}if((d|0)==(t|0)|n>>>0>1]){break i}}if(f){d=j[a+56>>2];if(!d){break i}c=i[a+60>>1];r=(c<<1)+d|0;if(c){while(1){n=c>>>1|0;t=(n<<1)+d|0;p=l[t>>1]>>0;d=p?t+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((d|0)==(r|0)|l[d>>1]>f>>>0){break i}}k:{if(!m){break k}d=b;c=o;if(s){while(1){n=c>>>1|0;r=(n<<1)+d|0;p=l[r>>1]>>0;d=p?r+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((d|0)==(u|0)){break k}if(l[d>>1]<=m>>>0){break i}}n=0;if(!g){break h}if(s){while(1){c=o>>>1|0;s=(c<<1)+b|0;d=l[s>>1]>>0;b=d?s+2|0:b;o=d?(c^-1)+o|0:c;if(o){continue}break}}if(l[b>>1]<=g>>>0?(b|0)!=(u|0):0){break h}d=j[a+56>>2];if(!d){break i}c=i[a+60>>1];s=(c<<1)+d|0;if(c){while(1){b=c>>>1|0;u=(b<<1)+d|0;o=l[u>>1]>>0;d=o?u+2|0:d;c=o?(b^-1)+c|0:b;if(c){continue}break}}if((d|0)==(s|0)){break i}if(l[d>>1]<=g>>>0){break h}}d=j[w+12>>2];if(d){continue}break}n=1}if(h[q+11|0]<=-1){T(j[q>>2])}if(!n){break a}}w=0}M=q+16|0;return w}function Oc(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,m=0;a:{e=j[a>>2];c=j[a+4>>2];if((e|0)==(c|0)){break a}a=c-e|0;f=j[37199];b:{switch(b-90|0){case 0:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=48;b=1;c=k[e|0]|k[e+1|0]<<8;c:{if((c|0)!=105){if(!f){break c}a=l[(f+p(c,6)|0)+2>>1];if((c|0)==(a|0)){break c}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=48;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;d:{if((g|0)!=105){if(!f){break d}b=l[(f+p(g,6)|0)+2>>1];if((g|0)==(b|0)){break d}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;case 10:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=48;b=1;c=k[e|0]|k[e+1|0]<<8;e:{if((c|0)!=105){if(!f){break e}a=l[(f+p(c,6)|0)+2>>1];if((c|0)==(a|0)){break e}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=48;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;f:{if((g|0)!=105){if(!f){break f}b=l[(f+p(g,6)|0)+2>>1];if((g|0)==(b|0)){break f}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;default:d=e-c|0;c=((a|0)<(d|0)?d:a)>>>1|0;a=(a|0)>-1?a:-1;g=p(c,(a|0)<1?a:1);g:{h:{i:{a=k[e|0]|k[e+1|0]<<8;if((a|0)!=105){break i}d=48;c=1;switch(b-100|0){case 0:case 2:break h;default:break i}}if(!f){break g}d=l[(f+p(a,6)|0)+2>>1];if((a|0)==(d|0)){break g}c=d>>>8|0}h[e|0]=d;h[e+1|0]=c}a=1;if(g>>>0<=1){break a}g=g>>>0>1?g:1;i=b-90|0;m=i>>>0>12;while(1){b=(a<<1)+e|0;c=k[b|0]|k[b+1|0]<<8;j:{k:{if(!(!(1<>1];if((c|0)==(d|0)){break j}c=d>>>8|0}h[b+1|0]=c;h[b|0]=d}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a;case 12:break b}}d=1;b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;c=p(b,(a|0)<1?a:1);g=c>>>0>1?c:1;a=k[e|0]|k[e+1|0]<<8;if(f){b=48;l:{if((a|0)!=105){b=l[(f+p(a,6)|0)+2>>1];if((a|0)==(b|0)){break l}d=b>>>8|0}h[e|0]=b;h[e+1|0]=d}a=1;if(c>>>0<=1){break a}while(1){b=48;c=1;d=(a<<1)+e|0;i=k[d|0]|k[d+1|0]<<8;m:{if((i|0)!=105){b=l[(f+p(i,6)|0)+2>>1];if((i|0)==(b|0)){break m}c=b>>>8|0}h[d+1|0]=c;h[d|0]=b}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a}if((a|0)==105){h[e|0]=48;h[e+1|0]=1}if(c>>>0<2){break a}a=1;b=g-1|0;f=b&1;if((g|0)!=2){b=b&-2;while(1){d=(a<<1)+e|0;if((k[d|0]|k[d+1|0]<<8)==105){h[d+1|0]=1;h[d|0]=48}if((k[d+2|0]|k[d+3|0]<<8)==105){h[d+3|0]=1;h[d+2|0]=48}a=a+2|0;b=b-2|0;if(b){continue}break}}if(!f){break a}a=(a<<1)+e|0;if((k[a|0]|k[a+1|0]<<8)!=105){break a}h[a+1|0]=1;h[a|0]=48}}function Ua(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,m=0;a:{e=j[a>>2];c=j[a+4>>2];if((e|0)==(c|0)){break a}a=c-e|0;f=j[37199];b:{switch(b-90|0){case 0:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=49;b=1;c=k[e|0]|k[e+1|0]<<8;c:{if((c|0)!=73){if(!f){break c}a=l[(f+p(c,6)|0)+4>>1];if((c|0)==(a|0)){break c}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=49;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;d:{if((g|0)!=73){if(!f){break d}b=l[(f+p(g,6)|0)+4>>1];if((g|0)==(b|0)){break d}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;case 10:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=49;b=1;c=k[e|0]|k[e+1|0]<<8;e:{if((c|0)!=73){if(!f){break e}a=l[(f+p(c,6)|0)+4>>1];if((c|0)==(a|0)){break e}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=49;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;f:{if((g|0)!=73){if(!f){break f}b=l[(f+p(g,6)|0)+4>>1];if((g|0)==(b|0)){break f}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;default:d=e-c|0;c=((a|0)<(d|0)?d:a)>>>1|0;a=(a|0)>-1?a:-1;g=p(c,(a|0)<1?a:1);g:{h:{i:{a=k[e|0]|k[e+1|0]<<8;if((a|0)!=73){break i}d=49;c=1;switch(b-100|0){case 0:case 2:break h;default:break i}}if(!f){break g}d=l[(f+p(a,6)|0)+4>>1];if((a|0)==(d|0)){break g}c=d>>>8|0}h[e|0]=d;h[e+1|0]=c}a=1;if(g>>>0<=1){break a}g=g>>>0>1?g:1;i=b-90|0;m=i>>>0>12;while(1){b=(a<<1)+e|0;c=k[b|0]|k[b+1|0]<<8;j:{k:{if(!(!(1<>1];if((c|0)==(d|0)){break j}c=d>>>8|0}h[b+1|0]=c;h[b|0]=d}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a;case 12:break b}}d=1;b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;c=p(b,(a|0)<1?a:1);g=c>>>0>1?c:1;a=k[e|0]|k[e+1|0]<<8;if(f){b=49;l:{if((a|0)!=73){b=l[(f+p(a,6)|0)+4>>1];if((a|0)==(b|0)){break l}d=b>>>8|0}h[e|0]=b;h[e+1|0]=d}a=1;if(c>>>0<=1){break a}while(1){b=49;c=1;d=(a<<1)+e|0;i=k[d|0]|k[d+1|0]<<8;m:{if((i|0)!=73){b=l[(f+p(i,6)|0)+4>>1];if((i|0)==(b|0)){break m}c=b>>>8|0}h[d+1|0]=c;h[d|0]=b}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a}if((a|0)==73){h[e|0]=49;h[e+1|0]=1}if(c>>>0<2){break a}a=1;b=g-1|0;f=b&1;if((g|0)!=2){b=b&-2;while(1){d=(a<<1)+e|0;if((k[d|0]|k[d+1|0]<<8)==73){h[d+1|0]=1;h[d|0]=49}if((k[d+2|0]|k[d+3|0]<<8)==73){h[d+3|0]=1;h[d+2|0]=49}a=a+2|0;b=b-2|0;if(b){continue}break}}if(!f){break a}a=(a<<1)+e|0;if((k[a|0]|k[a+1|0]<<8)!=73){break a}h[a+1|0]=1;h[a|0]=49}}function gb(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j[a+4360>>2]=0;j[a+4352>>2]=0;j[a+4356>>2]=0;j[a+4376>>2]=0;a:{q=j[a>>2];b:{if(!q){break b}if(!d){t=(d|0)!=2;while(1){n=j[q+56>>2];c:{d:{if(!n){break d}u=l[q+60>>1];m=u<<16>>16;v=(m<<1)+n|0;f=n;if(u){p=l[a+4464>>1];g=m;while(1){s=g>>>1|0;o=(s<<1)+f|0;r=p>>>0>l[o>>1];f=r?o+2|0:f;g=r?(s^-1)+g|0:s;if(g){continue}break}}if(l[a+4464>>1]>=l[f>>1]?(f|0)!=(v|0):0){break c}if(t){break d}if(u){f=l[a+4164>>1];while(1){p=m>>>1|0;g=(p<<1)+n|0;o=f>>>0>l[g>>1];n=o?g+2|0:n;m=o?(p^-1)+m|0:p;if(m){continue}break}}if((n|0)==(v|0)|l[a+4164>>1]>1]){break c}}f=jd(q,b,c,0,e);if(f){break a}}q=j[q+68>>2];if(q){continue}break}break b}p=(d|0)!=2;while(1){e:{if(!p){f=j[q+56>>2];if(!f){break e}g=i[q+60>>1];o=(g<<1)+f|0;if(g){n=l[a+4164>>1];while(1){r=g>>>1|0;m=(r<<1)+f|0;t=n>>>0>l[m>>1];f=t?m+2|0:f;g=t?(r^-1)+g|0:r;if(g){continue}break}}if((f|0)==(o|0)|l[a+4164>>1]>1]){break e}}f=jd(q,b,c,d,e);if(f){break a}}q=j[q+68>>2];if(q){continue}break}}f:{n=j[(k[b|0]<<2)+a>>2];g:{if(!n){break g}if(!d){t=(d|0)!=2;while(1){g=n+4|0;g=h[n+15|0]<0?j[g>>2]:g;f=k[g|0];h:{if(!f){break h}m=b;if((f|0)!=46&k[m|0]!=(f|0)){break h}while(1){f=k[g+1|0];if(!f){break h}d=k[m+1|0];m=m+1|0;g=g+1|0;if(!((f|0)!=46&(d|0)!=(f|0))){continue}break}}if(f){d=n+76|0}else{m=j[n+56>>2];i:{j:{if(!m){break j}u=l[n+60>>1];d=u<<16>>16;v=(d<<1)+m|0;f=m;if(u){p=l[a+4464>>1];g=d;while(1){s=g>>>1|0;o=(s<<1)+f|0;r=p>>>0>l[o>>1];f=r?o+2|0:f;g=r?(s^-1)+g|0:s;if(g){continue}break}}if(l[a+4464>>1]>=l[f>>1]?(f|0)!=(v|0):0){break i}if(t){break j}if(u){f=l[a+4164>>1];while(1){p=d>>>1|0;g=(p<<1)+m|0;o=f>>>0>l[g>>1];m=o?g+2|0:m;d=o?(p^-1)+d|0:p;if(d){continue}break}}if((m|0)==(v|0)|l[a+4164>>1]>1]){break i}}f=jd(n,b,c,0,e);if(f){break f}}d=n+72|0}n=j[d>>2];if(n){continue}break}break g}t=(d|0)!=2;while(1){g=n+4|0;g=h[n+15|0]<=-1?j[g>>2]:g;f=k[g|0];k:{if(!f){break k}m=b;if((f|0)!=46&k[m|0]!=(f|0)){break k}while(1){f=k[g+1|0];if(!f){break k}o=k[m+1|0];m=m+1|0;g=g+1|0;if(!((f|0)!=46&(f|0)!=(o|0))){continue}break}}l:{if(!f){m:{if(!t){f=j[n+56>>2];if(!f){break m}g=i[n+60>>1];p=(g<<1)+f|0;if(g){o=l[a+4164>>1];while(1){s=g>>>1|0;m=(s<<1)+f|0;r=o>>>0>l[m>>1];f=r?m+2|0:f;g=r?(s^-1)+g|0:s;if(g){continue}break}}if((f|0)==(p|0)|l[a+4164>>1]>1]){break m}}f=jd(n,b,c,d,e);if(f){break f}}m=n+72|0;break l}m=n+76|0}n=j[m>>2];if(n){continue}break}}return 0}j[a+4376>>2]=n;return f}j[a+4376>>2]=q;return f}function Za(a,b,c){var d=0,e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0;d=M-448|0;M=d;j[d+440>>2]=0;j[d+432>>2]=0;j[d+436>>2]=0;a:{if(!j[b+44>>2]){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}m=ha(d+416|0,c);b:{if(!j[b+76>>2]){break b}if(j[b+56>>2]){ob(m);break b}Va(m)}e=Xb(j[b+44>>2],h[m+11|0]<0?j[m>>2]:d+416|0);if(e){while(1){c=j[e+4>>2];c:{d:{if(!c){break d}f=i[e+2>>1];q=(f<<1)+c|0;n=l[j[b+44>>2]+4192>>1];if(f){while(1){g=f>>>1|0;o=(g<<1)+c|0;p=n>>>0>l[o>>1];c=p?o+2|0:c;f=p?(g^-1)+f|0:g;if(f){continue}break}}if(n>>>0>=l[c>>1]?(c|0)!=(q|0):0){break c}c=j[e+4>>2];f=i[e+2>>1];q=c+(f<<1)|0;n=l[j[b+44>>2]+4198>>1];if(f){while(1){g=f>>>1|0;o=(g<<1)+c|0;p=n>>>0>l[o>>1];c=p?o+2|0:c;f=p?(g^-1)+f|0:g;if(f){continue}break}}if(n>>>0>=l[c>>1]?(c|0)!=(q|0):0){break c}c=j[e+4>>2];f=i[e+2>>1];q=c+(f<<1)|0;n=l[j[b+44>>2]+4464>>1];if(f){while(1){g=f>>>1|0;o=(g<<1)+c|0;p=n>>>0>l[o>>1];c=p?o+2|0:c;f=p?(g^-1)+f|0:g;if(f){continue}break}}if((c|0)==(q|0)){break d}if(n>>>0>=l[c>>1]){break c}}c=k[e+16|0];e:{f:{if(!(c&1)){break f}g:{if(c&2){c=k[e|0]+e|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break f}c=k[e+16|0];g=0;if(!(c&1)){break g}}f=(k[e|0]+e|0)+18|0;g=f;if(!(c&2)){break g}g=k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24)}if(ca(g,121397)){break e}}Z(d+432|0,32);$(d+432|0,121397);c=k[m+11|0];f=c<<24>>24<0;aa(d+432|0,f?j[m>>2]:d+416|0,f?j[m+4>>2]:c)}c=k[e+16|0];h:{if(!(c&1)){break h}if(c&2){c=k[e|0]+e|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break h}}Z(d+432|0,32);n=d+432|0;g=k[e+16|0];f=121429;i:{if(!(g&1)){break i}c=(k[e|0]+e|0)+18|0;f=c;if(!(g&2)){break i}f=k[c|0]|k[c+1|0]<<8|(k[c+2|0]<<16|k[c+3|0]<<24)}$(n,f)}Z(d+432|0,10)}e=j[e+12>>2];if(e){continue}break}}c=k[m+11|0];e=c<<24>>24<0;fc(d+400|0,j[b+44>>2],e?j[m>>2]:d+416|0,e?j[m+4>>2]:c,0);e=k[d+411|0];c=e<<24>>24;e=(c|0)<0?j[d+404>>2]:e;if(e){aa(d+432|0,(c|0)<0?j[d+400>>2]:d+400|0,e)}e=1;c=j[b+44>>2];if(!(l[c+4152>>1]|l[c+4154>>1])){e=j[c+4268>>2]!=j[c+4272>>2]}j:{if(!e){break j}c=k[d+443|0];if(c<<24>>24<0?j[d+436>>2]:c){break j}e=j[b+44>>2];b=k[m+11|0];c=b<<24>>24<0;Pf(e,c?j[m>>2]:d+416|0,c?j[m+4>>2]:b,0,0,100,0,0,d,d+432|0,0)}Ai(d+432|0);j[a+8>>2]=j[d+440>>2];b=j[d+436>>2];j[a>>2]=j[d+432>>2];j[a+4>>2]=b;j[d+440>>2]=0;j[d+432>>2]=0;j[d+436>>2]=0;if(h[d+411|0]<=-1){T(j[d+400>>2])}if(h[m+11|0]<=-1){T(j[m>>2])}if(h[d+443|0]>-1){break a}T(j[d+432>>2])}M=d+448|0}function gr(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;d=M-48|0;M=d;a:{b:{c:{d:{e:{if(j[a+92>>2]){break e}j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;e=ka(b,d+40|0);f=k[b+11|0];g=f<<24>>24<0;if((e|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:f)|0)){break c}g=0;while(1){f:{g:{h:{switch(g|0){case 1:break h;case 0:break g;default:break f}}n=j[d+40>>2];i=n-e|0;if(i>>>0>=4294967280){break d}i:{if(i>>>0<=10){h[d+35|0]=i;f=d+24|0;break i}m=i+16&-16;f=U(m);j[d+32>>2]=m|-2147483648;j[d+24>>2]=f;j[d+28>>2]=i}if((e|0)!=(n|0)){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((n|0)!=(e|0)){continue}break}}h[f|0]=0;j:{if(h[d+35|0]>=0){e=ta(d+24|0);j[a+92>>2]=e;break j}e=j[d+24>>2];p=a,q=ta(e),j[p+92>>2]=q;T(e);e=j[a+92>>2]}if((e|0)<=0){break e}e=ja(e<<2);j[a+96>>2]=e;if(e){break g}e=0;j[a+92>>2]=0;break a}l=l+1|0}g=g+1|0;e=ka(b,d+40|0);f=k[b+11|0];i=f<<24>>24<0;if((e|0)!=((i?j[b>>2]:b)+(i?j[b+4>>2]:f)|0)){continue}break}if((l|0)!=2){break c}e=1;if(j[a+92>>2]<1){break a}i=0;while(1){k:{j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;if(!ub(c,d+24|0)){break k}bb(d+24|0);b=0;n=i<<2;j[n+j[a+96>>2]>>2]=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;e=ka(d+24|0,d+40|0);g=j[d+24>>2];o=k[d+35|0];l=o<<24>>24;f=(l|0)<0;m=j[d+28>>2];if((e|0)!=((f?g:d+24|0)+(f?m:o)|0)){while(1){l:{m:{switch(b|0){case 0:if(!_(d+24|0,e-(f&1?g:d+24|0)|0,2,120961,2)){break l}e=0;j[a+92>>2]=0;T(j[a+96>>2]);j[a+96>>2]=0;if(h[d+35|0]>-1){break a}T(j[d+24>>2]);break a;case 1:break m;default:break l}}f=f&1;l=(f?g:d+24|0)+(f?m:l&255)|0;g=l-e|0;if(g>>>0>=4294967280){break b}n:{if(g>>>0<=10){h[d+19|0]=g;f=d+8|0;break n}m=g+16&-16;f=U(m);j[d+16>>2]=m|-2147483648;j[d+8>>2]=f;j[d+12>>2]=g}if((e|0)!=(l|0)){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}h[f|0]=0;o:{if(!j[a+12>>2]){break o}if(j[a+16>>2]){ob(d+8|0);break o}Va(d+8|0)}e=cb(h[d+19|0]<0?j[d+8>>2]:d+8|0);j[n+j[a+96>>2]>>2]=e;if(h[d+19|0]>-1){break l}T(j[d+8>>2])}b=b+1|0;e=ka(d+24|0,d+40|0);g=j[d+24>>2];o=k[d+35|0];l=o<<24>>24;f=(l|0)<0;m=j[d+28>>2];if((e|0)!=((f?g:d+24|0)+(f?m:o)|0)){continue}break}}b=j[a+96>>2];if(!j[b+n>>2]){e=0;j[a+92>>2]=0;T(b);j[a+96>>2]=0;if(h[d+35|0]>-1){break a}T(j[d+24>>2]);break a}if(f){T(g)}e=1;i=i+1|0;if((i|0)>2]){continue}break a}break}if(h[d+35|0]>-1){break e}T(j[d+24>>2])}e=0;break a}X();z()}e=0;j[a+92>>2]=0;T(j[a+96>>2]);j[a+96>>2]=0;break a}X();z()}M=d+48|0;return e}function Te(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0;l=M-16|0;M=l;d=k[c+11|0];f=d<<24>>24;m=j[c+4>>2];g=(f|0)<0?m:d;a:{if(!g){j[b>>2]=0;break a}e=-1;b:{c:{d:{e:{f:{g:{h:{i:{switch(j[a+8>>2]-1|0){case 1:if((f|0)>=0){if(!f){e=1;break c}a=d&3;if(d-1>>>0>=3){break h}d=0;e=1;break d}if(!m){e=1;break c}a=j[c>>2];f=m&3;j:{if(m-1>>>0<3){d=0;e=1;break j}g=m&-4;d=0;e=1;while(1){e=((((k[a+d|0]==44)+e|0)+(k[a+(d|1)|0]==44)|0)+(k[a+(d|2)|0]==44)|0)+(k[a+(d|3)|0]==44)|0;d=d+4|0;g=g-4|0;if(g){continue}break}}if(!f){break c}while(1){e=(k[a+d|0]==44)+e|0;d=d+1|0;f=f-1|0;if(f){continue}break}break c;case 0:break i;case 2:break g;default:break f}}e=(g|0)/2|0;d=ja(e<<1);j[b>>2]=d;if(!d){break b}if((g|0)<2){break a}a=0;b=h[c+11|0]<0?j[c>>2]:c;if((g&-2)!=2){g=e&-2;while(1){c=a<<1;i[c+d>>1]=k[b+(c|1)|0]|k[b+c|0]<<8;f=c|2;i[f+d>>1]=k[b+(c|3)|0]|k[b+f|0]<<8;a=a+2|0;g=g-2|0;if(g){continue}break}}if(!(e&1)){break a}a=a<<1;i[a+d>>1]=k[b+(a|1)|0]|k[a+b|0]<<8;break a}f=d&252;d=0;e=1;while(1){e=((((k[c+d|0]==44)+e|0)+(k[(d|1)+c|0]==44)|0)+(k[(d|2)+c|0]==44)|0)+(k[(d|3)+c|0]==44)|0;d=d+4|0;f=f-4|0;if(f){continue}break}break d}j[l+8>>2]=0;j[l>>2]=0;j[l+4>>2]=0;ia(l,c);e=b;a=j[l>>2];b=j[l+4>>2]-a|0;c=ja(b);j[e>>2]=c;if(!c){break e}V(c,a,b);if(a){j[l+4>>2]=a;T(a)}e=b>>1;break a}d=ja(g<<1);j[b>>2]=d;if(!d){break a}k:{l:{m:{b=k[c+11|0];a=b<<24>>24;if((a|0)>=0){if(!a){break k}a=b&3;if(b-1>>>0>=3){break m}e=0;break l}e=j[c+4>>2];if(!e){break k}b=j[c>>2];a=e&3;n:{if(e-1>>>0<3){c=0;break n}f=e&-4;c=0;while(1){i[d>>1]=k[b+c|0];i[d+2>>1]=k[b+(c|1)|0];i[d+4>>1]=k[b+(c|2)|0];i[d+6>>1]=k[b+(c|3)|0];c=c+4|0;d=d+8|0;f=f-4|0;if(f){continue}break}}if(!a){break k}while(1){i[d>>1]=k[b+c|0];c=c+1|0;d=d+2|0;a=a-1|0;if(a){continue}break}break k}f=b&252;e=0;while(1){i[d>>1]=k[c+e|0];i[d+2>>1]=k[(e|1)+c|0];i[d+4>>1]=k[(e|2)+c|0];i[d+6>>1]=k[(e|3)+c|0];e=e+4|0;d=d+8|0;f=f-4|0;if(f){continue}break}}if(!a){break k}while(1){i[d>>1]=k[c+e|0];e=e+1|0;d=d+2|0;a=a-1|0;if(a){continue}break}}e=g;break a}if(!a){break b}j[l+4>>2]=a;T(a);break b}if(!a){break c}while(1){e=(k[c+d|0]==44)+e|0;d=d+1|0;a=a-1|0;if(a){continue}break}}d=ja(e<<1);j[b>>2]=d;if(!d){break b}f=h[c+11|0]<0?j[c>>2]:c;c=f;while(1){a=k[c|0];o:{if((a|0)!=44){if(a){break o}n=d,o=ta(f),i[n>>1]=o;break a}n=d,o=ta(f),i[n>>1]=o;d=d+2|0;f=c+1|0}c=c+1|0;continue}}e=-1}M=l+16|0;return e}function Ko(a){var b=0,c=0,d=0,e=0,f=0,g=0;while(1){b=(c<<2)+a|0;j[b+2048>>2]=0;b=j[b>>2];if(b){while(1){d=j[b+68>>2];O[j[j[b>>2]+4>>2]](b);b=d;if(b){continue}break}}c=c+1|0;if((c|0)!=256){continue}break}c=0;while(1){b=(c<<2)+a|0;j[b+3072>>2]=0;e=b+1024|0;b=j[e>>2];if(b){while(1){d=j[b+80>>2];O[j[j[b>>2]+4>>2]](b);b=d;if(b){continue}break}}j[e>>2]=0;c=c+1|0;if((c|0)!=256){continue}break}b=j[a+4204>>2];if(b){T(Le(b))}b=j[a+4208>>2];if(b){T(Le(b))}e=j[a+4280>>2];if(e){d=j[e+4>>2];if(d){b=j[e+8>>2];c=d;a:{if((d|0)==(b|0)){break a}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((d|0)!=(b|0)){continue}break}c=j[e+4>>2]}j[e+8>>2]=d;T(c)}T(e)}i[a+4464>>1]=0;j[a+4460>>2]=0;j[a+4308>>2]=0;j[a+4312>>2]=0;j[a+4100>>2]=0;j[a+4152>>2]=0;j[a+4156>>2]=0;j[a+4192>>2]=0;j[a+4196>>2]=0;b=a+4158|0;i[b>>1]=0;i[b+2>>1]=0;i[b+4>>1]=0;i[b+6>>1]=0;j[a+4200>>2]=0;_h();j[a+4380>>2]=0;if(h[a+4455|0]<=-1){T(j[a+4444>>2])}if(h[a+4443|0]<=-1){T(j[a+4432>>2])}b=j[a+4420>>2];if(b){j[a+4424>>2]=b;T(b)}if(h[a+4419|0]<=-1){T(j[a+4408>>2])}b=j[a+4396>>2];if(b){j[a+4400>>2]=b;T(b)}if(h[a+4395|0]<=-1){T(j[a+4384>>2])}if(h[a+4351|0]<=-1){T(j[a+4340>>2])}b=j[a+4328>>2];if(b){j[a+4332>>2]=b;T(b)}if(h[a+4327|0]<=-1){T(j[a+4316>>2])}d=j[a+4268>>2];if(d){b=j[a+4272>>2];c=d;b:{if((d|0)==(b|0)){break b}while(1){c=b-12|0;e=j[c>>2];if(e){j[b-8>>2]=e;T(e)}b=c;if((d|0)!=(b|0)){continue}break}c=j[a+4268>>2]}j[a+4272>>2]=d;T(c)}d=j[a+4248>>2];if(d){b=j[a+4252>>2];c=d;c:{if((d|0)==(b|0)){break c}while(1){if(h[b-5|0]<=-1){T(j[b-16>>2])}if(h[b-17|0]<=-1){T(j[b-28>>2])}b=b-40|0;if(h[b+11|0]<=-1){T(j[b>>2])}if((b|0)!=(d|0)){continue}break}c=j[a+4248>>2]}j[a+4252>>2]=d;T(c)}d=j[a+4232>>2];if(d){b=j[a+4236>>2];c=d;d:{if((d|0)==(b|0)){break d}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((d|0)!=(b|0)){continue}break}c=j[a+4232>>2]}j[a+4236>>2]=d;T(c)}d=j[a+4216>>2];if(d){b=j[a+4220>>2];c=d;e:{if((d|0)==(b|0)){break e}while(1){e=b-12|0;c=j[e>>2];if(c){g=b-8|0;b=j[g>>2];f=c;f:{if((c|0)==(b|0)){break f}while(1){f=b-12|0;if(h[b-1|0]<=-1){T(j[f>>2])}b=f;if((c|0)!=(b|0)){continue}break}f=j[e>>2]}j[g>>2]=c;T(f)}b=e;if((d|0)!=(b|0)){continue}break}c=j[a+4216>>2]}j[a+4220>>2]=d;T(c)}if(h[a+4139|0]<=-1){T(j[a+4128>>2])}if(h[a+4127|0]<=-1){T(j[a+4116>>2])}if(h[a+4115|0]<=-1){T(j[a+4104>>2])}return a}function Ch(a,b){var c=0,d=0,e=0,f=0,g=0,i=0;d=b;a:{b:{g=j[b>>2];if(g){c=j[b+4>>2];if(!c){break b}while(1){d=c;c=j[c>>2];if(c){continue}break}}g=j[d+4>>2];if(g){break b}g=0;e=1;break a}j[g+8>>2]=j[d+8>>2];e=0}f=j[d+8>>2];c=j[f>>2];c:{if((d|0)==(c|0)){j[f>>2]=g;if((a|0)==(d|0)){c=0;a=g;break c}c=j[f+4>>2];break c}j[f+4>>2]=g}d:{e:{f:{i=!k[d+12|0];if((b|0)!=(d|0)){f=j[b+8>>2];j[d+8>>2]=f;j[f+((j[j[b+8>>2]>>2]!=(b|0))<<2)>>2]=d;f=j[b>>2];j[d>>2]=f;j[f+8>>2]=d;f=j[b+4>>2];j[d+4>>2]=f;if(f){j[f+8>>2]=d}h[d+12|0]=k[b+12|0];a=(a|0)==(b|0)?d:a}if(!(i|!a)){if(e){while(1){b=k[c+12|0];g:{e=j[c+8>>2];if(j[e>>2]!=(c|0)){if(!b){h[c+12|0]=1;h[e+12|0]=0;d=j[e+4>>2];b=j[d>>2];j[e+4>>2]=b;if(b){j[b+8>>2]=e}j[d+8>>2]=j[e+8>>2];b=j[e+8>>2];j[(((e|0)!=j[b>>2])<<2)+b>>2]=d;j[d>>2]=e;j[e+8>>2]=d;b=j[c>>2];a=(b|0)==(a|0)?c:a;c=j[b+4>>2]}d=j[c>>2];if(!(k[d+12|0]?0:d)){b=j[c+4>>2];if(k[b+12|0]?0:b){break f}h[c+12|0]=0;c=j[c+8>>2];h:{if((c|0)==(a|0)){c=a;break h}if(k[c+12|0]){break g}}h[c+12|0]=1;return}b=j[c+4>>2];if(b){break f}break e}i:{if(b){b=c;break i}h[c+12|0]=1;h[e+12|0]=0;b=j[c+4>>2];j[e>>2]=b;if(b){j[b+8>>2]=e}j[c+8>>2]=j[e+8>>2];d=j[e+8>>2];j:{if((e|0)==j[d>>2]){j[d>>2]=c;b=j[e>>2];break j}j[d+4>>2]=c}j[c+4>>2]=e;j[e+8>>2]=c;a=(a|0)==(e|0)?c:a}d=j[b>>2];k:{if(!(!d|k[d+12|0])){c=b;break k}c=j[b+4>>2];if(!(k[c+12|0]?0:c)){h[b+12|0]=0;c=j[b+8>>2];if(k[c+12|0]?(c|0)!=(a|0):0){break g}h[c+12|0]=1;return}if(d){if(!k[d+12|0]){c=b;break k}c=j[b+4>>2]}h[c+12|0]=1;h[b+12|0]=0;a=j[c>>2];j[b+4>>2]=a;if(a){j[a+8>>2]=b}j[c+8>>2]=j[b+8>>2];a=j[b+8>>2];j[((j[a>>2]!=(b|0))<<2)+a>>2]=c;j[c>>2]=b;j[b+8>>2]=c;d=b}a=c;c=j[c+8>>2];h[a+12|0]=k[c+12|0];h[c+12|0]=1;h[d+12|0]=1;b=j[c>>2];a=j[b+4>>2];j[c>>2]=a;if(a){j[a+8>>2]=c}j[b+8>>2]=j[c+8>>2];a=j[c+8>>2];j[(((c|0)!=j[a>>2])<<2)+a>>2]=b;j[b+4>>2]=c;j[c+8>>2]=b;return}b=j[c+8>>2];c=j[((j[b>>2]==(c|0))<<2)+b>>2];continue}}h[g+12|0]=1}return}if(k[b+12|0]){break e}d=c;break d}h[d+12|0]=1;h[c+12|0]=0;a=j[d+4>>2];j[c>>2]=a;if(a){j[a+8>>2]=c}j[d+8>>2]=j[c+8>>2];a=j[c+8>>2];j[((j[a>>2]!=(c|0))<<2)+a>>2]=d;j[d+4>>2]=c;j[c+8>>2]=d;b=c}c=j[d+8>>2];h[d+12|0]=k[c+12|0];h[c+12|0]=1;h[b+12|0]=1;b=j[c+4>>2];a=j[b>>2];j[c+4>>2]=a;if(a){j[a+8>>2]=c}j[b+8>>2]=j[c+8>>2];a=j[c+8>>2];j[(((c|0)!=j[a>>2])<<2)+a>>2]=b;j[b>>2]=c;j[c+8>>2]=b}function nq(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;d=M-48|0;M=d;a:{if(j[a+8>>2]>=j[a+4>>2]){break a}l=k[b+11|0];if(!(l<<24>>24<0?j[b+4>>2]:l)){break a}l=k[c+11|0];if(!(l<<24>>24<0?j[c+4>>2]:l)){break a}m=ha(d+32|0,b);f=h[m+11|0];if(k[((f|0)<0?j[m>>2]:d+32|0)|0]==95){q=1;xb(m,0,1);f=k[m+11|0]}b:{c:{if(f<<24>>24<=-1){b=j[m+4>>2];if(!b){break b}f=b-1|0;if(k[f+j[m>>2]|0]==95){break c}break b}b=f&255;if(!b){break b}f=b-1|0;if(k[f+(d+32|0)|0]!=95){break b}}xb(m,f,-1);q=q|2}i[d+16>>1]=95;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;wb(m,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}d:{e:{b=j[a+8>>2];if((b|0)<1){break e}n=k[m+11|0];e=n<<24>>24;o=(e|0)<0?j[m>>2]:d+32|0;r=b-1|0;t=j[a>>2];f=0;l=-1;while(1){s=f+r>>>1|0;b=j[t+(s<<2)>>2];g=h[b+11|0];f:{if((g|0)<=-1){g=j[b+4>>2];b=j[b>>2];break f}g=g&255}b=Eb(o,b,g);g=(b|0)<0;l=g?l:b?l:s;r=g?s-1|0:r;f=g?f:s+1|0;if((r|0)>=(f|0)){continue}break}if((l|0)<0){break e}g=j[t+(l<<2)>>2];f=k[g+11|0];b=f<<24>>24;e=(e|0)<0?j[m+4>>2]:n;n=(b|0)<0?j[g+4>>2]:f;if((e|0)!=(n|0)){break e}e=j[g>>2];b=(b|0)<0;g:{if(!b){if(!n){break g}if(k[o|0]!=(e&255)){break e}b=g;while(1){f=f-1|0;if(!f){break g}e=k[o+1|0];o=o+1|0;b=b+1|0;if((e|0)==k[b|0]){continue}break}break e}if(!n){break g}if(qa(b?e:g,o,n)){break e}}b=p(q,12);ua((b+g|0)+12|0,c);a=j[j[a>>2]+(l<<2)>>2];i[d+16>>1]=95;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;wb((a+b|0)+12|0,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]>-1){break d}T(j[d+16>>2]);break d}e=U(60);j[e>>2]=0;j[e+4>>2]=0;j[e+56>>2]=0;j[e+48>>2]=0;j[e+52>>2]=0;j[e+40>>2]=0;j[e+44>>2]=0;j[e+32>>2]=0;j[e+36>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;ua(e,m);b=(e+p(q,12)|0)+12|0;ua(b,c);i[d+16>>1]=95;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;wb(b,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}l=j[a+8>>2];f=l+1|0;j[a+8>>2]=f;j[j[a>>2]+(l<<2)>>2]=e;h:{if((l|0)<1){break h}while(1){b=l;n=h[e+11|0]<=-1?j[e>>2]:e;c=f<<2;f=j[a>>2];g=j[(c+f|0)-8>>2];i:{if(h[g+11|0]<=-1){c=j[g>>2];break i}c=g}if((ba(n,c)|0)>-1){break h}j[f+(b<<2)>>2]=g;l=b-1|0;f=b;if((b|0)>1){continue}break}l=0}j[j[a>>2]+(l<<2)>>2]=e}if(h[m+11|0]<=-1){T(j[m>>2])}}M=d+48|0}function Gh(a,b,c,d){var e=0,f=0,g=0,i=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=M-32|0;M=g;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;f=Fh(d);a:{m=k[c+16|0];n=0;b:{if(!(m&1)){break b}e=(k[c|0]+c|0)+18|0;n=e;if(!(m&2)){break b}n=k[e|0]|k[e+1|0]<<8|(k[e+2|0]<<16|k[e+3|0]<<24)}c:{if((Fh(n)|0)>(f|0)){break c}e=k[c+16|0];d:{if(!(e&1)){break d}f=0;if(e&2){e=k[c|0]+c|0;if(!(k[e+18|0]|k[e+19|0]<<8|(k[e+20|0]<<16|k[e+21|0]<<24))){break d}e=k[c+16|0];f=!(e&1)}o=c+17|0;p=l[c+2>>1];q=j[c+4>>2];m=k[c|0];n=j[b+44>>2];e:{if(f){break e}i=(c+m|0)+18|0;if(!(e&2)){break e}i=k[i|0]|k[i+1|0]<<8|(k[i+2|0]<<16|k[i+3|0]<<24)}je(g+16|0,n,o,m,q,p,i,d,0);f=k[g+27|0];e=f<<24>>24;i=(e|0)<0;f=i?j[g+20>>2]:f;if(f){aa(a,i?j[g+16>>2]:g+16|0,f);Z(a,10);e=k[g+27|0]}if(e<<24>>24>-1){break d}T(j[g+16>>2])}e=k[c+16|0];if(!(e&1)){break c}f:{if(e&2){e=k[c|0]+c|0;if(!(k[e+18|0]|k[e+19|0]<<8|(k[e+20|0]<<16|k[e+21|0]<<24))){break c}e=k[c+16|0];f=121429;if(!(e&1)){break f}}i=(k[c|0]+c|0)+18|0;f=i;if(!(e&2)){break f}f=k[i|0]|k[i+1|0]<<8|(k[i+2|0]<<16|k[i+3|0]<<24)}e=ca(f,121401);if(!e){break c}p=c+17|0;while(1){o=e+3|0;i=$e(o);if(i>>>0>=4294967280){break a}g:{h:{if(i>>>0>=11){c=i+16&-16;e=U(c);j[g+24>>2]=c|-2147483648;j[g+16>>2]=e;j[g+20>>2]=i;break h}h[g+27|0]=i;e=g+16|0;if(!i){break g}}V(e,o,i)}h[e+i|0]=0;e=Xb(j[b+44>>2],h[g+27|0]<0?j[g+16>>2]:g+16|0);if(e){while(1){c=k[e+16|0];i:{if(!(c&1)){break i}j:{if(c&2){c=k[e|0]+e|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break i}c=k[e+16|0];n=121429;if(!(c&1)){break j}}f=(k[e|0]+e|0)+18|0;n=f;if(!(c&2)){break j}n=k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24)}c=ca(n,121397);if(!c){break i}c=c+3|0;if(Eb(c,p,$e(c))){break i}q=g;r=j[b+44>>2];s=e+17|0;f=k[e|0];n=f;t=j[e+4>>2];u=l[e+2>>1];c=k[e+16|0];m=0;k:{if(!(c&1)){break k}f=(e+f|0)+18|0;m=f;if(!(c&2)){break k}m=k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24)}je(q,r,s,n,t,u,m,d,0);m=k[g+11|0];c=m<<24>>24;f=(c|0)<0;m=f?j[g+4>>2]:m;if(m){aa(a,f?j[g>>2]:g,m);Z(a,10);c=k[g+11|0]}if(c<<24>>24>-1){break i}T(j[g>>2])}e=j[e+12>>2];if(e){continue}break}}e=ca(i+o|0,121401);if(h[g+27|0]<=-1){T(j[g+16>>2])}if(e){continue}break}}M=g+32|0;return}X();z()}function Vg(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,n=0,o=0;f=M-48|0;M=f;a:{if(c>>>0<=2){c=c<<2;i=j[c+123020>>2];o=j[c+123008>>2];while(1){c=j[b+4>>2];b:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break b}c=pa(b)}if((c|0)==32|c-9>>>0<5){continue}break}g=1;c:{d:{switch(c-43|0){case 0:case 2:break d;default:break c}}g=(c|0)==45?-1:1;c=j[b+4>>2];if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break c}c=pa(b)}e:{f:{while(1){if(h[e+122944|0]==(c|32)){g:{if(e>>>0>6){break g}c=j[b+4>>2];if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break g}c=pa(b)}e=e+1|0;if((e|0)!=8){continue}break f}break}if((e|0)!=3){if((e|0)==8){break f}if(!d|e>>>0<4){break e}if((e|0)==8){break f}}c=j[b+104>>2];if(c){j[b+4>>2]=j[b+4>>2]-1}if(!d|e>>>0<4){break f}while(1){if(c){j[b+4>>2]=j[b+4>>2]-1}e=e-1|0;if(e>>>0>3){continue}break}}ao(f,q(q(g|0)*q(B)));g=j[f+8>>2];i=j[f+12>>2];l=j[f>>2];n=j[f+4>>2];break a}h:{i:{j:{if(e){break j}e=0;while(1){if(h[e+122953|0]!=(c|32)){break j}k:{if(e>>>0>1){break k}c=j[b+4>>2];if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break k}c=pa(b)}e=e+1|0;if((e|0)!=3){continue}break}break i}l:{switch(e|0){case 0:m:{if((c|0)!=48){break m}e=j[b+4>>2];n:{if(e>>>0>2]){j[b+4>>2]=e+1;e=k[e|0];break n}e=pa(b)}if((e&-33)==88){Zn(f+16|0,b,o,i,g,d);g=j[f+24>>2];i=j[f+28>>2];l=j[f+16>>2];n=j[f+20>>2];break a}if(!j[b+104>>2]){break m}j[b+4>>2]=j[b+4>>2]-1}Yn(f+32|0,b,c,o,i,g,d);g=j[f+40>>2];i=j[f+44>>2];l=j[f+32>>2];n=j[f+36>>2];break a;case 3:break i;default:break l}}if(j[b+104>>2]){j[b+4>>2]=j[b+4>>2]-1}break h}o:{c=j[b+4>>2];p:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break p}c=pa(b)}if((c|0)==40){e=1;break o}g=0;i=2147450880;if(!j[b+104>>2]){break a}j[b+4>>2]=j[b+4>>2]-1;break a}while(1){q:{c=j[b+4>>2];r:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break r}c=pa(b)}if(!(c-48>>>0<10|c-65>>>0<26|(c|0)==95)){if(c-97>>>0>=26){break q}}e=e+1|0;continue}break}g=0;i=2147450880;if((c|0)==41){break a}c=j[b+104>>2];if(c){j[b+4>>2]=j[b+4>>2]-1}if(d){if(!e){break a}while(1){e=e-1|0;if(c){j[b+4>>2]=j[b+4>>2]-1}if(e){continue}break}break a}}j[37203]=28;Ib(b,0,0)}g=0;i=0}j[a>>2]=l;j[a+4>>2]=n;j[a+8>>2]=g;j[a+12>>2]=i;M=f+48|0}function Ph(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;e=M-80|0;M=e;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;a:{if(!j[b+16>>2]|j[d>>2]==j[d+4>>2]){break a}Fd(e+48|0,b,c);j[e+44>>2]=0;j[e+40>>2]=0;j[e+32>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;Tq(b,e+24|0,c,e+44|0,e+40|0);j[e+16>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;c=j[d>>2];b:{if((c|0)==j[d+4>>2]){break b}while(1){Eh(e- -64|0,j[b+16>>2],e+48|0,p(f,12)+c|0);g=k[e+75|0];c=g<<24>>24;i=j[e+68>>2];if((c|0)<0?i:g){l=k[e+19|0];if(l<<24>>24<0?j[e+12>>2]:l){$(e+8|0,121137);i=j[e+68>>2];g=k[e+75|0];c=g}c=c<<24>>24<0;aa(e+8|0,c?j[e+64>>2]:e- -64|0,c?i:g);c=k[e+75|0]}if(c<<24>>24<=-1){T(j[e+64>>2])}f=f+1|0;c=j[d>>2];if(f>>>0<(j[d+4>>2]-c|0)/12>>>0){continue}break}c=k[e+19|0];if(!(c<<24>>24<0?j[e+12>>2]:c)){break b}f=j[e+44>>2];c:{if((f|0)!=2){break c}if(j[b+44>>2]){j[e+72>>2]=0;j[e+64>>2]=0;j[e+68>>2]=0;ia(e- -64|0,e+8|0);Oc(e- -64|0,j[b+40>>2]);da(e+8|0,e- -64|0);c=j[e+64>>2];if(!c){break c}j[e+68>>2]=c;T(c);break c}Pc(e+8|0,j[b+36>>2])}Ab(e- -64|0,e+8|0,10);d=j[e+64>>2];j[a>>2]=d;g=j[e+68>>2];j[a+4>>2]=g;j[a+8>>2]=j[e+72>>2];d:{e:{switch(f-1|0){case 0:case 3:break e;default:break d}}c=g-d|0;if(!c){break d}c=(c|0)/12|0;i=c>>>0>1?c:1;c=0;while(1){f=p(c,12)+d|0;f:{if(j[b+44>>2]){j[e+72>>2]=0;j[e+64>>2]=0;j[e+68>>2]=0;ia(e- -64|0,f);vb(e- -64|0,j[b+40>>2]);da(f,e- -64|0);f=j[e+64>>2];if(!f){break f}j[e+68>>2]=f;T(f);break f}nb(f,j[b+36>>2])}c=c+1|0;if((i|0)!=(c|0)){continue}break}}if((d|0)==(g|0)){break b}while(1){f=d+12|0;g:{if(jb(b,d,0)){d=f;break g}c=d;h:{if((f|0)!=(g|0)){while(1){if(h[c+11|0]<=-1){T(j[c>>2])}i=j[f+4>>2];j[c>>2]=j[f>>2];j[c+4>>2]=i;j[c+8>>2]=j[f+8>>2];h[f+11|0]=0;h[f|0]=0;c=c+12|0;f=f+12|0;if((g|0)!=(f|0)){continue}break}g=j[a+4>>2];if((g|0)==(c|0)){break h}}while(1){f=g-12|0;if(h[g-1|0]<=-1){T(j[f>>2])}g=f;if((f|0)!=(c|0)){continue}break}}j[a+4>>2]=c;g=c}if((d|0)!=(g|0)){continue}break}}if(h[e+19|0]<=-1){T(j[e+8>>2])}if(h[e+35|0]<=-1){T(j[e+24>>2])}a=j[e+48>>2];if(!a){break a}b=a;f=j[e+52>>2];c=b;i:{if((b|0)==(f|0)){break i}while(1){b=f-12|0;if(h[f-1|0]<=-1){T(j[b>>2])}f=b;if((a|0)!=(f|0)){continue}break}c=j[e+48>>2]}b=c;j[e+52>>2]=a;T(b)}M=e+80|0}function gf(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=M-32|0;M=f;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;q=h[b+15|0];g=j[b+8>>2];a:{if((q|0)<=-1){break a}g=q&255}u=d-g|0;b:{if(!j[j[b+64>>2]+4484>>2]|u?(u|0)<=0:0){break b}q=k[b+28|0];d=h[b+27|0];g=j[b+20>>2];c:{if((d|0)<=-1){break c}g=d&255}if(q>>>0>g+u>>>0){break b}o=ha(f+16|0,b+16|0);g=o;q=b+4|0;d=h[q+11|0];s=j[b+8>>2];d:{if((d|0)<=-1){break d}s=d&255}$(g,s+c|0);e:{if(!Vc(b,h[o+11|0]<0?j[o>>2]:f+16|0)){break e}c=h[b+27|0];g=j[b+20>>2];f:{if((c|0)<=-1){break f}g=c&255}c=Xb(j[b+64>>2],h[o+11|0]<0?j[o>>2]:f+16|0);if(c){s=b+52|0;while(1){d=j[c+4>>2];m=i[c+2>>1];n=d+(m<<1)|0;if(m){p=l[b+30>>1];while(1){t=m>>>1|0;r=(t<<1)+d|0;e=p>>>0>l[r>>1];d=e?r+2|0:d;m=e?(t^-1)+m|0:t;if(m){continue}break}}g:{if((d|0)==(n|0)|l[b+30>>1]>1]){break g}d=j[b+56>>2];m=i[b+60>>1];p=d+(m<<1)|0;t=l[j[b+64>>2]+4198>>1];if(m){while(1){e=m>>>1|0;r=(e<<1)+d|0;n=t>>>0>l[r>>1];d=n?r+2|0:d;m=n?(e^-1)+m|0:e;if(m){continue}break}}if(t>>>0>=l[d>>1]?(d|0)!=(p|0):0){break g}h:{i:{if(j[s>>2]){Z(a,32);d=s;break i}d=q;if(h[d+11|0]>-1){break h}d=q}d=j[d>>2]}$(a,d);d=k[c+16|0];j:{k:{if(!(d&1)){break k}l:{if(d&2){d=k[c|0]+c|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break k}d=k[c+16|0];e=0;if(!(d&1)){break l}}p=(k[c|0]+c|0)+18|0;e=p;if(!(d&2)){break l}e=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}if(ca(e,1056)){break j}}Z(a,32);$(a,1056);$(a,c+17|0)}m:{n:{d=k[c+16|0];if(!(d&1)){break n}if(d&2){d=k[c|0]+c|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break n}}Z(a,32);d=a;r=k[c+16|0];e=1080;o:{if(!(r&1)){break o}n=(k[c|0]+c|0)+18|0;e=n;if(!(r&2)){break o}e=k[n|0]|k[n+1|0]<<8|(k[n+2|0]<<16|k[n+3|0]<<24)}$(d,e);break m}d=Jb(j[j[b+64>>2]+4100>>2],l[b+30>>1]);Z(a,32);$(a,1060);$(a,d);T(d)}Z(a,10)}c=j[c+12>>2];if(c){continue}break}}if(!(h[b+29|0]&1)){break e}Sc(f,j[b+64>>2],h[o+11|0]<0?j[o>>2]:f+16|0,u+g|0,1,b,0,0);c=k[f+11|0];b=c<<24>>24;d=(b|0)<0;c=d?j[f+4>>2]:c;if(c){aa(a,d?j[f>>2]:f,c);b=k[f+11|0]}if(b<<24>>24>-1){break e}T(j[f>>2])}if(h[o+11|0]>-1){break b}T(j[o>>2])}M=f+32|0}function hp(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0;d=M-48|0;M=d;a:{b:{c:{d:{if(k[a+4228|0]){break d}h[a+4228|0]=1;j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;f=ka(b,d+40|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){break d}o=a+4232|0;g=-1;while(1){e:{switch(l|0){case 1:n=j[d+40>>2];g=n-f|0;if(g>>>0>=4294967280){break b}f:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break f}q=g+16&-16;e=U(q);j[d+32>>2]=q|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(n|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((n|0)!=(f|0)){continue}break}}h[e|0]=0;g:{if(h[d+35|0]>=0){g=ta(d+24|0);break g}e=j[d+24>>2];g=ta(e);T(e)}if((g|0)<=-1){break d}if(!g){n=1;break c}$n(o,g);case 0:i=i+1|0;break;default:break e}}l=l+1|0;f=ka(b,d+40|0);e=k[b+11|0];n=e<<24>>24<0;if((f|0)!=((n?j[b>>2]:b)+(n?j[b+4>>2]:e)|0)){continue}break}if((i|0)!=2){break d}n=1;if((g|0)>=1){q=a+4232|0;o=0;while(1){j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;h:{if(!ub(c,d+24|0)){i=0;break h}bb(d+24|0);b=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;f=ka(d+24|0,d+40|0);l=j[d+24>>2];i=k[d+35|0];e=i<<24>>24<0;if((f|0)==((e?l:d+24|0)+(e?j[d+28>>2]:i)|0)){i=1;break h}while(1){i:{j:{switch(b|0){case 0:if(!_(d+24|0,f-(e&1?l:d+24|0)|0,5,1572,5)){break i}i=0;g=0;break h;case 1:break j;default:break i}}l=j[d+40>>2];i=l-f|0;if(i>>>0>=4294967280){break a}k:{if(i>>>0<=10){h[d+19|0]=i;e=d+8|0;break k}p=i+16&-16;e=U(p);j[d+16>>2]=p|-2147483648;j[d+8>>2]=e;j[d+12>>2]=i}if((f|0)!=(l|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[e|0]=0;e=j[a+4236>>2];if(e>>>0>2]){f=j[d+12>>2];j[e>>2]=j[d+8>>2];j[e+4>>2]=f;j[e+8>>2]=j[d+16>>2];j[a+4236>>2]=e+12;break i}Db(q,d+8|0);if(h[d+19|0]>-1){break i}T(j[d+8>>2])}i=1;b=b+1|0;f=ka(d+24|0,d+40|0);l=j[d+24>>2];p=k[d+35|0];e=p<<24>>24<0;if((f|0)!=((e?l:d+24|0)+(e?j[d+28>>2]:p)|0)){continue}break}}if(h[d+35|0]<=-1){T(j[d+24>>2])}if(!i){break d}o=o+1|0;if((o|0)<(g|0)){continue}break}}if(((j[a+4236>>2]-j[a+4232>>2]|0)/12|0)==(g|0)){break c}}n=0}M=d+48|0;return n}X();z()}X();z()}function Hf(a,b,c,d,e,f,g){var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=M+ -64|0;M=m;j[m+56>>2]=0;j[m+48>>2]=0;j[m+52>>2]=0;j[m+40>>2]=0;j[m+32>>2]=0;j[m+36>>2]=0;j[m+24>>2]=0;j[m+16>>2]=0;j[m+20>>2]=0;n=j[b+1024>>2];if(n){while(1){a:{if(!k[(l[n+30>>1]+b|0)+4492|0]){break a}Xh(m,n,c,d,e,f,g);q=k[m+11|0];o=q<<24>>24;if((o|0)<0?j[m+4>>2]:q){b:{if(!f){break b}o=j[f+52>>2];if(o){$(m+48|0,o);Z(m+48|0,32);break b}o=Jb(j[b+4100>>2],l[f+30>>1]);Z(m+48|0,32);$(m+48|0,1738);if(!o){break b}$(m+48|0,o);T(o)}o=k[m+11|0];q=o<<24>>24<0;aa(m+48|0,q?j[m>>2]:m,q?j[m+4>>2]:o);c:{if(j[n+52>>2]){Z(m+48|0,32);$(m+48|0,j[n+52>>2]);break c}o=Jb(j[b+4100>>2],l[n+30>>1]);Z(m+48|0,32);$(m+48|0,1738);if(!o){break c}$(m+48|0,o);T(o)}Z(m+48|0,10);o=k[m+11|0]}if(o<<24>>24>-1){break a}T(j[m>>2])}n=j[n+80>>2];if(n){continue}break}}if(d){t=(c+d|0)-1|0;p=j[((k[t|0]<<2)+b|0)+1024>>2];if(p){u=(d|0)<1;while(1){o=p+68|0;if(h[p+79|0]<=-1){n=j[o>>2]}else{n=o}d:{e:{f:{g:{if(u){break g}v=d+n|0;q=d;s=t;while(1){r=k[n|0];if(!r){break f}if((r|0)!=k[s|0]?(r|0)!=46:0){break g}s=s-1|0;n=n+1|0;r=(q|0)>1;q=q-1|0;if(r){continue}break}n=v}if(k[n|0]){break e}}h:{if(!k[(l[p+30>>1]+b|0)+4492|0]){break h}Xh(m,p,c,d,e,f,g);q=k[m+11|0];n=q<<24>>24;if((n|0)<0?j[m+4>>2]:q){i[b+4364>>1]=l[p+30>>1];if(!j[p+56>>2]){n=b;if(h[o+11|0]<=-1){o=j[o>>2]}j[n+4356>>2]=o}ua(m+32|0,m);i:{if(h[m+27|0]<=-1){h[j[m+16>>2]]=0;j[m+20>>2]=0;break i}h[m+27|0]=0;h[m+16|0]=0}j:{if(j[p+52>>2]){Z(m+16|0,32);$(m+16|0,j[p+52>>2]);break j}n=Jb(j[b+4100>>2],l[p+30>>1]);Z(m+16|0,32);$(m+16|0,1738);if(!n){break j}$(m+16|0,n);T(n)}oi(m+32|0,m+16|0);Z(m+32|0,10);n=k[m+43|0];o=n<<24>>24<0;aa(m+48|0,o?j[m+32>>2]:m+32|0,o?j[m+36>>2]:n);n=k[m+11|0]}if(n<<24>>24>-1){break h}T(j[m>>2])}n=p+84|0;break d}n=p+88|0}p=j[n>>2];if(p){continue}break}}b=j[m+52>>2];j[a>>2]=j[m+48>>2];j[a+4>>2]=b;j[a+8>>2]=j[m+56>>2];a=m+48|0}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;if(h[m+27|0]<=-1){T(j[m+16>>2])}if(h[m+43|0]<=-1){T(j[m+32>>2])}if(h[m+59|0]<=-1){T(j[m+48>>2])}M=m- -64|0}function Ze(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=M-128|0;M=k;a:{b:{c:{if(!qc(f,g,h,i,0,0,0,0)){break c}m=fi(f,g,h,i);s=e>>>16|0;o=s&32767;if((o|0)==32767){break c}if(m){break b}}xa(k+16|0,b,c,d,e,f,g,h,i);e=j[k+16>>2];d=j[k+20>>2];c=j[k+24>>2];b=j[k+28>>2];Wg(k,e,d,c,b,e,d,c,b);d=j[k+8>>2];e=j[k+12>>2];h=j[k>>2];i=j[k+4>>2];break a}m=o<<16;p=d;r=m|e&65535;n=r;q=h;r=i>>>16&32767;l=i&65535|r<<16;if((qc(b,c,p,n,f,g,h,l)|0)<=0){if(qc(b,c,p,n,f,g,q,l)){h=b;i=c;break a}xa(k+112|0,b,c,d,e,0,0,0,0);d=j[k+120>>2];e=j[k+124>>2];h=j[k+112>>2];i=j[k+116>>2];break a}if(o){i=c;h=b}else{xa(k+96|0,b,c,p,n,0,0,0,1081540608);h=j[k+108>>2];n=h;p=j[k+104>>2];o=(h>>>16|0)-120|0;i=j[k+100>>2];h=j[k+96>>2]}if(!r){xa(k+80|0,f,g,q,l,0,0,0,1081540608);f=j[k+92>>2];l=f;q=j[k+88>>2];r=(l>>>16|0)-120|0;g=j[k+84>>2];f=j[k+80>>2]}t=l&65535|65536;n=n&65535|65536;if((o|0)>(r|0)){while(1){l=p;m=q;u=l-m|0;m=n-((l>>>0>>0)+t|0)|0;l=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;m=m-(l>>>0>u>>>0)|0;l=u-l|0;d:{if((m|0)>0?1:(m|0)>=0){n=h;h=h-f|0;i=i-((f>>>0>n>>>0)+g|0)|0;if(!(h|l|(i|m))){xa(k+32|0,b,c,d,e,0,0,0,0);d=j[k+40>>2];e=j[k+44>>2];h=j[k+32>>2];i=j[k+36>>2];break a}m=m<<1|l>>>31;p=l<<1|i>>>31;break d}m=n<<1|p>>>31;p=p<<1|i>>>31}n=m;m=i<<1|h>>>31;h=h<<1;i=m;o=o-1|0;if((r|0)<(o|0)){continue}break}o=r}m=p;r=m-q|0;l=n-((m>>>0>>0)+t|0)|0;m=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;l=l-(m>>>0>r>>>0)|0;q=r-m|0;e:{if((l|0)<0){q=p;l=n;break e}p=h;h=h-f|0;i=i-((f>>>0>p>>>0)+g|0)|0;if(h|q|(i|l)){break e}xa(k+48|0,b,c,d,e,0,0,0,0);d=j[k+56>>2];e=j[k+60>>2];h=j[k+48>>2];i=j[k+52>>2];break a}if((l|0)==65535|l>>>0<65535){while(1){b=i>>>31|0;o=o-1|0;n=i<<1|h>>>31;h=h<<1;i=n;c=b;b=q;l=l<<1|b>>>31;q=c|b<<1;if(l>>>0<65536){continue}break}}b=s&32768;if((o|0)<=0){xa(k- -64|0,h,i,q,l&65535|(b|o+120)<<16,0,0,0,1065811968);d=j[k+72>>2];e=j[k+76>>2];h=j[k+64>>2];i=j[k+68>>2];break a}d=q;e=l&65535|(b|o)<<16}j[a>>2]=h;j[a+4>>2]=i;j[a+8>>2]=d;j[a+12>>2]=e;M=k+128|0}function Hh(a,b,c,d,e,f){var g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;l=M-48|0;M=l;j[l+40>>2]=0;j[l+32>>2]=0;j[l+36>>2]=0;j[l+24>>2]=0;j[l+16>>2]=0;j[l+20>>2]=0;a:{b:{c:{d:{if(j[a+56>>2]){m=W(b);if(m>>>0>=4294967280){break c}e:{f:{if(m>>>0>=11){g=m+16&-16;i=U(g);j[l+8>>2]=g|-2147483648;j[l>>2]=i;j[l+4>>2]=m;g=l;break f}h[l+11|0]=m;g=l;i=l;if(!m){break e}}V(i,b,m)}h[i+m|0]=0;q=ia(l+32|0,l);if(h[g+11|0]<=-1){T(j[l>>2])}m=W(c);if(m>>>0>=4294967280){break c}g:{h:{if(m>>>0>=11){g=m+16&-16;i=U(g);j[l+8>>2]=g|-2147483648;j[l>>2]=i;j[l+4>>2]=m;g=l;break h}h[l+11|0]=m;i=l;if(!m){break g}}V(i,c,m)}h[i+m|0]=0;t=ia(l+16|0,l);if(h[g+11|0]>-1){break d}T(j[l>>2]);break d}q=W(b);t=W(c)}r=t+1|0;g=p(r,q+1|0);o=ja(g);u=ja(g);if(!o|!u){break b}i=1;i:{if((q|0)<1){break i}g=q&3;if(q-1>>>0>=3){m=q&-4;while(1){h[p(i,r)+o|0]=0;h[p(i+1|0,r)+o|0]=0;h[p(i+2|0,r)+o|0]=0;h[p(i+3|0,r)+o|0]=0;i=i+4|0;m=m-4|0;if(m){continue}break}}if(!g){break i}while(1){h[p(i,r)+o|0]=0;i=i+1|0;g=g-1|0;if(g){continue}break}}if((t|0)>=0){ya(o,0,r)}if((q|0)>=1){A=j[l+16>>2];B=j[l+32>>2];i=1;while(1){m=i;j:{if((t|0)<1){break j}x=p(m,r);i=m-1|0;y=p(i,r);if(j[a+56>>2]){g=1;v=(i<<1)+B|0;while(1){s=k[v|0]|k[v+1|0]<<8;i=g;n=i-1|0;g=(n<<1)+A|0;g=k[g|0]|k[g+1|0]<<8;k:{if(!((s&255)!=(g&255)|(s>>>8|0)!=(g>>>8|0))){g=i+x|0;h[o+g|0]=k[(n+y|0)+o|0]+1;n=2;break k}s=h[(i+y|0)+o|0];g=i+x|0;w=o+g|0;n=h[w-1|0];if((s|0)>=(n|0)){h[w|0]=s;n=0;break k}h[w|0]=n;n=1}h[g+u|0]=n;g=i+1|0;if((i|0)!=(t|0)){continue}break}break j}w=k[b+i|0];g=1;while(1){i=g;n=i-1|0;l:{if((w|0)!=k[n+c|0]){s=h[(i+y|0)+o|0];g=i+x|0;v=o+g|0;n=h[v-1|0];if((s|0)>=(n|0)){h[v|0]=s;n=0;break l}h[v|0]=n;n=1;break l}g=i+x|0;h[o+g|0]=k[(n+y|0)+o|0]+1;n=2}h[g+u|0]=n;g=i+1|0;if((i|0)!=(t|0)){continue}break}}i=m+1|0;if((m|0)!=(q|0)){continue}break}}j[f>>2]=u;T(o);j[d>>2]=q;j[e>>2]=t;break a}X();z()}if(o){T(o)}if(u){T(u)}j[f>>2]=0}a=j[l+16>>2];if(a){j[l+20>>2]=a;T(a)}a=j[l+32>>2];if(a){j[l+36>>2]=a;T(a)}M=l+48|0}function Mg(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;f=j[b>>2];a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{if(!d){break l}g=j[d>>2];if(!g){break l}if(!a){d=c;break j}j[d>>2]=0;d=c;break k}m:{if(!j[j[37179]>>2]){if(!a){break m}if(!c){break a}g=c;while(1){d=h[f|0];if(d){j[a>>2]=d&57343;a=a+4|0;f=f+1|0;g=g-1|0;if(g){continue}break a}break}j[a>>2]=0;j[b>>2]=0;return c-g|0}d=c;if(!a){break i}break g}return W(f)}e=1;break g}e=0;break h}e=1}while(1){if(!e){e=k[f|0]>>>3|0;if((e-16|e+(g>>26))>>>0>7){break f}i=f+1|0;e=i;n:{if(!(g&33554432)){break n}if((k[i|0]&192)!=128){break f}i=f+2|0;e=i;if(!(g&524288)){break n}if((k[i|0]&192)!=128){break f}e=f+3|0}f=e;d=d-1|0;e=1;continue}while(1){g=k[f|0];o:{if(f&3|g-1>>>0>126){break o}g=j[f>>2];if((g|g-16843009)&-2139062144){break o}while(1){d=d-4|0;g=j[f+4>>2];e=f+4|0;f=e;if(!((g-16843009|g)&-2139062144)){continue}break}f=e}e=g&255;if(e-1>>>0<=126){d=d-1|0;f=f+1|0;continue}break}e=e-194|0;if(e>>>0>50){break e}f=f+1|0;g=j[(e<<2)+123312>>2];e=0;continue}}while(1){if(!e){if(!d){break a}while(1){p:{e=k[f|0];i=e-1|0;q:{r:{if(i>>>0>126){g=e;break r}if(f&3|d>>>0<5){break q}s:{while(1){g=j[f>>2];if((g|g-16843009)&-2139062144){break s}j[a>>2]=g&255;j[a+4>>2]=k[f+1|0];j[a+8>>2]=k[f+2|0];j[a+12>>2]=k[f+3|0];a=a+16|0;f=f+4|0;d=d-4|0;if(d>>>0>4){continue}break}g=k[f|0]}e=g&255;i=e-1|0}if(i>>>0>126){break p}}j[a>>2]=e;a=a+4|0;f=f+1|0;d=d-1|0;if(d){continue}break a}break}e=e-194|0;if(e>>>0>50){break e}f=f+1|0;g=j[(e<<2)+123312>>2];e=1;continue}i=k[f|0];e=i>>>3|0;if((e-16|e+(g>>26))>>>0>7){break f}t:{u:{l=f+1|0;e=i-128|g<<6;i=l;v:{if((e|0)>-1){break v}i=k[l|0]-128|0;if(i>>>0>63){break u}l=f+2|0;e=i|e<<6;i=l;if((e|0)>-1){break v}i=k[l|0]-128|0;if(i>>>0>63){break u}e=i|e<<6;i=f+3|0}f=i;j[a>>2]=e;d=d-1|0;a=a+4|0;break t}j[37203]=25;f=f-1|0;break c}e=0;continue}}f=f-1|0;if(g){break d}g=k[f|0]}if(g&255){break d}if(a){j[a>>2]=0;j[b>>2]=0}return c-d|0}j[37203]=25;if(!a){break b}}j[b>>2]=f}return-1}j[b>>2]=f;return c}function jd(a,b,c,d,e){var f=0,g=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=M-16|0;M=r;q=h[a+15|0];n=j[a+8>>2];a:{if((q|0)<=-1){break a}n=q&255}s=c-n|0;b:{if(!(!j[j[a+64>>2]+4484>>2]|s?(s|0)<=0:0)){n=ha(r,a+16|0);q=n;c=h[a+15|0];f=j[a+8>>2];c:{if((c|0)<=-1){break c}f=c&255}$(q,f+b|0);d:{e:{if(!Vc(a,h[n+11|0]<0?j[n>>2]:r)){break e}b=h[a+27|0];q=j[a+20>>2];f:{if((b|0)<=-1){break f}q=b&255}g=Xb(j[a+64>>2],h[n+11|0]<0?j[n>>2]:r);g:{if(!g){break g}if(!e){while(1){c=j[g+4>>2];b=i[g+2>>1];m=c+(b<<1)|0;if(b){p=l[a+30>>1];while(1){o=b>>>1|0;k=(o<<1)+c|0;f=p>>>0>l[k>>1];c=f?k+2|0:c;b=f?(o^-1)+b|0:o;if(b){continue}break}}if(!((c|0)==(m|0)|l[a+30>>1]>1])){c=j[a+56>>2];b=i[a+60>>1];p=c+(b<<1)|0;o=l[j[a+64>>2]+4198>>1];if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=o>>>0>l[k>>1];c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}b=0;if((c|0)==(p|0)|o>>>0>1]){break d}}g=j[g+12>>2];if(g){continue}break g}}while(1){c=j[g+4>>2];b=i[g+2>>1];m=c+(b<<1)|0;if(b){p=l[a+30>>1];while(1){o=b>>>1|0;k=(o<<1)+c|0;f=p>>>0>l[k>>1];c=f?k+2|0:c;b=f?(o^-1)+b|0:o;if(b){continue}break}}h:{if((c|0)==(m|0)|l[a+30>>1]>1]){break h}c=j[a+56>>2];b=i[a+60>>1];p=c+(b<<1)|0;o=l[j[a+64>>2]+4198>>1];if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=o>>>0>l[k>>1];c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}if(o>>>0>=l[c>>1]?(c|0)!=(p|0):0){break h}c=j[g+4>>2];b=i[g+2>>1];p=c+(b<<1)|0;if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=l[k>>1]>>0;c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}b=0;if(!((c|0)==(p|0)|l[c>>1]>e>>>0)){break d}c=j[a+56>>2];if(!c){break h}b=i[a+60>>1];p=(b<<1)+c|0;if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=l[k>>1]>>0;c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}if((c|0)==(p|0)|l[c>>1]>e>>>0){break h}b=0;break d}g=j[g+12>>2];if(g){continue}break}}if(!(h[a+29|0]&1)){break e}g=Qa(j[a+64>>2],h[n+11|0]<0?j[n>>2]:r,q+s|0,1,a,0,e,d);b=0;if(g){break d}}b=1}if(h[n+11|0]<=-1){T(j[n>>2])}if(!b){break b}}g=0}M=r+16|0;return g}function Ah(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0;f=M-32|0;M=f;a:{b:{c:{d:{b=j[a+16>>2];if(b>>>0>=341){j[a+16>>2]=b-341;b=j[a+4>>2];k=j[b>>2];c=b+4|0;j[a+4>>2]=c;e=j[a+8>>2];e:{if((e|0)!=j[a+12>>2]){break e}h=j[a>>2];if(h>>>0>>0){b=((c-h>>2)+1|0)/-2<<2;g=b+c|0;d=e-c|0;if(d){Ja(g,c,d);c=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break e}b=e-h|0;d=b?b>>1:1;if(d>>>0>=1073741824){break d}b=d<<2;i=U(b);g=b+i|0;b=e-c|0;d=i+(d&-4)|0;e=d;if(b){e=b+d|0;b=d;while(1){j[b>>2]=j[c>>2];c=c+4|0;b=b+4|0;if((e|0)!=(b|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=i;if(!h){break e}T(h);e=j[a+8>>2]}j[e>>2]=k;j[a+8>>2]=j[a+8>>2]+4;break a}b=j[a+8>>2];c=b-j[a+4>>2]>>2;d=j[a+12>>2];g=d-j[a>>2]|0;if(c>>>0>2>>>0){if((b|0)!=(d|0)){l=f,m=U(4092),j[l+8>>2]=m;Ad(a,f+8|0);break a}l=f,m=U(4092),j[l+8>>2]=m;zd(a,f+8|0);b=j[a+4>>2];k=j[b>>2];c=b+4|0;j[a+4>>2]=c;e=j[a+8>>2];f:{if((e|0)!=j[a+12>>2]){break f}h=j[a>>2];if(h>>>0>>0){b=((c-h>>2)+1|0)/-2<<2;g=b+c|0;d=e-c|0;if(d){Ja(g,c,d);c=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break f}b=e-h|0;d=b?b>>1:1;if(d>>>0>=1073741824){break d}b=d<<2;i=U(b);g=b+i|0;b=e-c|0;d=i+(d&-4)|0;e=d;if(b){e=b+d|0;b=d;while(1){j[b>>2]=j[c>>2];c=c+4|0;b=b+4|0;if((e|0)!=(b|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=i;if(!h){break f}T(h);e=j[a+8>>2]}j[e>>2]=k;j[a+8>>2]=j[a+8>>2]+4;break a}j[f+24>>2]=a+12;b=g?g>>1:1;if(b>>>0>=1073741824){break d}d=b<<2;g=U(d);j[f+8>>2]=g;b=g+(c<<2)|0;j[f+16>>2]=b;j[f+20>>2]=d+g;j[f+12>>2]=b;l=f,m=U(4092),j[l+4>>2]=m;Ad(f+8|0,f+4|0);c=j[a+8>>2];if((c|0)==j[a+4>>2]){b=c;break b}while(1){c=c-4|0;zd(f+8|0,c);if(j[a+4>>2]!=(c|0)){continue}break}break c}D();z()}b=j[a+8>>2]}g=j[a>>2];j[a>>2]=j[f+8>>2];j[f+8>>2]=g;j[a+4>>2]=j[f+12>>2];j[f+12>>2]=c;j[a+8>>2]=j[f+16>>2];j[f+16>>2]=b;d=j[a+12>>2];j[a+12>>2]=j[f+20>>2];j[f+20>>2]=d;if((b|0)!=(c|0)){j[f+16>>2]=b+(((b-c|0)-4>>>2^-1)<<2)}if(!g){break a}T(g)}M=f+32|0}function To(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;n=1;while(1){p=((n<<2)+a|0)+1024|0;f=j[p>>2];a:{if(!f){break a}while(1){l=0;i=f;f=j[f+80>>2];b:{if(!f){break b}g=i+68|0;if(h[i+79|0]>=0){m=k[g|0];d=f;while(1){c=d+68|0;c=h[d+79|0]<=-1?j[c>>2]:c;b=m;c:{if(!b){break c}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break c}while(1){b=k[e+1|0];if(!b){break c}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+80>>2];if(d){continue}break}break b}g=j[g>>2];m=k[g|0];d=f;while(1){c=d+68|0;c=h[d+79|0]<0?j[c>>2]:c;b=m;d:{if(!b){break d}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break d}while(1){b=k[e+1|0];if(!b){break d}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+80>>2];if(d){continue}break}}j[i+84>>2]=0;j[i+88>>2]=l;if(f){c=i+68|0;e=f+68|0;c=h[i+79|0]<=-1?j[c>>2]:c;b=k[c|0];e=h[f+79|0]<=-1?j[e>>2]:e;e:{if(!b|(b|0)!=46&k[e|0]!=(b|0)){break e}while(1){b=k[c+1|0];if(!b){break e}d=k[e+1|0];e=e+1|0;c=c+1|0;if(!((b|0)!=46&(b|0)!=(d|0))){continue}break}}if(b){continue}j[i+84>>2]=f;continue}break}b=j[p>>2];if(!b){break a}while(1){l=j[b+80>>2];if(!l){break a}g=b+68|0;f:{g:{h:{if(h[b+79|0]>=0){m=k[g|0];f=0;b=l;while(1){d=b;c=b+68|0;c=h[b+79|0]<=-1?j[c>>2]:c;b=m;i:{if(!b){break i}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break i}while(1){b=k[e+1|0];if(!b){break i}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+80>>2];if(b){continue}break}break g}g=j[g>>2];m=k[g|0];f=0;b=l;while(1){d=b;c=b+68|0;c=h[b+79|0]<0?j[c>>2]:c;b=m;j:{if(!b){break j}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break j}while(1){b=k[e+1|0];if(!b){break j}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+80>>2];if(b){continue}break}break g}d=f;if(!d){break f}}j[d+88>>2]=0}b=l;if(b){continue}break}}n=n+1|0;if((n|0)!=256){continue}break}}function Ne(a,b,c){var d=0,e=0,f=0,g=0,i=0,k=0,l=0;g=M-32|0;M=g;i=j[a>>2];l=(b-i|0)/12|0;a:{b:{e=j[a+4>>2];d=j[a+8>>2];c:{if(e>>>0>>0){if((b|0)==(e|0)){e=j[c+4>>2];j[b>>2]=j[c>>2];j[b+4>>2]=e;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[a+4>>2]=b+12;break c}i=e;k=(e-b|0)-12|0;d=p((k|0)/12|0,12)+b|0;if(e>>>0>d>>>0){f=d;while(1){l=j[f+4>>2];j[i>>2]=j[f>>2];j[i+4>>2]=l;j[i+8>>2]=j[f+8>>2];j[f>>2]=0;j[f+4>>2]=0;j[f+8>>2]=0;i=i+12|0;f=f+12|0;if(f>>>0>>0){continue}break}}j[a+4>>2]=i;if(k){while(1){a=e-12|0;d=d-12|0;if(h[e-1|0]<=-1){T(j[a>>2])}e=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=e;j[a+8>>2]=j[d+8>>2];h[d+11|0]=0;h[d|0]=0;e=a;if((b|0)!=(d|0)){continue}break}}if(h[b+11|0]<=-1){T(j[b>>2])}a=j[c+4>>2];j[b>>2]=j[c>>2];j[b+4>>2]=a;j[b+8>>2]=j[c+8>>2];h[c+11|0]=0;h[c|0]=0;break c}k=((e-i|0)/12|0)+1|0;if(k>>>0>=357913942){break b}j[g+24>>2]=a+8;f=g;i=(d-i|0)/12|0;d=i<<1;d=i>>>0<178956970?d>>>0>>0?k:d:357913941;e=0;d:{if(!d){break d}if(d>>>0>=357913942){break a}e=U(p(d,12))}j[f+8>>2]=e;f=e+p(l,12)|0;j[g+16>>2]=f;j[g+20>>2]=e+p(d,12);j[g+12>>2]=f;Kq(g+8|0,c);c=j[g+12>>2];f=c;e=j[a>>2];if((e|0)!=(b|0)){f=c;d=b;while(1){d=d-12|0;c=j[d+4>>2];f=f-12|0;j[f>>2]=j[d>>2];j[f+4>>2]=c;j[f+8>>2]=j[d+8>>2];j[d>>2]=0;j[d+4>>2]=0;j[d+8>>2]=0;f=j[g+12>>2]-12|0;j[g+12>>2]=f;if((d|0)!=(e|0)){continue}break}}e=j[a+4>>2];e:{if((e|0)==(b|0)){d=j[g+16>>2];break e}d=j[g+16>>2];while(1){c=j[b+4>>2];j[d>>2]=j[b>>2];j[d+4>>2]=c;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;d=j[g+16>>2]+12|0;j[g+16>>2]=d;b=b+12|0;if((e|0)!=(b|0)){continue}break}b=j[a+4>>2];f=j[g+12>>2]}e=j[a>>2];j[a>>2]=f;j[g+12>>2]=e;j[a+4>>2]=d;j[g+16>>2]=b;c=j[a+8>>2];j[a+8>>2]=j[g+20>>2];j[g+8>>2]=e;j[g+20>>2]=c;if((b|0)!=(e|0)){while(1){b=b-12|0;j[g+16>>2]=b;if(h[b+11|0]<=-1){T(j[b>>2]);b=j[g+16>>2]}if((b|0)!=(e|0)){continue}break}b=j[g+8>>2]}if(b){T(b)}}M=g+32|0;return}X();z()}D();z()}function Fb(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;l=M-16|0;M=l;a:{if(!j[a+4312>>2]){break a}b:{if(!j[a+4144>>2]){c=k[b+11|0];e=c<<24>>24;c=(e|0)<0?j[b+4>>2]:c;if(!c){break a}d=j[b>>2];i=h[a+4327|0];if((i|0)<0){break b}r=(e|0)<0?d:b;o=c>>>0>1?c:1;c=a+4316|0;e=i&255;q=c+e|0;d=0;while(1){i=d+r|0;c:{if(!e){a=c;break c}s=h[i|0];a=c;b=e;while(1){g=b>>>1|0;m=g+a|0;n=(s|0)>h[m|0];a=n?m+1|0:a;b=n?(g^-1)+b|0:g;if(b){continue}break}}f=(a|0)!=(q|0)?(h[i|0]>=h[a|0])+f|0:f;d=d+1|0;if((o|0)!=(d|0)){continue}break}break a}if(j[a+4328>>2]==j[a+4332>>2]){break a}j[l+8>>2]=0;j[l>>2]=0;j[l+4>>2]=0;ia(l,b);c=j[l>>2];b=j[l+4>>2];d:{if((c|0)==(b|0)){c=b;break d}e=b-c|0;d=(e|0)>-1?e:-1;b=c-b|0;d=p((d|0)<1?d:1,((b|0)>(e|0)?b:e)>>>1|0);i=d>>>0>1?d:1;g=j[a+4332>>2];e=j[a+4328>>2];a=g-e|0;if(a){d=a>>1;while(1){a=(n<<1)+c|0;r=k[a|0]|k[a+1|0]<<8;a=e;b=d;while(1){o=b>>>1|0;q=(o<<1)+a|0;s=r>>>0>(k[q|0]|k[q+1|0]<<8)>>>0;a=s?q+2|0:a;b=s?(o^-1)+b|0:o;if(b){continue}break}f=(a|0)!=(g|0)?(r>>>0>=(k[a|0]|k[a+1|0]<<8)>>>0)+f|0:f;n=n+1|0;if((i|0)!=(n|0)){continue}break}break d}b=(e|0)==(g|0);f=0;e:{if(b){break e}f=(k[c|0]|k[c+1|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0}if(d>>>0<2){break d}a=1;d=i-1|0;g=d&1;if((i|0)!=2){d=d&-2;while(1){if(!b){m=f;f=(a<<1)+c|0;f=m+((k[f|0]|k[f+1|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0)|0}if(!b){m=f;f=(a<<1)+c|0;f=m+((k[f+2|0]|k[f+3|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0)|0}a=a+2|0;d=d-2|0;if(d){continue}break}}if(b|!g){break d}a=(a<<1)+c|0;f=((k[a|0]|k[a+1|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0)+f|0}if(!c){break a}j[l+4>>2]=c;T(c);break a}r=(e|0)<0?d:b;o=c>>>0>1?c:1;e=j[a+4316>>2];c=j[a+4320>>2];q=e+c|0;d=0;while(1){i=d+r|0;a=e;if(c){s=h[i|0];b=c;while(1){g=b>>>1|0;m=g+a|0;n=(s|0)>h[m|0];a=n?m+1|0:a;b=n?(g^-1)+b|0:g;if(b){continue}break}}f=(a|0)!=(q|0)?(h[i|0]>=h[a|0])+f|0:f;d=d+1|0;if((o|0)!=(d|0)){continue}break}}M=l+16|0;return f<<16>>16}function Wo(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;n=1;while(1){p=(n<<2)+a|0;f=j[p>>2];a:{if(!f){break a}while(1){l=0;i=f;f=j[f+68>>2];b:{if(!f){break b}g=i+4|0;if(h[i+15|0]>=0){m=k[g|0];d=f;while(1){c=d+4|0;c=h[d+15|0]<=-1?j[c>>2]:c;b=m;c:{if(!b){break c}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break c}while(1){b=k[e+1|0];if(!b){break c}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+68>>2];if(d){continue}break}break b}g=j[g>>2];m=k[g|0];d=f;while(1){c=d+4|0;c=h[d+15|0]<0?j[c>>2]:c;b=m;d:{if(!b){break d}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break d}while(1){b=k[e+1|0];if(!b){break d}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+68>>2];if(d){continue}break}}j[i+72>>2]=0;j[i+76>>2]=l;if(f){c=i+4|0;e=f+4|0;c=h[i+15|0]<=-1?j[c>>2]:c;b=k[c|0];e=h[f+15|0]<=-1?j[e>>2]:e;e:{if(!b|(b|0)!=46&k[e|0]!=(b|0)){break e}while(1){b=k[c+1|0];if(!b){break e}d=k[e+1|0];e=e+1|0;c=c+1|0;if(!((b|0)!=46&(b|0)!=(d|0))){continue}break}}if(b){continue}j[i+72>>2]=f;continue}break}b=j[p>>2];if(!b){break a}while(1){l=j[b+68>>2];if(!l){break a}g=b+4|0;f:{g:{h:{if(h[b+15|0]>=0){m=k[g|0];f=0;b=l;while(1){d=b;c=b+4|0;c=h[b+15|0]<=-1?j[c>>2]:c;b=m;i:{if(!b){break i}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break i}while(1){b=k[e+1|0];if(!b){break i}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+68>>2];if(b){continue}break}break g}g=j[g>>2];m=k[g|0];f=0;b=l;while(1){d=b;c=b+4|0;c=h[b+15|0]<0?j[c>>2]:c;b=m;j:{if(!b){break j}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break j}while(1){b=k[e+1|0];if(!b){break j}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+68>>2];if(b){continue}break}break g}d=f;if(!d){break f}}j[d+76>>2]=0}b=l;if(b){continue}break}}n=n+1|0;if((n|0)!=256){continue}break}}function Df(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,j=0,l=0;c=1;a:{if(!(!a|!b)){f=Ya(a,10);b:{c:{c=ca(a,1756);if(!(!f|c>>>0<=f>>>0?c:0)){c=ca(a,1752);if(!c){break c}}i=a;if(!f){break b}if(c>>>0>f>>>0){break c}i=a;break b}c=ca(a,1813);i=0}d=Ya(b,10);a=ca(b,1756);d:{e:{if(!(!d|a>>>0<=d>>>0?a:0)){a=ca(b,1752);if(!a){break e}}if(!d|a>>>0<=d>>>0){break d}}a=ca(b,1813)}b=(a|0)!=0;e=(c|0)!=0;g=1;f:{if(!a|!c){break f}g:{if(f){if(c>>>0>=f>>>0){e=1;b=1;break f}e=1;b=1;j=!d;if(!(j|a>>>0>>0)){break f}break g}if(d){e=1;b=1;if(a>>>0>=d>>>0){break f}}while(1){if(k[c+3|0]!=k[a+3|0]){break a}b=a+3|0;a=c+3|0;c=0;g=0;while(1){b=b+1|0;h:{i:{f=h[a+1|0];switch(f|0){case 0:case 9:case 10:case 32:break i;default:break h}}g=1}j:{k:{e=h[b|0];switch(e|0){case 0:case 9:case 10:case 32:break k;default:break j}}c=1}a=a+1|0;if((e|0)==(f|0)?!(c|g):0){continue}break}if(!g|!c){break a}c=ca(a,1756);i=a;l:{if(c){break l}c=ca(a,1752);i=a;if(c){break l}c=ca(a,1813);i=0}a=ca(b,1756);m:{n:{if(!(!d^a>>>0>d>>>0?0:a)){a=ca(b,1752);if(!a){break n}}if(!d|a>>>0<=d>>>0){break m}}a=ca(b,1813)}g=0;b=(a|0)!=0;e=(c|0)!=0;if(!a|!c){break f}if(!d){continue}e=1;b=1;if(a>>>0>>0){continue}break}break f}while(1){if(k[c+3|0]!=k[a+3|0]){break a}b=a+3|0;a=c+3|0;c=0;g=0;while(1){b=b+1|0;o:{p:{e=h[a+1|0];switch(e|0){case 0:case 9:case 10:case 32:break p;default:break o}}g=1}q:{r:{l=h[b|0];switch(l|0){case 0:case 9:case 10:case 32:break r;default:break q}}c=1}a=a+1|0;if((e|0)==(l|0)?!(c|g):0){continue}break}if(!g|!c){break a}s:{t:{c=ca(a,1756);if(!(c>>>0<=f>>>0?c:0)){c=ca(a,1752);if(!c){break t}}if(c>>>0>f>>>0){break t}break s}c=ca(a,1813);a=0}i=a;a=ca(b,1756);u:{v:{if(!(a>>>0>d>>>0^j?0:a)){a=ca(b,1752);if(!a){break v}}if(!d|a>>>0<=d>>>0){break u}}a=ca(b,1813)}g=0;b=(a|0)!=0;e=(c|0)!=0;if(!a|!c){break f}e=1;if(c>>>0>=f>>>0){b=1;break f}b=1;if(a>>>0>>0|j){continue}break}}c=b|e|g}return c}return i?-1:1}function Vf(a,b,c,d,e,f,g,i,m,n,o,p,q,r,s){var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;y=M-16|0;M=y;j[c>>2]=a;B=d&512;while(1){if((z|0)==4){if(k[r+11|0]>>>7|0){e=j[r+4>>2]}else{e=k[r+11|0]}if(e>>>0>1){D=y,E=qb(r),j[D+8>>2]=E;D=c,E=dd(le(y+8|0,1),kc(r),j[c>>2]),j[D>>2]=E}d=d&176;if((d|0)!=16){if((d|0)==32){a=j[c>>2]}j[b>>2]=a}M=y+16|0;return}a:{b:{switch(h[m+z|0]){case 0:j[b>>2]=j[c>>2];break a;case 1:j[b>>2]=j[c>>2];u=O[j[j[g>>2]+28>>2]](g,32)|0;t=j[c>>2];j[c>>2]=t+1;h[t|0]=u;break a;case 3:if(k[r+11|0]>>>7|0){t=j[r+4>>2]}else{t=k[r+11|0]}if(!t){break a}if(k[r+11|0]>>>7|0){t=j[r>>2]}else{t=r}u=k[t|0];t=j[c>>2];j[c>>2]=t+1;h[t|0]=u;break a;case 2:t=!B;if(k[q+11|0]>>>7|0){u=j[q+4>>2]}else{u=k[q+11|0]}if(t|!u){break a}D=c,E=dd(qb(q),kc(q),j[c>>2]),j[D>>2]=E;break a;case 4:break b;default:break a}}C=j[c>>2];e=i?e+1|0:e;v=e;while(1){c:{if(f>>>0<=v>>>0){break c}u=h[v|0];if((u|0)>=0){t=(l[j[g+8>>2]+((u&255)<<1)>>1]&2048)!=0}else{t=0}if(!t){break c}v=v+1|0;continue}break}u=s;if((u|0)>=1){while(1){t=(u|0)<1;if(!(t|e>>>0>=v>>>0)){v=v-1|0;t=k[v|0];w=j[c>>2];j[c>>2]=w+1;h[w|0]=t;u=u-1|0;continue}break}if(t){t=0}else{t=O[j[j[g>>2]+28>>2]](g,48)|0}while(1){w=j[c>>2];j[c>>2]=w+1;if((u|0)>=1){h[w|0]=t;u=u-1|0;continue}break}h[w|0]=n}d:{if((e|0)==(v|0)){u=O[j[j[g>>2]+28>>2]](g,48)|0;t=j[c>>2];j[c>>2]=t+1;h[t|0]=u;break d}if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}if(t){if(k[p+11|0]>>>7|0){t=j[p>>2]}else{t=p}t=h[t|0]}else{t=-1}u=0;x=0;while(1){if((e|0)==(v|0)){break d}e:{if((u|0)!=(t|0)){w=u;break e}t=j[c>>2];j[c>>2]=t+1;h[t|0]=o;w=0;if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}x=x+1|0;if(t>>>0<=x>>>0){t=u;break e}if(k[p+11|0]>>>7|0){t=j[p>>2]}else{t=p}if(k[t+x|0]==127){t=-1;break e}if(k[p+11|0]>>>7|0){t=j[p>>2]}else{t=p}t=h[t+x|0]}v=v-1|0;u=k[v|0];A=j[c>>2];j[c>>2]=A+1;h[A|0]=u;u=w+1|0;continue}}pc(C,j[c>>2])}z=z+1|0;continue}}function Tf(a,b,c,d,e,f,g,i,l,m,n,o,p,q,r){var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;x=M-16|0;M=x;j[c>>2]=a;A=d&512;while(1){if((y|0)==4){if(k[q+11|0]>>>7|0){e=j[q+4>>2]}else{e=k[q+11|0]}if(e>>>0>1){C=x,D=qb(q),j[C+8>>2]=D;C=c,D=dd(Xf(x+8|0,1),ic(q),j[c>>2]),j[C>>2]=D}d=d&176;if((d|0)!=16){if((d|0)==32){a=j[c>>2]}j[b>>2]=a}M=x+16|0}else{a:{b:{switch(h[l+y|0]){case 0:j[b>>2]=j[c>>2];break a;case 1:j[b>>2]=j[c>>2];s=O[j[j[g>>2]+44>>2]](g,32)|0;t=j[c>>2];j[c>>2]=t+4;j[t>>2]=s;break a;case 3:if(k[q+11|0]>>>7|0){s=j[q+4>>2]}else{s=k[q+11|0]}if(!s){break a}if(k[q+11|0]>>>7|0){s=j[q>>2]}else{s=q}s=j[s>>2];t=j[c>>2];j[c>>2]=t+4;j[t>>2]=s;break a;case 2:s=!A;if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}if(s|!t){break a}C=c,D=dd(qb(p),ic(p),j[c>>2]),j[C>>2]=D;break a;case 4:break b;default:break a}}B=j[c>>2];e=i?e+4|0:e;u=e;while(1){c:{if(f>>>0<=u>>>0){break c}if(!(O[j[j[g>>2]+12>>2]](g,2048,j[u>>2])|0)){break c}u=u+4|0;continue}break}s=r;if((s|0)>=1){while(1){t=(s|0)<1;if(!(t|e>>>0>=u>>>0)){u=u-4|0;t=j[u>>2];v=j[c>>2];j[c>>2]=v+4;j[v>>2]=t;s=s-1|0;continue}break}if(t){t=0}else{t=O[j[j[g>>2]+44>>2]](g,48)|0}while(1){v=j[c>>2];j[c>>2]=v+4;if((s|0)>=1){j[v>>2]=t;s=s-1|0;continue}break}j[v>>2]=m}d:{if((e|0)==(u|0)){s=O[j[j[g>>2]+44>>2]](g,48)|0;t=j[c>>2];u=t+4|0;j[c>>2]=u;j[t>>2]=s;break d}if(k[o+11|0]>>>7|0){s=j[o+4>>2]}else{s=k[o+11|0]}if(s){if(k[o+11|0]>>>7|0){s=j[o>>2]}else{s=o}t=h[s|0]}else{t=-1}s=0;w=0;while(1){if((e|0)!=(u|0)){e:{if((s|0)!=(t|0)){v=s;break e}t=j[c>>2];j[c>>2]=t+4;j[t>>2]=n;v=0;if(k[o+11|0]>>>7|0){t=j[o+4>>2]}else{t=k[o+11|0]}w=w+1|0;if(t>>>0<=w>>>0){t=s;break e}if(k[o+11|0]>>>7|0){s=j[o>>2]}else{s=o}if(k[s+w|0]==127){t=-1;break e}if(k[o+11|0]>>>7|0){s=j[o>>2]}else{s=o}t=h[s+w|0]}u=u-4|0;s=j[u>>2];z=j[c>>2];j[c>>2]=z+4;j[z>>2]=s;s=v+1|0;continue}break}u=j[c>>2]}kd(B,u)}y=y+1|0;continue}break}}function Zp(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0;g=M-32|0;M=g;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;a:{b:{if(!d){break b}if((d|0)<=-1){break a}l=d<<1;f=U(l);j[g+16>>2]=f;d=d<<1;i=d+f|0;j[g+24>>2]=i;l=V(f,c,l);j[g+20>>2]=i;if(d>>1>>>0<2){break b}if(i>>>0>l>>>0){while(1){d=f+2|0;c:{if(d>>>0>=i>>>0){break c}i=Fr(k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24),16);h[f|0]=i;h[f+1|0]=i>>>8;h[f+2|0]=i>>>16;h[f+3|0]=i>>>24;i=j[g+20>>2];if(i>>>0<=f+4>>>0){break c}i=Fr(k[f+2|0]|k[f+3|0]<<8|(k[f+4|0]<<16|k[f+5|0]<<24),16);h[f+2|0]=i;h[f+3|0]=i>>>8;h[f+4|0]=i>>>16;h[f+5|0]=i>>>24;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]<0){T(j[g>>2])}i=j[g+20>>2];if(i>>>0<=f+6>>>0){break c}i=Fr(k[f+4|0]|k[f+5|0]<<8|(k[f+6|0]<<16|k[f+7|0]<<24),16);h[f+4|0]=i;h[f+5|0]=i>>>8;h[f+6|0]=i>>>16;h[f+7|0]=i>>>24;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}i=j[g+20>>2];if(i>>>0<=f+8>>>0){break c}i=Fr(k[f+6|0]|k[f+7|0]<<8|(k[f+8|0]<<16|k[f+9|0]<<24),16);h[f+6|0]=i;h[f+7|0]=i>>>8;h[f+8|0]=i>>>16;h[f+9|0]=i>>>24;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}i=j[g+20>>2]}l=j[g+16>>2];m=i-l|0;if(m){Ja(l,c,m);i=j[g+20>>2]}f=d;if(i>>>0>f>>>0){continue}break}f=j[g+16>>2]}if(f>>>0>=i>>>0){break b}m=i;while(1){n=2;i=i-2|0;d=i;l=i;d:{if(f>>>0>=i>>>0){break d}while(1){d=d-2|0;f=k[d|0]|k[d+1|0]<<8;o=k[l|0]|k[l+1|0]<<8;h[d|0]=o;h[d+1|0]=o>>>8;h[l|0]=f;h[l+1|0]=f>>>8;e:{if(n>>>0<4){break e}j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]>-1){break e}T(j[g>>2])}f=j[g+16>>2];if(f>>>0>=d>>>0){break d}l=d;n=m-d|0;if((n|0)<10){continue}break}}m=i;d=j[g+20>>2]-f|0;if(d){Ja(f,c,d);f=j[g+16>>2]}if(f>>>0>>0){continue}break}}if(f){j[g+20>>2]=f;T(f)}M=g+32|0;return}X();z()}function iq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;g=M-48|0;M=g;j[g+40>>2]=0;j[g+32>>2]=0;j[g+36>>2]=0;a:{b:{if((W(c)|0)>=2){e=j[a+44>>2];if(e){break b}}break a}c:{o=j[e+4100>>2]+100|0;f=j[o>>2];if((f|0)==j[o+4>>2]){e=0;break c}d:while(1){e=c;while(1){e:{f:{n=e;r=p(q,60);i=r+f|0;e=k[i+11|0];l=e<<24>>24>-1;g:{if(!l){m=j[i>>2];break g}m=i}n=ca(n,m);if(n){m=n-c|0;e=l?e:j[i+4>>2];f=(c|0)==(n|0);f=(W(c)|0)==(e+m|0)?f?3:2:f;if(!f){e=0;break e}if((c|0)==(n|0)){e=i+p(f,12)|0;l=h[e+23|0];h:{if((l|0)>=0){e=l&255;break h}e=j[e+16>>2]}if(e){e=f;break e}e=f-1|0;if(e){break f}e=0;break e}while(1){e=i+p(f,12)|0;l=h[e+23|0];i:{if((l|0)<=-1){e=j[e+16>>2];break i}e=l&255}if(e){e=f;break e}e=0;f=(f|0)==2?0:f-1|0;if(f){continue}break}break e}q=q+1|0;if(q>>>0<(j[o+4>>2]-f|0)/60>>>0){continue d}e=h[g+43|0]<0;break c}l=i+p(e,12)|0;s=h[l+23|0];j:{if((s|0)>=0){l=s&255;break j}l=j[l+16>>2]}if(l){break e}e=0;f=f-2|0;if(!f){break e}e=i+p(f,12)|0;l=h[e+23|0];if((l|0)>=0){e=l&255?f:0;break e}e=j[e+16>>2]?f:0}f=p(e,12);e=f+i|0;i=h[e+23|0];k:{if((i|0)<=-1){e=j[e+16>>2];break k}e=i&255}l:{if(!e){break l}Ka(g+32|0,c);Wa(g+32|0,m);e=f+(r+j[o>>2]|0)|0;f=e+12|0;l=j[f>>2];m=f;f=k[e+23|0];i=f<<24>>24<0;aa(g+32|0,i?l:m,i?j[e+16>>2]:f);f=g+32|0;e=r+j[o>>2]|0;i=h[e+11|0];m:{if((i|0)<=-1){e=j[e+4>>2];break m}e=i&255}$(f,e+n|0);f=0;wa(a,b,g+32|0,d,0,0);e=Ba(g+32|0,32,0);if((e|0)==-1){break l}while(1){n:{if(!cc(a,sa(g+16|0,g+32|0,f,e-f|0),0,0,0)){f=e+1|0;break n}i=j[b>>2];m=j[b+4>>2];f=e+1|0;wa(a,b,sa(g,g+32|0,f,-1),d,0,0);m=(m-i|0)/12|0;e=j[b>>2];i=(j[b+4>>2]-e|0)/12|0;if(m>>>0>>0){ua((e+p(i,12)|0)-12|0,g+32|0)}if(h[g+11|0]>-1){break n}T(j[g>>2])}e=Ba(g+32|0,32,f);if(h[g+27|0]<=-1){T(j[g+16>>2])}if((e|0)!=-1){continue}break}}e=n+1|0;f=j[o>>2];continue}}}if(!e){break a}T(j[g+32>>2])}M=g+48|0}function Jc(a,b,c){var d=0,e=0,f=0,g=0,i=0,k=0,l=0,n=0,o=0;g=M-32|0;M=g;i=j[a>>2];l=(b-i|0)/12|0;a:{b:{e=j[a+4>>2];d=j[a+8>>2];c:{if(e>>>0>>0){if((b|0)==(e|0)){n=a,o=ha(b,c)+12|0,j[n+4>>2]=o;break c}i=e;k=(e-b|0)-12|0;d=p((k|0)/12|0,12)+b|0;if(e>>>0>d>>>0){f=d;while(1){l=j[f+4>>2];j[i>>2]=j[f>>2];j[i+4>>2]=l;j[i+8>>2]=j[f+8>>2];j[f>>2]=0;j[f+4>>2]=0;j[f+8>>2]=0;i=i+12|0;f=f+12|0;if(e>>>0>f>>>0){continue}break}}j[a+4>>2]=i;if(k){while(1){f=e-12|0;d=d-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=j[d+4>>2];j[f>>2]=j[d>>2];j[f+4>>2]=e;j[f+8>>2]=j[d+8>>2];h[d+11|0]=0;h[d|0]=0;e=f;if((b|0)!=(d|0)){continue}break}}e=b;if(b>>>0<=c>>>0){c=m[a+4>>2]>c>>>0?c+12|0:c}ua(e,c);break c}k=((e-i|0)/12|0)+1|0;if(k>>>0>=357913942){break b}j[g+24>>2]=a+8;f=g;i=(d-i|0)/12|0;d=i<<1;d=i>>>0<178956970?d>>>0>>0?k:d:357913941;e=0;d:{if(!d){break d}if(d>>>0>=357913942){break a}e=U(p(d,12))}j[f+8>>2]=e;f=e+p(l,12)|0;j[g+16>>2]=f;j[g+20>>2]=e+p(d,12);j[g+12>>2]=f;Rq(g+8|0,c);c=j[g+12>>2];f=c;e=j[a>>2];if((e|0)!=(b|0)){f=c;d=b;while(1){d=d-12|0;c=j[d+4>>2];f=f-12|0;j[f>>2]=j[d>>2];j[f+4>>2]=c;j[f+8>>2]=j[d+8>>2];j[d>>2]=0;j[d+4>>2]=0;j[d+8>>2]=0;f=j[g+12>>2]-12|0;j[g+12>>2]=f;if((d|0)!=(e|0)){continue}break}}e=j[a+4>>2];e:{if((e|0)==(b|0)){d=j[g+16>>2];break e}d=j[g+16>>2];while(1){c=j[b+4>>2];j[d>>2]=j[b>>2];j[d+4>>2]=c;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;d=j[g+16>>2]+12|0;j[g+16>>2]=d;b=b+12|0;if((e|0)!=(b|0)){continue}break}b=j[a+4>>2];f=j[g+12>>2]}e=j[a>>2];j[a>>2]=f;j[g+12>>2]=e;j[a+4>>2]=d;j[g+16>>2]=b;c=j[a+8>>2];j[a+8>>2]=j[g+20>>2];j[g+8>>2]=e;j[g+20>>2]=c;if((b|0)!=(e|0)){while(1){b=b-12|0;j[g+16>>2]=b;if(h[b+11|0]<=-1){T(j[b>>2]);b=j[g+16>>2]}if((b|0)!=(e|0)){continue}break}b=j[g+8>>2]}if(b){T(b)}}M=g+32|0;return}X();z()}D();z()}function Td(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0;e=M-16|0;M=e;a:{if((Ba(a,10,0)|0)==-1){break a}Ab(e,a,10);b:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break b}h[a+11|0]=0;h[a|0]=0}b=j[e>>2];if((b|0)!=j[e+4>>2]){ua(a,b);o=j[e+4>>2];f=j[e>>2];d=o-f|0;if((d|0)/12>>>0>=2){i=1;while(1){q=p(i,12);g=q+f|0;m=k[g+11|0];c=m<<24>>24;n=(c|0)<0?j[g+4>>2]:m;c:{d:{if((c|0)<=-1){d=0;if(!n){while(1){b=p(d,12)+f|0;c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){break c}d=d+1|0;if((i|0)!=(d|0)){continue}break d}}while(1){c=p(d,12)+f|0;m=k[c+11|0];b=m<<24>>24<0;if(((b?j[c+4>>2]:m)|0)==(n|0)){if(!qa(j[g>>2],b?j[c>>2]:c,n)){break c}}d=d+1|0;if((i|0)!=(d|0)){continue}break}break d}l=0;if(!n){while(1){b=p(l,12)+f|0;c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){break c}l=l+1|0;if((l|0)!=(i|0)){continue}break d}}while(1){c=p(l,12)+f|0;d=k[c+11|0];b=d<<24>>24<0;e:{if(((b?j[c+4>>2]:d)|0)!=(n|0)){break e}d=b?j[c>>2]:c;c=g;b=m;while(1){if(k[c|0]!=k[d|0]){break e}d=d+1|0;c=c+1|0;b=b-1|0;if(b){continue}break}break c}l=l+1|0;if((l|0)!=(i|0)){continue}break}}c=a;b=k[c+11|0];if(b<<24>>24<0?j[c+4>>2]:b){Z(a,10);f=j[e>>2]}b=f+q|0;g=k[b+11|0];f=g<<24>>24<0;aa(c,f?j[b>>2]:b,f?j[b+4>>2]:g);f=j[e>>2];o=j[e+4>>2]}i=i+1|0;d=o-f|0;if(i>>>0<(d|0)/12>>>0){continue}break}}f:{if((d|0)==12){ua(a,f);break f}Ka(a,1817);d=j[e>>2];if((d|0)!=j[e+4>>2]){c=0;while(1){b=p(c,12)+d|0;g=k[b+11|0];f=g<<24>>24<0;aa(a,f?j[b>>2]:b,f?j[b+4>>2]:g);$(a,1821);c=c+1|0;d=j[e>>2];if(c>>>0<(j[e+4>>2]-d|0)/12>>>0){continue}break}}b=k[a+11|0];c=b<<24>>24<0;h[((c?j[a+4>>2]:b)+(c?j[a>>2]:a)|0)-2|0]=41}b=j[e>>2]}if(!b){break a}c=j[e+4>>2];a=b;g:{if((b|0)==(c|0)){break g}while(1){a=c-12|0;if(h[c-1|0]<=-1){T(j[a>>2])}c=a;if((b|0)!=(c|0)){continue}break}a=j[e>>2]}j[e+4>>2]=b;T(a)}M=e+16|0}function Vp(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;d=M-32|0;M=d;j[d+16>>2]=h[b+11|0]<0?j[b>>2]:b;a:{b:{c:{f=ka(b,d+16|0);c=k[b+11|0];g=c<<24>>24<0;if((f|0)!=((g?j[b>>2]:b)+(g?j[b+4>>2]:c)|0)){g=a+4316|0;o=a+4328|0;while(1){d:{e:{f:{switch(n|0){case 1:l=j[d+16>>2];e=l-f|0;if(e>>>0>=4294967280){break a}g:{if(e>>>0<=10){h[d+11|0]=e;c=d;break g}i=e+16&-16;c=U(i);j[d+8>>2]=i|-2147483648;j[d>>2]=c;j[d+4>>2]=e}if((f|0)!=(l|0)){while(1){h[c|0]=k[f|0];c=c+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[c|0]=0;if(h[d+11|0]>=0){p=a,q=ta(d),j[p+4312>>2]=q;break e}c=j[d>>2];p=a,q=ta(c),j[p+4312>>2]=q;T(c);break e;case 0:break e;case 2:break f;default:break d}}if(!j[a+4144>>2]){l=j[d+16>>2];e=l-f|0;i=h[g+11|0];h:{i:{j:{if((i|0)<=-1){c=(j[a+4324>>2]&2147483647)-1|0;if(e>>>0<=c>>>0){break i}i=j[a+4320>>2];break j}c=g;if(e>>>0<=10){break h}c=10;i=i&255}pb(g,c,e-c|0,i,0,i,0);c=g;if(h[c+11|0]>-1){break h}}c=j[g>>2]}if((f|0)!=(l|0)){while(1){h[c|0]=k[f|0];c=c+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[c|0]=0;k:{l:{if(h[g+11|0]>=0){h[g+11|0]=e;if(e<<24>>24>-1){break l}e=j[a+4320>>2];c=j[g>>2];break k}j[a+4320>>2]=e;c=j[g>>2];break k}e=e&255;c=g}be(c,c+e|0,d);break e}l=j[d+16>>2];e=l-f|0;if(e>>>0>=4294967280){break a}m:{if(e>>>0<=10){h[d+11|0]=e;c=d;break m}i=e+16&-16;c=U(i);j[d+8>>2]=i|-2147483648;j[d>>2]=c;j[d+4>>2]=e}if((f|0)!=(l|0)){while(1){h[c|0]=k[f|0];c=c+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[c|0]=0;ia(o,d);xd(j[a+4328>>2],j[a+4332>>2],d+24|0);if(h[d+11|0]>-1){break e}T(j[d>>2])}m=m+1|0}n=n+1|0;f=ka(b,d+16|0);c=k[b+11|0];e=c<<24>>24<0;if((f|0)!=((e?j[b>>2]:b)+(e?j[b+4>>2]:c)|0)){continue}break}f=1;if((m|0)>1){break c}}f=0;break b}if((m|0)!=2){break b}Ka(a+4316|0,1799)}M=d+32|0;return f}X();z()}function Xh(a,b,c,d,e,f,g){var m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=M-32|0;M=m;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;a:{b:{if(h[b+29|0]&1?0:e&1){break b}p=h[b+15|0];n=j[b+8>>2];c:{if((p|0)<=-1){break c}n=p&255}q=d-n|0;if(!j[j[b+64>>2]+4484>>2]|q?(q|0)<=0:0){break b}o=k[b+28|0];d=h[b+27|0];n=j[b+20>>2];d:{if((d|0)<=-1){break d}n=d&255}if(o>>>0>n+q>>>0){break b}n=W(c);if(n>>>0>=4294967280){break a}p=b+16|0;e:{f:{if(n>>>0>=11){d=n+16&-16;o=U(d);j[m+24>>2]=d|-2147483648;j[m+16>>2]=o;j[m+20>>2]=n;break f}h[m+27|0]=n;o=m+16|0;if(!n){break e}}V(o,c,n)}h[n+o|0]=0;Wa(m+16|0,q);d=k[b+27|0];c=d<<24>>24<0;aa(m+16|0,c?j[b+16>>2]:p,c?j[b+20>>2]:d);c=b;n=h[m+27|0]<0?j[m+16>>2]:m+16|0;o=n;d=h[b+27|0];p=j[b+20>>2];g:{if((d|0)<=-1){break g}p=d&255}r=p+q|0;h:{if(!Jd(c,o+r|0,n)){break h}if(f){i:{d=j[b+56>>2];if(!d){break i}o=i[b+60>>1];p=(o<<1)+d|0;s=l[f+30>>1];if(o){while(1){q=o>>>1|0;c=(q<<1)+d|0;n=s>>>0>l[c>>1];d=n?c+2|0:d;o=n?(q^-1)+o|0:q;if(o){continue}break}}if((d|0)==(p|0)|s>>>0>1]){break i}Sc(m,j[b+64>>2],h[m+27|0]<0?j[m+16>>2]:m+16|0,r,0,0,l[b+30>>1],g);d=k[m+11|0];b=d<<24>>24;o=j[m+4>>2];if((b|0)<0?o:d){c=j[f+52>>2];if(c){$(a,c);Z(a,32);o=j[m+4>>2];d=k[m+11|0];b=d}b=b<<24>>24<0;aa(a,b?j[m>>2]:m,b?o:d);bb(a);b=k[m+11|0]}if(b<<24>>24>-1){break h}T(j[m>>2]);break h}Sc(m,j[b+64>>2],h[m+27|0]<0?j[m+16>>2]:m+16|0,r,e,f,l[b+30>>1],g);c=k[m+11|0];b=c<<24>>24;d=(b|0)<0;c=d?j[m+4>>2]:c;if(c){aa(a,d?j[m>>2]:m,c);bb(a);b=k[m+11|0]}if(b<<24>>24>-1){break h}T(j[m>>2]);break h}Sc(m,j[b+64>>2],h[m+27|0]<0?j[m+16>>2]:m+16|0,r,0,0,l[b+30>>1],g);c=k[m+11|0];b=c<<24>>24;d=(b|0)<0;c=d?j[m+4>>2]:c;if(c){aa(a,d?j[m>>2]:m,c);bb(a);b=k[m+11|0]}if(b<<24>>24>-1){break h}T(j[m>>2])}if(h[m+27|0]>-1){break b}T(j[m+16>>2])}M=m+32|0;return}X();z()}function hi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;g=j[a+4>>2];c=g&3;d=g&-8;f=d+a|0;a:{if(!c){c=0;if(b>>>0<256){break a}if(d>>>0>=b+4>>>0){c=a;if(d-b>>>0<=j[37868]<<1>>>0){break a}}return 0}b:{if(b>>>0<=d>>>0){c=d-b|0;if(c>>>0<16){break b}j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=c|3;j[f+4>>2]=j[f+4>>2]|1;_e(b,c);break b}c=0;if(j[37754]==(f|0)){d=d+j[37751]|0;if(d>>>0<=b>>>0){break a}j[a+4>>2]=g&1|b|2;c=a+b|0;b=d-b|0;j[c+4>>2]=b|1;j[37751]=b;j[37754]=c;break b}if(j[37753]==(f|0)){d=d+j[37750]|0;if(d>>>0>>0){break a}c=d-b|0;c:{if(c>>>0>=16){j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=c|1;d=a+d|0;j[d>>2]=c;j[d+4>>2]=j[d+4>>2]&-2;break c}j[a+4>>2]=d|g&1|2;b=a+d|0;j[b+4>>2]=j[b+4>>2]|1;c=0;b=0}j[37753]=b;j[37750]=c;break b}e=j[f+4>>2];if(e&2){break a}h=d+(e&-8)|0;if(h>>>0>>0){break a}k=h-b|0;d:{if(e>>>0<=255){c=j[f+8>>2];e=e>>>3|0;d=j[f+12>>2];if((d|0)==(c|0)){m=150992,n=j[37748]&Fr(-2,e),j[m>>2]=n;break d}j[c+12>>2]=d;j[d+8>>2]=c;break d}i=j[f+24>>2];d=j[f+12>>2];e:{if((f|0)!=(d|0)){c=j[f+8>>2];j[c+12>>2]=d;j[d+8>>2]=c;break e}f:{c=f+20|0;e=j[c>>2];if(e){break f}c=f+16|0;e=j[c>>2];if(e){break f}d=0;break e}while(1){l=c;d=e;c=d+20|0;e=j[c>>2];if(e){continue}c=d+16|0;e=j[d+16>>2];if(e){continue}break}j[l>>2]=0}if(!i){break d}c=j[f+28>>2];e=(c<<2)+151296|0;g:{if(j[e>>2]==(f|0)){j[e>>2]=d;if(d){break g}m=150996,n=j[37749]&Fr(-2,c),j[m>>2]=n;break d}j[i+(j[i+16>>2]==(f|0)?16:20)>>2]=d;if(!d){break d}}j[d+24>>2]=i;c=j[f+16>>2];if(c){j[d+16>>2]=c;j[c+24>>2]=d}c=j[f+20>>2];if(!c){break d}j[d+20>>2]=c;j[c+24>>2]=d}if(k>>>0<=15){j[a+4>>2]=g&1|h|2;b=a+h|0;j[b+4>>2]=j[b+4>>2]|1;break b}j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=k|3;c=a+h|0;j[c+4>>2]=j[c+4>>2]|1;_e(b,k)}c=a}return c}function Hd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;f=M-32|0;M=f;a:{d=j[a>>2];e=(j[a+4>>2]-d|0)/60|0;c=e+1|0;if(c>>>0<71582789){h=j[a+8>>2];j[f+24>>2]=a+8;j[f+20>>2]=0;d=(h-d|0)/60|0;h=d<<1;d=d>>>0<35791394?c>>>0>h>>>0?c:h:71582788;if(d){if(d>>>0>=71582789){break a}g=U(p(d,60))}c=p(e,60)+g|0;j[f+16>>2]=c;j[c+8>>2]=j[b+8>>2];e=j[b+4>>2];j[c>>2]=j[b>>2];j[c+4>>2]=e;j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];e=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=e;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];e=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=e;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+44>>2]=j[b+44>>2];e=j[b+40>>2];j[c+36>>2]=j[b+36>>2];j[c+40>>2]=e;j[b+44>>2]=0;j[b+36>>2]=0;j[b+40>>2]=0;j[c+56>>2]=j[b+56>>2];e=j[b+52>>2];j[c+48>>2]=j[b+48>>2];j[c+52>>2]=e;j[b+48>>2]=0;j[b+52>>2]=0;j[b+56>>2]=0;e=p(d,60)+g|0;h=c+60|0;b=j[a+4>>2];g=j[a>>2];b:{if((b|0)==(g|0)){b=g;break b}while(1){b=b-60|0;d=j[b+4>>2];c=c-60|0;j[c>>2]=j[b>>2];j[c+4>>2]=d;j[c+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];d=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=d;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];d=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=d;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+44>>2]=j[b+44>>2];d=j[b+40>>2];j[c+36>>2]=j[b+36>>2];j[c+40>>2]=d;j[b+44>>2]=0;j[b+36>>2]=0;j[b+40>>2]=0;j[c+56>>2]=j[b+56>>2];d=j[b+52>>2];j[c+48>>2]=j[b+48>>2];j[c+52>>2]=d;j[b+48>>2]=0;j[b+52>>2]=0;j[b+56>>2]=0;if((b|0)!=(g|0)){continue}break}g=j[a+4>>2];b=j[a>>2]}j[a>>2]=c;j[f+12>>2]=b;j[a+4>>2]=h;j[f+16>>2]=g;g=j[a+8>>2];j[a+8>>2]=e;j[f+8>>2]=b;j[f+20>>2]=g;Wh(f+8|0,b);a=j[f+8>>2];if(a){T(a)}M=f+32|0;return}X();z()}D();z()}function Yp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;e=M-16|0;M=e;a:{l=W(c);if(l>>>0<4294967280){b:{c:{if(l>>>0>=11){f=l+16&-16;g=U(f);j[e+8>>2]=f|-2147483648;j[e>>2]=g;j[e+4>>2]=l;p=e;break c}h[e+11|0]=l;p=e;g=e;if(!l){break b}}V(g,c,l)}h[g+l|0]=0;n=h[p+11|0];d:{if((n|0)<=-1){if(m[e+4>>2]<2){break a}l=j[e>>2];break d}l=e;if((n&255)>>>0<2){break a}}while(1){i=l;e:{f:{g:{h:{i:{q=n<<24>>24;j:{if((q|0)<=-1){f=j[e>>2];o=f;g=j[e+4>>2];l=g+f|0;if(i>>>0>=l>>>0){break j}break h}g=n&255;l=g+e|0;if(i>>>0>>0){break i}f=e}o=f+1|0;if((o|0)==(l|0)){break a}break g}o=j[e>>2];f=e}l=i+1|0;if(l>>>0>=f+g>>>0){f=(q|0)<0;break e}f=k[i+1|0];h[i+1|0]=k[i|0];h[i|0]=f;g=k[p+11|0];n=g<<24>>24;f=(n|0)<0;g=f?j[e+4>>2]:g;o=j[e>>2];if(i+2>>>0>=g+(f?o:e)>>>0){break e}f=k[i+2|0];h[i+2|0]=k[i+1|0];h[i+1|0]=f;wa(a,b,e,d,0,0);g=k[p+11|0];n=g<<24>>24;f=(n|0)<0;g=f?j[e+4>>2]:g;o=j[e>>2];if(i+3>>>0>>0){break f}break e}while(1){f=1;i=l-1|0;g=i;q=n<<24>>24<0?j[e>>2]:e;if((q|0)!=(i|0)){while(1){n=k[g|0];r=g;g=g-1|0;h[r|0]=k[g|0];h[g|0]=n;if(f>>>0>=2){wa(a,b,e,d,0,0)}if((g|0)!=(q|0)){f=l-g|0;if((f|0)<5){continue}}break}n=k[p+11|0]}l=n<<24>>24<0;f=l?j[e+4>>2]:n&255;if(f){Ja(l?j[e>>2]:e,c,f)}n=k[p+11|0];l=i;if((i|0)!=(o|0)){continue}break}break a}f=k[i+3|0];h[i+3|0]=k[i+2|0];h[i+2|0]=f;wa(a,b,e,d,0,0);g=k[p+11|0];n=g<<24>>24;f=(n|0)<0;g=f?j[e+4>>2]:g;o=j[e>>2];if(i+4>>>0>=g+(f?o:e)>>>0){break e}f=k[i+4|0];h[i+4|0]=k[i+3|0];h[i+3|0]=f;wa(a,b,e,d,0,0);q=k[p+11|0];n=q<<24>>24;f=(n|0)<0;r=i+5|0;i=j[e+4>>2];g=f?i:q;o=j[e>>2];if(r>>>0>=g+(f?o:e)>>>0){break e}g=(n|0)<0?i:q}if(!g){continue}Ja(f?o:e,c,g);n=k[p+11|0];continue}}X();z()}if(n<<24>>24<=-1){T(j[e>>2])}M=e+16|0}function xp(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=M-32|0;M=e;j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;d=k[c+11|0];f=d<<24>>24;g=k[b+11|0];i=g<<24>>24<0;a:{b:{c:{l=(f|0)<0?j[c+4>>2]:d;g=i?j[b+4>>2]:g;d=l+g|0;if(d>>>0<4294967280){m=j[b>>2];d:{if(d>>>0<=10){h[e+27|0]=g;d=e+16|0;break d}n=d+16&-16;d=U(n);j[e+24>>2]=n|-2147483648;j[e+16>>2]=d;j[e+20>>2]=g}if(g){V(d,i?m:b,g)}h[d+g|0]=0;aa(e+16|0,(f|0)<0?j[c>>2]:c,l);g=a+40|0;d=k[e+27|0];n=d<<24>>24;i=(n|0)<0;l=k[a+51|0];f=l<<24>>24<0;e:{f:{g:{m=i?j[e+20>>2]:d;if((m|0)==((f?j[a+44>>2]:l)|0)){f=f?j[g>>2]:g;l=j[e+16>>2];if(i){break g}if(!m){break b}i=k[f|0]==(l&255);h:{if(!i){break h}l=e+16|0;while(1){d=d-1|0;if(!d){break h}i=k[f+1|0];f=f+1|0;l=l+1|0;i=(i|0)==k[l|0];if(i){continue}break}}if((n|0)>=0){break f}T(j[e+16>>2]);if(i){break b}break e}if(!i){break e}T(j[e+16>>2]);break e}if(m){d=qa(i?l:e+16|0,f,m);T(l);if(!d){break b}break e}T(l);break b}if(i){break b}}j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;d=k[c+11|0];i=d<<24>>24;f=k[b+11|0];l=f<<24>>24<0;m=(i|0)<0?j[c+4>>2]:d;f=l?j[b+4>>2]:f;d=m+f|0;if(d>>>0>=4294967280){break c}n=j[b>>2];i:{if(d>>>0<=10){h[e+27|0]=f;d=e+16|0;break i}o=d+16&-16;d=U(o);j[e+24>>2]=o|-2147483648;j[e+16>>2]=d;j[e+20>>2]=f}if(f){V(d,l?n:b,f)}h[d+f|0]=0;aa(e+16|0,(i|0)<0?j[c>>2]:c,m);if(h[g+11|0]<=-1){T(j[g>>2])}d=j[e+20>>2];j[g>>2]=j[e+16>>2];j[g+4>>2]=d;j[g+8>>2]=j[e+24>>2];j[a+52>>2]=0;d=Hc(a,g);j:{if((d|0)!=(a+4|0)){c=j[d+28>>2];break j}b=h[b+11|0]<0?j[b>>2]:b;d=h[c+11|0]<0?j[c>>2]:c;c=U(64);Wq(c,b,d);ha(e+16|0,g);j[e+28>>2]=c;kp(e+8|0,a,e+16|0);if(h[e+27|0]>-1){break j}T(j[e+16>>2])}j[a+52>>2]=c;break a}X();z()}X();z()}c=j[a+52>>2]}M=e+32|0;return c}function Kq(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0;a:{e=j[a+8>>2];b:{if((e|0)!=j[a+12>>2]){break b}c=j[a+4>>2];d=j[a>>2];if(c>>>0>d>>>0){f=p((((c-d|0)/12|0)+1|0)/-2|0,12);d=f+c|0;if((c|0)!=(e|0)){while(1){if(h[d+11|0]<=-1){T(j[d>>2])}g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];h[c+11|0]=0;h[c|0]=0;d=d+12|0;c=c+12|0;if((e|0)!=(c|0)){continue}break}e=j[a+4>>2]}j[a+8>>2]=d;j[a+4>>2]=e+f;break b}f=e-d|0;f=f?(f|0)/12<<1:1;if(f>>>0>=357913942){break a}g=p(f,12);i=U(g);m=i+g|0;f=p(f>>>2|0,12)+i|0;g=e-c|0;k=(g|0)/12|0;c:{if(!g){g=f;break c}k=p(k,12);l=g-12|0;e=((l>>>0)/12|0)+1&3;d:{if(!e){d=f;break d}d=f;while(1){g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;c=c+12|0;d=d+12|0;e=e-1|0;if(e){continue}break}}g=f+k|0;if(l>>>0>=36){while(1){e=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=e;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[d+20>>2]=j[c+20>>2];e=j[c+16>>2];j[d+12>>2]=j[c+12>>2];j[d+16>>2]=e;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[d+32>>2]=j[c+32>>2];e=j[c+28>>2];j[d+24>>2]=j[c+24>>2];j[d+28>>2]=e;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[d+44>>2]=j[c+44>>2];e=j[c+40>>2];j[d+36>>2]=j[c+36>>2];j[d+40>>2]=e;j[c+44>>2]=0;j[c+36>>2]=0;j[c+40>>2]=0;c=c+48|0;d=d+48|0;if((g|0)!=(d|0)){continue}break}}e=j[a+8>>2];c=j[a+4>>2];d=j[a>>2]}j[a+12>>2]=m;j[a+8>>2]=g;j[a+4>>2]=f;j[a>>2]=i;if((c|0)!=(e|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((f|0)!=(c|0)){continue}break}}if(!d){break b}T(d)}d=j[b+4>>2];f=j[a+8>>2];j[f>>2]=j[b>>2];j[f+4>>2]=d;j[f+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[a+8>>2]=j[a+8>>2]+12;return}D();z()}function Mc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0;i=j[a>>2];m=j[a+4>>2];if((i|0)==(m|0)){return 0}g=j[37199];a=0;c=i;d=c;a:{b:{switch(b-100|0){case 2:if(!g){e=i;while(1){d=k[e|0]|k[e+1|0]<<8;c:{if((d|0)==105){c=d;d=304;break c}if((d|0)!=73){c=d;break c}f=f+1|0;c=305}a=((c|0)==(d|0))+a|0;e=e+2|0;if((m|0)!=(e|0)){continue}break}break a}while(1){e=k[c|0]|k[c+1|0]<<8;d:{e:{if((e|0)==73){f=f+1|0;d=305;break e}d=l[(p(e,6)+g|0)+4>>1];f=((e|0)!=(d|0))+f|0;h=304;if((e|0)==105){break d}}h=l[(p(e,6)+g|0)+2>>1]}e=h;a=((e&65535)==(d|0))+a|0;c=c+2|0;if((m|0)!=(c|0)){continue}break}break a;case 0:while(1){e=a;a=k[c|0]|k[c+1|0]<<8;f:{g:{if((a|0)==73){f=f+1|0;d=305;break g}d=g?l[(p(a,6)+g|0)+4>>1]:a;f=((a|0)!=(d&65535))+f|0;h=304;if((a|0)==105){break f}}h=a;if(!g){break f}h=l[(p(a,6)+g|0)+2>>1]}a=e+((h&65535)==(d&65535))|0;c=c+2|0;if((m|0)!=(c|0)){continue}break}break a;default:break b}}while(1){h=a;h:{i:{j:{a=k[d|0]|k[d+1|0]<<8;k:{if((a|0)!=73){break k}c=b-90|0;if(c>>>0>12){break k}if(1<>1]:a;f=((a|0)!=(c&65535))+f|0;if((a|0)!=105){break i}e=b-90|0;if(e>>>0>12){break i}n=304;if(1<>1]}a=h+((n&65535)==(c&65535))|0;d=d+2|0;if((m|0)!=(d|0)){continue}break}}if(!f){return 0}d=k[i|0]|k[i+1|0]<<8;l:{m:{n:{o:{if((d|0)!=73){break o}c=b-90|0;if(c>>>0>12){break o}b=305;if(1<>1]}c=(b|0)!=(d|0);e=1;if((f|0)!=1){break m}if((b|0)!=(d|0)){break l}}e=2;b=m-i>>1;if((b|0)==(f|0)|(b|0)==(a+f|0)){break l}e=f>>>0>1?c?4:3:3}return e}function Zo(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=M-1056|0;M=i;d=i+1048|0;j[d>>2]=0;j[d+4>>2]=0;d=i+1040|0;j[d>>2]=0;j[d+4>>2]=0;j[i+1032>>2]=0;j[i+1036>>2]=0;j[i+1024>>2]=0;j[i+1028>>2]=0;a:{b:{c:{d:{c=k[b|0];e:{if(!c){l=-1;d=1;break e}while(1){if(!k[a+f|0]){break b}d=c&255;f=f+1|0;j[(d<<2)+i>>2]=f;c=(i+1024|0)+(d>>>3&28)|0;j[c>>2]=j[c>>2]|1<>>0>1){break d}}g=-1;e=1;break c}m=1;c=1;while(1){g=k[(c+l|0)+b|0];h=k[b+d|0];f:{if((g|0)==(h|0)){if((c|0)==(m|0)){e=e+m|0;c=1;break f}c=c+1|0;break f}if(g>>>0>h>>>0){m=d-l|0;e=d;c=1;break f}l=e;e=e+1|0;m=1;c=1}d=c+e|0;if(f>>>0>d>>>0){continue}break}e=1;g=-1;if(f>>>0<=1){d=m;break c}d=0;h=1;c=1;while(1){o=k[(c+g|0)+b|0];n=k[b+e|0];g:{if((o|0)==(n|0)){if((c|0)==(h|0)){d=d+h|0;c=1;break g}c=c+1|0;break g}if(n>>>0>o>>>0){h=e-g|0;d=e;c=1;break g}g=d;d=d+1|0;h=1;c=1}e=d+c|0;if(f>>>0>e>>>0){continue}break}d=m;e=h}c=d;d=g+1>>>0>l+1>>>0;h=d?e:c;n=d?g:l;o=n+1|0;h:{if(qa(b,h+b|0,o)){d=(n^-1)+f|0;h=(d>>>0>>0?n:d)+1|0;p=f-h|0;m=0;break h}p=f-h|0;m=p}r=f-1|0;q=f|63;g=0;d=a;while(1){i:{if(a-d>>>0>=f>>>0){break i}c=Aa(a,0,q);if(c){a=c;if(c-d>>>0>>0){break b}break i}a=a+q|0}e=k[d+r|0];c=f;j:{k:{if(!(j[(i+1024|0)+(e>>>3&28)>>2]>>>e&1)){break k}c=f-j[(e<<2)+i>>2]|0;if(c){c=m?g?c>>>0>>0?p:c:c:c;break k}l:{c=o;e=c>>>0>g>>>0?c:g;l=k[e+b|0];if(l){while(1){if(k[d+e|0]!=(l&255)){break l}e=e+1|0;l=k[e+b|0];if(l){continue}break}}while(1){if(c>>>0<=g>>>0){break a}c=c-1|0;if(k[c+b|0]==k[d+c|0]){continue}break}c=h;g=m;break j}c=e-n|0}g=0}d=d+c|0;continue}}d=0}M=i+1056|0;return d}function rg(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=M-16|0;M=m;n=rb(g);r=Bc(g);g=r;O[j[j[g>>2]+20>>2]](m,g);j[f>>2]=d;a:{b:{i=a;g=k[i|0];switch(g-43|0){case 0:case 2:break b;default:break a}}g=O[j[j[n>>2]+44>>2]](n,g<<24>>24)|0;i=j[f>>2];j[f>>2]=i+4;j[i>>2]=g;i=a+1|0}c:{g=i;if(!((c-g|0)<=1|k[g|0]!=48|(k[g+1|0]|32)!=120)){g=O[j[j[n>>2]+44>>2]](n,48)|0;l=j[f>>2];j[f>>2]=l+4;j[l>>2]=g;g=O[j[j[n>>2]+44>>2]](n,h[i+1|0])|0;l=j[f>>2];j[f>>2]=l+4;j[l>>2]=g;i=i+2|0;g=i;while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(!(l-48>>>0<10|(l|32)-97>>>0<6)){break c}g=g+1|0;continue}}while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(l-48>>>0>=10){break c}g=g+1|0;continue}}if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}d:{if(!o){O[j[j[n>>2]+48>>2]](n,i,g,j[f>>2])|0;j[f>>2]=j[f>>2]+(g-i<<2);break d}pc(i,g);t=O[j[j[r>>2]+16>>2]](r)|0;l=i;while(1){if(g>>>0<=l>>>0){kd((i-a<<2)+d|0,j[f>>2])}else{if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}s=h[o+p|0]!=(q|0);if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}if(!(s|h[o+p|0]<1)){q=j[f>>2];j[f>>2]=q+4;j[q>>2]=t;if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}p=(o-1>>>0>p>>>0)+p|0;q=0}o=O[j[j[n>>2]+44>>2]](n,h[l|0])|0;s=j[f>>2];j[f>>2]=s+4;j[s>>2]=o;l=l+1|0;q=q+1|0;continue}break}}e:{f:{while(1){if(c>>>0<=g>>>0){break f}i=k[g|0];if((i|0)!=46){i=O[j[j[n>>2]+44>>2]](n,i<<24>>24)|0;p=j[f>>2];j[f>>2]=p+4;j[p>>2]=i;g=g+1|0;continue}break}i=O[j[j[r>>2]+12>>2]](r)|0;p=j[f>>2];l=p+4|0;j[f>>2]=l;j[p>>2]=i;g=g+1|0;break e}l=j[f>>2]}O[j[j[n>>2]+48>>2]](n,g,c,l)|0;i=f;f=j[f>>2]+(c-g<<2)|0;j[i>>2]=f;j[e>>2]=(b|0)==(c|0)?f:(b-a<<2)+d|0;Y(m);M=m+16|0}function Aq(a,b,c){j[a+4096>>2]=c;c=j[j[c>>2]>>2];j[a+4104>>2]=0;j[a+4108>>2]=0;j[a+4100>>2]=c;c=a+4112|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4120|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4128|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4136|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4144|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4152|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4158|0;i[c>>1]=0;i[c+2>>1]=0;i[c+4>>1]=0;i[c+6>>1]=0;j[a+4168>>2]=0;j[a+4172>>2]=0;c=a+4176|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4184|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4204>>2]=0;j[a+4208>>2]=0;h[a+4212|0]=0;j[a+4216>>2]=0;j[a+4220>>2]=0;c=a+4221|0;h[c|0]=0;h[c+1|0]=0;h[c+2|0]=0;h[c+3|0]=0;h[c+4|0]=0;h[c+5|0]=0;h[c+6|0]=0;h[c+7|0]=0;c=a+4237|0;h[c|0]=0;h[c+1|0]=0;h[c+2|0]=0;h[c+3|0]=0;h[c+4|0]=0;h[c+5|0]=0;h[c+6|0]=0;h[c+7|0]=0;j[a+4232>>2]=0;j[a+4236>>2]=0;h[a+4264|0]=0;c=a+4256|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4248>>2]=0;j[a+4252>>2]=0;j[a+4268>>2]=0;j[a+4272>>2]=0;c=a+4276|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4316>>2]=0;j[a+4320>>2]=0;c=a+4324|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4332|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4340|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4348>>2]=0;ya(a+4384|0,0,72);j[a+4192>>2]=65510;j[a+4196>>2]=0;j[a+4488>>2]=0;j[a+4380>>2]=0;j[a+4360>>2]=0;j[a+4352>>2]=0;j[a+4356>>2]=0;j[a+4308>>2]=-1;j[a+4312>>2]=0;j[a+4200>>2]=-1;i[a+4464>>1]=0;j[a+4456>>2]=0;j[a+4460>>2]=0;j[a+4292>>2]=-1;j[a+4296>>2]=0;j[a+4284>>2]=-1;j[a+4288>>2]=-1;j[a+4300>>2]=0;j[a+4304>>2]=0;j[a+4480>>2]=0;j[a+4484>>2]=0;j[a+4372>>2]=0;j[a+4376>>2]=0;ya(a+4492|0,0,65536);c=ya(a,0,4096);a=c+4474|0;i[a>>1]=0;i[a+2>>1]=0;a=c;i[a+4466>>1]=0;i[a+4468>>1]=0;i[a+4470>>1]=0;i[a+4472>>1]=0;rq(a,b);if(j[a+4200>>2]==-1){j[c+4200>>2]=3}return c}function ol(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a=M-1072|0;M=a;j[a+16>>2]=f;j[a+20>>2]=g;j[a+24>>2]=h;j[a+28>>2]=i;j[a+956>>2]=a+960;l=oh(a+960|0,a+16|0);j[a+544>>2]=77;n=Da(a+536|0,0,a+544|0);j[a+544>>2]=77;m=Da(a+528|0,0,a+544|0);q=a+544|0;a:{if(l>>>0>=100){p=ra();j[a>>2]=f;j[a+4>>2]=g;j[a+8>>2]=h;j[a+12>>2]=i;l=Sb(a+956|0,p,127871,a);f=j[a+956>>2];if(!f){break a}g=j[n>>2];j[n>>2]=f;if(g){O[j[n+4>>2]](g)}f=ja(l<<2);g=j[m>>2];j[m>>2]=f;if(g){O[j[m+4>>2]](g)}if(j[m>>2]!=0^1){break a}q=j[m>>2]}f=j[d+28>>2];j[a+520>>2]=f;j[f+4>>2]=j[f+4>>2]+1;h=rb(a+520|0);g=h;f=j[a+956>>2];O[j[j[g>>2]+48>>2]](g,f,f+l|0,q)|0;r=l?k[j[a+956>>2]]==45:r;p=ga(a+488|0);o=ga(a+472|0);g=ga(a+456|0);Uf(c,r,a+520|0,a+512|0,a+508|0,a+504|0,p,o,g,a+452|0);j[a+48>>2]=77;i=Da(a+40|0,0,a+48|0);c=j[a+452>>2];b:{if((c|0)<(l|0)){if(k[g+11|0]>>>7|0){f=j[g+4>>2]}else{f=k[g+11|0]}f=f+(l-c<<1|1)|0;break b}if(k[g+11|0]>>>7|0){c=j[g+4>>2]}else{c=k[g+11|0]}f=c+2|0}c=a+48|0;t=j[a+452>>2];if(k[o+11|0]>>>7|0){s=j[o+4>>2]}else{s=k[o+11|0]}f=t+(s+f|0)|0;if(f>>>0>=101){c=ja(f<<2);f=j[i>>2];j[i>>2]=c;if(f){O[j[i+4>>2]](f)}c=j[i>>2];if(!c){break a}}Tf(c,a+36|0,a+32|0,j[d+4>>2],q,(l<<2)+q|0,h,r,a+512|0,j[a+508>>2],j[a+504>>2],p,o,g,j[a+452>>2]);b=_b(b,c,j[a+36>>2],j[a+32>>2],d,e);c=j[i>>2];j[i>>2]=0;if(c){O[j[i+4>>2]](c)}Y(g);Y(o);Y(p);d=j[a+520>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}c=j[m>>2];j[m>>2]=0;if(c){O[j[m+4>>2]](c)}c=j[n>>2];j[n>>2]=0;if(c){O[j[n+4>>2]](c)}M=a+1072|0;return b|0}Fa();z()}function Th(a,b,c,d,e,f){var g=0,h=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=d?l[d+30>>1]:s;p=j[b+12>>2];if(p){u=c&1;while(1){k=j[p+4>>2];q=l[p+2>>1];m=q<<16>>16;r=k+(m<<1)|0;b=k;if(q){n=l[a+30>>1];c=m;while(1){g=c>>>1|0;o=(g<<1)+b|0;h=n>>>0>l[o>>1];b=h?o+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}a:{if(!(l[a+30>>1]>=l[b>>1]?(b|0)!=(r|0):0)){if(!d){break a}b=j[d+56>>2];if(!b){break a}c=i[d+60>>1];n=(c<<1)+b|0;if(c){o=l[a+30>>1];while(1){g=c>>>1|0;t=(g<<1)+b|0;h=o>>>0>l[t>>1];b=h?t+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if((b|0)==(n|0)|l[a+30>>1]>1]){break a}}b:{if(!u){break b}b=k;c=m;if(q){while(1){g=c>>>1|0;n=(g<<1)+b|0;h=l[n>>1]>>0;b=h?n+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if(l[b>>1]<=s>>>0?(b|0)!=(r|0):0){break b}b=j[a+56>>2];if(!b){break a}c=i[a+60>>1];n=(c<<1)+b|0;if(c){while(1){g=c>>>1|0;o=(g<<1)+b|0;h=l[o>>1]>>0;b=h?o+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if((b|0)==(n|0)|l[b>>1]>s>>>0){break a}}if(e){b=j[a+56>>2];if(!b){break a}c=i[a+60>>1];n=(c<<1)+b|0;if(c){while(1){g=c>>>1|0;o=(g<<1)+b|0;h=l[o>>1]>>0;b=h?o+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if((b|0)==(n|0)|l[b>>1]>e>>>0){break a}}if(!f){return p}if(q){while(1){b=m>>>1|0;q=(b<<1)+k|0;c=l[q>>1]>>0;k=c?q+2|0:k;m=c?(b^-1)+m|0:b;if(m){continue}break}}if(!((k|0)==(r|0)|l[k>>1]>f>>>0)){return p}b=j[a+56>>2];if(!b){break a}c=i[a+60>>1];q=(c<<1)+b|0;if(c){while(1){k=c>>>1|0;r=(k<<1)+b|0;m=l[r>>1]>>0;b=m?r+2|0:b;c=m?(k^-1)+c|0:k;if(c){continue}break}}if((b|0)==(q|0)|l[b>>1]>f>>>0){break a}return p}p=j[p+12>>2];if(p){continue}break}}return 0}function dq(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=M-48|0;M=f;j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;a:{if(!d){break a}b:{if((d|0)>-1){n=d<<1;g=U(n);j[f+16>>2]=g;o=(d<<1)+g|0;j[f+24>>2]=o;V(g,c,n);j[f+20>>2]=o;while(1){o=q<<1;c=o+g|0;n=k[c|0]|k[c+1|0]<<8;i[f+12>>1]=n;i[f+10>>1]=n;zr(f+14|0,f+10|0);c=o+j[f+16>>2]|0;g=l[f+14>>1];h[c|0]=g;h[c+1|0]=g>>>8;r=n&255;c=o+j[f+16>>2]|0;c=k[c|0]|k[c+1|0]<<8;s=n>>>8|0;if(!((s|0)==(c>>>8|0)?(r|0)==(c&255):0)){da(f+32|0,f+16|0);wa(a,b,f+32|0,e,0,0);c=o+j[f+16>>2]|0;h[c|0]=n;h[c+1|0]=n>>>8}if(j[a>>2]){c=j[a+4>>2];c:{if(!c){g=0;break c}m=j[a+8>>2];g=0;while(1){p=m+(g<<1)|0;p=k[p|0]|k[p+1|0]<<8;if((p>>>8|0)==(s|0)?(p&255)==(r|0):0){break c}g=g+1|0;if(g>>>0>>0){continue}break}}d:{if(c>>>0<=g>>>0){break d}while(1){e:{if(!g){break e}m=(j[a+8>>2]+(g<<1)|0)-2|0;m=k[m|0]|k[m+1|0]<<8;if((m&65280)==31744?!(m&255):0){break e}c=o+j[f+16>>2]|0;h[c|0]=m;h[c+1|0]=m>>>8;da(f+32|0,f+16|0);wa(a,b,f+32|0,e,0,0);c=j[a+4>>2]}m=g+1|0;f:{if(m>>>0>=c>>>0){break f}m=j[a+8>>2]+(m<<1)|0;m=k[m|0]|k[m+1|0]<<8;if((m&65280)==31744?!(m&255):0){break f}c=o+j[f+16>>2]|0;h[c|0]=m;h[c+1|0]=m>>>8;da(f+32|0,f+16|0);wa(a,b,f+32|0,e,0,0);c=j[a+4>>2]}while(1){g=g+1|0;if(g>>>0>=c>>>0){break d}m=j[a+8>>2]+(g<<1)|0;m=k[m|0]|k[m+1|0]<<8;if((m&255)!=(r|0)|(m>>>8|0)!=(s|0)){continue}break}if(c>>>0>g>>>0){continue}break}}c=o+j[f+16>>2]|0;h[c|0]=n;h[c+1|0]=n>>>8}g=j[f+16>>2];q=q+1|0;if((q|0)!=(d|0)){continue}break}break b}X();z()}if(!g){break a}j[f+20>>2]=g;T(g)}if(h[f+43|0]<=-1){T(j[f+32>>2])}M=f+48|0}function tg(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=M-16|0;M=m;n=sb(g);r=Dc(g);g=r;O[j[j[g>>2]+20>>2]](m,g);j[f>>2]=d;a:{b:{i=a;g=k[i|0];switch(g-43|0){case 0:case 2:break b;default:break a}}g=O[j[j[n>>2]+28>>2]](n,g<<24>>24)|0;i=j[f>>2];j[f>>2]=i+1;h[i|0]=g;i=a+1|0}c:{g=i;if(!((c-g|0)<=1|k[g|0]!=48|(k[g+1|0]|32)!=120)){g=O[j[j[n>>2]+28>>2]](n,48)|0;l=j[f>>2];j[f>>2]=l+1;h[l|0]=g;g=O[j[j[n>>2]+28>>2]](n,h[i+1|0])|0;l=j[f>>2];j[f>>2]=l+1;h[l|0]=g;i=i+2|0;g=i;while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(!(l-48>>>0<10|(l|32)-97>>>0<6)){break c}g=g+1|0;continue}}while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(l-48>>>0>=10){break c}g=g+1|0;continue}}if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}d:{if(!o){O[j[j[n>>2]+32>>2]](n,i,g,j[f>>2])|0;j[f>>2]=j[f>>2]+(g-i|0);break d}pc(i,g);t=O[j[j[r>>2]+16>>2]](r)|0;l=i;while(1){if(g>>>0<=l>>>0){pc((i-a|0)+d|0,j[f>>2])}else{if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}s=h[o+p|0]!=(q|0);if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}if(!(s|h[o+p|0]<1)){q=j[f>>2];j[f>>2]=q+1;h[q|0]=t;if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}p=(o-1>>>0>p>>>0)+p|0;q=0}o=O[j[j[n>>2]+28>>2]](n,h[l|0])|0;s=j[f>>2];j[f>>2]=s+1;h[s|0]=o;l=l+1|0;q=q+1|0;continue}break}}while(1){e:{i=n;if(c>>>0>g>>>0){p=k[g|0];if((p|0)!=46){break e}p=O[j[j[r>>2]+12>>2]](r)|0;l=j[f>>2];j[f>>2]=l+1;h[l|0]=p;g=g+1|0}O[j[j[n>>2]+32>>2]](i,g,c,j[f>>2])|0;i=f;f=j[f>>2]+(c-g|0)|0;j[i>>2]=f;j[e>>2]=(b|0)==(c|0)?f:(b-a|0)+d|0;Y(m);M=m+16|0;return}i=O[j[j[n>>2]+28>>2]](n,p<<24>>24)|0;p=j[f>>2];j[f>>2]=p+1;h[p|0]=i;g=g+1|0;continue}}function rl(a,b,c,d,e,f,g,i,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a=M-464|0;M=a;j[a+16>>2]=f;j[a+20>>2]=g;j[a+24>>2]=i;j[a+28>>2]=l;j[a+348>>2]=a+352;m=oh(a+352|0,a+16|0);j[a+240>>2]=77;o=Da(a+232|0,0,a+240|0);j[a+240>>2]=77;n=Da(a+224|0,0,a+240|0);r=a+240|0;a:{if(m>>>0>=100){q=ra();j[a>>2]=f;j[a+4>>2]=g;j[a+8>>2]=i;j[a+12>>2]=l;m=Sb(a+348|0,q,127871,a);f=j[a+348>>2];if(!f){break a}g=j[o>>2];j[o>>2]=f;if(g){O[j[o+4>>2]](g)}f=ja(m);g=j[n>>2];j[n>>2]=f;if(g){O[j[n+4>>2]](g)}if(j[n>>2]!=0^1){break a}r=j[n>>2]}f=j[d+28>>2];j[a+216>>2]=f;j[f+4>>2]=j[f+4>>2]+1;i=sb(a+216|0);g=i;f=j[a+348>>2];O[j[j[g>>2]+32>>2]](g,f,f+m|0,r)|0;s=m?k[j[a+348>>2]]==45:s;q=ga(a+192|0);p=ga(a+176|0);g=ga(a+160|0);Wf(c,s,a+216|0,a+208|0,a+207|0,a+206|0,q,p,g,a+156|0);j[a+48>>2]=77;l=Da(a+40|0,0,a+48|0);c=j[a+156>>2];b:{if((c|0)<(m|0)){if(k[g+11|0]>>>7|0){f=j[g+4>>2]}else{f=k[g+11|0]}f=f+(m-c<<1|1)|0;break b}if(k[g+11|0]>>>7|0){c=j[g+4>>2]}else{c=k[g+11|0]}f=c+2|0}c=a+48|0;u=j[a+156>>2];if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}f=u+(t+f|0)|0;if(f>>>0>=101){c=ja(f);f=j[l>>2];j[l>>2]=c;if(f){O[j[l+4>>2]](f)}c=j[l>>2];if(!c){break a}}Vf(c,a+36|0,a+32|0,j[d+4>>2],r,m+r|0,i,s,a+208|0,h[a+207|0],h[a+206|0],q,p,g,j[a+156>>2]);b=$b(b,c,j[a+36>>2],j[a+32>>2],d,e);c=j[l>>2];j[l>>2]=0;if(c){O[j[l+4>>2]](c)}Y(g);Y(p);Y(q);d=j[a+216>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}c=j[n>>2];j[n>>2]=0;if(c){O[j[n+4>>2]](c)}c=j[o>>2];j[o>>2]=0;if(c){O[j[o+4>>2]](c)}M=a+464|0;return b|0}Fa();z()}function Rq(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0;a:{e=j[a+8>>2];b:{if((e|0)!=j[a+12>>2]){break b}c=j[a+4>>2];d=j[a>>2];if(c>>>0>d>>>0){f=p((((c-d|0)/12|0)+1|0)/-2|0,12);d=f+c|0;if((c|0)!=(e|0)){while(1){if(h[d+11|0]<=-1){T(j[d>>2])}g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];h[c+11|0]=0;h[c|0]=0;d=d+12|0;c=c+12|0;if((e|0)!=(c|0)){continue}break}e=j[a+4>>2]}j[a+8>>2]=d;j[a+4>>2]=e+f;break b}f=e-d|0;f=f?(f|0)/12<<1:1;if(f>>>0>=357913942){break a}g=p(f,12);i=U(g);m=i+g|0;f=p(f>>>2|0,12)+i|0;g=e-c|0;k=(g|0)/12|0;c:{if(!g){g=f;break c}k=p(k,12);l=g-12|0;e=((l>>>0)/12|0)+1&3;d:{if(!e){d=f;break d}d=f;while(1){g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;c=c+12|0;d=d+12|0;e=e-1|0;if(e){continue}break}}g=f+k|0;if(l>>>0>=36){while(1){e=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=e;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[d+20>>2]=j[c+20>>2];e=j[c+16>>2];j[d+12>>2]=j[c+12>>2];j[d+16>>2]=e;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[d+32>>2]=j[c+32>>2];e=j[c+28>>2];j[d+24>>2]=j[c+24>>2];j[d+28>>2]=e;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[d+44>>2]=j[c+44>>2];e=j[c+40>>2];j[d+36>>2]=j[c+36>>2];j[d+40>>2]=e;j[c+44>>2]=0;j[c+36>>2]=0;j[c+40>>2]=0;c=c+48|0;d=d+48|0;if((g|0)!=(d|0)){continue}break}}e=j[a+8>>2];c=j[a+4>>2];d=j[a>>2]}j[a+12>>2]=m;j[a+8>>2]=g;j[a+4>>2]=f;j[a>>2]=i;if((c|0)!=(e|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((e|0)!=(c|0)){continue}break}}if(!d){break b}T(d)}ha(j[a+8>>2],b);j[a+8>>2]=j[a+8>>2]+12;return}D();z()}function fp(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;d=M-160|0;M=d;a:{b:{e=j[b+4>>2];f=j[c+4>>2];if((e|0)==(f|0)){break b}i=j[a+20>>2];g=j[c>>2];h=j[b>>2];if(i>>>0>=(p(g-h>>2,341)+((f-j[g>>2]|0)/12|0)|0)+((e-j[h>>2]|0)/-12|0)>>>0){break b}f=j[b>>2];g=j[b+4>>2];c:{if(!i){break c}b=f;e=i+((g-j[b>>2]|0)/12|0)|0;if((e|0)>=1){i=(e>>>0)/341|0;h=b+(i<<2)|0;e=j[h>>2]+p(e-p(i,341)|0,12)|0;break c}e=340-e|0;h=b+((e|0)/-341<<2)|0;e=j[h>>2]+p(340-((e|0)%341|0)|0,12)|0}j[d+148>>2]=e;j[d+144>>2]=h;j[d+152>>2]=f;j[d+156>>2]=g;b=j[a+4>>2];g=j[a+16>>2];i=(g>>>0)/341|0;f=b+(i<<2)|0;j[d+140>>2]=(b|0)!=j[a+8>>2]?j[f>>2]+p(g-p(i,341)|0,12)|0:0;j[d+136>>2]=f;b=j[d+156>>2];j[d+72>>2]=j[d+152>>2];j[d+76>>2]=b;b=j[d+148>>2];j[d+64>>2]=j[d+144>>2];j[d+68>>2]=b;b=j[d+140>>2];j[d+56>>2]=j[d+136>>2];j[d+60>>2]=b;yh(d+128|0,d+72|0,d- -64|0,d+56|0);j[d+124>>2]=e;j[d+120>>2]=h;b=j[c+4>>2];c=j[c>>2];j[d+112>>2]=c;j[d+116>>2]=b;f=j[d+124>>2];j[d+48>>2]=j[d+120>>2];j[d+52>>2]=f;j[d+40>>2]=c;j[d+44>>2]=b;ep(a,d+48|0,d+40|0);break a}f=j[b+4>>2];j[d+96>>2]=j[b>>2];j[d+100>>2]=f;b=j[c+4>>2];j[d+88>>2]=j[c>>2];j[d+92>>2]=b;h=j[a+4>>2];g=j[a+16>>2];e=(g>>>0)/341|0;c=h+(e<<2)|0;b=d;if((h|0)==j[a+8>>2]){f=0}else{f=j[c>>2]+p(g-p(e,341)|0,12)|0}j[b+84>>2]=f;j[d+80>>2]=c;b=j[d+100>>2];j[d+32>>2]=j[d+96>>2];j[d+36>>2]=b;b=j[d+92>>2];j[d+24>>2]=j[d+88>>2];j[d+28>>2]=b;b=j[d+84>>2];j[d+16>>2]=j[d+80>>2];j[d+20>>2]=b;yh(d+128|0,d+32|0,d+24|0,d+16|0);b=j[d+132>>2];c=j[d+128>>2];j[d+104>>2]=c;j[d+108>>2]=b;j[d+8>>2]=c;j[d+12>>2]=b;dp(a,d+8|0)}M=d+160|0}function Yc(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;f=M-16|0;M=f;a:{if(h[c+11|0]<=-1){h[j[c>>2]]=0;j[c+4>>2]=0;break a}h[c+11|0]=0;h[c|0]=0}i=k[b+11|0];d=i<<24>>24<0;q=d?j[b+4>>2]:i;if(q){r=d?j[b>>2]:b;while(1){o=m+r|0;b:{c:{b=j[a+8>>2];d:{if((b|0)<=0){i=-1;break d}i=-1;b=b-1|0;n=j[a>>2];g=0;while(1){e=b+g>>>1|0;d=j[n+(e<<2)>>2];l=h[d+11|0];e:{if((l|0)<=-1){l=j[d+4>>2];d=j[d>>2];break e}l=l&255}l=Eb(o,d,l);d=(l|0)<0;i=d?i:l?i:e;b=d?e-1|0:b;g=d?g:e+1|0;if((b|0)>=(g|0)){continue}break}if((i|0)>-1){break c}}d=0;j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;b=0;break b}d=W(o);e=m?2:3;l=!m;g=j[n+(i<<2)>>2];b=h[g+11|0];f:{if((b|0)<=-1){b=j[g+4>>2];break f}b=b&255}b=(b|0)==(d|0)?e:l;g:{if(!b){d=0;break g}h:{if(!m){d=g+p(b,12)|0;e=h[d+23|0];i:{if((e|0)>=0){d=e&255;break i}d=j[d+16>>2]}if(d){d=b;break g}d=b-1|0;if(d){break h}d=0;break g}while(1){d=g+p(b,12)|0;e=h[d+23|0];j:{if((e|0)<=-1){d=j[d+16>>2];break j}d=e&255}if(d){d=b;break g}d=0;b=(b|0)==2?0:b-1|0;if(b){continue}break}break g}e=g+p(d,12)|0;n=h[e+23|0];k:{if((n|0)>=0){e=n&255;break k}e=j[e+16>>2]}if(e){break g}d=0;b=b-2|0;if(!b){break g}d=g+p(b,12)|0;e=h[d+23|0];if((e|0)>=0){d=e&255?b:0;break g}d=j[d+16>>2]?b:0}ha(f,(g+p(d,12)|0)+12|0);d=j[f+4>>2];b=k[f+11|0]}e=b&255;b=b<<24>>24<0;d=b?d:e;l:{if(d){aa(c,b?j[f>>2]:f,d);b=j[j[a>>2]+(i<<2)>>2];d=h[b+11|0];m:{if((d|0)<=-1){b=j[b+4>>2];break m}b=d&255}m=(b+m|0)-1|0;s=1;break l}Z(c,h[o|0])}if(h[f+11|0]<=-1){T(j[f>>2])}m=m+1|0;if(q>>>0>m>>>0){continue}break}}M=f+16|0;return s}function Ke(a,b,c,d,e,f,g,i,l){var m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;a:{u=b+d|0;if(k[u|0]){n=j[g+4>>2];q=j[g>>2];if((n|0)!=(q|0)){while(1){s=0;t=p(v,12);m=t+q|0;r=j[m+4>>2];o=j[m>>2];if((r|0)!=(o|0)){while(1){m=p(s,12)+o|0;n=h[m+11|0];b:{if((n|0)<=-1){n=j[m+4>>2];m=j[m>>2];break b}n=n&255}c:{if(Eb(m,u,n)){break c}x=1;if((o|0)==(r|0)){break c}m=k[c+11|0];r=m<<24>>24<0?j[c+4>>2]:m;n=d+n|0;o=0;while(1){d:{Wa(c,r);m=j[t+j[g>>2]>>2]+p(o,12)|0;w=k[m+11|0];q=w<<24>>24<0;aa(c,q?j[m>>2]:m,q?j[m+4>>2]:w);Ke(a,b,c,n,e,f,g,i,l);if(!j[i>>2]){break d}o=o+1|0;q=j[g>>2];m=t+q|0;if(o>>>0<(j[m+4>>2]-j[m>>2]|0)/12>>>0){continue}break c}break}break a}s=s+1|0;m=q+t|0;r=j[m+4>>2];o=j[m>>2];if(s>>>0<(r-o|0)/12>>>0){continue}break}n=j[g+4>>2]}v=v+1|0;if(v>>>0<(n-q|0)/12>>>0){continue}break}if(x){break a}}Z(c,h[u|0]);Ke(a,b,c,d+1|0,e,f,g,i,l);break a}b=j[e+4>>2];n=j[e>>2];if((b|0)!=(n|0)){b=(b-n|0)/12|0;s=b>>>0>1?b:1;d=k[c+11|0];g=d<<24>>24<0;b=g?j[c>>2]:c;d=g?j[c+4>>2]:d;while(1){g=n+p(q,12)|0;o=k[g+11|0];m=o<<24>>24<0;e:{if((d|0)!=((m?j[g+4>>2]:o)|0)){break e}r=j[g>>2];if(!m){if(!d){break a}m=b;if(k[m|0]!=(r&255)){break e}while(1){o=o-1|0;if(!o){break a}r=k[m+1|0];m=m+1|0;g=g+1|0;if((r|0)==k[g|0]){continue}break}break e}if(!d){break a}if(!qa(m?r:g,b,d)){break a}}q=q+1|0;if((s|0)!=(q|0)){continue}break}}if(!cc(a,c,f,i,l)){break a}b=j[a+48>>2];a=j[e+4>>2];if(b>>>0<=(a-j[e>>2]|0)/12>>>0){break a}if((a|0)!=j[e+8>>2]){y=e,z=ha(a,c)+12|0,j[y+4>>2]=z;break a}Wb(e,c)}}function mq(a,b,c){var d=0,e=0,f=0,g=0,i=0,k=0,l=0;d=M-16|0;M=d;j[a+52>>2]=0;j[a+44>>2]=c;j[a+28>>2]=0;j[a+32>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;j[a>>2]=0;j[a+4>>2]=0;j[a+56>>2]=0;j[a+60>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;j[a+72>>2]=3;j[a+76>>2]=0;j[a+64>>2]=0;j[a+68>>2]=4;j[a+48>>2]=15;j[a+36>>2]=0;j[a+16>>2]=0;a:{b:{if(!c){break b}j[a+60>>2]=j[c+4456>>2];k=a,l=ek(j[a+44>>2]),j[k>>2]=l;j[a+64>>2]=j[j[a+44>>2]+4300>>2];if(j[j[a+44>>2]+4284>>2]>=0){j[a+68>>2]=j[j[a+44>>2]+4284>>2]}j[a+56>>2]=j[j[a+44>>2]+4144>>2];if(j[j[a+44>>2]+4288>>2]>=0){j[a+72>>2]=j[j[a+44>>2]+4288>>2]}if(!j[a+56>>2]){k=a,l=_c(Bg(j[a+44>>2])),j[k+52>>2]=l}j[a+76>>2]=j[j[a+44>>2]+4148>>2];f=j[a>>2];if(!f){break b}if(j[a+56>>2]){g=W(f);if(g>>>0>=4294967280){break a}i=a+8|0;c:{d:{if(g>>>0>=11){e=g+16&-16;c=U(e);j[d+8>>2]=e|-2147483648;j[d>>2]=c;j[d+4>>2]=g;e=d;break d}h[d+11|0]=g;e=d;c=d;if(!g){break c}}V(c,f,g)}h[c+g|0]=0;k=a,l=ia(i,d),j[k+4>>2]=l;if(h[e+11|0]>-1){break b}T(j[d>>2]);break b}k=a,l=W(f),j[k+4>>2]=l}g=a;e:{f:{if(!b){break f}e=cb(b);j[a+20>>2]=e;c=0;if(!e){break e}k=a,l=W(e),j[k+24>>2]=l;if(!j[a+56>>2]){break f}f=W(b);if(f>>>0>=4294967280){break a}i=a+28|0;g:{h:{if(f>>>0>=11){c=f+16&-16;e=U(c);j[d+8>>2]=c|-2147483648;j[d>>2]=e;j[d+4>>2]=f;c=d;break h}h[d+11|0]=f;c=d;e=d;if(!f){break g}}V(e,b,f)}h[e+f|0]=0;k=a,l=ia(i,d),j[k+24>>2]=l;if(h[c+11|0]>-1){break f}T(j[d>>2])}a=j[a+20>>2];c=0;if(!a){break e}c=1;if(Ya(a,45)){break e}c=(Ya(a,97)|0)!=0}h[g+40|0]=c;M=d+16|0;return}X();z()}function bc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=j[c+4>>2];m=j[c>>2];c=e-m|0;if(!c){return 0}s=c>>1;f=j[b+4>>2];n=j[b>>2];b=f-n|0;t=b>>1;a:{if((a|0)<1){break a}e=m-e|0;e=((c|0)<(e|0)?e:c)>>>1|0;c=(c|0)>-1?c:-1;o=p(e,(c|0)<1?c:1);i=d&8;c=n-f|0;c=((b|0)<(c|0)?c:b)>>>1|0;b=(b|0)>-1?b:-1;r=p(c,(b|0)<1?b:1);q=r;c=1;while(1){b=u;u=b+1|0;e=0;f=c;h=t-c|0;b:{if((h|0)<0){break b}if((f|0)>(s|0)){e=r-b|0;g=e&1;b=0;c=0;if((r|0)!=(u|0)){e=e&-2;while(1){c=i?(b?(b|0)==(h|0)?-2:-1:-2)+c|0:c;c=i?c+((h|0)==(b|1)?-2:-1)|0:c;b=b+2|0;e=e-2|0;if(e){continue}break}}e=c;if(!g|!i){break b}e=(b?(b|0)==(h|0)?-2:-1:-2)+e|0;break b}b=0;if(!i){while(1){g=0;while(1){c=0;c:{d:{e:{while(1){h=(b+c<<1)+n|0;l=(c+g<<1)+m|0;if(!(k[h|0]!=k[l|0]|k[h+1|0]!=k[l+1|0])){c=c+1|0;if((f|0)!=(c|0)){continue}break e}break}if((c|0)!=(f|0)){break d}}e=e+1|0;break c}g=g+1|0;if((o|0)!=(g|0)){continue}}break}b=b+1|0;if((q|0)!=(b|0)){continue}break b}}while(1){g=0;f:{g:{while(1){c=0;h:{while(1){l=(b+c<<1)+n|0;v=(c+g<<1)+m|0;if(!(k[l|0]!=k[v|0]|k[l+1|0]!=k[v+1|0])){c=c+1|0;if((f|0)!=(c|0)){continue}break h}break}if((c|0)==(f|0)){break h}g=g+1|0;if((o|0)==(g|0)){break g}continue}break}e=e+1|0;break f}if((c|0)==(f|0)){break f}e=(b?(b|0)==(h|0)?-2:-1:-2)+e|0}b=b+1|0;if((q|0)!=(b|0)){continue}break}}w=e+w|0;if((e|0)<2?!i:0){break a}q=q-1|0;o=o-1|0;c=f+1|0;if((a|0)!=(f|0)){continue}break}}a=s-t|0;b=a>>31;a=d&2?(b^a+b)-2|0:a-2&0-(d&1);return w-((a|0)>0?a:0)|0}function fe(a,b,c,d,e){var f=0,g=0,i=0,j=0;j=k[c|0]|k[c+1|0]<<8;f=k[b|0]|k[b+1|0]<<8;g=k[a|0]|k[a+1|0]<<8;a:{if(f>>>0>=g>>>0){if(f>>>0<=j>>>0){f=j;break a}h[b|0]=j;h[b+1|0]=j>>>8;h[c|0]=f;h[c+1|0]=f>>>8;i=1;g=k[b|0]|k[b+1|0]<<8;j=k[a|0]|k[a+1|0]<<8;if(g>>>0>=j>>>0){break a}h[a|0]=g;h[a+1|0]=g>>>8;h[b|0]=j;h[b+1|0]=j>>>8;f=k[c|0]|k[c+1|0]<<8;i=2;break a}b:{if(f>>>0>j>>>0){h[a|0]=j;h[a+1|0]=j>>>8;h[c|0]=g;h[c+1|0]=g>>>8;i=1;break b}h[a|0]=f;h[a+1|0]=f>>>8;h[b|0]=g;h[b+1|0]=g>>>8;i=1;f=k[c|0]|k[c+1|0]<<8;if(g>>>0<=f>>>0){break a}h[b|0]=f;h[b+1|0]=f>>>8;h[c|0]=g;h[c+1|0]=g>>>8;i=2}f=g}g=k[d|0]|k[d+1|0]<<8;c:{if(g>>>0>=(f&65535)>>>0){break c}h[c|0]=g;h[c+1|0]=g>>>8;h[d|0]=f;h[d+1|0]=f>>>8;f=k[c|0]|k[c+1|0]<<8;g=k[b|0]|k[b+1|0]<<8;if(f>>>0>=g>>>0){i=i+1|0;break c}h[b|0]=f;h[b+1|0]=f>>>8;h[c|0]=g;h[c+1|0]=g>>>8;f=k[b|0]|k[b+1|0]<<8;g=k[a|0]|k[a+1|0]<<8;if(f>>>0>=g>>>0){i=i+2|0;break c}h[a|0]=f;h[a+1|0]=f>>>8;h[b|0]=g;h[b+1|0]=g>>>8;i=i+3|0}f=k[e|0]|k[e+1|0]<<8;g=k[d|0]|k[d+1|0]<<8;if(f>>>0>>0){h[d|0]=f;h[d+1|0]=f>>>8;h[e|0]=g;h[e+1|0]=g>>>8;e=k[d|0]|k[d+1|0]<<8;f=k[c|0]|k[c+1|0]<<8;if(e>>>0>=f>>>0){return i+1|0}h[c|0]=e;h[c+1|0]=e>>>8;h[d|0]=f;h[d+1|0]=f>>>8;d=k[c|0]|k[c+1|0]<<8;e=k[b|0]|k[b+1|0]<<8;if(d>>>0>=e>>>0){return i+2|0}h[b|0]=d;h[b+1|0]=d>>>8;h[c|0]=e;h[c+1|0]=e>>>8;c=k[b|0]|k[b+1|0]<<8;d=k[a|0]|k[a+1|0]<<8;if(c>>>0>=d>>>0){return i+3|0}h[a|0]=c;h[a+1|0]=c>>>8;h[b|0]=d;h[b+1|0]=d>>>8;i=i+4|0}return i}function ia(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0;c=j[a>>2];j[a+4>>2]=c;d=c;a:{b:{e=k[b+11|0];f=e<<24>>24<0;e=f?j[b+4>>2]:e;c:{if((e|0)>=1){b=f?j[b>>2]:b;m=e+b|0;while(1){f=0;d:{e:{f:{g:{h:{i:{d=k[b|0];switch((d>>>4|0)-8|0){case 0:case 1:case 2:case 3:break h;case 4:case 5:break i;case 7:break f;case 6:break g;default:break d}}c=k[b+1|0];if((c&192)==128){break e}}f=255;d=253;break d}f=255;c=k[b+1|0];if((c&192)!=128){d=253;break d}e=k[b+2|0];if((e&192)!=128){b=b+1|0;d=253;break d}b=b+2|0;f=c>>>2&15|d<<4;d=e&63|c<<6;break d}b=j[a+4>>2];if((b|0)!=j[a+8>>2]){h[b|0]=253;h[b+1|0]=255;j[a+4>>2]=b+2;return-1}c=j[a>>2];d=b-c|0;if((d|0)<=-3){break b}e=d>>1;f=e+1|0;f=e>>>0<1073741823?d>>>0>>0?f:d:2147483647;b=0;j:{if(!f){break j}if((f|0)<=-1){break a}b=U(f<<1)}e=b+(e<<1)|0;h[e|0]=253;h[e+1|0]=255;if((d|0)>=1){V(b,c,d)}j[a+8>>2]=b+(f<<1);j[a+4>>2]=e+2;j[a>>2]=b;a=-1;if(!c){break c}T(c);return-1}b=b+1|0;f=d>>>2&7;d=c&63|d<<6}c=j[a+4>>2];k:{if((c|0)!=j[a+8>>2]){d=d&255|f<<8;h[c|0]=d;h[c+1|0]=d>>>8;j[a+4>>2]=c+2;break k}l=j[a>>2];e=c-l|0;if((e|0)<=-3){break b}g=e>>1;i=g+1|0;i=g>>>0<1073741823?e>>>0>>0?i:e:2147483647;c=0;l:{if(!i){break l}if((i|0)<=-1){break a}c=U(i<<1)}g=c+(g<<1)|0;d=d&255|f<<8;h[g|0]=d;h[g+1|0]=d>>>8;if((e|0)>=1){V(c,l,e)}j[a+8>>2]=(i<<1)+c;j[a+4>>2]=g+2;j[a>>2]=c;if(!l){break k}T(l)}b=b+1|0;if(m>>>0>b>>>0){continue}break}c=j[a>>2];d=j[a+4>>2]}a=d-c>>1}return a}X();z()}D();z()}function hq(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0;g=M-32|0;M=g;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;a:{b:{if(!d){d=0;break b}if((d|0)<=-1){break a}i=d<<1;f=U(i);j[g+16>>2]=f;d=(d<<1)+f|0;j[g+24>>2]=d;V(f,c,i);j[g+20>>2]=d}i=d-f|0;if(i>>1>>>0>1){d=0;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;c:{if((i|0)==2){break c}while(1){l=d<<1;i=l+f|0;m=k[i|0]|k[i+1|0]<<8;d=d+1|0;n=d<<1;f=n+f|0;o=k[f|0]|k[f+1|0]<<8;h[i|0]=o;h[i+1|0]=o>>>8;h[f|0]=m;h[f+1|0]=m>>>8;da(g,g+16|0);wa(a,b,g,e,0,0);i=j[g+16>>2];f=i+l|0;m=k[f|0]|k[f+1|0]<<8;i=i+n|0;l=k[i|0]|k[i+1|0]<<8;h[f|0]=l;h[f+1|0]=l>>>8;h[i|0]=m;h[i+1|0]=m>>>8;f=j[g+16>>2];i=j[g+20>>2]-f|0;if((i>>1)-1>>>0>d>>>0){continue}break}if((i&-4)!=8){break c}d=k[c+2|0]|k[c+3|0]<<8;h[f|0]=d;h[f+1|0]=d>>>8;d=j[g+16>>2];f=k[c|0]|k[c+1|0]<<8;h[d+2|0]=f;h[d+3|0]=f>>>8;d=j[g+16>>2];f=k[c+4|0]|k[c+5|0]<<8;h[d+4|0]=f;h[d+5|0]=f>>>8;f=j[g+20>>2];i=f-4|0;d=((f-d|0)+c|0)-2|0;d=k[d|0]|k[d+1|0]<<8;h[i|0]=d;h[i+1|0]=d>>>8;d=j[g+20>>2];f=d-2|0;d=((d-j[g+16>>2]|0)+c|0)-4|0;d=k[d|0]|k[d+1|0]<<8;h[f|0]=d;h[f+1|0]=d>>>8;da(g,g+16|0);wa(a,b,g,e,0,0);d=j[g+16>>2];if((j[g+20>>2]-d|0)!=10){break c}f=k[c|0]|k[c+1|0]<<8;h[d|0]=f;h[d+1|0]=f>>>8;d=j[g+16>>2];f=k[c+4|0]|k[c+5|0]<<8;h[d+2|0]=f;h[d+3|0]=f>>>8;d=j[g+16>>2];c=k[c+2|0]|k[c+3|0]<<8;h[d+4|0]=c;h[d+5|0]=c>>>8;da(g,g+16|0);wa(a,b,g,e,0,0)}if(h[g+11|0]<=-1){T(j[g>>2])}f=j[g+16>>2]}if(f){j[g+20>>2]=f;T(f)}M=g+32|0;return}X();z()}function Qc(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:while(1){g=b-2|0;d=a;b:while(1){c:{d:{e:{f:{g:{h:{i:{j:{e=b-d|0;a=e>>1;switch(a|0){case 2:break j;case 0:case 1:break c;case 3:break f;case 5:break h;case 4:break i;default:break g}}a=b-2|0;if(l[a>>1]>=l[d>>1]){break c}$a(d,a);return}_d(d,d+2|0,d+4|0,b-2|0);return}Zd(d,d+2|0,d+4|0,d+6|0,b-2|0);return}if((e|0)<=61){Si(d,b);return}f=((a|0)/2<<1)+d|0;k:{if((e|0)>=1999){a=(a|0)/4<<1;h=Zd(d,a+d|0,f,a+f|0,g);break k}h=wc(d,f,g)}a=g;if(l[d>>1]>=l[f>>1]){while(1){a=a-2|0;if((d|0)==(a|0)){f=d+2|0;if(l[d>>1]>1]){break d}while(1){if((f|0)==(g|0)){break c}if(l[d>>1]>1]){$a(f,g);f=f+2|0;break d}else{f=f+2|0;continue}}}if(l[a>>1]>=l[f>>1]){continue}break}$a(d,a);h=h+1|0}e=d+2|0;if(e>>>0>=a>>>0){break e}while(1){g=e;e=e+2|0;if(l[g>>1]>1]){continue}while(1){a=a-2|0;if(l[a>>1]>=l[f>>1]){continue}break}if(a>>>0>>0){e=g;break e}else{$a(g,a);f=(f|0)==(g|0)?a:f;h=h+1|0;continue}}}wc(d,d+2|0,b-2|0);break c}if(!((e|0)==(f|0)|l[f>>1]>=l[e>>1])){$a(e,f);h=h+1|0}if(!h){g=nf(d,e);a=e+2|0;if(nf(a,b)){b=e;a=d;if(!g){continue a}break c}if(g){continue a}}if((e-d|0)<(b-e|0)){Qc(d,e,c);a=e+2|0;continue a}Qc(e+2|0,b,c);b=e;a=d;continue a}a=g;if((f|0)==(a|0)){break c}while(1){e=f;f=e+2|0;if(l[d>>1]>=l[e>>1]){continue}while(1){a=a-2|0;if(l[d>>1]>1]){continue}break}if(a>>>0<=e>>>0){d=e;continue b}else{$a(e,a);continue}}}break}break}}function Ai(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0;g=M-16|0;M=g;Ab(g,a,10);a:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break a}h[a+11|0]=0;h[a|0]=0}f=j[g>>2];b:{if((f|0)==j[g+4>>2]){c=f;break b}ua(a,f);f=j[g+4>>2];c=j[g>>2];if((f-c|0)/12>>>0<2){break b}l=1;while(1){q=p(l,12);d=q+c|0;n=k[d+11|0];b=n<<24>>24;o=(b|0)<0?j[d+4>>2]:n;c:{d:{if((b|0)<=-1){e=0;if(!o){while(1){b=p(e,12)+c|0;d=k[b+11|0];if(!(d<<24>>24<0?j[b+4>>2]:d)){break c}e=e+1|0;if((l|0)!=(e|0)){continue}break d}}while(1){b=p(e,12)+c|0;i=k[b+11|0];n=i<<24>>24<0;if(((n?j[b+4>>2]:i)|0)==(o|0)){if(!qa(j[d>>2],n?j[b>>2]:b,o)){break c}}e=e+1|0;if((l|0)!=(e|0)){continue}break}break d}m=0;if(!o){while(1){b=p(m,12)+c|0;d=k[b+11|0];if(!(d<<24>>24<0?j[b+4>>2]:d)){break c}m=m+1|0;if((m|0)!=(l|0)){continue}break d}}while(1){b=p(m,12)+c|0;e=k[b+11|0];i=e<<24>>24<0;e:{if(((i?j[b+4>>2]:e)|0)!=(o|0)){break e}e=i?j[b>>2]:b;b=d;i=n;while(1){if(k[b|0]!=k[e|0]){break e}e=e+1|0;b=b+1|0;i=i-1|0;if(i){continue}break}break c}m=m+1|0;if((m|0)!=(l|0)){continue}break}}f=a;d=k[a+11|0];if(d<<24>>24<0?j[a+4>>2]:d){Z(a,10);c=j[g>>2]}c=c+q|0;b=k[c+11|0];d=b<<24>>24<0;aa(f,d?j[c>>2]:c,d?j[c+4>>2]:b);c=j[g>>2];f=j[g+4>>2]}l=l+1|0;if(l>>>0<(f-c|0)/12>>>0){continue}break}}if(c){if((c|0)==(f|0)){a=c}else{while(1){a=f-12|0;if(h[f-1|0]<=-1){T(j[a>>2])}f=a;if((a|0)!=(c|0)){continue}break}a=j[g>>2]}j[g+4>>2]=c;T(a)}M=g+16|0}function pd(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=M-128|0;M=m;j[m+120>>2]=b;j[m+16>>2]=77;q=Da(m+8|0,0,m+16|0);n=m+16|0;a:{o=(d-c|0)/12|0;if(o>>>0>=101){n=ja(o);if(!n){break a}b=j[q>>2];j[q>>2]=n;if(b){O[j[q+4>>2]](b)}}i=n;b=c;while(1)if((b|0)==(d|0)){b:while(1){c:{if(!(kb(a,m+120|0)?o:0)){if(Ra(a,m+120|0)){j[f>>2]=j[f>>2]|2}break c}i=j[a>>2];b=j[i+12>>2];d:{if((b|0)==j[i+16>>2]){b=O[j[j[i>>2]+36>>2]](i)|0;break d}b=j[b>>2]}r=b;if(!g){r=O[j[j[e>>2]+28>>2]](e,r)|0}t=s+1|0;u=0;i=n;b=c;while(1)if((b|0)==(d|0)){s=t;if(!u){continue b}Na(a);i=n;b=c;if(o+p>>>0<2){continue b}while(1){if((b|0)==(d|0)){continue b}if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if(!((l|0)==(s|0)|k[i|0]!=2)){h[i|0]=0;p=p-1|0}i=i+1|0;b=b+12|0;continue}}else{e:{if(k[i|0]!=1){break e}if(k[b+11|0]>>>7|0){l=j[b>>2]}else{l=b}l=j[l+(s<<2)>>2];if(!g){l=O[j[j[e>>2]+28>>2]](e,l)|0}f:{if((r|0)==(l|0)){u=1;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if((l|0)!=(t|0)){break e}h[i|0]=2;p=p+1|0;break f}h[i|0]=0}o=o-1|0}i=i+1|0;b=b+12|0;continue}}break}g:{h:{while(1){if((c|0)==(d|0)){break h}if(k[n|0]!=2){n=n+1|0;c=c+12|0;continue}break}d=c;break g}j[f>>2]=j[f>>2]|4}a=q;b=j[a>>2];j[a>>2]=0;if(b){O[j[a+4>>2]](b)}M=m+128|0;return d}else{if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}i:{if(l){h[i|0]=1;break i}h[i|0]=2;p=p+1|0;o=o-1|0}i=i+1|0;b=b+12|0;continue}}Fa();z()}function nl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a=M-496|0;M=a;g=j[d+28>>2];j[a+488>>2]=g;j[g+4>>2]=j[g+4>>2]+1;n=rb(a+488|0);h=c;c=f;g=j[f+4>>2];a:{if(k[f+11|0]>>>7|0){break a}g=k[c+11|0]}if(g){if(k[c+11|0]>>>7|0){g=j[c>>2]}else{g=c}q=j[g>>2]==(O[j[j[n>>2]+44>>2]](n,45)|0)}o=ga(a+456|0);m=ga(a+440|0);i=ga(a+424|0);Uf(h,q,a+488|0,a+480|0,a+476|0,a+472|0,o,m,i,a+420|0);j[a+16>>2]=77;l=Da(a+8|0,0,a+16|0);if(k[c+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}b:{if((c|0)>j[a+420>>2]){if(k[f+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}g=j[a+420>>2];if(k[i+11|0]>>>7|0){h=j[i+4>>2]}else{h=k[i+11|0]}g=(h+(c-g<<1)|0)+1|0;break b}if(k[i+11|0]>>>7|0){c=j[i+4>>2]}else{c=k[i+11|0]}g=c+2|0}c=a+16|0;c:{p=j[a+420>>2];if(k[m+11|0]>>>7|0){h=j[m+4>>2]}else{h=k[m+11|0]}g=p+(h+g|0)|0;if(g>>>0<101){break c}c=ja(g<<2);g=j[l>>2];j[l>>2]=c;if(g){O[j[l+4>>2]](g)}c=j[l>>2];if(c){break c}Fa();z()}h=c;r=a+4|0;p=a;s=j[d+4>>2];if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}t=g;if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}Tf(h,r,p,s,t,g+(f<<2)|0,n,q,a+480|0,j[a+476>>2],j[a+472>>2],o,m,i,j[a+420>>2]);b=_b(b,c,j[a+4>>2],j[a>>2],d,e);c=j[l>>2];j[l>>2]=0;if(c){O[j[l+4>>2]](c)}Y(i);Y(m);Y(o);d=j[a+488>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}M=a+496|0;return b|0}function tq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=M-16|0;M=f;a:{if(!j[a+64>>2]){b=-1;break a}d=j[a+92>>2]&8;b:{if(d){b=j[a+12>>2];break b}j[a+28>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;b=k[a+98|0];c=j[(b?52:60)+a>>2];b=j[(b?32:56)+a>>2];j[a+92>>2]=8;j[a+8>>2]=b;b=b+c|0;j[a+16>>2]=b;j[a+12>>2]=b}if(!b){b=f+16|0;j[a+16>>2]=b;j[a+12>>2]=b;j[a+8>>2]=f+15}c=j[a+16>>2];if(d){e=(c-j[a+8>>2]|0)/2|0;e=e>>>0<4?e:4}c:{d:{e:{if((b|0)==(c|0)){Ja(j[a+8>>2],b-e|0,e);if(k[a+98|0]){c=j[a+8>>2];c=vh(c+e|0,(j[a+16>>2]-e|0)-c|0,j[a+64>>2]);b=-1;if(!c){break c}b=j[a+8>>2]+e|0;j[a+12>>2]=b;j[a+16>>2]=b+c;b=k[b|0];break c}g=a;b=j[a+40>>2];c=j[a+36>>2];f:{if((b|0)==(c|0)){d=b;break f}Ja(j[a+32>>2],c,b-c|0);b=j[a+36>>2];d=j[a+40>>2]}c=j[a+32>>2];d=(d-b|0)+c|0;j[g+36>>2]=d;c=c+((c|0)==(a+44|0)?8:j[a+52>>2])|0;j[a+40>>2]=c;b=j[a+76>>2];j[a+80>>2]=j[a+72>>2];j[a+84>>2]=b;b=d;c=c-d|0;d=j[a+60>>2]-e|0;c=vh(b,c>>>0>>0?c:d,j[a+64>>2]);b=-1;if(!c){break c}b=j[a+68>>2];if(!b){break e}c=c+j[a+36>>2]|0;j[a+40>>2]=c;g=c;c=j[a+8>>2];if((O[j[j[b>>2]+16>>2]](b,a+72|0,j[a+32>>2],g,a+36|0,c+e|0,c+j[a+60>>2]|0,f+8|0)|0)==3){b=j[a+32>>2];j[a+8>>2]=b;c=j[a+40>>2];break d}b=j[a+8>>2]+e|0;c=j[f+8>>2];if((b|0)!=(c|0)){break d}b=-1;break c}b=k[b|0];break c}Fa();z()}j[a+16>>2]=c;j[a+12>>2]=b;b=k[b|0]}if(j[a+8>>2]!=(f+15|0)){break a}j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0}M=f+16|0;return b|0}function pl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a=M-192|0;M=a;g=j[d+28>>2];j[a+184>>2]=g;j[g+4>>2]=j[g+4>>2]+1;o=sb(a+184|0);i=c;c=f;g=j[f+4>>2];a:{if(k[f+11|0]>>>7|0){break a}g=k[c+11|0]}if(g){if(k[c+11|0]>>>7|0){g=j[c>>2]}else{g=c}r=k[g|0]==(O[j[j[o>>2]+28>>2]](o,45)&255)}p=ga(a+160|0);n=ga(a+144|0);l=ga(a+128|0);Wf(i,r,a+184|0,a+176|0,a+175|0,a+174|0,p,n,l,a+124|0);j[a+16>>2]=77;m=Da(a+8|0,0,a+16|0);if(k[c+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}b:{if((c|0)>j[a+124>>2]){if(k[f+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}g=j[a+124>>2];if(k[l+11|0]>>>7|0){i=j[l+4>>2]}else{i=k[l+11|0]}g=(i+(c-g<<1)|0)+1|0;break b}if(k[l+11|0]>>>7|0){c=j[l+4>>2]}else{c=k[l+11|0]}g=c+2|0}c=a+16|0;c:{q=j[a+124>>2];if(k[n+11|0]>>>7|0){i=j[n+4>>2]}else{i=k[n+11|0]}g=q+(i+g|0)|0;if(g>>>0<101){break c}c=ja(g);g=j[m>>2];j[m>>2]=c;if(g){O[j[m+4>>2]](g)}c=j[m>>2];if(c){break c}Fa();z()}i=c;s=a+4|0;q=a;t=j[d+4>>2];if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}u=g;if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}Vf(i,s,q,t,u,g+f|0,o,r,a+176|0,h[a+175|0],h[a+174|0],p,n,l,j[a+124>>2]);b=$b(b,c,j[a+4>>2],j[a>>2],d,e);c=j[m>>2];j[m>>2]=0;if(c){O[j[m+4>>2]](c)}Y(l);Y(n);Y(p);d=j[a+184>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}M=a+192|0;return b|0}function be(a,b,c){var d=0,e=0,f=0,g=0,i=0;a:while(1){g=b-1|0;d=a;b:while(1){c:{d:{e:{f:{g:{h:{i:{j:{a=b-d|0;switch(a|0){case 2:break j;case 0:case 1:break c;case 3:break f;case 5:break h;case 4:break i;default:break g}}a=b-1|0;if(h[a|0]>=h[d|0]){break c}Xa(d,a);return}ae(d,d+1|0,d+2|0,b-1|0);return}$d(d,d+1|0,d+2|0,d+3|0,b-1|0);return}if((a|0)<=30){Ti(d,b);return}e=(a>>>1|0)+d|0;k:{if((a|0)>=1e3){a=a>>>2|0;i=$d(d,a+d|0,e,a+e|0,g);break k}i=xc(d,e,g)}a=g;if(h[d|0]>=h[e|0]){while(1){a=a-1|0;if((d|0)==(a|0)){e=d+1|0;if(h[d|0]=h[e|0]){continue}break}Xa(d,a);i=i+1|0}f=d+1|0;if(f>>>0>=a>>>0){break e}while(1){g=f;f=f+1|0;if(h[g|0]=h[e|0]){continue}break}if(a>>>0>>0){f=g;break e}else{Xa(g,a);e=(e|0)==(g|0)?a:e;i=i+1|0;continue}}}xc(d,d+1|0,b-1|0);break c}if(!((e|0)==(f|0)|h[e|0]>=h[f|0])){Xa(f,e);i=i+1|0}if(!i){g=of(d,f);a=f+1|0;if(of(a,b)){b=f;a=d;if(!g){continue a}break c}if(g){continue a}}if((f-d|0)<(b-f|0)){be(d,f,c);a=f+1|0;continue a}be(f+1|0,b,c);b=f;a=d;continue a}a=g;if((e|0)==(a|0)){break c}while(1){f=e;e=f+1|0;if(h[d|0]>=h[f|0]){continue}while(1){a=a-1|0;if(h[d|0]>>0<=f>>>0){d=f;continue b}else{Xa(f,a);continue}}}break}break}}function gq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0;e=M-16|0;M=e;a:{b:{c:{i=W(c);if(i>>>0<4294967280){d:{e:{if(i>>>0>=11){m=i+16&-16;f=U(m);j[e+8>>2]=m|-2147483648;j[e>>2]=f;j[e+4>>2]=i;m=e;break e}h[e+11|0]=i;m=e;f=e;if(!i){break d}}V(f,c,i)}h[f+i|0]=0;f=k[m+11|0];g=f<<24>>24;if(((g|0)<0?j[e+4>>2]:f)>>>0<2){break a}f=0;f:{g:{while(1){h:{i:{j:{if(g<<24>>24<=-1){i=j[e+4>>2];if(i-1>>>0>f>>>0){break j}if((i|0)!=4){break h}f=k[c+1|0];break g}i=g&255;l=e;if(i-1>>>0>f>>>0){break i}if((g&255)!=4){break h}f=k[c+1|0];l=e;break f}l=j[e>>2]}i=f+1|0;g=l+i|0;n=k[g|0];l=f+l|0;h[g|0]=k[l|0];h[l|0]=n;wa(a,b,e,d,0,0);l=h[m+11|0]<0?j[e>>2]:e;g=l+i|0;n=k[g|0];f=f+l|0;h[g|0]=k[f|0];h[f|0]=n;g=k[m+11|0];f=i;continue}break}if((i|0)!=5){break a}f=k[c+1|0];l=e;if(g<<24>>24>-1){break f}}l=j[e>>2]}h[l|0]=f;i=e|1;h[(h[m+11|0]<0?j[e>>2]+1|0:i)|0]=k[c|0];l=e|2;h[(h[m+11|0]<0?j[e>>2]+2|0:l)|0]=k[c+2|0];f=k[m+11|0];g=f<<24>>24<0;f=g?j[e+4>>2]:f;h[((g?j[e>>2]:e)+f|0)-2|0]=k[(c+f|0)-1|0];f=k[m+11|0];g=f<<24>>24<0;f=g?j[e+4>>2]:f;h[((g?j[e>>2]:e)+f|0)-1|0]=k[(c+f|0)-2|0];wa(a,b,e,d,0,0);g=h[m+11|0];if((g|0)>-1){break c}if(j[e+4>>2]!=5){break a}f=j[e>>2];break b}X();z()}f=e;if((g|0)!=5){break a}}h[f|0]=k[c|0];h[(h[m+11|0]<0?j[e>>2]+1|0:i)|0]=k[c+2|0];h[(h[m+11|0]<0?j[e>>2]+2|0:l)|0]=k[c+1|0];wa(a,b,e,d,0,0);g=k[m+11|0]}if(g<<24>>24<=-1){T(j[e>>2])}M=e+16|0}function vo(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{d=j[a>>2];g=(j[a+4>>2]-d|0)/40|0;c=g+1|0;if(c>>>0<107374183){d=(j[a+8>>2]-d|0)/40|0;e=d<<1;d=d>>>0<53687091?c>>>0>e>>>0?c:e:107374182;if(d){if(d>>>0>=107374183){break c}f=U(p(d,40))}e=j[b+4>>2];c=p(g,40)+f|0;j[c>>2]=j[b>>2];j[c+4>>2]=e;j[c+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];g=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=g;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];g=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=g;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+36>>2]=j[b+36>>2];d=p(d,40)+f|0;g=c+40|0;b=j[a+4>>2];f=j[a>>2];if((b|0)==(f|0)){break b}while(1){b=b-40|0;e=j[b+4>>2];c=c-40|0;j[c>>2]=j[b>>2];j[c+4>>2]=e;j[c+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];e=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=e;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];e=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=e;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+36>>2]=j[b+36>>2];if((b|0)!=(f|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=g;f=j[a>>2];j[a>>2]=c;if((b|0)==(f|0)){break a}while(1){if(h[b-5|0]<=-1){T(j[b-16>>2])}if(h[b-17|0]<=-1){T(j[b-28>>2])}b=b-40|0;if(h[b+11|0]<=-1){T(j[b>>2])}if((b|0)!=(f|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=g;j[a>>2]=c}if(f){T(f)}}function zl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,l=0,n=0;a=M-624|0;M=a;j[a+608>>2]=c;j[a+616>>2]=b;j[a+16>>2]=78;i=Da(a+200|0,a+208|0,a+16|0);b=j[e+28>>2];j[a+192>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=rb(a+192|0);h[a+191|0]=0;a:{if(!$f(a+616|0,c,d,a+192|0,j[e+4>>2],f,a+191|0,b,i,a+196|0,a+608|0)){break a}c=k[127867]|k[127868]<<8|(k[127869]<<16|k[127870]<<24);h[a+183|0]=c;h[a+184|0]=c>>>8;h[a+185|0]=c>>>16;h[a+186|0]=c>>>24;c=k[127864]|k[127865]<<8|(k[127866]<<16|k[127867]<<24);j[a+176>>2]=k[127860]|k[127861]<<8|(k[127862]<<16|k[127863]<<24);j[a+180>>2]=c;O[j[j[b>>2]+48>>2]](b,a+176|0,a+186|0,a+128|0)|0;j[a+16>>2]=77;b=Da(a+8|0,0,a+16|0);c=a+16|0;b:{if((j[a+196>>2]-j[i>>2]|0)>=393){d=ja((j[a+196>>2]-j[i>>2]>>2)+2|0);c=j[b>>2];j[b>>2]=d;if(c){O[j[b+4>>2]](c)}if(!j[b>>2]){break b}c=j[b>>2]}if(k[a+191|0]){h[c|0]=45;c=c+1|0}e=j[i>>2];while(1){if(m[a+196>>2]<=e>>>0){c:{h[c|0]=0;j[a>>2]=g;if((Pg(a+16|0,a)|0)!=1){break c}c=j[b>>2];j[b>>2]=0;if(c){O[j[b+4>>2]](c)}break a}}else{l=c,n=k[(a+176|0)+(me(a+128|0,a+168|0,e)-(a+128|0)>>2)|0],h[l|0]=n;c=c+1|0;e=e+4|0;continue}break}Fa();z()}Fa();z()}if(Ra(a+616|0,a+608|0)){j[f>>2]=j[f>>2]|2}d=j[a+616>>2];b=j[a+192>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+624|0;return d|0}function hd(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;s=j[a+4248>>2];a=j[a+4252>>2];if((s|0)!=(a|0)){u=d+17|0;v=(a-s|0)/40|0;r=b+c|0;w=k[r|0];while(1){f=p(t,40)+s|0;b=f+12|0;b=h[f+23|0]<=-1?j[b>>2]:b;a=k[b|0];a:{if(!a){break a}g=r;if((a|0)!=46&(a|0)!=(w|0)){break a}while(1){a=k[b+1|0];if(!a){break a}o=k[g+1|0];g=g+1|0;b=b+1|0;if(!((a|0)!=46&(a|0)!=(o|0))){continue}break}}b:{if(a){break b}c:{if(!d){break c}m=l[f+36>>1];if(!m){break c}a=j[d+4>>2];if(!a){break b}b=i[d+2>>1];o=(b<<1)+a|0;if(b){while(1){n=b>>>1|0;g=(n<<1)+a|0;q=m>>>0>l[g>>1];a=q?g+2|0:a;b=q?(n^-1)+b|0:n;if(b){continue}break}}if((a|0)==(o|0)|m>>>0>1]){break b}}d:{if(!e){break d}m=l[f+38>>1];if(!m){break d}a=j[e+4>>2];if(!a){break b}b=i[e+2>>1];o=(b<<1)+a|0;if(b){while(1){n=b>>>1|0;g=(n<<1)+a|0;q=m>>>0>l[g>>1];a=q?g+2|0:a;b=q?(n^-1)+b|0:n;if(b){continue}break}}if((a|0)==(o|0)|m>>>0>1]){break b}}e:{f:{g:{h:{a=k[f+11|0];b=a<<24>>24;g=(b|0)>-1;if(!g){if(j[f+4>>2]){break h}return 1}if(b){break g}return 1}b=j[f>>2];break f}b=f}if(k[b|0]!=48){break e}b=k[d|0];if((b|0)>(c|0)){break e}if(Eb(r-b|0,u,b)){break e}return 1}i:{if(!g){b=j[f>>2];if(k[b|0]==48){break b}a=j[f+4>>2];if(a){break i}break b}if(k[f|0]==48){break b}b=f}if(Eb(r-a|0,b,a)){break b}return 1}t=t+1|0;if(v>>>0>t>>>0){continue}break}}return 0}function Yb(a,b,c,d,e,f,g,h){var i=0,k=0,l=0,m=0,n=0;k=M-32|0;M=k;j[k+16>>2]=c;j[k+24>>2]=b;b=j[d+28>>2];j[k+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=rb(k+8|0);c=j[k+8>>2];i=j[c+4>>2]-1|0;j[c+4>>2]=i;if((i|0)==-1){O[j[j[c>>2]+8>>2]](c)}j[e>>2]=0;c=0;a:{while(1){if(c|(g|0)==(h|0)){break a}b:{if(Ra(k+24|0,k+16|0)){break b}c:{if((O[j[j[b>>2]+52>>2]](b,j[g>>2],0)|0)==37){c=g+4|0;if((h|0)==(c|0)){break b}l=0;i=O[j[j[b>>2]+52>>2]](b,j[c>>2],0)|0;d:{if(!((i|0)==69|(i&255)==48)){c=g;break d}if((g+8|0)==(h|0)){break b}l=i;i=O[j[j[b>>2]+52>>2]](b,j[g+8>>2],0)|0}m=k,n=O[j[j[a>>2]+36>>2]](a,j[k+24>>2],j[k+16>>2],d,e,f,i,l)|0,j[m+24>>2]=n;g=c+8|0;break c}if(O[j[j[b>>2]+12>>2]](b,8192,j[g>>2])|0){while(1){e:{g=g+4|0;if((h|0)==(g|0)){g=h;break e}if(O[j[j[b>>2]+12>>2]](b,8192,j[g>>2])|0){continue}}break}while(1){if(!kb(k+24|0,k+16|0)){break c}c=b;i=j[k+24>>2];l=j[i+12>>2];f:{if((l|0)==j[i+16>>2]){i=O[j[j[i>>2]+36>>2]](i)|0;break f}i=j[l>>2]}if(!(O[j[j[b>>2]+12>>2]](c,8192,i)|0)){break c}Na(k+24|0);continue}}c=b;i=j[k+24>>2];l=j[i+12>>2];g:{if((l|0)==j[i+16>>2]){i=O[j[j[i>>2]+36>>2]](i)|0;break g}i=j[l>>2]}if((O[j[j[b>>2]+28>>2]](c,i)|0)==(O[j[j[b>>2]+28>>2]](b,j[g>>2])|0)){g=g+4|0;Na(k+24|0);break c}j[e>>2]=4}c=j[e>>2];continue}break}j[e>>2]=4}if(Ra(k+24|0,k+16|0)){j[e>>2]=j[e>>2]|2}M=k+32|0;return j[k+24>>2]}function Fl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,l=0,n=0;a=M-288|0;M=a;j[a+272>>2]=c;j[a+280>>2]=b;j[a+16>>2]=78;i=Da(a+152|0,a+160|0,a+16|0);b=j[e+28>>2];j[a+144>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(a+144|0);h[a+143|0]=0;a:{if(!fg(a+280|0,c,d,a+144|0,j[e+4>>2],f,a+143|0,b,i,a+148|0,a+260|0)){break a}c=k[127867]|k[127868]<<8|(k[127869]<<16|k[127870]<<24);h[a+135|0]=c;h[a+136|0]=c>>>8;h[a+137|0]=c>>>16;h[a+138|0]=c>>>24;c=k[127864]|k[127865]<<8|(k[127866]<<16|k[127867]<<24);j[a+128>>2]=k[127860]|k[127861]<<8|(k[127862]<<16|k[127863]<<24);j[a+132>>2]=c;O[j[j[b>>2]+32>>2]](b,a+128|0,a+138|0,a+118|0)|0;j[a+16>>2]=77;b=Da(a+8|0,0,a+16|0);c=a+16|0;b:{if((j[a+148>>2]-j[i>>2]|0)>=99){d=ja((j[a+148>>2]-j[i>>2]|0)+2|0);c=j[b>>2];j[b>>2]=d;if(c){O[j[b+4>>2]](c)}if(!j[b>>2]){break b}c=j[b>>2]}if(k[a+143|0]){h[c|0]=45;c=c+1|0}e=j[i>>2];while(1){if(m[a+148>>2]<=e>>>0){c:{h[c|0]=0;j[a>>2]=g;if((Pg(a+16|0,a)|0)!=1){break c}c=j[b>>2];j[b>>2]=0;if(c){O[j[b+4>>2]](c)}break a}}else{l=c,n=k[((pe(a+118|0,a+128|0,e)-a|0)+a|0)+10|0],h[l|0]=n;c=c+1|0;e=e+1|0;continue}break}Fa();z()}Fa();z()}if(Sa(a+280|0,a+272|0)){j[f>>2]=j[f>>2]|2}d=j[a+280>>2];b=j[a+144>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+288|0;return d|0}function qd(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=M-128|0;M=m;j[m+120>>2]=b;j[m+16>>2]=77;q=Da(m+8|0,0,m+16|0);n=m+16|0;a:{o=(d-c|0)/12|0;if(o>>>0>=101){n=ja(o);if(!n){break a}b=j[q>>2];j[q>>2]=n;if(b){O[j[q+4>>2]](b)}}i=n;b=c;while(1)if((b|0)==(d|0)){b:while(1){c:{if(!(lb(a,m+120|0)?o:0)){if(Sa(a,m+120|0)){j[f>>2]=j[f>>2]|2}break c}r=Ga(a);if(!g){r=O[j[j[e>>2]+12>>2]](e,r)|0}u=s+1|0;v=0;i=n;b=c;while(1)if((b|0)==(d|0)){s=u;if(!v){continue b}Oa(a);i=n;b=c;if(o+p>>>0<2){continue b}while(1){if((b|0)==(d|0)){continue b}if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if(!((l|0)==(s|0)|k[i|0]!=2)){h[i|0]=0;p=p-1|0}i=i+1|0;b=b+12|0;continue}}else{d:{if(k[i|0]!=1){break d}if(k[b+11|0]>>>7|0){l=j[b>>2]}else{l=b}t=h[l+s|0];l=r&255;if(!g){t=O[j[j[e>>2]+12>>2]](e,t)|0}e:{if((t&255)==(l|0)){v=1;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if((l|0)!=(u|0)){break d}h[i|0]=2;p=p+1|0;break e}h[i|0]=0}o=o-1|0}i=i+1|0;b=b+12|0;continue}}break}f:{g:{while(1){if((c|0)==(d|0)){break g}if(k[n|0]!=2){n=n+1|0;c=c+12|0;continue}break}d=c;break f}j[f>>2]=j[f>>2]|4}a=q;b=j[a>>2];j[a>>2]=0;if(b){O[j[a+4>>2]](b)}M=m+128|0;return d}else{if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}h:{if(l){h[i|0]=1;break h}h[i|0]=2;p=p+1|0;o=o-1|0}i=i+1|0;b=b+12|0;continue}}Fa();z()}function wm(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0;a=M-432|0;M=a;j[a+424>>2]=37;j[a+428>>2]=0;l=md(a+424|1,127642,j[c+4>>2]);j[a+380>>2]=a+384;i=ra();a:{if(l){k=j[c+8>>2];j[a+72>>2]=g;j[a+76>>2]=h;m=a- -64|0;j[m>>2]=e;j[m+4>>2]=f;j[a+48>>2]=k;i=fb(a+384|0,30,i,a+424|0,a+48|0);break a}j[a+80>>2]=e;j[a+84>>2]=f;j[a+88>>2]=g;j[a+92>>2]=h;i=fb(a+384|0,30,i,a+424|0,a+80|0)}j[a+128>>2]=77;k=Da(a+368|0,0,a+128|0);b:{if((i|0)>=30){i=ra();c:{if(l){l=j[c+8>>2];j[a+24>>2]=g;j[a+28>>2]=h;j[a+16>>2]=e;j[a+20>>2]=f;j[a>>2]=l;i=Sb(a+380|0,i,a+424|0,a);break c}j[a+32>>2]=e;j[a+36>>2]=f;j[a+40>>2]=g;j[a+44>>2]=h;i=Sb(a+380|0,i,a+424|0,a+32|0)}f=j[a+380>>2];if(!f){break b}e=j[k>>2];j[k>>2]=f;if(e){O[j[k+4>>2]](e)}}e=j[a+380>>2];f=e+i|0;l=Bb(e,f,c);j[a+128>>2]=77;e=Da(a+120|0,0,a+128|0);d:{if(j[a+380>>2]==(a+384|0)){i=a+128|0;g=a+384|0;break d}i=ja(i<<3);if(!i){break b}g=j[e>>2];j[e>>2]=i;if(g){O[j[e+4>>2]](g)}g=j[a+380>>2]}h=j[c+28>>2];j[a+104>>2]=h;j[h+4>>2]=j[h+4>>2]+1;rg(g,l,f,i,a+116|0,a+112|0,a+104|0);f=j[a+104>>2];g=j[f+4>>2]-1|0;j[f+4>>2]=g;if((g|0)==-1){O[j[j[f>>2]+8>>2]](f)}c=_b(b,i,j[a+116>>2],j[a+112>>2],c,d);b=j[e>>2];j[e>>2]=0;if(b){O[j[e+4>>2]](b)}b=j[k>>2];j[k>>2]=0;if(b){O[j[k+4>>2]](b)}M=a+432|0;return c|0}Fa();z()}function Em(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0;a=M-256|0;M=a;j[a+248>>2]=37;j[a+252>>2]=0;l=md(a+248|1,127642,j[c+4>>2]);j[a+204>>2]=a+208;i=ra();a:{if(l){k=j[c+8>>2];j[a+72>>2]=g;j[a+76>>2]=h;m=a- -64|0;j[m>>2]=e;j[m+4>>2]=f;j[a+48>>2]=k;i=fb(a+208|0,30,i,a+248|0,a+48|0);break a}j[a+80>>2]=e;j[a+84>>2]=f;j[a+88>>2]=g;j[a+92>>2]=h;i=fb(a+208|0,30,i,a+248|0,a+80|0)}j[a+128>>2]=77;k=Da(a+192|0,0,a+128|0);b:{if((i|0)>=30){i=ra();c:{if(l){l=j[c+8>>2];j[a+24>>2]=g;j[a+28>>2]=h;j[a+16>>2]=e;j[a+20>>2]=f;j[a>>2]=l;i=Sb(a+204|0,i,a+248|0,a);break c}j[a+32>>2]=e;j[a+36>>2]=f;j[a+40>>2]=g;j[a+44>>2]=h;i=Sb(a+204|0,i,a+248|0,a+32|0)}f=j[a+204>>2];if(!f){break b}e=j[k>>2];j[k>>2]=f;if(e){O[j[k+4>>2]](e)}}e=j[a+204>>2];f=e+i|0;l=Bb(e,f,c);j[a+128>>2]=77;e=Da(a+120|0,0,a+128|0);d:{if(j[a+204>>2]==(a+208|0)){i=a+128|0;g=a+208|0;break d}i=ja(i<<1);if(!i){break b}g=j[e>>2];j[e>>2]=i;if(g){O[j[e+4>>2]](g)}g=j[a+204>>2]}h=j[c+28>>2];j[a+104>>2]=h;j[h+4>>2]=j[h+4>>2]+1;tg(g,l,f,i,a+116|0,a+112|0,a+104|0);f=j[a+104>>2];g=j[f+4>>2]-1|0;j[f+4>>2]=g;if((g|0)==-1){O[j[j[f>>2]+8>>2]](f)}c=$b(b,i,j[a+116>>2],j[a+112>>2],c,d);b=j[e>>2];j[e>>2]=0;if(b){O[j[e+4>>2]](b)}b=j[k>>2];j[k>>2]=0;if(b){O[j[k+4>>2]](b)}M=a+256|0;return c|0}Fa();z()}function Qm(a,b,c,d,e){var f=0,g=0,i=0;f=M-384|0;M=f;j[f+368>>2]=b;j[f+376>>2]=a;oe(f+216|0,c,f+240|0,f+236|0,f+232|0);b=ga(f+200|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+196>>2]=a;j[f+28>>2]=f+32;j[f+24>>2]=0;h[f+23|0]=1;h[f+22|0]=69;while(1){a:{if(!kb(f+376|0,f+368|0)){break a}g=j[f+196>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+196>>2]=c+a}c=j[f+376>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(ne(c,f+23|0,f+22|0,a,f+196|0,j[f+236>>2],j[f+232>>2],f+216|0,f+32|0,f+28|0,f+24|0,f+240|0)){break a}Na(f+376|0);continue}break}if(k[f+227|0]>>>7|0){c=j[f+220>>2]}else{c=k[f+227|0]}d:{if(!c|!k[f+23|0]){break d}c=j[f+28>>2];if((c-(f+32|0)|0)>159){break d}j[f+28>>2]=c+4;j[c>>2]=j[f+24>>2]}yg(f,a,j[f+196>>2],d);a=j[f+4>>2];j[e>>2]=j[f>>2];j[e+4>>2]=a;a=j[f+12>>2];j[e+8>>2]=j[f+8>>2];j[e+12>>2]=a;hb(f+216|0,f+32|0,j[f+28>>2],d);if(Ra(f+376|0,f+368|0)){j[d>>2]=j[d>>2]|2}a=j[f+376>>2];Y(b);Y(f+216|0);M=f+384|0;return a}function ok(a,b,c,d,e,f){var g=0,h=0,l=0,m=0,n=0,o=0;j[c>>2]=a;j[f>>2]=d;a:{b:{c:{while(1){a=j[c>>2];if(!(a>>>0>=b>>>0|d>>>0>=e>>>0)){m=2;g=k[a|0];if(g>>>0>1114111){break a}o=c;d:{if(g<<24>>24>=0){i[d>>1]=g;a=a+1|0;break d}if(g>>>0<194){break a}if(g>>>0<=223){if((b-a|0)<2){break b}h=k[a+1|0];if((h&192)!=128){break c}g=h&63|g<<6&1984;if(g>>>0>1114111){break c}i[d>>1]=g;a=a+2|0;break d}if(g>>>0<=239){if((b-a|0)<3){break b}l=k[a+2|0];h=k[a+1|0];e:{f:{if((g|0)!=237){if((g|0)!=224){break f}if((h&224)==160){break e}break c}if((h&224)==128){break e}break c}if((h&192)!=128){break c}}if((l&192)!=128){break c}g=l&63|((h&63)<<6|g<<12);if((g&65535)>>>0>1114111){break c}i[d>>1]=g;a=a+3|0;break d}if(g>>>0>244){break a}m=1;if((b-a|0)<4){break c}l=k[a+2|0];h=k[a+1|0];g:{h:{switch(g-240|0){case 0:if((h+112&255)>>>0>=48){break a}break g;case 4:if((h&240)!=128){break a}break g;default:break h}}if((h&192)!=128){break a}}if((l&192)!=128){break a}a=k[a+3|0];if((a&192)!=128){break a}if((e-d|0)<4){break c}m=2;a=a&63;n=l<<6;g=g&7;if((a|(n&4032|(h<<12&258048|g<<18)))>>>0>1114111){break c}h=h<<2;i[d>>1]=(l>>>4&3|(h&192|g<<8|h&60))+16320|55296;j[f>>2]=d+2;i[d+2>>1]=a|n&960|56320;a=j[c>>2]+4|0}j[o>>2]=a;d=j[f>>2]+2|0;j[f>>2]=d;continue}break}m=a>>>0>>0}return m}return 1}return 2}function Zb(a,b,c,d,e,f,g,i){var k=0,m=0,n=0,o=0,p=0,q=0;k=M-32|0;M=k;j[k+16>>2]=c;j[k+24>>2]=b;b=j[d+28>>2];j[k+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;m=sb(k+8|0);b=j[k+8>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}j[e>>2]=0;c=0;a:{while(1){if(c|(g|0)==(i|0)){break a}b:{if(Sa(k+24|0,k+16|0)){break b}c:{if((O[j[j[m>>2]+36>>2]](m,h[g|0],0)|0)==37){c=g+1|0;if((i|0)==(c|0)){break b}n=0;b=O[j[j[m>>2]+36>>2]](m,h[c|0],0)|0;d:{if(!((b|0)==69|(b&255)==48)){c=g;break d}if((g+2|0)==(i|0)){break b}n=b;b=O[j[j[m>>2]+36>>2]](m,h[g+2|0],0)|0}o=k,p=O[j[j[a>>2]+36>>2]](a,j[k+24>>2],j[k+16>>2],d,e,f,b,n)|0,j[o+24>>2]=p;g=c+2|0;break c}b=h[g|0];if((b|0)>=0){b=l[j[m+8>>2]+((b&255)<<1)>>1]&8192}else{b=0}if(b){while(1){e:{g=g+1|0;if((i|0)==(g|0)){g=i;break e}b=h[g|0];if((b|0)>=0){b=l[j[m+8>>2]+((b&255)<<1)>>1]&8192}else{b=0}if(b){continue}}break}while(1){if(!lb(k+24|0,k+16|0)){break c}b=Ga(k+24|0);if((b|0)>=0){b=(l[j[m+8>>2]+((b&255)<<1)>>1]&8192)!=0}else{b=0}if(!b){break c}Oa(k+24|0);continue}}if(((p=m,q=Ga(k+24|0),o=j[j[m>>2]+12>>2],O[o](p|0,q|0)|0)|0)==(O[j[j[m>>2]+12>>2]](m,h[g|0])|0)){g=g+1|0;Oa(k+24|0);break c}j[e>>2]=4}c=j[e>>2];continue}break}j[e>>2]=4}if(Sa(k+24|0,k+16|0)){j[e>>2]=j[e>>2]|2}M=k+32|0;return j[k+24>>2]}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=M-16|0;M=f;a:{b:{if(!j[a+64>>2]){break b}c=j[a+68>>2];if(!c){break a}c:{b=j[a+92>>2];d:{if(b&16){if(j[a+24>>2]!=j[a+20>>2]){c=-1;if((O[j[j[a>>2]+52>>2]](a,-1)|0)==-1){break b}}e=a+72|0;while(1){c=j[a+68>>2];b=j[a+32>>2];b=O[j[j[c>>2]+20>>2]](c,e,b,b+j[a+52>>2]|0,f+12|0)|0;c=-1;g=j[a+32>>2];d=j[f+12>>2]-g|0;if(($c(g,d,j[a+64>>2])|0)!=(d|0)){break b}if((b|0)==1){continue}break}if((b|0)==2){break b}if(!Fe(j[a+64>>2])){break d}break b}if(!(b&8)){break d}b=j[a+84>>2];j[f>>2]=j[a+80>>2];j[f+4>>2]=b;e:{if(k[a+98|0]){b=j[a+16>>2]-j[a+12>>2]|0;c=b;b=b>>31;d=0;break e}d=O[j[j[c>>2]+24>>2]](c)|0;e=j[a+36>>2];b=j[a+40>>2]-e|0;c=b;b=b>>31;if((d|0)>=1){e=p(d,j[a+16>>2]-j[a+12>>2]|0);d=c+e|0;b=b+(e>>31)|0;b=c>>>0>d>>>0?b+1|0:b;c=d;d=0;break e}g=j[a+12>>2];d=0;if((g|0)==j[a+16>>2]){break e}d=j[a+68>>2];d=O[j[j[d>>2]+32>>2]](d,f,j[a+32>>2],e,g-j[a+8>>2]|0)|0;e=(j[a+36>>2]-d|0)-j[a+32>>2]|0;d=c+e|0;b=(e>>31)+b|0;b=c>>>0>d>>>0?b+1|0:b;c=d;d=1}if(De(j[a+64>>2],0-c|0,0-(b+((c|0)!=0)|0)|0,1)){break c}if(d){c=j[f+4>>2];j[a+72>>2]=j[f>>2];j[a+76>>2]=c}j[a+92>>2]=0;j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;c=j[a+32>>2];j[a+40>>2]=c;j[a+36>>2]=c}c=0;break b}c=-1}M=f+16|0;return c|0}Fa();z()}function Ue(a,b,c,d,e,f){var g=0,m=0,n=0,o=0,p=0,q=0,r=0;m=M-16|0;M=m;a:{b:{if(h[a+29|0]&1?0:d&1){break b}g=h[a+15|0];n=j[a+8>>2];c:{if((g|0)<=-1){break c}n=g&255}o=c-n|0;d:{if(!j[j[a+64>>2]+4484>>2]|o?(o|0)<=0:0){break d}n=k[a+28|0];c=h[a+27|0];g=j[a+20>>2];e:{if((c|0)<=-1){break e}g=c&255}if(n>>>0>g+o>>>0){break d}g=W(b);if(g>>>0>=4294967280){break a}n=a+16|0;f:{g:{if(g>>>0>=11){p=g+16&-16;c=U(p);j[m+8>>2]=p|-2147483648;j[m>>2]=c;j[m+4>>2]=g;break g}h[m+11|0]=g;c=m;if(!g){break f}}V(c,b,g)}h[c+g|0]=0;Wa(m,o);b=k[a+27|0];c=b<<24>>24<0;aa(m,c?j[a+16>>2]:n,c?j[a+20>>2]:b);n=a;g=h[m+11|0]<0?j[m>>2]:m;p=g;c=h[a+27|0];b=j[a+20>>2];h:{if((c|0)<=-1){break h}b=c&255}b=b+o|0;i:{if(Jd(n,p+b|0,g)){j:{if(e){k:{g=j[a+56>>2];if(!g){break k}c=i[a+60>>1];r=(c<<1)+g|0;o=l[e+30>>1];if(c){while(1){n=c>>>1|0;q=(n<<1)+g|0;p=o>>>0>l[q>>1];g=p?q+2|0:g;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((g|0)==(r|0)|o>>>0>1]){break k}g=Qa(j[a+64>>2],h[m+11|0]<0?j[m>>2]:m,b,0,0,l[a+30>>1],f,0);break j}g=Qa(j[a+64>>2],h[m+11|0]<0?j[m>>2]:m,b,d,e,l[a+30>>1],f,0);break j}g=Qa(j[a+64>>2],h[m+11|0]<0?j[m>>2]:m,b,0,0,l[a+30>>1],f,0)}a=0;if(g){break i}}g=0;a=1}if(h[m+11|0]<=-1){T(j[m>>2])}if(!a){break b}}g=0}M=m+16|0;return g}X();z()}function Tq(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0;i=M-16|0;M=i;a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}g=h[c+11|0]<0?j[c>>2]:c;while(1){f=g;g=f+1|0;if(k[f|0]==32){continue}break}j[e>>2]=0;g=W(f);b:{if((g|0)<1){break b}m=f-1|0;c:{while(1){if(k[g+m|0]!=46){break c}l=l+1|0;j[e>>2]=l;n=(g|0)>1;g=g-1|0;if(n){continue}break}m=0;break b}d:{if(!j[a+44>>2]){l=0;c=0;e=0;if((g|0)>=1){m=0;while(1){n=h[f|0];e=j[a+36>>2]+p(n&255,3)|0;o=k[e|0];q=k[e+1|0];e=k[e+2|0];Z(b,n);c=((e|0)==(q|0))+c|0;f=f+1|0;l=((o|0)!=0)+l|0;m=m+1|0;if((m|0)!=(g|0)){continue}break}e=g}f=k[j[a+36>>2]+p(k[(h[b+11|0]<0?j[b>>2]:b)|0],3)|0];break d}g=0;j[i+8>>2]=0;j[i>>2]=0;j[i+4>>2]=0;ia(i,c);e:{f:{f=j[i>>2];g:{if((f|0)==j[i+4>>2]){da(b,i);c=0;break g}c=0;l=0;while(1){e=(g<<1)+f|0;e=k[e|0]|k[e+1|0]<<8;f=Xe(e,j[a+40>>2]);l=((e|0)!=(f|0))+l|0;c=((Ye(e,j[a+40>>2])|0)==(f|0))+c|0;g=g+1|0;f=j[i>>2];if(g>>>0>2]-f>>1>>>0){continue}break}da(b,i);if(l){break f}}l=0;f=0;break e}b=j[i>>2];b=k[b|0]|k[b+1|0]<<8;f=(Xe(b,j[a+40>>2])|0)!=(b|0)}a=j[i>>2];if(a){j[i+4>>2]=a;T(a)}e=0}if(!l){m=0;break b}m=1;if(f?(l|0)==1:0){break b}m=2;if((e|0)==(l|0)|(c+l|0)==(e|0)){break b}m=(l|0)>1?f?4:3:3}j[d>>2]=m;M=i+16|0}function Pm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-352|0;M=a;j[a+336>>2]=c;j[a+344>>2]=b;h=ga(a+208|0);b=j[d+28>>2];j[a+16>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=rb(a+16|0);O[j[j[b>>2]+48>>2]](b,127600,127626,a+224|0)|0;b=j[a+16>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}c=ga(a+192|0);fa(c,k[c+11|0]>>>7|0?(j[c+8>>2]&2147483647)-1|0:10);d=a;if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[d+188>>2]=b;j[a+12>>2]=a+16;j[a+8>>2]=0;while(1){a:{if(!kb(a+344|0,a+336|0)){break a}g=j[a+188>>2];if(k[c+11|0]>>>7|0){d=j[c+4>>2]}else{d=k[c+11|0]}if((g|0)==(d+b|0)){b=c;b:{if(k[b+11|0]>>>7|0){d=j[b+4>>2];break b}d=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=a;if(k[b+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[g+188>>2]=d+b}d=j[a+344>>2];g=j[d+12>>2];c:{if((g|0)==j[d+16>>2]){d=O[j[j[d>>2]+36>>2]](d)|0;break c}d=j[g>>2]}if(Ac(d,16,b,a+188|0,a+8|0,0,h,a+16|0,a+12|0,a+224|0)){break a}Na(a+344|0);continue}break}fa(c,j[a+188>>2]-b|0);if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}d=ra();j[a>>2]=f;if((xg(b,d,a)|0)!=1){j[e>>2]=4}if(Ra(a+344|0,a+336|0)){j[e>>2]=j[e>>2]|2}b=j[a+344>>2];Y(c);Y(h);M=a+352|0;return b|0}function Um(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=q(0);f=M-368|0;M=f;j[f+352>>2]=b;j[f+360>>2]=a;oe(f+200|0,c,f+224|0,f+220|0,f+216|0);b=ga(f+184|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+180>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!kb(f+360|0,f+352|0)){break a}g=j[f+180>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+180>>2]=c+a}c=j[f+360>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(ne(c,f+7|0,f+6|0,a,f+180|0,j[f+220>>2],j[f+216>>2],f+200|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Na(f+360|0);continue}break}if(k[f+211|0]>>>7|0){c=j[f+204>>2]}else{c=k[f+211|0]}d:{if(!c|!k[f+7|0]){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=Ag(a,j[f+180>>2],d),n[l>>2]=m;hb(f+200|0,f+16|0,j[f+12>>2],d);if(Ra(f+360|0,f+352|0)){j[d>>2]=j[d>>2]|2}a=j[f+360>>2];Y(b);Y(f+200|0);M=f+368|0;return a}function qq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0;e=M-16|0;M=e;a:{b:{if(!j[a+64>>2]){break b}c:{if(k[a+92|0]&16){g=j[a+20>>2];c=j[a+28>>2];break c}j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;d=j[a+52>>2];c=0;d:{if(d>>>0<9){break d}if(k[a+98|0]){g=j[a+32>>2];c=(d+g|0)-1|0;break d}g=j[a+56>>2];c=(g+j[a+60>>2]|0)-1|0}j[a+92>>2]=16;j[a+28>>2]=c;j[a+20>>2]=g;j[a+24>>2]=g}m=c;d=j[a+24>>2];if((b|0)==-1){c=g}else{if(!d){j[a+28>>2]=e+16;j[a+20>>2]=e+15;j[a+24>>2]=e+15;d=e+15|0}h[d|0]=b;d=j[a+24>>2]+1|0;j[a+24>>2]=d;c=j[a+20>>2]}if((c|0)!=(d|0)){e:{if(k[a+98|0]){l=c;c=d-c|0;f=-1;if(($c(l,c,j[a+64>>2])|0)!=(c|0)){break a}break e}f=j[a+32>>2];j[e+8>>2]=f;f:{i=j[a+68>>2];if(!i){break f}l=a+72|0;while(1){c=O[j[j[i>>2]+12>>2]](i,l,c,d,e+4|0,f,j[a+52>>2]+f|0,e+8|0)|0;d=j[a+20>>2];if((d|0)==j[e+4>>2]){break b}if((c|0)==3){c=j[a+24>>2]-d|0;if(($c(d,c,j[a+64>>2])|0)!=(c|0)){break b}break e}if(c>>>0>1){break b}f=j[a+32>>2];d=j[e+8>>2]-f|0;if(($c(f,d,j[a+64>>2])|0)!=(d|0)){break b}if((c|0)!=1){break e}c=j[e+4>>2];j[a+20>>2]=c;d=j[a+24>>2];j[a+28>>2]=d;i=j[a+68>>2];if(!i){break f}f=j[a+32>>2];continue}}Fa();z()}j[a+28>>2]=m;j[a+20>>2]=g;j[a+24>>2]=g}f=(b|0)==-1?0:b;break a}f=-1}M=e+16|0;return f|0}function Sm(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0;f=M-368|0;M=f;j[f+352>>2]=b;j[f+360>>2]=a;oe(f+200|0,c,f+224|0,f+220|0,f+216|0);b=ga(f+184|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+180>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!kb(f+360|0,f+352|0)){break a}g=j[f+180>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+180>>2]=c+a}c=j[f+360>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(ne(c,f+7|0,f+6|0,a,f+180|0,j[f+220>>2],j[f+216>>2],f+200|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Na(f+360|0);continue}break}if(k[f+211|0]>>>7|0){c=j[f+204>>2]}else{c=k[f+211|0]}d:{if(!c|!k[f+7|0]){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=zg(a,j[f+180>>2],d),o[l>>3]=m;hb(f+200|0,f+16|0,j[f+12>>2],d);if(Ra(f+360|0,f+352|0)){j[d>>2]=j[d>>2]|2}a=j[f+360>>2];Y(b);Y(f+200|0);M=f+368|0;return a}function On(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;f=W(e);a:{b:{if((b|0)==80){if(!Eb(c,e,f)){return 1}if(j[a+4144>>2]){break b}b=(f|0)>0;c:{if((d|0)<1|(f|0)<1){break c}h=f-1|0;while(1){a=k[e+g|0];d:{if((a|0)!=91){b=g;if((a|0)==k[c+i|0]){break d}break b}a=g+1|0;m=(a|0)<(h|0)?h:a;n=k[c+i|0];o=k[a+e|0];a=0;b=g;e:{while(1){f:{b=b+1|0;l=k[e+b|0];a=(l|0)==(n|0)?1:a;if((b|0)>=(h|0)){break f}if((l|0)!=93){continue}break e}break}if((g|0)>=(h|0)){b=m;break e}b=m;if((l|0)!=93){break b}}g=0;if((o|0)!=94^(a|0)!=0){break a}}g=b+1|0;b=(g|0)<(f|0);i=i+1|0;if((i|0)>=(d|0)){break c}if((f|0)>(g|0)){continue}break}}g=1;if(b){break b}break a}g:{if((d|0)<(f|0)){break g}if(ba((c+d|0)-f|0,e)){break g}return 1}if(j[a+4144>>2]){break b}h:{if((d|0)<1){b=f;break h}if((f|0)<1){b=f;break h}while(1){h=d-1|0;i=k[h+c|0];b=f-1|0;a=k[e+b|0];i:{if((a|0)==93){m=(f|0)>1?1:b;g=m-1|0;a=0;j:{while(1){k:{f=b;b=f-1|0;l=k[e+b|0];a=(l|0)==(i|0)?1:a;if((f|0)<2){break k}if((l|0)!=91){continue}break j}break}if(g){f=m;b=g;break j}f=m;b=g;if((l|0)!=91){break b}}g=0;if((a|0)!=0^k[e+f|0]!=94){break a}break i}if((a|0)!=(i|0)){break b}}if((d|0)<2){break h}d=h;f=b;if((f|0)>0){continue}break}}g=1;if((b|0)<1){break a}}g=0}return g}function Md(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0;d=M-16|0;M=d;b=j[a>>2];a:{if((j[a+4>>2]-b|0)/12>>>0<2){break a}j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;Wb(d,b);m=1;b=j[a+4>>2];c=j[a>>2];if((b-c|0)/12>>>0>1){while(1){f=p(m,12)+c|0;b:{c:{d:{b=j[d>>2];g=j[d+4>>2];if((b|0)==(g|0)){break d}e=k[f+11|0];c=e<<24>>24<0;n=c?j[f+4>>2]:e;if(n){e=c?j[f>>2]:f;while(1){l=k[b+11|0];c=l<<24>>24<0;e:{if(((c?j[b+4>>2]:l)|0)!=(n|0)){break e}i=j[b>>2];if(!c){if(k[e|0]!=(i&255)){break e}i=b;c=e;while(1){l=l-1|0;if(!l){break d}o=k[c+1|0];c=c+1|0;i=i+1|0;if(k[i|0]==(o|0)){continue}break}break e}if(!qa(i,e,n)){break d}}b=b+12|0;if((g|0)!=(b|0)){continue}break}break c}while(1){c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){break d}b=b+12|0;if((g|0)!=(b|0)){continue}break}break c}if((b|0)!=(g|0)){break b}}if(j[d+8>>2]!=(g|0)){q=d,r=ha(g,f)+12|0,j[q+4>>2]=r;break b}Wb(d,f)}m=m+1|0;b=j[a+4>>2];c=j[a>>2];if(m>>>0<(b-c|0)/12>>>0){continue}break}}j[a>>2]=j[d>>2];j[d>>2]=c;j[a+4>>2]=j[d+4>>2];j[d+4>>2]=b;e=j[a+8>>2];j[a+8>>2]=j[d+8>>2];j[d+8>>2]=e;if(!c){break a}if((b|0)==(c|0)){a=c}else{while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((b|0)!=(c|0)){continue}break}a=j[d>>2]}j[d+4>>2]=c;T(a)}M=d+16|0}function Kh(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0;g=j[a+4>>2];d=j[a+8>>2];if(g>>>0>>0){if((b|0)==(g|0)){c=k[c|0]|k[c+1|0]<<8;h[b|0]=c;h[b+1|0]=c>>>8;j[a+4>>2]=b+2;return}d=g;e=d-2|0;if(d>>>0>e>>>0){while(1){f=k[e|0]|k[e+1|0]<<8;h[d|0]=f;h[d+1|0]=f>>>8;d=d+2|0;e=e+2|0;if(g>>>0>e>>>0){continue}break}}j[a+4>>2]=d;d=(g-b|0)-2|0;if(d){Ja(g-(d>>1<<1)|0,b,d)}d=b;if(c>>>0>=d>>>0){c=m[a+4>>2]>c>>>0?c+2|0:c}a=k[c|0]|k[c+1|0]<<8;h[d|0]=a;h[d+1|0]=a>>>8;return}a:{l=j[a>>2];e=g-l|0;if((e|0)>-3){e=(e>>1)+1|0;d=d-l|0;e=d>>1>>>0<1073741823?d>>>0>>0?e:d:2147483647;g=0;b:{if(!e){break b}if((e|0)<=-1){break a}g=U(e<<1)}n=g+(e<<1)|0;i=b-l|0;f=i>>1;d=g+(f<<1)|0;c:{d:{if((e|0)==(f|0)){if((i|0)>=1){d=((f+1|0)/-2<<1)+d|0;c=k[c|0]|k[c+1|0]<<8;h[d|0]=c;h[d+1|0]=c>>>8;f=d-(f<<1)|0;e=d+2|0;break d}d=i?i:1;if((d|0)<=-1){break a}i=d<<1;e=U(i);n=e+i|0;d=e+(d>>>1&2147483646)|0;if(!g){c=k[c|0]|k[c+1|0]<<8;h[d|0]=c;h[d+1|0]=c>>>8;e=d+2|0;f=d-(f<<1)|0;break c}T(g);l=j[a>>2];i=b-l|0;f=i>>1}c=k[c|0]|k[c+1|0]<<8;h[d|0]=c;h[d+1|0]=c>>>8;e=d+2|0;f=d-(f<<1)|0;if((i|0)<1){break c}}V(f,l,i)}c=j[a+4>>2]-b|0;if((c|0)>=1){e=V(e,b,c)+c|0}j[a+8>>2]=n;j[a+4>>2]=e;b=j[a>>2];j[a>>2]=f;if(b){T(b)}return}X();z()}D();z()}function ni(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,l=0,m=0,n=0;if(zb(a,j[b+8>>2],e)){if(!(j[b+28>>2]==1|j[b+4>>2]!=(c|0))){j[b+28>>2]=d}return}a:{if(zb(a,j[b>>2],e)){if(!(j[b+20>>2]!=(c|0)?j[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}j[b+32>>2]=1;return}j[b+32>>2]=d;if(j[b+44>>2]!=4){f=a+16|0;m=f+(j[a+12>>2]<<3)|0;n=b;b:{c:{while(1){d:{if(f>>>0>=m>>>0){break d}i[b+52>>1]=0;Qd(f,b,c,c,1,e);if(k[b+54|0]){break d}e:{if(!k[b+53|0]){break e}if(k[b+52|0]){d=1;if(j[b+24>>2]==1){break c}l=1;g=1;if(k[a+8|0]&2){break e}break c}l=1;d=g;if(!(h[a+8|0]&1)){break c}}f=f+8|0;continue}break}d=g;a=4;if(!l){break b}}a=3}j[n+44>>2]=a;if(d&1){break a}}j[b+20>>2]=c;j[b+40>>2]=j[b+40>>2]+1;if(j[b+36>>2]!=1|j[b+24>>2]!=2){break a}h[b+54|0]=1;return}g=j[a+12>>2];f=a+16|0;ad(f,b,c,d,e);if((g|0)<2){break a}g=f+(g<<3)|0;f=a+24|0;a=j[a+8>>2];if(!(j[b+36>>2]!=1?!(a&2):0)){while(1){if(k[b+54|0]){break a}ad(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}break a}if(!(a&1)){while(1){if(k[b+54|0]|j[b+36>>2]==1){break a}ad(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break a}}while(1){if(k[b+54|0]|(j[b+24>>2]==1?j[b+36>>2]==1:0)){break a}ad(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}}}function gn(a,b,c,d,e){var f=0,g=0,i=0;f=M-288|0;M=f;j[f+272>>2]=b;j[f+280>>2]=a;re(f+224|0,c,f+240|0,f+239|0,f+238|0);b=ga(f+208|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+204>>2]=a;j[f+28>>2]=f+32;j[f+24>>2]=0;h[f+23|0]=1;h[f+22|0]=69;while(1){a:{if(!lb(f+280|0,f+272|0)){break a}g=j[f+204>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+204>>2]=c+a}if(qe(Ga(f+280|0),f+23|0,f+22|0,a,f+204|0,h[f+239|0],h[f+238|0],f+224|0,f+32|0,f+28|0,f+24|0,f+240|0)){break a}Oa(f+280|0);continue}break}if(k[f+235|0]>>>7|0){c=j[f+228>>2]}else{c=k[f+235|0]}c:{if(!c|!k[f+23|0]){break c}c=j[f+28>>2];if((c-(f+32|0)|0)>159){break c}j[f+28>>2]=c+4;j[c>>2]=j[f+24>>2]}yg(f,a,j[f+204>>2],d);a=j[f+4>>2];j[e>>2]=j[f>>2];j[e+4>>2]=a;a=j[f+12>>2];j[e+8>>2]=j[f+8>>2];j[e+12>>2]=a;hb(f+224|0,f+32|0,j[f+28>>2],d);if(Sa(f+280|0,f+272|0)){j[d>>2]=j[d>>2]|2}a=j[f+280>>2];Y(b);Y(f+224|0);M=f+288|0;return a}function an(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Uc(c,f+224|0);Tc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(Ac(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Gg(b,j[f+188>>2],d,h),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function Xm(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Uc(c,f+224|0);Tc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(Ac(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Cg(b,j[f+188>>2],d,h),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function cn(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Uc(c,f+224|0);Tc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(Ac(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Hg(b,j[f+188>>2],d,h),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function _m(a,b,c,d,e){var f=0,g=0,h=0,l=0,m=0,n=0,o=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);m=Uc(c,f+224|0);Tc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(Ac(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,m)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}n=e,o=Fg(b,j[f+188>>2],d,h),i[n>>1]=o;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function Zm(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Uc(c,f+224|0);Tc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(Ac(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Dg(b,j[f+188>>2],d,h),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function Ug(a,b){var c=0,d=0,e=0,f=0;a:{b:{c:{c=j[a+4>>2];d:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break d}c=pa(a)}switch(c-43|0){case 0:case 2:break b;default:break c}}d=c-48|0;break a}f=(c|0)==45;b=!b;c=j[a+4>>2];e:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break e}c=pa(a)}d=c-48|0;if(!(b|d>>>0<10|!j[a+104>>2])){j[a+4>>2]=j[a+4>>2]-1}}f:{if(d>>>0<10){d=0;while(1){d=p(d,10)+c|0;b=j[a+4>>2];g:{if(b>>>0>2]){j[a+4>>2]=b+1;c=k[b|0];break g}c=pa(a)}e=c-48|0;d=d-48|0;if((d|0)<214748364?e>>>0<=9:0){continue}break}b=d;d=d>>31;h:{if(e>>>0>=10){break h}while(1){d=Dr(b,d,10,0);b=d+c|0;c=N;c=b>>>0>>0?c+1|0:c;d=b;b=d-48|0;d=c-(d>>>0<48)|0;c=j[a+4>>2];i:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break i}c=pa(a)}e=c-48|0;if(e>>>0>9){break h}if((d|0)<21474836?1:(d|0)<=21474836?b>>>0<2061584302:0){continue}break}}if(e>>>0<10){while(1){c=j[a+4>>2];j:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break j}c=pa(a)}if(c-48>>>0<10){continue}break}}if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}a=b;b=f?0-a|0:a;d=f?0-(((a|0)!=0)+d|0)|0:d;break f}b=0;d=-2147483648;if(!j[a+104>>2]){break f}j[a+4>>2]=j[a+4>>2]-1;N=-2147483648;return 0}N=d;return b}function qk(a,b,c,d,e,f){var g=0,i=0;j[c>>2]=a;j[f>>2]=d;g=j[c>>2];a:{b:{while(1){if(b>>>0<=g>>>0){a=0;break a}a=2;d=l[g>>1];if(d>>>0>1114111){break a}c:{d:{if(d>>>0<=127){a=1;g=j[f>>2];if((e-g|0)<1){break a}j[f>>2]=g+1;h[g|0]=d;break d}if(d>>>0<=2047){a=j[f>>2];if((e-a|0)<2){break b}j[f>>2]=a+1;h[a|0]=d>>>6|192;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d&63|128;break d}if(d>>>0<=55295){a=j[f>>2];if((e-a|0)<3){break b}j[f>>2]=a+1;h[a|0]=d>>>12|224;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d>>>6&63|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d&63|128;break d}if(d>>>0<=56319){a=1;if((b-g|0)<4){break a}i=l[g+2>>1];if((i&64512)!=56320){break c}if((e-j[f>>2]|0)<4){break a}a=d&960;if((i&1023|(d<<10&64512|a<<10))+65536>>>0>1114111){break c}j[c>>2]=g+2;g=j[f>>2];j[f>>2]=g+1;a=(a>>>6|0)+1|0;h[g|0]=a>>>2|240;g=j[f>>2];j[f>>2]=g+1;h[g|0]=a<<4&48|d>>>2&15|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=i>>>6&15|d<<4&48|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=i&63|128;break d}if(d>>>0<57344){break a}a=j[f>>2];if((e-a|0)<3){break b}j[f>>2]=a+1;h[a|0]=d>>>12|224;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d>>>6&63|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d&63|128}g=j[c>>2]+2|0;j[c>>2]=g;continue}break}return 2}return 1}return a}function _n(a,b,c,d){var e=0,f=0,g=0,l=0,m=0,n=0;a:{b:{f=j[a>>2];c:{if(j[a+8>>2]-f>>2>>>0>=b>>>0){break c}if(b>>>0>=1073741824){break b}e=j[a+4>>2];l=b<<2;b=U(l);l=b+l|0;e=e-f|0;m=e+b|0;if((e|0)>=1){V(b,f,e)}j[a+8>>2]=l;j[a+4>>2]=m;j[a>>2]=b;if(!f){break c}T(f)}d:{if(k[a+16|0]==80){l=U(84);zh(l,j[a+12>>2]);b=j[a+4>>2];g=j[a+8>>2];if(b>>>0>>0){j[b>>2]=l;j[a+4>>2]=b+4;break d}f=j[a>>2];m=b-f|0;b=m>>2;e=b+1|0;if(e>>>0>=1073741824){break a}n=b<<2;g=g-f|0;b=g>>1;e=g>>2>>>0<536870911?b>>>0>>0?e:b:1073741823;b=0;e:{if(!e){break e}if(e>>>0>=1073741824){break b}b=U(e<<2)}g=n+b|0;j[g>>2]=l;if((m|0)>=1){V(b,f,m)}j[a+8>>2]=b+(e<<2);j[a+4>>2]=g+4;j[a>>2]=b;if(!f){break d}T(f);break d}l=U(108);ci(l,j[a+12>>2]);b=j[a+4>>2];g=j[a+8>>2];if(b>>>0>>0){j[b>>2]=l;j[a+4>>2]=b+4;break d}f=j[a>>2];m=b-f|0;b=m>>2;e=b+1|0;if(e>>>0>=1073741824){break a}n=b<<2;g=g-f|0;b=g>>1;e=g>>2>>>0<536870911?b>>>0>>0?e:b:1073741823;b=0;f:{if(!e){break f}if(e>>>0>=1073741824){break b}b=U(e<<2)}g=n+b|0;j[g>>2]=l;if((m|0)>=1){V(b,f,m)}j[a+8>>2]=b+(e<<2);j[a+4>>2]=g+4;j[a>>2]=b;if(!f){break d}T(f)}a=j[j[a+4>>2]-4>>2];i[a+30>>1]=d;h[a+29|0]=c;return}D();z()}X();z()}function yh(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0;a:{f=j[b+4>>2];g=j[c+4>>2];if((f|0)!=(g|0)){c=j[c>>2];e=j[b>>2];l=(p(c-e>>2,341)+((g-j[c>>2]|0)/12|0)|0)+((f-j[e>>2]|0)/-12|0)|0;if((l|0)>0){break a}}b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;return}h=j[d>>2];c=j[d+4>>2];i=j[b>>2];while(1){k=j[i>>2]+4092|0;g=(k-f|0)/12|0;e=(g|0)>(l|0);n=e?l:g;g=c;m=e?p(l,12)+f|0:k;if((m|0)!=(f|0)){e=f;while(1){o=((j[h>>2]-g|0)+4092|0)/12|0;c=e;k=(m-c|0)/12|0;e=(o|0)<(k|0);q=e?o:k;k=g;e=e?p(o,12)+c|0:m;if((e|0)!=(c|0)){while(1){ua(k,c);k=k+12|0;c=c+12|0;if((e|0)!=(c|0)){continue}break}}b:{if(!q){break b}c=((g-j[h>>2]|0)/12|0)+q|0;if((c|0)>=1){g=(c>>>0)/341|0;h=(g<<2)+h|0;g=j[h>>2]+p(c-p(g,341)|0,12)|0;break b}c=340-c|0;h=((c|0)/-341<<2)+h|0;g=j[h>>2]+p(340-((c|0)%341|0)|0,12)|0}if((e|0)!=(m|0)){continue}break}}e=d;j[e>>2]=h;c=g;j[e+4>>2]=c;l=l-n|0;if(n){g=b;f=((f-j[i>>2]|0)/12|0)+n|0;c:{if((f|0)>=1){e=(f>>>0)/341|0;i=(e<<2)+i|0;j[b>>2]=i;f=j[i>>2]+p(f-p(e,341)|0,12)|0;break c}f=340-f|0;i=((f|0)/-341<<2)+i|0;j[b>>2]=i;f=j[i>>2]+p(340-((f|0)%341|0)|0,12)|0}j[g+4>>2]=f}if((l|0)>0){continue}break}j[a>>2]=h;j[a+4>>2]=c}function Yi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=0,l=0,n=0,o=0,p=0;h=M-16|0;M=h;n=f&16;l=f&8;a:{b:{switch(e|0){case 0:case 2:k=(f&24)!=0;break a;case 1:break b;default:break a}}k=(l>>>3|0)!=(n>>>4|0)}k=l?j[b+12>>2]!=0&k:k;c:{d:{if(n){g=-1;i=-1;if(j[b+24>>2]!=0&k){break d}break c}g=-1;i=-1;if(!k){break c}}if(j[b+28>>2]){f=j[b+28>>2]}else{f=j[b+16>>2]}k=f;e:{f:{g:{switch(e-1|0){case 1:break f;case 0:break g;default:break e}}if(l){f=j[b+12>>2];break f}f=j[b+24>>2]}e=f-j[b+8>>2]|0;o=e;p=e>>31}d=d+p|0;c=c+o|0;d=o>>>0>c>>>0?d+1|0:d;e=c;c=d;if((d|0)<0){break c}d=k-j[b+8>>2]|0;f=d>>>0>>0;d=d>>31;if((c|0)>(d|0)?1:(d|0)<=(c|0)?f:0){break c}d=e+j[b+8>>2]|0;j[h+12>>2]=d;if(l){f=j[b+8>>2];j[h+8>>2]=j[b+16>>2];g=M-16|0;M=g;M=g+16|0;g=h+8|0;i=h+12|0;j[b+16>>2]=j[(m[i>>2]>2]?g:i)>>2];j[b+12>>2]=d;j[b+8>>2]=f}if(n){f=j[b+28>>2];g=j[h+12>>2];j[h+4>>2]=j[b+20>>2];d=M-16|0;M=d;M=d+16|0;d=h+12|0;i=h+4|0;d=j[(m[d>>2]>2]?d:i)>>2];j[b+28>>2]=j[b+28>>2];j[b+20>>2]=d;j[b+24>>2]=d;j[b+24>>2]=j[b+24>>2]+(g+j[b+28>>2]-(f+j[b+20>>2])|0)}g=e;i=c}j[a+8>>2]=g;j[a+12>>2]=i;j[a>>2]=0;j[a+4>>2]=0;M=h+16|0}function er(a){var b=0,c=0,d=0,e=0,f=0,g=0,k=0,m=0,n=0,o=0;b=j[a+4>>2];if(b){d=j[a>>2];if((d|0)>=1){while(1){c=j[(f<<2)+b>>2];if(c){while(1){g=c;c=j[c+8>>2];e=j[g+4>>2];a:{if(!e){break a}if(j[a+84>>2]){d=i[g+2>>1];o=(d<<1)+e|0;b=e;if(d){while(1){k=d>>>1|0;m=(k<<1)+b|0;n=l[m>>1]<65511;b=n?m+2|0:b;d=n?(k^-1)+d|0:k;if(d){continue}break}}if((b|0)==(o|0)|l[b>>1]>65511){break a}}T(e)}T(g);if(c){continue}break}d=j[a>>2]}f=f+1|0;if((f|0)>=(d|0)){b=j[a+4>>2]}else{b=j[a+4>>2];continue}break}}T(b)}j[a>>2]=0;c=j[a+84>>2];b:{if(!c){break b}b=1;if(j[a+80>>2]>=1){T(j[c>>2]);if(j[a+80>>2]>1){while(1){T(j[j[a+84>>2]+(b<<2)>>2]);b=b+1|0;if((b|0)>2]){continue}break}}c=j[a+84>>2]}T(c);j[a+84>>2]=0;b=j[a+88>>2];if(!b){break b}T(b);j[a+88>>2]=0}c=j[a+96>>2];if(c){b=1;if(j[a+92>>2]>=1){T(j[c>>2]);if(j[a+92>>2]>1){while(1){T(j[j[a+96>>2]+(b<<2)>>2]);b=b+1|0;if((b|0)>2]){continue}break}}c=j[a+96>>2]}T(c);j[a+96>>2]=0}if(j[a+16>>2]){_h()}if(j[a+100>>2]){Zh(a+100|0);T(j[a+100>>2])}b=j[a+68>>2];if(b){j[a+72>>2]=b;T(b)}if(h[a+67|0]<=-1){T(j[a+56>>2])}if(h[a+51|0]<=-1){T(j[a+40>>2])}if(h[a+39|0]<=-1){T(j[a+28>>2])}return a}function fn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-272|0;M=a;j[a+256>>2]=c;j[a+264>>2]=b;h=ga(a+208|0);b=j[d+28>>2];j[a+16>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(a+16|0);O[j[j[b>>2]+32>>2]](b,127600,127626,a+224|0)|0;b=j[a+16>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}c=ga(a+192|0);fa(c,k[c+11|0]>>>7|0?(j[c+8>>2]&2147483647)-1|0:10);d=a;if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[d+188>>2]=b;j[a+12>>2]=a+16;j[a+8>>2]=0;while(1){a:{if(!lb(a+264|0,a+256|0)){break a}g=j[a+188>>2];if(k[c+11|0]>>>7|0){d=j[c+4>>2]}else{d=k[c+11|0]}if((g|0)==(d+b|0)){b=c;b:{if(k[b+11|0]>>>7|0){d=j[b+4>>2];break b}d=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=a;if(k[b+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[g+188>>2]=d+b}if(Cc(Ga(a+264|0),16,b,a+188|0,a+8|0,0,h,a+16|0,a+12|0,a+224|0)){break a}Oa(a+264|0);continue}break}fa(c,j[a+188>>2]-b|0);if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}d=ra();j[a>>2]=f;if((xg(b,d,a)|0)!=1){j[e>>2]=4}if(Sa(a+264|0,a+256|0)){j[e>>2]=j[e>>2]|2}b=j[a+264>>2];Y(c);Y(h);M=a+272|0;return b|0}function dp(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0;i=j[a+4>>2];k=j[a+16>>2];n=j[a+20>>2];f=k+n|0;l=(f>>>0)/341|0;d=i+(l<<2)|0;c=j[b+4>>2];m=c;e=j[a+8>>2];o=(i|0)==(e|0);g=0;a:{if(o){break a}g=j[d>>2]+p(f-p(l,341)|0,12)|0}b:{if((m|0)==(g|0)){break b}f=j[b>>2];l=c-j[f>>2]|0;m=(p(d-f>>2,341)+((g-j[d>>2]|0)/12|0)|0)+((l|0)/-12|0)|0;if((m|0)<1){break b}q=(k>>>0)/341|0;b=(q<<2)+i|0;d=c;c=o?0:j[b>>2]+p(k-p(q,341)|0,12)|0;c:{if((d|0)==(c|0)){break c}d=(p(f-b>>2,341)+((l|0)/12|0)|0)+((c-j[b>>2]|0)/-12|0)|0;if(!d){break c}c=d+((c-j[b>>2]|0)/12|0)|0;if((c|0)>=1){d=(c>>>0)/341|0;b=(d<<2)+b|0;c=j[b>>2]+p(c-p(d,341)|0,12)|0;break c}c=340-c|0;b=((c|0)/-341<<2)+b|0;c=j[b>>2]+p(340-((c|0)%341|0)|0,12)|0}if((c|0)!=(g|0)){while(1){if(h[c+11|0]<=-1){T(j[c>>2])}c=c+12|0;if((c-j[b>>2]|0)==4092){c=j[b+4>>2];b=b+4|0}if((c|0)!=(g|0)){continue}break}k=j[a+16>>2];i=j[a+4>>2];n=j[a+20>>2];e=j[a+8>>2]}b=n-m|0;j[a+20>>2]=b;c=e-i|0;if((c?p(c>>2,341)-1|0:0)-(b+k|0)>>>0<682){break b}while(1){T(j[e-4>>2]);e=j[a+8>>2]-4|0;j[a+8>>2]=e;b=e-j[a+4>>2]|0;if((b?p(b>>2,341)-1|0:0)-(j[a+20>>2]+j[a+16>>2]|0)>>>0>681){continue}break}}}function ln(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=q(0);f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;re(f+208|0,c,f+224|0,f+223|0,f+222|0);b=ga(f+192|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+188>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+188>>2]=c+a}if(qe(Ga(f+264|0),f+7|0,f+6|0,a,f+188|0,h[f+223|0],h[f+222|0],f+208|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c|!k[f+7|0]){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=Ag(a,j[f+188>>2],d),n[l>>2]=m;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}a=j[f+264>>2];Y(b);Y(f+208|0);M=f+272|0;return a}function jn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;re(f+208|0,c,f+224|0,f+223|0,f+222|0);b=ga(f+192|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+188>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+188>>2]=c+a}if(qe(Ga(f+264|0),f+7|0,f+6|0,a,f+188|0,h[f+223|0],h[f+222|0],f+208|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c|!k[f+7|0]){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=zg(a,j[f+188>>2],d),o[l>>3]=m;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}a=j[f+264>>2];Y(b);Y(f+208|0);M=f+272|0;return a}function V(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){F(a|0,b|0,c|0)|0;return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if((c|0)<1){c=a;break b}if(!(a&3)){c=a;break b}c=a;while(1){h[c|0]=k[b|0];b=b+1|0;c=c+1|0;if(e>>>0<=c>>>0){break b}if(c&3){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+ -64|0;if(f>>>0>>0){break c}while(1){j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=j[b+16>>2];j[c+20>>2]=j[b+20>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=j[b+28>>2];j[c+32>>2]=j[b+32>>2];j[c+36>>2]=j[b+36>>2];j[c+40>>2]=j[b+40>>2];j[c+44>>2]=j[b+44>>2];j[c+48>>2]=j[b+48>>2];j[c+52>>2]=j[b+52>>2];j[c+56>>2]=j[b+56>>2];j[c+60>>2]=j[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){h[c|0]=k[b|0];h[c+1|0]=k[b+1|0];h[c+2|0]=k[b+2|0];h[c+3|0]=k[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){h[c|0]=k[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function hk(a,b,c,d,e,f){var g=0,i=0,l=0,m=0,n=0,o=0;j[c>>2]=a;j[f>>2]=d;a:{b:{while(1){g=j[c>>2];if(!(g>>>0>=b>>>0|d>>>0>=e>>>0)){l=h[g|0];a=l&255;c:{if((l|0)>=0){if(a>>>0<=1114111){l=1;break c}return 2}n=2;if(a>>>0<194){break b}if(a>>>0<=223){if((b-g|0)<2){break a}i=k[g+1|0];if((i&192)!=128){break b}l=2;a=i&63|a<<6&1984;if(a>>>0<=1114111){break c}break b}if(a>>>0<=239){if((b-g|0)<3){break a}m=k[g+2|0];i=k[g+1|0];d:{e:{if((a|0)!=237){if((a|0)!=224){break e}if((i&224)==160){break d}break b}if((i&224)==128){break d}break b}if((i&192)!=128){break b}}if((m&192)!=128){break b}l=3;a=m&63|(a<<12&61440|(i&63)<<6);if(a>>>0<=1114111){break c}break b}if(a>>>0>244){break b}if((b-g|0)<4){break a}m=k[g+2|0];i=k[g+1|0];f:{g:{switch(a-240|0){case 0:if((i+112&255)>>>0<48){break f}break b;case 4:if((i&240)==128){break f}break b;default:break g}}if((i&192)!=128){break b}}if((m&192)!=128){break b}o=k[g+3|0];if((o&192)!=128){break b}l=4;a=o&63|(m<<6&4032|(a<<18&1835008|(i&63)<<12));if(a>>>0>1114111){break b}}j[d>>2]=a;j[c>>2]=g+l;d=j[f>>2]+4|0;j[f>>2]=d;continue}break}n=b>>>0>g>>>0}return n}return 1}function Ld(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;d=M-32|0;M=d;j[d+24>>2]=0;j[d+16>>2]=0;j[d+20>>2]=0;j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;ia(d+16|0,a);a:{c=j[d+16>>2];if((c|0)==j[d+20>>2]){break a}b:{while(1){e=(m<<1)+c|0;n=j[b+4>>2];c=j[b>>2];f=n-c|0;if(f){f=f>>1;o=k[e|0]|k[e+1|0]<<8;while(1){l=f>>>1|0;g=(l<<1)+c|0;i=o>>>0>(k[g|0]|k[g+1|0]<<8)>>>0;c=i?g+2|0:c;f=i?(l^-1)+f|0:l;if(f){continue}break}}c:{d:{if((k[e|0]|k[e+1|0]<<8)>>>0>=(k[c|0]|k[c+1|0]<<8)>>>0?(c|0)!=(n|0):0){break d}c=j[d+4>>2];if((c|0)!=j[d+8>>2]){e=k[e|0]|k[e+1|0]<<8;h[c|0]=e;h[c+1|0]=e>>>8;j[d+4>>2]=c+2;break d}l=j[d>>2];f=c-l|0;if((f|0)<=-3){break c}i=f>>1;g=i+1|0;g=i>>>0<1073741823?f>>>0>>0?g:f:2147483647;c=0;e:{if(!g){break e}if((g|0)<=-1){break b}c=U(g<<1)}i=c+(i<<1)|0;e=k[e|0]|k[e+1|0]<<8;h[i|0]=e;h[i+1|0]=e>>>8;if((f|0)>=1){V(c,l,f)}j[d+8>>2]=c+(g<<1);j[d+4>>2]=i+2;j[d>>2]=c;if(!l){break d}T(l)}m=m+1|0;c=j[d+16>>2];if(m>>>0>2]-c>>1>>>0){continue}break a}break}X();z()}D();z()}da(a,d);c=j[d+4>>2];a=j[d>>2];if(a){j[d+4>>2]=a;T(a)}b=j[d+16>>2];if(b){j[d+20>>2]=b;T(b)}M=d+32|0;return c-a>>1}function xm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,k=0,l=0,m=0;a=M-384|0;M=a;j[a+376>>2]=37;j[a+380>>2]=0;g=md(a+376|1,127641,j[c+4>>2]);j[a+332>>2]=a+336;f=ra();a:{if(g){i=j[c+8>>2];o[a+40>>3]=e;j[a+32>>2]=i;f=fb(a+336|0,30,f,a+376|0,a+32|0);break a}o[a+48>>3]=e;f=fb(a+336|0,30,f,a+376|0,a+48|0)}j[a+80>>2]=77;i=Da(a+320|0,0,a+80|0);b:{if((f|0)>=30){f=ra();c:{if(g){g=j[c+8>>2];o[a+8>>3]=e;j[a>>2]=g;f=Sb(a+332|0,f,a+376|0,a);break c}o[a+16>>3]=e;f=Sb(a+332|0,f,a+376|0,a+16|0)}h=j[a+332>>2];if(!h){break b}g=j[i>>2];j[i>>2]=h;if(g){O[j[i+4>>2]](g)}}g=j[a+332>>2];h=g+f|0;m=Bb(g,h,c);j[a+80>>2]=77;g=Da(a+72|0,0,a+80|0);d:{if(j[a+332>>2]==(a+336|0)){f=a+80|0;k=a+336|0;break d}f=ja(f<<3);if(!f){break b}k=j[g>>2];j[g>>2]=f;if(k){O[j[g+4>>2]](k)}k=j[a+332>>2]}l=j[c+28>>2];j[a+56>>2]=l;j[l+4>>2]=j[l+4>>2]+1;rg(k,m,h,f,a+68|0,a- -64|0,a+56|0);h=j[a+56>>2];k=j[h+4>>2]-1|0;j[h+4>>2]=k;if((k|0)==-1){O[j[j[h>>2]+8>>2]](h)}c=_b(b,f,j[a+68>>2],j[a+64>>2],c,d);b=j[g>>2];j[g>>2]=0;if(b){O[j[g+4>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+384|0;return c|0}Fa();z()}function Gm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,k=0,l=0,m=0;a=M-208|0;M=a;j[a+200>>2]=37;j[a+204>>2]=0;g=md(a+200|1,127641,j[c+4>>2]);j[a+156>>2]=a+160;f=ra();a:{if(g){i=j[c+8>>2];o[a+40>>3]=e;j[a+32>>2]=i;f=fb(a+160|0,30,f,a+200|0,a+32|0);break a}o[a+48>>3]=e;f=fb(a+160|0,30,f,a+200|0,a+48|0)}j[a+80>>2]=77;i=Da(a+144|0,0,a+80|0);b:{if((f|0)>=30){f=ra();c:{if(g){g=j[c+8>>2];o[a+8>>3]=e;j[a>>2]=g;f=Sb(a+156|0,f,a+200|0,a);break c}o[a+16>>3]=e;f=Sb(a+156|0,f,a+200|0,a+16|0)}h=j[a+156>>2];if(!h){break b}g=j[i>>2];j[i>>2]=h;if(g){O[j[i+4>>2]](g)}}g=j[a+156>>2];h=g+f|0;m=Bb(g,h,c);j[a+80>>2]=77;g=Da(a+72|0,0,a+80|0);d:{if(j[a+156>>2]==(a+160|0)){f=a+80|0;k=a+160|0;break d}f=ja(f<<1);if(!f){break b}k=j[g>>2];j[g>>2]=f;if(k){O[j[g+4>>2]](k)}k=j[a+156>>2]}l=j[c+28>>2];j[a+56>>2]=l;j[l+4>>2]=j[l+4>>2]+1;tg(k,m,h,f,a+68|0,a- -64|0,a+56|0);h=j[a+56>>2];k=j[h+4>>2]-1|0;j[h+4>>2]=k;if((k|0)==-1){O[j[j[h>>2]+8>>2]](h)}c=$b(b,f,j[a+68>>2],j[a+64>>2],c,d);b=j[g>>2];j[g>>2]=0;if(b){O[j[g+4>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+208|0;return c|0}Fa();z()}function Wm(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=M-16|0;M=m;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[b+4356>>2]=0;j[b+4360>>2]=0;j[b+4376>>2]=0;e=j[b>>2];if(e){while(1){gf(m,e,c,d);f=k[m+11|0];g=f<<24>>24;n=(g|0)<0;f=n?j[m+4>>2]:f;if(f){aa(a,n?j[m>>2]:m,f);g=k[m+11|0]}e=j[e+68>>2];if(g<<24>>24<=-1){T(j[m>>2])}if(e){continue}break}}f=j[(k[c|0]<<2)+b>>2];a:{if(!f){break a}while(1){g=f+4|0;g=h[f+15|0]<0?j[g>>2]:g;e=k[g|0];b:{if(!e){break b}n=c;if((e|0)!=46&k[n|0]!=(e|0)){break b}while(1){e=k[g+1|0];if(!e){break b}o=k[n+1|0];n=n+1|0;g=g+1|0;if(!((e|0)!=46&(e|0)!=(o|0))){continue}break}}if(e){f=j[f+76>>2];if(f){continue}break a}gf(m,f,c,d);e=k[m+11|0];n=e<<24>>24;o=(n|0)<0;q=o?j[m+4>>2]:e;c:{if(!q){break c}e=j[f+56>>2];d:{if(!e){break d}g=i[f+60>>1];t=(g<<1)+e|0;if(g){u=l[b+4464>>1];while(1){p=g>>>1|0;r=(p<<1)+e|0;s=l[r>>1]>>0;e=s?r+2|0:e;g=s?(p^-1)+g|0:p;if(g){continue}break}}if((e|0)==(t|0)){break d}if(l[b+4464>>1]>=l[e>>1]){break c}}aa(a,o?j[m>>2]:m,q);j[b+4376>>2]=f;n=h[m+11|0]}f=j[f+72>>2];if((n|0)<=-1){T(j[m>>2])}if(f){continue}break}}M=m+16|0}function tn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Wc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Cc(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127600)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Gg(b,j[f+188>>2],d,i),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function nn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Wc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Cc(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127600)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Cg(b,j[f+188>>2],d,i),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function ld(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=M-16|0;M=l;o=rb(g);i=Bc(g);g=i;O[j[j[g>>2]+20>>2]](l,g);if(k[l+11|0]>>>7|0){g=j[l+4>>2]}else{g=k[l+11|0]}a:{if(!g){O[j[j[o>>2]+48>>2]](o,a,c,d)|0;g=(c-a<<2)+d|0;j[f>>2]=g;break a}j[f>>2]=d;b:{c:{m=a;g=k[m|0];switch(g-43|0){case 0:case 2:break c;default:break b}}n=O[j[j[o>>2]+44>>2]](o,g<<24>>24)|0;g=j[f>>2];j[f>>2]=g+4;j[g>>2]=n;m=a+1|0}if(!(k[m|0]!=48|(c-m|0)<2|(k[m+1|0]|32)!=120)){n=O[j[j[o>>2]+44>>2]](o,48)|0;g=j[f>>2];j[f>>2]=g+4;j[g>>2]=n;n=O[j[j[o>>2]+44>>2]](o,h[m+1|0])|0;g=j[f>>2];j[f>>2]=g+4;j[g>>2]=n;m=m+2|0}pc(m,c);r=O[j[j[i>>2]+16>>2]](i)|0;n=0;g=m;while(1){if(c>>>0<=g>>>0){kd((m-a<<2)+d|0,j[f>>2]);g=j[f>>2]}else{if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}p=!k[i+n|0];if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}if(!(p|h[i+n|0]!=(q|0))){i=j[f>>2];j[f>>2]=i+4;j[i>>2]=r;if(k[l+11|0]>>>7|0){i=j[l+4>>2]}else{i=k[l+11|0]}n=(i-1>>>0>n>>>0)+n|0;q=0}p=O[j[j[o>>2]+44>>2]](o,h[g|0])|0;i=j[f>>2];j[f>>2]=i+4;j[i>>2]=p;g=g+1|0;q=q+1|0;continue}break}}j[e>>2]=(b|0)==(c|0)?g:(b-a<<2)+d|0;Y(l);M=l+16|0}function od(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=M-16|0;M=l;o=sb(g);i=Dc(g);g=i;O[j[j[g>>2]+20>>2]](l,g);if(k[l+11|0]>>>7|0){g=j[l+4>>2]}else{g=k[l+11|0]}a:{if(!g){O[j[j[o>>2]+32>>2]](o,a,c,d)|0;g=(c-a|0)+d|0;j[f>>2]=g;break a}j[f>>2]=d;b:{c:{m=a;g=k[m|0];switch(g-43|0){case 0:case 2:break c;default:break b}}n=O[j[j[o>>2]+28>>2]](o,g<<24>>24)|0;g=j[f>>2];j[f>>2]=g+1;h[g|0]=n;m=a+1|0}if(!(k[m|0]!=48|(c-m|0)<2|(k[m+1|0]|32)!=120)){n=O[j[j[o>>2]+28>>2]](o,48)|0;g=j[f>>2];j[f>>2]=g+1;h[g|0]=n;n=O[j[j[o>>2]+28>>2]](o,h[m+1|0])|0;g=j[f>>2];j[f>>2]=g+1;h[g|0]=n;m=m+2|0}pc(m,c);r=O[j[j[i>>2]+16>>2]](i)|0;n=0;g=m;while(1){if(c>>>0<=g>>>0){pc((m-a|0)+d|0,j[f>>2]);g=j[f>>2]}else{if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}p=!k[i+n|0];if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}if(!(p|h[i+n|0]!=(q|0))){i=j[f>>2];j[f>>2]=i+1;h[i|0]=r;if(k[l+11|0]>>>7|0){i=j[l+4>>2]}else{i=k[l+11|0]}n=(i-1>>>0>n>>>0)+n|0;q=0}p=O[j[j[o>>2]+28>>2]](o,h[g|0])|0;i=j[f>>2];j[f>>2]=i+1;h[i|0]=p;g=g+1|0;q=q+1|0;continue}break}}j[e>>2]=(b|0)==(c|0)?g:(b-a|0)+d|0;Y(l);M=l+16|0}function ne(a,b,c,d,e,f,g,i,l,m,n,o){var p=0;p=M-16|0;M=p;j[p+12>>2]=a;a:{b:{if((a|0)==(f|0)){if(!k[b|0]){break b}a=0;h[b|0]=0;b=j[e>>2];j[e>>2]=b+1;h[b|0]=46;if(k[i+11|0]>>>7|0){b=j[i+4>>2]}else{b=k[i+11|0]}if(!b){break a}b=j[m>>2];if((b-l|0)>159){break a}c=j[n>>2];j[m>>2]=b+4;j[b>>2]=c;break a}if(k[i+11|0]>>>7|0){f=j[i+4>>2]}else{f=k[i+11|0]}if(!(!f|(a|0)!=(g|0))){if(!k[b|0]){break b}a=0;b=j[m>>2];if((b-l|0)>159){break a}a=j[n>>2];j[m>>2]=b+4;j[b>>2]=a;a=0;j[n>>2]=0;break a}a=-1;f=me(o,o+128|0,p+12|0)-o|0;if((f|0)>124){break a}g=k[(f>>2)+127600|0];c:{d:{switch(Fr(f-88|0,30)|0){case 2:case 3:b=j[e>>2];if((k[b-1|0]&95)!=(k[c|0]&127)?(b|0)!=(d|0):0){break a}j[e>>2]=b+1;h[b|0]=g;a=0;break a;case 0:case 1:h[c|0]=80;break c;default:break d}}a=h[c|0];if((a|0)!=(g&95)){break c}h[c|0]=a|128;if(!k[b|0]){break c}h[b|0]=0;if(k[i+11|0]>>>7|0){a=j[i+4>>2]}else{a=k[i+11|0]}if(!a){break c}a=j[m>>2];if((a-l|0)>159){break c}b=j[n>>2];j[m>>2]=a+4;j[a>>2]=b}a=j[e>>2];j[e>>2]=a+1;h[a|0]=g;a=0;if((f|0)>84){break a}j[n>>2]=j[n>>2]+1;break a}a=-1}M=p+16|0;return a}function wn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Wc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Cc(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127600)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Hg(b,j[f+188>>2],d,i),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function qn(a,b,c,d,e){var f=0,g=0,l=0,m=0,n=0,o=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;l=Tb(c);Wc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){m=j[b+4>>2]}else{m=k[b+11|0]}fa(g,m<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Cc(Ga(f+264|0),l,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127600)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}n=e,o=Fg(b,j[f+188>>2],d,l),i[n>>1]=o;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function pn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Wc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Cc(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127600)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Dg(b,j[f+188>>2],d,i),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function Yh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=M-32|0;M=e;a:{d=j[a+8>>2];f=j[a>>2];b:{if((d-f|0)/60>>>0>=b>>>0){break b}c=j[a+4>>2];j[e+24>>2]=a+8;j[e+20>>2]=0;if(b>>>0>=71582789){break a}g=p(b,60);b=U(g);h=b+g|0;g=b+p((c-f|0)/60|0,60)|0;c:{if((c|0)==(f|0)){b=g;c=f;break c}b=g;while(1){c=c-60|0;d=j[c+4>>2];b=b-60|0;j[b>>2]=j[c>>2];j[b+4>>2]=d;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[b+20>>2]=j[c+20>>2];d=j[c+16>>2];j[b+12>>2]=j[c+12>>2];j[b+16>>2]=d;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[b+32>>2]=j[c+32>>2];d=j[c+28>>2];j[b+24>>2]=j[c+24>>2];j[b+28>>2]=d;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[b+44>>2]=j[c+44>>2];d=j[c+40>>2];j[b+36>>2]=j[c+36>>2];j[b+40>>2]=d;j[c+44>>2]=0;j[c+36>>2]=0;j[c+40>>2]=0;j[b+56>>2]=j[c+56>>2];d=j[c+52>>2];j[b+48>>2]=j[c+48>>2];j[b+52>>2]=d;j[c+48>>2]=0;j[c+52>>2]=0;j[c+56>>2]=0;if((c|0)!=(f|0)){continue}break}d=j[a+8>>2];f=j[a+4>>2];c=j[a>>2]}j[a>>2]=b;j[e+12>>2]=c;j[a+4>>2]=g;j[e+16>>2]=f;j[a+8>>2]=h;j[e+8>>2]=c;j[e+20>>2]=d;Wh(e+8|0,c);a=j[e+8>>2];if(!a){break b}T(a)}M=e+32|0;return}D();z()}function qe(a,b,c,d,e,f,g,i,l,m,n,o){var p=0;p=M-16|0;M=p;h[p+15|0]=a;a:{b:{if((a|0)==(f|0)){if(!k[b|0]){break b}a=0;h[b|0]=0;b=j[e>>2];j[e>>2]=b+1;h[b|0]=46;if(k[i+11|0]>>>7|0){b=j[i+4>>2]}else{b=k[i+11|0]}if(!b){break a}b=j[m>>2];if((b-l|0)>159){break a}c=j[n>>2];j[m>>2]=b+4;j[b>>2]=c;break a}if(k[i+11|0]>>>7|0){f=j[i+4>>2]}else{f=k[i+11|0]}if(!(!f|(a|0)!=(g|0))){if(!k[b|0]){break b}a=0;b=j[m>>2];if((b-l|0)>159){break a}a=j[n>>2];j[m>>2]=b+4;j[b>>2]=a;a=0;j[n>>2]=0;break a}a=-1;f=pe(o,o+32|0,p+15|0)-o|0;if((f|0)>31){break a}g=k[f+127600|0];c:{d:{switch(f-22|0){case 2:case 3:b=j[e>>2];if((k[b-1|0]&95)!=(k[c|0]&127)?(b|0)!=(d|0):0){break a}j[e>>2]=b+1;h[b|0]=g;a=0;break a;case 0:case 1:h[c|0]=80;break c;default:break d}}a=h[c|0];if((a|0)!=(g&95)){break c}h[c|0]=a|128;if(!k[b|0]){break c}h[b|0]=0;if(k[i+11|0]>>>7|0){a=j[i+4>>2]}else{a=k[i+11|0]}if(!a){break c}a=j[m>>2];if((a-l|0)>159){break c}b=j[n>>2];j[m>>2]=a+4;j[a>>2]=b}a=j[e>>2];j[e>>2]=a+1;h[a|0]=g;a=0;if((f|0)>21){break a}j[n>>2]=j[n>>2]+1;break a}a=-1}M=p+16|0;return a}function _c(a){var b=0,c=0,d=0;c=h[a+11|0];a:{if((c|0)<=-1){c=U(j[a+4>>2]+1|0);a=j[a>>2];break a}c=U((c&255)+1|0)}d=c;b=k[a|0];if(b){while(1){b:{c:{if((b-65&255)>>>0<=25){b=b+32|0;break c}if((b-97&255)>>>0<26){break c}if((b-48&255)>>>0>9){break b}}h[d|0]=b;d=d+1|0}b=k[a+1|0];a=a+1|0;if(b){continue}break}}b=0;h[d|0]=0;d:{if(!ba(c,120592)){break d}if(!ba(c,120601)){b=1;break d}if(!ba(c,120610)){b=2;break d}if(!ba(c,120619)){b=3;break d}if(!ba(c,120628)){b=4;break d}if(!ba(c,120637)){b=5;break d}if(!ba(c,120646)){b=6;break d}if(!ba(c,120655)){b=7;break d}if(!ba(c,120664)){b=8;break d}if(!ba(c,120673)){b=9;break d}if(!ba(c,120683)){b=10;break d}if(!ba(c,120690)){b=11;break d}if(!ba(c,120701)){b=12;break d}if(!ba(c,120711)){b=13;break d}if(!ba(c,120721)){b=14;break d}if(!ba(c,120731)){b=15;break d}if(!ba(c,120741)){b=16;break d}if(!ba(c,120747)){b=17;break d}if(!ba(c,120753)){b=18;break d}if(!ba(c,120760)){b=19;break d}if(!ba(c,120776)){b=20;break d}if(!ba(c,120785)){b=21;break d}T(c);return 134576}T(c);return j[(b<<3)+1844>>2]}function Jh(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0;g=M-16|0;M=g;a:{b:{c:{d:{e:{f:{g:{f=h[a+11|0];h:{if((f|0)<=-1){i=b-j[a>>2]|0;e=d-c|0;if(!e){break b}f=j[a>>2];l=j[a+4>>2];if(l+f>>>0>c>>>0?f>>>0<=c>>>0:0){break h}b=(j[a+8>>2]&2147483647)-1|0;if(b-l>>>0>=e>>>0){break f}break d}i=b-a|0;e=d-c|0;if(!e){break b}l=f&255;if(l+a>>>0<=c>>>0|a>>>0>c>>>0){break g}}if(e>>>0>=4294967280){break e}i:{if(e>>>0<=10){h[g+11|0]=e;i=g;break i}f=e+16&-16;i=U(f);j[g+8>>2]=f|-2147483648;j[g>>2]=i;j[g+4>>2]=e}if((c|0)!=(d|0)){f=c;c=d-c|0;i=V(i,f,c)+c|0}h[i|0]=0;f=a;d=b;c=k[g+11|0];b=c<<24>>24<0;a=b?j[g>>2]:g;c=Jh(f,d,a,a+(b?j[g+4>>2]:c)|0);if(h[g+11|0]>-1){break a}T(j[g>>2]);break a}b=10;f=a;if(10-l>>>0>>0){break d}}m=l-i|0;if(!m){break c}b=i+f|0;Ja(b+e|0,b,m);break c}X();z()}pb(a,b,(e-b|0)+l|0,l,i,0,e);f=j[a>>2]}b=e+l|0;j:{if(h[a+11|0]<=-1){j[a+4>>2]=b;break j}h[a+11|0]=b}h[b+f|0]=0;if((c|0)==(d|0)){break b}e=i+f|0;while(1){h[e|0]=k[c|0];e=e+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}if(h[a+11|0]<=-1){a=j[a>>2]}c=a+i|0}M=g+16|0;return c}function ep(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0;k=j[b>>2];g=j[c+4>>2];c=j[c>>2];e=j[b+4>>2];if((g|0)!=(e|0)){h=(p(c-k>>2,341)+((g-j[c>>2]|0)/12|0)|0)+((e-j[k>>2]|0)/-12|0)|0}e=j[a+8>>2];d=j[a+4>>2];c=e-d|0;f=c?p(c>>2,341)-1|0:0;c=j[a+20>>2];g=c+j[a+16>>2]|0;f=f-g|0;if(f>>>0>>0){cp(a,h-f|0);c=j[a+20>>2];g=c+j[a+16>>2]|0;d=j[a+4>>2];e=j[a+8>>2]}i=(g>>>0)/341|0;f=(i<<2)+d|0;e=(d|0)==(e|0)?0:j[f>>2]+p(g-p(i,341)|0,12)|0;m=e;a:{if(!h){i=f;g=e;break a}d=((e-j[f>>2]|0)/12|0)+h|0;if((d|0)>=1){l=(d>>>0)/341|0;i=(l<<2)+f|0;g=j[i>>2]+p(d-p(l,341)|0,12)|0;break a}d=340-d|0;i=((d|0)/-341<<2)+f|0;g=j[i>>2]+p(340-((d|0)%341|0)|0,12)|0}b:{if((m|0)==(g|0)){break b}while(1){d=g;m=(f|0)==(i|0);d=m?d:j[f>>2]+4092|0;c:{if((e|0)==(d|0)){d=e;break c}h=j[b+4>>2];c=e;while(1){c=ha(c,h);h=h+12|0;j[b+4>>2]=h;c=c+12|0;if((h-j[k>>2]|0)==4092){l=k+4|0;j[b>>2]=l;h=j[k+4>>2];j[b+4>>2]=h;k=l}if((c|0)!=(d|0)){continue}break}c=j[a+20>>2]}c=((d-e|0)/12|0)+c|0;j[a+20>>2]=c;if(m){break b}e=j[f+4>>2];f=f+4|0;if((e|0)!=(g|0)){continue}break}}}function nd(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0;e=M-16|0;M=e;a:{b:{if((c|0)<2){break b}c=j[a+4100>>2]+100|0;if(j[c>>2]==j[c+4>>2]){break b}c=j[a+4100>>2]+100|0;if(j[c+4>>2]==j[c>>2]){break b}while(1){c:{i=p(l,60);g=i+j[j[a+4100>>2]+100>>2]|0;c=h[g+23|0];d:{if((c|0)<=-1){c=j[g+16>>2];break d}c=c&255}if(!c){break c}g=j[j[a+4100>>2]+100>>2]+i|0;c=h[g+11|0];e:{if((c|0)<=-1){g=j[g+4>>2];break e}g=c&255}c=b;while(1){d=j[j[a+4100>>2]+100>>2]+i|0;if(h[d+11|0]<=-1){d=j[d>>2]}m=ca(c,d);if(!m){break c}f=W(b);if(f>>>0>=4294967280){break a}f:{g:{if(f>>>0>=11){d=f+16&-16;c=U(d);j[e+8>>2]=d|-2147483648;j[e>>2]=c;j[e+4>>2]=f;break g}h[e+11|0]=f;c=e;if(!f){break f}}V(c,b,f)}h[c+f|0]=0;f=j[j[a+4100>>2]+100>>2]+i|0;c=k[f+23|0];d=c<<24>>24<0;oc(e,m-b|0,g,d?j[f+12>>2]:f+12|0,d?j[f+16>>2]:c);d=k[e+11|0];c=d<<24>>24<0;d=ug(a,c?j[e>>2]:e,c?j[e+4>>2]:d);if(h[e+11|0]<=-1){T(j[e>>2])}c=m+1|0;if(!d){continue}break}g=1;break b}g=0;l=l+1|0;c=j[a+4100>>2]+100|0;if(l>>>0<(j[c+4>>2]-j[c>>2]|0)/60>>>0){continue}break}}M=e+16|0;return g}X();z()}function Ck(a,b,c,d,e,f,g,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var l=0,m=0,n=0,o=0;n=M-16|0;M=n;l=c;while(1){a:{if((d|0)==(l|0)){l=d;break a}if(!j[l>>2]){break a}l=l+4|0;continue}break}j[i>>2]=f;j[e>>2]=c;while(1){b:{c:{if(!((f|0)==(g|0)|(c|0)==(d|0))){m=j[b+4>>2];j[n+8>>2]=j[b>>2];j[n+12>>2]=m;m=1;d:{e:{f:{g:{h:{o=Bk(f,e,l-c>>2,g-f|0,j[a+8>>2]);switch(o+1|0){case 0:break h;case 1:break c;default:break g}}j[i>>2]=f;while(1){i:{if(j[e>>2]==(c|0)){break i}b=ge(f,j[c>>2],j[a+8>>2]);if((b|0)==-1){break i}f=b+j[i>>2]|0;j[i>>2]=f;c=c+4|0;continue}break}j[e>>2]=c;break f}f=j[i>>2]+o|0;j[i>>2]=f;if((f|0)==(g|0)){break d}if((d|0)==(l|0)){c=j[e>>2];l=d;continue}l=ge(n+4|0,0,j[a+8>>2]);if((l|0)!=-1){break e}}m=2;break c}c=n+4|0;if(g-j[i>>2]>>>0>>0){break c}while(1){if(l){f=k[c|0];m=j[i>>2];j[i>>2]=m+1;h[m|0]=f;l=l-1|0;c=c+1|0;continue}break}c=j[e>>2]+4|0;j[e>>2]=c;l=c;while(1){if((d|0)==(l|0)){l=d;break b}if(!j[l>>2]){break b}l=l+4|0;continue}}c=j[e>>2]}m=(c|0)!=(d|0)}M=n+16|0;return m|0}f=j[i>>2];continue}}function Bd(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);h[b+12|0]=c;a:{if(c){break a}while(1){d=j[b+8>>2];if(k[d+12|0]){break a}b:{c=j[d+8>>2];e=j[c>>2];if((d|0)==(e|0)){e=j[c+4>>2];if(!(!e|k[e+12|0])){break b}c:{if(j[d>>2]==(b|0)){b=d;break c}b=j[d+4>>2];e=j[b>>2];j[d+4>>2]=e;a=b;if(e){j[e+8>>2]=d;c=j[d+8>>2]}j[a+8>>2]=c;a=j[d+8>>2];j[(((d|0)!=j[a>>2])<<2)+a>>2]=b;j[b>>2]=d;j[d+8>>2]=b;c=j[b+8>>2]}h[b+12|0]=1;h[c+12|0]=0;a=j[c>>2];b=j[a+4>>2];j[c>>2]=b;if(b){j[b+8>>2]=c}j[a+8>>2]=j[c+8>>2];b=j[c+8>>2];j[((j[b>>2]!=(c|0))<<2)+b>>2]=a;j[a+4>>2]=c;j[c+8>>2]=a;return}if(!(k[e+12|0]|!e)){break b}d:{if(j[d>>2]!=(b|0)){b=d;break d}e=j[b+4>>2];j[d>>2]=e;a=b;if(e){j[e+8>>2]=d;c=j[d+8>>2]}j[a+8>>2]=c;a=j[d+8>>2];j[(((d|0)!=j[a>>2])<<2)+a>>2]=b;j[b+4>>2]=d;j[d+8>>2]=b;c=j[b+8>>2]}h[b+12|0]=1;h[c+12|0]=0;a=j[c+4>>2];b=j[a>>2];j[c+4>>2]=b;if(b){j[b+8>>2]=c}j[a+8>>2]=j[c+8>>2];b=j[c+8>>2];j[((j[b>>2]!=(c|0))<<2)+b>>2]=a;j[a>>2]=c;j[c+8>>2]=a;break a}h[d+12|0]=1;h[c+12|0]=(a|0)==(c|0);h[e+12|0]=1;b=c;if((b|0)!=(a|0)){continue}break}}}function Be(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;g=M-32|0;M=g;e=d&2147483647;h=e;f=e-1006698496|0;e=e-1140785152|0;i=c;a:{if((f|0)==(e|0)&c>>>0>c>>>0|e>>>0>f>>>0){e=d<<4|c>>>28;c=c<<4|b>>>28;b=b&268435455;h=b;if((b|0)==134217728&a>>>0>=1|b>>>0>134217728){e=e+1073741824|0;a=c+1|0;e=a>>>0<1?e+1|0:e;f=a;break a}f=c;e=e+1073741824|0;if(a|h^134217728){break a}b=c&1;a=b+f|0;e=a>>>0>>0?e+1|0:e;f=a;break a}if(!(!i&(h|0)==2147418112?!(a|b):h>>>0<2147418112)){f=c;c=d<<4|c>>>28;f=f<<4|b>>>28;e=c&524287|2146959360;break a}f=0;e=2146435072;if(h>>>0>1140785151){break a}e=0;h=h>>>16|0;if(h>>>0<15249){break a}e=d&65535|65536;mb(g+16|0,a,b,c,e,h-15233|0);Fc(g,a,b,c,e,15361-h|0);e=j[g+4>>2];h=e;a=j[g+8>>2];c=j[g+12>>2]<<4|a>>>28;f=a<<4|e>>>28;e=c;a=h&268435455;c=a;b=j[g>>2]|((j[g+16>>2]|j[g+24>>2])!=0|(j[g+20>>2]|j[g+28>>2])!=0);if((a|0)==134217728&b>>>0>=1|a>>>0>134217728){a=f+1|0;e=a>>>0<1?e+1|0:e;f=a;break a}if(b|c^134217728){break a}a=f+(f&1)|0;e=a>>>0>>0?e+1|0:e;f=a}M=g+32|0;Ir(0,f|0);Ir(1,d&-2147483648|e);return+Jr()}function kg(a,b,c){var d=0,e=0,f=0;d=M-32|0;M=d;b=b+c|0;a:{b:{c:{d:{if(j[a+4144>>2]){while(1){b=b-1|0;if((k[b|0]&192)==128){continue}break}c=W(b);if(c>>>0>=4294967280){break c}e:{f:{if(c>>>0>=11){f=c+16&-16;e=U(f);j[d+24>>2]=f|-2147483648;j[d+16>>2]=e;j[d+20>>2]=c;break f}h[d+27|0]=c;e=d+16|0;if(!c){break e}}V(e,b,c)}b=0;h[c+e|0]=0;j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;ia(d,d+16|0);c=0;f=j[d+4>>2];e=j[d>>2];if(f-e>>1>>>0>=2){c=k[e+2|0]|k[e+3|0]<<8}b=(e|0)!=(f|0)?k[e|0]|k[e+1|0]<<8:b;e=c&65535;g:{if((Ye(e,j[a+4456>>2])|0)!=(e|0)){a=Ye(b,j[a+4456>>2]);if((b|0)==45|(c&65535)==45|(a|0)!=(b|0)){break g}break b}if((e|0)==45){break g}if((b|0)!=45){break b}}a=j[d>>2];if(a){j[d+4>>2]=a;T(a)}if(h[d+27|0]>-1){break d}T(j[d+16>>2]);break d}c=k[b|0];a=j[a+4140>>2];b=k[b-1|0];if(!k[a+p(b,3)|0]){if((c|0)==45|(b|0)==45){break d}b=1;if(!k[a+p(c,3)|0]){break d}break a}if((b|0)==45){break d}b=1;if((c|0)!=45){break a}}b=0;break a}X();z()}a=j[d>>2];if(a){j[d+4>>2]=a;T(a)}if(h[d+27|0]<=-1){T(j[d+16>>2])}b=1}M=d+32|0;return b}function kp(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=M-32|0;M=g;a:{if(j[b+32>>2]!=j[b+36>>2]){break a}d=j[b+28>>2];e=(d>>>0)/341|0;if((Hc(b,j[j[b+16>>2]+(e<<2)>>2]+p(d-p(e,341)|0,12)|0)|0)==(b+4|0)){break a}d=j[b+28>>2];e=(d>>>0)/341|0;d=j[j[b+16>>2]+(e<<2)>>2]+p(d-p(e,341)|0,12)|0;j[g+16>>2]=d;jp(g+24|0,b,d,g+16|0);Me(j[j[g+24>>2]+28>>2]);d=j[b+28>>2];e=(d>>>0)/341|0;Bh(b,j[j[b+16>>2]+(e<<2)>>2]+p(d-p(e,341)|0,12)|0);e=b;d=j[b+28>>2];f=(d>>>0)/341|0;f=j[j[b+16>>2]+(f<<2)>>2]+p(d-p(f,341)|0,12)|0;if(h[f+11|0]<=-1){T(j[f>>2]);d=j[b+28>>2]}d=d+1|0;j[e+28>>2]=d;j[b+32>>2]=j[b+32>>2]-1;if(d>>>0<682){break a}T(j[j[b+16>>2]>>2]);j[b+16>>2]=j[b+16>>2]+4;j[b+28>>2]=j[b+28>>2]-341}d=j[b+32>>2]+j[b+28>>2]|0;f=j[b+20>>2];e=j[b+16>>2];i=f-e|0;if((d|0)==((i?p(i>>2,341)-1|0:0)|0)){Ah(b+12|0);f=j[b+20>>2];e=j[b+16>>2];d=j[b+28>>2]+j[b+32>>2]|0}if((e|0)!=(f|0)){f=e;e=(d>>>0)/341|0;e=j[f+(e<<2)>>2]+p(d-p(e,341)|0,12)|0}else{e=0}ha(e,c);j[b+32>>2]=j[b+32>>2]+1;ip(g+24|0,b,c,c);j[a>>2]=j[g+24>>2];h[a+4|0]=k[g+28|0];M=g+32|0}function Uf(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=Zf(c);b:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break b}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}Pb(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=Yf(c);c:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break c}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}Pb(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function Wf(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=cg(c);b:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break b}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}db(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=bg(c);c:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break c}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}db(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function fk(a,b,c){var d=0,e=0,f=0,g=0,i=0,j=0,l=0;d=a;while(1){a:{if(c>>>0<=j>>>0|b>>>0<=d>>>0){break a}g=h[d|0];f=g&255;b:{if((g|0)>=0){g=1;if(f>>>0<=1114111){break b}break a}if(f>>>0<194){break a}if(f>>>0<=223){if((b-d|0)<2){break a}e=k[d+1|0];if((e&192)!=128){break a}g=2;if((e&63|f<<6&1984)>>>0<=1114111){break b}break a}c:{d:{if(f>>>0<=239){if((b-d|0)<3){break a}i=k[d+2|0];e=k[d+1|0];if((f|0)==237){break d}if((f|0)==224){if((e&224)==160){break c}break a}if((e&192)!=128){break a}break c}if((b-d|0)<4|f>>>0>244){break a}i=k[d+2|0];e=k[d+1|0];e:{f:{switch(f-240|0){case 0:if((e+112&255)>>>0<48){break e}break a;case 4:if((e&240)==128){break e}break a;default:break f}}if((e&192)!=128){break a}}if((i&192)!=128){break a}l=k[d+3|0];if((l&192)!=128){break a}g=4;if((l&63|(i<<6&4032|(f<<18&1835008|(e&63)<<12)))>>>0>1114111){break a}break b}if((e&224)!=128){break a}}if((i&192)!=128){break a}g=3;if((i&63|(f<<12&61440|(e&63)<<6))>>>0>1114111){break a}}j=j+1|0;d=d+g|0;continue}break}return d-a|0}function Qq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;a:{b:{e=d-c|0;c:{if((e|0)<1){break c}m=e>>1;i=j[a+8>>2];n=j[a+4>>2];if((m|0)<=i-n>>1){g=n-b|0;e=g>>1;d:{if((e|0)>=(m|0)){f=n;l=d;break d}f=n;l=(e<<1)+c|0;if((l|0)!=(d|0)){e=l;while(1){i=k[e|0]|k[e+1|0]<<8;h[f|0]=i;h[f+1|0]=i>>>8;f=f+2|0;e=e+2|0;if((e|0)!=(d|0)){continue}break}}j[a+4>>2]=f;if((g|0)<1){break c}}d=m<<1;m=f-(d+b|0)|0;e=f;d=e-d|0;if(n>>>0>d>>>0){while(1){g=k[d|0]|k[d+1|0]<<8;h[e|0]=g;h[e+1|0]=g>>>8;e=e+2|0;d=d+2|0;if(n>>>0>d>>>0){continue}break}}j[a+4>>2]=e;if(m){Ja(f-(m>>1<<1)|0,b,m)}a=l-c|0;if(!a){break c}Ja(b,c,a);return}l=j[a>>2];g=m+(n-l>>1)|0;if((g|0)<=-1){break b}i=i-l|0;g=i>>1>>>0<1073741823?g>>>0>i>>>0?g:i:2147483647;f=0;e:{if(!g){break e}if((g|0)<=-1){break a}f=U(g<<1)}i=b-l|0;o=c;c=c-d|0;c=V(f+(i>>1<<1)|0,o,p(((c|0)>(e|0)?c:e)>>>1|0,(e|0)<1?e:1)<<1);if((i|0)>=1){V(f,l,i)}e=c+(m<<1)|0;c=n-b|0;if((c|0)>=1){e=V(e,b,c)+c|0}j[a+8>>2]=f+(g<<1);j[a+4>>2]=e;j[a>>2]=f;if(l){T(l)}}return}X();z()}D();z()}function lk(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=a;while(1){a:{if(c>>>0<=g>>>0|b>>>0<=e>>>0){break a}f=k[e|0];if(f>>>0>1114111){break a}d=e+1|0;b:{if(f<<24>>24>=0){break b}if(f>>>0<194){break a}if(f>>>0<=223){if((b-e|0)<2){break a}d=k[e+1|0];if((d&192)!=128|(d&63|f<<6&1984)>>>0>1114111){break a}d=e+2|0;break b}c:{d:{if(f>>>0<=239){if((b-e|0)<3){break a}h=k[e+2|0];d=k[e+1|0];if((f|0)==237){break d}if((f|0)==224){if((d&224)==160){break c}break a}if((d&192)!=128){break a}break c}if(c-g>>>0<2|f>>>0>244|(b-e|0)<4){break a}h=k[e+2|0];d=k[e+1|0];e:{f:{switch(f-240|0){case 0:if((d+112&255)>>>0<48){break e}break a;case 4:if((d&240)==128){break e}break a;default:break f}}if((d&192)!=128){break a}}if((h&192)!=128){break a}i=k[e+3|0];if((i&192)!=128|(i&63|(h<<6&4032|(f<<18&1835008|(d&63)<<12)))>>>0>1114111){break a}g=g+1|0;d=e+4|0;break b}if((d&224)!=128){break a}}if((h&192)!=128|(h&63|(f<<12&61440|(d&63)<<6))>>>0>1114111){break a}d=e+3|0}e=d;g=g+1|0;continue}break}return e-a|0}function Wq(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[a+44>>2]=0;j[a+48>>2]=0;j[a+12>>2]=0;j[a+32>>2]=0;j[a+36>>2]=0;g=a+52|0;j[g>>2]=0;j[g+4>>2]=0;j[a+60>>2]=0;m=a,n=cb(b),j[m+20>>2]=n;h=U(112);kr(h,c,b);k=a+4|0;a:{b:{c=j[a+8>>2];d=j[a+12>>2];c:{if(c>>>0>>0){j[c>>2]=h;j[a+8>>2]=c+4;break c}e=j[k>>2];i=c-e|0;c=i>>2;f=c+1|0;if(f>>>0>=1073741824){break b}l=c<<2;d=d-e|0;c=d>>1;f=d>>2>>>0<536870911?c>>>0>>0?f:c:1073741823;c=0;d:{if(!f){break d}if(f>>>0>=1073741824){break a}c=U(f<<2)}d=l+c|0;j[d>>2]=h;if((i|0)>=1){V(c,e,i)}j[a+12>>2]=c+(f<<2);j[a+8>>2]=d+4;j[a+4>>2]=c;if(!e){break c}T(e)}c=U(70028);b=Aq(c,b,k);j[a>>2]=c;b=Xj(b);c=a+24|0;ua(c,Bg(j[a>>2]));j[a+40>>2]=j[j[a>>2]+4456>>2];e=j[j[a>>2]+4144>>2];j[a+44>>2]=e;if(!e){m=a,n=_c(c),j[m+36>>2]=n}j[a+48>>2]=j[j[a>>2]+4148>>2];c=j[a>>2]+4232|0;if((c|0)!=(g|0)){Vq(g,j[c>>2],j[c+4>>2])}c=U(80);mq(c,b,j[a>>2]);j[a+16>>2]=c;if(b){T(b)}return}X();z()}D();z()}function Vq(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=(c-b|0)/12|0;e=j[a+8>>2];d=j[a>>2];if(g>>>0<=(e-d|0)/12>>>0){f=(j[a+4>>2]-d|0)/12|0;e=p(f,12)+b|0;i=f>>>0>>0?e:c;if((i|0)!=(b|0)){while(1){ua(d,b);d=d+12|0;b=b+12|0;if((i|0)!=(b|0)){continue}break}}b=j[a+4>>2];if(f>>>0>>0){if((c|0)!=(i|0)){while(1){b=ha(b,e)+12|0;e=e+12|0;if((e|0)!=(c|0)){continue}break}}j[a+4>>2]=b;return}if((b|0)!=(d|0)){while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((d|0)!=(b|0)){continue}break}}j[a+4>>2]=d;return}if(d){e=j[a+4>>2];f=d;a:{if((d|0)==(e|0)){break a}while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((d|0)!=(e|0)){continue}break}f=j[a>>2]}j[a+4>>2]=d;T(f);j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;e=0}b:{if(g>>>0>=357913942){break b}d=(e|0)/12|0;e=d<<1;d=d>>>0<178956970?e>>>0>>0?g:e:357913941;if(d>>>0>=357913942){break b}e=p(d,12);d=U(e);j[a>>2]=d;j[a+4>>2]=d;j[a+8>>2]=d+e;if((b|0)!=(c|0)){while(1){d=ha(d,b)+12|0;b=b+12|0;if((c|0)!=(b|0)){continue}break}}j[a+4>>2]=d;return}X();z()}function eb(a,b,c,d,e,f){var g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:{o=j[a+1024>>2];if(o){while(1){if(k[(l[o+30>>1]+a|0)+4492|0]){g=Ue(o,b,c,d,e,f);if(g){break a}}o=j[o+80>>2];if(o){continue}break}}b:{c:{if(!c){break c}r=(b+c|0)-1|0;m=j[((k[r|0]<<2)+a|0)+1024>>2];if(!m){break c}if((c|0)>=1){while(1){n=m+68|0;g=n;d:{if(h[m+79|0]>=0){break d}g=j[n>>2]}o=g;s=o+c|0;g=c;q=r;e:{f:{g:{while(1){p=k[o|0];if(!p){break g}if((p|0)!=k[q|0]?(p|0)!=46:0){break f}q=q-1|0;o=o+1|0;p=(g|0)>1;g=g-1|0;if(p){continue}break}if(k[s|0]){break f}}if(k[(l[m+30>>1]+a|0)+4492|0]){g=Ue(m,b,c,d,e,f);if(g){break b}}n=m+84|0;break e}n=m+88|0}m=j[n>>2];if(m){continue}break c}}while(1){n=m+68|0;if(h[m+79|0]<=-1){g=j[n>>2]}else{g=n}h:{if(!k[g|0]){if(k[(l[m+30>>1]+a|0)+4492|0]){g=Ue(m,b,c,d,e,f);if(g){break b}}n=m+84|0;break h}n=m+88|0}m=j[n>>2];if(m){continue}break}}g=0;break a}i[a+4364>>1]=l[m+30>>1];if(j[m+56>>2]){break a}if(h[n+11|0]<=-1){j[a+4356>>2]=j[n>>2];return g}j[a+4356>>2]=n;return g}return g}function ai(a){var b=0;a=h[a+11|0]<0?j[a>>2]:a;b=0;a:{b:{if(!ba(a,120801)){break b}b=1;if(!ba(a,120804)){break b}b=2;if(!ba(a,120807)){break b}b=3;if(!ba(a,120813)){break b}b=4;if(!ba(a,120816)){break b}b=5;if(!ba(a,120819)){break b}b=6;if(!ba(a,120823)){break b}b=7;if(!ba(a,120826)){break b}b=8;if(!ba(a,120829)){break b}b=9;if(!ba(a,120832)){break b}b=10;if(!ba(a,120835)){break b}b=11;if(!ba(a,120838)){break b}b=12;if(!ba(a,120841)){break b}b=13;if(!ba(a,120844)){break b}b=14;if(!ba(a,120847)){break b}b=15;if(!ba(a,120850)){break b}b=16;if(!ba(a,120853)){break b}b=17;if(!ba(a,120856)){break b}b=18;if(!ba(a,120862)){break b}b=19;if(!ba(a,120865)){break b}b=20;if(!ba(a,120868)){break b}b=21;if(!ba(a,120871)){break b}b=22;if(!ba(a,120874)){break b}b=23;if(!ba(a,120877)){break b}b=24;if(!ba(a,120880)){break b}b=25;if(!ba(a,120883)){break b}b=26;if(!ba(a,120886)){break b}b=27;if(!ba(a,120892)){break b}b=999;if(ba(a,120895)){break a}b=28}b=j[(b<<3)+2020>>2]}return b}function co(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{d=j[a>>2];e=(j[a+4>>2]-d|0)/12|0;c=e+1|0;if(c>>>0<357913942){d=(j[a+8>>2]-d|0)/12|0;g=d<<1;d=d>>>0<178956970?c>>>0>g>>>0?c:g:357913941;if(d){if(d>>>0>=357913942){break c}f=U(p(d,12))}c=p(e,12)+f|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;d=p(d,12)+f|0;f=c+12|0;b=j[a+4>>2];e=j[a>>2];if((b|0)==(e|0)){break b}while(1){c=c-12|0;j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;b=b-12|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;if((b|0)!=(e|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=f;e=j[a>>2];j[a>>2]=c;if((b|0)==(e|0)){break a}while(1){d=b-12|0;a=j[d>>2];if(a){g=b-8|0;c=j[g>>2];b=a;d:{if((a|0)==(c|0)){break d}while(1){b=c-12|0;if(h[c-1|0]<=-1){T(j[b>>2])}c=b;if((b|0)!=(a|0)){continue}break}b=j[d>>2]}f=b;j[g>>2]=a;T(f)}b=d;if((e|0)!=(b|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=f;j[a>>2]=c}if(e){T(e)}}function Ak(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,l=0,m=0;l=M-16|0;M=l;i=c;while(1){a:{if((d|0)==(i|0)){i=d;break a}if(!k[i|0]){break a}i=i+1|0;continue}break}j[h>>2]=f;j[e>>2]=c;while(1){b:{c:{d:{if((f|0)==(g|0)|(c|0)==(d|0)){break d}m=j[b+4>>2];j[l+8>>2]=j[b>>2];j[l+12>>2]=m;e:{f:{g:{m=zk(f,e,i-c|0,g-f>>2,b,j[a+8>>2]);h:{if((m|0)==-1){while(1){i:{j[h>>2]=f;if(j[e>>2]==(c|0)){break i}g=1;j:{k:{l:{b=Cf(f,c,i-c|0,l+8|0,j[a+8>>2]);switch(b+2|0){case 2:break j;case 1:break l;case 0:break f;default:break k}}j[e>>2]=c;break h}g=b}c=c+g|0;f=j[h>>2]+4|0;continue}break}j[e>>2]=c;break d}f=j[h>>2]+(m<<2)|0;j[h>>2]=f;if((f|0)==(g|0)){break e}c=j[e>>2];if((d|0)==(i|0)){i=d;continue}if(!Cf(f,c,1,b,j[a+8>>2])){break g}}a=2;break c}j[h>>2]=j[h>>2]+4;c=j[e>>2]+1|0;j[e>>2]=c;i=c;while(1){if((d|0)==(i|0)){i=d;break b}if(!k[i|0]){break b}i=i+1|0;continue}}j[e>>2]=c;a=1;break c}c=j[e>>2]}a=(c|0)!=(d|0)}M=l+16|0;return a|0}f=j[h>>2];continue}}function Jb(a,b){var c=0,d=0;c=M-176|0;M=c;a:{if(!b){b=cb(120906);break a}j[c+168>>2]=0;j[c+160>>2]=0;j[c+164>>2]=0;b:{c:{switch(j[a+8>>2]-1|0){case 0:Z(c+160|0,b<<16>>24);Z(c+160|0,b<<24>>24);break b;case 1:j[c+80>>2]=121092;j[c+24>>2]=121072;a=c+24|4;td(c+80|0,a);j[c+152>>2]=0;j[c+156>>2]=-1;j[c+80>>2]=121036;j[c+24>>2]=121016;d=wd(a);j[c+60>>2]=0;j[c+64>>2]=0;j[c+68>>2]=0;j[c+72>>2]=0;j[c+76>>2]=16;j[c+28>>2]=120536;ko(c+24|0,b);$q(c+8|0,a);if(h[c+171|0]<=-1){T(j[c+160>>2])}j[c+168>>2]=j[c+16>>2];a=j[c+12>>2];j[c+160>>2]=j[c+8>>2];j[c+164>>2]=a;j[c+80>>2]=121036;j[c+24>>2]=121016;j[c+28>>2]=120536;if(h[c+71|0]<=-1){T(j[c+60>>2])}ib(d);Ta(c+80|0);break b;case 2:a=U(2);j[c+24>>2]=a;d=a+2|0;j[c+32>>2]=d;h[a|0]=b;h[a+1|0]=b>>>8;j[c+28>>2]=d;da(c+160|0,c+24|0);a=j[c+24>>2];if(!a){break b}j[c+28>>2]=a;T(a);break b;default:break c}}Z(c+160|0,b<<24>>24)}b=cb(h[c+171|0]<0?j[c+160>>2]:c+160|0);if(h[c+171|0]>-1){break a}T(j[c+160>>2])}M=c+176|0;return b}function Vn(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0;a:{b:{c:{if(k[a+16|0]==80){f=U(84);zh(f,j[a+12>>2]);b=j[a+4>>2];c=j[a+8>>2];if(b>>>0>>0){j[b>>2]=f;j[a+4>>2]=b+4;break c}e=j[a>>2];g=b-e|0;b=g>>2;d=b+1|0;if(d>>>0>=1073741824){break b}i=b<<2;c=c-e|0;b=c>>1;d=c>>2>>>0<536870911?b>>>0>>0?d:b:1073741823;b=0;d:{if(!d){break d}if(d>>>0>=1073741824){break a}b=U(d<<2)}c=i+b|0;j[c>>2]=f;if((g|0)>=1){V(b,e,g)}j[a+8>>2]=b+(d<<2);j[a+4>>2]=c+4;j[a>>2]=b;if(!e){break c}T(e);break c}f=U(108);ci(f,j[a+12>>2]);b=j[a+4>>2];c=j[a+8>>2];if(b>>>0>>0){j[b>>2]=f;j[a+4>>2]=b+4;break c}e=j[a>>2];g=b-e|0;b=g>>2;d=b+1|0;if(d>>>0>=1073741824){break b}i=b<<2;c=c-e|0;b=c>>1;d=c>>2>>>0<536870911?b>>>0>>0?d:b:1073741823;b=0;e:{if(!d){break e}if(d>>>0>=1073741824){break a}b=U(d<<2)}c=i+b|0;j[c>>2]=f;if((g|0)>=1){V(b,e,g)}j[a+8>>2]=b+(d<<2);j[a+4>>2]=c+4;j[a>>2]=b;if(!e){break c}T(e)}b=j[j[a+4>>2]-4>>2];h[b+29|0]=k[j[j[a>>2]>>2]+29|0]&15;return b}X();z()}D();z()}function Kc(a,b,c,d,e,f,g){var l=0,m=0,n=0,o=0;l=M-48|0;M=l;m=k[b+11|0];n=m<<24>>24<0;a:{b:{c:{m=n?j[b+4>>2]:m;if(m>>>0>>0){break c}o=m;m=n?j[b>>2]:b;n=o+m|0;c=c+m|0;o=n-c|0;d:{e:{if((o|0)<2){break e}while(1){c=Aa(c,115,o-1|0);if(!c){break e}if((k[c|0]|k[c+1|0]<<8)==29555){break d}c=c+1|0;o=n-c|0;if((o|0)>1){continue}break}}c=n}if((d|0)>4){break c}n=(c|0)==(n|0)?-1:c-m|0;if((n|0)==-1){break c}h[n+m|0]=195;m=n+1|0;h[m+(h[b+11|0]<0?j[b>>2]:b)|0]=159;o=n+2|0;d=d+1|0;c=Kc(a,b,o,d,e+1|0,f,g);if(c){break a}h[n+(h[b+11|0]<0?j[b>>2]:b)|0]=115;h[m+(h[b+11|0]<0?j[b>>2]:b)|0]=115;c=Kc(a,b,o,d,e,f,g);if(c){break a}break b}if((e|0)<1){break b}if(j[a+44>>2]){c=_a(a,b,f,g);break a}b=ha(l,b);h[l+34|0]=0;i[l+32>>1]=40899;h[l+43|0]=2;i[l+16>>1]=223;h[l+27|0]=1;wb(b,l+32|0,l+16|0);if(h[l+27|0]<=-1){T(j[l+16>>2])}if(h[l+43|0]<=-1){T(j[l+32>>2])}c=_a(a,b,f,g);if(h[b+11|0]>-1){break a}T(j[b>>2]);break a}c=0}M=l+48|0;return c}function Sg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0;h=M-32|0;M=h;f=d&2147483647;g=f;e=f-1065418752|0;i=f-1082064896|0;f=c;a:{if((e|0)==(i|0)&f>>>0>>0|e>>>0>>0){g=(d&33554431)<<7|c>>>25;f=0;k=f;i=c&33554431;if(!(!f&(i|0)==16777216?!(a|b):!f&i>>>0<16777216)){e=g+1073741825|0;break a}e=g+1073741824|0;if(i^16777216|a|(b|k)){break a}e=(g&1)+e|0;break a}if(!(!f&(g|0)==2147418112?!(a|b):g>>>0<2147418112)){e=((d&33554431)<<7|c>>>25)&4194303|2143289344;break a}e=2139095040;if(g>>>0>1082064895){break a}e=0;f=g>>>16|0;if(f>>>0<16145){break a}g=c;e=d&65535|65536;mb(h+16|0,a,b,g,e,f-16129|0);Fc(h,a,b,g,e,16257-f|0);b=j[h+8>>2];e=(j[h+12>>2]&33554431)<<7|b>>>25;g=j[h+4>>2];f=g;a=0;i=a;k=j[h>>2]|((j[h+16>>2]|j[h+24>>2])!=0|(j[h+20>>2]|j[h+28>>2])!=0);b=b&33554431;if(!(!a&(b|0)==16777216?!(f|k):!a&b>>>0<16777216)){e=e+1|0;break a}if(b^16777216|k|(f|i)){break a}e=(e&1)+e|0}M=h+32|0;return Ir(2,d&-2147483648|e),Lr()}function Bo(a,b){var c=0,d=0,e=0,f=0,g=0;a:{d=j[a>>2];if((j[a+8>>2]-d|0)/40>>>0>=b>>>0){break a}b:{c:{if(b>>>0<107374183){c=j[a+4>>2];e=p(b,40);b=U(e);g=b+e|0;e=b+p((c-d|0)/40|0,40)|0;if((c|0)==(d|0)){break c}b=e;while(1){c=c-40|0;f=j[c+4>>2];b=b-40|0;j[b>>2]=j[c>>2];j[b+4>>2]=f;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[b+20>>2]=j[c+20>>2];f=j[c+16>>2];j[b+12>>2]=j[c+12>>2];j[b+16>>2]=f;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[b+32>>2]=j[c+32>>2];f=j[c+28>>2];j[b+24>>2]=j[c+24>>2];j[b+28>>2]=f;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[b+36>>2]=j[c+36>>2];if((c|0)!=(d|0)){continue}break}j[a+8>>2]=g;c=j[a+4>>2];j[a+4>>2]=e;d=j[a>>2];j[a>>2]=b;if((c|0)==(d|0)){break b}while(1){if(h[c-5|0]<=-1){T(j[c-16>>2])}if(h[c-17|0]<=-1){T(j[c-28>>2])}c=c-40|0;if(h[c+11|0]<=-1){T(j[c>>2])}if((c|0)!=(d|0)){continue}break}break b}D();z()}j[a+8>>2]=g;j[a+4>>2]=e;j[a>>2]=e}if(!d){break a}T(d)}}function cq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;e=M-16|0;M=e;g=W(c);if(g>>>0<4294967280){a:{b:{if(g>>>0>=11){i=g+16&-16;f=U(i);j[e+8>>2]=i|-2147483648;j[e>>2]=f;j[e+4>>2]=g;i=e;break b}h[e+11|0]=g;i=e;f=e;if(!g){break a}}V(f,c,g)}h[f+g|0]=0;while(1){c:{d:{f=h[i+11|0];e:{if((f|0)<=-1){if(m[e+4>>2]>l>>>0){break d}T(j[e>>2]);break e}c=e;if((f&255)>>>0>l>>>0){break c}}M=e+16|0;return}c=j[e>>2]}f=c+l|0;g=h[f|0];c=g&255;h[f|0]=k[(j[a+52>>2]+p(c,3)|0)+2|0];if((c|0)!=k[(h[i+11|0]<0?j[e>>2]:e)+l|0]){wa(a,b,e,d,0,0);h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=g}f=j[a>>2];if(f){f:{c=Ya(f,g);if(!c){break f}while(1){g:{if(c>>>0<=f>>>0){break g}f=k[c-1|0];if((f|0)==124){break g}h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=f;wa(a,b,e,d,0,0)}f=c+1|0;c=k[c+1|0];if(!(!c|(c|0)==124)){h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=c;wa(a,b,e,d,0,0)}c=Ya(f,g);if(!c){break f}f=j[a>>2];continue}}h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=g}l=l+1|0;continue}}X();z()}function Sp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;a:{b:{e=d-c|0;c:{if((e|0)<1){break c}m=e>>1;l=j[a+8>>2];n=j[a+4>>2];if((m|0)<=l-n>>1){e=n-b|0;f=e>>1;d:{if((f|0)>=(m|0)){g=n;f=d;break d}g=n;f=(f<<1)+c|0;d=d-f|0;if((d|0)>=1){g=V(n,f,d)+d|0}j[a+4>>2]=g;if((e|0)<1){break c}}d=m<<1;m=g-(d+b|0)|0;e=g;d=e-d|0;if(n>>>0>d>>>0){while(1){i=k[d|0]|k[d+1|0]<<8;h[e|0]=i;h[e+1|0]=i>>>8;e=e+2|0;d=d+2|0;if(n>>>0>d>>>0){continue}break}}j[a+4>>2]=e;if(m){Ja(g-(m>>1<<1)|0,b,m)}a=f-c|0;if(!a){break c}Ja(b,c,a);return}f=j[a>>2];i=m+(n-f>>1)|0;if((i|0)<=-1){break b}l=l-f|0;i=l>>1>>>0<1073741823?i>>>0>l>>>0?i:l:2147483647;g=0;e:{if(!i){break e}if((i|0)<=-1){break a}g=U(i<<1)}l=b-f|0;o=c;c=c-d|0;c=V(g+(l>>1<<1)|0,o,p(((c|0)>(e|0)?c:e)>>>1|0,(e|0)<1?e:1)<<1);if((l|0)>=1){V(g,f,l)}e=c+(m<<1)|0;c=n-b|0;if((c|0)>=1){e=V(e,b,c)+c|0}j[a+8>>2]=g+(i<<1);j[a+4>>2]=e;j[a>>2]=g;if(f){T(f)}}return}X();z()}D();z()}function Rp(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0;f=j[a+44>>2];a:{b:{if(!f){break b}f=Xb(f,b);d=0;c:{if(!f){break c}d=f;e=j[d+4>>2];if(!e){break c}d=i[f+2>>1];n=(d<<1)+e|0;g=l[j[a+44>>2]+4198>>1];if(d){while(1){h=d>>>1|0;k=(h<<1)+e|0;m=g>>>0>l[k>>1];e=m?k+2|0:e;d=m?(h^-1)+d|0:h;if(d){continue}break}}if(!(g>>>0>=l[e>>1]?(e|0)!=(n|0):0)){e=j[f+4>>2];d=i[f+2>>1];n=e+(d<<1)|0;g=l[j[a+44>>2]+4464>>1];if(d){while(1){h=d>>>1|0;k=(h<<1)+e|0;m=g>>>0>l[k>>1];e=m?k+2|0:e;d=m?(h^-1)+d|0:h;if(d){continue}break}}d=f;if((e|0)==(n|0)){break c}d=f;if(g>>>0>1]){break c}}d=0}if(!gb(j[a+44>>2],b,c,1,0)){d=Qa(j[a+44>>2],b,c,0,0,0,0,0)}if(!d){break b}e=j[d+4>>2];if(!e){break b}d=i[d+2>>1];f=(d<<1)+e|0;a=l[j[a+44>>2]+4192>>1];if(d){while(1){b=d>>>1|0;g=(b<<1)+e|0;c=a>>>0>l[g>>1];e=c?g+2|0:e;d=c?(b^-1)+d|0:b;if(d){continue}break}}if((e|0)==(f|0)){break b}b=1;if(a>>>0>=l[e>>1]){break a}}b=0}return b}function cr(a,b,c){var d=0,e=0,f=0,g=0,l=0;f=M-16|0;M=f;a:{b:{l=j[a+4>>2];c:{if(!l){break c}e=h[c+11|0]<0?j[c>>2]:c;c=h[e|0];d:{if(!c){break d}d=h[e+1|0];if(!d){d=c;break d}d=d|c<<8;c=h[e+2|0];if(!c){break d}d=c|d<<8;c=h[e+3|0];if(!c){break d}d=c|d<<8;c=e+4|0;g=k[c|0];if(!g){break d}while(1){d=Fr(d,5)^g<<24>>24;g=k[c+1|0];c=c+1|0;if(g){continue}break}}d=j[l+((d>>>0)%m[a>>2]<<2)>>2];if(!d){break c}while(1){if(!ba(e,d+17|0)){break b}d=j[d+8>>2];if(d){continue}break}}Re(a,b);break a}Re(a,b);if(!j[d+4>>2]){break a}j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;e:{if(!j[a+16>>2]){c=k[b+11|0];c=c<<24>>24<0?j[b+4>>2]:c;g=Nc(b,j[a+52>>2]);break e}c=ia(f,b);g=Mc(f,j[a+24>>2]);e=j[f>>2];if(!e){break e}j[f+4>>2]=e;T(e)}f:{if(j[a+84>>2]){Lc(a,b,c,j[d+4>>2],i[d+2>>1],0,0,g);break f}e=i[d+2>>1]<<1;l=ja(e);if(!l){break a}Lc(a,b,c,V(l,j[d+4>>2],e),i[d+2>>1],0,0,g)}Se(a,b,c,j[d+4>>2],i[d+2>>1],0,g)}M=f+16|0}function ec(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0;l=M-16|0;M=l;a:{b:{c:{d:{d=k[b+11|0];e=d<<24>>24;if((e|0)<=-1){d=j[b+4>>2];if(d){break d}break a}if(e){break c}break a}e=j[b>>2];break b}e=b}f=k[c+11|0];g=f<<24>>24<0;f=g?j[c+4>>2]:f;if(f){if((d|0)<(f|0)){break a}i=d+e|0;g=g?j[c>>2]:c;o=k[g|0];c=e;while(1){d=d-f|0;n=d+1|0;if(n>>>0>>0){break a}c=Aa(c,o,n);if(!c){break a}if(qa(c,g,f)){c=c+1|0;d=i-c|0;if((f|0)<=(d|0)){continue}break a}break}if((c|0)==(i|0)){break a}i=c-e|0;if((i|0)==-1){break a}}e:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break e}h[a+11|0]=0;h[a|0]=0}c=0;b=sa(l,b,i+3|0,-1);f:{g:{while(1){e=k[b+11|0];f=e<<24>>24;h:{if((f|0)<=-1){if(m[b+4>>2]<=c>>>0){break g}d=j[b>>2];break h}d=l;if(c>>>0>=e>>>0){break f}}e=k[c+d|0];d=e-9|0;if(!(1<>>0<=23:0)){Z(a,e<<24>>24);c=c+1|0;continue}break}if((f|0)>-1){break f}}T(j[b>>2])}p=1}M=l+16|0;return p}function oc(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0;g=M-16|0;M=g;j[g+12>>2]=c;c=b;a:{b:{c:{if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}if(c>>>0<=i>>>0){n=i-b|0;j[g+8>>2]=n;c=M-16|0;M=c;M=c+16|0;c=g+8|0;l=g+12|0;j[g+12>>2]=j[(m[c>>2]>2]?c:l)>>2];f=j[g+12>>2];c=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;if(f+(c-i|0)>>>0>=e>>>0){if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}l=c;c=j[g+12>>2];d:{if((e|0)==(c|0)){break d}n=n-c|0;if(!n){break d}f=b+l|0;if(c>>>0>e>>>0){break c}e:{if(d>>>0<=f>>>0|l+i>>>0<=d>>>0){break e}if(c+f>>>0<=d>>>0){d=(e-c|0)+d|0;break e}Kb(f,d,c);f=j[g+12>>2];c=0;j[g+12>>2]=0;d=d+e|0;e=e-f|0;b=b+f|0}f=b+l|0;Kb(f+e|0,c+f|0,n)}Kb(b+l|0,d,e);break b}cd(a,c,((e+i|0)-c|0)-f|0,i,b,f,e,d);break a}X();z()}Kb(f,d,e);Kb(e+f|0,f+j[g+12>>2]|0,n)}c=(e-j[g+12>>2]|0)+i|0;b=c;f:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break f}h[a+11|0]=b}h[g+7|0]=0;h[c+l|0]=k[g+7|0]}M=g+16|0}function Cr(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{e=b;if(b){d=c;if(!d){break i}break h}a=(a>>>0)/(c>>>0)|0;N=0;return a}if(!a){break g}break f}if(!(d-1&d)){break e}h=(s(d)+33|0)-s(e)|0;i=0-h|0;break c}a=(e>>>0)/0|0;N=0;return a}d=32-s(e)|0;if(d>>>0<31){break d}break b}if((d|0)==1){break a}if(d){d=31-s(d-1^d)|0}else{d=32}c=d&31;if((d&63)>>>0>=32){e=0;a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}N=e;return a}h=d+1|0;i=63-d|0}d=b;e=h&63;f=e&31;if(e>>>0>=32){e=0;f=d>>>f|0}else{e=d>>>f|0;f=((1<>>f}i=i&63;d=i&31;if(i>>>0>=32){b=a<>>32-d|b<>>31;j=g;e=e<<1|f>>>31;g=i-(e+(d>>>0>>0)|0)>>31;k=c&g;f=j-k|0;e=e-(j>>>0>>0)|0;b=b<<1|a>>>31;a=l|a<<1;g=g&1;l=g;h=h-1|0;if(h){continue}break}}N=b<<1|a>>>31;return g|a<<1}a=0;b=0}N=b;return a}function Ab(a,b,c){var d=0,e=0,f=0,g=0,i=0;d=M-160|0;M=d;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;e=h[b+11|0];if((e|0)<0?j[b+4>>2]:e&255){j[d+20>>2]=0;j[d+80>>2]=120480;j[d+16>>2]=120460;j[d+24>>2]=120320;e=d+28|0;td(d+80|0,e);j[d+152>>2]=0;j[d+156>>2]=-1;j[d+80>>2]=120340;j[d+16>>2]=120300;j[d+24>>2]=120320;f=wd(e);j[d+60>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;j[d+72>>2]=0;j[d+76>>2]=24;j[d+28>>2]=120536;Mi(e,b);j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;b=Vd(d+16|0,d,c);if(!(k[(j[j[b>>2]-12>>2]+b|0)+16|0]&5)){while(1){b=k[d+11|0];a:{if(!(b<<24>>24<0?j[d+4>>2]:b)){break a}b=j[a+4>>2];if((b|0)!=j[a+8>>2]){g=a,i=ha(b,d)+12|0,j[g+4>>2]=i;break a}Wb(a,d)}b=Vd(d+16|0,d,c);if(!(k[(j[j[b>>2]-12>>2]+b|0)+16|0]&5)){continue}break}}if(h[d+11|0]<=-1){T(j[d>>2])}j[d+80>>2]=120340;j[d+16>>2]=120300;j[d+28>>2]=120536;j[d+24>>2]=120320;if(h[d+71|0]<=-1){T(j[d+60>>2])}ib(f);Ta(d+80|0)}M=d+160|0}function Cp(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0;d=j[37201];a:{b:{if(d){e=k[b+11|0];f=e<<24>>24<0;l=f?j[b>>2]:b;f=f?j[b+4>>2]:e;e=148804;while(1){b=k[d+27|0];g=b<<24>>24<0;b=g?j[d+20>>2]:b;n=b>>>0>>0;c:{d:{e:{f:{g:{m=n?b:f;h:{if(m){i=d+16|0;g=g?j[i>>2]:i;i=qa(l,g,m);if(!i){if(b>>>0>f>>>0){break h}break g}if((i|0)>-1){break g}break h}if(b>>>0<=f>>>0){break f}}b=j[d>>2];if(b){break c}break b}b=qa(g,l,m);if(b){break e}}if(n){break d}break a}if((b|0)>-1){break a}}e=d+4|0;b=j[d+4>>2];if(!b){break a}d=e}e=d;d=b;continue}}d=148804}e=d}f=a;b=j[e>>2];if(b){c=0}else{b=U(32);j[b+24>>2]=j[c+8>>2];l=j[c+4>>2];j[b+16>>2]=j[c>>2];j[b+20>>2]=l;j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;c=j[c+12>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=d;j[b+28>>2]=c;j[e>>2]=b;d=j[j[37200]>>2];c=b;i:{if(!d){break i}j[37200]=d;c=j[e>>2]}Bd(j[37201],c);j[37202]=j[37202]+1;c=1}h[f+4|0]=c;j[a>>2]=b}function gp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=j[b+4>>2];a:{b:{if(e){f=k[c+11|0];g=f<<24>>24<0;m=g?j[c>>2]:c;g=g?j[c+4>>2]:f;f=b+4|0;while(1){c=k[e+27|0];i=c<<24>>24<0;c=i?j[e+20>>2]:c;o=c>>>0>>0;c:{d:{e:{f:{g:{n=o?c:g;h:{if(n){l=e+16|0;i=i?j[l>>2]:l;l=qa(m,i,n);if(!l){if(c>>>0>g>>>0){break h}break g}if((l|0)>-1){break g}break h}if(c>>>0<=g>>>0){break f}}c=j[e>>2];if(c){break c}break b}c=qa(i,m,n);if(c){break e}}if(o){break d}break a}if((c|0)>-1){break a}}f=e+4|0;c=j[e+4>>2];if(!c){break a}e=f}f=e;e=c;continue}}e=b+4|0}f=e}g=a;c=j[f>>2];if(c){b=0}else{c=U(32);d=j[d>>2];m=j[d+4>>2];j[c+16>>2]=j[d>>2];j[c+20>>2]=m;j[c+24>>2]=j[d+8>>2];j[d>>2]=0;j[d+4>>2]=0;j[d+8>>2]=0;j[c+8>>2]=e;j[c>>2]=0;j[c+4>>2]=0;j[c+28>>2]=0;j[f>>2]=c;e=j[j[b>>2]>>2];d=c;i:{if(!e){break i}j[b>>2]=e;d=j[f>>2]}Bd(j[b+4>>2],d);j[b+8>>2]=j[b+8>>2]+1;b=1}h[g+4|0]=b;j[a>>2]=c}function fc(a,b,c,d,e){var f=0,g=0,i=0;f=M-32|0;M=f;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;Wm(f+16|0,b,c,d);g=k[f+27|0];i=g<<24>>24<0;g=i?j[f+20>>2]:g;if(g){aa(a,i?j[f+16>>2]:f+16|0,g)}Sc(f,b,c,d,0,0,0,e);if(h[f+27|0]<=-1){T(j[f+16>>2])}j[f+24>>2]=j[f+8>>2];i=j[f+4>>2];j[f+16>>2]=j[f>>2];j[f+20>>2]=i;g=h[f+27|0];i=(g|0)<0;g=i?j[f+20>>2]:g&255;if(g){aa(a,i?j[f+16>>2]:f+16|0,g)}a:{if(!j[b+4488>>2]){break a}j[b+4372>>2]=0;j[b+4376>>2]=0;Hf(f,b,c,d,0,0,e);if(h[f+27|0]<=-1){T(j[f+16>>2])}j[f+24>>2]=j[f+8>>2];i=j[f+4>>2];j[f+16>>2]=j[f>>2];j[f+20>>2]=i;i=h[f+27|0];g=(i|0)<0?j[f+20>>2]:i&255;if(g){aa(a,(i|0)<0?j[f+16>>2]:f+16|0,g)}Om(f,b,c,d,e);if(h[f+27|0]<=-1){T(j[f+16>>2])}j[f+24>>2]=j[f+8>>2];b=j[f+4>>2];j[f+16>>2]=j[f>>2];j[f+20>>2]=b;b=h[f+27|0];c=(b|0)<0?j[f+20>>2]:b&255;if(!c){break a}aa(a,(b|0)<0?j[f+16>>2]:f+16|0,c)}if(h[f+27|0]<=-1){T(j[f+16>>2])}M=f+32|0}function Qh(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0;d=j[a+8>>2];c=j[a+4>>2];if((d-c|0)/12>>>0>=b>>>0){if(b){b=p((p(b,12)-12>>>0)/12|0,12)+12|0;c=ya(c,0,b)+b|0}j[a+4>>2]=c;return}a:{b:{c:{g=j[a>>2];f=(c-g|0)/12|0;e=f+b|0;if(e>>>0<357913942){d=(d-g|0)/12|0;i=d<<1;d=d>>>0<178956970?e>>>0>i>>>0?e:i:357913941;if(d){if(d>>>0>=357913942){break c}k=U(p(d,12))}e=p(f,12)+k|0;f=p((p(b,12)-12>>>0)/12|0,12)+12|0;b=ya(e,0,f);f=b+f|0;d=p(d,12)+k|0;if((c|0)==(g|0)){break b}while(1){c=c-12|0;b=j[c+4>>2];e=e-12|0;j[e>>2]=j[c>>2];j[e+4>>2]=b;j[e+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;if((c|0)!=(g|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=f;c=j[a>>2];j[a>>2]=e;if((b|0)==(c|0)){break a}while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((a|0)!=(c|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=f;j[a>>2]=b}if(c){T(c)}}function qo(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{d=j[a>>2];f=(j[a+4>>2]-d|0)/12|0;c=f+1|0;if(c>>>0<357913942){d=(j[a+8>>2]-d|0)/12|0;g=d<<1;d=d>>>0<178956970?c>>>0>g>>>0?c:g:357913941;if(d){if(d>>>0>=357913942){break c}e=U(p(d,12))}c=p(f,12)+e|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;d=p(d,12)+e|0;f=c+12|0;b=j[a+4>>2];e=j[a>>2];if((b|0)==(e|0)){break b}while(1){c=c-12|0;j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;b=b-12|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;if((b|0)!=(e|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=f;e=j[a>>2];j[a>>2]=c;if((b|0)==(e|0)){break a}while(1){a=b-12|0;c=j[a>>2];if(c){j[b-8>>2]=c;T(c)}b=a;if((e|0)!=(b|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=f;j[a>>2]=c}if(e){T(e)}}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,k=0,l=0;g=M-16|0;M=g;f=-1;i=-1;a:{if(!(d&24)){break a}h=d&8;if(j[b+12>>2]?0:h){break a}k=d&16;if(j[b+24>>2]?0:k){break a}d=j[c+8>>2];c=j[c+12>>2];if(j[b+28>>2]){e=j[b+28>>2]}else{e=j[b+16>>2]}if((c|0)<0){break a}e=e-j[b+8>>2]|0;l=e>>>0>>0;e=e>>31;if((c|0)>(e|0)?1:(e|0)<=(c|0)?l:0){break a}j[g+12>>2]=d+j[b+8>>2];if(h){f=j[b+8>>2];i=j[g+12>>2];j[g+8>>2]=j[b+16>>2];e=M-16|0;M=e;M=e+16|0;e=g+8|0;h=g+12|0;j[b+16>>2]=j[(m[h>>2]>2]?e:h)>>2];j[b+12>>2]=i;j[b+8>>2]=f}if(k){i=j[b+28>>2];e=j[g+12>>2];j[g+4>>2]=j[b+20>>2];f=M-16|0;M=f;M=f+16|0;f=g+12|0;h=g+4|0;f=j[(m[f>>2]>2]?f:h)>>2];j[b+28>>2]=j[b+28>>2];j[b+20>>2]=f;j[b+24>>2]=f;j[b+24>>2]=j[b+24>>2]+(e+j[b+28>>2]-(i+j[b+20>>2])|0)}f=d;i=c}j[a+8>>2]=f;j[a+12>>2]=i;j[a>>2]=0;j[a+4>>2]=0;M=g+16|0}function va(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0;f=M-16|0;M=f;c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){j[f+8>>2]=h[a+11|0]<0?j[a>>2]:a;d=ka(a,f+8|0);c=k[a+11|0];e=c<<24>>24<0;if((d|0)!=((e?j[a>>2]:a)+(e?j[a+4>>2]:c)|0)){while(1){a:{b:{c:{switch(l|0){case 0:break b;case 1:break c;default:break a}}i=j[f+8>>2];e=i-d|0;g=h[b+11|0];d:{e:{f:{if((g|0)<=-1){c=(j[b+8>>2]&2147483647)-1|0;if(e>>>0<=c>>>0){break e}g=j[b+4>>2];break f}c=b;if(e>>>0<=10){break d}c=10;g=g&255}pb(b,c,e-c|0,g,0,g,0);c=b;if(h[b+11|0]>-1){break d}}c=j[b>>2]}if((d|0)!=(i|0)){while(1){h[c|0]=k[d|0];c=c+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}h[c|0]=0;if(h[b+11|0]<=-1){j[b+4>>2]=e;break b}h[b+11|0]=e}m=m+1|0}l=l+1|0;d=ka(a,f+8|0);c=k[a+11|0];e=c<<24>>24<0;if((d|0)!=((e?j[a>>2]:a)+(e?j[a+4>>2]:c)|0)){continue}break}}d=(m|0)==2}M=f+16|0;return d}function $i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0;f=M-16|0;M=f;a:{if((b|0)==-1){break a}if(j[a+24>>2]==j[a+28>>2]){d=-1;if((j[a+32>>2]&12)!=4){break a}if(j[a+28>>2]){c=j[a+28>>2]}else{c=j[a+16>>2]}e=j[a+8>>2];j[f+12>>2]=j[a+36>>2];g=c-e|0;j[f+8>>2]=g<<1;c=M-16|0;M=c;M=c+16|0;c=f+8|0;e=f+12|0;c=j[(m[e>>2]>2]?c:e)>>2];e=c?c:4096;c=j[a+40>>2];b:{if(!c){c=U(e);break b}c=O[c|0](e)|0;if(!c){break a}}if(g){V(c,j[a+8>>2],g)}g=j[a+12>>2]-j[a+8>>2]|0;k=j[a+16>>2]-j[a+8>>2]|0;l=j[a+24>>2]-j[a+20>>2]|0;c:{if(!(h[a+32|0]&1)){break c}d=j[a+8>>2];i=j[a+44>>2];if(i){O[i|0](d);break c}if(!d){break c}T(d)}d=c+k|0;j[a+16>>2]=d;j[a+12>>2]=c+g;j[a+8>>2]=c;j[a+28>>2]=c+e;j[a+20>>2]=d;j[a+24>>2]=d;j[a+24>>2]=l+j[a+24>>2];j[a+32>>2]=j[a+32>>2]|1}h[j[a+24>>2]]=b;j[a+24>>2]=j[a+24>>2]+1;d=b&255}M=f+16|0;return d|0}function yl(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=Zf(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);Pb(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);Pb(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=Yf(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);Pb(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);Pb(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function An(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0;e=M-16|0;M=e;f=c-b|0;a:{g=k[a+11|0];i=g<<24>>24;b:{c:{if((i|0)<=-1){if(!f){break b}l=(j[a+8>>2]&2147483647)-1|0;g=j[a+4>>2];d=j[a>>2];break c}if(!f){break b}l=10;d=a}if(!(d>>>0>b>>>0|d+g>>>0<=b>>>0)){if(f>>>0>=4294967280){break a}d:{if(f>>>0<=10){h[e+11|0]=f;d=e;break d}i=f+16&-16;d=U(i);j[e+8>>2]=i|-2147483648;j[e>>2]=d;j[e+4>>2]=f}if((b|0)!=(c|0)){d=V(d,b,f)+f|0}h[d|0]=0;c=a;b=k[e+11|0];a=b<<24>>24<0;aa(c,a?j[e>>2]:e,a?j[e+4>>2]:b);if(h[e+11|0]>-1){break b}T(j[e>>2]);break b}if(l-g>>>0>>0){pb(a,l,(f+g|0)-l|0,g,g,0,0);i=h[a+11|0]}d=j[a>>2];e:{if(i<<24>>24<=-1){break e}d=a}d=d+g|0;if((b|0)!=(c|0)){while(1){h[d|0]=k[b|0];d=d+1|0;b=b+1|0;if((c|0)!=(b|0)){continue}break}}h[d|0]=0;b=f+g|0;if(h[a+11|0]<=-1){j[a+4>>2]=b;break b}h[a+11|0]=b}M=e+16|0;return}X();z()}function Se(a,b,c,d,e,f,g){var k=0,m=0,n=0,o=0,p=0,q=0,r=0;k=M-32|0;M=k;n=d?e:0;a:{b:{c:{if(g-3>>>0>=2){if(!n|(g|0)!=2){break a}break c}if(n){break c}e=1;break b}q=(n<<1)+d|0;r=l[a+20>>1];g=d;m=n;while(1){e=m>>>1|0;p=(e<<1)+g|0;o=l[p>>1]>>0;g=o?p+2|0:g;m=o?(e^-1)+m|0:e;if(m){continue}break}if((g|0)==(q|0)){e=0;break b}e=0;m=0;if(l[a+20>>1]>=l[g>>1]){break a}}m=1;o=n+1|0;g=ja(o<<1);if(!g){break a}if(!e){V(g,d,n<<1)}i[g+(n<<1)>>1]=65511;if(j[a+16>>2]){j[k+24>>2]=0;j[k+16>>2]=0;j[k+20>>2]=0;j[k+8>>2]=0;j[k>>2]=0;j[k+4>>2]=0;ia(k,b);Ua(k,j[a+24>>2]);vb(k,j[a+24>>2]);da(k+16|0,k);m=Lc(a,k+16|0,c,g,o,f,1,1);a=j[k>>2];if(a){j[k+4>>2]=a;T(a)}if(h[k+27|0]>-1){break a}T(j[k+16>>2]);break a}b=ha(k+16|0,b);Pa(b,j[a+52>>2]);nb(b,j[a+52>>2]);m=Lc(a,b,c,g,o,f,1,1);if(h[b+11|0]>-1){break a}T(j[b>>2])}M=k+32|0;return m}function Rn(a,b){var c=0,d=0,e=0;a:{if(k[b|0]){break a}b=ue(123616);if(k[b|0]?b:0){break a}b=ue(p(a,12)+123632|0);if(k[b|0]?b:0){break a}b=ue(123704);if(k[b|0]?b:0){break a}b=123709}b:{while(1){e=k[b+c|0];if(!(!e|(e|0)==47)){e=15;c=c+1|0;if((c|0)!=15){continue}break b}break}e=c}d=123709;c:{d:{c=k[b|0];e:{f:{if(!(k[b+e|0]|(c|0)==46)){d=b;if((c|0)!=67){break f}}if(!k[d+1|0]){break e}}if(!ba(d,123709)){break e}if(ba(d,123717)){break d}}if(!a){c=123540;if(k[d+1|0]==46){break c}}return 0}c=j[37230];if(c){while(1){if(!ba(d,c+8|0)){break c}c=j[c+24>>2];if(c){continue}break}}c=j[37230];if(c){while(1){if(!ba(d,c+8|0)){return c}c=j[c+24>>2];if(c){continue}break}}c=ja(28);g:{if(!c){c=0;break g}b=j[30886];j[c>>2]=j[30885];j[c+4>>2]=b;b=c+8|0;V(b,d,e);h[b+e|0]=0;j[c+24>>2]=j[37230];j[37230]=c}c=a|c?c:123540}return c}function El(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=cg(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);db(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);db(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=bg(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);db(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);db(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function Nn(a,b,c){var d=0,e=0,f=0,g=0,i=0;i=M-16|0;M=i;a:{b:{c:{d:{if(a){if(c>>>0>=4){break d}d=c;break c}c=0;a=j[b>>2];d=j[a>>2];if(!d){break a}while(1){f=1;if(d>>>0>=128){g=-1;f=tc(i+12|0,d);if((f|0)==-1){break a}}d=j[a+4>>2];a=a+4|0;c=c+f|0;g=c;if(d){continue}break}break a}f=j[b>>2];d=c;while(1){e=j[f>>2];e:{if(e-1>>>0>=127){if(!e){h[a|0]=0;j[b>>2]=0;break b}g=-1;e=tc(a,e);if((e|0)==-1){break a}d=d-e|0;a=a+e|0;break e}h[a|0]=e;d=d-1|0;f=j[b>>2];a=a+1|0}f=f+4|0;j[b>>2]=f;if(d>>>0>3){continue}break}}if(d){f=j[b>>2];while(1){e=j[f>>2];f:{if(e-1>>>0>=127){if(!e){h[a|0]=0;j[b>>2]=0;break b}g=-1;e=tc(i+12|0,e);if((e|0)==-1){break a}if(d>>>0>>0){break b}tc(a,j[f>>2]);d=d-e|0;a=a+e|0;break f}h[a|0]=e;d=d-1|0;f=j[b>>2];a=a+1|0}f=f+4|0;j[b>>2]=f;if(d){continue}break}}g=c;break a}g=c-d|0}M=i+16|0;return g}function Xp(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;f=M-48|0;M=f;j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;a:{if(d){if((d|0)<=-1){break a}g=d<<1;n=U(g);j[f+32>>2]=n;i=n+(d<<1)|0;j[f+40>>2]=i;V(n,c,g);j[f+36>>2]=i}j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;q=f,r=C()|0,j[q+12>>2]=r;j[f+8>>2]=100;b:{if(!j[a+24>>2]|(d|0)<1){break b}while(1){c=d;while(1){n=c-1|0;p=n<<1;g=p+j[f+32>>2]|0;i=k[g|0]|k[g+1|0]<<8;l=j[a+28>>2]+(o<<1)|0;l=k[l|0]|k[l+1|0]<<8;if(!((i>>>8|0)==(l>>>8|0)?(i&255)==(l&255):0)){h[g|0]=l;h[g+1|0]=l>>>8;da(f+16|0,f+32|0);wa(a,b,f+16|0,e,f+8|0,f+12|0);if(!j[f+8>>2]){break b}g=j[f+32>>2]+p|0;h[g|0]=i;h[g+1|0]=i>>>8}g=(c|0)>1;c=n;if(g){continue}break}o=o+1|0;if(o>>>0>2]){continue}break}}if(h[f+27|0]<=-1){T(j[f+16>>2])}a=j[f+32>>2];if(a){j[f+36>>2]=a;T(a)}M=f+48|0;return}X();z()}function Om(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;i=M-16|0;M=i;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[b+4356>>2]=0;j[b+4360>>2]=0;j[b+4376>>2]=0;f=j[b>>2];if(f){while(1){xf(i,f,c,d,e);l=k[i+11|0];g=l<<24>>24;m=(g|0)<0;l=m?j[i+4>>2]:l;if(l){aa(a,m?j[i>>2]:i,l);g=k[i+11|0]}f=j[f+68>>2];if(g<<24>>24<=-1){T(j[i>>2])}if(f){continue}break}}l=j[(k[c|0]<<2)+b>>2];if(l){while(1){g=l+4|0;g=h[l+15|0]<=-1?j[g>>2]:g;f=k[g|0];a:{if(!f){break a}m=c;if((f|0)!=46&k[m|0]!=(f|0)){break a}while(1){f=k[g+1|0];if(!f){break a}n=k[m+1|0];m=m+1|0;g=g+1|0;if(!((f|0)!=46&(f|0)!=(n|0))){continue}break}}b:{if(!f){xf(i,l,c,d,e);g=k[i+11|0];f=g<<24>>24;m=(f|0)<0;g=m?j[i+4>>2]:g;if(g){aa(a,m?j[i>>2]:i,g);j[b+4376>>2]=l;f=k[i+11|0]}l=j[l+72>>2];if(f<<24>>24>-1){break b}T(j[i>>2]);break b}l=j[l+76>>2]}if(l){continue}break}}M=i+16|0}function Db(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{c=j[a>>2];f=(j[a+4>>2]-c|0)/12|0;d=f+1|0;if(d>>>0<357913942){c=(j[a+8>>2]-c|0)/12|0;g=c<<1;c=c>>>0<178956970?d>>>0>g>>>0?d:g:357913941;if(c){if(c>>>0>=357913942){break c}e=U(p(c,12))}d=p(f,12)+e|0;f=j[b+4>>2];j[d>>2]=j[b>>2];j[d+4>>2]=f;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;e=p(c,12)+e|0;f=d+12|0;b=j[a+4>>2];c=j[a>>2];if((b|0)==(c|0)){break b}while(1){b=b-12|0;g=j[b+4>>2];d=d-12|0;j[d>>2]=j[b>>2];j[d+4>>2]=g;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;if((b|0)!=(c|0)){continue}break}j[a+8>>2]=e;e=j[a+4>>2];j[a+4>>2]=f;c=j[a>>2];j[a>>2]=d;if((c|0)==(e|0)){break a}while(1){a=e-12|0;if(h[e-1|0]<=-1){T(j[a>>2])}e=a;if((a|0)!=(c|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=e;j[a+4>>2]=f;j[a>>2]=d}if(c){T(c)}}function Lo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,k=0;e=M-32|0;M=e;g=j[a+28>>2];j[e+16>>2]=g;d=j[a+20>>2];j[e+28>>2]=c;j[e+24>>2]=b;b=d-g|0;j[e+20>>2]=b;g=b+c|0;k=2;b=e+16|0;a:{b:{f=E(j[a+60>>2],e+16|0,2,e+12|0)|0;d=0;c:{if(!f){break c}j[37203]=f;d=-1}d:{if(!d){while(1){d=j[e+12>>2];if((d|0)==(g|0)){break d}if((d|0)<=-1){break b}h=j[b+4>>2];f=h>>>0>>0;i=(f<<3)+b|0;h=d-(f?h:0)|0;j[i>>2]=h+j[i>>2];i=(f?12:4)+b|0;j[i>>2]=j[i>>2]-h;g=g-d|0;b=f?b+8|0:b;k=k-f|0;f=E(j[a+60>>2],b|0,k|0,e+12|0)|0;d=0;e:{if(!f){break e}j[37203]=f;d=-1}if(!d){continue}break}}if((g|0)!=-1){break b}}b=j[a+44>>2];j[a+28>>2]=b;j[a+20>>2]=b;j[a+16>>2]=b+j[a+48>>2];a=c;break a}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a>>2]=j[a>>2]|32;a=0;if((k|0)==2){break a}a=c-j[b+4>>2]|0}M=e+32|0;return a|0}function Ln(a,b,c,d,e){var f=0,g=0,h=0,i=0,k=0,l=0;g=M-1040|0;M=g;i=j[b>>2];j[g+12>>2]=i;k=a?a:g+16|0;a:{b:{c:{d=a?d:256;if(!d|!i){break c}f=c>>>2|0;l=f>>>0>=d>>>0;if(d>>>0>f>>>0?c>>>0<=131:0){break b}while(1){f=l?d:f;c=c-f|0;f=Mg(k,g+12|0,f,e);if((f|0)==-1){d=0;i=j[g+12>>2];h=-1;break c}l=(g+16|0)==(k|0);k=l?k:(f<<2)+k|0;h=f+h|0;d=d-(l?0:f)|0;i=j[g+12>>2];if(!d|!i){break c}f=c>>>2|0;l=f>>>0>=d>>>0;if(d>>>0<=f>>>0|c>>>0>131){continue}break}break b}if(!i){break a}}if(!d|!c){break a}f=h;while(1){d:{h=rd(k,i,c,e);e:{if(h+2>>>0<=2){f:{switch(h+1|0){case 1:j[g+12>>2]=0;break e;case 0:break a;default:break f}}j[e>>2]=0;break e}i=j[g+12>>2]+h|0;j[g+12>>2]=i;f=f+1|0;d=d-1|0;if(d){break d}}h=f;break a}k=k+4|0;c=c-h|0;h=f;if(c){continue}break}}if(a){j[b>>2]=j[g+12>>2]}M=g+1040|0;return h}function pr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=j[b+44>>2];k=j[b+24>>2];if(i>>>0>>0){j[b+44>>2]=k;i=k}o=-1;p=-1;q=f&24;a:{if(!q|((q|0)==24?(e|0)==1:0)){break a}if(i){g=b+32|0;l=i;if(h[b+43|0]<=-1){g=j[g>>2]}g=l-g|0;l=g;g=g>>31}b:{c:{switch(e|0){case 1:if(f&8){e=j[b+12>>2]-j[b+8>>2]|0;m=e;n=e>>31;break b}e=k-j[b+20>>2]|0;m=e;n=e>>31;break b;case 0:break b;case 2:break c;default:break a}}m=l;n=g}e=d+n|0;c=c+m|0;e=m>>>0>c>>>0?e+1|0:e;d=c;c=e;if((e|0)<0|((e|0)>(g|0)?1:(e|0)>=(g|0)?d>>>0>l>>>0:0)){break a}e=f&8;d:{if(!(c|d)){break d}if(j[b+12>>2]?0:e){break a}if(!(f&16)){break d}if(!k){break a}}if(e){j[b+16>>2]=i;j[b+12>>2]=d+j[b+8>>2]}if(f&16){j[b+24>>2]=d+j[b+20>>2]}o=d;p=c}j[a+8>>2]=o;j[a+12>>2]=p;j[a>>2]=0;j[a+4>>2]=0}function ip(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=j[b+4>>2];a:{b:{if(e){f=k[c+11|0];g=f<<24>>24<0;n=g?j[c>>2]:c;g=g?j[c+4>>2]:f;f=b+4|0;while(1){c=k[e+27|0];i=c<<24>>24<0;c=i?j[e+20>>2]:c;o=c>>>0>>0;c:{d:{e:{f:{g:{m=o?c:g;h:{if(m){l=e+16|0;i=i?j[l>>2]:l;l=qa(n,i,m);if(!l){if(c>>>0>g>>>0){break h}break g}if((l|0)>-1){break g}break h}if(c>>>0<=g>>>0){break f}}c=j[e>>2];if(c){break c}break b}c=qa(i,n,m);if(c){break e}}if(o){break d}break a}if((c|0)>-1){break a}}f=e+4|0;c=j[e+4>>2];if(!c){break a}e=f}f=e;e=c;continue}}e=b+4|0}f=e}g=a;c=j[f>>2];if(c){b=0}else{c=U(32);ha(c+16|0,d);d=j[d+12>>2];j[c+8>>2]=e;j[c>>2]=0;j[c+4>>2]=0;j[c+28>>2]=d;j[f>>2]=c;e=j[j[b>>2]>>2];d=c;i:{if(!e){break i}j[b>>2]=e;d=j[f>>2]}Bd(j[b+4>>2],d);j[b+8>>2]=j[b+8>>2]+1;b=1}h[g+4|0]=b;j[a>>2]=c}function jo(a,b){var c=0,d=0,e=0,f=0,g=0;a:{e=j[a>>2];if((j[a+8>>2]-e|0)/12>>>0>=b>>>0){break a}b:{c:{if(b>>>0<357913942){c=j[a+4>>2];b=p(b,12);d=U(b);f=b+d|0;d=d+p((c-e|0)/12|0,12)|0;if((c|0)==(e|0)){break c}b=d;while(1){b=b-12|0;j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;c=c-12|0;j[b>>2]=j[c>>2];j[b+4>>2]=j[c+4>>2];j[b+8>>2]=j[c+8>>2];j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;if((c|0)!=(e|0)){continue}break}j[a+8>>2]=f;c=j[a+4>>2];j[a+4>>2]=d;e=j[a>>2];j[a>>2]=b;if((c|0)==(e|0)){break b}while(1){d=c-12|0;f=j[d>>2];if(f){a=f;c=c-8|0;b=j[c>>2];g=a;d:{if((a|0)==(b|0)){break d}while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((f|0)!=(b|0)){continue}break}g=j[d>>2]}a=g;j[c>>2]=f;T(a)}c=d;if((e|0)!=(c|0)){continue}break}break b}D();z()}j[a+8>>2]=f;j[a+4>>2]=d;j[a>>2]=d}if(!e){break a}T(e)}}function jp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=j[b+4>>2];a:{b:{if(e){f=k[c+11|0];g=f<<24>>24<0;n=g?j[c>>2]:c;g=g?j[c+4>>2]:f;f=b+4|0;while(1){c=k[e+27|0];i=c<<24>>24<0;c=i?j[e+20>>2]:c;o=c>>>0>>0;c:{d:{e:{f:{g:{m=o?c:g;h:{if(m){l=e+16|0;i=i?j[l>>2]:l;l=qa(n,i,m);if(!l){if(c>>>0>g>>>0){break h}break g}if((l|0)>-1){break g}break h}if(c>>>0<=g>>>0){break f}}c=j[e>>2];if(c){break c}break b}c=qa(i,n,m);if(c){break e}}if(o){break d}break a}if((c|0)>-1){break a}}f=e+4|0;c=j[e+4>>2];if(!c){break a}e=f}f=e;e=c;continue}}e=b+4|0}f=e}g=a;c=j[f>>2];if(c){b=0}else{c=U(32);ha(c+16|0,j[d>>2]);j[c+8>>2]=e;j[c>>2]=0;j[c+4>>2]=0;j[c+28>>2]=0;j[f>>2]=c;e=j[j[b>>2]>>2];d=c;i:{if(!e){break i}j[b>>2]=e;d=j[f>>2]}Bd(j[b+4>>2],d);j[b+8>>2]=j[b+8>>2]+1;b=1}h[g+4|0]=b;j[a>>2]=c}function jk(a,b,c,d,e,f){var g=0;j[c>>2]=a;j[f>>2]=d;d=j[c>>2];a:{while(1){if(b>>>0<=d>>>0){g=0;break a}g=2;a=j[d>>2];if(a>>>0>1114111|(a&-2048)==55296){break a}b:{c:{if(a>>>0<=127){g=1;d=j[f>>2];if((e-d|0)<1){break a}j[f>>2]=d+1;h[d|0]=a;break c}if(a>>>0<=2047){d=j[f>>2];if((e-d|0)<2){break b}j[f>>2]=d+1;h[d|0]=a>>>6|192;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a&63|128;break c}d=j[f>>2];g=e-d|0;if(a>>>0<=65535){if((g|0)<3){break b}j[f>>2]=d+1;h[d|0]=a>>>12|224;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a>>>6&63|128;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a&63|128;break c}if((g|0)<4){break b}j[f>>2]=d+1;h[d|0]=a>>>18|240;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a>>>12&63|128;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a>>>6&63|128;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a&63|128}d=j[c>>2]+4|0;j[c>>2]=d;continue}break}return 1}return g}function eq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=M-16|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){l=f+16&-16;g=U(l);j[e+8>>2]=l|-2147483648;j[e>>2]=g;j[e+4>>2]=f;l=e;break b}h[e+11|0]=f;l=e;g=e;if(!f){break a}}V(g,c,f)}h[f+g|0]=0;m=j[e>>2];c=h[l+11|0];g=(c|0)<0?m:e;while(1){c:{d:{e:{i=c<<24>>24;f:{if((i|0)<=-1){f=m;n=j[e+4>>2];if(f+n>>>0>g>>>0){break f}T(m);break e}if((c&255)+e>>>0<=g>>>0){break e}n=j[e+4>>2];f=e}i=(i|0)<0;if((i?m:e)+(i?n:c&255)>>>0>f>>>0){break d}break c}M=e+16|0;return}while(1){o=g-f|0;i=o>>31;if((i^i+o)-2>>>0<=2){c=k[g|0];h[g|0]=k[f|0];h[f|0]=c;wa(a,b,e,d,0,0);c=k[g|0];h[g|0]=k[f|0];h[f|0]=c;n=j[e+4>>2];m=j[e>>2];c=k[l+11|0]}f=f+1|0;i=c<<24>>24<0;if(f>>>0<(i?m:e)+(i?n:c&255)>>>0){continue}break}}g=g+1|0;continue}}X();z()}function vl(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0;f=M-16|0;M=f;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:1;i=c-b>>2;a:{if(!i){break a}if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}m=g;if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}if(k[a+11|0]>>>7|0){l=j[a+4>>2]}else{l=k[a+11|0]}if(g+(l<<2)>>>0>b>>>0&b>>>0>=m>>>0){d=a;a=M-16|0;M=a;Ig(f,b,c);M=a+16|0;b=f;a=b;if(k[a+11|0]>>>7|0){a=j[a>>2]}if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}zi(d,a,c);Y(b);break a}if(d-e>>>0>>0){bf(a,d,(e+i|0)-d|0,e,e)}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}d=d+(e<<2)|0;while(1){if((b|0)!=(c|0)){j[d>>2]=j[b>>2];b=b+4|0;d=d+4|0;continue}break}j[f>>2]=0;j[d>>2]=j[f>>2];b=e+i|0;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}}M=f+16|0}function Bl(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0;f=M-32|0;M=f;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;i=c-b|0;a:{if(!i){break a}if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}m=g;if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}if(k[a+11|0]>>>7|0){l=j[a+4>>2]}else{l=k[a+11|0]}if(g+l>>>0>b>>>0&b>>>0>=m>>>0){d=a;e=M-16|0;M=e;a=f+16|0;Jg(a,b,c);M=e+16|0;b=a;if(k[a+11|0]>>>7|0){a=j[a>>2]}if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}aa(d,a,c);Y(b);break a}if(d-e>>>0>>0){pb(a,d,(e+i|0)-d|0,e,e,0,0)}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}d=d+e|0;while(1){if((b|0)!=(c|0)){h[d|0]=k[b|0];b=b+1|0;d=d+1|0;continue}break}h[f+15|0]=0;h[d|0]=k[f+15|0];b=e+i|0;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}}M=f+32|0}function $p(a,b,c,d,e){var f=0,g=0,i=0,k=0,l=0,n=0,o=0;f=M-48|0;M=f;j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;a:{if(d){if((d|0)<=-1){break a}k=d<<1;g=U(k);j[f+32>>2]=g;i=(d<<1)+g|0;j[f+40>>2]=i;V(g,c,k);j[f+36>>2]=i}n=f,o=C()|0,j[n+28>>2]=o;j[f+24>>2]=100;if(j[a+24>>2]){b:{k=0;while(1){c=i-g>>1;d=0;c:{while(1){c=c-d<<1;Kh(f+32|0,c+g|0,j[a+28>>2]+(k<<1)|0);j[f+16>>2]=0;j[f+8>>2]=0;j[f+12>>2]=0;da(f+8|0,f+32|0);wa(a,b,f+8|0,e,f+24|0,f+28|0);i=j[f+24>>2];if(i){c=c+j[f+32>>2]|0;l=c+2|0;g=j[f+36>>2]-l|0;if(g){Ja(c,l,g)}j[f+36>>2]=c+g}if(h[f+19|0]<=-1){T(j[f+8>>2])}if(i){i=j[f+36>>2];g=j[f+32>>2];c=i-g>>1;d=d+1|0;if(c>>>0>>0){break c}continue}break}g=j[f+32>>2];break b}k=k+1|0;if(k>>>0>2]){continue}break}}}if(g){j[f+36>>2]=g;T(g)}M=f+48|0;return}X();z()}function Dl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,l=0,m=0;a=M-160|0;M=a;j[a+144>>2]=c;j[a+152>>2]=b;j[a+20>>2]=78;i=Da(a+24|0,a+32|0,a+20|0);b=j[e+28>>2];j[a+16>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(a+16|0);h[a+15|0]=0;a:{if(!fg(a+152|0,c,d,a+16|0,j[e+4>>2],f,a+15|0,b,i,a+20|0,a+132|0)){break a}Cl(g);if(k[a+15|0]){Z(g,O[j[j[b>>2]+28>>2]](b,45)|0)}c=O[j[j[b>>2]+28>>2]](b,48)|0;e=j[i>>2];l=j[a+20>>2];d=l-1|0;b=d>>>0>>0?e:d;m=c&255;while(1){c=g;b:{if(d>>>0>e>>>0){if((m|0)==k[e|0]){break b}}else{e=b}Bl(c,e,l);break a}e=e+1|0;continue}}if(Sa(a+152|0,a+144|0)){j[f>>2]=j[f>>2]|2}d=j[a+152>>2];b=j[a+16>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+160|0;return d|0}function Cc(a,b,c,d,e,f,g,i,l,m){var n=0,o=0,p=0;n=M-16|0;M=n;h[n+15|0]=a;a:{b:{c:{if(j[d>>2]!=(c|0)){break c}o=43;p=a&255;if((p|0)!=k[m+24|0]){o=45;if(k[m+25|0]!=(p|0)){break c}}j[d>>2]=c+1;h[c|0]=o;break b}if(k[g+11|0]>>>7|0){g=j[g+4>>2]}else{g=k[g+11|0]}if(!(!g|(a|0)!=(f|0))){a=0;b=j[l>>2];if((b-i|0)>159){break a}a=j[e>>2];j[l>>2]=b+4;j[b>>2]=a;break b}a=-1;f=pe(m,m+26|0,n+15|0)-m|0;if((f|0)>23){break a}d:{e:{switch(b-8|0){case 0:case 2:if((b|0)>(f|0)){break d}break a;case 1:break d;default:break e}}if((b|0)!=16|(f|0)<22){break d}b=j[d>>2];if((b|0)==(c|0)|(b-c|0)>2|k[b-1|0]!=48){break a}a=0;j[e>>2]=0;j[d>>2]=b+1;h[b|0]=k[f+127600|0];break a}a=j[d>>2];j[d>>2]=a+1;h[a|0]=k[f+127600|0];j[e>>2]=j[e>>2]+1;a=0;break a}a=0;j[e>>2]=0}M=n+16|0;return a}function Ac(a,b,c,d,e,f,g,i,l,m){var n=0,o=0;n=M-16|0;M=n;j[n+12>>2]=a;a:{b:{c:{if(j[d>>2]!=(c|0)){break c}o=43;if(j[m+96>>2]!=(a|0)){o=45;if(j[m+100>>2]!=(a|0)){break c}}j[d>>2]=c+1;h[c|0]=o;break b}if(k[g+11|0]>>>7|0){g=j[g+4>>2]}else{g=k[g+11|0]}if(!(!g|(a|0)!=(f|0))){a=0;b=j[l>>2];if((b-i|0)>159){break a}a=j[e>>2];j[l>>2]=b+4;j[b>>2]=a;break b}a=-1;g=me(m,m+104|0,n+12|0)-m|0;if((g|0)>92){break a}f=g>>2;d:{e:{switch(b-8|0){case 0:case 2:if((b|0)>(f|0)){break d}break a;case 1:break d;default:break e}}if((b|0)!=16|(g|0)<88){break d}b=j[d>>2];if((b|0)==(c|0)|(b-c|0)>2|k[b-1|0]!=48){break a}a=0;j[e>>2]=0;j[d>>2]=b+1;h[b|0]=k[f+127600|0];break a}a=j[d>>2];j[d>>2]=a+1;h[a|0]=k[f+127600|0];j[e>>2]=j[e>>2]+1;a=0;break a}a=0;j[e>>2]=0}M=n+16|0;return a}function Fq(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0;d=M-16|0;M=d;wd(a);j[a+52>>2]=0;j[a+56>>2]=0;j[a+40>>2]=0;j[a+32>>2]=0;j[a+36>>2]=0;j[a>>2]=121328;j[a+60>>2]=0;j[a+64>>2]=0;j[a+68>>2]=0;j[a+72>>2]=0;j[a+76>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;j[a+88>>2]=0;h[a+91|0]=0;h[a+92|0]=0;h[a+93|0]=0;h[a+94|0]=0;h[a+95|0]=0;h[a+96|0]=0;h[a+97|0]=0;h[a+98|0]=0;b=d+8|0;e=a+4|0;c=j[e>>2];j[b>>2]=c;j[c+4>>2]=j[c+4>>2]+1;f=Jf(j[b>>2],za(149140));b=j[b>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}if(f){b=j[e>>2];j[d>>2]=b;j[b+4>>2]=j[b+4>>2]+1;g=a,i=Hb(d,149140),j[g+68>>2]=i;b=j[d>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[a+68>>2];g=a,i=O[j[j[b>>2]+28>>2]](b)|0,h[g+98|0]=i}O[j[j[a>>2]+12>>2]](a,0,4096)|0;M=d+16|0}function yn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,k=0,l=0;g=M-32|0;M=g;j[g+24>>2]=b;a:{if(!(j[d+4>>2]&1)){j[g>>2]=-1;b=O[j[j[a>>2]+16>>2]](a,b,c,d,e,g)|0;j[g+24>>2]=b;b:{switch(j[g>>2]){case 0:h[f|0]=0;break a;case 1:h[f|0]=1;break a;default:break b}}h[f|0]=1;j[e>>2]=4;break a}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;i=sb(g);a=j[g>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=Dc(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}O[j[j[a>>2]+24>>2]](g,a);O[j[j[a>>2]+28>>2]](g|12,a);d=g+24|0;k=f,l=(qd(g+24|0,c,g,d,i,e,1)|0)==(g|0),h[k|0]=l;b=j[g+24>>2];while(1){d=Y(d-12|0);if((g|0)!=(d|0)){continue}break}}M=g+32|0;return b|0}function en(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,k=0,l=0;g=M-32|0;M=g;j[g+24>>2]=b;a:{if(!(j[d+4>>2]&1)){j[g>>2]=-1;b=O[j[j[a>>2]+16>>2]](a,b,c,d,e,g)|0;j[g+24>>2]=b;b:{switch(j[g>>2]){case 0:h[f|0]=0;break a;case 1:h[f|0]=1;break a;default:break b}}h[f|0]=1;j[e>>2]=4;break a}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;i=rb(g);a=j[g>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=Bc(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}O[j[j[a>>2]+24>>2]](g,a);O[j[j[a>>2]+28>>2]](g|12,a);d=g+24|0;k=f,l=(pd(g+24|0,c,g,d,i,e,1)|0)==(g|0),h[k|0]=l;b=j[g+24>>2];while(1){d=Y(d-12|0);if((g|0)!=(d|0)){continue}break}}M=g+32|0;return b|0}function gi(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0;c=M-16|0;b=a;j[b>>2]=0;j[b+4>>2]=0;j[b+32>>2]=0;j[b+36>>2]=0;j[b+24>>2]=0;j[b+28>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[b+8>>2]=0;j[b+12>>2]=0;if(!j[37866]){j[37869]=-1;j[37870]=-1;j[37867]=4096;j[37868]=4096;j[37866]=c+12&-16^1431655768;j[37871]=0;j[37859]=0}k=j[37754];if(k){c=151440;h=1;l=j[37751];e=l+40|0;g=e;while(1){f=j[c>>2];b=f+(f+8&7?-8-f&7:0)|0;m=j[c+4>>2]+f|0;while(1){a:{if((b|0)==(k|0)|b>>>0>=m>>>0){break a}d=j[b+4>>2];if((d|0)==7){break a}i=d&-8;d=(d&3)==1;g=(d?i:0)+g|0;e=e+i|0;h=d+h|0;b=b+i|0;if(f>>>0<=b>>>0){continue}}break}c=j[c+8>>2];if(c){continue}break}j[a+4>>2]=h;j[a>>2]=e;b=j[37856];j[a+16>>2]=b-e;c=j[37857];j[a+36>>2]=l;j[a+32>>2]=g;j[a+28>>2]=b-g;j[a+20>>2]=c}}function fq(a,b,c,d,e){var f=0,g=0,i=0,l=0;g=M-32|0;M=g;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;a:{if(!d){break a}b:{c:{if((d|0)>-1){l=d<<1;f=U(l);j[g+16>>2]=f;i=(d<<1)+f|0;j[g+24>>2]=i;d=V(f,c,l);j[g+20>>2]=i;if(d>>>0>=i>>>0){break b}while(1){if(f>>>0>>0){while(1){l=d-f|0;c=l>>31;if((c^c+(l>>1))-2>>>0<=2){c=k[d|0]|k[d+1|0]<<8;i=k[f|0]|k[f+1|0]<<8;h[d|0]=i;h[d+1|0]=i>>>8;h[f|0]=c;h[f+1|0]=c>>>8;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);c=k[d|0]|k[d+1|0]<<8;i=k[f|0]|k[f+1|0]<<8;h[d|0]=i;h[d+1|0]=i>>>8;h[f|0]=c;h[f+1|0]=c>>>8;if(h[g+11|0]<=-1){T(j[g>>2])}i=j[g+20>>2]}f=f+2|0;if(i>>>0>f>>>0){continue}break}}f=j[g+16>>2];d=d+2|0;if(i>>>0>d>>>0){continue}break}break c}X();z()}if(!f){break a}}j[g+20>>2]=f;T(f)}M=g+32|0}function Re(a,b){var c=0,d=0,e=0,f=0,g=0,n=0,o=0;f=j[a+4>>2];a:{if(!f){break a}e=h[b+11|0]<0?j[b>>2]:b;b=h[e|0];b:{if(!b){break b}c=h[e+1|0];if(!c){c=b;break b}c=c|b<<8;b=h[e+2|0];if(!b){break b}c=b|c<<8;b=h[e+3|0];if(!b){break b}c=b|c<<8;b=e+4|0;d=k[b|0];if(!d){break b}while(1){c=Fr(c,5)^d<<24>>24;d=k[b+1|0];b=b+1|0;if(d){continue}break}}d=j[f+((c>>>0)%m[a>>2]<<2)>>2];if(!d){break a}while(1){if(!ba(e,d+17|0)){while(1){b=j[d+4>>2];c:{if(!b){break c}c=i[d+2>>1];n=(c<<1)+b|0;if(c){o=l[a+20>>1];while(1){e=c>>>1|0;g=(e<<1)+b|0;f=l[g>>1]>>0;b=f?g+2|0:b;c=f?(e^-1)+c|0:e;if(c){continue}break}}if((b|0)==(n|0)|l[a+20>>1]>1]){break c}i[d+2>>1]=0}d=j[d+12>>2];if(d){continue}break}return 0}d=j[d+8>>2];if(d){continue}break}}return 1}function Hq(a,b,c){var d=0,e=0,f=0,g=0;d=M-32|0;M=d;g=W(c);if(g>>>0<4294967280){a:{b:{if(g>>>0>=11){e=g+16&-16;f=U(e);j[d+8>>2]=e|-2147483648;j[d>>2]=f;j[d+4>>2]=g;e=d;break b}h[d+11|0]=g;e=d;f=d;if(!g){break a}}V(f,c,g)}h[f+g|0]=0;Rh(d+16|0,a,d);if(h[e+11|0]<=-1){T(j[d>>2])}c=j[d+16>>2];e=j[d+20>>2];c:{if((c|0)==(e|0)){a=0;j[b>>2]=0;e=c;break c}a=ja((e-c|0)/12<<2);j[b>>2]=a;f=0;if(!a){a=0;break c}while(1){a=p(f,12)+c|0;if(h[a+11|0]<=-1){a=j[a>>2]}a=cb(a);j[j[b>>2]+(f<<2)>>2]=a;e=j[d+20>>2];c=j[d+16>>2];a=(e-c|0)/12|0;f=f+1|0;if(a>>>0>f>>>0){continue}break}}if(c){if((c|0)==(e|0)){b=c}else{while(1){b=e-12|0;if(h[e-1|0]<=-1){T(j[b>>2])}e=b;if((e|0)!=(c|0)){continue}break}b=j[d+16>>2]}j[d+20>>2]=c;T(b)}M=d+32|0;return a}X();z()}function wb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;h=k[b+11|0];f=h<<24>>24<0;m=j[b+4>>2];g=f?m:h;o=f?j[b>>2]:b;e=k[a+11|0];d=e<<24>>24<0;e=d?j[a+4>>2]:e;n=d?j[a>>2]:a;d=0;while(1){a:{if(g){i=e+n|0;e=d+n|0;d=i-e|0;if((g|0)>(d|0)){break a}l=k[o|0];while(1){d=d-g|0;p=d+1|0;if(p>>>0>>0){break a}d=Aa(e,l,p);if(!d){break a}if(qa(d,o,g)){e=d+1|0;d=i-e|0;if((g|0)<=(d|0)){continue}break a}break}if((d|0)==(i|0)){break a}d=d-n|0}if((d|0)==-1){break a}l=f?m:h;f=k[c+11|0];g=f<<24>>24<0;oc(a,d,l,g?j[c>>2]:c,g?j[c+4>>2]:f);h=k[b+11|0];f=h<<24>>24<0;m=j[b+4>>2];g=f?m:h;o=f?j[b>>2]:b;e=k[a+11|0];i=e<<24>>24<0;n=i?j[a>>2]:a;l=d;d=k[c+11|0];d=l+(d<<24>>24<0?j[c+4>>2]:d)|0;e=i?j[a+4>>2]:e;if(d>>>0<=e>>>0){continue}}break}}function Wb(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{e=j[a>>2];f=(j[a+4>>2]-e|0)/12|0;c=f+1|0;if(c>>>0<357913942){e=(j[a+8>>2]-e|0)/12|0;g=e<<1;c=e>>>0<178956970?c>>>0>g>>>0?c:g:357913941;d=0;d:{if(!c){break d}if(c>>>0>=357913942){break c}d=U(p(c,12))}e=d+p(c,12)|0;d=ha(d+p(f,12)|0,b);f=d+12|0;b=j[a+4>>2];c=j[a>>2];if((b|0)==(c|0)){break b}while(1){b=b-12|0;g=j[b+4>>2];d=d-12|0;j[d>>2]=j[b>>2];j[d+4>>2]=g;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;if((b|0)!=(c|0)){continue}break}j[a+8>>2]=e;b=j[a+4>>2];j[a+4>>2]=f;c=j[a>>2];j[a>>2]=d;if((b|0)==(c|0)){break a}while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((a|0)!=(c|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=e;j[a+4>>2]=f;j[a>>2]=d}if(c){T(c)}}function Ja(a,b,c){var d=0;a:{if((a|0)==(b|0)){break a}if((b-a|0)-c>>>0<=0-(c<<1)>>>0){V(a,b,c);return}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){break b}if(!(a&3)){break c}while(1){if(!c){break a}h[a|0]=k[b|0];b=b+1|0;c=c-1|0;a=a+1|0;if(a&3){continue}break}break c}d:{if(d){break d}if(a+c&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;h[d|0]=k[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;j[c+a>>2]=j[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;h[c+a|0]=k[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){j[a>>2]=j[b>>2];b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){h[a|0]=k[b|0];a=a+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}}function _p(a,b,c,d){var e=0,f=0,g=0,i=0,k=0,l=0,n=0;e=M-32|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){i=f+16&-16;g=U(i);j[e+24>>2]=i|-2147483648;j[e+16>>2]=g;j[e+20>>2]=f;break b}h[e+27|0]=f;g=e+16|0;if(!f){break a}}V(g,c,f)}i=0;h[f+g|0]=0;l=e,n=C()|0,j[l+12>>2]=n;j[e+8>>2]=100;c:{if(!j[a+24>>2]){break c}d:while(1){f=0;while(1){e:{g=h[e+27|0];f:{if((g|0)<=-1){g=j[e+20>>2];if(g>>>0>>0){break f}c=j[e+16>>2];break e}c=e+16|0;g=g&255;if(g>>>0>=f>>>0){break e}}i=i+1|0;if(i>>>0>2]){continue d}break c}k=c;c=g-f|0;kf(e+16|0,k+c|0,h[j[a+20>>2]+i|0]);wa(a,b,e+16|0,d,e+8|0,e+12|0);if(!j[e+8>>2]){break c}xb(e+16|0,c,1);f=f+1|0;continue}}}if(h[e+27|0]<=-1){T(j[e+16>>2])}M=e+32|0;return}X();z()}function ya(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}f=a+c|0;h[f-1|0]=b;h[a|0]=b;if(c>>>0<3){break a}h[f-2|0]=b;h[a+1|0]=b;h[f-3|0]=b;h[a+2|0]=b;if(c>>>0<7){break a}h[f-4|0]=b;h[a+3|0]=b;if(c>>>0<9){break a}f=0-a&3;e=f+a|0;d=p(b&255,16843009);j[e>>2]=d;b=c-f&-4;c=b+e|0;j[c-4>>2]=d;if(b>>>0<9){break a}j[e+8>>2]=d;j[e+4>>2]=d;j[c-8>>2]=d;j[c-12>>2]=d;if(b>>>0<25){break a}j[e+24>>2]=d;j[e+20>>2]=d;j[e+16>>2]=d;j[e+12>>2]=d;j[c-16>>2]=d;j[c-20>>2]=d;j[c-24>>2]=d;j[c-28>>2]=d;c=b;b=e&4|24;c=c-b|0;if(c>>>0<32){break a}d=Dr(d,0,1,1);f=N;b=b+e|0;while(1){j[b+24>>2]=d;e=f;j[b+28>>2]=e;j[b+16>>2]=d;j[b+20>>2]=e;j[b+8>>2]=d;j[b+12>>2]=e;j[b>>2]=d;j[b+4>>2]=e;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function $q(a,b){var c=0,d=0,e=0,f=0;a:{d=j[b+48>>2];if(d&16){d=j[b+44>>2];c=j[b+24>>2];if(d>>>0>>0){j[b+44>>2]=c;d=c}b=j[b+20>>2];e=d-b|0;if(e>>>0>=4294967280){break a}b:{if(e>>>0<=10){h[a+11|0]=e;break b}f=e+16&-16;c=U(f);j[a+8>>2]=f|-2147483648;j[a>>2]=c;j[a+4>>2]=e;a=c}if((b|0)!=(d|0)){while(1){h[a|0]=k[b|0];a=a+1|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}}h[a|0]=0;return}if(d&8){e=j[b+16>>2];b=j[b+8>>2];c=e-b|0;if(c>>>0>=4294967280){break a}c:{if(c>>>0<=10){h[a+11|0]=c;break c}f=c+16&-16;d=U(f);j[a+8>>2]=f|-2147483648;j[a>>2]=d;j[a+4>>2]=c;a=d}if((b|0)!=(e|0)){while(1){h[a|0]=k[b|0];a=a+1|0;b=b+1|0;if((e|0)!=(b|0)){continue}break}}h[a|0]=0;return}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;return}X();z()}function Xg(a,b,c,d,e,f){var g=0;g=M-80|0;M=g;a:{if((f|0)>=16384){xa(g+32|0,b,c,d,e,0,0,0,2147352576);d=j[g+40>>2];e=j[g+44>>2];b=j[g+32>>2];c=j[g+36>>2];if((f|0)<32767){f=f-16383|0;break a}xa(g+16|0,b,c,d,e,0,0,0,2147352576);f=((f|0)<49149?f:49149)-32766|0;d=j[g+24>>2];e=j[g+28>>2];b=j[g+16>>2];c=j[g+20>>2];break a}if((f|0)>-16383){break a}xa(g- -64|0,b,c,d,e,0,0,0,65536);d=j[g+72>>2];e=j[g+76>>2];b=j[g+64>>2];c=j[g+68>>2];if((f|0)>-32765){f=f+16382|0;break a}xa(g+48|0,b,c,d,e,0,0,0,65536);f=((f|0)>-49146?f:-49146)+32764|0;d=j[g+56>>2];e=j[g+60>>2];b=j[g+48>>2];c=j[g+52>>2]}xa(g,b,c,d,e,0,0,0,f+16383<<16);b=j[g+12>>2];j[a+8>>2]=j[g+8>>2];j[a+12>>2]=b;b=j[g+4>>2];j[a>>2]=j[g>>2];j[a+4>>2]=b;M=g+80|0}function Wp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0;e=M-32|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){i=f+16&-16;g=U(i);j[e+24>>2]=i|-2147483648;j[e+16>>2]=g;j[e+20>>2]=f;break b}h[e+27|0]=f;g=e+16|0;if(!f){break a}}V(g,c,f)}h[f+g|0]=0;m=e,n=C()|0,j[m+12>>2]=n;j[e+8>>2]=100;g=j[a+24>>2];c:{if(!g){break c}f=0;while(1){c=k[e+27|0];i=c<<24>>24<0;l=j[e+16>>2];c=i?l+j[e+20>>2]|0:c+(e+16|0)|0;i=i?l:e+16|0;if((c|0)!=(i|0)){while(1){g=k[j[a+20>>2]+f|0];c=c-1|0;l=k[c|0];if((g|0)!=(l|0)){h[c|0]=g;wa(a,b,e+16|0,d,e+8|0,e+12|0);if(!j[e+8>>2]){break c}h[c|0]=l}if((c|0)!=(i|0)){continue}break}g=j[a+24>>2]}f=f+1|0;if(g>>>0>f>>>0){continue}break}}if(h[e+27|0]<=-1){T(j[e+16>>2])}M=e+32|0;return}X();z()}function ph(a,b,c,d){a:{if(b>>>0>20){break a}b:{switch(b-9|0){case 0:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=j[b>>2];return;case 1:b=j[c>>2];j[c>>2]=b+4;b=j[b>>2];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 2:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=j[b>>2];j[a+4>>2]=0;return;case 3:b=j[c>>2]+7&-8;j[c>>2]=b+8;c=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=c;return;case 4:b=j[c>>2];j[c>>2]=b+4;b=i[b>>1];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 5:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=l[b>>1];j[a+4>>2]=0;return;case 6:b=j[c>>2];j[c>>2]=b+4;b=h[b|0];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 7:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=k[b|0];j[a+4>>2]=0;return;case 8:b=j[c>>2]+7&-8;j[c>>2]=b+8;o[a>>3]=o[b>>3];return;case 9:break b;default:break a}}O[d|0](a,c)}}function xf(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0;g=M-32|0;M=g;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;i=h[b+15|0];f=j[b+8>>2];a:{if((i|0)<=-1){break a}f=i&255}i=d-f|0;b:{if(!j[j[b+64>>2]+4484>>2]|i?(i|0)<=0:0){break b}l=k[b+28|0];d=h[b+27|0];f=j[b+20>>2];c:{if((d|0)<=-1){break c}f=d&255}if(l>>>0>f+i>>>0){break b}d=ha(g+16|0,b+16|0);f=d;l=c;c=h[b+15|0];m=j[b+8>>2];d:{if((c|0)<=-1){break d}m=c&255}$(f,l+m|0);e:{if(!Vc(b,h[d+11|0]<0?j[d>>2]:g+16|0)){break e}c=h[b+27|0];f=j[b+20>>2];f:{if((c|0)<=-1){break f}f=c&255}c=f;if(!(h[b+29|0]&1)){break e}Hf(g,j[b+64>>2],h[d+11|0]<0?j[d>>2]:g+16|0,c+i|0,1,b,e);j[a+8>>2]=j[g+8>>2];b=j[g+4>>2];j[a>>2]=j[g>>2];j[a+4>>2]=b}if(h[d+11|0]>-1){break b}T(j[d>>2])}M=g+32|0}function mc(a,b){var c=0,d=0,e=0;c=M-32|0;M=c;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;a:{if(!b){break a}e=60;b:{c:{d=k[b|0];switch(d-34|0){case 28:break b;case 0:case 5:break c;default:break a}}e=d}d=k[b+1|0];d:{if(!d|(d|0)==(e|0)){break d}b=b+1|0;while(1){Z(a,d<<24>>24);d=k[b+1|0];if(!d){break d}b=b+1|0;if((d|0)!=(e|0)){continue}break}}h[c+20|0]=0;j[c+16>>2]=997485606;h[c+27|0]=4;i[c>>1]=60;h[c+11|0]=1;wb(a,c+16|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}if(h[c+27|0]<=-1){T(j[c+16>>2])}h[c+27|0]=5;h[c+21|0]=0;j[c+16>>2]=k[121142]|k[121143]<<8|(k[121144]<<16|k[121145]<<24);h[c+20|0]=k[121146];i[c>>1]=38;h[c+11|0]=1;wb(a,c+16|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}if(h[c+27|0]>-1){break a}T(j[c+16>>2])}M=c+32|0}function lr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0;if((b|0)==-1){return 0}i=j[a+8>>2];l=j[a+12>>2];m=a;f=j[a+24>>2];g=j[a+28>>2];c=j[a+44>>2];a:{b:{if((f|0)!=(g|0)){break b}c=-1;if(!(k[a+48|0]&16)){break a}c=j[a+44>>2];e=j[a+20>>2];d=a+32|0;Z(d,0);n=c-e|0;e=f-e|0;Wa(d,h[a+43|0]<=-1?(j[a+40>>2]&2147483647)-1|0:10);c=h[d+11|0];c:{if((c|0)<=-1){d=j[a+32>>2];c=j[a+36>>2];break c}c=c&255}j[a+20>>2]=d;g=d+c|0;j[a+28>>2]=g;f=d+e|0;j[a+24>>2]=f;c=d+n|0}e=f+1|0;c=c>>>0>e>>>0?c:e;j[m+44>>2]=c;if(k[a+48|0]&8){d=a+32|0;d=h[a+43|0]<=-1?j[d>>2]:d;j[a+16>>2]=c;j[a+8>>2]=d;j[a+12>>2]=(l-i|0)+d}if((f|0)==(g|0)){return O[j[j[a>>2]+52>>2]](a,b&255)|0}j[a+24>>2]=e;h[f|0]=b;c=b&255}return c|0}function Dh(a){var b=0,c=0,d=0,e=0;d=M-16|0;M=d;b=j[a>>2];a=W(b);if(a>>>0<4294967280){a:{b:{if(a>>>0>=11){e=a+16&-16;c=U(e);j[d+8>>2]=e|-2147483648;j[d>>2]=c;j[d+4>>2]=a;break b}h[d+11|0]=a;c=d;if(!a){break a}}V(c,b,a)}h[a+c|0]=0;b=Hc(148800,d);c:{if((b|0)==148804){break c}a=j[b+4>>2];d:{if(!a){c=j[b+8>>2];if((b|0)==j[c>>2]){break d}a=b+8|0;while(1){e=j[a>>2];a=e+8|0;c=j[e+8>>2];if((e|0)!=j[c>>2]){continue}break}break d}while(1){c=a;a=j[a>>2];if(a){continue}break}}if((b|0)==j[37200]){j[37200]=c}a=j[b+28>>2];j[37202]=j[37202]-1;Ch(j[37201],b);if(h[b+27|0]<=-1){T(j[b+16>>2])}T(b);if(!a){break c}c=j[a>>2];if(c){T(c);j[a>>2]=0}T(a)}if(h[d+11|0]<=-1){T(j[d>>2])}M=d+16|0;return}X();z()}function xl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0;a=M-448|0;M=a;j[a+432>>2]=c;j[a+440>>2]=b;j[a+20>>2]=78;b=Da(a+24|0,a+32|0,a+20|0);i=j[e+28>>2];j[a+16>>2]=i;j[i+4>>2]=j[i+4>>2]+1;i=rb(a+16|0);h[a+15|0]=0;if($f(a+440|0,c,d,a+16|0,j[e+4>>2],f,a+15|0,i,b,a+20|0,a+432|0)){wl(g);if(k[a+15|0]){bd(g,O[j[j[i>>2]+44>>2]](i,45)|0)}c=O[j[j[i>>2]+44>>2]](i,48)|0;e=j[b>>2];d=j[a+20>>2];i=d-4|0;while(1){if(!((c|0)!=j[e>>2]|e>>>0>=i>>>0)){e=e+4|0;continue}break}vl(g,e,d)}if(Ra(a+440|0,a+432|0)){j[f>>2]=j[f>>2]|2}e=j[a+440>>2];c=j[a+16>>2];d=j[c+4>>2]-1|0;j[c+4>>2]=d;if((d|0)==-1){O[j[j[c>>2]+8>>2]](c)}c=j[b>>2];j[b>>2]=0;if(c){O[j[b+4>>2]](c)}M=a+448|0;return e|0}function Mn(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0;f=M-272|0;M=f;g=j[b>>2];j[f+12>>2]=g;h=a?a:f+16|0;a:{b:{c:{d=a?d:256;if(!d|!g){break c}e=c>>>0>=d>>>0;if(!(e|c>>>0>32)){break b}while(1){e=e?d:c;c=c-e|0;e=Nn(h,f+12|0,e);if((e|0)==-1){d=0;g=j[f+12>>2];k=-1;break c}i=(f+16|0)==(h|0);h=i?h:e+h|0;k=e+k|0;d=d-(i?0:e)|0;g=j[f+12>>2];if(!d|!g){break c}e=c>>>0>=d>>>0;if(e|c>>>0>=33){continue}break}break b}if(!g){break a}}if(!d|!c){break a}e=k;while(1){d:{i=tc(h,j[g>>2]);e:{if(i+1>>>0<=1){k=-1;if(i){break a}j[f+12>>2]=0;break e}g=j[f+12>>2]+4|0;j[f+12>>2]=g;e=e+i|0;d=d-i|0;if(d){break d}}k=e;break a}h=h+i|0;k=e;c=c-1|0;if(c){continue}break}}if(a){j[b>>2]=j[f+12>>2]}M=f+272|0;return k}function Up(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;f=M-32|0;M=f;a:{if(!(!j[a+44>>2]|(d|0)<5)){p=(d<<1)+c|0;l=2;while(1){i=g;g=0;m=(l<<1)+c|0;o=k[m|0]|k[m+1|0]<<8;n=m-4|0;n=k[n|0]|k[n+1|0]<<8;b:{if((o&255)!=(n&255)|(o>>>8|0)!=(n>>>8|0)){break b}g=i+1|0;if((g|0)!=2|l>>>0<4?(g|0)!=3:0){break b}i=0;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;g=(m-c|0)-2|0;if(g){if((g|0)<=-1){break a}i=U(g);j[f+16>>2]=i;j[f+24>>2]=i+(g>>1<<1);i=V(i,c,g)+g|0;j[f+20>>2]=i}Sp(f+16|0,i,m+2|0,p);j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;da(f,f+16|0);wa(a,b,f,e,0,0);if(h[f+11|0]<=-1){T(j[f>>2])}g=j[f+16>>2];if(g){j[f+20>>2]=g;T(g)}g=0}l=l+1|0;if((l|0)!=(d|0)){continue}break}}M=f+32|0;return}X();z()}function Nc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;if(!b){return 0}h=k[a+11|0];m=h<<24>>24;e=(m|0)<0;a:{f=j[a+4>>2];c=e?f:h;if(!c){break a}e=e?j[a>>2]:a;n=c&1;b:{if((c|0)==1){c=0;a=e;break b}d=c&-2;c=0;a=e;while(1){i=p(k[a|0],3)+b|0;l=p(k[a+1|0],3)+b|0;g=((k[i+2|0]==k[i+1|0])+g|0)+(k[l+2|0]==k[l+1|0])|0;c=((k[i|0]!=0)+c|0)+(k[l|0]!=0)|0;a=a+2|0;d=d-2|0;if(d){continue}break}}if(n){a=p(k[a|0],3)+b|0;g=(k[a+2|0]==k[a+1|0])+g|0;c=(k[a|0]!=0)+c|0}if(!c){return 0}d=1;a=k[p(k[e|0],3)+b|0];if(a?(c|0)==1:0){break a}c:{if((m|0)<=-1){d=2;if((c|0)!=(f|0)){break c}break a}d=2;f=h;if((f|0)==(c|0)){break a}}if((c+g|0)==(f|0)){break a}return c>>>0>1?a?4:3:3}return d}function wa(a,b,c,d,e,f){var g=0,h=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;a:{q=j[b>>2];i=j[b+4>>2]-q|0;g=(i|0)/12|0;if((g|0)==j[a+48>>2]){break a}if(i){r=g>>>0>1?g:1;g=k[c+11|0];h=g<<24>>24<0;i=h?j[c>>2]:c;m=h?j[c+4>>2]:g;while(1){h=p(o,12)+q|0;l=k[h+11|0];g=l<<24>>24<0;b:{if(((g?j[h+4>>2]:l)|0)!=(m|0)){break b}n=j[h>>2];if(!g){if(!m){break a}g=i;if(k[g|0]!=(n&255)){break b}while(1){l=l-1|0;if(!l){break a}n=k[g+1|0];g=g+1|0;h=h+1|0;if((n|0)==k[h|0]){continue}break}break b}if(!m){break a}if(!qa(g?n:h,i,m)){break a}}o=o+1|0;if((r|0)!=(o|0)){continue}break}}if(!cc(a,c,d,e,f)){break a}a=j[b+4>>2];if((a|0)!=j[b+8>>2]){s=b,t=ha(a,c)+12|0,j[s+4>>2]=t;return}Wb(b,c)}}function rn(a,b){var c=0,d=0,e=0;c=b+68|0;ua(c,b+4|0);Va(c);d=b+68|0;if(h[b+79|0]<=-1){c=j[d>>2]}else{c=d}e=((k[b+30|0]<<2)+a|0)+3072|0;j[b+92>>2]=j[e>>2];j[e>>2]=b;a:{if(!k[c|0]){j[b+80>>2]=j[a+1024>>2];a=a+1024|0;break a}j[b+84>>2]=0;j[b+88>>2]=0;a=((k[c|0]<<2)+a|0)+1024|0;c=j[a>>2];if(!c){break a}b:{c:{if(h[d+11|0]>-1){while(1){a=c;c=a+68|0;e=d;if(h[a+79|0]<=-1){c=j[c>>2]}if((ba(e,c)|0)<=0){c=j[a+84>>2];if(c){continue}break c}c=j[a+88>>2];if(c){continue}break b}}d=j[d>>2];while(1){a=c;c=a+68|0;e=d;if(h[a+79|0]<0){c=j[c>>2]}if((ba(e,c)|0)>=1){c=j[a+88>>2];if(c){continue}break b}c=j[a+84>>2];if(c){continue}break}}a=a+84|0;break a}a=a+88|0}j[a>>2]=b}function pa(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,n=0;a:{c=j[a+112>>2];d=j[a+116>>2];b:{if(c|d){b=c>>>0<=m[a+120>>2];c=j[a+124>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?b:0){break b}}g=bo(a);if((g|0)>-1){break a}}j[a+104>>2]=0;return-1}i=a;b=j[a+116>>2];l=b;d=j[a+8>>2];c=d;f=j[a+112>>2];c:{if(!(b|f)){break c}c=d;e=j[a+120>>2]^-1;f=e+f|0;b=(j[a+124>>2]^-1)+l|0;b=f>>>0>>0?b+1|0:b;l=j[a+4>>2];e=d-l|0;n=f>>>0>=e>>>0;e=e>>31;if((b|0)>(e|0)?1:(e|0)<=(b|0)?n:0){break c}c=f+l|0}j[i+104>>2]=c;i=j[a+4>>2];if(d){c=a;b=(d-i|0)+1|0;d=b+j[a+120>>2]|0;a=j[a+124>>2]+(b>>31)|0;j[c+120>>2]=d;j[c+124>>2]=d>>>0>>0?a+1|0:a}a=i-1|0;if(k[a|0]!=(g|0)){h[a|0]=g}return g}function nf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0;f=M-16|0;M=f;c=1;a:{b:{switch(b-a>>1){case 2:b=b-2|0;if(l[b>>1]>=l[a>>1]){break a}$a(a,b);break a;case 3:wc(a,a+2|0,b-2|0);break a;case 4:_d(a,a+2|0,a+4|0,b-2|0);break a;case 5:Zd(a,a+2|0,a+4|0,a+6|0,b-2|0);break a;case 0:case 1:break a;default:break b}}e=a+4|0;wc(a,a+2|0,e);d=a+6|0;c:{while(1){g=(b|0)==(d|0);if(g){break c}d:{if(l[d>>1]>1]){i[f+14>>1]=l[d>>1];h=d;while(1){e:{c=e;i[h>>1]=l[c>>1];if((a|0)==(c|0)){c=a;break e}h=c;e=c-2|0;if(l[f+14>>1]>1]){continue}}break}i[c>>1]=l[f+14>>1];j=j+1|0;if((j|0)==8){break d}}e=d;d=d+2|0;continue}break}c=(d+2|0)==(b|0)}c=c|g}M=f+16|0;return c&1}function qc(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0;j=1;i=d&2147483647;m=i;k=c;a:{if(!c&(i|0)==2147418112?a|b:(i|0)==2147418112&(c|0)!=0|i>>>0>2147418112){break a}l=h&2147483647;n=l;i=g;if(!g&(l|0)==2147418112?e|f:(l|0)==2147418112&(g|0)!=0|l>>>0>2147418112){break a}if(!(a|e|(i|k)|(b|f|(m|n)))){return 0}k=d&h;if((k|0)>0?1:(k|0)>=0){j=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>>0|b>>>0>>0:(d|0)<(h|0)?1:(d|0)<=(h|0)?c>>>0>>0:0){break a}return(a^e|c^g)!=0|(b^f|d^h)!=0}j=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>e>>>0|b>>>0>f>>>0:(d|0)>(h|0)?1:(d|0)>=(h|0)?c>>>0>g>>>0:0){break a}j=(a^e|c^g)!=0|(b^f|d^h)!=0}return j}function Mi(a,b){var c=0,d=0,e=0,f=0;c=a+32|0;ua(c,b);j[a+44>>2]=0;d=j[a+48>>2];if(d&8){f=a;e=h[c+11|0];a:{if((e|0)<=-1){b=j[a+32>>2];e=b+j[a+36>>2]|0;break a}b=c;e=(e&255)+b|0}j[f+16>>2]=e;j[a+12>>2]=b;j[a+8>>2]=b;j[a+44>>2]=e}b:{if(!(d&16)){break b}d=c;b=h[c+11|0];c:{if((b|0)>=0){b=b&255;j[a+44>>2]=c+b;e=10;break c}b=j[a+36>>2];j[a+44>>2]=b+j[a+32>>2];e=(j[a+40>>2]&2147483647)-1|0}Wa(d,e);d=h[c+11|0];d:{if((d|0)<=-1){c=j[a+32>>2];d=j[a+36>>2];break d}d=d&255}j[a+20>>2]=c;j[a+24>>2]=c;j[a+28>>2]=c+d;if(!(k[a+48|0]&3)){break b}e:{if((b|0)<=-1){b=b-2147483647|0;d=(b|0)<0;c=d?c-2|0:c+2147483647|0;b=d?1:b;break e}if(!b){break b}}j[a+24>>2]=b+c}}function rd(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0;i=M-16|0;M=i;f=d?d:148904;d=j[f>>2];a:{b:{c:{if(!b){if(d){break c}break a}e=-2;if(!c){break a}l=a?a:i+12|0;d:{if(d){a=c;break d}a=k[b|0];d=a<<24>>24;if((d|0)>=0){j[l>>2]=a;e=(d|0)!=0;break a}a=h[b|0];if(!j[j[37179]>>2]){j[l>>2]=a&57343;e=1;break a}a=(a&255)-194|0;if(a>>>0>50){break c}d=j[(a<<2)+123312>>2];a=c-1|0;if(!a){break b}b=b+1|0}g=k[b|0];m=g>>>3|0;if((m-16|(d>>26)+m)>>>0>7){break c}while(1){a=a-1|0;d=g-128|d<<6;if((d|0)>=0){j[f>>2]=0;j[l>>2]=d;e=c-a|0;break a}if(!a){break b}b=b+1|0;g=k[b|0];if((g&192)==128){continue}break}}j[f>>2]=0;j[37203]=25;e=-1;break a}j[f>>2]=d}M=i+16|0;return e}function Qb(a,b,c,d,e){var f=0,g=0,h=0,i=0;g=M-16|0;M=g;j[g+8>>2]=b;a:{if(Ra(a,g+8|0)){j[c>>2]=j[c>>2]|6;b=0;break a}h=d;b=j[a>>2];f=j[b+12>>2];b:{if((f|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break b}b=j[f>>2]}if(!(O[j[j[d>>2]+12>>2]](h,2048,b)|0)){j[c>>2]=j[c>>2]|4;b=0;break a}b=O[j[j[d>>2]+52>>2]](d,b,0)|0;while(1){c:{Na(a);b=b-48|0;if(!kb(a,g+8|0)|(e|0)<2){break c}h=d;f=j[a>>2];i=j[f+12>>2];d:{if((i|0)==j[f+16>>2]){f=O[j[j[f>>2]+36>>2]](f)|0;break d}f=j[i>>2]}if(!(O[j[j[d>>2]+12>>2]](h,2048,f)|0)){break a}e=e-1|0;b=(O[j[j[d>>2]+52>>2]](d,f,0)|0)+p(b,10)|0;continue}break}if(!Ra(a,g+8|0)){break a}j[c>>2]=j[c>>2]|2}M=g+16|0;return b}function Lf(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;g=M-16|0;M=g;f=h[a+15|0];e=j[a+8>>2];a:{if((f|0)<=-1){break a}e=f&255}f=c-e|0;b:{c:{if(!j[j[a+64>>2]+4484>>2]|f?(f|0)<=0:0){break c}i=k[a+28|0];c=h[a+27|0];e=j[a+20>>2];d:{if((c|0)<=-1){break d}e=c&255}if(i>>>0>e+f>>>0){break c}c=ha(g,a+16|0);e=c;i=b;b=h[a+15|0];l=j[a+8>>2];e:{if((b|0)<=-1){break e}l=b&255}$(e,i+l|0);f:{g:{if(!Vc(a,h[c+11|0]<0?j[c>>2]:g)){break g}b=h[a+27|0];e=j[a+20>>2];h:{if((b|0)<=-1){break h}e=b&255}b=e;if(!(h[a+29|0]&1)){break g}a=eb(j[a+64>>2],h[c+11|0]<0?j[c>>2]:g,b+f|0,1,a,d);b=0;if(a){break f}}a=0;b=1}if(h[c+11|0]<=-1){T(j[c>>2])}if(!b){break b}}a=0}M=g+16|0;return a}function Tp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=M-16|0;M=f;a:{e=W(c);if(!((e|0)<5|!j[a+44>>2])){p=e-2|0;q=c+e|0;r=c^-1;m=1;i=2;e=0;while(1){g=e;n=n+1|0;e=0;l=c+i|0;b:{if(k[l|0]!=k[l-2|0]){break b}e=g+1|0;if((e|0)!=2|i>>>0<4?(e|0)!=3:0){break b}g=l+r|0;if(g>>>0>=4294967280){break a}c:{if(g>>>0<=10){h[f+11|0]=g;e=f;break c}o=g+16&-16;e=U(o);j[f+8>>2]=o|-2147483648;j[f>>2]=e;j[f+4>>2]=g}s=V(e,c,n)+m|0,t=0,h[s|0]=t;e=k[f+11|0];g=e<<24>>24<0;Jh(f,(g?j[f>>2]:f)+(g?j[f+4>>2]:e)|0,l+1|0,q);wa(a,b,f,d,0,0);if(h[f+11|0]<=-1){T(j[f>>2])}e=0}m=m+1|0;i=i+1|0;if((n|0)!=(p|0)){continue}break}}M=f+16|0;return}X();z()}function of(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,j=0;f=M-16|0;M=f;c=1;a:{b:{switch(b-a|0){case 2:b=b-1|0;if(h[b|0]>=h[a|0]){break a}Xa(a,b);break a;case 3:xc(a,a+1|0,b-1|0);break a;case 4:ae(a,a+1|0,a+2|0,b-1|0);break a;case 5:$d(a,a+1|0,a+2|0,a+3|0,b-1|0);break a;case 0:case 1:break a;default:break b}}e=a+2|0;xc(a,a+1|0,e);d=a+3|0;c:{while(1){g=(b|0)==(d|0);if(g){break c}d:{if(h[d|0]>2];b=(d>>>0)/341|0;c=j[a+4>>2];f=j[a+8>>2];a:{if((c|0)==(f|0)){g=a+20|0;break a}g=a+20|0;e=(b<<2)+c|0;b=j[e>>2]+p(d-p(b,341)|0,12)|0;d=d+j[a+20>>2]|0;i=(d>>>0)/341|0;d=j[(i<<2)+c>>2]+p(d-p(i,341)|0,12)|0;if((b|0)==(d|0)){break a}while(1){if(h[b+11|0]<=-1){T(j[b>>2])}b=b+12|0;if((b-j[e>>2]|0)==4092){b=j[e+4>>2];e=e+4|0}if((b|0)!=(d|0)){continue}break}c=j[a+4>>2];f=j[a+8>>2]}j[g>>2]=0;b=f-c>>2;if(b>>>0>2){while(1){T(j[c>>2]);c=j[a+4>>2]+4|0;j[a+4>>2]=c;b=j[a+8>>2]-c>>2;if(b>>>0>2){continue}break}}c=170;b:{switch(b-1|0){case 1:c=341;case 0:j[a+16>>2]=c;break;default:break b}}}function so(a,b){var c=0,d=0,e=0,f=0;a:{d=j[a>>2];if((j[a+8>>2]-d|0)/12>>>0>=b>>>0){break a}b:{c:{if(b>>>0<357913942){c=j[a+4>>2];e=p(b,12);b=U(e);f=b+e|0;e=b+p((c-d|0)/12|0,12)|0;if((c|0)==(d|0)){break c}b=e;while(1){b=b-12|0;j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;c=c-12|0;j[b>>2]=j[c>>2];j[b+4>>2]=j[c+4>>2];j[b+8>>2]=j[c+8>>2];j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;if((c|0)!=(d|0)){continue}break}j[a+8>>2]=f;c=j[a+4>>2];j[a+4>>2]=e;d=j[a>>2];j[a>>2]=b;if((c|0)==(d|0)){break b}while(1){a=c-12|0;b=j[a>>2];if(b){j[c-8>>2]=b;T(b)}c=a;if((d|0)!=(c|0)){continue}break}break b}D();z()}j[a+8>>2]=f;j[a+4>>2]=e;j[a>>2]=e}if(!d){break a}T(d)}}function Fp(a){var b=0,c=0,d=0,e=0;b=j[a>>2];e=a+4|0;if((b|0)!=(e|0)){while(1){d=b;Me(j[b+28>>2]);c=j[b+4>>2];a:{if(!c){b=j[d+8>>2];if((d|0)==j[b>>2]){break a}c=d+8|0;while(1){d=j[c>>2];c=d+8|0;b=j[d+8>>2];if((d|0)!=j[b>>2]){continue}break}break a}while(1){b=c;c=j[b>>2];if(c){continue}break}}if((b|0)!=(e|0)){continue}break}}Cd(a,j[a+4>>2]);j[a>>2]=e;j[a+4>>2]=0;j[a+8>>2]=0;lp(a+12|0);c=j[a+16>>2];b=j[a+20>>2];b:{if((c|0)==(b|0)){break b}while(1){T(j[c>>2]);c=c+4|0;if((b|0)!=(c|0)){continue}break}b=j[a+20>>2];c=j[a+16>>2];if((b|0)==(c|0)){break b}j[a+20>>2]=b+(((b-c|0)-4>>>2^-1)<<2)}b=j[a+12>>2];if(b){T(b)}Cd(a,j[a+4>>2])}function aq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0;e=M-16|0;M=e;a:{f=W(c);if(f>>>0<4294967280){b:{c:{if(f>>>0>=11){i=f+16&-16;g=U(i);j[e+8>>2]=i|-2147483648;j[e>>2]=g;j[e+4>>2]=f;i=e;break c}h[e+11|0]=f;i=e;g=e;if(!f){break b}}V(g,c,f)}h[f+g|0]=0;c=k[i+11|0];g=c<<24>>24;if(((g|0)<0?j[e+4>>2]:c)>>>0<2){break a}f=0;while(1){d:{if(g<<24>>24<=-1){l=j[e+4>>2];if(l>>>0<=f>>>0){break a}c=j[e>>2];l=l+(f^-1)|0;g=c+l|0;break d}c=g&255;if(c>>>0<=f>>>0){break a}l=c+(f^-1)|0;g=l+e|0;c=e}m=h[g|0];xb(e,g-c|0,1);wa(a,b,e,d,0,0);kf(e,(h[i+11|0]<0?j[e>>2]:e)+l|0,m);f=f+1|0;g=k[i+11|0];continue}}X();z()}if(g<<24>>24<=-1){T(j[e>>2])}M=e+16|0}function xq(a,b){a=a|0;b=b|0;var c=0;O[j[j[a>>2]+24>>2]](a)|0;b=Hb(b,149140);j[a+68>>2]=b;c=k[a+98|0];b=O[j[j[b>>2]+28>>2]](b)|0;h[a+98|0]=b;if((b|0)!=(c|0)){j[a+8>>2]=0;j[a+12>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;c=k[a+96|0];if(b){a:{if(!c){break a}b=j[a+32>>2];if(!b){break a}T(b)}h[a+96|0]=k[a+97|0];j[a+52>>2]=j[a+60>>2];b=j[a+56>>2];j[a+56>>2]=0;j[a+60>>2]=0;j[a+32>>2]=b;h[a+97|0]=0;return}b:{if(c){break b}b=j[a+32>>2];if((b|0)==(a+44|0)){break b}h[a+97|0]=0;j[a+56>>2]=b;b=j[a+52>>2];j[a+60>>2]=b;b=U(b);h[a+96|0]=1;j[a+32>>2]=b;return}b=j[a+52>>2];j[a+60>>2]=b;b=U(b);h[a+97|0]=1;j[a+56>>2]=b}}function sp(a,b,c){var d=0,e=0,f=0;e=j[c>>2]+4|0;a:{b:{f=j[a+4>>2];c:{if(!f){d=e>>>0>1e3?e:1e3;j[a+8>>2]=d;d=ja(d);j[a+16>>2]=0;j[a+4>>2]=d;break c}d=j[a+8>>2];e=e+j[a+16>>2]|0;if(d>>>0>=e>>>0){break b}while(1){d=d<<1;if(e>>>0>d>>>0){continue}break}j[a+8>>2]=d;d=vc(f,d);if(d){j[a+4>>2]=d;d=d+j[a+16>>2]|0;break c}d=ja(j[a+8>>2]);e=j[a+4>>2];d=V(d,e,j[a+16>>2]);T(e);j[a+4>>2]=d;d=d+j[a+16>>2]|0}j[a+12>>2]=d;break a}d=j[a+12>>2]}e=j[c>>2];h[d|0]=e;h[d+1|0]=e>>>8;h[d+2|0]=e>>>16;h[d+3|0]=e>>>24;d=j[a+12>>2]+4|0;j[a+12>>2]=d;j[a+16>>2]=j[a+16>>2]+4;V(d,b,j[c>>2]);b=j[c>>2];j[a+12>>2]=b+j[a+12>>2];j[a+16>>2]=b+j[a+16>>2]}function Xc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;h=j[c+4>>2];d=j[c>>2];i=h-d|0;l=i>>1;m=j[b+4>>2];e=j[b>>2];n=m-e|0;o=n>>1;if(!j[a+76>>2]){f=(d|0)!=(h|0)?k[d|0]|k[d+1|0]<<8:f;g=(e|0)!=(m|0)?k[e|0]|k[e+1|0]<<8:g;a:{if((f|0)!=(g|0)){d=0;if((Xe(f,j[a+60>>2])|0)!=(g|0)){break a}}d=1;if((n|0)<3|(i|0)<3){break a}a=j[c>>2];b=j[b>>2];while(1){c=d<<1;e=c+b|0;c=a+c|0;if(k[e|0]!=k[c|0]|k[e+1|0]!=k[c+1|0]){break a}d=d+1|0;if((o|0)<=(d|0)){break a}if((d|0)<(l|0)){continue}break}}return d}a=((o<<1)+e|0)-2|0;a=k[a|0]|k[a+1|0]<<8;b=(d+(l<<1)|0)-2|0;b=k[b|0]|k[b+1|0]<<8;return(a&255)==(b&255)&(a>>>8|0)==(b>>>8|0)}function rh(a,b,c,d,e){var f=0,g=0,i=0;f=M-208|0;M=f;j[f+204>>2]=c;ya(f+160|0,0,40);j[f+200>>2]=j[f+204>>2];a:{if((Ce(0,b,f+200|0,f+80|0,f+160|0,d,e)|0)<0){b=-1;break a}g=j[a+76>>2]>=0;c=j[a>>2];if(h[a+74|0]<=0){j[a>>2]=c&-33}i=c&32;b:{if(j[a+48>>2]){b=Ce(a,b,f+200|0,f+80|0,f+160|0,d,e);break b}j[a+48>>2]=80;j[a+16>>2]=f+80;j[a+28>>2]=f;j[a+20>>2]=f;c=j[a+44>>2];j[a+44>>2]=f;d=Ce(a,b,f+200|0,f+80|0,f+160|0,d,e);b=d;if(!c){break b}O[j[a+36>>2]](a,0,0)|0;j[a+48>>2]=0;j[a+44>>2]=c;j[a+28>>2]=0;j[a+16>>2]=0;b=j[a+20>>2];j[a+20>>2]=0;b=b?d:-1}c=a;a=j[a>>2];j[c>>2]=a|i;b=a&32?-1:b;if(!g){break a}}M=f+208|0;return b}function Pe(a,b,c,d,e,f){var g=0,i=0,l=0,m=0,n=0;g=M-16|0;M=g;a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}j[c+4>>2]=j[c>>2];j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;Sh(a,g,d);d=h[g+11|0]<0?j[g>>2]:g;while(1){l=d;d=d+1|0;if(k[l|0]==32){continue}break}j[f>>2]=0;m=e;d=W(l);e=0;b:{if((d|0)<1){break b}e=l-1|0;c:{while(1){if(k[d+e|0]!=46){break c}i=i+1|0;j[f>>2]=i;n=(d|0)>1;d=d-1|0;if(n){continue}break}i=0;e=0;break b}aa(b,l,d);d=k[b+11|0];i=d<<24>>24<0?j[b+4>>2]:d;if(j[a+44>>2]){ia(c,b);e=Mc(c,j[a+40>>2]);break b}e=Nc(b,j[a+36>>2])}j[m>>2]=e;if(h[g+11|0]<=-1){T(j[g>>2])}M=g+16|0;return i}function id(a,b,c){var d=0,e=0,f=0,g=0;d=M-16|0;M=d;e=0;a:{if((c|0)<3){break a}b:{f=W(b);if(f>>>0<4294967280){c:{d:{if(f>>>0>=11){c=f+16&-16;e=U(c);j[d+8>>2]=c|-2147483648;j[d>>2]=e;j[d+4>>2]=f;c=d;break d}h[d+11|0]=f;c=d;e=d;if(!f){break c}}V(e,b,f)}h[e+f|0]=0;e=1;while(1){f=h[c+11|0];e:{if((f|0)<=-1){if(m[d+4>>2]>e>>>0){break e}T(j[d>>2]);break b}if((f&255)>>>0<=e>>>0){break b}}f:{if(!((k[b+e|0]&192)==128?j[a+4144>>2]:0)){lf(d,e);f=k[c+11|0];g=f<<24>>24<0;if(ug(a,g?j[d>>2]:d,g?j[d+4>>2]:f)){break f}xb(d,e,1)}e=e+1|0;continue}break}if(h[c+11|0]<=-1){T(j[d>>2])}e=1;break a}X();z()}e=0}M=d+16|0;return e}function vn(a,b){var c=0,d=0,e=0;d=b+4|0;if(h[b+15|0]<=-1){c=j[d>>2]}else{c=d}e=((k[b+30|0]<<2)+a|0)+2048|0;j[b+80>>2]=j[e>>2];j[e>>2]=b;a:{if(!k[c|0]){j[b+68>>2]=j[a>>2];break a}j[b+72>>2]=0;j[b+76>>2]=0;a=(k[c|0]<<2)+a|0;c=j[a>>2];if(!c){break a}b:{c:{if(h[d+11|0]>-1){while(1){a=c;c=a+4|0;e=d;if(h[a+15|0]<=-1){c=j[c>>2]}if((ba(e,c)|0)<=0){c=j[a+72>>2];if(c){continue}break c}c=j[a+76>>2];if(c){continue}break b}}d=j[d>>2];while(1){a=c;c=a+4|0;e=d;if(h[a+15|0]<0){c=j[c>>2]}if((ba(e,c)|0)>=1){c=j[a+76>>2];if(c){continue}break b}c=j[a+72>>2];if(c){continue}break}}a=a+72|0;break a}a=a+76|0}j[a>>2]=b}function bq(a,b,c,d,e){var f=0,g=0,l=0,m=0;f=M-32|0;M=f;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;a:{if(d){if((d|0)<=-1){break a}m=d<<1;g=U(m);j[f+16>>2]=g;l=(d<<1)+g|0;j[f+24>>2]=l;V(g,c,m);j[f+20>>2]=l}c=l-g|0;if(!(c>>1>>>0<2|!c)){c=c>>1;d=0;while(1){m=(d^-1)+c<<1;c=m+g|0;i[f+14>>1]=k[c|0]|k[c+1|0]<<8;g=l;l=c+2|0;g=g-l|0;if(g){Ja(c,l,g)}j[f+20>>2]=c+g;j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;da(f,f+16|0);wa(a,b,f,e,0,0);Kh(f+16|0,m+j[f+16>>2]|0,f+14|0);if(h[f+11|0]<=-1){T(j[f>>2])}l=j[f+20>>2];g=j[f+16>>2];c=l-g>>1;d=d+1|0;if(c>>>0>d>>>0){continue}break}}if(g){j[f+20>>2]=g;T(g)}M=f+32|0;return}X();z()}function $n(a,b){var c=0,d=0,e=0,f=0,g=0;a:{d=j[a>>2];if((j[a+8>>2]-d|0)/12>>>0>=b>>>0){break a}b:{c:{if(b>>>0<357913942){c=j[a+4>>2];e=p(b,12);b=U(e);f=b+e|0;e=b+p((c-d|0)/12|0,12)|0;if((c|0)==(d|0)){break c}b=e;while(1){c=c-12|0;g=j[c+4>>2];b=b-12|0;j[b>>2]=j[c>>2];j[b+4>>2]=g;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;if((c|0)!=(d|0)){continue}break}j[a+8>>2]=f;c=j[a+4>>2];j[a+4>>2]=e;d=j[a>>2];j[a>>2]=b;if((c|0)==(d|0)){break b}while(1){a=c-12|0;if(h[c-1|0]<=-1){T(j[a>>2])}c=a;if((d|0)!=(c|0)){continue}break}break b}D();z()}j[a+8>>2]=f;j[a+4>>2]=e;j[a>>2]=e}if(!d){break a}T(d)}}function Ha(a,b){var c=0,d=0,e=0;c=M-32|0;M=c;a:{b:{c:{switch(j[a+8>>2]-1|0){case 0:a=k[b|0]|k[b+1|0]<<8;b=a<<8|a>>>8;break b;case 1:b=ta(b);break b;case 2:j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;d=W(b);if(d>>>0>=4294967280){break a}d:{e:{if(d>>>0>=11){a=d+16&-16;e=U(a);j[c+8>>2]=a|-2147483648;j[c>>2]=e;j[c+4>>2]=d;a=c;break e}h[c+11|0]=d;a=c;e=c;if(!d){break d}}V(e,b,d)}h[d+e|0]=0;ia(c+16|0,c);if(h[a+11|0]<=-1){T(j[c>>2])}a=j[c+16>>2];f:{if((a|0)!=j[c+20>>2]){b=k[a|0]|k[a+1|0]<<8;break f}b=0;if(!a){break b}}j[c+20>>2]=a;T(a);break b;default:break c}}b=k[b|0]}M=c+32|0;return b&65535}X();z()}function $h(){var a=0,b=0,c=0,d=0,e=0;j[37198]=j[37198]+1;if(!j[37199]){d=U(393216);j[37199]=d;while(1){a=p(b,6)+d|0;i[a+4>>1]=b;h[a|0]=0;i[a+2>>1]=b;a=b|1;c=p(a,6)+d|0;i[c+4>>1]=a;h[c|0]=0;i[c+2>>1]=a;a=b|2;c=p(a,6)+d|0;i[c+4>>1]=a;h[c|0]=0;i[c+2>>1]=a;a=b|3;c=p(a,6)+d|0;i[c+4>>1]=a;h[c|0]=0;i[c+2>>1]=a;b=b+4|0;if((b|0)!=65536){continue}break}while(1){a=p(e,6);b=p(l[a+2256>>1],6)+d|0;h[b|0]=1;a=a+2258|0;a=l[a>>1]|l[a+2>>1]<<16;i[b+2>>1]=a;i[b+4>>1]=a>>>16;a=p(e|1,6);b=p(l[a+2256>>1],6)+d|0;h[b|0]=1;a=j[a+2258>>2];i[b+2>>1]=a;i[b+4>>1]=a>>>16;e=e+2|0;if((e|0)!=19672){continue}break}}}function cf(a,b,c,d,e,f,g,h){var i=0,l=0,n=0;i=M-16|0;M=i;if((b^-1)+1073741807>>>0>=c>>>0){if(k[a+11|0]>>>7|0){n=j[a>>2]}else{n=a}a:{if(b>>>0<536870887){j[i+8>>2]=b<<1;j[i+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=i+8|0;l=i+12|0;c=j[(m[l>>2]>2]?c:l)>>2];if(c>>>0>=2){l=c+4&-4;c=l-1|0;c=(c|0)==2?l:c}else{c=1}break a}c=1073741806}l=c+1|0;c=Rc(l);if(e){sc(c,n,e)}if(g){sc(c+(e<<2)|0,h,g)}d=d-f|0;h=d-e|0;if(h){e=e<<2;sc((e+c|0)+(g<<2)|0,(e+n|0)+(f<<2)|0,h)}if((b|0)!=1){T(n)}j[a>>2]=c;j[a+8>>2]=l|-2147483648;b=a;a=d+g|0;j[b+4>>2]=a;j[i+4>>2]=0;j[c+(a<<2)>>2]=j[i+4>>2];M=i+16|0;return}X();z()}function ll(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=M-32|0;M=b;e=ga(b+16|0);d=b+8|0;c=d;j[c+4>>2]=0;j[c>>2]=134060;j[c>>2]=128412;j[c>>2]=128880;j[c>>2]=128996;c=M-16|0;M=c;j[c+8>>2]=e;M=c+16|0;g=j[c+8>>2];if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}h=c;if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}kl(d,g,h,c+(f<<2)|0);if(k[e+11|0]>>>7|0){c=j[e>>2]}else{c=e}d=ga(a);a=b+8|0;f=a;j[f+4>>2]=0;j[f>>2]=134060;j[f>>2]=128412;j[f>>2]=128880;j[f>>2]=129092;f=M-16|0;M=f;j[f+8>>2]=d;M=f+16|0;jl(a,j[f+8>>2],c,W(c)+c|0);Y(e);M=b+32|0}function Cm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=M-48|0;M=f;j[f+40>>2]=b;a:{if(!(j[c+4>>2]&1)){c=O[j[j[a>>2]+24>>2]](a,b,c,d,e)|0;break a}a=j[c+28>>2];j[f+24>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=Bc(f+24|0);b=j[f+24>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b:{if(e){O[j[j[a>>2]+24>>2]](f+24|0,a);break b}O[j[j[a>>2]+28>>2]](f+24|0,a)}g=f,h=qb(f+24|0),j[g+16>>2]=h;while(1){g=f,h=ic(f+24|0),j[g+8>>2]=h;if(j[f+16>>2]==j[f+8>>2]^1){ah(f+40|0,j[j[f+16>>2]>>2]);j[f+16>>2]=j[f+16>>2]+4;continue}else{c=j[f+40>>2];Y(f+24|0)}break}}M=f+48|0;return c|0}function Mm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0;f=M-48|0;M=f;j[f+40>>2]=b;a:{if(!(j[c+4>>2]&1)){c=O[j[j[a>>2]+24>>2]](a,b,c,d,e)|0;break a}a=j[c+28>>2];j[f+24>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=Dc(f+24|0);b=j[f+24>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b:{if(e){O[j[j[a>>2]+24>>2]](f+24|0,a);break b}O[j[j[a>>2]+28>>2]](f+24|0,a)}g=f,i=qb(f+24|0),j[g+16>>2]=i;while(1){g=f,i=kc(f+24|0),j[g+8>>2]=i;if(j[f+16>>2]==j[f+8>>2]^1){bh(f+40|0,h[j[f+16>>2]]);j[f+16>>2]=j[f+16>>2]+1;continue}else{c=j[f+40>>2];Y(f+24|0)}break}}M=f+48|0;return c|0}function ki(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,l=0,m=0,n=0,o=0,p=0;if(zb(a,j[b+8>>2],f)){Rd(b,c,d,e);return}l=k[b+53|0];g=j[a+12>>2];h[b+53|0]=0;m=k[b+52|0];h[b+52|0]=0;n=a+16|0;Qd(n,b,c,d,e,f);o=k[b+53|0];l=l|o;p=k[b+52|0];m=m|p;a:{if((g|0)<2){break a}n=n+(g<<3)|0;g=a+24|0;while(1){if(k[b+54|0]){break a}b:{if(p){if(j[b+24>>2]==1){break a}if(k[a+8|0]&2){break b}break a}if(!o){break b}if(!(h[a+8|0]&1)){break a}}i[b+52>>1]=0;Qd(g,b,c,d,e,f);o=k[b+53|0];l=o|l;p=k[b+52|0];m=p|m;g=g+8|0;if(n>>>0>g>>>0){continue}break}}h[b+53|0]=(l&255)!=0;h[b+52|0]=(m&255)!=0}function Nj(){var a=0;a:{if(h[150016]&1){break a}if(!Ma(150016)){break a}a=149728;while(1){a=ga(a)+12|0;if((a|0)!=150016){continue}break}La(150016)}oa(149728,132996);oa(149740,133004);oa(149752,133013);oa(149764,133019);oa(149776,133025);oa(149788,133029);oa(149800,133034);oa(149812,133039);oa(149824,133046);oa(149836,133056);oa(149848,133064);oa(149860,133073);oa(149872,133082);oa(149884,133086);oa(149896,133090);oa(149908,133094);oa(149920,133025);oa(149932,133098);oa(149944,133102);oa(149956,133106);oa(149968,133110);oa(149980,133114);oa(149992,133118);oa(150004,133122)}function Kj(){var a=0;a:{if(h[150320]&1){break a}if(!Ma(150320)){break a}a=150032;while(1){a=ga(a)+12|0;if((a|0)!=150320){continue}break}La(150320)}na(150032,133128);na(150044,133160);na(150056,133196);na(150068,133220);na(150080,133244);na(150092,133260);na(150104,133280);na(150116,133300);na(150128,133328);na(150140,133368);na(150152,133400);na(150164,133436);na(150176,133472);na(150188,133488);na(150200,133504);na(150212,133520);na(150224,133244);na(150236,133536);na(150248,133552);na(150260,133568);na(150272,133584);na(150284,133600);na(150296,133616);na(150308,133632)}function zd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{f=j[a+4>>2];b:{if((f|0)!=j[a>>2]){c=f;break b}e=j[a+8>>2];c=j[a+12>>2];if(e>>>0>>0){d=((c-e>>2)+1|0)/2<<2;c=d+e|0;g=e-f|0;if(g){c=c-g|0;Ja(c,f,g);e=j[a+8>>2]}j[a+4>>2]=c;j[a+8>>2]=e+d;break b}c=c-f|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;h=U(c);g=h+c|0;c=(d+3&-4)+h|0;i=c;d=e-f|0;if(d){i=c+d|0;e=c;d=f;while(1){j[e>>2]=j[d>>2];d=d+4|0;e=e+4|0;if((i|0)!=(e|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=i;j[a+4>>2]=c;j[a>>2]=h;if(!f){break b}T(f);c=j[a+4>>2]}j[c-4>>2]=j[b>>2];j[a+4>>2]=j[a+4>>2]-4;return}D();z()}function wq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;j[a+8>>2]=0;j[a+12>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;a:{if(!k[a+96|0]){break a}d=j[a+32>>2];if(!d){break a}T(d)}b:{if(!k[a+97|0]){break b}d=j[a+56>>2];if(!d){break b}T(d)}j[a+52>>2]=c;e=a;c:{d:{e:{if(c>>>0>=9){d=k[a+98|0];if(!(!b|!d)){h[a+96|0]=0;j[a+32>>2]=b;break d}f=U(c);h[a+96|0]=1;j[a+32>>2]=f;break e}h[a+96|0]=0;j[a+52>>2]=8;j[a+32>>2]=a+44;d=k[a+98|0]}if(d){break d}d=(c|0)>8?c:8;j[a+60>>2]=d;c=0;if(b){break c}b=U(d);c=1;break c}b=0;j[a+60>>2]=0;c=0}h[e+97|0]=c;j[a+56>>2]=b;return a|0}function Hc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;g=a+4|0;a=j[a+4>>2];a:{b:{if(!a){break b}d=k[b+11|0];c=d<<24>>24<0;i=c?j[b>>2]:b;e=c?j[b+4>>2]:d;c=g;while(1){b=k[a+27|0];l=b<<24>>24<0;h=l?j[a+20>>2]:b;f=h>>>0>e>>>0;d=f?e:h;c:{if(d){b=a+16|0;b=qa(l?j[b>>2]:b,i,d);if(b){break c}}b=e>>>0>h>>>0?-1:f}c=(b|0)<0?c:a;a=j[(b>>>29&4)+a>>2];if(a){continue}break}if((c|0)==(g|0)){break b}a=k[c+27|0];f=a<<24>>24<0;d:{d=f?j[c+20>>2]:a;b=d>>>0>>0?d:e;if(b){a=c+16|0;a=qa(i,f?j[a>>2]:a,b);if(a){break d}}if(d>>>0>e>>>0){break b}break a}if((a|0)>-1){break a}}c=g}return c}function Uq(a){var b=0,c=0,d=0,e=0;b=j[a+16>>2];if(b){T(lq(b))}b=j[a>>2];if(b){T(Ko(b))}c=j[a+4>>2];e=j[a+8>>2];if((c|0)!=(e|0)){while(1){b=j[(d<<2)+c>>2];if(b){T(er(b));e=j[a+8>>2];c=j[a+4>>2]}d=d+1|0;if(d>>>0>2>>>0){continue}break}}j[a+36>>2]=0;j[a>>2]=0;j[a+16>>2]=0;b=j[a+20>>2];if(b){T(b)}j[a+20>>2]=0;d=j[a+52>>2];if(d){b=d;c=j[a+56>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){b=c-12|0;if(h[c-1|0]<=-1){T(j[b>>2])}c=b;if((b|0)!=(d|0)){continue}break}e=j[a+52>>2]}b=e;j[a+56>>2]=d;T(b)}if(h[a+35|0]<=-1){T(j[a+24>>2])}b=j[a+4>>2];if(b){j[a+8>>2]=b;T(b)}}function zp(a,b,c){var d=0,e=0,f=0,g=0;d=M-32|0;M=d;a:{f=j[b>>2];e=W(f);if(e>>>0<4294967280){b:{c:{if(e>>>0>=11){g=e+16&-16;b=U(g);j[d+24>>2]=g|-2147483648;j[d+16>>2]=b;j[d+20>>2]=e;break c}h[d+27|0]=e;b=d+16|0;if(!e){break b}}V(b,f,e)}h[b+e|0]=0;f=j[c>>2];e=W(f);if(e>>>0>=4294967280){break a}d:{e:{if(e>>>0>=11){c=e+16&-16;b=U(c);j[d+8>>2]=c|-2147483648;j[d>>2]=b;j[d+4>>2]=e;c=d;break e}h[d+11|0]=e;c=d;b=d;if(!e){break d}}V(b,f,e)}h[b+e|0]=0;a=xp(a,d+16|0,d);if(h[c+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}M=d+32|0;return(a|0)!=0}X();z()}X();z()}function Ad(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{e=j[a+8>>2];b:{if((e|0)!=j[a+12>>2]){break b}f=j[a+4>>2];g=j[a>>2];if(f>>>0>g>>>0){g=((f-g>>2)+1|0)/-2<<2;c=g+f|0;d=e-f|0;if(d){Ja(c,f,d);f=j[a+4>>2]}e=c+d|0;j[a+8>>2]=e;j[a+4>>2]=f+g;break b}c=e-g|0;c=c?c>>1:1;if(c>>>0>=1073741824){break a}d=c<<2;h=U(d);i=h+d|0;d=e-f|0;c=(c&-4)+h|0;e=c;if(d){e=c+d|0;d=c;while(1){j[d>>2]=j[f>>2];f=f+4|0;d=d+4|0;if((e|0)!=(d|0)){continue}break}}j[a+12>>2]=i;j[a+8>>2]=e;j[a+4>>2]=c;j[a>>2]=h;if(!g){break b}T(g);e=j[a+8>>2]}j[e>>2]=j[b>>2];j[a+8>>2]=j[a+8>>2]+4;return}D();z()}function Gp(a){var b=0,c=0,d=0;j[a+52>>2]=0;b=j[37200];if((b|0)!=148804){while(1){d=b;b=j[b+28>>2];if(b){c=j[b>>2];if(c){T(c);j[b>>2]=0}T(b)}c=j[d+4>>2];a:{if(!c){b=j[d+8>>2];if((d|0)==j[b>>2]){break a}d=d+8|0;while(1){c=j[d>>2];d=c+8|0;b=j[c+8>>2];if((c|0)!=j[b>>2]){continue}break}break a}while(1){b=c;c=j[b>>2];if(c){continue}break}}if((b|0)!=148804){continue}break}}Dd(148800,j[37201]);j[37200]=148804;j[37201]=0;j[37202]=0;j[a+56>>2]=121508;T(j[a+60>>2]);j[a+68>>2]=0;j[a+72>>2]=0;j[a+60>>2]=0;j[a+64>>2]=0;if(h[a+51|0]<=-1){T(j[a+40>>2])}Fp(a);return a}function Ub(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0;f=M-16|0;M=f;Kr(+b);h=Hr(1)|0;e=Hr(0)|0;g=h&2147483647;c=g;d=e;g=c+ -1048576|0;a:{if((g|0)==2145386495|g>>>0<2145386495){i=d<<28;e=c>>>4|0;c=(c&15)<<28|d>>>4;d=e+1006632960|0;break a}if((c|0)==2146435072|c>>>0>2146435072){i=e<<28;c=h;e=c>>>4|0;c=(c&15)<<28|d>>>4;d=e|2147418112;break a}if(!(c|d)){c=0;d=0;break a}g=c;c=c>>>0<1?s(e)+32|0:s(c);mb(f,d,g,0,0,c+49|0);k=j[f>>2];i=j[f+4>>2];e=15372-c<<16;c=j[f+8>>2];d=e|j[f+12>>2]^65536}j[a>>2]=k;j[a+4>>2]=i;j[a+8>>2]=c;j[a+12>>2]=h&-2147483648|d;M=f+16|0}function vm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0;a=M-208|0;M=a;i[a+204>>1]=k[127654]|k[127655]<<8;j[a+200>>2]=k[127650]|k[127651]<<8|(k[127652]<<16|k[127653]<<24);f=ra();j[a>>2]=e;g=fb(a+176|0,20,f,a+200|0,a);f=g+(a+176|0)|0;h=Bb(a+176|0,f,c);e=j[c+28>>2];j[a+16>>2]=e;j[e+4>>2]=j[e+4>>2]+1;l=rb(a+16|0);e=j[a+16>>2];m=j[e+4>>2]-1|0;j[e+4>>2]=m;if((m|0)==-1){O[j[j[e>>2]+8>>2]](e)}O[j[j[l>>2]+48>>2]](l,a+176|0,f,a+16|0)|0;e=b;b=(a+16|0)+(g<<2)|0;b=_b(e,a+16|0,(f|0)==(h|0)?b:((h-a<<2)+a|0)-688|0,b,c,d);M=a+208|0;return b|0}function mi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(zb(a,j[b+8>>2],e)){if(!(j[b+28>>2]==1|j[b+4>>2]!=(c|0))){j[b+28>>2]=d}return}a:{if(zb(a,j[b>>2],e)){if(!(j[b+20>>2]!=(c|0)?j[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}j[b+32>>2]=1;return}j[b+32>>2]=d;b:{if(j[b+44>>2]==4){break b}i[b+52>>1]=0;a=j[a+8>>2];O[j[j[a>>2]+20>>2]](a,b,c,c,1,e);if(k[b+53|0]){j[b+44>>2]=3;if(!k[b+52|0]){break b}break a}j[b+44>>2]=4}j[b+20>>2]=c;j[b+40>>2]=j[b+40>>2]+1;if(j[b+36>>2]!=1|j[b+24>>2]!=2){break a}h[b+54|0]=1;return}a=j[a+8>>2];O[j[j[a>>2]+24>>2]](a,b,c,d,e)}}function Lb(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;j[a+4356>>2]=0;j[a+4360>>2]=0;j[a+4376>>2]=0;e=j[a>>2];a:{if(e){while(1){f=Lf(e,b,c,d);if(f){break a}e=j[e+68>>2];if(e){continue}break}}g=j[(k[b|0]<<2)+a>>2];if(g){while(1){f=g+4|0;f=h[g+15|0]<=-1?j[f>>2]:f;e=k[f|0];b:{if(!e){break b}i=b;if((e|0)!=46&k[b|0]!=(e|0)){break b}while(1){e=k[f+1|0];if(!e){break b}l=k[i+1|0];i=i+1|0;f=f+1|0;if(!((e|0)!=46&(e|0)!=(l|0))){continue}break}}c:{if(!e){i=Lf(g,b,c,d);if(i){j[a+4376>>2]=g;return i}i=g+72|0;break c}i=g+76|0}g=j[i>>2];if(g){continue}break}}f=0}return f}function cd(a,b,c,d,e,f,g,i){var l=0,n=0,o=0;l=M-16|0;M=l;if((b^-1)-17>>>0>=c>>>0){if(k[a+11|0]>>>7|0){o=j[a>>2]}else{o=a}a:{if(b>>>0<2147483623){j[l+8>>2]=b<<1;j[l+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=l+8|0;n=l+12|0;c=j[(m[n>>2]>2]?c:n)>>2];if(c>>>0>=11){n=c+16&-16;c=n-1|0;c=(c|0)==11?n:c}else{c=10}break a}c=-18}n=c+1|0;c=U(n);if(e){ac(c,o,e)}if(g){ac(c+e|0,i,g)}d=d-f|0;i=d-e|0;if(i){ac((c+e|0)+g|0,(e+o|0)+f|0,i)}if((b|0)!=10){T(o)}j[a>>2]=c;j[a+8>>2]=n|-2147483648;b=a;a=d+g|0;j[b+4>>2]=a;h[l+7|0]=0;h[a+c|0]=k[l+7|0];M=l+16|0;return}X();z()}function up(a,b){var c=0,d=0,e=0,f=0,g=0,i=0;d=M-16|0;M=d;f=j[a+52>>2];c=0;a:{if(!f){break a}b=Hq(f,d+8|0,j[b>>2]);j[a+72>>2]=0;j[a+68>>2]=j[a+60>>2];j[d+12>>2]=0;c=a+56|0;tp(c,d+12|0);b:{if((b|0)<=0){b=j[a+60>>2];c=j[a+72>>2];h[b|0]=c;h[b+1|0]=c>>>8;h[b+2|0]=c>>>16;h[b+3|0]=c>>>24;break b}while(1){f=j[j[d+8>>2]+(e<<2)>>2];g=d,i=W(f),j[g+4>>2]=i;sp(c,f,d+4|0);e=e+1|0;if((b|0)!=(e|0)){continue}break}c=j[a+60>>2];e=j[a+72>>2];h[c|0]=e;h[c+1|0]=e>>>8;h[c+2|0]=e>>>16;h[c+3|0]=e>>>24;if((b|0)<=0){break b}Gq(d+8|0,b)}c=j[a+60>>2]}M=d+16|0;return c}function Bm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127648]|k[127649]<<8;j[a+24>>2]=k[127644]|k[127645]<<8|(k[127646]<<16|k[127647]<<24);jc(a+24|1,127636,1,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;e=g>>>9&1;h=fb(f,e+13|0,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-((e<<3)+107&112)|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Dm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0;a=M-96|0;M=a;i[a+92>>1]=k[127654]|k[127655]<<8;j[a+88>>2]=k[127650]|k[127651]<<8|(k[127652]<<16|k[127653]<<24);f=ra();j[a>>2]=e;g=fb(a- -64|0,20,f,a+88|0,a);f=g+(a- -64|0)|0;h=Bb(a- -64|0,f,c);e=j[c+28>>2];j[a+16>>2]=e;j[e+4>>2]=j[e+4>>2]+1;l=sb(a+16|0);e=j[a+16>>2];m=j[e+4>>2]-1|0;j[e+4>>2]=m;if((m|0)==-1){O[j[j[e>>2]+8>>2]](e)}O[j[j[l>>2]+32>>2]](l,a- -64|0,f,a+16|0)|0;e=b;b=(a+16|0)+g|0;b=$b(e,a+16|0,(f|0)==(h|0)?b:((h-a|0)+a|0)-48|0,b,c,d);M=a+96|0;return b|0}function si(a){var b=0,c=0,d=0,e=0;b=M+ -64|0;M=b;c=j[a>>2];d=j[c-4>>2];e=j[c-8>>2];j[b+20>>2]=0;j[b+16>>2]=134284;j[b+12>>2]=a;j[b+8>>2]=134332;c=0;ya(b+24|0,0,39);a=a+e|0;a:{if(zb(d,134332,0)){j[b+56>>2]=1;O[j[j[d>>2]+20>>2]](d,b+8|0,a,a,1,0);c=j[b+32>>2]==1?a:0;break a}O[j[j[d>>2]+24>>2]](d,b+8|0,a,1,0);b:{switch(j[b+44>>2]){case 0:c=j[b+48>>2]==1?j[b+36>>2]==1?j[b+40>>2]==1?j[b+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(j[b+32>>2]!=1){if(j[b+48>>2]|j[b+36>>2]!=1|j[b+40>>2]!=1){break a}}c=j[b+24>>2]}M=b- -64|0;return c}function Oe(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=c-b|0;g=f>>1;d=j[a+8>>2];e=j[a>>2];if(g>>>0<=d-e>>1>>>0){d=j[a+4>>2]-e|0;f=d>>1;d=f>>>0>>0?b+d|0:c;h=d-b|0;if(h){Ja(e,b,h)}if(f>>>0>>0){b=j[a+4>>2];c=c-d|0;if((c|0)>=1){b=V(b,d,c)+c|0}j[a+4>>2]=b;return}j[a+4>>2]=e+h;return}if(e){j[a+4>>2]=e;T(e);j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;d=0}a:{if((f|0)<=-1){break a}c=d>>1>>>0<1073741823?d>>>0>>0?g:d:2147483647;if((c|0)<=-1){break a}e=c<<1;c=U(e);j[a>>2]=c;j[a+4>>2]=c;j[a+8>>2]=c+e;if((f|0)>=1){c=V(c,b,f)+f|0}j[a+4>>2]=c;return}X();z()}function kf(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0;d=M-32|0;M=d;h[d+23|0]=c;j[d+24>>2]=b;i=d,l=qb(a),j[i+16>>2]=l;e=j[d+24>>2]-j[d+16>>2]|0;b=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}a:{if((b|0)==(c|0)){pb(a,c,1,c,e,0,1);b=j[a>>2];break a}if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}f=c-e|0;if(!f){break a}g=b+e|0;Kb(g+1|0,g,f)}h[b+e|0]=k[d+23|0];h[d+15|0]=0;f=b;b=c+1|0;h[f+b|0]=k[d+15|0];b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}i=d,l=qb(a),j[i+8>>2]=l;le(d+8|0,e);M=d+32|0}function Lm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127648]|k[127649]<<8;j[a+24>>2]=k[127644]|k[127645]<<8|(k[127646]<<16|k[127647]<<24);jc(a+24|1,127636,1,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;h=fb(f,(g>>>9&1)+13|0,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-32|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;od(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function We(a,b,c,d){var e=0,f=0,g=0,i=0;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;g=k[b+28|0]>d>>>0;f=h[b+27|0];e=j[b+20>>2];a:{if((f|0)<=-1){break a}e=f&255}b:{if(g|(!j[j[b+64>>2]+4484>>2]|d?e>>>0>=d>>>0:0)){break b}i=c+d|0;if(!Jd(b,i,c)){break b}e=b+16|0;g=k[e+11|0];f=g<<24>>24;c:{d:{if((f|0)<=-1){g=j[b+20>>2];if(!g){break c}f=j[e>>2];break d}if(!f){break c}f=e}if(ba(i-g|0,f)){break b}}Ka(a,c);f=a;c=h[e+11|0];e=j[b+20>>2];e:{if((c|0)<=-1){break e}e=c&255}c=k[b+15|0];a=c<<24>>24<0;oc(f,d-e|0,-1,a?j[b+4>>2]:b+4|0,a?j[b+8>>2]:c)}}function zm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127648]|k[127649]<<8;j[a+24>>2]=k[127644]|k[127645]<<8|(k[127646]<<16|k[127647]<<24);jc(a+24|1,127636,0,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;h=fb(f,g>>>9&1|12,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-96|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Im(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127648]|k[127649]<<8;j[a+24>>2]=k[127644]|k[127645]<<8|(k[127646]<<16|k[127647]<<24);jc(a+24|1,127636,0,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;h=fb(f,g>>>9&1|12,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-32|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;od(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function ka(a,b){var c=0,d=0,e=0,f=0,g=0;c=M-32|0;M=c;e=j[a>>2];f=j[a+4>>2];d=k[a+11|0];i[c>>1]=2336;h[c+11|0]=2;h[c+2|0]=0;g=a;a=d<<24>>24<0;d=(a?e:g)+(a?f:d)|0;f=ha(c+16|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}a=j[b>>2];a:{if((d|0)==(a|0)){a=d;break a}b:{while(1){if((Ba(f,h[a|0],0)|0)==-1){break b}a=a+1|0;if((d|0)!=(a|0)){continue}break}a=d;break a}if((a|0)==(d|0)){break a}e=a;while(1){if((Ba(f,h[e|0],0)|0)!=-1){d=e;break a}e=e+1|0;if((e|0)!=(d|0)){continue}break}}j[b>>2]=d;if(h[c+27|0]<=-1){T(j[c+16>>2])}M=c+32|0;return a}function Kd(a,b){var c=0,d=0,e=0,f=0,g=0;f=M-16|0;M=f;e=k[a+11|0];d=e<<24>>24<0;c=d?j[a>>2]:a;e=d?j[a+4>>2]:e;d=c+e|0;g=ha(f,b);a:{b:{if(!e){break b}while(1){if((Ba(g,h[c|0],0)|0)!=-1){break b}c=c+1|0;if((d|0)!=(c|0)){continue}break}c=d;break a}if((c|0)==(d|0)){break a}b=c+1|0;if((d|0)==(b|0)){break a}while(1){if((Ba(g,h[b|0],0)|0)==-1){h[c|0]=k[b|0];c=c+1|0}b=b+1|0;if((d|0)!=(b|0)){continue}break}}e=j[a>>2];d=k[a+11|0];b=d<<24>>24<0;xb(a,c-(b?e:a)|0,(b?e+j[a+4>>2]|0:a+d|0)-c|0);if(h[f+11|0]<=-1){T(j[f>>2])}M=f+16|0}function Vd(a,b,c){var d=0,e=0,f=0,g=0,i=0;e=M-16|0;M=e;to(e+8|0,a);if(k[e+8|0]){a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}g=a+24|0;i=c&255;b:{c:{while(1){c=j[j[j[a>>2]-12>>2]+g>>2];d=j[c+12>>2];d:{if((d|0)!=j[c+16>>2]){j[c+12>>2]=d+1;c=k[d|0];break d}c=O[j[j[c>>2]+40>>2]](c)|0;if((c|0)==-1){break c}}d=0;if((c&255)==(i|0)){break b}Z(b,c<<24>>24);f=f+1|0;if(j[b+4>>2]!=-17|h[b+11|0]>-1){continue}break}d=4;break b}d=f?2:6}b=j[j[a>>2]-12>>2]+a|0;gh(b,d|j[b+16>>2])}M=e+16|0;return a}function Ie(a,b){var c=0,d=0,e=0,f=0;d=M-16|0;M=d;j[d+12>>2]=b;b=a+112|0;j[b>>2]=121312;j[a+4>>2]=121292;j[a>>2]=0;j[a+8>>2]=0;c=a+12|0;td(b,c);j[a+184>>2]=0;j[a+188>>2]=-1;j[b>>2]=121256;j[a+4>>2]=121236;Fq(c);j[a+65784>>2]=0;j[a+192>>2]=0;h[a+196|0]=0;c=Np(d+12|0);a:{if(!c){j[d>>2]=j[d+12>>2];Mo(j[30514],d);break a}b=U(136);f=j[c+4>>2];c=j[c>>2];j[b+56>>2]=121488;j[b>>2]=121468;j[b+4>>2]=0;e=b+8|0;td(b+56|0,e);j[b+128>>2]=0;j[b+132>>2]=-1;j[b+56>>2]=133916;j[b>>2]=133896;bj(e,c,f);j[a>>2]=b}M=d+16|0;return a}function tp(a,b){var c=0,d=0,e=0;a:{b:{d=j[a+4>>2];c:{if(!d){j[a+8>>2]=1e3;c=ja(1e3);j[a+16>>2]=0;j[a+4>>2]=c;break c}c=j[a+8>>2];e=j[a+16>>2]+4|0;if(c>>>0>=e>>>0){break b}while(1){c=c<<1;if(e>>>0>c>>>0){continue}break}j[a+8>>2]=c;c=vc(d,c);if(c){j[a+4>>2]=c;c=c+j[a+16>>2]|0;break c}c=ja(j[a+8>>2]);d=j[a+4>>2];c=V(c,d,j[a+16>>2]);T(d);j[a+4>>2]=c;c=c+j[a+16>>2]|0}j[a+12>>2]=c;break a}c=j[a+12>>2]}b=j[b>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;j[a+12>>2]=j[a+12>>2]+4;j[a+16>>2]=j[a+16>>2]+4}function Fc(a,b,c,d,e,f){var g=0,h=0,i=0,k=0;a:{if(f&64){c=f+ -64|0;b=c&31;if((c&63)>>>0>=32){c=0;b=e>>>b|0}else{c=e>>>b|0;b=((1<>>b}d=0;e=0;break a}if(!f){break a}h=e;i=d;k=64-f|0;g=k&31;if((k&63)>>>0>=32){h=i<>>32-g|h<>>0>=32){g=0;b=c>>>b|0}else{g=c>>>b|0;b=((1<>>b}b=k|b;c=g|h;g=d;d=f&31;if((f&63)>>>0>=32){h=0;d=e>>>d|0}else{h=e>>>d|0;d=((1<>>d}e=h}j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=d;j[a+12>>2]=e}function Dp(a,b,c){var d=0,e=0,f=0,g=0;d=M-48|0;M=d;Dh(a);f=j[a>>2];a=W(f);if(a>>>0<4294967280){a:{b:{if(a>>>0>=11){g=a+16&-16;e=U(g);j[d+16>>2]=g|-2147483648;j[d+8>>2]=e;j[d+12>>2]=a;break b}h[d+19|0]=a;e=d+8|0;if(!a){break a}}V(e,f,a)}h[a+e|0]=0;a=U(8);j[a+4>>2]=c;j[a>>2]=b;j[d+32>>2]=j[d+16>>2];j[d+16>>2]=0;j[d+36>>2]=a;a=j[d+12>>2];j[d+24>>2]=j[d+8>>2];j[d+28>>2]=a;j[d+8>>2]=0;j[d+12>>2]=0;Cp(d+40|0,d+24|0,d+24|0);if(h[d+35|0]<=-1){T(j[d+24>>2])}if(h[d+19|0]<=-1){T(j[d+8>>2])}M=d+48|0;return 1}X();z()}function Ki(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;g=M-16|0;M=g;e=b;if(k[a+11|0]>>>7|0){f=j[a+4>>2]}else{f=k[a+11|0]}if(e>>>0<=f>>>0){e=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;a:{if(e-f>>>0>=d>>>0){if(!d){break a}if(k[a+11|0]>>>7|0){e=j[a>>2]}else{e=a}l=e+b|0;i=f-b|0;if(i){b=b+e|0;Kb(b+d|0,b,i);c=b>>>0<=c>>>0?e+f>>>0>c>>>0?c+d|0:c:c}Kb(l,c,d);c=d+f|0;b=c;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}h[g+15|0]=0;h[c+e|0]=k[g+15|0];break a}cd(a,e,(d+f|0)-e|0,f,b,0,d,c)}M=g+16|0;return}X();z()}function Vo(a,b){var c=0,d=0;c=1024;a:{b:{c:{if((a^b)&3){break c}d=1;d:{if(!(b&3)){break d}while(1){d=k[b|0];h[a|0]=d;if(!d){break a}a=a+1|0;b=b+1|0;c=c-1|0;d=(c|0)!=0;if(!c){break d}if(b&3){continue}break}}if(!d){break b}if(!k[b|0]){break a}if(c>>>0<4){break c}while(1){d=j[b>>2];if((d^-1)&d-16843009&-2139062144){break c}j[a>>2]=d;a=a+4|0;b=b+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break b}while(1){d=k[b|0];h[a|0]=d;if(!d){break a}a=a+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}c=0}ya(a,0,c)}function Jn(a,b,c){var d=0,e=0,f=0,g=0,i=0;a:{if(ba(c,1742)){e=k[c|0];if(e){d=c;while(1){i=d;d=f;f=0;b:{c:{switch(e-91|0){case 0:f=1;g=g+1|0;break b;case 2:break b;default:break c}}f=1;if(d&1){break b}g=(!(e&128)|!j[a+4144>>2]|(e&192)==128)+g|0;f=0}d=i+1|0;e=k[i+1|0];if(e){continue}break}}h[b+28|0]=g;a=W(c);d=a>>>0<20?a:20;V(b+32|0,c,d);if(a>>>0<=19){ya((b+d|0)+32|0,0,20-d|0);return 0}if(!k[c+20|0]){break a}h[b+29|0]=k[b+29|0]+16;a=cb(c+16|0);j[b+48>>2]=a;return!a}h[b+32|0]=0;h[b+28|0]=0}return 0}function mb(a,b,c,d,e,f){var g=0,h=0,i=0,k=0;a:{if(f&64){d=b;e=f+ -64|0;b=e&31;if((e&63)>>>0>=32){e=d<>>32-b|c<>>0>=32){h=g<>>32-d|e<>>0>=32){f=0;d=d>>>e|0}else{f=d>>>e|0;d=((1<>>e}d=k|d;e=f|h;f=b;b=i&31;if((i&63)>>>0>=32){h=f<>>32-b|c<>2]=b;j[a+4>>2]=c;j[a+8>>2]=d;j[a+12>>2]=e}function Rb(a,b,c,d,e){var f=0,g=0;f=M-16|0;M=f;j[f+8>>2]=b;a:{if(Sa(a,f+8|0)){j[c>>2]=j[c>>2]|6;b=0;break a}b=Ga(a);if(!((b|0)>=0?(l[j[d+8>>2]+((b&255)<<1)>>1]&2048)!=0:0)){j[c>>2]=j[c>>2]|4;b=0;break a}b=O[j[j[d>>2]+36>>2]](d,b,0)|0;while(1){b:{Oa(a);b=b-48|0;if(!lb(a,f+8|0)|(e|0)<2){break b}g=Ga(a);if(!((g|0)>=0?(l[j[d+8>>2]+((g&255)<<1)>>1]&2048)!=0:0)){break a}e=e-1|0;b=(O[j[j[d>>2]+36>>2]](d,g,0)|0)+p(b,10)|0;continue}break}if(!Sa(a,f+8|0)){break a}j[c>>2]=j[c>>2]|2}M=f+16|0;return b}function ym(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127638,0,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;e=h>>>9&1;h=fb(g,e+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-((e<<3)+187&240)|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Am(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127638,1,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;e=h>>>9&1;h=fb(g,e+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-((e<<3)+187&240)|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Ao(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=M-16|0;M=e;while(1){a:{if((c|0)<=(g|0)){break a}d=j[a+12>>2];f=j[a+16>>2];b:{if(d>>>0>>0){j[e+12>>2]=2147483647;j[e+8>>2]=f-d;j[e+4>>2]=c-g;d=M-16|0;M=d;M=d+16|0;d=M-16|0;M=d;M=d+16|0;d=e+4|0;f=e+8|0;d=j[d>>2]>2]?d:f;f=e+12|0;d=j[(j[d>>2]>2]?d:f)>>2];ac(b,j[a+12>>2],d);j[a+12>>2]=j[a+12>>2]+d;break b}d=O[j[j[a>>2]+40>>2]](a)|0;if((d|0)==-1){break a}h[b|0]=d;d=1}b=b+d|0;g=d+g|0;continue}break}M=e+16|0;return g|0}function Sh(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}ua(b,c);b:{c=j[a>>2];c:{if(!c){break c}f=nk(c);if(!f){break c}if(j[a+44>>2]){Ld(b,j[a>>2]+4420|0);break c}e=W(f);if(e>>>0>=4294967280){break b}d:{e:{if(e>>>0>=11){a=e+16&-16;c=U(a);j[d+8>>2]=a|-2147483648;j[d>>2]=c;j[d+4>>2]=e;a=d;break e}h[d+11|0]=e;a=d;c=d;if(!e){break d}}V(c,f,e)}h[c+e|0]=0;Kd(b,d);if(h[a+11|0]>-1){break c}T(j[d>>2])}M=d+16|0;return}X();z()}function Jm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127638,1,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;h=fb(g,(h>>>9&1)+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-48|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;od(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Hm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127638,0,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;h=fb(g,(h>>>9&1)+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-48|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;od(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Hg(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;a:{b:{c:{if((a|0)!=(b|0)){g=j[37203];j[37203]=0;a=Kg(a,e+12|0,d,ra());d=N;f=j[37203];d:{if(f){if(j[e+12>>2]!=(b|0)){break d}if((f|0)==68){break b}break c}j[37203]=g;if(j[e+12>>2]==(b|0)){break c}}}j[c>>2]=4;b=0;break a}if(((d|0)<-1?1:(d|0)<=-1?a>>>0<2147483648:0)|((d|0)>0?1:(d|0)>=0?a>>>0>2147483647:0)){break b}b=a;break a}j[c>>2]=4;b=2147483647;if((d|0)>0?1:(d|0)>=0?a>>>0>=1:0){break a}b=-2147483648}M=e+16|0;return b}function pb(a,b,c,d,e,f,g){var h=0,i=0,l=0;i=M-16|0;M=i;if(-17-b>>>0>=c>>>0){if(k[a+11|0]>>>7|0){l=j[a>>2]}else{l=a}a:{if(b>>>0<2147483623){j[i+8>>2]=b<<1;j[i+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=i+8|0;h=i+12|0;c=j[(m[h>>2]>2]?c:h)>>2];if(c>>>0>=11){h=c+16&-16;c=h-1|0;c=(c|0)==11?h:c}else{c=10}break a}c=-18}h=c+1|0;c=U(h);if(e){ac(c,l,e)}d=(d-f|0)-e|0;if(d){ac((c+e|0)+g|0,(e+l|0)+f|0,d)}if((b|0)!=10){T(l)}j[a>>2]=c;j[a+8>>2]=h|-2147483648;M=i+16|0;return}X();z()}function Aa(a,b,c){var d=0,e=0;d=(c|0)!=0;a:{b:{c:{if(!c|!(a&3)){break c}e=b&255;while(1){if((e|0)==k[a|0]){break b}a=a+1|0;c=c-1|0;d=(c|0)!=0;if(!c){break c}if(a&3){continue}break}}if(!d){break a}}d:{if(k[a|0]==(b&255)|c>>>0<4){break d}d=p(b&255,16843009);while(1){e=d^j[a>>2];if((e^-1)&e-16843009&-2139062144){break d}a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}b=b&255;while(1){if((b|0)==k[a|0]){return a}a=a+1|0;c=c-1|0;if(c){continue}break}}return 0}function ko(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=M-32|0;M=d;f=kh(d+24|0,a);a:{if(!k[f|0]){break a}c=j[(j[j[a>>2]-12>>2]+a|0)+28>>2];j[d+16>>2]=c;j[c+4>>2]=j[c+4>>2]+1;g=Hb(d+16|0,148960);c=j[d+16>>2];e=j[c+4>>2]-1|0;j[c+4>>2]=e;if((e|0)==-1){O[j[j[c>>2]+8>>2]](c)}j[d+8>>2]=j[(j[j[a>>2]-12>>2]+a|0)+24>>2];c=j[j[a>>2]-12>>2]+a|0;e=mo(c);h=d,i=O[j[j[g>>2]+24>>2]](g,j[d+8>>2],c,e,b)|0,j[h+16>>2]=i;if(j[d+16>>2]){break a}vd(j[j[a>>2]-12>>2]+a|0,5)}jh(f);M=d+32|0}function lf(a,b){var c=0,d=0,e=0,f=0,g=0;e=M-16|0;M=e;c=a;d=j[a+4>>2];a:{if(k[a+11|0]>>>7|0){break a}d=k[c+11|0]}if(d>>>0>=b>>>0){c=k[c+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;b:{if(c-d>>>0>=1){if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}f=d-b|0;if(!f){break b}g=b+c|0;Kb(g+1|0,g,f);break b}pb(a,c,(d+1|0)-c|0,d,b,0,1);c=j[a>>2]}Xd(b+c|0,1,32);d=d+1|0;b=d;c:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break c}h[a+11|0]=b}h[e+15|0]=0;h[c+d|0]=k[e+15|0];M=e+16|0;return}X();z()}function bf(a,b,c,d,e){var f=0,g=0,h=0;g=M-16|0;M=g;if(1073741807-b>>>0>=c>>>0){if(k[a+11|0]>>>7|0){h=j[a>>2]}else{h=a}a:{if(b>>>0<536870887){j[g+8>>2]=b<<1;j[g+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=g+8|0;f=g+12|0;c=j[(m[f>>2]>2]?c:f)>>2];if(c>>>0>=2){f=c+4&-4;c=f-1|0;c=(c|0)==2?f:c}else{c=1}break a}c=1073741806}f=c+1|0;c=Rc(f);if(e){sc(c,h,e)}d=d-e|0;if(d){e=e<<2;sc(e+c|0,e+h|0,d)}if((b|0)!=1){T(h)}j[a>>2]=c;j[a+8>>2]=f|-2147483648;M=g+16|0;return}X();z()}function Cg(a,b,c,d){var e=0,f=0,g=0,h=0;e=M-16|0;M=e;a:{b:{c:{if((a|0)!=(b|0)){d:{e:{f=k[a|0];if((f|0)!=45){break e}a=a+1|0;if((b|0)!=(a|0)){break e}break d}h=j[37203];j[37203]=0;a=te(a,e+12|0,d,ra());d=N;g=j[37203];f:{if(g){if(j[e+12>>2]!=(b|0)){break f}if((g|0)==68){break c}break b}j[37203]=h;if(j[e+12>>2]==(b|0)){break b}}}}j[c>>2]=4;a=0;b=0;break a}j[c>>2]=4;a=-1;b=-1;break a}b=a;c=(f|0)==45;a=c?0-a|0:a;b=c?0-(d+((b|0)!=0)|0)|0:d}M=e+16|0;N=b;return a}function vq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=0,l=0;f=j[b+68>>2];if(f){g=O[j[j[f>>2]+24>>2]](f)|0;f=-1;h=-1;a:{if(!j[b+64>>2]|((g|0)<1?c|d:0)){break a}if(O[j[j[b>>2]+24>>2]](b)|e>>>0>2){break a}i=j[b+64>>2];d=Dr(g,g>>31,c,d);c=(g|0)>0;if(De(i,c?d:0,c?N:0,e)){break a}c=j[b+64>>2];b:{if(j[c+76>>2]<=-1){f=xh(c);h=N;break b}f=xh(c);h=N}k=j[b+72>>2];l=j[b+76>>2]}j[a+8>>2]=f;j[a+12>>2]=h;j[a>>2]=k;j[a+4>>2]=l;return}Fa();z()}function xb(a,b,c){var d=0,e=0,f=0,g=0,i=0;d=M-16|0;M=d;j[d+12>>2]=c;if(k[a+11|0]>>>7|0){f=j[a+4>>2]}else{f=k[a+11|0]}if(f>>>0>=b>>>0){if(c){if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}g=c;e=f-b|0;j[d+8>>2]=e;c=M-16|0;M=c;M=c+16|0;c=d+8|0;i=d+12|0;c=j[(m[c>>2]>2]?c:i)>>2];j[d+12>>2]=c;e=e-c|0;if(e){b=b+g|0;Kb(b,b+c|0,e);c=j[d+12>>2]}c=f-c|0;b=c;a:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break a}h[a+11|0]=b}h[d+7|0]=0;h[c+g|0]=k[d+7|0]}M=d+16|0;return}X();z()}function _(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+8>>2]=e;j[f+12>>2]=c;e=(e|0)==-1;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if(!(e|c>>>0>>0)){j[f>>2]=c-b;c=M-16|0;M=c;M=c+16|0;c=f+12|0;j[f+4>>2]=j[(m[f>>2]>2]?f:c)>>2];if(k[a+11|0]>>>7|0){a=j[a>>2]}c=M-16|0;M=c;M=c+16|0;c=a+b|0;a=f+8|0;b=f+4|0;b=ke(c,d,j[(m[a>>2]>2]?a:b)>>2]);a:{if(b){break a}b=-1;a=j[f+4>>2];c=j[f+8>>2];if(a>>>0>>0){break a}b=a>>>0>c>>>0}M=f+16|0;return b}X();z()}function Fg(a,b,c,d){var e=0,f=0,g=0,h=0;e=M-16|0;M=e;a:{b:{c:{d:{if((a|0)!=(b|0)){e:{f:{f=k[a|0];if((f|0)!=45){break f}a=a+1|0;if((b|0)!=(a|0)){break f}break e}h=j[37203];j[37203]=0;a=te(a,e+12|0,d,ra());d=N;g=j[37203];g:{if(g){if(j[e+12>>2]!=(b|0)){break g}if((g|0)==68){break c}break d}j[37203]=h;if(j[e+12>>2]==(b|0)){break d}}}}j[c>>2]=4;a=0;break a}if(!d&a>>>0<=65535){break b}}j[c>>2]=4;a=65535;break a}a=(f|0)==45?0-a|0:a}M=e+16|0;return a&65535}function fh(a,b,c,d){var e=0,f=0,g=0;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;g=k[b+28|0]>d>>>0;e=h[b+27|0];f=j[b+20>>2];a:{if((e|0)<=-1){break a}f=e&255}b:{if(g|(!j[j[b+64>>2]+4484>>2]|d?f>>>0>=d>>>0:0)){break b}if(!Vc(b,c)){break b}d=b+16|0;e=k[d+11|0];f=e<<24>>24;c:{d:{if((f|0)<=-1){e=j[b+20>>2];if(!e){break c}d=j[d>>2];break d}if(!f){break c}}if(Eb(c,d,e)){break b}}ua(a,b+4|0);d=h[b+27|0];b=j[b+20>>2];e:{if((d|0)<=-1){break e}b=d&255}$(a,b+c|0)}}function Gd(a,b){var c=0,d=0,e=0,f=0;d=M-16|0;M=d;e=d;f=Ya(a,62);a=ca(a,121161);c=0;a:{if(!a){break a}c=0;if(a>>>0>=f>>>0){break a}b:{while(1){c=k[a-1|0];if((c|0)==10|(c|0)==32){break b}a=ca(W(121161)+a|0,121161);c=0;if(!a){break a}if(a>>>0>>0){continue}break}c=0;break a}c=W(121161)+a|0}mc(e,c);a=0;c=W(b);f=k[d+11|0];e=f<<24>>24;if((c|0)==(((e|0)<0?j[d+4>>2]:f)|0)){a=!_(d,0,-1,b,c);e=k[d+11|0]}if(e<<24>>24<=-1){T(j[d>>2])}M=d+16|0;return a}function Zg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;h=-1;f=d&2147483647;i=f;g=c;a:{if(!c&(f|0)==2147418112?a|b:(f|0)==2147418112&(c|0)!=0|f>>>0>2147418112){break a}f=e&2147483647;j=f;if((f|0)==2147418112?0:f>>>0>2147418112){break a}if(!(a|g|(i|j|b))){return 0}g=d&e;if((g|0)>0?1:(g|0)>=0){if(!c&(d|0)==(e|0)?0:(d|0)<(e|0)){break a}return(a|c)!=0|(d^e|b)!=0}if(!c&(d|0)==(e|0)?a|b:(d|0)>(e|0)?1:(d|0)>=(e|0)?c:0){break a}h=(a|c)!=0|(d^e|b)!=0}return h}function tc(a,b){a:{if(a){if(b>>>0<=127){break a}b:{if(!j[j[37179]>>2]){if((b&-128)==57216){break a}break b}if(b>>>0<=2047){h[a+1|0]=b&63|128;h[a|0]=b>>>6|192;return 2}if(!((b&-8192)!=57344?b>>>0>=55296:0)){h[a+2|0]=b&63|128;h[a|0]=b>>>12|224;h[a+1|0]=b>>>6&63|128;return 3}if(b-65536>>>0<=1048575){h[a+3|0]=b&63|128;h[a|0]=b>>>18|240;h[a+2|0]=b>>>6&63|128;h[a+1|0]=b>>>12&63|128;return 4}}j[37203]=25;a=-1}else{a=1}return a}h[a|0]=b;return 1}function Yo(a,b){var c=0,d=0;a:{d=b&255;if(d){if(a&3){while(1){c=k[a|0];if(!c|(c|0)==(b&255)){break a}a=a+1|0;if(a&3){continue}break}}c=j[a>>2];b:{if((c^-1)&c-16843009&-2139062144){break b}d=p(d,16843009);while(1){c=c^d;if((c^-1)&c-16843009&-2139062144){break b}c=j[a+4>>2];a=a+4|0;if(!(c-16843009&(c^-1)&-2139062144)){continue}break}}while(1){c=a;d=k[c|0];if(d){a=c+1|0;if((d|0)!=(b&255)){continue}}break}return c}return W(a)+a|0}return a}function Il(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=j[a+8>>2];c=j[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=ya(c,0,b)+b|0}j[a+4>>2]=c;return}a:{f=j[a>>2];g=c-f|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){c=0;e=e-f|0;i=e>>2;d=e>>3>>>0<268435455?d>>>0>i>>>0?d:i:536870911;if(d){if(d>>>0>=536870912){break a}c=U(d<<3)}b=b<<3;b=ya((h<<3)+c|0,0,b)+b|0;if((g|0)>=1){V(c,f,g)}j[a+8>>2]=(d<<3)+c;j[a+4>>2]=b;j[a>>2]=c;if(f){T(f)}return}X();z()}D();z()}function _b(a,b,c,d,e,f){var g=0,h=0,i=0,l=0;i=M-16|0;M=i;a:{if(!a){break a}h=j[e+12>>2];g=c-b|0;if((g|0)>=1){g=g>>2;if((O[j[j[a>>2]+48>>2]](a,b,g)|0)!=(g|0)){break a}}b=d-b>>2;g=(b|0)<(h|0)?h-b|0:0;if((g|0)>=1){h=a;f=sg(i,g,f);b=f;if(k[b+11|0]>>>7|0){b=j[b>>2]}b=O[j[j[a>>2]+48>>2]](h,b,g)|0;Y(f);if((b|0)!=(g|0)){break a}}b=d-c|0;if((b|0)>=1){b=b>>2;if((O[j[j[a>>2]+48>>2]](a,c,b)|0)!=(b|0)){break a}}j[e+12>>2]=0;l=a}M=i+16|0;return l}function Ca(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;j[a+4>>2]=j[a+4>>2]+1;c=M-16|0;M=c;j[c+12>>2]=a;a=d+8|0;j[a>>2]=j[c+12>>2];M=c+16|0;if(j[37685]-j[37684]>>2>>>0<=b>>>0){dl(b+1|0)}if(j[j[37684]+(b<<2)>>2]){c=j[j[37684]+(b<<2)>>2];e=j[c+4>>2]-1|0;j[c+4>>2]=e;if((e|0)==-1){O[j[j[c>>2]+8>>2]](c)}}c=j[a>>2];j[a>>2]=0;j[j[37684]+(b<<2)>>2]=c;b=j[a>>2];j[a>>2]=0;if(b){a=j[b+4>>2]-1|0;j[b+4>>2]=a;if((a|0)==-1){O[j[j[b>>2]+8>>2]](b)}}M=d+16|0}function hb(a,b,c,d){var e=0,f=0;a:{if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}if(!e|(c-b|0)<5){break a}kd(b,c);f=c-4|0;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}if(k[a+11|0]>>>7|0){a=j[a>>2]}c=a;a=e+a|0;while(1){b:{e=h[c|0];if(b>>>0>=f>>>0){break b}if(!((e|0)<1|(e|0)>=127|j[b>>2]==h[c|0])){j[d>>2]=4;return}c=(a-c|0)>1?c+1|0:c;b=b+4|0;continue}break}if((e|0)<1|(e|0)>=127|h[c|0]>>>0>j[f>>2]-1>>>0){break a}j[d>>2]=4}}function Dg(a,b,c,d){var e=0,f=0,g=0,h=0;e=M-16|0;M=e;a:{b:{c:{d:{if((a|0)!=(b|0)){e:{f:{f=k[a|0];if((f|0)!=45){break f}a=a+1|0;if((b|0)!=(a|0)){break f}break e}h=j[37203];j[37203]=0;a=te(a,e+12|0,d,ra());d=N;g=j[37203];g:{if(g){if(j[e+12>>2]!=(b|0)){break g}if((g|0)==68){break c}break d}j[37203]=h;if(j[e+12>>2]==(b|0)){break d}}}}j[c>>2]=4;a=0;break a}if(!d){break b}}j[c>>2]=4;a=-1;break a}a=(f|0)==45?0-a|0:a}M=e+16|0;return a}function Pc(a,b){var c=0,d=0,e=0;a:{d=k[a+11|0];c=d<<24>>24<0;d=c?j[a+4>>2]:d;if(!d){break a}c=c?j[a>>2]:a;a=c;e=d&3;if(e){a=c;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+2|0];a=a+1|0;e=e-1|0;if(e){continue}break}}if(d-1>>>0<=2){break a}c=c+d|0;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+2|0];h[a+1|0]=k[(p(k[a+1|0],3)+b|0)+2|0];h[a+2|0]=k[(p(k[a+2|0],3)+b|0)+2|0];h[a+3|0]=k[(p(k[a+3|0],3)+b|0)+2|0];a=a+4|0;if((c|0)!=(a|0)){continue}break}}}function Pa(a,b){var c=0,d=0,e=0;a:{d=k[a+11|0];c=d<<24>>24<0;d=c?j[a+4>>2]:d;if(!d){break a}c=c?j[a>>2]:a;a=c;e=d&3;if(e){a=c;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+1|0];a=a+1|0;e=e-1|0;if(e){continue}break}}if(d-1>>>0<=2){break a}c=c+d|0;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+1|0];h[a+1|0]=k[(p(k[a+1|0],3)+b|0)+1|0];h[a+2|0]=k[(p(k[a+2|0],3)+b|0)+1|0];h[a+3|0]=k[(p(k[a+3|0],3)+b|0)+1|0];a=a+4|0;if((c|0)!=(a|0)){continue}break}}}function ao(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=M-16|0;M=d;f=(Mr(b),Hr(2));c=f&2147483647;a:{if(c-8388608>>>0<=2130706431){e=c;c=c>>>7|0;g=e<<25;c=c+1065353216|0;break a}if(c>>>0>=2139095040){c=f;e=c>>>7|0;g=c<<25;c=e|2147418112;break a}if(!c){c=0;break a}e=c;c=s(c);mb(d,e,0,0,0,c+81|0);h=j[d>>2];i=j[d+4>>2];g=j[d+8>>2];c=j[d+12>>2]^65536|16265-c<<16}j[a>>2]=h;j[a+4>>2]=i;j[a+8>>2]=g;j[a+12>>2]=f&-2147483648|c;M=d+16|0}function Je(a,b){var c=0,d=0,e=0;c=M-32|0;M=c;a:{b:{if(j[a+56>>2]){j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;d=W(b);if(d>>>0>=4294967280){break a}c:{d:{if(d>>>0>=11){e=d+16&-16;a=U(e);j[c+8>>2]=e|-2147483648;j[c>>2]=a;j[c+4>>2]=d;e=c;break d}h[c+11|0]=d;e=c;a=c;if(!d){break c}}V(a,b,d)}h[a+d|0]=0;a=ia(c+16|0,c);if(h[e+11|0]<=-1){T(j[c>>2])}b=j[c+16>>2];if(!b){break b}j[c+20>>2]=b;T(b);break b}a=W(b)}M=c+32|0;return a}X();z()}function $b(a,b,c,d,e,f){var g=0,h=0,i=0,l=0;i=M-16|0;M=i;a:{if(!a){break a}h=j[e+12>>2];g=c-b|0;if((g|0)>=1){if((O[j[j[a>>2]+48>>2]](a,b,g)|0)!=(g|0)){break a}}b=d-b|0;g=(b|0)<(h|0)?h-b|0:0;if((g|0)>=1){h=a;f=vg(i,g,f);b=f;if(k[b+11|0]>>>7|0){b=j[b>>2]}b=O[j[j[a>>2]+48>>2]](h,b,g)|0;Y(f);if((b|0)!=(g|0)){break a}}b=d-c|0;if((b|0)>=1){if((O[j[j[a>>2]+48>>2]](a,c,b)|0)!=(b|0)){break a}}j[e+12>>2]=0;l=a}M=i+16|0;return l}function ug(a,b,c){var d=0,e=0,f=0,g=0;a:{d=j[a+4096>>2];e=j[d>>2];if((e|0)!=j[d+4>>2]){d=0;while(1){f=dc(j[(d<<2)+e>>2],b);if(!f){g=j[a+4096>>2];e=j[g>>2];d=d+1|0;if(d>>>0>2]-e>>2>>>0){continue}}break}if(f){break a}}d=gb(a,b,c,0,0);b:{if(d){break b}d=Qa(a,b,c,0,0,0,0,0);if(!j[a+4488>>2]){break b}j[a+4372>>2]=0;j[a+4376>>2]=0;if(d){break b}d=eb(a,b,c,0,0,0);if(d){break b}d=Lb(a,b,c,0)}return(d|0)!=0}return 1}function dc(a,b){var c=0,d=0,e=0,f=0;f=j[a+4>>2];if(!f){return 0}d=h[b|0];a:{if(!d){break a}c=h[b+1|0];if(!c){c=d;break a}c=c|d<<8;d=h[b+2|0];if(!d){break a}c=d|c<<8;d=h[b+3|0];if(!d){break a}c=d|c<<8;e=b+4|0;d=k[e|0];if(!d){break a}while(1){c=Fr(c,5)^d<<24>>24;d=k[e+1|0];e=e+1|0;if(d){continue}break}}c=j[((c>>>0)%m[a>>2]<<2)+f>>2];if(c){while(1){if(!ba(b,c+17|0)){return c}c=j[c+8>>2];if(c){continue}break}}return 0}function ar(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=j[a+8>>2];c=j[a+4>>2];if(e-c>>1>>>0>=b>>>0){if(b){b=b<<1;c=ya(c,0,b)+b|0}j[a+4>>2]=c;return}a:{f=j[a>>2];g=c-f|0;h=g>>1;d=h+b|0;if((d|0)>-1){c=0;e=e-f|0;d=e>>1>>>0<1073741823?d>>>0>e>>>0?d:e:2147483647;if(d){if((d|0)<=-1){break a}c=U(d<<1)}b=b<<1;b=ya((h<<1)+c|0,0,b)+b|0;if((g|0)>=1){V(c,f,g)}j[a+8>>2]=(d<<1)+c;j[a+4>>2]=b;j[a>>2]=c;if(f){T(f)}return}X();z()}D();z()}function Lq(a,b){var c=0,d=0,e=0,f=0;c=M-16|0;M=c;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;a:{if(!b){break a}b=ca(b,121182);if(!b){break a}while(1){mc(c,(W(121182)+b|0)-1|0);d=h[c+11|0];b:{if((d|0)<=-1){if(j[c+4>>2]){break b}T(j[c>>2]);break a}if(!d){break a}}d=j[a+4>>2];c:{if((d|0)!=j[a+8>>2]){e=a,f=ha(d,c)+12|0,j[e+4>>2]=f;break c}Wb(a,c)}if(h[c+11|0]<=-1){T(j[c>>2])}b=ca(b+1|0,121182);if(b){continue}break}}M=c+16|0}function da(a,b){var c=0,d=0,e=0;a:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break a}h[a+11|0]=0;h[a|0]=0}c=j[b>>2];d=j[b+4>>2];if(c>>>0>>0){while(1){e=a;b=k[c+1|0];b:{c:{if(b){if(b>>>0>=8){Z(a,b>>>4|-32);b=k[c+1|0]<<2&60|k[c|0]>>>6|-128;break c}b=(b<<2|k[c|0]>>>6)+ -64|0;break c}b=h[c|0];if((b|0)>-1){break b}b=(b&192)>>>6|-64}Z(e,b<<24>>24);b=k[c|0]&63|-128}Z(a,b);c=c+2|0;if(d>>>0>c>>>0){continue}break}}}function xo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=M-16|0;M=e;while(1){a:{if((c|0)<=(f|0)){break a}d=j[a+24>>2];g=j[a+28>>2];if(d>>>0>=g>>>0){if((O[j[j[a>>2]+52>>2]](a,k[b|0])|0)==-1){break a}f=f+1|0;b=b+1|0}else{j[e+12>>2]=g-d;j[e+8>>2]=c-f;d=M-16|0;M=d;M=d+16|0;d=e+8|0;g=e+12|0;d=j[(j[d>>2]>2]?d:g)>>2];ac(j[a+24>>2],b,d);j[a+24>>2]=d+j[a+24>>2];f=d+f|0;b=b+d|0}continue}break}M=e+16|0;return f|0}function ml(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;b=M-32|0;M=b;d=ga(b+16|0);c=M-16|0;M=c;j[c+8>>2]=d;M=c+16|0;g=j[c+8>>2];if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}e=c;if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}Rf(g,e,c+f|0);if(k[d+11|0]>>>7|0){c=j[d>>2]}else{c=d}e=ga(a);a=M-16|0;M=a;j[a+8>>2]=e;M=a+16|0;Rf(j[a+8>>2],c,W(c)+c|0);Y(d);M=b+32|0}function se(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0;e=M-160|0;M=e;ya(e+16|0,0,144);j[e+92>>2]=-1;j[e+60>>2]=b;j[e+24>>2]=-1;j[e+20>>2]=b;Ib(e+16|0,0,0);Vg(e,e+16|0,d,1);d=j[e+8>>2];g=j[e+12>>2];h=j[e>>2];i=j[e+4>>2];if(c){k=c;f=b;b=j[e+20>>2]-j[e+24>>2]|0;l=b;c=b+j[e+136>>2]|0;b=j[e+140>>2]+(b>>31)|0;b=c>>>0>>0?b+1|0:b;j[k>>2]=!(b|c)?f:f+c|0}j[a>>2]=h;j[a+4>>2]=i;j[a+8>>2]=d;j[a+12>>2]=g;M=e+160|0}function zi(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:1;g=d;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}a:{if(g-e>>>0>=c>>>0){if(!c){break a}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}sc(d+(e<<2)|0,b,c);b=c+e|0;c=b;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}j[f+12>>2]=0;j[d+(b<<2)>>2]=j[f+12>>2];break a}cf(a,d,(c+e|0)-d|0,e,e,0,c,b)}M=f+16|0}function ob(a){var b=0,c=0,d=0,e=0,f=0;b=M-16|0;M=b;j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;ia(b,a);c=j[b>>2];d=j[b+4>>2];a:{if((c|0)==(d|0)){break a}d=d-2|0;if(d>>>0<=c>>>0){break a}while(1){e=k[c|0]|k[c+1|0]<<8;f=k[d|0]|k[d+1|0]<<8;h[c|0]=f;h[c+1|0]=f>>>8;h[d|0]=e;h[d+1|0]=e>>>8;c=c+2|0;d=d-2|0;if(c>>>0>>0){continue}break}}da(a,b);c=j[b+4>>2];a=j[b>>2];if(a){j[b+4>>2]=a;T(a)}M=b+16|0;return c-a>>1}function Tj(){var a=0;a:{if(h[149544]&1){break a}if(!Ma(149544)){break a}a=149376;while(1){a=ga(a)+12|0;if((a|0)!=149544){continue}break}La(149544)}oa(149376,132568);oa(149388,132575);oa(149400,132582);oa(149412,132590);oa(149424,132600);oa(149436,132609);oa(149448,132616);oa(149460,132625);oa(149472,132629);oa(149484,132633);oa(149496,132637);oa(149508,132641);oa(149520,132645);oa(149532,132649)}function Qj(){var a=0;a:{if(h[149720]&1){break a}if(!Ma(149720)){break a}a=149552;while(1){a=ga(a)+12|0;if((a|0)!=149720){continue}break}La(149720)}na(149552,132656);na(149564,132684);na(149576,132712);na(149588,132744);na(149600,132784);na(149612,132820);na(149624,132848);na(149636,132884);na(149648,132900);na(149660,132916);na(149672,132932);na(149684,132948);na(149696,132964);na(149708,132980)}function jl(a,b,c,d){var e=0,f=0;e=M-160|0;M=e;j[e+152>>2]=b;f=e+144|0;a:{b:while(1){if(c>>>0>>0){j[e+8>>2]=c;if((O[j[j[a>>2]+16>>2]](a,e+144|0,c,(d-c|0)>32?c+32|0:d,e+8|0,e+16|0,f,e+12|0)|0)==2){break a}b=e+16|0;if(j[e+8>>2]==(c|0)){break a}while(1)if(m[e+12>>2]<=b>>>0){c=j[e+8>>2];continue b}else{j[e+4>>2]=j[b>>2];bd(j[e+152>>2],j[e+4>>2]);b=b+4|0;continue}}break}M=e+160|0;return}Fa();z()}function Xo(a,b){var c=0;a:{b:{if((a^b)&3){break b}if(b&3){while(1){c=k[b|0];h[a|0]=c;if(!c){break a}a=a+1|0;b=b+1|0;if(b&3){continue}break}}c=j[b>>2];if((c^-1)&c-16843009&-2139062144){break b}while(1){j[a>>2]=c;c=j[b+4>>2];a=a+4|0;b=b+4|0;if(!(c-16843009&(c^-1)&-2139062144)){continue}break}}c=k[b|0];h[a|0]=c;if(!c){break a}while(1){c=k[b+1|0];h[a+1|0]=c;a=a+1|0;b=b+1|0;if(c){continue}break}}}function Pp(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;Hh(a,h[b+11|0]<0?j[b>>2]:b,h[c+11|0]<0?j[c>>2]:c,d+12|0,d+8|0,d+4|0);a=j[d+4>>2];if(a){b=j[d+12>>2];a:{if(!b){break a}c=j[d+8>>2];if(!c){break a}f=c+1|0;while(1){b:{c:{switch(k[a+(p(b,f)+c|0)|0]){case 2:c=c-1|0;b=b-1|0;e=e+1|0;break b;case 0:b=b-1|0;break b;default:break c}}c=c-1|0}if(!b){break a}if(c){continue}break}}T(a)}M=d+16|0;return e}function ub(a,b){var c=0,d=0,e=0,f=0,g=0;d=M-16|0;M=d;j[a+65784>>2]=j[a+65784>>2]+1;e=j[a>>2];c=j[(e+j[j[e>>2]-12>>2]|0)+28>>2];j[d+8>>2]=c;j[c+4>>2]=j[c+4>>2]+1;c=Hb(d+8|0,149132);g=O[j[j[c>>2]+28>>2]](c,10)|0;c=j[d+8>>2];f=j[c+4>>2]-1|0;j[c+4>>2]=f;if((f|0)==-1){O[j[j[c>>2]+8>>2]](c)}b=Vd(e,b,g);b=j[(j[j[b>>2]-12>>2]+b|0)+16>>2]&5;if(b){j[a+65784>>2]=j[a+65784>>2]-1}M=d+16|0;return!b}function Nd(a,b,c){var d=0,e=0,f=0;f=j[c+16>>2];a:{if(f){d=f}else{if(ei(c)){break a}d=j[c+16>>2]}f=j[c+20>>2];if(d-f>>>0>>0){return O[j[c+36>>2]](c,a,b)|0}b:{if(h[c+75|0]<0){break b}d=b;while(1){e=d;if(!e){e=0;break b}d=e-1|0;if(k[d+a|0]!=10){continue}break}d=O[j[c+36>>2]](c,a,e)|0;if(d>>>0>>0){break a}a=a+e|0;b=b-e|0;f=j[c+20>>2]}V(f,a,b);j[c+20>>2]=j[c+20>>2]+b;d=b+e|0}return d}function aa(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;g=d;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}a:{if(g-e>>>0>=c>>>0){if(!c){break a}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}ac(d+e|0,b,c);b=c+e|0;c=b;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}h[f+15|0]=0;h[b+d|0]=k[f+15|0];break a}cd(a,d,(c+e|0)-d|0,e,e,0,c,b)}M=f+16|0}function yg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0;e=M-32|0;M=e;a:{if((b|0)!=(c|0)){k=j[37203];j[37203]=0;fj(e,b,e+28|0);b=j[e+8>>2];f=j[e+12>>2];g=j[e>>2];h=j[e+4>>2];i=j[37203];b:{if(i){if(j[e+28>>2]!=(c|0)){break b}if((i|0)!=68){break a}j[d>>2]=4;break a}j[37203]=k;if(j[e+28>>2]==(c|0)){break a}}}j[d>>2]=4;g=0;h=0;b=0;f=0}j[a>>2]=g;j[a+4>>2]=h;j[a+8>>2]=b;j[a+12>>2]=f;M=e+32|0}function bd(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;j[d+12>>2]=b;a:{b:{c:{d:{if(k[a+11|0]>>>7|0){c=(j[a+8>>2]&2147483647)-1|0;e=j[a+4>>2];if((c|0)==(e|0)){break d}break b}e=1;c=1;b=k[a+11|0];if((b|0)!=1){break c}}bf(a,c,1,c,c);b=e;if(k[a+11|0]>>>7|0){break b}}c=a;h[a+11|0]=b+1;break a}c=j[a>>2];j[a+4>>2]=e+1;b=e}a=(b<<2)+c|0;j[a>>2]=j[d+12>>2];j[d+8>>2]=0;j[a+4>>2]=j[d+8>>2];M=d+16|0}function Gg(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;a:{b:{if((a|0)!=(b|0)){g=j[37203];j[37203]=0;d=Kg(a,e+12|0,d,ra());a=N;f=j[37203];c:{if(f){if(j[e+12>>2]!=(b|0)){break c}if((f|0)==68){break b}break a}j[37203]=g;if(j[e+12>>2]==(b|0)){break a}}}j[c>>2]=4;d=0;a=0;break a}j[c>>2]=4;if((a|0)>0?1:(a|0)>=0?d>>>0>=1:0){d=-1;a=2147483647;break a}d=0;a=-2147483648}M=e+16|0;N=a;return d}function Z(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;h[d+15|0]=b;a:{b:{c:{d:{if(k[a+11|0]>>>7|0){c=(j[a+8>>2]&2147483647)-1|0;e=j[a+4>>2];if((c|0)==(e|0)){break d}break b}e=10;c=10;b=k[a+11|0];if((b|0)!=10){break c}}pb(a,c,1,c,c,0,0);b=e;if(k[a+11|0]>>>7|0){break b}}c=a;h[a+11|0]=b+1;break a}c=j[a>>2];j[a+4>>2]=e+1;b=e}a=b+c|0;h[a|0]=k[d+15|0];h[d+14|0]=0;h[a+1|0]=k[d+14|0];M=d+16|0}function zc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=M-16|0;M=e;f=j[a+4>>2];d=j[c>>2]-j[a>>2]|0;a:{if(d>>>0<2147483647){d=d<<1;break a}d=-1}g=d?d:4;h=j[b>>2];i=j[a>>2];d=vc((f|0)==78?0:j[a>>2],g);if(d){if((f|0)!=78){j[a>>2]=0}j[e+4>>2]=77;d=Da(e+8|0,d,e+4|0);ag(a,d);f=j[d>>2];j[d>>2]=0;if(f){O[j[d+4>>2]](f)}j[b>>2]=j[a>>2]+(h-i|0);j[c>>2]=j[a>>2]+(g&-4);M=e+16|0;return}Fa();z()}function Ig(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=M-16|0;M=g;e=c-b>>2;if(e>>>0<=1073741807){a:{if(e>>>0<=1){h[a+11|0]=e;d=a;break a}i=a;if(e>>>0>=2){d=e+4&-4;f=d-1|0;d=(f|0)==2?d:f}else{d=1}f=d+1|0;d=Rc(f);j[i>>2]=d;j[a+8>>2]=f|-2147483648;j[a+4>>2]=e}while(1){if((b|0)!=(c|0)){j[d>>2]=j[b>>2];d=d+4|0;b=b+4|0;continue}break}j[g+12>>2]=0;j[d>>2]=j[g+12>>2];M=g+16|0;return}X();z()}function Jg(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=M-16|0;M=g;e=c-b|0;if(e>>>0<=4294967279){a:{if(e>>>0<=10){h[a+11|0]=e;d=a;break a}i=a;if(e>>>0>=11){d=e+16&-16;f=d-1|0;d=(f|0)==11?d:f}else{d=10}f=d+1|0;d=U(f);j[i>>2]=d;j[a+8>>2]=f|-2147483648;j[a+4>>2]=e}while(1){if((b|0)!=(c|0)){h[d|0]=k[b|0];d=d+1|0;b=b+1|0;continue}break}h[g+15|0]=0;h[d|0]=k[g+15|0];M=g+16|0;return}X();z()}function Bi(a,b,c){var d=0,e=0,f=0,g=0;e=M-16|0;M=e;d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:1;a:{if(d>>>0>=c>>>0){if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}f=d;if(c){Oi(d,b,c)}j[e+12>>2]=0;j[(c<<2)+f>>2]=j[e+12>>2];b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}break a}f=a;g=d;d=c-d|0;if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}cf(f,g,d,a,0,a,c,b)}M=e+16|0}function kq(a,b,c,d,e){var f=0,g=0,i=0;f=M-32|0;M=f;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;a:{if(d){if((d|0)<=-1){break a}i=d<<1;g=U(i);j[f+16>>2]=g;d=(d<<1)+g|0;j[f+24>>2]=d;V(g,c,i);j[f+20>>2]=d}Oc(f+16|0,j[a+60>>2]);j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;da(f,f+16|0);wa(a,b,f,e,0,0);if(h[f+11|0]<=-1){T(j[f>>2])}a=j[f+16>>2];if(a){j[f+20>>2]=a;T(a)}M=f+32|0;return}X();z()}function dg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=M-16|0;M=e;f=j[a+4>>2];d=j[c>>2]-j[a>>2]|0;a:{if(d>>>0<2147483647){d=d<<1;break a}d=-1}g=d?d:1;h=j[b>>2];i=j[a>>2];d=vc((f|0)==78?0:j[a>>2],g);if(d){if((f|0)!=78){j[a>>2]=0}j[e+4>>2]=77;d=Da(e+8|0,d,e+4|0);ag(a,d);f=j[d>>2];j[d>>2]=0;if(f){O[j[d+4>>2]](f)}j[b>>2]=j[a>>2]+(h-i|0);j[c>>2]=g+j[a>>2];M=e+16|0;return}Fa();z()}function Bh(a,b){var c=0,d=0,e=0;c=Hc(a,b);if((c|0)==(a+4|0)){return}b=j[c+4>>2];a:{if(!b){d=j[c+8>>2];if(j[d>>2]==(c|0)){break a}b=c+8|0;while(1){d=j[b>>2];b=d+8|0;e=d;d=j[d+8>>2];if((e|0)!=j[d>>2]){continue}break}break a}while(1){d=b;b=j[d>>2];if(b){continue}break}}if(j[a>>2]==(c|0)){j[a>>2]=d}j[a+8>>2]=j[a+8>>2]-1;Ch(j[a+4>>2],c);if(h[c+27|0]<=-1){T(j[c+16>>2])}T(c)}function md(a,b,c){var d=0,e=0;if(c&2048){h[a|0]=43;a=a+1|0}if(c&1024){h[a|0]=35;a=a+1|0}d=c&260;if((d|0)!=260){h[a|0]=46;h[a+1|0]=42;a=a+2|0}c=c&16384;while(1){e=k[b|0];if(e){h[a|0]=e;a=a+1|0;b=b+1|0;continue}break}a:{b:{if((d|0)!=256){if((d|0)!=4){break b}b=c?70:102;break a}b=c?69:101;break a}b=c?65:97;if((d|0)==260){break a}b=c?71:103}h[a|0]=b;return(d|0)!=260}function li(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(zb(a,j[b+8>>2],e)){if(!(j[b+28>>2]==1|j[b+4>>2]!=(c|0))){j[b+28>>2]=d}return}a:{if(!zb(a,j[b>>2],e)){break a}if(!(j[b+20>>2]!=(c|0)?j[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}j[b+32>>2]=1;return}j[b+20>>2]=c;j[b+32>>2]=d;j[b+40>>2]=j[b+40>>2]+1;if(!(j[b+36>>2]!=1|j[b+24>>2]!=2)){h[b+54|0]=1}j[b+44>>2]=4}}function Ic(a,b){var c=0,d=0,e=0,f=0;c=M-48|0;M=c;j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;d=W(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+8>>2]=f|-2147483648;j[c>>2]=e;j[c+4>>2]=d;break b}h[c+11|0]=d;e=c;if(!d){break a}}V(e,b,d)}h[d+e|0]=0;a=jb(a,c,0);if(h[c+11|0]<=-1){T(j[c>>2])}if(h[c+27|0]<=-1){T(j[c+16>>2])}M=c+48|0;return a}X();z()}function Fd(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;Iq(a,b,c);b=j[b>>2];a:{if(!b){break a}e=j[b+4208>>2];if(!e){break a}c=j[a>>2];if((c|0)==j[a+4>>2]){break a}b=0;while(1){j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;f=c;c=p(b,12);if(Yc(e,f+c|0,d)){ua(j[a>>2]+c|0,d)}if(h[d+11|0]<=-1){T(j[d>>2])}b=b+1|0;c=j[a>>2];if(b>>>0<(j[a+4>>2]-c|0)/12>>>0){continue}break}}M=d+16|0}function oe(a,b,c,d,e){var f=0,g=0,h=0;f=M-16|0;M=f;b=j[b+28>>2];j[f+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=rb(f+8|0);O[j[j[b>>2]+48>>2]](b,127600,127632,c)|0;b=Bc(f+8|0);g=d,h=O[j[j[b>>2]+12>>2]](b)|0,j[g>>2]=h;g=e,h=O[j[j[b>>2]+16>>2]](b)|0,j[g>>2]=h;O[j[j[b>>2]+20>>2]](a,b);a=j[f+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=f+16|0}function bb(a){var b=0,c=0,d=0,e=0,f=0;a:{b:{c:{d:{e:{f:{b=k[a+11|0];e=b<<24>>24;if((e|0)<=-1){b=j[a+4>>2];if(b){break f}break a}if(e){break e}break a}d=b-1|0;c=k[d+j[a>>2]|0];if((c|0)!=13){break d}break c}d=b-1|0;c=k[d+a|0];if((c|0)==13){break c}}f=b;if((c|0)!=10){break b}}f=d}c=f;if(b>>>0<2){break a}c=c-(k[(((e|0)<0?j[a>>2]:a)+b|0)-2|0]==13)|0}Wa(a,c)}function re(a,b,c,d,e){var f=0,g=0,i=0;f=M-16|0;M=f;b=j[b+28>>2];j[f+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(f+8|0);O[j[j[b>>2]+32>>2]](b,127600,127632,c)|0;b=Dc(f+8|0);g=d,i=O[j[j[b>>2]+12>>2]](b)|0,h[g|0]=i;g=e,i=O[j[j[b>>2]+16>>2]](b)|0,h[g|0]=i;O[j[j[b>>2]+20>>2]](a,b);a=j[f+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=f+16|0}function _o(a,b){var c=0,d=0,e=0,f=0;d=a+3|0;c=k[a+3|0];f=(c|0)!=0;e=c|(k[a+1|0]<<16|k[a|0]<<24|k[a+2|0]<<8);a=k[b|0]|k[b+1|0]<<8|(k[b+2|0]<<16|k[b+3|0]<<24);b=a<<24|a<<8&16711680|(a>>>8&65280|a>>>24);a:{if(!(!c|(e|0)==(b|0))){while(1){a=d+1|0;c=k[d+1|0];f=(c|0)!=0;e=c|e<<8;if((b|0)==(e|0)){break a}d=a;if(c){continue}break}break a}a=d}return f?a-3|0:0}function Ni(a,b){var c=0,d=0,e=0,f=0;e=M-16|0;M=e;if(b){d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}f=c+b|0;if(d-c>>>0>>0){pb(a,d,f-d|0,c,c,0,0)}d=c;if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}Xd(d+c|0,b,0);a:{if(k[a+11|0]>>>7|0){j[a+4>>2]=f;break a}h[a+11|0]=f}h[e+15|0]=0;h[c+f|0]=k[e+15|0]}M=e+16|0}function uq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a:{b:{if(j[b+64>>2]){if(!(O[j[j[b>>2]+24>>2]](b)|0)){break b}}break a}if(De(j[b+64>>2],j[c+8>>2],j[c+12>>2],0)){break a}d=j[c+4>>2];j[b+72>>2]=j[c>>2];j[b+76>>2]=d;b=j[c+12>>2];j[a+8>>2]=j[c+8>>2];j[a+12>>2]=b;b=j[c+4>>2];j[a>>2]=j[c>>2];j[a+4>>2]=b;return}j[a+8>>2]=-1;j[a+12>>2]=-1;j[a>>2]=0;j[a+4>>2]=0}function yd(a,b,c,d){var e=0,f=0;e=M-160|0;M=e;V(e+8|0,122072,144);a:{b:{if(b-1>>>0>=2147483647){if(b){break b}b=1;a=e+159|0}j[e+52>>2]=a;j[e+28>>2]=a;f=-2-a|0;b=b>>>0>f>>>0?f:b;j[e+56>>2]=b;a=a+b|0;j[e+36>>2]=a;j[e+24>>2]=a;a=rh(e+8|0,c,d,61,62);if(!b){break a}b=j[e+28>>2];h[b-((b|0)==j[e+24>>2])|0]=0;break a}j[37203]=61;a=-1}M=e+160|0;return a}function kl(a,b,c,d){var e=0,f=0;e=M+ -64|0;M=e;j[e+56>>2]=b;f=e+48|0;a:{b:while(1){if(c>>>0>>0){j[e+8>>2]=c;if((O[j[j[a>>2]+12>>2]](a,e+48|0,c,d,e+8|0,e+16|0,f,e+12|0)|0)==2){break a}b=e+16|0;if(j[e+8>>2]==(c|0)){break a}while(1)if(m[e+12>>2]<=b>>>0){c=j[e+8>>2];continue b}else{Qf(e+56|0,b);b=b+1|0;continue}}break}M=e- -64|0;return}Fa();z()}function Rd(a,b,c,d){h[a+53|0]=1;a:{if(j[a+4>>2]!=(c|0)){break a}h[a+52|0]=1;c=j[a+16>>2];if(!c){j[a+36>>2]=1;j[a+24>>2]=d;j[a+16>>2]=b;if((d|0)!=1|j[a+48>>2]!=1){break a}h[a+54|0]=1;return}if((b|0)==(c|0)){c=j[a+24>>2];if((c|0)==2){j[a+24>>2]=d;c=d}if(j[a+48>>2]!=1|(c|0)!=1){break a}h[a+54|0]=1;return}h[a+54|0]=1;j[a+36>>2]=j[a+36>>2]+1}}function wh(a,b,c,d){var e=0,f=0;if((d|0)==1){f=b;e=j[a+8>>2]-j[a+4>>2]|0;b=b-e|0;c=c-((e>>31)+(f>>>0>>0)|0)|0}a:{if(m[a+20>>2]>m[a+28>>2]){O[j[a+36>>2]](a,0,0)|0;if(!j[a+20>>2]){break a}}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;O[j[a+40>>2]](a,b,c,d)|0;if((N|0)<0){break a}j[a+4>>2]=0;j[a+8>>2]=0;j[a>>2]=j[a>>2]&-17;return 0}return-1}function fm(a,b,c,d,e,f){var g=0,h=0;g=O[j[j[a+8>>2]+8>>2]](a+8|0)|0;a=g;h=j[g+4>>2];a:{if(k[g+11|0]>>>7|0){break a}h=k[a+11|0]}if(k[g+23|0]>>>7|0){a=j[g+16>>2]}else{a=k[g+23|0]}if((h|0)==(0-a|0)){j[e>>2]=j[e>>2]|4;return}a=qd(c,d,g,g+24|0,f,e,0)-g|0;c=j[b>>2];if(!(a|(c|0)!=12)){j[b>>2]=0;return}if(!((a|0)!=12|(c|0)>11)){j[b>>2]=c+12}}function Pl(a,b,c,d,e,f){var g=0,h=0;g=O[j[j[a+8>>2]+8>>2]](a+8|0)|0;a=g;h=j[g+4>>2];a:{if(k[g+11|0]>>>7|0){break a}h=k[a+11|0]}if(k[g+23|0]>>>7|0){a=j[g+16>>2]}else{a=k[g+23|0]}if((h|0)==(0-a|0)){j[e>>2]=j[e>>2]|4;return}a=pd(c,d,g,g+24|0,f,e,0)-g|0;c=j[b>>2];if(!(a|(c|0)!=12)){j[b>>2]=0;return}if(!((a|0)!=12|(c|0)>11)){j[b>>2]=c+12}}function Np(a){var b=0,c=0,d=0,e=0;b=M-16|0;M=b;e=j[a>>2];c=W(e);if(c>>>0<4294967280){a:{b:{if(c>>>0>=11){a=c+16&-16;d=U(a);j[b+8>>2]=a|-2147483648;j[b>>2]=d;j[b+4>>2]=c;a=b;break b}h[b+11|0]=c;a=b;d=b;if(!c){break a}}V(d,e,c)}e=0;h[c+d|0]=0;d=Hc(148800,b);if(h[a+11|0]<=-1){T(j[b>>2])}M=b+16|0;return(d|0)!=148804?j[d+28>>2]:e}X();z()}function mf(a,b,c){var d=0,e=0,f=0;f=M-16|0;M=f;d=a;if(k[d+11|0]>>>7|0){e=(j[d+8>>2]&2147483647)-1|0}else{e=10}a:{if(e>>>0>=c>>>0){e=k[d+11|0]>>>7|0?j[d>>2]:d;Kb(e,b,c);h[f+15|0]=0;h[c+e|0]=k[f+15|0];b:{if(k[d+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}break a}a=k[d+11|0]>>>7|0?j[a+4>>2]:k[a+11|0];cd(d,e,c-e|0,a,0,a,c,b)}M=f+16|0}function Nb(a,b,c,d,e){var f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;h=e;e=0;i=e;f=c;c=0;e=Dr(h,e,f,c);k=N;g=b;l=Dr(d,0,b,0);b=N;d=Dr(d,m,f,c);c=b+d|0;b=N;b=c>>>0>>0?b+1|0:b;f=b;d=b+e|0;b=k;b=d>>>0>>0?b+1|0:b;f=d;e=b;b=Dr(g,n,h,i)+c|0;d=N;d=b>>>0>>0?d+1|0:d;g=d;d=d+f|0;j[a+8>>2]=d;j[a+12>>2]=d>>>0>>0?e+1|0:e;j[a>>2]=l;j[a+4>>2]=b}function jh(a){var b=0;a:{b=j[a+4>>2];if(!j[(j[j[b>>2]-12>>2]+b|0)+24>>2]){break a}b=j[a+4>>2];if(j[(j[j[b>>2]-12>>2]+b|0)+16>>2]){break a}b=j[a+4>>2];if(!(j[(j[j[b>>2]-12>>2]+b|0)+4>>2]&8192)){break a}b=j[a+4>>2];b=j[(j[j[b>>2]-12>>2]+b|0)+24>>2];if((O[j[j[b>>2]+24>>2]](b)|0)!=-1){break a}a=j[a+4>>2];vd(j[j[a>>2]-12>>2]+a|0,1)}}function vh(a,b,c){var d=0,e=0,f=0;d=k[c+74|0];h[c+74|0]=d-1|d;d=j[c+4>>2];e=j[c+8>>2]-d|0;f=b;a:{if((e|0)<1){break a}f=d;d=b>>>0>e>>>0?e:b;V(a,f,d);j[c+4>>2]=d+j[c+4>>2];a=a+d|0;f=b-d|0}d=f;if(d){while(1){b:{if(!uh(c)){e=O[j[c+32>>2]](c,a,d)|0;if(e+1>>>0>1){break b}}return b-d|0}a=a+e|0;d=d-e|0;if(d){continue}break}}return b}function ta(a){var b=0,c=0,d=0,e=0,f=0;while(1){b=a;a=b+1|0;c=h[b|0];if((c|0)==32|c-9>>>0<5){continue}break}a:{b:{c:{c=h[b|0];switch(c-43|0){case 0:break b;case 2:break c;default:break a}}e=1}c=h[a|0];b=a;f=e}if(c-48>>>0<10){while(1){d=(p(d,10)-h[b|0]|0)+48|0;a=h[b+1|0];b=b+1|0;if(a-48>>>0<10){continue}break}}return f?d:0-d|0}function ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=M+ -64|0;M=d;e=1;a:{if(zb(a,b,0)){break a}e=0;if(!b){break a}b=si(b);e=0;if(!b){break a}ya(d+8|4,0,52);j[d+56>>2]=1;j[d+20>>2]=-1;j[d+16>>2]=a;j[d+8>>2]=b;O[j[j[b>>2]+28>>2]](b,d+8|0,j[c>>2],1);a=j[d+32>>2];if((a|0)==1){j[c>>2]=j[d+24>>2]}e=(a|0)==1}a=e;M=d- -64|0;return a|0}function W(a){var b=0,c=0,d=0;a:{b:{b=a;if(!(b&3)){break b}if(!k[a|0]){return 0}while(1){b=b+1|0;if(!(b&3)){break b}if(k[b|0]){continue}break}break a}while(1){c=b;b=b+4|0;d=j[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}if(!(d&255)){return c-a|0}while(1){d=k[c+1|0];b=c+1|0;c=b;if(d){continue}break}}return b-a|0}function Le(a){var b=0,c=0,d=0;c=j[a+8>>2];if((c|0)>=1){while(1){b=j[j[a>>2]+(d<<2)>>2];if(b){if(h[b+59|0]<=-1){T(j[b+48>>2])}if(h[b+47|0]<0){T(j[b+36>>2])}if(h[b+35|0]<=-1){T(j[b+24>>2])}if(h[b+23|0]<=-1){T(j[b+12>>2])}if(h[b+11|0]<0){T(j[b>>2])}T(b);c=j[a+8>>2]}d=d+1|0;if((d|0)<(c|0)){continue}break}}T(j[a>>2]);return a}function mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=j[a+44>>2];c=j[a+24>>2];if(d>>>0>>0){j[a+44>>2]=c;d=c}c=j[a+12>>2];e=-1;a:{if(c>>>0<=m[a+8>>2]){break a}if((b|0)==-1){j[a+16>>2]=d;j[a+12>>2]=c-1;return 0}if(!(k[a+48|0]&16)){e=-1;if(k[c-1|0]!=(b&255)){break a}}j[a+16>>2]=d;d=a;a=c-1|0;j[d+12>>2]=a;h[a|0]=b;e=b}return e|0}function jq(a,b,c,d){var e=0,f=0,g=0,i=0;e=M-16|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){g=f+16&-16;i=U(g);j[e+8>>2]=g|-2147483648;j[e>>2]=i;j[e+4>>2]=f;g=e;break b}h[e+11|0]=f;g=e;i=e;if(!f){break a}}V(i,c,f)}h[f+i|0]=0;Pc(e,j[a+52>>2]);wa(a,b,e,d,0,0);if(h[g+11|0]<=-1){T(j[e>>2])}M=e+16|0;return}X();z()}function Si(a,b){var c=0,d=0,e=0,f=0,g=0;e=M-16|0;M=e;c=a+4|0;wc(a,a+2|0,c);d=a+6|0;while(1){if((b|0)!=(d|0)){if(l[d>>1]>1]){i[e+14>>1]=l[d>>1];g=d;while(1){a:{f=c;i[g>>1]=l[c>>1];if((a|0)==(c|0)){f=a;break a}g=f;c=f-2|0;if(l[e+14>>1]>1]){continue}}break}i[f>>1]=l[e+14>>1]}c=d;d=c+2|0;continue}break}M=e+16|0}function Qn(){var a=0,b=0,c=0,d=0;b=M-32|0;M=b;while(1){c=Rn(a,1<>2]=c;d=((c|0)!=0)+d|0;a=a+1|0;if((a|0)!=6){continue}break}a=123568;a:{b:{c:{switch(d|0){case 0:break a;case 1:break c;default:break b}}if(j[b+8>>2]!=123540){break b}a=123592;break a}a=0}M=b+32|0;return a}function Jp(a){a=a|0;var b=0;b=U(76);j[b+4>>2]=0;j[b+8>>2]=0;j[b+12>>2]=0;j[b+16>>2]=0;j[b+40>>2]=0;j[b+44>>2]=0;j[b+36>>2]=a;j[b+60>>2]=0;j[b+64>>2]=0;j[b+56>>2]=121508;j[b>>2]=b+4;j[b+20>>2]=0;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[b+48>>2]=0;j[b+68>>2]=0;j[b+72>>2]=0;Ka(b+40|0,121496);j[b+52>>2]=0;return b|0}function yi(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(b>>>0<=1073741807){a:{if(b>>>0<=1){h[a+11|0]=b;d=a;break a}g=a;if(b>>>0>=2){d=b+4&-4;e=d-1|0;d=(e|0)==2?d:e}else{d=1}e=d+1|0;d=Rc(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=b}if(b){Pi(d,c,b)}j[f+12>>2]=0;j[(b<<2)+d>>2]=j[f+12>>2];M=f+16|0;return}X();z()}function Ti(a,b){var c=0,d=0,e=0,f=0,g=0;e=M-16|0;M=e;c=a+2|0;xc(a,a+1|0,c);d=a+3|0;while(1){if((b|0)!=(d|0)){if(h[d|0]>2]=b;b=6;a:{b:{if(Ra(a,f+8|0)){break b}b=4;h=d;e=j[a>>2];g=j[e+12>>2];c:{if((g|0)==j[e+16>>2]){e=O[j[j[e>>2]+36>>2]](e)|0;break c}e=j[g>>2]}if((O[j[j[d>>2]+52>>2]](h,e,0)|0)!=37){break b}b=2;if(!Ra(Na(a),f+8|0)){break a}}j[c>>2]=j[c>>2]|b}M=f+16|0}function Ql(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;j[e+8>>2]=b;while(1){a:{if(!kb(a,e+8|0)){break a}g=d;b=j[a>>2];f=j[b+12>>2];b:{if((f|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break b}b=j[f>>2]}if(!(O[j[j[d>>2]+12>>2]](g,8192,b)|0)){break a}Na(a);continue}break}if(Ra(a,e+8|0)){j[c>>2]=j[c>>2]|2}M=e+16|0}function Ci(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(c>>>0<=1073741807){a:{if(c>>>0<=1){h[a+11|0]=c;d=a;break a}g=a;if(c>>>0>=2){d=c+4&-4;e=d-1|0;d=(e|0)==2?d:e}else{d=1}e=d+1|0;d=Rc(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=c}sc(d,b,c);j[f+12>>2]=0;j[(c<<2)+d>>2]=j[f+12>>2];M=f+16|0;return}X();z()}function Od(a){var b=0;b=1;a:{if((a|0)>=1024){b=8.98846567431158e+307;if((a|0)<2047){a=a-1023|0;break a}b=B;a=((a|0)<3069?a:3069)-2046|0;break a}if((a|0)>-1023){break a}b=2.2250738585072014e-308;if((a|0)>-2045){a=a+1022|0;break a}b=0;a=((a|0)>-3066?a:-3066)+2044|0}Ir(0,0);Ir(1,a+1023<<20);return b*+Jr()}function am(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-32|0;M=g;h=j[31963];j[g+24>>2]=j[31962];j[g+28>>2]=h;h=j[31961];j[g+16>>2]=j[31960];j[g+20>>2]=h;h=j[31959];j[g+8>>2]=j[31958];j[g+12>>2]=h;h=j[31957];j[g>>2]=j[31956];j[g+4>>2]=h;a=Yb(a,b,c,d,e,f,g,g+32|0);M=g+32|0;return a|0}function Yd(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(c>>>0<=4294967279){a:{if(c>>>0<=10){h[a+11|0]=c;d=a;break a}g=a;if(c>>>0>=11){d=c+16&-16;e=d-1|0;d=(e|0)==11?d:e}else{d=10}e=d+1|0;d=U(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=c}ac(d,b,c);h[f+15|0]=0;h[c+d|0]=k[f+15|0];M=f+16|0;return}X();z()}function Mh(a,b,c,d){var e=0,f=0,g=0;e=M-32|0;M=e;j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;a:{if((W(c)|0)<2){break a}f=j[a+44>>2];if(!f){break a}f=f+4216|0;if(j[f>>2]==j[f+4>>2]){break a}g=C()|0;j[e+8>>2]=100;j[e+12>>2]=g;Ke(a,c,e+16|0,0,b,d,f,e+8|0,e+12|0);if(h[e+27|0]>-1){break a}T(j[e+16>>2])}M=e+32|0}function Kf(a){a=a|0;var b=0,c=0,d=0,e=0;j[a>>2]=127888;b=a+16|0;while(1){if(j[b+4>>2]-j[b>>2]>>2>>>0>c>>>0){if(j[j[b>>2]+(c<<2)>>2]){d=j[j[b>>2]+(c<<2)>>2];e=j[d+4>>2]-1|0;j[d+4>>2]=e;if((e|0)==-1){O[j[j[d>>2]+8>>2]](d)}}c=c+1|0;continue}break}Y(a+176|0);if(j[b>>2]){Mf(b);sf(b+32|0,j[b>>2])}return a|0}function Di(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(b>>>0<=4294967279){a:{if(b>>>0<=10){h[a+11|0]=b;d=a;break a}g=a;if(b>>>0>=11){d=b+16&-16;e=d-1|0;d=(e|0)==11?d:e}else{d=10}e=d+1|0;d=U(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=b}Xd(d,b,c);h[f+15|0]=0;h[b+d|0]=k[f+15|0];M=f+16|0;return}X();z()}function ci(a,b){i[a+60>>1]=0;j[a+52>>2]=0;j[a+56>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[a+68>>2]=0;j[a+72>>2]=0;j[a+64>>2]=b;j[a>>2]=1072;j[a+12>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+76>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;j[a+88>>2]=0;j[a+92>>2]=0;j[a+96>>2]=0;j[a+100>>2]=0;j[a+104>>2]=0}function bl(a){var b=0,c=0,d=0;c=M-32|0;M=c;a:{if(j[37688]-j[37685]>>2>>>0>=a>>>0){Nf(a);break a}b=kj(c+8|0,lj((j[37685]-j[37684]>>2)+a|0),j[37685]-j[37684]>>2);jj(b,a);ij(b);a=b;d=j[a+4>>2];while(1){if(j[a+8>>2]!=(d|0)){j[a+8>>2]=j[a+8>>2]-4;continue}break}if(j[b>>2]){sf(j[b+16>>2],j[b>>2])}}M=c+32|0}function Cb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=M-16|0;M=d;g=a;h=a;a:{if(!b){b=0;break a}c=b>>31;e=c+b^c;c=s(e);mb(d,e,0,0,0,c+81|0);e=0+j[d+8>>2]|0;c=(j[d+12>>2]^65536)+(16414-c<<16)|0;c=e>>>0>>0?c+1|0:c;f=b&-2147483648|c;c=j[d+4>>2];b=j[d>>2]}j[h>>2]=b;j[g+4>>2]=c;j[a+8>>2]=e;j[a+12>>2]=f;M=d+16|0}function yk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=M-16|0;M=f;j[e>>2]=c;a=ge(f+12|0,0,j[a+8>>2]);c=2;a:{if(a+1>>>0<2){break a}b=a-1|0;c=1;if(b>>>0>d-j[e>>2]>>>0){break a}c=f+12|0;while(1){if(b){a=k[c|0];d=j[e>>2];j[e>>2]=d+1;h[d|0]=a;b=b-1|0;c=c+1|0;continue}break}c=0}M=f+16|0;return c|0}function Vh(a,b){var c=0,d=0,e=0,f=0;c=M-16|0;M=c;if(Re(a,b)){j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;a:{if(!j[a+16>>2]){d=k[b+11|0];d=d<<24>>24<0?j[b+4>>2]:d;e=Nc(b,j[a+52>>2]);break a}d=ia(c,b);e=Mc(c,j[a+24>>2]);f=j[c>>2];if(!f){break a}j[c+4>>2]=f;T(f)}Lc(a,b,d,0,0,0,0,e);Se(a,b,d,0,0,0,e)}M=c+16|0}function ap(a,b){var c=0,d=0,e=0,f=0;d=a+2|0;c=k[a+2|0];e=(c|0)!=0;a=k[a+1|0]<<16|k[a|0]<<24|c<<8;f=k[b+1|0]<<16|k[b|0]<<24|k[b+2|0]<<8;a:{if(!(!c|(a|0)==(f|0))){while(1){b=d+1|0;c=k[d+1|0];e=(c|0)!=0;a=(a|c)<<8;if((f|0)==(a|0)){break a}d=b;if(c){continue}break}break a}b=d}return e?b-2|0:0}function xh(a){var b=0,c=0,d=0,e=0,f=0;b=j[a+40>>2];c=O[b|0](a,0,0,k[a|0]&128?m[a+20>>2]>m[a+28>>2]?2:1:1)|0;b=N;d=b;if((b|0)>0?1:(b|0)>=0){e=j[a+20>>2]-j[a+28>>2]|0;a=j[a+8>>2]-j[a+4>>2]|0;f=c-a|0;b=e+f|0;a=(d-((a>>31)+(c>>>0>>0)|0)|0)+(e>>31)|0;c=b;d=b>>>0>>0?a+1|0:a}N=d;return c}function bi(a,b,c){var d=0;a:{b:{c:{d=k[b|0]|k[b+1|0]<<8;if((d|0)!=73){break c}c=c-90|0;if(c>>>0>12|!(1<>1];if((d|0)==(c|0)){break a}d=c>>>8|0}h[b|0]=c;h[b+1|0]=d}b=k[b|0]|k[b+1|0]<<8;h[a|0]=b;h[a+1|0]=b>>>8}function ue(a){var b=0,c=0,d=0,e=0;e=W(a);a:{if(!j[37227]|!k[a|0]){break a}if(Ya(a,61)){break a}b=j[j[37227]>>2];if(!b){break a}b:{while(1){d=Eb(a,b,e);b=j[37227];if(!d){d=j[b+(c<<2)>>2]+e|0;if(k[d|0]==61){break b}}c=c+1|0;b=j[b+(c<<2)>>2];if(b){continue}break}return 0}c=d+1|0}return c}function Wh(a,b){var c=0,d=0;c=j[a+8>>2];if((c|0)!=(b|0)){while(1){d=c-60|0;j[a+8>>2]=d;if(h[d+59|0]<=-1){T(j[d+48>>2])}if(h[c-13|0]<0){T(j[c-24>>2])}if(h[c-25|0]<=-1){T(j[c-36>>2])}if(h[c-37|0]<=-1){T(j[c-48>>2])}if(h[d+11|0]<0){T(j[d>>2])}c=j[a+8>>2];if((c|0)!=(b|0)){continue}break}}}function Ec(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=M-16|0;M=c;g=a;h=a;a:{if(!b){b=0;e=0;break a}d=b;b=s(b);mb(c,d,0,0,0,b+81|0);d=0+j[c+8>>2]|0;b=(j[c+12>>2]^65536)+(16414-b<<16)|0;b=d>>>0>>0?b+1|0:b;f=d;d=b;b=j[c+4>>2];e=j[c>>2]}j[h>>2]=e;j[g+4>>2]=b;j[a+8>>2]=f;j[a+12>>2]=d;M=c+16|0}function oi(a,b){var c=0,d=0,e=0;c=Ba(a,10,0);if((c|0)!=-1){while(1){d=k[b+11|0];e=d<<24>>24<0;Ki(a,c,e?j[b>>2]:b,e?j[b+4>>2]:d);d=c;c=k[b+11|0];c=Ba(a,10,(d+(c<<24>>24<0?j[b+4>>2]:c)|0)+1|0);if((c|0)!=-1){continue}break}}d=a;a=k[b+11|0];c=a<<24>>24<0;aa(d,c?j[b>>2]:b,c?j[b+4>>2]:a)}function vb(a,b){var c=0;a:{c=j[a>>2];if((c|0)==j[a+4>>2]){break a}b:{c:{a=k[c|0]|k[c+1|0]<<8;if((a|0)!=105){break c}b=b-90|0;if(b>>>0>12|!(1<>1];if((a|0)==(b|0)){break a}a=b>>>8|0}h[c|0]=b;h[c+1|0]=a}}function $l(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=a;h=b;b=O[j[j[a+8>>2]+20>>2]](a+8|0)|0;a=b;if(k[b+11|0]>>>7|0){a=j[a>>2]}i=a;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}return Yb(g,h,c,d,e,f,i,a+(b<<2)|0)|0}function xr(a,b){var c=0;a:{c=j[a>>2];if((c|0)==j[a+4>>2]){break a}b:{c:{a=k[c|0]|k[c+1|0]<<8;if((a|0)!=73){break c}b=b-90|0;if(b>>>0>12|!(1<>1];if((a|0)==(b|0)){break a}a=b>>>8|0}h[c|0]=b;h[c+1|0]=a}}function uk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;while(1){a:{if((c|0)==(d|0)|e>>>0<=g>>>0){break a}f=1;b:{c:{h=tk(c,d-c|0,b,j[a+8>>2]);switch(h+2|0){case 0:case 1:break a;case 2:break b;default:break c}}f=h}g=g+1|0;i=f+i|0;c=c+f|0;continue}break}return i|0}function Zh(a){var b=0,c=0;b=j[a+4>>2];c=j[a>>2];if((b|0)!=(c|0)){while(1){if(h[b-1|0]<=-1){T(j[b-12>>2])}if(h[b-13|0]<0){T(j[b-24>>2])}if(h[b-25|0]<=-1){T(j[b-36>>2])}if(h[b-37|0]<=-1){T(j[b-48>>2])}b=b-60|0;if(h[b+11|0]<0){T(j[b>>2])}if((b|0)!=(c|0)){continue}break}}j[a+4>>2]=c}function Ag(a,b,c){var d=0,e=q(0),f=0;d=M-16|0;M=d;a:{if((a|0)!=(b|0)){f=j[37203];j[37203]=0;ra();e=Kn(a,d+12|0);a=j[37203];b:{if(a){if(j[d+12>>2]!=(b|0)){break b}if((a|0)!=68){break a}j[c>>2]=4;break a}j[37203]=f;if(j[d+12>>2]==(b|0)){break a}}}j[c>>2]=4;e=q(0)}M=d+16|0;return e}function rm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=a;h=b;b=O[j[j[a+8>>2]+20>>2]](a+8|0)|0;a=b;if(k[b+11|0]>>>7|0){a=j[a>>2]}i=a;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}return Zb(g,h,c,d,e,f,i,a+b|0)|0}function ca(a,b){var c=0,d=0;c=h[b|0];if(!c){return a}a=Ya(a,c);a:{if(!a){break a}if(!k[b+1|0]){return a}if(!k[a+1|0]){break a}if(!k[b+2|0]){return bp(a,b)}if(!k[a+2|0]){break a}if(!k[b+3|0]){return ap(a,b)}if(!k[a+3|0]){break a}if(!k[b+4|0]){return _o(a,b)}d=Zo(a,b)}return d}function Fh(a){var b=0,c=0;a:{if(!a|!k[a|0]){break a}b=ca(a,121425);b:{if(b){break b}b=ca(a,121413);if(b){break b}b=ca(a,121417);if(!b){break a}}while(1){a=b+1|0;b=ca(a,121425);c:{if(b){break c}b=ca(a,121413);if(b){break c}b=ca(a,121417)}c=c+1|0;if(b){continue}break}}return c}function qm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=sb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}pg(a,f+24|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function pm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=sb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}og(a,f+16|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function _l(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=rb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}mg(a,f+24|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function Zl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=rb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}lg(a,f+16|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function zg(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;a:{if((a|0)!=(b|0)){f=j[37203];j[37203]=0;ra();e=In(a,d+12|0);a=j[37203];b:{if(a){if(j[d+12>>2]!=(b|0)){break b}if((a|0)!=68){break a}j[c>>2]=4;break a}j[37203]=f;if(j[d+12>>2]==(b|0)){break a}}}j[c>>2]=4;e=0}M=d+16|0;return e}function Ei(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;j[d+12>>2]=j[a+4>>2];j[d+8>>2]=j[b+4>>2];c=M-16|0;M=c;M=c+16|0;c=d+8|0;e=d+12|0;c=ke(j[a>>2],j[b>>2],j[(m[c>>2]>2]?c:e)>>2]);a:{if(c){break a}c=0;if(j[a+4>>2]==j[b+4>>2]){break a}c=m[a+4>>2]>2]?-1:1}M=d+16|0;return c}function _i(a,b){a=a|0;b=b|0;var c=0;if(j[a+8>>2]==j[a+12>>2]){return-1}if((b|0)==-1){j[a+12>>2]=j[a+12>>2]-1;return 0}a:{b:{if(k[a+32|0]&2){c=-1;if(k[j[a+12>>2]-1|0]!=(b&255)){break a}j[a+12>>2]=j[a+12>>2]-1;break b}j[a+12>>2]=j[a+12>>2]-1;h[j[a+12>>2]]=b}c=b}return c|0}function Gc(a,b,c){var d=0,e=0,f=0;a:{if(b>>>0<1){d=a;break a}while(1){d=Er(a,b,10);e=N;f=e;e=Dr(d,e,10,0);c=c-1|0;h[c|0]=a-e|48;e=b>>>0>9;a=d;b=f;if(e){continue}break}}if(d){while(1){c=c-1|0;a=(d>>>0)/10|0;h[c|0]=d-p(a,10)|48;b=d>>>0>9;d=a;if(b){continue}break}}return c}function om(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;a=M-16|0;M=a;j[a+8>>2]=b;b=j[d+28>>2];j[a>>2]=b;j[b+4>>2]=j[b+4>>2]+1;g=sb(a);b=j[a>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}ng(f+20|0,a+8|0,c,e,g);M=a+16|0;return j[a+8>>2]}function Yl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;a=M-16|0;M=a;j[a+8>>2]=b;b=j[d+28>>2];j[a>>2]=b;j[b+4>>2]=j[b+4>>2]+1;g=rb(a);b=j[a>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}jg(f+20|0,a+8|0,c,e,g);M=a+16|0;return j[a+8>>2]}function Ee(a){var b=0,c=0;a:{if(m[a+20>>2]<=m[a+28>>2]){break a}O[j[a+36>>2]](a,0,0)|0;if(j[a+20>>2]){break a}return-1}b=j[a+4>>2];c=j[a+8>>2];if(b>>>0>>0){b=b-c|0;O[j[a+40>>2]](a,b,b>>31,1)|0}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;return 0}function Ii(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;d=d-c|0;a:{if(!d){b=a;break a}if((d|0)>(b-a|0)){break a}h[e+15|0]=k[c|0];g=1-d|0;while(1){f=b-a|0;if((d|0)>(f|0)){break a}a=hf(a,g+f|0,e+15|0);if(!a){break a}if(ke(a,c,d)){a=a+1|0;continue}break}b=a}M=e+16|0;return b}function bp(a,b){var c=0,d=0,e=0,f=0;c=k[a+1|0];e=(c|0)!=0;a:{if(!c){break a}c=c|k[a|0]<<8;f=k[b+1|0]|k[b|0]<<8;if((c|0)==(f|0)){break a}b=a+1|0;while(1){a=b;d=k[a+1|0];e=(d|0)!=0;if(!d){break a}b=a+1|0;c=c<<8&65280|d;if((f|0)!=(c|0)){continue}break}}return e?a:0}function Uo(a){var b=0,c=0,d=0,e=0;e=j[a+76>>2]>=0;d=j[a>>2]&1;if(!d){b=j[a+52>>2];if(b){j[b+56>>2]=j[a+56>>2]}c=j[a+56>>2];if(c){j[c+52>>2]=b}if(j[37225]==(a|0)){j[37225]=c}}Fe(a);O[j[a+12>>2]](a)|0;b=j[a+96>>2];if(b){T(b)}a:{if(!d){T(a);break a}if(!e){break a}}}function sh(a,b){var c=0,d=0,e=0;Kr(+a);c=Hr(1)|0;d=Hr(0)|0;e=c;c=c>>>20&2047;if((c|0)!=2047){if(!c){c=b;if(a==0){b=0}else{a=sh(a*0x10000000000000000,b);b=j[b>>2]+ -64|0}j[c>>2]=b;return a}j[b>>2]=c-1022;Ir(0,d|0);Ir(1,e&-2146435073|1071644672);a=+Jr()}return a}function pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(zb(a,j[b+8>>2],0)){Sd(b,c,d);return}e=j[a+12>>2];f=a+16|0;af(f,b,c,d);a:{if((e|0)<2){break a}e=(e<<3)+f|0;a=a+24|0;while(1){af(a,b,c,d);a=a+8|0;if(e>>>0<=a>>>0){break a}if(!k[b+54|0]){continue}break}}}function sa(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+12>>2]=d;d=k[b+11|0]>>>7|0?j[b+4>>2]:k[b+11|0];if(d>>>0>>0){X();z()}b=k[b+11|0]>>>7|0?j[b>>2]:b;j[e+4>>2]=d-c;d=M-16|0;M=d;M=d+16|0;d=b+c|0;b=e+4|0;c=e+12|0;Yd(a,d,j[(m[b>>2]>2]?b:c)>>2]);M=e+16|0;return a}function Tc(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;b=j[b+28>>2];j[d+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=Bc(d+8|0);e=c,f=O[j[j[b>>2]+16>>2]](b)|0,j[e>>2]=f;O[j[j[b>>2]+20>>2]](a,b);a=j[d+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=d+16|0}function Wc(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;b=j[b+28>>2];j[d+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=Dc(d+8|0);e=c,f=O[j[j[b>>2]+16>>2]](b)|0,h[e|0]=f;O[j[j[b>>2]+20>>2]](a,b);a=j[d+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=d+16|0}function Cn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;a:{while(1){if((d|0)!=(e|0)){a=-1;if((b|0)==(c|0)){break a}f=j[b>>2];g=j[d>>2];if((f|0)<(g|0)){break a}if((f|0)>(g|0)){return 1}else{d=d+4|0;b=b+4|0;continue}}break}a=(b|0)!=(c|0)}return a|0}function Fn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;a:{while(1){if((d|0)!=(e|0)){a=-1;if((b|0)==(c|0)){break a}f=h[b|0];g=h[d|0];if((f|0)<(g|0)){break a}if((f|0)>(g|0)){return 1}else{d=d+1|0;b=b+1|0;continue}}break}a=(b|0)!=(c|0)}return a|0}function lc(a){a=a|0;var b=0;j[a>>2]=121328;b=j[a+64>>2];if(b){Oh(a);Uo(b);j[a+64>>2]=0;O[j[j[a>>2]+12>>2]](a,0,0)|0}a:{if(!k[a+96|0]){break a}b=j[a+32>>2];if(!b){break a}T(b)}b:{if(!k[a+97|0]){break b}b=j[a+56>>2];if(!b){break b}T(b)}ib(a);return a|0}function Sn(){var a=0,b=0;a=M-16|0;M=a;a:{if(J(a+12|0,a+8|0)|0){break a}b=ja((j[a+12>>2]<<2)+4|0);j[37227]=b;if(!b){break a}b=ja(j[a+8>>2]);if(!b){j[37227]=0;break a}j[j[37227]+(j[a+12>>2]<<2)>>2]=0;if(!(I(j[37227],b|0)|0)){break a}j[37227]=0}M=a+16|0}function uh(a){var b=0,c=0;b=k[a+74|0];h[a+74|0]=b-1|b;if(m[a+20>>2]>m[a+28>>2]){O[j[a+36>>2]](a,0,0)|0}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;b=j[a>>2];if(b&4){j[a>>2]=b|32;return-1}c=j[a+44>>2]+j[a+48>>2]|0;j[a+8>>2]=c;j[a+4>>2]=c;return b<<27>>31}function sq(a,b){a=a|0;b=b|0;var c=0,d=0;c=-1;a:{if(!j[a+64>>2]){break a}d=j[a+12>>2];if(d>>>0<=m[a+8>>2]){break a}if((b|0)==-1){j[a+12>>2]=d-1;return 0}if(k[d-1|0]!=(b&255)?!(k[a+88|0]&16):0){break a}c=a;a=d-1|0;j[c+12>>2]=a;h[a|0]=b;c=b}return c|0}function jc(a,b,c,d){var e=0;if(d&2048){h[a|0]=43;a=a+1|0}if(d&512){h[a|0]=35;a=a+1|0}while(1){e=k[b|0];if(e){h[a|0]=e;a=a+1|0;b=b+1|0;continue}break}e=d&74;b=111;a:{if((e|0)==64){break a}b=d&16384?88:120;if((e|0)==8){break a}b=c?100:117}h[a|0]=b}function bm(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=M-16|0;M=e;j[e+8>>2]=b;b=6;a:{b:{if(Sa(a,e+8|0)){break b}b=4;if(((g=d,h=Ga(a),i=0,f=j[j[d>>2]+36>>2],O[f](g|0,h|0,i|0)|0)|0)!=37){break b}b=2;if(!Sa(Oa(a),e+8|0)){break a}}j[c>>2]=j[c>>2]|b}M=e+16|0}function gm(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+8>>2]=b;while(1){a:{if(!lb(a,e+8|0)){break a}b=Ga(a);if((b|0)>=0){b=(l[j[d+8>>2]+((b&255)<<1)>>1]&8192)!=0}else{b=0}if(!b){break a}Oa(a);continue}break}if(Sa(a,e+8|0)){j[c>>2]=j[c>>2]|2}M=e+16|0}function nr(a){a=a|0;var b=0,c=0,d=0;b=j[a+44>>2];c=j[a+24>>2];if(b>>>0>>0){j[a+44>>2]=c;b=c}d=-1;a:{if(!(k[a+48|0]&8)){break a}c=j[a+16>>2];if(c>>>0>>0){j[a+16>>2]=b}else{b=c}a=j[a+12>>2];if(a>>>0>=b>>>0){break a}d=k[a|0]}return d|0}function vc(a,b){var c=0,d=0;if(!a){return ja(b)}if(b>>>0>=4294967232){j[37203]=48;return 0}c=hi(a-8|0,b>>>0<11?16:b+11&-8);if(c){return c+8|0}c=ja(b);if(!c){return 0}d=j[a-4>>2];d=(d&3?-4:-8)+(d&-8)|0;V(c,a,b>>>0>d>>>0?d:b);T(a);return c}function ul(a,b,c){var d=0;d=M-32|0;M=d;j[d+16>>2]=b;j[d+24>>2]=a;j[d+8>>2]=c;while(1){a=j[d+24>>2]==j[d+16>>2]^1;if(!(!a|j[j[d+24>>2]>>2]!=j[j[d+8>>2]>>2])){j[d+24>>2]=j[d+24>>2]+4;j[d+8>>2]=j[d+8>>2]+4;continue}break}M=d+32|0;return a^1}function pq(a){var b=0,c=0,d=0;ya(a+16|0,255,1024);d=j[a+4>>2];while(1){a:{b=p(c,12)+d|0;b:{if(h[b+11|0]<=-1){b=k[j[b>>2]];if(b){break b}break a}b=k[b|0];if(!b){break a}}b=(b<<2)+a|0;if(j[b+16>>2]<=-1){j[b+16>>2]=c}c=c+2|0;continue}break}}function Lg(a,b,c,d,e){var f=0;f=M-144|0;M=f;j[f+44>>2]=a;j[f+4>>2]=a;j[f>>2]=0;j[f+76>>2]=-1;j[f+8>>2]=(a|0)<0?-1:a+2147483647|0;Ib(f,0,0);c=Tg(f,c,1,d,e);d=N;if(b){j[b>>2]=((j[f+4>>2]+j[f+120>>2]|0)-j[f+8>>2]|0)+a}M=f+144|0;N=d;return c}function wc(a,b,c){var d=0,e=0;e=l[c>>1]>1];a:{b:{if(l[b>>1]>=l[a>>1]){d=0;if(!e){break a}$a(b,c);d=1;if(l[b>>1]>=l[a>>1]){break a}$a(a,b);break b}if(e){$a(a,c);return 1}$a(a,b);d=1;if(l[c>>1]>=l[b>>1]){break a}$a(b,c)}d=2}return d}function lh(a){var b=0,c=0,d=0;b=M-16|0;M=b;if(j[(j[j[a>>2]-12>>2]+a|0)+24>>2]){c=kh(b+8|0,a);a:{if(!k[c|0]){break a}d=j[(j[j[a>>2]-12>>2]+a|0)+24>>2];if((O[j[j[d>>2]+24>>2]](d)|0)!=-1){break a}vd(j[j[a>>2]-12>>2]+a|0,1)}jh(c)}M=b+16|0}function Nm(a,b){var c=0,d=0;c=M-16|0;M=c;a=j[a+28>>2];j[c+8>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=rb(c+8|0);O[j[j[a>>2]+48>>2]](a,127600,127626,b)|0;a=j[c+8>>2];d=j[a+4>>2]-1|0;j[a+4>>2]=d;if((d|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=c+16|0;return b}function Nf(a){var b=0,c=0;b=M-16|0;M=b;j[b>>2]=150736;c=j[37685];j[b+4>>2]=c;j[b+8>>2]=(a<<2)+c;a=j[b+4>>2];while(1){if(j[b+8>>2]!=(a|0)){j[j[b+4>>2]>>2]=0;a=j[b+4>>2]+4|0;j[b+4>>2]=a;continue}break}j[j[b>>2]+4>>2]=j[b+4>>2];M=b+16|0}function Fi(a,b,c,d,e,f){var g=0,h=0;g=M-48|0;M=g;h=j[d+4>>2];j[g+40>>2]=j[d>>2];j[g+44>>2]=h;ff(g+24|0,a);ef(g+32|0,g+24|0,b,c);ef(g+16|0,g+40|0,e,f);a=j[g+20>>2];j[g+8>>2]=j[g+16>>2];j[g+12>>2]=a;a=Ei(g+32|0,g+8|0);M=g+48|0;return a}function lj(a){var b=0,c=0;c=M-16|0;M=c;j[c+12>>2]=a;b=a;a=uf();if(b>>>0<=a>>>0){b=j[37688]-j[37684]>>2;if(b>>>0>>1>>>0){j[c+8>>2]=b<<1;a=M-16|0;M=a;M=a+16|0;a=c+12|0;b=c+8|0;a=j[(m[b>>2]>2]?a:b)>>2]}M=c+16|0;return a}X();z()}function jj(a,b){var c=0,d=0;c=M-16|0;M=c;j[c>>2]=j[a+8>>2];d=j[a+8>>2];j[c+8>>2]=a+8;j[c+4>>2]=(b<<2)+d;b=j[c>>2];while(1){if(j[c+4>>2]!=(b|0)){j[j[c>>2]>>2]=0;b=j[c>>2]+4|0;j[c>>2]=b;continue}break}j[j[c+8>>2]>>2]=j[c>>2];M=c+16|0}function Eb(a,b,c){var d=0,e=0,f=0;if(!c){return 0}d=k[a|0];a:{if(!d){break a}while(1){b:{e=k[b|0];if((e|0)!=(d|0)){break b}c=c-1|0;if(!c|!e){break b}b=b+1|0;d=k[a+1|0];a=a+1|0;if(d){continue}break a}break}f=d}return(f&255)-k[b|0]|0}function Bb(a,b,c){c=j[c+4>>2]&176;if((c|0)==32){return b}a:{if((c|0)!=16){break a}b:{c:{c=k[a|0];switch(c-43|0){case 0:case 2:break c;default:break b}}return a+1|0}if((c|0)!=48|(b-a|0)<2|(k[a+1|0]|32)!=120){break a}a=a+2|0}return a}function Al(a,b,c){var d=0;d=M-32|0;M=d;j[d+16>>2]=b;j[d+24>>2]=a;j[d+8>>2]=c;while(1){a=j[d+24>>2]==j[d+16>>2]^1;if(!(!a|k[j[d+24>>2]]!=k[j[d+8>>2]])){j[d+24>>2]=j[d+24>>2]+1;j[d+8>>2]=j[d+8>>2]+1;continue}break}M=d+32|0;return a^1}function zr(a,b){var c=0,d=0,e=0;c=k[b|0]|k[b+1|0]<<8;a:{if((c|0)!=105){break a}}d=j[37199];b:{if(!d){break b}e=c;c=l[(d+p(c,6)|0)+2>>1];if((e|0)==(c|0)){break b}h[b|0]=c;h[b+1|0]=c>>>8}b=k[b|0]|k[b+1|0]<<8;h[a|0]=b;h[a+1|0]=b>>>8}function Xb(a,b){var c=0,d=0,e=0,f=0;c=j[a+4096>>2];d=j[c>>2];a:{if((d|0)==j[c+4>>2]){break a}c=0;while(1){e=dc(j[(c<<2)+d>>2],b);if(e){break a}f=j[a+4096>>2];d=j[f>>2];c=c+1|0;if(c>>>0>2]-d>>2>>>0){continue}break}}return e}function to(a,b){var c=0,d=0;c=M-32|0;M=c;h[a|0]=0;d=j[j[b>>2]-12>>2]+b|0;a:{if(!j[(j[j[b>>2]-12>>2]+b|0)+16>>2]){if(j[d+72>>2]){lh(j[(j[j[b>>2]-12>>2]+b|0)+72>>2])}h[a|0]=!j[(j[j[b>>2]-12>>2]+b|0)+16>>2];break a}vd(d,4)}M=c+32|0}function Va(a){var b=0,c=0;a:{c=k[a+11|0];b=c<<24>>24<0;c=b?j[a+4>>2]:c;if(!c){break a}a=b?j[a>>2]:a;b=(c+a|0)-1|0;if(a>>>0>=b>>>0){break a}while(1){c=k[a|0];h[a|0]=k[b|0];h[b|0]=c;a=a+1|0;b=b-1|0;if(a>>>0>>0){continue}break}}}function xc(a,b,c){var d=0,e=0;e=h[c|0]=h[a|0]){d=0;if(!e){break a}Xa(b,c);d=1;if(h[b|0]>=h[a|0]){break a}Xa(a,b);break b}if(e){Xa(a,c);return 1}Xa(a,b);d=1;if(h[c|0]>=h[b|0]){break a}Xa(b,c)}d=2}return d}function lo(a){var b=0,c=0,d=0;b=M-16|0;M=b;a=j[a+28>>2];j[b+8>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=sb(b+8|0);d=O[j[j[a>>2]+28>>2]](a,32)|0;a=j[b+8>>2];c=j[a+4>>2]-1|0;j[a+4>>2]=c;if((c|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=b+16|0;return d}function Zc(a){a=a|0;var b=0;j[a>>2]=1032;if(k[a+29|0]&16){T(j[a+48>>2])}b=j[a+52>>2];if(!(!b|k[a+29|0]&8)){T(b)}b=j[a+56>>2];if(!(!b|k[a+29|0]&4)){T(b)}if(h[a+27|0]<=-1){T(j[a+16>>2])}if(h[a+15|0]<=-1){T(j[a+4>>2])}return a|0}function Hl(a,b,c,d,e,f){var g=0;g=M-144|0;M=g;j[g+28>>2]=g+132;ig(a,g+32|0,g+28|0,d,e,f);j[g+16>>2]=0;j[g+20>>2]=0;j[g+12>>2]=g+32;a=Gl(b,g+12|0,j[c>>2]-b>>2,g+16|0,j[a>>2]);if((a|0)==-1){Fa();z()}j[c>>2]=(a<<2)+b;M=g+144|0}function lq(a){var b=0;j[a+44>>2]=0;b=j[a>>2];if(b){T(b)}j[a>>2]=0;j[a+4>>2]=0;b=j[a+20>>2];if(b){T(b)}j[a+48>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;b=j[a+28>>2];if(b){j[a+32>>2]=b;T(b)}b=j[a+8>>2];if(b){j[a+12>>2]=b;T(b)}return a}function zh(a,b){i[a+60>>1]=0;j[a+52>>2]=0;j[a+56>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[a+68>>2]=0;j[a+72>>2]=0;j[a+64>>2]=b;j[a>>2]=1048;j[a+12>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+76>>2]=0;j[a+80>>2]=0}function Br(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=p(e,f);g=c&65535;h=a&65535;i=p(g,h);f=(i>>>16|0)+p(f,g)|0;e=(f&65535)+p(e,h)|0;a=(p(b,c)+j|0)+p(a,d)+(f>>>16)+(e>>>16)|0;b=i&65535|e<<16;N=a;return b}function ef(a,b,c,d){var e=0,f=0;e=M-16|0;M=e;j[e+12>>2]=d;if(m[b+4>>2]>>0){Fa();z()}d=j[b>>2];j[e+8>>2]=j[b+4>>2]-c;b=M-16|0;M=b;M=b+16|0;b=e+8|0;f=e+12|0;j[a+4>>2]=j[(m[b>>2]>2]?b:f)>>2];j[a>>2]=c+d;M=e+16|0}function Zd(a,b,c,d,e){var f=0;f=_d(a,b,c,d);if(l[e>>1]>1]){$a(d,e);if(l[d>>1]>=l[c>>1]){return f+1|0}$a(c,d);if(l[c>>1]>=l[b>>1]){return f+2|0}$a(b,c);if(l[b>>1]>=l[a>>1]){return f+3|0}$a(a,b);f=f+4|0}return f}function kr(a,b,c){j[a>>2]=0;j[a+4>>2]=0;i[a+20>>1]=65510;j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;ya(a+24|0,0,88);jr(a,c);a:{if(!ir(a,b)){break a}T(j[a+4>>2]);j[a>>2]=1;b=Pd(1,4);j[a+4>>2]=b;if(b){break a}j[a>>2]=0}}function Gq(a,b){var c=0,d=0;a:{if(!a){break a}c=j[a>>2];if(!c){break a}d=1;if((b|0)>=1){T(j[c>>2]);if((b|0)!=1){while(1){T(j[j[a>>2]+(d<<2)>>2]);d=d+1|0;if((d|0)!=(b|0)){continue}break}}c=j[a>>2]}T(c);j[a>>2]=0}}function za(a){var b=0,c=0,d=0;b=M-32|0;M=b;j[b+12>>2]=0;j[b+8>>2]=79;c=j[b+12>>2];j[b>>2]=j[b+8>>2];j[b+4>>2]=c;d=j[b+4>>2];c=b+16|0;j[c+4>>2]=j[b>>2];j[c+8>>2]=d;j[c>>2]=a;_k(a,c);M=b+32|0;return j[a+4>>2]-1|0}function Sd(a,b,c){var d=0;d=j[a+16>>2];if(!d){j[a+36>>2]=1;j[a+24>>2]=c;j[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(j[a+24>>2]!=2){break a}j[a+24>>2]=c;return}h[a+54|0]=1;j[a+24>>2]=2;j[a+36>>2]=j[a+36>>2]+1}}function Qe(a,b,c){var d=0;a:{if(c){d=j[c+8>>2];if(d){break a}}c=j[b>>2];while(1){b:{c=c+1|0;j[b>>2]=c;if(j[a>>2]<=(c|0)){break b}d=j[j[a+4>>2]+(c<<2)>>2];if(!d){continue}break a}break}j[b>>2]=-1;d=0}return d}function Fe(a){var b=0;if(a){if(j[a+76>>2]<=-1){return Ee(a)}return Ee(a)}if(j[37204]){b=Fe(j[37204])}a=j[37225];if(a){while(1){if(m[a+20>>2]>m[a+28>>2]){b=Ee(a)|b}a=j[a+56>>2];if(a){continue}break}}return b}function $d(a,b,c,d,e){var f=0;f=ae(a,b,c,d);if(h[e|0]=h[c|0]){return f+1|0}Xa(c,d);if(h[c|0]>=h[b|0]){return f+2|0}Xa(b,c);if(h[b|0]>=h[a|0]){return f+3|0}Xa(a,b);f=f+4|0}return f}function ql(a,b,c){var d=0;d=gb(a,b,c,0,0);a:{if(d){break a}d=Qa(a,b,c,0,0,0,0,0);if(!j[a+4488>>2]){break a}j[a+4372>>2]=0;j[a+4376>>2]=0;if(d){break a}d=eb(a,b,c,0,0,0);if(d){break a}d=Lb(a,b,c,0)}return d}function kj(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;j[d+12>>2]=0;f=a+12|0;j[f>>2]=0;j[f+4>>2]=150768;if(b){e=tf(j[a+16>>2],b)}j[a>>2]=e;c=(c<<2)+e|0;j[a+8>>2]=c;j[a+4>>2]=c;j[a+12>>2]=(b<<2)+e;M=d+16|0;return a}function Oi(a,b,c){var d=0;a:{if(a-b>>2>>>0>>0){while(1){c=c-1|0;d=c<<2;j[d+a>>2]=j[b+d>>2];if(c){continue}break a}}if(!c){break a}while(1){j[a>>2]=j[b>>2];a=a+4|0;b=b+4|0;c=c-1|0;if(c){continue}break}}}function Ib(a,b,c){var d=0,e=0,f=0,g=0;j[a+112>>2]=b;j[a+116>>2]=c;d=j[a+8>>2];g=j[a+4>>2];e=d-g|0;f=e>>31;j[a+120>>2]=e;j[a+124>>2]=f;j[a+104>>2]=b|c?((c|0)<(f|0)?1:(c|0)<=(f|0)?b>>>0>>0:0)?b+g|0:d:d}function Zi(a){a=a|0;var b=0,c=0;a:{if(j[a+12>>2]==j[a+16>>2]){b=-1;if(m[a+16>>2]>=m[a+24>>2]){break a}b=j[a+8>>2];c=j[a+12>>2];j[a+16>>2]=j[a+24>>2];j[a+12>>2]=c;j[a+8>>2]=b}b=k[j[a+12>>2]]}return b|0}function tb(a,b,c,d,e){var f=0;f=M-256|0;M=f;if(!(e&73728|(c|0)<=(d|0))){c=c-d|0;d=c>>>0<256;ya(f,b&255,d?c:256);if(!d){while(1){ab(a,f,256);c=c-256|0;if(c>>>0>255){continue}break}}ab(a,f,c)}M=f+256|0}function Pn(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;j[d+12>>2]=c;j[d+8>>2]=c;e=-1;c=yd(0,0,b,c);a:{if((c|0)<0){break a}f=a;c=c+1|0;a=ja(c);j[f>>2]=a;if(!a){break a}e=yd(a,c,b,j[d+12>>2])}M=d+16|0;return e}function rk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=qk(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function pk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=ok(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function kk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=jk(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function ik(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=hk(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function ig(a,b,c,d,e,f){var g=0,i=0,k=0;g=M-16|0;M=g;h[g+15|0]=0;h[g+14|0]=f;h[g+13|0]=e;h[g+12|0]=37;if(f){Xa(g+13|0,g+14|0)}i=c,k=(H(b|0,j[c>>2]-b|0,g+12|0,d|0,j[a>>2])|0)+b|0,j[i>>2]=k;M=g+16|0}function So(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=M-16|0;M=e;a=L(j[a+60>>2],b|0,c|0,d&255,e+8|0)|0;b=0;a:{if(!a){break a}j[37203]=a;b=-1}a=b;M=e+16|0;N=a?-1:j[e+12>>2];return(a?-1:j[e+8>>2])|0}function Ae(a){a=a|0;var b=0,c=0;j[a>>2]=122472;Go(a);b=j[a+28>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}T(j[a+32>>2]);T(j[a+36>>2]);T(j[a+48>>2]);T(j[a+60>>2]);return a|0}function Rg(a,b,c,d){a:{if(!a){break a}b:{switch(b+2|0){case 0:h[a|0]=c;return;case 1:i[a>>1]=c;return;case 2:case 3:j[a>>2]=c;return;case 5:break b;default:break a}}j[a>>2]=c;j[a+4>>2]=d}}function ei(a){var b=0;b=k[a+74|0];h[a+74|0]=b-1|b;b=j[a>>2];if(b&8){j[a>>2]=b|32;return-1}j[a+4>>2]=0;j[a+8>>2]=0;b=j[a+44>>2];j[a+28>>2]=b;j[a+20>>2]=b;j[a+16>>2]=b+j[a+48>>2];return 0}function sl(a,b){var c=0,d=0;c=M-16|0;M=c;if(k[a+11|0]>>>7|0){T(j[a>>2])}j[a+8>>2]=j[b+8>>2];d=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=d;h[b+11|0]=0;j[c+12>>2]=0;j[b>>2]=j[c+12>>2];M=c+16|0}function ba(a,b){var c=0,d=0;c=k[a|0];d=k[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=k[b+1|0];c=k[a+1|0];if(!c){break a}b=b+1|0;a=a+1|0;if((c|0)==(d|0)){continue}break}}return c-d|0}function Hj(){var a=0;a:{if(h[150360]&1){break a}if(!Ma(150360)){break a}a=150336;while(1){a=ga(a)+12|0;if((a|0)!=150360){continue}break}La(150360)}oa(150336,133648);oa(150348,133651)}function Ej(){var a=0;a:{if(h[150392]&1){break a}if(!Ma(150392)){break a}a=150368;while(1){a=ga(a)+12|0;if((a|0)!=150392){continue}break}La(150392)}na(150368,133656);na(150380,133668)}function tl(a,b){var c=0,d=0;c=M-16|0;M=c;if(k[a+11|0]>>>7|0){T(j[a>>2])}j[a+8>>2]=j[b+8>>2];d=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=d;h[b+11|0]=0;h[c+15|0]=0;h[b|0]=k[c+15|0];M=c+16|0}function nc(a){var b=0,c=0;b=j[37193];c=a+3&-4;a=b+c|0;a:{if(a>>>0<=b>>>0?(c|0)>=1:0){break a}if(a>>>0>Or()<<16>>>0){if(!(G(a|0)|0)){break a}}j[37193]=a;return b}j[37203]=48;return-1}function ve(a,b,c,d,e,f,g,h,i){var k=0;k=M-16|0;M=k;yb(k,b,c,d,e,f,g,h,i^-2147483648);b=j[k+4>>2];j[a>>2]=j[k>>2];j[a+4>>2]=b;b=j[k+12>>2];j[a+8>>2]=j[k+8>>2];j[a+12>>2]=b;M=k+16|0}function ic(a){var b=0,c=0,d=0;b=M-16|0;M=b;d=b;if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}j[d+8>>2]=c+(a<<2);M=b+16|0;return j[b+8>>2]}function Ye(a,b){var c=0;a:{b:{if((a|0)!=105){break b}b=b-90|0;if(b>>>0>12){break b}c=304;if(1<>1]}return c&65535}function af(a,b,c,d){var e=0,f=0,g=0,h=0;f=j[a+4>>2];a=j[a>>2];g=a;h=b;e=0;a:{if(!c){break a}b=f>>8;e=b;if(!(f&1)){break a}e=j[b+j[c>>2]>>2]}O[j[j[a>>2]+28>>2]](g,h,e+c|0,f&2?d:2)}function Xe(a,b){var c=0;a:{b:{if((a|0)!=73){break b}b=b-90|0;if(b>>>0>12){break b}c=305;if(1<>1]}return c&65535}function vr(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}ib(a+12|0);Ta(a- -64|0);return a|0}function ha(a,b){var c=0,d=0;c=M-16|0;M=c;a:{if(!(k[b+11|0]>>>7|0)){j[a+8>>2]=j[b+8>>2];d=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=d;break a}Yd(a,j[b>>2],j[b+4>>2])}M=c+16|0;return a}function de(a){a=a|0;var b=0,c=0;j[a>>2]=133828;a:{if(!j[a+8>>2]|(j[a+32>>2]&9)!=1){break a}b=j[a+8>>2];c=j[a+44>>2];if(c){O[c|0](b);break a}if(!b){break a}T(b)}ib(a);return a|0}function Li(a,b){var c=0,d=0;c=M-16|0;M=c;a:{if(k[a+11|0]>>>7|0){d=j[a>>2];h[c+15|0]=0;h[b+d|0]=k[c+15|0];j[a+4>>2]=b;break a}h[c+14|0]=0;h[a+b|0]=k[c+14|0];h[a+11|0]=b}M=c+16|0}function wr(a){a=a|0;var b=0,c=0,d=0;c=a+56|0;j[c>>2]=120340;b=a-8|0;j[b>>2]=120300;d=a+4|0;j[d>>2]=120536;j[a>>2]=120320;if(h[a+47|0]<=-1){T(j[b+44>>2])}ib(d);Ta(c);return b|0}function Kl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;c=M-128|0;M=c;j[c+12>>2]=c+116;ig(a+8|0,c+16|0,c+12|0,e,f,g);a=ej(c+16|0,j[c+12>>2],b);M=c+128|0;return a|0}function Jl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;c=M-416|0;M=c;j[c+12>>2]=c+416;Hl(a+8|0,c+16|0,c+12|0,e,f,g);a=dj(c+16|0,j[c+12>>2],b);M=c+416|0;return a|0}function wl(a){var b=0,c=0;b=M-16|0;M=b;a:{if(k[a+11|0]>>>7|0){c=j[a>>2];j[b+12>>2]=0;j[c>>2]=j[b+12>>2];j[a+4>>2]=0;break a}j[b+8>>2]=0;j[a>>2]=j[b+8>>2];h[a+11|0]=0}M=b+16|0}function kc(a){var b=0,c=0,d=0;b=M-16|0;M=b;d=b;if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}j[d+8>>2]=c+a;M=b+16|0;return j[b+8>>2]}function Ek(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=M-16|0;M=a;j[a+12>>2]=e;j[a+8>>2]=d-c;b=M-16|0;M=b;M=b+16|0;M=a+16|0;b=a+8|0;a=a+12|0;return j[(m[b>>2]>2]?b:a)>>2]}function sm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=M-16|0;M=g;j[g+8>>2]=624576549;j[g+12>>2]=1394948685;a=Zb(a,b,c,d,e,f,g+8|0,g+16|0);M=g+16|0;return a|0}function fb(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=c;j[f+8>>2]=e;c=Mb(f,f+12|0);b=yd(a,b,d,j[f+8>>2]);a=j[c>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=f+16|0;return b}function xg(a,b,c){var d=0;d=M-16|0;M=d;j[d+12>>2]=b;j[d+8>>2]=c;b=Mb(d,d+12|0);c=Qg(a,127633,j[d+8>>2]);a=j[b>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=d+16|0;return c}function _g(a){var b=0,c=0;b=j[a>>2];if(b){c=j[b+12>>2];a:{if((c|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break a}b=j[c>>2]}if((b|0)!=-1){return!j[a>>2]}j[a>>2]=0}return 1}function Sk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=j[b>>2];if(a>>>0<=127){a=j[j[31124]+(j[b>>2]<<2)>>2]}j[d>>2]=a;b=b+4|0;continue}break}return c|0}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=j[b>>2];if(a>>>0<=127){a=j[j[31512]+(j[b>>2]<<2)>>2]}j[d>>2]=a;b=b+4|0;continue}break}return c|0}function sr(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}ib(a+12|0);Ta(a- -64|0);T(a)}function $g(a){var b=0,c=0;b=j[a>>2];if(b){c=j[b+12>>2];a:{if((c|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break a}b=k[c|0]}if((b|0)!=-1){return!j[a>>2]}j[a>>2]=0}return 1}function Uk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a:{while(1){if((c|0)==(d|0)){break a}if(!(!(l[j[30931]+(j[c>>2]<<1)>>1]&b)|m[c>>2]>127)){c=c+4|0;continue}break}d=c}return d|0}function Cl(a){var b=0,c=0;b=M-16|0;M=b;a:{if(k[a+11|0]>>>7|0){c=j[a>>2];h[b+15|0]=0;h[c|0]=k[b+15|0];j[a+4>>2]=0;break a}h[b+14|0]=0;h[a|0]=k[b+14|0];h[a+11|0]=0}M=b+16|0}function tr(a){a=a|0;var b=0,c=0,d=0;c=a+56|0;j[c>>2]=120340;b=a-8|0;j[b>>2]=120300;d=a+4|0;j[d>>2]=120536;j[a>>2]=120320;if(h[a+47|0]<=-1){T(j[b+44>>2])}ib(d);Ta(c);T(b)}function Sb(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+12>>2]=b;j[e+8>>2]=d;b=Mb(e,e+12|0);c=Pn(a,c,j[e+8>>2]);a=j[b>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=e+16|0;return c}function _d(a,b,c,d){var e=0;e=wc(a,b,c);if(l[d>>1]>1]){$a(c,d);if(l[c>>1]>=l[b>>1]){return e+1|0}$a(b,c);if(l[b>>1]>=l[a>>1]){return e+2|0}$a(a,b);e=e+3|0}return e}function Vk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){a:{if((c|0)!=(d|0)){if(!(l[j[30931]+(j[c>>2]<<1)>>1]&b)|m[c>>2]>127){break a}}else{c=d}return c|0}c=c+4|0;continue}}function Un(a,b,c){var d=0,e=0,f=0;e=j[a+84>>2];d=c+256|0;f=Aa(e,0,d);d=f?f-e|0:d;c=c>>>0>d>>>0?d:c;V(b,e,c);b=e+d|0;j[a+84>>2]=b;j[a+8>>2]=b;j[a+4>>2]=c+e;return c} +function Vi(a){var b=0;b=j[33481];j[a>>2]=b;j[j[b-12>>2]+a>>2]=j[33484];de(a+8|0);return a}function Ii(a,b,c,d){if(!d){return 0}b=a+b|0;c=Hi(a,b,c,c+d|0);return(b|0)==(c|0)?-1:c-a|0}function Dd(a,b){if(b){Dd(a,j[b>>2]);Dd(a,j[b+4>>2]);if(h[b+27|0]<=-1){T(j[b+16>>2])}T(b)}}function Cd(a,b){if(b){Cd(a,j[b>>2]);Cd(a,j[b+4>>2]);if(h[b+27|0]<=-1){T(j[b+16>>2])}T(b)}}function oh(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=b;a=yd(a,100,127871,b);M=c+16|0;return a}function Wk(a,b,c){a=a|0;b=b|0;c=c|0;return(c>>>0<=127?(l[j[30931]+(c<<1)>>1]&b)!=0:0)|0}function Kk(a,b){a=a|0;b=b|0;if((b|0)>=0){b=j[j[31124]+((b&255)<<2)>>2]}return b<<24>>24}function Ik(a,b){a=a|0;b=b|0;if((b|0)>=0){b=j[j[31512]+((b&255)<<2)>>2]}return b<<24>>24}function Ap(a,b){a=a|0;b=b|0;var c=0;c=M-16|0;M=c;j[c+12>>2]=b;if(a){Dh(c+12|0)}M=c+16|0}function cr(a,b){var c=0;return(b|0)<1|j[a+92>>2]<(b|0)?c:j[(j[a+96>>2]+(b<<2)|0)-4>>2]}function Hb(a,b){a=j[a>>2];b=za(b);if(!Jf(a,b)){Fa();z()}return j[j[a+16>>2]+(b<<2)>>2]}function Cq(a){a=a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Ta(a+108|0);return a|0}function Mq(a){a=a|0;j[a>>2]=1072;if(h[a+79|0]<=-1){T(j[a+68>>2])}Zc(a);return a|0} -function Pd(a,b){var c=0,d=0,e=0;c=0;a:{if(!a){break a}d=Dr(a,0,b,0);e=N;c=d;if((a|b)>>>0<65536){break a}c=e?-1:d}b=c;a=ja(b);if(!(!a|!(k[a-4|0]&3))){ya(a,0,b)}return a}function Kk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=h[b|0];if((a|0)>=0){a=j[j[31124]+(h[b|0]<<2)>>2]}h[d|0]=a;b=b+1|0;continue}break}return c|0}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=h[b|0];if((a|0)>=0){a=j[j[31512]+(h[b|0]<<2)>>2]}h[d|0]=a;b=b+1|0;continue}break}return c|0}function qa(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}while(1){d=k[a|0];e=k[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}f=d-e|0}return f}function tk(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+12>>2]=d;d=Mb(e+8|0,e+12|0);b=rd(0,a,b,c?c:148924);a=j[d>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=e+16|0;return b}function uf(){var a=0,b=0;a=M-16|0;M=a;j[a+12>>2]=1073741823;j[a+8>>2]=2147483647;b=M-16|0;M=b;M=b+16|0;M=a+16|0;b=a+8|0;a=a+12|0;return j[(m[b>>2]>2]?b:a)>>2]}function qh(a){var b=0,c=0,d=0;if(h[j[a>>2]]-48>>>0<10){while(1){b=j[a>>2];d=h[b|0];j[a>>2]=b+1;c=(p(c,10)+d|0)-48|0;if(h[b+1|0]-48>>>0<10){continue}break}}return c}function kh(a,b){j[a+4>>2]=b;h[a|0]=0;if(!j[(j[j[b>>2]-12>>2]+b|0)+16>>2]){if(j[(j[j[b>>2]-12>>2]+b|0)+72>>2]){lh(j[(j[j[b>>2]-12>>2]+b|0)+72>>2])}h[a|0]=1}return a}function ae(a,b,c,d){var e=0;e=xc(a,b,c);if(h[d|0]=h[b|0]){return e+1|0}Xa(b,c);if(h[b|0]>=h[a|0]){return e+2|0}Xa(a,b);e=e+3|0}return e}function Wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((b|0)!=(c|0)){i[d>>1]=m[b>>2]<=127?l[j[30931]+(j[b>>2]<<1)>>1]:0;d=d+2|0;b=b+4|0;continue}break}return c|0}function zk(a,b,c,d,e,f){var g=0;g=M-16|0;M=g;j[g+12>>2]=f;f=Mb(g+8|0,g+12|0);b=Ln(a,b,c,d,e);a=j[f>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=g+16|0;return b}function vk(a){var b=0,c=0;b=M-16|0;M=b;j[b+12>>2]=a;a=Mb(b+8|0,b+12|0);c=M-16|0;M=c;M=c+16|0;a=j[a>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=b+16|0;return 0}function al(){var a=0;a:{if(h[149116]&1){break a}if(!Ma(149116)){break a}a=j[el()>>2];j[37277]=a;j[a+4>>2]=j[a+4>>2]+1;j[37278]=149108;La(149116)}return j[37278]}function Bf(a){var b=0,c=0;b=M-16|0;M=b;j[b+12>>2]=a;a=Mb(b+8|0,b+12|0);c=j[j[37179]>>2]?4:1;a=j[a>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=b+16|0;return c}function ek(a){var b=0,c=0;b=k[a+4115|0];c=b<<24>>24;if((c|0)<=-1){b=j[a+4108>>2]}a=a+4104|0;if(!b){Ka(a,1770);c=h[a+11|0]}if((c|0)<=-1){a=j[a>>2]}return cb(a)}function Gl(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=e;e=Mb(f+8|0,f+12|0);b=Mg(a,b,c,d);a=j[e>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=f+16|0;return b}function Cf(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=e;e=Mb(f+8|0,f+12|0);b=rd(a,b,c,d);a=j[e>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=f+16|0;return b}function Bk(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=e;e=Mb(f+8|0,f+12|0);b=Mn(a,b,c,d);a=j[e>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=f+16|0;return b}function zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=0;while(1){if((b|0)!=(c|0)){a=j[b>>2]+(a<<4)|0;d=a&-268435456;a=(d|d>>>24)^a;b=b+4|0;continue}break}return a|0}function Zq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}ib(a+4|0);Ta(a+56|0);return a|0}function $e(a){var b=0;a:{if(!a){break a}while(1){b:{switch(k[a|0]){case 0:case 9:case 10:case 32:break a;default:break b}}b=b+1|0;a=a+1|0;continue}}return b}function Dn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=0;while(1){if((b|0)!=(c|0)){a=h[b|0]+(a<<4)|0;d=a&-268435456;a=(d|d>>>24)^a;b=b+1|0;continue}break}return a|0}function Gi(a){a=a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}ib(a+12|0);Ta(a- -64|0);return a|0}function dd(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=a;M=d+16|0;d=j[d+8>>2];a=M-16|0;M=a;j[a+8>>2]=b;M=a+16|0;a=j[a+8>>2]-d|0;if(a){Ja(c,d,a)}return a+c|0}function Xq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}ib(a+4|0);Ta(a+56|0);T(a)}function Xj(a){var b=0,c=0;b=a+4116|0;a:{b:{c=h[a+4127|0];if((c|0)<=-1){if(j[a+4120>>2]){break b}return 0}if(c){break a}return 0}b=j[b>>2]}return cb(b)}function Nk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((b|0)!=(c|0)){a=j[b>>2];h[e|0]=a>>>0<128?a:d;e=e+1|0;b=b+4|0;continue}break}return c|0}function ge(a,b,c){var d=0;d=M-16|0;M=d;j[d+12>>2]=c;c=Mb(d+8|0,d+12|0);b=tc(a,b);a=j[c>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=d+16|0;return b}function Eq(a){var b=0;b=j[a>>2];if(b){T(b)}b=j[a+212>>2];if(b){j[a+216>>2]=b;T(b)}b=a+112|0;j[b>>2]=121256;j[a+4>>2]=121236;lc(a+12|0);Ta(b);return a}function ur(a){a=a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}ib(a+12|0);Ta(a- -64|0);T(a)}function fj(a,b,c){var d=0;d=M-16|0;M=d;Gn(d,b,c,ra());b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;b=j[d+12>>2];j[a+8>>2]=j[d+8>>2];j[a+12>>2]=b;M=d+16|0}function Fk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((b|0)!=(c|0)){a=h[b|0];h[e|0]=(a|0)>-1?a:d;e=e+1|0;b=b+1|0;continue}break}return c|0}function ea(a){var b=0;b=j[a+192>>2];if(b){T(Eq(b))}b=j[a>>2];if(b){O[j[j[b>>2]+4>>2]](b)}b=a+112|0;j[b>>2]=121256;j[a+4>>2]=121236;lc(a+12|0);Ta(b)}function yr(a,b){var c=0;a:{c=h[a+11|0];b:{if((c|0)<=-1){if(!j[a+4>>2]){break a}a=j[a>>2];break b}if(!c){break a}}h[a|0]=k[(p(k[a|0],3)+b|0)+1|0]}}function nb(a,b){var c=0;a:{c=h[a+11|0];b:{if((c|0)<=-1){if(!j[a+4>>2]){break a}a=j[a>>2];break b}if(!c){break a}}h[a|0]=k[(p(k[a|0],3)+b|0)+2|0]}}function ji(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(zb(a,j[b+8>>2],f)){Rd(b,c,d,e);return}a=j[a+8>>2];O[j[j[a>>2]+20>>2]](a,b,c,d,e,f)}function Hn(a,b,c){var d=0;d=M-16|0;M=d;se(d,b,c,2);b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;b=j[d+12>>2];j[a+8>>2]=j[d+8>>2];j[a+12>>2]=b;M=d+16|0}function ua(a,b){var c=0;if((a|0)!=(b|0)){c=a;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}mf(c,a,b)}}function dj(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=c;while(1){if((a|0)!=(b|0)){ah(d+8|0,j[a>>2]);a=a+4|0;continue}break}M=d+16|0;return j[d+8>>2]}function ej(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=c;while(1){if((a|0)!=(b|0)){bh(d+8|0,h[a|0]);a=a+1|0;continue}break}M=d+16|0;return j[d+8>>2]}function cj(a,b,c){var d=0,e=0,f=0;e=a;d=b;f=d;a:{if(!c){c=W(d);break a}c=c>>>0<2147483647?c:2147483647}j[e+16>>2]=f+c;j[a+12>>2]=d;j[a+8>>2]=b}function ff(a,b){var c=0,d=0;if(k[b+11|0]>>>7|0){c=j[b>>2]}else{c=b}d=a;if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}j[d+4>>2]=b;j[a>>2]=c}function Qd(a,b,c,d,e,f){var g=0,h=0,i=0;g=j[a+4>>2];h=g>>8;a=j[a>>2];i=a;if(g&1){h=j[j[d>>2]+h>>2]}O[j[j[a>>2]+20>>2]](i,b,c,d+h|0,g&2?e:2,f)}function Wd(a,b){var c=0;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if(c>>>0<=b>>>0){X();z()}if(k[a+11|0]>>>7|0){a=j[a>>2]}return a+b|0}function ma(a,b,c){var d=0,e=0;if(!b){return c}while(1){d=b,e=ma(a,j[b+76>>2],c),j[d+68>>2]=e;c=b;b=j[b+72>>2];if(b){continue}break}return c}function la(a,b,c){var d=0,e=0;if(!b){return c}while(1){d=b,e=la(a,j[b+88>>2],c),j[d+80>>2]=e;c=b;b=j[b+84>>2];if(b){continue}break}return c}function fi(a,b,c,d){var e=0,f=0;f=d&65535;d=d>>>16&32767;a:{if((d|0)!=32767){e=4;if(d){break a}return a|c|(b|f)?3:2}e=!(a|c|(b|f))}return e}function br(a,b,c){if(!((b|0)<1|j[a+80>>2]<(b|0))){b=b-1|0;j[c>>2]=j[j[a+84>>2]+(b<<2)>>2];return l[j[a+88>>2]+(b<<1)>>1]}j[c>>2]=0;return 0}function bo(a){var b=0,c=0;b=M-16|0;M=b;c=-1;a:{if(uh(a)){break a}if((O[j[a+32>>2]](a,b+15|0,1)|0)!=1){break a}c=k[b+15|0]}M=b+16|0;return c}function Io(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=j[a+20>>2];d=j[a+16>>2]-e|0;d=c>>>0>>0?c:d;V(e,b,d);j[a+20>>2]=d+j[a+20>>2];return c|0}function Qg(a,b,c){var d=0;d=M-144|0;M=d;d=ya(d,0,144);j[d+76>>2]=-1;j[d+44>>2]=a;j[d+32>>2]=76;j[d+84>>2]=a;a=Xn(d,b,c);M=d+144|0;return a}function ad(a,b,c,d,e){var f=0,g=0,h=0;f=j[a+4>>2];g=f>>8;a=j[a>>2];h=a;if(f&1){g=j[j[c>>2]+g>>2]}O[j[j[a>>2]+24>>2]](h,b,c+g|0,f&2?d:2,e)}function Gn(a,b,c,d){d=M-16|0;M=d;Hn(d,b,c);b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;b=j[d+12>>2];j[a+8>>2]=j[d+8>>2];j[a+12>>2]=b;M=d+16|0}function Ap(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=M-16|0;M=d;j[d+8>>2]=c;j[d+12>>2]=b;if(a){a=zp(a,d+12|0,d+8|0)}else{a=0}M=d+16|0;return a|0}function No(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=b;b=j[b>>2]+15&-16;j[c>>2]=b+16;d=a,e=Be(j[b>>2],j[b+4>>2],j[b+8>>2],j[b+12>>2]),o[d>>3]=e}function ro(a,b){var c=0;c=j[a+24>>2];if((c|0)==j[a+28>>2]){return O[j[j[a>>2]+52>>2]](a,b&255)|0}j[a+24>>2]=c+1;h[c|0]=b;return b&255}function ib(a){a=a|0;var b=0,c=0;j[a>>2]=122224;b=j[a+4>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}return a|0}function _q(a){a=a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}ib(a+4|0);Ta(a+56|0);return a|0}function Qo(a,b,c,d){if(a|b){while(1){c=c-1|0;h[c|0]=k[(a&15)+122e3|0]|d;a=(b&15)<<28|a>>>4;b=b>>>4|0;if(a|b){continue}break}}return c}function Ia(a,b,c){var d=0;if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}return Ji(d,a,b,c)}function Ba(a,b,c){var d=0;if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}return Hi(d,a,b,c)}function Go(a){var b=0,c=0;b=j[a+40>>2];while(1){if(b){b=b-1|0;c=b<<2;O[j[j[a+32>>2]+c>>2]](0,a,j[c+j[a+36>>2]>>2]);continue}break}}function Ga(a){var b=0;a=j[a>>2];b=j[a+12>>2];a:{if((b|0)==j[a+16>>2]){a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=k[b|0]}return a<<24>>24}function nk(a){var b=0,c=0;b=a+4408|0;a:{c=h[a+4419|0];if((c|0)<=-1){if(j[a+4412>>2]){break a}return 0}return c?b:0}return j[b>>2]}function Hi(a,b,c,d){var e=0;e=M-16|0;M=e;h[e+15|0]=c;c=-1;if(b>>>0>d>>>0){b=hf(a+d|0,b-d|0,e+15|0);c=b?b-a|0:-1}M=e+16|0;return c}function Ep(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=M-16|0;M=e;j[e+12>>2]=b;if(a){a=Dp(e+12|0,c,d)}else{a=0}M=e+16|0;return a|0}function Bg(a){var b=0,c=0;b=h[a+4139|0];c=j[a+4132>>2];a:{if((b|0)<=-1){break a}c=b&255}b=c;a=a+4128|0;if(!b){Ka(a,1760)}return a}function ra(){var a=0,b=0;a:{if(h[149092]&1){break a}if(!Ma(149092)){break a}a=149088,b=Qn(),j[a>>2]=b;La(149092)}return j[37272]}function el(){a:{if(h[149104]&1){break a}if(!Ma(149104)){break a}il();j[37274]=150720;j[37275]=149096;La(149104)}return j[37275]}function Yq(a){a=a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}ib(a+4|0);Ta(a+56|0);T(a)}function po(a,b){var c=0;c=j[a+24>>2];if((c|0)==j[a+28>>2]){return O[j[j[a>>2]+52>>2]](a,b)|0}j[a+24>>2]=c+4;j[c>>2]=b;return b}function Pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((b|0)!=(c|0)){j[d>>2]=h[b|0];d=d+4|0;b=b+1|0;continue}break}return c|0}function og(a,b,c,d,e,f){a=O[j[j[a+8>>2]+4>>2]](a+8|0)|0;a=qd(c,d,a,a+288|0,f,e,0)-a|0;if((a|0)<=287){j[b>>2]=((a|0)/12|0)%12}}function lg(a,b,c,d,e,f){a=O[j[j[a+8>>2]+4>>2]](a+8|0)|0;a=pd(c,d,a,a+288|0,f,e,0)-a|0;if((a|0)<=287){j[b>>2]=((a|0)/12|0)%12}}function Hk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((b|0)!=(c|0)){h[d|0]=k[b|0];d=d+1|0;b=b+1|0;continue}break}return c|0}function wd(a){j[a>>2]=122224;If(a+4|0);j[a+24>>2]=0;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;return a}function qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(zb(a,j[b+8>>2],0)){Sd(b,c,d);return}a=j[a+8>>2];O[j[j[a>>2]+28>>2]](a,b,c,d)}function dl(a){var b=0;b=j[37685]-j[37684]>>2;if(b>>>0>>0){bl(a-b|0);return}if(a>>>0>>0){rf(150736,j[37684]+(a<<2)|0)}}function Wa(a,b){var c=0,d=0;d=b;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if(d>>>0>c>>>0){Ni(a,b-c|0);return}Li(a,b)}function td(a,b){j[a+20>>2]=0;j[a+24>>2]=b;j[a+12>>2]=0;j[a+4>>2]=4098;j[a+8>>2]=6;j[a+16>>2]=!b;ya(a+32|0,0,40);If(a+28|0)}function pg(a,b,c,d,e,f){a=O[j[j[a+8>>2]>>2]](a+8|0)|0;a=qd(c,d,a,a+168|0,f,e,0)-a|0;if((a|0)<=167){j[b>>2]=((a|0)/12|0)%7}}function mg(a,b,c,d,e,f){a=O[j[j[a+8>>2]>>2]](a+8|0)|0;a=pd(c,d,a,a+168|0,f,e,0)-a|0;if((a|0)<=167){j[b>>2]=((a|0)/12|0)%7}}function me(a,b,c){c=j[c>>2];while(1){a:{if((a|0)!=(b|0)){if((c|0)!=j[a>>2]){break a}}else{a=b}return a}a=a+4|0;continue}}function U(a){var b=0;a=a?a:1;a:{while(1){b=ja(a);if(b){break a}b=j[37747];if(b){O[b|0]();continue}break}D();z()}return b}function ij(a){var b=0;b=a+4|0;hj(j[37684],j[37685],b);sd(150736,b);sd(150740,a+8|0);sd(150752,a+12|0);j[a>>2]=j[a+4>>2]}function Rf(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=a;while(1){if(b>>>0>>0){Qf(d+8|0,b);b=b+1|0;continue}break}M=d+16|0}function pe(a,b,c){c=k[c|0];while(1){a:{if((a|0)!=(b|0)){if((c|0)!=k[a|0]){break a}}else{a=b}return a}a=a+1|0;continue}}function dh(a){var b=0;b=j[a+12>>2];if((b|0)==j[a+16>>2]){return O[j[j[a>>2]+40>>2]](a)|0}j[a+12>>2]=b+4;return j[b>>2]}function Uj(a){a=a|0;a:{if(h[149192]&1){break a}if(!Ma(149192)){break a}Tj();j[37297]=149376;La(149192)}return j[37297]}function Rj(a){a=a|0;a:{if(h[149200]&1){break a}if(!Ma(149200)){break a}Qj();j[37299]=149552;La(149200)}return j[37299]}function Oj(a){a=a|0;a:{if(h[149208]&1){break a}if(!Ma(149208)){break a}Nj();j[37301]=149728;La(149208)}return j[37301]}function Lj(a){a=a|0;a:{if(h[149216]&1){break a}if(!Ma(149216)){break a}Kj();j[37303]=150032;La(149216)}return j[37303]}function Kn(a,b){var c=0,d=q(0);c=M-16|0;M=c;se(c,a,b,0);d=Sg(j[c>>2],j[c+4>>2],j[c+8>>2],j[c+12>>2]);M=c+16|0;return d}function Ij(a){a=a|0;a:{if(h[149224]&1){break a}if(!Ma(149224)){break a}Hj();j[37305]=150336;La(149224)}return j[37305]}function Fj(a){a=a|0;a:{if(h[149232]&1){break a}if(!Ma(149232)){break a}Ej();j[37307]=150368;La(149232)}return j[37307]}function yo(a){a=a|0;var b=0;if((O[j[j[a>>2]+36>>2]](a)|0)==-1){return-1}b=a;a=j[a+12>>2];j[b+12>>2]=a+1;return k[a|0]}function hh(a){var b=0;b=j[a+12>>2];if((b|0)==j[a+16>>2]){return O[j[j[a>>2]+40>>2]](a)|0}j[a+12>>2]=b+1;return k[b|0]}function Ve(a,b,c,d){var e=0;e=M-16|0;M=e;a=va(a,b);if(!(!d|!a)){ia(c,b);xd(j[c>>2],j[c+4>>2],e+8|0)}M=e+16|0;return a}function Po(a,b,c){if(a|b){while(1){c=c-1|0;h[c|0]=a&7|48;a=(b&7)<<29|a>>>3;b=b>>>3|0;if(a|b){continue}break}}return c}function gj(a){var b=0,c=0,d=0;c=j[a+4>>2];b=j[a>>2];a=j[a+8>>2];b=b+(a>>1)|0;d=b;if(a&1){c=j[c+j[b>>2]>>2]}O[c|0](d)}function In(a,b){var c=0,d=0;c=M-16|0;M=c;se(c,a,b,1);d=Be(j[c>>2],j[c+4>>2],j[c+8>>2],j[c+12>>2]);M=c+16|0;return d}function Yg(a,b,c,d,e,f,g,h,i){j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=d;j[a+12>>2]=e&65535|(i>>>16&32768|e>>>16&32767)<<16}function Mb(a,b){var c=0;c=j[37179];b=j[b>>2];if(b){j[37179]=(b|0)==-1?148860:b}j[a>>2]=(c|0)==148860?-1:c;return a}function yj(a){a=a|0;a:{if(h[149280]&1){break a}if(!Ma(149280)){break a}rc(149268,128188);La(149280)}return 149268}function wj(a){a=a|0;a:{if(h[149296]&1){break a}if(!Ma(149296)){break a}yc(149284,128200);La(149296)}return 149284}function uj(a){a=a|0;a:{if(h[149312]&1){break a}if(!Ma(149312)){break a}rc(149300,128236);La(149312)}return 149300}function sj(a){a=a|0;a:{if(h[149328]&1){break a}if(!Ma(149328)){break a}yc(149316,128260);La(149328)}return 149316}function qj(a){a=a|0;a:{if(h[149344]&1){break a}if(!Ma(149344)){break a}rc(149332,128344);La(149344)}return 149332}function oj(a){a=a|0;a:{if(h[149360]&1){break a}if(!Ma(149360)){break a}yc(149348,128356);La(149360)}return 149348}function Cj(a){a=a|0;a:{if(h[149248]&1){break a}if(!Ma(149248)){break a}rc(149236,128140);La(149248)}return 149236}function Aj(a){a=a|0;a:{if(h[149264]&1){break a}if(!Ma(149264)){break a}yc(149252,128152);La(149264)}return 149252}function wk(a){a=a|0;a:{if(vk(j[a+8>>2])){a=-1}else{a=j[a+8>>2];if(a){break a}a=1}return a|0}return(Bf(a)|0)==1|0}function um(a,b){a:{if((a|0)==(b|0)){break a}while(1){b=b-1|0;if(b>>>0<=a>>>0){break a}Xa(a,b);a=a+1|0;continue}}}function tm(a,b){a:{if((a|0)==(b|0)){break a}while(1){b=b-4|0;if(b>>>0<=a>>>0){break a}sd(a,b);a=a+4|0;continue}}}function fl(){j[37605]=0;j[37604]=134060;j[37604]=128412;h[150428]=0;j[37606]=0;j[37604]=127908;j[37606]=j[30931]}function qb(a){var b=0,c=0;b=M-16|0;M=b;c=b;if(k[a+11|0]>>>7|0){a=j[a>>2]}j[c+8>>2]=a;M=b+16|0;return j[b+8>>2]}function Tb(a){a:{a=j[a+4>>2]&74;if(a){if((a|0)==64){return 8}if((a|0)!=8){break a}return 16}return 0}return 10}function zb(a,b,c){if(!c){return j[a+4>>2]==j[b+4>>2]}if((a|0)==(b|0)){return 1}return!ba(j[a+4>>2],j[b+4>>2])}function wi(a){var b=0;a:{a=j[a+8>>2];b=k[a|0];if((b|0)!=1){if(b&2){break a}h[a|0]=2;a=1}else{a=0}return a}z()}function ag(a,b){var c=0,d=0;d=j[b>>2];j[b>>2]=0;c=j[a>>2];j[a>>2]=d;if(c){O[j[a+4>>2]](c)}j[a+4>>2]=j[b+4>>2]}function Ma(a){var b=0;b=M-16|0;M=b;j[b+12>>2]=0;j[b+4>>2]=a;j[b>>2]=a;j[b+8>>2]=a+1;a=xi(b);M=b+16|0;return a}function Cq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Ta(a+108|0);return a|0}function op(a){a=a|0;j[a>>2]=121508;T(j[a+4>>2]);j[a+12>>2]=0;j[a+16>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;return a|0}function Do(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;j[a+8>>2]=-1;j[a+12>>2]=-1;j[a>>2]=0;j[a+4>>2]=0}function ng(a,b,c,d,e){b=Rb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=((b|0)<69?b+2e3|0:(b|0)<100?b+1900|0:b)-1900}}function jg(a,b,c,d,e){b=Qb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=((b|0)<69?b+2e3|0:(b|0)<100?b+1900|0:b)-1900}}function _h(){var a=0,b=0;a=j[37198];if((a|0)>=1){a=a-1|0;j[37198]=a}b=j[37199];if(!(a|!b)){T(b);j[37199]=0}}function Xf(a,b){var c=0;c=M-16|0;M=c;j[c+8>>2]=j[a>>2];j[c+8>>2]=j[c+8>>2]+(b<<2);M=c+16|0;return j[c+8>>2]}function mo(a){var b=0;a:{if(j[a+76>>2]!=-1){a=j[a+76>>2];break a}b=a;a=lo(a);j[b+76>>2]=a}return a<<24>>24}function Da(a,b,c){var d=0;d=M-16|0;M=d;j[d+12>>2]=b;j[a>>2]=j[d+12>>2];j[a+4>>2]=j[c>>2];M=d+16|0;return a}function $c(a,b,c){a:{if(j[c+76>>2]<=-1){a=Nd(a,b,c);break a}a=Nd(a,b,c)}if((a|0)==(b|0)){return b}return a}function Ef(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j[e>>2]=c;j[h>>2]=f;return 3}function zq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Ta(a+108|0);T(a)}function bj(a,b,c){wd(a);j[a+40>>2]=0;j[a+44>>2]=0;j[a+32>>2]=0;j[a+36>>2]=4096;j[a>>2]=133828;cj(a,b,c)}function Wn(a,b){var c=0;c=M-16|0;j[c+12>>2]=a;a=b>>>0>1?((b<<2)+a|0)-4|0:a;j[c+8>>2]=a+4;return j[a>>2]}function Jf(a,b){a=a+16|0;if(j[a+4>>2]-j[a>>2]>>2>>>0>b>>>0){a=j[j[a>>2]+(b<<2)>>2]!=0}else{a=0}return a}function xi(a){var b=0,c=0;b=M-16|0;M=b;j[b+8>>2]=j[a+4>>2];if(!k[j[b+8>>2]]){c=wi(a)}M=b+16|0;return c}function le(a,b){var c=0;c=M-16|0;M=c;j[c+8>>2]=j[a>>2];j[c+8>>2]=j[c+8>>2]+b;M=c+16|0;return j[c+8>>2]}function cb(a){var b=0,c=0,d=0;a:{if(!a){break a}b=W(a)+1|0;c=ja(b);if(!c){break a}d=V(c,a,b)}return d}function _k(a,b){var c=0,d=0;c=M-16|0;M=c;if(j[a>>2]!=-1){d=c+8|0;j[d>>2]=b;j[c>>2]=d;Qi(a,c)}M=c+16|0}function hl(){var a=0;a=M-16|0;M=a;j[37684]=0;j[37685]=0;j[a+12>>2]=0;j[37688]=0;h[150880]=0;M=a+16|0}function sd(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=j[a>>2];j[a>>2]=j[b>>2];j[b>>2]=j[c+12>>2];M=c+16|0}function $a(a,b){var c=0;c=M-16|0;M=c;i[c+14>>1]=l[a>>1];i[a>>1]=l[b>>1];i[b>>1]=l[c+14>>1];M=c+16|0}function mm(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>30|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function km(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>11|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function im(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>12|c&4)){j[a>>2]=b-1;return}j[d>>2]=c|4}function Wl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>30|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Ul(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>11|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Sl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>12|c&4)){j[a>>2]=b-1;return}j[d>>2]=c|4}function Qi(a,b){while(1){if(j[a>>2]==1){continue}break}if(!j[a>>2]){j[a>>2]=1;O[80](b);j[a>>2]=-1}}function La(a){var b=0;b=M-16|0;M=b;j[b+12>>2]=0;j[b+4>>2]=a;j[b>>2]=a;j[b+8>>2]=a+1;vi(b);M=b+16|0}function jm(a,b,c,d,e){b=Rb(b,c,d,e,3);c=j[d>>2];if(!((b|0)>365|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function gl(){var a=0;if(uf()>>>0<28){X();z()}a=tf(150768,28);j[37684]=a;j[37685]=a;j[37688]=a+112}function Tl(a,b,c,d,e){b=Qb(b,c,d,e,3);c=j[d>>2];if(!((b|0)>365|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function vp(a,b){a=a|0;b=b|0;var c=0;c=M-16|0;M=c;j[c+12>>2]=b;a=up(a,c+12|0);M=c+16|0;return a|0}function rf(a,b){var c=0;c=j[a+4>>2];while(1){if((b|0)!=(c|0)){c=c-4|0;continue}break}j[a+4>>2]=b}function lm(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>23|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function hm(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>59|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function em(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>60|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Vl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>23|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Ud(a,b,c,d,e,f){var g=0;g=M-16|0;M=g;ff(g+8|0,d);a=Fi(a,b,c,g+8|0,e,f);M=g+16|0;return a}function Rl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>59|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Ol(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>60|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function dm(a,b,c,d,e){b=Rb(b,c,d,e,1);c=j[d>>2];if(!((b|0)>6|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Nl(a,b,c,d,e){b=Qb(b,c,d,e,1);c=j[d>>2];if(!((b|0)>6|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Jo(a,b,c){if(c){while(1){j[a>>2]=j[b>>2];a=a+4|0;b=b+4|0;c=c-1|0;if(c){continue}break}}}function ii(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(zb(a,j[b+8>>2],f)){Rd(b,c,d,e)}}function vi(a){var b=0;b=M-16|0;M=b;j[b+8>>2]=j[a+4>>2];h[j[b+8>>2]]=1;h[j[a+8>>2]]=1;M=b+16|0}function or(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;O[j[j[b>>2]+16>>2]](a,b,j[c+8>>2],j[c+12>>2],0,d)}function Xa(a,b){var c=0;c=M-16|0;M=c;h[c+15|0]=k[a|0];h[a|0]=k[b|0];h[b|0]=k[c+15|0];M=c+16|0}function Ho(a){var b=0;b=a;a=0;while(1){if((a|0)!=3){j[(a<<2)+b>>2]=0;a=a+1|0;continue}break}}function Co(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;j[a+8>>2]=-1;j[a+12>>2]=-1;j[a>>2]=0;j[a+4>>2]=0}function Ng(a){var b=0,c=0;c=a;while(1){b=c;c=b+4|0;if(j[b>>2]){continue}break}return b-a>>2}function Ff(a){a=a|0;var b=0;j[a>>2]=127908;b=j[a+8>>2];if(!(!b|!k[a+12|0])){T(b)}return a|0}function bh(a,b){var c=0;a:{c=j[a>>2];if(!c){break a}if((ro(c,b)|0)!=-1){break a}j[a>>2]=0}}function ah(a,b){var c=0;a:{c=j[a>>2];if(!c){break a}if((po(c,b)|0)!=-1){break a}j[a>>2]=0}}function Fr(a,b){var c=0,d=0;c=b&31;d=(-1>>>c&a)<>>a} +function gj(a,b,c){var d=0;d=c;b=b-a|0;c=j[c>>2]-b|0;j[d>>2]=c;if((b|0)>=1){V(c,a,b)}}function Pg(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=b;a=Qg(a,127856,b);M=c+16|0;return a}function qr(a){a=a|0;j[a>>2]=120536;if(h[a+43|0]<=-1){T(j[a+32>>2])}ib(a);return a|0}function Rj(a){a=a|0;a=149544;while(1){a=Y(a-12|0);if((a|0)!=149376){continue}break}}function Oj(a){a=a|0;a=149720;while(1){a=Y(a-12|0);if((a|0)!=149552){continue}break}}function Of(a){a=a|0;j[a>>2]=127960;if(j[a+8>>2]!=(ra()|0)){Og(j[a+8>>2])}return a|0}function Lj(a){a=a|0;a=150016;while(1){a=Y(a-12|0);if((a|0)!=149728){continue}break}}function Ij(a){a=a|0;a=150320;while(1){a=Y(a-12|0);if((a|0)!=150032){continue}break}}function Fj(a){a=a|0;a=150360;while(1){a=Y(a-12|0);if((a|0)!=150336){continue}break}}function Cj(a){a=a|0;a=150392;while(1){a=Y(a-12|0);if((a|0)!=150368){continue}break}}function wn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return vn(b,c,d,e,f)|0}function wg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Ym(b,c,d,e,f)|0}function tn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return sn(b,c,d,e,f)|0}function rn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return qn(b,c,d,e,f)|0}function nn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return mn(b,c,d,e,f)|0}function ln(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return kn(b,c,d,e,f)|0}function jn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return hn(b,c,d,e,f)|0}function gn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return fn(b,c,d,e,f)|0}function cn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return bn(b,c,d,e,f)|0}function an(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return $m(b,c,d,e,f)|0}function _m(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Zm(b,c,d,e,f)|0}function Xm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Wm(b,c,d,e,f)|0}function Vm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Tm(b,c,d,e,f)|0}function Sm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Rm(b,c,d,e,f)|0}function Qm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Pm(b,c,d,e,f)|0}function Eg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return on(b,c,d,e,f)|0}function op(){var a=0;a=M-48|0;M=a;fi(a+8|0);M=a+48|0;return+(+j[a+36>>2]/1e3/1e3)}function Oi(a,b,c){if(c){while(1){j[a>>2]=b;a=a+4|0;c=c-1|0;if(c){continue}break}}}function Aq(a){a=a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Ta(a+108|0);T(a)}function lj(a,b){if(!(k[a+112|0]|b>>>0>28)){h[a+112|0]=1;return a}return U(b<<2)}function pr(a){a=a|0;j[a>>2]=120536;if(h[a+43|0]<=-1){T(j[a+32>>2])}ib(a);T(a)}function Sk(a,b){a=a|0;b=b|0;if(b>>>0<=127){b=j[j[31124]+(b<<2)>>2]}return b|0}function Qk(a,b){a=a|0;b=b|0;if(b>>>0<=127){b=j[j[31512]+(b<<2)>>2]}return b|0}function Lo(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=b;rh(a,121430,b,0,0);M=c+16|0}function qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(zb(a,j[b+8>>2],0)){Sd(b,c,d)}}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(k[b+11|0]>>>7|0){break a}}return-1}function De(a,b,c,d){if(j[a+76>>2]<=-1){return wh(a,b,c,d)}return wh(a,b,c,d)}function Hq(a){a=a|0;j[a>>2]=1072;if(h[a+79|0]<=-1){T(j[a+68>>2])}Zc(a);T(a)}function Dn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=M-16|0;M=b;Jg(a,c,d);M=b+16|0}function An(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=M-16|0;M=b;Ig(a,c,d);M=b+16|0}function vp(a,b){a=a|0;b=b|0;a=j[a+52>>2];if(!a){return 0}return Ic(a,b)|0}function nq(a,b){var c=0;c=ja(b<<2);j[a+8>>2]=0;j[a>>2]=c;j[a+4>>2]=c?b:0}function eg(a,b){var c=0;c=hh(j[b>>2])<<24;j[a+4>>2]=j[b>>2];h[a|0]=c>>24}function gh(a,b){b=!j[a+24>>2]|b;j[a+16>>2]=b;if(b&j[a+20>>2]){Fa();z()}}function mk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return kk(c,d,e)|0}function ie(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;j[e>>2]=c;return 3}function fk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ek(c,d,e)|0}function If(a){var b=0;b=a;a=j[$k()>>2];j[b>>2]=a;j[a+4>>2]=j[a+4>>2]+1}function gc(a,b){a=a|0;b=b|0;h[a|0]=2;h[a+1|0]=3;h[a+2|0]=0;h[a+3|0]=4}function bm(a,b,c,d,e){b=Rb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=b-1900}}function Ll(a,b,c,d,e){b=Qb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=b-1900}}function ee(a){a=a|0;if(j[a+8>>2]!=(ra()|0)){Og(j[a+8>>2])}return a|0}function vg(a,b,c){var d=0;d=M-16|0;M=d;Ci(a,b,c);M=d+16|0;return a}function sg(a,b,c){var d=0;d=M-16|0;M=d;xi(a,b,c);M=d+16|0;return a}function _k(a){a=a|0;var b=0;b=j[37280]+1|0;j[37280]=b;j[a+4>>2]=b}function _f(a,b){var c=0;c=dh(j[b>>2]);j[a+4>>2]=j[b>>2];j[a>>2]=c}function Nk(a,b,c){a=a|0;b=b|0;c=c|0;return(b>>>0<128?b:c)<<24>>24}function sf(a,b){a:{if((a|0)==(b|0)){h[a+112|0]=0;break a}T(b)}}function rk(a){a=a|0;a=j[a+8>>2];if(!a){return 1}return Bf(a)|0}function Og(a){if((a|0)!=0&(a|0)!=123568&(a|0)!=123592){T(a)}}function yc(a,b){var c=0;c=M-16|0;M=c;Bi(a,b,Ng(b));M=c+16|0}function rc(a,b){var c=0;c=M-16|0;M=c;Yd(a,b,W(b));M=c+16|0}function ga(a){var b=0;b=M-16|0;M=b;Go(a);M=b+16|0;return a}function Sn(a,b,c){a=a|0;b=b|0;c=c|0;return Un(a,b,c)|0} -function Wi(a){var b=0;b=j[33481];j[a>>2]=b;j[j[b-12>>2]+a>>2]=j[33484];de(a+8|0);return a}function Ji(a,b,c,d){if(!d){return 0}b=a+b|0;c=Ii(a,b,c,c+d|0);return(b|0)==(c|0)?-1:c-a|0}function Dd(a,b){if(b){Dd(a,j[b>>2]);Dd(a,j[b+4>>2]);if(h[b+27|0]<=-1){T(j[b+16>>2])}T(b)}}function Cd(a,b){if(b){Cd(a,j[b>>2]);Cd(a,j[b+4>>2]);if(h[b+27|0]<=-1){T(j[b+16>>2])}T(b)}}function oh(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=b;a=yd(a,100,127871,b);M=c+16|0;return a}function Xk(a,b,c){a=a|0;b=b|0;c=c|0;return(c>>>0<=127?(l[j[30931]+(c<<1)>>1]&b)!=0:0)|0}function Lk(a,b){a=a|0;b=b|0;if((b|0)>=0){b=j[j[31124]+((b&255)<<2)>>2]}return b<<24>>24}function Jk(a,b){a=a|0;b=b|0;if((b|0)>=0){b=j[j[31512]+((b&255)<<2)>>2]}return b<<24>>24}function Bp(a,b){a=a|0;b=b|0;var c=0;c=M-16|0;M=c;j[c+12>>2]=b;if(a){Dh(c+12|0)}M=c+16|0}function dr(a,b){var c=0;return(b|0)<1|j[a+92>>2]<(b|0)?c:j[(j[a+96>>2]+(b<<2)|0)-4>>2]}function Hb(a,b){a=j[a>>2];b=za(b);if(!Jf(a,b)){Fa();z()}return j[j[a+16>>2]+(b<<2)>>2]}function Dq(a){a=a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Ta(a+108|0);return a|0}function hj(a,b,c){var d=0;d=c;b=b-a|0;c=j[c>>2]-b|0;j[d>>2]=c;if((b|0)>=1){V(c,a,b)}}function Pg(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=b;a=Qg(a,127856,b);M=c+16|0;return a}function rr(a){a=a|0;j[a>>2]=120536;if(h[a+43|0]<=-1){T(j[a+32>>2])}ib(a);return a|0}function Sj(a){a=a|0;a=149544;while(1){a=Y(a-12|0);if((a|0)!=149376){continue}break}}function Pj(a){a=a|0;a=149720;while(1){a=Y(a-12|0);if((a|0)!=149552){continue}break}}function Of(a){a=a|0;j[a>>2]=127960;if(j[a+8>>2]!=(ra()|0)){Og(j[a+8>>2])}return a|0}function Mj(a){a=a|0;a=150016;while(1){a=Y(a-12|0);if((a|0)!=149728){continue}break}}function Jj(a){a=a|0;a=150320;while(1){a=Y(a-12|0);if((a|0)!=150032){continue}break}}function Gj(a){a=a|0;a=150360;while(1){a=Y(a-12|0);if((a|0)!=150336){continue}break}}function Dj(a){a=a|0;a=150392;while(1){a=Y(a-12|0);if((a|0)!=150368){continue}break}}function xn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return wn(b,c,d,e,f)|0}function wg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Zm(b,c,d,e,f)|0}function un(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return tn(b,c,d,e,f)|0}function sn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return qn(b,c,d,e,f)|0}function on(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return nn(b,c,d,e,f)|0}function mn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ln(b,c,d,e,f)|0}function kn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return jn(b,c,d,e,f)|0}function hn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return gn(b,c,d,e,f)|0}function dn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return cn(b,c,d,e,f)|0}function bn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return an(b,c,d,e,f)|0}function Ym(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Xm(b,c,d,e,f)|0}function Vm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Um(b,c,d,e,f)|0}function Tm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Sm(b,c,d,e,f)|0}function Rm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Qm(b,c,d,e,f)|0}function Eg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return pn(b,c,d,e,f)|0}function $m(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return _m(b,c,d,e,f)|0}function pp(){var a=0;a=M-48|0;M=a;gi(a+8|0);M=a+48|0;return+(+j[a+36>>2]/1e3/1e3)}function Pi(a,b,c){if(c){while(1){j[a>>2]=b;a=a+4|0;c=c-1|0;if(c){continue}break}}}function Oq(a){a=a|0;j[a>>2]=1072;if(h[a+79|0]<=-1){T(j[a+68>>2])}Zc(a);return a|0}function Bq(a){a=a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Ta(a+108|0);T(a)}function mj(a,b){if(!(k[a+112|0]|b>>>0>28)){h[a+112|0]=1;return a}return U(b<<2)}function qr(a){a=a|0;j[a>>2]=120536;if(h[a+43|0]<=-1){T(j[a+32>>2])}ib(a);T(a)}function Tk(a,b){a=a|0;b=b|0;if(b>>>0<=127){b=j[j[31124]+(b<<2)>>2]}return b|0}function Rk(a,b){a=a|0;b=b|0;if(b>>>0<=127){b=j[j[31512]+(b<<2)>>2]}return b|0}function Mo(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=b;rh(a,121430,b,0,0);M=c+16|0}function ri(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(zb(a,j[b+8>>2],0)){Sd(b,c,d)}}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(k[b+11|0]>>>7|0){break a}}return-1}function De(a,b,c,d){if(j[a+76>>2]<=-1){return wh(a,b,c,d)}return wh(a,b,c,d)}function Jq(a){a=a|0;j[a>>2]=1072;if(h[a+79|0]<=-1){T(j[a+68>>2])}Zc(a);T(a)}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=M-16|0;M=b;Jg(a,c,d);M=b+16|0}function Bn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=M-16|0;M=b;Ig(a,c,d);M=b+16|0}function wp(a,b){a=a|0;b=b|0;a=j[a+52>>2];if(!a){return 0}return Ic(a,b)|0}function oq(a,b){var c=0;c=ja(b<<2);j[a+8>>2]=0;j[a>>2]=c;j[a+4>>2]=c?b:0}function eg(a,b){var c=0;c=hh(j[b>>2])<<24;j[a+4>>2]=j[b>>2];h[a|0]=c>>24}function gh(a,b){b=!j[a+24>>2]|b;j[a+16>>2]=b;if(b&j[a+20>>2]){Fa();z()}}function mk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return lk(c,d,e)|0}function ie(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;j[e>>2]=c;return 3}function gk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return fk(c,d,e)|0}function If(a){var b=0;b=a;a=j[al()>>2];j[b>>2]=a;j[a+4>>2]=j[a+4>>2]+1}function gc(a,b){a=a|0;b=b|0;h[a|0]=2;h[a+1|0]=3;h[a+2|0]=0;h[a+3|0]=4}function cm(a,b,c,d,e){b=Rb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=b-1900}}function Ml(a,b,c,d,e){b=Qb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=b-1900}}function ee(a){a=a|0;if(j[a+8>>2]!=(ra()|0)){Og(j[a+8>>2])}return a|0}function vg(a,b,c){var d=0;d=M-16|0;M=d;Di(a,b,c);M=d+16|0;return a}function sg(a,b,c){var d=0;d=M-16|0;M=d;yi(a,b,c);M=d+16|0;return a}function _f(a,b){var c=0;c=dh(j[b>>2]);j[a+4>>2]=j[b>>2];j[a>>2]=c}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;return(b>>>0<128?b:c)<<24>>24}function $k(a){a=a|0;var b=0;b=j[37280]+1|0;j[37280]=b;j[a+4>>2]=b}function sk(a){a=a|0;a=j[a+8>>2];if(!a){return 1}return Bf(a)|0}function sf(a,b){a:{if((a|0)==(b|0)){h[a+112|0]=0;break a}T(b)}}function Og(a){if((a|0)!=0&(a|0)!=123568&(a|0)!=123592){T(a)}}function yc(a,b){var c=0;c=M-16|0;M=c;Ci(a,b,Ng(b));M=c+16|0}function rc(a,b){var c=0;c=M-16|0;M=c;Yd(a,b,W(b));M=c+16|0}function ga(a){var b=0;b=M-16|0;M=b;Ho(a);M=b+16|0;return a}function Rc(a){if(a>>>0>1073741823){Fa();z()}return U(a<<2)}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;return((b|0)>-1?b:c)|0}function zf(a){a=a|0;j[a>>2]=128008;Y(a+12|0);return a|0}function yf(a){a=a|0;j[a>>2]=128048;Y(a+16|0);return a|0}function hf(a,b,c){if(!b){return 0}return Aa(a,k[c|0],b)}function di(){Sn();j[37201]=0;j[37202]=0;j[37200]=148804}function Tn(a,b,c){a=a|0;b=b|0;c=c|0;return Un(a,b,c)|0}function Kg(a,b,c,d){a=Lg(a,b,c,0,-2147483648);return a}function wo(a){a=a|0;return ye(j[j[a>>2]-12>>2]+a|0)|0}function oo(a){a=a|0;return xe(j[j[a>>2]-12>>2]+a|0)|0}function ho(a){a=a|0;return ud(j[j[a>>2]-12>>2]+a|0)|0}function Vi(a){a=a|0;return ce(j[j[a>>2]-12>>2]+a|0)|0}function mp(a){a=a|0;j[a>>2]=121508;T(j[a+4>>2]);T(a)}function Ya(a,b){a=Yo(a,b);return k[a|0]==(b&255)?a:0}function Y(a){if(k[a+11|0]>>>7|0){T(j[a>>2])}return a}function ke(a,b,c){if(!c){return 0}return qa(a,b,c)}function ce(a){a=a|0;a=Wi(a);Ta(a+56|0);return a|0}function th(a,b){if(!a){return 0}return tc(a,b)}function te(a,b,c,d){a=Lg(a,b,c,-1,-1);return a}function qf(a){var b=0,c=0;b=a,c=ra(),j[b>>2]=c}function Eo(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function ab(a,b,c){if(!(k[a|0]&32)){Nd(b,c,a)}}function uo(a){a=a|0;mh(j[j[a>>2]-12>>2]+a|0)}function no(a){a=a|0;ch(j[j[a>>2]-12>>2]+a|0)}function fo(a){a=a|0;we(j[j[a>>2]-12>>2]+a|0)}function Ui(a){a=a|0;pf(j[j[a>>2]-12>>2]+a|0)}function df(a){return _(a,0,-1,1811,W(1811))}function Ro(a){a=a|0;return K(j[a+60>>2])|0}function Dr(a,b,c,d){a=Br(a,b,c,d);return a}function ud(a){a=a|0;Ta(a+12|0);return a|0}function Zk(a){a=a|0;O[j[j[a>>2]+4>>2]](a)}function ye(a){a=a|0;Ta(a+8|0);return a|0}function xe(a){a=a|0;Ta(a+4|0);return a|0}function _j(a,b){a=a|0;b=b|0;ha(a,b+16|0)}function Zj(a,b){a=a|0;b=b|0;rc(a,128080)}function Yj(a,b){a=a|0;b=b|0;yc(a,128088)}function Wj(a,b){a=a|0;b=b|0;rc(a,128108)}function Vj(a,b){a=a|0;b=b|0;yc(a,128116)}function $j(a,b){a=a|0;b=b|0;ha(a,b+12|0)}function Mp(a){a=a|0;Dd(148800,j[37201])}function io(a){a=a|0;return ud(a-8|0)|0}function hg(a,b){a=a|0;b=b|0;vg(a,1,45)}function gg(a,b){a=a|0;b=b|0;sg(a,1,45)}function Xd(a,b,c){if(b){ya(a,c&255,b)}}function Gf(a,b){a=a|0;b=b|0;return b|0}function fd(a){a=a|0;return 2147483647}function Yk(a){a=a|0;gj(j[j[a>>2]>>2])}function Km(a){a=a|0;return j[a+12>>2]}function nh(a,b){a=a|0;b=b|0;return-1}function jf(a,b,c,d){oc(a,b,c,d,W(d))}function ih(a,b){return $g(a)^$g(b)^1}function eh(a,b){return _g(a)^_g(b)^1}function Fm(a){a=a|0;return j[a+8>>2]}function rp(a,b){a=a|0;b=b|0;qp(a,b)}function bk(a){a=a|0;return h[a+8|0]}function ak(a){a=a|0;return h[a+9|0]}function Ip(a){a=a|0;if(a){T(Gp(a))}}function vd(a,b){gh(a,j[a+16>>2]|b)}function sc(a,b,c){if(c){Jo(a,b,c)}}function gd(a){a=a|0;return 127} +function Rc(a){if(a>>>0>1073741823){Fa();z()}return U(a<<2)}function Fk(a,b,c){a=a|0;b=b|0;c=c|0;return((b|0)>-1?b:c)|0}function zf(a){a=a|0;j[a>>2]=128008;Y(a+12|0);return a|0}function yf(a){a=a|0;j[a>>2]=128048;Y(a+16|0);return a|0}function hf(a,b,c){if(!b){return 0}return Aa(a,k[c|0],b)}function ci(){Rn();j[37201]=0;j[37202]=0;j[37200]=148804}function Kg(a,b,c,d){a=Lg(a,b,c,0,-2147483648);return a}function vo(a){a=a|0;return ye(j[j[a>>2]-12>>2]+a|0)|0}function no(a){a=a|0;return xe(j[j[a>>2]-12>>2]+a|0)|0}function go(a){a=a|0;return ud(j[j[a>>2]-12>>2]+a|0)|0}function Ui(a){a=a|0;return ce(j[j[a>>2]-12>>2]+a|0)|0}function mp(a){a=a|0;j[a>>2]=121508;T(j[a+4>>2]);T(a)}function Ya(a,b){a=Xo(a,b);return k[a|0]==(b&255)?a:0}function Y(a){if(k[a+11|0]>>>7|0){T(j[a>>2])}return a}function ke(a,b,c){if(!c){return 0}return qa(a,b,c)}function ce(a){a=a|0;a=Vi(a);Ta(a+56|0);return a|0}function th(a,b){if(!a){return 0}return tc(a,b)}function te(a,b,c,d){a=Lg(a,b,c,-1,-1);return a}function qf(a){var b=0,c=0;b=a,c=ra(),j[b>>2]=c}function Do(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function ab(a,b,c){if(!(k[a|0]&32)){Nd(b,c,a)}}function to(a){a=a|0;mh(j[j[a>>2]-12>>2]+a|0)}function mo(a){a=a|0;ch(j[j[a>>2]-12>>2]+a|0)}function eo(a){a=a|0;we(j[j[a>>2]-12>>2]+a|0)}function Ti(a){a=a|0;pf(j[j[a>>2]-12>>2]+a|0)}function df(a){return _(a,0,-1,1811,W(1811))}function Qo(a){a=a|0;return K(j[a+60>>2])|0}function Cr(a,b,c,d){a=Ar(a,b,c,d);return a}function ud(a){a=a|0;Ta(a+12|0);return a|0}function Yk(a){a=a|0;O[j[j[a>>2]+4>>2]](a)}function ye(a){a=a|0;Ta(a+8|0);return a|0}function xe(a){a=a|0;Ta(a+4|0);return a|0}function _j(a,b){a=a|0;b=b|0;ha(a,b+12|0)}function Zj(a,b){a=a|0;b=b|0;ha(a,b+16|0)}function Yj(a,b){a=a|0;b=b|0;rc(a,128080)}function Xj(a,b){a=a|0;b=b|0;yc(a,128088)}function Wj(a,b){a=a|0;b=b|0;rc(a,128108)}function Uj(a,b){a=a|0;b=b|0;yc(a,128116)}function Lp(a){a=a|0;Dd(148800,j[37201])}function ho(a){a=a|0;return ud(a-8|0)|0}function hg(a,b){a=a|0;b=b|0;vg(a,1,45)}function gg(a,b){a=a|0;b=b|0;sg(a,1,45)}function Xd(a,b,c){if(b){ya(a,c&255,b)}}function Gf(a,b){a=a|0;b=b|0;return b|0}function fd(a){a=a|0;return 2147483647}function Xk(a){a=a|0;fj(j[j[a>>2]>>2])}function Jm(a){a=a|0;return j[a+12>>2]}function nh(a,b){a=a|0;b=b|0;return-1}function jf(a,b,c,d){oc(a,b,c,d,W(d))}function ih(a,b){return $g(a)^$g(b)^1}function fh(a,b){return _g(a)^_g(b)^1}function Em(a){a=a|0;return j[a+8>>2]}function qp(a,b){a=a|0;b=b|0;pp(a,b)}function ak(a){a=a|0;return h[a+8|0]}function Hp(a){a=a|0;if(a){T(Gp(a))}}function $j(a){a=a|0;return h[a+9|0]}function vd(a,b){gh(a,j[a+16>>2]|b)}function sc(a,b,c){if(c){Io(a,b,c)}}function gd(a){a=a|0;return 127} -function Oa(a){hh(j[a>>2]);return a}function Na(a){dh(j[a>>2]);return a}function Lp(a){a=a|0;return ja(a)|0}function Kb(a,b,c){if(c){Ja(a,b,c)}}function Er(a,b,c){return Cr(a,b,c)}function sb(a){return Hb(a,149132)}function rb(a){return Hb(a,149124)}function cg(a){return Hb(a,149016)}function bg(a){return Hb(a,149008)}function ac(a,b,c){if(c){V(a,b,c)}}function Zf(a){return Hb(a,149032)}function Yf(a){return Hb(a,149024)}function Qf(a,b){Z(j[a>>2],h[b|0])}function Gb(a,b){a=a|0;b=b|0;ga(a)}function Dc(a){return Hb(a,149172)}function Bc(a){return Hb(a,149180)}function lb(a,b){return ih(a,b)^1}function kb(a,b){return eh(a,b)^1}function He(a,b){Xo(a,b);return a}function Me(a){if(a){Uq(a);T(a)}}function Kp(a){a=a|0;if(a){T(a)}}function uc(a){a=a|0;return a|0}function tf(a,b){return mj(a,b)}function Uc(a,b){return Nm(a,b)}function Sq(a){a=a|0;Zc(a);T(a)}function Sa(a,b){return ih(a,b)}function Ra(a,b){return eh(a,b)}function zj(a){a=a|0;Y(149252)}function xj(a){a=a|0;Y(149268)}function vj(a){a=a|0;Y(149284)}function tj(a){a=a|0;Y(149300)}function rj(a){a=a|0;Y(149316)}function pj(a){a=a|0;Y(149332)}function nj(a){a=a|0;Y(149348)}function na(a,b){Bi(a,b,Ng(b))}function go(a){a=a|0;we(a-8|0)}function Bj(a){a=a|0;Y(149236)}function zo(a){a=a|0;return-1}function yq(a){a=a|0;T(lc(a))}function we(a){a=a|0;T(ud(a))}function vf(a){a=a|0;T(ee(a))}function qg(a){a=a|0;return 2}function pf(a){a=a|0;T(ce(a))}function mh(a){a=a|0;T(ye(a))}function he(a){a=a|0;return 1}function eo(a){a=a|0;T(Ae(a))}function dk(a){a=a|0;T(zf(a))}function cl(a){a=a|0;T(Kf(a))}function ck(a){a=a|0;T(yf(a))}function ch(a){a=a|0;T(xe(a))}function aj(a){a=a|0;T(de(a))}function Ob(a){a=a|0;return 0}function Mk(a){a=a|0;T(Ff(a))}function Ka(a,b){mf(a,b,W(b))}function Fo(a){a=a|0;T(ib(a))}function Dk(a){a=a|0;T(Of(a))}function Ar(a){a=a|0;T(Zc(a))}function Af(a){a=a|0;return 4}function ze(a,b){a=a|0;b=b|0}function Mf(a){rf(a,j[a>>2])}function $(a,b){aa(a,b,W(b))}function Ea(a){a=a|0;T(a)}function pc(a,b){um(a,b)}function oa(a,b){Ka(a,b)}function kd(a,b){tm(a,b)}function fa(a,b){Wa(a,b)}function db(a,b){tl(a,b)}function Ri(a){a=a|0;z()}function Pb(a,b){sl(a,b)}function X(){Fa();z()}function Fa(){D();z()}function Ta(a){Ae(a)}function Ge(a){a=a|0}function ui(){z()} +function Oa(a){hh(j[a>>2]);return a}function Na(a){dh(j[a>>2]);return a}function Kp(a){a=a|0;return ja(a)|0}function Kb(a,b,c){if(c){Ja(a,b,c)}}function Dr(a,b,c){return Br(a,b,c)}function sb(a){return Hb(a,149132)}function rb(a){return Hb(a,149124)}function cg(a){return Hb(a,149016)}function bg(a){return Hb(a,149008)}function ac(a,b,c){if(c){V(a,b,c)}}function Zf(a){return Hb(a,149032)}function Yf(a){return Hb(a,149024)}function Qf(a,b){Z(j[a>>2],h[b|0])}function Gb(a,b){a=a|0;b=b|0;ga(a)}function Dc(a){return Hb(a,149172)}function Bc(a){return Hb(a,149180)}function lb(a,b){return ih(a,b)^1}function kb(a,b){return fh(a,b)^1}function He(a,b){Wo(a,b);return a}function Me(a){if(a){Tq(a);T(a)}}function Jp(a){a=a|0;if(a){T(a)}}function uc(a){a=a|0;return a|0}function tf(a,b){return lj(a,b)}function Uc(a,b){return Nm(a,b)}function Sa(a,b){return ih(a,b)}function Rq(a){a=a|0;Zc(a);T(a)}function Ra(a,b){return fh(a,b)}function yj(a){a=a|0;Y(149252)}function wj(a){a=a|0;Y(149268)}function uj(a){a=a|0;Y(149284)}function sj(a){a=a|0;Y(149300)}function qj(a){a=a|0;Y(149316)}function oj(a){a=a|0;Y(149332)}function na(a,b){Ai(a,b,Ng(b))}function mj(a){a=a|0;Y(149348)}function fo(a){a=a|0;we(a-8|0)}function Aj(a){a=a|0;Y(149236)}function zr(a){a=a|0;T(Zc(a))}function yo(a){a=a|0;return-1}function xq(a){a=a|0;T(lc(a))}function we(a){a=a|0;T(ud(a))}function vf(a){a=a|0;T(ee(a))}function qg(a){a=a|0;return 2}function pf(a){a=a|0;T(ce(a))}function mh(a){a=a|0;T(ye(a))}function he(a){a=a|0;return 1}function dk(a){a=a|0;T(zf(a))}function co(a){a=a|0;T(Ae(a))}function ch(a){a=a|0;T(xe(a))}function bl(a){a=a|0;T(Kf(a))}function bk(a){a=a|0;T(yf(a))}function Ob(a){a=a|0;return 0}function Lk(a){a=a|0;T(Ff(a))}function Ka(a,b){mf(a,b,W(b))}function Eo(a){a=a|0;T(ib(a))}function Ck(a){a=a|0;T(Of(a))}function Af(a){a=a|0;return 4}function $i(a){a=a|0;T(de(a))}function ze(a,b){a=a|0;b=b|0}function Mf(a){rf(a,j[a>>2])}function $(a,b){aa(a,b,W(b))}function Ea(a){a=a|0;T(a)}function pc(a,b){tm(a,b)}function oa(a,b){Ka(a,b)}function kd(a,b){sm(a,b)}function fa(a,b){Wa(a,b)}function db(a,b){sl(a,b)}function Qi(a){a=a|0;z()}function Pb(a,b){rl(a,b)}function X(){Fa();z()}function Fa(){D();z()}function Ta(a){Ae(a)}function Ge(a){a=a|0}function ti(){z()} // EMSCRIPTEN_END_FUNCS -a=k;var O=Gr([null,Zc,Ar,Sq,Oq,Jq,Gi,ur,wr,tr,vr,sr,ud,we,io,go,ho,fo,ye,mh,wo,uo,xe,ch,oo,no,rr,qr,ze,Eo,pr,or,Ob,Ob,Ao,nr,yo,mr,xo,lr,_q,Yq,Zq,Xq,Dq,Bq,Cq,zq,lc,yq,xq,wq,vq,uq,Oh,tq,sq,qq,Mp,op,mp,Oo,No,Ro,Lo,So,Io,ib,Fo,Do,Co,zo,nh,nh,Ae,eo,Tn,T,Ge,$k,Yk,Sj,Pj,Mj,Jj,Gj,Dj,Bj,zj,xj,vj,tj,rj,pj,nj,Kf,cl,Zk,Ff,Mk,Lk,Kk,Jk,Ik,Gf,Hk,Gk,Fk,Of,Dk,Ck,Ak,yk,wk,Ob,uk,sk,zf,dk,bk,ak,$j,Zj,Wj,yf,ck,Fm,Km,_j,Yj,Vj,uc,Ea,Ea,Xk,Wk,Vk,Uk,Tk,Sk,Rk,Qk,Gf,Pk,Ok,Nk,Ea,Ef,Ef,ie,he,he,Ek,he,Ea,rk,pk,ie,Ob,Ob,mk,Af,Ea,kk,ik,ie,Ob,Ob,gk,Af,Ea,Ea,uc,Ea,Fn,En,Dn,uc,Ea,Cn,Bn,zn,Ea,yn,xn,un,sn,Eg,Eg,on,mn,kn,hn,fn,Ea,en,dn,bn,$m,wg,wg,Ym,Vm,Tm,Rm,Pm,Ea,Mm,Lm,Jm,Im,Hm,Gm,Em,Dm,Ea,Cm,Bm,Am,zm,ym,xm,wm,vm,uc,Ea,qg,sm,rm,qm,pm,om,nm,Uj,Oj,Ij,uj,qj,Cj,yj,uc,Ea,qg,am,$l,_l,Zl,Yl,Xl,Rj,Lj,Fj,sj,oj,Aj,wj,ee,vf,Kl,ee,vf,Jl,Ea,gd,gd,Gb,Gb,Gb,hg,Ob,gc,gc,Ea,gd,gd,Gb,Gb,Gb,hg,Ob,gc,gc,Ea,fd,fd,Gb,Gb,Gb,gg,Ob,gc,gc,Ea,fd,fd,Gb,Gb,Gb,gg,Ob,gc,gc,Ea,Fl,Dl,Ea,zl,xl,Ea,rl,pl,Ea,ol,nl,Ea,Sf,ml,ze,Ea,Sf,ll,ze,de,aj,Yi,Xi,Zi,_i,$i,ce,pf,Vi,Ui,uc,Ri,ui,uc,Ea,Ge,Ge,ti,ii,li,ri,Ea,ji,mi,qi,Ea,ki,ni,pi]);function Or(){return g.byteLength/65536|0}function Pr(Xr){Xr=Xr|0;var P=Or()|0;var Q=P+Xr|0;if(P Date: Thu, 4 Mar 2021 18:20:26 +0300 Subject: [PATCH 019/381] [native][de] add flag isDocumentLoadComplete after NativeOpenFile3 --- common/Native/Wrappers/api.js | 1 + 1 file changed, 1 insertion(+) diff --git a/common/Native/Wrappers/api.js b/common/Native/Wrappers/api.js index c74b010281..d69ebfc487 100755 --- a/common/Native/Wrappers/api.js +++ b/common/Native/Wrappers/api.js @@ -6635,6 +6635,7 @@ function NativeOpenFile3(_params, documentInfo) initTrackRevisions(); } } + _api.isDocumentLoadComplete = true; } // Common From 064f85ad61ea14ac41edc1818f3f8f2d2c769c21 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Fri, 5 Mar 2021 12:56:46 +0300 Subject: [PATCH 020/381] [bug] Fix bug 48951 --- common/apiCommon.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/apiCommon.js b/common/apiCommon.js index 0099470939..cf1b55bb8d 100644 --- a/common/apiCommon.js +++ b/common/apiCommon.js @@ -256,7 +256,7 @@ asc_CSignatureLine.prototype.asc_setEmail = function(v){ this.email = v; }; asc_CSignatureLine.prototype.asc_getInstructions = function(){ return this.instructions; }; asc_CSignatureLine.prototype.asc_setInstructions = function(v){ this.instructions = v; }; - asc_CSignatureLine.prototype.asc_getShowDate = function(){ return this.showDate; }; + asc_CSignatureLine.prototype.asc_getShowDate = function(){ return this.showDate !== false; }; asc_CSignatureLine.prototype.asc_setShowDate = function(v){ this.showDate = v; }; asc_CSignatureLine.prototype.asc_getValid = function(){ return this.valid; }; asc_CSignatureLine.prototype.asc_setValid = function(v){ this.valid = v; }; From d836ed5a48f116ed7f99253995825b2e5b92e9ce Mon Sep 17 00:00:00 2001 From: Alexander Trofimov Date: Fri, 5 Mar 2021 13:03:40 +0300 Subject: [PATCH 021/381] [spellcheck] Fix check Fix check new scheme --- common/apiBase.js | 65 +++++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/common/apiBase.js b/common/apiBase.js index 801df5d56b..e4498b2048 100644 --- a/common/apiBase.js +++ b/common/apiBase.js @@ -1386,39 +1386,6 @@ { var t = this; - if (true) - { - this.SpellCheckApi = {}; - this.SpellCheckApi.log = true; - this.SpellCheckApi.worker = new CSpellchecker({ - enginePath: "../../../../sdkjs/common/spell/spell", - dictionariesPath: "./../../../../dictionaries" - }); - this.SpellCheckApi.checkDictionary = function (lang) { - if (this.log) console.log("checkDictionary: " + lang + ": " + this.worker.checkDictionary(lang)); - return this.worker.checkDictionary(lang); - }; - this.SpellCheckApi.spellCheck = function (spellData) { - if (this.log) { - console.log("spellCheck:"); - console.log(spellData); - } - this.worker.command(spellData); - }; - this.SpellCheckApi.worker.oncommand = function (spellData) { - if (t.SpellCheckApi.log) { - console.log("onSpellCheck:"); - console.log(spellData); - } - t.SpellCheck_CallBack(spellData); - }; - this.SpellCheckApi.disconnect = function () - { - }; - return; - } - - if (!this.SpellCheckApi) { return; // Error @@ -1488,6 +1455,38 @@ ]); } } else { + if (!this.SpellCheckUrl) { + this.SpellCheckApi = {}; + this.SpellCheckApi.log = true; + this.SpellCheckApi.worker = new CSpellchecker({ + enginePath: "../../../../sdkjs/common/spell/spell", + dictionariesPath: "./../../../../dictionaries" + }); + this.SpellCheckApi.checkDictionary = function (lang) { + if (this.log) console.log("checkDictionary: " + lang + ": " + this.worker.checkDictionary(lang)); + return this.worker.checkDictionary(lang); + }; + this.SpellCheckApi.spellCheck = function (spellData) { + if (this.log) { + console.log("spellCheck:"); + console.log(spellData); + } + this.worker.command(spellData); + }; + this.SpellCheckApi.worker.oncommand = function (spellData) { + if (t.SpellCheckApi.log) { + console.log("onSpellCheck:"); + console.log(spellData); + } + t.SpellCheck_CallBack(spellData); + }; + this.SpellCheckApi.disconnect = function () + { + }; + return; + } + + // Deprecated old scheme with server if (this.SpellCheckUrl && this.isSpellCheckEnable) { this.SpellCheckApi.set_url(this.SpellCheckUrl); } From aa05c8bad26bce68a83155f6f842c322b7538e4b Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Fri, 5 Mar 2021 14:55:27 +0300 Subject: [PATCH 022/381] [de] Fix bug 48920 (#1647) --- word/Editor/Serialize2.js | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/word/Editor/Serialize2.js b/word/Editor/Serialize2.js index 71fd9ff977..7d57fa1e65 100644 --- a/word/Editor/Serialize2.js +++ b/word/Editor/Serialize2.js @@ -1536,7 +1536,7 @@ function readMoveRangeStart(length, bcr, stream, oReadResult, oParStruct, isFrom var res = bcr.Read1(length, function(t, l) { return ReadMoveRangeStartElem(t, l, stream, reviewInfo, options); }); - if (options.name && options.id) { + if (null !== options.name && null !== options.id) { var move = new CParaRevisionMove(true, isFrom, options.name, reviewInfo); oReadResult.moveRanges[options.id] = move; oParStruct.addToContent(move); @@ -1547,7 +1547,6 @@ function readMoveRangeEnd(length, bcr, stream, oReadResult, oParStruct, isFrom, if (!oParStruct) { return false; } - var oldPos = stream.GetCurPos(); var options = {id: null}; bcr.Read1(length, function(t, l) { return ReadMoveRangeEndElem(t, l, stream, options); @@ -1562,9 +1561,6 @@ function readMoveRangeEnd(length, bcr, stream, oReadResult, oParStruct, isFrom, } else { oParStruct.addToContent(new CParaRevisionMove(false, isFrom, moveStart.GetMarkId())); } - } else { - stream.Seek2(oldPos); - return false; } return true; } @@ -1589,7 +1585,6 @@ function readBookmarkEnd(length, bcr, stream, oReadResult, oParStruct) { if (!oParStruct) { return false; } - var oldPos = stream.GetCurPos(); var bookmark = oReadResult.bookmarkForRead; bookmark.BookmarkId = undefined; bcr.Read1(length, function(t, l){ @@ -1598,9 +1593,6 @@ function readBookmarkEnd(length, bcr, stream, oReadResult, oParStruct) { if (oReadResult.bookmarksStarted[bookmark.BookmarkId]) { delete oReadResult.bookmarksStarted[bookmark.BookmarkId]; oParStruct.addToContent(new CParagraphBookmark(false, bookmark.BookmarkId)); - } else { - stream.Seek2(oldPos); - return false; } return true; } From 63a797a927a9cffc87f41fb613cef2281a22b172 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Fri, 5 Mar 2021 14:28:33 +0300 Subject: [PATCH 023/381] [se] Fix bug 45140 --- cell/view/EventsController.js | 6 ++++++ cell/view/WorkbookView.js | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/cell/view/EventsController.js b/cell/view/EventsController.js index 645fcc3f29..8416d44daa 100644 --- a/cell/view/EventsController.js +++ b/cell/view/EventsController.js @@ -940,6 +940,9 @@ case 38: // up stop(); // Отключим стандартную обработку браузера нажатия up + if (canEdit && !t.getCellEditMode() && !selectionDialogMode && event.altKey && t.handlers.trigger("onDataValidation")) { + return result; + } dr = ctrlKey ? -1.5 : -1; // Движение стрелками (влево-вправо, вверх-вниз) break; @@ -952,6 +955,9 @@ stop(); // Отключим стандартную обработку браузера нажатия down // Обработка Alt + down if (canEdit && !t.getCellEditMode() && !selectionDialogMode && event.altKey) { + if (t.handlers.trigger("onDataValidation")) { + return result; + } t.handlers.trigger("showAutoComplete"); return result; } diff --git a/cell/view/WorkbookView.js b/cell/view/WorkbookView.js index 7cb43db33e..4dce7cabf3 100644 --- a/cell/view/WorkbookView.js +++ b/cell/view/WorkbookView.js @@ -496,7 +496,10 @@ "onDataValidation": function () { if (self.oSelectionInfo && self.oSelectionInfo.dataValidation) { var list = self.oSelectionInfo.dataValidation.getListValues(self.model.getActiveWs()); - self.handlers.trigger("asc_onValidationListMenu", list[0], list[1]); + if (list) { + self.handlers.trigger("asc_onValidationListMenu", list[0], list[1]); + } + return !!list; } }, From ea8f8326f10b6acf002b8820ab2de71f1817148f Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Mon, 8 Mar 2021 00:25:06 +0300 Subject: [PATCH 024/381] [bug] Fix charts in r1c1 mode --- common/Drawings/Format/ChartFormat.js | 302 ++++++++++++++++---------- common/Drawings/Format/ChartSpace.js | 8 +- common/editorscommon.js | 2 +- 3 files changed, 194 insertions(+), 118 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 7e3d5566de..120a011076 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -3791,8 +3791,31 @@ } return false; }; + CSeriesBase.prototype.checR1C1ModeForExternal = function(sFormula) { + var bR1C1Mode = false; + if(typeof AscCommonExcel === "object" && AscCommonExcel !== null) { + bR1C1Mode = AscCommonExcel.g_R1C1Mode; + } + if(!bR1C1Mode) { + return sFormula; + } + else { + var aRefs = fParseChartFormula(sFormula); + if(!Array.isArray(aRefs) || aRefs.length === 0) { + return sFormula; + } + else { + var oDataRefs = new CDataRefs(aRefs); + return oDataRefs.getDataRange(); + } + } + return sFormula; + }; CSeriesBase.prototype.asc_getName = function() { - return AscFormat.ExecuteNoHistory(CSeriesBase.prototype.getName, this, []); + var oThis = this; + return AscFormat.ExecuteNoHistory(function() { + return oThis.checR1C1ModeForExternal(oThis.getName()); + }, this, []); }; CSeriesBase.prototype["asc_getName"] = CSeriesBase.prototype.asc_getName; CSeriesBase.prototype.asc_getNameVal = function() { @@ -3847,8 +3870,9 @@ }; CSeriesBase.prototype["asc_IsValidValues"] = CSeriesBase.prototype.asc_IsValidValues; CSeriesBase.prototype.asc_getValues = function() { + var oThis = this; return AscFormat.ExecuteNoHistory(function() { - return this.val.getFormula(); + return oThis.checR1C1ModeForExternal(oThis.val.getFormula()); }, this, []); }; CSeriesBase.prototype["asc_getValues"] = CSeriesBase.prototype.asc_getValues; @@ -3879,12 +3903,27 @@ }, this, []); }; CSeriesBase.prototype["asc_IsValidXValues"] = CSeriesBase.prototype.asc_IsValidXValues; + CSeriesBase.prototype.asc_getCatValues = function() { + var oThis = this; + return AscFormat.ExecuteNoHistory(function() { + if(oThis.cat) { + return oThis.checR1C1ModeForExternal(oThis.cat.getFormula()); + } + else { + return ""; + } + }, this, []); + }; + CSeriesBase.prototype["asc_getCatValues"] = CSeriesBase.prototype.asc_getCatValues; CSeriesBase.prototype.asc_getXValues = function() { + var oThis = this; return AscFormat.ExecuteNoHistory(function() { - if(this.xVal) { - return this.xVal.getFormula(); + if(oThis.xVal) { + return oThis.checR1C1ModeForExternal(oThis.xVal.getFormula()); + } + else { + return ""; } - return ""; }, this, []); }; CSeriesBase.prototype["asc_getXValues"] = CSeriesBase.prototype.asc_getXValues; @@ -3920,11 +3959,14 @@ }; CSeriesBase.prototype["asc_getYValues"] = CSeriesBase.prototype.asc_getYValues; CSeriesBase.prototype.asc_getYValuesArr = function() { + var oThis = this; return AscFormat.ExecuteNoHistory(function() { - if(this.yVal) { - return this.yVal.getValues(); + if(oThis.yVal) { + return oThis.checR1C1ModeForExternal(oThis.yVal.getFormula()); + } + else { + return ""; } - return []; }, this, []); }; CSeriesBase.prototype["asc_getYValuesArr"] = CSeriesBase.prototype.asc_getYValuesArr; @@ -13983,6 +14025,25 @@ }; function fParseChartFormula(sFormula) { + var res; + AscCommonExcel.executeInR1C1Mode(false, function() { + res = fParseChartFormulaInternal(sFormula); + }); + return res; + } + function fParseChartFormulaExternal(sFormula) { + var res; + AscCommonExcel.executeInR1C1Mode(false, function() { + res = fParseChartFormulaInternal(sFormula); + }); + if(!Array.isArray(res) || res.length === 0) { + AscCommonExcel.executeInR1C1Mode(true, function() { + res = fParseChartFormulaInternal(sFormula); + }); + } + return res; + } + function fParseChartFormulaInternal(sFormula) { if(!(typeof sFormula === "string" && sFormula.length > 0)) { return []; } @@ -13998,11 +14059,7 @@ if(!oWS) { return []; } - var res; - AscCommonExcel.executeInR1C1Mode(false, function() { - res = AscCommonExcel.getRangeByRef(_sFormula, oWS); - }); - return res; + return AscCommonExcel.getRangeByRef(_sFormula, oWS); } function fCreateRef(oBBoxInfo) { if(oBBoxInfo) { @@ -14132,65 +14189,93 @@ oResult.setError(Asc.c_oAscError.ID.ErrorInFormula); } } - function fParseNumRef(sVal, bForce, oResult) { - var result = null, aParsed, nIndex, oParsedRef, sRef, oWS, oRange, nRow, nCol, oCell; - if(typeof sVal === "string" && sVal.length > 0) { - if(sVal[0] === "=") { - aParsed = sVal.slice(1).split(","); + + function fGetParsedArray(sVal) { + var aParsed; + if(sVal[0] === "=") { + aParsed = sVal.slice(1).split(","); + } + else { + aParsed = sVal.split(","); + } + return aParsed; + } + function fCheckParseRefsError(aParsed, oResult) { + var bR1C1; + for(var nIndex = 0; nIndex < aParsed.length; ++nIndex) { + var sRef = aParsed[nIndex]; + var oParsedRef = null; + bR1C1 = false; + AscCommonExcel.executeInR1C1Mode(false, function() { + oParsedRef = AscCommon.parserHelp.parse3DRef(sRef); + }); + if(!oParsedRef) { + bR1C1 = true; + AscCommonExcel.executeInR1C1Mode(true, function() { + oParsedRef = AscCommon.parserHelp.parse3DRef(sRef); + }); } - else { - aParsed = sVal.split(","); + if(!oParsedRef) { + oResult.setError(Asc.c_oAscError.ID.DataRangeError); + return; + } + var oWS = Asc.editor.wbModel.getWorksheetByName(oParsedRef.sheet); + if(!oWS) { + oResult.setError(Asc.c_oAscError.ID.InvalidReference); + return; } + var oRange = null; + AscCommonExcel.executeInR1C1Mode(bR1C1, function() { + oRange = oWS.getRange2(oParsedRef.range); + }); + if(!oRange) { + oResult.setError(Asc.c_oAscError.ID.DataRangeError); + return; + } + } + oResult.setError(Asc.c_oAscError.ID.ErrorInFormula); + } + function fParseNumRef(sVal, bForce, oResult) { + var result = null, aParsed, nIndex, oWS, oRange, nRow, nCol, oCell; + if(typeof sVal === "string" && sVal.length > 0) { + aParsed = fGetParsedArray(sVal); if(Array.isArray(aParsed) && aParsed.length > 0) { - var sFormula; - if(aParsed.length > 1) { - sFormula = "("; - } - else { - sFormula = ""; - } - for(nIndex = 0; nIndex < aParsed.length; ++nIndex) { - sRef = aParsed[nIndex]; - oParsedRef = AscCommon.parserHelp.parse3DRef(sRef); - if(!oParsedRef) { - oResult.setError(Asc.c_oAscError.ID.InvalidReference); - return; - } - oWS = Asc.editor.wbModel.getWorksheetByName(oParsedRef.sheet); - if(!oWS) { - oResult.setError(Asc.c_oAscError.ID.InvalidReference); - return; - } - oRange = oWS.getRange2(oParsedRef.range); - if(!oRange) { - oResult.setError(Asc.c_oAscError.ID.DataRangeError); - return; - } - if(Math.abs(oRange.bbox.r2 - oRange.bbox.r1) !== 0 && Math.abs(oRange.bbox.c2 - oRange.bbox.c1) !== 0) { - oResult.setError(Asc.c_oAscError.ID.NoSingleRowCol); - return; - } - if(bForce === false) { - //check strings in cells - for(nRow = oRange.bbox.r1; nRow <= oRange.bbox.r2; ++nRow) { - for(nCol = oRange.bbox.c1; nCol <= oRange.bbox.c2; ++nCol) { - oCell = oWS.getCell3(nRow, nCol); - var value = oCell.getNumberValue(); - if(!AscFormat.isRealNumber(value)) { - oResult.setError(Asc.c_oAscError.ID.DataRangeError); - return; + var aRanges = fParseChartFormulaExternal(sVal); + if(aRanges.length === aParsed.length) { + var sFormula; + if(aParsed.length > 1) { + sFormula = "("; + } + else { + sFormula = ""; + } + for(nIndex = 0; nIndex < aRanges.length; ++nIndex) { + oRange = aRanges[nIndex]; + oWS = oRange.worksheet; + if(Math.abs(oRange.bbox.r2 - oRange.bbox.r1) !== 0 && Math.abs(oRange.bbox.c2 - oRange.bbox.c1) !== 0) { + oResult.setError(Asc.c_oAscError.ID.NoSingleRowCol); + return; + } + if(bForce === false) { + //check strings in cells + for(nRow = oRange.bbox.r1; nRow <= oRange.bbox.r2; ++nRow) { + for(nCol = oRange.bbox.c1; nCol <= oRange.bbox.c2; ++nCol) { + oCell = oWS.getCell3(nRow, nCol); + var value = oCell.getNumberValue(); + if(!AscFormat.isRealNumber(value)) { + oResult.setError(Asc.c_oAscError.ID.DataRangeError); + return; + } } } } + if(nIndex > 0) { + sFormula += ","; + } + AscCommonExcel.executeInR1C1Mode(false, function() { + sFormula += fCreateRef(oRange); + }); } - if(nIndex > 0) { - sFormula += ("," + sRef); - } - else { - sFormula += sRef; - } - } - if(nIndex === aParsed.length) { if(aParsed.length > 1) { sFormula += ")"; } @@ -14200,7 +14285,7 @@ oResult.setObject(result); } else { - oResult.setError(Asc.c_oAscError.ID.ErrorInFormula); + fCheckParseRefsError(aParsed, oResult); } } else { @@ -14212,55 +14297,36 @@ } } function fParseStrRef(sVal, bMultiLvl, oResult) { - var result = null, aParsed, nIndex, oParsedRef, sRef, oWS, oRange; + var result = null, aParsed, nIndex, oRange; var bMultyRange = false; if(typeof sVal === "string" && sVal.length > 0) { - if(sVal[0] === "=") { - aParsed = sVal.slice(1).split(","); - } - else { - aParsed = sVal.split(","); - } + aParsed = fGetParsedArray(sVal); if(Array.isArray(aParsed) && aParsed.length > 0) { - var sFormula; - if(aParsed.length > 1) { - sFormula = "("; - } - else { - sFormula = ""; - } - for(nIndex = 0; nIndex < aParsed.length; ++nIndex) { - sRef = aParsed[nIndex]; - oParsedRef = AscCommon.parserHelp.parse3DRef(sRef); - if(!oParsedRef) { - oResult.setError(Asc.c_oAscError.ID.InvalidReference); - return; - } - oWS = Asc.editor.wbModel.getWorksheetByName(oParsedRef.sheet); - if(!oWS) { - oResult.setError(Asc.c_oAscError.ID.InvalidReference); - return; - } - oRange = oWS.getRange2(oParsedRef.range); - if(!oRange) { - oResult.setError(Asc.c_oAscError.ID.DataRangeError); - return; - } - if(Math.abs(oRange.bbox.r2 - oRange.bbox.r1) !== 0 && Math.abs(oRange.bbox.c2 - oRange.bbox.c1) !== 0) { - if(bMultiLvl !== true) { - oResult.setError(Asc.c_oAscError.ID.NoSingleRowCol); - return; - } - bMultyRange = true; - } - if(nIndex > 0) { - sFormula += ("," + sRef); + var aRanges = fParseChartFormulaExternal(sVal); + if(aRanges.length === aParsed.length) { + var sFormula; + if(aRanges.length > 1) { + sFormula = "("; } else { - sFormula += sRef; + sFormula = ""; + } + for(nIndex = 0; nIndex < aRanges.length; ++nIndex) { + oRange = aRanges[nIndex]; + if(Math.abs(oRange.bbox.r2 - oRange.bbox.r1) !== 0 && Math.abs(oRange.bbox.c2 - oRange.bbox.c1) !== 0) { + if(bMultiLvl !== true) { + oResult.setError(Asc.c_oAscError.ID.NoSingleRowCol); + return; + } + bMultyRange = true; + } + if(nIndex > 0) { + sFormula += ","; + } + AscCommonExcel.executeInR1C1Mode(false, function() { + sFormula += fCreateRef(oRange); + }); } - } - if(nIndex === aParsed.length) { if(aParsed.length > 1) { sFormula += ")"; } @@ -14275,6 +14341,9 @@ oResult.setError(Asc.c_oAscError.ID.No); oResult.setObject(result); } + else { + fCheckParseRefsError(aParsed, oResult); + } } } } @@ -14575,13 +14644,21 @@ return oIntersectRefs; }; CDataRefs.prototype.getDataRange = function() { - var sResult = this.getFormula(); + var sResult = this.getFormulaWithCurrentMode(); if(sResult.length > 0) { sResult = "=" + sResult; } return sResult; }; CDataRefs.prototype.getFormula = function() { + var sRes; + var oThis = this; + AscCommonExcel.executeInR1C1Mode(false, function() { + sRes = oThis.getFormulaWithCurrentMode(); + }); + return sRes; + }; + CDataRefs.prototype.getFormulaWithCurrentMode = function() { var sResult = ""; var sCurRef; for(var nRef = 0; nRef < this.aRefs.length; ++nRef) { @@ -15598,7 +15675,7 @@ if(typeof sRange !== "string") { return Asc.c_oAscError.ID.DataRangeError; } - var aSeriesRefs = this.getSeriesRefsFromUnionRefs(AscFormat.fParseChartFormula(sRange), bHorValue, isScatterChartType(nType)); + var aSeriesRefs = this.getSeriesRefsFromUnionRefs(AscFormat.fParseChartFormulaExternal(sRange), bHorValue, isScatterChartType(nType)); if(!Array.isArray(aSeriesRefs)) { return Asc.c_oAscError.ID.DataRangeError; } @@ -15725,7 +15802,7 @@ if(sRange[0] === "=") { sCheck = sRange.slice(1); } - var aRanges = AscFormat.fParseChartFormula(sCheck); + var aRanges = AscFormat.fParseChartFormulaExternal(sCheck); return (aRanges.length !== 0) ? Asc.c_oAscError.ID.No : Asc.c_oAscError.ID.DataRangeError; } //--------------------------------------------------------export---------------------------------------------------- @@ -15805,6 +15882,7 @@ window['AscFormat'].CreateMarkerGeometryByType = CreateMarkerGeometryByType; window['AscFormat'].isScatterChartType = isScatterChartType; window['AscFormat'].fParseChartFormula = fParseChartFormula; + window['AscFormat'].fParseChartFormulaExternal = fParseChartFormulaExternal; window['AscFormat'].fCreateRef = fCreateRef; window['AscFormat'].CChartDataRefs = CChartDataRefs; window['AscFormat'].getIsMarkerByType = getIsMarkerByType; diff --git a/common/Drawings/Format/ChartSpace.js b/common/Drawings/Format/ChartSpace.js index 3375718d41..f38d4e2c76 100644 --- a/common/Drawings/Format/ChartSpace.js +++ b/common/Drawings/Format/ChartSpace.js @@ -12056,7 +12056,7 @@ var GLOBAL_PATH_COUNT = 0; }; CChartSpace.prototype.setRange = function(sRange) { var oDataRange = this.getDataRefs(); - var aRefs = oDataRange.getSeriesRefsFromUnionRefs(AscFormat.fParseChartFormula(sRange), undefined, AscFormat.isScatterChartType(this.getChartType())); + var aRefs = oDataRange.getSeriesRefsFromUnionRefs(AscFormat.fParseChartFormulaExternal(sRange), undefined, AscFormat.isScatterChartType(this.getChartType())); if(!Array.isArray(aRefs)) { this.buildSeries([]); } @@ -12124,9 +12124,7 @@ var GLOBAL_PATH_COUNT = 0; var aAllSeries = this.getAllSeries(); var oFirstSeries = aAllSeries[0]; if(oFirstSeries) { - if(oFirstSeries.cat) { - return oFirstSeries.cat.getFormula(); - } + return oFirstSeries.asc_getCatValues(); } return ""; }; @@ -13237,7 +13235,7 @@ var GLOBAL_PATH_COUNT = 0; } var bScatter = AscFormat.isScatterChartType(options.getType()); var oDataRange = new AscFormat.CChartDataRefs(null); - var aSeriesRefs = oDataRange.getSeriesRefsFromUnionRefs(AscFormat.fParseChartFormula(sRange), bHorValues, bScatter); + var aSeriesRefs = oDataRange.getSeriesRefsFromUnionRefs(AscFormat.fParseChartFormulaExternal(sRange), bHorValues, bScatter); if(!Array.isArray(aSeriesRefs)) { return []; } diff --git a/common/editorscommon.js b/common/editorscommon.js index 792a0ef9d9..ab01fd6fc9 100644 --- a/common/editorscommon.js +++ b/common/editorscommon.js @@ -2906,7 +2906,7 @@ { if(Asc.c_oAscError.ID.No === AscFormat.isValidChartRange(dataRange)) { - range = AscFormat.fParseChartFormula(dataRange); + range = AscFormat.fParseChartFormulaExternal(dataRange); } } } From 29fd25dc383604f20eb3d5803d90e9c46a93564a Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Mon, 8 Mar 2021 00:46:54 +0300 Subject: [PATCH 025/381] [bug] Fix previous commit: revert asc_getYValuesArr function rename checR1C1ModeForExternal -> checkR1C1ModeForExternal --- common/Drawings/Format/ChartFormat.js | 28 +++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 120a011076..8b0c3e2d2d 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -3791,7 +3791,7 @@ } return false; }; - CSeriesBase.prototype.checR1C1ModeForExternal = function(sFormula) { + CSeriesBase.prototype.checkR1C1ModeForExternal = function(sFormula) { var bR1C1Mode = false; if(typeof AscCommonExcel === "object" && AscCommonExcel !== null) { bR1C1Mode = AscCommonExcel.g_R1C1Mode; @@ -3814,7 +3814,7 @@ CSeriesBase.prototype.asc_getName = function() { var oThis = this; return AscFormat.ExecuteNoHistory(function() { - return oThis.checR1C1ModeForExternal(oThis.getName()); + return oThis.checkR1C1ModeForExternal(oThis.getName()); }, this, []); }; CSeriesBase.prototype["asc_getName"] = CSeriesBase.prototype.asc_getName; @@ -3872,7 +3872,7 @@ CSeriesBase.prototype.asc_getValues = function() { var oThis = this; return AscFormat.ExecuteNoHistory(function() { - return oThis.checR1C1ModeForExternal(oThis.val.getFormula()); + return oThis.checkR1C1ModeForExternal(oThis.val.getFormula()); }, this, []); }; CSeriesBase.prototype["asc_getValues"] = CSeriesBase.prototype.asc_getValues; @@ -3907,7 +3907,7 @@ var oThis = this; return AscFormat.ExecuteNoHistory(function() { if(oThis.cat) { - return oThis.checR1C1ModeForExternal(oThis.cat.getFormula()); + return oThis.checkR1C1ModeForExternal(oThis.cat.getFormula()); } else { return ""; @@ -3919,7 +3919,7 @@ var oThis = this; return AscFormat.ExecuteNoHistory(function() { if(oThis.xVal) { - return oThis.checR1C1ModeForExternal(oThis.xVal.getFormula()); + return oThis.checkR1C1ModeForExternal(oThis.xVal.getFormula()); } else { return ""; @@ -3950,23 +3950,23 @@ }; CSeriesBase.prototype["asc_IsValidYValues"] = CSeriesBase.prototype.asc_IsValidYValues; CSeriesBase.prototype.asc_getYValues = function() { + var oThis = this; return AscFormat.ExecuteNoHistory(function() { - if(this.yVal) { - return this.yVal.getFormula(); + if(oThis.yVal) { + return oThis.checkR1C1ModeForExternal(oThis.yVal.getFormula()); + } + else { + return ""; } - return ""; }, this, []); }; CSeriesBase.prototype["asc_getYValues"] = CSeriesBase.prototype.asc_getYValues; CSeriesBase.prototype.asc_getYValuesArr = function() { - var oThis = this; return AscFormat.ExecuteNoHistory(function() { - if(oThis.yVal) { - return oThis.checR1C1ModeForExternal(oThis.yVal.getFormula()); - } - else { - return ""; + if(this.yVal) { + return this.yVal.getValues(); } + return []; }, this, []); }; CSeriesBase.prototype["asc_getYValuesArr"] = CSeriesBase.prototype.asc_getYValuesArr; From 2712a35a603edc88b490adcd1639b56d481240af Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Thu, 4 Mar 2021 14:24:22 +0300 Subject: [PATCH 026/381] Feature/draw pivot filter buttons (#1641) [se] Draw pivot buttons --- cell/utils/utils.js | 2 +- cell/view/WorksheetView.js | 183 +++++++++++++++++++++++++++++++++++-- 2 files changed, 174 insertions(+), 11 deletions(-) diff --git a/cell/utils/utils.js b/cell/utils/utils.js index ae9cabfe02..ea72d51c04 100644 --- a/cell/utils/utils.js +++ b/cell/utils/utils.js @@ -3040,7 +3040,7 @@ }; function getIconsForLoad() { - return AscCommonExcel.getCFIconsForLoad().concat(AscCommonExcel.getSlicerIconsForLoad()); + return AscCommonExcel.getCFIconsForLoad().concat(AscCommonExcel.getSlicerIconsForLoad()).concat(AscCommonExcel.getPivotButtonsForLoad()); } diff --git a/cell/view/WorksheetView.js b/cell/view/WorksheetView.js index 8151a02e1d..07054e809a 100644 --- a/cell/view/WorksheetView.js +++ b/cell/view/WorksheetView.js @@ -143,6 +143,7 @@ var gridlineSize = 1; var filterSizeButton = 17; + var collapsePivotSizeButton = 10; function getMergeType(merged) { var res = c_oAscMergeType.none; @@ -171,6 +172,13 @@ return AscCommonExcel.cDefIconSize * fontSize / AscCommonExcel.cDefIconFont; } + var pivotCollapseButtonClose = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSI5IiB2aWV3Qm94PSIwIDAgOSA5IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cmVjdCB4PSIwLjUiIHk9IjAuNSIgd2lkdGg9IjgiIGhlaWdodD0iOCIgZmlsbD0id2hpdGUiIHN0cm9rZT0iI0NBQ0FDQSIvPgo8cGF0aCBkPSJNNSA0VjJINFY0SDJWNUg0VjdINVY1SDdWNEg1WiIgZmlsbD0iIzc4Nzg3OCIvPgo8L3N2Zz4K"; + var pivotCollapseButtonOpen = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSI5IiB2aWV3Qm94PSIwIDAgOSA5IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cmVjdCB4PSIwLjUiIHk9IjAuNSIgd2lkdGg9IjgiIGhlaWdodD0iOCIgZmlsbD0id2hpdGUiIHN0cm9rZT0iI0NBQ0FDQSIvPgo8cmVjdCB4PSIyIiB5PSI0IiB3aWR0aD0iNSIgaGVpZ2h0PSIxIiBmaWxsPSIjNzg3ODc4Ii8+Cjwvc3ZnPgo="; + + function getPivotButtonsForLoad() { + return [pivotCollapseButtonClose, pivotCollapseButtonOpen]; + } + function CacheColumn() { this.left = 0; this.width = 0; @@ -4012,7 +4020,13 @@ } else { ctx.AddClipRect(x1, y1, w, h); if (this._getCellCF(aRules, c, row, col, Asc.ECfType.iconSet) && AscCommon.align_Left === ct.cellHA) { - textX += getCFIconSize(font.getSize()); + textX += AscCommon.AscBrowser.convertToRetinaValue(getCFIconSize(font.getSize()) * this.getZoom(), true); + } + var pivotButtons = this.model.getPivotTableButtons(new Asc.Range(col, row, col, row)); + if (pivotButtons && pivotButtons[0] && pivotButtons[0].idPivotCollapse && AscCommon.align_Left === ct.cellHA) { + //TODO 4? + var _diff = 4; + textX += (this._getFilterButtonSize(true)+ _diff) * this.getZoom(); } if (ct.indent) { if (AscCommon.align_Right === ct.cellHA) { @@ -7988,7 +8002,7 @@ if (isDataValidation) { _isDataValidation = this._hitCursorFilterButton(_offsetX, _offsetY, col, row, true); } else if (pivotButton) { - _isPivot = this._hitCursorFilterButton(_offsetX, _offsetY, c.col, r.row); + _isPivot = this._hitCursorFilterButton(_offsetX, _offsetY, c.col, r.row, null, pivotButton.idPivotCollapse); } else if (isTableTotal) { _isTableTotal = this._hitCursorFilterButton(_offsetX, _offsetY, col, row, true); } @@ -15755,8 +15769,8 @@ return arrResult; }; - WorksheetView.prototype._getFilterButtonSize = function () { - return AscCommon.AscBrowser.convertToRetinaValue(filterSizeButton, true); + WorksheetView.prototype._getFilterButtonSize = function (collapsePivot) { + return AscCommon.AscBrowser.convertToRetinaValue(!collapsePivot ? filterSizeButton : collapsePivotSizeButton, true); }; WorksheetView.prototype.getButtonSize = function (row, col, isDataValidation) { @@ -15917,8 +15931,13 @@ var ctx = props.isOverlay ? this.overlayCtx : this.drawingCtx; var isDataValidation = props.isOverlay; - var isMobileRetina = false; + if (props.idPivotCollapse) { + this._drawPivotCollapseButton(offsetX, offsetY, props); + return; + } + var isMobileRetina = false; + var isPivotCollapsed = false; //TODO пересмотреть масштабирование!!! var isApplyAutoFilter = props.isSetFilter; var isApplySortState = props.isSortState; @@ -15926,7 +15945,7 @@ var col = props.col; var widthButtonPx, heightButtonPx; - widthButtonPx = heightButtonPx = this._getFilterButtonSize(); + widthButtonPx = heightButtonPx = this._getFilterButtonSize(isPivotCollapsed); var widthBorder = 1; var scaleIndex = 1; @@ -15957,11 +15976,24 @@ var y1 = t._getRowTop(row + 1) - heightWithBorders - 0.5 - offsetY - 1; var _drawButtonFrame = function (startX, startY, width, height) { - ctx.setFillStyle(t.settings.cells.defaultState.background); + //TODO нужен цвет для заливки + ctx.setFillStyle(isPivotCollapsed ? new CColor(227, 228, 228) : t.settings.cells.defaultState.background); ctx.setLineWidth(1); ctx.setStrokeStyle(t.settings.cells.defaultState.border); - ctx.fillRect(startX, startY, width, height); - ctx.strokeRect(startX, startY, width, height); + + var _diff = isPivotCollapsed ? 1 : 0; + ctx.fillRect(startX + _diff, startY + _diff, width - _diff, height - _diff); + if (isPivotCollapsed) { + ctx.beginPath(); + ctx.lineHor(startX + _diff, startY, startX + width); + ctx.lineHor(startX + _diff, startY + height, startX + width); + ctx.lineVer(startX, startY + _diff, startY + height); + ctx.lineVer(startX + width, startY + _diff, startY + height); + + ctx.stroke(); + } else { + ctx.strokeRect(startX, startY, width, height); + } }; var _drawSortArrow = function (startX, startY, isDescending, heightArrow) { @@ -16077,6 +16109,8 @@ centerY = upLeftYButton + heigthObj + marginTop; _drawFilterMark(centerX + 1, centerY, heigthObj); + } else if (isPivotCollapsed) { + } else { _drawFilterDreieck(centerX, centerY, 4, 1); } @@ -16121,6 +16155,123 @@ _drawButton(x1 + diffX, y1 + diffY); }; + + WorksheetView.prototype._drawPivotCollapseButton = function (offsetX, offsetY, props) { + var ctx = props.isOverlay ? this.overlayCtx : this.drawingCtx; + var buttonProps = this._getPropsCollapseButton(offsetX, offsetY, props); + + if (buttonProps) { + var img = props.idPivotCollapse.sd ? pivotCollapseButtonOpen : pivotCollapseButtonClose; + if (!img) { + return; + } + + var width = buttonProps.w; + var height = buttonProps.h; + var startX = buttonProps.x; + var startY = buttonProps.y; + var iconSize = buttonProps.size; + + var rect = new AscCommon.asc_CRect(startX, startY, width, height); + var graphics = (ctx && ctx.DocumentRenderer) || this.handlers.trigger('getMainGraphics'); + var dScale = asc_getcvt(0, 3, this._getPPIX()); + + rect._x *= dScale; + rect._y *= dScale; + rect._width *= dScale; + rect._height *= dScale; + + AscFormat.ExecuteNoHistory( + function (img, rect, imgSize) { + var geometry = new AscFormat.CreateGeometry("rect"); + geometry.Recalculate(imgSize, imgSize, true); + + var oUniFill = new AscFormat.builder_CreateBlipFill(img, "stretch"); + + if (ctx instanceof AscCommonExcel.CPdfPrinter) { + graphics.SaveGrState(); + graphics.SetBaseTransform(ctx.Transform || new AscCommon.CMatrix()); + } + + graphics.save(); + var oMatrix = new AscCommon.CMatrix(); + oMatrix.tx = rect._x; + oMatrix.ty = rect._y; + graphics.transform3(oMatrix); + var shapeDrawer = new AscCommon.CShapeDrawer(); + shapeDrawer.Graphics = graphics; + + shapeDrawer.fromShape2(new AscFormat.CColorObj(null, oUniFill, geometry), graphics, geometry); + shapeDrawer.draw(geometry); + graphics.restore(); + + if (ctx instanceof AscCommonExcel.CPdfPrinter) { + graphics.SetBaseTransform(null); + graphics.RestoreGrState(); + } + }, this, [img, rect, iconSize * dScale * this.getZoom()] + ); + } + }; + + WorksheetView.prototype._getPropsCollapseButton = function (offsetX, offsetY, props) { + var row = props.row; + var col = props.col; + var ct = this._getCellTextCache(col, row); + if (!ct) { + return null; + } + var c = this._getVisibleCell(col, row); + var isMerged = ct.flags.isMerged(), range, isWrapped = ct.flags.wrapText; + + var colL = isMerged ? range.c1 : Math.max(col, col - ct.sideL); + var colR = isMerged ? Math.min(range.c2, this.nColsCount - 1) : Math.min(col, col + ct.sideR); + var rowT = isMerged ? range.r1 : row; + var rowB = isMerged ? Math.min(range.r2, this.nRowsCount - 1) : row; + var isTrimmedR = !isMerged && colR !== col + ct.sideR; + + var x1 = this._getColLeft(colL) - offsetX; + var y1 = this._getRowTop(rowT) - offsetY; + var w = this._getColLeft(colR + 1) - offsetX - x1; + var h = this._getRowTop(rowB + 1) - offsetY - y1; + var x2 = x1 + w - (isTrimmedR ? 0 : gridlineSize); + var y2 = y1 + h; + var bl = y2 - Asc.round((isMerged ? (ct.metrics.height - ct.metrics.baseline) : this._getRowDescender(rowB)) * this.getZoom()); + var x1ct = isMerged ? x1 : this._getColLeft(col) - offsetX; + var x2ct = isMerged ? x2 : x1ct + this._getColumnWidth(col) - gridlineSize; + var textX = this._calcTextHorizPos(x1ct, x2ct, ct.metrics, /*ct.cellHA*/AscCommon.align_Left); + var textY = this._calcTextVertPos(y1, h, bl, ct.metrics, ct.cellVA); + //var textW = this._calcTextWidth(x1ct, x2ct, ct.metrics, ct.cellHA); + + //TODO пока решили не учитывать позицию текста. кнопка всегда прижата к левому краю. учитывается только левый индент + + var fontSize = c.getFont().getSize(); + var aRules = this.model.aConditionalFormattingRules.sort(function (v1, v2) { + return v2.priority - v1.priority; + }); + var align = c.getAlign(); + var cellHA = align.getAlignHorizontal(); + if (this._getCellCF(aRules, c, row, col, Asc.ECfType.iconSet) /*&& AscCommon.align_Left === cellHA*/) { + textX += AscCommon.AscBrowser.convertToRetinaValue(getCFIconSize(fontSize) * this.getZoom(), true); + } + var indent = align.getIndent(); + if (indent) { + /*if (AscCommon.align_Right === cellHA) { + x -= indent * 3 * this.defaultSpaceWidth; + } else*/ if (AscCommon.align_Left === cellHA) { + textX += indent * 3 * this.defaultSpaceWidth; + } + } + + var iconSize = this._getFilterButtonSize(true); + + //TODO 2? + textX += 2 * this.getZoom(); + textY += (ct.metrics.height / 2 - iconSize / 2) * this.getZoom(); + + return {size: iconSize, x: textX, y: textY, w: iconSize, h: iconSize}; + }; + WorksheetView.prototype._drawRightDownTableCorner = function (table, updatedRange, offsetX, offsetY) { var t = this; var ctx = t.drawingCtx; @@ -16225,7 +16376,7 @@ return result; }; - WorksheetView.prototype._hitCursorFilterButton = function (x, y, col, row, isDataValidation) { + WorksheetView.prototype._hitCursorFilterButton = function (x, y, col, row, isDataValidation, pivotCollapse) { var buttonSize = this.getButtonSize(row, col, isDataValidation); var width = buttonSize.w, height = buttonSize.h; @@ -16237,6 +16388,15 @@ if (isDataValidation && col !== AscCommon.gc_nMaxCol0) { x1 = left + 0.5; x2 = left + width + 0.5; + } else if (pivotCollapse) { + var zoom = this.getZoom(); + var buttonProps = this._getPropsCollapseButton(0, 0, {row: row, col: col}); + if (buttonProps) { + x1 = buttonProps.x; + x2 = buttonProps.x + buttonProps.w * zoom; + y1 = buttonProps.y; + y2 = buttonProps.y + buttonProps.h * zoom; + } } else { x1 = left - width - 0.5; x2 = left - 0.5; @@ -21144,9 +21304,12 @@ } }; + //------------------------------------------------------------export--------------------------------------------------- window['AscCommonExcel'] = window['AscCommonExcel'] || {}; window["AscCommonExcel"].CellFlags = CellFlags; window["AscCommonExcel"].WorksheetView = WorksheetView; + window['AscCommonExcel'].getPivotButtonsForLoad = getPivotButtonsForLoad; + })(window); From c29007bbf25ab2112d556ba10a0502549d24f573 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Tue, 9 Mar 2021 19:22:18 +0300 Subject: [PATCH 027/381] Fix/bug 48994 (#1653) * [se] For pivot group dialog * [se] For 1039474158adf8c345d1418f2668ab3ae86ff7a1 * [se] Add spreadsheet_api.asc_canGroupPivot * [se] Rename setPivotGroupDialog -> asc_onShowPivotGroupDialog * [se] Fix bugs for pivot group dialog and other * [se] For c0bb8690fdf5094899c4a779a4f3d510dd946316 * [se] Add CT_RangePr.asc_getStartDateText to return interface text; Add cDate.getExcelDateWithTime2 for 1900 year --- cell/api.js | 116 ++----- cell/model/PivotTables.js | 711 ++++++++++++++++++++++++++++++-------- cell/utils/utils.js | 22 ++ 3 files changed, 615 insertions(+), 234 deletions(-) diff --git a/cell/api.js b/cell/api.js index 5d4ebb50de..40b6eda63d 100644 --- a/cell/api.js +++ b/cell/api.js @@ -2700,92 +2700,33 @@ var editor; } }; - spreadsheet_api.prototype.asc_groupPivot = function (opt_rangePr, opt_dateTypes) { - var t = this; - var ws = this.wbModel.getActiveWs(); - var activeCell = ws.selectionRange.activeCell; - var pivotTable = ws.getPivotTable(activeCell.col, activeCell.row); - if (pivotTable && ws.selectionRange.inContains(pivotTable.getReportRanges())) { - var layout = pivotTable.getLayoutsForGroup(ws.selectionRange); - if (null !== layout.fld) { - var fieldGroupType = pivotTable.getFieldGroupType(layout.fld); - var rangePrRes = pivotTable.getGroupRangePr(layout.fld); - if (opt_rangePr && opt_rangePr.getFieldGroupType() === fieldGroupType) { - this._changePivotAndConnectedByPivotCacheWithLock(pivotTable, false, function (confirmation, pivotTables) { - var changeRes = t._changePivot(pivotTable, confirmation, true, function () { - var oldPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); - - pivotTable.groupRangePr(layout.fld, opt_rangePr, opt_dateTypes); - - var newPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); - History.Add(AscCommonExcel.g_oUndoRedoWorksheet, AscCH.historyitem_Worksheet_PivotReplaceKeepRecords, ws.getId(), - null, new AscCommonExcel.UndoRedoData_PivotTableRedo(pivotTable.Get_Id(), oldPivot, newPivot)); - - pivotTable._updateCacheDataUpdateSlicersPost(); - }); - return changeRes; - }); - } else if (rangePrRes) { - //todo dialog - //this.handlers.trigger("setAutoFiltersDialog", rangePrRes.rangePrRes, rangePrRes.dateTypes); - this.asc_groupPivot(rangePrRes.rangePr, rangePrRes.dateTypes); - } else if (1 === layout.getGroupSize() && c_oAscGroupType.Text !== pivotTable.getFieldGroupType(layout.fld)) { - rangePrRes = pivotTable.createGroupRangePr(layout.fld); - //todo dialog - this.asc_groupPivot(rangePrRes.rangePr, rangePrRes.dateTypes); - } else if (layout.getGroupSize() > 1) { - this._changePivotAndConnectedByPivotCacheWithLock(pivotTable, false, function(confirmation, pivotTables) { - var changeRes = t._changePivot(pivotTable, confirmation, true, function(){ - var oldPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); - - var groupRes = pivotTable.groupDiscreteCache(layout); - pivotTable.groupDiscrete(layout, groupRes); - - var newPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); - History.Add(AscCommonExcel.g_oUndoRedoWorksheet, AscCH.historyitem_Worksheet_PivotReplaceKeepRecords, ws.getId(), - null, new AscCommonExcel.UndoRedoData_PivotTableRedo(pivotTable.Get_Id(), oldPivot, newPivot)); - - pivotTable._updateCacheDataUpdateSlicersPost(); - }); - return changeRes; - }); - } else { - this.sendEvent('asc_onError', c_oAscError.ID.PivotGroup, c_oAscError.Level.Critical); - } - } - } - }; - spreadsheet_api.prototype.asc_ungroupPivot = function () { - var t = this; - var ws = this.wbModel.getActiveWs(); - var activeCell = ws.selectionRange.activeCell; - var pivotTable = ws.getPivotTable(activeCell.col, activeCell.row); - if (pivotTable && ws.selectionRange.inContains(pivotTable.getReportRanges())) { - var layout = pivotTable.getLayoutsForGroup(ws.selectionRange); - if (null !== layout.fld) { - if (layout.getGroupSize() > 0) { - this._changePivotAndConnectedByPivotCacheWithLock(pivotTable, false, function(confirmation, pivotTables) { - var groupRes; - var changeRes = t._changePivot(pivotTable, confirmation, true, function(){ - var oldPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); - - groupRes = pivotTable.ungroupDiscreteCache(layout); - pivotTable.ungroupDiscrete(layout, groupRes); - - var newPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); - History.Add(AscCommonExcel.g_oUndoRedoWorksheet, AscCH.historyitem_Worksheet_PivotReplaceKeepRecords, ws.getId(), - null, new AscCommonExcel.UndoRedoData_PivotTableRedo(pivotTable.Get_Id(), oldPivot, newPivot)); - - pivotTable._updateCacheDataUpdateSlicersPost(); - }); - return changeRes; - }); - } else { - this.sendEvent('asc_onError', c_oAscError.ID.PivotGroup, c_oAscError.Level.Critical); - } - } - } - }; + spreadsheet_api.prototype._canGroupPivot = function () { + var ws = this.wbModel.getActiveWs(); + var activeCell = ws.selectionRange.activeCell; + var pivotTable = ws.getPivotTable(activeCell.col, activeCell.row); + if (pivotTable && ws.selectionRange.inContains(pivotTable.getReportRanges())) { + var layout = pivotTable.getLayoutsForGroup(ws.selectionRange); + if (null !== layout.fld) { + return {pivotTable: pivotTable, layout: layout}; + } + } + return null; + }; + spreadsheet_api.prototype.asc_canGroupPivot = function () { + return !!this._canGroupPivot(); + }; + spreadsheet_api.prototype.asc_groupPivot = function (opt_rangePr, opt_dateTypes) { + var canGroupRes = this._canGroupPivot(); + if(canGroupRes) { + canGroupRes.pivotTable.groupPivot(this, canGroupRes.layout, opt_rangePr, opt_dateTypes); + } + }; + spreadsheet_api.prototype.asc_ungroupPivot = function () { + var canGroupRes = this._canGroupPivot(); + if(canGroupRes) { + canGroupRes.pivotTable.ungroupPivot(this, canGroupRes.layout); + } + }; spreadsheet_api.prototype.asc_ungroup = function(val) { if(val) { @@ -5398,6 +5339,9 @@ var editor; //Group data prot["asc_group"] = prot.asc_group; prot["asc_ungroup"] = prot.asc_ungroup; + prot["asc_canGroupPivot"] = prot.asc_canGroupPivot; + prot["asc_groupPivot"] = prot.asc_groupPivot; + prot["asc_ungroupPivot"] = prot.asc_ungroupPivot; prot["asc_clearOutline"] = prot.asc_clearOutline; prot["asc_changeGroupDetails"] = prot.asc_changeGroupDetails; prot["asc_checkAddGroup"] = prot.asc_checkAddGroup; diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index 02168ae6ea..1af05659dc 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -1781,21 +1781,18 @@ CT_PivotCacheDefinition.prototype.createNewPivotCacheId = function() { CT_PivotCacheDefinition.prototype.getFieldGroupType = function (fld) { var cacheField = this.getFields()[fld]; if (cacheField) { - return cacheField.getGroupType(); + return cacheField.getFieldGroupType(); } return c_oAscGroupType.Text; }; CT_PivotCacheDefinition.prototype.groupRangePr = function (fld, rangePr, dateTypes) { - var res = {removeFields: [], addFields: []}; + var res; var i, cacheField; var cacheFields = this.getFields(); - res.removeFields = this.getFieldsWithBase(); - for (i = res.removeFields.length - 1; i >= 0; --i) { - cacheFields.splice(i, 1); - } cacheField = cacheFields[fld]; cacheField.groupRangePr(fld, rangePr); if(dateTypes) { + res = []; for (i = 1; i < dateTypes.length; ++i) { rangePr = rangePr.clone(); rangePr.groupBy = dateTypes[i]; @@ -1804,50 +1801,51 @@ CT_PivotCacheDefinition.prototype.groupRangePr = function (fld, rangePr, dateTyp parCacheField.initGroupRangePr(this.cacheFields.generateNewName(getDateGroupCaption(rangePr.groupBy))); parCacheField.groupRangePr(fld, rangePr); cacheFields.push(parCacheField); - res.addFields.push(parFld); + res.push(parFld); cacheField.initGroupPar(parFld); } } return res; }; +CT_PivotCacheDefinition.prototype.ungroupRangePr = function (fld) { + var cacheFields = this.getFields(); + var cacheField = cacheFields[fld]; + cacheField.ungroupRangePr(); + var removeFields = this.getFieldsWithBase(fld); + for (var i = removeFields.length - 1; i >= 0; --i) { + cacheFields.splice(removeFields[i], 1); + } + return removeFields; +}; CT_PivotCacheDefinition.prototype.getGroupRangePr = function (fld) { - var cacheField = this.getFields()[fld]; + var cacheFields = this.getFields(); + var cacheField = cacheFields[fld]; var rangePr = cacheField.getGroupRangePr(); if (rangePr) { - var dateTypes; + var dateTypes = null; if (c_oAscGroupBy.Range !== rangePr.groupBy) { dateTypes = []; var fields = this.getFieldsWithBase(fld); for (var i = 0; i < fields.length; ++i) { - var dateRangePr = fields[i].getGroupRangePr(); + var dateRangePr = cacheFields[fields[i]].getGroupRangePr(); if (dateRangePr) { dateTypes.push(dateRangePr.groupBy); } } dateTypes.sort(); } - return {rangePr: rangePr, dateTypes: undefined}; + return {rangePr: rangePr, dateTypes: dateTypes}; } return undefined; }; CT_PivotCacheDefinition.prototype.createGroupRangePr = function (fld) { - var rangePr = new CT_RangePr(); - rangePr.autoStart = true; - rangePr.autoEnd = true; - var groupType = this.getFieldGroupType(fld); - //todo default - if(c_oAscGroupType.Number === groupType) { - rangePr.groupBy = c_oAscGroupBy.Range; - rangePr.startNum = 1; - rangePr.endNum = 10; - } else if(c_oAscGroupType.Date === groupType) { - rangePr.groupBy = c_oAscGroupBy.Days; - rangePr.startDate = new Asc.cDate(); - rangePr.endDate = new Asc.cDate(); - rangePr.endDate.addDays(1); + var rangePr = this.getFields()[fld].createGroupRangePr(); + var dateTypes = null; + if (c_oAscGroupBy.Range !== rangePr.groupBy) { + dateTypes = [rangePr.groupBy]; } - return {rangePr: rangePr, dateTypes: undefined}; + return {rangePr: rangePr, dateTypes: dateTypes}; }; CT_PivotCacheDefinition.prototype.groupDiscreteAddField = function(layoutGroup) { var fld = layoutGroup.fld; @@ -1891,8 +1889,9 @@ CT_PivotCacheDefinition.prototype.ungroupDiscrete = function(layoutGroupCache) { if (baseCacheField) { res = cacheField.ungroupDiscrete(baseFld, baseCacheField, layoutGroupCache.groupMap); if (layoutGroupCache.fld !== baseFld && cacheField.getGroupOrSharedSize() === baseCacheField.getGroupOrSharedSize()) { - //todo remove field - //baseCacheField.initGroupPar(cacheField.getGroupPar()); + baseCacheField.initGroupPar(cacheField.getGroupPar()); + cacheFields.splice(layoutGroupCache.fld, 1); + res.removeField = true; } } return res; @@ -1916,14 +1915,20 @@ CT_PivotCacheDefinition.prototype.getFieldsWithBase = function(fld) { } return res; }; -CT_PivotCacheDefinition.prototype.ungroup = function() { - this.setPivotCacheId(AscCommon.CreateUInt32()); -}; -CT_PivotCacheDefinition.prototype.expand = function() { - this.setPivotCacheId(AscCommon.CreateUInt32()); +CT_PivotCacheDefinition.prototype.getFieldsTopParWithBase = function (fld) { + var cacheFields = this.getFields(); + var withBase = this.getFieldsWithBase(fld); + for(var i = 0; i < withBase.length; ++i) { + if(!cacheFields[cacheFields[withBase[i]].getGroupPar()]) { + return withBase[i]; + } + } + return undefined; }; -CT_PivotCacheDefinition.prototype.collapse = function() { - this.setPivotCacheId(AscCommon.CreateUInt32()); +CT_PivotCacheDefinition.prototype.getGroupBase = function(fld) { + var cacheFields = this.getFields(); + var baseFld = cacheFields[fld].getGroupBase(); + return (null === baseFld || undefined === baseFld) ? fld : baseFld; }; function CT_PivotCacheDefinitionX14() { @@ -2078,21 +2083,29 @@ CT_PivotCacheRecords.prototype._getCol = function(index) { return col; }; CT_PivotCacheRecords.prototype._getDataMapFromFields = function(cacheFields, indexes, length, row, dataMap) { - var i, index, val, cacheField, sharedIndex; + var i, index; for (i = 0; i < length; ++i) { index = indexes[i]; - if (index < cacheFields.length) { - cacheField = cacheFields[index]; - var cacheFieldBaseIndex = cacheField.getGroupBaseIndex(index); - if(cacheFieldBaseIndex < this.getColsCount()) { - val = this._cols[cacheFieldBaseIndex].get(row); + var sharedIndex = this._getGroupOrSharedRow(cacheFields, index, row); + if(sharedIndex >= 0) { + dataMap = this._getDataMapAddElem(dataMap, sharedIndex, dataMap.total.length); + } + } + return dataMap; +}; +CT_PivotCacheRecords.prototype._getGroupOrSharedRow = function(cacheFields, index, row) { + if (index < cacheFields.length) { + var cacheField = cacheFields[index]; + var cacheFieldBaseIndex = cacheField.getGroupBaseIndex(index); + if (cacheFieldBaseIndex < this.getColsCount()) { + var val = this._cols[cacheFieldBaseIndex].get(row); + if (c_oAscPivotRecType.Index === val.type) { var cacheFieldBase = cacheFields[cacheFieldBaseIndex]; - sharedIndex = cacheField.getGroupOrSharedIndex(cacheFieldBase, val.val); - dataMap = this._getDataMapAddElem(dataMap, sharedIndex, dataMap.total.length); + return cacheField.getGroupOrSharedIndex(cacheFieldBase, val.val); } } } - return dataMap; + return -1; }; CT_PivotCacheRecords.prototype._getDataMapAddElem = function(dataMap, val, dataLen) { var elem = dataMap.vals[val]; @@ -2164,10 +2177,12 @@ CT_PivotCacheRecords.prototype._getDataMapRowToTotal = function(cacheFields, row for (i = 0; i < rowMapCur.total.length; ++i) { total = rowMapCur.total[i]; var dataIndex = dataFields[i].fld; - if (dataIndex < this.getColsCount()) { - val = this._cols[dataIndex].get(row); + var cacheField = cacheFields[dataIndex]; + var cacheFieldBaseIndex = cacheField.getGroupBaseIndex(dataIndex); + if (cacheFieldBaseIndex < this.getColsCount()) { + val = this._cols[cacheFieldBaseIndex].get(row); if (c_oAscPivotRecType.Index === val.type && cacheFields) { - var cacheField = cacheFields[dataIndex]; + var cacheField = cacheFields[cacheFieldBaseIndex]; val = cacheField && cacheField.getSharedItem(val.val) || val; } if (c_oAscPivotRecType.Number === val.type || c_oAscPivotRecType.DateTime === val.type) { @@ -2184,10 +2199,10 @@ CT_PivotCacheRecords.prototype.getDataMap = function(cacheFields, filterMaps, ca var row, rowMapCur; var res = new PivotDataElem(dataFields.length); for (row = 0; row < this.getRowsCount(); ++row) { - if (this.getDataMapLabelFilters(row, filterMaps, cacheFieldsWithData)) { + if (this.getDataMapLabelFilters(cacheFields, row, filterMaps, cacheFieldsWithData)) { continue; } - this.fillVisibleFields(row, cacheFieldsWithData); + this.fillVisibleFields(cacheFields, row, cacheFieldsWithData); rowMapCur = res; if (rowIndexes.length > 0) { rowMapCur = this._getDataMapFromFields(cacheFields, rowIndexes, rowIndexes.length, row, rowMapCur); @@ -2271,11 +2286,11 @@ CT_PivotCacheRecords.prototype._getDataMapConvertFilterBySubtotal = function(row this._getDataMapTrimBySubtotal(rowMap, subtotal); } }; -CT_PivotCacheRecords.prototype.getDataMapLabelFilters = function(row, filterMaps, cacheFieldsWithData) { +CT_PivotCacheRecords.prototype.getDataMapLabelFilters = function(cacheFields, row, filterMaps, cacheFieldsWithData) { for (var i = 0; i < filterMaps.labelFilters.length; ++i) { var filter = filterMaps.labelFilters[i]; - var val = this._cols[filter.index].get(row); - if (c_oAscPivotRecType.Index === val.type && !filter.map.has(val.val)) { + var sharedIndex = this._getGroupOrSharedRow(cacheFields, filter.index, row); + if(sharedIndex >= 0 && !filter.map.has(sharedIndex)) { if (cacheFieldsWithData[filter.index]) { //find other filters for (var j = i + 1; j < filterMaps.labelFilters.length; ++j) { @@ -2285,20 +2300,20 @@ CT_PivotCacheRecords.prototype.getDataMapLabelFilters = function(row, filterMaps return true; } } - cacheFieldsWithData[filter.index][val.val] = 1; + cacheFieldsWithData[filter.index][sharedIndex] = 1; } return true; } } return false; }; -CT_PivotCacheRecords.prototype.fillVisibleFields = function(row, cacheFieldsWithData) { - for(var index in cacheFieldsWithData) { +CT_PivotCacheRecords.prototype.fillVisibleFields = function(cacheFields, row, cacheFieldsWithData) { + for (var index in cacheFieldsWithData) { if (cacheFieldsWithData.hasOwnProperty(index)) { var visible = cacheFieldsWithData[index]; - var val = this._cols[index].get(row); - if (c_oAscPivotRecType.Index === val.type && val.val < visible.length) { - visible[val.val] = 1; + var sharedIndex = this._getGroupOrSharedRow(cacheFields, index, row); + if(sharedIndex >= 0 && sharedIndex < visible.length) { + visible[sharedIndex] = 1; } } } @@ -3807,6 +3822,9 @@ CT_pivotTableDefinition.prototype._getPivotLabelButtonsRowColLables = function ( r1 = pivotRange.r1 + location.firstHeaderRow; c1 = pivotRange.c1 + location.firstDataCol; } + if (!items || !fields) { + return; + } var pivotFields = this.asc_getPivotFields(); for (i = 0; i < items.length; ++i) { var item = items[i]; @@ -4031,7 +4049,7 @@ CT_pivotTableDefinition.prototype.checkPivotFieldItem = function(index, pivotFie } pivotField.items = newItems; if (!oldCacheField) { - pivotField.sortItems(Asc.c_oAscSortOptions.Ascending, cacheField.sharedItems); + pivotField.sortItems(Asc.c_oAscSortOptions.Ascending, cacheField.getSharedItems()); } pivotField.checkSubtotal(); History.Add(AscCommonExcel.g_oUndoRedoPivotTables, AscCH.historyitem_PivotTable_PivotField, @@ -5210,7 +5228,7 @@ CT_pivotTableDefinition.prototype.asc_refresh = function(api) { api.sendEvent('asc_onError', c_oAscError.ID.PivotLabledColumns, c_oAscError.Level.NoCritical); } }; -CT_pivotTableDefinition.prototype.updateCacheData = function(dataRef) { +CT_pivotTableDefinition.prototype.updateCacheData = function (dataRef) { var oldPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(this); var newCacheDefinition = new CT_PivotCacheDefinition(); newCacheDefinition.asc_create(); @@ -5220,6 +5238,16 @@ CT_pivotTableDefinition.prototype.updateCacheData = function(dataRef) { var pivotFieldsMap = new Map(); var newCTPivotFields = new CT_PivotFields(); this._updateCacheDataUpdatePivotFieldsIndexes(newCacheDefinition, newCTPivotFields, pivotFieldsMap); + this.updateIndexesForNewPivotFields(newCacheDefinition, newCTPivotFields, pivotFieldsMap); + + this.setChanged(true); + var newPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(this); + History.Add(AscCommonExcel.g_oUndoRedoWorksheet, AscCH.historyitem_Worksheet_PivotReplace, this.worksheet.getId(), + null, new AscCommonExcel.UndoRedoData_PivotTableRedo(this.Get_Id(), oldPivot, newPivot)); + + this._updateCacheDataUpdateSlicersPost(); +}; +CT_pivotTableDefinition.prototype.updateIndexesForNewPivotFields = function (newCacheDefinition, newCTPivotFields, pivotFieldsMap) { var newCTPageFields = null; if (this.asc_getPageFields()) { newCTPageFields = new CT_PageFields(); @@ -5247,14 +5275,8 @@ CT_pivotTableDefinition.prototype.updateCacheData = function(dataRef) { this.filters = newCTPivotFilters; this.rowFields = newCTRowFields; this.colFields = newCTColFields; - this.setChanged(true); - var newPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(this); - History.Add(AscCommonExcel.g_oUndoRedoWorksheet, AscCH.historyitem_Worksheet_PivotReplace, this.worksheet.getId(), - null, new AscCommonExcel.UndoRedoData_PivotTableRedo(this.Get_Id(), oldPivot, newPivot)); - - this._updateCacheDataUpdateSlicersPost(); }; -CT_pivotTableDefinition.prototype._updateCacheDataUpdatePivotFieldsIndexes = function(newCacheDefinition, newCTPivotFields, pivotFieldsMap) { +CT_pivotTableDefinition.prototype._updateCacheDataUpdatePivotFieldsIndexes = function (newCacheDefinition, newCTPivotFields, pivotFieldsMap) { var i; var cacheDefinitionMap = new Map(); var newCacheFields = newCacheDefinition.getFields(); @@ -5270,6 +5292,9 @@ CT_pivotTableDefinition.prototype._updateCacheDataUpdatePivotFieldsIndexes = fun for (i = 0; i < oldCacheFields.length; ++i) { var oldPivotField = oldPivotFields[i]; var oldCacheField = oldCacheFields[i]; + if(!oldCacheField.databaseField) { + continue; + } var newIndex = cacheDefinitionMap.get(oldCacheField.asc_getName()); if (undefined !== newIndex && oldPivotField) { this._updateCacheDataUpdatePivotFieldsIndexesItems(oldCacheField, oldPivotField, newIndex, newCacheDefinition); @@ -5278,6 +5303,34 @@ CT_pivotTableDefinition.prototype._updateCacheDataUpdatePivotFieldsIndexes = fun pivotFieldsMap.set(i, newIndex); } } + //databaseField + for (i = 0; i < oldCacheFields.length; ++i) { + var oldPivotField = oldPivotFields[i]; + var oldCacheField = oldCacheFields[i]; + if(!oldCacheField.databaseField) { + var baseCacheField = oldCacheFields[oldCacheField.getGroupBase()]; + if(baseCacheField) { + var newIndex = cacheDefinitionMap.get(baseCacheField.asc_getName()); + if (undefined !== newIndex && oldPivotField) { + var newIndexPar = newCacheFields.length; + if (c_oAscGroupType.Text === oldCacheField.getFieldGroupType()) { + var topCacheField = oldCacheFields[newCacheDefinition.getFieldsTopParWithBase(newIndex)]; + if (topCacheField) { + topCacheField.initGroupPar(newIndexPar); + } else { + baseCacheField.initGroupPar(newIndexPar); + } + } else { + baseCacheField.initGroupPar(newIndexPar); + } + oldCacheField.initGroupBase(newIndex); + newCacheFields[newIndexPar] = oldCacheField; + newPivotFields[newIndexPar] = oldPivotField; + pivotFieldsMap.set(i, newIndexPar); + } + } + } + } }; CT_pivotTableDefinition.prototype._updateCacheDataUpdatePivotFieldsIndexesItems = function(oldCacheField, oldPivotField, newIndex, newCacheDefinition) { var newCacheFields = newCacheDefinition.getFields(); @@ -5864,13 +5917,12 @@ CT_pivotTableDefinition.prototype.getLayoutByCell = function(row, col) { || this.getLayoutByCellHeaderRow(row, col, rowFieldsOffset) || this.getLayoutByCellData(row, col, rowFieldsOffset); }; CT_pivotTableDefinition.prototype.getLayoutsForGroup = function(selection) { - var res = new PivotLayoutGroup(), i, layout, activeCell = selection.activeCell, cellLayout; layout = this.getLayoutByCell(activeCell.row, activeCell.col); cellLayout = layout && layout.getGroupCellLayout(); if (cellLayout && st_VALUES !== cellLayout.fld) { - res.fld = cellLayout.fld; if (Asc.PivotLayoutType.rowField === layout.type) { + res.fld = cellLayout.fld; selection.ranges.forEach(function(range) { for (i = range.r1; i <= range.r2; ++i) { layout = this.getLayoutByCell(i, activeCell.col); @@ -5881,6 +5933,7 @@ CT_pivotTableDefinition.prototype.getLayoutsForGroup = function(selection) { } }, this); } else if (Asc.PivotLayoutType.colField === layout.type) { + res.fld = cellLayout.fld; selection.ranges.forEach(function(range) { for (i = range.c1; i <= range.c2; ++i) { layout = this.getLayoutByCell(activeCell.row, i); @@ -6076,91 +6129,233 @@ CT_pivotTableDefinition.prototype.getPivotTablesConnectedByPivotCache = function CT_pivotTableDefinition.prototype.getFieldGroupType = function (fld) { return this.cacheDefinition.getFieldGroupType(fld); }; +CT_pivotTableDefinition.prototype.getGroupBase = function(fld) { + return this.cacheDefinition.getGroupBase(fld); +}; CT_pivotTableDefinition.prototype.getGroupRangePr = function (fld) { return this.cacheDefinition.getGroupRangePr(fld); }; CT_pivotTableDefinition.prototype.createGroupRangePr = function (fld) { return this.cacheDefinition.createGroupRangePr(fld); }; +CT_pivotTableDefinition.prototype.groupPivot = function (api, layout, opt_rangePr, opt_dateTypes) { + var newRangePrRes; + var sheetId = this.worksheet.getId(); + var pivotTable = this; + var fieldGroupType = pivotTable.getFieldGroupType(layout.fld); + var baseFld = pivotTable.getGroupBase(layout.fld); + var rangePrRes = pivotTable.getGroupRangePr(baseFld); + if (opt_rangePr && opt_rangePr.getFieldGroupType() === fieldGroupType) { + api._changePivotAndConnectedByPivotCacheWithLock(pivotTable, false, function (confirmation, pivotTables) { + var changeRes = api._changePivot(pivotTable, confirmation, true, function () { + var oldPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); + + AscFormat.ExecuteNoHistory(function () { + pivotTable.ungroupRangePr(baseFld); + pivotTable.groupRangePr(baseFld, opt_rangePr, opt_dateTypes); + }, api); + + var newPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); + History.Add(AscCommonExcel.g_oUndoRedoWorksheet, AscCH.historyitem_Worksheet_PivotReplaceKeepRecords, sheetId, + null, new AscCommonExcel.UndoRedoData_PivotTableRedo(pivotTable.Get_Id(), oldPivot, newPivot)); + + pivotTable._updateCacheDataUpdateSlicersPost(); + }); + return changeRes; + }); + } else if (rangePrRes) { + rangePrRes.rangePr = rangePrRes.rangePr.clone(); + newRangePrRes = pivotTable.createGroupRangePr(baseFld); + api.handlers.trigger("asc_onShowPivotGroupDialog", rangePrRes.rangePr, rangePrRes.dateTypes, newRangePrRes.rangePr); + } else if (1 === layout.getGroupSize() && c_oAscGroupType.Text !== pivotTable.getFieldGroupType(layout.fld)) { + newRangePrRes = pivotTable.createGroupRangePr(baseFld); + api.handlers.trigger("asc_onShowPivotGroupDialog", newRangePrRes.rangePr, newRangePrRes.dateTypes, newRangePrRes.rangePr.clone()); + } else if (layout.getGroupSize() > 1) { + api._changePivotAndConnectedByPivotCacheWithLock(pivotTable, false, function (confirmation, pivotTables) { + var changeRes = api._changePivot(pivotTable, confirmation, true, function () { + var oldPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); + + AscFormat.ExecuteNoHistory(function () { + var groupRes = pivotTable.groupDiscreteCache(layout); + pivotTable.groupDiscrete(layout.fld, groupRes); + }, api); + + var newPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); + History.Add(AscCommonExcel.g_oUndoRedoWorksheet, AscCH.historyitem_Worksheet_PivotReplaceKeepRecords, sheetId, + null, new AscCommonExcel.UndoRedoData_PivotTableRedo(pivotTable.Get_Id(), oldPivot, newPivot)); + + pivotTable._updateCacheDataUpdateSlicersPost(); + }); + return changeRes; + }); + } else { + api.sendEvent('asc_onError', c_oAscError.ID.PivotGroup, c_oAscError.Level.Critical); + } +}; +CT_pivotTableDefinition.prototype.ungroupPivot = function (api, layout) { + var sheetId = this.worksheet.getId(); + var pivotTable = this; + var baseFld = pivotTable.getGroupBase(layout.fld); + var rangePrRes = pivotTable.getGroupRangePr(baseFld); + if (rangePrRes) { + api._changePivotAndConnectedByPivotCacheWithLock(pivotTable, false, function (confirmation, pivotTables) { + var changeRes = api._changePivot(pivotTable, confirmation, true, function () { + var oldPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); + + AscFormat.ExecuteNoHistory(function () { + pivotTable.ungroupRangePr(baseFld); + }, api); + + var newPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); + History.Add(AscCommonExcel.g_oUndoRedoWorksheet, AscCH.historyitem_Worksheet_PivotReplaceKeepRecords, sheetId, + null, new AscCommonExcel.UndoRedoData_PivotTableRedo(pivotTable.Get_Id(), oldPivot, newPivot)); + + pivotTable._updateCacheDataUpdateSlicersPost(); + }); + return changeRes; + }); + } else if (layout.getGroupSize() > 0) { + api._changePivotAndConnectedByPivotCacheWithLock(pivotTable, false, function (confirmation, pivotTables) { + var groupRes; + var changeRes = api._changePivot(pivotTable, confirmation, true, function () { + var oldPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); + + AscFormat.ExecuteNoHistory(function () { + groupRes = pivotTable.ungroupDiscreteCache(layout); + pivotTable.ungroupDiscrete(layout.fld, groupRes); + }, api); + + var newPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); + History.Add(AscCommonExcel.g_oUndoRedoWorksheet, AscCH.historyitem_Worksheet_PivotReplaceKeepRecords, sheetId, + null, new AscCommonExcel.UndoRedoData_PivotTableRedo(pivotTable.Get_Id(), oldPivot, newPivot)); + + pivotTable._updateCacheDataUpdateSlicersPost(); + }); + return changeRes; + }); + } +}; CT_pivotTableDefinition.prototype.groupRangePr = function (fld, rangePr, dateTypes) { //check params + if (rangePr.groupInterval <= 0) { + rangePr.groupInterval = 1; + } if (dateTypes) { dateTypes.sort(); rangePr.groupBy = dateTypes[0]; - if (1 === dateTypes.length && c_oAscGroupBy.Days !== rangePr.groupBy) { + if (dateTypes.length > 1 || c_oAscGroupBy.Days !== rangePr.groupBy) { rangePr.groupInterval = 1; } + } else { + rangePr.groupBy = c_oAscGroupBy.Range; } - var groupRes = this.cacheDefinition.groupRangePr(fld, rangePr, dateTypes); + rangePr.correctValues(); + var addFields = this.cacheDefinition.groupRangePr(fld, rangePr, dateTypes); var i; var pivotFields = this.asc_getPivotFields(); var cacheFields = this.asc_getCacheFields(); - for (i = groupRes.removeFields.length - 1; i >= 0; --i) { - pivotFields.splice(i, 1); - } pivotFields[fld].init(cacheFields[fld].getGroupOrSharedSize()); pivotFields[fld].checkSubtotal(); - var insertIndexRow = this.rowFields && this.rowFields.find(fld); - var insertIndexCol = this.colFields && this.colFields.find(fld); - for (i = 0; i < groupRes.addFields.length; ++i) { - var pivotIndex = pivotFields.length; - var newPivotField = pivotFields[fld].clone(); - newPivotField.init(cacheFields[pivotIndex].getGroupOrSharedSize()); - newPivotField.checkSubtotal(); - pivotFields.push(newPivotField); - if (null !== insertIndexRow && -1 !== insertIndexRow) { - this.addRowField(pivotIndex, insertIndexRow, true); + if (addFields) { + var insertIndexRow = this.rowFields && this.rowFields.find(fld); + var insertIndexCol = this.colFields && this.colFields.find(fld); + for (i = 0; i < addFields.length; ++i) { + var pivotIndex = pivotFields.length; + var newPivotField = pivotFields[fld].clone(); + newPivotField.init(cacheFields[pivotIndex].getGroupOrSharedSize()); + newPivotField.checkSubtotal(); + pivotFields.push(newPivotField); + if (null !== insertIndexRow && -1 !== insertIndexRow) { + this.addRowField(pivotIndex, insertIndexRow, false); + } + if (null !== insertIndexCol && -1 !== insertIndexCol) { + this.addColField(pivotIndex, insertIndexCol, false); + } + } + } + this.setChanged(true); +}; +CT_pivotTableDefinition.prototype.ungroupRangePr = function (fld) { + var i; + var pivotFields = this.asc_getPivotFields(); + var cacheFields = this.asc_getCacheFields(); + var removeFields = this.cacheDefinition.ungroupRangePr(fld); + var pivotField = pivotFields[fld]; + pivotField.init(cacheFields[fld].getGroupOrSharedSize()); + var sortType = pivotField.sortType !== c_oAscFieldSortType.Manual ? pivotField.sortType : Asc.c_oAscSortOptions.Ascending; + pivotField.sortItems(sortType, cacheFields[fld].getGroupOrSharedItems()); + pivotField.checkSubtotal(); + if (removeFields.length > 0) { + var pivotFieldsMap = new Map(); + var removeIndex = 0; + var mapIndex = 0; + for (i = 0; i < pivotFields.length; ++i) { + if (i !== removeFields[removeIndex]) { + pivotFieldsMap.set(i, mapIndex++); + } else if (removeIndex < removeFields.length - 1) { + removeIndex++; + } } - if (null !== insertIndexCol && -1 !== insertIndexCol) { - this.addColField(pivotIndex, insertIndexCol, true); + for (i = removeFields.length - 1; i >= 0; --i) { + pivotFields.splice(removeFields[i], 1); } + this.updateIndexesForNewPivotFields(this.cacheDefinition, this.pivotFields, pivotFieldsMap); } this.setChanged(true); }; -CT_pivotTableDefinition.prototype.groupDiscreteCache = function(layoutGroup) { +CT_pivotTableDefinition.prototype.groupDiscreteCache = function (layoutGroup) { this.checkPivotFieldItems(layoutGroup.fld); - var layoutGroupCache = this._convertToCacheGroupLayout(layoutGroup); - layoutGroupCache = this.cacheDefinition.groupDiscreteAddField(layoutGroupCache); + var layoutGroupCacheBase = this._convertToCacheGroupLayout(layoutGroup); + var layoutGroupCache = this.cacheDefinition.groupDiscreteAddField(layoutGroupCacheBase); + if (layoutGroupCacheBase.fld !== layoutGroupCache.fld) { + this._groupDiscreteAddFields(layoutGroup.fld, layoutGroupCache.fld); + var ungroupRes = this.cacheDefinition.ungroupDiscrete(layoutGroupCache); + this.ungroupDiscrete(layoutGroupCache.fld, ungroupRes); + layoutGroupCache = this.cacheDefinition.groupDiscreteAddField(layoutGroupCacheBase); + } var reorderArray = this.cacheDefinition.groupDiscrete(layoutGroupCache); return {layoutGroupCache: layoutGroupCache, reorderArray: reorderArray}; }; -CT_pivotTableDefinition.prototype.groupDiscrete = function(layoutGroup, groupRes) { - if(!groupRes) { +CT_pivotTableDefinition.prototype.groupDiscrete = function (fld, groupRes) { + if (!groupRes) { return; } - this.checkPivotFieldItems(layoutGroup.fld); - this._groupDiscreteAddFields(layoutGroup.fld, groupRes.layoutGroupCache.fld); + this.checkPivotFieldItems(fld); + this._groupDiscreteAddFields(fld, groupRes.layoutGroupCache.fld); var pivotFields = this.asc_getPivotFields(); var pivotField = pivotFields[groupRes.layoutGroupCache.fld]; pivotField.groupDiscrete(groupRes.reorderArray); this.setChanged(true); }; -CT_pivotTableDefinition.prototype.ungroupDiscreteCache = function(layoutGroup) { +CT_pivotTableDefinition.prototype.ungroupDiscreteCache = function (layoutGroup) { var layoutGroupCache = this._convertToCacheGroupLayout(layoutGroup); return this.cacheDefinition.ungroupDiscrete(layoutGroupCache); }; -CT_pivotTableDefinition.prototype.ungroupDiscrete = function(layoutGroup, groupRes) { - if(!groupRes) { +CT_pivotTableDefinition.prototype.ungroupDiscrete = function (fld, groupRes) { + if (!groupRes) { return; } - this.checkPivotFieldItems(layoutGroup.fld); + var i; + this.checkPivotFieldItems(fld); var pivotFields = this.asc_getPivotFields(); - var pivotField = pivotFields[layoutGroup.fld]; + var pivotField = pivotFields[fld]; var basePivotField = pivotFields[groupRes.base]; var groupMembersOffset = basePivotField.convertGroupMembers(groupRes.groupMembersPos); - pivotField.ungroupDiscrete(groupRes.reorderArray, groupMembersOffset); - this.setChanged(true); -}; -CT_pivotTableDefinition.prototype.History = function(layoutGroup, groupRes) { - if(!groupRes) { - return; + if (pivotField) { + pivotField.ungroupDiscrete(groupRes.reorderArray, groupMembersOffset); } - this.checkPivotFieldItems(layoutGroup.fld); - var pivotFields = this.asc_getPivotFields(); - var pivotField = pivotFields[layoutGroup.fld]; - var basePivotField = pivotFields[groupRes.base]; - var groupMembersOffset = basePivotField.convertGroupMembers(groupRes.groupMembersPos); - pivotField.ungroupDiscrete(groupRes.reorderArray, groupMembersOffset); + if (groupRes.removeField) { + var pivotFieldsMap = new Map(); + var mapIndex = 0; + for (var i = 0; i < pivotFields.length; ++i) { + if (i !== fld) { + pivotFieldsMap.set(i, mapIndex++); + } + } + pivotFields.splice(fld, 1); + this.updateIndexesForNewPivotFields(this.cacheDefinition, this.pivotFields, pivotFieldsMap); + } + this.setChanged(true); }; CT_pivotTableDefinition.prototype._convertToCacheGroupLayout = function(layoutGroup) { @@ -6842,9 +7037,7 @@ CT_DateTime.prototype.readAttributes = function(attr, uq) { var val; val = vals["v"]; if (undefined !== val) { - var d = new Asc.cDate(uq(val)); - this.v = new Asc.cDate(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), - d.getSeconds(), d.getMilliseconds())).getExcelDateWithTime(); + this.v = Asc.cDate.prototype.fromISO8601(val).getExcelDateWithTime2(); } val = vals["u"]; if (undefined !== val) { @@ -6883,7 +7076,7 @@ CT_DateTime.prototype.toXml = function(writer, name) { CT_DateTime.prototype.toXml2 = function(writer, name, val, obj) { writer.WriteXmlNodeStart(name); if (null !== val) { - writer.WriteXmlAttributeStringEncode("v", Asc.cDate.prototype.getDateFromExcelWithTime(val).toISOString().slice(0, 19)); + writer.WriteXmlAttributeStringEncode("v", Asc.cDate.prototype.getDateFromExcelWithTime2(val).toISOString().slice(0, 19)); } if (obj) { if (null !== obj.u) { @@ -8789,12 +8982,18 @@ CT_CacheField.prototype.initPostOpenZip = function (oNumFmts) { this.numFmtId = null; } }; -CT_CacheField.prototype.initGroupPar = function(par) { +CT_CacheField.prototype.initGroupPar = function (par) { if (!this.fieldGroup) { this.fieldGroup = new CT_FieldGroup(); } this.fieldGroup.initPar(par); }; +CT_CacheField.prototype.initGroupBase = function (base) { + if (!this.fieldGroup) { + this.fieldGroup = new CT_FieldGroup(); + } + this.fieldGroup.initBase(base); +}; CT_CacheField.prototype.initGroupDiscrete = function (name, base, baseCacheField) { this.name = name; this.num = AscCommonExcel.Num.prototype.initFromParams(0); @@ -9061,7 +9260,10 @@ CT_CacheField.prototype.getGroupPar = function () { CT_CacheField.prototype.getGroupBase = function () { return this.fieldGroup && this.fieldGroup.base; }; -CT_CacheField.prototype.getGroupType = function () { +CT_CacheField.prototype.getFieldGroupType = function () { + if (this.fieldGroup) { + return this.fieldGroup.getFieldGroupType(); + } var sharedItems = this.getGroupOrSharedItems(); if (sharedItems && false === sharedItems.containsMixedTypes) { if (sharedItems.containsNumber) { @@ -9072,6 +9274,42 @@ CT_CacheField.prototype.getGroupType = function () { } return c_oAscGroupType.Text; }; +CT_CacheField.prototype.createGroupRangePr = function () { + var rangePr = new CT_RangePr(true); + rangePr.autoStart = true; + rangePr.autoEnd = true; + var groupType = this.getFieldGroupType(); + var sharedItems = this.getSharedItems(); + //todo default + rangePr.groupInterval = 1; + if (c_oAscGroupType.Number === groupType) { + var minMaxValue = sharedItems.getMinMaxValue(); + rangePr.groupBy = c_oAscGroupBy.Range; + rangePr.startNum = minMaxValue.minValue; + rangePr.endNum = minMaxValue.maxValue; + var diff = (minMaxValue.maxValue - minMaxValue.minValue) / 30; + if (diff >= 1) { + while (rangePr.groupInterval <= diff) { + rangePr.groupInterval *= 10; + } + } else if (diff <= 0.1) { + while (rangePr.groupInterval >= diff) { + rangePr.groupInterval /= 10; + } + rangePr.groupInterval *= 10; + } + } else if (c_oAscGroupType.Date === groupType) { + var minMaxDate = sharedItems.getMinMaxDate(); + rangePr.groupBy = c_oAscGroupBy.Months; + rangePr.startDate = minMaxDate.minDate; + rangePr.endDate = minMaxDate.maxDate; + if (rangePr.endDate.getExcelDateWithTime2() === rangePr.endDate.getExcelDate()) { + rangePr.endDate.addDays2(1); + } + } + rangePr.correctValues(); + return rangePr; +}; CT_CacheField.prototype.getGroupRangePr = function () { return this.fieldGroup && this.fieldGroup.rangePr; }; @@ -9105,6 +9343,9 @@ CT_CacheField.prototype.containsGroup = function (groupMap) { CT_CacheField.prototype.ungroupDiscrete = function (base, baseCacheField, groupMap) { return this.fieldGroup.ungroupDiscrete(base, baseCacheField, groupMap); }; +CT_CacheField.prototype.ungroupRangePr = function () { + return this.fieldGroup = null; +}; function CT_CacheHierarchy() { //Attributes @@ -12214,6 +12455,26 @@ CT_SharedItems.prototype.addString = function() { CT_SharedItems.prototype.addItem = function(item) { return this.Items.addRecordValue(item); }; +CT_SharedItems.prototype.getMinMaxValue = function() { + var res = {minValue: 0, maxValue: 0}; + if (this.getCount() > 0) { + var item = this.getItem(0); + res.minValue = res.maxValue = item.val; + for (var i = 1; i < this.getCount(); ++i) { + item = this.getItem(i); + res.minValue = Math.min(res.minValue, item.val); + res.maxValue = Math.max(res.maxValue, item.val); + } + } + return res; +}; +CT_SharedItems.prototype.getMinMaxDate = function () { + var res = this.getMinMaxValue(); + return { + minDate: Asc.cDate.prototype.getDateFromExcelWithTime2(res.minValue), + maxDate: Asc.cDate.prototype.getDateFromExcelWithTime2(res.maxValue) + }; +}; function CT_FieldGroup() { //Attributes @@ -12227,6 +12488,9 @@ function CT_FieldGroup() { CT_FieldGroup.prototype.initPar = function (par) { this.par = par; }; +CT_FieldGroup.prototype.initBase = function (base) { + this.base = base; +}; CT_FieldGroup.prototype.initDiscrete = function(base, baseCacheField) { this.base = base; this.discretePr = new CT_DiscretePr(); @@ -12265,7 +12529,7 @@ CT_FieldGroup.prototype.readAttributes = function(attr, uq) { CT_FieldGroup.prototype.onStartNode = function(elem, attr, uq) { var newContext = this; if ("rangePr" === elem) { - newContext = new CT_RangePr(); + newContext = new CT_RangePr(true); if (newContext.readAttributes) { newContext.readAttributes(attr, uq); } @@ -12318,7 +12582,7 @@ CT_FieldGroup.prototype.getGroupIndex = function(index, sharedItem) { if (c_oAscGroupType.Number === fieldGroupType && c_oAscPivotRecType.Number === sharedItem.type) { res = this.rangePr.getGroupIndex(sharedItem.val, this.groupItems.getCount() - 1); } else if (c_oAscGroupType.Date === fieldGroupType && c_oAscPivotRecType.DateTime === sharedItem.type) { - var date = Asc.cDate.prototype.getDateFromExcelWithTime(sharedItem.val) + var date = Asc.cDate.prototype.getDateFromExcelWithTime2(sharedItem.val) res = this.rangePr.getGroupIndex(date, this.groupItems.getCount() - 1); } } else if (this.discretePr) { @@ -12326,6 +12590,12 @@ CT_FieldGroup.prototype.getGroupIndex = function(index, sharedItem) { } return res; }; +CT_FieldGroup.prototype.getFieldGroupType = function () { + if (this.rangePr) { + return this.rangePr.getFieldGroupType(); + } + return c_oAscGroupType.Text; +}; CT_FieldGroup.prototype.group = function(fld, baseCacheField, rangePr, groupMap) { var res; this.base = fld; @@ -12335,7 +12605,7 @@ CT_FieldGroup.prototype.group = function(fld, baseCacheField, rangePr, groupMap) if (c_oAscGroupType.Number === fieldGroupType && c_oAscPivotRecType.Number === sharedItem.type) { res = this.rangePr.getGroupIndex(sharedItem.val, this.groupItems.getCount() - 1); } else if(c_oAscGroupType.Date === fieldGroupType && c_oAscPivotRecType.DateTime === sharedItem.type) { - var date = Asc.cDate.prototype.getDateFromExcelWithTime(sharedItem.val) + var date = Asc.cDate.prototype.getDateFromExcelWithTime2(sharedItem.val) res = this.rangePr.getGroupIndex(date, this.groupItems.getCount() - 1); } } else if (groupMap) { @@ -13140,16 +13410,20 @@ CT_RangeSet.prototype.toXml = function(writer, name) { // } writer.WriteXmlNodeEnd(name, true, true); }; -function CT_RangePr() { +function CT_RangePr(setDefaults) { //Attributes - this.autoStart = true; - this.autoEnd = true; - this.groupBy = c_oAscGroupBy.Range; + this.autoStart = null; + this.autoEnd = null; + this.groupBy = null; this.startNum = null; this.endNum = null; this.startDate = null; this.endDate = null; - this.groupInterval = 1; + this.groupInterval = null; + + if (setDefaults) { + this.setDefaults(); + } } CT_RangePr.prototype.clone = function() { var res = new CT_RangePr(); @@ -13163,6 +13437,16 @@ CT_RangePr.prototype.clone = function() { res.groupInterval = this.groupInterval; return res; }; +CT_RangePr.prototype.setDefaults = function() { + this.autoStart = true; + this.autoEnd = true; + this.groupBy = c_oAscGroupBy.Range; + this.startNum = null; + this.endNum = null; + this.startDate = null; + this.endDate = null; + this.groupInterval = 1; +}; CT_RangePr.prototype.readAttributes = function(attr, uq) { if (attr()) { var vals = attr(); @@ -13192,15 +13476,11 @@ CT_RangePr.prototype.readAttributes = function(attr, uq) { } val = vals["startDate"]; if (undefined !== val) { - var d = new Asc.cDate(uq(val)); - this.startDate = new Asc.cDate(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), - d.getSeconds(), d.getMilliseconds())); + this.startDate = Asc.cDate.prototype.fromISO8601(val); } val = vals["endDate"]; if (undefined !== val) { - var d = new Asc.cDate(uq(val)); - this.endDate = new Asc.cDate(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), - d.getSeconds(), d.getMilliseconds())); + this.endDate = Asc.cDate.prototype.fromISO8601(val); } val = vals["groupInterval"]; if (undefined !== val) { @@ -13236,16 +13516,85 @@ CT_RangePr.prototype.toXml = function(writer, name) { } writer.WriteXmlNodeEnd(name, true, true); }; +CT_RangePr.prototype.asc_getAutoStart = function() { + return this.autoStart; +}; +CT_RangePr.prototype.asc_getAutoEnd = function() { + return this.autoEnd; +}; +CT_RangePr.prototype.asc_getGroupBy = function() { + return this.groupBy; +}; +CT_RangePr.prototype.asc_getStartNum = function() { + return this.startNum; +}; +CT_RangePr.prototype.asc_getEndNum = function() { + return this.endNum; +}; +CT_RangePr.prototype.asc_getStartDate = function() { + return this.startDate && this.startDate.getTime(); +}; +CT_RangePr.prototype.asc_getStartDateText = function() { + return this._getDateText(this.startDate); +}; +CT_RangePr.prototype.asc_getEndDate = function() { + return this.endDate && this.endDate.getTime(); +}; +CT_RangePr.prototype.asc_getEndDateText = function() { + return this._getDateText(this.endDate); +}; +CT_RangePr.prototype.asc_getGroupInterval = function() { + return this.groupInterval; +}; +CT_RangePr.prototype.asc_setAutoStart = function(val) { + this.autoStart = val; +}; +CT_RangePr.prototype.asc_setAutoEnd = function(val) { + this.autoEnd = val; +}; +CT_RangePr.prototype.asc_setGroupBy = function(val) { + this.groupBy = val; +}; +CT_RangePr.prototype.asc_setStartNum = function(val) { + this.startNum = val; +}; +CT_RangePr.prototype.asc_setEndNum = function(val) { + this.endNum = val; +}; +CT_RangePr.prototype.asc_setStartDate = function(val) { + this.startDate = new Asc.cDate(val); +}; +CT_RangePr.prototype.asc_setStartDateText = function(val) { + this.startDate = this._setDateText(val); +}; +CT_RangePr.prototype.asc_setEndDate = function(val) { + this.endDate = new Asc.cDate(val); +}; +CT_RangePr.prototype.asc_setEndDateText = function(val) { + this.endDate = this._setDateText(val); +}; +CT_RangePr.prototype.asc_setGroupInterval = function(val) { + this.groupInterval = val; +}; CT_RangePr.prototype.getGroupIndex = function(val, maxIndex) { var res = 0; if (this.groupBy === c_oAscGroupBy.Range) { - var index = Math.floor((val - this.startNum) / this.groupInterval); - if (index < 0) { - res = 0; - } else if (index + 1 > maxIndex) { + //todo remove while(case startNum=0,endNum=1,groupInterval=0.1,val=1) + //var index = Math.floor((val - this.startNum) / this.groupInterval); + res = 0; + //case startNum=1.1,endNum=9.9,groupInterval=0.3,val=10 + if (AscCommon.compareNumbers(val, this.endNum) > 0) { res = maxIndex; } else { - res = index + 1; + var curVal = this.startNum; + while (AscCommon.compareNumbers(curVal, val) <= 0 && res < maxIndex) { + curVal += this.groupInterval; + res++; + } + //case startNum=1,endNum=10,groupInterval=1,val=10 + if (res === maxIndex && 0 <= AscCommon.compareNumbers(val, this.endNum)) { + res = maxIndex - 1; + } } } else { if(val < this.startDate) { @@ -13270,7 +13619,8 @@ CT_RangePr.prototype.getGroupIndex = function(val, maxIndex) { if (1 === this.groupInterval) { res = Math.floor((val.getTime() - Date.UTC(val.getUTCFullYear())) / AscCommonExcel.c_msPerDay); } else { - res = Math.floor((val.getTime() - this.startDate.getTime()) / AscCommonExcel.c_msPerDay / this.groupInterval); + var startDate = Asc.cDate.prototype.getDateFromExcel(this.startDate.getExcelDate());//trim time + res = Math.floor((val.getTime() - startDate.getTime()) / AscCommonExcel.c_msPerDay / this.groupInterval); } } res += 1;//0 for "< this.startDate" @@ -13287,7 +13637,7 @@ CT_RangePr.prototype.generateGroupItems = function () { groupItems.addString('<' + numFormat.formatToChart(this.startNum)); var curVal = this.startNum; var nextVal = this.startNum + this.groupInterval; - while (curVal < this.endNum) { + while (AscCommon.compareNumbers(curVal, this.endNum) < 0) { groupItems.addString(numFormat.formatToChart(curVal) + '-' + numFormat.formatToChart(nextVal)); curVal = nextVal; nextVal = nextVal + this.groupInterval; @@ -13295,7 +13645,7 @@ CT_RangePr.prototype.generateGroupItems = function () { groupItems.addString('>' + numFormat.formatToChart(curVal)); } else { numFormatShortDate = AscCommon.oNumFormatCache.get(AscCommon.getShortDateFormat()); - groupItems.addString('<' + numFormatShortDate.formatToChart(this.startDate.getExcelDateWithTime())); + groupItems.addString('<' + numFormatShortDate.formatToChart(this.startDate.getExcelDateWithTime2())); if (this.groupBy === c_oAscGroupBy.Seconds || this.groupBy === c_oAscGroupBy.Minutes) { for(i = 0; i < 10; ++i) { groupItems.addString(':0' + i); @@ -13312,7 +13662,7 @@ CT_RangePr.prototype.generateGroupItems = function () { date = new Asc.cDate(Date.UTC(2000, 0, 1)); for(i = 0; i < 12; ++i) { date.setMonth(i); - groupItems.addString(numFormat.formatToChart(date.getExcelDateWithTime())); + groupItems.addString(numFormat.formatToChart(date.getExcelDateWithTime2())); } } else if (this.groupBy === c_oAscGroupBy.Quarters) { groupItems.addString("Qtr1"); @@ -13331,22 +13681,31 @@ CT_RangePr.prototype.generateGroupItems = function () { numFormat = AscCommon.oNumFormatCache.get("d-mmm"); date = new Asc.cDate(Date.UTC(2000, 0, 1)); for(i = 0; i < 366 ; ++i) { - groupItems.addString(numFormat.formatToChart(date.getExcelDateWithTime())); - date.addDays(1); + groupItems.addString(numFormat.formatToChart(date.getExcelDateWithTime2())); + date.addDays2(1); } } else { var curDate = new Asc.cDate(this.startDate.getTime()); - var nextDate = new Asc.cDate(this.startDate.getTime()); - nextDate.addDays(this.groupInterval); + var nextDate = new Asc.cDate(curDate.getTime()); + nextDate.addDays2(this.groupInterval); while (nextDate < this.endDate) { - groupItems.addString(numFormatShortDate.formatToChart(curDate.getExcelDateWithTime()) + "-" + numFormatShortDate.formatToChart(nextDate.getExcelDateWithTime())); - curDate.addYears(this.groupInterval); - nextDate.addYears(this.groupInterval); + nextDate.addDays2(-1); + groupItems.addString(numFormatShortDate.formatToChart(curDate.getExcelDate()) + " - " + numFormatShortDate.formatToChart(nextDate.getExcelDate())); + nextDate.addDays2(1); + curDate.addDays2(this.groupInterval); + nextDate.addDays2(this.groupInterval); + } + var endDate = new Asc.cDate(this.endDate.getTime()); + if (endDate.getExcelDate() === endDate.getExcelDateWithTime2()) { + endDate.addDays2(-1); + if (endDate.getTime() === curDate.getTime()) { + endDate.addDays2(1); + } } - groupItems.addString(numFormatShortDate.formatToChart(curDate.getExcelDateWithTime()) + "-" + numFormatShortDate.formatToChart(this.endDate.getExcelDateWithTime())); + groupItems.addString(numFormatShortDate.formatToChart(curDate.getExcelDate()) + " - " + numFormatShortDate.formatToChart(endDate.getExcelDate())); } } - groupItems.addString('>' + numFormatShortDate.formatToChart(this.endDate.getExcelDateWithTime())); + groupItems.addString('>' + numFormatShortDate.formatToChart(this.endDate.getExcelDateWithTime2())); } return groupItems; }; @@ -13356,6 +13715,39 @@ CT_RangePr.prototype.init = function() { CT_RangePr.prototype.getFieldGroupType = function() { return this.groupBy === c_oAscGroupBy.Range ? c_oAscGroupType.Number : c_oAscGroupType.Date; }; +CT_RangePr.prototype.correctValues = function () { + if (c_oAscGroupBy.Range === this.groupBy) { + if (this.startNum >= this.endNum) { + this.endNum = this.startNum + 1; + } + } else { + if (this.startDate >= this.endDate) { + this.endDate = new cDate(this.startDate.getTime()); + this.endDate.addDays2(1); + } + } +}; +CT_RangePr.prototype._getDateText = function(date) { + var numFormat; + if (date) { + if (date.getExcelDateWithTime2() < 1) { + numFormat = AscCommon.oNumFormatCache.get(AscCommon.getShortTimeFormat()); + } else if (date.getExcelDate() === date.getExcelDateWithTime2()) { + numFormat = AscCommon.oNumFormatCache.get(AscCommon.getShortDateFormat()); + } else { + numFormat = AscCommon.oNumFormatCache.get(AscCommon.getShortDateFormat() + ' ' + AscCommon.getShortTimeFormat()); + } + return numFormat.formatToChart(date.getExcelDateWithTime2()); + } + return ""; +}; +CT_RangePr.prototype._setDateText = function (val) { + var parseRes = AscCommon.g_oFormatParser.parse(val); + if (null != parseRes) { + return cDate.prototype.getDateFromExcelWithTime2(parseRes.value); + } + return cDate(Number.NaN); +}; function CT_DiscretePr() { //Attributes // this.count = null; @@ -15175,6 +15567,29 @@ prot["asc_set"] = prot.asc_set; prot["asc_setName"] = prot.asc_setName; prot["asc_setSubtotal"] = prot.asc_setSubtotal; +window["Asc"]["CT_RangePr"] = window['Asc'].CT_RangePr = CT_RangePr; +prot = CT_RangePr.prototype; +prot["asc_getAutoStart"] = prot.asc_getAutoStart; +prot["asc_getAutoEnd"] = prot.asc_getAutoEnd; +prot["asc_getGroupBy"] = prot.asc_getGroupBy; +prot["asc_getStartNum"] = prot.asc_getStartNum; +prot["asc_getEndNum"] = prot.asc_getEndNum; +prot["asc_getStartDate"] = prot.asc_getStartDate; +prot["asc_getStartDateText"] = prot.asc_getStartDateText; +prot["asc_getEndDate"] = prot.asc_getEndDate; +prot["asc_getEndDateText"] = prot.asc_getEndDateText; +prot["asc_getGroupInterval"] = prot.asc_getGroupInterval; +prot["asc_setAutoStart"] = prot.asc_setAutoStart; +prot["asc_setAutoEnd"] = prot.asc_setAutoEnd; +prot["asc_setGroupBy"] = prot.asc_setGroupBy; +prot["asc_setStartNum"] = prot.asc_setStartNum; +prot["asc_setEndNum"] = prot.asc_setEndNum; +prot["asc_setStartDate"] = prot.asc_setStartDate; +prot["asc_setStartDateText"] = prot.asc_setStartDateText; +prot["asc_setEndDate"] = prot.asc_setEndDate; +prot["asc_setEndDateText"] = prot.asc_setEndDateText; +prot["asc_setGroupInterval"] = prot.asc_setGroupInterval; + window["Asc"]["CT_PivotFilter"] = window['Asc'].CT_PivotFilter = CT_PivotFilter; window["Asc"]["CT_WorksheetSource"] = window['Asc'].CT_WorksheetSource = CT_WorksheetSource; diff --git a/cell/utils/utils.js b/cell/utils/utils.js index ea72d51c04..93ad8b717c 100644 --- a/cell/utils/utils.js +++ b/cell/utils/utils.js @@ -2954,6 +2954,14 @@ return res; }; + cDate.prototype.getExcelDateWithTime2 = function () { + var year = Date.prototype.getUTCFullYear.call(this); + var month = Date.prototype.getUTCMonth.call(this); + var date = Date.prototype.getUTCDate.call(this); + + return (Date.UTC(year, month, date, this.getUTCHours(), this.getUTCMinutes(), this.getUTCSeconds()) - this.getExcelNullDate() ) / c_msPerDay; + }; + cDate.prototype.getDateFromExcel = function ( val ) { val = Math.floor( val ); @@ -2974,6 +2982,10 @@ } } }; + + cDate.prototype.getDateFromExcelWithTime2 = function ( val ) { + return new cDate( val * c_msPerDay + this.getExcelNullDate() ); + }; cDate.prototype.addYears = function ( counts ) { this.setUTCFullYear( this.getUTCFullYear() + Math.floor( counts ) ); @@ -2992,6 +3004,9 @@ cDate.prototype.addDays = function ( counts ) { this.setUTCDate( this.getUTCDate() + Math.floor( counts ) ); }; + cDate.prototype.addDays2 = function ( counts ) { + Date.prototype.setUTCDate.call(this, Date.prototype.getUTCDate.call(this) + Math.floor( counts ) ); + }; cDate.prototype.lastDayOfMonth = function () { return this.getDaysInMonth() == this.getUTCDate(); @@ -3038,6 +3053,13 @@ cDate.prototype.getTimeString = function (api) { return api.asc_getLocaleExample(AscCommon.getShortTimeFormat(), this.getExcelDateWithTime(true) - this.getTimezoneOffset()/(60*24)); }; + cDate.prototype.fromISO8601 = function (dateStr) { + if (dateStr.endsWith("Z")) { + return new cDate(dateStr); + } else { + return new cDate(dateStr + "Z"); + } + }; function getIconsForLoad() { return AscCommonExcel.getCFIconsForLoad().concat(AscCommonExcel.getSlicerIconsForLoad()).concat(AscCommonExcel.getPivotButtonsForLoad()); From 48322740420e2467685799e2011f1e8ead42eae7 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Wed, 10 Mar 2021 18:38:02 +0300 Subject: [PATCH 028/381] [bug] Fix crash on adding series --- common/Drawings/Format/ChartSpace.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/Drawings/Format/ChartSpace.js b/common/Drawings/Format/ChartSpace.js index f38d4e2c76..16c4e45b78 100644 --- a/common/Drawings/Format/ChartSpace.js +++ b/common/Drawings/Format/ChartSpace.js @@ -12022,7 +12022,7 @@ var GLOBAL_PATH_COUNT = 0; oSeries.addDPt(oDPt); } } - for(nDpt = oSeries.dPt.length; nDpt > -1; --nDpt) { + for(nDpt = oSeries.dPt.length - 1; nDpt > -1; --nDpt) { oDPt = oSeries.dPt[nDpt]; if(oDPt.idx >= nValCount) { oSeries.removeDPt(nDpt); From ecbe369dfadf04a4a6b63de6383a9a46b7628987 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Wed, 10 Mar 2021 19:50:57 +0300 Subject: [PATCH 029/381] [de] Fix bug 48580 --- word/Editor/Document.js | 1 + word/Editor/Serialize2.js | 116 ++++++++++++++++++++++++++++++++++---- 2 files changed, 106 insertions(+), 11 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 2e3608a945..66410de06f 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -2257,6 +2257,7 @@ function CDocument(DrawingDocument, isMainLogicDocument) this.App = null; this.Core = null; this.CustomProperties = null; + this.CustomXmls = []; // Сначала настраиваем размеры страницы и поля this.SectPr = new CSectionPr(this); diff --git a/word/Editor/Serialize2.js b/word/Editor/Serialize2.js index 7d57fa1e65..2b3c0741a6 100644 --- a/word/Editor/Serialize2.js +++ b/word/Editor/Serialize2.js @@ -82,7 +82,8 @@ var c_oSerTableTypes = { Core: 16, DocumentComments: 17, CustomProperties: 18, - Glossary: 19 + Glossary: 19, + Customs: 20 }; var c_oSerSigTypes = { Version:0 @@ -963,6 +964,12 @@ var c_oSerNotes = { PrEndPos: 10, PrRef: 11 }; +var c_oSerCustoms = { + Custom: 0, + ItemId: 1, + Uri: 2, + Content: 3 +}; var c_oSerApp = { Application: 0, AppVersion: 1 @@ -1785,6 +1792,9 @@ function BinaryFileWriter(doc, bMailMergeDocx, bMailMergeHtml, isCompatible, opt pptx_content_writer.BinaryFileWriter.ImportFromMemory(old); }}); } + if (this.Document.CustomXmls.length > 0) { + this.WriteTable(c_oSerTableTypes.Customs, new BinaryCustomsTableWriter(this.memory, this.Document, this.Document.CustomXmls)); + } //Write Settings this.WriteTable(c_oSerTableTypes.Settings, new BinarySettingsTableWriter(this.memory, this.Document, this.saveParams)); @@ -6777,16 +6787,20 @@ function BinarySettingsTableWriter(memory, doc, saveParams) // if (oThis.Document.Settings && null != oThis.Document.Settings.BookFoldRevPrinting) { // this.bs.WriteItem(c_oSer_SettingsType.BookFoldRevPrinting, function() {oThis.memory.WriteBool(oThis.Document.Settings.BookFoldRevPrinting);}); // } - if (!oThis.Document.IsSdtGlobalSettingsDefault()) { - var rPr = new CTextPr(); - rPr.Color = oThis.Document.GetSdtGlobalColor(); - this.bs.WriteItem(c_oSer_SettingsType.SdtGlobalColor, function (){oThis.brPrs.Write_rPr(rPr, null, null);}); - this.bs.WriteItem(c_oSer_SettingsType.SdtGlobalShowHighlight, function(){oThis.memory.WriteBool(oThis.Document.GetSdtGlobalShowHighlight());}); - } - if (!oThis.Document.IsSpecialFormsSettingsDefault()) { - var rPr = new CTextPr(); - rPr.Color = oThis.Document.GetSpecialFormsHighlight(); - this.bs.WriteItem(c_oSer_SettingsType.SpecialFormsHighlight, function (){oThis.brPrs.Write_rPr(rPr, null, null);}); + //do not write this settings within Glossary + if(oThis.Document.GlossaryDocument) { + //create custom.xml + if (!oThis.Document.IsSdtGlobalSettingsDefault()) { + var rPr = new CTextPr(); + rPr.Color = oThis.Document.GetSdtGlobalColor(); + this.bs.WriteItem(c_oSer_SettingsType.SdtGlobalColor, function (){oThis.brPrs.Write_rPr(rPr, null, null);}); + this.bs.WriteItem(c_oSer_SettingsType.SdtGlobalShowHighlight, function(){oThis.memory.WriteBool(oThis.Document.GetSdtGlobalShowHighlight());}); + } + if (!oThis.Document.IsSpecialFormsSettingsDefault()) { + var rPr = new CTextPr(); + rPr.Color = oThis.Document.GetSpecialFormsHighlight(); + this.bs.WriteItem(c_oSer_SettingsType.SpecialFormsHighlight, function (){oThis.brPrs.Write_rPr(rPr, null, null);}); + } } this.bs.WriteItem(c_oSer_SettingsType.Compat, function (){oThis.WriteCompat();}); } @@ -7089,6 +7103,43 @@ function BinaryNotesTableWriter(memory, doc, oNumIdMap, oMapCommentId, copyParam this.bs.WriteItem(c_oSerNotes.NoteContent, function(){dtw.WriteDocumentContent(note);}); }; }; +function BinaryCustomsTableWriter(memory, doc, CustomXmls) +{ + this.memory = memory; + this.Document = doc; + this.bs = new BinaryCommonWriter(this.memory); + this.CustomXmls = CustomXmls; + this.Write = function() + { + var oThis = this; + this.bs.WriteItemWithLength(function(){oThis.WriteCustomXmls();}); + }; + this.WriteCustomXmls = function() + { + var oThis = this; + for (var i = 0; i < this.CustomXmls.length; ++i) { + this.bs.WriteItem(c_oSerCustoms.Custom, function() {oThis.WriteCustomXml(oThis.CustomXmls[i]);}); + } + }; + this.WriteCustomXml = function(customXml) { + var oThis = this; + for(var i = 0; i < customXml.Uri.length; ++i){ + this.bs.WriteItem(c_oSerCustoms.Uri, function () { + oThis.memory.WriteString3(customXml.Uri[i]); + }); + } + if (null !== customXml.ItemId) { + this.bs.WriteItem(c_oSerCustoms.ItemId, function() { + oThis.memory.WriteString3(customXml.ItemId); + }); + } + if (null !== customXml.Content) { + this.bs.WriteItem(c_oSerCustoms.Content, function() { + oThis.memory.WriteString3(customXml.Content); + }); + } + }; +}; function BinaryFileReader(doc, openParams) { this.Document = doc; @@ -7423,6 +7474,10 @@ function BinaryFileReader(doc, openParams) this.Document.CustomProperties.fromStream(fileStream); this.stream.FromFileStream(fileStream); break; + case c_oSerTableTypes.Customs: + this.stream.Seek2(mtiOffBits); + res = (new Binary_CustomsTableReader(this.Document, this.oReadResult, this.stream, this.Document.CustomXmls)).Read(); + break; case c_oSerTableTypes.Glossary: if(!this.oReadResult.bCopyPaste || this.oReadResult.isDocumentPasting()) { AscFormat.ExecuteNoHistory(function(){ @@ -15885,6 +15940,45 @@ function Binary_OtherTableReader(doc, oReadResult, stream) return res; }; }; +function Binary_CustomsTableReader(doc, oReadResult, stream, CustomXmls) { + this.Document = doc; + this.oReadResult = oReadResult; + this.stream = stream; + this.CustomXmls = CustomXmls; + this.bcr = new Binary_CommonReader(this.stream); + this.Read = function() { + var oThis = this; + return this.bcr.ReadTable(function(t, l) { + return oThis.ReadCustom(t, l); + }); + }; + this.ReadCustom = function(type, length) { + var res = c_oSerConstants.ReadOk; + var oThis = this; + if (c_oSerCustoms.Custom === type) { + var custom = {Uri: [], ItemId: null, Content: null}; + res = this.bcr.Read1(length, function(t, l) { + return oThis.ReadCustomContent(t, l, custom); + }); + this.CustomXmls.push(custom); + } + else + res = c_oSerConstants.ReadUnknown; + return res; + }; + this.ReadCustomContent = function(type, length, custom) { + var res = c_oSerConstants.ReadOk; + if (c_oSerCustoms.Uri === type) { + custom.Uri.push(this.stream.GetString2LE(length)); + } else if (c_oSerCustoms.ItemId === type) { + custom.ItemId = this.stream.GetString2LE(length); + } else if (c_oSerCustoms.Content === type) { + custom.Content = this.stream.GetString2LE(length); + } else + res = c_oSerConstants.ReadUnknown; + return res; + }; +} function Binary_CommentsTableReader(doc, oReadResult, stream, oComments) { this.Document = doc; From 0fa22000153e7ac256829119d3b65e4d2e0f238f Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 11 Mar 2021 23:27:46 +0300 Subject: [PATCH 030/381] [bug] Fix bug 49063 --- common/Drawings/Format/ChartFormat.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 8b0c3e2d2d..e5cbcf8f7f 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -3293,7 +3293,7 @@ && AscFormat.isRealNumber(this.tx.strRef.strCache.ptCount) && this.tx.strRef.strCache.ptCount > 0) { if(this.tx.strRef.strCache.pts.length > 0) { - return this.tx.getText(); + return this.tx.getText(false); } return ""; } @@ -3821,7 +3821,7 @@ CSeriesBase.prototype.asc_getNameVal = function() { return AscFormat.ExecuteNoHistory(function() { if(this.tx) { - return this.tx.getText(); + return this.tx.getText(false); } return ""; }, this, []); @@ -10003,6 +10003,9 @@ this.updateCache(); } } + if(!this.strCache) { + return ""; + } var aValues = this.strCache.getValues(null); var sRet = ""; for(var i = 0; i < aValues.length; ++i) { @@ -12168,7 +12171,7 @@ CTitle.prototype.getDefaultTextForTxBody = function() { var sText; if(this.tx && this.tx.strRef) { - sText = this.tx.strRef.getText(true); + sText = this.tx.strRef.getText(false); if(typeof sText === "string" && sText.length > 0) { return sText; } @@ -12179,7 +12182,7 @@ if(this.parent.plotArea && this.parent.plotArea.charts.length === 1 && Array.isArray(this.parent.plotArea.charts[0].series) && this.parent.plotArea.charts[0].series.length === 1 && this.parent.plotArea.charts[0].series[0].tx) { var oTx = this.parent.plotArea.charts[0].series[0].tx; - sText = oTx.getText(true); + sText = oTx.getText(false); if(typeof sText === "string" && sText.length > 0) { return sText; } From 67d21dcd303ee6c81f020976684bfe15784ba62a Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 11 Mar 2021 23:59:14 +0300 Subject: [PATCH 031/381] [bug] Fix bug 49049 --- word/api.js | 1 + 1 file changed, 1 insertion(+) diff --git a/word/api.js b/word/api.js index 083ebfa7ce..13f51407a1 100644 --- a/word/api.js +++ b/word/api.js @@ -4262,6 +4262,7 @@ background-repeat: no-repeat;\ oLogicDocument.Recalculate(); this.sendEvent("asc_onAddSignature", sGuid); } + oLogicDocument.UpdateInterface(); oLogicDocument.FinalizeAction(); } }; From 81a4136e389688e39a644c62868365a71a2c26c5 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sat, 13 Mar 2021 02:09:23 +0300 Subject: [PATCH 032/381] [bug] Fix setting range on changing chart settings --- common/Drawings/Format/ChartSpace.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common/Drawings/Format/ChartSpace.js b/common/Drawings/Format/ChartSpace.js index 16c4e45b78..141119153a 100644 --- a/common/Drawings/Format/ChartSpace.js +++ b/common/Drawings/Format/ChartSpace.js @@ -12055,6 +12055,9 @@ var GLOBAL_PATH_COUNT = 0; return Asc.c_oAscError.ID.No; }; CChartSpace.prototype.setRange = function(sRange) { + if(sRange === this.getCommonRange()) { + return; + } var oDataRange = this.getDataRefs(); var aRefs = oDataRange.getSeriesRefsFromUnionRefs(AscFormat.fParseChartFormulaExternal(sRange), undefined, AscFormat.isScatterChartType(this.getChartType())); if(!Array.isArray(aRefs)) { From 6f53244a9f78d58872ab6365634ab61e2b2a0e53 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Mon, 15 Mar 2021 11:09:20 +0300 Subject: [PATCH 033/381] Fix/pivot group (#1662) * [se] Fix bug with synchronization pivot and slicer filter * [se] Fix bug with number group label * [se] Fix pivot refresh with groups; Prohibit adding slicers for calculated fields; Add cDate.getDayOfYear --- cell/model/PivotTables.js | 286 +++++++++++++++++++++++++++++-------- cell/model/Slicer.js | 20 ++- cell/model/autofilters.js | 6 +- cell/utils/utils.js | 8 ++ cell/view/WorksheetView.js | 9 +- 5 files changed, 253 insertions(+), 76 deletions(-) diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index 1af05659dc..1f59e53fd7 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -1778,6 +1778,18 @@ CT_PivotCacheDefinition.prototype.setPivotCacheId = function(val) { CT_PivotCacheDefinition.prototype.createNewPivotCacheId = function() { this.setPivotCacheId(AscCommon.CreateUInt32()); }; +CT_PivotCacheDefinition.prototype.getSlicerCaption = function () { + var res = []; + var cacheFields = this.getFields(); + if (cacheFields) { + cacheFields.forEach(function (elem) { + if (!elem.formula) { + res.push(elem.name); + } + }); + } + return res; +}; CT_PivotCacheDefinition.prototype.getFieldGroupType = function (fld) { var cacheField = this.getFields()[fld]; if (cacheField) { @@ -4013,48 +4025,64 @@ CT_pivotTableDefinition.prototype.checkPivotFieldItems = function(index) { } } }; -CT_pivotTableDefinition.prototype.checkPivotFieldItem = function(index, pivotField, cacheRecords, cacheField, oldCacheField) { - var item, i, j, newItem, equalMap = {}; +CT_pivotTableDefinition.prototype.checkPivotFieldItem = function(index, pivotField, cacheRecords, cacheField) { + cacheField.checkSharedItems(this, index, cacheRecords); + var pivotFieldOld = pivotField.clone(); + pivotField.init(cacheField.sharedItems.Items.getSize()); + pivotField.sortItems(Asc.c_oAscSortOptions.Ascending, cacheField.getSharedItems()); + pivotField.checkSubtotal(); + History.Add(AscCommonExcel.g_oUndoRedoPivotTables, AscCH.historyitem_PivotTable_PivotField, + this.worksheet ? this.worksheet.getId() : null, null, + new AscCommonExcel.UndoRedoData_PivotField(this.Get_Id(), index, pivotFieldOld, pivotField.clone())); +}; +CT_pivotTableDefinition.prototype.refreshPivotFieldItem = function(index, pivotField, cacheRecords, cacheField, oldCacheField) { + var item, i, j, newItem, equalMap = {}, discretePrMap= {}; var pivotFieldOld = pivotField.clone(); var newItems = new CT_Items(); cacheField.checkSharedItems(this, index, cacheRecords); - //save old items order - if (pivotField.items && oldCacheField) { - for (i = 0; i < pivotField.items.item.length; ++i) { - item = pivotField.items.item[i]; - if (Asc.c_oAscItemType.Data === item.t && !item.m) { - var oldSharedItem = oldCacheField.getSharedItem(item.x); - if (oldSharedItem) { - //todo getGroupOrSharedSize - for (j = 0; j < cacheField.getSharedSize(); ++j) { - if (oldSharedItem.shallowEqual(cacheField.getSharedItem(j))) { - //create new to lose other flags - newItem = item.clone(); - newItem.x = j; - newItems.item.push(newItem); - equalMap[newItem.x] = 1; - break; + var rangePr = oldCacheField.getGroupRangePr(); + if (rangePr && rangePr.getFieldGroupType() === cacheField.getFieldGroupType()) { + var rangePrAuto = cacheField.createGroupRangePr(); + cacheField.refreshGroupRangePr(index, rangePr.clone(), rangePrAuto); + pivotField.groupRangePr(cacheField.getGroupOrSharedSize()); + } else { + //save old items order + if (pivotField.items) { + for (i = 0; i < pivotField.items.item.length; ++i) { + item = pivotField.items.item[i]; + if (Asc.c_oAscItemType.Data === item.t && !item.m) { + var oldSharedItem = oldCacheField.getSharedItem(item.x); + if (oldSharedItem) { + //todo getGroupOrSharedSize + for (j = 0; j < cacheField.getSharedSize(); ++j) { + if (oldSharedItem.shallowEqual(cacheField.getSharedItem(j))) { + //create new to lose other flags + newItem = item.clone(); + newItem.x = j; + newItems.item.push(newItem); + equalMap[newItem.x] = 1; + discretePrMap[item.x] = newItem.x; + break; + } } } } } } - } - for (i = 0; i < cacheField.sharedItems.Items.getSize(); ++i) { - if(!equalMap[i]){ - newItem = new CT_Item(); - newItem.x = i; - newItems.item.push(newItem); + for (i = 0; i < cacheField.sharedItems.Items.getSize(); ++i) { + if(!equalMap[i]){ + newItem = new CT_Item(); + newItem.x = i; + newItems.item.push(newItem); + } } - } - pivotField.items = newItems; - if (!oldCacheField) { - pivotField.sortItems(Asc.c_oAscSortOptions.Ascending, cacheField.getSharedItems()); + pivotField.items = newItems; } pivotField.checkSubtotal(); History.Add(AscCommonExcel.g_oUndoRedoPivotTables, AscCH.historyitem_PivotTable_PivotField, this.worksheet ? this.worksheet.getId() : null, null, new AscCommonExcel.UndoRedoData_PivotField(this.Get_Id(), index, pivotFieldOld, pivotField.clone())); + return discretePrMap; }; CT_pivotTableDefinition.prototype.getFilterMaps = function(cacheFieldsWithData) { var t = this; @@ -5277,7 +5305,7 @@ CT_pivotTableDefinition.prototype.updateIndexesForNewPivotFields = function (new this.colFields = newCTColFields; }; CT_pivotTableDefinition.prototype._updateCacheDataUpdatePivotFieldsIndexes = function (newCacheDefinition, newCTPivotFields, pivotFieldsMap) { - var i; + var i, discretePrMaps = {}; var cacheDefinitionMap = new Map(); var newCacheFields = newCacheDefinition.getFields(); for (i = 0; i < newCacheFields.length; ++i) { @@ -5297,36 +5325,65 @@ CT_pivotTableDefinition.prototype._updateCacheDataUpdatePivotFieldsIndexes = fun } var newIndex = cacheDefinitionMap.get(oldCacheField.asc_getName()); if (undefined !== newIndex && oldPivotField) { - this._updateCacheDataUpdatePivotFieldsIndexesItems(oldCacheField, oldPivotField, newIndex, newCacheDefinition); + var discretePrMap = this._updateCacheDataUpdatePivotFieldsIndexesItems(oldCacheField, oldPivotField, newIndex, newCacheDefinition); //oldPivotField.items = null; newPivotFields[newIndex] = oldPivotField; pivotFieldsMap.set(i, newIndex); + if (discretePrMap) { + discretePrMaps[i] = discretePrMap; + } } } - //databaseField + this._updateCacheDataUpdatePivotFieldsIndexesGroup(newCacheDefinition, newCTPivotFields, pivotFieldsMap, cacheDefinitionMap, discretePrMaps); +}; +CT_pivotTableDefinition.prototype._updateCacheDataUpdatePivotFieldsIndexesGroup = function (newCacheDefinition, newCTPivotFields, pivotFieldsMap, cacheDefinitionMap, discretePrMaps) { + var i; + var newCacheFields = newCacheDefinition.getFields(); + var newPivotFields = newCTPivotFields.pivotField; + var oldPivotFields = this.asc_getPivotFields(); + var oldCacheFields = this.cacheDefinition.getFields(); for (i = 0; i < oldCacheFields.length; ++i) { var oldPivotField = oldPivotFields[i]; var oldCacheField = oldCacheFields[i]; - if(!oldCacheField.databaseField) { - var baseCacheField = oldCacheFields[oldCacheField.getGroupBase()]; - if(baseCacheField) { - var newIndex = cacheDefinitionMap.get(baseCacheField.asc_getName()); - if (undefined !== newIndex && oldPivotField) { + if (!oldCacheField.databaseField && oldPivotField) { + var oldBaseCacheField = oldCacheFields[oldCacheField.getGroupBase()]; + if (oldBaseCacheField) { + var newBaseIndex = cacheDefinitionMap.get(oldBaseCacheField.asc_getName()); + var newBaseCacheField = newCacheFields[newBaseIndex]; + var newBaseRangePr = newBaseCacheField && newBaseCacheField.getGroupRangePr(); + var oldRangePr = oldCacheField.getGroupRangePr(); + if (newBaseCacheField && discretePrMaps[newBaseIndex] && + (!oldRangePr || (oldRangePr.getFieldGroupType() === (newBaseRangePr && newBaseRangePr.getFieldGroupType())))) { var newIndexPar = newCacheFields.length; - if (c_oAscGroupType.Text === oldCacheField.getFieldGroupType()) { - var topCacheField = oldCacheFields[newCacheDefinition.getFieldsTopParWithBase(newIndex)]; + var newCacheField = oldCacheField.clone(); + if (-1 !== newCacheDefinition.cacheFields.getIndexByName(newCacheField.name)) { + newCacheField.name = newCacheDefinition.cacheFields.generateNewName(newCacheField.name); + } + var newPivotField = oldPivotField.clone(); + if (c_oAscGroupType.Text === newCacheField.getFieldGroupType()) { + var groupItemsMap = newCacheField.refreshGroupDiscrete(newBaseCacheField.getGroupOrSharedItems(), discretePrMaps[newBaseIndex]); + newPivotField.refreshGroupDiscrete(groupItemsMap, newCacheField.getGroupOrSharedSize()); + var topCacheField = newCacheFields[newCacheDefinition.getFieldsTopParWithBase(newBaseIndex)]; if (topCacheField) { topCacheField.initGroupPar(newIndexPar); } else { - baseCacheField.initGroupPar(newIndexPar); + newBaseCacheField.initGroupPar(newIndexPar); } } else { - baseCacheField.initGroupPar(newIndexPar); + var rangePrAuto = newBaseCacheField.createGroupRangePr(); + var rangePr = newCacheField.getGroupRangePr().clone(); + newCacheField.refreshGroupRangePr(newBaseIndex, rangePr, rangePrAuto); + newPivotField.groupRangePr(newCacheField.getGroupOrSharedSize()); + newBaseCacheField.initGroupPar(newIndexPar); } - oldCacheField.initGroupBase(newIndex); - newCacheFields[newIndexPar] = oldCacheField; - newPivotFields[newIndexPar] = oldPivotField; - pivotFieldsMap.set(i, newIndexPar); + newCacheField.initGroupBase(newBaseIndex); + if (newCacheField.name === oldCacheField.name) { + pivotFieldsMap.set(i, newIndexPar); + } else { + newPivotField.removeGroupFromAxis(); + } + newCacheFields[newIndexPar] = newCacheField; + newPivotFields[newIndexPar] = newPivotField; } } } @@ -5335,7 +5392,7 @@ CT_pivotTableDefinition.prototype._updateCacheDataUpdatePivotFieldsIndexes = fun CT_pivotTableDefinition.prototype._updateCacheDataUpdatePivotFieldsIndexesItems = function(oldCacheField, oldPivotField, newIndex, newCacheDefinition) { var newCacheFields = newCacheDefinition.getFields(); if (null !== oldPivotField.items && newCacheFields && newCacheFields[newIndex]) { - this.checkPivotFieldItem(newIndex, oldPivotField, newCacheDefinition.cacheRecords, newCacheFields[newIndex], oldCacheField); + return this.refreshPivotFieldItem(newIndex, oldPivotField, newCacheDefinition.cacheRecords, newCacheFields[newIndex], oldCacheField); } }; CT_pivotTableDefinition.prototype._updateCacheDataUpdatePageDataFieldsIndexes = function(oldFields, newFields, pivotFieldsMap) { @@ -6126,6 +6183,9 @@ CT_pivotTableDefinition.prototype.getPivotTablesConnectedBySlicer = function(fld CT_pivotTableDefinition.prototype.getPivotTablesConnectedByPivotCache = function() { return this.worksheet.workbook.getPivotTablesByCache(this.cacheDefinition); }; +CT_pivotTableDefinition.prototype.getSlicerCaption = function () { + return this.cacheDefinition.getSlicerCaption(); +}; CT_pivotTableDefinition.prototype.getFieldGroupType = function (fld) { return this.cacheDefinition.getFieldGroupType(fld); }; @@ -6254,16 +6314,14 @@ CT_pivotTableDefinition.prototype.groupRangePr = function (fld, rangePr, dateTyp var i; var pivotFields = this.asc_getPivotFields(); var cacheFields = this.asc_getCacheFields(); - pivotFields[fld].init(cacheFields[fld].getGroupOrSharedSize()); - pivotFields[fld].checkSubtotal(); + pivotFields[fld].groupRangePr(cacheFields[fld].getGroupOrSharedSize()); if (addFields) { var insertIndexRow = this.rowFields && this.rowFields.find(fld); var insertIndexCol = this.colFields && this.colFields.find(fld); for (i = 0; i < addFields.length; ++i) { var pivotIndex = pivotFields.length; var newPivotField = pivotFields[fld].clone(); - newPivotField.init(cacheFields[pivotIndex].getGroupOrSharedSize()); - newPivotField.checkSubtotal(); + newPivotField.groupRangePr(cacheFields[pivotIndex].getGroupOrSharedSize()); pivotFields.push(newPivotField); if (null !== insertIndexRow && -1 !== insertIndexRow) { this.addRowField(pivotIndex, insertIndexRow, false); @@ -6600,6 +6658,11 @@ CT_CacheFields.prototype.toXml = function(writer, name, stylesForWrite) { } writer.WriteXmlNodeEnd(name); }; +CT_CacheFields.prototype.getIndexByName = function(name) { + return this.cacheField.findIndex(function(elem){ + return elem.name === name; + }); +}; CT_CacheFields.prototype.generateNewName = function(name) { var nameDuplicateMap = new Map(); for (var i = 0; i < this.cacheField.length; ++i) { @@ -9315,7 +9378,9 @@ CT_CacheField.prototype.getGroupRangePr = function () { }; CT_CacheField.prototype.groupRangePr = function (fld, rangePr) { this.fieldGroup = new CT_FieldGroup(); - return this.fieldGroup.groupRangePr(fld, rangePr); + var sharedItems = this.getGroupOrSharedItems(); + var containsInteger = sharedItems && sharedItems.containsInteger || false; + return this.fieldGroup.groupRangePr(fld, rangePr, containsInteger); }; CT_CacheField.prototype.groupDiscrete = function (groupMap) { return this.fieldGroup.groupDiscrete(groupMap); @@ -9346,6 +9411,20 @@ CT_CacheField.prototype.ungroupDiscrete = function (base, baseCacheField, groupM CT_CacheField.prototype.ungroupRangePr = function () { return this.fieldGroup = null; }; +CT_CacheField.prototype.refreshGroupDiscrete = function (sharedItems, discretePrMap) { + return this.fieldGroup.refreshGroupDiscrete(sharedItems, discretePrMap); +}; +CT_CacheField.prototype.refreshGroupRangePr = function (baseFld, rangePr, rangePrAuto) { + if (rangePr.autoStart) { + rangePr.startNum = rangePrAuto.startNum; + rangePr.startDate = rangePrAuto.startDate; + } + if (rangePr.autoEnd) { + rangePr.endNum = rangePrAuto.endNum; + rangePr.endDate = rangePrAuto.endDate; + } + return this.groupRangePr(baseFld, rangePr); +}; function CT_CacheHierarchy() { //Attributes @@ -10961,11 +11040,12 @@ CT_PivotField.prototype.getFilterObject = function(cacheField, pageFilterItem, n var item = items[i]; if (Asc.c_oAscItemType.Data === item.t || Asc.c_oAscItemType.Blank === item.t) { var elem = AscCommonExcel.AutoFiltersOptionsElements(); - elem.val = elem.text = ""; + elem.val = item.x; + elem.text = ""; if (Asc.c_oAscItemType.Data === item.t) { var sharedItem = cacheField.getGroupOrSharedItem(item.x); if (sharedItem) { - elem.val = elem.text = sharedItem.getCellValue().getTextValue(num); + elem.text = sharedItem.getCellValue().getTextValue(num); } } elem.visible = !item.h && (null == pageFilterItem || i === pageFilterItem); @@ -11235,6 +11315,10 @@ CT_PivotField.prototype.groupDiscrete = function(reorderArray) { this.checkSubtotal(); } }; +CT_PivotField.prototype.groupRangePr = function(cacheSize) { + this.init(cacheSize); + this.checkSubtotal(); +}; CT_PivotField.prototype.convertToCacheGroupMap = function (groupMap) { var res = {}; for (var index in groupMap) { @@ -11288,6 +11372,28 @@ CT_PivotField.prototype.ungroupDiscrete = function(reorderArray, groupMembers) { this.checkSubtotal(); } }; +CT_PivotField.prototype.refreshGroupDiscrete = function(groupItemsMap, size) { + var newItems = new CT_Items(); + for(var i = 0; i < this.items.item.length; ++i){ + var index = groupItemsMap[this.items.item[i].x]; + if(undefined !== index) { + var newItem = new CT_Item(); + newItem.x = index; + newItems.item.push(newItem); + } + } + for(var i = newItems.item.length; i < size; ++i){ + var newItem = new CT_Item(); + newItem.x = i; + newItems.item.push(newItem); + } + this.items = newItems; + this.checkSubtotal(); +}; +CT_PivotField.prototype.removeGroupFromAxis = function() { + this.axis = null; + this.dataField = false; +}; function CT_PivotFieldX14() { //Attributes @@ -12614,10 +12720,10 @@ CT_FieldGroup.prototype.group = function(fld, baseCacheField, rangePr, groupMap) this.discretePr.group(reorderArray); } }; -CT_FieldGroup.prototype.groupRangePr = function (fld, rangePr) { +CT_FieldGroup.prototype.groupRangePr = function (fld, rangePr, containsInteger) { this.base = fld; this.rangePr = rangePr; - this.groupItems = this.rangePr.generateGroupItems(); + this.groupItems = this.rangePr.generateGroupItems(containsInteger); }; CT_FieldGroup.prototype.groupDiscrete = function (groupMap) { var reorderArray = this._groupDiscrete(groupMap); @@ -12651,6 +12757,28 @@ CT_FieldGroup.prototype.ungroupDiscrete = function (base, baseCacheField, groupM this.discretePr.ungroup(ungroupRes.reorderArray, groupMembers, ungroupRes.groupMembersPos); return {base: base, reorderArray: ungroupRes.reorderArray, groupMembersPos: ungroupRes.groupMembersPos}; }; +CT_FieldGroup.prototype.refreshGroupDiscrete = function (sharedItems, discretePrMap) { + var groupItemsMap = this.discretePr.refreshGroupDiscrete(sharedItems.getCount(), discretePrMap); + var groupItemsIndexReverse = new Array(Object.keys(groupItemsMap).length); + var i, item; + for (i in groupItemsMap) { + if (groupItemsMap.hasOwnProperty(i)) { + groupItemsIndexReverse[groupItemsMap[i]] = parseInt(i); + } + } + var newGroupItems = new CT_SharedItems(); + for (i = 0; i < groupItemsIndexReverse.length; ++i) { + item = this.groupItems.getItem(groupItemsIndexReverse[i]); + newGroupItems.addItem(item); + } + for (i = 0; i < sharedItems.getCount(); ++i) { + if(undefined === discretePrMap[i]) { + newGroupItems.addItem(sharedItems.getItem(i)); + } + } + this.groupItems = newGroupItems; + return groupItemsMap; +}; CT_FieldGroup.prototype._groupDiscrete = function(groupMap) { var i, item; var newGroupItems = new CT_SharedItems(); @@ -13617,7 +13745,11 @@ CT_RangePr.prototype.getGroupIndex = function(val, maxIndex) { } else { //c_oAscGroupBy.Days if (1 === this.groupInterval) { - res = Math.floor((val.getTime() - Date.UTC(val.getUTCFullYear())) / AscCommonExcel.c_msPerDay); + res = val.getDayOfYear(); + if (res >= 60 && !val.isLeapYear()) { + res += 1; + } + res -= 1;//day of year starts with 1 } else { var startDate = Asc.cDate.prototype.getDateFromExcel(this.startDate.getExcelDate());//trim time res = Math.floor((val.getTime() - startDate.getTime()) / AscCommonExcel.c_msPerDay / this.groupInterval); @@ -13628,7 +13760,7 @@ CT_RangePr.prototype.getGroupIndex = function(val, maxIndex) { } return res; }; -CT_RangePr.prototype.generateGroupItems = function () { +CT_RangePr.prototype.generateGroupItems = function (containsInteger) { var i, numFormat, numFormatShortDate, date; var groupItems = new CT_SharedItems(); if (this.groupBy === c_oAscGroupBy.Range) { @@ -13637,12 +13769,21 @@ CT_RangePr.prototype.generateGroupItems = function () { groupItems.addString('<' + numFormat.formatToChart(this.startNum)); var curVal = this.startNum; var nextVal = this.startNum + this.groupInterval; - while (AscCommon.compareNumbers(curVal, this.endNum) < 0) { - groupItems.addString(numFormat.formatToChart(curVal) + '-' + numFormat.formatToChart(nextVal)); + var integerСorrection = 0; + if (Number.isInteger(this.groupInterval) && Number.isInteger(this.startNum) && Number.isInteger(this.endNum) && containsInteger) { + integerСorrection = -1; + } + while (AscCommon.compareNumbers(nextVal, this.endNum) < 0) { + groupItems.addString(numFormat.formatToChart(curVal) + '-' + numFormat.formatToChart(nextVal + integerСorrection)); curVal = nextVal; nextVal = nextVal + this.groupInterval; } - groupItems.addString('>' + numFormat.formatToChart(curVal)); + if (0 === AscCommon.compareNumbers(nextVal, this.endNum)) { + groupItems.addString(numFormat.formatToChart(curVal) + '-' + numFormat.formatToChart(nextVal)); + } else { + groupItems.addString(numFormat.formatToChart(curVal) + '-' + numFormat.formatToChart(nextVal + integerСorrection)); + } + groupItems.addString('>' + numFormat.formatToChart(nextVal)); } else { numFormatShortDate = AscCommon.oNumFormatCache.get(AscCommon.getShortDateFormat()); groupItems.addString('<' + numFormatShortDate.formatToChart(this.startDate.getExcelDateWithTime2())); @@ -13871,6 +14012,33 @@ CT_DiscretePr.prototype.ungroup = function (reorderArray, groupMembers, groupMem } } }; +CT_DiscretePr.prototype.refreshGroupDiscrete = function (size, discretePrMap) { + var i, newX = [], groupItemsMap = {}, groupItemsIndex = 0, discretePrMapNewToOld = {}; + for (i in discretePrMap) { + if (discretePrMap.hasOwnProperty(i)) { + discretePrMapNewToOld[discretePrMap[i]] = parseInt(i); + } + } + for (i in discretePrMap) { + if (discretePrMap.hasOwnProperty(i)) { + var index = this.x[parseInt(i)].v; + if (undefined === groupItemsMap[index]) { + groupItemsMap[index] = groupItemsIndex++; + } + } + } + for (i = 0; i < size; ++i) { + var x = new CT_Index(); + if(undefined !== discretePrMapNewToOld[i]) { + x.v = groupItemsMap[this.x[discretePrMapNewToOld[i]].v]; + } else { + x.v = groupItemsIndex++; + } + newX.push(x); + } + this.x = newX; + return groupItemsMap; +}; function CT_FieldUsage() { diff --git a/cell/model/Slicer.js b/cell/model/Slicer.js index 63da9dccc8..27b8d61138 100644 --- a/cell/model/Slicer.js +++ b/cell/model/Slicer.js @@ -1448,6 +1448,13 @@ if (pivotTables.length === 0) { return; } + //todo assign values instead of setVisibleFromValues ? + var visible = {}; + for (var i = 0; i < values.length; ++i) { + if (values[i].visible) { + visible[values[i].val] = 1; + } + } var wb = this.wb; for (var i = 0; i < pivotTables.length; ++i) { var pivotTable = pivotTables[i]; @@ -1456,7 +1463,7 @@ } var autoFilterObject = new Asc.AutoFiltersOptions(); pivotTable.fillAutoFiltersOptions(autoFilterObject, fld); - autoFilterObject.setVisibleFromValues(values); + autoFilterObject.setVisibleFromValues(visible); autoFilterObject.filter.type = Asc.c_oAscAutoFilterTypes.Filters; changeRes = api._changePivot(pivotTable, confirmation, false, function(ws) { pivotTable.filterPivotItems(fld, autoFilterObject); @@ -1469,7 +1476,7 @@ } } var oldVal = new AscCommonExcel.UndoRedoData_BinaryWrapper2(this); - this.data.tabular.fromAutoFiltersOptionsElements(values); + this.data.tabular.fromAutoFiltersOptionsElements(visible); //add to history for 0 connection case(usually duplicate of syncSlicersWithPivot) var newVal = new AscCommonExcel.UndoRedoData_BinaryWrapper2(this); History.Add(AscCommonExcel.g_oUndoRedoSlicer, AscCH.historyitem_Slicer_SetCacheData, @@ -2807,7 +2814,8 @@ var sharedItem = cacheField.getGroupOrSharedItem(item.x); var num = sharedItem.isDateOrNum() && cacheField.getNumFormat(); var cellValue = sharedItem.getCellValue(); - elem.val = elem.text = cellValue.getTextValue(num); + elem.val = item.x; + elem.text = cellValue.getTextValue(num); elem.visible = item.s; elem.hiddenByOtherColumns = item.nd || undefined;//todo elem.isDateFormat = false; @@ -2819,9 +2827,9 @@ } return values; }; - CT_tabularSlicerCache.prototype.fromAutoFiltersOptionsElements = function(values) { - for(var i = 0; i < this.items.length && i < values.length; ++i){ - this.items[i].s = values[i].visible; + CT_tabularSlicerCache.prototype.fromAutoFiltersOptionsElements = function(visible) { + for(var i = 0; i < this.items.length; ++i){ + this.items[i].s = !!visible[this.items[i].x]; } }; CT_tabularSlicerCache.prototype.setSortOrder = function (val) { diff --git a/cell/model/autofilters.js b/cell/model/autofilters.js index 8e2692e0b2..5d796e1c0c 100644 --- a/cell/model/autofilters.js +++ b/cell/model/autofilters.js @@ -255,12 +255,12 @@ asc_getColumnName : function() { return this.columnName; }, asc_getSheetColumnName : function() { return this.sheetColumnName; }, - setVisibleFromValues: function(values) { + setVisibleFromValues: function(visible) { if (!this.values) { return; } - for (var i = 0; i < this.values.length && i < values.length; ++i) { - this.values[i].visible = values[i].visible; + for (var i = 0; i < this.values.length; ++i) { + this.values[i].visible = !!visible[this.values[i].val]; } } }; diff --git a/cell/utils/utils.js b/cell/utils/utils.js index 93ad8b717c..6bef978549 100644 --- a/cell/utils/utils.js +++ b/cell/utils/utils.js @@ -2928,6 +2928,14 @@ // durations of months for the leap year cDate.prototype.getDaysInMonth.L = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + cDate.prototype.getDayOfYear = function () { + //https://stackoverflow.com/a/8619946 + var start = new Date(this.getFullYear(), 0, 0); + var diff = (this - start) + ((start.getTimezoneOffset() - this.getTimezoneOffset()) * 60 * 1000); + var oneDay = 1000 * 60 * 60 * 24; + return Math.floor(diff / oneDay); + }; + cDate.prototype.truncate = function () { this.setUTCHours( 0, 0, 0, 0 ); return this; diff --git a/cell/view/WorksheetView.js b/cell/view/WorksheetView.js index 07054e809a..215be0f0f3 100644 --- a/cell/view/WorksheetView.js +++ b/cell/view/WorksheetView.js @@ -20825,14 +20825,7 @@ if (Asc.CT_pivotTableDefinition.prototype.asc_filterByCell) { var pivotTable = this.model.inPivotTable(ar); if (pivotTable) { - var pivotFields = pivotTable.asc_getPivotFields(); - if(pivotFields){ - var res = []; - for (var j = 0; j < pivotFields.length; j++) { - res.push(pivotTable.getCacheFieldName(j)); - } - return res; - } + return pivotTable.getSlicerCaption(); } } From fe41d96a56fa16959e772fa99ec5988cb26a9f51 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Mon, 15 Mar 2021 17:49:38 +0300 Subject: [PATCH 034/381] Fix bug #49039 --- word/Editor/Document.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 66410de06f..49e96c8f3a 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -16461,7 +16461,7 @@ CDocument.prototype.SetGlobalTrackRevisions = function(isTrack, isUpdateInterfac if (isTrack !== this.Settings.TrackRevisions && !this.IsSelectionLocked(AscCommon.changestype_Document_Settings)) { this.StartAction(AscDFH.historydescription_Document_SetTrackRevisions); - this.History.Add(new CChangesDocumentSettingsTrackRevisions(this, this.Settings.TrackRevisions, isTrack, this.Api.DocInfo.get_UserId())); + this.History.Add(new CChangesDocumentSettingsTrackRevisions(this, this.Settings.TrackRevisions, isTrack, this.GetUserId())); this.Settings.TrackRevisions = isTrack; this.FinalizeAction(); } @@ -22902,10 +22902,12 @@ CDocument.prototype.IsAutoCorrectFrenchPunctuation = function() */ CDocument.prototype.GetUserId = function(isConnectionId) { + var oApi = this.GetApi(); + if (isConnectionId) - return this.GetApi().CoAuthoringApi.getUserConnectionId(); + return oApi.CoAuthoringApi ? oApi.CoAuthoringApi.getUserConnectionId() : ""; - return this.GetApi().DocInfo.get_UserId(); + return oApi.DocInfo ? oApi.DocInfo.get_UserId() : ""; }; /** * Получаем метки селекта, в зависимости от типа селекта From d0a5a873c54679e76aa15fbc21e1c86240e341ca Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Mon, 15 Mar 2021 18:02:08 +0300 Subject: [PATCH 035/381] Fix bug #49046 --- word/Editor/Paragraph.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index dbb3c12e62..c3117b9b07 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -3983,8 +3983,17 @@ Paragraph.prototype.Internal_CalculateTextPr = function(LetterPos, StartPr) TextPr.Merge(CurTextPr); } - TextPr.FontFamily.Name = TextPr.RFonts.Ascii.Name; - TextPr.FontFamily.Index = TextPr.RFonts.Ascii.Index; + // TODO: Пока возвращаем всегда шрифт лежащий в Ascii, в будущем надо будет это переделать + if (undefined !== TextPr.RFonts && null !== TextPr.RFonts) + { + TextPr.ReplaceThemeFonts(this.GetTheme().themeElements.fontScheme); + + if (!TextPr.FontFamily) + TextPr.FontFamily = {Name : "", Index : -1}; + + TextPr.FontFamily.Name = TextPr.RFonts.Ascii.Name; + TextPr.FontFamily.Index = TextPr.RFonts.Ascii.Index; + } return TextPr; }; From ca0ba5707e7d3316f422141f29013ae98e93a53a Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Fri, 5 Mar 2021 14:55:27 +0300 Subject: [PATCH 036/381] [de] Fix bug 48920 (#1647) --- word/Editor/Serialize2.js | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/word/Editor/Serialize2.js b/word/Editor/Serialize2.js index 2213ea9353..7844806c37 100644 --- a/word/Editor/Serialize2.js +++ b/word/Editor/Serialize2.js @@ -1532,7 +1532,7 @@ function readMoveRangeStart(length, bcr, stream, oReadResult, oParStruct, isFrom var res = bcr.Read1(length, function(t, l) { return ReadMoveRangeStartElem(t, l, stream, reviewInfo, options); }); - if (options.name && options.id) { + if (null !== options.name && null !== options.id) { var move = new CParaRevisionMove(true, isFrom, options.name, reviewInfo); oReadResult.moveRanges[options.id] = move; oParStruct.addToContent(move); @@ -1543,7 +1543,6 @@ function readMoveRangeEnd(length, bcr, stream, oReadResult, oParStruct, isFrom, if (!oParStruct) { return false; } - var oldPos = stream.GetCurPos(); var options = {id: null}; bcr.Read1(length, function(t, l) { return ReadMoveRangeEndElem(t, l, stream, options); @@ -1558,9 +1557,6 @@ function readMoveRangeEnd(length, bcr, stream, oReadResult, oParStruct, isFrom, } else { oParStruct.addToContent(new CParaRevisionMove(false, isFrom, moveStart.GetMarkId())); } - } else { - stream.Seek2(oldPos); - return false; } return true; } @@ -1585,7 +1581,6 @@ function readBookmarkEnd(length, bcr, stream, oReadResult, oParStruct) { if (!oParStruct) { return false; } - var oldPos = stream.GetCurPos(); var bookmark = oReadResult.bookmarkForRead; bookmark.BookmarkId = undefined; bcr.Read1(length, function(t, l){ @@ -1594,9 +1589,6 @@ function readBookmarkEnd(length, bcr, stream, oReadResult, oParStruct) { if (oReadResult.bookmarksStarted[bookmark.BookmarkId]) { delete oReadResult.bookmarksStarted[bookmark.BookmarkId]; oParStruct.addToContent(new CParagraphBookmark(false, bookmark.BookmarkId)); - } else { - stream.Seek2(oldPos); - return false; } return true; } From 2362bc211f7b561a38e7414b4df729b872401a23 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Mon, 15 Mar 2021 18:18:51 +0300 Subject: [PATCH 037/381] Fix bug #49055 --- word/api.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/word/api.js b/word/api.js index 13f51407a1..fb0e9c9515 100644 --- a/word/api.js +++ b/word/api.js @@ -10951,7 +10951,7 @@ background-repeat: no-repeat;\ if (contentControls && contentControls.ContentControlObjects.length !== 0) { contentControls.clearAttack(); - oLogicDocument.UpdateSelectionState(); + oLogicDocument.UpdateSelection(); } } From 75192e081856a148932a2e1ffc14b1d1420ea3bc Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 16 Mar 2021 01:18:19 +0300 Subject: [PATCH 038/381] Fix bug #49090 Fix the problem with removing temporary content control wrapper --- word/Editor/StructuredDocumentTags/BlockLevel.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/word/Editor/StructuredDocumentTags/BlockLevel.js b/word/Editor/StructuredDocumentTags/BlockLevel.js index 1e1aefcf10..33fbc92c3f 100644 --- a/word/Editor/StructuredDocumentTags/BlockLevel.js +++ b/word/Editor/StructuredDocumentTags/BlockLevel.js @@ -567,9 +567,11 @@ CBlockLevelSdt.prototype.Is_Empty = function() }; CBlockLevelSdt.prototype.Add = function(oParaItem) { + var isRemoveWrapper = false; if (oParaItem && oParaItem.Type !== para_TextPr) { - this.private_ReplacePlaceHolderWithContent(); + isRemoveWrapper = this.IsPlaceHolder() && this.IsContentControlTemporary(); + this.private_ReplacePlaceHolderWithContent(true); } else if (oParaItem && oParaItem.Type !== para_TextPr && this.IsPlaceHolder()) { @@ -586,8 +588,11 @@ CBlockLevelSdt.prototype.Add = function(oParaItem) } else { - return this.Content.AddToParagraph(oParaItem); + this.Content.AddToParagraph(oParaItem); } + + if (isRemoveWrapper) + this.RemoveContentControlWrapper(); }; CBlockLevelSdt.prototype.PreDelete = function() { @@ -1149,6 +1154,9 @@ CBlockLevelSdt.prototype.Set_CurrentElement = function(bUpdateStates, PageAbs, o { if (oDocContent === this.Content) { + if (this.IsPlaceHolder()) + this.SelectAll(1); + var nIndex = this.GetIndex(); if (-1 !== nIndex) this.Parent.Set_CurrentElement(nIndex, bUpdateStates); @@ -1585,7 +1593,7 @@ CBlockLevelSdt.prototype.IsPlaceHolder = function() { return this.Pr.ShowingPlcHdr; }; -CBlockLevelSdt.prototype.private_ReplacePlaceHolderWithContent = function() +CBlockLevelSdt.prototype.private_ReplacePlaceHolderWithContent = function(isSkipTemporaryCheck) { if (!this.IsPlaceHolder()) return; @@ -1615,7 +1623,7 @@ CBlockLevelSdt.prototype.private_ReplacePlaceHolderWithContent = function() oParaMath.MoveCursorToStartPos(); } - if (this.IsContentControlTemporary()) + if (true !== isSkipTemporaryCheck && this.IsContentControlTemporary()) this.RemoveContentControlWrapper(); }; CBlockLevelSdt.prototype.private_ReplaceContentWithPlaceHolder = function(isSelect) From 35611bbbde4fc966ce6185dcdc916c010b49ab90 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 16 Mar 2021 01:18:19 +0300 Subject: [PATCH 039/381] Fix bug #49090 Fix the problem with removing temporary content control wrapper --- word/Editor/StructuredDocumentTags/BlockLevel.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/word/Editor/StructuredDocumentTags/BlockLevel.js b/word/Editor/StructuredDocumentTags/BlockLevel.js index 1e1aefcf10..33fbc92c3f 100644 --- a/word/Editor/StructuredDocumentTags/BlockLevel.js +++ b/word/Editor/StructuredDocumentTags/BlockLevel.js @@ -567,9 +567,11 @@ CBlockLevelSdt.prototype.Is_Empty = function() }; CBlockLevelSdt.prototype.Add = function(oParaItem) { + var isRemoveWrapper = false; if (oParaItem && oParaItem.Type !== para_TextPr) { - this.private_ReplacePlaceHolderWithContent(); + isRemoveWrapper = this.IsPlaceHolder() && this.IsContentControlTemporary(); + this.private_ReplacePlaceHolderWithContent(true); } else if (oParaItem && oParaItem.Type !== para_TextPr && this.IsPlaceHolder()) { @@ -586,8 +588,11 @@ CBlockLevelSdt.prototype.Add = function(oParaItem) } else { - return this.Content.AddToParagraph(oParaItem); + this.Content.AddToParagraph(oParaItem); } + + if (isRemoveWrapper) + this.RemoveContentControlWrapper(); }; CBlockLevelSdt.prototype.PreDelete = function() { @@ -1149,6 +1154,9 @@ CBlockLevelSdt.prototype.Set_CurrentElement = function(bUpdateStates, PageAbs, o { if (oDocContent === this.Content) { + if (this.IsPlaceHolder()) + this.SelectAll(1); + var nIndex = this.GetIndex(); if (-1 !== nIndex) this.Parent.Set_CurrentElement(nIndex, bUpdateStates); @@ -1585,7 +1593,7 @@ CBlockLevelSdt.prototype.IsPlaceHolder = function() { return this.Pr.ShowingPlcHdr; }; -CBlockLevelSdt.prototype.private_ReplacePlaceHolderWithContent = function() +CBlockLevelSdt.prototype.private_ReplacePlaceHolderWithContent = function(isSkipTemporaryCheck) { if (!this.IsPlaceHolder()) return; @@ -1615,7 +1623,7 @@ CBlockLevelSdt.prototype.private_ReplacePlaceHolderWithContent = function() oParaMath.MoveCursorToStartPos(); } - if (this.IsContentControlTemporary()) + if (true !== isSkipTemporaryCheck && this.IsContentControlTemporary()) this.RemoveContentControlWrapper(); }; CBlockLevelSdt.prototype.private_ReplaceContentWithPlaceHolder = function(isSelect) From e348659aae41c2462fa6f45b0bfc3b69cb819cd5 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 16 Mar 2021 13:16:53 +0300 Subject: [PATCH 040/381] Fix bug #49097 --- common/CollaborativeEditingBase.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/common/CollaborativeEditingBase.js b/common/CollaborativeEditingBase.js index 77c9de2af9..ad1f178b0b 100644 --- a/common/CollaborativeEditingBase.js +++ b/common/CollaborativeEditingBase.js @@ -1282,14 +1282,15 @@ CCollaborativeEditingBase.prototype.UpdateDocumentPositionsByState = function(Do editor.CoAuthoringApi.saveChanges(aSendingChanges, null, null, false, this.getCollaborativeEditing()); - this.private_RestoreDocumentState(DocState); - - oLogicDocument.TurnOnCheckChartSelection(); this.private_RecalculateDocument(arrReverseChanges); - oLogicDocument.Document_UpdateSelectionState(); - oLogicDocument.Document_UpdateInterfaceState(); - oLogicDocument.Document_UpdateRulersState(); + this.private_RestoreDocumentState(DocState); + + oLogicDocument.TurnOnCheckChartSelection(); + + oLogicDocument.UpdateSelection(); + oLogicDocument.UpdateInterface(); + oLogicDocument.UpdateRulers(); }; CCollaborativeEditingBase.prototype.CanUndo = function() { From ba7afaa78cdfcfb5058cf0f4ec801c3c86b32f6f Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Tue, 16 Mar 2021 14:22:11 +0300 Subject: [PATCH 041/381] [se] Fix bug 49013 --- cell/model/clipboard.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/model/clipboard.js b/cell/model/clipboard.js index 5f2ab7661a..d18e5197ae 100644 --- a/cell/model/clipboard.js +++ b/cell/model/clipboard.js @@ -2985,7 +2985,7 @@ var defrPr = oBinaryFileReader.oReadResult && oBinaryFileReader.oReadResult.DefrPr; if (defrPr && newCDocument.Styles && newCDocument.Styles.Default && newCDocument.Styles.Default.TextPr) { newCDocument.Styles.Default.TextPr.FontSize = defrPr.FontSize; - if (defrPr.RFonts) { + if (defrPr.RFonts && defrPr.RFonts.Ascii !== undefined) { newCDocument.Styles.Default.TextPr.RFonts = defrPr.RFonts; } } From 154ba348164ef268d31bb32739f5a1ef4f1927ff Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Tue, 16 Mar 2021 16:15:05 +0300 Subject: [PATCH 042/381] [se] Fix cell edit crash --- cell/view/CellEditorView.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/view/CellEditorView.js b/cell/view/CellEditorView.js index 5751734a06..8990c0f67a 100644 --- a/cell/view/CellEditorView.js +++ b/cell/view/CellEditorView.js @@ -1463,7 +1463,7 @@ } if (curTop < 0) { --this.topLineIndex; - if (this.textRender.lines && this.textRender.lines.length && this.topLineIndex > this.textRender.lines.length) { + if (this.textRender.lines && this.textRender.lines.length && this.topLineIndex >= this.textRender.lines.length) { this.topLineIndex = this.textRender.lines.length - 1; } dy = asc_round(this.textRender.getLineInfo(this.topLineIndex).th * zoom); From 45acf47b7c5a090b13ffc11876938e20334df945 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 16 Mar 2021 20:59:52 +0300 Subject: [PATCH 043/381] Fix bug #49087 --- word/Editor/Paragraph.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index c3117b9b07..d1bb003e35 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -3505,6 +3505,10 @@ Paragraph.prototype.Remove = function(nCount, isRemoveWholeElement, bRemoveOnlyS this.Content[StartPos].MoveCursorToStartPos(); this.Correct_ContentPos2(); } + else + { + this.CurPos.ContentPos = StartPos; + } } } else From 882cad855a7231542f60ff1d8b3f7622ffec7da8 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Wed, 17 Mar 2021 12:11:57 +0300 Subject: [PATCH 044/381] [bug] Fix bug 49142 --- word/Editor/Document.js | 1 + word/Editor/DocumentContent.js | 1 + word/Editor/Paragraph.js | 22 ++++++++++++++++++++++ word/Editor/Paragraph/ParaDrawing.js | 13 +++++++++++-- 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index ef78c4eb6e..902cd2ab02 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -17779,6 +17779,7 @@ CDocument.prototype.controller_AddNewParagraph = function(bRecalculate, bForceAd NewParagraph.SetReviewType(ItemReviewType); Item.SetReviewType(reviewtype_Common); } + NewParagraph.CheckSignatureLinesOnAdd(); } } else if (type_Table === Item.GetType() || type_BlockLevelSdt === Item.GetType()) diff --git a/word/Editor/DocumentContent.js b/word/Editor/DocumentContent.js index 4e340ec2eb..4b8ad37211 100644 --- a/word/Editor/DocumentContent.js +++ b/word/Editor/DocumentContent.js @@ -2567,6 +2567,7 @@ CDocumentContent.prototype.AddNewParagraph = function(bForceAdd) NewParagraph.SetReviewType(ItemReviewType); Item.SetReviewType(reviewtype_Common); } + NewParagraph.CheckSignatureLinesOnAdd(); } } else if (type_Table === Item.GetType() || type_BlockLevelSdt === Item.GetType()) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index 6c93fbc42d..9315c9cdcc 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -15606,6 +15606,28 @@ Paragraph.prototype.CheckRunContent = function(fCheck) return false; }; + +/** +* Check signature lines are present in the content and send asc_onAddSignature event + */ +Paragraph.prototype.CheckSignatureLinesOnAdd = function() +{ + this.CheckRunContent( + function (oRun) + { + for (var nPos = 0, nCount = oRun.Content.length; nPos < nCount; ++nPos) + { + var oItem = oRun.Content[nPos]; + if(oItem.Type === para_Drawing) + { + oItem.CheckSignatureLineOnAdd(); + } + } + + } + ); +}; + /** * Обрабатываем сложные поля данного параграфа */ diff --git a/word/Editor/Paragraph/ParaDrawing.js b/word/Editor/Paragraph/ParaDrawing.js index dec1b33b62..99bbab50ed 100644 --- a/word/Editor/Paragraph/ParaDrawing.js +++ b/word/Editor/Paragraph/ParaDrawing.js @@ -2949,9 +2949,18 @@ ParaDrawing.prototype.PreDelete = function() var oGrObject = this.GraphicObj; if(oGrObject && oGrObject.signatureLine) { - var sId = oGrObject.signatureLine.id; + var oOldSignature = oGrObject.signatureLine; oGrObject.setSignature(null); - editor && editor.sendEvent("asc_onRemoveSignature", sId); + editor && editor.sendEvent("asc_onRemoveSignature", oOldSignature); + oGrObject.setSignature(oOldSignature); + } +}; +ParaDrawing.prototype.CheckSignatureLineOnAdd = function() +{ + var oGrObject = this.GraphicObj; + if(oGrObject && oGrObject.signatureLine) + { + editor && editor.sendEvent("asc_onAddSignature", oGrObject.signatureLine.id); } }; ParaDrawing.prototype.CheckContentControlEditingLock = function(){ From 1ff0ea8535f76fca642615e739e85c90dfd90d46 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 17 Mar 2021 20:46:14 +0300 Subject: [PATCH 045/381] Fix bug #49105 --- word/Editor/Document.js | 21 ++++++++++++++------- word/Editor/DocumentContent.js | 23 +++++++++++++++-------- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 49e96c8f3a..46584e331a 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -8986,18 +8986,25 @@ CDocument.prototype.InsertContent = function(SelectedContent, NearPos) { if (LastClass.GetParentForm()) { + var nInLastClassPos = ParaNearPos.NearPos.ContentPos.Data[ParaNearPos.Classes.length - 1] + var isPlaceHolder = LastClass.GetParentForm().IsPlaceHolder(); + if (isPlaceHolder && LastClass.GetParent() instanceof CInlineLevelSdt) + { + var oInlineLeveLSdt = LastClass.GetParent(); + oInlineLeveLSdt.ReplacePlaceHolderWithContent(); + LastClass = oInlineLeveLSdt.GetElement(0); + nInLastClassPos = 0; + } + var nInRunStartPos = LastClass.State.ContentPos; - LastClass.AddText(SelectedContent.GetText({ParaEndToSpace : false}), ParaNearPos.NearPos.ContentPos.Data[ParaNearPos.Classes.length - 1]); + LastClass.AddText(SelectedContent.GetText({ParaEndToSpace : false}), nInLastClassPos); var nInRunEndPos = LastClass.State.ContentPos; LastClass.SelectThisElement(); - if (!isPlaceHolder) - { - LastClass.Selection.Use = true; - LastClass.Selection.StartPos = nInRunStartPos; - LastClass.Selection.EndPos = nInRunEndPos; - } + LastClass.Selection.Use = true; + LastClass.Selection.StartPos = nInRunStartPos; + LastClass.Selection.EndPos = nInRunEndPos; return; } diff --git a/word/Editor/DocumentContent.js b/word/Editor/DocumentContent.js index 941e5ceec8..fc7cbfb9df 100644 --- a/word/Editor/DocumentContent.js +++ b/word/Editor/DocumentContent.js @@ -4394,18 +4394,25 @@ CDocumentContent.prototype.InsertContent = function(SelectedContent, NearPos) { if (LastClass.GetParentForm()) { - var isPlaceHolder = LastClass.GetParentForm().IsPlaceHolder(); + var nInLastClassPos = ParaNearPos.NearPos.ContentPos.Data[ParaNearPos.Classes.length - 1] + + var isPlaceHolder = LastClass.GetParentForm().IsPlaceHolder(); + if (isPlaceHolder && LastClass.GetParent() instanceof CInlineLevelSdt) + { + var oInlineLeveLSdt = LastClass.GetParent(); + oInlineLeveLSdt.ReplacePlaceHolderWithContent(); + LastClass = oInlineLeveLSdt.GetElement(0); + nInLastClassPos = 0; + } + var nInRunStartPos = LastClass.State.ContentPos; - LastClass.AddText(SelectedContent.GetText({ParaEndToSpace : false}), ParaNearPos.NearPos.ContentPos.Data[ParaNearPos.Classes.length - 1]); + LastClass.AddText(SelectedContent.GetText({ParaEndToSpace : false}), nInLastClassPos); var nInRunEndPos = LastClass.State.ContentPos; LastClass.SelectThisElement(); - if (!isPlaceHolder) - { - LastClass.Selection.Use = true; - LastClass.Selection.StartPos = nInRunStartPos; - LastClass.Selection.EndPos = nInRunEndPos; - } + LastClass.Selection.Use = true; + LastClass.Selection.StartPos = nInRunStartPos; + LastClass.Selection.EndPos = nInRunEndPos; return; } From 3e983de2e6a7bc9de2aa9296b6fef1e525b5936a Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 17 Mar 2021 21:46:09 +0300 Subject: [PATCH 046/381] Fix bug #49129 From now the height of comb form will not depend on the content --- word/Editor/Run.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/word/Editor/Run.js b/word/Editor/Run.js index 56294cac57..61d2f2c30b 100644 --- a/word/Editor/Run.js +++ b/word/Editor/Run.js @@ -4418,6 +4418,13 @@ ParaRun.prototype.Recalculate_LineMetrics = function(PRS, ParaPr, _CurLine, _Cur } } + if (false === UpdateLineMetricsText) + { + var oTextForm = this.GetTextForm(); + if (oTextForm && oTextForm.IsComb()) + UpdateLineMetricsText = true; + } + if (true === UpdateLineMetricsText) { // Пересчитаем метрику строки относительно размера данного текста From b1a77c441a4dfd4893eb41a45e070df10f8ead32 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 18 Mar 2021 09:12:59 +0300 Subject: [PATCH 047/381] Disable spellchecker logs (#1680) --- common/apiBase.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/apiBase.js b/common/apiBase.js index e4498b2048..03a90435f9 100644 --- a/common/apiBase.js +++ b/common/apiBase.js @@ -1457,7 +1457,7 @@ } else { if (!this.SpellCheckUrl) { this.SpellCheckApi = {}; - this.SpellCheckApi.log = true; + this.SpellCheckApi.log = false; this.SpellCheckApi.worker = new CSpellchecker({ enginePath: "../../../../sdkjs/common/spell/spell", dictionariesPath: "./../../../../dictionaries" From 282c67c0f0c7dccc689b6e3327811ffc4d53cf29 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 18 Mar 2021 19:13:58 +0300 Subject: [PATCH 048/381] Feature/k630 (#1682) * Fix scaling bugs * Fix spaces --- common/Drawings/CommonController.js | 3 + common/editorscommon.js | 100 ++++++++++++++++++---------- word/Drawing/DrawingDocument.js | 21 ++++-- word/Editor/Math.js | 4 +- 4 files changed, 83 insertions(+), 45 deletions(-) diff --git a/common/Drawings/CommonController.js b/common/Drawings/CommonController.js index ccc0c3f421..1a5e6dab06 100644 --- a/common/Drawings/CommonController.js +++ b/common/Drawings/CommonController.js @@ -11336,6 +11336,9 @@ function ApplyPresetToChartSpace(oChartSpace, aPreset, bCreate){ var _category2 = (_type >> 16) & 0xFF; _type &= 0xFFFF; + if (_category1 >= _sizes.length) + continue; + if (undefined == _math.Data[_category1]) { _math.Data[_category1] = new AscCommon.CAscMathCategory(); diff --git a/common/editorscommon.js b/common/editorscommon.js index ab01fd6fc9..4abad68173 100644 --- a/common/editorscommon.js +++ b/common/editorscommon.js @@ -6286,48 +6286,76 @@ return aDelta; } - function _getIntegerByDivide(val) - { - // поддерживаем scale, который - // 1) рациональное число - // 2) знаменатель несократимой дроби <= 10 (поддерживаем проценты кратные 1/10, 1/9, ... 1/2) - var test = val; - for (var i = 0; i < 10; i++) - { - test = (val - i) * AscCommon.AscBrowser.retinaPixelRatio; - if (test > 0 && Math.abs(test - (test >> 0)) < 0.001) - return { start: (val - i), end : (test >> 0) }; - } - return { start : val, end: AscCommon.AscBrowser.convertToRetinaValue(val, true) }; - }; + function _getIntegerByDivide(val) + { + // поддерживаем scale, который + // 1) рациональное число + // 2) знаменатель несократимой дроби <= 10 (поддерживаем проценты кратные 1/10, 1/9, ... 1/2) + var test = val; + for (var i = 0; i < 10; i++) + { + test = (val - i) * AscCommon.AscBrowser.retinaPixelRatio; + if (test > 0 && Math.abs(test - (test >> 0)) < 0.001) + return { start: (val - i), end : (test >> 0) }; + } + return { start : val, end: AscCommon.AscBrowser.convertToRetinaValue(val, true) }; + }; - function calculateCanvasSize(element) + function calculateCanvasSize(element, useStyle) { - var scale = AscCommon.AscBrowser.retinaPixelRatio; - if (Math.abs(scale - (scale >> 0)) < 0.001) + var scale = AscCommon.AscBrowser.retinaPixelRatio; + var new_width = 0; + var new_height = 0; + if (Math.abs(scale - (scale >> 0)) < 0.001) { - element.width = (scale * parseInt(element.style.width)); - element.height = (scale * parseInt(element.style.height)); - return; + new_width = (scale * parseInt(element.style.width)); + new_height = (scale * parseInt(element.style.height)); + + if (element.width !== new_width) + element.width = new_width; + + if (element.height !== new_height) + element.height = new_height; + + return; } - var rect = element.getBoundingClientRect(); - if (!AscCommon.AscBrowser.isMozilla) - { - element.width = Math.round(scale * rect.right) - Math.round(scale * rect.left); - element.height = Math.round(scale * rect.bottom) - Math.round(scale * rect.top); - } - else - { - var sizeW = _getIntegerByDivide(rect.width); - var sizeH = _getIntegerByDivide(rect.height); - if (sizeW.start !== rect.width) element.style.width = sizeW.start + "px"; - if (sizeH.start !== rect.height) element.style.height = sizeH.start + "px"; + var rect = element.getBoundingClientRect(); + if (rect.width === 0 && rect.height === 0 && useStyle === true) + { + var style_width = parseInt(element.style.width); + var style_height = parseInt(element.style.height); - element.width = sizeW.end; - element.height = sizeH.end; - } - }; + rect = { + x : 0, left : 0, + y : 0, top : 0, + width : style_width, right : style_width, + height : style_height, bottom : style_height + }; + } + + if (!AscCommon.AscBrowser.isMozilla) + { + new_width = Math.round(scale * rect.right) - Math.round(scale * rect.left); + new_height = Math.round(scale * rect.bottom) - Math.round(scale * rect.top); + } + else + { + var sizeW = _getIntegerByDivide(rect.width); + var sizeH = _getIntegerByDivide(rect.height); + if (sizeW.start !== rect.width) element.style.width = sizeW.start + "px"; + if (sizeH.start !== rect.height) element.style.height = sizeH.start + "px"; + + new_width = sizeW.end; + new_height = sizeH.end; + } + + if (element.width !== new_width) + element.width = new_width; + + if (element.height !== new_height) + element.height = new_height; + }; //------------------------------------------------------------export--------------------------------------------------- window['AscCommon'] = window['AscCommon'] || {}; diff --git a/word/Drawing/DrawingDocument.js b/word/Drawing/DrawingDocument.js index e082911b7f..163dc30029 100644 --- a/word/Drawing/DrawingDocument.js +++ b/word/Drawing/DrawingDocument.js @@ -5659,12 +5659,16 @@ function CDrawingDocument() if (0 == _height) _height = 80; - if (this.GuiCanvasTextProps.width != _width || this.GuiCanvasTextProps.height != _height) - { - this.GuiCanvasTextProps.width = _width; - this.GuiCanvasTextProps.height = _height; - } + this.GuiCanvasTextProps.style.width = _width + "px"; + this.GuiCanvasTextProps.style.height = _height + "px"; } + + var old_width = this.GuiCanvasTextProps.width; + var old_height = this.GuiCanvasTextProps.height; + AscCommon.calculateCanvasSize(this.GuiCanvasTextProps, true); + + if (old_width !== this.GuiCanvasTextProps.width || old_height !== this.GuiCanvasTextProps.height) + this.GuiLastTextProps = null; } else { @@ -5680,8 +5684,10 @@ function CDrawingDocument() if (0 == _height) _height = 80; - this.GuiCanvasTextProps.width = _width; - this.GuiCanvasTextProps.height = _height; + this.GuiCanvasTextProps.style.width = _width + "px"; + this.GuiCanvasTextProps.style.height = _height + "px"; + + AscCommon.calculateCanvasSize(this.GuiCanvasTextProps, true); _div_elem.appendChild(this.GuiCanvasTextProps); } @@ -5770,6 +5776,7 @@ function CDrawingDocument() par.Pr = _paraPr; var _textPr = new CTextPr(); _textPr.FontFamily = {Name: "Arial", Index: -1}; + _textPr.FontSize = (AscCommon.AscBrowser.convertToRetinaValue(11 << 1, true) >> 0) * 0.5; _textPr.Strikeout = this.GuiLastTextProps.Strikeout; diff --git a/word/Editor/Math.js b/word/Editor/Math.js index 2b55968905..4c4bc7b132 100644 --- a/word/Editor/Math.js +++ b/word/Editor/Math.js @@ -2656,9 +2656,9 @@ ParaMath.prototype.MathToImageConverter = function(bCopy, _canvasInput, _widthPx h_px *= raster_koef; if (undefined !== _widthPx) - _widthPx *= raster_koef; + _widthPx = (_widthPx * raster_koef) >> 0; if (undefined !== _heightPx) - _heightPx *= raster_koef; + _heightPx = (_heightPx * raster_koef) >> 0; } var _canvas = null; From 3133c924eae71db1837d071dfad21cd3dda9c696 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 18 Mar 2021 14:54:20 +0300 Subject: [PATCH 049/381] Implement loading images to picture content control via drag-n-drop from outside --- word/api.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/word/api.js b/word/api.js index fb0e9c9515..74270a26ea 100644 --- a/word/api.js +++ b/word/api.js @@ -5264,8 +5264,16 @@ background-repeat: no-repeat;\ else{ if(this.ImageLoader){ var oApi = this; - this.ImageLoader.LoadImagesWithCallback(urls, function(){ - if (false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Content)){ + this.ImageLoader.LoadImagesWithCallback(urls, function() + { + var sContentControlId = oApi.asc_GetCurrentContentControl(); + var oContentControl = AscCommon.g_oTableId.Get_ById(sContentControlId); + if (oContentControl && oContentControl.IsPicture() && urls && urls.length) + { + oApi.asc_SetContentControlPictureUrl(urls[0], sContentControlId); + } + else if (false === this.WordControl.m_oLogicDocument.Document_Is_SelectionLocked(changestype_Paragraph_Content)) + { var aImages = []; for(var i = 0; i < urls.length; ++i){ var _image = oApi.ImageLoader.LoadImage(urls[i], 1); @@ -5275,9 +5283,7 @@ background-repeat: no-repeat;\ } if(aImages.length){ oApi.WordControl.m_oLogicDocument.StartAction(); - oApi.WordControl.m_oLogicDocument.TurnOff_InterfaceEvents(); oApi.WordControl.m_oLogicDocument.AddImages(aImages); - oApi.WordControl.m_oLogicDocument.TurnOn_InterfaceEvents(true); oApi.WordControl.m_oLogicDocument.FinalizeAction(); } From ce5c92ee88e37559cb41379eb8363a29396f18fe Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 18 Mar 2021 19:14:44 +0300 Subject: [PATCH 050/381] Fix bug #49135 Allow user to drag image onto picture content control --- word/Editor/GraphicObjects/DrawingStates.js | 52 ++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/word/Editor/GraphicObjects/DrawingStates.js b/word/Editor/GraphicObjects/DrawingStates.js index 9506a3ba2f..613a19691e 100644 --- a/word/Editor/GraphicObjects/DrawingStates.js +++ b/word/Editor/GraphicObjects/DrawingStates.js @@ -526,7 +526,57 @@ MoveInlineObject.prototype = if (this.majorObject.parent.CanInsertToPos(this.InlinePos)) { - if(!e.CtrlKey) + var oDstRun = null; + var arrClasses = this.InlinePos.Paragraph.GetClassesByPos(this.InlinePos.ContentPos); + for (var nIndex = arrClasses.length - 1; nIndex >= 0; --nIndex) + { + if (arrClasses[nIndex] instanceof ParaRun) + { + oDstRun = arrClasses[nIndex]; + break; + } + } + + var oDstPictureCC = null; + if (oDstRun) + { + var arrContentControls = oDstRun.GetParentContentControls(); + for (var nIndex = arrContentControls.length - 1; nIndex >= 0; --nIndex) + { + if (arrContentControls[nIndex].IsPicture()) + { + oDstPictureCC = arrContentControls[nIndex]; + break; + } + } + } + + if (oDstPictureCC) + { + var arrParaDrawings = oDstPictureCC.GetAllDrawingObjects(); + + if (this.majorObject.parent.IsPicture() && arrParaDrawings.length > 0 && !this.drawingObjects.document.IsSelectionLocked(AscCommon.changestype_None, { + Type : AscCommon.changestype_Drawing_Props, + Elements : [this.majorObject.parent.checkShapeChildAndGetTopParagraph(this.InlinePos.Paragraph)], + CheckType : AscCommon.changestype_Paragraph_Content + }, false, this.drawingObjects.document.IsFillingFormMode())) + { + this.drawingObjects.document.StartAction(AscDFH.historydescription_Document_CopyAndMoveInlineObject); + + var oDrawing = this.majorObject.copy(undefined); + if (oDrawing.copyComments) + oDrawing.copyComments(this.drawingObjects.document); + + oDrawing.setParent(arrParaDrawings[0]); + arrParaDrawings[0].Set_GraphicObject(oDrawing); + + this.drawingObjects.resetSelection(); + this.drawingObjects.selectObject(oDrawing, pageIndex); + this.drawingObjects.document.Recalculate(); + this.drawingObjects.document.FinalizeAction(); + } + } + else if(!e.CtrlKey) { var arrCheckTypes = []; From ff03eecdd1994359e545682c70ca63374a2acf03 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 18 Mar 2021 21:11:22 +0300 Subject: [PATCH 051/381] Fix bug #49170 --- word/Editor/Run.js | 84 +++++++++++++++++++++++++--------------------- 1 file changed, 45 insertions(+), 39 deletions(-) diff --git a/word/Editor/Run.js b/word/Editor/Run.js index 61d2f2c30b..82cd147917 100644 --- a/word/Editor/Run.js +++ b/word/Editor/Run.js @@ -12539,60 +12539,66 @@ ParaRun.prototype.private_ProcessHyperlinkAutoCorrect = function(oDocument, oPar if (this.IsInHyperlink()) return false; - var nTypeHyper = AscCommon.getUrlType(sText); - if (AscCommon.c_oAscUrlType.Invalid !== nTypeHyper) + if (/(^(((http|https|ftp):\/\/)|(mailto:)|(www.)))|@/i.test(sText)) { - if (isPresentation || !oDocument.IsSelectionLocked({ - Type : AscCommon.changestype_2_ElementsArray_and_Type, - Elements : [oParagraph], - CheckType : AscCommon.changestype_Paragraph_Properties - })) - { - oDocument.StartAction(AscDFH.historydescription_Document_AutomaticListAsType); - var oTopElement; + // Удаляем концевые пробелы и переводы строки перед проверкой гиперссылок + sText = sText.replace(/\s+$/, ''); - if (isPresentation) + var nTypeHyper = AscCommon.getUrlType(sText); + if (AscCommon.c_oAscUrlType.Invalid !== nTypeHyper) + { + if (isPresentation || !oDocument.IsSelectionLocked({ + Type : AscCommon.changestype_2_ElementsArray_and_Type, + Elements : [oParagraph], + CheckType : AscCommon.changestype_Paragraph_Properties + })) { - var oParentContent = oParagraph.Parent; - var oTable = oParentContent.IsInTable(true); - if (oTable) + oDocument.StartAction(AscDFH.historydescription_Document_AutomaticListAsType); + var oTopElement; + + if (isPresentation) { - oTopElement = oTable; + var oParentContent = oParagraph.Parent; + var oTable = oParentContent.IsInTable(true); + if (oTable) + { + oTopElement = oTable; + } + else + { + oTopElement = oParentContent; + } } else { - oTopElement = oParentContent; + oTopElement = oDocument; } - } - else - { - oTopElement = oDocument; - } - var arrContentPosition = oRunElementsBefore.GetContentPositions(); - var oStartPos = arrContentPosition.length > 0 ? arrContentPosition[arrContentPosition.length - 1] : oRunElementsBefore.CurContentPos; - var oEndPos = oContentPos; - oContentPos.Update(nPos, oContentPos.GetDepth()); + var arrContentPosition = oRunElementsBefore.GetContentPositions(); + var oStartPos = arrContentPosition.length > 0 ? arrContentPosition[arrContentPosition.length - 1] : oRunElementsBefore.CurContentPos; + var oEndPos = oContentPos; + oContentPos.Update(nPos, oContentPos.GetDepth()); - var oDocPos = [{Class : this, Position : nPos + 1}]; - this.GetDocumentPositionFromObject(oDocPos); - oDocument.TrackDocumentPositions([oDocPos]); + var oDocPos = [{Class : this, Position : nPos + 1}]; + this.GetDocumentPositionFromObject(oDocPos); + oDocument.TrackDocumentPositions([oDocPos]); - oParagraph.RemoveSelection(); - oParagraph.SetSelectionUse(true); - oParagraph.SetSelectionContentPos(oStartPos, oEndPos, false); - oParagraph.AddHyperlink(new Asc.CHyperlinkProperty({Value : AscCommon.prepareUrl(sText, nTypeHyper)})); - oParagraph.RemoveSelection(); + oParagraph.RemoveSelection(); + oParagraph.SetSelectionUse(true); + oParagraph.SetSelectionContentPos(oStartPos, oEndPos, false); + oParagraph.AddHyperlink(new Asc.CHyperlinkProperty({Value : AscCommon.prepareUrl(sText, nTypeHyper)})); + oParagraph.RemoveSelection(); - oDocument.RefreshDocumentPositions([oDocPos]); - oTopElement.SetContentPosition(oDocPos, 0, 0); - oDocument.Recalculate(); - oDocument.FinalizeAction(); - } + oDocument.RefreshDocumentPositions([oDocPos]); + oTopElement.SetContentPosition(oDocPos, 0, 0); + oDocument.Recalculate(); + oDocument.FinalizeAction(); + } - return true; + return true; + } } return false; From 1f7ca07f069f3a4d2072551806867fac1ac94f5f Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 18 Mar 2021 22:31:22 +0300 Subject: [PATCH 052/381] Fix bug #49150 --- word/Editor/Document.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 46584e331a..fc0a333d51 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -17175,6 +17175,17 @@ CDocument.prototype.Begin_CompositeInput = function() if (oPara) { var oRun = oPara.Get_ElementByPos(oPara.Get_ParaContentPos(false, false)); + + if (oRun instanceof ParaRun) + { + var oRunParent = oRun.GetParent(); + if (oRunParent instanceof CInlineLevelSdt && oRunParent.IsPlaceHolder()) + { + oRunParent.ReplacePlaceHolderWithContent(false); + oRun = oRunParent.GetElement(0); + } + } + if (oRun instanceof ParaRun) { var oNewRun = oRun.CheckRunBeforeAdd(); From 799acc8e555091e87be5fe347b295a5b45fdc8f0 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 19 Mar 2021 12:43:14 +0300 Subject: [PATCH 053/381] Fix math icons & their positions (#1689) --- common/Drawings/CommonController.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/common/Drawings/CommonController.js b/common/Drawings/CommonController.js index cee52cc52a..d66e1ad53d 100644 --- a/common/Drawings/CommonController.js +++ b/common/Drawings/CommonController.js @@ -11292,18 +11292,18 @@ function ApplyPresetToChartSpace(oChartSpace, aPreset, bCreate){ var _sizes = [ - {w: 25, h: 25}, // Symbols - {w: 50, h: 50}, // Fraction - {w: 50, h: 50}, // Script - {w: 115, h: 55}, // Radical + {w: 24, h: 24}, // Symbols + {w: 48, h: 48}, // Fraction + {w: 48, h: 48}, // Script + {w: 112, h: 56}, // Radical {w: 60, h: 60}, // Integral - {w: 100, h: 75}, // LargeOperator - {w: 80, h: 75}, // Bracket, //{ w : 150, h : 75 } - {w: 100, h: 50}, // Function + {w: 100, h: 76}, // LargeOperator + {w: 80, h: 76}, // Bracket, //{ w : 150, h : 75 } + {w: 100, h: 48}, // Function {w: 100, h: 40}, // Accent {w: 100, h: 60}, // LimitLog {w: 60, h: 40}, // Operator - {w: 100, h: 70} // Matrix + {w: 100, h: 72} // Matrix ]; var _excluded_arr = [c_oAscMathType.Bracket_Custom_5]; @@ -11411,7 +11411,7 @@ function ApplyPresetToChartSpace(oChartSpace, aPreset, bCreate){ this.Generate = function () { - var _math_json = JSON.parse('{"Id":0,"Data":[{"Id":0,"Data":[{"Id":0,"Data":[{"Id":0,"X":0,"Y":0},{"Id":1,"X":25,"Y":0},{"Id":2,"X":50,"Y":0},{"Id":3,"X":75,"Y":0},{"Id":4,"X":100,"Y":0},{"Id":5,"X":125,"Y":0},{"Id":6,"X":150,"Y":0},{"Id":7,"X":175,"Y":0},{"Id":8,"X":200,"Y":0},{"Id":9,"X":225,"Y":0},{"Id":10,"X":250,"Y":0},{"Id":11,"X":275,"Y":0},{"Id":12,"X":300,"Y":0},{"Id":13,"X":325,"Y":0},{"Id":14,"X":350,"Y":0},{"Id":15,"X":375,"Y":0},{"Id":16,"X":400,"Y":0},{"Id":17,"X":425,"Y":0},{"Id":18,"X":450,"Y":0},{"Id":19,"X":475,"Y":0},{"Id":20,"X":500,"Y":0},{"Id":21,"X":525,"Y":0},{"Id":22,"X":550,"Y":0},{"Id":23,"X":575,"Y":0},{"Id":24,"X":600,"Y":0},{"Id":25,"X":625,"Y":0},{"Id":26,"X":650,"Y":0},{"Id":27,"X":675,"Y":0},{"Id":28,"X":700,"Y":0},{"Id":29,"X":725,"Y":0},{"Id":30,"X":750,"Y":0},{"Id":31,"X":775,"Y":0},{"Id":32,"X":800,"Y":0},{"Id":33,"X":825,"Y":0},{"Id":34,"X":850,"Y":0},{"Id":35,"X":875,"Y":0},{"Id":36,"X":900,"Y":0},{"Id":37,"X":925,"Y":0},{"Id":38,"X":950,"Y":0},{"Id":39,"X":975,"Y":0},{"Id":40,"X":1000,"Y":0},{"Id":41,"X":1025,"Y":0},{"Id":42,"X":1050,"Y":0},{"Id":43,"X":1075,"Y":0},{"Id":44,"X":1100,"Y":0},{"Id":45,"X":1125,"Y":0},{"Id":46,"X":1150,"Y":0},{"Id":47,"X":1175,"Y":0},{"Id":48,"X":1200,"Y":0},{"Id":49,"X":1225,"Y":0},{"Id":50,"X":1250,"Y":0},{"Id":51,"X":1275,"Y":0},{"Id":52,"X":1300,"Y":0},{"Id":53,"X":1325,"Y":0},{"Id":54,"X":1350,"Y":0},{"Id":55,"X":1375,"Y":0}],"W":25,"H":25},{"Id":1,"Data":[{"Id":65536,"X":1400,"Y":0},{"Id":65537,"X":1425,"Y":0},{"Id":65538,"X":1450,"Y":0},{"Id":65539,"X":1475,"Y":0},{"Id":65540,"X":0,"Y":25},{"Id":65541,"X":25,"Y":25},{"Id":65542,"X":50,"Y":25},{"Id":65543,"X":75,"Y":25},{"Id":65544,"X":100,"Y":25},{"Id":65545,"X":125,"Y":25},{"Id":65546,"X":150,"Y":25},{"Id":65547,"X":175,"Y":25},{"Id":65548,"X":200,"Y":25},{"Id":65549,"X":225,"Y":25},{"Id":65550,"X":250,"Y":25},{"Id":65551,"X":275,"Y":25},{"Id":65552,"X":300,"Y":25},{"Id":65553,"X":325,"Y":25},{"Id":65554,"X":350,"Y":25},{"Id":65555,"X":375,"Y":25},{"Id":65556,"X":400,"Y":25},{"Id":65557,"X":425,"Y":25},{"Id":65558,"X":450,"Y":25},{"Id":65559,"X":475,"Y":25},{"Id":65560,"X":500,"Y":25},{"Id":65561,"X":525,"Y":25},{"Id":65562,"X":550,"Y":25},{"Id":65563,"X":575,"Y":25},{"Id":65564,"X":600,"Y":25},{"Id":65565,"X":625,"Y":25}],"W":25,"H":25},{"Id":2,"Data":[{"Id":131072,"X":650,"Y":25},{"Id":131073,"X":675,"Y":25},{"Id":131074,"X":700,"Y":25},{"Id":131075,"X":725,"Y":25},{"Id":131076,"X":750,"Y":25},{"Id":131077,"X":775,"Y":25},{"Id":131078,"X":800,"Y":25},{"Id":131079,"X":825,"Y":25},{"Id":131080,"X":850,"Y":25},{"Id":131081,"X":875,"Y":25},{"Id":131082,"X":900,"Y":25},{"Id":131083,"X":925,"Y":25},{"Id":131084,"X":950,"Y":25},{"Id":131085,"X":975,"Y":25},{"Id":131086,"X":1000,"Y":25},{"Id":131087,"X":1025,"Y":25},{"Id":131088,"X":1050,"Y":25},{"Id":131089,"X":1075,"Y":25},{"Id":131090,"X":1100,"Y":25},{"Id":131091,"X":1125,"Y":25},{"Id":131092,"X":1150,"Y":25},{"Id":131093,"X":1175,"Y":25},{"Id":131094,"X":1200,"Y":25},{"Id":131095,"X":1225,"Y":25}],"W":25,"H":25}],"W":25,"H":25},{"Id":1,"Data":[{"Id":0,"Data":[{"Id":16777216,"X":0,"Y":50},{"Id":16777217,"X":50,"Y":50},{"Id":16777218,"X":100,"Y":50},{"Id":16777219,"X":150,"Y":50}],"W":50,"H":50},{"Id":1,"Data":[{"Id":16842752,"X":200,"Y":50},{"Id":16842753,"X":250,"Y":50},{"Id":16842754,"X":300,"Y":50},{"Id":16842755,"X":350,"Y":50},{"Id":16842756,"X":400,"Y":50}],"W":50,"H":50}],"W":50,"H":50},{"Id":2,"Data":[{"Id":0,"Data":[{"Id":33554432,"X":450,"Y":50},{"Id":33554433,"X":500,"Y":50},{"Id":33554434,"X":550,"Y":50},{"Id":33554435,"X":600,"Y":50}],"W":50,"H":50},{"Id":1,"Data":[{"Id":33619968,"X":650,"Y":50},{"Id":33619969,"X":700,"Y":50},{"Id":33619970,"X":750,"Y":50},{"Id":33619971,"X":800,"Y":50}],"W":50,"H":50}],"W":50,"H":50},{"Id":3,"Data":[{"Id":0,"Data":[{"Id":50331648,"X":0,"Y":100},{"Id":50331649,"X":115,"Y":100},{"Id":50331650,"X":230,"Y":100},{"Id":50331651,"X":345,"Y":100}],"W":115,"H":55},{"Id":1,"Data":[{"Id":50397184,"X":460,"Y":100},{"Id":50397185,"X":575,"Y":100}],"W":115,"H":55}],"W":115,"H":55},{"Id":4,"Data":[{"Id":0,"Data":[{"Id":67108864,"X":690,"Y":100},{"Id":67108865,"X":805,"Y":100},{"Id":67108866,"X":920,"Y":100},{"Id":67108867,"X":1035,"Y":100},{"Id":67108868,"X":1150,"Y":100},{"Id":67108869,"X":1265,"Y":100},{"Id":67108870,"X":1380,"Y":100},{"Id":67108871,"X":0,"Y":215},{"Id":67108872,"X":60,"Y":215}],"W":60,"H":60},{"Id":1,"Data":[{"Id":67174400,"X":120,"Y":215},{"Id":67174401,"X":180,"Y":215},{"Id":67174402,"X":240,"Y":215},{"Id":67174403,"X":300,"Y":215},{"Id":67174404,"X":360,"Y":215},{"Id":67174405,"X":420,"Y":215},{"Id":67174406,"X":480,"Y":215},{"Id":67174407,"X":540,"Y":215},{"Id":67174408,"X":600,"Y":215}],"W":60,"H":60},{"Id":2,"Data":[{"Id":67239936,"X":660,"Y":215},{"Id":67239937,"X":720,"Y":215},{"Id":67239938,"X":780,"Y":215}],"W":60,"H":60}],"W":60,"H":60},{"Id":5,"Data":[{"Id":0,"Data":[{"Id":83886080,"X":0,"Y":275},{"Id":83886081,"X":100,"Y":275},{"Id":83886082,"X":200,"Y":275},{"Id":83886083,"X":300,"Y":275},{"Id":83886084,"X":400,"Y":275}],"W":100,"H":75},{"Id":1,"Data":[{"Id":83951616,"X":500,"Y":275},{"Id":83951617,"X":600,"Y":275},{"Id":83951618,"X":700,"Y":275},{"Id":83951619,"X":800,"Y":275},{"Id":83951620,"X":900,"Y":275},{"Id":83951621,"X":1000,"Y":275},{"Id":83951622,"X":1100,"Y":275},{"Id":83951623,"X":1200,"Y":275},{"Id":83951624,"X":1300,"Y":275},{"Id":83951625,"X":1400,"Y":275}],"W":100,"H":75},{"Id":2,"Data":[{"Id":84017152,"X":0,"Y":375},{"Id":84017153,"X":100,"Y":375},{"Id":84017154,"X":200,"Y":375},{"Id":84017155,"X":300,"Y":375},{"Id":84017156,"X":400,"Y":375},{"Id":84017157,"X":500,"Y":375},{"Id":84017158,"X":600,"Y":375},{"Id":84017159,"X":700,"Y":375},{"Id":84017160,"X":800,"Y":375},{"Id":84017161,"X":900,"Y":375}],"W":100,"H":75},{"Id":3,"Data":[{"Id":84082688,"X":1000,"Y":375},{"Id":84082689,"X":1100,"Y":375},{"Id":84082690,"X":1200,"Y":375},{"Id":84082691,"X":1300,"Y":375},{"Id":84082692,"X":1400,"Y":375},{"Id":84082693,"X":0,"Y":475},{"Id":84082694,"X":100,"Y":475},{"Id":84082695,"X":200,"Y":475},{"Id":84082696,"X":300,"Y":475},{"Id":84082697,"X":400,"Y":475}],"W":100,"H":75},{"Id":4,"Data":[{"Id":84148224,"X":500,"Y":475},{"Id":84148225,"X":600,"Y":475},{"Id":84148226,"X":700,"Y":475},{"Id":84148227,"X":800,"Y":475},{"Id":84148228,"X":900,"Y":475}],"W":100,"H":75}],"W":100,"H":75},{"Id":6,"Data":[{"Id":0,"Data":[{"Id":100663296,"X":1000,"Y":475},{"Id":100663297,"X":1100,"Y":475},{"Id":100663298,"X":1200,"Y":475},{"Id":100663299,"X":1300,"Y":475},{"Id":100663300,"X":1400,"Y":475},{"Id":100663301,"X":0,"Y":575},{"Id":100663302,"X":80,"Y":575},{"Id":100663303,"X":160,"Y":575},{"Id":100663304,"X":240,"Y":575},{"Id":100663305,"X":320,"Y":575},{"Id":100663306,"X":400,"Y":575},{"Id":100663307,"X":480,"Y":575}],"W":80,"H":75},{"Id":1,"Data":[{"Id":100728832,"X":560,"Y":575},{"Id":100728833,"X":640,"Y":575},{"Id":100728834,"X":720,"Y":575},{"Id":100728835,"X":800,"Y":575}],"W":80,"H":75},{"Id":2,"Data":[{"Id":100794368,"X":880,"Y":575},{"Id":100794369,"X":960,"Y":575},{"Id":100794370,"X":1040,"Y":575},{"Id":100794371,"X":1120,"Y":575},{"Id":100794372,"X":1200,"Y":575},{"Id":100794373,"X":1280,"Y":575},{"Id":100794374,"X":1360,"Y":575},{"Id":100794375,"X":0,"Y":655},{"Id":100794376,"X":80,"Y":655},{"Id":100794377,"X":160,"Y":655},{"Id":100794378,"X":240,"Y":655},{"Id":100794379,"X":320,"Y":655},{"Id":100794380,"X":400,"Y":655},{"Id":100794381,"X":480,"Y":655},{"Id":100794382,"X":560,"Y":655},{"Id":100794383,"X":640,"Y":655},{"Id":100794384,"X":720,"Y":655},{"Id":100794385,"X":800,"Y":655}],"W":80,"H":75},{"Id":3,"Data":[{"Id":100859904,"X":880,"Y":655},{"Id":100859905,"X":960,"Y":655},{"Id":100859906,"X":1040,"Y":655},{"Id":100859907,"X":1120,"Y":655}],"W":80,"H":75},{"Id":4,"Data":[{"Id":100925441,"X":1200,"Y":655},{"Id":100925442,"X":1280,"Y":655}],"W":80,"H":75}],"W":80,"H":75},{"Id":7,"Data":[{"Id":0,"Data":[{"Id":117440512,"X":0,"Y":735},{"Id":117440513,"X":100,"Y":735},{"Id":117440514,"X":200,"Y":735},{"Id":117440515,"X":300,"Y":735},{"Id":117440516,"X":400,"Y":735},{"Id":117440517,"X":500,"Y":735}],"W":100,"H":50},{"Id":1,"Data":[{"Id":117506048,"X":600,"Y":735},{"Id":117506049,"X":700,"Y":735},{"Id":117506050,"X":800,"Y":735},{"Id":117506051,"X":900,"Y":735},{"Id":117506052,"X":1000,"Y":735},{"Id":117506053,"X":1100,"Y":735}],"W":100,"H":50},{"Id":2,"Data":[{"Id":117571584,"X":1200,"Y":735},{"Id":117571585,"X":1300,"Y":735},{"Id":117571586,"X":1400,"Y":735},{"Id":117571587,"X":0,"Y":835},{"Id":117571588,"X":100,"Y":835},{"Id":117571589,"X":200,"Y":835}],"W":100,"H":50},{"Id":3,"Data":[{"Id":117637120,"X":300,"Y":835},{"Id":117637121,"X":400,"Y":835},{"Id":117637122,"X":500,"Y":835},{"Id":117637123,"X":600,"Y":835},{"Id":117637124,"X":700,"Y":835},{"Id":117637125,"X":800,"Y":835}],"W":100,"H":50},{"Id":4,"Data":[{"Id":117702656,"X":900,"Y":835},{"Id":117702657,"X":1000,"Y":835},{"Id":117702658,"X":1100,"Y":835}],"W":100,"H":50}],"W":100,"H":50},{"Id":8,"Data":[{"Id":0,"Data":[{"Id":134217728,"X":1200,"Y":835},{"Id":134217729,"X":1300,"Y":835},{"Id":134217730,"X":1400,"Y":835},{"Id":134217731,"X":0,"Y":935},{"Id":134217732,"X":100,"Y":935},{"Id":134217733,"X":200,"Y":935},{"Id":134217734,"X":300,"Y":935},{"Id":134217735,"X":400,"Y":935},{"Id":134217736,"X":500,"Y":935},{"Id":134217737,"X":600,"Y":935},{"Id":134217738,"X":700,"Y":935},{"Id":134217739,"X":800,"Y":935},{"Id":134217740,"X":900,"Y":935},{"Id":134217741,"X":1000,"Y":935},{"Id":134217742,"X":1100,"Y":935},{"Id":134217743,"X":1200,"Y":935},{"Id":134217744,"X":1300,"Y":935},{"Id":134217745,"X":1400,"Y":935},{"Id":134217746,"X":0,"Y":1035},{"Id":134217747,"X":100,"Y":1035}],"W":100,"H":40},{"Id":1,"Data":[{"Id":134283264,"X":200,"Y":1035},{"Id":134283265,"X":300,"Y":1035}],"W":100,"H":40},{"Id":2,"Data":[{"Id":134348800,"X":400,"Y":1035},{"Id":134348801,"X":500,"Y":1035}],"W":100,"H":40},{"Id":3,"Data":[{"Id":134414336,"X":600,"Y":1035},{"Id":134414337,"X":700,"Y":1035},{"Id":134414338,"X":800,"Y":1035}],"W":100,"H":40}],"W":100,"H":40},{"Id":9,"Data":[{"Id":0,"Data":[{"Id":150994944,"X":900,"Y":1035},{"Id":150994945,"X":1000,"Y":1035},{"Id":150994946,"X":1100,"Y":1035},{"Id":150994947,"X":1200,"Y":1035},{"Id":150994948,"X":1300,"Y":1035},{"Id":150994949,"X":1400,"Y":1035}],"W":100,"H":60},{"Id":1,"Data":[{"Id":151060480,"X":0,"Y":1135},{"Id":151060481,"X":100,"Y":1135}],"W":100,"H":60}],"W":100,"H":60},{"Id":10,"Data":[{"Id":0,"Data":[{"Id":167772160,"X":840,"Y":215},{"Id":167772161,"X":900,"Y":215},{"Id":167772162,"X":960,"Y":215},{"Id":167772163,"X":1020,"Y":215},{"Id":167772164,"X":1080,"Y":215},{"Id":167772165,"X":1140,"Y":215},{"Id":167772166,"X":1200,"Y":215}],"W":60,"H":40},{"Id":1,"Data":[{"Id":167837696,"X":1260,"Y":215},{"Id":167837697,"X":1320,"Y":215},{"Id":167837698,"X":1380,"Y":215},{"Id":167837699,"X":1440,"Y":215},{"Id":167837700,"X":1360,"Y":655},{"Id":167837701,"X":200,"Y":1135},{"Id":167837702,"X":300,"Y":1135},{"Id":167837703,"X":400,"Y":1135},{"Id":167837704,"X":500,"Y":1135},{"Id":167837705,"X":600,"Y":1135},{"Id":167837706,"X":700,"Y":1135},{"Id":167837707,"X":800,"Y":1135}],"W":60,"H":40},{"Id":2,"Data":[{"Id":167903232,"X":900,"Y":1135},{"Id":167903233,"X":1000,"Y":1135}],"W":60,"H":40}],"W":60,"H":40},{"Id":11,"Data":[{"Id":0,"Data":[{"Id":184549376,"X":1100,"Y":1135},{"Id":184549377,"X":1200,"Y":1135},{"Id":184549378,"X":1300,"Y":1135},{"Id":184549379,"X":1400,"Y":1135},{"Id":184549380,"X":0,"Y":1235},{"Id":184549381,"X":100,"Y":1235},{"Id":184549382,"X":200,"Y":1235},{"Id":184549383,"X":300,"Y":1235}],"W":100,"H":70},{"Id":1,"Data":[{"Id":184614912,"X":400,"Y":1235},{"Id":184614913,"X":500,"Y":1235},{"Id":184614914,"X":600,"Y":1235},{"Id":184614915,"X":700,"Y":1235}],"W":100,"H":70},{"Id":2,"Data":[{"Id":184680448,"X":800,"Y":1235},{"Id":184680449,"X":900,"Y":1235},{"Id":184680450,"X":1000,"Y":1235},{"Id":184680451,"X":1100,"Y":1235}],"W":100,"H":70},{"Id":3,"Data":[{"Id":184745984,"X":1200,"Y":1235},{"Id":184745985,"X":1300,"Y":1235},{"Id":184745986,"X":1400,"Y":1235},{"Id":184745987,"X":0,"Y":1335}],"W":100,"H":70},{"Id":4,"Data":[{"Id":184811520,"X":100,"Y":1335},{"Id":184811521,"X":200,"Y":1335}],"W":100,"H":70}],"W":100,"H":70}],"W":0,"H":0}'); + var _math_json = JSON.parse('{"Id":0,"Data":[{"Id":0,"Data":[{"Id":0,"Data":[{"Id":0,"X":0,"Y":0},{"Id":1,"X":24,"Y":0},{"Id":2,"X":48,"Y":0},{"Id":3,"X":72,"Y":0},{"Id":4,"X":96,"Y":0},{"Id":5,"X":120,"Y":0},{"Id":6,"X":144,"Y":0},{"Id":7,"X":168,"Y":0},{"Id":8,"X":192,"Y":0},{"Id":9,"X":216,"Y":0},{"Id":10,"X":240,"Y":0},{"Id":11,"X":264,"Y":0},{"Id":12,"X":288,"Y":0},{"Id":13,"X":312,"Y":0},{"Id":14,"X":336,"Y":0},{"Id":15,"X":360,"Y":0},{"Id":16,"X":384,"Y":0},{"Id":17,"X":408,"Y":0},{"Id":18,"X":432,"Y":0},{"Id":19,"X":456,"Y":0},{"Id":20,"X":480,"Y":0},{"Id":21,"X":504,"Y":0},{"Id":22,"X":528,"Y":0},{"Id":23,"X":552,"Y":0},{"Id":24,"X":576,"Y":0},{"Id":25,"X":600,"Y":0},{"Id":26,"X":624,"Y":0},{"Id":27,"X":648,"Y":0},{"Id":28,"X":672,"Y":0},{"Id":29,"X":696,"Y":0},{"Id":30,"X":720,"Y":0},{"Id":31,"X":744,"Y":0},{"Id":32,"X":768,"Y":0},{"Id":33,"X":792,"Y":0},{"Id":34,"X":816,"Y":0},{"Id":35,"X":840,"Y":0},{"Id":36,"X":864,"Y":0},{"Id":37,"X":888,"Y":0},{"Id":38,"X":912,"Y":0},{"Id":39,"X":936,"Y":0},{"Id":40,"X":960,"Y":0},{"Id":41,"X":984,"Y":0},{"Id":42,"X":1008,"Y":0},{"Id":43,"X":1032,"Y":0},{"Id":44,"X":1056,"Y":0},{"Id":45,"X":1080,"Y":0},{"Id":46,"X":1104,"Y":0},{"Id":47,"X":1128,"Y":0},{"Id":48,"X":1152,"Y":0},{"Id":49,"X":1176,"Y":0},{"Id":50,"X":1200,"Y":0},{"Id":51,"X":1224,"Y":0},{"Id":52,"X":1248,"Y":0},{"Id":53,"X":1272,"Y":0},{"Id":54,"X":1296,"Y":0},{"Id":55,"X":1320,"Y":0}],"W":24,"H":24},{"Id":1,"Data":[{"Id":65536,"X":1344,"Y":0},{"Id":65537,"X":1368,"Y":0},{"Id":65538,"X":1392,"Y":0},{"Id":65539,"X":1416,"Y":0},{"Id":65540,"X":1440,"Y":0},{"Id":65541,"X":1464,"Y":0},{"Id":65542,"X":0,"Y":24},{"Id":65543,"X":24,"Y":24},{"Id":65544,"X":48,"Y":24},{"Id":65545,"X":72,"Y":24},{"Id":65546,"X":96,"Y":24},{"Id":65547,"X":120,"Y":24},{"Id":65548,"X":144,"Y":24},{"Id":65549,"X":168,"Y":24},{"Id":65550,"X":192,"Y":24},{"Id":65551,"X":216,"Y":24},{"Id":65552,"X":240,"Y":24},{"Id":65553,"X":264,"Y":24},{"Id":65554,"X":288,"Y":24},{"Id":65555,"X":312,"Y":24},{"Id":65556,"X":336,"Y":24},{"Id":65557,"X":360,"Y":24},{"Id":65558,"X":384,"Y":24},{"Id":65559,"X":408,"Y":24},{"Id":65560,"X":432,"Y":24},{"Id":65561,"X":456,"Y":24},{"Id":65562,"X":480,"Y":24},{"Id":65563,"X":504,"Y":24},{"Id":65564,"X":528,"Y":24},{"Id":65565,"X":552,"Y":24}],"W":24,"H":24},{"Id":2,"Data":[{"Id":131072,"X":576,"Y":24},{"Id":131073,"X":600,"Y":24},{"Id":131074,"X":624,"Y":24},{"Id":131075,"X":648,"Y":24},{"Id":131076,"X":672,"Y":24},{"Id":131077,"X":696,"Y":24},{"Id":131078,"X":720,"Y":24},{"Id":131079,"X":744,"Y":24},{"Id":131080,"X":768,"Y":24},{"Id":131081,"X":792,"Y":24},{"Id":131082,"X":816,"Y":24},{"Id":131083,"X":840,"Y":24},{"Id":131084,"X":864,"Y":24},{"Id":131085,"X":888,"Y":24},{"Id":131086,"X":912,"Y":24},{"Id":131087,"X":936,"Y":24},{"Id":131088,"X":960,"Y":24},{"Id":131089,"X":984,"Y":24},{"Id":131090,"X":1008,"Y":24},{"Id":131091,"X":1032,"Y":24},{"Id":131092,"X":1056,"Y":24},{"Id":131093,"X":1080,"Y":24},{"Id":131094,"X":1104,"Y":24},{"Id":131095,"X":1128,"Y":24}],"W":24,"H":24}],"W":24,"H":24},{"Id":1,"Data":[{"Id":0,"Data":[{"Id":16777216,"X":0,"Y":48},{"Id":16777217,"X":48,"Y":48},{"Id":16777218,"X":96,"Y":48},{"Id":16777219,"X":144,"Y":48}],"W":48,"H":48},{"Id":1,"Data":[{"Id":16842752,"X":192,"Y":48},{"Id":16842753,"X":240,"Y":48},{"Id":16842754,"X":288,"Y":48},{"Id":16842755,"X":336,"Y":48},{"Id":16842756,"X":384,"Y":48}],"W":48,"H":48}],"W":48,"H":48},{"Id":2,"Data":[{"Id":0,"Data":[{"Id":33554432,"X":432,"Y":48},{"Id":33554433,"X":480,"Y":48},{"Id":33554434,"X":528,"Y":48},{"Id":33554435,"X":576,"Y":48}],"W":48,"H":48},{"Id":1,"Data":[{"Id":33619968,"X":624,"Y":48},{"Id":33619969,"X":672,"Y":48},{"Id":33619970,"X":720,"Y":48},{"Id":33619971,"X":768,"Y":48}],"W":48,"H":48}],"W":48,"H":48},{"Id":3,"Data":[{"Id":0,"Data":[{"Id":50331648,"X":0,"Y":96},{"Id":50331649,"X":112,"Y":96},{"Id":50331650,"X":224,"Y":96},{"Id":50331651,"X":336,"Y":96}],"W":112,"H":56},{"Id":1,"Data":[{"Id":50397184,"X":448,"Y":96},{"Id":50397185,"X":560,"Y":96}],"W":112,"H":56}],"W":112,"H":56},{"Id":4,"Data":[{"Id":0,"Data":[{"Id":67108864,"X":672,"Y":96},{"Id":67108865,"X":784,"Y":96},{"Id":67108866,"X":896,"Y":96},{"Id":67108867,"X":1008,"Y":96},{"Id":67108868,"X":1120,"Y":96},{"Id":67108869,"X":1232,"Y":96},{"Id":67108870,"X":1344,"Y":96},{"Id":67108871,"X":0,"Y":208},{"Id":67108872,"X":60,"Y":208}],"W":60,"H":60},{"Id":1,"Data":[{"Id":67174400,"X":120,"Y":208},{"Id":67174401,"X":180,"Y":208},{"Id":67174402,"X":240,"Y":208},{"Id":67174403,"X":300,"Y":208},{"Id":67174404,"X":360,"Y":208},{"Id":67174405,"X":420,"Y":208},{"Id":67174406,"X":480,"Y":208},{"Id":67174407,"X":540,"Y":208},{"Id":67174408,"X":600,"Y":208}],"W":60,"H":60},{"Id":2,"Data":[{"Id":67239936,"X":660,"Y":208},{"Id":67239937,"X":720,"Y":208},{"Id":67239938,"X":780,"Y":208}],"W":60,"H":60}],"W":60,"H":60},{"Id":5,"Data":[{"Id":0,"Data":[{"Id":83886080,"X":0,"Y":268},{"Id":83886081,"X":100,"Y":268},{"Id":83886082,"X":200,"Y":268},{"Id":83886083,"X":300,"Y":268},{"Id":83886084,"X":400,"Y":268}],"W":100,"H":76},{"Id":1,"Data":[{"Id":83951616,"X":500,"Y":268},{"Id":83951617,"X":600,"Y":268},{"Id":83951618,"X":700,"Y":268},{"Id":83951619,"X":800,"Y":268},{"Id":83951620,"X":900,"Y":268},{"Id":83951621,"X":1000,"Y":268},{"Id":83951622,"X":1100,"Y":268},{"Id":83951623,"X":1200,"Y":268},{"Id":83951624,"X":1300,"Y":268},{"Id":83951625,"X":1400,"Y":268}],"W":100,"H":76},{"Id":2,"Data":[{"Id":84017152,"X":0,"Y":368},{"Id":84017153,"X":100,"Y":368},{"Id":84017154,"X":200,"Y":368},{"Id":84017155,"X":300,"Y":368},{"Id":84017156,"X":400,"Y":368},{"Id":84017157,"X":500,"Y":368},{"Id":84017158,"X":600,"Y":368},{"Id":84017159,"X":700,"Y":368},{"Id":84017160,"X":800,"Y":368},{"Id":84017161,"X":900,"Y":368}],"W":100,"H":76},{"Id":3,"Data":[{"Id":84082688,"X":1000,"Y":368},{"Id":84082689,"X":1100,"Y":368},{"Id":84082690,"X":1200,"Y":368},{"Id":84082691,"X":1300,"Y":368},{"Id":84082692,"X":1400,"Y":368},{"Id":84082693,"X":0,"Y":468},{"Id":84082694,"X":100,"Y":468},{"Id":84082695,"X":200,"Y":468},{"Id":84082696,"X":300,"Y":468},{"Id":84082697,"X":400,"Y":468}],"W":100,"H":76},{"Id":4,"Data":[{"Id":84148224,"X":500,"Y":468},{"Id":84148225,"X":600,"Y":468},{"Id":84148226,"X":700,"Y":468},{"Id":84148227,"X":800,"Y":468},{"Id":84148228,"X":900,"Y":468}],"W":100,"H":76}],"W":100,"H":76},{"Id":6,"Data":[{"Id":0,"Data":[{"Id":100663296,"X":1000,"Y":468},{"Id":100663297,"X":1100,"Y":468},{"Id":100663298,"X":1200,"Y":468},{"Id":100663299,"X":1300,"Y":468},{"Id":100663300,"X":1400,"Y":468},{"Id":100663301,"X":0,"Y":568},{"Id":100663302,"X":80,"Y":568},{"Id":100663303,"X":160,"Y":568},{"Id":100663304,"X":240,"Y":568},{"Id":100663305,"X":320,"Y":568},{"Id":100663306,"X":400,"Y":568},{"Id":100663307,"X":480,"Y":568}],"W":80,"H":76},{"Id":1,"Data":[{"Id":100728832,"X":560,"Y":568},{"Id":100728833,"X":640,"Y":568},{"Id":100728834,"X":720,"Y":568},{"Id":100728835,"X":800,"Y":568}],"W":80,"H":76},{"Id":2,"Data":[{"Id":100794368,"X":880,"Y":568},{"Id":100794369,"X":960,"Y":568},{"Id":100794370,"X":1040,"Y":568},{"Id":100794371,"X":1120,"Y":568},{"Id":100794372,"X":1200,"Y":568},{"Id":100794373,"X":1280,"Y":568},{"Id":100794374,"X":1360,"Y":568},{"Id":100794375,"X":0,"Y":648},{"Id":100794376,"X":80,"Y":648},{"Id":100794377,"X":160,"Y":648},{"Id":100794378,"X":240,"Y":648},{"Id":100794379,"X":320,"Y":648},{"Id":100794380,"X":400,"Y":648},{"Id":100794381,"X":480,"Y":648},{"Id":100794382,"X":560,"Y":648},{"Id":100794383,"X":640,"Y":648},{"Id":100794384,"X":720,"Y":648},{"Id":100794385,"X":800,"Y":648}],"W":80,"H":76},{"Id":3,"Data":[{"Id":100859904,"X":880,"Y":648},{"Id":100859905,"X":960,"Y":648},{"Id":100859906,"X":1040,"Y":648},{"Id":100859907,"X":1120,"Y":648}],"W":80,"H":76},{"Id":4,"Data":[{"Id":100925441,"X":1200,"Y":648},{"Id":100925442,"X":1280,"Y":648}],"W":80,"H":76}],"W":80,"H":76},{"Id":7,"Data":[{"Id":0,"Data":[{"Id":117440512,"X":0,"Y":728},{"Id":117440513,"X":100,"Y":728},{"Id":117440514,"X":200,"Y":728},{"Id":117440515,"X":300,"Y":728},{"Id":117440516,"X":400,"Y":728},{"Id":117440517,"X":500,"Y":728}],"W":100,"H":48},{"Id":1,"Data":[{"Id":117506048,"X":600,"Y":728},{"Id":117506049,"X":700,"Y":728},{"Id":117506050,"X":800,"Y":728},{"Id":117506051,"X":900,"Y":728},{"Id":117506052,"X":1000,"Y":728},{"Id":117506053,"X":1100,"Y":728}],"W":100,"H":48},{"Id":2,"Data":[{"Id":117571584,"X":1200,"Y":728},{"Id":117571585,"X":1300,"Y":728},{"Id":117571586,"X":1400,"Y":728},{"Id":117571587,"X":0,"Y":828},{"Id":117571588,"X":100,"Y":828},{"Id":117571589,"X":200,"Y":828}],"W":100,"H":48},{"Id":3,"Data":[{"Id":117637120,"X":300,"Y":828},{"Id":117637121,"X":400,"Y":828},{"Id":117637122,"X":500,"Y":828},{"Id":117637123,"X":600,"Y":828},{"Id":117637124,"X":700,"Y":828},{"Id":117637125,"X":800,"Y":828}],"W":100,"H":48},{"Id":4,"Data":[{"Id":117702656,"X":900,"Y":828},{"Id":117702657,"X":1000,"Y":828},{"Id":117702658,"X":1100,"Y":828}],"W":100,"H":48}],"W":100,"H":48},{"Id":8,"Data":[{"Id":0,"Data":[{"Id":134217728,"X":1200,"Y":828},{"Id":134217729,"X":1300,"Y":828},{"Id":134217730,"X":1400,"Y":828},{"Id":134217731,"X":0,"Y":928},{"Id":134217732,"X":100,"Y":928},{"Id":134217733,"X":200,"Y":928},{"Id":134217734,"X":300,"Y":928},{"Id":134217735,"X":400,"Y":928},{"Id":134217736,"X":500,"Y":928},{"Id":134217737,"X":600,"Y":928},{"Id":134217738,"X":700,"Y":928},{"Id":134217739,"X":800,"Y":928},{"Id":134217740,"X":900,"Y":928},{"Id":134217741,"X":1000,"Y":928},{"Id":134217742,"X":1100,"Y":928},{"Id":134217743,"X":1200,"Y":928},{"Id":134217744,"X":1300,"Y":928},{"Id":134217745,"X":1400,"Y":928},{"Id":134217746,"X":0,"Y":1028},{"Id":134217747,"X":100,"Y":1028}],"W":100,"H":40},{"Id":1,"Data":[{"Id":134283264,"X":200,"Y":1028},{"Id":134283265,"X":300,"Y":1028}],"W":100,"H":40},{"Id":2,"Data":[{"Id":134348800,"X":400,"Y":1028},{"Id":134348801,"X":500,"Y":1028}],"W":100,"H":40},{"Id":3,"Data":[{"Id":134414336,"X":600,"Y":1028},{"Id":134414337,"X":700,"Y":1028},{"Id":134414338,"X":800,"Y":1028}],"W":100,"H":40}],"W":100,"H":40},{"Id":9,"Data":[{"Id":0,"Data":[{"Id":150994944,"X":900,"Y":1028},{"Id":150994945,"X":1000,"Y":1028},{"Id":150994946,"X":1100,"Y":1028},{"Id":150994947,"X":1200,"Y":1028},{"Id":150994948,"X":1300,"Y":1028},{"Id":150994949,"X":1400,"Y":1028}],"W":100,"H":60},{"Id":1,"Data":[{"Id":151060480,"X":0,"Y":1128},{"Id":151060481,"X":100,"Y":1128}],"W":100,"H":60}],"W":100,"H":60},{"Id":10,"Data":[{"Id":0,"Data":[{"Id":167772160,"X":840,"Y":208},{"Id":167772161,"X":900,"Y":208},{"Id":167772162,"X":960,"Y":208},{"Id":167772163,"X":1020,"Y":208},{"Id":167772164,"X":1080,"Y":208},{"Id":167772165,"X":1140,"Y":208},{"Id":167772166,"X":1200,"Y":208}],"W":60,"H":40},{"Id":1,"Data":[{"Id":167837696,"X":1260,"Y":208},{"Id":167837697,"X":1320,"Y":208},{"Id":167837698,"X":1380,"Y":208},{"Id":167837699,"X":1440,"Y":208},{"Id":167837700,"X":1360,"Y":648},{"Id":167837701,"X":200,"Y":1128},{"Id":167837702,"X":300,"Y":1128},{"Id":167837703,"X":400,"Y":1128},{"Id":167837704,"X":500,"Y":1128},{"Id":167837705,"X":600,"Y":1128},{"Id":167837706,"X":700,"Y":1128},{"Id":167837707,"X":800,"Y":1128}],"W":60,"H":40},{"Id":2,"Data":[{"Id":167903232,"X":900,"Y":1128},{"Id":167903233,"X":1000,"Y":1128}],"W":60,"H":40}],"W":60,"H":40},{"Id":11,"Data":[{"Id":0,"Data":[{"Id":184549376,"X":1100,"Y":1128},{"Id":184549377,"X":1200,"Y":1128},{"Id":184549378,"X":1300,"Y":1128},{"Id":184549379,"X":1400,"Y":1128},{"Id":184549380,"X":0,"Y":1228},{"Id":184549381,"X":100,"Y":1228},{"Id":184549382,"X":200,"Y":1228},{"Id":184549383,"X":300,"Y":1228}],"W":100,"H":72},{"Id":1,"Data":[{"Id":184614912,"X":400,"Y":1228},{"Id":184614913,"X":500,"Y":1228},{"Id":184614914,"X":600,"Y":1228},{"Id":184614915,"X":700,"Y":1228}],"W":100,"H":72},{"Id":2,"Data":[{"Id":184680448,"X":800,"Y":1228},{"Id":184680449,"X":900,"Y":1228},{"Id":184680450,"X":1000,"Y":1228},{"Id":184680451,"X":1100,"Y":1228}],"W":100,"H":72},{"Id":3,"Data":[{"Id":184745984,"X":1200,"Y":1228},{"Id":184745985,"X":1300,"Y":1228},{"Id":184745986,"X":1400,"Y":1228},{"Id":184745987,"X":0,"Y":1328}],"W":100,"H":72},{"Id":4,"Data":[{"Id":184811520,"X":100,"Y":1328},{"Id":184811521,"X":200,"Y":1328}],"W":100,"H":72}],"W":100,"H":72}],"W":0,"H":0}'); var _math = new AscCommon.CAscMathCategory(); From da8a303e3f3921425f8022ccd3b220ef19ce1c9a Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Fri, 19 Mar 2021 17:09:52 +0300 Subject: [PATCH 054/381] Fix/fix builder function (#1691) * [se] Fix RecalculateAllFormulas builder function --- cell/apiBuilder.js | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/cell/apiBuilder.js b/cell/apiBuilder.js index 9c1b2984fb..9d62803e4a 100644 --- a/cell/apiBuilder.js +++ b/cell/apiBuilder.js @@ -526,6 +526,33 @@ Api.prototype.RecalculateAllFormulas = function(fLogger) { var formulas = this.wbModel.getAllFormulas(true); + + var _compare = function (_val1, _val2) { + if (!isNaN(parseFloat(_val1)) && isFinite(_val1) && !isNaN(parseFloat(_val2)) && isFinite(_val2)) { + var nRound = null; + //max count digits in number + var maxLengthAfterPoint = 9; + var sVal1 = _val1.toString(); + if (sVal1) { + var aVal1 = sVal1.split('.'); + if (aVal1 && aVal1[1] && aVal1[1].length) { + nRound = aVal1[1].length - 1; + if (nRound > maxLengthAfterPoint) { + nRound = maxLengthAfterPoint; + } + } + } + + if (nRound) { + var kF = Math.pow(10, nRound); + _val1 = (parseInt(_val1 * kF)) / kF; + _val2 = (parseInt(_val2 * kF)) / kF; + } + } + + return _val1 == _val2; + }; + for (var i = 0; i < formulas.length; ++i) { var formula = formulas[i]; var nRow; @@ -573,7 +600,7 @@ } if (fLogger) { - if (oldValue != newValue) { + if (!_compare(oldValue, newValue)) { //error fLogger({ sheet: formula.ws.sName, From 7d4a4cf3568c38f775fe75f2731ab9c4a4936a4f Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sun, 21 Mar 2021 12:04:01 +0300 Subject: [PATCH 055/381] [bug] Fix table filling in the chart frame with r1c1 mode turned on --- common/Charts/DrawingObjects.js | 384 ++++++++++++++++---------------- 1 file changed, 194 insertions(+), 190 deletions(-) diff --git a/common/Charts/DrawingObjects.js b/common/Charts/DrawingObjects.js index 948c893497..f115a8f8ca 100644 --- a/common/Charts/DrawingObjects.js +++ b/common/Charts/DrawingObjects.js @@ -2667,234 +2667,238 @@ GraphicOption.prototype.union = function(oGraphicOption) { oNewChartSpace.documentGetAllFontNames(font_map); AscFormat.checkThemeFonts(font_map, model.workbook.theme.themeElements.fontScheme); window["Asc"]["editor"]._loadFonts(font_map, - function() - { - var max_r = 0, max_c = 0; - - var series = oNewChartSpace.getAllSeries(), ser; - - function fFillCell(oCell, sNumFormat, value) - { - var oCellValue = new AscCommonExcel.CCellValue(); - if(AscFormat.isRealNumber(value)) - { - oCellValue.number = value; - oCellValue.type = AscCommon.CellValueType.Number; - } - else - { - oCellValue.text = value; - oCellValue.type = AscCommon.CellValueType.String; - } - oCell.setNumFormat(sNumFormat); - oCell.setValueData(new AscCommonExcel.UndoRedoData_CellValueData(null, oCellValue)); - } - - function fillTableFromRef(ref) - { - var cache = ref.numCache ? ref.numCache : (ref.strCache ? ref.strCache : null); - var lit_format_code; - if(cache) + function() { + AscCommonExcel.executeInR1C1Mode(false, + function() { - lit_format_code = (typeof cache.formatCode === "string" && cache.formatCode.length > 0) ? cache.formatCode : "General"; - - var sFormula = ref.f + ""; - if(sFormula[0] === '(') - sFormula = sFormula.slice(1); - if(sFormula[sFormula.length-1] === ')') - sFormula = sFormula.slice(0, -1); - var f1 = sFormula; - - var arr_f = f1.split(","); - var pt_index = 0, i, j, pt, nPtCount, k; - for(i = 0; i < arr_f.length; ++i) + var max_r = 0, max_c = 0; + + var series = oNewChartSpace.getAllSeries(), ser; + + function fFillCell(oCell, sNumFormat, value) + { + var oCellValue = new AscCommonExcel.CCellValue(); + if(AscFormat.isRealNumber(value)) + { + oCellValue.number = value; + oCellValue.type = AscCommon.CellValueType.Number; + } + else + { + oCellValue.text = value; + oCellValue.type = AscCommon.CellValueType.String; + } + oCell.setNumFormat(sNumFormat); + oCell.setValueData(new AscCommonExcel.UndoRedoData_CellValueData(null, oCellValue)); + } + + function fillTableFromRef(ref) { - var parsed_ref = parserHelp.parse3DRef(arr_f[i]); - if(parsed_ref) + var cache = ref.numCache ? ref.numCache : (ref.strCache ? ref.strCache : null); + var lit_format_code; + if(cache) { - var source_worksheet = model.workbook.getWorksheetByName(parsed_ref.sheet); - if(source_worksheet === model) + lit_format_code = (typeof cache.formatCode === "string" && cache.formatCode.length > 0) ? cache.formatCode : "General"; + + var sFormula = ref.f + ""; + if(sFormula[0] === '(') + sFormula = sFormula.slice(1); + if(sFormula[sFormula.length-1] === ')') + sFormula = sFormula.slice(0, -1); + var f1 = sFormula; + + var arr_f = f1.split(","); + var pt_index = 0, i, j, pt, nPtCount, k; + for(i = 0; i < arr_f.length; ++i) { - var range = source_worksheet.getRange2(parsed_ref.range); - if(range) + var parsed_ref = parserHelp.parse3DRef(arr_f[i]); + if(parsed_ref) { - range = range.bbox; + var source_worksheet = model.workbook.getWorksheetByName(parsed_ref.sheet); + if(source_worksheet === model) + { + var range = source_worksheet.getRange2(parsed_ref.range); + if(range) + { + range = range.bbox; - if(range.r1 > max_r) - max_r = range.r1; - if(range.r2 > max_r) - max_r = range.r2; + if(range.r1 > max_r) + max_r = range.r1; + if(range.r2 > max_r) + max_r = range.r2; - if(range.c1 > max_c) - max_c = range.c1; - if(range.c2 > max_c) - max_c = range.c2; + if(range.c1 > max_c) + max_c = range.c1; + if(range.c2 > max_c) + max_c = range.c2; - if(i === arr_f.length - 1) - { - nPtCount = cache.getPtCount(); - if((nPtCount - pt_index) <=(range.r2 - range.r1 + 1)) - { - for(k = range.c1; k <= range.c2; ++k) + if(i === arr_f.length - 1) { - for(j = range.r1; j <= range.r2; ++j) + nPtCount = cache.getPtCount(); + if((nPtCount - pt_index) <=(range.r2 - range.r1 + 1)) { - source_worksheet._getCell(j, k, function(cell) { - pt = cache.getPtByIndex(pt_index + j - range.r1); - if(pt) + for(k = range.c1; k <= range.c2; ++k) + { + for(j = range.r1; j <= range.r2; ++j) { - fFillCell(cell, typeof pt.formatCode === "string" && pt.formatCode.length > 0 ? pt.formatCode : lit_format_code, pt.val); + source_worksheet._getCell(j, k, function(cell) { + pt = cache.getPtByIndex(pt_index + j - range.r1); + if(pt) + { + fFillCell(cell, typeof pt.formatCode === "string" && pt.formatCode.length > 0 ? pt.formatCode : lit_format_code, pt.val); + } + }); } - }); + } + pt_index += (range.r2 - range.r1 + 1); } - } - pt_index += (range.r2 - range.r1 + 1); - } - else if((nPtCount - pt_index) <= (range.c2 - range.c1 + 1)) - { - for(k = range.r1; k <= range.r2; ++k) - { - for(j = range.c1; j <= range.c2; ++j) + else if((nPtCount - pt_index) <= (range.c2 - range.c1 + 1)) { - source_worksheet._getCell(k, j, function(cell) { - pt = cache.getPtByIndex(pt_index + j - range.c1); - if(pt) + for(k = range.r1; k <= range.r2; ++k) + { + for(j = range.c1; j <= range.c2; ++j) { - fFillCell(cell, typeof pt.formatCode === "string" && pt.formatCode.length > 0 ? pt.formatCode : lit_format_code, pt.val); + source_worksheet._getCell(k, j, function(cell) { + pt = cache.getPtByIndex(pt_index + j - range.c1); + if(pt) + { + fFillCell(cell, typeof pt.formatCode === "string" && pt.formatCode.length > 0 ? pt.formatCode : lit_format_code, pt.val); + } + }); } - }); + } + pt_index += (range.c2 - range.c1 + 1); } } - pt_index += (range.c2 - range.c1 + 1); - } - } - else - { - if(range.r1 === range.r2) - { - for(j = range.c1; j <= range.c2; ++j) + else { - source_worksheet._getCell(range.r1, j, function(cell) { - pt = cache.getPtByIndex(pt_index); - if(pt) + if(range.r1 === range.r2) + { + for(j = range.c1; j <= range.c2; ++j) { - fFillCell(cell, typeof pt.formatCode === "string" && pt.formatCode.length > 0 ? pt.formatCode : lit_format_code, pt.val); + source_worksheet._getCell(range.r1, j, function(cell) { + pt = cache.getPtByIndex(pt_index); + if(pt) + { + fFillCell(cell, typeof pt.formatCode === "string" && pt.formatCode.length > 0 ? pt.formatCode : lit_format_code, pt.val); + } + ++pt_index; + }); } - ++pt_index; - }); - } - } - else - { - for(j = range.r1; j <= range.r2; ++j) - { - source_worksheet._getCell(j, range.c1, function(cell) { - pt = cache.getPtByIndex(pt_index); - if(pt) + } + else + { + for(j = range.r1; j <= range.r2; ++j) { - fFillCell(cell, typeof pt.formatCode === "string" && pt.formatCode.length > 0 ? pt.formatCode : lit_format_code, pt.val); + source_worksheet._getCell(j, range.c1, function(cell) { + pt = cache.getPtByIndex(pt_index); + if(pt) + { + fFillCell(cell, typeof pt.formatCode === "string" && pt.formatCode.length > 0 ? pt.formatCode : lit_format_code, pt.val); + } + ++pt_index; + }); } - ++pt_index; - }); + } + } } - } } } } } - } - } - var first_num_ref; - if(series[0]) - { - if(series[0].val) - first_num_ref = series[0].val.numRef; - else if(series[0].yVal) - first_num_ref = series[0].yVal.numRef; - } - if(first_num_ref) - { - var resultRef = parserHelp.parse3DRef(first_num_ref.f); - if(resultRef) - { - model.workbook.aWorksheets[0].sName = resultRef.sheet; - var oCat, oVal; - for(var i = 0; i < series.length; ++i) + var first_num_ref; + if(series[0]) { - ser = series[i]; - oVal = ser.val || ser.yVal; - if(oVal && oVal.numRef) - { - fillTableFromRef(oVal.numRef); - } - oCat = ser.cat || ser.xVal; - if(oCat) + if(series[0].val) + first_num_ref = series[0].val.numRef; + else if(series[0].yVal) + first_num_ref = series[0].yVal.numRef; + } + if(first_num_ref) + { + var resultRef = parserHelp.parse3DRef(first_num_ref.f); + if(resultRef) { - if(oCat.numRef) - { - fillTableFromRef(oCat.numRef); - } - if(oCat.strRef) + model.workbook.aWorksheets[0].sName = resultRef.sheet; + var oCat, oVal; + for(var i = 0; i < series.length; ++i) { - fillTableFromRef(oCat.strRef); + ser = series[i]; + oVal = ser.val || ser.yVal; + if(oVal && oVal.numRef) + { + fillTableFromRef(oVal.numRef); + } + oCat = ser.cat || ser.xVal; + if(oCat) + { + if(oCat.numRef) + { + fillTableFromRef(oCat.numRef); + } + if(oCat.strRef) + { + fillTableFromRef(oCat.strRef); + } + } + if(ser.tx && ser.tx.strRef) + { + fillTableFromRef(ser.tx.strRef); + } } } - if(ser.tx && ser.tx.strRef) - { - fillTableFromRef(ser.tx.strRef); - } } - } - } - oAllRange = oAllRange.bbox; - oAllRange.r2 = Math.max(oAllRange.r2, max_r); - oAllRange.c2 = Math.max(oAllRange.c2, max_c); - worksheet._updateRange(oAllRange); - worksheet.draw(); - aImagesSync.length = 0; - oNewChartSpace.getAllRasterImages(aImagesSync); - oNewChartSpace.setBDeleted(false); - oNewChartSpace.setWorksheet(model); - oNewChartSpace.addToDrawingObjects(); - oNewChartSpace.recalcInfo.recalculateReferences = false; - var oDrawingBase_ = oNewChartSpace.drawingBase; - oNewChartSpace.drawingBase = null; - oNewChartSpace.recalculate(); - AscFormat.CheckSpPrXfrm(oNewChartSpace); - oNewChartSpace.drawingBase = oDrawingBase_; - - var canvas_height = worksheet.drawingCtx.getHeight(3); - var pos_y = (canvas_height - oNewChartSpace.spPr.xfrm.extY)/2; - if(pos_y < 0) - { - pos_y = 0; - } + oAllRange = oAllRange.bbox; + oAllRange.r2 = Math.max(oAllRange.r2, max_r); + oAllRange.c2 = Math.max(oAllRange.c2, max_c); + worksheet._updateRange(oAllRange); + worksheet.draw(); + aImagesSync.length = 0; + oNewChartSpace.getAllRasterImages(aImagesSync); + oNewChartSpace.setBDeleted(false); + oNewChartSpace.setWorksheet(model); + oNewChartSpace.addToDrawingObjects(); + oNewChartSpace.recalcInfo.recalculateReferences = false; + var oDrawingBase_ = oNewChartSpace.drawingBase; + oNewChartSpace.drawingBase = null; + oNewChartSpace.recalculate(); + AscFormat.CheckSpPrXfrm(oNewChartSpace); + oNewChartSpace.drawingBase = oDrawingBase_; + + var canvas_height = worksheet.drawingCtx.getHeight(3); + var pos_y = (canvas_height - oNewChartSpace.spPr.xfrm.extY)/2; + if(pos_y < 0) + { + pos_y = 0; + } - var canvas_width = worksheet.drawingCtx.getWidth(3); - var pos_x = (canvas_width - oNewChartSpace.spPr.xfrm.extX)/2; - if(pos_x < 0) - { - pos_x = 0; - } - oNewChartSpace.spPr.xfrm.setOffX(pos_x); - oNewChartSpace.spPr.xfrm.setOffY(pos_y); - oNewChartSpace.checkDrawingBaseCoords(); - oNewChartSpace.recalculate(); - worksheet._scrollToRange(_this.getSelectedDrawingsRange()); - _this.showDrawingObjects(); - _this.controller.resetSelection(); - _this.controller.selectObject(oNewChartSpace, 0); - _this.controller.updateSelectionState(); - _this.sendGraphicObjectProps(); - if(aImagesSync.length > 0) - { - window["Asc"]["editor"].ImageLoader.LoadDocumentImages(aImagesSync); - } - History.Clear(); - }); + var canvas_width = worksheet.drawingCtx.getWidth(3); + var pos_x = (canvas_width - oNewChartSpace.spPr.xfrm.extX)/2; + if(pos_x < 0) + { + pos_x = 0; + } + oNewChartSpace.spPr.xfrm.setOffX(pos_x); + oNewChartSpace.spPr.xfrm.setOffY(pos_y); + oNewChartSpace.checkDrawingBaseCoords(); + oNewChartSpace.recalculate(); + worksheet._scrollToRange(_this.getSelectedDrawingsRange()); + _this.showDrawingObjects(); + _this.controller.resetSelection(); + _this.controller.selectObject(oNewChartSpace, 0); + _this.controller.updateSelectionState(); + _this.sendGraphicObjectProps(); + if(aImagesSync.length > 0) + { + window["Asc"]["editor"].ImageLoader.LoadDocumentImages(aImagesSync); + } + History.Clear(); + }); + } + ); } From f1db79b42612717df0b1418be2095560c2243cfd Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sun, 21 Mar 2021 12:25:40 +0300 Subject: [PATCH 056/381] [bug] Fix bug 49177 --- common/Drawings/Format/ChartFormat.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index e5cbcf8f7f..c220041d3b 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -6106,6 +6106,9 @@ oCopy.setGrouping(this.grouping); if(AscFormat.isRealNumber(this.overlap) && oCopy.setOverlap) oCopy.setOverlap(this.overlap); + if(AscFormat.isRealBool(this.b3D) && oCopy.getObjectType() === AscDFH.historyitem_type_BarChart) { + oCopy.set3D(this.b3D); + } }; CBarChart.prototype.getDefaultDataLabelsPosition = function() { if(!AscFormat.isRealNumber(this.grouping) || this.grouping === AscFormat.BAR_GROUPING_CLUSTERED || this.grouping === AscFormat.BAR_GROUPING_STANDARD) { From 28785d42c307d4377d0e59c404ca3319dce8a934 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Mon, 22 Mar 2021 13:03:26 +0300 Subject: [PATCH 057/381] [bug] Fix bug 48954; fix bug 48955 --- word/Editor/Document.js | 1 + 1 file changed, 1 insertion(+) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index d79fa2f4c6..6adbf268d8 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -22410,6 +22410,7 @@ CDocument.prototype.AddTableOfFigures = function(oPr) if (isNeedChangeStyles) oStyles.SetTOFStyleType(nStylesType); oComplexField.Update(); + oComplexField.MoveCursorOutsideElement(false); var oNextParagraph; var oParagraph = this.GetCurrentParagraph(); if(oParagraph) From 46a3ac9ed9abcb5c10c7cbbb1c65fa0901ad5a85 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Mon, 22 Mar 2021 17:13:29 +0300 Subject: [PATCH 058/381] [bug] Fix axis label position in interface --- common/Drawings/Format/ChartFormat.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index c220041d3b..6419fa6522 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -6779,10 +6779,10 @@ CAxisBase.prototype.getLabelSetting = function() { if(this.isHorizontal()) { if(this.title) { - return Asc.c_oAscChartTitleShowSettings.noOverlay; + return Asc.c_oAscChartHorAxisLabelShowSettings.noOverlay; } else { - return Asc.c_oAscChartTitleShowSettings.none; + return Asc.c_oAscChartHorAxisLabelShowSettings.none; } } else { From a24560198245c3f0a508b8bf4bda8f7f5fc4eb77 Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Tue, 23 Mar 2021 13:32:16 +0300 Subject: [PATCH 059/381] [se] Fix bug 49227 (#1696) * [se] Fix bug 49227 --- cell/view/WorksheetView.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cell/view/WorksheetView.js b/cell/view/WorksheetView.js index 215be0f0f3..3d1d5bbea0 100644 --- a/cell/view/WorksheetView.js +++ b/cell/view/WorksheetView.js @@ -11550,7 +11550,7 @@ var _selection; if (fromBinaryExcel) { for (var n = 0; n < pastedInfo.length; n++) { - if (pastedInfo) { + if (pastedInfo && pastedInfo[n] && pastedInfo[n].selectData && pastedInfo[n].selectData[0]) { _selection = t.model.selectionRange.ranges[n]; _selection.c2 = pastedInfo[n].selectData[0].c2; _selection.r2 = pastedInfo[n].selectData[0].r2; @@ -11559,7 +11559,7 @@ } } else { _selection = t.model.selectionRange.getLast(); - if (pastedInfo) { + if (pastedInfo && pastedInfo[0] && pastedInfo[0].selectData && pastedInfo[0].selectData[0]) { _selection.c2 = pastedInfo[0].selectData[0].c2; _selection.r2 = pastedInfo[0].selectData[0].r2; } From 82a0759517fa582e73e90131fd4966ba91df99f7 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Tue, 23 Mar 2021 15:57:58 +0300 Subject: [PATCH 060/381] [bug] Fix bug 49219 --- common/Drawings/Format/ChartFormat.js | 59 ++++++++++++--------------- common/SerializeChart.js | 22 +++++----- 2 files changed, 38 insertions(+), 43 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 8dc09c6c6a..6269bd186d 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -7395,43 +7395,38 @@ CCat.prototype = if(oNumRef || oNumLit || oStrRef || oStrLit || oMultiLvl) { if(oNumRef) { this.setNumRef(oNumRef); + this.setNumLit(null); + this.setStrRef(null); + this.setStrLit(null); + this.setMultiLvlStrRef(null); } - else { - if(this.numRef) { - this.setNumRef(null); - } - } - if(oNumLit) { - this.setNumLit(oNumLit); - } - else { - if(this.numLit) { - this.setNumLit(null); - } - } - if(oStrRef) { + else if(oStrRef) { this.setStrRef(oStrRef); + this.setNumRef(null); + this.setNumLit(null); + this.setStrLit(null); + this.setMultiLvlStrRef(null); } - else { - if(this.strRef) { - this.setStrRef(null); - } - } - if(oStrLit) { - this.setStrLit(oStrLit); - } - else { - if(this.strLit) { - this.setStrLit(null); - } - } - if(oMultiLvl) { + else if(oMultiLvl) { this.setMultiLvlStrRef(oMultiLvl); + this.setNumRef(null); + this.setNumLit(null); + this.setStrRef(null); + this.setStrLit(null); } - else { - if(this.multiLvlStrRef) { - this.setMultiLvlStrRef(null); - } + else if(oNumLit) { + this.setNumLit(oNumLit); + this.setNumRef(null); + this.setStrRef(null); + this.setStrLit(null); + this.setMultiLvlStrRef(null); + } + else if(oStrLit) { + this.setStrLit(oStrLit); + this.setNumRef(null); + this.setNumLit(null); + this.setStrRef(null); + this.setMultiLvlStrRef(null); } } return oResult; diff --git a/common/SerializeChart.js b/common/SerializeChart.js index 5487d2d378..e4bc989e26 100644 --- a/common/SerializeChart.js +++ b/common/SerializeChart.js @@ -1910,7 +1910,7 @@ BinaryChartWriter.prototype.WriteCT_Tx = function (oVal) { oThis.WriteTxPr(oVal.rich); }); } - if (null != oVal.strRef) { + else if (null != oVal.strRef) { this.bs.WriteItem(c_oserct_txSTRREF, function () { oThis.WriteCT_StrRef(oVal.strRef); }); @@ -2637,7 +2637,7 @@ BinaryChartWriter.prototype.WriteCT_SerTx = function (oVal) { oThis.WriteCT_StrRef(oVal.strRef); }); } - if (null != oVal.val) { + else if (null != oVal.val) { this.bs.WriteItem(c_oserct_sertxV, function () { oThis.memory.WriteString3(oVal.val); }); @@ -3220,16 +3220,16 @@ BinaryChartWriter.prototype.WriteCT_ErrValType = function (oVal) { } BinaryChartWriter.prototype.WriteCT_NumDataSource = function (oVal) { var oThis = this; - if (null != oVal.numLit) { - this.bs.WriteItem(c_oserct_numdatasourceNUMLIT, function () { - oThis.WriteCT_NumData(oVal.numLit); - }); - } if (null != oVal.numRef) { this.bs.WriteItem(c_oserct_numdatasourceNUMREF, function () { oThis.WriteCT_NumRef(oVal.numRef); }); } + else if (null != oVal.numLit) { + this.bs.WriteItem(c_oserct_numdatasourceNUMLIT, function () { + oThis.WriteCT_NumData(oVal.numLit); + }); + } } BinaryChartWriter.prototype.WriteCT_NumData = function (oVal) { var oThis = this; @@ -3304,22 +3304,22 @@ BinaryChartWriter.prototype.WriteCT_AxDataSource = function (oVal) { oThis.WriteCT_MultiLvlStrRef(oVal.multiLvlStrRef); }); } - if (null != oVal.numLit) { + else if (null != oVal.numLit) { this.bs.WriteItem(c_oserct_axdatasourceNUMLIT, function () { oThis.WriteCT_NumData(oVal.numLit); }); } - if (null != oVal.numRef) { + else if (null != oVal.numRef) { this.bs.WriteItem(c_oserct_axdatasourceNUMREF, function () { oThis.WriteCT_NumRef(oVal.numRef); }); } - if (null != oVal.strLit) { + else if (null != oVal.strLit) { this.bs.WriteItem(c_oserct_axdatasourceSTRLIT, function () { oThis.WriteCT_StrData(oVal.strLit); }); } - if (null != oVal.strRef) { + else if (null != oVal.strRef) { this.bs.WriteItem(c_oserct_axdatasourceSTRREF, function () { oThis.WriteCT_StrRef(oVal.strRef); }); From d76e4a4e0db0da21453951b9c0d155cc4be0a34c Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Tue, 23 Mar 2021 17:41:27 +0300 Subject: [PATCH 061/381] [bug] For bug 49233 Send event "asc_onDeleteComment" with comment Id and AscCommentData when user press del or ctrl+x. --- slide/Editor/Format/Presentation.js | 19 ++++++++++++++++++- slide/api.js | 5 +++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/slide/Editor/Format/Presentation.js b/slide/Editor/Format/Presentation.js index c7b43aeedd..d5ac333cf6 100644 --- a/slide/Editor/Format/Presentation.js +++ b/slide/Editor/Format/Presentation.js @@ -5477,6 +5477,23 @@ CPresentation.prototype.RemoveCurrentComment = function () { return false; }; +CPresentation.prototype.SendRemoveCommentEvent = function () { + if(!this.Api) { + return false; + } + if (!this.FocusOnNotes) { + var oCurSlide = this.Slides[this.CurPage]; + if (oCurSlide && oCurSlide.slideComments) { + var oSelectedComment = oCurSlide.slideComments.getSelectedComment(); + if (oSelectedComment) { + this.Api.asc_onDeleteComment(oSelectedComment.Id, oSelectedComment.Data); + return true; + } + } + } + return false; +}; + CPresentation.prototype.RemoveMyComments = function () { var aAllMyComments = []; @@ -5527,7 +5544,7 @@ CPresentation.prototype.Remove = function (Count, bOnlyText, bRemoveOnlySelectio bRemoveOnlySelection = false; var oController = this.GetCurrentController(); - if (this.RemoveCurrentComment()) { + if (this.SendRemoveCommentEvent()) { return; } if (oController && oController.selectedObjects.length !== 0) { diff --git a/slide/api.js b/slide/api.js index aea6b9a68b..de5d7a24ee 100644 --- a/slide/api.js +++ b/slide/api.js @@ -4822,6 +4822,11 @@ background-repeat: no-repeat;\ } }; + asc_docs_api.prototype.asc_onDeleteComment = function(Id, oCommentData) + { + var AscCommentData = new asc_CCommentData(oCommentData); + this.sendEvent("asc_onDeleteComment", Id, AscCommentData); + }; asc_docs_api.prototype.asc_changeComment = function(Id, AscCommentData) { From c1af13521c1fb8efb627d9bb836aeaaadd0c839b Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 23 Mar 2021 18:03:04 +0300 Subject: [PATCH 062/381] Fix/spell checker init (#1702) * Send all spell languages to interface & add alias to nl-BE from nl-NL * . --- common/apiBase.js | 5 ++++- common/spell/spell.js | 13 ++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/common/apiBase.js b/common/apiBase.js index 03a90435f9..d62d834a81 100644 --- a/common/apiBase.js +++ b/common/apiBase.js @@ -1451,7 +1451,8 @@ "4105", "7177", "9242", - "10266" + "10266", + "2067" ]); } } else { @@ -1483,6 +1484,8 @@ this.SpellCheckApi.disconnect = function () { }; + + this.sendEvent('asc_onSpellCheckInit', this.SpellCheckApi.worker.getLanguages()); return; } diff --git a/common/spell/spell.js b/common/spell/spell.js index 946d325e6e..57557a3081 100644 --- a/common/spell/spell.js +++ b/common/spell/spell.js @@ -126,7 +126,8 @@ function CSpellchecker(settings) "1053" : "sv_SE", "1055" : "tr_TR", "1058" : "uk_UA", - "1066" : "vi_VN" + "1066" : "vi_VN", + "2067" : "nl_NL" // nl_BE }; _port.onmessage = function(message) { @@ -144,9 +145,15 @@ function CSpellchecker(settings) { _port && _port.postMessage(message); }; - this.oncommand = function(message) { console.log(message); } + this.oncommand = function(message) { console.log(message); }; this.checkDictionary = function(lang) { return (undefined !== this.languages["" + lang]) ? true : false; - } + }; + this.getLanguages = function() { + var ret = []; + for (var lang in this.languages) + ret.push(lang); + return ret; + }; } From a7c25839c42f2c40016052cdd5380d7ac76813b3 Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Tue, 23 Mar 2021 19:00:53 +0300 Subject: [PATCH 063/381] Fix/comment collaborative bug (#1703) * [se] Add flag for delete only mine comments --- cell/api.js | 5 +++-- cell/view/WorkbookView.js | 5 +++-- cell/view/WorksheetView.js | 12 ++++++++---- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/cell/api.js b/cell/api.js index 40b6eda63d..4748af2375 100644 --- a/cell/api.js +++ b/cell/api.js @@ -2765,8 +2765,9 @@ var editor; this.wb.getWorksheet().setSelectionInfo("sort", options); }; - spreadsheet_api.prototype.asc_emptyCells = function(options) { - this.wb.emptyCells(options); + spreadsheet_api.prototype.asc_emptyCells = function(options, isMineComments) { + //TODO isMineComments - временный флаг, как только в сдк появится класс для групп, добавить этот флаг туда + this.wb.emptyCells(options, isMineComments); }; spreadsheet_api.prototype.asc_drawDepCells = function(se) { diff --git a/cell/view/WorkbookView.js b/cell/view/WorkbookView.js index 4dce7cabf3..626071afed 100644 --- a/cell/view/WorkbookView.js +++ b/cell/view/WorkbookView.js @@ -2502,12 +2502,13 @@ this.getWorksheet().setSelectionInfo("format", format); }; - WorkbookView.prototype.emptyCells = function (options) { + WorkbookView.prototype.emptyCells = function (options, isMineComments) { if (!this.getCellEditMode()) { if (Asc.c_oAscCleanOptions.Comments === options) { this.removeAllComments(false, true); } else { - this.getWorksheet().emptySelection(options); + //TODO isMineComments - временный флаг, как только в сдк появится класс для групп, добавить этот флаг туда + this.getWorksheet().emptySelection(options, null, isMineComments); } this.restoreFocus(); } else { diff --git a/cell/view/WorksheetView.js b/cell/view/WorksheetView.js index 3d1d5bbea0..f05486855a 100644 --- a/cell/view/WorksheetView.js +++ b/cell/view/WorksheetView.js @@ -10568,7 +10568,7 @@ } }; - WorksheetView.prototype.emptySelection = function ( options, bIsCut ) { + WorksheetView.prototype.emptySelection = function ( options, bIsCut, isMineComments ) { // Удаляем выделенные графичекие объекты if ( this.objectRender.selectedGraphicObjectsExists() ) { var isIntoShape = this.objectRender.controller.getTargetDocContent(); @@ -10580,7 +10580,7 @@ this.objectRender.controller.deleteSelectedObjects(); } } else { - this.setSelectionInfo( "empty", options ); + this.setSelectionInfo( "empty", options, null, isMineComments ); } }; @@ -10599,7 +10599,7 @@ return null; }; - WorksheetView.prototype.setSelectionInfo = function (prop, val, onlyActive) { + WorksheetView.prototype.setSelectionInfo = function (prop, val, onlyActive, isMineComments) { // Проверка глобального лока if (this.collaborativeEditing.getGlobalLock() || !window["Asc"]["editor"].canEdit()) { return; @@ -10840,8 +10840,12 @@ t.model.deletePivotTables(range.bbox); t.model.removeSparklines(range.bbox); t.model.clearDataValidation([range.bbox], true); + // Удаляем комментарии - t.cellCommentator.deleteCommentsRange(range.bbox); + //TODO isMineComments - используется только здесь + // временный флаг, как только в сдк появится класс для групп, добавить этот флаг туда + isMineComments = isMineComments ? (t.model.workbook.oApi.DocInfo && t.model.workbook.oApi.DocInfo.get_UserId()) : null; + t.cellCommentator.deleteCommentsRange(range.bbox, isMineComments); break; case c_oAscCleanOptions.Text: case c_oAscCleanOptions.Formula: From f5cc0ce3a930a65966bbe80425d251061d682157 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Tue, 23 Mar 2021 20:38:07 +0300 Subject: [PATCH 064/381] [bug] Fix problems with removing users own comments --- slide/Editor/Format/Comments.js | 84 ++++++++++++++++++++++++++++- slide/Editor/Format/Presentation.js | 35 +++++++++--- slide/Editor/Format/Slide.js | 20 +------ slide/api.js | 2 +- 4 files changed, 114 insertions(+), 27 deletions(-) diff --git a/slide/Editor/Format/Comments.js b/slide/Editor/Format/Comments.js index 4f3211618b..8408e08e68 100644 --- a/slide/Editor/Format/Comments.js +++ b/slide/Editor/Format/Comments.js @@ -907,6 +907,46 @@ CCommentData.prototype = Read_FromBinary: function(Reader) { this.Read_FromBinary2(Reader); + }, + + HasUserData: function(sUserId) + { + if(this.m_sUserId === sUserId) + { + return true; + } + return this.HasUserReplies(sUserId); + }, + + HasUserReplies: function(sUserId) + { + for(var nReply = 0; nReply < this.m_aReplies.length; ++nReply) + { + if(this.m_aReplies[nReply].HasUserData(sUserId)) + { + return true; + } + } + return false; + }, + IsUserComment: function(sUserId) + { + if(this.m_sUserId === sUserId) + { + return true; + } + return false; + }, + + RemoveUserReplies: function(sUserId) + { + for(var nReply = this.m_aReplies.length - 1; nReply > -1; --nReply) + { + if(this.m_aReplies[nReply].m_sUserId === sUserId) + { + this.m_aReplies.splice(nReply, 1); + } + } } }; @@ -965,13 +1005,55 @@ CComment.prototype = return AscDFH.historyitem_type_Comment; }, - createDuplicate: function(Parent, bNewGuid){ + createDuplicate: function(Parent, bNewGuid) + { var oData = this.Data ? this.Data.createDuplicate(bNewGuid) : null; var ret = new CComment(Parent, oData); ret.setPosition(this.x, this.y); return ret; }, + removeUserReplies: function(sUserId) + { + if(this.Data) + { + var oDataCopy = this.Data.createDuplicate(); + oDataCopy.RemoveUserReplies(sUserId); + if(this.Data.Get_RepliesCount() !== oDataCopy.Get_RepliesCount()) + { + this.Set_Data(oDataCopy); + editor.sync_ChangeCommentData(this.Get_Id(), this.Data); + } + } + }, + + hasUserReplies: function(sUserId) + { + if(!this.Data) + { + return false; + } + return this.Data.HasUserReplies(sUserId); + }, + + isUserComment: function(sUserId) + { + if(!this.Data) + { + return false; + } + return this.Data.IsUserComment(sUserId); + }, + + hasUserData: function(sUserId) + { + if(!this.Data) + { + return false; + } + return this.Data.HasUserData(sUserId); + }, + hit: function(x, y) { var Flags = 0; diff --git a/slide/Editor/Format/Presentation.js b/slide/Editor/Format/Presentation.js index d5ac333cf6..b7a6b852b6 100644 --- a/slide/Editor/Format/Presentation.js +++ b/slide/Editor/Format/Presentation.js @@ -5458,19 +5458,42 @@ CPresentation.prototype.GetSelectedSlides = function () { } }; -CPresentation.prototype.RemoveCurrentComment = function () { +CPresentation.prototype.RemoveCurrentComment = function (isMine) { if (!this.FocusOnNotes) { var oCurSlide = this.Slides[this.CurPage]; if (oCurSlide && oCurSlide.slideComments) { var oSelectedComment = oCurSlide.slideComments.getSelectedComment(); if (oSelectedComment) { var aCommentData = [{comment: oSelectedComment, slide: oCurSlide}]; - if (this.Document_Is_SelectionLocked(AscCommon.changestype_MoveComment, aCommentData, this.IsEditCommentsMode()) === false) { - this.Create_NewHistoryPoint(AscDFH.historydescription_Presentation_RemoveComment); - this.RemoveComment(oSelectedComment.Id, true); - return true; + if(isMine) { + if(this.Api) { + var oDocInfo = this.Api.DocInfo; + if(oDocInfo) { + var sUserId = oDocInfo.get_UserId(); + if(oSelectedComment.hasUserData(sUserId)) { + if (this.Document_Is_SelectionLocked(AscCommon.changestype_MoveComment, aCommentData, this.IsEditCommentsMode()) === false) { + this.Create_NewHistoryPoint(AscDFH.historydescription_Presentation_RemoveComment); + if(oSelectedComment.isUserComment(sUserId)) { + oCurSlide.slideComments.removeComment(oSelectedComment.Get_Id()); + editor.sync_HideComment(); + } + else { + oSelectedComment.removeUserReplies(sUserId); + } + this.Recalculate(); + return true; + } + } + } + } + } + else { + if (this.Document_Is_SelectionLocked(AscCommon.changestype_MoveComment, aCommentData, this.IsEditCommentsMode()) === false) { + this.Create_NewHistoryPoint(AscDFH.historydescription_Presentation_RemoveComment); + this.RemoveComment(oSelectedComment.Id, true); + return true; + } } - } } } diff --git a/slide/Editor/Format/Slide.js b/slide/Editor/Format/Slide.js index 65f271bed9..45804a3ed1 100644 --- a/slide/Editor/Format/Slide.js +++ b/slide/Editor/Format/Slide.js @@ -1921,7 +1921,6 @@ SlideComments.prototype = removeMyComments: function() { - var oCommentDataCopy; if(!editor.DocInfo) { return; @@ -1938,24 +1937,7 @@ SlideComments.prototype = } else { - oCommentDataCopy = null; - for(var j = oCommentData.m_aReplies.length - 1; j > -1 ; --j) - { - if(oCommentData.m_aReplies[j].m_sUserId === sUserId) - { - if(!oCommentDataCopy) - { - oCommentDataCopy = oCommentData.Copy(); - } - oCommentDataCopy.m_aReplies.splice(j, 1); - break; - } - } - if(oCommentDataCopy) - { - oComment.Set_Data(oCommentDataCopy); - editor.sync_ChangeCommentData( oComment.Get_Id(), oCommentDataCopy); - } + oComment.removeUserReplies(sUserId); } } }, diff --git a/slide/api.js b/slide/api.js index de5d7a24ee..d468168160 100644 --- a/slide/api.js +++ b/slide/api.js @@ -4807,7 +4807,7 @@ background-repeat: no-repeat;\ } if(isCurrent) { - this.WordControl.m_oLogicDocument.RemoveCurrentComment(); + this.WordControl.m_oLogicDocument.RemoveCurrentComment(isMine); } else { From a372ee3dfdedc687d6cc5644f911f6f238b7de92 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Wed, 24 Mar 2021 10:24:19 +0300 Subject: [PATCH 065/381] [se] Fix bug 49204 --- cell/model/PivotTables.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index 1f59e53fd7..4996f69ba0 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -6309,7 +6309,7 @@ CT_pivotTableDefinition.prototype.groupRangePr = function (fld, rangePr, dateTyp } else { rangePr.groupBy = c_oAscGroupBy.Range; } - rangePr.correctValues(); + rangePr.correctEndValue(); var addFields = this.cacheDefinition.groupRangePr(fld, rangePr, dateTypes); var i; var pivotFields = this.asc_getPivotFields(); @@ -9350,7 +9350,8 @@ CT_CacheField.prototype.createGroupRangePr = function () { rangePr.groupBy = c_oAscGroupBy.Range; rangePr.startNum = minMaxValue.minValue; rangePr.endNum = minMaxValue.maxValue; - var diff = (minMaxValue.maxValue - minMaxValue.minValue) / 30; + rangePr.correctEndValue(); + var diff = (rangePr.endNum - rangePr.startNum ) / 30; if (diff >= 1) { while (rangePr.groupInterval <= diff) { rangePr.groupInterval *= 10; @@ -9369,8 +9370,8 @@ CT_CacheField.prototype.createGroupRangePr = function () { if (rangePr.endDate.getExcelDateWithTime2() === rangePr.endDate.getExcelDate()) { rangePr.endDate.addDays2(1); } + rangePr.correctEndValue(); } - rangePr.correctValues(); return rangePr; }; CT_CacheField.prototype.getGroupRangePr = function () { @@ -13856,7 +13857,7 @@ CT_RangePr.prototype.init = function() { CT_RangePr.prototype.getFieldGroupType = function() { return this.groupBy === c_oAscGroupBy.Range ? c_oAscGroupType.Number : c_oAscGroupType.Date; }; -CT_RangePr.prototype.correctValues = function () { +CT_RangePr.prototype.correctEndValue = function () { if (c_oAscGroupBy.Range === this.groupBy) { if (this.startNum >= this.endNum) { this.endNum = this.startNum + 1; From d8a4e1ba13ce505993fcccbc89c91cb11ea27f74 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Wed, 24 Mar 2021 12:35:44 +0300 Subject: [PATCH 066/381] [se] Fix bug 49260 --- cell/model/Workbook.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/model/Workbook.js b/cell/model/Workbook.js index 242c310caa..df4b7c88c9 100644 --- a/cell/model/Workbook.js +++ b/cell/model/Workbook.js @@ -11863,7 +11863,7 @@ mapRes[v.toLowerCase()] = true; }; if (withEmpty) { - this._setProperty(null, null, fAction); + this._foreach(fAction); } else { this._setPropertyNoEmpty(null, null, fAction); } From d8aefb5d69aac2960077b82f2b96fafb5d5ab252 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Fri, 12 Mar 2021 13:37:55 +0300 Subject: [PATCH 067/381] [bug] read/write FillColor in CDocumentShading --- common/SerializeCommonWordExcel.js | 8 +++- word/Editor/Serialize2.js | 71 ++++++++++-------------------- word/Editor/Styles.js | 51 ++++++++++++++++++++- 3 files changed, 79 insertions(+), 51 deletions(-) diff --git a/common/SerializeCommonWordExcel.js b/common/SerializeCommonWordExcel.js index e0817e5bdc..bddf2eb0a6 100644 --- a/common/SerializeCommonWordExcel.js +++ b/common/SerializeCommonWordExcel.js @@ -112,7 +112,8 @@ var c_oSerPaddingType = { var c_oSerShdType = { Value: 0, Color: 1, - ColorTheme: 2 + ColorTheme: 2, + Fill: 3 }; var c_oSer_ColorThemeType = { Auto: 0, @@ -260,6 +261,8 @@ BinaryCommonWriter.prototype.WriteShd = function(Shd) } if (null != color && !color.Auto) this.WriteColor(c_oSerShdType.Color, color); + if(Shd.FillColor && !Shd.FillColor.Auto) + this.WriteColor(c_oSerShdType.Fill, Shd.FillColor); if(null != Shd.Unifill || (null != Shd.Color && Shd.Color.Auto)) { this.memory.WriteByte(c_oSerShdType.ColorTheme); @@ -560,6 +563,9 @@ Binary_CommonReader.prototype.ReadShd = function(type, length, Shd, themeColor) return oThis.ReadColorTheme(t, l, themeColor); }); break; + case c_oSerShdType.Fill: + Shd.FillColor = this.ReadColor();break; + break; default: res = c_oSerConstants.ReadUnknown; break; diff --git a/word/Editor/Serialize2.js b/word/Editor/Serialize2.js index 2b3c0741a6..96764462df 100644 --- a/word/Editor/Serialize2.js +++ b/word/Editor/Serialize2.js @@ -1666,6 +1666,25 @@ function writeNestedReviewType(type, reviewInfo, fWriteRecord, fCallback) { } } +function ReadDocumentShd(length, bcr, oShd) { + var themeColor = { Auto: null, Color: null, Tint: null, Shade: null }; + oShd.Color = undefined; + var res = bcr.Read2(length, function (t, l) { + return bcr.ReadShd(t, l, oShd, themeColor); + }); + if(!oShd.Color) { + oShd.Color = new AscCommonWord.CDocumentColor(255, 255, 255, true); + } + if (true == themeColor.Auto && null != oShd.Color) + oShd.Color.Auto = true;//todo менять полностью цвет + var unifill = CreateThemeUnifill(themeColor.Color, themeColor.Tint, themeColor.Shade); + if (null != unifill) + oShd.Unifill = unifill; + else if (null != oShd.Color && !oShd.Color.Auto) + oShd.Unifill = AscFormat.CreteSolidFillRGB(oShd.Color.r, oShd.Color.g, oShd.Color.b); + return oShd; +} + function getThemeFontName(type) { switch (type) { case 0: return "majorAscii"; @@ -8731,17 +8750,7 @@ function Binary_pPrReader(doc, oReadResult, stream) break; case c_oSerProp_pPrType.Shd: pPr.Shd = new CDocumentShd(); - var themeColor = {Auto: null, Color: null, Tint: null, Shade: null}; - res = this.bcr.Read2(length, function(t, l){ - return oThis.bcr.ReadShd(t, l, pPr.Shd, themeColor); - }); - if(true == themeColor.Auto && null != pPr.Shd.Color) - pPr.Shd.Color.Auto = true;//todo менять полностью цвет - var unifill = CreateThemeUnifill(themeColor.Color, themeColor.Tint, themeColor.Shade); - if(null != unifill) - pPr.Shd.Unifill = unifill; - else if (null != pPr.Shd.Color && !pPr.Shd.Color.Auto) - pPr.Shd.Unifill = AscFormat.CreteSolidFillRGB(pPr.Shd.Color.r, pPr.Shd.Color.g, pPr.Shd.Color.b); + ReadDocumentShd(length, this.bcr, pPr.Shd); break; case c_oSerProp_pPrType.WidowControl: pPr.WidowControl = this.stream.GetBool(); @@ -9756,17 +9765,7 @@ function Binary_rPrReader(doc, oReadResult, stream) break; case c_oSerProp_rPrType.Shd: rPr.Shd = new CDocumentShd(); - var themeColor = { Auto: null, Color: null, Tint: null, Shade: null }; - res = this.bcr.Read2(length, function (t, l) { - return oThis.bcr.ReadShd(t, l, rPr.Shd, themeColor); - }); - if (true == themeColor.Auto && null != rPr.Shd.Color) - rPr.Shd.Color.Auto = true;//todo менять полностью цвет - var unifill = CreateThemeUnifill(themeColor.Color, themeColor.Tint, themeColor.Shade); - if (null != unifill) - rPr.Shd.Unifill = unifill; - else if (null != rPr.Shd.Color && !rPr.Shd.Color.Auto) - rPr.Shd.Unifill = AscFormat.CreteSolidFillRGB(rPr.Shd.Color.r, rPr.Shd.Color.g, rPr.Shd.Color.b); + ReadDocumentShd(length, this.bcr, rPr.Shd); break; case c_oSerProp_rPrType.Vanish: rPr.Vanish = this.stream.GetBool(); @@ -9917,17 +9916,7 @@ Binary_tblPrReader.prototype = { if(null == Pr.Shd) Pr.Shd = new CDocumentShd(); - var themeColor = {Auto: null, Color: null, Tint: null, Shade: null}; - res = this.bcr.Read2(length, function(t, l){ - return oThis.bcr.ReadShd(t, l, Pr.Shd, themeColor); - }); - if(true == themeColor.Auto && null != Pr.Shd.Color) - Pr.Shd.Color.Auto = true;//todo менять полностью цвет - var unifill = CreateThemeUnifill(themeColor.Color, themeColor.Tint, themeColor.Shade); - if(null != unifill) - Pr.Shd.Unifill = unifill; - else if (null != Pr.Shd.Color && !Pr.Shd.Color.Auto) - Pr.Shd.Unifill = AscFormat.CreteSolidFillRGB(Pr.Shd.Color.r, Pr.Shd.Color.g, Pr.Shd.Color.b); + ReadDocumentShd(length, this.bcr, Pr.Shd); } else if( c_oSerProp_tblPrType.Layout === type ) { @@ -10330,21 +10319,7 @@ Binary_tblPrReader.prototype = if(null == Pr.Shd) Pr.Shd = new CDocumentShd(); var oNewShd = {Value: undefined, Color: undefined, Unifill: undefined}; - var themeColor = {Auto: null, Color: null, Tint: null, Shade: null}; - res = this.bcr.Read2(length, function(t, l){ - return oThis.bcr.ReadShd(t, l, oNewShd, themeColor); - }); - var unifill = CreateThemeUnifill(themeColor.Color, themeColor.Tint, themeColor.Shade); - if (true == themeColor.Auto) { - if (!oNewShd.Color) { - oNewShd.Color = new CDocumentColor(255, 255, 255); - } - oNewShd.Color.Auto = true; - } - if(null != unifill) - oNewShd.Unifill = unifill; - else if (null != oNewShd.Color && !oNewShd.Color.Auto) - oNewShd.Unifill = AscFormat.CreteSolidFillRGB(oNewShd.Color.r, oNewShd.Color.g, oNewShd.Color.b); + ReadDocumentShd(length, this.bcr, oNewShd); //если есть themeColor или Color, то Value по умолчанию ShdClear(Тарифы_на_комплексное_обслуживание_клиен.docx) if (undefined == oNewShd.Value && oNewShd.Unifill) { oNewShd.Value = Asc.c_oAscShdClear; diff --git a/word/Editor/Styles.js b/word/Editor/Styles.js index 76a5dbdb89..7501a6bb95 100644 --- a/word/Editor/Styles.js +++ b/word/Editor/Styles.js @@ -9876,6 +9876,7 @@ function CDocumentShd() { this.Value = Asc.c_oAscShd.Nil; this.Color = new CDocumentColor(255, 255, 255); + this.FillColor = undefined; this.Unifill = undefined; this.FillRef = undefined; } @@ -9896,6 +9897,11 @@ CDocumentShd.prototype = if( undefined !== this.FillRef ) Shd.FillRef = this.FillRef.createDuplicate(); + if( undefined !== this.FillColor ) + { + Shd.FillColor = new CDocumentColor(this.FillColor.r, this.FillColor.g, this.FillColor.b, this.FillColor.Auto); + } + return Shd; }, @@ -9913,7 +9919,22 @@ CDocumentShd.prototype = case c_oAscShdClear: { - return this.Color.Compare( Shd.Color ) && AscFormat.CompareUnifillBool(this.Unifill, Shd.Unifill); + if( !this.Color.Compare( Shd.Color ) ) + { + return false; + } + if( !AscFormat.CompareUnifillBool(this.Unifill, Shd.Unifill) ) + { + return false; + } + if( this.FillColor ) + { + if(!this.FillColor.Compare( Shd.FillColor )) + { + return false; + } + } + return true; } } } @@ -9934,6 +9955,10 @@ CDocumentShd.prototype = var RGBA = this.Unifill.getRGBAColor(); return new CDocumentColor( RGBA.R, RGBA.G, RGBA.B, false ); } + else if( undefined !== this.FillColor ) + { + return this.FillColor; + } else return this.Color; }, @@ -9946,6 +9971,10 @@ CDocumentShd.prototype = var RGBA = this.Unifill.getRGBAColor(); return new CDocumentColor( RGBA.R, RGBA.G, RGBA.B, false ); } + else if( undefined !== this.FillColor ) + { + return this.FillColor; + } else return this.Color; }, @@ -9992,6 +10021,10 @@ CDocumentShd.prototype = { this.FillRef = Shd.FillRef.createDuplicate(); } + if( undefined != Shd.FillColor ) + { + this.FillColor = new CDocumentColor(Shd.FillColor.r, Shd.FillColor.g, Shd.FillColor.b, Shd.FillColor.Auto); + } } else if ( undefined === Shd.Color ) this.Color = undefined; @@ -10035,6 +10068,15 @@ CDocumentShd.prototype = { Writer.WriteBool(false); } + if(this.FillColor) + { + Writer.WriteBool(true); + this.FillColor.Write_ToBinary(Writer); + } + else + { + Writer.WriteBool(false); + } } }, @@ -10060,6 +10102,11 @@ CDocumentShd.prototype = this.FillRef = new AscFormat.StyleRef(); this.FillRef.Read_FromBinary(Reader); } + if(Reader.GetBool()) + { + this.FillColor = new CDocumentColor(); + this.FillColor.Read_FromBinary(Reader); + } } else this.Color.Set(0, 0, 0); @@ -10073,7 +10120,7 @@ CDocumentShd.prototype.IsEqual = function(oShd) if (Asc.c_oAscShd.Nil === this.Value) return true; - return (IsEqualStyleObjects(this.Color, oShd.Color) && IsEqualStyleObjects(this.Unifill, oShd.Unifill)); + return (IsEqualStyleObjects(this.Color, oShd.Color) && IsEqualStyleObjects(this.FillColor, oShd.FillColor) && IsEqualStyleObjects(this.Unifill, oShd.Unifill)); }; CDocumentShd.prototype.IsNil = function() { From 895bdaad57c00a9f666504ec4bb5f49b362bdf68 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Mon, 22 Mar 2021 17:41:19 +0300 Subject: [PATCH 068/381] Rework using shading in paragraph --- word/Editor/Paragraph.js | 25 +++-- word/Editor/Serialize2.js | 10 -- word/Editor/Styles.js | 218 +++++++++++++++++++++++++++++++++++++- 3 files changed, 226 insertions(+), 27 deletions(-) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index d1bb003e35..63d293db51 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -666,6 +666,13 @@ Paragraph.prototype.Get_ColorMap = function() return null; }; +Paragraph.prototype.GetColorMap = function() +{ + if (this.Parent) + return this.Parent.Get_ColorMap(); + + return null; +}; Paragraph.prototype.Reset = function(X, Y, XLimit, YLimit, PageNum, ColumnNum, ColumnsCount) { this.X = X; @@ -2049,7 +2056,7 @@ Paragraph.prototype.Internal_Draw_3 = function(CurPage, pGraphics, Pr) //---------------------------------------------------------------------------------------------------------- // Заливка параграфа //---------------------------------------------------------------------------------------------------------- - if ((_Range.W > 0.001 || true === this.IsEmpty() || true !== this.IsEmptyRange(CurLine, CurRange) ) && ( ( this.Pages.length - 1 === CurPage ) || ( CurLine < this.Pages[CurPage + 1].FirstLine ) ) && Asc.c_oAscShdClear === Pr.ParaPr.Shd.Value && (Pr.ParaPr.Shd.Unifill || (Pr.ParaPr.Shd.Color && true !== Pr.ParaPr.Shd.Color.Auto))) + if ((_Range.W > 0.001 || true === this.IsEmpty() || true !== this.IsEmptyRange(CurLine, CurRange) ) && ( ( this.Pages.length - 1 === CurPage ) || ( CurLine < this.Pages[CurPage + 1].FirstLine ) ) && !Pr.ParaPr.Shd.IsNil()) { if (pGraphics.Start_Command) { @@ -2150,20 +2157,12 @@ Paragraph.prototype.Internal_Draw_3 = function(CurPage, pGraphics, Pr) TempX1 += 0.5; } - if (Pr.ParaPr.Shd.Unifill) - { - Pr.ParaPr.Shd.Unifill.check(this.Get_Theme(), this.Get_ColorMap()); - var RGBA = Pr.ParaPr.Shd.Unifill.getRGBAColor(); - pGraphics.b_color1(RGBA.R, RGBA.G, RGBA.B, 255); - } - else - { - pGraphics.b_color1(Pr.ParaPr.Shd.Color.r, Pr.ParaPr.Shd.Color.g, Pr.ParaPr.Shd.Color.b, 255); - } + var oShdColor = Pr.ParaPr.Shd.GetSimpleColor(this.GetTheme(), this.GetColorMap()); + pGraphics.b_color1(oShdColor.r, oShdColor.g, oShdColor.b, 255); + if (pGraphics.SetShd) - { pGraphics.SetShd(Pr.ParaPr.Shd); - } + pGraphics.rect(TempX0, this.Pages[CurPage].Y + TempTop, TempX1 - TempX0, TempBottom - TempTop); pGraphics.df(); diff --git a/word/Editor/Serialize2.js b/word/Editor/Serialize2.js index 96764462df..2c4814cef9 100644 --- a/word/Editor/Serialize2.js +++ b/word/Editor/Serialize2.js @@ -1680,8 +1680,6 @@ function ReadDocumentShd(length, bcr, oShd) { var unifill = CreateThemeUnifill(themeColor.Color, themeColor.Tint, themeColor.Shade); if (null != unifill) oShd.Unifill = unifill; - else if (null != oShd.Color && !oShd.Color.Auto) - oShd.Unifill = AscFormat.CreteSolidFillRGB(oShd.Color.r, oShd.Color.g, oShd.Color.b); return oShd; } @@ -8889,8 +8887,6 @@ function Binary_pPrReader(doc, oReadResult, stream) var unifill = CreateThemeUnifill(themeColor.Color, themeColor.Tint, themeColor.Shade); if(null != unifill) Border.Unifill = unifill; - else if (null != Border.Color && !Border.Color.Auto) - Border.Unifill = AscFormat.CreteSolidFillRGB(Border.Color.r, Border.Color.g, Border.Color.b); } else res = c_oSerConstants.ReadUnknown; @@ -9581,8 +9577,6 @@ function Binary_pPrReader(doc, oReadResult, stream) var unifill = CreateThemeUnifill(themeColor.Color, themeColor.Tint, themeColor.Shade); if(null != unifill) Border.Unifill = unifill; - else if (null != Border.Color && !Border.Color.Auto) - Border.Unifill = AscFormat.CreteSolidFillRGB(Border.Color.r, Border.Color.g, Border.Color.b); } else res = c_oSerConstants.ReadUnknown; @@ -9760,8 +9754,6 @@ function Binary_rPrReader(doc, oReadResult, stream) var unifill = CreateThemeUnifill(themeColor.Color, themeColor.Tint, themeColor.Shade); if(null != unifill) rPr.Unifill = unifill; - else if (null != rPr.Color && !rPr.Color.Auto) - rPr.Unifill = AscFormat.CreteSolidFillRGB(rPr.Color.r, rPr.Color.g, rPr.Color.b); break; case c_oSerProp_rPrType.Shd: rPr.Shd = new CDocumentShd(); @@ -11126,8 +11118,6 @@ function Binary_DocumentTableReader(doc, oReadResult, openParams, stream, curNot var unifill = CreateThemeUnifill(themeColor.Color, themeColor.Tint, themeColor.Shade); if(null != unifill) oBackground.Unifill = unifill; - else if (null != oBackground.Color && !oBackground.Color.Auto) - oBackground.Unifill = AscFormat.CreteSolidFillRGB(oBackground.Color.r, oBackground.Color.g, oBackground.Color.b); } else if(c_oSerBackgroundType.pptxDrawing === type) { var oDrawing = {}; var oParStruct = new OpenParStruct(null, null); diff --git a/word/Editor/Styles.js b/word/Editor/Styles.js index 7501a6bb95..702b021115 100644 --- a/word/Editor/Styles.js +++ b/word/Editor/Styles.js @@ -9874,11 +9874,16 @@ CDocumentColor.prototype.Is_Equal = function(Color) function CDocumentShd() { - this.Value = Asc.c_oAscShd.Nil; - this.Color = new CDocumentColor(255, 255, 255); + this.Value = Asc.c_oAscShd.Nil; + this.Color = new CDocumentColor(255, 255, 255); this.FillColor = undefined; - this.Unifill = undefined; - this.FillRef = undefined; + this.Unifill = undefined; + this.FillRef = undefined; + + // TODO: + // 1. this.Color по умолчанию должен быть undefined + // 2. Добавить аналог для themeFill и переименовать Unifill в themeColor + } CDocumentShd.prototype = @@ -10126,6 +10131,208 @@ CDocumentShd.prototype.IsNil = function() { return (Asc.c_oAscShd.Nil === this.Value); }; +CDocumentShd.prototype.GetSimpleColor = function(oTheme, oColorMap) +{ + var oFillColor = g_oDocumentDefaultFillColor; + var oStrokeColor = g_oDocumentDefaultStrokeColor; + + if (undefined !== this.UniThemeFill) + { + this.UniThemeFill.check(oTheme, oColorMap); + var RGBA = this.UniThemeFill.getRGBAColor(); + oFillColor = new CDocumentColor(RGBA.R, RGBA.G, RGBA.B, false); + } + else if (undefined !== this.FillColor) + { + oFillColor = this.FillColor; + } + + if (undefined !== this.Unifill) + { + this.Unifill.check(oTheme, oColorMap); + var RGBA = this.Unifill.getRGBAColor(); + oStrokeColor = new CDocumentColor(RGBA.R, RGBA.G, RGBA.B, false); + } + else if (undefined !== this.Color) + { + oStrokeColor = this.Color; + } + + var oResultColor; + + switch (this.Value) + { + case Asc.c_oAscShd.Clear: + { + oResultColor = oFillColor; + break; + } + case Asc.c_oAscShd.Pct5: + { + oResultColor = this.private_GetPctShdColor(0.05, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct10: + { + oResultColor = this.private_GetPctShdColor(0.1, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct12: + { + oResultColor = this.private_GetPctShdColor(0.12, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct15: + { + oResultColor = this.private_GetPctShdColor(0.15, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct20: + { + oResultColor = this.private_GetPctShdColor(0.2, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct25: + { + oResultColor = this.private_GetPctShdColor(0.25, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct30: + { + oResultColor = this.private_GetPctShdColor(0.3, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct35: + { + oResultColor = this.private_GetPctShdColor(0.35, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct37: + { + oResultColor = this.private_GetPctShdColor(0.37, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct40: + { + oResultColor = this.private_GetPctShdColor(0.4, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct45: + { + oResultColor = this.private_GetPctShdColor(0.45, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct50: + { + oResultColor = this.private_GetPctShdColor(0.5, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct55: + { + oResultColor = this.private_GetPctShdColor(0.55, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct60: + { + oResultColor = this.private_GetPctShdColor(0.6, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct62: + { + oResultColor = this.private_GetPctShdColor(0.62, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct65: + { + oResultColor = this.private_GetPctShdColor(0.65, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct70: + { + oResultColor = this.private_GetPctShdColor(0.7, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct75: + { + oResultColor = this.private_GetPctShdColor(0.75, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct80: + { + oResultColor = this.private_GetPctShdColor(0.8, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct85: + { + oResultColor = this.private_GetPctShdColor(0.85, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct87: + { + oResultColor = this.private_GetPctShdColor(0.87, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct90: + { + oResultColor = this.private_GetPctShdColor(0.9, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.Pct95: + { + oResultColor = this.private_GetPctShdColor(0.95, oStrokeColor, oFillColor); + break; + } + + case Asc.c_oAscShd.DiagCross: + { + oResultColor = this.private_GetPctShdColor(0.75, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.ThinDiagStripe: + case Asc.c_oAscShd.ThinHorzStripe: + case Asc.c_oAscShd.ThinReverseDiagStripe: + case Asc.c_oAscShd.ThinVertStripe: + { + oResultColor = this.private_GetPctShdColor(0.25, oStrokeColor, oFillColor); + break; + } + case Asc.c_oAscShd.DiagStripe: + case Asc.c_oAscShd.HorzCross: + case Asc.c_oAscShd.HorzStripe: + case Asc.c_oAscShd.ReverseDiagStripe: + case Asc.c_oAscShd.ThinDiagCross: + case Asc.c_oAscShd.ThinHorzCross: + case Asc.c_oAscShd.VertStripe: + { + oResultColor = this.private_GetPctShdColor(0.5, oStrokeColor, oFillColor); + break; + } + + case Asc.c_oAscShd.Solid: + { + oResultColor = oStrokeColor; + break; + } + + default: + { + oResultColor = oStrokeColor; + break; + } + } + + return oResultColor; +}; +CDocumentShd.prototype.private_GetPctShdColor = function(nPct, oColor1, oColor2) +{ + var _nPct = 1 - nPct; + return new CDocumentColor( + oColor1.r * nPct + oColor2.r * _nPct, + oColor1.g * nPct + oColor2.g * _nPct, + oColor1.b * nPct + oColor2.b * _nPct, + false + ); +}; function CDocumentBorder() { @@ -17099,4 +17306,7 @@ g_oDocumentDefaultTableCellPr.InitDefault(); g_oDocumentDefaultTableRowPr.InitDefault(); g_oDocumentDefaultTableStylePr.InitDefault(); +var g_oDocumentDefaultFillColor = new CDocumentColor(255, 255, 255, false); +var g_oDocumentDefaultStrokeColor = new CDocumentColor(0, 0, 0, false); + // ---------------------------------------------------------------- From b56464b5e03e7365fafc37a8b3755cff73998064 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Mon, 22 Mar 2021 19:57:53 +0300 Subject: [PATCH 069/381] Fix the background color check for calculating auto color --- word/Editor/Paragraph.js | 13 ++----------- word/Editor/Run.js | 4 ++-- word/Editor/Table.js | 4 ++-- word/Editor/Table/TableCell.js | 4 ++-- 4 files changed, 8 insertions(+), 17 deletions(-) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index 63d293db51..b16ff824e9 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -1830,18 +1830,9 @@ Paragraph.prototype.Draw = function(CurPage, pGraphics) var Theme = this.Get_Theme(); var ColorMap = this.Get_ColorMap(); var BgColor = undefined; - if (undefined !== Pr.ParaPr.Shd && Asc.c_oAscShdNil !== Pr.ParaPr.Shd.Value && true !== Pr.ParaPr.Shd.Color.Auto) + if (Pr.ParaPr.Shd && !Pr.ParaPr.Shd.IsNil() && (!Pr.ParaPr.Shd.Color || true !== Pr.ParaPr.Shd.Color.Auto)) { - if (Pr.ParaPr.Shd.Unifill) - { - Pr.ParaPr.Shd.Unifill.check(this.Get_Theme(), this.Get_ColorMap()); - var RGBA = Pr.ParaPr.Shd.Unifill.getRGBAColor(); - BgColor = new CDocumentColor(RGBA.R, RGBA.G, RGBA.B, false); - } - else - { - BgColor = Pr.ParaPr.Shd.Color; - } + BgColor = Pr.ParaPr.Shd.GetSimpleColor(this.GetTheme(), this.GetColorMap()); } else { diff --git a/word/Editor/Run.js b/word/Editor/Run.js index 82cd147917..413ce4ee79 100644 --- a/word/Editor/Run.js +++ b/word/Editor/Run.js @@ -5950,8 +5950,8 @@ ParaRun.prototype.Draw_Elements = function(PDSE) InfoMathText = new CMathInfoTextPr(InfoTextPr); } - if ( undefined !== CurTextPr.Shd && c_oAscShdNil !== CurTextPr.Shd.Value && !(CurTextPr.FontRef && CurTextPr.FontRef.Color) ) - BgColor = CurTextPr.Shd.Get_Color( Para ); + if (CurTextPr.Shd && !CurTextPr.Shd.IsNil() && !(CurTextPr.FontRef && CurTextPr.FontRef.Color)) + BgColor = CurTextPr.Shd.GetSimpleColor(Para.GetTheme(), Para.GetColorMap()); var AutoColor = ( undefined != BgColor && false === BgColor.Check_BlackAutoColor() ? new CDocumentColor( 255, 255, 255, false ) : new CDocumentColor( 0, 0, 0, false ) ); var RGBA, Theme = PDSE.Theme, ColorMap = PDSE.ColorMap; diff --git a/word/Editor/Table.js b/word/Editor/Table.js index 87ef0b76c4..2d09010a44 100644 --- a/word/Editor/Table.js +++ b/word/Editor/Table.js @@ -2188,8 +2188,8 @@ CTable.prototype.Get_TextBackGroundColor = function() // Сначала проверим заливку данной таблицы, если ее нет, тогда спрашиваем у родительского класса var Shd = this.Get_Shd(); - if (Asc.c_oAscShdNil !== Shd.Value) - return Shd.Get_Color2(this.Get_Theme(), this.Get_ColorMap()); + if (Shd && !Shd.IsNil()) + return Shd.GetSimpleColor(this.Get_Theme(), this.Get_ColorMap()); return this.Parent.Get_TextBackGroundColor(); }; diff --git a/word/Editor/Table/TableCell.js b/word/Editor/Table/TableCell.js index 1dc46fe83f..2ad8db1bd6 100644 --- a/word/Editor/Table/TableCell.js +++ b/word/Editor/Table/TableCell.js @@ -469,8 +469,8 @@ CTableCell.prototype = // Сначала проверим заливку данной ячейки, если ее нет, тогда спрашиваем у таблицы var Shd = this.Get_Shd(); - if ( Asc.c_oAscShdNil !== Shd.Value ) - return Shd.Get_Color2(this.Get_Theme(), this.Get_ColorMap()); + if (Shd && !Shd.IsNil()) + return Shd.GetSimpleColor(this.Get_Theme(), this.Get_ColorMap()); var oTable = this.GetTable(); return oTable ? oTable.Get_TextBackGroundColor() : null; From 3d3754dbca1a8c3aed6785bb331f15c2db91c929 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 23 Mar 2021 11:59:57 +0300 Subject: [PATCH 070/381] Refactor FillColor -> Fill Also implement new shadings scheme for tables --- common/SerializeCommonWordExcel.js | 6 +- word/Editor/Styles.js | 349 ++++++++++++++--------------- word/Editor/Table/TableDraw.js | 30 +-- word/Math/base.js | 5 +- 4 files changed, 187 insertions(+), 203 deletions(-) diff --git a/common/SerializeCommonWordExcel.js b/common/SerializeCommonWordExcel.js index bddf2eb0a6..1a69d886f6 100644 --- a/common/SerializeCommonWordExcel.js +++ b/common/SerializeCommonWordExcel.js @@ -261,8 +261,8 @@ BinaryCommonWriter.prototype.WriteShd = function(Shd) } if (null != color && !color.Auto) this.WriteColor(c_oSerShdType.Color, color); - if(Shd.FillColor && !Shd.FillColor.Auto) - this.WriteColor(c_oSerShdType.Fill, Shd.FillColor); + if(Shd.Fill && !Shd.Fill.Auto) + this.WriteColor(c_oSerShdType.Fill, Shd.Fill); if(null != Shd.Unifill || (null != Shd.Color && Shd.Color.Auto)) { this.memory.WriteByte(c_oSerShdType.ColorTheme); @@ -564,7 +564,7 @@ Binary_CommonReader.prototype.ReadShd = function(type, length, Shd, themeColor) }); break; case c_oSerShdType.Fill: - Shd.FillColor = this.ReadColor();break; + Shd.Fill = this.ReadColor(); break; default: res = c_oSerConstants.ReadUnknown; diff --git a/word/Editor/Styles.js b/word/Editor/Styles.js index 702b021115..dc81f39295 100644 --- a/word/Editor/Styles.js +++ b/word/Editor/Styles.js @@ -9874,84 +9874,19 @@ CDocumentColor.prototype.Is_Equal = function(Color) function CDocumentShd() { - this.Value = Asc.c_oAscShd.Nil; - this.Color = new CDocumentColor(255, 255, 255); - this.FillColor = undefined; - this.Unifill = undefined; - this.FillRef = undefined; + this.Value = Asc.c_oAscShd.Nil; + this.Color = new CDocumentColor(255, 255, 255); + this.Fill = undefined; + this.Unifill = undefined; + this.FillRef = undefined; // TODO: // 1. this.Color по умолчанию должен быть undefined // 2. Добавить аналог для themeFill и переименовать Unifill в themeColor - } CDocumentShd.prototype = { - Copy : function() - { - var Shd = new CDocumentShd(); - Shd.Value = this.Value; - - if ( undefined !== this.Color ) - Shd.Color.Set( this.Color.r, this.Color.g, this.Color.b, this.Color.Auto ); - - if( undefined !== this.Unifill ) - Shd.Unifill = this.Unifill.createDuplicate(); - - if( undefined !== this.FillRef ) - Shd.FillRef = this.FillRef.createDuplicate(); - - if( undefined !== this.FillColor ) - { - Shd.FillColor = new CDocumentColor(this.FillColor.r, this.FillColor.g, this.FillColor.b, this.FillColor.Auto); - } - - return Shd; - }, - - Compare : function(Shd) - { - if ( undefined === Shd ) - return false; - - if ( this.Value === Shd.Value ) - { - switch ( this.Value ) - { - case c_oAscShdNil: - return true; - - case c_oAscShdClear: - { - if( !this.Color.Compare( Shd.Color ) ) - { - return false; - } - if( !AscFormat.CompareUnifillBool(this.Unifill, Shd.Unifill) ) - { - return false; - } - if( this.FillColor ) - { - if(!this.FillColor.Compare( Shd.FillColor )) - { - return false; - } - } - return true; - } - } - } - - return false; - }, - - Is_Equal : function(Shd) - { - return this.IsEqual(Shd); - }, - Get_Color : function(Paragraph) { if ( undefined !== this.Unifill ) @@ -9960,9 +9895,9 @@ CDocumentShd.prototype = var RGBA = this.Unifill.getRGBAColor(); return new CDocumentColor( RGBA.R, RGBA.G, RGBA.B, false ); } - else if( undefined !== this.FillColor ) + else if( undefined !== this.Fill ) { - return this.FillColor; + return this.Fill; } else return this.Color; @@ -9976,9 +9911,9 @@ CDocumentShd.prototype = var RGBA = this.Unifill.getRGBAColor(); return new CDocumentColor( RGBA.R, RGBA.G, RGBA.B, false ); } - else if( undefined !== this.FillColor ) + else if( undefined !== this.Fill ) { - return this.FillColor; + return this.Fill; } else return this.Color; @@ -9997,44 +9932,6 @@ CDocumentShd.prototype = } }, - InitDefault : function() - { - this.Value = c_oAscShdNil; - this.Color.Set( 0, 0, 0, false ); - this.Unifill = undefined; - this.FillRef = undefined; - }, - - Set_FromObject : function(Shd) - { - if ( undefined === Shd ) - { - this.Value = c_oAscShdNil; - return; - } - - this.Value = Shd.Value; - if ( c_oAscShdNil != Shd.Value ) - { - if( undefined != Shd.Color ) - this.Color.Set( Shd.Color.r, Shd.Color.g, Shd.Color.b, Shd.Color.Auto ); - if(undefined != Shd.Unifill) - { - this.Unifill = Shd.Unifill.createDuplicate(); - } - if(undefined != Shd.FillRef) - { - this.FillRef = Shd.FillRef.createDuplicate(); - } - if( undefined != Shd.FillColor ) - { - this.FillColor = new CDocumentColor(Shd.FillColor.r, Shd.FillColor.g, Shd.FillColor.b, Shd.FillColor.Auto); - } - } - else if ( undefined === Shd.Color ) - this.Color = undefined; - }, - Check_PresentationPr : function(Theme) { if(this.FillRef && Theme) @@ -10042,80 +9939,31 @@ CDocumentShd.prototype = this.Unifill = Theme.getFillStyle(this.FillRef.idx, this.FillRef.Color); this.FillRef = undefined; } - }, + } +}; +CDocumentShd.prototype.Copy = function() +{ + var Shd = new CDocumentShd(); - Write_ToBinary : function(Writer) - { - // Byte : Value - // - // Если c_oAscShdClear - // Variable : Color + Shd.Value = this.Value; - Writer.WriteByte( this.Value ); - if ( c_oAscShdClear === this.Value ) - { - this.Color.Write_ToBinary(Writer); - if(this.Unifill) - { - Writer.WriteBool(true); - this.Unifill.Write_ToBinary(Writer); - } - else - { - Writer.WriteBool(false); - } - if(this.FillRef) - { - Writer.WriteBool(true); - this.FillRef.Write_ToBinary(Writer); - } - else - { - Writer.WriteBool(false); - } - if(this.FillColor) - { - Writer.WriteBool(true); - this.FillColor.Write_ToBinary(Writer); - } - else - { - Writer.WriteBool(false); - } - } - }, + if (undefined !== this.Color) + Shd.Color.Set(this.Color.r, this.Color.g, this.Color.b, this.Color.Auto); - Read_FromBinary : function(Reader) - { - // Byte : Value - // - // Если c_oAscShdClear - // Variable : Color + if (undefined !== this.Unifill) + Shd.Unifill = this.Unifill.createDuplicate(); - this.Value = Reader.GetByte(); + if (undefined !== this.FillRef) + Shd.FillRef = this.FillRef.createDuplicate(); - if ( c_oAscShdClear === this.Value ) - { - this.Color.Read_FromBinary(Reader); - if(Reader.GetBool()) - { - this.Unifill = new AscFormat.CUniFill(); - this.Unifill.Read_FromBinary(Reader); - } - if(Reader.GetBool()) - { - this.FillRef = new AscFormat.StyleRef(); - this.FillRef.Read_FromBinary(Reader); - } - if(Reader.GetBool()) - { - this.FillColor = new CDocumentColor(); - this.FillColor.Read_FromBinary(Reader); - } - } - else - this.Color.Set(0, 0, 0); - } + if (undefined !== this.Fill) + Shd.Fill = new CDocumentColor(this.Fill.r, this.Fill.g, this.Fill.b, this.Fill.Auto); + + return Shd; +}; +CDocumentShd.prototype.Compare = function(oShd) +{ + return this.IsEqual(oShd); }; CDocumentShd.prototype.IsEqual = function(oShd) { @@ -10125,7 +9973,48 @@ CDocumentShd.prototype.IsEqual = function(oShd) if (Asc.c_oAscShd.Nil === this.Value) return true; - return (IsEqualStyleObjects(this.Color, oShd.Color) && IsEqualStyleObjects(this.FillColor, oShd.FillColor) && IsEqualStyleObjects(this.Unifill, oShd.Unifill)); + return (IsEqualStyleObjects(this.Color, oShd.Color) && IsEqualStyleObjects(this.Fill, oShd.Fill) && IsEqualStyleObjects(this.Unifill, oShd.Unifill)); +}; +CDocumentShd.prototype.Is_Equal = function(Shd) +{ + return this.IsEqual(Shd); +}; +CDocumentShd.prototype.InitDefault = function() +{ + this.Value = Asc.c_oAscShd.Nil; + this.Color = new CDocumentColor(0, 0, 0, false); + this.Unifill = undefined; + this.FillRef = undefined; + this.Fill = undefined; +}; +CDocumentShd.prototype.Set_FromObject = function(oShd) +{ + if (!oShd) + { + this.Value = Asc.c_oAscShd.Nil; + return; + } + + this.Value = oShd.Value; + + if (Asc.c_oAscShd.Nil !== oShd.Value) + { + if (oShd.Color) + this.Color = new CDocumentColor(oShd.Color.r, oShd.Color.g, oShd.Color.b, oShd.Color.Auto); + + if (oShd.Unifill) + this.Unifill = oShd.Unifill.createDuplicate(); + + if (oShd.FillRef) + this.FillRef = oShd.FillRef.createDuplicate(); + + if (oShd.Fill) + this.Fill = new CDocumentColor(oShd.Fill.r, oShd.Fill.g, oShd.Fill.b, oShd.Fill.Auto); + } + else if (oShd.Color) + { + this.Color = undefined; + } }; CDocumentShd.prototype.IsNil = function() { @@ -10142,9 +10031,9 @@ CDocumentShd.prototype.GetSimpleColor = function(oTheme, oColorMap) var RGBA = this.UniThemeFill.getRGBAColor(); oFillColor = new CDocumentColor(RGBA.R, RGBA.G, RGBA.B, false); } - else if (undefined !== this.FillColor) + else if (undefined !== this.Fill) { - oFillColor = this.FillColor; + oFillColor = this.Fill; } if (undefined !== this.Unifill) @@ -10333,6 +10222,98 @@ CDocumentShd.prototype.private_GetPctShdColor = function(nPct, oColor1, oColor2) false ); }; +CDocumentShd.prototype.Write_ToBinary = function(Writer) +{ + // Byte : Value + // + // Если не Asc.c_oAscShd.Nil + // Variable : Color + + Writer.WriteByte(this.Value); + + if (Asc.c_oAscShd.Nil !== this.Value) + { + if (this.Color) + { + Writer.WriteBool(false); + this.Color.Write_ToBinary(Writer); + } + else + { + Writer.WriteBool(false); + } + + if (this.Unifill) + { + Writer.WriteBool(true); + this.Unifill.Write_ToBinary(Writer); + } + else + { + Writer.WriteBool(false); + } + + if (this.FillRef) + { + Writer.WriteBool(true); + this.FillRef.Write_ToBinary(Writer); + } + else + { + Writer.WriteBool(false); + } + + if (this.Fill) + { + Writer.WriteBool(true); + this.Fill.Write_ToBinary(Writer); + } + else + { + Writer.WriteBool(false); + } + } +}; +CDocumentShd.prototype.Read_FromBinary = function(Reader) +{ + // Byte : Value + // + // Если не Asc.c_oAscShd.Nil + // Variable : Color + + this.Value = Reader.GetByte(); + + if (Asc.c_oAscShd.Nil !== this.Value) + { + if (Reader.GetBool()) + { + this.Color = new CDocumentColor(); + this.Color.Read_FromBinary(Reader); + } + + if (Reader.GetBool()) + { + this.Unifill = new AscFormat.CUniFill(); + this.Unifill.Read_FromBinary(Reader); + } + + if (Reader.GetBool()) + { + this.FillRef = new AscFormat.StyleRef(); + this.FillRef.Read_FromBinary(Reader); + } + + if (Reader.GetBool()) + { + this.Fill = new CDocumentColor(); + this.Fill.Read_FromBinary(Reader); + } + } + else + { + this.Color = new CDocumentColor(0, 0, 0, false); + } +}; function CDocumentBorder() { diff --git a/word/Editor/Table/TableDraw.js b/word/Editor/Table/TableDraw.js index c1e993f176..32af62e28a 100644 --- a/word/Editor/Table/TableDraw.js +++ b/word/Editor/Table/TableDraw.js @@ -236,7 +236,7 @@ CTable.prototype.private_DrawRowBackground = function(oGraphics, oTableShd, nCel if (!nCellsSpacing || this.bPresentation || Asc.c_oAscShdNil === oTableShd.Value) return; - var RGBA = oTableShd.Get_Color2(this.Get_Theme(), this.Get_ColorMap()); + var RGBA = oTableShd.GetSimpleColor(this.Get_Theme(), this.Get_ColorMap()); if (oGraphics.SetShd) oGraphics.SetShd(oTableShd); @@ -468,17 +468,20 @@ CTable.prototype.private_DrawCellsBackground = function(pGraphics, PNum, Row_sta var CellShd = Cell.Get_Shd(); if(!this.bPresentation) { - var RGBA = CellShd.Get_Color2(Theme, ColorMap); - if (true !== RGBA.Auto) - { - pGraphics.b_color1(RGBA.r, RGBA.g, RGBA.b, 255); - if(pGraphics.SetShd) - { - pGraphics.SetShd(CellShd); + if (CellShd && !CellShd.IsNil()) + { + var RGBA = CellShd.GetSimpleColor(Theme, ColorMap); + if (true !== RGBA.Auto) + { + pGraphics.b_color1(RGBA.r, RGBA.g, RGBA.b, 255); + if (pGraphics.SetShd) + { + pGraphics.SetShd(CellShd); - } - pGraphics.TableRect(Math.min(X_cell_start, X_cell_end), Math.min(Y, Y + RealHeight), Math.abs(X_cell_end - X_cell_start), Math.abs(RealHeight)); - } + } + pGraphics.TableRect(Math.min(X_cell_start, X_cell_end), Math.min(Y, Y + RealHeight), Math.abs(X_cell_end - X_cell_start), Math.abs(RealHeight)); + } + } } else { @@ -560,7 +563,7 @@ CTable.prototype.private_DrawCellsBackground = function(pGraphics, PNum, Row_sta // Заливаем ячейку var CellShd = Cell.Get_Shd(); - if (Asc.c_oAscShdNil != CellShd.Value || (!this.bPresentation && reviewtype_Common !== nReviewType)) + if (CellShd && (!CellShd.IsNil() || (!this.bPresentation && reviewtype_Common !== nReviewType))) { if (!this.bPresentation) { @@ -575,8 +578,7 @@ CTable.prototype.private_DrawCellsBackground = function(pGraphics, PNum, Row_sta } else { - - var RGBA = CellShd.Get_Color2(Theme, ColorMap); + var RGBA = CellShd.GetSimpleColor(Theme, ColorMap); if (true !== RGBA.Auto) { pGraphics.b_color1(RGBA.r, RGBA.g, RGBA.b, 255); diff --git a/word/Math/base.js b/word/Math/base.js index 5f77ba74ac..95c4705dd9 100644 --- a/word/Math/base.js +++ b/word/Math/base.js @@ -1968,8 +1968,9 @@ CMathBase.prototype.Draw_Lines = function(PDSL) var Para = PDSL.Paragraph; var BgColor = PDSL.BgColor; - if ( undefined !== CtrPrp.Shd && Asc.c_oAscShdNil !== CtrPrp.Shd.Value ) - BgColor = CtrPrp.Shd.Get_Color( Para ); + if (CtrPrp.Shd && !CtrPrp.Shd.IsNil()) + BgColor = CtrPrp.Shd.GetSimpleColor(Para.GetTheme(), Para.GetColorMap()); + var AutoColor = ( undefined != BgColor && false === BgColor.Check_BlackAutoColor() ? new CDocumentColor( 255, 255, 255, false ) : new CDocumentColor( 0, 0, 0, false ) ); var CurColor, RGBA, Theme = this.Paragraph.Get_Theme(), ColorMap = this.Paragraph.Get_ColorMap(); From 04d31177cf1f18a83af38507d3a75c06cef49289 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 23 Mar 2021 13:00:31 +0300 Subject: [PATCH 071/381] Implement setting up the shade of the paragraph --- common/HistoryCommon.js | 1 + word/Editor/Paragraph.js | 7 ++++++ word/Editor/ParagraphChanges.js | 42 +++++++++++++++++++++++++++++++++ word/api.js | 24 +++++++++++++++---- 4 files changed, 69 insertions(+), 5 deletions(-) diff --git a/common/HistoryCommon.js b/common/HistoryCommon.js index b4f00bb27c..e3a9bb22ad 100644 --- a/common/HistoryCommon.js +++ b/common/HistoryCommon.js @@ -1569,6 +1569,7 @@ window['AscDFH'].historyitem_Paragraph_OutlineLvl = window['AscDFH'].historyitem_type_Paragraph | 37; window['AscDFH'].historyitem_Paragraph_DefaultTabSize = window['AscDFH'].historyitem_type_Paragraph | 38; window['AscDFH'].historyitem_Paragraph_SuppressLineNumbers = window['AscDFH'].historyitem_type_Paragraph | 39; + window['AscDFH'].historyitem_Paragraph_Shd_Fill = window['AscDFH'].historyitem_type_Paragraph | 40; //------------------------------------------------------------------------------------------------------------------ // Типы изменений в классе ParaTextPr //------------------------------------------------------------------------------------------------------------------ diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index b16ff824e9..b9c9daa89f 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -10287,6 +10287,13 @@ Paragraph.prototype.Set_Shd = function(_Shd, bDeleteUndefined) History.Add(new CChangesParagraphShdUnifill(this, this.Pr.Shd.Unifill, Shd.Unifill)); this.Pr.Shd.Unifill = Shd.Unifill; } + + if (Shd.Fill || true === bDeleteUndefined) + { + this.private_AddPrChange(); + History.Add(new CChangesParagraphShdFill(this, this.Pr.Shd.Fill, Shd.Fill)); + this.Pr.Shd.Fill = Shd.Fill; + } } // Надо пересчитать конечный стиль diff --git a/word/Editor/ParagraphChanges.js b/word/Editor/ParagraphChanges.js index 69d7259942..08bd159c1a 100644 --- a/word/Editor/ParagraphChanges.js +++ b/word/Editor/ParagraphChanges.js @@ -76,6 +76,7 @@ AscDFH.changesFactory[AscDFH.historyitem_Paragraph_PrReviewInfo] = AscDFH.changesFactory[AscDFH.historyitem_Paragraph_OutlineLvl] = CChangesParagraphOutlineLvl; AscDFH.changesFactory[AscDFH.historyitem_Paragraph_DefaultTabSize] = CChangesParagraphDefaultTabSize; AscDFH.changesFactory[AscDFH.historyitem_Paragraph_SuppressLineNumbers] = CChangesParagraphSuppressLineNumbers; +AscDFH.changesFactory[AscDFH.historyitem_Paragraph_Shd_Fill] = CChangesParagraphShdFill; function private_ParagraphChangesOnLoadPr(oColor) { @@ -185,6 +186,7 @@ AscDFH.changesRelationMap[AscDFH.historyitem_Paragraph_Shd] AscDFH.historyitem_Paragraph_Shd_Value, AscDFH.historyitem_Paragraph_Shd_Color, AscDFH.historyitem_Paragraph_Shd_Unifill, + AscDFH.historyitem_Paragraph_Shd_Fill, AscDFH.historyitem_Paragraph_Shd, AscDFH.historyitem_Paragraph_Pr ]; @@ -241,6 +243,7 @@ AscDFH.changesRelationMap[AscDFH.historyitem_Paragraph_Pr] AscDFH.historyitem_Paragraph_Shd_Value, AscDFH.historyitem_Paragraph_Shd_Color, AscDFH.historyitem_Paragraph_Shd_Unifill, + AscDFH.historyitem_Paragraph_Shd_Fill, AscDFH.historyitem_Paragraph_Shd, AscDFH.historyitem_Paragraph_WidowControl, AscDFH.historyitem_Paragraph_Tabs, @@ -290,6 +293,11 @@ AscDFH.changesRelationMap[AscDFH.historyitem_Paragraph_SuppressLineNumbers] AscDFH.historyitem_Paragraph_SuppressLineNumbers, AscDFH.historyitem_Paragraph_Pr ]; +AscDFH.changesRelationMap[AscDFH.historyitem_Paragraph_Shd_Fill] = [ + AscDFH.historyitem_Paragraph_Shd_Fill, + AscDFH.historyitem_Paragraph_Shd, + AscDFH.historyitem_Paragraph_Pr +]; // Общая функция Merge для изменений, которые зависят только от себя и AscDFH.historyitem_Paragraph_Pr function private_ParagraphChangesOnMergePr(oChange) @@ -1951,3 +1959,37 @@ CChangesParagraphSuppressLineNumbers.prototype.IsNeedRecalculateLineNumbers = fu { return true; }; +/** + * @constructor + * @extends {AscDFH.CChangesBaseObjectProperty} + */ +function CChangesParagraphShdFill(Class, Old, New, Color) +{ + AscDFH.CChangesBaseObjectProperty.call(this, Class, Old, New, Color); +} +CChangesParagraphShdFill.prototype = Object.create(AscDFH.CChangesBaseObjectProperty.prototype); +CChangesParagraphShdFill.prototype.constructor = CChangesParagraphShdFill; +CChangesParagraphShdFill.prototype.Type = AscDFH.historyitem_Paragraph_Shd_Fill; +CChangesParagraphShdFill.prototype.private_CreateObject = function() +{ + return new CDocumentColor(0, 0, 0); +}; +CChangesParagraphShdFill.prototype.private_SetValue = function(Value) +{ + var oParagraph = this.Class; + + if (undefined === oParagraph.Pr.Shd) + oParagraph.Pr.Shd = new CDocumentShd(); + + oParagraph.Pr.Shd.Fill = Value; + + oParagraph.CompiledPr.NeedRecalc = true; + oParagraph.private_UpdateTrackRevisionOnChangeParaPr(false); + private_ParagraphChangesOnSetValue(this.Class); +}; +CChangesParagraphShdFill.prototype.Merge = private_ParagraphChangesOnMergeShdPr; +CChangesParagraphShdFill.prototype.Load = private_ParagraphChangesOnLoadPr; +CChangesParagraphShdFill.prototype.IsNeedRecalculate = function() +{ + return false; +}; diff --git a/word/api.js b/word/api.js index 74270a26ea..de0629f314 100644 --- a/word/api.js +++ b/word/api.js @@ -4170,28 +4170,42 @@ background-repeat: no-repeat;\ if (false === is_flag) { this.WordControl.m_oLogicDocument.SetParagraphShd({ - Value : Asc.c_oAscShdClear, - Color : { + Value : Asc.c_oAscShd.Clear, + Color : { + r : 0, + g : 0, + b : 0, + Auto : true + }, + Fill : { r : 255, g : 255, b : 255, Auto : true - }, - Unifill : undefined + } }); } else { + // TODO: Пока ипользуем тип Asc.c_oAscShd.Solid, потому что цвета темы для + // Fill нет, как появится надо будет вернуть Asc.c_oAscShd.Clear + var Unifill = new AscFormat.CUniFill(); Unifill.fill = new AscFormat.CSolidFill(); Unifill.fill.color = AscFormat.CorrectUniColor(color, Unifill.fill.color, 1); + this.WordControl.m_oLogicDocument.SetParagraphShd({ - Value : Asc.c_oAscShdClear, + Value : Asc.c_oAscShd.Clear, Color : { r : color.asc_getR(), g : color.asc_getG(), b : color.asc_getB() }, + Fill : { + r : color.asc_getR(), + g : color.asc_getG(), + b : color.asc_getB() + }, Unifill : Unifill }); } From ca32cd885f1474d744e3ae38d5bbd2c483b8f670 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 23 Mar 2021 13:00:57 +0300 Subject: [PATCH 072/381] Remove comment --- word/api.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/word/api.js b/word/api.js index de0629f314..426d2c470f 100644 --- a/word/api.js +++ b/word/api.js @@ -4187,9 +4187,6 @@ background-repeat: no-repeat;\ } else { - // TODO: Пока ипользуем тип Asc.c_oAscShd.Solid, потому что цвета темы для - // Fill нет, как появится надо будет вернуть Asc.c_oAscShd.Clear - var Unifill = new AscFormat.CUniFill(); Unifill.fill = new AscFormat.CSolidFill(); Unifill.fill.color = AscFormat.CorrectUniColor(color, Unifill.fill.color, 1); From a952213f8d21de1cc4c50f6cc184082881d97074 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 23 Mar 2021 18:28:13 +0300 Subject: [PATCH 073/381] Fix setting up paragraph's shading from extended props --- word/api.js | 43 ++++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/word/api.js b/word/api.js index 426d2c470f..0cfe1a401c 100644 --- a/word/api.js +++ b/word/api.js @@ -3479,21 +3479,28 @@ background-repeat: no-repeat;\ if (undefined !== Props.OutlineLvl) this.WordControl.m_oLogicDocument.SetParagraphOutlineLvl(Props.OutlineLvl); - if ("undefined" != typeof(Props.Shd) && null != Props.Shd) + if (Props.Shd) { var Unifill = new AscFormat.CUniFill(); Unifill.fill = new AscFormat.CSolidFill(); Unifill.fill.color = AscFormat.CorrectUniColor(Props.Shd.Color, Unifill.fill.color, 1); - this.WordControl.m_oLogicDocument.SetParagraphShd( - { - Value : Props.Shd.Value, - Color : { - r : Props.Shd.Color.asc_getR(), - g : Props.Shd.Color.asc_getG(), - b : Props.Shd.Color.asc_getB() - }, - Unifill : Unifill - }); + + this.WordControl.m_oLogicDocument.SetParagraphShd({ + Value : Asc.c_oAscShd.Clear, + Color : { + r : Props.Shd.Color.asc_getR(), + g : Props.Shd.Color.asc_getG(), + b : Props.Shd.Color.asc_getB(), + Auto : false + }, + Fill : { + r : Props.Shd.Color.asc_getR(), + g : Props.Shd.Color.asc_getG(), + b : Props.Shd.Color.asc_getB(), + Auto : false + }, + Unifill : Unifill + }); } if ("undefined" != typeof(Props.Brd) && null != Props.Brd) @@ -4194,14 +4201,16 @@ background-repeat: no-repeat;\ this.WordControl.m_oLogicDocument.SetParagraphShd({ Value : Asc.c_oAscShd.Clear, Color : { - r : color.asc_getR(), - g : color.asc_getG(), - b : color.asc_getB() + r : color.asc_getR(), + g : color.asc_getG(), + b : color.asc_getB(), + Auto : false }, Fill : { - r : color.asc_getR(), - g : color.asc_getG(), - b : color.asc_getB() + r : color.asc_getR(), + g : color.asc_getG(), + b : color.asc_getB(), + Auto : false }, Unifill : Unifill }); From 8277b7f58b951173f5fa406a07e79ceec1c955b6 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 23 Mar 2021 19:06:12 +0300 Subject: [PATCH 074/381] Fix showing shading color of a paragraph in UI --- common/apiCommon.js | 25 ++++++++++++++++++------- word/Editor/Styles.js | 14 +++++++++----- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/common/apiCommon.js b/common/apiCommon.js index deb2c56417..2946ccc47d 100644 --- a/common/apiCommon.js +++ b/common/apiCommon.js @@ -2416,13 +2416,24 @@ if (obj) { this.Value = (undefined != obj.Value) ? obj.Value : null; - if (obj.Unifill && obj.Unifill.fill && obj.Unifill.fill.type === c_oAscFill.FILL_TYPE_SOLID && - obj.Unifill.fill.color) { - this.Color = CreateAscColor(obj.Unifill.fill.color); - } else { - this.Color = - (undefined != obj.Color && null != obj.Color) ? CreateAscColorCustom(obj.Color.r, obj.Color.g, obj.Color.b) : - null; + + // TODO: В UI пока поддерживается ровно два типа заливки Nil, Clear + if (null !== this.Value && this.Value !== Asc.c_oAscShd.Nil) + this.Value = Asc.c_oAscShd.Clear; + + if (obj.GetSimpleColor){ + var oColor = obj.GetSimpleColor(); + this.Color = CreateAscColorCustom(oColor.r, oColor.g, oColor.b, oColor.Auto); + } + else { + if (obj.Unifill && obj.Unifill.fill && obj.Unifill.fill.type === c_oAscFill.FILL_TYPE_SOLID && + obj.Unifill.fill.color) { + this.Color = CreateAscColor(obj.Unifill.fill.color); + } else { + this.Color = + (undefined != obj.Color && null != obj.Color) ? CreateAscColorCustom(obj.Color.r, obj.Color.g, obj.Color.b) : + null; + } } } else { this.Value = Asc.c_oAscShdNil; diff --git a/word/Editor/Styles.js b/word/Editor/Styles.js index dc81f39295..868d8c38f0 100644 --- a/word/Editor/Styles.js +++ b/word/Editor/Styles.js @@ -10027,7 +10027,9 @@ CDocumentShd.prototype.GetSimpleColor = function(oTheme, oColorMap) if (undefined !== this.UniThemeFill) { - this.UniThemeFill.check(oTheme, oColorMap); + if (oTheme && oColorMap) + this.UniThemeFill.check(oTheme, oColorMap); + var RGBA = this.UniThemeFill.getRGBAColor(); oFillColor = new CDocumentColor(RGBA.R, RGBA.G, RGBA.B, false); } @@ -10038,7 +10040,9 @@ CDocumentShd.prototype.GetSimpleColor = function(oTheme, oColorMap) if (undefined !== this.Unifill) { - this.Unifill.check(oTheme, oColorMap); + if (oTheme && oColorMap) + this.Unifill.check(oTheme, oColorMap); + var RGBA = this.Unifill.getRGBAColor(); oStrokeColor = new CDocumentColor(RGBA.R, RGBA.G, RGBA.B, false); } @@ -10216,9 +10220,9 @@ CDocumentShd.prototype.private_GetPctShdColor = function(nPct, oColor1, oColor2) { var _nPct = 1 - nPct; return new CDocumentColor( - oColor1.r * nPct + oColor2.r * _nPct, - oColor1.g * nPct + oColor2.g * _nPct, - oColor1.b * nPct + oColor2.b * _nPct, + (oColor1.r * nPct + oColor2.r * _nPct) | 0, + (oColor1.g * nPct + oColor2.g * _nPct) | 0, + (oColor1.b * nPct + oColor2.b * _nPct) | 0, false ); }; From 007ea315e90e3ef28ab439fdde5f3790452e89f1 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 24 Mar 2021 02:39:51 +0300 Subject: [PATCH 075/381] Implement new shading scheme for tables --- word/Editor/Table.js | 101 +++++++++++++++++++++++++++---------------- word/apiCommon.js | 21 +++++++-- 2 files changed, 81 insertions(+), 41 deletions(-) diff --git a/word/Editor/Table.js b/word/Editor/Table.js index 2d09010a44..632d66df61 100644 --- a/word/Editor/Table.js +++ b/word/Editor/Table.js @@ -1956,9 +1956,16 @@ CTable.prototype.Set_Props = function(Props) oCell.Set_Shd({ Value : Props.TableBackground.Value, Color : { - r : Props.TableBackground.Color.r, - g : Props.TableBackground.Color.g, - b : Props.TableBackground.Color.b + r : Props.TableBackground.Color.r, + g : Props.TableBackground.Color.g, + b : Props.TableBackground.Color.b, + Auto : false + }, + Fill : { + r : Props.TableBackground.Color.r, + g : Props.TableBackground.Color.g, + b : Props.TableBackground.Color.b, + Auto : false } }); } @@ -1977,17 +1984,23 @@ CTable.prototype.Set_Props = function(Props) for (var CurCell = 0; CurCell < Row.Get_CellsCount(); CurCell++) { var Cell = Row.Get_Cell(CurCell); - var NewShd = - { - Value : Props.CellsBackground.Value, - Color : { - r : Props.CellsBackground.Color.r, - g : Props.CellsBackground.Color.g, - b : Props.CellsBackground.Color.b - }, - - Unifill : Props.CellsBackground.Unifill.createDuplicate() - }; + var NewShd = { + Value : Props.CellsBackground.Value, + Color : { + r : Props.CellsBackground.Color.r, + g : Props.CellsBackground.Color.g, + b : Props.CellsBackground.Color.b, + Auto : false + }, + Fill : { + r : Props.CellsBackground.Color.r, + g : Props.CellsBackground.Color.g, + b : Props.CellsBackground.Color.b, + Auto : false + }, + + Unifill : Props.CellsBackground.Unifill.createDuplicate() + }; Cell.Set_Shd(NewShd); @@ -2005,17 +2018,24 @@ CTable.prototype.Set_Props = function(Props) if (Props.CellsBackground.Value != Cell_shd.Value || Props.CellsBackground.Color.r != Cell_shd.Color.r || Props.CellsBackground.Color.g != Cell_shd.Color.g || Props.CellsBackground.Color.b != Cell_shd.Color.b || !AscFormat.CompareUnifillBool(Props.CellsBackground.Unifill, Cell_shd.Unifill)) { - var NewShd = - { - Value : Props.CellsBackground.Value, - Color : { - r : Props.CellsBackground.Color.r, - g : Props.CellsBackground.Color.g, - b : Props.CellsBackground.Color.b - }, - - Unifill : Props.CellsBackground.Unifill.createDuplicate() - }; + var NewShd = { + Value : Props.CellsBackground.Value, + Color : { + r : Props.CellsBackground.Color.r, + g : Props.CellsBackground.Color.g, + b : Props.CellsBackground.Color.b, + Auto : false + }, + + Fill : { + r : Props.CellsBackground.Color.r, + g : Props.CellsBackground.Color.g, + b : Props.CellsBackground.Color.b, + Auto : false + }, + + Unifill : Props.CellsBackground.Unifill.createDuplicate() + }; Cell.Set_Shd(NewShd); @@ -2030,17 +2050,23 @@ CTable.prototype.Set_Props = function(Props) if (Props.CellsBackground.Value != Cell_shd.Value || Props.CellsBackground.Color.r != Cell_shd.Color.r || Props.CellsBackground.Color.g != Cell_shd.Color.g || Props.CellsBackground.Color.b != Cell_shd.Color.b || !AscFormat.CompareUnifillBool(Props.CellsBackground.Unifill, Cell_shd.Unifill)) { - var NewShd = - { - Value : Props.CellsBackground.Value, - Color : { - r : Props.CellsBackground.Color.r, - g : Props.CellsBackground.Color.g, - b : Props.CellsBackground.Color.b - }, - - Unifill : Props.CellsBackground.Unifill.createDuplicate() - }; + var NewShd = { + Value : Props.CellsBackground.Value, + Color : { + r : Props.CellsBackground.Color.r, + g : Props.CellsBackground.Color.g, + b : Props.CellsBackground.Color.b, + Auto : false + }, + + Fill : { + r : Props.CellsBackground.Color.r, + g : Props.CellsBackground.Color.g, + b : Props.CellsBackground.Color.b, + Auto : false + }, + Unifill : Props.CellsBackground.Unifill.createDuplicate() + }; Cell.Set_Shd(NewShd); @@ -8762,7 +8788,8 @@ CTable.prototype.Set_TableShd = function(Value, r, g, b) { _Shd = new CDocumentShd(); _Shd.Value = Value; - _Shd.Color.Set(r, g, b); + _Shd.Color = new CDocumentColor(r, g, b); + _Shd.Fill = new CDocumentColor(r, g, b); } this.private_AddPrChange(); diff --git a/word/apiCommon.js b/word/apiCommon.js index 4ee636c180..318b199e5a 100644 --- a/word/apiCommon.js +++ b/word/apiCommon.js @@ -42,15 +42,28 @@ { if (obj) { - if (obj.Unifill && obj.Unifill.fill && obj.Unifill.fill.type === window['Asc'].c_oAscFill.FILL_TYPE_SOLID && obj.Unifill.fill.color) + this.Value = (undefined != obj.Value) ? obj.Value : null; + + if (obj.GetSimpleColor) { - this.Color = AscCommon.CreateAscColor(obj.Unifill.fill.color); + // TODO: Поддерживаем пока только Asc.c_oAscShd.Clear и Asc.c_oAscShd.Nil + if (undefined !== obj.Value && Asc.c_oAscShd.Nil !== this.Value) + this.Value = Asc.c_oAscShd.Clear; + + var oColor = obj.GetSimpleColor(); + this.Color = AscCommon.CreateAscColorCustom(oColor.r, oColor.g, oColor.b, oColor.Auto); } else { - this.Color = (undefined != obj.Color && null != obj.Color) ? AscCommon.CreateAscColorCustom(obj.Color.r, obj.Color.g, obj.Color.b) : null; + if (obj.Unifill && obj.Unifill.fill && obj.Unifill.fill.type === window['Asc'].c_oAscFill.FILL_TYPE_SOLID && obj.Unifill.fill.color) + { + this.Color = AscCommon.CreateAscColor(obj.Unifill.fill.color); + } + else + { + this.Color = (undefined != obj.Color && null != obj.Color) ? AscCommon.CreateAscColorCustom(obj.Color.r, obj.Color.g, obj.Color.b) : null; + } } - this.Value = (undefined != obj.Value) ? obj.Value : null; } else { From 19e99177ce7f8ccbfdc5a157de5d40286c2f1b5c Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 24 Mar 2021 12:39:27 +0300 Subject: [PATCH 076/381] Temporary fix for table styles --- word/Editor/Styles.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/word/Editor/Styles.js b/word/Editor/Styles.js index 868d8c38f0..55a9433888 100644 --- a/word/Editor/Styles.js +++ b/word/Editor/Styles.js @@ -10025,12 +10025,15 @@ CDocumentShd.prototype.GetSimpleColor = function(oTheme, oColorMap) var oFillColor = g_oDocumentDefaultFillColor; var oStrokeColor = g_oDocumentDefaultStrokeColor; - if (undefined !== this.UniThemeFill) + // TODO: Пока у нас неправильно работает сохранение и открытие в DOCX, поэтому считаем, что + // цвет, заданный в теме влияет на оба цвета, чтобы работало нормально в текущей схеме + + if (undefined !== this.Unifill) { if (oTheme && oColorMap) - this.UniThemeFill.check(oTheme, oColorMap); + this.Unifill.check(oTheme, oColorMap); - var RGBA = this.UniThemeFill.getRGBAColor(); + var RGBA = this.Unifill.getRGBAColor(); oFillColor = new CDocumentColor(RGBA.R, RGBA.G, RGBA.B, false); } else if (undefined !== this.Fill) From 4e896fe0a738fe0109901d210aeab5af54395b15 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 24 Mar 2021 18:20:54 +0300 Subject: [PATCH 077/381] Fix bug #49210 --- word/Editor/Paragraph.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index b9c9daa89f..d13eac0f22 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -1667,7 +1667,17 @@ Paragraph.prototype.GetNumberingTextPr = function() oNumTextPr.Merge(this.TextPr.Value); oNumTextPr.Merge(oLvl.GetTextPr()); - oNumTextPr.FontFamily.Name = oNumTextPr.RFonts.Ascii.Name; + // TODO: Пока возвращаем всегда шрифт лежащий в Ascii, в будущем надо будет это переделать + if (undefined !== oNumTextPr.RFonts && null !== oNumTextPr.RFonts) + { + oNumTextPr.ReplaceThemeFonts(this.GetTheme().themeElements.fontScheme); + + if (!oNumTextPr.FontFamily) + oNumTextPr.FontFamily = {Name : "", Index : -1}; + + oNumTextPr.FontFamily.Name = oNumTextPr.RFonts.Ascii.Name; + oNumTextPr.FontFamily.Index = oNumTextPr.RFonts.Ascii.Index; + } return oNumTextPr; }; From 4ff95061417dca856d3c416cd956b92654305783 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Wed, 24 Mar 2021 18:49:00 +0300 Subject: [PATCH 078/381] [bug] Fix opening file with chartSpace placed inside chartSpace as user shape --- common/Drawings/Format/GraphicObjectBase.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/common/Drawings/Format/GraphicObjectBase.js b/common/Drawings/Format/GraphicObjectBase.js index c5d9240047..d5661184fb 100644 --- a/common/Drawings/Format/GraphicObjectBase.js +++ b/common/Drawings/Format/GraphicObjectBase.js @@ -1030,12 +1030,28 @@ { AscCommon.History.Add(new AscDFH.CChangesDrawingsString(this, AscDFH.historyitem_AutoShapes_SetWorksheet, this.worksheet ? this.worksheet.getId() : null, worksheet ? worksheet.getId() : null)); this.worksheet = worksheet; - if(Array.isArray(this.spTree)){ + if(Array.isArray(this.spTree)) + { for(var i = 0; i < this.spTree.length; ++i) { this.spTree[i].setWorksheet(worksheet); } } + if(Array.isArray(this.userShapes)) + { + for(var nSp = 0; nSp < this.userShapes.length; ++nSp) + { + var oAnchor = this.userShapes[nSp]; + if(oAnchor) + { + var oSp = oAnchor.object; + if(oSp && oSp.setWorksheet) + { + oSp.setWorksheet(worksheet); + } + } + } + } }; CGraphicObjectBase.prototype.getWorksheet = function() From 07c434708994ff45250a01159beaba203fef8fda Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 24 Mar 2021 19:20:11 +0300 Subject: [PATCH 079/381] Fix bug #49189 --- word/Editor/Document.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 6adbf268d8..507e84de75 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -16010,7 +16010,14 @@ CDocument.prototype.AddContentControlTextForm = function(oPr) if (!oPr) oPr = new CSdtTextFormPr(); - this.RemoveTextSelection(); + var sText = this.GetSelectedText(); + var oTextPr = this.GetDirectTextPr(); + + if (this.IsTextSelectionUse()) + this.RemoveBeforePaste(); + else + this.RemoveSelection(); + var oCC = this.AddContentControl(c_oAscSdtLevelType.Inline); if (oPr.Comb) @@ -16045,6 +16052,15 @@ CDocument.prototype.AddContentControlTextForm = function(oPr) oCC.ApplyTextFormPr(oPr); oCC.MoveCursorToStartPos(); + if (sText && oCC instanceof CInlineLevelSdt) + { + oCC.ReplacePlaceHolderWithContent(); + var oRun = oCC.MakeSingleRunElement(false); + oRun.AddText(sText); + oRun.ApplyTextPr(oTextPr); + oCC.SelectContentControl(); + } + this.UpdateSelection(); this.UpdateTracks(); From cabe15b6ed7e23beec3c8990741bfbc4836fa1f7 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Wed, 24 Mar 2021 22:06:43 +0300 Subject: [PATCH 080/381] [se] Fix bug 49262 --- cell/model/PivotTables.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index 4996f69ba0..7291b286f9 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -6249,7 +6249,7 @@ CT_pivotTableDefinition.prototype.groupPivot = function (api, layout, opt_rangeP return changeRes; }); } else { - api.sendEvent('asc_onError', c_oAscError.ID.PivotGroup, c_oAscError.Level.Critical); + api.sendEvent('asc_onError', c_oAscError.ID.PivotGroup, c_oAscError.Level.NoCritical); } }; CT_pivotTableDefinition.prototype.ungroupPivot = function (api, layout) { From 1cd95eb1167b21ca333e241ae1d5d66dc5e3e451 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Thu, 25 Mar 2021 11:11:26 +0300 Subject: [PATCH 081/381] [se] Fix bug 49249 --- cell/model/FormulaObjects/parserFormula.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/model/FormulaObjects/parserFormula.js b/cell/model/FormulaObjects/parserFormula.js index 47b8dd799a..9d81aa4db9 100644 --- a/cell/model/FormulaObjects/parserFormula.js +++ b/cell/model/FormulaObjects/parserFormula.js @@ -6151,7 +6151,7 @@ function parserFormula( formula, parent, _ws ) { parseResult.activeArgumentPos = argFuncMap[currentFuncLevel].count; } } - if (argPosArrMap[currentFuncLevel]) { + if (argPosArrMap[currentFuncLevel] && levelFuncMap[currentFuncLevel]) { //проверяем, вдруг данная функция может принимать в качестве данного аргумента массив var _curFunc = levelFuncMap[currentFuncLevel].func; var _curArg = argPosArrMap[currentFuncLevel].length; From 5a26705e582602dd5067b2520baf22e13a10732e Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Thu, 25 Mar 2021 22:29:22 +0300 Subject: [PATCH 082/381] Fix/biug 49278 (#1716) * [se] Fix bug 49278 --- cell/model/FormulaObjects/parserFormula.js | 36 ++++++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/cell/model/FormulaObjects/parserFormula.js b/cell/model/FormulaObjects/parserFormula.js index 9d81aa4db9..82a18b438f 100644 --- a/cell/model/FormulaObjects/parserFormula.js +++ b/cell/model/FormulaObjects/parserFormula.js @@ -7420,10 +7420,25 @@ function parserFormula( formula, parent, _ws ) { var range = wsR[j]; if (range) { this._buildDependenciesRef(range.getWorksheet().getId(), range.getBBox0(), isDefName, true); - } - } - } } + } + } else if (cElementType.operator === ref.type && ref.name === ":" && this.outStack[i - 1] && + this.outStack[i - 2] && + ((cElementType.cell === this.outStack[i - 1].type || cElementType.cell === this.outStack[i - 2].type) || + (cElementType.cell3D === this.outStack[i - 1].type || + cElementType.cell3D === this.outStack[i - 2].type)) && this.outStack[i - 1].isValid() && + this.outStack[i - 2].isValid()) { + var _wsId = this.outStack[i - 1].getWsId(); + if (_wsId === this.outStack[i - 2].getWsId()) { + var _ref1 = this.outStack[i - 2].getRange().getBBox0(); + var _ref2 = this.outStack[i - 1].getRange().getBBox0(); + if (_ref1 && _ref2 && _ref1.c1 <= _ref2.c1 && _ref1.r1 <= _ref2.r1) { + var _range = new Asc.Range(_ref1.c1, _ref1.r1, _ref2.c1, _ref2.r1); + this._buildDependenciesRef(_wsId, _range, isDefName, true); + } + } + } + } }; parserFormula.prototype.removeDependencies = function() { if (!this.isInDependencies) { @@ -7459,9 +7474,24 @@ function parserFormula( formula, parent, _ws ) { var range = wsR[j]; if (range) { this._buildDependenciesRef(range.getWorksheet().getId(), range.getBBox0(), isDefName, false); + } } + } else if (cElementType.operator === ref.type && ref.name === ":" && this.outStack[i - 1] && + this.outStack[i - 2] && + ((cElementType.cell === this.outStack[i - 1].type || cElementType.cell === this.outStack[i - 2].type) || + (cElementType.cell3D === this.outStack[i - 1].type || + cElementType.cell3D === this.outStack[i - 2].type)) && this.outStack[i - 1].isValid() && + this.outStack[i - 2].isValid()) { + var _wsId = this.outStack[i - 1].getWsId(); + if (_wsId === this.outStack[i - 2].getWsId()) { + var _ref1 = this.outStack[i - 2].getRange().getBBox0(); + var _ref2 = this.outStack[i - 1].getRange().getBBox0(); + if (_ref1 && _ref2 && _ref1.c1 <= _ref2.c1 && _ref1.r1 <= _ref2.r1) { + var _range = new Asc.Range(_ref1.c1, _ref1.r1, _ref2.c1, _ref2.r1); + this._buildDependenciesRef(_wsId, _range, isDefName, false); } } + } } }; parserFormula.prototype._buildDependenciesRef = function(wsId, bbox, isDefName, isStart) { From abdae5faa49ef0bc467012bd297905cc60bb306a Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 26 Mar 2021 12:25:47 +0300 Subject: [PATCH 083/381] Fix bug 49198 (#1718) --- cell/model/DrawingObjects/DrawingDocument.js | 6 +- common/editorscommon.js | 143 ++++++------------- slide/Drawing/DrawingDocument.js | 7 +- word/Drawing/DrawingDocument.js | 17 +-- 4 files changed, 57 insertions(+), 116 deletions(-) diff --git a/cell/model/DrawingObjects/DrawingDocument.js b/cell/model/DrawingObjects/DrawingDocument.js index 194ed1d923..f0c443a842 100644 --- a/cell/model/DrawingObjects/DrawingDocument.js +++ b/cell/model/DrawingObjects/DrawingDocument.js @@ -606,13 +606,11 @@ function CDrawingDocument() _offY = this.AutoShapesTrack.Graphics.m_oCoordTransform.ty; } var oTextMatrix = this.TextMatrix || AscCommon.CMatrix(); - var _1px_mm_x = 1 / Math.max(dKoefX, 0.001); - var _1px_mm_y = 1 / Math.max(dKoefY, 0.001); for (nIndex = 0; nIndex < PathLng; nIndex++) { oPath = this.MathTrack.GetPolygon(nIndex); - this.MathTrack.DrawWithMatrix(overlay, oPath, 0, 0, "#939393", dKoefX, dKoefY, _offX, _offY, oTextMatrix); - this.MathTrack.DrawWithMatrix(overlay, oPath, _1px_mm_x, _1px_mm_y, "#FFFFFF", dKoefX, dKoefY, _offX, _offY, oTextMatrix); + this.MathTrack.Draw(overlay, oPath, 0, 0, "#939393", dKoefX, dKoefY, _offX, _offY, oTextMatrix); + this.MathTrack.Draw(overlay, oPath, 1, 1, "#FFFFFF", dKoefX, dKoefY, _offX, _offY, oTextMatrix); } for (nIndex = 0, nCount = this.MathTrack.GetSelectPathsCount(); nIndex < nCount; nIndex++) { diff --git a/common/editorscommon.js b/common/editorscommon.js index 4abad68173..34e0124947 100644 --- a/common/editorscommon.js +++ b/common/editorscommon.js @@ -5732,134 +5732,83 @@ this.MathPolygons = MPolygon.GetPaths(PixelError); } }; - CMathTrack.prototype.Draw = function (overlay, oPath, shift, color, dKoefX, dKoefY, left, top) + CMathTrack.prototype.Draw = function (overlay, oPath, shiftX, shiftY, color, dKoefX, dKoefY, left, top, transform) { var ctx = overlay.m_oContext; var rPR = AscCommon.AscBrowser.retinaPixelRatio; ctx.strokeStyle = color; - ctx.lineWidth = Math.round(window.devicePixelRatio); + var lineW = Math.round(rPR); + ctx.lineWidth = lineW; ctx.beginPath(); - left *= rPR; - top *= rPR; - var Points = oPath.Points; + if (shiftX > 0.1 || shiftY > 0.1) + { + shiftX = Math.round(shiftX * rPR); + shiftY = Math.round(shiftY * rPR); + } + + var isRoundDraw = (transform && !global_MatrixTransformer.IsIdentity2(transform)) ? false : true; + var Points = oPath.Points; var nCount = Points.length; + // берем предпоследнюю точку, т.к. последняя совпадает с первой var PrevX = Points[nCount - 2].X, PrevY = Points[nCount - 2].Y; - var _x = left + dKoefX * Points[nCount - 2].X, - _y = top + dKoefY * Points[nCount - 2].Y; - var StartX, StartY; + var x, y; + var eps = 0.0001; for (var nIndex = 0; nIndex < nCount; nIndex++) { - if (PrevX > Points[nIndex].X) - { - _y = top + dKoefY * Points[nIndex].Y - shift; - } - else if (PrevX < Points[nIndex].X) - { - _y = top + dKoefY * Points[nIndex].Y + shift; - } + x = transform ? transform.TransformPointX(Points[nIndex].X, Points[nIndex].Y) : Points[nIndex].X; + y = transform ? transform.TransformPointY(Points[nIndex].X, Points[nIndex].Y) : Points[nIndex].Y; - if (PrevY < Points[nIndex].Y) - { - _x = left + dKoefX * Points[nIndex].X - shift; - } - else if (PrevY > Points[nIndex].Y) - { - _x = left + dKoefX * Points[nIndex].X + shift; - } + x = (left + dKoefX * x) * rPR; + y = (top + dKoefY * y) * rPR; - PrevX = Points[nIndex].X; - PrevY = Points[nIndex].Y; - - if (nIndex > 0) + if (shiftX > 0.1 || shiftY > 0.1) { - overlay.CheckPoint(_x, _y); - - if (1 == nIndex) + // заточка на то, что это ректы + if (PrevX > (Points[nIndex].X + eps)) { - StartX = _x; - StartY = _y; - overlay.m_oContext.moveTo((_x >> 0) + 0.5, (_y >> 0) + 0.5); + x -= shiftX; + y -= shiftY; } - else + else if (PrevX < (Points[nIndex].X - eps)) { - overlay.m_oContext.lineTo((_x >> 0) + 0.5, (_y >> 0) + 0.5); + x += shiftX; + y += shiftY; } - } - } - - overlay.m_oContext.lineTo((StartX >> 0) + 0.5, (StartY >> 0) + 0.5); - - ctx.closePath(); - ctx.stroke(); - ctx.beginPath(); - }; - - CMathTrack.prototype.DrawWithMatrix = function(overlay, oPath, ShiftX, ShiftY, color, dKoefX, dKoefY, left, top, m) - { - var ctx = overlay.m_oContext; - ctx.strokeStyle = color; - ctx.lineWidth = 1; - ctx.beginPath(); - - var Points = oPath.Points; - - var nCount = Points.length; - // берем предпоследнюю точку, т.к. последняя совпадает с первой - var x = Points[nCount - 2].X, y = Points[nCount - 2].Y; - var _x, _y; - - var PrevX = Points[nCount - 2].X, PrevY = Points[nCount - 2].Y; - var StartX, StartY; - for (var nIndex = 0; nIndex < nCount; nIndex++) - { - if (PrevX > Points[nIndex].X) - { - y = Points[nIndex].Y - ShiftY; - } - else if (PrevX < Points[nIndex].X) - { - y = Points[nIndex].Y + ShiftY; - } - - if (PrevY < Points[nIndex].Y) - { - x = Points[nIndex].X - ShiftX; - } - else if (PrevY > Points[nIndex].Y) - { - x = Points[nIndex].X + ShiftX; + if (PrevY > (Points[nIndex].Y + eps)) + { + x += shiftX; + y -= shiftY; + } + else if (PrevY < (Points[nIndex].Y - eps)) + { + x -= shiftX; + y += shiftY; + } } PrevX = Points[nIndex].X; PrevY = Points[nIndex].Y; - if (nIndex > 0) + if (isRoundDraw) { - _x = (left + dKoefX * m.TransformPointX(x, y)); - _y = (top + dKoefY * m.TransformPointY(x, y)); - - overlay.CheckPoint(_x, _y); - - if (1 == nIndex) - { - StartX = _x; - StartY = _y; - overlay.m_oContext.moveTo((_x >> 0) + 0.5, (_y >> 0) + 0.5); - } - else - { - overlay.m_oContext.lineTo((_x >> 0) + 0.5, (_y >> 0) + 0.5); - } + x = (x >> 0) + lineW / 2; + y = (y >> 0) + lineW / 2; } + overlay.CheckPoint(x, y); + + if (0 == nIndex) + overlay.m_oContext.moveTo(x, y); + else + overlay.m_oContext.lineTo(x, y); } - overlay.m_oContext.lineTo((StartX >> 0) + 0.5, (StartY >> 0) + 0.5); + overlay.m_oContext.closePath(); ctx.closePath(); ctx.stroke(); diff --git a/slide/Drawing/DrawingDocument.js b/slide/Drawing/DrawingDocument.js index 30fe37d65b..009a4a0d63 100644 --- a/slide/Drawing/DrawingDocument.js +++ b/slide/Drawing/DrawingDocument.js @@ -2282,16 +2282,15 @@ function CDrawingDocument() var yDst = this.SlideCurrectRect.top; var wDst = this.SlideCurrectRect.right - this.SlideCurrectRect.left; var hDst = this.SlideCurrectRect.bottom - this.SlideCurrectRect.top; + dKoefX = wDst / this.m_oLogicDocument.GetWidthMM(); dKoefY = hDst / this.m_oLogicDocument.GetHeightMM(); var oTextMatrix = this.TextMatrix; - var _1px_mm_x = 1 / Math.max(dKoefX, 0.001); - var _1px_mm_y = 1 / Math.max(dKoefY, 0.001); for (nIndex = 0; nIndex < PathLng; nIndex++) { oPath = this.MathTrack.GetPolygon(nIndex); - this.MathTrack.DrawWithMatrix(overlay, oPath, 0, 0, "#939393", dKoefX, dKoefY, xDst, yDst, oTextMatrix); - this.MathTrack.DrawWithMatrix(overlay, oPath, _1px_mm_x, _1px_mm_y, "#FFFFFF", dKoefX, dKoefY, xDst, yDst, oTextMatrix); + this.MathTrack.Draw(overlay, oPath, 0, 0, "#939393", dKoefX, dKoefY, xDst, yDst, oTextMatrix); + this.MathTrack.Draw(overlay, oPath, 1, 1, "#FFFFFF", dKoefX, dKoefY, xDst, yDst, oTextMatrix); } for (nIndex = 0, nCount = this.MathTrack.GetSelectPathsCount(); nIndex < nCount; nIndex++) { diff --git a/word/Drawing/DrawingDocument.js b/word/Drawing/DrawingDocument.js index 163dc30029..a9682311de 100644 --- a/word/Drawing/DrawingDocument.js +++ b/word/Drawing/DrawingDocument.js @@ -4002,12 +4002,11 @@ function CDrawingDocument() _page = this.m_arrPages[oPath.Page]; drPage = _page.drawingPage; - var rPR = AscCommon.AscBrowser.retinaPixelRatio; - dKoefX = (drPage.right - drPage.left) / _page.width_mm * rPR; - dKoefY = (drPage.bottom - drPage.top) / _page.height_mm * rPR; + dKoefX = (drPage.right - drPage.left) / _page.width_mm; + dKoefY = (drPage.bottom - drPage.top) / _page.height_mm; - this.MathTrack.Draw(overlay, oPath, 0, "#939393", dKoefX, dKoefY, drPage.left, drPage.top); - this.MathTrack.Draw(overlay, oPath, 1, "#FFFFFF", dKoefX, dKoefY, drPage.left, drPage.top); + this.MathTrack.Draw(overlay, oPath, 0, 0, "#939393", dKoefX, dKoefY, drPage.left, drPage.top); + this.MathTrack.Draw(overlay, oPath, 1, 1, "#FFFFFF", dKoefX, dKoefY, drPage.left, drPage.top); } for (nIndex = 0, nCount = this.MathTrack.GetSelectPathsCount(); nIndex < nCount; nIndex++) { @@ -4029,12 +4028,8 @@ function CDrawingDocument() dKoefX = (drPage.right - drPage.left) / _page.width_mm; dKoefY = (drPage.bottom - drPage.top) / _page.height_mm; - - var _1px_mm_x = 1 / Math.max(dKoefX, 0.001); - var _1px_mm_y = 1 / Math.max(dKoefY, 0.001); - - this.MathTrack.DrawWithMatrix(overlay, oPath, 0, 0, "#939393", dKoefX, dKoefY, drPage.left, drPage.top, this.TextMatrix); - this.MathTrack.DrawWithMatrix(overlay, oPath, _1px_mm_x, _1px_mm_y, "#FFFFFF", dKoefX, dKoefY, drPage.left, drPage.top, this.TextMatrix); + this.MathTrack.Draw(overlay, oPath, 0, 0, "#939393", dKoefX, dKoefY, drPage.left, drPage.top, this.TextMatrix); + this.MathTrack.Draw(overlay, oPath, 1, 1, "#FFFFFF", dKoefX, dKoefY, drPage.left, drPage.top, this.TextMatrix); } From 1d32b1679ee3e026ae5fdd63fab31668da68bd0f Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 25 Mar 2021 15:41:23 +0300 Subject: [PATCH 084/381] Implement going to filling forms through drawings --- common/Drawings/Format/ChartFormat.js | 3 ++ common/Drawings/Format/ChartSpace.js | 3 ++ common/Drawings/Format/GraphicFrame.js | 8 ++++ common/Drawings/Format/GroupShape.js | 53 +++++++++++++++++++++++ common/Drawings/Format/Shape.js | 9 ++++ word/Editor/Document.js | 40 ++++++++++++++++- word/Editor/DocumentContentBase.js | 4 +- word/Editor/Paragraph/ParaDrawing.js | 6 +++ word/Editor/ParagraphContentBase.js | 4 +- word/Editor/Run.js | 59 ++++++++++++++++++++++++++ 10 files changed, 183 insertions(+), 6 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 6419fa6522..256731f920 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -11973,6 +11973,9 @@ } return null; }; + CTitle.prototype.FindNextFillingForm = function(isNext, isCurrent) { + return null; + }; CTitle.prototype.Set_CurrentElement = function(bUpdate, pageIndex) { var chart = this.chart; diff --git a/common/Drawings/Format/ChartSpace.js b/common/Drawings/Format/ChartSpace.js index 141119153a..cc96c21187 100644 --- a/common/Drawings/Format/ChartSpace.js +++ b/common/Drawings/Format/ChartSpace.js @@ -11790,6 +11790,9 @@ var GLOBAL_PATH_COUNT = 0; } return null; }; + CChartSpace.prototype.FindNextFillingForm = function(isNext, isCurrent) { + return null; + }; CChartSpace.prototype.isAccent1Background = function() { return this.spPr && this.spPr.Fill && this.spPr.Fill.isAccent1(); }; diff --git a/common/Drawings/Format/GraphicFrame.js b/common/Drawings/Format/GraphicFrame.js index 6b1d9ff65f..72409167ea 100644 --- a/common/Drawings/Format/GraphicFrame.js +++ b/common/Drawings/Format/GraphicFrame.js @@ -245,6 +245,14 @@ CGraphicFrame.prototype.GetSearchElementId = function(bNext, bCurrent) return null; }; +CGraphicFrame.prototype.FindNextFillingForm = function(isNext, isCurrent) +{ + if (this.graphicObject) + return this.graphicObject.FindNextFillingForm(isNext, isCurrent); + + return null; +}; + CGraphicFrame.prototype.copy = function(oPr) { var ret = new CGraphicFrame(); diff --git a/common/Drawings/Format/GroupShape.js b/common/Drawings/Format/GroupShape.js index fd1097cb43..a458a4a551 100644 --- a/common/Drawings/Format/GroupShape.js +++ b/common/Drawings/Format/GroupShape.js @@ -1231,6 +1231,59 @@ function CGroupShape() return null; }; + CGroupShape.prototype.FindNextFillingForm = function(isNext, isCurrent) + { + if (this.graphicObject) + return this.graphicObject.FindNextFillingForm(isNext, isCurrent); + + var Current = -1; + var Len = this.arrGraphicObjects.length; + + var Id = null; + if (true === isCurrent) + { + for (var i = 0; i < Len; ++i) + { + if (this.arrGraphicObjects[i] === this.selection.textSelection) + { + Current = i; + break; + } + } + } + + if (true === isNext) + { + var Start = (-1 !== Current ? Current : 0); + + for (var i = Start; i < Len; i++) + { + if (this.arrGraphicObjects[i].FindNextFillingForm) + { + Id = this.arrGraphicObjects[i].FindNextFillingForm(true, i === Current, i === Current); + if (Id) + return Id; + } + } + } + else + { + var Start = (-1 !== Current ? Current : Len - 1); + + for (var i = Start; i >= 0; i--) + { + if (this.arrGraphicObjects[i].FindNextFillingForm) + { + Id = this.arrGraphicObjects[i].FindNextFillingForm(false, i === Current, i === Current); + if (Id) + return Id; + } + } + } + + return null; + }; + CGroupShape.prototype.getCompiledFill = function() { this.compiledFill = null; diff --git a/common/Drawings/Format/Shape.js b/common/Drawings/Format/Shape.js index f48c0eb52e..6070b82ee0 100644 --- a/common/Drawings/Format/Shape.js +++ b/common/Drawings/Format/Shape.js @@ -1368,6 +1368,15 @@ CShape.prototype.GetSearchElementId = function (bNext, bCurrent) { return null; }; +CShape.prototype.FindNextFillingForm = function(isNext, isCurrent) { + if (this.textBoxContent) + return this.textBoxContent.FindNextFillingForm(isNext, isCurrent, isCurrent); + else if (this.txBody && this.txBody.content) + return this.txBody.content.FindNextFillingForm(isNext, isCurrent, isCurrent); + + return null; +}; + CShape.prototype.documentUpdateRulersState = function () { var content = this.getDocContent(); if (!content) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 507e84de75..63c2d4cd77 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -21161,10 +21161,42 @@ CDocument.prototype.IsFormFieldEditing = function() }; CDocument.prototype.MoveToFillingForm = function(isNext) { - var oRes = this.FindNextFillingForm(isNext, true, true); + var oRes = null; + if (docpostype_DrawingObjects === this.GetDocPosType()) + { + var oParaDrawing = this.DrawingObjects.getMajorParaDrawing(); + + oRes = oParaDrawing.FindNextFillingForm(isNext, true); + if (!oRes) + { + this.DrawingObjects.resetSelection(); + oParaDrawing.GoTo_Text(true !== isNext, false); + } + } if (!oRes) - oRes = this.FindNextFillingForm(isNext, true, false); + { + if (docpostype_Content === this.GetDocPosType()) + { + oRes = this.FindNextFillingForm(isNext, true, true); + + if (!oRes) + oRes = this.SectionsInfo.FindNextFillingForm(isNext, false); + + if (!oRes) + oRes = this.FindNextFillingForm(isNext, false, false); + } + else if (docpostype_HdrFtr === this.CurPos.Type) + { + oRes = this.SectionsInfo.FindNextFillingForm(isNext, true); + + if (!oRes) + oRes = this.FindNextFillingForm(isNext, false, false); + + if (!oRes) + oRes = this.SectionsInfo.FindNextFillingForm(isNext, false); + } + } if (oRes) { @@ -25039,6 +25071,10 @@ CDocumentSectionsInfo.prototype.UpdateSection = function(oSectPr, oNewSectPr, is return false; }; +CDocumentSectionsInfo.prototype.FindNextFillingForm = function(isNext, isCurrent) +{ + return null; +}; function CDocumentSectionsInfoElement(SectPr, Index) { diff --git a/word/Editor/DocumentContentBase.js b/word/Editor/DocumentContentBase.js index 1d52a1c909..ddedfd5380 100644 --- a/word/Editor/DocumentContentBase.js +++ b/word/Editor/DocumentContentBase.js @@ -1258,7 +1258,7 @@ CDocumentContentBase.prototype.FindNextFillingForm = function(isNext, isCurrent, { for (var nIndex = nStartPos; nIndex <= nEndPos; ++nIndex) { - var oRes = this.Content[nIndex].FindNextFillingForm(true, isCurrent && nIndex === nCurPos ? true : false, isStart); + var oRes = this.Content[nIndex].FindNextFillingForm(true, isCurrent && nIndex === nCurPos, isStart); if (oRes) return oRes; } @@ -1267,7 +1267,7 @@ CDocumentContentBase.prototype.FindNextFillingForm = function(isNext, isCurrent, { for (var nIndex = nStartPos; nIndex >= nEndPos; --nIndex) { - var oRes = this.Content[nIndex].FindNextFillingForm(false, isCurrent && nIndex === nCurPos ? true : false, isStart); + var oRes = this.Content[nIndex].FindNextFillingForm(false, isCurrent && nIndex === nCurPos, isStart); if (oRes) return oRes; diff --git a/word/Editor/Paragraph/ParaDrawing.js b/word/Editor/Paragraph/ParaDrawing.js index 0e55e21cf7..2c9b17beaf 100644 --- a/word/Editor/Paragraph/ParaDrawing.js +++ b/word/Editor/Paragraph/ParaDrawing.js @@ -226,7 +226,13 @@ ParaDrawing.prototype.GetSearchElementId = function(bNext, bCurrent) return null; }; +ParaDrawing.prototype.FindNextFillingForm = function(isNext, isCurrent) +{ + if (AscCommon.isRealObject(this.GraphicObj) && typeof this.GraphicObj.FindNextFillingForm === "function") + return this.GraphicObj.FindNextFillingForm(isNext, isCurrent); + return null; +}; ParaDrawing.prototype.CheckCorrect = function(){ if(!this.GraphicObj){ return false; diff --git a/word/Editor/ParagraphContentBase.js b/word/Editor/ParagraphContentBase.js index 216cf86a9b..36c9582023 100644 --- a/word/Editor/ParagraphContentBase.js +++ b/word/Editor/ParagraphContentBase.js @@ -4088,7 +4088,7 @@ CParagraphContentWithParagraphLikeContent.prototype.FindNextFillingForm = functi { if (this.Content[nIndex].FindNextFillingForm) { - var oRes = this.Content[nIndex].FindNextFillingForm(true, isCurrent && nIndex === nCurPos ? true : false, isStart); + var oRes = this.Content[nIndex].FindNextFillingForm(true, isCurrent && nIndex === nCurPos, isStart); if (oRes) return oRes; } @@ -4100,7 +4100,7 @@ CParagraphContentWithParagraphLikeContent.prototype.FindNextFillingForm = functi { if (this.Content[nIndex].FindNextFillingForm) { - var oRes = this.Content[nIndex].FindNextFillingForm(false, isCurrent && nIndex === nCurPos ? true : false, isStart); + var oRes = this.Content[nIndex].FindNextFillingForm(false, isCurrent && nIndex === nCurPos, isStart); if (oRes) return oRes; } diff --git a/word/Editor/Run.js b/word/Editor/Run.js index 413ce4ee79..8407f3453f 100644 --- a/word/Editor/Run.js +++ b/word/Editor/Run.js @@ -12879,6 +12879,65 @@ ParaRun.prototype.ChangeTextCase = function(oEngine) } } }; +ParaRun.prototype.FindNextFillingForm = function(isNext, isCurrent, isStart) +{ + var nCurPos = this.Selection.Use === true ? this.Selection.EndPos : this.State.ContentPos; + + var nStartPos = 0, nEndPos = 0; + if (isCurrent) + { + if (isStart) + { + nStartPos = nCurPos; + nEndPos = isNext ? this.Content.length : 0; + } + else + { + nStartPos = isNext ? 0 : this.Content.length; + nEndPos = nCurPos; + } + } + else + { + if (isNext) + { + nStartPos = 0; + nEndPos = this.Content.length; + } + else + { + nStartPos = this.Content.length; + nEndPos = 0; + } + } + + if (isNext) + { + for (var nIndex = nStartPos; nIndex < nEndPos; ++nIndex) + { + if (this.Content[nIndex].FindNextFillingForm) + { + var oRes = this.Content[nIndex].FindNextFillingForm(true, false, false); + if (oRes) + return oRes; + } + } + } + else + { + for (var nIndex = nStartPos - 1; nIndex >= nEndPos; --nIndex) + { + if (this.Content[nIndex].FindNextFillingForm) + { + var oRes = this.Content[nIndex].FindNextFillingForm(false, false, false); + if (oRes) + return oRes; + } + } + } + + return null; +}; function CParaRunStartState(Run) { From 73155c73775e81af1f7ca055a78038b4a46263aa Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Fri, 26 Mar 2021 12:17:26 +0300 Subject: [PATCH 085/381] Implement moving to next filling form through headers/footers --- word/Editor/Document.js | 155 +++++++++++++++++++++++++- word/Editor/DocumentControllerBase.js | 7 ++ word/Editor/HeaderFooter.js | 4 + 3 files changed, 160 insertions(+), 6 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 63c2d4cd77..7757f25a44 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -21176,25 +21176,70 @@ CDocument.prototype.MoveToFillingForm = function(isNext) if (!oRes) { - if (docpostype_Content === this.GetDocPosType()) + var nDocPosType = this.GetDocPosType(); + if (docpostype_Content === nDocPosType) { oRes = this.FindNextFillingForm(isNext, true, true); if (!oRes) - oRes = this.SectionsInfo.FindNextFillingForm(isNext, false); + oRes = this.Footnotes.FindNextFillingForm(isNext, false); + + if (!oRes) + oRes = this.Endnotes.FindNextFillingForm(isNext, false); + + if (!oRes) + oRes = this.SectionsInfo.FindNextFillingForm(isNext, null); if (!oRes) oRes = this.FindNextFillingForm(isNext, false, false); } - else if (docpostype_HdrFtr === this.CurPos.Type) + else if (docpostype_HdrFtr === nDocPosType) { - oRes = this.SectionsInfo.FindNextFillingForm(isNext, true); + oRes = this.SectionsInfo.FindNextFillingForm(isNext, this.HdrFtr.GetCurHdrFtr()); if (!oRes) oRes = this.FindNextFillingForm(isNext, false, false); if (!oRes) - oRes = this.SectionsInfo.FindNextFillingForm(isNext, false); + oRes = this.Footnotes.FindNextFillingForm(isNext, false); + + if (!oRes) + oRes = this.Endnotes.FindNextFillingForm(isNext, false); + + if (!oRes) + oRes = this.SectionsInfo.FindNextFillingForm(isNext, null); + } + else if (docpostype_Footnotes === nDocPosType) + { + oRes = this.Footnotes.FindNextFillingForm(isNext, true); + + if (!oRes) + oRes = this.Endnotes.FindNextFillingForm(isNext, false); + + if (!oRes) + oRes = this.SectionsInfo.FindNextFillingForm(isNext, null); + + if (!oRes) + oRes = this.FindNextFillingForm(isNext, false, false); + + if (!oRes) + oRes = this.Footnotes.FindNextFillingForm(isNext, false); + } + else if (docpostype_Endnotes === nDocPosType) + { + oRes = this.Endnotes.FindNextFillingForm(isNext, true); + + if (!oRes) + oRes = this.SectionsInfo.FindNextFillingForm(isNext, null); + + if (!oRes) + oRes = this.FindNextFillingForm(isNext, false, false); + + if (!oRes) + oRes = this.Footnotes.FindNextFillingForm(isNext, false); + + if (!oRes) + oRes = this.Endnotes.FindNextFillingForm(isNext, false); } } @@ -25071,8 +25116,106 @@ CDocumentSectionsInfo.prototype.UpdateSection = function(oSectPr, oNewSectPr, is return false; }; -CDocumentSectionsInfo.prototype.FindNextFillingForm = function(isNext, isCurrent) +CDocumentSectionsInfo.prototype.private_GetHdrFtrsArray = function(oCurHdrFtr) +{ + var isEvenOdd = EvenAndOddHeaders; + + var nCurPos = -1; + var arrHdrFtrs = []; + for (var nIndex = 0, nCount = this.Elements.length; nIndex < nCount; ++nIndex) + { + var oSectPr = this.Elements[nIndex].SectPr; + var isFirst = oSectPr.Get_TitlePage(); + + var oHeaderFirst = oSectPr.Get_Header_First(); + var oHeaderEven = oSectPr.Get_Header_Even(); + var oHeaderDefault = oSectPr.Get_Header_Default(); + var oFooterFirst = oSectPr.Get_Footer_First(); + var oFooterEven = oSectPr.Get_Footer_Even(); + var oFooterDefault = oSectPr.Get_Footer_Default(); + + if (oHeaderFirst && isFirst) + arrHdrFtrs.push(oHeaderFirst); + + if (oHeaderEven && isEvenOdd) + arrHdrFtrs.push(oHeaderEven); + + if (oHeaderDefault) + arrHdrFtrs.push(oHeaderDefault); + + if (oFooterFirst && isFirst) + arrHdrFtrs.push(oFooterFirst); + + if (oFooterEven && isEvenOdd) + arrHdrFtrs.push(oFooterEven); + + if (oFooterDefault) + arrHdrFtrs.push(oFooterDefault); + } + + if (oCurHdrFtr) + { + for (var nIndex = 0, nCount = arrHdrFtrs.length; nIndex < nCount; ++nIndex) + { + if (oCurHdrFtr === arrHdrFtrs[nIndex]) + { + nCurPos = nIndex; + break; + } + } + } + + return { + HdrFtrs : arrHdrFtrs, + CurPos : nCurPos + }; +}; +CDocumentSectionsInfo.prototype.FindNextFillingForm = function(isNext, oCurHdrFtr) { + var oInfo = this.private_GetHdrFtrsArray(oCurHdrFtr); + + var arrHdrFtrs = oInfo.HdrFtrs; + var nCurPos = oInfo.CurPos; + + var nCount = arrHdrFtrs.length; + + var isCurrent = true; + if (-1 === nCurPos) + { + isCurrent = false; + nCurPos = isNext ? 0 : arrHdrFtrs.length - 1; + if (arrHdrFtrs[nCurPos]) + oCurHdrFtr = arrHdrFtrs[nCurPos]; + } + + if (nCurPos >= 0 && nCurPos <= nCount - 1) + { + var oRes = oCurHdrFtr.GetContent().FindNextFillingForm(isNext, isCurrent, isCurrent); + if (oRes) + return oRes; + + if (isNext) + { + for (var nIndex = nCurPos + 1; nIndex < nCount; ++nIndex) + { + oRes = arrHdrFtrs[nIndex].GetContent().FindNextFillingForm(isNext, false); + + if (oRes) + return oRes; + } + } + else + { + for (var nIndex = nCurPos - 1; nIndex >= 0; --nIndex) + { + oRes = arrHdrFtrs[nIndex].GetContent().FindNextFillingForm(isNext, false); + + if (oRes) + return oRes; + } + } + } + return null; }; diff --git a/word/Editor/DocumentControllerBase.js b/word/Editor/DocumentControllerBase.js index d2e44d3012..be74ff0cd5 100644 --- a/word/Editor/DocumentControllerBase.js +++ b/word/Editor/DocumentControllerBase.js @@ -809,3 +809,10 @@ CDocumentControllerBase.prototype.IsTableCellSelection = function(){return false CDocumentControllerBase.prototype.IsSelectionLocked = function(CheckType) { }; +/** + * Ищем следующее поле в заданном направлении + * @param isNext {boolean} + * @param isCurrent {boolean} + * @return {?CInlineLevelSdt} + */ +CDocumentControllerBase.prototype.FindNextFillingForm = function(isNext, isCurrent) {return null;}; diff --git a/word/Editor/HeaderFooter.js b/word/Editor/HeaderFooter.js index de7527dd65..6dfdaca220 100644 --- a/word/Editor/HeaderFooter.js +++ b/word/Editor/HeaderFooter.js @@ -2650,6 +2650,10 @@ CHeaderFooterController.prototype.Get_CurHdrFtr = function() { return this.CurHdrFtr; }; +CHeaderFooterController.prototype.GetCurHdrFtr = function() +{ + return this.CurHdrFtr; +}; CHeaderFooterController.prototype.Set_CurHdrFtr = function(HdrFtr) { if (null !== this.CurHdrFtr) From f389237ed05de464565c71598c92a5983704d4f7 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Fri, 26 Mar 2021 14:10:49 +0300 Subject: [PATCH 086/381] Fix bug #49194 Implement moving to filling form through footnotes/endnotes --- word/Editor/Endnotes.js | 55 ++++++++++++++++++++++++++++++++++++++++ word/Editor/Footnotes.js | 55 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) diff --git a/word/Editor/Endnotes.js b/word/Editor/Endnotes.js index 650cf0e85f..7bc2107edb 100644 --- a/word/Editor/Endnotes.js +++ b/word/Editor/Endnotes.js @@ -3330,6 +3330,61 @@ CEndnotesController.prototype.GetAllTablesOnPage = function(nPageAbs, arrTables) return arrTables; }; +CEndnotesController.prototype.FindNextFillingForm = function(isNext, isCurrent) +{ + var oCurEndnote = this.CurEndnote; + + var arrEndnotes = this.LogicDocument.GetEndnotesList(null, null); + var nCurPos = -1; + var nCount = arrEndnotes.length; + + if (nCount <= 0) + return null; + + if (isCurrent) + { + for (var nIndex = 0; nIndex < nCount; ++nIndex) + { + if (arrEndnotes[nIndex] === oCurEndnote) + { + nCurPos = nIndex; + break; + } + } + } + + if (-1 === nCurPos) + { + nCurPos = isNext ? 0 : nCount - 1; + oCurEndnote = arrEndnotes[nCurPos]; + isCurrent = false; + } + + var oRes = oCurEndnote.FindNextFillingForm(isNext, isCurrent, isCurrent); + if (oRes) + return oRes; + + if (true === isNext) + { + for (var nIndex = nCurPos + 1; nIndex < nCount; ++nIndex) + { + oRes = arrEndnotes[nIndex].FindNextFillingForm(isNext, false); + if (oRes) + return oRes; + } + } + else + { + for (var nIndex = nCurPos - 1; nIndex >= 0; --nIndex) + { + oRes = arrEndnotes[nIndex].FindNextFillingForm(isNext, false); + if (oRes) + return oRes; + } + } + + return null; +}; /** * Класс регистрирующий концевые сноски на странице diff --git a/word/Editor/Footnotes.js b/word/Editor/Footnotes.js index b80aad9817..ae99b02daa 100644 --- a/word/Editor/Footnotes.js +++ b/word/Editor/Footnotes.js @@ -3410,6 +3410,61 @@ CFootnotesController.prototype.GetAllTablesOnPage = function(nPageAbs, arrTables return arrTables; }; +CFootnotesController.prototype.FindNextFillingForm = function(isNext, isCurrent) +{ + var oCurFootnote = this.CurFootnote; + + var arrFootnotes = this.LogicDocument.GetFootnotesList(null, null); + var nCurPos = -1; + var nCount = arrFootnotes.length; + + if (nCount <= 0) + return null; + + if (isCurrent) + { + for (var nIndex = 0; nIndex < nCount; ++nIndex) + { + if (arrFootnotes[nIndex] === oCurFootnote) + { + nCurPos = nIndex; + break; + } + } + } + + if (-1 === nCurPos) + { + nCurPos = isNext ? 0 : nCount - 1; + oCurFootnote = arrFootnotes[nCurPos]; + isCurrent = false; + } + + var oRes = oCurFootnote.FindNextFillingForm(isNext, isCurrent, isCurrent); + if (oRes) + return oRes; + + if (true === isNext) + { + for (var nIndex = nCurPos + 1; nIndex < nCount; ++nIndex) + { + oRes = arrFootnotes[nIndex].FindNextFillingForm(isNext, false); + if (oRes) + return oRes; + } + } + else + { + for (var nIndex = nCurPos - 1; nIndex >= 0; --nIndex) + { + oRes = arrFootnotes[nIndex].FindNextFillingForm(isNext, false); + if (oRes) + return oRes; + } + } + + return null; +}; function CFootEndnotePageColumn() From 4a478181d299ee6dcca9cb91764d97b13d6826e5 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Fri, 26 Mar 2021 15:29:19 +0300 Subject: [PATCH 087/381] [de] Fix crash when opening document with math(nary) --- word/Editor/Serialize2.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/word/Editor/Serialize2.js b/word/Editor/Serialize2.js index 2c4814cef9..ab66ce1a25 100644 --- a/word/Editor/Serialize2.js +++ b/word/Editor/Serialize2.js @@ -13354,7 +13354,9 @@ function Binary_oMathReader(stream, oReadResult, curNote, openParams) res = this.bcr.Read1(length, function(t, l){ return oThis.ReadMathCtrlPr(t,l,props); }); - oElem.setCtrPrp(props.ctrlPr); + if (oElem) { + oElem.setCtrPrp(props.ctrlPr); + } } else if (c_oSer_OMathContentType.Delimiter === type) { From a97eba36efc419bb4b34d93679b581ca2376803e Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Fri, 26 Mar 2021 16:01:13 +0300 Subject: [PATCH 088/381] [bug] Fix bug 49291 --- slide/Drawing/ThemeLoader.js | 1 + 1 file changed, 1 insertion(+) diff --git a/slide/Drawing/ThemeLoader.js b/slide/Drawing/ThemeLoader.js index d6c9ba2608..d314869da0 100644 --- a/slide/Drawing/ThemeLoader.js +++ b/slide/Drawing/ThemeLoader.js @@ -219,6 +219,7 @@ function CThemeLoader() pres.GetHeightMM = AscCommonSlide.CPresentation.prototype.GetHeightMM; pres.slideMasters = []; pres.DrawingDocument = editor.WordControl.m_oDrawingDocument; + pres.CommentAuthors = {}; AscCommon.History.MinorChanges = true; From 12ef718d629519cb4cbfd3dbb6584de0339072bc Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 26 Mar 2021 16:42:07 +0300 Subject: [PATCH 089/381] Fix/bug48996 (#1723) * Fix bug 48996, 48993 * . --- common/Scrolls/mobileTouchManagerBase.js | 26 +++++++++++++----------- common/editorscommon.js | 4 ++-- word/Drawing/DrawingDocument.js | 4 ++-- word/Drawing/Rulers.js | 1 + 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/common/Scrolls/mobileTouchManagerBase.js b/common/Scrolls/mobileTouchManagerBase.js index 6cbc2e9370..51a22898c1 100644 --- a/common/Scrolls/mobileTouchManagerBase.js +++ b/common/Scrolls/mobileTouchManagerBase.js @@ -1456,6 +1456,8 @@ ctx.strokeStyle = "#146FE1"; ctx.fillStyle = "#146FE1"; + var rPR = AscCommon.AscBrowser.retinaPixelRatio; + var _oldGlobalAlpha = ctx.globalAlpha; ctx.globalAlpha = 1.0; @@ -1469,19 +1471,19 @@ ctx.beginPath(); - ctx.moveTo(pos1.X >> 0, pos1.Y >> 0); - ctx.lineTo(pos2.X >> 0, pos2.Y >> 0); + ctx.moveTo((rPR * pos1.X) >> 0, (rPR * pos1.Y) >> 0); + ctx.lineTo((rPR * pos2.X) >> 0, (rPR * pos2.Y) >> 0); - ctx.moveTo(pos3.X >> 0, pos3.Y >> 0); - ctx.lineTo(pos4.X >> 0, pos4.Y >> 0); + ctx.moveTo((rPR * pos3.X) >> 0, (rPR * pos3.Y) >> 0); + ctx.lineTo((rPR * pos4.X) >> 0, (rPR * pos4.Y) >> 0); ctx.lineWidth = 2; ctx.stroke(); ctx.beginPath(); - overlay.AddEllipse(pos1.X, pos1.Y - 5, AscCommon.MOBILE_SELECT_TRACK_ROUND / 2); - overlay.AddEllipse(pos4.X, pos4.Y + 5, AscCommon.MOBILE_SELECT_TRACK_ROUND / 2); + overlay.AddEllipse(rPR * pos1.X, rPR * (pos1.Y - 5), rPR * AscCommon.MOBILE_SELECT_TRACK_ROUND / 2); + overlay.AddEllipse(rPR * pos4.X, rPR * (pos4.Y + 5), rPR * AscCommon.MOBILE_SELECT_TRACK_ROUND / 2); ctx.fill(); ctx.beginPath(); @@ -1508,11 +1510,11 @@ ctx.beginPath(); - ctx.moveTo(pos1.X, pos1.Y); - ctx.lineTo(pos2.X, pos2.Y); + ctx.moveTo(rPR * pos1.X, rPR * pos1.Y); + ctx.lineTo(rPR * pos2.X, rPR * pos2.Y); - ctx.moveTo(pos3.X, pos3.Y); - ctx.lineTo(pos4.X, pos4.Y); + ctx.moveTo(rPR * pos3.X, rPR * pos3.Y); + ctx.lineTo(rPR * pos4.X, rPR * pos4.Y); ctx.lineWidth = 2; ctx.stroke(); @@ -1538,8 +1540,8 @@ var _x2 = (pos4.X + ex) >> 0; var _y2 = (pos4.Y + ey) >> 0; - overlay.AddEllipse(_x1, _y1, AscCommon.MOBILE_SELECT_TRACK_ROUND / 2); - overlay.AddEllipse(_x2, _y2, AscCommon.MOBILE_SELECT_TRACK_ROUND / 2); + overlay.AddEllipse(rPR * _x1, rPR * _y1, rPR * AscCommon.MOBILE_SELECT_TRACK_ROUND / 2); + overlay.AddEllipse(rPR * _x2, rPR * _y2, rPR * AscCommon.MOBILE_SELECT_TRACK_ROUND / 2); ctx.fill(); ctx.beginPath(); diff --git a/common/editorscommon.js b/common/editorscommon.js index 34e0124947..f44ab00071 100644 --- a/common/editorscommon.js +++ b/common/editorscommon.js @@ -6250,7 +6250,7 @@ return { start : val, end: AscCommon.AscBrowser.convertToRetinaValue(val, true) }; }; - function calculateCanvasSize(element, useStyle) + function calculateCanvasSize(element) { var scale = AscCommon.AscBrowser.retinaPixelRatio; var new_width = 0; @@ -6270,7 +6270,7 @@ } var rect = element.getBoundingClientRect(); - if (rect.width === 0 && rect.height === 0 && useStyle === true) + if (rect.width === 0 && rect.height === 0) { var style_width = parseInt(element.style.width); var style_height = parseInt(element.style.height); diff --git a/word/Drawing/DrawingDocument.js b/word/Drawing/DrawingDocument.js index a9682311de..df2ef77fbe 100644 --- a/word/Drawing/DrawingDocument.js +++ b/word/Drawing/DrawingDocument.js @@ -5660,7 +5660,7 @@ function CDrawingDocument() var old_width = this.GuiCanvasTextProps.width; var old_height = this.GuiCanvasTextProps.height; - AscCommon.calculateCanvasSize(this.GuiCanvasTextProps, true); + AscCommon.calculateCanvasSize(this.GuiCanvasTextProps); if (old_width !== this.GuiCanvasTextProps.width || old_height !== this.GuiCanvasTextProps.height) this.GuiLastTextProps = null; @@ -5682,7 +5682,7 @@ function CDrawingDocument() this.GuiCanvasTextProps.style.width = _width + "px"; this.GuiCanvasTextProps.style.height = _height + "px"; - AscCommon.calculateCanvasSize(this.GuiCanvasTextProps, true); + AscCommon.calculateCanvasSize(this.GuiCanvasTextProps); _div_elem.appendChild(this.GuiCanvasTextProps); } diff --git a/word/Drawing/Rulers.js b/word/Drawing/Rulers.js index ceda0cf303..0b913c3562 100644 --- a/word/Drawing/Rulers.js +++ b/word/Drawing/Rulers.js @@ -1928,6 +1928,7 @@ function CHorRuler() case 7: { var pos = left + (_margin_left + this.m_arrTabs[this.m_lCurrentTab].pos) * dKoef_mm_to_pix; + this.m_dCurrentTabNewPosition = this.m_arrTabs[this.m_lCurrentTab].pos; word_control.m_oOverlayApi.VertLine(pos); break; } From f9cf8340d5ad9818f93b258a42c0b1f978125c90 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Sun, 28 Mar 2021 22:04:41 +0300 Subject: [PATCH 090/381] Fix bug #49270 Improve deleting of a table row when track changes is on --- word/Editor/Document.js | 14 ++++++++++---- word/Editor/DocumentContentBase.js | 22 +++++++++++++++++++--- word/Editor/Table.js | 29 +++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 7 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 7757f25a44..1e078ff3ac 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -11758,17 +11758,23 @@ CDocument.prototype.RemoveTableColumn = function() }; CDocument.prototype.MergeTableCells = function() { + var isLocalTrackRevisions = this.GetLocalTrackRevisions(); + this.SetLocalTrackRevisions(false); this.Controller.MergeTableCells(); + this.SetLocalTrackRevisions(isLocalTrackRevisions); this.Recalculate(); - this.Document_UpdateSelectionState(); - this.Document_UpdateInterfaceState(); + this.UpdateSelection(); + this.UpdateInterface(); }; CDocument.prototype.SplitTableCells = function(Cols, Rows) { + var isLocalTrackRevisions = this.GetLocalTrackRevisions(); + this.SetLocalTrackRevisions(false); this.Controller.SplitTableCells(Cols, Rows); + this.SetLocalTrackRevisions(isLocalTrackRevisions); this.Recalculate(); - this.Document_UpdateSelectionState(); - this.Document_UpdateInterfaceState(); + this.UpdateSelection(); + this.UpdateInterface(); }; CDocument.prototype.RemoveTableCells = function() { diff --git a/word/Editor/DocumentContentBase.js b/word/Editor/DocumentContentBase.js index ddedfd5380..b61bd2b455 100644 --- a/word/Editor/DocumentContentBase.js +++ b/word/Editor/DocumentContentBase.js @@ -515,9 +515,25 @@ CDocumentContentBase.prototype.private_Remove = function(Count, isRemoveWholeEle } } - if (StartPos === EndPos && this.Content[StartPos].IsTable() && (!this.Content[StartPos].IsCellSelection() || bOnTextAdd)) + if (StartPos === EndPos && this.Content[StartPos].IsTable()) { - this.Content[StartPos].Remove(1, true, bRemoveOnlySelection, bOnTextAdd); + if (!this.Content[StartPos].IsCellSelection() || bOnTextAdd || Count > 0) + { + this.Content[StartPos].Remove(1, true, bRemoveOnlySelection, bOnTextAdd); + } + else if (this.Content[StartPos].IsRowSelection()) + { + this.Content[StartPos].RemoveTableRow(); + } + else + { + // В остальных ситуация мы не отслеживаем изменения + var oLogicDocument = this.GetLogicDocument(); + var isLocalTrackRevisions = oLogicDocument.GetLocalTrackRevisions(); + oLogicDocument.SetLocalTrackRevisions(false); + this.Content[StartPos].RemoveTableCells(); + oLogicDocument.SetLocalTrackRevisions(isLocalTrackRevisions); + } } else { @@ -526,7 +542,7 @@ CDocumentContentBase.prototype.private_Remove = function(Count, isRemoveWholeEle { var oElement = this.Content[nIndex]; if (oElement.IsTable()) - oElement.RemoveTableCells(); + oElement.RemoveTableRow(); else oElement.Remove(1, true, bRemoveOnlySelection, bOnTextAdd); } diff --git a/word/Editor/Table.js b/word/Editor/Table.js index 632d66df61..4ed90ffc44 100644 --- a/word/Editor/Table.js +++ b/word/Editor/Table.js @@ -17202,6 +17202,35 @@ CTable.prototype.IsCellSelection = function() return false; }; +/** + * Проверяем, идет ли выделение по целым строкам + * @return {boolean} + * @constructor + */ +CTable.prototype.IsRowSelection = function() +{ + if (!this.IsCellSelection()) + return false; + + var arrSelectionArray = this.GetSelectionArray(true); + + var oPrevPos = null; + for (var nIndex = 0, nCount = arrSelectionArray.length; nIndex < nCount; ++nIndex) + { + var oPos = arrSelectionArray[nIndex]; + if ((!oPrevPos && 0 !== oPos.Cell) + || (oPrevPos + && ((oPrevPos.Row === oPos.Row && oPos.Cell !== oPrevPos.Cell + 1) + || (oPrevPos.Row !== oPos.Row + && (0 !== oPos.Cell + || this.GetRow(oPrevPos.Row).GetCellsCount() - 1 !== oPrevPos.Cell))))) + return false; + + oPrevPos = oPos; + } + + return !(!oPrevPos || this.GetRow(oPrevPos.Row).GetCellsCount() - 1 !== oPrevPos.Cell); +}; CTable.prototype.SetTableProps = function(oProps) { return this.Set_Props(oProps); From b53317a2b200a4b1e8e7cfb4252a2d62140afb2b Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Mon, 29 Mar 2021 10:12:03 +0300 Subject: [PATCH 091/381] [se] Fix bug 49111 --- cell/view/CellEditorView.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/cell/view/CellEditorView.js b/cell/view/CellEditorView.js index 8990c0f67a..64e4b23f19 100644 --- a/cell/view/CellEditorView.js +++ b/cell/view/CellEditorView.js @@ -605,6 +605,7 @@ this._expand(); this._adjustCanvas(); this._showCanvas(); + this._calculateCanvasSize(); this._renderText(); this.topLineIndex = 0; this._updateCursorPosition(); @@ -1077,6 +1078,7 @@ this._cleanSelection(); this._adjustCanvas(); this._showCanvas(); + this._calculateCanvasSize(); this._renderText(); if (!this.getMenuEditorMode()) { this.input.value = AscCommonExcel.getFragmentsText((this.options.fragments)); @@ -1090,6 +1092,7 @@ if (this._expand()) { this._adjustCanvas(); + this._calculateCanvasSize(); } this._renderText(); // вызов нужен для пересчета поля line.startX, которое используется в _updateCursorPosition @@ -1323,8 +1326,17 @@ this.canvas.style.width = this.canvasOverlay.style.width = widthStyle + 'px'; this.canvas.style.height = this.canvasOverlay.style.height = heightStyle + 'px'; - AscCommon.calculateCanvasSize(this.canvas); - AscCommon.calculateCanvasSize(this.canvasOverlay); + }; + + CellEditor.prototype._calculateCanvasSize = function () { + //этот код вызывается после showCanvas, потому что внутри calculateCanvasSize использууется getBoundingClientRect + //если у канвы будет display = 'none', то размеры будут возвращаться нулевые + if (this.canvas) { + AscCommon.calculateCanvasSize(this.canvas); + } + if (this.canvasOverlay) { + AscCommon.calculateCanvasSize(this.canvasOverlay); + } }; CellEditor.prototype._renderText = function (dy) { From 25269c4211dc603a1a71f3e3680bb1c8f52541a7 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Mon, 29 Mar 2021 11:01:13 +0300 Subject: [PATCH 092/381] [se] Fix bug 49217 --- cell/api.js | 1 + cell/utils/utils.js | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/cell/api.js b/cell/api.js index 4748af2375..e7d56d6914 100644 --- a/cell/api.js +++ b/cell/api.js @@ -569,6 +569,7 @@ var editor; if (this.wb) { if (Math.abs(oldScale - AscCommon.AscBrowser.retinaPixelRatio) > 0.001) { this.wb.changeZoom(null); + this._sendWorkbookStyles(); } this.wb.resize(); diff --git a/cell/utils/utils.js b/cell/utils/utils.js index 6bef978549..a296b5aae0 100644 --- a/cell/utils/utils.js +++ b/cell/utils/utils.js @@ -1953,7 +1953,7 @@ var widthWithRetina = AscCommon.AscBrowser.convertToRetinaValue(w, true); var heightWithRetina = AscCommon.AscBrowser.convertToRetinaValue(h, true); - var ctx = getContext(w, h, wb); + var ctx = getContext(widthWithRetina, heightWithRetina, wb); var oCanvas = ctx.getCanvas(); var graphics = getGraphics(ctx); @@ -1976,7 +1976,7 @@ if (window["IS_NATIVE_EDITOR"]) { window["native"]["BeginDrawStyle"](type, name); } - drawStyle(ctx, graphics, wb.stringRender, oStyle, displayName, w, h); + drawStyle(ctx, graphics, wb.stringRender, oStyle, displayName, widthWithRetina, heightWithRetina); if (window["IS_NATIVE_EDITOR"]) { window["native"]["EndDrawStyle"](); } else { From 126c33d4641be06e84ff254e6c7bab4aa7fce871 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Mon, 29 Mar 2021 12:08:45 +0300 Subject: [PATCH 093/381] Fix bug #49320 (#1728) --- word/Editor/Paragraph.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index 9315c9cdcc..e9d8a9a6be 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -15613,12 +15613,15 @@ Paragraph.prototype.CheckRunContent = function(fCheck) Paragraph.prototype.CheckSignatureLinesOnAdd = function() { this.CheckRunContent( - function (oRun) + function(oRun) { + if (!(oRun instanceof AscCommonWord.ParaRun)) + return; + for (var nPos = 0, nCount = oRun.Content.length; nPos < nCount; ++nPos) { var oItem = oRun.Content[nPos]; - if(oItem.Type === para_Drawing) + if (oItem.Type === para_Drawing) { oItem.CheckSignatureLineOnAdd(); } From 2472286bd2ac24407f5ddcced0cf69270aaae745 Mon Sep 17 00:00:00 2001 From: Alexey Matveev <34643750+AlexeyMatveev686@users.noreply.github.com> Date: Mon, 29 Mar 2021 17:54:53 +0300 Subject: [PATCH 094/381] [de] Fixed problem with scale in preview bullet for change list level (#1730) --- word/Drawing/DrawingDocument.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/word/Drawing/DrawingDocument.js b/word/Drawing/DrawingDocument.js index df2ef77fbe..fc60a329cc 100644 --- a/word/Drawing/DrawingDocument.js +++ b/word/Drawing/DrawingDocument.js @@ -6981,16 +6981,14 @@ function CDrawingDocument() canvas.height = AscCommon.AscBrowser.convertToRetinaValue(height_px, true); var ctx = canvas.getContext("2d"); + var rPR = AscCommon.AscBrowser.retinaPixelRatio; - if (AscCommon.AscBrowser.retinaPixelRatio >= 2) - ctx.setTransform(2, 0, 0, 2, 0, 0); - - ctx.lineWidth = 2; + ctx.lineWidth = 2 * Math.round(rPR); ctx.strokeStyle = "000000"; // "#CBCBCB"; var textYs = {x: text_base_offset_x - ((4.25 * AscCommon.g_dKoef_mm_to_pix) >> 0), y: y + (line_w << 1)}; - ctx.moveTo(text_base_offset_x, y); ctx.lineTo(width_px - offsetBase, y); + ctx.moveTo(Math.round(text_base_offset_x * rPR), Math.round(y * rPR)); ctx.lineTo(Math.round((width_px - offsetBase) * rPR), Math.round(y * rPR)); ctx.stroke(); ctx.beginPath(); From 9fe4f7babd7fafd078421f6411c508820853b270 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Mon, 29 Mar 2021 18:41:18 +0300 Subject: [PATCH 095/381] [se] Fix bug 49326 --- cell/model/WorkbookElems.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cell/model/WorkbookElems.js b/cell/model/WorkbookElems.js index 15eefca4cb..0fe92e7d88 100644 --- a/cell/model/WorkbookElems.js +++ b/cell/model/WorkbookElems.js @@ -4804,9 +4804,9 @@ StyleManager.prototype = } }; Row.prototype.setHidden = function (val, bViewLocalChange) { - var inViewAndFilter = this.ws.getActiveNamedSheetViewId() !== null && this.ws.autoFilters.containInFilter(this.index); + var inViewAndFilter = this.ws.getActiveNamedSheetViewId() !== null && this.ws.autoFilters && this.ws.autoFilters.containInFilter(this.index); if (!bViewLocalChange) { - var bCollaborativeChanges = !this.ws.autoFilters.useViewLocalChange && this.ws.workbook.bCollaborativeChanges; + var bCollaborativeChanges = !(this.ws.autoFilters && this.ws.autoFilters.useViewLocalChange) && this.ws.workbook.bCollaborativeChanges; bViewLocalChange = !bCollaborativeChanges && inViewAndFilter; } //если находимся в режиме вью, а приходят изменения для дефолта - не меняем hiddenManager @@ -4850,7 +4850,7 @@ StyleManager.prototype = Row.prototype.getHidden = function (bViewLocalChange) { if (undefined === bViewLocalChange) { - var bCollaborativeChanges = !this.ws.autoFilters.useViewLocalChange && this.ws.workbook.bCollaborativeChanges; + var bCollaborativeChanges = !(this.ws.autoFilters && this.ws.autoFilters.useViewLocalChange) && this.ws.workbook.bCollaborativeChanges; bViewLocalChange = !bCollaborativeChanges && this.ws.getActiveNamedSheetViewId() !== null && this.ws.autoFilters.containInFilter(this.index); } var _rowFlag_hd = bViewLocalChange ? g_nRowFlag_hdView : g_nRowFlag_hd; From 0db998d37075fb2c45fc9d05720d3743b91d02b1 Mon Sep 17 00:00:00 2001 From: "alexey.musinov" Date: Tue, 30 Mar 2021 10:58:12 +0300 Subject: [PATCH 096/381] [se] fix bug 49289 --- cell/native/native.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cell/native/native.js b/cell/native/native.js index ca2573f275..efdb71282c 100644 --- a/cell/native/native.js +++ b/cell/native/native.js @@ -2278,7 +2278,11 @@ function asc_WriteCCellInfo(c, s) { s['WriteBool'](c.asc_getLockText()); asc_WriteCFont(6, xfs, s); - asc_menu_WriteColor(8, xfs.asc_getFillColor(), s); + + if (null != xfs.asc_getFillColor() && xfs.asc_getFillColor().asc_getAuto() !== true) { + asc_menu_WriteColor(8, xfs.asc_getFillColor(), s); + } + asc_WriteCBorders(9, c.asc_getBorders(), s); v = c.asc_getInnerText(); From f9b69a1874c69a35da22ac4811345cc152d824ea Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Tue, 30 Mar 2021 11:52:20 +0300 Subject: [PATCH 097/381] [se] Fix bug 49339 --- cell/model/PivotTables.js | 59 +++++++++++++++++++++++++++++---------- 1 file changed, 44 insertions(+), 15 deletions(-) diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index 7291b286f9..4b3764d412 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -251,6 +251,7 @@ var GROUP_DAYS_CAPTION = 'Days'; var GROUP_MONTHS_CAPTION = 'Months'; var GROUP_QUARTERS_CAPTION = 'Quarters'; var GROUP_YEARS_CAPTION = 'Years'; +var GROUP_OR_CAPTION = 'or'; var NEW_PIVOT_LAST_COL_OFFSET = 2; var NEW_PIVOT_LAST_ROW_OFFSET = 17; var NEW_PIVOT_LAST_COL_OFFSET_GRID_DROP_ZONES = 6; @@ -9381,7 +9382,8 @@ CT_CacheField.prototype.groupRangePr = function (fld, rangePr) { this.fieldGroup = new CT_FieldGroup(); var sharedItems = this.getGroupOrSharedItems(); var containsInteger = sharedItems && sharedItems.containsInteger || false; - return this.fieldGroup.groupRangePr(fld, rangePr, containsInteger); + var containsBlank = sharedItems && sharedItems.containsBlank || false; + return this.fieldGroup.groupRangePr(fld, rangePr, containsInteger, containsBlank); }; CT_CacheField.prototype.groupDiscrete = function (groupMap) { return this.fieldGroup.groupDiscrete(groupMap); @@ -12562,17 +12564,24 @@ CT_SharedItems.prototype.addString = function() { CT_SharedItems.prototype.addItem = function(item) { return this.Items.addRecordValue(item); }; -CT_SharedItems.prototype.getMinMaxValue = function() { - var res = {minValue: 0, maxValue: 0}; +CT_SharedItems.prototype.getMinMaxValue = function () { + var res; if (this.getCount() > 0) { - var item = this.getItem(0); - res.minValue = res.maxValue = item.val; - for (var i = 1; i < this.getCount(); ++i) { - item = this.getItem(i); - res.minValue = Math.min(res.minValue, item.val); - res.maxValue = Math.max(res.maxValue, item.val); + for (var i = 0; i < this.getCount(); ++i) { + var item = this.getItem(i); + if (c_oAscPivotRecType.Missing !== item.type) { + if (!res) { + res = {minValue: item.val, maxValue: item.val}; + } else { + res.minValue = Math.min(res.minValue, item.val); + res.maxValue = Math.max(res.maxValue, item.val); + } + } } } + if (!res) { + res = {minValue: 0, maxValue: 0}; + } return res; }; CT_SharedItems.prototype.getMinMaxDate = function () { @@ -12691,6 +12700,8 @@ CT_FieldGroup.prototype.getGroupIndex = function(index, sharedItem) { } else if (c_oAscGroupType.Date === fieldGroupType && c_oAscPivotRecType.DateTime === sharedItem.type) { var date = Asc.cDate.prototype.getDateFromExcelWithTime2(sharedItem.val) res = this.rangePr.getGroupIndex(date, this.groupItems.getCount() - 1); + } else { + res = 0; } } else if (this.discretePr) { res = this.discretePr.getGroupIndex(index); @@ -12721,10 +12732,10 @@ CT_FieldGroup.prototype.group = function(fld, baseCacheField, rangePr, groupMap) this.discretePr.group(reorderArray); } }; -CT_FieldGroup.prototype.groupRangePr = function (fld, rangePr, containsInteger) { +CT_FieldGroup.prototype.groupRangePr = function (fld, rangePr, containsInteger, containsBlank) { this.base = fld; this.rangePr = rangePr; - this.groupItems = this.rangePr.generateGroupItems(containsInteger); + this.groupItems = this.rangePr.generateGroupItems(containsInteger, containsBlank, null !== this.par); }; CT_FieldGroup.prototype.groupDiscrete = function (groupMap) { var reorderArray = this._groupDiscrete(groupMap); @@ -13761,13 +13772,22 @@ CT_RangePr.prototype.getGroupIndex = function(val, maxIndex) { } return res; }; -CT_RangePr.prototype.generateGroupItems = function (containsInteger) { - var i, numFormat, numFormatShortDate, date; +CT_RangePr.prototype.generateGroupItems = function (containsInteger, containsBlank, hasPar) { + var i, numFormat, numFormatShortDate, date, firstElem; var groupItems = new CT_SharedItems(); if (this.groupBy === c_oAscGroupBy.Range) { var sGeneral = AscCommon.DecodeGeneralFormat(this.startNum, AscCommon.CellValueType.String, AscCommon.gc_nMaxDigCount) || "General"; numFormat = AscCommon.oNumFormatCache.get(sGeneral); - groupItems.addString('<' + numFormat.formatToChart(this.startNum)); + firstElem = '<' + numFormat.formatToChart(this.startNum); + if (containsBlank) { + if (this.autoStart) { + firstElem = AscCommon.translateManager.getValue(AscCommonExcel.BLANK_CAPTION); + } else { + firstElem += ' ' + AscCommon.translateManager.getValue(GROUP_OR_CAPTION) + ' ' + + AscCommon.translateManager.getValue(AscCommonExcel.BLANK_CAPTION); + } + } + groupItems.addString(firstElem); var curVal = this.startNum; var nextVal = this.startNum + this.groupInterval; var integerСorrection = 0; @@ -13787,7 +13807,16 @@ CT_RangePr.prototype.generateGroupItems = function (containsInteger) { groupItems.addString('>' + numFormat.formatToChart(nextVal)); } else { numFormatShortDate = AscCommon.oNumFormatCache.get(AscCommon.getShortDateFormat()); - groupItems.addString('<' + numFormatShortDate.formatToChart(this.startDate.getExcelDateWithTime2())); + firstElem = '<' + numFormatShortDate.formatToChart(this.startDate.getExcelDateWithTime2()); + if (containsBlank && !hasPar) { + if (this.autoStart) { + firstElem = AscCommon.translateManager.getValue(AscCommonExcel.BLANK_CAPTION); + } else { + firstElem += ' ' + AscCommon.translateManager.getValue(GROUP_OR_CAPTION) + ' ' + + AscCommon.translateManager.getValue(AscCommonExcel.BLANK_CAPTION); + } + } + groupItems.addString(firstElem); if (this.groupBy === c_oAscGroupBy.Seconds || this.groupBy === c_oAscGroupBy.Minutes) { for(i = 0; i < 10; ++i) { groupItems.addString(':0' + i); From 19518816764d3a2d6b2a31173cb22c0393ab629e Mon Sep 17 00:00:00 2001 From: Kulikova Svetlana Date: Tue, 30 Mar 2021 13:01:39 +0300 Subject: [PATCH 098/381] Fix bug 49338 (#1735) --- word/Editor/Math.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/word/Editor/Math.js b/word/Editor/Math.js index 4c4bc7b132..4feddf758c 100644 --- a/word/Editor/Math.js +++ b/word/Editor/Math.js @@ -2669,7 +2669,7 @@ ParaMath.prototype.MathToImageConverter = function(bCopy, _canvasInput, _widthPx _canvas = new CNativeGraphics(); _canvas.width = _width; _canvas.height = _height; - _canvas.init(window["native"], _width, _height, _width / dKoef, _height / dKoef); + _canvas.create(window["native"], _width, _height, _width / dKoef, _height / dKoef); _canvas.CoordTransformOffset(_widthPx !== undefined ? (_widthPx - w_px) / 2 : 0, _heightPx !== undefined ? (_heightPx - h_px) / 2 : 0); _canvas.transform(1, 0, 0, 1, 0, 0); From 82fc64c246074e7347f2d8cc1963d789e63e7552 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Tue, 30 Mar 2021 16:28:59 +0300 Subject: [PATCH 099/381] [se] Fix bug 49126 --- cell/model/Serialize.js | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/cell/model/Serialize.js b/cell/model/Serialize.js index ecbd6253a1..97e8a66b70 100644 --- a/cell/model/Serialize.js +++ b/cell/model/Serialize.js @@ -1299,6 +1299,12 @@ leftToRight: 1, rightToLeft: 2 }; + var EActivePane = { + bottomLeft: 0, + bottomRight: 1, + topLeft: 2, + topRight: 3 + }; var g_nNumsMaxId = 160; @@ -3741,13 +3747,25 @@ }; this.WriteSheetViewPane = function (oPane) { var oThis = this; - //this.bs.WriteItem(c_oSer_Pane.ActivePane, function(){oThis.memory.WriteByte();}); + var col = oPane.topLeftFrozenCell.getCol0(); + var row = oPane.topLeftFrozenCell.getRow0(); + + var activePane = null; + if (0 < col && 0 < row) { + activePane = EActivePane.bottomRight; + } else if (0 < row) { + activePane = EActivePane.bottomLeft; + } else if (0 < col) { + activePane = EActivePane.topRight; + } + if (null !== activePane) { + this.bs.WriteItem(c_oSer_Pane.ActivePane, function(){oThis.memory.WriteByte(activePane);}); + } + // Всегда пишем Frozen this.bs.WriteItem(c_oSer_Pane.State, function(){oThis.memory.WriteString3(AscCommonExcel.c_oAscPaneState.Frozen);}); this.bs.WriteItem(c_oSer_Pane.TopLeftCell, function(){oThis.memory.WriteString3(oPane.topLeftFrozenCell.getID());}); - var col = oPane.topLeftFrozenCell.getCol0(); - var row = oPane.topLeftFrozenCell.getRow0(); if (0 < col) this.bs.WriteItem(c_oSer_Pane.XSplit, function(){oThis.memory.WriteDouble2(col);}); if (0 < row) From 9bb5da6e8035ae4d3887862dfc2073878a4b72b2 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Mon, 29 Mar 2021 17:34:22 +0300 Subject: [PATCH 100/381] [se] For bug 49257 --- cell/model/Serialize.js | 1 + cell/model/Workbook.js | 4 ++++ cell/model/WorkbookElems.js | 5 +++++ cell/utils/utils.js | 1 + common/commonDefines.js | 2 ++ 5 files changed, 13 insertions(+) diff --git a/cell/model/Serialize.js b/cell/model/Serialize.js index 97e8a66b70..cf0464ea0c 100644 --- a/cell/model/Serialize.js +++ b/cell/model/Serialize.js @@ -4086,6 +4086,7 @@ this.memory.WriteString2(oHyperlink.Ref.getName()); } if (null != oHyperlink.Hyperlink) { + oHyperlink.checkValid(); this.memory.WriteByte(c_oSerHyperlinkTypes.Hyperlink); this.memory.WriteString2(oHyperlink.Hyperlink); } diff --git a/cell/model/Workbook.js b/cell/model/Workbook.js index df4b7c88c9..9b47193d4a 100644 --- a/cell/model/Workbook.js +++ b/cell/model/Workbook.js @@ -13463,6 +13463,10 @@ Range.prototype.setHyperlink=function(val, bWithoutStyle){ if(null != val && false == val.isValid()) return; + + //обрезваем по длине, если больше максимальной + val.checkValid(); + //проверяем, может эта ссылка уже существует var i, length, hyp; var bExist = false; diff --git a/cell/model/WorkbookElems.js b/cell/model/WorkbookElems.js index 0fe92e7d88..d3c2c446c4 100644 --- a/cell/model/WorkbookElems.js +++ b/cell/model/WorkbookElems.js @@ -4090,6 +4090,11 @@ StyleManager.prototype = this.Ref.setOffsetFirst(OffsetFirst); this.Ref.setOffsetLast(OffsetLast); }; + Hyperlink.prototype.checkValid = function () { + if (this.Hyperlink && this.Hyperlink.length > Asc.c_nMaxHyperlinkLength - 1) { + this.Hyperlink = this.Hyperlink.substring(0, Asc.c_nMaxHyperlinkLength - 1); + } + }; /** @constructor */ function SheetFormatPr() { diff --git a/cell/utils/utils.js b/cell/utils/utils.js index a296b5aae0..945a68a669 100644 --- a/cell/utils/utils.js +++ b/cell/utils/utils.js @@ -2359,6 +2359,7 @@ }; asc_CHyperlink.prototype.asc_setHyperlinkUrl = function (val) { this.hyperlinkModel.Hyperlink = val; + this.hyperlinkModel.checkValid(); }; asc_CHyperlink.prototype.asc_setTooltip = function (val) { this.hyperlinkModel.Tooltip = val ? val.slice(0, Asc.c_oAscMaxTooltipLength) : val; diff --git a/common/commonDefines.js b/common/commonDefines.js index 3afd2c6377..76d0580d4c 100644 --- a/common/commonDefines.js +++ b/common/commonDefines.js @@ -48,6 +48,7 @@ var c_nVersionNoBase64 = 10; var c_dMaxParaRunContentLength = 256; var c_rUneditableTypes = /^(?:(pdf|djvu|xps))$/; + var c_nMaxHyperlinkLength = 2084; //files type for Saving & DownloadAs var c_oAscFileType = { @@ -2167,6 +2168,7 @@ window['Asc']['c_nVersionNoBase64'] = window['Asc'].c_nVersionNoBase64 = c_nVersionNoBase64; window['Asc']['c_dMaxParaRunContentLength'] = window['Asc'].c_dMaxParaRunContentLength = c_dMaxParaRunContentLength; window['Asc']['c_rUneditableTypes'] = window['Asc'].c_rUneditableTypes = c_rUneditableTypes; + window['Asc']['c_nMaxHyperlinkLength'] = window['Asc'].c_nMaxHyperlinkLength = c_nMaxHyperlinkLength; window['Asc']['c_oAscFileType'] = window['Asc'].c_oAscFileType = c_oAscFileType; window['Asc'].g_oLcidNameToIdMap = g_oLcidNameToIdMap; window['Asc'].g_oLcidIdToNameMap = g_oLcidIdToNameMap; From 5a208f69b65053d8681c956f952cb47478f3149a Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Tue, 30 Mar 2021 11:54:59 +0300 Subject: [PATCH 101/381] [se][pe] For bug 49257 --- cell/model/Serialize.js | 1 - cell/model/Workbook.js | 3 --- cell/model/WorkbookElems.js | 8 ++------ cell/utils/utils.js | 1 - common/commonDefines.js | 2 +- common/wordcopypaste.js | 3 +++ 6 files changed, 6 insertions(+), 12 deletions(-) diff --git a/cell/model/Serialize.js b/cell/model/Serialize.js index cf0464ea0c..97e8a66b70 100644 --- a/cell/model/Serialize.js +++ b/cell/model/Serialize.js @@ -4086,7 +4086,6 @@ this.memory.WriteString2(oHyperlink.Ref.getName()); } if (null != oHyperlink.Hyperlink) { - oHyperlink.checkValid(); this.memory.WriteByte(c_oSerHyperlinkTypes.Hyperlink); this.memory.WriteString2(oHyperlink.Hyperlink); } diff --git a/cell/model/Workbook.js b/cell/model/Workbook.js index 9b47193d4a..c95defffa1 100644 --- a/cell/model/Workbook.js +++ b/cell/model/Workbook.js @@ -13464,9 +13464,6 @@ if(null != val && false == val.isValid()) return; - //обрезваем по длине, если больше максимальной - val.checkValid(); - //проверяем, может эта ссылка уже существует var i, length, hyp; var bExist = false; diff --git a/cell/model/WorkbookElems.js b/cell/model/WorkbookElems.js index d3c2c446c4..da157cd025 100644 --- a/cell/model/WorkbookElems.js +++ b/cell/model/WorkbookElems.js @@ -3974,7 +3974,8 @@ StyleManager.prototype = return bRes; }; Hyperlink.prototype.isValid = function () { - return null != this.Ref && (null != this.getLocation() || null != this.Hyperlink); + var isValidLength = !this.Hyperlink || (this.Hyperlink && this.Hyperlink.length <= Asc.c_nMaxHyperlinkLength); + return null != this.Ref && (null != this.getLocation() || null != this.Hyperlink) && isValidLength; }; Hyperlink.prototype.setLocationSheet = function (LocationSheet) { this.LocationSheet = LocationSheet; @@ -4090,11 +4091,6 @@ StyleManager.prototype = this.Ref.setOffsetFirst(OffsetFirst); this.Ref.setOffsetLast(OffsetLast); }; - Hyperlink.prototype.checkValid = function () { - if (this.Hyperlink && this.Hyperlink.length > Asc.c_nMaxHyperlinkLength - 1) { - this.Hyperlink = this.Hyperlink.substring(0, Asc.c_nMaxHyperlinkLength - 1); - } - }; /** @constructor */ function SheetFormatPr() { diff --git a/cell/utils/utils.js b/cell/utils/utils.js index 945a68a669..a296b5aae0 100644 --- a/cell/utils/utils.js +++ b/cell/utils/utils.js @@ -2359,7 +2359,6 @@ }; asc_CHyperlink.prototype.asc_setHyperlinkUrl = function (val) { this.hyperlinkModel.Hyperlink = val; - this.hyperlinkModel.checkValid(); }; asc_CHyperlink.prototype.asc_setTooltip = function (val) { this.hyperlinkModel.Tooltip = val ? val.slice(0, Asc.c_oAscMaxTooltipLength) : val; diff --git a/common/commonDefines.js b/common/commonDefines.js index 76d0580d4c..439de567cf 100644 --- a/common/commonDefines.js +++ b/common/commonDefines.js @@ -48,7 +48,7 @@ var c_nVersionNoBase64 = 10; var c_dMaxParaRunContentLength = 256; var c_rUneditableTypes = /^(?:(pdf|djvu|xps))$/; - var c_nMaxHyperlinkLength = 2084; + var c_nMaxHyperlinkLength = 2083; //files type for Saving & DownloadAs var c_oAscFileType = { diff --git a/common/wordcopypaste.js b/common/wordcopypaste.js index 070f1df35e..b95d2c17c1 100644 --- a/common/wordcopypaste.js +++ b/common/wordcopypaste.js @@ -8291,6 +8291,9 @@ PasteProcessor.prototype = text = child.innerText ? child.innerText : child.textContent; } + if (href && href.length > Asc.c_nMaxHyperlinkLength) { + isPasteHyperlink = false; + } if (isPasteHyperlink) { var HyperProps = new Asc.CHyperlinkProperty({Text: text, Value: href, ToolTip: title}); oThis.oDocument.Content[Pos].AddHyperlink(HyperProps); From 5b77889a5c6f608263851dfb4ac0f498ad7a3084 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Tue, 30 Mar 2021 16:48:14 +0300 Subject: [PATCH 102/381] [bug] For bug 49257 * Convert long hyperlinks to text in ConvertParagraphContentToPPTX * Do not add long hyperlinks in builder --- common/Drawings/Format/Shape.js | 17 ++++++++++++++--- word/apiBuilder.js | 14 +++++++------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/common/Drawings/Format/Shape.js b/common/Drawings/Format/Shape.js index 6070b82ee0..cd99aec412 100644 --- a/common/Drawings/Format/Shape.js +++ b/common/Drawings/Format/Shape.js @@ -400,7 +400,11 @@ function ConvertParagraphContentToPPTX(aOrigContent, oNewParagraph, bIsAddMath, } else { - oNewParagraph.Internal_Content_Add(oNewParagraph.Content.length, ConvertHyperlinkToPPTX(Item, oNewParagraph), false); + var aChildContent = ConvertHyperlinkToPPTX(Item, oNewParagraph); + for(var nChildIdx = 0; nChildIdx < aChildContent.length; ++nChildIdx) + { + oNewParagraph.Internal_Content_Add(oNewParagraph.Content.length, aChildContent[nChildIdx], false); + } } } @@ -501,10 +505,17 @@ function ConvertHyperlinkToPPTX(hyperlink, paragraph) } else if(item.Type === para_Hyperlink) { - hyperlink_ret.Add_ToContent(pos++, ConvertHyperlinkToPPTX(item, paragraph)); + var aConvertedContent = ConvertHyperlinkToPPTX(item, paragraph); + for(var nChildIdx = 0; nChildIdx < aConvertedContent.length; ++nChildIdx) + { + hyperlink_ret.Add_ToContent(pos++, aConvertedContent[nChildIdx]); + } } } - return hyperlink_ret; + if(typeof hyperlink.Value === "string" && hyperlink.Value.length > Asc.c_nMaxHyperlinkLength) { + return hyperlink_ret.Content; + } + return [hyperlink_ret]; } function ConvertParagraphToWord(paragraph, docContent) diff --git a/word/apiBuilder.js b/word/apiBuilder.js index 7dc8e3b306..53b5a96d60 100644 --- a/word/apiBuilder.js +++ b/word/apiBuilder.js @@ -465,7 +465,7 @@ */ ApiRange.prototype.AddHyperlink = function(sLink, sScreenTipText) { - if (typeof(sLink) !== "string" || sLink === "") + if (typeof(sLink) !== "string" || sLink === "" || sLink.length > Asc.c_nMaxHyperlinkLength) return null; if (typeof(sScreenTipText) !== "string") sScreenTipText = ""; @@ -1795,7 +1795,7 @@ * */ ApiHyperlink.prototype.SetLink = function(sLink) { - if (typeof(sLink) !== "string") + if (typeof(sLink) !== "string" || sLink.length > Asc.c_nMaxHyperlinkLength) return false; if (sLink == undefined) sLink = ""; @@ -4518,13 +4518,13 @@ */ ApiParagraph.prototype.AddHyperlink = function(sLink, sScreenTipText) { - if (typeof(sLink) !== "string" || sLink === "") + if (typeof(sLink) !== "string" || sLink === "" || sLink.length > Asc.c_nMaxHyperlinkLength) return null; if (typeof(sScreenTipText) !== "string") sScreenTipText = ""; var oDocument = editor.private_GetLogicDocument(); - var hyperlinkPr = new Asc.CHyperlinkProperty() + var hyperlinkPr = new Asc.CHyperlinkProperty(); var urlType = AscCommon.getUrlType(sLink); var oHyperlink = null; @@ -5559,14 +5559,14 @@ */ ApiRun.prototype.AddHyperlink = function(sLink, sScreenTipText) { - if (typeof(sLink) !== "string" || sLink === "") + if (typeof(sLink) !== "string" || sLink === "" || sLink.length > Asc.c_nMaxHyperlinkLength) return null; if (typeof(sScreenTipText) !== "string") sScreenTipText = ""; var Document = editor.private_GetLogicDocument(); var parentPara = this.Run.GetParagraph(); - if (!parentPara | this.Run.Content.length === 0) + if (!parentPara || this.Run.Content.length === 0) return null; if (this.GetParentContentControl() instanceof ApiInlineLvlSdt) return null; @@ -5590,7 +5590,7 @@ StartPos[parentParaDepth].Class.SetContentSelection(StartPos, EndPos, parentParaDepth, 0, 0); var oHyperlink = null; - var hyperlinkPr = new Asc.CHyperlinkProperty() + var hyperlinkPr = new Asc.CHyperlinkProperty(); var urlType = AscCommon.getUrlType(sLink); if (!/(((^https?)|(^ftp)):\/\/)|(^mailto:)/i.test(sLink)) sLink = (urlType === 0) ? null :(( (urlType === 2) ? 'mailto:' : 'http://' ) + sLink); From 3f8d2d42f23b66f191038971e9493e35cda0d89f Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Wed, 31 Mar 2021 10:24:46 +0300 Subject: [PATCH 103/381] [se] Fix bug 49257 --- cell/apiBuilder.js | 7 ++++++- cell/model/Serialize.js | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/cell/apiBuilder.js b/cell/apiBuilder.js index 9d62803e4a..859b3c2c52 100644 --- a/cell/apiBuilder.js +++ b/cell/apiBuilder.js @@ -1199,6 +1199,11 @@ var range = new ApiRange(this.worksheet.getRange2(sRange)); var p = /^(?:http:\/\/|https:\/\/)/; if (range && range.range.isOneCell() && sAddress) { + var externalLink = sAddress.match(p) || sAddress.search(/mailto:/i) !== -1; + if (externalLink && sAddress.length > Asc.c_nMaxHyperlinkLength) { + return null; + } + this.worksheet.selectionRange.assign2(range.range.bbox); var Hyperlink = new Asc.asc_CHyperlink(); if (sScreenTip) { @@ -1209,7 +1214,7 @@ if (sTextToDisplay) { Hyperlink.asc_setTooltip(sTextToDisplay); } - if (sAddress.match(p) || sAddress.search(/mailto:/i) !== -1) { + if (externalLink) { Hyperlink.asc_setHyperlinkUrl(sAddress); } else { Hyperlink.asc_setRange(sAddress); diff --git a/cell/model/Serialize.js b/cell/model/Serialize.js index 97e8a66b70..2ef0ed79b8 100644 --- a/cell/model/Serialize.js +++ b/cell/model/Serialize.js @@ -4086,8 +4086,9 @@ this.memory.WriteString2(oHyperlink.Ref.getName()); } if (null != oHyperlink.Hyperlink) { + var sHyperlink = oHyperlink.Hyperlink.length > Asc.c_nMaxHyperlinkLength ? this.Hyperlink.substring(0, Asc.c_nMaxHyperlinkLength) : oHyperlink.Hyperlink; this.memory.WriteByte(c_oSerHyperlinkTypes.Hyperlink); - this.memory.WriteString2(oHyperlink.Hyperlink); + this.memory.WriteString2(sHyperlink); } if (null !== oHyperlink.getLocation()) { this.memory.WriteByte(c_oSerHyperlinkTypes.Location); From 65310e9b7f8315d9070deea49bd833f66bbcd8f1 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Wed, 31 Mar 2021 16:35:04 +0300 Subject: [PATCH 104/381] Fix bug 49382 (#1743) --- common/editorscommon.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/editorscommon.js b/common/editorscommon.js index f44ab00071..91af13d1dc 100644 --- a/common/editorscommon.js +++ b/common/editorscommon.js @@ -5747,7 +5747,7 @@ shiftY = Math.round(shiftY * rPR); } - var isRoundDraw = (transform && !global_MatrixTransformer.IsIdentity2(transform)) ? false : true; + var isRoundDraw = (transform && !AscCommon.global_MatrixTransformer.IsIdentity2(transform)) ? false : true; var Points = oPath.Points; var nCount = Points.length; From a7791f0ed2e4f74d54a63e2ba3685df84139657f Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Wed, 31 Mar 2021 16:43:52 +0300 Subject: [PATCH 105/381] Add license to spell scripts (#1744) * Add license to spell scripts * Add new line --- common/spell/spell/spell.js | 34 +++++++++++++++++++++++++++++++++- common/spell/spell/spell_ie.js | 34 +++++++++++++++++++++++++++++++++- 2 files changed, 66 insertions(+), 2 deletions(-) diff --git a/common/spell/spell/spell.js b/common/spell/spell/spell.js index b4910aa273..eb4a3311a4 100644 --- a/common/spell/spell/spell.js +++ b/common/spell/spell/spell.js @@ -1,3 +1,35 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + var printErr = undefined; var FS = undefined; var print = undefined; @@ -542,4 +574,4 @@ function Spellchecker() self.spellchecker.checkMessage(); }, 1); }; -} \ No newline at end of file +} diff --git a/common/spell/spell/spell_ie.js b/common/spell/spell/spell_ie.js index b87af0efb3..e7cc88d019 100644 --- a/common/spell/spell/spell_ie.js +++ b/common/spell/spell/spell_ie.js @@ -1,3 +1,35 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + var ob;function pb(h){var f=0;return function(){return f Date: Wed, 31 Mar 2021 18:26:36 +0300 Subject: [PATCH 106/381] [se] Fix bug 49185 --- cell/model/History.js | 4 +++- cell/view/WorkbookView.js | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cell/model/History.js b/cell/model/History.js index 52d55d06b5..00fa06bd96 100644 --- a/cell/model/History.js +++ b/cell/model/History.js @@ -547,7 +547,9 @@ CHistory.prototype.UndoRedoEnd = function (Point, oRedoObjectParam, bUndo) { oRedoObjectParam.oChangeWorksheetUpdate[i],{lockDraw: true, reinitRanges: true}); for (i in Point.UpdateRigions) { - this.workbook.handlers.trigger("cleanCellCache", i, [Point.UpdateRigions[i]]); + //последним параметром передаю resetCache, при добавлении/удаление строк/столбцов в случая прямого действия + //всегда делается cache -> reset, здесь аналогично делаю + this.workbook.handlers.trigger("cleanCellCache", i, [Point.UpdateRigions[i]], null, oRedoObjectParam.bAddRemoveRowCol); var curSheet = this.workbook.getWorksheetById(i); if (curSheet) this.workbook.getWorksheetById(i).updateSlicersByRange(Point.UpdateRigions[i]); diff --git a/cell/view/WorkbookView.js b/cell/view/WorkbookView.js index 626071afed..b0531f6402 100644 --- a/cell/view/WorkbookView.js +++ b/cell/view/WorkbookView.js @@ -816,9 +816,12 @@ } }); - this.model.handlers.add("cleanCellCache", function(wsId, oRanges, skipHeight) { + this.model.handlers.add("cleanCellCache", function(wsId, oRanges, skipHeight, needResetCache) { var ws = self.getWorksheetById(wsId, true); if (ws) { + if (needResetCache) { + ws.cache && ws.cache.reset(); + } ws.updateRanges(oRanges, skipHeight); } }); From d572b66a33648f8f6d8231fa04ecb99d319d3909 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Wed, 31 Mar 2021 18:47:16 +0300 Subject: [PATCH 107/381] [se] Fix bug 49370 --- cell/model/PivotTables.js | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index 4b3764d412..a588ad11dc 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -2415,8 +2415,8 @@ CT_PivotCacheRecords.prototype.fromWorksheetRange = function(location, cacheFiel si.containsNonDate = false; si.containsString = false; si.containsInteger = true; - si.maxValue = si.maxDate = Number.NEGATIVE_INFINITY; - si.minValue = si.minDate = Number.POSITIVE_INFINITY; + var maxValue = Number.NEGATIVE_INFINITY, maxDate = Number.NEGATIVE_INFINITY; + var minValue = Number.POSITIVE_INFINITY, minDate = Number.POSITIVE_INFINITY; var records = new PivotRecords(); var lastRow, lastRowWithText; lastRow = lastRowWithText = firstRow - 1; @@ -2440,16 +2440,16 @@ CT_PivotCacheRecords.prototype.fromWorksheetRange = function(location, cacheFiel records.addNumber(num); si.containsNumber = true; si.containsNonDate = true; - si.minValue = Math.min(si.minValue, num); - si.maxValue = Math.max(si.maxValue, num); + minValue = Math.min(minValue, num); + maxValue = Math.max(maxValue, num); if (si.containsInteger && !Number.isInteger(num)) { si.containsInteger = false; } } else { records.addDate(num); si.containsDate = true; - si.minDate = Math.min(si.minDate, num); - si.maxDate = Math.max(si.maxDate, num); + minDate = Math.min(minDate, num); + maxDate = Math.max(maxDate, num); } break; case AscCommon.CellValueType.String: @@ -2475,6 +2475,14 @@ CT_PivotCacheRecords.prototype.fromWorksheetRange = function(location, cacheFiel } lastRow = cell.nRow; }); + if (maxValue !== Number.NEGATIVE_INFINITY) { + si.minValue = minValue; + si.maxValue = maxValue; + } + if (maxDate !== Number.NEGATIVE_INFINITY) { + si.minDate = Asc.cDate.prototype.getDateFromExcelWithTime2(minDate); + si.maxDate = Asc.cDate.prototype.getDateFromExcelWithTime2(maxDate); + } lastRowMax = Math.max(lastRowMax, lastRow); if (lastRowWithText < bbox.r2) { si.containsBlank = true; @@ -12477,12 +12485,12 @@ CT_SharedItems.prototype.readAttributes = function(attr, uq) { this.maxValue = val - 0; } val = vals["minDate"]; - if (undefined !== val) { - this.minDate = AscCommon.unleakString(uq(val)); + if (undefined !== val && "" !== val) {//empty string was before 6.3 + this.minDate = Asc.cDate.prototype.fromISO8601(val); } val = vals["maxDate"]; - if (undefined !== val) { - this.maxDate = AscCommon.unleakString(uq(val)); + if (undefined !== val && "" !== val) {//empty string was before 6.3 + this.maxDate = Asc.cDate.prototype.fromISO8601(val); } val = vals["longText"]; if (undefined !== val) { @@ -12536,10 +12544,10 @@ CT_SharedItems.prototype.toXml = function(writer, name) { writer.WriteXmlAttributeNumber("maxValue", this.maxValue); } if (null !== this.minDate) { - writer.WriteXmlAttributeStringEncode("minDate", this.minDate); + writer.WriteXmlAttributeStringEncode("minDate", this.minDate.toISOString().slice(0, 19)); } if (null !== this.maxDate) { - writer.WriteXmlAttributeStringEncode("maxDate", this.maxDate); + writer.WriteXmlAttributeStringEncode("maxDate", this.maxDate.toISOString().slice(0, 19)); } var count = this.Items.getSize(); if (count > 0) { @@ -13843,7 +13851,7 @@ CT_RangePr.prototype.generateGroupItems = function (containsInteger, containsBl } else if (this.groupBy === c_oAscGroupBy.Years) { date = new Asc.cDate(this.startDate.getTime()); while (date < this.endDate) { - groupItems.addString(date.getYear().toString()); + groupItems.addString(date.getUTCFullYear().toString()); date.addYears(1); } } else { From 911ae0b20962e4ad40d4c9a3ecad87eac8106719 Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Thu, 1 Apr 2021 12:39:10 +0300 Subject: [PATCH 108/381] [se] Fix for complex numbers (#1748) --- cell/apiBuilder.js | 19 +++++++++++++++++++ .../FormulaObjects/engineeringFunctions.js | 4 ++++ 2 files changed, 23 insertions(+) diff --git a/cell/apiBuilder.js b/cell/apiBuilder.js index 859b3c2c52..20caa96451 100644 --- a/cell/apiBuilder.js +++ b/cell/apiBuilder.js @@ -528,7 +528,13 @@ var formulas = this.wbModel.getAllFormulas(true); var _compare = function (_val1, _val2) { + var eps = 1e-12; if (!isNaN(parseFloat(_val1)) && isFinite(_val1) && !isNaN(parseFloat(_val2)) && isFinite(_val2)) { + if (Math.abs(_val2 - _val1) < eps) { + return true; + } + //_val1 = _val1.toString().substring(0,15); + //_val2 = _val2.toString().substring(0,15); var nRound = null; //max count digits in number var maxLengthAfterPoint = 9; @@ -548,6 +554,16 @@ _val1 = (parseInt(_val1 * kF)) / kF; _val2 = (parseInt(_val2 * kF)) / kF; } + } else if (_val1 && _val2) { + var complexVal1 = AscCommonExcel.Complex.prototype.ParseString(_val1); + if (complexVal1 && complexVal1.real && complexVal1.img) { + var complexVal2 = AscCommonExcel.Complex.prototype.ParseString(_val2); + if (complexVal2 && complexVal2.real && complexVal2.img) { + if (_compare(complexVal1.real, complexVal2.real) && _compare(complexVal1.img, complexVal2.img)) { + return true; + } + } + } } return _val1 == _val2; @@ -595,6 +611,9 @@ } } newValue = newValue ? newValue.getValue() : "#N/A"; + } else if (formulaRes.type === AscCommonExcel.cElementType.array) { + newValue = formulaRes.getElementRowCol(0, 0); + newValue = newValue ? newValue.getValue() : "#N/A"; } else { newValue = formulaRes ? formulaRes.getValue() : "#N/A"; } diff --git a/cell/model/FormulaObjects/engineeringFunctions.js b/cell/model/FormulaObjects/engineeringFunctions.js index e5ad4ff410..ffc09d0c2b 100644 --- a/cell/model/FormulaObjects/engineeringFunctions.js +++ b/cell/model/FormulaObjects/engineeringFunctions.js @@ -7255,4 +7255,8 @@ function (window, undefined) { return res; }; + + //----------------------------------------------------------export---------------------------------------------------- + window['AscCommonExcel'] = window['AscCommonExcel'] || {}; + window['AscCommonExcel'].Complex = Complex; })(window); From da153a14cb2691d5972023601b415ced3637bff9 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Thu, 1 Apr 2021 16:33:46 +0300 Subject: [PATCH 109/381] [se] Fix bug 49424, fix bug 49423 --- cell/.unit-tests/FormulaTests.js | 68 +++++++++++-------- .../lookupandreferenceFunctions.js | 38 ++++++++--- 2 files changed, 69 insertions(+), 37 deletions(-) diff --git a/cell/.unit-tests/FormulaTests.js b/cell/.unit-tests/FormulaTests.js index 1c5dcc16e3..cdf534c6e6 100644 --- a/cell/.unit-tests/FormulaTests.js +++ b/cell/.unit-tests/FormulaTests.js @@ -598,6 +598,20 @@ $( function () { } } + function _getValue(from, row, col) { + var res; + if (from.type === AscCommonExcel.cElementType.array) { + res = from.getElementRowCol(row !== undefined ? row : 0, col !== undefined ? col : 0).getValue(); + } else if (from.type === AscCommonExcel.cElementType.cellsRange || from.type === AscCommonExcel.cElementType.cellsRange3D) { + res = from.getValueByRowCol(row !== undefined ? row : 0, col !== undefined ? col : 0).getValue(); + } else if (from.type === AscCommonExcel.cElementType.cell || from.type === AscCommonExcel.cElementType.cell3D) { + res = from.getValue().getValue(); + } else { + res = from.getValue(); + } + return res; + } + function consoleLog(val) { //console.log(val); } @@ -10052,99 +10066,99 @@ $( function () { oParser = new parserFormula( "XLOOKUP(14,A551:A561,C551:C561)", "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getElementRowCol(0,0).getValue(), "u2" ); + strictEqual( _getValue(oParser.calculate()), "u2" ); oParser = new parserFormula( "XLOOKUP(C565,A551:A561,B551:C561)", "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getElementRowCol(0,0).getValue(), "n" ); - strictEqual( oParser.calculate().getElementRowCol(0,1).getValue(), "m1" ); + strictEqual( _getValue(oParser.calculate(), 0, 0), "n" ); + strictEqual( _getValue(oParser.calculate(), 0, 1), "m1" ); oParser = new parserFormula( 'XLOOKUP(1,A551:A561,B551:C561,"not found")', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getValue(), "not found" ); + strictEqual( _getValue(oParser.calculate()), "not found" ); oParser = new parserFormula( 'XLOOKUP(10,A551:A561,B551:C561,0,1,1)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getElementRowCol(0,0).getValue(), "f" ); - strictEqual( oParser.calculate().getElementRowCol(0,1).getValue(), "h3" ); + strictEqual( _getValue(oParser.calculate(), 0, 0), "f" ); + strictEqual( _getValue(oParser.calculate(), 0, 1), "h3" ); oParser = new parserFormula( 'XLOOKUP(10,A551:A561,B551:C561,0,-1,1)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getElementRowCol(0,0).getValue(), "a" ); - strictEqual( oParser.calculate().getElementRowCol(0,1).getValue(), "a1" ); + strictEqual( _getValue(oParser.calculate(), 0, 0), "a" ); + strictEqual( _getValue(oParser.calculate(), 0, 1), "a1" ); oParser = new parserFormula( 'XLOOKUP(10,A551:A561,B551:C561,0,0)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getValue(), 0 ); + strictEqual( _getValue(oParser.calculate()), 0 ); oParser = new parserFormula( 'XLOOKUP(10,A551:A561,B551:C561)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getValue(), "#N/A" ); + strictEqual( _getValue(oParser.calculate()), "#N/A" ); oParser = new parserFormula( 'XLOOKUP(10,A551:A561,B551:C561,,,2)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getValue(), "#N/A" ); + strictEqual( _getValue(oParser.calculate()), "#N/A" ); oParser = new parserFormula( 'XLOOKUP(10,A551:A561,B551:C561,,,-2)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getValue(), "#N/A" ); + strictEqual( _getValue(oParser.calculate()), "#N/A" ); oParser = new parserFormula( 'XLOOKUP(10,A551:A561,B551:C561,,-1,-2)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getValue(), "#N/A" ); + strictEqual( _getValue(oParser.calculate()), "#N/A" ); oParser = new parserFormula( 'XLOOKUP("test",A551:A561,B551:C561,,-1,2)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getElementRowCol(0,0).getValue(), "n" ); + strictEqual( _getValue(oParser.calculate(), 0, 0), "n" ); oParser = new parserFormula( 'XLOOKUP("tt",A551:A561,B551:C561,,-1,2)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getElementRowCol(0,0).getValue(), "u" ); + strictEqual( _getValue(oParser.calculate(), 0, 0), "u" ); oParser = new parserFormula( 'XLOOKUP("t???",A551:A561,B551:C561,,2)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getElementRowCol(0,0).getValue(), "c" ); + strictEqual( _getValue(oParser.calculate(), 0, 0), "c" ); oParser = new parserFormula( 'XLOOKUP("t???",A551:A561,B551:C561,,2)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getElementRowCol(0,0).getValue(), "c" ); + strictEqual( _getValue(oParser.calculate(), 0, 0), "c" ); oParser = new parserFormula( 'XLOOKUP("t?",A551:A561,B551:C561,,2)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getElementRowCol(0,0).getValue(), "u" ); + strictEqual( _getValue(oParser.calculate(), 0, 0), "u" ); oParser = new parserFormula( 'XLOOKUP("t?",A551:A561,B551:C561,,0)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getValue(), "#N/A" ); + strictEqual( _getValue(oParser.calculate()), "#N/A" ); oParser = new parserFormula( 'XLOOKUP("t*",A551:A561,B551:C561,,0)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getValue(), "#N/A" ); + strictEqual( _getValue(oParser.calculate()), "#N/A" ); oParser = new parserFormula( 'XLOOKUP("t*",A551:A561,B551:C561,,2)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getElementRowCol(0,0).getValue(), "c" ); - strictEqual( oParser.calculate().getElementRowCol(0,1).getValue(), "test2" ); + strictEqual( _getValue(oParser.calculate(), 0, 0), "c" ); + strictEqual( _getValue(oParser.calculate(), 0, 1), "test2" ); oParser = new parserFormula( 'XLOOKUP(1,{1,2,3},{2,2,3})', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getElementRowCol(0,0).getValue(), 2 ); + strictEqual( _getValue(oParser.calculate(), 0, 0), 2 ); oParser = new parserFormula( 'XLOOKUP(1,{1,2,3,4},{2,2,3})', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getValue(), "#VALUE!" ); + strictEqual( _getValue(oParser.calculate()), "#VALUE!" ); oParser = new parserFormula( 'XLOOKUP(4,{1,2,6},{2,2,3},,1)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getElementRowCol(0,0).getValue(), 3 ); + strictEqual( _getValue(oParser.calculate()), 3 ); oParser = new parserFormula( 'XLOOKUP(4,{1,2,6},{2,2,3},,-1)', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getElementRowCol(0,0).getValue(), 2 ); + strictEqual( _getValue(oParser.calculate()), 2 ); oParser = new parserFormula( 'XLOOKUP(4,{1,2,6},{2,2,3})', "A2", ws ); ok( oParser.parse() ); - strictEqual( oParser.calculate().getValue(), "#N/A" ); + strictEqual( _getValue(oParser.calculate()), "#N/A" ); } ); diff --git a/cell/model/FormulaObjects/lookupandreferenceFunctions.js b/cell/model/FormulaObjects/lookupandreferenceFunctions.js index 040ef06fa0..fab0fb4f61 100644 --- a/cell/model/FormulaObjects/lookupandreferenceFunctions.js +++ b/cell/model/FormulaObjects/lookupandreferenceFunctions.js @@ -2126,6 +2126,7 @@ function (window, undefined) { cXLOOKUP.prototype.argumentsMax = 6; cXLOOKUP.prototype.arrayIndexes = {1: 1, 2: 1}; cXLOOKUP.prototype.argumentsType = [argType.any, argType.reference, argType.reference]; + cXLOOKUP.prototype.returnValueType = AscCommonExcel.cReturnFormulaType.value_replace_area; cXLOOKUP.prototype.isXLFN = true; cXLOOKUP.prototype.Calculate = function (arg) { @@ -2219,17 +2220,34 @@ function (window, undefined) { if (dimensions2.bbox) { _startRange = bVertical ? dimensions2.bbox.r1 : dimensions2.bbox.c1; } - var _length = !bVertical ? dimensions2.row : dimensions2.col; - var _array = new cArray(); - for (var i = 0; i < _length; i++) { - var _row = !bVertical ? i : res - _startRange; - var _col = bVertical ? i : res - _startRange; - var _elem = arg2.getElementRowCol ? arg2.getElementRowCol(_row, _col) : arg2.getValueByRowCol(_row, _col); - if (!bVertical) { - _array.addRow(); - _array.addElement(_elem); + + if (cElementType.cellsRange === arg2.type || cElementType.cellsRange3D === arg2.type) { + var _r1 = !bVertical ? dimensions2.bbox.r1 : res - _startRange + dimensions2.bbox.r1; + var _cl = bVertical ? dimensions2.bbox.c1 : res - _startRange + dimensions2.bbox.c1; + var _r2 = !bVertical ? dimensions2.bbox.r2 : res - _startRange + dimensions2.bbox.r1; + var _c2 = bVertical ? dimensions2.bbox.c2 : res - _startRange + dimensions2.bbox.c1; + var _range = new Asc.Range(_cl, _r1, _c2, _r2); + + var _res; + if (cElementType.cellsRange === arg2.type) { + _res = _range.isOneCell() ? new cRef(_range.getName(), arg2.getWS()) : new cArea(_range.getName(), arg2.getWS()); } else { - _array.addElement(_elem); + _res = _range.isOneCell() ? new cRef3D(_range.getName(), arg2.getWS()) : new cArea3D(_range.getName(), arg2.getWS()); + } + return _res; + } else { + var _length = !bVertical ? dimensions2.row : dimensions2.col; + var _array = new cArray(); + for (var i = 0; i < _length; i++) { + var _row = !bVertical ? i : res - _startRange; + var _col = bVertical ? i : res - _startRange; + var _elem = arg2.getElementRowCol ? arg2.getElementRowCol(_row, _col) : arg2.getValueByRowCol(_row, _col); + if (!bVertical) { + _array.addRow(); + _array.addElement(_elem); + } else { + _array.addElement(_elem); + } } } From 99363de1de1a9454f5074c74f93bbbbadf5b4272 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 1 Apr 2021 17:00:58 +0300 Subject: [PATCH 110/381] Fix bug 49394 (#1750) --- common/editorscommon.js | 1 + common/libfont/wasm/file.js | 17 ++++++++++++++++- word/Editor/ParagraphContent.js | 3 +++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/common/editorscommon.js b/common/editorscommon.js index 91af13d1dc..65461a0978 100644 --- a/common/editorscommon.js +++ b/common/editorscommon.js @@ -4077,6 +4077,7 @@ c_oAscSpaces[0x2003] = 1; c_oAscSpaces[0x2005] = 1; c_oAscSpaces[0x3000] = 1; + c_oAscSpaces[0xFEFF] = 1; /** * Проверяем является ли заданный юников пробелом diff --git a/common/libfont/wasm/file.js b/common/libfont/wasm/file.js index ae1d6436de..15a774eb13 100644 --- a/common/libfont/wasm/file.js +++ b/common/libfont/wasm/file.js @@ -1096,7 +1096,22 @@ dstM.fVertAdvance = (measureInfo.vertAdvance >> 6); if (isFromPicker && (0 == dstM.fHoriAdvance && 0 == measureInfo.width)) - return null; + { + if (this.m_bStringGID) + return null; + + switch (glyph_index_or_unicode) + { + // список допустимых символов нулевой ширины + case 0xFEFF: + { + return oSizes; + } + default: + break; + } + return null; + } if (!isRaster) { diff --git a/word/Editor/ParagraphContent.js b/word/Editor/ParagraphContent.js index 4fe61ac805..60e2c058c4 100644 --- a/word/Editor/ParagraphContent.js +++ b/word/Editor/ParagraphContent.js @@ -645,6 +645,9 @@ function ParaSpace(nCharCode) this.Width = 0x00000000 | 0; this.WidthVisible = 0x00000000 | 0; this.WidthOrigin = 0x00000000 | 0; + + if (AscFonts.IsCheckSymbols) + AscFonts.FontPickerByCharacter.getFontBySymbol(this.Value); } ParaSpace.prototype = Object.create(CRunElementBase.prototype); ParaSpace.prototype.constructor = ParaSpace; From 4f3f83b781c16f8e3aecf145e7d381b8f631cf9a Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 1 Apr 2021 20:35:29 +0300 Subject: [PATCH 111/381] Fix bugs with scaling (presentations) (#1752) --- slide/Drawing/DrawingDocument.js | 34 +++++++++++++++++++++----------- slide/Drawing/HtmlPage.js | 9 ++++++++- word/Drawing/buttons.js | 14 +++++++++---- 3 files changed, 40 insertions(+), 17 deletions(-) diff --git a/slide/Drawing/DrawingDocument.js b/slide/Drawing/DrawingDocument.js index 009a4a0d63..9183e1017d 100644 --- a/slide/Drawing/DrawingDocument.js +++ b/slide/Drawing/DrawingDocument.js @@ -3761,6 +3761,9 @@ function CThumbnailsManager() Pos.X -= this.m_oWordControl.X; Pos.Y -= this.m_oWordControl.Y; + Pos.X = AscCommon.AscBrowser.convertToRetinaValue(Pos.X, true); + Pos.Y = AscCommon.AscBrowser.convertToRetinaValue(Pos.Y, true); + if (isFixed && isPage) { Pos.Page = -1; @@ -3810,9 +3813,12 @@ function CThumbnailsManager() Pos.X -= this.m_oWordControl.X; Pos.Y -= this.m_oWordControl.Y; + Pos.X = AscCommon.AscBrowser.convertToRetinaValue(Pos.X, true); + Pos.Y = AscCommon.AscBrowser.convertToRetinaValue(Pos.Y, true); + var _abs_pos = this.m_oWordControl.m_oThumbnails.AbsolutePosition; - var _controlW = (_abs_pos.R - _abs_pos.L) * g_dKoef_mm_to_pix; - var _controlH = (_abs_pos.B - _abs_pos.T) * g_dKoef_mm_to_pix; + var _controlW = (_abs_pos.R - _abs_pos.L) * g_dKoef_mm_to_pix * AscCommon.AscBrowser.retinaPixelRatio; + var _controlH = (_abs_pos.B - _abs_pos.T) * g_dKoef_mm_to_pix * AscCommon.AscBrowser.retinaPixelRatio; if (Pos.X < 0 || Pos.X > _controlW || Pos.Y < 0 || Pos.Y > _controlH) return -1; @@ -4492,9 +4498,11 @@ function CThumbnailsManager() { var word_control = this.m_oWordControl; + var dKoefToPix = AscCommon.AscBrowser.retinaPixelRatio * g_dKoef_mm_to_pix; + var __w = word_control.m_oThumbnailsContainer.AbsolutePosition.R - word_control.m_oThumbnailsContainer.AbsolutePosition.L; var __h = word_control.m_oThumbnailsContainer.AbsolutePosition.B - word_control.m_oThumbnailsContainer.AbsolutePosition.T; - var nWidthSlide = (__w * g_dKoef_mm_to_pix) >> 0; + var nWidthSlide = (__w * dKoefToPix) >> 0; if (__w < 1 || __h < 0) { @@ -4509,7 +4517,7 @@ function CThumbnailsManager() if (this.DigitWidths.length > 5) _tmpDig = this.DigitWidths[5]; - this.const_offset_x = (_tmpDig * g_dKoef_mm_to_pix * (("") + (this.SlidesCount + 1)).length) >> 0; + this.const_offset_x = (_tmpDig * dKoefToPix * (("") + (this.SlidesCount + 1)).length) >> 0; if (this.const_offset_x < 25) this.const_offset_x = 25; @@ -4526,7 +4534,7 @@ function CThumbnailsManager() dPosition = this.m_dScrollY / this.m_dScrollY_max; } - var heightThumbs = (__h * g_dKoef_mm_to_pix) >> 0; + var heightThumbs = (__h * dKoefToPix) >> 0; if (nHeightPix < heightThumbs) { // все убралось. скролл не нужен @@ -4536,7 +4544,7 @@ function CThumbnailsManager() word_control.m_oThumbnailsBack.Bounds.R = 0; word_control.m_oThumbnails_scroll.Bounds.AbsW = 0; - word_control.m_oThumbnailsContainer.Resize(__w, __h); + word_control.m_oThumbnailsContainer.Resize(__w, __h, word_control); } else { @@ -4552,24 +4560,24 @@ function CThumbnailsManager() { if (GlobalSkin.ThumbnailScrollWidthNullIfNoScrolling) { - word_control.m_oThumbnailsBack.Bounds.R = word_control.ScrollWidthPx * g_dKoef_pix_to_mm; - word_control.m_oThumbnails.Bounds.R = word_control.ScrollWidthPx * g_dKoef_pix_to_mm; + word_control.m_oThumbnailsBack.Bounds.R = word_control.ScrollWidthPx * dKoefToPix; + word_control.m_oThumbnails.Bounds.R = word_control.ScrollWidthPx * dKoefToPix; var _width_mm_scroll = (true) ? 10 : word_control.ScrollWidthPx; - word_control.m_oThumbnails_scroll.Bounds.AbsW = _width_mm_scroll * g_dKoef_pix_to_mm; + word_control.m_oThumbnails_scroll.Bounds.AbsW = _width_mm_scroll * dKoefToPix; } else { word_control.m_oThumbnails_scroll.HtmlElement.style.display = "block"; } - word_control.m_oThumbnailsContainer.Resize(__w, __h); + word_control.m_oThumbnailsContainer.Resize(__w, __h, word_control); } this.m_bIsScrollVisible = true; __w = word_control.m_oThumbnails.AbsolutePosition.R - word_control.m_oThumbnails.AbsolutePosition.L; __h = word_control.m_oThumbnails.AbsolutePosition.B - word_control.m_oThumbnails.AbsolutePosition.T; - nWidthSlide = (__w * g_dKoef_mm_to_pix) >> 0; + nWidthSlide = (__w * dKoefToPix) >> 0; nWidthSlide -= (this.const_offset_x + this.const_offset_r); @@ -4645,6 +4653,8 @@ function CThumbnailsManager() var word_control = this.m_oWordControl; + var dKoefToPix = AscCommon.AscBrowser.retinaPixelRatio * g_dKoef_mm_to_pix; + if (word_control && word_control.MobileTouchManagerThumbnails) word_control.MobileTouchManagerThumbnails.ClearContextMenu(); @@ -4662,7 +4672,7 @@ function CThumbnailsManager() var __w = word_control.m_oThumbnails.AbsolutePosition.R - word_control.m_oThumbnails.AbsolutePosition.L; var __h = word_control.m_oThumbnails.AbsolutePosition.B - word_control.m_oThumbnails.AbsolutePosition.T; - var nWidthSlide = (__w * g_dKoef_mm_to_pix) >> 0; + var nWidthSlide = (__w * dKoefToPix) >> 0; nWidthSlide -= (this.const_offset_x + this.const_offset_r); var nHeightSlide = (nWidthSlide * this.SlideHeight / this.SlideWidth) >> 0; diff --git a/slide/Drawing/HtmlPage.js b/slide/Drawing/HtmlPage.js index aa21b244ea..3d9e394d69 100644 --- a/slide/Drawing/HtmlPage.js +++ b/slide/Drawing/HtmlPage.js @@ -939,6 +939,8 @@ function CEditorPage(api) case "id_buttonTabs": case "id_notes": case "id_notes_overlay": + case "id_thumbnails_background": + case "id_thumbnails": return true; default: break; @@ -3521,7 +3523,12 @@ function CEditorPage(api) if (drDoc.placeholders.objects.length > 0 && drDoc.SlideCurrent >= 0) { - drDoc.placeholders.draw(overlay, drDoc.SlideCurrent, drDoc.SlideCurrectRect, this.m_oLogicDocument.GetWidthMM(), this.m_oLogicDocument.GetHeightMM()); + var rectSlide = {}; + rectSlide.left = AscCommon.AscBrowser.convertToRetinaValue(drDoc.SlideCurrectRect.left, true); + rectSlide.top = AscCommon.AscBrowser.convertToRetinaValue(drDoc.SlideCurrectRect.top, true); + rectSlide.right = AscCommon.AscBrowser.convertToRetinaValue(drDoc.SlideCurrectRect.right, true); + rectSlide.bottom = AscCommon.AscBrowser.convertToRetinaValue(drDoc.SlideCurrectRect.bottom, true); + drDoc.placeholders.draw(overlay, drDoc.SlideCurrent, rectSlide, this.m_oLogicDocument.GetWidthMM(), this.m_oLogicDocument.GetHeightMM()); } drDoc.DrawHorVerAnchor(); diff --git a/word/Drawing/buttons.js b/word/Drawing/buttons.js index ee0200daca..580c6d04a3 100644 --- a/word/Drawing/buttons.js +++ b/word/Drawing/buttons.js @@ -181,12 +181,18 @@ }; // расчет всех ректов кнопок - Placeholder.prototype.getButtonRects = function(pointCenter, scale) + Placeholder.prototype.getButtonRects = function(pointCenter, scale, isDraw) { //координаты ретины - масштабируются при отрисовке var ButtonSize = ButtonSize1x;//AscCommon.AscBrowser.convertToRetinaValue(ButtonSize1x, true); var ButtonBetweenSize = ButtonBetweenSize1x;//AscCommon.AscBrowser.convertToRetinaValue(ButtonBetweenSize1x, true); + if (isDraw) + { + ButtonSize = AscCommon.AscBrowser.convertToRetinaValue(ButtonSize, true); + ButtonBetweenSize = AscCommon.AscBrowser.convertToRetinaValue(ButtonBetweenSize, true); + } + // максимум 2 ряда var buttonsCount = this.buttons.length; var countColumn = (buttonsCount < 3) ? buttonsCount : (this.buttons.length + 1) >> 1; @@ -359,12 +365,12 @@ x : (pixelsRect.right - pixelsRect.left) / pageWidthMM, y : (pixelsRect.bottom - pixelsRect.top) / pageHeightMM }; - var rects = this.getButtonRects(pointCenter, scale); + var rects = this.getButtonRects(pointCenter, scale, true); if (rects.length != this.buttons.length) return; - var ButtonSize = ButtonSize1x;//AscCommon.AscBrowser.convertToRetinaValue(ButtonSize1x, true); - var ButtonImageSize = ButtonImageSize1x;//AscCommon.AscBrowser.convertToRetinaValue(ButtonImageSize1x, true); + var ButtonSize = AscCommon.AscBrowser.convertToRetinaValue(ButtonSize1x, true); + var ButtonImageSize = AscCommon.AscBrowser.convertToRetinaValue(ButtonImageSize1x, true); var offsetImage = (ButtonSize - ButtonImageSize) >> 1; var ctx = overlay.m_oContext; From 78292b1ee5e5099cc31424ed462425bdbbf26cd9 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 2 Apr 2021 10:02:35 +0300 Subject: [PATCH 112/381] Disable new spell engine in native engine (#1753) --- common/apiBase.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/apiBase.js b/common/apiBase.js index d62d834a81..598956e1b4 100644 --- a/common/apiBase.js +++ b/common/apiBase.js @@ -1456,7 +1456,7 @@ ]); } } else { - if (!this.SpellCheckUrl) { + if (!this.SpellCheckUrl && !window['NATIVE_EDITOR_ENJINE']) { this.SpellCheckApi = {}; this.SpellCheckApi.log = false; this.SpellCheckApi.worker = new CSpellchecker({ From 9a53a0322b1e9fd04aa55288f6c4fd0d52915f92 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 2 Apr 2021 10:29:31 +0300 Subject: [PATCH 113/381] Fix bug 49406 (#1754) --- common/skin.js | 144 ++++++++++++++++++++++++------------------------- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/common/skin.js b/common/skin.js index b6047eb6c4..c0280c9355 100644 --- a/common/skin.js +++ b/common/skin.js @@ -245,7 +245,7 @@ function setter_from_interface(obj) { var code = ""; for (var i in obj) { - code += ("if (undefined !== obj[\"" + i + "\"]) GlobalSkin." + i + " = obj[\"" + i + "\"];\n"); + code += ("if (obj[\"" + i + "\"]) GlobalSkin." + i + " = obj[\"" + i + "\"];\n"); } copy(code); } @@ -255,6 +255,7 @@ var GlobalSkin = EditorSkins["flat"]; function updateGlobalSkin(obj) { + console.log(obj); if (!obj) return; if (typeof obj === "string" && undefined !== EditorSkins[obj]) @@ -263,77 +264,76 @@ function updateGlobalSkin(obj) } else { - if (undefined !== obj["Name"]) GlobalSkin.Name = obj["Name"]; - if (undefined !== obj["RulersButton"]) GlobalSkin.RulersButton = obj["RulersButton"]; - if (undefined !== obj["NavigationButtons"]) GlobalSkin.NavigationButtons = obj["NavigationButtons"]; - if (undefined !== obj["BackgroundColor"]) GlobalSkin.BackgroundColor = obj["BackgroundColor"]; - if (undefined !== obj["PageOutline"]) GlobalSkin.PageOutline = obj["PageOutline"]; - if (undefined !== obj["RulerDark"]) GlobalSkin.RulerDark = obj["RulerDark"]; - if (undefined !== obj["RulerLight"]) GlobalSkin.RulerLight = obj["RulerLight"]; - if (undefined !== obj["RulerOutline"]) GlobalSkin.RulerOutline = obj["RulerOutline"]; - if (undefined !== obj["RulerMarkersOutlineColor"]) GlobalSkin.RulerMarkersOutlineColor = obj["RulerMarkersOutlineColor"]; - if (undefined !== obj["RulerMarkersFillColor"]) GlobalSkin.RulerMarkersFillColor = obj["RulerMarkersFillColor"]; - if (undefined !== obj["RulerMarkersFillColorOld"]) GlobalSkin.RulerMarkersFillColorOld = obj["RulerMarkersFillColorOld"]; - if (undefined !== obj["RulerTextColor"]) GlobalSkin.RulerTextColor = obj["RulerTextColor"]; - if (undefined !== obj["RulerTabsColor"]) GlobalSkin.RulerTabsColor = obj["RulerTabsColor"]; - if (undefined !== obj["RulerTabsColorOld"]) GlobalSkin.RulerTabsColorOld = obj["RulerTabsColorOld"]; - if (undefined !== obj["RulerTableColor1"]) GlobalSkin.RulerTableColor1 = obj["RulerTableColor1"]; - if (undefined !== obj["RulerTableColor2"]) GlobalSkin.RulerTableColor2 = obj["RulerTableColor2"]; - if (undefined !== obj["ScrollBackgroundColor"]) GlobalSkin.ScrollBackgroundColor = obj["ScrollBackgroundColor"]; - if (undefined !== obj["ScrollOutlineColor"]) GlobalSkin.ScrollOutlineColor = obj["ScrollOutlineColor"]; - if (undefined !== obj["ScrollOutlineHoverColor"]) GlobalSkin.ScrollOutlineHoverColor = obj["ScrollOutlineHoverColor"]; - if (undefined !== obj["ScrollOutlineActiveColor"]) GlobalSkin.ScrollOutlineActiveColor = obj["ScrollOutlineActiveColor"]; - if (undefined !== obj["ScrollerColor"]) GlobalSkin.ScrollerColor = obj["ScrollerColor"]; - if (undefined !== obj["ScrollerHoverColor"]) GlobalSkin.ScrollerHoverColor = obj["ScrollerHoverColor"]; - if (undefined !== obj["ScrollerActiveColor"]) GlobalSkin.ScrollerActiveColor = obj["ScrollerActiveColor"]; - if (undefined !== obj["ScrollArrowColor"]) GlobalSkin.ScrollArrowColor = obj["ScrollArrowColor"]; - if (undefined !== obj["ScrollArrowHoverColor"]) GlobalSkin.ScrollArrowHoverColor = obj["ScrollArrowHoverColor"]; - if (undefined !== obj["ScrollArrowActiveColor"]) GlobalSkin.ScrollArrowActiveColor = obj["ScrollArrowActiveColor"]; - if (undefined !== obj["ScrollerTargetColor"]) GlobalSkin.ScrollerTargetColor = obj["ScrollerTargetColor"]; - if (undefined !== obj["ScrollerTargetHoverColor"]) GlobalSkin.ScrollerTargetHoverColor = obj["ScrollerTargetHoverColor"]; - if (undefined !== obj["ScrollerTargetActiveColor"]) GlobalSkin.ScrollerTargetActiveColor = obj["ScrollerTargetActiveColor"]; - if (undefined !== obj["STYLE_THUMBNAIL_WIDTH"]) GlobalSkin.STYLE_THUMBNAIL_WIDTH = obj["STYLE_THUMBNAIL_WIDTH"]; - if (undefined !== obj["STYLE_THUMBNAIL_HEIGHT"]) GlobalSkin.STYLE_THUMBNAIL_HEIGHT = obj["STYLE_THUMBNAIL_HEIGHT"]; - if (undefined !== obj["isNeedInvertOnActive"]) GlobalSkin.isNeedInvertOnActive = obj["isNeedInvertOnActive"]; - if (undefined !== obj["ContentControlsBack"]) GlobalSkin.ContentControlsBack = obj["ContentControlsBack"]; - if (undefined !== obj["ContentControlsHover"]) GlobalSkin.ContentControlsHover = obj["ContentControlsHover"]; - if (undefined !== obj["ContentControlsActive"]) GlobalSkin.ContentControlsActive = obj["ContentControlsActive"]; - if (undefined !== obj["ContentControlsText"]) GlobalSkin.ContentControlsText = obj["ContentControlsText"]; - if (undefined !== obj["ContentControlsTextActive"]) GlobalSkin.ContentControlsTextActive = obj["ContentControlsTextActive"]; - if (undefined !== obj["ContentControlsAnchorActive"]) GlobalSkin.ContentControlsAnchorActive = obj["ContentControlsAnchorActive"]; - if (undefined !== obj["BackgroundColorThumbnails"]) GlobalSkin.BackgroundColorThumbnails = obj["BackgroundColorThumbnails"]; - if (undefined !== obj["BackgroundColorThumbnailsActive"]) GlobalSkin.BackgroundColorThumbnailsActive = obj["BackgroundColorThumbnailsActive"]; - if (undefined !== obj["BackgroundColorThumbnailsHover"]) GlobalSkin.BackgroundColorThumbnailsHover = obj["BackgroundColorThumbnailsHover"]; - if (undefined !== obj["ThumbnailsPageOutlineActive"]) GlobalSkin.ThumbnailsPageOutlineActive = obj["ThumbnailsPageOutlineActive"]; - if (undefined !== obj["ThumbnailsPageOutlineHover"]) GlobalSkin.ThumbnailsPageOutlineHover = obj["ThumbnailsPageOutlineHover"]; - if (undefined !== obj["ThumbnailsPageNumberText"]) GlobalSkin.ThumbnailsPageNumberText = obj["ThumbnailsPageNumberText"]; - if (undefined !== obj["ThumbnailsPageNumberTextActive"]) GlobalSkin.ThumbnailsPageNumberTextActive = obj["ThumbnailsPageNumberTextActive"]; - if (undefined !== obj["ThumbnailsPageNumberTextHover"]) GlobalSkin.ThumbnailsPageNumberTextHover = obj["ThumbnailsPageNumberTextHover"]; - if (undefined !== obj["THEMES_THUMBNAIL_WIDTH"]) GlobalSkin.THEMES_THUMBNAIL_WIDTH = obj["THEMES_THUMBNAIL_WIDTH"]; - if (undefined !== obj["THEMES_THUMBNAIL_HEIGHT"]) GlobalSkin.THEMES_THUMBNAIL_HEIGHT = obj["THEMES_THUMBNAIL_HEIGHT"]; - if (undefined !== obj["BorderSplitterColor"]) GlobalSkin.BorderSplitterColor = obj["BorderSplitterColor"]; - if (undefined !== obj["SupportNotes"]) GlobalSkin.SupportNotes = obj["SupportNotes"]; - if (undefined !== obj["SplitterWidthMM"]) GlobalSkin.SplitterWidthMM = obj["SplitterWidthMM"]; - if (undefined !== obj["ThumbnailScrollWidthNullIfNoScrolling"]) GlobalSkin.ThumbnailScrollWidthNullIfNoScrolling = obj["ThumbnailScrollWidthNullIfNoScrolling"]; - - if (undefined !== obj["Background"]) GlobalSkin.Background = obj["Background"]; - if (undefined !== obj["Border"]) GlobalSkin.Border = obj["Border"]; - if (undefined !== obj["Color"]) GlobalSkin.Color = obj["Color"]; - if (undefined !== obj["BackgroundDark"]) GlobalSkin.BackgroundDark = obj["BackgroundDark"]; - if (undefined !== obj["ColorDark"]) GlobalSkin.ColorDark = obj["ColorDark"]; - if (undefined !== obj["BackgroundActive"]) GlobalSkin.BackgroundActive = obj["BackgroundActive"]; - if (undefined !== obj["BorderActive"]) GlobalSkin.BorderActive = obj["BorderActive"]; - if (undefined !== obj["ColorActive"]) GlobalSkin.ColorActive = obj["ColorActive"]; - if (undefined !== obj["BackgroundDarkActive"]) GlobalSkin.BackgroundDarkActive = obj["BackgroundDarkActive"]; - if (undefined !== obj["ColorDarkActive"]) GlobalSkin.ColorDarkActive = obj["ColorDarkActive"]; - if (undefined !== obj["BackgroundHighlighted"]) GlobalSkin.BackgroundHighlighted = obj["BackgroundHighlighted"]; - if (undefined !== obj["BorderHighlighted"]) GlobalSkin.BorderHighlighted = obj["BorderHighlighted"]; - if (undefined !== obj["ColorHighlighted"]) GlobalSkin.ColorHighlighted = obj["ColorHighlighted"]; - if (undefined !== obj["BackgroundDarkHighlighted"]) GlobalSkin.BackgroundDarkHighlighted = obj["BackgroundDarkHighlighted"]; - if (undefined !== obj["ColorDarkHighlighted"]) GlobalSkin.ColorDarkHighlighted = obj["ColorDarkHighlighted"]; - if (undefined !== obj["GroupDataBorder"]) GlobalSkin.GroupDataBorder = obj["GroupDataBorder"]; - if (undefined !== obj["EditorBorder"]) GlobalSkin.EditorBorder = obj["EditorBorder"]; - + if (obj["Name"]) GlobalSkin.Name = obj["Name"]; + if (obj["RulersButton"]) GlobalSkin.RulersButton = obj["RulersButton"]; + if (obj["NavigationButtons"]) GlobalSkin.NavigationButtons = obj["NavigationButtons"]; + if (obj["BackgroundColor"]) GlobalSkin.BackgroundColor = obj["BackgroundColor"]; + if (obj["PageOutline"]) GlobalSkin.PageOutline = obj["PageOutline"]; + if (obj["RulerDark"]) GlobalSkin.RulerDark = obj["RulerDark"]; + if (obj["RulerLight"]) GlobalSkin.RulerLight = obj["RulerLight"]; + if (obj["RulerOutline"]) GlobalSkin.RulerOutline = obj["RulerOutline"]; + if (obj["RulerMarkersOutlineColor"]) GlobalSkin.RulerMarkersOutlineColor = obj["RulerMarkersOutlineColor"]; + if (obj["RulerMarkersFillColor"]) GlobalSkin.RulerMarkersFillColor = obj["RulerMarkersFillColor"]; + if (obj["RulerMarkersFillColorOld"]) GlobalSkin.RulerMarkersFillColorOld = obj["RulerMarkersFillColorOld"]; + if (obj["RulerTextColor"]) GlobalSkin.RulerTextColor = obj["RulerTextColor"]; + if (obj["RulerTabsColor"]) GlobalSkin.RulerTabsColor = obj["RulerTabsColor"]; + if (obj["RulerTabsColorOld"]) GlobalSkin.RulerTabsColorOld = obj["RulerTabsColorOld"]; + if (obj["RulerTableColor1"]) GlobalSkin.RulerTableColor1 = obj["RulerTableColor1"]; + if (obj["RulerTableColor2"]) GlobalSkin.RulerTableColor2 = obj["RulerTableColor2"]; + if (obj["ScrollBackgroundColor"]) GlobalSkin.ScrollBackgroundColor = obj["ScrollBackgroundColor"]; + if (obj["ScrollOutlineColor"]) GlobalSkin.ScrollOutlineColor = obj["ScrollOutlineColor"]; + if (obj["ScrollOutlineHoverColor"]) GlobalSkin.ScrollOutlineHoverColor = obj["ScrollOutlineHoverColor"]; + if (obj["ScrollOutlineActiveColor"]) GlobalSkin.ScrollOutlineActiveColor = obj["ScrollOutlineActiveColor"]; + if (obj["ScrollerColor"]) GlobalSkin.ScrollerColor = obj["ScrollerColor"]; + if (obj["ScrollerHoverColor"]) GlobalSkin.ScrollerHoverColor = obj["ScrollerHoverColor"]; + if (obj["ScrollerActiveColor"]) GlobalSkin.ScrollerActiveColor = obj["ScrollerActiveColor"]; + if (obj["ScrollArrowColor"]) GlobalSkin.ScrollArrowColor = obj["ScrollArrowColor"]; + if (obj["ScrollArrowHoverColor"]) GlobalSkin.ScrollArrowHoverColor = obj["ScrollArrowHoverColor"]; + if (obj["ScrollArrowActiveColor"]) GlobalSkin.ScrollArrowActiveColor = obj["ScrollArrowActiveColor"]; + if (obj["ScrollerTargetColor"]) GlobalSkin.ScrollerTargetColor = obj["ScrollerTargetColor"]; + if (obj["ScrollerTargetHoverColor"]) GlobalSkin.ScrollerTargetHoverColor = obj["ScrollerTargetHoverColor"]; + if (obj["ScrollerTargetActiveColor"]) GlobalSkin.ScrollerTargetActiveColor = obj["ScrollerTargetActiveColor"]; + if (obj["STYLE_THUMBNAIL_WIDTH"]) GlobalSkin.STYLE_THUMBNAIL_WIDTH = obj["STYLE_THUMBNAIL_WIDTH"]; + if (obj["STYLE_THUMBNAIL_HEIGHT"]) GlobalSkin.STYLE_THUMBNAIL_HEIGHT = obj["STYLE_THUMBNAIL_HEIGHT"]; + if (obj["isNeedInvertOnActive"]) GlobalSkin.isNeedInvertOnActive = obj["isNeedInvertOnActive"]; + if (obj["ContentControlsBack"]) GlobalSkin.ContentControlsBack = obj["ContentControlsBack"]; + if (obj["ContentControlsHover"]) GlobalSkin.ContentControlsHover = obj["ContentControlsHover"]; + if (obj["ContentControlsActive"]) GlobalSkin.ContentControlsActive = obj["ContentControlsActive"]; + if (obj["ContentControlsText"]) GlobalSkin.ContentControlsText = obj["ContentControlsText"]; + if (obj["ContentControlsTextActive"]) GlobalSkin.ContentControlsTextActive = obj["ContentControlsTextActive"]; + if (obj["ContentControlsAnchorActive"]) GlobalSkin.ContentControlsAnchorActive = obj["ContentControlsAnchorActive"]; + if (obj["BackgroundColorThumbnails"]) GlobalSkin.BackgroundColorThumbnails = obj["BackgroundColorThumbnails"]; + if (obj["BackgroundColorThumbnailsActive"]) GlobalSkin.BackgroundColorThumbnailsActive = obj["BackgroundColorThumbnailsActive"]; + if (obj["BackgroundColorThumbnailsHover"]) GlobalSkin.BackgroundColorThumbnailsHover = obj["BackgroundColorThumbnailsHover"]; + if (obj["ThumbnailsPageOutlineActive"]) GlobalSkin.ThumbnailsPageOutlineActive = obj["ThumbnailsPageOutlineActive"]; + if (obj["ThumbnailsPageOutlineHover"]) GlobalSkin.ThumbnailsPageOutlineHover = obj["ThumbnailsPageOutlineHover"]; + if (obj["ThumbnailsPageNumberText"]) GlobalSkin.ThumbnailsPageNumberText = obj["ThumbnailsPageNumberText"]; + if (obj["ThumbnailsPageNumberTextActive"]) GlobalSkin.ThumbnailsPageNumberTextActive = obj["ThumbnailsPageNumberTextActive"]; + if (obj["ThumbnailsPageNumberTextHover"]) GlobalSkin.ThumbnailsPageNumberTextHover = obj["ThumbnailsPageNumberTextHover"]; + if (obj["THEMES_THUMBNAIL_WIDTH"]) GlobalSkin.THEMES_THUMBNAIL_WIDTH = obj["THEMES_THUMBNAIL_WIDTH"]; + if (obj["THEMES_THUMBNAIL_HEIGHT"]) GlobalSkin.THEMES_THUMBNAIL_HEIGHT = obj["THEMES_THUMBNAIL_HEIGHT"]; + if (obj["BorderSplitterColor"]) GlobalSkin.BorderSplitterColor = obj["BorderSplitterColor"]; + if (obj["SupportNotes"]) GlobalSkin.SupportNotes = obj["SupportNotes"]; + if (obj["SplitterWidthMM"]) GlobalSkin.SplitterWidthMM = obj["SplitterWidthMM"]; + if (obj["ThumbnailScrollWidthNullIfNoScrolling"]) GlobalSkin.ThumbnailScrollWidthNullIfNoScrolling = obj["ThumbnailScrollWidthNullIfNoScrolling"]; + + if (obj["Background"]) GlobalSkin.Background = obj["Background"]; + if (obj["Border"]) GlobalSkin.Border = obj["Border"]; + if (obj["Color"]) GlobalSkin.Color = obj["Color"]; + if (obj["BackgroundDark"]) GlobalSkin.BackgroundDark = obj["BackgroundDark"]; + if (obj["ColorDark"]) GlobalSkin.ColorDark = obj["ColorDark"]; + if (obj["BackgroundActive"]) GlobalSkin.BackgroundActive = obj["BackgroundActive"]; + if (obj["BorderActive"]) GlobalSkin.BorderActive = obj["BorderActive"]; + if (obj["ColorActive"]) GlobalSkin.ColorActive = obj["ColorActive"]; + if (obj["BackgroundDarkActive"]) GlobalSkin.BackgroundDarkActive = obj["BackgroundDarkActive"]; + if (obj["ColorDarkActive"]) GlobalSkin.ColorDarkActive = obj["ColorDarkActive"]; + if (obj["BackgroundHighlighted"]) GlobalSkin.BackgroundHighlighted = obj["BackgroundHighlighted"]; + if (obj["BorderHighlighted"]) GlobalSkin.BorderHighlighted = obj["BorderHighlighted"]; + if (obj["ColorHighlighted"]) GlobalSkin.ColorHighlighted = obj["ColorHighlighted"]; + if (obj["BackgroundDarkHighlighted"]) GlobalSkin.BackgroundDarkHighlighted = obj["BackgroundDarkHighlighted"]; + if (obj["ColorDarkHighlighted"]) GlobalSkin.ColorDarkHighlighted = obj["ColorDarkHighlighted"]; + if (obj["GroupDataBorder"]) GlobalSkin.GroupDataBorder = obj["GroupDataBorder"]; + if (obj["EditorBorder"]) GlobalSkin.EditorBorder = obj["EditorBorder"]; } window['AscCommon'].GlobalSkin = GlobalSkin; From 96600141070d84d7d5780fc6563164f1199ab414 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 2 Apr 2021 11:28:33 +0300 Subject: [PATCH 114/381] Fix bug 49396 (#1755) --- slide/Drawing/HtmlPage.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/slide/Drawing/HtmlPage.js b/slide/Drawing/HtmlPage.js index 3d9e394d69..79811dcb98 100644 --- a/slide/Drawing/HtmlPage.js +++ b/slide/Drawing/HtmlPage.js @@ -1502,9 +1502,9 @@ function CEditorPage(api) this.onButtonTabsDraw = function() { var _ctx = this.m_oLeftRuler_buttonsTabs.HtmlElement.getContext('2d'); - _ctx.setTransform(AscCommon.AscBrowser.retinaPixelRatio, 0, 0, AscCommon.AscBrowser.retinaPixelRatio, 0, 0); + _ctx.setTransform(1, 0, 0, 1, 0, 0); - var dPR = window.devicePixelRatio; + var dPR = AscCommon.AscBrowser.retinaPixelRatio; var _width = Math.round(19 * dPR); var _height = Math.round(19 * dPR); @@ -1512,6 +1512,7 @@ function CEditorPage(api) _ctx.lineWidth = Math.round(dPR); _ctx.strokeStyle = GlobalSkin.RulerOutline; + _ctx.strokeRect(2.5 * _ctx.lineWidth, 3.5 * _ctx.lineWidth, Math.round(14 * dPR), Math.round(14 * dPR)); _ctx.beginPath(); From e245f2e5d6b2a7ab471e5907d8e7e62f46909b93 Mon Sep 17 00:00:00 2001 From: AlexeyMatveev686 Date: Fri, 2 Apr 2021 12:33:55 +0300 Subject: [PATCH 115/381] Added missing export --- word/api.js | 1 + 1 file changed, 1 insertion(+) diff --git a/word/api.js b/word/api.js index 0cfe1a401c..c6df140f1a 100644 --- a/word/api.js +++ b/word/api.js @@ -11538,6 +11538,7 @@ background-repeat: no-repeat;\ asc_docs_api.prototype["SetDrawImagePlaceTableOfFigures"] = asc_docs_api.prototype.SetDrawImagePlaceTableOfFigures; asc_docs_api.prototype["SetDrawImagePreviewMargins"] = asc_docs_api.prototype.SetDrawImagePreviewMargins; asc_docs_api.prototype["SetDrawImagePreviewBullet"] = asc_docs_api.prototype.SetDrawImagePreviewBullet; + asc_docs_api.prototype["SetDrawImagePreviewBulletChangeListLevel"] = asc_docs_api.prototype.SetDrawImagePreviewBulletChangeListLevel; asc_docs_api.prototype["asc_RemoveContentControl"] = asc_docs_api.prototype.asc_RemoveContentControl; asc_docs_api.prototype["asc_RemoveContentControlWrapper"] = asc_docs_api.prototype.asc_RemoveContentControlWrapper; From 9deb2d3c3601cc3cceb74045d987034d7d68e2ab Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 2 Apr 2021 14:14:28 +0300 Subject: [PATCH 116/381] Fix bug 49198 (#1758) --- cell/model/DrawingObjects/DrawingDocument.js | 26 +++++--- word/Drawing/DrawingDocument.js | 67 ++++++-------------- 2 files changed, 36 insertions(+), 57 deletions(-) diff --git a/cell/model/DrawingObjects/DrawingDocument.js b/cell/model/DrawingObjects/DrawingDocument.js index f0c443a842..b12ef883f1 100644 --- a/cell/model/DrawingObjects/DrawingDocument.js +++ b/cell/model/DrawingObjects/DrawingDocument.js @@ -581,15 +581,12 @@ function CDrawingDocument() this.DrawMathTrack = function (overlay) { - if (!this.MathTrack.IsActive()) + if (!this.MathTrack.IsActive() || !this.TextMatrix) return; var drawingObjects = this.getDrawingObjects(); - if(!drawingObjects) { + if (!drawingObjects) return; - } - if(!this.TextMatrix) - return; overlay.Show(); var nIndex, nCount; var oPath; @@ -598,6 +595,7 @@ function CDrawingDocument() dKoefX = drawingObjects.convertMetric(1, 3, 0); dKoefY = dKoefX; + var _offX = 0; var _offY = 0; if (this.AutoShapesTrack && this.AutoShapesTrack.Graphics && this.AutoShapesTrack.Graphics.m_oCoordTransform) @@ -605,17 +603,27 @@ function CDrawingDocument() _offX = this.AutoShapesTrack.Graphics.m_oCoordTransform.tx; _offY = this.AutoShapesTrack.Graphics.m_oCoordTransform.ty; } - var oTextMatrix = this.TextMatrix || AscCommon.CMatrix(); + + // Draw methods apply retina scaling. + if (true) + { + var rPR = AscCommon.AscBrowser.retinaPixelRatio; + dKoefX /= rPR; + dKoefY /= rPR; + _offX /= rPR; + _offY /= rPR; + } + for (nIndex = 0; nIndex < PathLng; nIndex++) { oPath = this.MathTrack.GetPolygon(nIndex); - this.MathTrack.Draw(overlay, oPath, 0, 0, "#939393", dKoefX, dKoefY, _offX, _offY, oTextMatrix); - this.MathTrack.Draw(overlay, oPath, 1, 1, "#FFFFFF", dKoefX, dKoefY, _offX, _offY, oTextMatrix); + this.MathTrack.Draw(overlay, oPath, 0, 0, "#939393", dKoefX, dKoefY, _offX, _offY, this.TextMatrix); + this.MathTrack.Draw(overlay, oPath, 1, 1, "#FFFFFF", dKoefX, dKoefY, _offX, _offY, this.TextMatrix); } for (nIndex = 0, nCount = this.MathTrack.GetSelectPathsCount(); nIndex < nCount; nIndex++) { oPath = this.MathTrack.GetSelectPath(nIndex); - this.MathTrack.DrawSelectPolygon(overlay, oPath, dKoefX, dKoefY, _offX, _offY, oTextMatrix); + this.MathTrack.DrawSelectPolygon(overlay, oPath, dKoefX, dKoefY, _offX, _offY, this.TextMatrix); } }; diff --git a/word/Drawing/DrawingDocument.js b/word/Drawing/DrawingDocument.js index fc60a329cc..4f467ff148 100644 --- a/word/Drawing/DrawingDocument.js +++ b/word/Drawing/DrawingDocument.js @@ -3984,64 +3984,35 @@ function CDrawingDocument() this.DrawMathTrack = function (overlay) { - if(!this.MathTrack.IsActive()) - { + if (!this.MathTrack.IsActive()) return; - } + overlay.Show(); var nIndex, nCount; var oPath; var _page, drPage, dKoefX, dKoefY; var PathLng = this.MathTrack.GetPolygonsCount(); - if (null == this.TextMatrix || global_MatrixTransformer.IsIdentity(this.TextMatrix)) - { - for (nIndex = 0; nIndex < PathLng; nIndex++) - { - oPath = this.MathTrack.GetPolygon(nIndex); - - _page = this.m_arrPages[oPath.Page]; - drPage = _page.drawingPage; + var textMatrix = (null == this.TextMatrix || global_MatrixTransformer.IsIdentity(this.TextMatrix)) ? null : this.TextMatrix; - dKoefX = (drPage.right - drPage.left) / _page.width_mm; - dKoefY = (drPage.bottom - drPage.top) / _page.height_mm; + for (nIndex = 0; nIndex < PathLng; nIndex++) + { + oPath = this.MathTrack.GetPolygon(nIndex); + _page = this.m_arrPages[oPath.Page]; + drPage = _page.drawingPage; - this.MathTrack.Draw(overlay, oPath, 0, 0, "#939393", dKoefX, dKoefY, drPage.left, drPage.top); - this.MathTrack.Draw(overlay, oPath, 1, 1, "#FFFFFF", dKoefX, dKoefY, drPage.left, drPage.top); - } - for (nIndex = 0, nCount = this.MathTrack.GetSelectPathsCount(); nIndex < nCount; nIndex++) - { - oPath = this.MathTrack.GetSelectPath(nIndex); - _page = this.m_arrPages[oPath.Page]; - drPage = _page.drawingPage; - dKoefX = (drPage.right - drPage.left) / _page.width_mm; - dKoefY = (drPage.bottom - drPage.top) / _page.height_mm; - this.MathTrack.DrawSelectPolygon(overlay, oPath, dKoefX, dKoefY, drPage.left, drPage.top, null); - } + dKoefX = (drPage.right - drPage.left) / _page.width_mm; + dKoefY = (drPage.bottom - drPage.top) / _page.height_mm; + this.MathTrack.Draw(overlay, oPath, 0, 0, "#939393", dKoefX, dKoefY, drPage.left, drPage.top, textMatrix); + this.MathTrack.Draw(overlay, oPath, 1, 1, "#FFFFFF", dKoefX, dKoefY, drPage.left, drPage.top, textMatrix); } - else + for (nIndex = 0, nCount = this.MathTrack.GetSelectPathsCount(); nIndex < nCount; nIndex++) { - for (nIndex = 0; nIndex < PathLng; nIndex++) - { - oPath = this.MathTrack.GetPolygon(nIndex); - _page = this.m_arrPages[oPath.Page]; - drPage = _page.drawingPage; - - dKoefX = (drPage.right - drPage.left) / _page.width_mm; - dKoefY = (drPage.bottom - drPage.top) / _page.height_mm; - this.MathTrack.Draw(overlay, oPath, 0, 0, "#939393", dKoefX, dKoefY, drPage.left, drPage.top, this.TextMatrix); - this.MathTrack.Draw(overlay, oPath, 1, 1, "#FFFFFF", dKoefX, dKoefY, drPage.left, drPage.top, this.TextMatrix); - } - - - for (nIndex = 0, nCount = this.MathTrack.GetSelectPathsCount(); nIndex < nCount; nIndex++) - { - oPath = this.MathTrack.GetSelectPath(nIndex); - _page = this.m_arrPages[oPath.Page]; - drPage = _page.drawingPage; - dKoefX = (drPage.right - drPage.left) / _page.width_mm; - dKoefY = (drPage.bottom - drPage.top) / _page.height_mm; - this.MathTrack.DrawSelectPolygon(overlay, oPath, dKoefX, dKoefY, drPage.left, drPage.top, this.TextMatrix); - } + oPath = this.MathTrack.GetSelectPath(nIndex); + _page = this.m_arrPages[oPath.Page]; + drPage = _page.drawingPage; + dKoefX = (drPage.right - drPage.left) / _page.width_mm; + dKoefY = (drPage.bottom - drPage.top) / _page.height_mm; + this.MathTrack.DrawSelectPolygon(overlay, oPath, dKoefX, dKoefY, drPage.left, drPage.top, textMatrix); } }; From 8ab2c670fbb4a4ec8f6f916558f2cf3e6f99d349 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Fri, 2 Apr 2021 23:58:31 +0300 Subject: [PATCH 117/381] [bug] Fix bug 49466 --- common/Drawings/Format/ChartFormat.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 6991f3a809..4dd94f0854 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -10810,9 +10810,13 @@ } InitClass(CRadarSeries, CSeriesBase, AscDFH.historyitem_type_RadarSeries); CRadarSeries.prototype.removeDPt = function(idx) { + if(!Array.isArray(this.dPt)) { + return; + } if(this.dPt[idx]) { - this.dPt.setParent(null); - History.CanAddChanges() && History.Add(new CChangesDrawingsContent(this, AscDFH.historyitem_CommonSeries_RemoveDPt, idx, this.dPt.splice(idx, 1), false)); + var arrPt = this.dPt.splice(idx, 1); + History.CanAddChanges() && History.Add(new CChangesDrawingsContent(this, AscDFH.historyitem_CommonSeries_RemoveDPt, idx, arrPt, false)); + arrPt[0].setParent(null); } }; CRadarSeries.prototype.getChildren = function() { @@ -11212,9 +11216,13 @@ } InitClass(CScatterSeries, CSeriesBase, AscDFH.historyitem_type_ScatterSer); CScatterSeries.prototype.removeDPt = function(idx) { + if(!Array.isArray(this.dPt)) { + return; + } if(this.dPt[idx]) { - this.dPt.setParent(null); - History.CanAddChanges() && History.Add(new CChangesDrawingsContent(this, AscDFH.historyitem_CommonSeries_RemoveDPt, idx, this.dPt.splice(idx, 1), false)); + var arrPt = this.dPt.splice(idx, 1); + History.CanAddChanges() && History.Add(new CChangesDrawingsContent(this, AscDFH.historyitem_CommonSeries_RemoveDPt, idx, arrPt, false)); + arrPt[0].setParent(null); } }; CScatterSeries.prototype.fillObject = function(oCopy, oIdMap) { From 055b9d9c4df16e2193aca789e5e833af2ef3b069 Mon Sep 17 00:00:00 2001 From: Alexander Trofimov Date: Sun, 4 Apr 2021 15:49:59 +0300 Subject: [PATCH 118/381] [se] Fix event Fix send events in showWorksheet: disable for assembly, enable in normal and native mode --- cell/view/WorkbookView.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/view/WorkbookView.js b/cell/view/WorkbookView.js index b0531f6402..50c4ae4250 100644 --- a/cell/view/WorkbookView.js +++ b/cell/view/WorkbookView.js @@ -1942,7 +1942,7 @@ ws.objectRender.controller.updateOverlay(); } - if (!window["NATIVE_EDITOR_ENJINE"]) { + if (!window["NATIVE_EDITOR_ENJINE"] || window["IS_NATIVE_EDITOR"]) { this._onSelectionNameChanged(ws.getSelectionName(/*bRangeText*/false)); this._onWSSelectionChanged(); this._onSelectionMathInfoChanged(ws.getSelectionMathInfo()); From ba82579f7cf7e77b2d0083aacbb78105934d2f7c Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Mon, 5 Apr 2021 09:44:53 +0300 Subject: [PATCH 119/381] [se] Fix bug 48890 --- cell/model/WorkbookElems.js | 8 ++++++-- cell/view/WorksheetView.js | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/cell/model/WorkbookElems.js b/cell/model/WorkbookElems.js index da157cd025..d0fc6cdbf6 100644 --- a/cell/model/WorkbookElems.js +++ b/cell/model/WorkbookElems.js @@ -865,8 +865,12 @@ var g_oFontProperties = { oRes.u = this.u || font.u; oRes.va = this.va || font.va; } - if (isTable && isTableColor) { - oRes.c = font.c || this.c; + if (isTable) { + if (isTableColor) { + oRes.c = font.c || this.c; + } else { + oRes.c = this.c; + } } else { oRes.c = this.c || font.c; } diff --git a/cell/view/WorksheetView.js b/cell/view/WorksheetView.js index f05486855a..5309517a65 100644 --- a/cell/view/WorksheetView.js +++ b/cell/view/WorksheetView.js @@ -8740,7 +8740,7 @@ var isNumberFormat = (!cellType || CellValueType.Number === cellType); var cell_info = new asc_CCellInfo(); - cell_info.xfs = c.getXfs(false); + cell_info.xfs = c.getXfs(false).clone(); AscCommonExcel.g_ActiveCell = new Asc.Range(c1, r1, c1, r1); cell_info.text = c.getValueForEdit(true); From 6df6718d85c87e27836240329e46e89d50551846 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Mon, 5 Apr 2021 21:51:39 +0300 Subject: [PATCH 120/381] Fix bug 49460 (#1761) --- build/Gruntfile.js | 1 + common/Images/reporter/buttons.png | Bin 0 -> 676 bytes common/Images/reporter/buttons@1.5x.png | Bin 0 -> 925 bytes common/Images/reporter/buttons@2x.png | Bin 0 -> 1270 bytes common/skin.js | 32 +++++++++++- slide/Drawing/HtmlPage.js | 64 +++++++++++++----------- 6 files changed, 67 insertions(+), 30 deletions(-) create mode 100644 common/Images/reporter/buttons.png create mode 100644 common/Images/reporter/buttons@1.5x.png create mode 100644 common/Images/reporter/buttons@2x.png diff --git a/build/Gruntfile.js b/build/Gruntfile.js index 509941c257..00b474d5ad 100644 --- a/build/Gruntfile.js +++ b/build/Gruntfile.js @@ -420,6 +420,7 @@ module.exports = function(grunt) { 'Images/placeholders/*', 'Images/content_controls/*', 'Images/cursors/*', + 'Images/reporter/*', 'Native/*.js', 'libfont/js/fonts.*', 'libfont/wasm/fonts.*', diff --git a/common/Images/reporter/buttons.png b/common/Images/reporter/buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..78d6aefa62c4183f4bebced6c63d359857836688 GIT binary patch literal 676 zcmV;V0$crwP)It!K8z~1WVWwEWr}q!4V`Zg9=ADj+;+_1mJ;2 zg~;1nB1?=c`J}PHPa9K#FDf!&@XM<6ss8XF%z{RLd>CfIMB@&C&vD9R^A6w>r!tkq zD>-4dns}k-IY}@Jn$-mJAna5=W2SzzI1L6LR^uooV!v!}obst( zwl~fpuRf^c^B^z$u$otbkdS>A1e3bYgNfR6gP_UkK3~I68fjq-KW(P@uYB;c^eZ3! z7+3b;H(_ZXejDCPWdOGJ)&RMlf8Dy~FT*P`}O$%JW8tJyFO_UJYa z_UJYV&Z2g+sCXJp<6w`bwP0BcmX%=Twm9Y6bjtmrodpLM?Q3jb+BVI7VcYcBEI5q4 z<>(a>3oIty=Wf;Xrk?A`^L^NJ^kjPfNx57u zi+qlk&(lYYrz>~`|3|^g<+3VKXh>mWz+|zh#f^cCFC%jfv#&De*zng#oN)8E#HoVF zgFxhgNa2J<)rZ08L)9|6z9Iktkv6!#B7i~F#;Jx#03Z(T!=`EgFskZk$_J6aF`e>Z zGn5BA|7N4uSYje@k@C5}E;K01FZ~{EIU;|9J zQ1_neiQ8*D!(Zdsfi=}D{Hb2Wsnh-(s|CaI#^YI1N}QP6O77vm4fl(}Q*5?1pvXJj&^MKXEoW z^?u@P$I6Mb34cCuIfD zzxQ)&>|7cC&XxVWdV#-JFDLkRI?wlU{5#PvilS)405fhJU`No!Nz%au6A#QLOg=b! z@aro0LRVCUUmh&{+6@c8+OSsKfVJWdEZl&FJFv#hfHiI&tZ_47jhhE++zeRbX2W-k zHhkyk!4LR<)enBT!?hsU!?iGZ!%0iOd`(B7mSi!ezMLL8g zu6%E0I>zo0sB5p#Vs|RFAE8(9!?iZym7i+fJAjpItg-`Zji|Ok%z}i33Hl^g;f-ox zV&X)VQBCVR;nkv-L94LVcfvC+d{vGfZZ!_+*a4R+Y25VTN#O#m@T;4Cq^fYy3ga1X ze6^!m2BB3>NSL8dwkn*dCMG7%R9kDSWaSzfTV<^Qjq*n}qY*Pdl~1{4iq73H{ff@c zOTTKspXZYoWQ^#D1OGgqyfDZADI$vgj@AGG-z9Yj91Io<00000NkvXXu0mjfKLWg` literal 0 HcmV?d00001 diff --git a/common/Images/reporter/buttons@2x.png b/common/Images/reporter/buttons@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..08e6cb5bea7e1147299a42159a01b391e063c9bc GIT binary patch literal 1270 zcmeAS@N?(olHy`uVBq!ia0vp^0YLnLg9S+1vS^=RU|`wn>Eakt!T9#>#opNtBCQXD z4^464jAl~3aPZQ>ON=E6rPTw5-CwxK;% z?56e9)X1<8y$2#BepSkv2_$ZO?54EF|4o9-g!y+)T0G!g1^vfP;<5yrhG0*yBue<|G0h^;uKm&(Dx}0qUgM7pX21lJ0ja4T4TKsalD<(?K z`gMRU$(`SY;pf5LC+Flk80s1o=DjG8yVdaL(Z$KKDo3})=yN>ko5h~;(7gZE^PLCQ z@xA46VYqp9p=@J0n-^=jz!4dnvzRrG zOm*MPIYmt1NSEG=pzR+rQkNfob>;fPcZ>4GUImmN*nL0G)B6MO>qAn9q?+@8y6=5j z|61R-s+Y5;_1W{($Y~&Slb5yeH5>` zui~cjU)ifCuTdTA=y3D(r^a2^ugZP3xcfS*%e=zO8?>>{4 zUk|Px+(wiAq6z=F`(qjy7JaH& z^eG1i$<%S`bEler)RgDKwe!r5|NAJFzRAq})07vVYZjf0nR(GJf1>2u&n0fZZRTE7 zv{C(Kqk79`{tBDfE8yfFjz^33Jp25-W$DL1tc8Z><_n5Ft^p?+kSm|<=V+?Bq2IJ% z+5r|dgGNrD1Sa7bVCF?=(u$lWDe4ok5t!;D3=eg+3Ww*}R24ntSj|}dM0$rsL4OVN zbzU2LgXsUeV?Wg&{q|?aLc?=cwmds8eXu*(!C9vAYQwT^-VgdNG2E%RdhXM!^ZCyG zObG#I%f##Jq^rdmnm0wqZP>`QenFekk@-K4?*Oun0a@#LKPaSEE!=N(;8W$B|4a67 z+r3n@yqsI8d;i}sg`E!5xNANOe6Py=`S{G|rHa$eKR$5Z_I}1BANBRZS}$7NdvgCD zjg417awx7MXQ!I@n+HcP8a?MKkK4L%d@F`$<#^CAd=d#Wzp$Pyesd173 literal 0 HcmV?d00001 diff --git a/common/skin.js b/common/skin.js index c0280c9355..f88374a399 100644 --- a/common/skin.js +++ b/common/skin.js @@ -112,6 +112,17 @@ var EditorSkins = { SplitterWidthMM : 1, ThumbnailScrollWidthNullIfNoScrolling : false, + // demonstration + DemBackgroundColor : "#F0F0F0", + DemButtonBackgroundColor : "#FFFFFF", + DemButtonBackgroundColorHover : "#D8DADC", + DemButtonBackgroundColorActive : "#7D858C", + DemButtonBorderColor : "#CFCFCF", + DemButtonTextColor : "#444444", + DemButtonTextColorActive : "#FFFFFF", + DemSplitterColor : "#CBCBCB", + DemTextColor : "#666666", + /* spreadsheets */ //TODO названия не менял. использую такие же как и были ранее. пересмотреть! Background : "#F0F0F0", @@ -213,6 +224,17 @@ var EditorSkins = { SplitterWidthMM : 1, ThumbnailScrollWidthNullIfNoScrolling : false, + // demonstration + DemBackgroundColor : "#666666", + DemButtonBackgroundColor : "#333333", + DemButtonBackgroundColorHover : "#555555", + DemButtonBackgroundColorActive : "#DDDDDD", + DemButtonBorderColor : "#CFCFCF", + DemButtonTextColor : "#FFFFFF", + DemButtonTextColorActive : "#333333", + DemSplitterColor : "#CBCBCB", + DemTextColor : "#FFFFFF", + /* spreadsheets */ Background : "#666666", BackgroundActive : "#939393", @@ -255,7 +277,6 @@ var GlobalSkin = EditorSkins["flat"]; function updateGlobalSkin(obj) { - console.log(obj); if (!obj) return; if (typeof obj === "string" && undefined !== EditorSkins[obj]) @@ -316,6 +337,15 @@ function updateGlobalSkin(obj) if (obj["SupportNotes"]) GlobalSkin.SupportNotes = obj["SupportNotes"]; if (obj["SplitterWidthMM"]) GlobalSkin.SplitterWidthMM = obj["SplitterWidthMM"]; if (obj["ThumbnailScrollWidthNullIfNoScrolling"]) GlobalSkin.ThumbnailScrollWidthNullIfNoScrolling = obj["ThumbnailScrollWidthNullIfNoScrolling"]; + if (obj["DemBackgroundColor"]) GlobalSkin.DemBackgroundColor = obj["DemBackgroundColor"]; + if (obj["DemButtonBackgroundColor"]) GlobalSkin.DemButtonBackgroundColor = obj["DemButtonBackgroundColor"]; + if (obj["DemButtonBackgroundColorHover"]) GlobalSkin.DemButtonBackgroundColorHover = obj["DemButtonBackgroundColorHover"]; + if (obj["DemButtonBackgroundColorActive"]) GlobalSkin.DemButtonBackgroundColorActive = obj["DemButtonBackgroundColorActive"]; + if (obj["DemButtonBorderColor"]) GlobalSkin.DemButtonBorderColor = obj["DemButtonBorderColor"]; + if (obj["DemButtonTextColor"]) GlobalSkin.DemButtonTextColor = obj["DemButtonTextColor"]; + if (obj["DemButtonTextColorActive"]) GlobalSkin.DemButtonTextColorActive = obj["DemButtonTextColorActive"]; + if (obj["DemSplitterColor"]) GlobalSkin.DemSplitterColor = obj["DemSplitterColor"]; + if (obj["DemTextColor"]) GlobalSkin.DemTextColor = obj["DemTextColor"]; if (obj["Background"]) GlobalSkin.Background = obj["Background"]; if (obj["Border"]) GlobalSkin.Border = obj["Border"]; diff --git a/slide/Drawing/HtmlPage.js b/slide/Drawing/HtmlPage.js index 79811dcb98..56cba457eb 100644 --- a/slide/Drawing/HtmlPage.js +++ b/slide/Drawing/HtmlPage.js @@ -608,36 +608,42 @@ function CEditorPage(api) _ctrl.Anchor = (g_anchor_left | g_anchor_right | g_anchor_bottom); this.m_oDemonstrationDivParent.AddControl(_ctrl); + var _images_url = "../../../../sdkjs/common/Images/reporter/"; var _head = document.getElementsByTagName('head')[0]; var styleContent = ".block_elem_no_select { -khtml-user-select: none; user-select: none; -moz-user-select: none; -webkit-user-select: none; }"; - styleContent += ".back_image_buttons { position:absolute; left: 0px; top: 0px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAB4CAQAAAAEPFmDAAAEQElEQVR4Ae2XQWtUVxiGr2JiTE3ENGgrKJYmm6gCsYBIEsA+hcjYwnSjSagrvYBb951xnV0ghEj2oroPtAEF7Gb+QiBBEqAmPyGGt4ePXrhM7nxnoKQDcp6PO3xneOHhnJl7OCdL/K8kmGAdxXOa0Lq6yHGee+Sx0CjL7PMsJtaolrWvZzExA0zxiJuumP4g3A/i0dDLkfYH4X4Qh5wn5mQQPgrigSxzxNTZZJ2JzEBYVWjr2tS6/s3JqNJzlYfc43xmkFsd1fOCQ+ayNo6K9UKHOpI7KmaGJ4xlbVSJB1lih9moeFBL2tFsVHyKOyxwOSY2uMs2qww5S23orra1qiFnqQ0uMcc0fc5SFzDMGlvM2FwdNKw1bSnk5OboZybIv7W5xqDGLouu2FBNu1pUNMcVFrht4hiM8MrEETSiVyaOwGkwcSKRSHxJIF4yEs9JeqkucuT8yOnuxIvsUutCvKhd1eJibrPAlS7E4ZlmizWGfXF4prWlNQ374vB8wxwz9HdUYmX9EKtsc7daKcP6Ia1qW+25I2cs+pgO8ksdxG3jWXZY4kzsdKVZ7WhJZ2KnKy6zwB1O+WKDOQ5ZccWG5nSoFVdsMMYTprylLu4Sm9TdpS7uEpuqu0td3CUectX/cxV3if7In6u4Szg58tJd4qT/Oj1lz+4SLpKeai+IIzlyJoq7hAuyu0QUqbhLRMV2l0gkEonjArFCXzwnaUVd5MiZ6rRDt399Kfsztk8XOXWT+yqrMdCNuJ79lbW4mcWwnOK5P7K/s3r0+Ijs8wGf+NVfavt8oE9yc+T2+T2/8V1MbDDJRxqccMSGJvVRDZ1wxAajzHMrJja4wAfectYRG7qgD3qrs47Y4Ay/8BN9vtjgInu8ccWGLmpPb2JiUz+CmLg4Yw5GxMUZc9ARe2fMgtipuiB2qi7wT9W9vUf0/ObEa762NiZ+rWjOxDCQJRKJxDHCNX9coGv+uIDz7riAG3zm99K4EcY3KrQ39FmlnBphXJFjhCdMlsa3wnikWv0cmdq0iGZWiZ5LpjatpA45fiA3tWnJneOPqRuetqRuuNpCbTpfa9BEvHO1hpqS3rlaw5T3Y1rDtO+yKKbtImfa+/FYA/HeFtzFFvm9LXh8xj9HZ1z8tjR9dfHbqumrTRv/jWma1vDUprOcry7pHLW9x2UVTec9LnKmdt5jU8Xf4+td7lzXu9y5RvydK5FIJP47CKFyV42MclcNOaHKnXcxV9F5YnuKzhHbU3RJnMRJfHziHmwgiUQi8QXAPC0OQrWY93KaV0sHoVpyc4xR53GoOmNebBmVarmjdlllOuaYIi/VVOfZqq3mO8y2nfkOs83bqnrWtEy2wXioDetbleKWyTY0HmrD+socdZPVOBeqZn29WnxgsnHrx60/qBQfmMxyGre+Msdjk52z/pz1j3sm7uVS9/7P1fvXqRcbSCJxDPwD2RsvhewoOKQAAAAASUVORK5CYII=') }"; - - styleContent += "@media all and (-webkit-min-device-pixel-ratio : 1.5),\ - all and (-o-min-device-pixel-ratio: 3/2),\ - all and (min--moz-device-pixel-ratio: 1.5),\ - all and (min-device-pixel-ratio: 1.5) {\n\ - \ - .back_image_buttons { position:absolute; left: 0px; top: 0px; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAADwCAQAAABhjmjsAAAJJklEQVR4Ae3bA5RdaboG4KcqlWrbxDCoNUkLyai1x7Ztm6hkbLM1to09iNadGPdGbTteuUGl+tT1f3Vq9k7932X+txX1u74n69usnB57WAr4f2cKuIALuIALuIAL+MJJPuYhcb9NdXBfdYhznICLjA6+UMscbqYX6Yvaizq4r9rbGSboJQLc75Xe4WDDLvKy/AHr4L6q14DT9OtYa1I++LE+7B74jddbbSR3wDq4rzrZOQ7Ejebb6EV54FN93LlY7fV+A3kD1sF91eHOcSw2mu9GyAEf472eo9c6gy4yTN6AdXBfta8z3UuPHRZbq0MOuN8rDTrAkM94r02kjIzlPF8H9qWj9nTjday01BCQwEi5qAU4HbU/9iZXQd6AdXBfOmqvM98WyACno3aZ15lllLRfxzq4Lx2168x3S0Pfi9qAX+7D9rXdY/2WAHBwXzXZ2foM+52biABzL19zthFf8EbbcgekDu6rDnKeI7HafMMRYPq8yaB+V3q2P+cOSB3cV/Wa4nS9Npvl9ggwTPFVU9zlowbtzD2rUgf3VYc512FGrLDEXblnaaDfoDfps9KzLMsdkDq4r+p1uil6bTDLuggwnO0rJtjlvd5vOOBOK7ivOtK5Dtax1HIdyL21ZF8f9Ao9FnmWtbkDUgf3VX3OMoA7/cmmCDCc7zIn2e5tPu2ugKel4L7qWOfa37BFVnphBJgDfdzzMdsD8wekDu6r+p1jAm51TAwYHu5ix8S9GKqD+6oTPcC+xIE51Oc9OfAVT3BftZf7uXsz+P9xCriAC7iAC7iAC7iAC7iAC7iAC7iAC7iAC3gE3/FyG4SkDu6rXoSrzbMzEsytXuiXIeDAvgRmmzluCAKnN8eXep0tAeCYvgROb6LXmm8oBjzOq3zA3q73PH8MAAf1JfDFBpxlnK1muSUC3INJvuoMIz7jLbZngAP7EvgiHOJcR2ClhYYjwPR5m3cYb63nWJABDu1LYHpNdZpem8xyRztw89drT/U1A4Z92ExDrZHBfdXoX/893LkO1bHCEp0IMHuZ6Q3GWeHZVrQER/U1gxnndFP0WG+W9e3B9Bg903zNPQyZ6cOGW4BD+9Iaj56jnOdAHUus0IkAs5+PeIkeCzzb5Y3g2L5mMH3OMQl3mGVTBBge6sf2ss2bfK4BHNzXAgwneJBxhi2wKgJ8rk+aglleZ1kDOLivFfhY0xyGW8y3LuekBffwYY/FNd7gxxpTx/U1n7TgQOc4GVvMdx3kgA/2Dq/Ub6sP+rjttADH9TWD+51mQK9dlvsbwzk3HvR5kZkO1/EV73CrMaTO6mtY714TnGFvI66wyDbIAT/Ex0xqOMqawcF9CcwJznFIOmqRA/6XD9tc5U1+LCN1aF8C/8uHd9JRmwf+vBfps8l7fcYQWeDAvgRebYJeQ5ZaqUM+mGEXGbROdurAvgSmY63FdkA2OH3YJiR1VF8Cpw/vlJd4BVzABVzABVzABVzABVzABVzABVzABVzAChiM4CtebpuQ1MF91YtwhXmGI8Gs9GSrQ8CBfQnMBn+wMQ682iTbvNxXAsCBfQm80SGGzXNFFHg/n/OcmFWsA/sS+DL3c6+02gHgHjzH5+ybv4p1cF/62tK93E9fWu0AMAO+m7+KdXBfAnOoC9Jqh4DZN38V6+C+BIa+LqudBUZaxadYlQEO6OsC1mW188D5q1g39OWBu6x2ADhrFeuAvgZwl9XOAOeuYh3Q1wDustoZ4NxVrPP6GsANq50Jnuh7BgLBqS8IfLALHZrAQSu9xpOsDFzp1Be00pv83oZy0tpN8CTfNZBxWWroywYf4gKHBlyW8lYvgWP7ErhhlcutZQM4f/USOLIvgbutchY4f/USOLQvgRtWubwAaACvzF+9BA7sS+ANDo19xcNqT7aSAHBgXwKz0R9sUF7TlhfxBVzABVzABVzABVzABVzABVzABVzABVzA09zfh42eN5ljvtapg/uqoxxthdEzxa3uaA+e5tcOMsNM3TNohs0e6s8tuWF9iftQ/ZZYontOd7ohv3Z7W/DbvA/SiP95PHi797cEB/dVpzoTEvk/c2GRZW3BzDCYRuw+3kwztE4d3Ff9A6o7efSfSeBGcu54UIf0NZAbuAncTM4dD+qAvgZyAzeB25Bzx4O6oS+P3MBN4LZkueNB3dCXQdbATeC2ZPnjQR3cl8gkbh44kSPGgzq0L5ETNxOcjrV07GWDg/uCwYkbNGId3Be90ulMisH8EeuovviTVpfr5IzcEeuAvsDLUgNX7oh1QF/kjUcDN3fEOqAv8taygZs7Yh3aF//w8FbvRxpvlBHf5gMtucF91VRntXg8XGh5W/B0v3JQGq/7iJs9zF+1BMf1xb8ASOT7+5DR82Zz244HdVhfIh9judEz1a1uLy/xCvj/dQq4gAu4gAu4gAu4gAu4gAu4gAu4gAu4gHtHSOkBdPuxlvltcN+Dx9TX8yCjZo8E96T/jvZj7cHBfQ9u7CvgAi7gAi7gAi7gAi7gAi7gAi7gAi4vAAp4D0gBF3ABF3ABF3ABF3ABF3ABF3ABF3AB7wEp4ALu7O9pHuM+jsLt/tpPfMtWY04d3FeNdw8nO9Q+2G6D61xl19j/JN7zfdDhQMo6b3XJGLnBfdUEZ9kbSNlhobVjAfe71DN0zzc9z9BuYoP7ql4PdE/dc5VZOrsL/noar/uIz9hNcHBfdV7idif/cffAz29csxe6RHtucF81wQP85cyxtj14f9c6vKFwnVNsbckN7qvGe6q9/eXs8G272oJf5Euk3OjtalTe60RSXuyiluDgvmqi+5Oy1SI34zhn2p+Uuda0Bf/Sw0jjnel2wFEWSiP6lYe3BAf3VQ9xIon7Y9sB+3isRHaD37QF3+Q4AM/ydVKe6WsAbnZ8S3BwX/V0+wH4kyuluKfzAPytb7YF79IH4Bi3SXFU+h7DxrcEB/dVL9AL4Bu2SbGPZwLouKSAy0oDv/LQFieZX3tYS3BwX/VQJ7Q4ad3o12O7LN3gHX6HBwVdllJf4GXpJhw/2mWp3HiUW8vmh4dveGbow0PqC3p4uNKfIh8Pv+H5oY+HqS/o8fBKs3XiXgC8xaXGlDqwL/4FALBnvOIpny4t4AIu4AIu4AIu4AIOyN8BqEAas3b9nocAAAAASUVORK5CYII=');background-size: 60px 120px; }\ - \ - }"; - + styleContent += ".back_image_buttons { position:absolute; left: 0px; top: 0px; background-image: url('" + _images_url + "buttons.png') }"; + + styleContent += "@media all and (-webkit-min-device-pixel-ratio : 1.5),all and (-o-min-device-pixel-ratio: 3/2),all and (min--moz-device-pixel-ratio: 1.5),all and (min-device-pixel-ratio: 1.5) {\n\ + .back_image_buttons { position:absolute; left: 0px; top: 0px; background-image: url('" + _images_url + "buttons@1.5x.png');background-size: 40px 120px; }\ + }"; + styleContent += "@media all and (-webkit-min-device-pixel-ratio : 2),all and (-o-min-device-pixel-ratio: 2),all and (min--moz-device-pixel-ratio: 2),all and (min-device-pixel-ratio: 2) {\n\ + .back_image_buttons { position:absolute; left: 0px; top: 0px; background-image: url('" + _images_url + "buttons@2x.png');background-size: 40px 120px; }\ + }"; + + var xOffset1 = "0"; + var xOffset2 = "-20"; + if (AscCommon.GlobalSkin.Name === "flatDark") + { + xOffset1 = "-20"; + xOffset2 = "0"; + } styleContent += ""; - styleContent += ".btn-text-default { position: absolute; background: #fff; border: 1px solid #cfcfcf; border-radius: 2px; color: #444444; font-size: 11px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; height: 22px; cursor: pointer; }"; - styleContent += ".btn-text-default-img { background-repeat: no-repeat; position: absolute; background: transparent; border: none; color: #444444; font-size: 11px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; height: 22px; cursor: pointer; }"; - styleContent += ".btn-text-default-img:focus { outline: 0; outline-offset: 0; } .btn-text-default-img:hover { background-color: #d8dadc; }"; - styleContent += ".btn-text-default-img:active, .btn-text-default.active { background-color: #7d858c !important; color: white; -webkit-box-shadow: none; box-shadow: none; }"; - styleContent += ".btn-text-default:focus { outline: 0; outline-offset: 0; } .btn-text-default:hover { background-color: #d8dadc; }"; - styleContent += ".btn-text-default:active, .btn-text-default.active { background-color: #7d858c !important; color: white; -webkit-box-shadow: none; box-shadow: none; }"; - styleContent += ".separator { margin: 0px 10px; height: 19px; display: inline-block; position: absolute; border-left: 1px solid #cbcbcb; vertical-align: top; padding: 0; width: 0; box-sizing: border-box; }"; - styleContent += ".btn-play { background-position: 0px -40px; } .btn-play:active { background-position: -20px -40px; }"; - styleContent += ".btn-prev { background-position: 0px 0px; } .btn-prev:active { background-position: -20px 0px; }"; - styleContent += ".btn-next { background-position: 0px -20px; } .btn-next:active { background-position: -20px -20px; }"; - styleContent += ".btn-pause { background-position: 0px -80px; } .btn-pause:active { background-position: -20px -80px; }"; - styleContent += ".btn-pointer { background-position: 0px -100px; } .btn-pointer-active { background-position: -20px -100px; }"; - styleContent += ".btn-pointer:active { background-position: -20px -100px; }"; - styleContent += ".btn-text-default-img2 { background-repeat: no-repeat; position: absolute; background-color: #7d858c; border: none; color: #7d858c; font-size: 11px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; height: 22px; cursor: pointer; }"; + styleContent += (".btn-text-default { position: absolute; background: " + AscCommon.GlobalSkin.DemButtonBackgroundColor + "; border: 1px solid " + AscCommon.GlobalSkin.DemButtonBorderColor + "; border-radius: 2px; color: " + AscCommon.GlobalSkin.DemButtonTextColor + "; font-size: 11px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; height: 22px; cursor: pointer; }"); + styleContent += ".btn-text-default-img { background-repeat: no-repeat; position: absolute; background: transparent; border: none; height: 22px; cursor: pointer; }"; + styleContent += (".btn-text-default-img:focus { outline: 0; outline-offset: 0; } .btn-text-default-img:hover { background-color: " + AscCommon.GlobalSkin.DemButtonBackgroundColorHover + "; }"); + styleContent += (".btn-text-default-img:active, .btn-text-default.active { background-color: " + AscCommon.GlobalSkin.DemButtonBackgroundColorActive + " !important; -webkit-box-shadow: none; box-shadow: none; }"); + styleContent += (".btn-text-default:focus { outline: 0; outline-offset: 0; } .btn-text-default:hover { background-color: " + AscCommon.GlobalSkin.DemButtonBackgroundColorHover + "; }"); + styleContent += (".btn-text-default:active, .btn-text-default.active { background-color: " + AscCommon.GlobalSkin.DemButtonBackgroundColorActive + " !important; color: " + AscCommon.GlobalSkin.DemButtonTextColorActive + "; -webkit-box-shadow: none; box-shadow: none; }"); + styleContent += (".separator { margin: 0px 10px; height: 19px; display: inline-block; position: absolute; border-left: 1px solid " + AscCommon.GlobalSkin.DemSplitterColor + "; vertical-align: top; padding: 0; width: 0; box-sizing: border-box; }"); + styleContent += (".btn-play { background-position: " + xOffset1 + "px -40px; } .btn-play:active { background-position: " + xOffset2 + "px -40px; }"); + styleContent += (".btn-prev { background-position: " + xOffset1 + "px 0px; } .btn-prev:active { background-position: " + xOffset2 + "px 0px; }"); + styleContent += (".btn-next { background-position: " + xOffset1 + "px -20px; } .btn-next:active { background-position: " + xOffset2 + "px -20px; }"); + styleContent += (".btn-pause { background-position: " + xOffset1 + "px -80px; } .btn-pause:active { background-position: " + xOffset2 + "px -80px; }"); + styleContent += (".btn-pointer { background-position: " + xOffset1 + "px -100px; } .btn-pointer-active { background-position: " + xOffset2 + "px -100px; }"); + styleContent += (".btn-pointer:active { background-position: " + xOffset2 + "px -100px; }"); + styleContent += (".btn-text-default-img2 { background-repeat: no-repeat; position: absolute; background-color: " + AscCommon.GlobalSkin.DemButtonBackgroundColorActive + "; border: none; color: #7d858c; font-size: 11px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; height: 22px; cursor: pointer; }"); styleContent += ".btn-text-default-img2:focus { outline: 0; outline-offset: 0; }"; styleContent += ".btn-text-default::-moz-focus-inner { border: 0; padding: 0; }"; styleContent += ".btn-text-default-img::-moz-focus-inner { border: 0; padding: 0; }"; @@ -662,17 +668,17 @@ function CEditorPage(api) } var _buttonsContent = ""; - _buttonsContent += ""; + _buttonsContent += ""; _buttonsContent += ""; - _buttonsContent += (""); - _buttonsContent += (""); + _buttonsContent += (""); + _buttonsContent += (""); _buttonsContent += ""; _buttonsContent += ""; _buttonsContent += "

"; - _buttonsContent += ""; + _buttonsContent += ""; _buttonsContent += "
"; From be2b3575a39740ba0f0d5c803ffde205f11c4335 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 6 Apr 2021 11:59:26 +0300 Subject: [PATCH 121/381] Fix/theme obj (#1762) * Change theme objects * Spaces... --- common/device_scale.js | 2 ++ common/skin.js | 58 ++++++++++++++++++-------------- slide/Drawing/DrawingDocument.js | 4 +-- slide/Drawing/HtmlPage.js | 2 +- 4 files changed, 37 insertions(+), 29 deletions(-) diff --git a/common/device_scale.js b/common/device_scale.js index f5631c4d25..36ef505dfa 100644 --- a/common/device_scale.js +++ b/common/device_scale.js @@ -33,6 +33,8 @@ "use strict"; (function (window, undefined) { var supportedScaleValues = [1, 1.5, 2]; + if (window["AscDesktopEditor"] && window["AscDesktopEditor"]["GetSupportedScaleValues"]) + supportedScaleValues = window["AscDesktopEditor"]["GetSupportedScaleValues"](); // uncomment to debug all scales //supportedScaleValues = []; diff --git a/common/skin.js b/common/skin.js index f88374a399..ae89395a3b 100644 --- a/common/skin.js +++ b/common/skin.js @@ -37,8 +37,9 @@ // если хочется скрыть - то везде GlobalSkin => AscCommon.GlobalSkin var EditorSkins = { - "flat" : { - Name : "flat", + "theme-light" : { + Name : "theme-light", + Type : "light", RulersButton : false, NavigationButtons : false, @@ -77,7 +78,7 @@ var EditorSkins = { STYLE_THUMBNAIL_HEIGHT : 38, isNeedInvertOnActive : false, - ContentControlsBack : "#F1F1F1", + ContentControlsBack : "#F1F1F1", ContentControlsHover : "#D8DADC", ContentControlsActive : "#7C838A", ContentControlsText : "#444444", @@ -102,7 +103,7 @@ var EditorSkins = { ThumbnailsPageNumberText : "#000000", ThumbnailsPageNumberTextActive : "#000000", ThumbnailsPageNumberTextHover : "#000000", - BackgroundColorNotes : "#F0F0F0", + BackgroundColorNotes : "#F0F0F0", THEMES_THUMBNAIL_WIDTH : 85, THEMES_THUMBNAIL_HEIGHT : 38, @@ -113,15 +114,15 @@ var EditorSkins = { ThumbnailScrollWidthNullIfNoScrolling : false, // demonstration - DemBackgroundColor : "#F0F0F0", - DemButtonBackgroundColor : "#FFFFFF", - DemButtonBackgroundColorHover : "#D8DADC", - DemButtonBackgroundColorActive : "#7D858C", - DemButtonBorderColor : "#CFCFCF", - DemButtonTextColor : "#444444", - DemButtonTextColorActive : "#FFFFFF", - DemSplitterColor : "#CBCBCB", - DemTextColor : "#666666", + DemBackgroundColor : "#F0F0F0", + DemButtonBackgroundColor : "#FFFFFF", + DemButtonBackgroundColorHover : "#D8DADC", + DemButtonBackgroundColorActive : "#7D858C", + DemButtonBorderColor : "#CFCFCF", + DemButtonTextColor : "#444444", + DemButtonTextColorActive : "#FFFFFF", + DemSplitterColor : "#CBCBCB", + DemTextColor : "#666666", /* spreadsheets */ //TODO названия не менял. использую такие же как и были ранее. пересмотреть! @@ -149,8 +150,9 @@ var EditorSkins = { EditorBorder : "#cbcbcb" }, - "flatDark" : { - Name : "flatDark", + "theme-dark" : { + Name : "theme-dark", + Type : "dark", RulersButton : false, NavigationButtons : false, @@ -214,7 +216,7 @@ var EditorSkins = { ThumbnailsPageNumberText : "#FFFFFF", ThumbnailsPageNumberTextActive : "#FFFFFF", ThumbnailsPageNumberTextHover : "#FFFFFF", - BackgroundColorNotes : "#666666", + BackgroundColorNotes : "#666666", THEMES_THUMBNAIL_WIDTH : 85, THEMES_THUMBNAIL_HEIGHT : 38, @@ -225,15 +227,15 @@ var EditorSkins = { ThumbnailScrollWidthNullIfNoScrolling : false, // demonstration - DemBackgroundColor : "#666666", - DemButtonBackgroundColor : "#333333", - DemButtonBackgroundColorHover : "#555555", - DemButtonBackgroundColorActive : "#DDDDDD", - DemButtonBorderColor : "#CFCFCF", - DemButtonTextColor : "#FFFFFF", - DemButtonTextColorActive : "#333333", - DemSplitterColor : "#CBCBCB", - DemTextColor : "#FFFFFF", + DemBackgroundColor : "#666666", + DemButtonBackgroundColor : "#333333", + DemButtonBackgroundColorHover : "#555555", + DemButtonBackgroundColorActive : "#DDDDDD", + DemButtonBorderColor : "#CFCFCF", + DemButtonTextColor : "#FFFFFF", + DemButtonTextColorActive : "#333333", + DemSplitterColor : "#CBCBCB", + DemTextColor : "#FFFFFF", /* spreadsheets */ Background : "#666666", @@ -273,7 +275,7 @@ function setter_from_interface(obj) } */ -var GlobalSkin = EditorSkins["flat"]; +var GlobalSkin = EditorSkins["theme-light"]; function updateGlobalSkin(obj) { @@ -285,6 +287,10 @@ function updateGlobalSkin(obj) } else { + if (obj["name"] && undefined !== EditorSkins[obj["name"]]) + GlobalSkin = EditorSkins[obj["name"]]; + + // TODO: переделать на имена интерфейса if (obj["Name"]) GlobalSkin.Name = obj["Name"]; if (obj["RulersButton"]) GlobalSkin.RulersButton = obj["RulersButton"]; if (obj["NavigationButtons"]) GlobalSkin.NavigationButtons = obj["NavigationButtons"]; diff --git a/slide/Drawing/DrawingDocument.js b/slide/Drawing/DrawingDocument.js index 9183e1017d..e8ad996f01 100644 --- a/slide/Drawing/DrawingDocument.js +++ b/slide/Drawing/DrawingDocument.js @@ -1014,7 +1014,7 @@ function CDrawingDocument() return "rgb(" + this.TargetCursorColor.R + "," + this.TargetCursorColor.G + "," + this.TargetCursorColor.B + ")"; // check dark theme - if (AscCommon.GlobalSkin.Name !== "flatDark" || (this.TargetCursorColor.R > 10 || this.TargetCursorColor.R > 10 || this.TargetCursorColor.R > 10)) + if (AscCommon.GlobalSkin.Type !== "dark" || (this.TargetCursorColor.R > 10 || this.TargetCursorColor.R > 10 || this.TargetCursorColor.R > 10)) return "rgb(" + this.TargetCursorColor.R + "," + this.TargetCursorColor.G + "," + this.TargetCursorColor.B + ")"; return "rgb(" + (255 - this.TargetCursorColor.R) + "," + (255 - this.TargetCursorColor.G) + "," + (255 - this.TargetCursorColor.B) + ")"; }; @@ -6005,7 +6005,7 @@ function CNotesDrawer(page) g.init(ctx, w_px, h_px, w_mm, h_mm); g.m_oFontManager = this.fontManager; - if (AscCommon.GlobalSkin.Name === "flatDark") + if (AscCommon.GlobalSkin.Type === "dark") { g.darkModeOverride(); } diff --git a/slide/Drawing/HtmlPage.js b/slide/Drawing/HtmlPage.js index 56cba457eb..3c8ac11376 100644 --- a/slide/Drawing/HtmlPage.js +++ b/slide/Drawing/HtmlPage.js @@ -623,7 +623,7 @@ function CEditorPage(api) var xOffset1 = "0"; var xOffset2 = "-20"; - if (AscCommon.GlobalSkin.Name === "flatDark") + if (AscCommon.GlobalSkin.Type === "dark") { xOffset1 = "-20"; xOffset2 = "0"; From dfb8815931520781a2ba5dcc0068162e655ce7a7 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 6 Apr 2021 13:16:42 +0300 Subject: [PATCH 122/381] Feature/version method (#1763) * Add GetVersion method to Api * Add optional property to plugin config: minVersion --- common/apiBase.js | 8 +++++++- common/apiBase_plugins.js | 9 +++++++++ common/plugins/plugin_base_api.js | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/common/apiBase.js b/common/apiBase.js index 598956e1b4..47b3ae8c6a 100644 --- a/common/apiBase.js +++ b/common/apiBase.js @@ -3284,8 +3284,14 @@ baseEditorsApi.prototype.asc_setSkin = function(obj) { }; + //---------------------------------------------------------version---------------------------------------------------- + baseEditorsApi.prototype["GetVersion"] = baseEditorsApi.prototype.GetVersion = function() + { + var ver = "@@Version"; + return (ver === "0.0.0" || ver.substr(2) === "Version") ? "develop" : ver; + }; //----------------------------------------------------------addons---------------------------------------------------- - baseEditorsApi.prototype["asc_isSupportFeature"] = function(type) + baseEditorsApi.prototype["asc_isSupportFeature"] = function(type) { return (window["Asc"] && window["Asc"]["Addons"] && window["Asc"]["Addons"][type] === true) ? true : false; }; diff --git a/common/apiBase_plugins.js b/common/apiBase_plugins.js index e063873358..d889f48289 100644 --- a/common/apiBase_plugins.js +++ b/common/apiBase_plugins.js @@ -146,6 +146,15 @@ var Api = window["AscCommon"].baseEditorsApi; + /** + * Get version of editor + * @memberof Api + * @typeofeditors ["CDE", "CSE", "CPE"] + * @alias GetVersion + * @returns {string} version + */ + Api.prototype["pluginMethod_GetVersion"] = function() { return this.GetVersion(); }; + /** * Adding ole object to editor * @memberof Api diff --git a/common/plugins/plugin_base_api.js b/common/plugins/plugin_base_api.js index cb4c28f9f9..588d48b5c8 100644 --- a/common/plugins/plugin_base_api.js +++ b/common/plugins/plugin_base_api.js @@ -101,6 +101,7 @@ window.startPluginApi = function() { * @typedef {Object} Config * @property {string} basePath="" Path to the plugin. All the other paths are calculated relative to this path. In case the plugin is installed on the server, an additional parameter (path to the plugins) is added there. If baseUrl == "" the path to all plugins will be used. * @property {string} guid Plugin identifier. It must be of the asc.{UUID} type. + * @property {string} [minVersion] The minimum supported editors version. * * @property {string} name Plugin name which will be visible at the plugin toolbar. * @property {localeTranslate} [nameLocale] Translations for name field From 02eb63280e2befd6f3139c3a95304cd2b639efab Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Tue, 6 Apr 2021 15:39:58 +0300 Subject: [PATCH 123/381] [se] Add check --- cell/view/WorkbookView.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cell/view/WorkbookView.js b/cell/view/WorkbookView.js index 50c4ae4250..af7464f951 100644 --- a/cell/view/WorkbookView.js +++ b/cell/view/WorkbookView.js @@ -676,8 +676,11 @@ self.controller._onMouseMove(event); }; this.Api.endInlineDropTarget = function (event) { - self.controller.isMoveRangeMode = false; var ws = self.getWorksheet(); + if (!ws.activeMoveRange) { + return; + } + self.controller.isMoveRangeMode = false; var newSelection = ws.activeMoveRange.clone(); ws._cleanSelectionMoveRange(); ws.dragAndDropRange = null; From be452f52a4a893cccef50396f4a52eaabc5191cc Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 6 Apr 2021 19:32:35 +0300 Subject: [PATCH 124/381] Feature/plugins themes (#1766) * Support themes in plugins * . --- common/plugins.js | 4 +- common/plugins/make.py | 2 + common/plugins/plugin_base.js | 110 ++++++++++++++++------------------ common/skin.js | 3 + 4 files changed, 59 insertions(+), 60 deletions(-) diff --git a/common/plugins.js b/common/plugins.js index 8dbb309170..c8f2498b51 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -353,6 +353,8 @@ var _startData = (data == null || data == "") ? new CPluginData() : data; _startData.setAttribute("guid", guid); this.correctData(_startData); + // set theme only on start (big object) + _startData.setAttribute("theme", AscCommon.GlobalSkin); this.runnedPluginsMap[guid] = { frameId: "iframe_" + guid, @@ -966,7 +968,7 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,g){function f(d){this.plugin=d;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}f.prototype.createWindow=function(){var d=document.body,e=document.getElementsByTagName(\"head\")[0];d&&e&&(d=document.createElement(\"style\"),d.type=\"text/css\",d.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(d),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
    ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};f.prototype.setItems=function(d){this.items=d;for(var e=\"\",c=d.length,b=0;b',e+=d[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};f.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var d=this;a.onkeydown=function(e){switch(e.keyCode){case 27:d.isVisible&&(d.isVisible=!1,d.plugin.executeMethod(\"UnShowInputHelper\",[d.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var c=document.getElementsByTagName(\"li\"),b=-1,h=0;hb&&(b=0);break;case 40:b++;b>=c.length&&(b=c.length-1);break;case 9:b++;b>=c.length&&(b=0);break;case 36:b=0;break;case 35:b=c.length-1;break;case 33:case 34:h=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=h,b>=c.length&&(b=b=c.length-1))}ba.devicePixelRatio?b=a.devicePixelRatio:(b=a.devicePixelRatio/2,h=2),document.firstElementChild.style.zoom=1/b):document.firstElementChild.style.zoom=\"normal\":((c=.01>Math.abs(2-a.devicePixelRatio))&&(h=2),k&&(h=a.devicePixelRatio));a.Asc.plugin.zoom=b;a.Asc.plugin.retinaPixelRatio=h}},a.Asc.plugin.onEnableMouseEvent=function(c){var b=document.getElementsByTagName(\"iframe\");b&&b[0]&&(b[0].style.pointerEvents=c?\"none\":\"\")},a.Asc.plugin.checkPixelRatio())}var d=!1,e=\"\";a.plugin_sendMessage=function(c){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(c):a.parent.postMessage(c,\"*\")};a.plugin_onMessage=function(c){if(a.Asc.plugin&&\"string\"==typeof c.data){var b={};try{b=JSON.parse(c.data)}catch(l){b={}}c=b.type;if(b.guid!=a.Asc.plugin.guid){if(g!==b.guid)return;switch(c){case \"onExternalPluginMessage\":break;default:return}}\"init\"==c&&(a.Asc.plugin.info=b);a.Asc.plugin.tr&&a.Asc.plugin.tr_init||(a.Asc.plugin.tr_init=!0,a.Asc.plugin.tr=function(l){return a.Asc.plugin.translateManager&&a.Asc.plugin.translateManager[l]?a.Asc.plugin.translateManager[l]:l});var h=\"\";a.Asc.plugin.info&&(h=a.Asc.plugin.info.lang);if(\"\"==h||h!=e)if(e=h,\"en-EN\"==e||\"\"==e){if(a.Asc.plugin.translateManager={},a.Asc.plugin.onTranslate)a.Asc.plugin.onTranslate()}else{var k=new XMLHttpRequest;k.open(\"GET\",\"./translations/\"+e+\".json\");k.onreadystatechange=function(){if(4==k.readyState){if(200==k.status||0==location.href.indexOf(\"file:\"))try{a.Asc.plugin.translateManager=JSON.parse(k.responseText)}catch(l){a.Asc.plugin.translateManager={}}else a.Asc.plugin.translateManager={};if(a.Asc.plugin.onTranslate)a.Asc.plugin.onTranslate()}};k.send()}switch(c){case \"init\":f();a.Asc.plugin.init(a.Asc.plugin.info.data);break;case \"button\":b=parseInt(b.button);a.Asc.plugin.button||-1!=b?a.Asc.plugin.button(b):a.Asc.plugin.executeCommand(\"close\",\"\");break;case \"enableMouseEvent\":d=b.isEnabled;if(a.Asc.plugin.onEnableMouseEvent)a.Asc.plugin.onEnableMouseEvent(d);break;case \"onExternalMouseUp\":if(a.Asc.plugin.onExternalMouseUp)a.Asc.plugin.onExternalMouseUp();break;case \"onMethodReturn\":a.Asc.plugin.isWaitMethod=!1;if(a.Asc.plugin.methodCallback)c=a.Asc.plugin.methodCallback,a.Asc.plugin.methodCallback=null,c(b.methodReturnData),c=null;else if(a.Asc.plugin.onMethodReturn)a.Asc.plugin.onMethodReturn(b.methodReturnData);a.Asc.plugin.executeMethodStack&&0*/); + pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
      ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/make.py b/common/plugins/make.py index d099e25518..d34fc2dd8c 100644 --- a/common/plugins/make.py +++ b/common/plugins/make.py @@ -10,6 +10,7 @@ base.cmd("java", ["-jar", "../../build/node_modules/google-closure-compiler-java/compiler.jar", "--compilation_level", compilation_level, "--js_output_file", "plugins.js", + "--js", "../device_scale.js", "--js", "plugin_base.js", "--js", "plugin_base_api.js"]) @@ -21,6 +22,7 @@ code_content = code_content.replace("\r", "") code_content = code_content.replace("\n", "") +code_content = code_content.replace("\\", "\\\\") code_content = code_content.replace("\"", "\\\"") content = "" diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index 164a2ed3cd..b4cf9320f8 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -441,6 +441,17 @@ (function(window, undefined){ + // className => { css property => key in theme object } + var g_themes_map = { + "body" : { "background-color" : "background-toolbar" }, + ".defaultlable" : { "color" : "text-normal" }, + ".form-control" : { "color" : "text-normal", "background-color" : "background-normal", "border-color" : "border-regular-control" }, + ".form-control:focus" : { "border-color" : "border-control-focus" }, + ".btn-text-default" : { "background-color" : "background-normal", "border-color" : "border-regular-control", "color" : "text-normal" }, + ".btn-text-default:hover" : { "background-color" : "highlight-button-hover" }, + ".btn-text-default:active" : { "background-color" : "highlight-button-pressed !important" } + }; + var g_isMouseSendEnabled = false; var g_language = ""; @@ -488,6 +499,42 @@ if (type == "init") window.Asc.plugin.info = pluginData; + if (!window.Asc.plugin.theme && undefined !== pluginData.theme) + { + var newTheme = pluginData.theme; + + // correct theme + if (pluginData.theme.Name !== "theme-light") // default + { + var rules = ""; + for (var className in g_themes_map) + { + rules += (className + " {"); + + var attributes = g_themes_map[className]; + for (var attr in attributes) + { + var attrValue = attributes[attr]; + var attrValueImportant = attrValue.indexOf(" !important"); + if (-1 < attrValueImportant) + attrValue = attrValue.substr(0, attrValueImportant); + var newVal = newTheme[attrValue]; + if (newVal) + rules += (attr + " : " + newVal + ((-1 === attrValueImportant) ? ";" : " !important;")); + } + + rules += " }\n"; + } + + var styleTheme = document.createElement('style'); + styleTheme.type = 'text/css'; + styleTheme.innerHTML = rules; + document.getElementsByTagName('head')[0].appendChild(styleTheme); + } + + window.Asc.plugin.theme = newTheme; + } + if (!window.Asc.plugin.tr || !window.Asc.plugin.tr_init) { window.Asc.plugin.tr_init = true; @@ -635,63 +682,10 @@ window.Asc.plugin.isStarted = true; window.startPluginApi(); - window.Asc.plugin.checkPixelRatio = function(isAttack) - { - if (window.Asc.plugin.checkedPixelRatio && true !== isAttack) - return; - - window.Asc.plugin.checkedPixelRatio = true; - - var userAgent = navigator.userAgent.toLowerCase(); - var isIE = (userAgent.indexOf("msie") > -1 || userAgent.indexOf("trident") > -1 || userAgent.indexOf("edge") > -1); - var isChrome = !isIE && (userAgent.indexOf("chrome") > -1); - var isMozilla = !isIE && (userAgent.indexOf("firefox") > -1); - - var zoom = 1.0; - var isRetina = false; - var retinaPixelRatio = 1; - - var isMobileVersion = window.Asc.plugin.info ? window.Asc.plugin.info.isMobileMode : false; - - // пока отключаем мозиллу... хотя почти все работает - if ((/*isMozilla || */isChrome) && document && document.firstElementChild && document.body && !isMobileVersion) - { - if (window.devicePixelRatio > 0.1) - { - if (window.devicePixelRatio < 1.99) - { - zoom = window.devicePixelRatio; - } - else - { - zoom = window.devicePixelRatio / 2; - retinaPixelRatio = 2; - isRetina = true; - } - - document.firstElementChild.style.zoom = 1.0 / zoom; - } - else - { - document.firstElementChild.style.zoom = "normal"; - } - } - else - { - isRetina = (Math.abs(2 - window.devicePixelRatio) < 0.01); - if (isRetina) - retinaPixelRatio = 2; - - if (isMobileVersion) - { - isRetina = (window.devicePixelRatio >= 1.9); - retinaPixelRatio = window.devicePixelRatio; - } - } - - window.Asc.plugin.zoom = zoom; - window.Asc.plugin.retinaPixelRatio = retinaPixelRatio; - }; + var zoomValue = AscCommon.checkDeviceScale(); + AscCommon.retinaPixelRatio = zoomValue.applicationPixelRatio; + AscCommon.zoom = zoomValue.zoom; + AscCommon.correctApplicationScale(zoomValue); window.Asc.plugin.onEnableMouseEvent = function(isEnabled) { @@ -701,8 +695,6 @@ _frames[0].style.pointerEvents = isEnabled ? "none" : ""; } }; - - window.Asc.plugin.checkPixelRatio(); } window.onmousemove = function(e) diff --git a/common/skin.js b/common/skin.js index ae89395a3b..267da96987 100644 --- a/common/skin.js +++ b/common/skin.js @@ -290,6 +290,9 @@ function updateGlobalSkin(obj) if (obj["name"] && undefined !== EditorSkins[obj["name"]]) GlobalSkin = EditorSkins[obj["name"]]; + for (var item in obj) + GlobalSkin[item] = obj[item]; + // TODO: переделать на имена интерфейса if (obj["Name"]) GlobalSkin.Name = obj["Name"]; if (obj["RulersButton"]) GlobalSkin.RulersButton = obj["RulersButton"]; From b2abfd2027dadde7309c61eb8bf2be5d22f1b771 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 6 Apr 2021 21:00:18 +0300 Subject: [PATCH 125/381] Add method minVersion to CPlugin (#1767) --- common/apiCommon.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/common/apiCommon.js b/common/apiCommon.js index 2946ccc47d..4c0c1d3282 100644 --- a/common/apiCommon.js +++ b/common/apiCommon.js @@ -5356,6 +5356,7 @@ this.name = ""; this.guid = ""; this.baseUrl = ""; + this.minVersion = ""; this.variations = []; } @@ -5384,6 +5385,14 @@ { this.baseUrl = value; }; + CPlugin.prototype["get_MinVersion"] = function() + { + return this.minVersion; + }; + CPlugin.prototype["set_MinVersion"] = function(value) + { + this.minVersion = value; + }; CPlugin.prototype["get_Variations"] = function() { From ccb09bf920e50f562037aeee0725172c976baf3e Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Tue, 6 Apr 2021 23:06:06 +0300 Subject: [PATCH 126/381] [se] For bug 49500 --- cell/api.js | 13 ++++++++----- cell/model/PivotTables.js | 14 +++++++++----- common/commonDefines.js | 2 ++ 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/cell/api.js b/cell/api.js index e7d56d6914..b5507c625f 100644 --- a/cell/api.js +++ b/cell/api.js @@ -4829,10 +4829,10 @@ var editor; }); this.collaborativeEditing.lock(lockInfos, callback); }; - spreadsheet_api.prototype._changePivotWithLock = function (pivot, onAction) { - this._changePivotWithLockExt(pivot, false, true, onAction); + spreadsheet_api.prototype._changePivotWithLock = function (pivot, onAction, doNotCheckUnderlyingData) { + this._changePivotWithLockExt(pivot, false, true, onAction, doNotCheckUnderlyingData); }; - spreadsheet_api.prototype._changePivotWithLockExt = function (pivot, confirmation, updateSelection, onAction) { + spreadsheet_api.prototype._changePivotWithLockExt = function (pivot, confirmation, updateSelection, onAction, doNotCheckUnderlyingData) { // Проверка глобального лока if (this.collaborativeEditing.getGlobalLock() || !this.canEdit()) { return; @@ -4846,7 +4846,7 @@ var editor; History.Create_NewPoint(); History.StartTransaction(); t.wbModel.dependencyFormulas.lockRecal(); - var changeRes = t._changePivot(pivot, confirmation, updateSelection, onAction); + var changeRes = t._changePivot(pivot, confirmation, updateSelection, onAction, doNotCheckUnderlyingData); t.wbModel.dependencyFormulas.unlockRecal(); History.EndTransaction(); t._changePivotEndCheckError(pivot, changeRes, function () { @@ -4887,7 +4887,10 @@ var editor; }); }); }; - spreadsheet_api.prototype._changePivot = function(pivot, confirmation, updateSelection, onAction) { + spreadsheet_api.prototype._changePivot = function(pivot, confirmation, updateSelection, onAction, doNotCheckUnderlyingData) { + if (!doNotCheckUnderlyingData && !pivot.checkPivotUnderlyingData()) { + return {error: c_oAscError.ID.PivotWithoutUnderlyingData, warning: c_oAscError.ID.No, updateRes: undefined}; + } var wsModel = pivot.GetWS(); pivot.stashCurReportRange(); diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index a588ad11dc..8cc99a6295 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -4044,6 +4044,9 @@ CT_pivotTableDefinition.prototype.checkPivotFieldItem = function(index, pivotFie this.worksheet ? this.worksheet.getId() : null, null, new AscCommonExcel.UndoRedoData_PivotField(this.Get_Id(), index, pivotFieldOld, pivotField.clone())); }; +CT_pivotTableDefinition.prototype.checkPivotUnderlyingData = function() { + return !!this.getRecords(); +}; CT_pivotTableDefinition.prototype.refreshPivotFieldItem = function(index, pivotField, cacheRecords, cacheField, oldCacheField) { var item, i, j, newItem, equalMap = {}, discretePrMap= {}; var pivotFieldOld = pivotField.clone(); @@ -4307,9 +4310,10 @@ CT_pivotTableDefinition.prototype._updateRowColItemsRecursively = function(index } var pivotField, indexItem, item, subDataMap, dataField; var x = fields[index].x; + var dataFieldsLength = (dataFields && dataFields.length) || 0; if (st_VALUES === x) { if (dataFields) { - for (indexItem = 0; indexItem < dataFields.length; ++indexItem) { + for (indexItem = 0; indexItem < dataFieldsLength; ++indexItem) { dataField = dataFields[indexItem]; if (dataField) { pivotField = pivotFields[dataField.asc_getIndex()]; @@ -4324,7 +4328,7 @@ CT_pivotTableDefinition.prototype._updateRowColItemsRecursively = function(index pivotField = pivotFields[x]; if (pivotField && pivotField.items) { var sortDataIndex = pivotField.getSortDataIndex(); - if (c_oAscFieldSortType.Manual !== pivotField.sortType && 0 <= sortDataIndex && sortDataIndex < dataFields.length) { + if (c_oAscFieldSortType.Manual !== pivotField.sortType && 0 <= sortDataIndex && sortDataIndex < dataFieldsLength) { pivotField = pivotField.clone(); dataField = dataFields[sortDataIndex]; var sortedPivotItems = pivotField.items.item.map(function(currentValue, index) { @@ -4354,7 +4358,7 @@ CT_pivotTableDefinition.prototype._updateRowColItemsRecursively = function(index subDataMap = dataMap.vals[item.x]; if (!subDataMap && (showAll || pivotField.showAll)) { showAll = showAll || pivotField.showAll; - subDataMap = new PivotDataElem(dataFields.length); + subDataMap = new PivotDataElem(dataFieldsLength); } else { showAll = false; } @@ -4371,7 +4375,7 @@ CT_pivotTableDefinition.prototype._updateRowColItemsRecursively = function(index subDataMap = dataMap.vals[item.x]; if (!subDataMap && (showAll || pivotField.showAll)) { showAll = showAll || pivotField.showAll; - subDataMap = new PivotDataElem(dataFields.length); + subDataMap = new PivotDataElem(dataFieldsLength); } else { showAll = false; } @@ -5260,7 +5264,7 @@ CT_pivotTableDefinition.prototype.asc_refresh = function(api) { if (Asc.CT_pivotTableDefinition.prototype.isValidDataRef(dataRef)) { api._changePivotWithLock(t, function (ws) { t.updateCacheData(dataRef); - }); + }, true); } else { api.sendEvent('asc_onError', c_oAscError.ID.PivotLabledColumns, c_oAscError.Level.NoCritical); } diff --git a/common/commonDefines.js b/common/commonDefines.js index 439de567cf..21ba67fc38 100644 --- a/common/commonDefines.js +++ b/common/commonDefines.js @@ -217,6 +217,7 @@ PivotLabledColumns : -313, PivotOverlap : -314, PivotGroup : -315, + PivotWithoutUnderlyingData : -316, ForceSaveButton: -331, ForceSaveTimeout: -332, @@ -2305,6 +2306,7 @@ prot['PivotLabledColumns'] = prot.PivotLabledColumns; prot['PivotOverlap'] = prot.PivotOverlap; prot['PivotGroup'] = prot.PivotGroup; + prot['PivotWithoutUnderlyingData'] = prot.PivotWithoutUnderlyingData; prot['ForceSaveButton'] = prot.ForceSaveButton; prot['ForceSaveTimeout'] = prot.ForceSaveTimeout; prot['CannotChangeFormulaArray'] = prot.CannotChangeFormulaArray; From 3b14c498d12ab80d31b606ef3bdf9ef9be02132c Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Wed, 7 Apr 2021 09:32:47 +0300 Subject: [PATCH 127/381] Add support onThemeChanged (#1771) --- common/plugins.js | 2 +- common/plugins/plugin_base.js | 54 +++++++++++++++++++---------------- 2 files changed, 31 insertions(+), 25 deletions(-) diff --git a/common/plugins.js b/common/plugins.js index c8f2498b51..e636340ba3 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -968,7 +968,7 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
        ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b*/); + pluginData.setAttribute("data", /**/"(function(a,h){var f=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(f=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===f.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(f[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function f(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}f.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
          ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};f.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};f.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,g=0;gb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:g=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=g,b>=d.length&&(b=b=d.length-1))}b*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index b4cf9320f8..f61477b4b4 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -501,38 +501,44 @@ if (!window.Asc.plugin.theme && undefined !== pluginData.theme) { - var newTheme = pluginData.theme; + window.Asc.plugin.theme = pluginData.theme; - // correct theme - if (pluginData.theme.Name !== "theme-light") // default + window.Asc.plugin.onThemeChangedBase = function(newTheme) { - var rules = ""; - for (var className in g_themes_map) + // correct theme + if (pluginData.theme.Name !== "theme-light") // default { - rules += (className + " {"); - - var attributes = g_themes_map[className]; - for (var attr in attributes) + var rules = ""; + for (var className in g_themes_map) { - var attrValue = attributes[attr]; - var attrValueImportant = attrValue.indexOf(" !important"); - if (-1 < attrValueImportant) - attrValue = attrValue.substr(0, attrValueImportant); - var newVal = newTheme[attrValue]; - if (newVal) - rules += (attr + " : " + newVal + ((-1 === attrValueImportant) ? ";" : " !important;")); + rules += (className + " {"); + + var attributes = g_themes_map[className]; + for (var attr in attributes) + { + var attrValue = attributes[attr]; + var attrValueImportant = attrValue.indexOf(" !important"); + if (-1 < attrValueImportant) + attrValue = attrValue.substr(0, attrValueImportant); + var newVal = newTheme[attrValue]; + if (newVal) + rules += (attr + " : " + newVal + ((-1 === attrValueImportant) ? ";" : " !important;")); + } + + rules += " }\n"; } - rules += " }\n"; + var styleTheme = document.createElement('style'); + styleTheme.type = 'text/css'; + styleTheme.innerHTML = rules; + document.getElementsByTagName('head')[0].appendChild(styleTheme); } + }; - var styleTheme = document.createElement('style'); - styleTheme.type = 'text/css'; - styleTheme.innerHTML = rules; - document.getElementsByTagName('head')[0].appendChild(styleTheme); - } - - window.Asc.plugin.theme = newTheme; + if (window.Asc.plugin.onThemeChanged) + window.Asc.plugin.onThemeChanged(window.Asc.plugin.theme); + else + window.Asc.plugin.onThemeChangedBase(window.Asc.plugin.theme); } if (!window.Asc.plugin.tr || !window.Asc.plugin.tr_init) From 72ecc7630470e324b11d97ada63e17e3ca29dd30 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 7 Apr 2021 12:10:55 +0300 Subject: [PATCH 128/381] Fix bug #49451 Fix the problem with setting parent class for run --- word/Editor/ParagraphContentBase.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/word/Editor/ParagraphContentBase.js b/word/Editor/ParagraphContentBase.js index 36c9582023..84b8530857 100644 --- a/word/Editor/ParagraphContentBase.js +++ b/word/Editor/ParagraphContentBase.js @@ -1235,6 +1235,16 @@ CParagraphContentWithParagraphLikeContent.prototype.SetParagraph = function(Para this.Content[CurPos].SetParagraph(Paragraph); } }; +CParagraphContentWithParagraphLikeContent.prototype.SetParent = function(oParent) +{ + this.Parent = oParent; + + for (var nPos = 0, nCount = this.Content.length; nPos < nCount; ++nPos) + { + if (this.Content[nPos].SetParent) + this.Content[nPos].SetParent(this); + } +}; CParagraphContentWithParagraphLikeContent.prototype.Is_Empty = function(oPr) { for (var Index = 0, ContentLen = this.Content.length; Index < ContentLen; Index++) From 073d8ed59acb25be9c00eaa02cf463f46c1338e8 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Wed, 7 Apr 2021 14:37:53 +0300 Subject: [PATCH 129/381] Fix/bug49201 (#1775) * Fix bug 49201, Fix bug 49253 * Fix previous commit --- common/Native/Wrappers/ShapeDrawer.js | 166 +++++++++++++------------- common/skin.js | 28 +++-- word/Drawing/Rulers.js | 71 ++++++----- word/Drawing/ShapeDrawer.js | 6 +- 4 files changed, 142 insertions(+), 129 deletions(-) diff --git a/common/Native/Wrappers/ShapeDrawer.js b/common/Native/Wrappers/ShapeDrawer.js index 4d349bd353..2c11b88c5e 100755 --- a/common/Native/Wrappers/ShapeDrawer.js +++ b/common/Native/Wrappers/ShapeDrawer.js @@ -1409,89 +1409,89 @@ CShapeDrawer.prototype = return points; } - // scale == true - var _grad_45 = (Math.PI / 2) - Math.atan2(max_y - min_y, max_x - min_x); - var _grad_90_45 = (Math.PI / 2) - _grad_45; - if (angle > 0 && angle < 90) - { - if (angle <= 45) - { - grad_a = (_grad_45 * angle / 45); - } - else - { - grad_a = _grad_45 + _grad_90_45 * (angle - 45) / 45; - } - - var p = this.getNormalPoint(min_x, min_y, grad_a, max_x, max_y); - - points.x0 = min_x; - points.y0 = min_y; - points.x1 = p.X; - points.y1 = p.Y; - - return points; - } - if (angle > 90 && angle < 180) - { - if (angle <= 135) - { - grad_a = Math.PI / 2 + _grad_90_45 * (angle - 90) / 45; - } - else - { - grad_a = Math.PI - _grad_45 * (angle - 135) / 45; - } - - var p = this.getNormalPoint(max_x, min_y, grad_a, min_x, max_y); - - points.x0 = max_x; - points.y0 = min_y; - points.x1 = p.X; - points.y1 = p.Y; - - return points; - } - if (angle > 180 && angle < 270) - { - if (angle <= 225) - { - grad_a = Math.PI + _grad_45 * (angle - 180) / 45; - } - else - { - grad_a = 3 * Math.PI / 2 - _grad_90_45 * (angle - 225) / 45; - } - - var p = this.getNormalPoint(max_x, max_y, grad_a, min_x, min_y); - - points.x0 = max_x; - points.y0 = max_y; - points.x1 = p.X; - points.y1 = p.Y; - - return points; - } - if (angle > 270 && angle < 360) - { - if (angle <= 315) - { - grad_a = 3 * Math.PI / 2 + _grad_90_45 * (angle - 270) / 45; - } - else - { - grad_a = 2 * Math.PI - _grad_45 * (angle - 315) / 45; - } - - var p = this.getNormalPoint(min_x, max_y, grad_a, max_x, min_y); - - points.x0 = min_x; - points.y0 = max_y; - points.x1 = p.X; - points.y1 = p.Y; - - return points; - } + // scale == true + var _grad_45 = (Math.PI / 2) - Math.atan2(max_y - min_y, max_x - min_x); + var _grad_90_45 = (Math.PI / 2) - _grad_45; + if (angle > 0 && angle < 90) + { + if (angle <= 45) + { + grad_a = (_grad_45 * angle / 45); + } + else + { + grad_a = _grad_45 + _grad_90_45 * (angle - 45) / 45; + } + + var p = this.getNormalPoint(min_x, min_y, grad_a, max_x, max_y); + + points.x0 = min_x; + points.y0 = min_y; + points.x1 = p.X; + points.y1 = p.Y; + + return points; + } + if (angle > 90 && angle < 180) + { + if (angle <= 135) + { + grad_a = Math.PI / 2 + _grad_90_45 * (angle - 90) / 45; + } + else + { + grad_a = Math.PI / 2 + _grad_90_45 + _grad_45 * (angle - 135) / 45; + } + + var p = this.getNormalPoint(max_x, min_y, grad_a, min_x, max_y); + + points.x0 = max_x; + points.y0 = min_y; + points.x1 = p.X; + points.y1 = p.Y; + + return points; + } + if (angle > 180 && angle < 270) + { + if (angle <= 225) + { + grad_a = Math.PI + _grad_45 * (angle - 180) / 45; + } + else + { + grad_a = Math.PI + _grad_45 + _grad_90_45 * (angle - 225) / 45; + } + + var p = this.getNormalPoint(max_x, max_y, grad_a, min_x, min_y); + + points.x0 = max_x; + points.y0 = max_y; + points.x1 = p.X; + points.y1 = p.Y; + + return points; + } + if (angle > 270 && angle < 360) + { + if (angle <= 315) + { + grad_a = 3 * Math.PI / 2 + _grad_90_45 * (angle - 270) / 45; + } + else + { + grad_a = 3 * Math.PI / 2 + _grad_90_45 + _grad_45 * (angle - 315) / 45; + } + + var p = this.getNormalPoint(min_x, max_y, grad_a, max_x, min_y); + + points.x0 = min_x; + points.y0 = max_y; + points.x1 = p.X; + points.y1 = p.Y; + + return points; + } // никогда сюда не зайдем return points; }, diff --git a/common/skin.js b/common/skin.js index 267da96987..15e44a44df 100644 --- a/common/skin.js +++ b/common/skin.js @@ -49,15 +49,16 @@ var EditorSkins = { RulerDark : "#D9D9D9", RulerLight : "#FFFFFF", - RulerOutline : "#BBBEC2", - RulerMarkersOutlineColor : "#81878F", + RulerOutline : "#CBCBCB", + RulerMarkersOutlineColor : "#555555", + RulerMarkersOutlineColorOld : "#828282", RulerMarkersFillColor : "#FFFFFF", - RulerMarkersFillColorOld : "#CDD1D6", - RulerTextColor : "#585B5E", + RulerMarkersFillColorOld : "#FFFFFF", + RulerTextColor : "#555555", RulerTabsColor : "#000000", - RulerTabsColorOld : "#81878F", + RulerTabsColorOld : "#828282", RulerTableColor1 : "#FFFFFF", - RulerTableColor2 : "#646464", + RulerTableColor2 : "#555555", ScrollBackgroundColor : "#F0F0F0", ScrollOutlineColor : "#CFCFCF", @@ -160,17 +161,18 @@ var EditorSkins = { BackgroundColor : "#666666", PageOutline : "#BBBEC2", - RulerDark : "#444444", + RulerDark : "#373737", RulerLight : "#555555", - RulerOutline : "#B2B2B2", - RulerMarkersOutlineColor : "#81878F", - RulerMarkersFillColor : "#666666", - RulerMarkersFillColorOld : "#CDD1D6", + RulerOutline : "#2A2A2A", + RulerMarkersOutlineColor : "#B2B2B2", + RulerMarkersOutlineColorOld : "#999999", + RulerMarkersFillColor : "#555555", + RulerMarkersFillColorOld : "#555555", RulerTextColor : "#B2B2B2", RulerTabsColor : "#FFFFFF", - RulerTabsColorOld : "#888888", + RulerTabsColorOld : "#999999", RulerTableColor1 : "#FFFFFF", - RulerTableColor2 : "#646464", + RulerTableColor2 : "#B2B2B2", ScrollBackgroundColor : "#666666", ScrollOutlineColor : "#404040", diff --git a/word/Drawing/Rulers.js b/word/Drawing/Rulers.js index 0b913c3562..4f160c3f2f 100644 --- a/word/Drawing/Rulers.js +++ b/word/Drawing/Rulers.js @@ -542,8 +542,8 @@ function CHorRuler() var isDraw1_4 = (mm_1_4 > 7) ? true : false; var middleVert = (this.m_nTop + this.m_nBottom) / 2; - var part1 = dPR; - var part2 = 2.5 * dPR; + var part1 = 1.5 * Math.round(dPR); + var part2 = 2.5 * Math.round(dPR); context.font = Math.round(7 * dPR) + "pt Arial"; @@ -2397,7 +2397,6 @@ function CHorRuler() var _positon_y = this.m_nBottom - 5 * dPR; - context.strokeStyle = GlobalSkin.RulerMarkersOutlineColor; // не менять!!! var2 = 5 * dPR;//(1.4 * g_dKoef_mm_to_pix) >> 0; var3 = 3 * dPR;//(1 * g_dKoef_mm_to_pix) >> 0; @@ -2405,26 +2404,31 @@ function CHorRuler() checker.BlitMarginLeftInd = _margin_left; checker.BlitMarginRightInd = _margin_right; + var _1mm_to_pix = g_dKoef_mm_to_pix * dPR; + // old position -------------------------------------- + context.strokeStyle = GlobalSkin.RulerMarkersOutlineColorOld; context.fillStyle = GlobalSkin.RulerMarkersFillColorOld; if ((-10000 != this.m_dIndentLeft_old) && (this.m_dIndentLeft_old != this.m_dIndentLeft)) { dCenterX = left + (_margin_left + this.m_dIndentLeft_old) * dKoef_mm_to_pix; + var1 = parseInt(dCenterX - _1mm_to_pix) - indent + Math.round(dPR) - 1; + var4 = parseInt(dCenterX + _1mm_to_pix) + indent + Math.round(dPR) - 1; - var1 = parseInt(dCenterX - 1 * g_dKoef_mm_to_pix * dPR) - indent + Math.round(dPR) - 1; - var4 = parseInt(dCenterX + 1 * g_dKoef_mm_to_pix * dPR) + indent + Math.round(dPR) - 1; + if ( 0 != ((var1 - var4 + Math.round(dPR)) & 1)) + var4 += 1; context.beginPath(); context.lineWidth = Math.round(dPR); - context.moveTo(var1, this.m_nBottom + indent); - context.lineTo(var4, this.m_nBottom + indent); - context.lineTo(var4, this.m_nBottom + indent + var2); - context.lineTo(var1, this.m_nBottom + indent + var2); - context.lineTo(var1, this.m_nBottom + indent); - context.lineTo(var1, this.m_nBottom + indent - var3); - context.lineTo((var1 + var4) / 2, this.m_nBottom - var2 * 1.2); - context.lineTo(var4, this.m_nBottom + indent - var3); - context.lineTo(var4, this.m_nBottom + indent); + context.moveTo(var1, this.m_nBottom + indent); + context.lineTo(var4, this.m_nBottom + indent); + context.lineTo(var4, this.m_nBottom + indent + Math.round(var2)); + context.lineTo(var1, this.m_nBottom + indent + Math.round(var2)); + context.lineTo(var1, this.m_nBottom + indent); + context.lineTo(var1, this.m_nBottom + indent - Math.round(var3)); + context.lineTo((var1 + var4) / 2, this.m_nBottom - Math.round(var2 * 1.2)); + context.lineTo(var4, this.m_nBottom + indent - Math.round(var3)); + context.lineTo(var4, this.m_nBottom + indent); context.fill(); context.stroke(); @@ -2432,18 +2436,21 @@ function CHorRuler() if ((-10000 != this.m_dIndentLeftFirst_old) && (this.m_dIndentLeftFirst_old != this.m_dIndentLeftFirst)) { dCenterX = left + (_margin_left + this.m_dIndentLeftFirst_old) * dKoef_mm_to_pix; - var1 = parseInt(dCenterX - 1 * g_dKoef_mm_to_pix * dPR) - indent + Math.round(dPR) - 1; - var4 = parseInt(dCenterX + 1 * g_dKoef_mm_to_pix * dPR) + indent + Math.round(dPR) - 1; + var1 = parseInt(dCenterX - _1mm_to_pix) - indent + Math.round(dPR) - 1; + var4 = parseInt(dCenterX + _1mm_to_pix) + indent + Math.round(dPR) - 1; + + if ( 0 != ((var1 - var4 + Math.round(dPR)) & 1)) + var4 += 1; // first line indent context.beginPath(); context.lineWidth = Math.round(dPR); - context.moveTo(var1, this.m_nTop + indent); - context.lineTo(var1, this.m_nTop + indent - var3); - context.lineTo(var4, this.m_nTop + indent - var3); - context.lineTo(var4, this.m_nTop + indent); - context.lineTo((var1 + var4) / 2, this.m_nTop + var2 * 1.2); - context.closePath(); + context.moveTo(var1, this.m_nTop + indent); + context.lineTo(var1, this.m_nTop + indent - Math.round(var3)); + context.lineTo(var4, this.m_nTop + indent - Math.round(var3)); + context.lineTo(var4, this.m_nTop + indent); + context.lineTo((var1 + var4) / 2, this.m_nTop + Math.round(var2 * 1.2)); + context.closePath(); context.fill(); context.stroke(); @@ -2451,17 +2458,20 @@ function CHorRuler() if ((-10000 != this.m_dIndentRight_old) && (this.m_dIndentRight_old != this.m_dIndentRight)) { dCenterX = left + (_margin_right - this.m_dIndentRight_old) * dKoef_mm_to_pix; - var1 = parseInt(dCenterX - 1 * g_dKoef_mm_to_pix * dPR) - indent + Math.round(dPR) - 1; - var4 = parseInt(dCenterX + 1 * g_dKoef_mm_to_pix * dPR) + indent + Math.round(dPR) - 1; + var1 = parseInt(dCenterX - _1mm_to_pix) - indent + Math.round(dPR) - 1; + var4 = parseInt(dCenterX + _1mm_to_pix) + indent + Math.round(dPR) - 1; + + if ( 0 != ((var1 - var4 + Math.round(dPR)) & 1)) + var4 += 1; context.beginPath(); context.lineWidth = Math.round(dPR); - context.moveTo(var1, this.m_nBottom + indent); - context.lineTo(var4, this.m_nBottom + indent); - context.lineTo(var4, this.m_nBottom + indent - var3); - context.lineTo((var1 + var4) / 2, this.m_nBottom - var2 * 1.2); - context.lineTo(var1, this.m_nBottom + indent - var3); - context.closePath(); + context.moveTo(var1, this.m_nBottom + indent); + context.lineTo(var4, this.m_nBottom + indent); + context.lineTo(var4, this.m_nBottom + indent - Math.round(var3)); + context.lineTo((var1 + var4) / 2, this.m_nBottom - Math.round(var2 * 1.2)); + context.lineTo(var1, this.m_nBottom + indent - Math.round(var3)); + context.closePath(); context.fill(); context.stroke(); @@ -2526,6 +2536,7 @@ function CHorRuler() if (posL < posR) { + context.strokeStyle = GlobalSkin.RulerMarkersOutlineColor; context.fillStyle = GlobalSkin.RulerMarkersFillColor; // left indent diff --git a/word/Drawing/ShapeDrawer.js b/word/Drawing/ShapeDrawer.js index d07c101b99..abe808ad38 100644 --- a/word/Drawing/ShapeDrawer.js +++ b/word/Drawing/ShapeDrawer.js @@ -1690,7 +1690,7 @@ CShapeDrawer.prototype = } else { - grad_a = Math.PI - _grad_45 * (angle - 135) / 45; + grad_a = Math.PI / 2 + _grad_90_45 + _grad_45 * (angle - 135) / 45; } var p = this.getNormalPoint(max_x, min_y, grad_a, min_x, max_y); @@ -1710,7 +1710,7 @@ CShapeDrawer.prototype = } else { - grad_a = 3 * Math.PI / 2 - _grad_90_45 * (angle - 225) / 45; + grad_a = Math.PI + _grad_45 + _grad_90_45 * (angle - 225) / 45; } var p = this.getNormalPoint(max_x, max_y, grad_a, min_x, min_y); @@ -1730,7 +1730,7 @@ CShapeDrawer.prototype = } else { - grad_a = 2 * Math.PI - _grad_45 * (angle - 315) / 45; + grad_a = 3 * Math.PI / 2 + _grad_90_45 + _grad_45 * (angle - 315) / 45; } var p = this.getNormalPoint(min_x, max_y, grad_a, max_x, min_y); From da53479a2fbb67776bf12bb567c0790b52d1d95c Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Wed, 7 Apr 2021 16:52:18 +0300 Subject: [PATCH 130/381] [bug] Fix bug 49505 --- cell/model/Workbook.js | 3 + common/Drawings/Format/ChartSpace.js | 148 ++++++++++++++------------- 2 files changed, 79 insertions(+), 72 deletions(-) diff --git a/cell/model/Workbook.js b/cell/model/Workbook.js index c95defffa1..9ce0404e84 100644 --- a/cell/model/Workbook.js +++ b/cell/model/Workbook.js @@ -3602,7 +3602,10 @@ aRefsToChange[nRef].handleOnChangeSheetName(sOldName, sNewName); } if(Asc.editor && Asc.editor.wb) { + var sOldSheetName = oWorksheet.sName; + oWorksheet.sName = sNewName; Asc.editor.wb.recalculateDrawingObjects(null, false); + oWorksheet.sName = sOldSheetName; } } }); diff --git a/common/Drawings/Format/ChartSpace.js b/common/Drawings/Format/ChartSpace.js index cc96c21187..d9a559b66d 100644 --- a/common/Drawings/Format/ChartSpace.js +++ b/common/Drawings/Format/ChartSpace.js @@ -8956,90 +8956,94 @@ var GLOBAL_PATH_COUNT = 0; ser = series[i]; ++i; } - var pts = ser.getNumPts(), pt; - var cat_str_lit; - if(ser && ser.cat) { - cat_str_lit = ser.cat.getStringPointsLit(); - } - this.legendLength = pts.length; - - var oNumLit = ser.getNumLit(); - var nEndIndex = pts.length; - if(oNumLit) { - nEndIndex = oNumLit.ptCount; - } - for(i = 0; i < nEndIndex; ++i) { - entry = legend.findLegendEntryByIndex(i); - if(entry && entry.bDelete) - continue; - if(oNumLit) { - pt = oNumLit.getPtByIndex(i); + ser = ser || series[0]; + this.legendLength = 0; + if(ser) { + var pts = ser.getNumPts(), pt; + var cat_str_lit; + if(ser && ser.cat) { + cat_str_lit = ser.cat.getStringPointsLit(); } - else { - pt = pts[i]; + this.legendLength = pts.length; + + var oNumLit = ser.getNumLit(); + var nEndIndex = pts.length; + if(oNumLit) { + nEndIndex = oNumLit.ptCount; } - var str_pt = cat_str_lit ? cat_str_lit.getPtByIndex(i) : null; - if(str_pt) - arr_str_labels.push(str_pt.val); - else - arr_str_labels.push((pt ? (pt.idx + 1) : "") + ""); + for(i = 0; i < nEndIndex; ++i) { + entry = legend.findLegendEntryByIndex(i); + if(entry && entry.bDelete) + continue; + if(oNumLit) { + pt = oNumLit.getPtByIndex(i); + } + else { + pt = pts[i]; + } + var str_pt = cat_str_lit ? cat_str_lit.getPtByIndex(i) : null; + if(str_pt) + arr_str_labels.push(str_pt.val); + else + arr_str_labels.push((pt ? (pt.idx + 1) : "") + ""); - calc_entry = new AscFormat.CalcLegendEntry(legend, this, i); - calc_entry.txBody = AscFormat.CreateTextBodyFromString(arr_str_labels[arr_str_labels.length - 1], this.getDrawingDocument(), calc_entry); + calc_entry = new AscFormat.CalcLegendEntry(legend, this, i); + calc_entry.txBody = AscFormat.CreateTextBodyFromString(arr_str_labels[arr_str_labels.length - 1], this.getDrawingDocument(), calc_entry); - //if(entry) - // calc_entry.txPr = entry.txPr; - //if(calc_entryes[0]) - //{ - // calc_entry.lastStyleObject = calc_entryes[0].lastStyleObject; - //} - calc_entryes.push(calc_entry); + //if(entry) + // calc_entry.txPr = entry.txPr; + //if(calc_entryes[0]) + //{ + // calc_entry.lastStyleObject = calc_entryes[0].lastStyleObject; + //} + calc_entryes.push(calc_entry); - cur_width = calc_entry.txBody.getRectWidth(2000); - if(cur_width > max_width) - max_width = cur_width; + cur_width = calc_entry.txBody.getRectWidth(2000); + if(cur_width > max_width) + max_width = cur_width; - cur_font_size = calc_entry.txBody.content.Content[0].CompiledPr.Pr.TextPr.FontSize; - if(cur_font_size > max_font_size) - max_font_size = cur_font_size; + cur_font_size = calc_entry.txBody.content.Content[0].CompiledPr.Pr.TextPr.FontSize; + if(cur_font_size > max_font_size) + max_font_size = cur_font_size; - calc_entry.calcMarkerUnion = new AscFormat.CUnionMarker(); - union_marker = calc_entry.calcMarkerUnion; - if(ser.getObjectType() === AscDFH.historyitem_type_LineSeries && !AscFormat.CChartsDrawer.prototype._isSwitchCurrent3DChart(this) || - ser.getObjectType() === AscDFH.historyitem_type_ScatterSer || - ser.getObjectType() === AscDFH.historyitem_type_RadarSeries) { - if(pt) { - if(pt.compiledMarker) { - union_marker.marker = AscFormat.CreateMarkerGeometryByType(pt.compiledMarker.symbol); - union_marker.marker.brush = pt.compiledMarker.pen.Fill; - union_marker.marker.pen = pt.compiledMarker.pen; - } - if(pt.pen) { - union_marker.lineMarker = AscFormat.CreateMarkerGeometryByType(AscFormat.SYMBOL_DASH); - union_marker.lineMarker.pen = pt.pen; + calc_entry.calcMarkerUnion = new AscFormat.CUnionMarker(); + union_marker = calc_entry.calcMarkerUnion; + if(ser.getObjectType() === AscDFH.historyitem_type_LineSeries && !AscFormat.CChartsDrawer.prototype._isSwitchCurrent3DChart(this) || + ser.getObjectType() === AscDFH.historyitem_type_ScatterSer || + ser.getObjectType() === AscDFH.historyitem_type_RadarSeries) { + if(pt) { + if(pt.compiledMarker) { + union_marker.marker = AscFormat.CreateMarkerGeometryByType(pt.compiledMarker.symbol); + union_marker.marker.brush = pt.compiledMarker.pen.Fill; + union_marker.marker.pen = pt.compiledMarker.pen; + } + if(pt.pen) { + union_marker.lineMarker = AscFormat.CreateMarkerGeometryByType(AscFormat.SYMBOL_DASH); + union_marker.lineMarker.pen = pt.pen; + } } - } - if(!b_scatter_no_line && !AscFormat.CChartsDrawer.prototype._isSwitchCurrent3DChart(this)) - b_line_series = true; - } - else { - b_no_line_series = false; - union_marker.marker = AscFormat.CreateMarkerGeometryByType(AscFormat.SYMBOL_SQUARE); - if(pt) { - union_marker.marker.pen = pt.pen; - union_marker.marker.brush = pt.brush; + if(!b_scatter_no_line && !AscFormat.CChartsDrawer.prototype._isSwitchCurrent3DChart(this)) + b_line_series = true; } else { - var style = AscFormat.CHART_STYLE_MANAGER.getStyleByIndex(this.style); - var base_fills = AscFormat.getArrayFillsFromBase(style.fill2, nEndIndex); - union_marker.marker.brush = base_fills[i]; + b_no_line_series = false; + union_marker.marker = AscFormat.CreateMarkerGeometryByType(AscFormat.SYMBOL_SQUARE); + if(pt) { + union_marker.marker.pen = pt.pen; + union_marker.marker.brush = pt.brush; + } + else { + var style = AscFormat.CHART_STYLE_MANAGER.getStyleByIndex(this.style); + var base_fills = AscFormat.getArrayFillsFromBase(style.fill2, nEndIndex); + union_marker.marker.brush = base_fills[i]; + } } + if(union_marker.marker) { + union_marker.marker.pen && union_marker.marker.pen.calculate(parents.theme, parents.slide, parents.layout, parents.master, RGBA, this.clrMapOvr); + union_marker.marker.brush && union_marker.marker.brush.calculate(parents.theme, parents.slide, parents.layout, parents.master, RGBA, this.clrMapOvr); + } + union_marker.lineMarker && union_marker.lineMarker.pen && union_marker.lineMarker.pen.calculate(parents.theme, parents.slide, parents.layout, parents.master, RGBA, this.clrMapOvr); } - if(union_marker.marker) { - union_marker.marker.pen && union_marker.marker.pen.calculate(parents.theme, parents.slide, parents.layout, parents.master, RGBA, this.clrMapOvr); - union_marker.marker.brush && union_marker.marker.brush.calculate(parents.theme, parents.slide, parents.layout, parents.master, RGBA, this.clrMapOvr); - } - union_marker.lineMarker && union_marker.lineMarker.pen && union_marker.lineMarker.pen.calculate(parents.theme, parents.slide, parents.layout, parents.master, RGBA, this.clrMapOvr); } } var marker_size; From 07bdbe36768f74806f25873884f462dc0736d3ea Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 7 Apr 2021 23:43:50 +0300 Subject: [PATCH 131/381] [bug] Fix bug #49445 Fix the problem with setting parent for inner classes of a paragraph --- word/Editor/Paragraph.js | 7 ++++++- word/Editor/ParagraphChanges.js | 4 ++++ word/Editor/Run.js | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index b9f236dd60..2cf5e2cb1e 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -956,7 +956,12 @@ Paragraph.prototype.Internal_Content_Concat = function(arrItems) { this.Content.push(arrItems[nIndex]); - arrItems[nIndex].SetParagraph(this); + if (arrItems[nIndex].SetParent) + arrItems[nIndex].SetParent(this); + + if (arrItems[nIndex].SetParagraph) + arrItems[nIndex].SetParagraph(this); + if (arrItems[nIndex].Recalc_RunsCompiledPr) arrItems[nIndex].Recalc_RunsCompiledPr(); } diff --git a/word/Editor/ParagraphChanges.js b/word/Editor/ParagraphChanges.js index 08bd159c1a..0adbecbc16 100644 --- a/word/Editor/ParagraphChanges.js +++ b/word/Editor/ParagraphChanges.js @@ -359,6 +359,10 @@ CChangesParagraphAddItem.prototype.Redo = function() { var oItem = this.Items[nIndex]; oItem.Parent = this.Class; + + if (oItem.SetParent) + oItem.SetParent(this.Class); + if (oItem.SetParagraph) oItem.SetParagraph(this.Class); diff --git a/word/Editor/Run.js b/word/Editor/Run.js index 8407f3453f..22057c8734 100644 --- a/word/Editor/Run.js +++ b/word/Editor/Run.js @@ -11442,6 +11442,9 @@ ParaRun.prototype.GetLineByPosition = function(nPos) */ ParaRun.prototype.PreDelete = function() { + // TODO: Перенести это, когда удаляется непосредственно элемент из класса + // Сейчас работает не совсем корректно, потому что при большой вложенности у элементов чистится Parent, + // хотя по факту он должен чистится только у первого уровня элементов, с которых начинается удаление this.SetParent(null); for (var nIndex = 0, nCount = this.Content.length; nIndex < nCount; ++nIndex) From c10b5b42a8aced91f22c8989d200bdf9e2b576a7 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 8 Apr 2021 13:46:22 +0300 Subject: [PATCH 132/381] Fix drawing preview of the changing numbering level in the revision mode --- word/Drawing/DrawingDocument.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/word/Drawing/DrawingDocument.js b/word/Drawing/DrawingDocument.js index 4f467ff148..df342030d0 100644 --- a/word/Drawing/DrawingDocument.js +++ b/word/Drawing/DrawingDocument.js @@ -6549,9 +6549,16 @@ function CDrawingDocument() } } - var api = this.m_oWordControl.m_oApi; + var api = this.m_oWordControl.m_oApi; + var oLogicDocument = this.m_oWordControl.m_oLogicDocument; + if (!api || !oLogicDocument) + return; + + var oHistory = oLogicDocument.GetHistory(); + oHistory.TurnOff(); + var isLocalTrackRevisions = oLogicDocument.GetLocalTrackRevisions(); + oLogicDocument.SetLocalTrackRevisions(false); - History.TurnOff(); var oldViewMode = api.isViewMode; var oldMarks = api.ShowParaMarks; @@ -6638,7 +6645,8 @@ function CDrawingDocument() ctx.restore(); ctx.restore(); - History.TurnOn(); + oHistory.TurnOn(); + oLogicDocument.SetLocalTrackRevisions(isLocalTrackRevisions); api.isViewMode = oldViewMode; api.ShowParaMarks = oldMarks; }; From 1fb5128ccae404fcd609ecb0e33fef05e22cf52f Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 8 Apr 2021 13:56:20 +0300 Subject: [PATCH 133/381] Fix bug #49525 Add check for changing paragraph numbering to the same values --- word/Editor/Paragraph.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index 2cf5e2cb1e..cadcd1143b 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -8921,6 +8921,9 @@ Paragraph.prototype.SetNumPr = function(sNumId, nLvl) nLvl = 0; var oNumPrOld = this.Pr.NumPr; + if (oNumPrOld && oNumPrOld.NumId === sNumId && oNumPrOld.Lvl === nLvl) + return; + this.Pr.NumPr = new CNumPr(sNumId, nLvl); this.private_AddPrChange(); From b88edbd1c8b4b619b6d4f604d6802d271c864a2a Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 8 Apr 2021 15:04:50 +0300 Subject: [PATCH 134/381] Fix bug #49547 --- word/Editor/Paragraph.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index cadcd1143b..b3d1b3a026 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -8924,14 +8924,16 @@ Paragraph.prototype.SetNumPr = function(sNumId, nLvl) if (oNumPrOld && oNumPrOld.NumId === sNumId && oNumPrOld.Lvl === nLvl) return; - this.Pr.NumPr = new CNumPr(sNumId, nLvl); - this.private_AddPrChange(); - History.Add(new CChangesParagraphNumbering(this, oNumPrOld, this.Pr.NumPr)); - this.private_RefreshNumbering(oNumPrOld); + + var oNewNumPr = new CNumPr(sNumId, nLvl); + + History.Add(new CChangesParagraphNumbering(this, this.Pr.NumPr, oNewNumPr)); + this.private_RefreshNumbering(oNewNumPr); this.private_RefreshNumbering(this.Pr.NumPr); - // Надо пересчитать конечный стиль + this.Pr.NumPr = oNewNumPr; + this.CompiledPr.NeedRecalc = true; this.private_UpdateTrackRevisionOnChangeParaPr(true); this.UpdateDocumentOutline(); From 0b5d68a4c78126a31222e4e0fb7ee8b3596b9522 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 8 Apr 2021 21:36:19 +0300 Subject: [PATCH 135/381] Use colors for from theme for disabled buttons, and text in about window --- common/plugins.js | 2 +- common/plugins/plugin_base.js | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/common/plugins.js b/common/plugins.js index e636340ba3..00a6a4ee55 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -968,7 +968,7 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,h){var f=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(f=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===f.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(f[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function f(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}f.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
            ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};f.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};f.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,g=0;gb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:g=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=g,b>=d.length&&(b=b=d.length-1))}b*/); + pluginData.setAttribute("data", /**/"(function(a,h){var f=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(f=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===f.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(f[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function f(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}f.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }', e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
              ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};f.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length, b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};f.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,g=0;gb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b= 0;break;case 35:b=d.length-1;break;case 33:case 34:g=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=g,b>=d.length&&(b=b=d.length-1))}b*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index f61477b4b4..0e6294caa2 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -445,11 +445,19 @@ var g_themes_map = { "body" : { "background-color" : "background-toolbar" }, ".defaultlable" : { "color" : "text-normal" }, + ".aboutlable" : { "color" : "text-normal" }, + "a.aboutlink" : { "color" : "text-normal" }, ".form-control" : { "color" : "text-normal", "background-color" : "background-normal", "border-color" : "border-regular-control" }, ".form-control:focus" : { "border-color" : "border-control-focus" }, ".btn-text-default" : { "background-color" : "background-normal", "border-color" : "border-regular-control", "color" : "text-normal" }, ".btn-text-default:hover" : { "background-color" : "highlight-button-hover" }, - ".btn-text-default:active" : { "background-color" : "highlight-button-pressed !important" } + ".btn-text-default:active" : { "background-color" : "highlight-button-pressed !important" }, + ".btn-text-default[disabled]:hover,\ + .btn-text-default.disabled:hover,\ + .btn-text-default[disabled]:active,\ + .btn-text-default[disabled].active,\ + .btn-text-default.disabled:active,\ + .btn-text-default.disabled.active": {"background-color" : "background-normal !important", "color" : "text-normal"} }; var g_isMouseSendEnabled = false; From 8c74e37b455c217df6eb6d02d9d17f593cb40fa6 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Fri, 9 Apr 2021 10:00:24 +0300 Subject: [PATCH 136/381] [se] Fix bug 49557 --- cell/model/FormulaObjects/parserFormula.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cell/model/FormulaObjects/parserFormula.js b/cell/model/FormulaObjects/parserFormula.js index 82a18b438f..d965c4c76a 100644 --- a/cell/model/FormulaObjects/parserFormula.js +++ b/cell/model/FormulaObjects/parserFormula.js @@ -7424,8 +7424,8 @@ function parserFormula( formula, parent, _ws ) { } } else if (cElementType.operator === ref.type && ref.name === ":" && this.outStack[i - 1] && this.outStack[i - 2] && - ((cElementType.cell === this.outStack[i - 1].type || cElementType.cell === this.outStack[i - 2].type) || - (cElementType.cell3D === this.outStack[i - 1].type || + ((cElementType.cell === this.outStack[i - 1].type && cElementType.cell === this.outStack[i - 2].type) || + (cElementType.cell3D === this.outStack[i - 1].type && cElementType.cell3D === this.outStack[i - 2].type)) && this.outStack[i - 1].isValid() && this.outStack[i - 2].isValid()) { var _wsId = this.outStack[i - 1].getWsId(); From 14d7658605b3a55b728106bbfd40de44f88d9cea Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 9 Apr 2021 12:42:46 +0300 Subject: [PATCH 137/381] Realize GetCurrentVisiblePage for native version (#1782) --- word/api.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/word/api.js b/word/api.js index c6df140f1a..11140df078 100644 --- a/word/api.js +++ b/word/api.js @@ -7576,6 +7576,9 @@ background-repeat: no-repeat;\ }; asc_docs_api.prototype.GetCurrentVisiblePage = function() { + if (window["IS_NATIVE_EDITOR"]) + return window["native"]["GetDrawingEndPage"](); + var lPage1 = this.WordControl.m_oDrawingDocument.m_lDrawingFirst; var lPage2 = lPage1 + 1; From c33669662b5d7bdba36901516f51e3e81e5cd7f3 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 9 Apr 2021 13:42:26 +0300 Subject: [PATCH 138/381] New classes for themes map (#1784) Co-authored-by: Nikita Khromov --- common/plugins.js | 2 +- common/plugins/plugin_base.js | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/common/plugins.js b/common/plugins.js index 00a6a4ee55..a2a3cbc24f 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -968,7 +968,7 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,h){var f=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(f=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===f.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(f[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function f(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}f.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }', e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};f.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length, b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};f.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,g=0;gb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b= 0;break;case 35:b=d.length-1;break;case 33:case 34:g=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=g,b>=d.length&&(b=b=d.length-1))}b*/); + pluginData.setAttribute("data", /**/"(function(a,h){var f=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(f=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===f.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(f[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function f(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}f.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                  ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};f.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};f.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,g=0;gb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:g=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=g,b>=d.length&&(b=b=d.length-1))}b*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index 0e6294caa2..ab8122ec87 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -443,7 +443,7 @@ // className => { css property => key in theme object } var g_themes_map = { - "body" : { "background-color" : "background-toolbar" }, + "body" : { "color" : "text-normal", "background-color" : "background-toolbar" }, ".defaultlable" : { "color" : "text-normal" }, ".aboutlable" : { "color" : "text-normal" }, "a.aboutlink" : { "color" : "text-normal" }, @@ -457,7 +457,18 @@ .btn-text-default[disabled]:active,\ .btn-text-default[disabled].active,\ .btn-text-default.disabled:active,\ - .btn-text-default.disabled.active": {"background-color" : "background-normal !important", "color" : "text-normal"} + .btn-text-default.disabled.active": {"background-color" : "background-normal !important", "color" : "text-normal"}, + ".select2-container--default .select2-selection--single" : { "color" : "text-normal", "background-color" : "background-normal" }, + ".select2-container--default .select2-selection--single .select2-selection__rendered" : { "color" : "text-normal" }, + ".select2-results" : { "background-color" : "background-normal" }, + ".select2-container--default .select2-results__option--highlighted[aria-selected]" : { "background-color" : "border-regular-control !important"}, + ".select2-container--default .select2-results__option[aria-selected=true]" : { "background-color" : "border-regular-control !important"}, + ".select2-dropdown, .select2-container--default .select2-selection--single" : { "border-color" : "border-regular-control !important"}, + ".select2-container--default.select2-container--open .select2-selection--single" : { "border-color" : "border-control-focus !important"}, + ".select2-container--default.select2-container--focus:not(.select2-container--open) .select2-selection--single" : { "border-color" : "border-regular-control !important"}, + ".select2-container--default.select2-container--open.select2-container--focus .select2-selection--single" : { "border-color" : "border-control-focus !important"}, + ".select2-search--dropdown" : { "background-color" : "background-normal !important"}, + ".select2-container--default .select2-search--dropdown .select2-search__field" : { "color" : "text-normal", "background-color" : "background-normal", "border-color" : "border-regular-control"} }; var g_isMouseSendEnabled = false; From 89498ce1efc7be7f9da30a6ab24186342ded1385 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Fri, 9 Apr 2021 13:58:54 +0300 Subject: [PATCH 139/381] Fix bug #49443 Fix the problem with compiling table cell properties --- word/Editor/Table.js | 2 ++ word/Editor/Table/TableRow.js | 1 + 2 files changed, 3 insertions(+) diff --git a/word/Editor/Table.js b/word/Editor/Table.js index 4ed90ffc44..41df59ad24 100644 --- a/word/Editor/Table.js +++ b/word/Editor/Table.js @@ -2691,10 +2691,12 @@ CTable.prototype.Copy = function(Parent, DrawingDocument, oPr) for (Index = 0; Index < Rows; Index++) { Table.Content[Index] = this.Content[Index].Copy(Table, oPr); + Table.Content[Index].Recalc_CompiledPr(); History.Add(new CChangesTableAddRow(Table, Index, [Table.Content[Index]])); } Table.Internal_ReIndexing(0); Table.private_UpdateTableGrid(); + Table.Recalc_CompiledPr(); if (Table.Content.length > 0 && Table.Content[0].Get_CellsCount() > 0) Table.CurCell = Table.Content[0].Get_Cell(0); diff --git a/word/Editor/Table/TableRow.js b/word/Editor/Table/TableRow.js index 988847b7e4..a5167c1c2f 100644 --- a/word/Editor/Table/TableRow.js +++ b/word/Editor/Table/TableRow.js @@ -127,6 +127,7 @@ CTableRow.prototype = for (var Index = 0; Index < CellsCount; Index++) { Row.Content[Index] = this.Content[Index].Copy(Row, oPr); + Row.Content[Index].Recalc_CompiledPr(); History.Add(new CChangesTableRowAddCell(Row, Index, [Row.Content[Index]])); } From 581d955fe6b817970ec8ae474bdad2d8958e7bba Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Fri, 9 Apr 2021 14:01:47 +0300 Subject: [PATCH 140/381] [se] Modify RecalculateAllFormulas function --- cell/apiBuilder.js | 91 +++++++++++++++------------------------------- 1 file changed, 30 insertions(+), 61 deletions(-) diff --git a/cell/apiBuilder.js b/cell/apiBuilder.js index 20caa96451..96c09745c2 100644 --- a/cell/apiBuilder.js +++ b/cell/apiBuilder.js @@ -526,49 +526,45 @@ Api.prototype.RecalculateAllFormulas = function(fLogger) { var formulas = this.wbModel.getAllFormulas(true); - - var _compare = function (_val1, _val2) { - var eps = 1e-12; + var _compare = function(_val1, _val2) { if (!isNaN(parseFloat(_val1)) && isFinite(_val1) && !isNaN(parseFloat(_val2)) && isFinite(_val2)) { + var eps = 1e-12; if (Math.abs(_val2 - _val1) < eps) { return true; } - //_val1 = _val1.toString().substring(0,15); - //_val2 = _val2.toString().substring(0,15); - var nRound = null; - //max count digits in number - var maxLengthAfterPoint = 9; - var sVal1 = _val1.toString(); - if (sVal1) { - var aVal1 = sVal1.split('.'); - if (aVal1 && aVal1[1] && aVal1[1].length) { - nRound = aVal1[1].length - 1; - if (nRound > maxLengthAfterPoint) { - nRound = maxLengthAfterPoint; + + var _slice = function (_val) { + var sVal = _val.toString(); + if (sVal) { + var aVal1 = sVal.split("."); + if (aVal1[1]) { + aVal1[1] = aVal1[1].slice(0, 9); + sVal = aVal1[0] + "." + aVal1[1]; } + sVal = sVal.slice(0, 14); + _val = parseFloat(sVal); } - } + return _val; + }; - if (nRound) { - var kF = Math.pow(10, nRound); - _val1 = (parseInt(_val1 * kF)) / kF; - _val2 = (parseInt(_val2 * kF)) / kF; - } - } else if (_val1 && _val2) { - var complexVal1 = AscCommonExcel.Complex.prototype.ParseString(_val1); - if (complexVal1 && complexVal1.real && complexVal1.img) { - var complexVal2 = AscCommonExcel.Complex.prototype.ParseString(_val2); - if (complexVal2 && complexVal2.real && complexVal2.img) { - if (_compare(complexVal1.real, complexVal2.real) && _compare(complexVal1.img, complexVal2.img)) { - return true; + _val1 = _slice(_val1); + _val2 = _slice(_val2); + } else { + if (_val1 && _val2) { + + var complexVal1 = AscCommonExcel.Complex.prototype.ParseString(_val1 + ""); + if (complexVal1 && complexVal1.real && complexVal1.img) { + var complexVal2 = AscCommonExcel.Complex.prototype.ParseString(_val2 + ""); + if (complexVal2 && complexVal2.real && complexVal2.img) { + if (_compare(complexVal1.real, complexVal2.real) && _compare(complexVal1.img, complexVal2.img)) { + return true; + } } } } } - return _val1 == _val2; }; - for (var i = 0; i < formulas.length; ++i) { var formula = formulas[i]; var nRow; @@ -577,7 +573,9 @@ nRow = formula.r; nCol = formula.c; formula = formula.f; - } else if (formula.parent) { + } + + if (formula.parent) { nRow = formula.parent.nRow; nCol = formula.parent.nCol; } @@ -588,36 +586,7 @@ formula.setFormula(formula.getFormula()); formula.parse(); var formulaRes = formula.calculate(); - var arrayFormula = formula.getArrayFormulaRef(); - var newValue = null; - if (arrayFormula && formulaRes.type === AscCommonExcel.cElementType.array) { - if (formulaRes.array) { - var isOneRow = formulaRes.array.length === 1; - var isOneCol = formulaRes.array[0] && formulaRes.array[0].length === 1; - - var rowArray = nRow - arrayFormula.r1; - var colArray = nCol - arrayFormula.c1; - if (isOneRow && rowArray > 0 && colArray === 0) { - colArray = rowArray; - rowArray = 0; - } - if (isOneCol && colArray > 0 && rowArray === 0) { - rowArray = colArray; - colArray = 0; - } - - if (formulaRes.array[rowArray]) { - newValue = formulaRes.getElementRowCol(rowArray, colArray); - } - } - newValue = newValue ? newValue.getValue() : "#N/A"; - } else if (formulaRes.type === AscCommonExcel.cElementType.array) { - newValue = formulaRes.getElementRowCol(0, 0); - newValue = newValue ? newValue.getValue() : "#N/A"; - } else { - newValue = formulaRes ? formulaRes.getValue() : "#N/A"; - } - + var newValue = formula.simplifyRefType(formulaRes, formula.ws, nRow, nCol); if (fLogger) { if (!_compare(oldValue, newValue)) { //error From 804d8442eafee3bac4303bd88fa2d357a07a5c52 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Fri, 9 Apr 2021 15:08:58 +0300 Subject: [PATCH 141/381] Fix bug #49526 --- common/apiCommon.js | 15 ++++++++++++--- word/apiCommon.js | 15 +++++++++++++-- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/common/apiCommon.js b/common/apiCommon.js index 4c0c1d3282..247ef084a9 100644 --- a/common/apiCommon.js +++ b/common/apiCommon.js @@ -2421,9 +2421,18 @@ if (null !== this.Value && this.Value !== Asc.c_oAscShd.Nil) this.Value = Asc.c_oAscShd.Clear; - if (obj.GetSimpleColor){ - var oColor = obj.GetSimpleColor(); - this.Color = CreateAscColorCustom(oColor.r, oColor.g, oColor.b, oColor.Auto); + if (obj.GetSimpleColor) { + + if (Asc.c_oAscShd.Clear === obj.Value + && obj.Unifill + && obj.Unifill.fill + && obj.Unifill.fill.type === c_oAscFill.FILL_TYPE_SOLID + && obj.Unifill.fill.color) { + this.Color = CreateAscColor(obj.Unifill.fill.color); + } else { + var oColor = obj.GetSimpleColor(); + this.Color = CreateAscColorCustom(oColor.r, oColor.g, oColor.b, oColor.Auto); + } } else { if (obj.Unifill && obj.Unifill.fill && obj.Unifill.fill.type === c_oAscFill.FILL_TYPE_SOLID && diff --git a/word/apiCommon.js b/word/apiCommon.js index 318b199e5a..3c909ae710 100644 --- a/word/apiCommon.js +++ b/word/apiCommon.js @@ -50,8 +50,19 @@ if (undefined !== obj.Value && Asc.c_oAscShd.Nil !== this.Value) this.Value = Asc.c_oAscShd.Clear; - var oColor = obj.GetSimpleColor(); - this.Color = AscCommon.CreateAscColorCustom(oColor.r, oColor.g, oColor.b, oColor.Auto); + if (Asc.c_oAscShd.Clear === obj.Value + && obj.Unifill + && obj.Unifill.fill + && obj.Unifill.fill.type === window['Asc'].c_oAscFill.FILL_TYPE_SOLID + && obj.Unifill.fill.color) + { + this.Color = AscCommon.CreateAscColor(obj.Unifill.fill.color); + } + else + { + var oColor = obj.GetSimpleColor(); + this.Color = AscCommon.CreateAscColorCustom(oColor.r, oColor.g, oColor.b, oColor.Auto); + } } else { From 9f5d76499fdaed0d8ac3bd98f71b5fb422c9d16d Mon Sep 17 00:00:00 2001 From: Alexander Yuzhin Date: Fri, 9 Apr 2021 15:28:47 +0300 Subject: [PATCH 142/381] [native] Extend review model --- common/Native/Wrappers/api.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/Native/Wrappers/api.js b/common/Native/Wrappers/api.js index abac600818..0e572f9de5 100755 --- a/common/Native/Wrappers/api.js +++ b/common/Native/Wrappers/api.js @@ -6389,6 +6389,8 @@ function onApiShowRevisionsChange(data) { var revisionChange = { userName: userName, + userId: item.get_UserId(), + lock: (item.get_LockUserId()!==null), date: (item.get_DateTime() == '' ? new Date().getMilliseconds() : item.get_DateTime()), goto: (item.get_MoveType() == Asc.c_oAscRevisionsMove.MoveTo || item.get_MoveType() == Asc.c_oAscRevisionsMove.MoveFrom), commonChanges: commonChanges, From db245f6ab3452a579f82c80289b94298f734c044 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 9 Apr 2021 15:50:43 +0300 Subject: [PATCH 143/381] Fix bug 49556 (#1790) --- common/scroll.js | 4 +-- slide/Drawing/DrawingDocument.js | 55 ++++++++++++++++++++++---------- slide/Drawing/HtmlPage.js | 6 ++-- slide/Editor/Format/Layout.js | 13 +++----- 4 files changed, 49 insertions(+), 29 deletions(-) diff --git a/common/scroll.js b/common/scroll.js index 12b52bc446..12ddc10fc7 100644 --- a/common/scroll.js +++ b/common/scroll.js @@ -630,7 +630,7 @@ CArrowDrawer.prototype.InitSize = function ( sizeW, sizeH, is_retina ) { if (_canvasH == this.canvasH && undefined !== settings.contentH) { var _maxScrollY = settings.contentH - settings.screenH > 0 ? settings.contentH - settings.screenH : 0; - if (_maxScrollY == this.maxScrollY) + if (_maxScrollY == this.maxScrollY && !isChangeTheme) return; } } @@ -639,7 +639,7 @@ CArrowDrawer.prototype.InitSize = function ( sizeW, sizeH, is_retina ) { if (settings.screenW == this.canvasW && undefined !== settings.contentW) { var _maxScrollX = settings.contentW - settings.screenW > 0 ? settings.contentW - settings.screenW : 0; - if (_maxScrollX == this.maxScrollX) + if (_maxScrollX == this.maxScrollX && !isChangeTheme) return; } } diff --git a/slide/Drawing/DrawingDocument.js b/slide/Drawing/DrawingDocument.js index e8ad996f01..4f23352936 100644 --- a/slide/Drawing/DrawingDocument.js +++ b/slide/Drawing/DrawingDocument.js @@ -6033,6 +6033,44 @@ function CNotesDrawer(page) g.RestoreGrState(); }; + this.CreateScrollSettings = function(height) + { + var element = this.HtmlPage.m_oNotes.HtmlElement; + var settings = new AscCommon.ScrollSettings(); + settings.screenW = element.width; + settings.screenH = element.height; + settings.vscrollStep = 45; + settings.hscrollStep = 45; + settings.contentW = 1; + settings.contentH = 2 * this.OffsetY + ((height * g_dKoef_mm_to_pix) >> 0); + settings.scrollerMinHeight = 5; + + settings.screenW = AscCommon.AscBrowser.convertToRetinaValue(settings.screenW); + settings.screenH = AscCommon.AscBrowser.convertToRetinaValue(settings.screenH); + + settings.scrollBackgroundColor = GlobalSkin.ScrollBackgroundColor; + settings.scrollBackgroundColorHover = GlobalSkin.ScrollBackgroundColor; + settings.scrollBackgroundColorActive = GlobalSkin.ScrollBackgroundColor; + + settings.scrollerColor = GlobalSkin.ScrollerColor; + settings.scrollerHoverColor = GlobalSkin.ScrollerHoverColor; + settings.scrollerActiveColor = GlobalSkin.ScrollerActiveColor; + + settings.arrowColor = GlobalSkin.ScrollArrowColor; + settings.arrowHoverColor = GlobalSkin.ScrollArrowHoverColor; + settings.arrowActiveColor = GlobalSkin.ScrollArrowActiveColor; + + settings.strokeStyleNone = GlobalSkin.ScrollOutlineColor; + settings.strokeStyleOver = GlobalSkin.ScrollOutlineHoverColor; + settings.strokeStyleActive = GlobalSkin.ScrollOutlineActiveColor; + + settings.targetColor = GlobalSkin.ScrollerTargetColor; + settings.targetHoverColor = GlobalSkin.ScrollerTargetHoverColor; + settings.targetActiveColor = GlobalSkin.ScrollerTargetActiveColor; + + return settings; + }; + this.OnRecalculateNote = function (slideNum, width, height) { var isChangedSlide = (this.Slide != slideNum) ? true : false; @@ -6051,22 +6089,7 @@ function CNotesDrawer(page) this.IsEmptyDraw = true; } - var element = this.HtmlPage.m_oNotes.HtmlElement; - var settings = new AscCommon.ScrollSettings(); - settings.screenW = element.width; - settings.screenH = element.height; - settings.vsscrollStep = 45; - settings.hsscrollStep = 45; - settings.contentW = 1; - settings.contentH = 2 * this.OffsetY + ((height * g_dKoef_mm_to_pix) >> 0); - settings.scrollerMinHeight = 5; - - settings.scrollBackgroundColor = GlobalSkin.ScrollBackgroundColor; - settings.scrollBackgroundColorHover = GlobalSkin.ScrollBackgroundColor; - settings.scrollBackgroundColorActive = GlobalSkin.ScrollBackgroundColor; - - settings.screenW = AscCommon.AscBrowser.convertToRetinaValue(settings.screenW); - settings.screenH = AscCommon.AscBrowser.convertToRetinaValue(settings.screenH); + var settings = this.CreateScrollSettings(height); this.ScrollMax = Math.max(0, settings.contentH - settings.screenH); if (this.Scroll > this.ScrollMax) diff --git a/slide/Drawing/HtmlPage.js b/slide/Drawing/HtmlPage.js index 3c8ac11376..b70c15bb6f 100644 --- a/slide/Drawing/HtmlPage.js +++ b/slide/Drawing/HtmlPage.js @@ -3098,6 +3098,8 @@ function CEditorPage(api) this.m_oBoundsController.ClearNoAttack(); + this.UpdateScrolls(); + this.OnScroll(); this.onTimerScroll_sync(true); @@ -4171,8 +4173,8 @@ function CEditorPage(api) } arr[i].Image = master.sldLayoutLst[i].ImageBase64; - arr[i].Width = master.sldLayoutLst[i].Width64; - arr[i].Height = master.sldLayoutLst[i].Height64; + arr[i].Width = AscCommon.AscBrowser.convertToRetinaValue(master.sldLayoutLst[i].Width64); + arr[i].Height = AscCommon.AscBrowser.convertToRetinaValue(master.sldLayoutLst[i].Height64); } this.m_oApi.sendEvent("asc_onUpdateLayout", arr); diff --git a/slide/Editor/Format/Layout.js b/slide/Editor/Format/Layout.js index 288ed80fcf..b63ab6e048 100644 --- a/slide/Editor/Format/Layout.js +++ b/slide/Editor/Format/Layout.js @@ -1121,17 +1121,12 @@ function CLayoutThumbnailDrawer() { _layout.recalculate2(); - var h_px = 67; + var h_px = 68; var w_px = (this.WidthMM * h_px / this.HeightMM) >> 0; + w_px = (w_px >> 2) << 2; - // пока не будем генерить для ретины - /* - if (this.IsRetina) - { - w_px <<= 1; - h_px <<= 1; - } - */ + h_px = AscCommon.AscBrowser.convertToRetinaValue(h_px, true); + w_px = AscCommon.AscBrowser.convertToRetinaValue(w_px, true); this.WidthPx = w_px; this.HeightPx = h_px; From 2827b9948e6eae8222da7ed10c63cc05406aafd2 Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Fri, 9 Apr 2021 16:01:37 +0300 Subject: [PATCH 144/381] Added theme's map for disabled select (#1791) --- common/plugins.js | 2 +- common/plugins/plugin_base.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/common/plugins.js b/common/plugins.js index a2a3cbc24f..ca9f8032b7 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -968,7 +968,7 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,h){var f=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(f=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===f.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(f[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function f(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}f.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                    ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};f.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};f.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,g=0;gb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:g=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=g,b>=d.length&&(b=b=d.length-1))}b*/); + pluginData.setAttribute("data", /**/"(function(a,h){var f=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(f=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===f.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(f[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function f(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}f.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                      ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};f.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};f.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,g=0;gb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:g=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=g,b>=d.length&&(b=b=d.length-1))}b*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index ab8122ec87..ced06a2e28 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -468,7 +468,8 @@ ".select2-container--default.select2-container--focus:not(.select2-container--open) .select2-selection--single" : { "border-color" : "border-regular-control !important"}, ".select2-container--default.select2-container--open.select2-container--focus .select2-selection--single" : { "border-color" : "border-control-focus !important"}, ".select2-search--dropdown" : { "background-color" : "background-normal !important"}, - ".select2-container--default .select2-search--dropdown .select2-search__field" : { "color" : "text-normal", "background-color" : "background-normal", "border-color" : "border-regular-control"} + ".select2-container--default .select2-search--dropdown .select2-search__field" : { "color" : "text-normal", "background-color" : "background-normal", "border-color" : "border-regular-control"}, + ".select2-container--default.select2-container--disabled .select2-selection--single" : { "background-color" : "background-normal" } }; var g_isMouseSendEnabled = false; From 9aa2df9ae928e14c7624dae6bc0c1dd92758c6bf Mon Sep 17 00:00:00 2001 From: Alexey Matveev <34643750+AlexeyMatveev686@users.noreply.github.com> Date: Fri, 9 Apr 2021 16:11:26 +0300 Subject: [PATCH 145/381] Added theme's map for disabled form-control (#1792) --- common/plugins.js | 2 +- common/plugins/plugin_base.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/common/plugins.js b/common/plugins.js index ca9f8032b7..ed9b705465 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -968,7 +968,7 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,h){var f=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(f=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===f.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(f[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function f(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}f.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                        ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};f.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};f.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,g=0;gb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:g=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=g,b>=d.length&&(b=b=d.length-1))}b*/); + pluginData.setAttribute("data", /**/"(function(a,h){var f=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(f=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===f.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(f[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function f(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}f.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                          ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};f.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};f.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,g=0;gb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:g=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=g,b>=d.length&&(b=b=d.length-1))}b*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index ced06a2e28..0036dfc4ff 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -449,6 +449,7 @@ "a.aboutlink" : { "color" : "text-normal" }, ".form-control" : { "color" : "text-normal", "background-color" : "background-normal", "border-color" : "border-regular-control" }, ".form-control:focus" : { "border-color" : "border-control-focus" }, + ".form-control[disabled]" : { "color" : "text-invers" }, ".btn-text-default" : { "background-color" : "background-normal", "border-color" : "border-regular-control", "color" : "text-normal" }, ".btn-text-default:hover" : { "background-color" : "highlight-button-hover" }, ".btn-text-default:active" : { "background-color" : "highlight-button-pressed !important" }, From c92a1ba66af00f0ec12e33bf812cae21e095feb2 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Fri, 9 Apr 2021 17:25:00 +0300 Subject: [PATCH 146/381] [bug] For bugs 49575, 49576: fix opening pptx with animation --- common/Drawings/Format/Format.js | 2 +- common/HistoryCommon.js | 7 +++-- slide/Editor/Format/Timing.js | 54 +++++++++++++++++++++++++------- 3 files changed, 48 insertions(+), 15 deletions(-) diff --git a/common/Drawings/Format/Format.js b/common/Drawings/Format/Format.js index 1b555e1a98..4862d9c1ae 100644 --- a/common/Drawings/Format/Format.js +++ b/common/Drawings/Format/Format.js @@ -123,7 +123,7 @@ var asc_CShapeProperty = Asc.asc_CShapeProperty; this.parent = oParent; }; CBaseFormatObject.prototype.setParentToChild = function(oChild) { - if(oChild) { + if(oChild && oChild.setParent) { oChild.setParent(this); } }; diff --git a/common/HistoryCommon.js b/common/HistoryCommon.js index e3a9bb22ad..66edc8e348 100644 --- a/common/HistoryCommon.js +++ b/common/HistoryCommon.js @@ -2989,8 +2989,11 @@ AscDFH.historyitem_BldPBuild = AscDFH.historyitem_type_BldP | 5; AscDFH.historyitem_BldPRev = AscDFH.historyitem_type_BldP | 6; - AscDFH.historyitem_BldSubBldChart = AscDFH.historyitem_type_BldSub | 1; - AscDFH.historyitem_BldSubBldDgm = AscDFH.historyitem_type_BldSub | 2; + AscDFH.historyitem_BldSubChart = AscDFH.historyitem_type_BldSub | 1; + AscDFH.historyitem_BldSubAnimBg = AscDFH.historyitem_type_BldSub | 2; + AscDFH.historyitem_BldSubBldChart = AscDFH.historyitem_type_BldSub | 3; + AscDFH.historyitem_BldSubBldDgm = AscDFH.historyitem_type_BldSub | 4; + AscDFH.historyitem_BldSubRev = AscDFH.historyitem_type_BldSub | 5; AscDFH.historyitem_DirTransitionDir = AscDFH.historyitem_type_DirTransition | 1; diff --git a/slide/Editor/Format/Timing.js b/slide/Editor/Format/Timing.js index 8bfc096063..629de7a4a5 100644 --- a/slide/Editor/Format/Timing.js +++ b/slide/Editor/Format/Timing.js @@ -676,32 +676,62 @@ return [this.tmplLst]; }; - changesFactory[AscDFH.historyitem_BldSubBldChart] = CChangeObject; - changesFactory[AscDFH.historyitem_BldSubBldDgm] = CChangeObject; + + changesFactory[AscDFH.historyitem_BldSubChart] = CChangeBool; + changesFactory[AscDFH.historyitem_BldSubAnimBg] = CChangeBool; + changesFactory[AscDFH.historyitem_BldSubRev] = CChangeBool; + changesFactory[AscDFH.historyitem_BldSubBldChart] = CChangeLong; + changesFactory[AscDFH.historyitem_BldSubBldDgm] = CChangeLong; drawingsChangesMap[AscDFH.historyitem_BldSubBldChart] = function(oClass, value) {oClass.bldChart = value;}; drawingsChangesMap[AscDFH.historyitem_BldSubBldDgm] = function(oClass, value) {oClass.bldDgm = value;}; + drawingsChangesMap[AscDFH.historyitem_BldSubChart] = function(oClass, value) {oClass.chart = value;}; + drawingsChangesMap[AscDFH.historyitem_BldSubAnimBg] = function(oClass, value) {oClass.animBg = value;}; + drawingsChangesMap[AscDFH.historyitem_BldSubRev] = function(oClass, value) {oClass.rev = value;}; function CBldSub() { CBaseFormatObject.call(this); + this.chart = null; + this.animBg = null; this.bldChart = null; this.bldDgm = null; + this.rev = null; } InitClass(CBldSub, CBaseFormatObject, AscDFH.historyitem_type_BldSub); CBldSub.prototype.setBldChart = function(pr) { - oHistory.Add(new CChangeObject(this, AscDFH.historyitem_BldSubBldChart, this.bldChart, pr)); + oHistory.Add(new CChangeLong(this, AscDFH.historyitem_BldSubBldChart, this.bldChart, pr)); this.bldChart = pr; - this.setParentToChild(pr); }; CBldSub.prototype.setBldDgm = function(pr) { - oHistory.Add(new CChangeObject(this, AscDFH.historyitem_BldSubBldDgm, this.bldDgm, pr)); + oHistory.Add(new CChangeLong(this, AscDFH.historyitem_BldSubBldDgm, this.bldDgm, pr)); this.bldDgm = pr; - this.setParentToChild(pr); + }; + CBldSub.prototype.setChart = function(pr) { + oHistory.Add(new CChangeBool(this, AscDFH.historyitem_BldSubChart, this.chart, pr)); + this.chart = pr; + }; + CBldSub.prototype.setAnimBg = function(pr) { + oHistory.Add(new CChangeBool(this, AscDFH.historyitem_BldSubAnimBg, this.animBg, pr)); + this.animBg = pr; + }; + CBldSub.prototype.setRev = function(pr) { + oHistory.Add(new CChangeBool(this, AscDFH.historyitem_BldSubRev, this.rev, pr)); + this.rev = pr; }; CBldSub.prototype.fillObject = function(oCopy, oIdMap) { - if(this.bldChart) { - oCopy.setBldChart(this.bldChart.createDuplicate(oIdMap)); + if(this.chart !== null) { + oCopy.setChart(this.chart); + } + if(this.animBg !== null) { + oCopy.setAnimBg(this.animBg); + } + + if(this.bldChart !== null) { + oCopy.setBldChart(this.bldChart); + } + if(this.bldDgm !== null) { + oCopy.setBldDgm(this.bldDgm); } - if(this.bldDgm) { - oCopy.setBldDgm(this.bldDgm.createDuplicate(oIdMap)); + if(this.rev !== null) { + oCopy.setRev(this.rev); } }; CBldSub.prototype.privateWriteAttributes = function(pWriter) { @@ -2473,7 +2503,7 @@ var oColor; if(2 === nType || 3 === nType || 4 === nType) { if(this.byRGB) { - oColor = this.byRGB.createDuplicate(oIdMap); + oColor = this.byRGB.createDuplicate({}); } else { oColor = new CColorPercentage(); @@ -2485,7 +2515,7 @@ } else { if(this.byHSL) { - oColor = this.byHSL.createDuplicate(oIdMap); + oColor = this.byHSL.createDuplicate({}); } else { oColor = new CColorPercentage(); From 5e9516117fe5921b5ad8858d89b348cae5eb246d Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Fri, 9 Apr 2021 17:55:42 +0300 Subject: [PATCH 147/381] [se] Fix bug 49564 --- cell/model/HeaderFooter.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/cell/model/HeaderFooter.js b/cell/model/HeaderFooter.js index 504d1d33fe..19b867c569 100644 --- a/cell/model/HeaderFooter.js +++ b/cell/model/HeaderFooter.js @@ -804,9 +804,13 @@ obj.width = t.parentWidth; obj.canvas = document.createElement('canvas'); obj.canvas.id = obj.id; - obj.canvas.style.width = t.parentWidth + "px"; - obj.canvas.style.height = t.parentHeight + "px"; - AscCommon.calculateCanvasSize(obj.canvas); + //TODO перепроверить код ниже. оставляю как было раньше + /*obj.canvas.style.width = t.parentWidth + "px"; + obj.canvas.style.height = t.parentHeight + "px"; + AscCommon.calculateCanvasSize(obj.canvas);*/ + obj.canvas.width = t.parentWidth; + obj.canvas.height = t.parentHeight; + obj.canvas.style.width = AscCommon.AscBrowser.convertToRetinaValue(t.parentWidth) + "px"; var curElem = document.getElementById(id); curElem.appendChild(obj.canvas); From 33c90314c74e014d37322e6e27c8cd2be045043c Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sat, 10 Apr 2021 10:57:25 +0300 Subject: [PATCH 148/381] [bug] Fix bug 49578 --- cell/model/Workbook.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cell/model/Workbook.js b/cell/model/Workbook.js index 9ce0404e84..a54951f1cb 100644 --- a/cell/model/Workbook.js +++ b/cell/model/Workbook.js @@ -3595,11 +3595,12 @@ } }); + var sNewNameEscaped = parserHelp.getEscapeSheetName(sNewName); var sOldName = parserHelp.getEscapeSheetName(oWorksheet.sName); this.checkObjectsLock(aId, function(bNoLock) { if(bNoLock) { for(var nRef = 0; nRef < aRefsToChange.length; ++nRef) { - aRefsToChange[nRef].handleOnChangeSheetName(sOldName, sNewName); + aRefsToChange[nRef].handleOnChangeSheetName(sOldName, sNewNameEscaped); } if(Asc.editor && Asc.editor.wb) { var sOldSheetName = oWorksheet.sName; @@ -4770,7 +4771,7 @@ History.Create_NewPoint(); if(!bFromUndoRedo) { - this.workbook.handleChartsOnChangeSheetName(this, parserHelp.getEscapeSheetName(name)); + this.workbook.handleChartsOnChangeSheetName(this, name); } var prepared = this.workbook.dependencyFormulas.prepareChangeSheet(this.getId(), {rename: {from: lastName, to: name}}); this.sName = name; From e9fbd1c35499051ed4524e257e4c44112156f9c6 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Sat, 10 Apr 2021 15:18:49 +0300 Subject: [PATCH 149/381] For bug #49135 Add ability to fill picture in special picture content control when pasting data --- word/Editor/Document.js | 28 +++++++++++++++++++++++++++- word/Editor/DocumentContent.js | 30 +++++++++++++++++++++++++++++- word/Editor/Run.js | 11 +++++++++++ word/api.js | 31 ++++++++++++++++++++----------- 4 files changed, 87 insertions(+), 13 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 0d74784c7b..7c6eed7d9a 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -8984,7 +8984,33 @@ CDocument.prototype.InsertContent = function(SelectedContent, NearPos) } else if (para_Run === LastClass.Type) { - if (LastClass.GetParentForm()) + var oDstPictureCC = LastClass.GetParentPictureContentControl(); + if (oDstPictureCC) + { + var oSrcPicture = null; + for (var nIndex = 0, nCount = SelectedContent.DrawingObjects.length; nIndex < nCount; ++nIndex) + { + if (SelectedContent.DrawingObjects[nIndex].IsPicture()) + { + oSrcPicture = SelectedContent.DrawingObjects[nIndex].GraphicObj; + break; + } + } + + var arrParaDrawings = oDstPictureCC.GetAllDrawingObjects(); + if (arrParaDrawings.length > 0 && oSrcPicture) + { + oSrcPicture.setParent(arrParaDrawings[0]); + arrParaDrawings[0].Set_GraphicObject(oSrcPicture); + + this.DrawingObjects.resetSelection(); + this.RemoveSelection(); + oDstPictureCC.SelectContentControl(); + } + + return; + } + else if (LastClass.GetParentForm()) { var nInLastClassPos = ParaNearPos.NearPos.ContentPos.Data[ParaNearPos.Classes.length - 1] diff --git a/word/Editor/DocumentContent.js b/word/Editor/DocumentContent.js index 2fb6144eb6..4eae4199fb 100644 --- a/word/Editor/DocumentContent.js +++ b/word/Editor/DocumentContent.js @@ -4393,7 +4393,35 @@ CDocumentContent.prototype.InsertContent = function(SelectedContent, NearPos) } else if (para_Run === LastClass.Type) { - if (LastClass.GetParentForm()) + var oDstPictureCC = LastClass.GetParentPictureContentControl(); + if (oDstPictureCC) + { + var oSrcPicture = null; + for (var nIndex = 0, nCount = SelectedContent.DrawingObjects.length; nIndex < nCount; ++nIndex) + { + if (SelectedContent.DrawingObjects[nIndex].IsPicture()) + { + oSrcPicture = SelectedContent.DrawingObjects[nIndex].GraphicObj; + break; + } + } + + var arrParaDrawings = oDstPictureCC.GetAllDrawingObjects(); + if (arrParaDrawings.length > 0 && oSrcPicture) + { + oSrcPicture.setParent(arrParaDrawings[0]); + arrParaDrawings[0].Set_GraphicObject(oSrcPicture); + + if (this.LogicDocument) + { + this.LogicDocument.RemoveSelection(); + oDstPictureCC.SelectContentControl(); + } + } + + return; + } + else if (LastClass.GetParentForm()) { var nInLastClassPos = ParaNearPos.NearPos.ContentPos.Data[ParaNearPos.Classes.length - 1] diff --git a/word/Editor/Run.js b/word/Editor/Run.js index 22057c8734..ecb63f1ee8 100644 --- a/word/Editor/Run.js +++ b/word/Editor/Run.js @@ -12732,6 +12732,17 @@ ParaRun.prototype.GetParentForm = function() { return (this.Parent instanceof CInlineLevelSdt && this.Parent.IsForm() ? this.Parent : null); }; +ParaRun.prototype.GetParentPictureContentControl = function() +{ + var arrParentCC = this.GetParentContentControls(); + for (var nIndex = 0, nCount = arrParentCC.length; nIndex < nCount; ++nIndex) + { + if (arrParentCC[nIndex].IsPicture()) + return arrParentCC[nIndex]; + } + + return null; +}; ParaRun.prototype.CopyTextFormContent = function(oRun) { var nRunLen = oRun.Content.length; diff --git a/word/api.js b/word/api.js index 11140df078..cfc30598d0 100644 --- a/word/api.js +++ b/word/api.js @@ -2247,26 +2247,35 @@ background-repeat: no-repeat;\ asc_docs_api.prototype.asc_PasteData = function(_format, data1, data2, text_data, useCurrentPoint, callback) { - if (AscCommon.CollaborativeEditing.Get_GlobalLock()) - return; - + if (AscCommon.CollaborativeEditing.Get_GlobalLock()) + return; + var _logicDoc = this.WordControl.m_oLogicDocument; if (!_logicDoc) return; - if (false === _logicDoc.IsSelectionLocked(changestype_Paragraph_Content, null, true, _logicDoc.IsFormFieldEditing())) + // TODO: isPasteImage заменить на проверку того, что вставляется просто картинка + var isPasteImage = false; + + var isLocked = true; + var oCC = null; + + if (isPasteImage) + oCC = _logicDoc.GetContentControl(); + + if (oCC && oCC.IsPicture()) + isLocked = _logicDoc.IsSelectionLocked(AscCommon.changestype_Image_Properties, null, true, _logicDoc.IsFormFieldEditing()); + else + isLocked = _logicDoc.IsSelectionLocked(AscCommon.changestype_Paragraph_Content, null, true, _logicDoc.IsFormFieldEditing()); + + if (!isLocked) { window['AscCommon'].g_specialPasteHelper.Paste_Process_Start(arguments[5]); - - if (!useCurrentPoint) { + + if (!useCurrentPoint) _logicDoc.StartAction(AscDFH.historydescription_Document_PasteHotKey); - } AscCommon.Editor_Paste_Exec(this, _format, data1, data2, text_data, undefined, callback); - - if (!useCurrentPoint) { - //_logicDoc.FinalizeAction(); - } } }; From 185e2972099c24b1f10a5dddedf1e35006e1ca7b Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Mon, 12 Apr 2021 09:50:29 +0300 Subject: [PATCH 150/381] [se] Fix bug 49135 --- common/wordcopypaste.js | 30 ++++++++++++++++++++++++++++++ word/api.js | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/common/wordcopypaste.js b/common/wordcopypaste.js index b95d2c17c1..bf11f7ccef 100644 --- a/common/wordcopypaste.js +++ b/common/wordcopypaste.js @@ -8948,6 +8948,33 @@ SpecialPasteShowOptions.prototype = { } }; +function checkOnlyOneImage(node) +{ + var res = false; + + if (node && node.childNodes) { + for (var i = 0; i < node.childNodes.length; i++) { + var sChildNodeName = node.childNodes[i].nodeName.toLowerCase(); + if (sChildNodeName === "style" || sChildNodeName === "#comment" || sChildNodeName === "script") { + continue; + } + if (sChildNodeName === "img") { + if (res) { + res = false; + break; + } else { + res = true; + } + } else { + res = false; + break; + } + } + } + + return res; +} + //---------------------------------------------------------export--------------------------------------------------- window['AscCommon'] = window['AscCommon'] || {}; window["AscCommon"].Check_LoadingDataBeforePrepaste = Check_LoadingDataBeforePrepaste; @@ -8974,4 +9001,7 @@ SpecialPasteShowOptions.prototype = { prot["asc_getShowPasteSpecial"] = prot.asc_getShowPasteSpecial; prot["asc_getContainTables"] = prot.asc_getContainTables; + window["AscCommon"].checkOnlyOneImage = checkOnlyOneImage; + + })(window); diff --git a/word/api.js b/word/api.js index cfc30598d0..06ee0240e8 100644 --- a/word/api.js +++ b/word/api.js @@ -2255,7 +2255,7 @@ background-repeat: no-repeat;\ return; // TODO: isPasteImage заменить на проверку того, что вставляется просто картинка - var isPasteImage = false; + var isPasteImage = AscCommon.checkOnlyOneImage(data1); var isLocked = true; var oCC = null; From 416fea8551b8e940c1a15d8c27843c5488496518 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Mon, 12 Apr 2021 10:55:21 +0300 Subject: [PATCH 151/381] Add support real-time change themes in plugins (#1797) --- common/Images/placeholders/audio@1.5x.png | Bin 0 -> 339 bytes .../Images/placeholders/audio_active@1.5x.png | Bin 0 -> 301 bytes common/Images/placeholders/chart@1.5x.png | Bin 0 -> 130 bytes .../Images/placeholders/chart_active@1.5x.png | Bin 0 -> 123 bytes common/Images/placeholders/image@1.5x.png | Bin 0 -> 249 bytes .../Images/placeholders/image_active@1.5x.png | Bin 0 -> 224 bytes common/Images/placeholders/image_url@1.5x.png | Bin 0 -> 422 bytes .../placeholders/image_url_active@1.5x.png | Bin 0 -> 366 bytes common/Images/placeholders/table@1.5x.png | Bin 0 -> 118 bytes .../Images/placeholders/table_active@1.5x.png | Bin 0 -> 112 bytes common/Images/placeholders/video@1.5x.png | Bin 0 -> 199 bytes .../Images/placeholders/video_active@1.5x.png | Bin 0 -> 182 bytes common/plugins.js | 20 +++- common/plugins/plugin_base.js | 65 ++++++------ common/skin.js | 3 + word/Drawing/buttons.js | 95 ++++++++++++------ 16 files changed, 121 insertions(+), 62 deletions(-) create mode 100644 common/Images/placeholders/audio@1.5x.png create mode 100644 common/Images/placeholders/audio_active@1.5x.png create mode 100644 common/Images/placeholders/chart@1.5x.png create mode 100644 common/Images/placeholders/chart_active@1.5x.png create mode 100644 common/Images/placeholders/image@1.5x.png create mode 100644 common/Images/placeholders/image_active@1.5x.png create mode 100644 common/Images/placeholders/image_url@1.5x.png create mode 100644 common/Images/placeholders/image_url_active@1.5x.png create mode 100644 common/Images/placeholders/table@1.5x.png create mode 100644 common/Images/placeholders/table_active@1.5x.png create mode 100644 common/Images/placeholders/video@1.5x.png create mode 100644 common/Images/placeholders/video_active@1.5x.png diff --git a/common/Images/placeholders/audio@1.5x.png b/common/Images/placeholders/audio@1.5x.png new file mode 100644 index 0000000000000000000000000000000000000000..e4aadbcdf715e97ed460a1aadfb9a11076b45d20 GIT binary patch literal 339 zcmV-Z0j&OsP)X)|(gO)+dAj2SKkYP{=h7bsbUb_TxKG_!^uM*us zp-|wpM6$$B5D@T1BeL`pdX3siL`$@jqQmf#79L5KL@Ldo#qhjx#ZfAvom9cctb1~D zFnC9FB-L?F@N^rA_}bs3-yb=ZYRjh!1iB5r?)l1*=i{3+{bwYV3Muyh9a;lvhWjkz z1{*UeJVIW<98IJ;^ZL$2s`utnsW@tj?W7Ct$FUvkq*4CoY{k8il-H_4z#H9ykHU1; zoeNXsx4NJn1)ap&9ZMDIc}~xOR!&o&PFAF6;RXq-V`=S>yrbvwjw9X=*QscxdPR$X l%}$De8?pfH)iEp-3g3WlkLRG#L3scG002ovPDHLkV1hgun5+N* literal 0 HcmV?d00001 diff --git a/common/Images/placeholders/audio_active@1.5x.png b/common/Images/placeholders/audio_active@1.5x.png new file mode 100644 index 0000000000000000000000000000000000000000..08e947ff8d9b7febbafe829ae2f58ea070386904 GIT binary patch literal 301 zcmV+|0n+}7P)vCx+ev%UCW7sxj;dE!NEI-b(or@u zwv$do-P>#@Exc>BibhgasEWkL<7qmdO;de}f2wRVQ}CD8L1dI?AY3ec(+ll|fy(k& zil^dVZ6}|{amx65mrAVnq?ti1AY9$UMx*f!SqTADH5lIf00000NkvXXu0mjfF%^fT literal 0 HcmV?d00001 diff --git a/common/Images/placeholders/chart@1.5x.png b/common/Images/placeholders/chart@1.5x.png new file mode 100644 index 0000000000000000000000000000000000000000..d186b4e4efd011b6bbd1f87bf4a4a51b61065e22 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^S|H590wnWKFH;Oz%6*4NjrDUEFYr1T()%vun# z$D#OxfeGRbQU6~hj&LMWM4O>7jx4v1fY}li_If578D$OD;N65mA>_?Te?z3qH8J9JjkKcg&_ z!q1^R84Ow=%8P?U=A_1Bn>ZRJJt#`qzhw zBl7iw<4GuTbAyn79TXE1Qa4wGx+e}~$YKLu4T?looD5P;s1fgNO{jOFw`8!vTr*I! z1PcBS=IL?qiX*S8LIv55PO!D0x=L{u$yR}u8z)oc$V;SRF=0VMM#9n!y}b~69EmlO z3+<@Tc65PbH=Knk<_L0g)N92>kABGC%sIc%u>3UosEQRkwk0FabTY4^A zx%dsWk9^*bLqBz;3#jnR&eX-@kre>^>FB$mxn8nCUcKig@?P%VqIS)(w^~OE<$zhy zvd$X?FIX~C?a0yz$Vkb+H}^>T0*7wUF4YYjkod8=S7h7qy`RF%`Tj&b1JGtpO&nu% QJ^%m!07*qoM6N<$fv3BN78FpX(!pY!rhJ@hYp@WD?-@fONh zD!c*yIjLP$9TTO#I7P{=JWpDs9~sq|()c6OOlfvXqFcwzg*sGK{@?cL5Q}1&DQ(KF zX(vgwUbakAr2W9fDO27no7V2CqPkk8q4Y({i|Vv#(#@$@2hsDD?h>~I- zN&8iPsN58()v@-y!x4g{xI8J!3dd)*zed<%2 zt{c}bA4*5cR%iR9E9EWUaQ2Opk@T1L^y;R|7tU!hAOzW%HM|~CwRC&agT4C}Tr|bu zXi}%6DXrnH$ciK?cI=91QRMI*Y>LyWqFSA*&*8mDwyvILG5nQ$1tb+w<*vKYlmGw# M07*qoM6N<$fR literal 0 HcmV?d00001 diff --git a/common/Images/placeholders/table@1.5x.png b/common/Images/placeholders/table@1.5x.png new file mode 100644 index 0000000000000000000000000000000000000000..7d251aa94e8e935ba237a141afbe958338f6ef88 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^S|H590wnWKF5#sJxzfRs_s9v z|9Ro7U6^z1Kjn-=48hkYn2RuZnu@S_Zn&JfKicN%UjEL=?G>w}xeRYCJ>cBvmDn{& z>i+I?-vbsn%}7!!?l?H5T3+~C@XdhdKi7Q=;SHW%#m=~@RdZRRNcH`n`?BqhIAlrg yx_`AU;OXCspRUYYWOeGN9kcHN4GGr83=C2aRW0Xo9lZr~8H1;*pUXO@geCx+98WF) literal 0 HcmV?d00001 diff --git a/common/Images/placeholders/video_active@1.5x.png b/common/Images/placeholders/video_active@1.5x.png new file mode 100644 index 0000000000000000000000000000000000000000..2ea9d83dce9cd79ec75bb088f0f1745bf2d93d49 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^S|H590wnWKFl+|^4>u0>WXt~&weamOFhF|c7N>u;= literal 0 HcmV?d00001 diff --git a/common/plugins.js b/common/plugins.js index ed9b705465..9535ec6070 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -813,6 +813,24 @@ } }, + onThemeChanged : function(obj) + { + for (var guid in this.runnedPluginsMap) + { + var runObject = this.runnedPluginsMap[guid]; + runObject.startData.setAttribute("type", "onThemeChanged"); + runObject.startData.setAttribute("theme", obj); + this.correctData(runObject.startData); + + var _iframe = document.getElementById(runObject.frameId); + if (_iframe) + { + runObject.startData.setAttribute("guid", guid); + _iframe.contentWindow.postMessage(runObject.startData.serialize(), "*"); + } + } + }, + onPluginMethodReturn : function(guid, _return) { var plugin = this.getPluginByGuid(guid); @@ -968,7 +986,7 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,h){var f=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(f=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===f.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(f[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function f(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}f.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                            ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};f.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};f.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,g=0;gb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:g=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=g,b>=d.length&&(b=b=d.length-1))}b*/); + pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                              ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index 0036dfc4ff..8ad93a6dac 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -520,46 +520,49 @@ if (type == "init") window.Asc.plugin.info = pluginData; - if (!window.Asc.plugin.theme && undefined !== pluginData.theme) + if (undefined !== pluginData.theme) { - window.Asc.plugin.theme = pluginData.theme; - - window.Asc.plugin.onThemeChangedBase = function(newTheme) + if (!window.Asc.plugin.theme || type === "onThemeChanged") { - // correct theme - if (pluginData.theme.Name !== "theme-light") // default + window.Asc.plugin.theme = pluginData.theme; + + if (!window.Asc.plugin.onThemeChangedBase) { - var rules = ""; - for (var className in g_themes_map) + window.Asc.plugin.onThemeChangedBase = function (newTheme) { - rules += (className + " {"); - - var attributes = g_themes_map[className]; - for (var attr in attributes) + // correct theme + var rules = ""; + for (var className in g_themes_map) { - var attrValue = attributes[attr]; - var attrValueImportant = attrValue.indexOf(" !important"); - if (-1 < attrValueImportant) - attrValue = attrValue.substr(0, attrValueImportant); - var newVal = newTheme[attrValue]; - if (newVal) - rules += (attr + " : " + newVal + ((-1 === attrValueImportant) ? ";" : " !important;")); - } + rules += (className + " {"); - rules += " }\n"; - } + var attributes = g_themes_map[className]; + for (var attr in attributes) + { + var attrValue = attributes[attr]; + var attrValueImportant = attrValue.indexOf(" !important"); + if (-1 < attrValueImportant) + attrValue = attrValue.substr(0, attrValueImportant); + var newVal = newTheme[attrValue]; + if (newVal) + rules += (attr + " : " + newVal + ((-1 === attrValueImportant) ? ";" : " !important;")); + } + + rules += " }\n"; + } - var styleTheme = document.createElement('style'); - styleTheme.type = 'text/css'; - styleTheme.innerHTML = rules; - document.getElementsByTagName('head')[0].appendChild(styleTheme); + var styleTheme = document.createElement('style'); + styleTheme.type = 'text/css'; + styleTheme.innerHTML = rules; + document.getElementsByTagName('head')[0].appendChild(styleTheme); + }; } - }; - if (window.Asc.plugin.onThemeChanged) - window.Asc.plugin.onThemeChanged(window.Asc.plugin.theme); - else - window.Asc.plugin.onThemeChangedBase(window.Asc.plugin.theme); + if (window.Asc.plugin.onThemeChanged) + window.Asc.plugin.onThemeChanged(window.Asc.plugin.theme); + else + window.Asc.plugin.onThemeChangedBase(window.Asc.plugin.theme); + } } if (!window.Asc.plugin.tr || !window.Asc.plugin.tr_init) diff --git a/common/skin.js b/common/skin.js index 15e44a44df..4592e64f2d 100644 --- a/common/skin.js +++ b/common/skin.js @@ -377,6 +377,9 @@ function updateGlobalSkin(obj) if (obj["EditorBorder"]) GlobalSkin.EditorBorder = obj["EditorBorder"]; } + if (window.g_asc_plugins) + window.g_asc_plugins.onThemeChanged(GlobalSkin); + window['AscCommon'].GlobalSkin = GlobalSkin; } diff --git a/word/Drawing/buttons.js b/word/Drawing/buttons.js index 580c6d04a3..07132aafd2 100644 --- a/word/Drawing/buttons.js +++ b/word/Drawing/buttons.js @@ -72,41 +72,76 @@ function PI() { this.images = []; - this.load = function(type, url) - { - this.images[0] = new Image(); - this.images[0].onload = function() { this.asc_complete = true; }; - this.images[0].src = "../../../../sdkjs/common/Images/placeholders/" + url + ".png"; - AscCommon.backoffOnErrorImg(this.images[0]); + this.images_active = []; + this.support = [1, 1.5, 2]; + } - this.images[1] = new Image(); - this.images[1].onload = function() { this.asc_complete = true; }; - this.images[1].src = "../../../../sdkjs/common/Images/placeholders/" + url + "@2x.png"; - AscCommon.backoffOnErrorImg(this.images[1]); - }; - this.loadActive = function(url) + PI.prototype.getAddon = function(val) + { + val = (val * 10) >> 0; + if (10 === val) + return ""; + + var val1 = (val / 10) >> 0; + var val2 = val - (10 * val1); + + if (0 === val2) + return "@" + val1 + "x"; + + return "@" + val1 + "." + val2 + "x"; + }; + + PI.prototype.getIndex = function() + { + var scale = AscCommon.AscBrowser.retinaPixelRatio; + var index = 0; + var len = this.support.length; + while (index < len) { - this.images[2] = new Image(); - this.images[2].onload = function() { this.asc_complete = true; }; - this.images[2].src = "../../../../sdkjs/common/Images/placeholders/" + url + "_active.png"; - AscCommon.backoffOnErrorImg(this.images[2]); + if (this.support[index] > (scale + 0.01)) + break; + ++index; + } + --index; + if (index < 0) + return 0; + if (index >= len) + return len - 1; + return index; + }; - this.images[3] = new Image(); - this.images[3].onload = function() { this.asc_complete = true; }; - this.images[3].src = "../../../../sdkjs/common/Images/placeholders/" + url + "_active@2x.png"; - AscCommon.backoffOnErrorImg(this.images[3]); - }; - this.get = function() + PI.prototype.load = function(type, url) + { + for (var i = 0, len = this.support.length; i < len; i++) { - var index = AscCommon.AscBrowser.isCustomScalingAbove2() ? 1 : 0; - return this.images[index].asc_complete ? this.images[index] : null; - }; - this.getActive = function() + var img = new Image(); + img.onload = function() { this.asc_complete = true; }; + img.src = "../../../../sdkjs/common/Images/placeholders/" + url + this.getAddon(this.support[i]) + ".png"; + AscCommon.backoffOnErrorImg(img); + this.images.push(img); + } + }; + PI.prototype.loadActive = function(url) + { + for (var i = 0, len = this.support.length; i < len; i++) { - var index = AscCommon.AscBrowser.isCustomScalingAbove2() ? 3 : 2; - return this.images[index].asc_complete ? this.images[index] : null; - }; - } + var img = new Image(); + img.onload = function() { this.asc_complete = true; }; + img.src = "../../../../sdkjs/common/Images/placeholders/" + url + "_active" + this.getAddon(this.support[i]) + ".png"; + AscCommon.backoffOnErrorImg(img); + this.images_active.push(img); + } + }; + PI.prototype.get = function() + { + var index = this.getIndex(); + return this.images[index].asc_complete ? this.images[index] : null; + }; + PI.prototype.getActive = function() + { + var index = this.getIndex(); + return this.images_active[index].asc_complete ? this.images_active[index] : null; + }; this.images = []; From cce27953cb68f6ca258937359f0a3cae0e925842 Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Mon, 12 Apr 2021 12:54:24 +0300 Subject: [PATCH 152/381] Added themes support for scroll (#1799) --- common/plugins.js | 2 +- common/plugins/plugin_base.js | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/common/plugins.js b/common/plugins.js index 9535ec6070..fdba659ce2 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -986,7 +986,7 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b*/); + pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                  ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index 8ad93a6dac..70691d7991 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -470,7 +470,11 @@ ".select2-container--default.select2-container--open.select2-container--focus .select2-selection--single" : { "border-color" : "border-control-focus !important"}, ".select2-search--dropdown" : { "background-color" : "background-normal !important"}, ".select2-container--default .select2-search--dropdown .select2-search__field" : { "color" : "text-normal", "background-color" : "background-normal", "border-color" : "border-regular-control"}, - ".select2-container--default.select2-container--disabled .select2-selection--single" : { "background-color" : "background-normal" } + ".select2-container--default.select2-container--disabled .select2-selection--single" : { "background-color" : "background-normal" }, + ".ps .ps__rail-y:hover" : {"background-color" : "background-toolbar" }, + ".ps .ps__rail-y.ps--clicking" : {"background-color" : "background-toolbar" }, + ".ps__thumb-y" : {"background-color" : "background-normal", "border-color" : "background-normal" }, + ".ps__rail-y:hover > .ps__thumb-y" : {"border-color" : "canvas-scroll-thumb-hover" } }; var g_isMouseSendEnabled = false; From e51d6473b591dc0ee7b996113cd39c14addf7084 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Mon, 12 Apr 2021 15:26:03 +0300 Subject: [PATCH 153/381] Main events in plugins (for example onDocumentContentReady) (#1800) --- common/apiBase.js | 11 ++--------- common/plugins.js | 28 ++++++++++++++++++++++------ 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/common/apiBase.js b/common/apiBase.js index 47b3ae8c6a..9bfcc67439 100644 --- a/common/apiBase.js +++ b/common/apiBase.js @@ -766,9 +766,8 @@ } this.sync_EndAction(c_oAscAsyncActionType.BlockInteraction, c_oAscAsyncAction.Open); this.sendEvent('asc_onDocumentContentReady'); - this.sendEvent('asc_LoadPluginsOrDocument'); - if (window.g_asc_plugins && window.g_asc_plugins.countEventDocContOrPluginsReady == 2) + if (window.g_asc_plugins) window.g_asc_plugins.onPluginEvent("onDocumentContentReady"); if (c_oEditorId.Spreadsheet === this.editorId) { @@ -2216,14 +2215,8 @@ baseEditorsApi.prototype.asc_pluginsRegister = function(basePath, plugins) { - this.sendEvent('asc_LoadPluginsOrDocument'); - - if (null != this.pluginsManager) { + if (null != this.pluginsManager) this.pluginsManager.register(basePath, plugins); - - if (this.pluginsManager.countEventDocContOrPluginsReady == 2) - this.pluginsManager.onPluginEvent("onDocumentContentReady"); - } }; baseEditorsApi.prototype.asc_pluginRun = function(guid, variation, pluginData) { diff --git a/common/plugins.js b/common/plugins.js index fdba659ce2..afdf64fa80 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -94,8 +94,6 @@ this.isNoSystemPluginsOnlyOne = true; - this.countEventDocContOrPluginsReady = 0; - this.guidAsyncMethod = ""; this.sendsToInterface = {}; @@ -106,6 +104,14 @@ if (this.api.isCheckCryptoReporter) this.checkCryptoReporter(); + + // сообщения, которые ДОЛЖНЫ отправиться в каждый плагин один раз + // например onDocumentContentReady + // объект - { name : data ] } - список + this.mainEventTypes = { + "onDocumentContentReady" : true + }; + this.mainEvents = {}; } CPluginsManager.prototype = @@ -424,6 +430,17 @@ if (!plugin || !runObject) return; + // приходили главные евенты. нужно их послать + for (var mainEventType in this.mainEvents) + { + if (plugin.variations[runObject.currentVariation].eventsMap[mainEventType]) + { + if (!runObject.waitEvents) + runObject.waitEvents = []; + runObject.waitEvents.push({ n : mainEventType, d : this.mainEvents[mainEventType] }); + } + } + if (runObject.startData.getAttribute("resize") === true) this.startLongAction(); @@ -722,6 +739,9 @@ onPluginEvent : function(name, data) { + if (this.mainEventTypes[name]) + this.mainEvents[name] = data; + for (var guid in this.runnedPluginsMap) { var plugin = this.getPluginByGuid(guid); @@ -1169,10 +1189,6 @@ }, 10); }); - window.g_asc_plugins.api.asc_registerCallback('asc_LoadPluginsOrDocument', function() - { - window.g_asc_plugins.countEventDocContOrPluginsReady++; - }); if (window.location && window.location.search) { From e18625f537335a9f566ac1da48808b1b61e03fe4 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Mon, 12 Apr 2021 21:54:08 +0300 Subject: [PATCH 154/381] Fix bug #49571 --- word/Editor/ParagraphContent.js | 24 ++++++++++++++++++++++++ word/Editor/Run.js | 31 ++++++++++++++----------------- 2 files changed, 38 insertions(+), 17 deletions(-) diff --git a/word/Editor/ParagraphContent.js b/word/Editor/ParagraphContent.js index 60e2c058c4..4cc2df25be 100644 --- a/word/Editor/ParagraphContent.js +++ b/word/Editor/ParagraphContent.js @@ -241,6 +241,22 @@ CRunElementBase.prototype.IsDiacriticalSymbol = function() { return false; }; +/** + * Может ли строка начинаться с данного элемента + * @returns {boolean} + */ +CRunElementBase.prototype.CanBeAtBeginOfLine = function() +{ + return true; +}; +/** + * Может ли строка заканчиваться данным элементом + * @returns {boolean} + */ +CRunElementBase.prototype.CanBeAtEndOfLine = function() +{ + return true; +}; /** * Проверять ли автозамену на вводе данного элемента * @returns {boolean} @@ -281,6 +297,14 @@ CRunElementBase.prototype.IsEqual = function(oElement) { return (this.Type === oElement.Type) }; +/** + * Нужно ли ставить разрыв слова после данного элемента + * @returns {boolean} + */ +CRunElementBase.prototype.IsSpaceAfter = function() +{ + return false; +}; /** * Класс представляющий текстовый символ diff --git a/word/Editor/Run.js b/word/Editor/Run.js index ecb63f1ee8..b53b1bc34b 100644 --- a/word/Editor/Run.js +++ b/word/Editor/Run.js @@ -3337,30 +3337,27 @@ ParaRun.prototype.Recalculate_Range = function(PRS, ParaPr, Depth) } } - if (true !== NewRange) - { - // Если с данного элемента не может начинаться строка, тогда считает все пробелы идущие + if (true !== NewRange) + { + // Если с данного элемента не может начинаться строка, тогда считает все пробелы идущие // до него частью этого слова. // Если места для разрыва строки еще не было, значит это все еще первый элемент идет, и // тогда общую ширину пробелов прибавляем к ширине символа. // Если разрыв были и с данного символа не может начинаться строка, тогда испоьльзуем // предыдущий разрыв. - if (para_Text === ItemType) + if (PRS.LineBreakFirst && !Item.CanBeAtBeginOfLine()) { - if (PRS.LineBreakFirst && !Item.CanBeAtBeginOfLine()) - { - FirstItemOnLine = true; - LetterLen = LetterLen + SpaceLen; - SpaceLen = 0; - } - else if (Item.CanBeAtBeginOfLine()) - { - PRS.Set_LineBreakPos(Pos, FirstItemOnLine); - } + FirstItemOnLine = true; + LetterLen = LetterLen + SpaceLen; + SpaceLen = 0; + } + else if (Item.CanBeAtBeginOfLine()) + { + PRS.Set_LineBreakPos(Pos, FirstItemOnLine); } - // Если текущий символ с переносом, например, дефис, тогда на нем заканчивается слово - if (Item.Flags & PARATEXT_FLAGS_SPACEAFTER)//if ( true === Item.IsSpaceAfter() ) + // Если текущий символ с переносом, например, дефис, тогда на нем заканчивается слово + if (Item.IsSpaceAfter()) { // Добавляем длину пробелов до слова и ширину самого слова. X += SpaceLen + LetterLen; @@ -3372,7 +3369,7 @@ ParaRun.prototype.Recalculate_Range = function(PRS, ParaPr, Depth) SpaceLen = 0; WordLen = 0; } - else + else { Word = true; WordLen = LetterLen; From 123317cb67b74388e6d031e3521d13a0ac15b055 Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Mon, 12 Apr 2021 23:49:08 +0300 Subject: [PATCH 155/381] Fix/bug 49566 (#1802) * [se] Fix bug 49566 --- cell/model/HeaderFooter.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/cell/model/HeaderFooter.js b/cell/model/HeaderFooter.js index 19b867c569..0d5ea73e89 100644 --- a/cell/model/HeaderFooter.js +++ b/cell/model/HeaderFooter.js @@ -667,9 +667,17 @@ return this.fragments; }; CHeaderFooterEditorSection.prototype.drawText = function () { + var t = this; this.canvasObj.drawingCtx.clear(); + + var drawBackground = function () { + t.canvasObj.drawingCtx.setFillStyle(new AscCommon.CColor(255, 255, 255)) + .fillRect(0, 0, t.canvasObj.canvas.width, t.canvasObj.canvas.height); + }; + if(!this.fragments) { //возможно стоит очищать канву в данном случае + drawBackground(); return; } @@ -688,10 +696,11 @@ var cellEditorWidth = width - 2 * wb.defaults.worksheetView.cells.padding + 1; ws.stringRender.setString(this.fragments, cellFlags); - var textMetrics = ws.stringRender._measureChars(cellEditorWidth); var parentHeight = document.getElementById(this.canvasObj.idParent).clientHeight; - canvas.height = textMetrics.height > parentHeight ? textMetrics.height : parentHeight; + canvas.height = textMetrics.height > parentHeight ? textMetrics.height : AscCommon.AscBrowser.convertToRetinaValue(parentHeight + 1, true); + + drawBackground(); ws.stringRender.render(drawingCtx, wb.defaults.worksheetView.cells.padding, 0, cellEditorWidth, ws.settings.activeCellBorderColor); }; CHeaderFooterEditorSection.prototype.getElem = function () { @@ -767,7 +776,7 @@ window.Asc.g_header_footer_editor = this; this.parentWidth = AscCommon.AscBrowser.convertToRetinaValue(width, true); - this.parentHeight = 90; + this.parentHeight = AscCommon.AscBrowser.convertToRetinaValue(90, true); this.pageType = undefined === pageType ? asc.c_oAscHeaderFooterType.odd : pageType;//odd, even, first this.canvas = []; this.sections = []; @@ -802,6 +811,7 @@ obj.idParent = id; obj.id = id + "-canvas"; obj.width = t.parentWidth; + obj.height = t.parentHeight; obj.canvas = document.createElement('canvas'); obj.canvas.id = obj.id; //TODO перепроверить код ниже. оставляю как было раньше @@ -821,7 +831,7 @@ return obj; }; - this.parentHeight = document.getElementById(idArr[0]).clientHeight; + this.parentHeight = AscCommon.AscBrowser.convertToRetinaValue(document.getElementById(idArr[0]).clientHeight + 1, true); this.canvas[c_nPortionLeftHeader] = createAndPushCanvasObj(idArr[0]); this.canvas[c_nPortionCenterHeader] = createAndPushCanvasObj(idArr[1]); From 29b7416458d317642458ff64438349dd088f5736 Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Tue, 13 Apr 2021 11:34:54 +0300 Subject: [PATCH 156/381] Fix/bug 49592 (#1803) * [se] Fix bug 49592 --- cell/view/WorksheetView.js | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/cell/view/WorksheetView.js b/cell/view/WorksheetView.js index 5309517a65..1a90ec8433 100644 --- a/cell/view/WorksheetView.js +++ b/cell/view/WorksheetView.js @@ -18406,6 +18406,7 @@ var st = this.settings.header.style[kHeaderDefault]; var x1, y1, x2, y2, arrayLines, groupData; var lineWidth = AscCommon.AscBrowser.convertToRetinaValue(2, true); + var lineWidthDiff = lineWidth % 2 === 0 ? lineWidth : lineWidth - 0.5; var thickLineDiff = AscCommon.AscBrowser.isCustomScalingAbove2() ? 0.5 : 0; var tempButtonMap = [];//чтобы не рисовать точки там где кпопки var bFirstLine = true; @@ -18494,7 +18495,7 @@ // _ //| if(!collasedEndRow && startX === arrayLines[i][j].start) { - ctx.lineVerPrevPx(startPos, posY - 2 * padding + thickLineDiff, posY + 4 * padding); + ctx.lineVerPrevPx(startPos, posY - lineWidthDiff + thickLineDiff, posY + 4 * padding); } } else { @@ -18545,7 +18546,7 @@ // | if(!collasedEndRow && endX === arrayLines[i][j].end + 1 && endPos > startPos + paddingTop - 1*padding) { //ctx.lineHorPrevPx(posX - lineWidth + thickLineDiff, endPos, posX + 4*padding); - ctx.lineVerPrevPx(endPos, posY - 2 * padding + thickLineDiff, posY + 4 * padding); + ctx.lineVerPrevPx(endPos, posY - lineWidthDiff + thickLineDiff, posY + 4 * padding); } } } @@ -18665,7 +18666,7 @@ // _ //| if(!collasedEndCol && startY === arrayLines[i][j].start) { - ctx.lineHorPrevPx(posX - lineWidth + thickLineDiff, startPos, posX + 4*padding); + ctx.lineHorPrevPx(posX - lineWidthDiff + thickLineDiff, startPos, posX + 4*padding); } } else { if(endPosArr[arrayLines[i][j].start]) { @@ -18712,7 +18713,7 @@ // |_ if(!collapsedStartRow && !hiddenStartRow && endY === arrayLines[i][j].end + 1 && !checkPrevHideLevel(i, arrayLines[i][j].start)) { - ctx.lineHorPrevPx(posX - lineWidth + thickLineDiff, endPos, posX + 4*padding); + ctx.lineHorPrevPx(posX - lineWidthDiff + thickLineDiff, endPos, posX + 4*padding); } } } @@ -18839,7 +18840,7 @@ ctx.AddClipRect(bCol ? pos.pos - offsetX : x, bCol ? y : pos.pos - offsetY, bCol ? pos.size : w, bCol ? h : pos.size); ctx.beginPath(); - var paddingLine = Math.floor((w - sizeLine) / 2); + var paddingLine = Math.floor((w - sizeLine - borderSize) / 2); if(w > sizeLine + 2) { if(this._getGroupCollapsed(val, bCol)/*rowLevelMap[val] && rowLevelMap[val].collapsed*/) { @@ -18874,16 +18875,16 @@ var posY = padding * 2 + buttonSize / 2 - padding + (level - 1) * buttonSize; x = endPosX + colW/2 - buttonSize / 2; - y = posY - Math.floor(6 * zoom) * padding; + y = posY - Math.floor(AscCommon.AscBrowser.convertToRetinaValue(6, true) * zoom); } else { var endPosY = this._getRowTop(val); var rowH = this._getRowHeight(val); var posX = padding * 2 + buttonSize / 2 - padding + (level - 1) * buttonSize; - var x = posX - Math.floor(6 * zoom) * padding; + var x = posX - Math.floor(AscCommon.AscBrowser.convertToRetinaValue(6, true) * zoom); var y = endPosY + rowH/2 - buttonSize / 2; } - var w = buttonSize - 1; - var h = buttonSize - 1; + var w = buttonSize - padding; + var h = buttonSize - padding; return {x: x, y: y, w: w, h: h, size: bCol ? colW : rowH, pos: bCol ? endPosX : endPosY}; }; From 3f23b991a326d8c4cece6d2f40f6a2f72c264315 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 13 Apr 2021 12:04:16 +0300 Subject: [PATCH 157/381] Fix bug #49590 --- common/CollaborativeEditingBase.js | 11 +++++------ word/Editor/FieldChanges.js | 6 ++++++ word/Editor/Paragraph.js | 5 ++++- word/Editor/ParagraphChanges.js | 7 ++++++- word/Editor/ParagraphContentBase.js | 6 ++++++ 5 files changed, 27 insertions(+), 8 deletions(-) diff --git a/common/CollaborativeEditingBase.js b/common/CollaborativeEditingBase.js index ad1f178b0b..abcf4c55bf 100644 --- a/common/CollaborativeEditingBase.js +++ b/common/CollaborativeEditingBase.js @@ -1280,17 +1280,16 @@ CCollaborativeEditingBase.prototype.UpdateDocumentPositionsByState = function(Do oHistory.Remove_LastPoint(); this.Clear_DCChanges(); - editor.CoAuthoringApi.saveChanges(aSendingChanges, null, null, false, this.getCollaborativeEditing()); - - this.private_RecalculateDocument(arrReverseChanges); + editor.CoAuthoringApi.saveChanges(aSendingChanges, null, null, false, this.getCollaborativeEditing()); this.private_RestoreDocumentState(DocState); + this.private_RecalculateDocument(arrReverseChanges); oLogicDocument.TurnOnCheckChartSelection(); - oLogicDocument.UpdateSelection(); - oLogicDocument.UpdateInterface(); - oLogicDocument.UpdateRulers(); + oLogicDocument.UpdateSelection(); + oLogicDocument.UpdateInterface(); + oLogicDocument.UpdateRulers(); }; CCollaborativeEditingBase.prototype.CanUndo = function() { diff --git a/word/Editor/FieldChanges.js b/word/Editor/FieldChanges.js index c49dcaac22..8e78848d0f 100644 --- a/word/Editor/FieldChanges.js +++ b/word/Editor/FieldChanges.js @@ -69,6 +69,7 @@ CChangesParaFieldAddItem.prototype.Undo = function() oField.private_UpdateSpellChecking(); oField.private_UpdateTrackRevisions(); oField.private_CheckUpdateBookmarks(this.Items); + oField.SetIsRecalculated(false); }; CChangesParaFieldAddItem.prototype.Redo = function() { @@ -81,6 +82,7 @@ CChangesParaFieldAddItem.prototype.Redo = function() oField.private_UpdateTrackRevisions(); oField.private_CheckUpdateBookmarks(this.Items); oField.private_UpdateSpellChecking(); + oField.SetIsRecalculated(false); for (var nIndex = 0, nCount = this.Items.length; nIndex < nCount; ++nIndex) { @@ -134,6 +136,7 @@ CChangesParaFieldAddItem.prototype.Load = function(Color) oField.private_UpdateTrackRevisions(); oField.private_CheckUpdateBookmarks(this.Items); oField.private_UpdateSpellChecking(); + oField.SetIsRecalculated(false); }; CChangesParaFieldAddItem.prototype.IsRelated = function(oChanges) { @@ -168,6 +171,7 @@ CChangesParaFieldRemoveItem.prototype.Undo = function() oField.private_UpdateSpellChecking(); oField.private_CheckUpdateBookmarks(this.Items); oField.private_UpdateTrackRevisions(); + oField.SetIsRecalculated(false); for (var nIndex = 0, nCount = this.Items.length; nIndex < nCount; ++nIndex) { @@ -191,6 +195,7 @@ CChangesParaFieldRemoveItem.prototype.Redo = function() oField.private_UpdateTrackRevisions(); oField.private_CheckUpdateBookmarks(this.Items); oField.private_UpdateSpellChecking(); + oField.SetIsRecalculated(false); }; CChangesParaFieldRemoveItem.prototype.private_WriteItem = function(Writer, Item) { @@ -216,6 +221,7 @@ CChangesParaFieldRemoveItem.prototype.Load = function(Color) oField.private_UpdateTrackRevisions(); oField.private_CheckUpdateBookmarks(this.Items); oField.private_UpdateSpellChecking(); + oField.SetIsRecalculated(false); }; CChangesParaFieldRemoveItem.prototype.IsRelated = function(oChanges) { diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index b3d1b3a026..4426ef9cf7 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -7538,7 +7538,10 @@ Paragraph.prototype.RemoveSelection = function() }; Paragraph.prototype.DrawSelectionOnPage = function(CurPage) { - if (true != this.Selection.Use) + if (!this.IsRecalculated()) + return; + + if (true !== this.Selection.Use) return; if (CurPage < 0 || CurPage >= this.Pages.length) diff --git a/word/Editor/ParagraphChanges.js b/word/Editor/ParagraphChanges.js index 0adbecbc16..4c0f36dee2 100644 --- a/word/Editor/ParagraphChanges.js +++ b/word/Editor/ParagraphChanges.js @@ -341,6 +341,7 @@ CChangesParagraphAddItem.prototype.Undo = function() oParagraph.private_UpdateTrackRevisions(); oParagraph.private_CheckUpdateBookmarks(this.Items); oParagraph.private_UpdateSelectionPosOnRemove(this.Pos, this.Items.length); + oParagraph.SetIsRecalculated(false); private_ParagraphChangesOnSetValue(this.Class); }; CChangesParagraphAddItem.prototype.Redo = function() @@ -353,6 +354,7 @@ CChangesParagraphAddItem.prototype.Redo = function() oParagraph.private_UpdateTrackRevisions(); oParagraph.private_CheckUpdateBookmarks(this.Items); oParagraph.private_UpdateSelectionPosOnAdd(this.Pos, this.Items.length); + oParagraph.SetIsRecalculated(false); private_ParagraphChangesOnSetValue(this.Class); for (var nIndex = 0, nCount = this.Items.length; nIndex < nCount; ++nIndex) @@ -418,6 +420,7 @@ CChangesParagraphAddItem.prototype.Load = function(Color) oParagraph.private_UpdateTrackRevisions(); oParagraph.private_CheckUpdateBookmarks(this.Items); oParagraph.UpdateDocumentOutline(); + oParagraph.SetIsRecalculated(false); private_ParagraphChangesOnSetValue(this.Class); }; @@ -469,6 +472,7 @@ CChangesParagraphRemoveItem.prototype.Undo = function() oParagraph.private_UpdateTrackRevisions(); oParagraph.private_CheckUpdateBookmarks(this.Items); oParagraph.private_UpdateSelectionPosOnAdd(this.Pos, this.Items.length); + oParagraph.SetIsRecalculated(false); private_ParagraphChangesOnSetValue(this.Class); for (var nIndex = 0, nCount = this.Items.length; nIndex < nCount; ++nIndex) @@ -490,6 +494,7 @@ CChangesParagraphRemoveItem.prototype.Redo = function() oParagraph.private_UpdateTrackRevisions(); oParagraph.private_CheckUpdateBookmarks(this.Items); oParagraph.private_UpdateSelectionPosOnRemove(this.Pos, this.Items.length); + oParagraph.SetIsRecalculated(false); private_ParagraphChangesOnSetValue(this.Class); }; CChangesParagraphRemoveItem.prototype.private_WriteItem = function(Writer, Item) @@ -518,7 +523,7 @@ CChangesParagraphRemoveItem.prototype.Load = function(Color) oParagraph.private_UpdateTrackRevisions(); oParagraph.private_CheckUpdateBookmarks(this.Items); oParagraph.UpdateDocumentOutline(); - + oParagraph.SetIsRecalculated(false); private_ParagraphChangesOnSetValue(this.Class); }; CChangesParagraphRemoveItem.prototype.IsRelated = function(oChanges) diff --git a/word/Editor/ParagraphContentBase.js b/word/Editor/ParagraphContentBase.js index 84b8530857..1d8e923680 100644 --- a/word/Editor/ParagraphContentBase.js +++ b/word/Editor/ParagraphContentBase.js @@ -851,6 +851,12 @@ CParagraphContentBase.prototype.GetFirstRunElementPos = function(nType, oStartPo { return false; }; +/** + * @param isRecalculated + */ +CParagraphContentBase.prototype.SetIsRecalculated = function(isRecalculated) +{ +}; /** * Устанавливаем текущие позиции на текущий элемент */ From 56eda9b8a4a12445191aaaa64ba78ce11d00aff8 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Tue, 13 Apr 2021 12:52:46 +0300 Subject: [PATCH 158/381] [bug] Fix bug 49614 --- common/Drawings/Format/ChartFormat.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 4dd94f0854..4517fbe666 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -15200,6 +15200,17 @@ this.tx = oTxRefs; this.cat = oCatRefs; this.info = oFirstSeriesRefs.getInfo(); + if((this.info & SERIES_FLAG_HOR_VALUE) && + (this.info & SERIES_FLAG_VERT_VALUE)) { + if(nStartIdx < this.seriesRefs.length - 1) { + if(nCompareResult === SERIES_COMPARE_RESULT_ABOVE) { + this.info = (this.info & ~(SERIES_FLAG_VERT_VALUE)); + } + else if(nCompareResult === SERIES_COMPARE_RESULT_LEFT) { + this.info = (this.info & ~(SERIES_FLAG_HOR_VALUE)); + } + } + } return true; } return false; From c435a3451e829505b68f958e1c2f61036701860e Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 13 Apr 2021 12:57:42 +0300 Subject: [PATCH 159/381] Add generate TOC buttons (#1805) --- word/Drawing/DrawingDocument.js | 216 ++++++++++++++++++++++++++++++++ word/api.js | 8 ++ 2 files changed, 224 insertions(+) diff --git a/word/Drawing/DrawingDocument.js b/word/Drawing/DrawingDocument.js index df342030d0..13ea3d86e2 100644 --- a/word/Drawing/DrawingDocument.js +++ b/word/Drawing/DrawingDocument.js @@ -5296,6 +5296,7 @@ function CDrawingDocument() { dstfonts[dstfonts.length] = new AscFonts.CFont(i, 0, "", 0, null); } + AscFonts.FontPickerByCharacter.getFontsByString(AscCommon.translateManager.getValue("Heading" + " 123")); AscFonts.FontPickerByCharacter.extendFonts(dstfonts); this.m_oWordControl.m_oLogicDocument.Fonts = dstfonts; return; @@ -6100,6 +6101,221 @@ function CDrawingDocument() editor.isViewMode = _oldTurn; }; + this.GetTOC_Buttons = function(idDiv1, idDiv2) + { + var div1 = document.getElementById(idDiv1); + var div2 = document.getElementById(idDiv2); + + var canvas1 = div1.childNodes[0]; + var canvas2 = div2.childNodes[0]; + var isAdd = false; + + if (!canvas1 || !canvas2) + { + canvas1 && div1.removeChild(canvas1); + canvas2 && div1.removeChild(canvas2); + + canvas1 = document.createElement("canvas"); + canvas2 = document.createElement("canvas"); + + canvas1.style.margins = canvas2.style.margins = "0px"; + canvas1.style.padding = canvas2.style.padding = "0px"; + + isAdd = true; + } + + var scaleAttribute = AscCommon.AscBrowser.retinaPixelRatio; + var scaleAttributeText = "" + ((scaleAttribute * 100) >> 0); + + if (canvas1.scaleAttributeText === scaleAttributeText && canvas2.scaleAttributeText === scaleAttributeText) + { + // уже рисовали и ничего не изменилось + return; + } + + canvas1.scaleAttributeText = scaleAttributeText; + canvas2.scaleAttributeText = scaleAttributeText; + + var pixW = 248; + var pixW_natural = AscCommon.AscBrowser.convertToRetinaValue(pixW, true); + var pixH = 0; + var pixH_natural = 0; + + var mmW = pixW_natural * g_dKoef_pix_to_mm / AscCommon.AscBrowser.retinaPixelRatio; + var mmH = pixH_natural * g_dKoef_pix_to_mm / AscCommon.AscBrowser.retinaPixelRatio; + + var wPxOffset = AscBrowser.convertToRetinaValue(8, true); + var wMmOffset = wPxOffset * g_dKoef_pix_to_mm / AscCommon.AscBrowser.retinaPixelRatio; + + var oLogicDocument = this.m_oWordControl.m_oLogicDocument; + var oStyles = oLogicDocument.GetStyles(); + + // off + History.TurnOff(); + + var oldTrack = false; + if (oLogicDocument.IsTrackRevisions()) + { + oldTrack = oLogicDocument.GetLocalTrackRevisions(); + oLogicDocument.SetLocalTrackRevisions(false); + } + + var oldTurn = editor.isViewMode; + editor.isViewMode = true; + + var oldMarks = this.m_oWordControl.m_oApi.ShowParaMarks; + this.m_oWordControl.m_oApi.ShowParaMarks = false; + + var props = [ + { + OutlineStart : 1, + OutlineEnd : 3, + Hyperlink : false, + StylesType : Asc.c_oAscTOCStylesType.Simple, + RightTab : true, + PageNumbers : true, + TabLeader : Asc.c_oAscTabLeader.Dot, + Pages : [2, 5, 15] + }, + { + OutlineStart : 1, + OutlineEnd : 3, + Hyperlink : true, + StylesType : Asc.c_oAscTOCStylesType.Web, + RightTab : true, + PageNumbers : false, + TabLeader : Asc.c_oAscTabLeader.None + } + ]; + + for (var i = 0; i < 2; i++) + { + // content + var oStyles = oLogicDocument.GetStyles(); + + var oHeader = new CHeaderFooter(oLogicDocument.HdrFtr, oLogicDocument, this, AscCommon.hdrftr_Header); + var oDocumentContent = oHeader.GetContent(); + + var arrLevels = []; + var arrStylesToDelete = []; + var prop = props[i]; + + for (var nCurrentLevel = prop.OutlineStart; nCurrentLevel <= prop.OutlineEnd; ++nCurrentLevel) + { + var sName = "Heading " + nCurrentLevel; + var nLvl = nCurrentLevel - 1; + + var oStyle = new CStyle("", null, null, styletype_Paragraph, true); + oStyle.CreateTOC(nLvl, prop.StylesType); + + oStyle.ParaPr.Spacing.Line = 1.2; + oStyle.ParaPr.Spacing.LineRule = linerule_Auto; + oStyle.ParaPr.Spacing.Before = 0; + oStyle.ParaPr.Spacing.After = 0; + oStyle.ParaPr.ContextualSpacing = true; + + oStyle.ParaPr.Ind.Left = 15 * (nCurrentLevel - 1) * g_dKoef_pt_to_mm; + + oStyle.TextPr.FontFamily = {Name: "Arial", Index: -1}; + oStyle.TextPr.FontSize = 10; + + oStyles.Add(oStyle); + + arrLevels[nLvl] = { + Styles : [sName], + StyleId : oStyle.GetId() + }; + + arrStylesToDelete.push(oStyle.GetId()); + } + + for (var nCurrentLevel = prop.OutlineStart; nCurrentLevel <= prop.OutlineEnd; ++nCurrentLevel) + { + var sStyleId = arrLevels[nCurrentLevel - 1].StyleId; + for (var nStyle = 0, nStylesCount = arrLevels[nCurrentLevel - 1].Styles.length; nStyle < nStylesCount; ++nStyle) + { + var sStyleName = AscCommon.translateManager.getValue(arrLevels[nCurrentLevel - 1].Styles[nStyle]); + + var oParagraph = new Paragraph(this, oDocumentContent, false); + oDocumentContent.AddToContent(nCurrentLevel - 1, oParagraph); + oParagraph.SetParagraphStyleById(sStyleId); + + var oRun = new ParaRun(oParagraph, false); + oParagraph.AddToContent(0, oRun); + oRun.AddText(sStyleName); + + if (prop.PageNumbers) + { + if (prop.RightTab) + { + var oParaTabs = new CParaTabs(); + oParaTabs.Add(new CParaTab(tab_Right, mmW - 4 - wMmOffset, prop.TabLeader)); + oParagraph.SetParagraphTabs(oParaTabs); + + oRun.AddToContent(-1, new ParaTab()); + } + else + { + oRun.AddToContent(-1, new ParaSpace()); + } + + oRun.AddText("" + prop.Pages[nCurrentLevel - 1]); + } + } + } + + // удаляем последний параграф + oDocumentContent.Content.splice(3, 1); + oDocumentContent.Reset(1, 0, 1000, 10000); + oDocumentContent.Recalculate_Page(0, true); + + for (nStyle = 0, nStylesCount = arrStylesToDelete.length; nStyle < nStylesCount; ++nStyle) + { + oStyles.Remove(arrStylesToDelete[nStyle]); + } + + mmH = oDocumentContent.GetSummaryHeight() + (wMmOffset * 2); + pixH = mmH / g_dKoef_pix_to_mm; + pixH = ((pixH + 3) >> 2) << 2; + pixH_natural = AscCommon.AscBrowser.convertToRetinaValue(pixH, true); + + var canvas = (i === 0) ? canvas1 : canvas2; + + canvas.style.width = pixW + "px"; + canvas.style.height = pixH + "px"; + + canvas.width = pixW_natural; + canvas.height = pixH_natural; + + var ctx = canvas.getContext('2d'); + + ctx.fillStyle = "#FFFFFF"; + ctx.fillRect(0, 0, pixW_natural, pixH_natural); + + var graphics = new AscCommon.CGraphics(); + graphics.init(ctx, pixW_natural, pixH_natural, mmW, mmH); + graphics.m_oFontManager = AscCommon.g_fontManager; + graphics.m_oCoordTransform.tx = graphics.m_oCoordTransform.ty = wPxOffset; + graphics.transform(1, 0, 0, 1, 0, 0); + oDocumentContent.Draw(0, graphics); + } + + this.m_oWordControl.m_oApi.ShowParaMarks = oldMarks; + + History.TurnOn(); + + if (false !== oldTrack) + oLogicDocument.SetLocalTrackRevisions(oldTrack); + + editor.isViewMode = oldTurn; + + if (isAdd) + { + div1.appendChild(canvas1); + div2.appendChild(canvas2); + } + }; + this.SetDrawImagePlaceTableOfFigures = function(id, props) { var _div_elem = null; diff --git a/word/api.js b/word/api.js index 06ee0240e8..1922b78833 100644 --- a/word/api.js +++ b/word/api.js @@ -10916,6 +10916,14 @@ background-repeat: no-repeat;\ } }; + window["asc_docs_api"].prototype["asc_getButtonsTOC"] = function(id1, id2) + { + if (this.WordControl && this.WordControl.m_oDrawingDocument) + { + this.WordControl.m_oDrawingDocument.GetTOC_Buttons(id1, id2); + } + }; + asc_docs_api.prototype.getDefaultFontFamily = function () { //TODO переделать и отдавать дефолтовый шрифт var defaultFont = "Arial"; From 6aa36a25a359d99988b95c6004c98682b0686c80 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Tue, 13 Apr 2021 14:27:44 +0300 Subject: [PATCH 160/381] [se] Change error type --- cell/model/FormulaObjects/statisticalFunctions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/model/FormulaObjects/statisticalFunctions.js b/cell/model/FormulaObjects/statisticalFunctions.js index f5cadda411..c9e988e593 100644 --- a/cell/model/FormulaObjects/statisticalFunctions.js +++ b/cell/model/FormulaObjects/statisticalFunctions.js @@ -6267,7 +6267,7 @@ function (window, undefined) { var pFcMat = aETSCalc.GetForecastRange(pTMat); - return pFcMat && pFcMat[0] ? new cNumber(pFcMat[0][0]) : new cError(cErrorType.wrong_value_type); + return pFcMat && pFcMat[0] ? new cNumber(pFcMat[0][0]) : new cError(cErrorType.not_numeric); }; /** From a18e77ab666528a5310dfdce9c841fc826760cbd Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 13 Apr 2021 16:27:57 +0300 Subject: [PATCH 161/381] Fix bug #49610 --- word/Editor/Document.js | 30 ++++++++++++++++++++---------- word/Editor/DocumentContent.js | 31 +++++++++++++++++++++---------- 2 files changed, 41 insertions(+), 20 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 7c6eed7d9a..9189baf9dc 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -20595,19 +20595,29 @@ CDocument.prototype.controller_RemoveTable = function() } else { - this.RemoveSelection(); - Table.PreDelete(); - this.Internal_Content_Remove(Pos, 1); + var isNeedRemoveTable = true; + if (this.IsTrackRevisions()) + { + this.Content[Pos].SelectAll(); + isNeedRemoveTable = !this.Content[Pos].RemoveTableRow(); + } - if (Pos >= this.Content.length - 1) - Pos--; + if (isNeedRemoveTable) + { + this.RemoveSelection(); + Table.PreDelete(); + this.Internal_Content_Remove(Pos, 1); + + if (Pos >= this.Content.length - 1) + Pos--; - if (Pos < 0) - Pos = 0; + if (Pos < 0) + Pos = 0; - this.SetDocPosType(docpostype_Content); - this.CurPos.ContentPos = Pos; - this.Content[Pos].MoveCursorToStartPos(); + this.SetDocPosType(docpostype_Content); + this.CurPos.ContentPos = Pos; + this.Content[Pos].MoveCursorToStartPos(); + } } } else diff --git a/word/Editor/DocumentContent.js b/word/Editor/DocumentContent.js index 4eae4199fb..59c012215b 100644 --- a/word/Editor/DocumentContent.js +++ b/word/Editor/DocumentContent.js @@ -7111,19 +7111,30 @@ CDocumentContent.prototype.RemoveTable = function() } else { - this.RemoveSelection(); - Table.PreDelete(); - this.Internal_Content_Remove(Pos, 1); + var oLogicDocument = this.GetLogicDocument(); + var isNeedRemoveTable = true; + if (oLogicDocument && oLogicDocument.IsTrackRevisions()) + { + this.Content[Pos].SelectAll(); + isNeedRemoveTable = !this.Content[Pos].RemoveTableRow(); + } - if (Pos >= this.Content.length - 1) - Pos--; + if (isNeedRemoveTable) + { + this.RemoveSelection(); + Table.PreDelete(); + this.Internal_Content_Remove(Pos, 1); - if (Pos < 0) - Pos = 0; + if (Pos >= this.Content.length - 1) + Pos--; - this.SetDocPosType(docpostype_Content); - this.CurPos.ContentPos = Pos; - this.Content[Pos].MoveCursorToStartPos(); + if (Pos < 0) + Pos = 0; + + this.SetDocPosType(docpostype_Content); + this.CurPos.ContentPos = Pos; + this.Content[Pos].MoveCursorToStartPos(); + } } return true; From 4746aa237356baddd1d4801b2148c2716d23797c Mon Sep 17 00:00:00 2001 From: AlexeyMatveev686 Date: Tue, 13 Apr 2021 10:51:37 +0300 Subject: [PATCH 162/381] [se] Fixed bugs in api builder for SE --- cell/apiBuilder.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/cell/apiBuilder.js b/cell/apiBuilder.js index 96c09745c2..5c436d2359 100644 --- a/cell/apiBuilder.js +++ b/cell/apiBuilder.js @@ -337,12 +337,12 @@ * @returns {ApiRange | Error} */ Api.prototype.Intersect = function (Range1, Range2) { - if (Range1.Worksheet.Id === Range2.Worksheet.Id) { + if (Range1.GetWorksheet().Id === Range2.GetWorksheet().Id) { var res = Range1.range.bbox.intersection(Range2.range.bbox); if (!res) { return "Ranges do not intersect."; } else { - return new ApiRange(this.ActiveSheet.worksheet.getRange3(res.r1, res.c1, res.r2, res.c2)); + return new ApiRange(this.GetActiveSheet().worksheet.getRange3(res.r1, res.c1, res.r2, res.c2)); } } else { return new Error('Ranges should be from one worksheet.'); @@ -707,7 +707,7 @@ */ ApiWorksheet.prototype.GetRows = function (value) { if (typeof value === "undefined") { - return this.Rows; + return this.GetCells(); } else if (typeof value == "number" || value.indexOf(':') == -1) { value = parseInt(value); if (value > 0) { @@ -1206,7 +1206,7 @@ Hyperlink.asc_setHyperlinkUrl(sAddress); } else { Hyperlink.asc_setRange(sAddress); - Hyperlink.asc_setSheet(this.Name); + Hyperlink.asc_setSheet(this.GetName()); } this.worksheet.workbook.oApi.wb.insertHyperlink(Hyperlink); } @@ -1458,10 +1458,10 @@ */ ApiRange.prototype.GetRows = function (nRow) { if (typeof nRow === "undefined") { - var r1 = this.range.bbox.r1; - var r2 = this.range.bbox.r2; + var r1 = this.range.bbox.r1 + 1; + var r2 = this.range.bbox.r2 + 1; return new ApiWorksheet(this.range.worksheet).GetRows(r1 + ":" + r2); - // return new ApiWorksheet(this.range.worksheet).Rows; // return all rows from current sheet + // return new ApiWorksheet(this.range.worksheet).GetRows(); // return all rows from current sheet } else if ( (nRow >= this.range.bbox.r1) && (nRow <= this.range.bbox.r2) ) { return new ApiWorksheet(this.range.worksheet).GetRows(nRow); } else { From 8a1702f7b4cd3055b3bbd25dd1c553d7b2520682 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Wed, 14 Apr 2021 13:53:47 +0300 Subject: [PATCH 163/381] [bug] Fix bug 49620 --- common/Drawings/Format/ChartFormat.js | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 4517fbe666..7e455b6fb7 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -14973,6 +14973,10 @@ if(!this.cat.isEqual(oOther.cat)) { return SERIES_COMPARE_RESULT_NONE; } + return this.compareValAndTx(oOther); + }; + CSeriesDataRefs.prototype.compareValAndTx = function(oOther) { + var nInfo = this.getInfo(); if(this.val.isAboveInRows(oOther.val)) { if((nInfo & SERIES_FLAG_TX) && !this.tx.isAboveInRows(oOther.tx)) { return SERIES_COMPARE_RESULT_NONE; @@ -15185,11 +15189,26 @@ var oTxRefs = oFirstSeriesRefs.tx.clone(); var oCatRefs = oFirstSeriesRefs.cat.clone(); var oPrevRefs = oFirstSeriesRefs; - var oSeriesRefs; - for(var nSeries = nStartIdx + 1; nSeries < this.seriesRefs.length; ++nSeries) { + var oSeriesRefs, nSeries; + var bFirstCatIsEmpty = oCatRefs.isEmpty(); + for(nSeries = nStartIdx + 1; nSeries < this.seriesRefs.length; ++nSeries) { oSeriesRefs = this.seriesRefs[nSeries]; - if(oPrevRefs.compare(oSeriesRefs) !== nCompareResult) { - break; + if(bFirstCatIsEmpty) { + if(oPrevRefs.compare(oSeriesRefs) !== nCompareResult) { + break; + } + } + else { + if(oSeriesRefs.cat.isEmpty()) { + if(oPrevRefs.compareValAndTx(oSeriesRefs) !== nCompareResult) { + break; + } + } + else { + if(oPrevRefs.compare(oSeriesRefs) !== nCompareResult) { + break; + } + } } oValRefs.union(oSeriesRefs.val); oTxRefs.union(oSeriesRefs.tx); From 1f69943352a58639e2eb8fe1806e4a48761231e0 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Wed, 14 Apr 2021 17:19:45 +0300 Subject: [PATCH 164/381] [de] Fix c_oAscError.ID.Submit export --- common/commonDefines.js | 1 + 1 file changed, 1 insertion(+) diff --git a/common/commonDefines.js b/common/commonDefines.js index 21ba67fc38..986b8026ff 100644 --- a/common/commonDefines.js +++ b/common/commonDefines.js @@ -2309,6 +2309,7 @@ prot['PivotWithoutUnderlyingData'] = prot.PivotWithoutUnderlyingData; prot['ForceSaveButton'] = prot.ForceSaveButton; prot['ForceSaveTimeout'] = prot.ForceSaveTimeout; + prot['Submit'] = prot.Submit; prot['CannotChangeFormulaArray'] = prot.CannotChangeFormulaArray; prot['MultiCellsInTablesFormulaArray'] = prot.MultiCellsInTablesFormulaArray; prot['MailToClientMissing'] = prot.MailToClientMissing; From 200986678080c4901e4f023ff29acb0406cca484 Mon Sep 17 00:00:00 2001 From: Evgeny Katyshev Date: Thu, 15 Apr 2021 14:23:12 +0300 Subject: [PATCH 165/381] Feature/colors update (#1815) * Color updates * Update scroll thumb border --- common/skin.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/common/skin.js b/common/skin.js index 4592e64f2d..507e0fd8b3 100644 --- a/common/skin.js +++ b/common/skin.js @@ -44,14 +44,14 @@ var EditorSkins = { RulersButton : false, NavigationButtons : false, - BackgroundColor : "#F0F0F0", + BackgroundColor : "#EEEEEE", PageOutline : "#BBBEC2", RulerDark : "#D9D9D9", RulerLight : "#FFFFFF", RulerOutline : "#CBCBCB", RulerMarkersOutlineColor : "#555555", - RulerMarkersOutlineColorOld : "#828282", + RulerMarkersOutlineColorOld : "#AAAAAA", RulerMarkersFillColor : "#FFFFFF", RulerMarkersFillColorOld : "#FFFFFF", RulerTextColor : "#555555", @@ -60,16 +60,16 @@ var EditorSkins = { RulerTableColor1 : "#FFFFFF", RulerTableColor2 : "#555555", - ScrollBackgroundColor : "#F0F0F0", - ScrollOutlineColor : "#CFCFCF", - ScrollOutlineHoverColor : "#CFCFCF", + ScrollBackgroundColor : "#EEEEEE", + ScrollOutlineColor : "#CBCBCB", + ScrollOutlineHoverColor : "#CBCBCB", ScrollOutlineActiveColor : "#ADADAD", - ScrollerColor : "#F1F1F1", - ScrollerHoverColor : "#CFCFCF", + ScrollerColor : "#F7F7F7", + ScrollerHoverColor : "#C0C0C0", ScrollerActiveColor : "#ADADAD", ScrollArrowColor : "#ADADAD", - ScrollArrowHoverColor : "#F1F1F1", - ScrollArrowActiveColor : "#F1F1F1", + ScrollArrowHoverColor : "#F7F7F7", + ScrollArrowActiveColor : "#F7F7F7", ScrollerTargetColor : "#CFCFCF", ScrollerTargetHoverColor : "#F1F1F1", ScrollerTargetActiveColor : "#F1F1F1", @@ -164,18 +164,18 @@ var EditorSkins = { RulerDark : "#373737", RulerLight : "#555555", RulerOutline : "#2A2A2A", - RulerMarkersOutlineColor : "#B2B2B2", - RulerMarkersOutlineColorOld : "#999999", + RulerMarkersOutlineColor : "#B6B6B6", + RulerMarkersOutlineColorOld : "#808080", RulerMarkersFillColor : "#555555", RulerMarkersFillColorOld : "#555555", - RulerTextColor : "#B2B2B2", + RulerTextColor : "#B6B6B6", RulerTabsColor : "#FFFFFF", RulerTabsColorOld : "#999999", RulerTableColor1 : "#FFFFFF", RulerTableColor2 : "#B2B2B2", ScrollBackgroundColor : "#666666", - ScrollOutlineColor : "#404040", + ScrollOutlineColor : "#2A2A2A", ScrollOutlineHoverColor : "#999999", ScrollOutlineActiveColor : "#ADADAD", ScrollerColor : "#404040", From 0f3ebcb5c8793fb0b922cdbecd84f884dc2ac79b Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Fri, 16 Apr 2021 13:11:14 +0300 Subject: [PATCH 166/381] Added support themes for select2's arrow (#1817) --- common/plugins.js | 2 +- common/plugins/plugin_base.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/common/plugins.js b/common/plugins.js index afdf64fa80..1d6bab3ca0 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -1006,7 +1006,7 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                    ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); + pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                      ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index 70691d7991..68070946e4 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -471,6 +471,7 @@ ".select2-search--dropdown" : { "background-color" : "background-normal !important"}, ".select2-container--default .select2-search--dropdown .select2-search__field" : { "color" : "text-normal", "background-color" : "background-normal", "border-color" : "border-regular-control"}, ".select2-container--default.select2-container--disabled .select2-selection--single" : { "background-color" : "background-normal" }, + ".select2-container--default .select2-selection--single .select2-selection__arrow b" : { "border-color" : "text-normal !important" }, ".ps .ps__rail-y:hover" : {"background-color" : "background-toolbar" }, ".ps .ps__rail-y.ps--clicking" : {"background-color" : "background-toolbar" }, ".ps__thumb-y" : {"background-color" : "background-normal", "border-color" : "background-normal" }, From e5213db9b3bbedea12520273989647f2644e67ef Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 16 Apr 2021 17:07:02 +0300 Subject: [PATCH 167/381] Change the meaning of a parameter isModal (#1818) --- common/plugins/plugin_base_api.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/plugins/plugin_base_api.js b/common/plugins/plugin_base_api.js index 588d48b5c8..dba654a779 100644 --- a/common/plugins/plugin_base_api.js +++ b/common/plugins/plugin_base_api.js @@ -77,8 +77,8 @@ window.startPluginApi = function() { * @property {editorType[]} EditorsSupport=Array.("word","cell","slide") The editors which the plugin is available for ("word" - text document editor, "cell" - spreadsheet editor, "slide" - presentation editor). * * @property {boolean} isVisual Specifies if the plugin is visual (will open a window for some action, or introduce some additions to the editor panel interface) or non-visual (will provide a button (or buttons) which is going to apply some transformations or manipulations to the document). - * @property {boolean} isModal Specifies if the opened plugin window is modal, i.e. a separate modal window must be opened, or not (used for visual plugins only). The following rule must be observed at all times: isModal != isInsideMode. - * @property {boolean} isInsideMode Specifies if the plugin must be displayed inside the editor panel instead of its own window (used for visual non-modal plugins only). The following rule must be observed at all times: isModal != isInsideMode. + * @property {boolean} isModal Specifies if the opened plugin window is modal (used for visual plugins only, and if isInsideMode is not true). + * @property {boolean} isInsideMode Specifies if the plugin must be displayed inside the editor panel instead of its own window. * @property {boolean} [isSystem] Specifies if the plugin is not displayed in the editor interface and is started in background with the server (or desktop editors start) not interfering with the other plugins, so that they can work simultaneously. * @property {boolean} [isDisplayedInViewer] Specifies if the plugin will be displayed in viewer mode as well as in editor mode (isDisplayedInViewer == true) or in the editor mode only (isDisplayedInViewer == false). * From 7d29053f630745bf61f34d65186da6f717f515d8 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Fri, 16 Apr 2021 16:31:03 +0300 Subject: [PATCH 168/381] [se] Fix bug 49672 --- cell/model/PivotTables.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index 8cc99a6295..40e0158e4b 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -13844,7 +13844,7 @@ CT_RangePr.prototype.generateGroupItems = function (containsInteger, containsBl numFormat = AscCommon.oNumFormatCache.get("mmm"); date = new Asc.cDate(Date.UTC(2000, 0, 1)); for(i = 0; i < 12; ++i) { - date.setMonth(i); + date.setUTCMonth(i); groupItems.addString(numFormat.formatToChart(date.getExcelDateWithTime2())); } } else if (this.groupBy === c_oAscGroupBy.Quarters) { From 4fb59a51997cc81bff46e44873b5bad87c2894df Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Fri, 16 Apr 2021 16:38:04 +0300 Subject: [PATCH 169/381] [se] Fix bug 49532 --- cell/view/WorksheetView.js | 42 ++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/cell/view/WorksheetView.js b/cell/view/WorksheetView.js index 1a90ec8433..74b2ef6e17 100644 --- a/cell/view/WorksheetView.js +++ b/cell/view/WorksheetView.js @@ -8056,32 +8056,30 @@ commentCoords: coords }; if(!oHyperlink) { - var formulaParsed; this.model.getCell3(r.row, c.col)._foreachNoEmpty(function (cell) { if (cell.isFormula()) { - formulaParsed = cell.getFormulaParsed(); - } - }); - if (formulaParsed) { - var formulaHyperlink = formulaParsed.getFormulaHyperlink(); - if (formulaHyperlink) { - //запсускаю пересчет в связи с тем, что после открытия значение не рассчитано, - // но показывать результат при наведении на ссылку нужно - if(null === formulaParsed.value) { - formulaParsed.calculate(); - } - if(formulaParsed.value && formulaParsed.value.hyperlink) { - oHyperlink = new AscCommonExcel.Hyperlink(); - oHyperlink.Hyperlink = formulaParsed.value.hyperlink; - } else if(formulaParsed.value && AscCommonExcel.cElementType.array === formulaParsed.value.type) { - var firstArrayElem = formulaParsed.value.getElementRowCol(0,0); - if(firstArrayElem && firstArrayElem.hyperlink) { - oHyperlink = new AscCommonExcel.Hyperlink(); - oHyperlink.Hyperlink = firstArrayElem.hyperlink; + cell.processFormula(function(formulaParsed) { + var formulaHyperlink = formulaParsed.getFormulaHyperlink(); + if (formulaHyperlink) { + //запсускаю пересчет в связи с тем, что после открытия значение не рассчитано, + // но показывать результат при наведении на ссылку нужно + if(null === formulaParsed.value || formulaParsed.getShared()) { + formulaParsed.calculate(); + } + if(formulaParsed.value && formulaParsed.value.hyperlink) { + oHyperlink = new AscCommonExcel.Hyperlink(); + oHyperlink.Hyperlink = formulaParsed.value.hyperlink; + } else if(formulaParsed.value && AscCommonExcel.cElementType.array === formulaParsed.value.type) { + var firstArrayElem = formulaParsed.value.getElementRowCol(0,0); + if(firstArrayElem && firstArrayElem.hyperlink) { + oHyperlink = new AscCommonExcel.Hyperlink(); + oHyperlink.Hyperlink = firstArrayElem.hyperlink; + } + } } - } + }); } - } + }); } if (oHyperlink) { From 0173f5589c9345f07561e9f0fc9157043cc38b7e Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Fri, 16 Apr 2021 17:13:13 +0300 Subject: [PATCH 170/381] [se] Fix bug 49639 --- cell/model/UndoRedo.js | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/cell/model/UndoRedo.js b/cell/model/UndoRedo.js index d3411507fe..4e49403849 100644 --- a/cell/model/UndoRedo.js +++ b/cell/model/UndoRedo.js @@ -3770,56 +3770,57 @@ function (window, undefined) { return; } var fields; - if (Type < AscCH.historyitem_PivotTable_DataFieldSetName) { - fields = pivotTable.asc_getPivotFields(); - } else { + if (AscCH.historyitem_PivotTable_DataFieldSetName === Type || Type === AscCH.historyitem_PivotTable_DataFieldSetSubtotal) { fields = pivotTable.asc_getDataFields(); + } else { + fields = pivotTable.asc_getPivotFields(); } - if (!fields || !fields[Data.index]) { + var index = AscCH.historyitem_PivotTable_PivotFieldVisible === Type ? Data.index.to : Data.index; + if (!fields || !fields[index]) { return; } - var field = fields[Data.index]; + var field = fields[index]; pivotTable.stashCurReportRange(); var value = bUndo ? Data.from : Data.to; switch (Type) { case AscCH.historyitem_PivotTable_PivotFieldSetName: - field.asc_setName(value, pivotTable, Data.index); + field.asc_setName(value, pivotTable, index); break; case AscCH.historyitem_PivotTable_PivotFieldSetOutline: - field.asc_setOutline(value, pivotTable, Data.index); + field.asc_setOutline(value, pivotTable, index); break; case AscCH.historyitem_PivotTable_PivotFieldSetCompact: - field.asc_setCompact(value, pivotTable, Data.index); + field.asc_setCompact(value, pivotTable, index); break; case AscCH.historyitem_PivotTable_PivotFieldFillDownLabelsDefault: - field.setFillDownLabelsDefault(value, pivotTable, Data.index); + field.setFillDownLabelsDefault(value, pivotTable, index); break; case AscCH.historyitem_PivotTable_PivotFieldSetInsertBlankRow: - field.asc_setInsertBlankRow(value, pivotTable, Data.index); + field.asc_setInsertBlankRow(value, pivotTable, index); break; case AscCH.historyitem_PivotTable_PivotFieldSetDefaultSubtotal: - field.asc_setDefaultSubtotal(value, pivotTable, Data.index); + field.asc_setDefaultSubtotal(value, pivotTable, index); field.checkSubtotal(); break; case AscCH.historyitem_PivotTable_PivotFieldSetSubtotalTop: - field.asc_setSubtotalTop(value, pivotTable, Data.index); + field.asc_setSubtotalTop(value, pivotTable, index); break; case AscCH.historyitem_PivotTable_PivotFieldSetShowAll: - field.asc_setShowAll(value, pivotTable, Data.index); + field.asc_setShowAll(value, pivotTable, index); break; case AscCH.historyitem_PivotTable_PivotFieldVisible: - field.asc_setVisible(value, pivotTable, Data.index.from, Data.index.to); + field.asc_setVisible(value, pivotTable, Data.index.from, index); break; case AscCH.historyitem_PivotTable_PivotFieldSetSubtotals: - field.setSubtotals(value, pivotTable, Data.index); + field.setSubtotals(value, pivotTable, index); field.checkSubtotal(); break; case AscCH.historyitem_PivotTable_DataFieldSetName: - field.asc_setName(value, pivotTable, Data.index); + field.asc_setName(value, pivotTable, index); break; case AscCH.historyitem_PivotTable_DataFieldSetSubtotal: - field.asc_setSubtotal(value, pivotTable, Data.index); + field.asc_setSubtotal(value, pivotTable, index); break; } }; From 7587292008fa2fae4a74baf5c9833f1717915e56 Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Fri, 16 Apr 2021 19:06:23 +0300 Subject: [PATCH 171/381] Fix scroll border's style (#1820) --- common/plugins.js | 2 +- common/plugins/plugin_base.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/plugins.js b/common/plugins.js index 1d6bab3ca0..27a215a16b 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -1006,7 +1006,7 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                        ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); + pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                          ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index 68070946e4..39fef07ef6 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -474,7 +474,7 @@ ".select2-container--default .select2-selection--single .select2-selection__arrow b" : { "border-color" : "text-normal !important" }, ".ps .ps__rail-y:hover" : {"background-color" : "background-toolbar" }, ".ps .ps__rail-y.ps--clicking" : {"background-color" : "background-toolbar" }, - ".ps__thumb-y" : {"background-color" : "background-normal", "border-color" : "background-normal" }, + ".ps__thumb-y" : { "background-color" : "background-normal", "border-color" : "Border !important" }, ".ps__rail-y:hover > .ps__thumb-y" : {"border-color" : "canvas-scroll-thumb-hover" } }; From 432f7f496273566ce7fb81a6b2aef850b1a8079c Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sun, 18 Apr 2021 02:01:36 +0300 Subject: [PATCH 172/381] [bug] Fix resetting chart object on legend recalculation --- common/Drawings/Format/ChartSpace.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/common/Drawings/Format/ChartSpace.js b/common/Drawings/Format/ChartSpace.js index d9a559b66d..c0817d6cb4 100644 --- a/common/Drawings/Format/ChartSpace.js +++ b/common/Drawings/Format/ChartSpace.js @@ -9110,10 +9110,8 @@ var GLOBAL_PATH_COUNT = 0; bResetLegendPos = true; this.chart.legend.legendPos = Asc.c_oAscChartLegendShowSettings.bottom; } - if(!this.chartObj) { - this.chartObj = new AscFormat.CChartsDrawer(); - } - this.chartObj.preCalculateData(this); + + this.checkPrecalculateChartObject(); var pos = this.chartObj.recalculatePositionText(this.chart.legend); if(this.chart.legend.layout) { if(AscFormat.isRealNumber(legend.layout.x)) { @@ -10444,19 +10442,21 @@ var GLOBAL_PATH_COUNT = 0; } }; CChartSpace.prototype.getXValAxisValues = function() { - if(!this.chartObj) { - this.chartObj = new AscFormat.CChartsDrawer() - } - this.chartObj.preCalculateData(this); + this.checkPrecalculateChartObject(); return [].concat(this.chart.plotArea.catAx.scale) }; CChartSpace.prototype.getValAxisValues = function() { - if(!this.chartObj) { - this.chartObj = new AscFormat.CChartsDrawer() - } - this.chartObj.preCalculateData(this); + this.checkPrecalculateChartObject(); return [].concat(this.chart.plotArea.valAx.scale); }; + CChartSpace.prototype.checkPrecalculateChartObject = function() { + if(!this.chartObj || this.recalcInfo.recalculateChart) { + if(!this.chartObj) { + this.chartObj = new AscFormat.CChartsDrawer(); + } + this.chartObj.preCalculateData(this); + } + }; CChartSpace.prototype.recalculateDLbls = function() { if(this.chart && this.chart.plotArea) { this.cachedCanvas = null; From 93b6e681398512d0bab0ff44b05acc0597f496ca Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Mon, 19 Apr 2021 10:42:53 +0300 Subject: [PATCH 173/381] Link's styles for themes (#1821) --- common/plugins.js | 2 +- common/plugins/plugin_base.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/common/plugins.js b/common/plugins.js index 27a215a16b..a619903627 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -1006,7 +1006,7 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                            ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); + pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                              ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"},\"a:link\":{color:\"text-link\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index 39fef07ef6..1ef182e478 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -475,7 +475,8 @@ ".ps .ps__rail-y:hover" : {"background-color" : "background-toolbar" }, ".ps .ps__rail-y.ps--clicking" : {"background-color" : "background-toolbar" }, ".ps__thumb-y" : { "background-color" : "background-normal", "border-color" : "Border !important" }, - ".ps__rail-y:hover > .ps__thumb-y" : {"border-color" : "canvas-scroll-thumb-hover" } + ".ps__rail-y:hover > .ps__thumb-y" : {"border-color" : "canvas-scroll-thumb-hover" }, + "a:link" : { "color" : "text-link" } }; var g_isMouseSendEnabled = false; From 53cbf8118bf5f99007e116967e5f92a639c7ec1b Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Mon, 19 Apr 2021 10:12:12 +0300 Subject: [PATCH 174/381] [se] Fix bug 49693 --- cell/model/FormulaObjects/lookupandreferenceFunctions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/model/FormulaObjects/lookupandreferenceFunctions.js b/cell/model/FormulaObjects/lookupandreferenceFunctions.js index fab0fb4f61..cfb5e870c1 100644 --- a/cell/model/FormulaObjects/lookupandreferenceFunctions.js +++ b/cell/model/FormulaObjects/lookupandreferenceFunctions.js @@ -2125,7 +2125,7 @@ function (window, undefined) { cXLOOKUP.prototype.argumentsMin = 3; cXLOOKUP.prototype.argumentsMax = 6; cXLOOKUP.prototype.arrayIndexes = {1: 1, 2: 1}; - cXLOOKUP.prototype.argumentsType = [argType.any, argType.reference, argType.reference]; + cXLOOKUP.prototype.argumentsType = [argType.any, argType.number, argType.number, argType.logical, argType.number, argType.number]; cXLOOKUP.prototype.returnValueType = AscCommonExcel.cReturnFormulaType.value_replace_area; cXLOOKUP.prototype.isXLFN = true; cXLOOKUP.prototype.Calculate = function (arg) { From 7c3b9e6c79678d559e6227afd29237e464785434 Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Mon, 19 Apr 2021 11:09:55 +0300 Subject: [PATCH 175/381] Form control[readonly]/[disabled] styles for themes (#1822) --- common/plugins.js | 2 +- common/plugins/plugin_base.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/plugins.js b/common/plugins.js index a619903627..107b73b60a 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -1006,7 +1006,7 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                                ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"},\"a:link\":{color:\"text-link\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); + pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                                  ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"},\"a:link\":{color:\"text-link\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index 1ef182e478..e7d889c9ea 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -447,7 +447,7 @@ ".defaultlable" : { "color" : "text-normal" }, ".aboutlable" : { "color" : "text-normal" }, "a.aboutlink" : { "color" : "text-normal" }, - ".form-control" : { "color" : "text-normal", "background-color" : "background-normal", "border-color" : "border-regular-control" }, + ".form-control, .form-control[readonly], .form-control[disabled]" : { "color" : "text-normal", "background-color" : "background-normal", "border-color" : "border-regular-control" }, ".form-control:focus" : { "border-color" : "border-control-focus" }, ".form-control[disabled]" : { "color" : "text-invers" }, ".btn-text-default" : { "background-color" : "background-normal", "border-color" : "border-regular-control", "color" : "text-normal" }, From 3a046c172b66f1c5dd40ea995528ceb3dfd59037 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Mon, 19 Apr 2021 16:04:13 +0300 Subject: [PATCH 176/381] [se] By bug 49693 --- cell/model/FormulaObjects/lookupandreferenceFunctions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/model/FormulaObjects/lookupandreferenceFunctions.js b/cell/model/FormulaObjects/lookupandreferenceFunctions.js index cfb5e870c1..d863da7262 100644 --- a/cell/model/FormulaObjects/lookupandreferenceFunctions.js +++ b/cell/model/FormulaObjects/lookupandreferenceFunctions.js @@ -2125,7 +2125,7 @@ function (window, undefined) { cXLOOKUP.prototype.argumentsMin = 3; cXLOOKUP.prototype.argumentsMax = 6; cXLOOKUP.prototype.arrayIndexes = {1: 1, 2: 1}; - cXLOOKUP.prototype.argumentsType = [argType.any, argType.number, argType.number, argType.logical, argType.number, argType.number]; + cXLOOKUP.prototype.argumentsType = [argType.any, argType.reference, argType.reference, argType.any, argType.number, argType.number]; cXLOOKUP.prototype.returnValueType = AscCommonExcel.cReturnFormulaType.value_replace_area; cXLOOKUP.prototype.isXLFN = true; cXLOOKUP.prototype.Calculate = function (arg) { From 4875f5173a5a1bc65348487ccc167531ae209de1 Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Mon, 19 Apr 2021 17:08:58 +0300 Subject: [PATCH 177/381] Added description for Api.ReplaceTextSmart() method (#1825) --- word/apiBuilder.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/word/apiBuilder.js b/word/apiBuilder.js index 53b5a96d60..e5afc6abf8 100644 --- a/word/apiBuilder.js +++ b/word/apiBuilder.js @@ -11750,6 +11750,12 @@ Document.UpdateSelection(); }; + /** + * Replaces each paragraph(or text in cell) in the select with the corresponding text from an array of strings. + * @memberof Api + * @typeofeditors ["CDE", "CSE", "CPE"] + * @param {Array} arrString - represents an array of strings. + */ Api.prototype.ReplaceTextSmart = function(arrString) { var allRunsInfo = null; From 507293dab79efd993bff5a6619bff9c64f0e17d7 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Mon, 19 Apr 2021 17:18:38 +0300 Subject: [PATCH 178/381] [bug] Fix bug 49703 --- common/Drawings/Format/ChartFormat.js | 2 +- common/Shapes/SerializeWriter.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 7e455b6fb7..2ede8b96a5 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -4810,7 +4810,7 @@ else if(nType === Asc.c_oAscChartTypeSettings.comboAreaBar) { aAllAxes = aFirstAxes = aSecondAxes = this.createRegularAxes(this.getAxisNumFormatByType(Asc.c_oAscChartTypeSettings.barNormal, aFirstChartSeries), false); oTypedChart = this.charts[0]; - oAreaChart = this.createAreaChart(Asc.c_oAscChartTypeSettings.areaNormal, aFirstChartSeries, aFirstAxes, oTypedChart); + oAreaChart = this.createAreaChart(Asc.c_oAscChartTypeSettings.areaStacked, aFirstChartSeries, aFirstAxes, oTypedChart); oBarChart = this.createBarChart(Asc.c_oAscChartTypeSettings.barNormal, aSecondChartSeries, aSecondAxes, oTypedChart); aAllCharts.push(oAreaChart); aAllCharts.push(oBarChart); diff --git a/common/Shapes/SerializeWriter.js b/common/Shapes/SerializeWriter.js index 22314638aa..d51384bb5e 100644 --- a/common/Shapes/SerializeWriter.js +++ b/common/Shapes/SerializeWriter.js @@ -2544,7 +2544,7 @@ function CBinaryFileWriter() var len__ = oEffect.effectList.length; oThis._WriteInt2(0, len__); - for (i = 0; i < len__; ++i) + for (var i = 0; i < len__; ++i) { oThis.WriteRecord1(1, oEffect.effectList[i], oThis.WriteEffect); // id неважен } From 0b77270677e2301bbbedecdde0b032bcac59e8a4 Mon Sep 17 00:00:00 2001 From: Antipin Nikita Date: Tue, 20 Apr 2021 12:53:35 +0300 Subject: [PATCH 179/381] Fixed bug with horizontal scrolling (#1827) --- common/scroll.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/scroll.js b/common/scroll.js index 12ddc10fc7..0b01338a4b 100644 --- a/common/scroll.js +++ b/common/scroll.js @@ -1758,7 +1758,7 @@ CArrowDrawer.prototype.InitSize = function ( sizeW, sizeH, is_retina ) { this.that.scroller.x = this.that.arrowPosition; } } - var destX = (this.that.scroller.x - this.that.arrowPosition + Math.round(dPR)) * this.that.scrollCoeff; + var destX = (this.that.scroller.x - this.that.arrowPosition) * this.that.scrollCoeff; this.that._scrollH( this.that, evt, destX, isTop, isBottom ); From 83bae0f12919f9853d8626f473b207f4605c1f47 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Tue, 20 Apr 2021 13:09:00 +0300 Subject: [PATCH 180/381] [se] Fix bug 49739 --- cell/model/FormulaObjects/lookupandreferenceFunctions.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cell/model/FormulaObjects/lookupandreferenceFunctions.js b/cell/model/FormulaObjects/lookupandreferenceFunctions.js index d863da7262..4d99be4614 100644 --- a/cell/model/FormulaObjects/lookupandreferenceFunctions.js +++ b/cell/model/FormulaObjects/lookupandreferenceFunctions.js @@ -2229,10 +2229,14 @@ function (window, undefined) { var _range = new Asc.Range(_cl, _r1, _c2, _r2); var _res; + var rangeName; + AscCommonExcel.executeInR1C1Mode(false, function () { + rangeName = _range.getName(); + }); if (cElementType.cellsRange === arg2.type) { - _res = _range.isOneCell() ? new cRef(_range.getName(), arg2.getWS()) : new cArea(_range.getName(), arg2.getWS()); + _res = _range.isOneCell() ? new cRef(rangeName, arg2.getWS()) : new cArea(rangeName, arg2.getWS()); } else { - _res = _range.isOneCell() ? new cRef3D(_range.getName(), arg2.getWS()) : new cArea3D(_range.getName(), arg2.getWS()); + _res = _range.isOneCell() ? new cRef3D(rangeName, arg2.getWS()) : new cArea3D(rangeName, arg2.getWS()); } return _res; } else { From c3109622782715a848373c8fa9a7ccbb331f5e71 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Wed, 21 Apr 2021 10:51:05 +0300 Subject: [PATCH 181/381] [bug] Fix bug 49744 --- cell/api.js | 9 ++++- cell/apiBuilder.js | 5 +++ cell/model/History.js | 53 ++++++++++++++++++++++++---- cell/model/UndoRedo.js | 4 +-- cell/model/Workbook.js | 49 +++++++++++++------------ cell/view/WorkbookView.js | 19 ++++++++++ common/Drawings/Format/ChartSpace.js | 5 ++- 7 files changed, 110 insertions(+), 34 deletions(-) diff --git a/cell/api.js b/cell/api.js index b5507c625f..0e4b08f3c3 100644 --- a/cell/api.js +++ b/cell/api.js @@ -2267,8 +2267,15 @@ var editor; if (res) { AscFonts.FontPickerByCharacter.getFontsByString(name); t._loadFonts([], function() { - t.wbModel.getWorksheet(i).setName(name); + var oWorkbook = t.wbModel; + var oWorksheet = oWorkbook.getWorksheet(i); + var sOldName = oWorksheet.getName(); + oWorksheet.setName(name); t.sheetsChanged(); + if(t.wb) { + //change sheet name in chart references + t.wb.handleChartsOnChangeSheetName(oWorksheet, sOldName, name); + } }); } else { t.handlers.trigger("asc_onError", c_oAscError.ID.LockedWorksheetRename, c_oAscError.Level.NoCritical); diff --git a/cell/apiBuilder.js b/cell/apiBuilder.js index 5c436d2359..aff55b926e 100644 --- a/cell/apiBuilder.js +++ b/cell/apiBuilder.js @@ -780,7 +780,12 @@ * @param {string} sName - The name which will be displayed for the current sheet at the sheet tab. */ ApiWorksheet.prototype.SetName = function (sName) { + var sOldName = this.worksheet.getName(); this.worksheet.setName(sName); + var oWorkbook = this.worksheet.workbook; + if(oWorkbook) { + oWorkbook.handleChartsOnChangeSheetName(this.worksheet, sOldName, sName) + } }; Object.defineProperty(ApiWorksheet.prototype, "Name", { get: function () { diff --git a/cell/model/History.js b/cell/model/History.js index 00fa06bd96..75075b7473 100644 --- a/cell/model/History.js +++ b/cell/model/History.js @@ -494,7 +494,6 @@ CHistory.prototype.RedoExecute = function(Point, oRedoObjectParam) this._addRedoObjectParam(oRedoObjectParam, Item); } AscCommon.CollaborativeEditing.Apply_LinkData(); - Asc["editor"].wb.recalculateDrawingObjects(Point, false); }; CHistory.prototype.UndoRedoEnd = function (Point, oRedoObjectParam, bUndo) { var wsViews, i, oState = null, bCoaut = false, t = this; @@ -502,7 +501,7 @@ CHistory.prototype.UndoRedoEnd = function (Point, oRedoObjectParam, bUndo) { Point = this.Points[this.Index]; AscCommon.CollaborativeEditing.Apply_LinkData(); bCoaut = true; - if(!window["NATIVE_EDITOR_ENJINE"] || window['IS_NATIVE_EDITOR']) { + if(!AscCommon.isFileBuild()) { Asc["editor"].wb.recalculateDrawingObjects(Point, true); } } @@ -563,7 +562,7 @@ CHistory.prototype.UndoRedoEnd = function (Point, oRedoObjectParam, bUndo) { this.workbook.handlers.trigger("asc_onUpdateTabColor", curSheet.getIndex()); } - if(!window["NATIVE_EDITOR_ENJINE"] || window['IS_NATIVE_EDITOR']) { + if(!AscCommon.isFileBuild()) { Asc["editor"].wb.recalculateDrawingObjects(Point, false); } @@ -703,15 +702,55 @@ CHistory.prototype.Get_RecalcData = function(Point2) Item.Class.RefreshRecalcData(); if(Item.Type === AscCH.historyitem_Workbook_ChangeColorScheme && Item.Class === AscCommonExcel.g_oUndoRedoWorkbook) { - var wsViews = Asc["editor"].wb.wsViews; - for(var i = 0; i < wsViews.length; ++i) + if(Asc["editor"].wb) { - if(wsViews[i] && wsViews[i].objectRender && wsViews[i].objectRender.controller) + var wsViews = Asc["editor"].wb.wsViews; + for(var i = 0; i < wsViews.length; ++i) { - wsViews[i].objectRender.controller.RefreshAfterChangeColorScheme(); + if(wsViews[i] && wsViews[i].objectRender && wsViews[i].objectRender.controller) + { + wsViews[i].objectRender.controller.RefreshAfterChangeColorScheme(); + } } } } + if(Item.Type === AscCH.historyitem_Worksheet_Rename) + { + var oWorkbook = Asc["editor"].wbModel; + var oData = Item.Data; + if(oWorkbook && oData) + { + var oWorksheet = oWorkbook.getWorksheetById(Item.SheetId); + if(oWorksheet) + { + var oOldNameData = oWorkbook.getChartSheetRenameData(oWorksheet, oData.from); + var oNewNameData = oWorkbook.getChartSheetRenameData(oWorksheet, oData.to); + var oAllIdMap = {}; + var nId, sKey; + for(nId = 0; nId < oOldNameData.ids.length; ++nId) + { + oAllIdMap[oOldNameData.ids[nId]] = true; + } + for(nId = 0; nId < oNewNameData.ids.length; ++nId) + { + oAllIdMap[oNewNameData.ids[nId]] = true; + } + for(sKey in oAllIdMap) + { + var oChart = AscCommon.g_oTableId.Get_ById(sKey); + if(oChart && + oChart.onDataUpdateRecalc && + oChart.addToRecalculate) + { + oChart.onDataUpdateRecalc(); + oChart.addToRecalculate(); + } + } + + } + } + + } } } } diff --git a/cell/model/UndoRedo.js b/cell/model/UndoRedo.js index 4e49403849..ec79feb825 100644 --- a/cell/model/UndoRedo.js +++ b/cell/model/UndoRedo.js @@ -2731,9 +2731,9 @@ function (window, undefined) { worksheetView.model.autoFilters.reDrawFilter(from); } else if (AscCH.historyitem_Worksheet_Rename == Type) { if (bUndo) { - ws.setName(Data.from, true); + ws.setName(Data.from); } else { - ws.setName(Data.to, true); + ws.setName(Data.to); } } else if (AscCH.historyitem_Worksheet_Hide == Type) { if (bUndo) { diff --git a/cell/model/Workbook.js b/cell/model/Workbook.js index a54951f1cb..e0997de7ab 100644 --- a/cell/model/Workbook.js +++ b/cell/model/Workbook.js @@ -3578,38 +3578,45 @@ } }); }; - Workbook.prototype.handleChartsOnChangeSheetName = function (oWorksheet, sNewName) { - if(!History.CanAddChanges()) { - return; - } + Workbook.prototype.getChartsWithSheetData = function(oWorksheet) { var aRefsToChange = []; var aId = []; + var aCharts = []; var aRanges = [new AscCommonExcel.Range(oWorksheet, 0, 0, gc_nMaxRow0, gc_nMaxCol0)]; this.handleDrawings(function(oDrawing) { if(oDrawing.getObjectType() === AscDFH.historyitem_type_ChartSpace) { var nPrevLength = aRefsToChange.length; + oDrawing.clearDataRefs(); oDrawing.collectIntersectionRefs(aRanges, aRefsToChange); + oDrawing.clearDataRefs(); if(aRefsToChange.length > nPrevLength) { + aCharts.push(oDrawing); aId.push(oDrawing.Get_Id()); } } }); + return {refs: aRefsToChange, ids: aId, charts: aCharts}; - var sNewNameEscaped = parserHelp.getEscapeSheetName(sNewName); - var sOldName = parserHelp.getEscapeSheetName(oWorksheet.sName); - this.checkObjectsLock(aId, function(bNoLock) { - if(bNoLock) { - for(var nRef = 0; nRef < aRefsToChange.length; ++nRef) { - aRefsToChange[nRef].handleOnChangeSheetName(sOldName, sNewNameEscaped); - } - if(Asc.editor && Asc.editor.wb) { - var sOldSheetName = oWorksheet.sName; - oWorksheet.sName = sNewName; - Asc.editor.wb.recalculateDrawingObjects(null, false); - oWorksheet.sName = sOldSheetName; - } + }; + Workbook.prototype.getChartSheetRenameData = function (oWorksheet, sOldName) { + var sOldSheetName = oWorksheet.sName; + oWorksheet.sName = sOldName; + var oData = this.getChartsWithSheetData(oWorksheet); + oWorksheet.sName = sOldSheetName; + return oData; + }; + Workbook.prototype.changeSheetNameInRefs = function (aRefsToChange, sOldName, sNewName) { + if(aRefsToChange.length > 0) { + var sNewNameEscaped = parserHelp.getEscapeSheetName(sNewName); + var sOldNameEscaped = parserHelp.getEscapeSheetName(sOldName); + for(var nRef = 0; nRef < aRefsToChange.length; ++nRef) { + aRefsToChange[nRef].handleOnChangeSheetName(sOldNameEscaped, sNewNameEscaped); } - }); + } + }; + Workbook.prototype.handleChartsOnChangeSheetName = function (oWorksheet, sOldName, sNewName) { + var oData = this.getChartSheetRenameData(oWorksheet, sOldName); + this.changeSheetNameInRefs(oData.refs, sOldName, sNewName); }; Workbook.prototype.handleChartsOnMoveRange = function (oRangeFrom, oRangeTo) { if(!History.CanAddChanges()) { @@ -4764,15 +4771,11 @@ Worksheet.prototype.getName=function(){ return this.sName !== undefined && this.sName.length > 0 ? this.sName : ""; }; - Worksheet.prototype.setName=function(name, bFromUndoRedo){ + Worksheet.prototype.setName=function(name){ if(name.length <= g_nSheetNameMaxLength) { var lastName = this.sName; History.Create_NewPoint(); - if(!bFromUndoRedo) - { - this.workbook.handleChartsOnChangeSheetName(this, name); - } var prepared = this.workbook.dependencyFormulas.prepareChangeSheet(this.getId(), {rename: {from: lastName, to: name}}); this.sName = name; this.workbook.dependencyFormulas.changeSheet(prepared); diff --git a/cell/view/WorkbookView.js b/cell/view/WorkbookView.js index af7464f951..af95f62ab3 100644 --- a/cell/view/WorkbookView.js +++ b/cell/view/WorkbookView.js @@ -2977,6 +2977,25 @@ this.onShowDrawingObjects(); } }; + WorkbookView.prototype.handleChartsOnChangeSheetName = function (oWorksheet, sOldName, sNewName) { + //change sheet name in chart references + var oWorkbook = this.model; + var oRenameData = oWorkbook.getChartSheetRenameData(oWorksheet, sOldName); + var oThis = this; + if(oRenameData.refs.length > 0) { + oWorkbook.checkObjectsLock(oRenameData.ids, function(bNoLock) { + if(bNoLock) { + oWorkbook.changeSheetNameInRefs(oRenameData.refs, sOldName, sNewName); + } + //recalculate in any case. Some charts might depend on new chart name + oThis.recalculateDrawingObjects(null, false); + }); + } + else { + //recalculate in any case. Some charts might depend on new chart name + oThis.recalculateDrawingObjects(null, false); + } + }; WorkbookView.prototype.recalculateDrawingObjects = function(oHistoryPoint, bAll) { var aWSVies = this.wsViews; var oWSView, oDrawingsRender; diff --git a/common/Drawings/Format/ChartSpace.js b/common/Drawings/Format/ChartSpace.js index c0817d6cb4..1f437fc959 100644 --- a/common/Drawings/Format/ChartSpace.js +++ b/common/Drawings/Format/ChartSpace.js @@ -12144,9 +12144,12 @@ var GLOBAL_PATH_COUNT = 0; aAllSeries[i].setCategories(sFormula); } }; - CChartSpace.prototype.onDataUpdate = function() { + CChartSpace.prototype.onDataUpdateRecalc = function() { this.handleUpdateInternalChart(); this.recalcInfo.recalculateReferences = true; + }; + CChartSpace.prototype.onDataUpdate = function() { + this.onDataUpdateRecalc(); this.recalculate(); this.onUpdate(null); }; From 8bc42e1d35fd539d85a8f9d7035f6e46c7ff7ad0 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Mon, 19 Apr 2021 20:29:16 +0300 Subject: [PATCH 182/381] Implement function to detect did we hit in form/content control --- word/Editor/Document.js | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 9189baf9dc..64b3c40ceb 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -9403,6 +9403,44 @@ CDocument.prototype.IsInDrawing = function(X, Y, PageIndex) } } }; +/** + * Проверяем, попали ли мы в форму + * @param X + * @param Y + * @param nPageAbs + * @returns {boolean} + */ +CDocument.prototype.IsInForm = function(X, Y, nPageAbs) +{ + var oAnchor = this.Get_NearestPos(nPageAbs, X, Y); + if (!oAnchor || !oAnchor.Paragraph) + return false; + + var oClass = oAnchor.Paragraph.GetClassByPos(oAnchor.ContentPos); + if (!oClass || !(oClass instanceof ParaRun)) + return false; + + return (!!oClass.GetParentForm()); +}; +/** + * Проверяем, попали ли мы в контейнер + * @param X + * @param Y + * @param nPageAbs + * @returns {boolean} + */ +CDocument.prototype.IsInContentControl = function(X, Y, nPageAbs) +{ + var oAnchor = this.Get_NearestPos(nPageAbs, X, Y); + if (!oAnchor || !oAnchor.Paragraph) + return false; + + var oClass = oAnchor.Paragraph.GetClassByPos(oAnchor.ContentPos); + if (!oClass || !(oClass instanceof ParaRun)) + return false; + + return (oClass.GetParentContentControls().length > 0); +}; CDocument.prototype.Is_UseInDocument = function(Id) { var Count = this.Content.length; From a3fbd2a19ef824ad06021a40c2a7be9b07efae4f Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Mon, 19 Apr 2021 21:20:56 +0300 Subject: [PATCH 183/381] Enable mouse hand mode in FillingForms mode --- word/Drawing/HtmlPage.js | 78 +++++++++++++++++++++++++++++++++++++++- word/api.js | 3 ++ 2 files changed, 80 insertions(+), 1 deletion(-) diff --git a/word/Drawing/HtmlPage.js b/word/Drawing/HtmlPage.js index 90a44f16d7..135a099e6f 100644 --- a/word/Drawing/HtmlPage.js +++ b/word/Drawing/HtmlPage.js @@ -202,6 +202,8 @@ function CEditorPage(api) this.m_oApi = api; var oThis = this; + this.MouseHandObject = null; + //this.UseRequestAnimationFrame = false; this.UseRequestAnimationFrame = AscCommon.AscBrowser.isChrome; this.RequestAnimationFrame = (function() @@ -411,6 +413,8 @@ function CEditorPage(api) this.m_oDrawingDocument.AutoShapesTrack.init2(this.m_oOverlayApi); this.OnResize(true); + + this.checkMouseHandMode(); }; this.CheckRetinaDisplay = function() @@ -762,6 +766,24 @@ function CEditorPage(api) } }; + this.checkMouseHandMode = function() + { + if (!this.m_oApi || !this.m_oApi.isRestrictionForms()) + { + this.MouseHandObject = null; + return; + } + + this.MouseHandObject = { + check : function(_this, _pos) { + var logicDoc = _this.m_oLogicDocument; + if (!logicDoc || !(logicDoc.IsInForm(_pos.X, _pos.Y, _pos.Page) || logicDoc.IsInForm(_pos.X, _pos.Y, _pos.Page))) + return true; + return false; + } + }; + }; + this.onButtonRulersClick = function() { if (false === oThis.m_oApi.bInit_word_control || true === oThis.m_oApi.isViewMode) @@ -1496,12 +1518,28 @@ function CEditorPage(api) oWordControl.m_bIsMouseLock = true; } + var pos = null; + + if (oWordControl.MouseHandObject) + { + pos = oWordControl.m_oDrawingDocument.ConvertCoordsFromCursor2(global_mouseEvent.X, global_mouseEvent.Y); + if (oWordControl.MouseHandObject.check(oWordControl, pos)) + { + oWordControl.MouseHandObject.X = global_mouseEvent.X; + oWordControl.MouseHandObject.Y = global_mouseEvent.Y; + oWordControl.MouseHandObject.Active = true; + oWordControl.MouseHandObject.ScrollX = oWordControl.m_dScrollX; + oWordControl.MouseHandObject.ScrollY = oWordControl.m_dScrollY; + oWordControl.m_oDrawingDocument.SetCursorType("grabbing"); + return; + } + } + oWordControl.StartUpdateOverlay(); var bIsSendSelectWhell = false; if ((0 == global_mouseEvent.Button) || (undefined == global_mouseEvent.Button)) { - var pos = null; if (oWordControl.m_oDrawingDocument.AutoShapesTrackLockPageNum == -1) pos = oWordControl.m_oDrawingDocument.ConvertCoordsFromCursor2(global_mouseEvent.X, global_mouseEvent.Y); else @@ -1582,6 +1620,33 @@ function CEditorPage(api) var oWordControl = oThis; var pos = null; + if (oWordControl.MouseHandObject) + { + if (oWordControl.MouseHandObject.Active) + { + oWordControl.m_oDrawingDocument.SetCursorType("grabbing"); + + var scrollX = global_mouseEvent.X - oWordControl.MouseHandObject.X; + var scrollY = global_mouseEvent.Y - oWordControl.MouseHandObject.Y; + + if (0 != scrollX && oWordControl.m_bIsHorScrollVisible) + oWordControl.m_oScrollHorApi.scrollToX(oWordControl.MouseHandObject.ScrollX - scrollX); + if (0 != scrollY) + oWordControl.m_oScrollVerApi.scrollToY(oWordControl.MouseHandObject.ScrollY - scrollY); + + return; + } + + pos = oWordControl.m_oDrawingDocument.ConvertCoordsFromCursor2(global_mouseEvent.X, global_mouseEvent.Y); + if (oWordControl.MouseHandObject.check(oWordControl, pos)) + { + oWordControl.m_oDrawingDocument.SetCursorType("grab"); + return; + } + + oWordControl.m_oDrawingDocument.SetCursorType("default"); + } + if (oWordControl.m_oDrawingDocument.AutoShapesTrackLockPageNum == -1) pos = oWordControl.m_oDrawingDocument.ConvertCoordsFromCursor2(global_mouseEvent.X, global_mouseEvent.Y); else @@ -1676,6 +1741,14 @@ function CEditorPage(api) // return; var oWordControl = oThis; + + if (oWordControl.MouseHandObject && oWordControl.MouseHandObject.Active) + { + oWordControl.MouseHandObject.Active = false; + oWordControl.m_oDrawingDocument.SetCursorType("grab"); + return; + } + if (!global_mouseEvent.IsLocked && 0 == oWordControl.MouseDownDocumentCounter) return; @@ -1911,6 +1984,9 @@ function CEditorPage(api) return; } + if (oThis.MouseHandObject && oThis.MouseHandObject.IsActive) + return; + var _ctrl = false; if (e.metaKey !== undefined) _ctrl = e.ctrlKey || e.metaKey; diff --git a/word/api.js b/word/api.js index 1922b78833..5b2534e85d 100644 --- a/word/api.js +++ b/word/api.js @@ -10986,6 +10986,9 @@ background-repeat: no-repeat;\ asc_docs_api.prototype.onUpdateRestrictions = function() { + if (this.WordControl) + this.WordControl.checkMouseHandMode(); + var oLogicDocument = this.private_GetLogicDocument(); if (!oLogicDocument) return; From e6229b9fcd6f699f00b7f1305bc8910d442a2384 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 20 Apr 2021 13:22:52 +0300 Subject: [PATCH 184/381] Fix bug #49747 --- .../StructuredDocumentTags/InlineLevel.js | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/word/Editor/StructuredDocumentTags/InlineLevel.js b/word/Editor/StructuredDocumentTags/InlineLevel.js index 9a2d10d4ce..5a2e1db489 100644 --- a/word/Editor/StructuredDocumentTags/InlineLevel.js +++ b/word/Editor/StructuredDocumentTags/InlineLevel.js @@ -1777,10 +1777,22 @@ CInlineLevelSdt.prototype.Document_Is_SelectionLocked = function(CheckType) return; } - var isCheckContentControlLock = this.Paragraph && this.Paragraph.LogicDocument ? this.Paragraph.LogicDocument.IsCheckContentControlsLock() : true; + var oLogicDocument = this.Paragraph ? this.Paragraph.LogicDocument : null; + if (oLogicDocument) + { + if (!oLogicDocument.IsCheckContentControlsLock()) + return; - if (!isCheckContentControlLock) - return; + if (oLogicDocument.IsFillingFormMode() + && !this.IsSelectionUse() + && ((this.IsPlaceHolder() && (AscCommon.changestype_Remove === CheckType || AscCommon.changestype_Delete === CheckType)) + || (this.Cursor_Is_Start() && AscCommon.changestype_Remove === CheckType) + || (this.Cursor_Is_End() && AscCommon.changestype_Delete === CheckType)) + ) + { + return AscCommon.CollaborativeEditing.Add_CheckLock(true); + } + } var nContentControlLock = this.GetContentControlLock(); From ac3c1b263519bc568cec07a652c6eef558330c80 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 20 Apr 2021 13:40:04 +0300 Subject: [PATCH 185/381] Fix issue with new hand mode --- word/Editor/Paragraph.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index 4426ef9cf7..c82c8a4fea 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -10721,6 +10721,8 @@ Paragraph.prototype.Get_NearestPos = function(CurPage, X, Y, bAnchor, Drawing) { var SearchPosXY = this.Get_ParaContentPosByXY(X, Y, CurPage, false, false); + var oState = this.SaveSelectionState(); + this.Set_ParaContentPos(SearchPosXY.Pos, true, SearchPosXY.Line, SearchPosXY.Range); var ContentPos = this.Get_ParaContentPos(false, false); @@ -10734,9 +10736,11 @@ Paragraph.prototype.Get_NearestPos = function(CurPage, X, Y, bAnchor, Drawing) Result.Paragraph = this; Result.transform = this.Get_ParentTextTransform(); - if (true === bAnchor && undefined != Drawing && null != Drawing) + if (true === bAnchor && undefined !== Drawing && null !== Drawing) this.Internal_CorrectAnchorPos(Result, Drawing); + this.LoadSelectionState(oState); + return Result; }; Paragraph.prototype.private_CorrectNearestPos = function(ContentPos, Anchor, Drawing) From 3cf48e853c12d36b607b2fdf26210ca6690a00f1 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 20 Apr 2021 13:49:54 +0300 Subject: [PATCH 186/381] Fix typo --- word/Drawing/HtmlPage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/word/Drawing/HtmlPage.js b/word/Drawing/HtmlPage.js index 135a099e6f..b77149e7d1 100644 --- a/word/Drawing/HtmlPage.js +++ b/word/Drawing/HtmlPage.js @@ -777,7 +777,7 @@ function CEditorPage(api) this.MouseHandObject = { check : function(_this, _pos) { var logicDoc = _this.m_oLogicDocument; - if (!logicDoc || !(logicDoc.IsInForm(_pos.X, _pos.Y, _pos.Page) || logicDoc.IsInForm(_pos.X, _pos.Y, _pos.Page))) + if (!logicDoc || !(logicDoc.IsInForm(_pos.X, _pos.Y, _pos.Page) || logicDoc.IsInContentControl(_pos.X, _pos.Y, _pos.Page))) return true; return false; } From 00bf2144c45caab8a7566d1e9591f0ef1ab2f5cf Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 20 Apr 2021 14:00:44 +0300 Subject: [PATCH 187/381] Unlock mouse on up event (if hand mode enable) --- word/Drawing/HtmlPage.js | 1 + 1 file changed, 1 insertion(+) diff --git a/word/Drawing/HtmlPage.js b/word/Drawing/HtmlPage.js index b77149e7d1..45e27d31e2 100644 --- a/word/Drawing/HtmlPage.js +++ b/word/Drawing/HtmlPage.js @@ -1744,6 +1744,7 @@ function CEditorPage(api) if (oWordControl.MouseHandObject && oWordControl.MouseHandObject.Active) { + AscCommon.check_MouseUpEvent(e); oWordControl.MouseHandObject.Active = false; oWordControl.m_oDrawingDocument.SetCursorType("grab"); return; From b42f0aeed886237d5f16c3fc29ceb5b0eb35cfb1 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 20 Apr 2021 15:04:41 +0300 Subject: [PATCH 188/381] Fix bug #49748 --- word/Editor/Document.js | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 64b3c40ceb..1a10e98e1d 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -10919,30 +10919,30 @@ CDocument.prototype.OnMouseUp = function(e, X, Y, PageIndex) this.Api.sync_MarkerFormatCallback(true); } } - } - var oSelectedContent = this.GetSelectedElementsInfo(); - var oInlineSdt = oSelectedContent.GetInlineLevelSdt(); - var oBlockSdt = oSelectedContent.GetBlockLevelSdt(); - if ((oInlineSdt && oInlineSdt.IsCheckBox()) || (oBlockSdt && oBlockSdt.IsCheckBox())) - { - var oCC = (oInlineSdt && oInlineSdt.IsCheckBox()) ? oInlineSdt : oBlockSdt; - if (!oCC.IsForm() || this.IsFillingFormMode() || oCC === this.CurPos.CC) + var oSelectedContent = this.GetSelectedElementsInfo(); + var oInlineSdt = oSelectedContent.GetInlineLevelSdt(); + var oBlockSdt = oSelectedContent.GetBlockLevelSdt(); + if ((oInlineSdt && oInlineSdt.IsCheckBox()) || (oBlockSdt && oBlockSdt.IsCheckBox())) { - oCC.SkipSpecialContentControlLock(true); - if (!this.IsSelectionLocked(AscCommon.changestype_Paragraph_Content, null, true, this.IsFillingFormMode())) + var oCC = (oInlineSdt && oInlineSdt.IsCheckBox()) ? oInlineSdt : oBlockSdt; + if (!oCC.IsForm() || this.IsFillingFormMode() || oCC === this.CurPos.CC) { - this.StartAction(); - oCC.ToggleCheckBox(); - this.Recalculate(); - this.UpdateTracks(); - this.FinalizeAction(); + oCC.SkipSpecialContentControlLock(true); + if (!this.IsSelectionLocked(AscCommon.changestype_Paragraph_Content, null, true, this.IsFillingFormMode())) + { + this.StartAction(); + oCC.ToggleCheckBox(); + this.Recalculate(); + this.UpdateTracks(); + this.FinalizeAction(); + } + oCC.SkipSpecialContentControlLock(false); } - oCC.SkipSpecialContentControlLock(false); } } - this.private_CheckCursorPosInFillingFormMode(); + this.private_CheckCursorPosInFillingFormMode(12); this.private_UpdateCursorXY(true, true); }; From ebebc5cf6f1270aa81a27875d0df2c220ce68a8c Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 20 Apr 2021 15:11:47 +0300 Subject: [PATCH 189/381] Change the cursor type when hovering over the checkbox --- word/Editor/Paragraph.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index c82c8a4fea..9d39a37fcc 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -11046,12 +11046,16 @@ Paragraph.prototype.UpdateCursorType = function(X, Y, CurPage) } } - var isInText = this.IsInText(X, Y, CurPage); + var isInText = this.IsInText(X, Y, CurPage); + var isCheckBox = false; var oContentControl = oInfo.GetInlineLevelSdt(); var oHyperlink = oInfo.GetHyperlink(); if (oContentControl) + { oContentControl.DrawContentControlsTrack(true, X, Y, CurPage); + isCheckBox = oContentControl.IsCheckBox(); + } var Footnote = this.CheckFootnote(X, Y, CurPage); @@ -11073,7 +11077,7 @@ Paragraph.prototype.UpdateCursorType = function(X, Y, CurPage) MMData.Type = Asc.c_oAscMouseMoveDataTypes.Common; } - if (isInText && (null != oHyperlink || bPageRefLink) && true === AscCommon.global_keyboardEvent.CtrlKey) + if (isCheckBox || (isInText && (null != oHyperlink || bPageRefLink) && true === AscCommon.global_keyboardEvent.CtrlKey)) this.DrawingDocument.SetCursorType("pointer", MMData); else this.DrawingDocument.SetCursorType("text", MMData); From 03b68b6a1ed2a81732888d9224fbc084a8f39540 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 20 Apr 2021 15:38:44 +0300 Subject: [PATCH 190/381] Remove cursor in case of checkbox/radiobutton in the filling form mode --- word/Editor/Document.js | 16 ++++++++++++++++ word/Editor/HeaderFooter.js | 14 ++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 1a10e98e1d..0287cb64ba 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -10928,6 +10928,7 @@ CDocument.prototype.OnMouseUp = function(e, X, Y, PageIndex) var oCC = (oInlineSdt && oInlineSdt.IsCheckBox()) ? oInlineSdt : oBlockSdt; if (!oCC.IsForm() || this.IsFillingFormMode() || oCC === this.CurPos.CC) { + this.CurPos.CC = oCC; oCC.SkipSpecialContentControlLock(true); if (!this.IsSelectionLocked(AscCommon.changestype_Paragraph_Content, null, true, this.IsFillingFormMode())) { @@ -10939,6 +10940,7 @@ CDocument.prototype.OnMouseUp = function(e, X, Y, PageIndex) } oCC.SkipSpecialContentControlLock(false); } + this.UpdateSelection(); } } @@ -20854,6 +20856,13 @@ CDocument.prototype.controller_UpdateSelectionState = function() this.DrawingDocument.SelectEnabled(false); this.DrawingDocument.TargetStart(); this.DrawingDocument.TargetShow(); + + if (this.IsFillingFormMode()) + { + var oContentControl = this.GetContentControl(); + if (oContentControl && oContentControl.IsCheckBox()) + this.DrawingDocument.TargetEnd(); + } } } } @@ -20866,6 +20875,13 @@ CDocument.prototype.controller_UpdateSelectionState = function() this.DrawingDocument.SelectEnabled(false); this.DrawingDocument.TargetShow(); + + if (this.IsFillingFormMode()) + { + var oContentControl = this.GetContentControl(); + if (oContentControl && oContentControl.IsCheckBox()) + this.DrawingDocument.TargetEnd(); + } } }; CDocument.prototype.controller_GetSelectionState = function() diff --git a/word/Editor/HeaderFooter.js b/word/Editor/HeaderFooter.js index 6dfdaca220..c631d7d338 100644 --- a/word/Editor/HeaderFooter.js +++ b/word/Editor/HeaderFooter.js @@ -659,6 +659,13 @@ CHeaderFooter.prototype = this.DrawingDocument.TargetStart(); this.DrawingDocument.TargetShow(); + + if (this.LogicDocument && this.LogicDocument.IsFillingFormMode()) + { + var oContentControl = this.LogicDocument.GetContentControl(); + if (oContentControl && oContentControl.IsCheckBox()) + this.DrawingDocument.TargetEnd(); + } } } } @@ -669,6 +676,13 @@ CHeaderFooter.prototype = this.DrawingDocument.TargetStart(); this.DrawingDocument.TargetShow(); + + if (this.LogicDocument && this.LogicDocument.IsFillingFormMode()) + { + var oContentControl = this.LogicDocument.GetContentControl(); + if (oContentControl && oContentControl.IsCheckBox()) + this.DrawingDocument.TargetEnd(); + } } } }, From 2c1c41ad9e37268aca2cdaff35c18ef9806e0c39 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 20 Apr 2021 17:02:00 +0300 Subject: [PATCH 191/381] Fix bug 49748 --- slide/Drawing/HtmlPage.js | 5 +---- word/Drawing/HtmlPage.js | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/slide/Drawing/HtmlPage.js b/slide/Drawing/HtmlPage.js index b70c15bb6f..b4b144003d 100644 --- a/slide/Drawing/HtmlPage.js +++ b/slide/Drawing/HtmlPage.js @@ -1013,10 +1013,7 @@ function CEditorPage(api) AscCommon.addMouseEvent(this.m_oOverlay.HtmlElement, "move", this.onMouseMove); AscCommon.addMouseEvent(this.m_oOverlay.HtmlElement, "up", this.onMouseUp); - var _cur = document.getElementById('id_target_cursor'); - AscCommon.addMouseEvent(_cur, "down", this.onMouseDownTarget); - AscCommon.addMouseEvent(_cur, "move", this.onMouseMoveTarget); - AscCommon.addMouseEvent(_cur, "up", this.onMouseUpTarget); + document.getElementById('id_target_cursor').style.pointerEvents = "none"; this.m_oMainContent.HtmlElement.onmousewheel = this.onMouseWhell; if (this.m_oMainContent.HtmlElement.addEventListener) diff --git a/word/Drawing/HtmlPage.js b/word/Drawing/HtmlPage.js index 45e27d31e2..9cb83c5cae 100644 --- a/word/Drawing/HtmlPage.js +++ b/word/Drawing/HtmlPage.js @@ -471,10 +471,7 @@ function CEditorPage(api) AscCommon.addMouseEvent(this.m_oOverlay.HtmlElement, "move", this.onMouseMove); AscCommon.addMouseEvent(this.m_oOverlay.HtmlElement, "up", this.onMouseUp); - var _cur = document.getElementById('id_target_cursor'); - AscCommon.addMouseEvent(_cur, "down", this.onMouseDown); - AscCommon.addMouseEvent(_cur, "move", this.onMouseMove); - AscCommon.addMouseEvent(_cur, "up", this.onMouseUp); + document.getElementById('id_target_cursor').style.pointerEvents = "none"; this.m_oMainContent.HtmlElement.onmousewheel = this.onMouseWhell; if (this.m_oMainContent.HtmlElement.addEventListener) From 05802c56f82f94c742830c8f7ce3b7ac8f91f118 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 20 Apr 2021 18:32:30 +0300 Subject: [PATCH 192/381] Unlock selection if it started in form/cc --- word/Drawing/HtmlPage.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/word/Drawing/HtmlPage.js b/word/Drawing/HtmlPage.js index 9cb83c5cae..a3f87a6901 100644 --- a/word/Drawing/HtmlPage.js +++ b/word/Drawing/HtmlPage.js @@ -1633,12 +1633,14 @@ function CEditorPage(api) return; } - - pos = oWordControl.m_oDrawingDocument.ConvertCoordsFromCursor2(global_mouseEvent.X, global_mouseEvent.Y); - if (oWordControl.MouseHandObject.check(oWordControl, pos)) + else if (!global_mouseEvent.IsLocked) { - oWordControl.m_oDrawingDocument.SetCursorType("grab"); - return; + pos = oWordControl.m_oDrawingDocument.ConvertCoordsFromCursor2(global_mouseEvent.X, global_mouseEvent.Y); + if (oWordControl.MouseHandObject.check(oWordControl, pos)) + { + oWordControl.m_oDrawingDocument.SetCursorType("grab"); + return; + } } oWordControl.m_oDrawingDocument.SetCursorType("default"); From cab43a85ff48107582c666e3a88d16b9abff60ef Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 20 Apr 2021 23:04:26 +0300 Subject: [PATCH 193/381] Fix bug #49749 --- word/Editor/Paragraph.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index 9d39a37fcc..f6f1fa714a 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -7552,6 +7552,9 @@ Paragraph.prototype.DrawSelectionOnPage = function(CurPage) if (0 === CurPage && this.Pages[0].EndLine < 0) return; + var oLogicDocument = this.GetLogicDocument(); + var isFillingForm = oLogicDocument ? oLogicDocument.IsFillingFormMode() : false; + switch (this.Selection.Flag) { case selectionflag_Common: @@ -7590,6 +7593,21 @@ Paragraph.prototype.DrawSelectionOnPage = function(CurPage) DrawSelection.StartY = this.Pages[CurPage].Y + this.Lines[CurLine].Top; DrawSelection.H = this.Lines[CurLine].Bottom - this.Lines[CurLine].Top; + // Специальная ветка, чтобы в режиме заполнения форм выделение не выходило за рамки самих форм + if (isFillingForm) + { + if (CurLine === _StartLine) + { + DrawSelection.StartY = this.Pages[CurPage].Y + this.Lines[CurLine].Y - this.Lines[CurLine].Metrics.Ascent; + DrawSelection.H = this.Lines[CurLine].Bottom - (this.Lines[CurLine].Y - this.Lines[CurLine].Metrics.Ascent); + } + + if (CurLine === _EndLine) + { + DrawSelection.H = this.Lines[CurLine].Metrics.Ascent + this.Lines[CurLine].Metrics.Descent; + } + } + for (var CurRange = 0; CurRange < RangesCount; CurRange++) { var Range = Line.Ranges[CurRange]; From de9dc1b18628440d523e0c1c50aa4b378fc653e7 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 21 Apr 2021 03:18:47 +0300 Subject: [PATCH 194/381] Now we toggle checkbox on mousedown instead of mouseup --- word/Editor/Document.js | 46 ++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 0287cb64ba..ebbe4b282e 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -10674,6 +10674,29 @@ CDocument.prototype.OnMouseDown = function(e, X, Y, PageIndex) } this.Selection_SetStart(X, Y, e); + + var oSelectedContent = this.GetSelectedElementsInfo(); + var oInlineSdt = oSelectedContent.GetInlineLevelSdt(); + var oBlockSdt = oSelectedContent.GetBlockLevelSdt(); + if ((oInlineSdt && oInlineSdt.IsCheckBox()) || (oBlockSdt && oBlockSdt.IsCheckBox())) + { + var oCC = (oInlineSdt && oInlineSdt.IsCheckBox()) ? oInlineSdt : oBlockSdt; + if (!oCC.IsForm() || this.IsFillingFormMode() || oCC === this.CurPos.CC) + { + this.CurPos.CC = oCC; + oCC.SkipSpecialContentControlLock(true); + if (!this.IsSelectionLocked(AscCommon.changestype_Paragraph_Content, null, true, this.IsFillingFormMode())) + { + this.StartAction(); + oCC.ToggleCheckBox(); + this.Recalculate(); + this.UpdateTracks(); + this.FinalizeAction(); + } + oCC.SkipSpecialContentControlLock(false); + } + this.UpdateSelection(); + } if (e.ClickCount <= 1 && 1 !== this.Selection.DragDrop.Flag) { @@ -10919,29 +10942,6 @@ CDocument.prototype.OnMouseUp = function(e, X, Y, PageIndex) this.Api.sync_MarkerFormatCallback(true); } } - - var oSelectedContent = this.GetSelectedElementsInfo(); - var oInlineSdt = oSelectedContent.GetInlineLevelSdt(); - var oBlockSdt = oSelectedContent.GetBlockLevelSdt(); - if ((oInlineSdt && oInlineSdt.IsCheckBox()) || (oBlockSdt && oBlockSdt.IsCheckBox())) - { - var oCC = (oInlineSdt && oInlineSdt.IsCheckBox()) ? oInlineSdt : oBlockSdt; - if (!oCC.IsForm() || this.IsFillingFormMode() || oCC === this.CurPos.CC) - { - this.CurPos.CC = oCC; - oCC.SkipSpecialContentControlLock(true); - if (!this.IsSelectionLocked(AscCommon.changestype_Paragraph_Content, null, true, this.IsFillingFormMode())) - { - this.StartAction(); - oCC.ToggleCheckBox(); - this.Recalculate(); - this.UpdateTracks(); - this.FinalizeAction(); - } - oCC.SkipSpecialContentControlLock(false); - } - this.UpdateSelection(); - } } this.private_CheckCursorPosInFillingFormMode(12); From 54f0ef36d7ddf6842f6859a18a2cf56e9fb44da8 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 21 Apr 2021 15:50:59 +0300 Subject: [PATCH 195/381] Implement base functions to manage showing of adjustments --- common/apiBase.js | 12 ++++++++++++ word/Editor/Document.js | 23 +++++++++++++++++++++++ word/api.js | 24 ++++++++++++++++++++++++ 3 files changed, 59 insertions(+) diff --git a/common/apiBase.js b/common/apiBase.js index 9bfcc67439..df4825a4fc 100644 --- a/common/apiBase.js +++ b/common/apiBase.js @@ -626,6 +626,18 @@ } return res; }; + baseEditorsApi.prototype.isShowShapeAdjustments = function() + { + return true; + }; + baseEditorsApi.prototype.isShowTableAdjustments = function() + { + return true; + }; + baseEditorsApi.prototype.isShowEquationTrack = function() + { + return true; + }; baseEditorsApi.prototype.onPrint = function() { this.sendEvent("asc_onPrint"); diff --git a/word/Editor/Document.js b/word/Editor/Document.js index ebbe4b282e..1b89305f98 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -24718,6 +24718,29 @@ CDocument.prototype.ChangeTextCase = function(nCaseType) this.UpdateSelection(); } }; +/** + * @return {boolean} + */ +CDocument.prototype.IsShowShapeAdjustments = function() +{ + return (!!this.CanEdit()); +}; +/** + * Рисовать ли трек у таблицы и давать ли возможность таскать границы + * @return {boolean} + */ +CDocument.prototype.IsShowTableAdjustments = function() +{ + return (!!this.CanEdit()); +}; +/** + * Рисовать ли трек у таблицы и давать ли возможность таскать границы + * @return {boolean} + */ +CDocument.prototype.IsShowEquationTrack = function() +{ + return (!!this.CanEdit()); +}; function CDocumentSelectionState() { diff --git a/word/api.js b/word/api.js index 5b2534e85d..822955baf8 100644 --- a/word/api.js +++ b/word/api.js @@ -11011,6 +11011,30 @@ background-repeat: no-repeat;\ oLogicDocument.UpdateInterface(); } }; + asc_docs_api.prototype.isShowShapeAdjustments = function() + { + var oLogicDocument = this.private_GetLogicDocument(); + if (oLogicDocument) + return oLogicDocument.IsShowShapeAdjustments(); + + return true; + }; + asc_docs_api.prototype.isShowTableAdjustments = function() + { + var oLogicDocument = this.private_GetLogicDocument(); + if (oLogicDocument) + return oLogicDocument.IsShowTableAdjustments(); + + return true; + }; + asc_docs_api.prototype.isShowEquationTrack = function() + { + var oLogicDocument = this.private_GetLogicDocument(); + if (oLogicDocument) + return oLogicDocument.IsShowEquationTrack(); + + return true; + }; //-------------------------------------------------------------export--------------------------------------------------- window['Asc'] = window['Asc'] || {}; From d2a297fa98ddcbea2283b5bf6b6f8a301d87ebe8 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Wed, 21 Apr 2021 17:11:01 +0300 Subject: [PATCH 196/381] check isShowShapeAdjustments flag on drawing shapes tracks --- cell/model/DrawingObjects/DrawingDocument.js | 4 +- cell/native/DrawingDocument.js | 4 +- cell/native/Overlay.js | 4 +- common/Drawings/CommonController.js | 23 +- common/Drawings/DrawingObjectsHandlers.js | 21 +- common/Drawings/Format/ChartSpace.js | 23 +- common/Drawings/Format/Geometry.js | 6 + common/Drawings/Format/GraphicFrame.js | 6 + common/Drawings/Format/GraphicObjectBase.js | 6 + common/Drawings/Format/Path.js | 13 +- common/Drawings/Format/Shape.js | 19 + common/Native/Wrappers/DrawingDocument.js | 4 +- common/Native/Wrappers/Overlay.js | 4 +- common/Overlay.js | 495 ++++++++++--------- slide/Drawing/DrawingDocument.js | 4 +- slide/Editor/Format/Presentation.js | 6 + slide/Native/Wrappers/DrawingDocument.js | 4 +- word/Drawing/DrawingDocument.js | 4 +- word/Editor/GraphicObjects/GraphicObjects.js | 7 + word/Editor/GraphicObjects/GraphicPage.js | 5 +- 20 files changed, 377 insertions(+), 285 deletions(-) diff --git a/cell/model/DrawingObjects/DrawingDocument.js b/cell/model/DrawingObjects/DrawingDocument.js index b12ef883f1..0c3e312d89 100644 --- a/cell/model/DrawingObjects/DrawingDocument.js +++ b/cell/model/DrawingObjects/DrawingDocument.js @@ -850,9 +850,9 @@ function CDrawingDocument() }; // вот здесь весь трекинг - this.DrawTrack = function(type, matrix, left, top, width, height, isLine, canRotate, isNoMove) + this.DrawTrack = function(type, matrix, left, top, width, height, isLine, canRotate, isNoMove, isDrawHandles) { - this.AutoShapesTrack.DrawTrack(type, matrix, left, top, width, height, isLine, canRotate, isNoMove); + this.AutoShapesTrack.DrawTrack(type, matrix, left, top, width, height, isLine, canRotate, isNoMove, isDrawHandles); }; this.DrawTrackSelectShapes = function(x, y, w, h) diff --git a/cell/native/DrawingDocument.js b/cell/native/DrawingDocument.js index 9a374ac48f..ba807a99ac 100644 --- a/cell/native/DrawingDocument.js +++ b/cell/native/DrawingDocument.js @@ -3434,9 +3434,9 @@ function CDrawingDocument() }; // вот здесь весь трекинг - this.DrawTrack = function(type, matrix, left, top, width, height, isLine, canRotate, isNoMove) + this.DrawTrack = function(type, matrix, left, top, width, height, isLine, canRotate, isNoMove, isDrawHandles) { - this.AutoShapesTrack.DrawTrack(type, matrix, left, top, width, height, isLine, canRotate, isNoMove); + this.AutoShapesTrack.DrawTrack(type, matrix, left, top, width, height, isLine, canRotate, isNoMove, isDrawHandles); }; this.DrawTrackSelectShapes = function(x, y, w, h) diff --git a/cell/native/Overlay.js b/cell/native/Overlay.js index 3a9daaffcc..432329b39b 100644 --- a/cell/native/Overlay.js +++ b/cell/native/Overlay.js @@ -823,14 +823,14 @@ CAutoshapeTrack.prototype = /*************************************************************************/ /******************************** TRACKS *********************************/ /*************************************************************************/ - DrawTrack : function(type, matrix, left, top, width, height, isLine, isCanRotate, isNoMove) + DrawTrack : function(type, matrix, left, top, width, height, isLine, isCanRotate, isNoMove, isDrawHandles) { if (!matrix) this.Native["DD_DrawTrackTransform"](); else this.Native["DD_DrawTrackTransform"](matrix.sx, matrix.shy, matrix.shx, matrix.sy, matrix.tx, matrix.ty); - this.Native["DD_DrawTrack"](type, left, top, width, height, isLine, isCanRotate); + this.Native["DD_DrawTrack"](type, left, top, width, height, isLine, isCanRotate, isNoMove, isDrawHandles); // if (true === isNoMove) diff --git a/common/Drawings/CommonController.js b/common/Drawings/CommonController.js index d66e1ad53d..67ca97f39d 100644 --- a/common/Drawings/CommonController.js +++ b/common/Drawings/CommonController.js @@ -1940,7 +1940,12 @@ DrawingObjectsController.prototype = { nPageIndex = this.drawingObjects.num; } - content.UpdateCursorType(tx, ty, 0); + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; + if(isDrawHandles) + { + content.UpdateCursorType(tx, ty, 0); + } ret.updated = true; } else if(this.drawingObjects) @@ -2209,12 +2214,14 @@ DrawingObjectsController.prototype = if (undefined !== drawingDocument.BeginDrawTracking) drawingDocument.BeginDrawTracking(); + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; var i; if(this.selection.textSelection) { if(this.selection.textSelection.selectStartPage === pageIndex) { - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.TEXT, this.selection.textSelection.getTransformMatrix(), 0, 0, this.selection.textSelection.extX, this.selection.textSelection.extY, AscFormat.CheckObjectLine(this.selection.textSelection), this.selection.textSelection.canRotate()); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.TEXT, this.selection.textSelection.getTransformMatrix(), 0, 0, this.selection.textSelection.extX, this.selection.textSelection.extY, AscFormat.CheckObjectLine(this.selection.textSelection), this.selection.textSelection.canRotate(), undefined, isDrawHandles); if(this.selection.textSelection.drawAdjustments) this.selection.textSelection.drawAdjustments(drawingDocument); } @@ -2247,8 +2254,8 @@ DrawingObjectsController.prototype = { drawingDocument.AutoShapesTrack.Graphics.put_GlobalAlpha(true, oldGlobalAlpha); } - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.SHAPE, cropObject.getTransformMatrix(), 0, 0, cropObject.extX, cropObject.extY, false, false); - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CROP, oCropSelection.getTransformMatrix(), 0, 0, oCropSelection.extX, oCropSelection.extY, false, false); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.SHAPE, cropObject.getTransformMatrix(), 0, 0, cropObject.extX, cropObject.extY, false, false, undefined, isDrawHandles); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CROP, oCropSelection.getTransformMatrix(), 0, 0, oCropSelection.extX, oCropSelection.extY, false, false, undefined, isDrawHandles); } } } @@ -2257,12 +2264,12 @@ DrawingObjectsController.prototype = { if(this.selection.groupSelection.selectStartPage === pageIndex) { - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.GROUP_PASSIVE, this.selection.groupSelection.getTransformMatrix(), 0, 0, this.selection.groupSelection.extX, this.selection.groupSelection.extY, false, this.selection.groupSelection.canRotate()); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.GROUP_PASSIVE, this.selection.groupSelection.getTransformMatrix(), 0, 0, this.selection.groupSelection.extX, this.selection.groupSelection.extY, false, this.selection.groupSelection.canRotate(), undefined, isDrawHandles); if(this.selection.groupSelection.selection.textSelection) { for(i = 0; i < this.selection.groupSelection.selectedObjects.length ; ++i) { - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.TEXT, this.selection.groupSelection.selectedObjects[i].transform, 0, 0, this.selection.groupSelection.selectedObjects[i].extX, this.selection.groupSelection.selectedObjects[i].extY, AscFormat.CheckObjectLine(this.selection.groupSelection.selectedObjects[i]), this.selection.groupSelection.selectedObjects[i].canRotate()); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.TEXT, this.selection.groupSelection.selectedObjects[i].transform, 0, 0, this.selection.groupSelection.selectedObjects[i].extX, this.selection.groupSelection.selectedObjects[i].extY, AscFormat.CheckObjectLine(this.selection.groupSelection.selectedObjects[i]), this.selection.groupSelection.selectedObjects[i].canRotate(), undefined, isDrawHandles); } } else if(this.selection.groupSelection.selection.chartSelection) @@ -2273,7 +2280,7 @@ DrawingObjectsController.prototype = { for(i = 0; i < this.selection.groupSelection.selectedObjects.length ; ++i) { - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.SHAPE, this.selection.groupSelection.selectedObjects[i].transform, 0, 0, this.selection.groupSelection.selectedObjects[i].extX, this.selection.groupSelection.selectedObjects[i].extY, AscFormat.CheckObjectLine(this.selection.groupSelection.selectedObjects[i]), this.selection.groupSelection.selectedObjects[i].canRotate()); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.SHAPE, this.selection.groupSelection.selectedObjects[i].transform, 0, 0, this.selection.groupSelection.selectedObjects[i].extX, this.selection.groupSelection.selectedObjects[i].extY, AscFormat.CheckObjectLine(this.selection.groupSelection.selectedObjects[i]), this.selection.groupSelection.selectedObjects[i].canRotate(), undefined, isDrawHandles); } } @@ -2298,7 +2305,7 @@ DrawingObjectsController.prototype = { if(this.selectedObjects[i].selectStartPage === pageIndex) { - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.SHAPE, this.selectedObjects[i].getTransformMatrix(), 0, 0, this.selectedObjects[i].extX, this.selectedObjects[i].extY, AscFormat.CheckObjectLine(this.selectedObjects[i]), this.selectedObjects[i].canRotate()); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.SHAPE, this.selectedObjects[i].getTransformMatrix(), 0, 0, this.selectedObjects[i].extX, this.selectedObjects[i].extY, AscFormat.CheckObjectLine(this.selectedObjects[i]), this.selectedObjects[i].canRotate(), undefined, isDrawHandles); } } if(this.selectedObjects.length === 1 && this.selectedObjects[0].drawAdjustments && this.selectedObjects[0].selectStartPage === pageIndex) diff --git a/common/Drawings/DrawingObjectsHandlers.js b/common/Drawings/DrawingObjectsHandlers.js index 3546e25e93..29d1ee07f6 100644 --- a/common/Drawings/DrawingObjectsHandlers.js +++ b/common/Drawings/DrawingObjectsHandlers.js @@ -639,7 +639,12 @@ function handleGroup(drawing, drawingObjectsController, e, x, y, group, pageInde { tx = invert_transform_text.TransformPointX(x, y); ty = invert_transform_text.TransformPointY(x, y); - content.UpdateCursorType(tx, ty, 0); + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; + if(isDrawHandles) + { + content.UpdateCursorType(tx, ty, 0); + } } } return {objectId: drawing.Get_Id(), cursorType: "text"}; @@ -1497,7 +1502,12 @@ function handleInternalChart(drawing, drawingObjectsController, e, x, y, group, { tx = invert_transform_text.TransformPointX(x, y); ty = invert_transform_text.TransformPointY(x, y); - content.UpdateCursorType(tx, ty, 0); + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; + if(isDrawHandles) + { + content.UpdateCursorType(tx, ty, 0); + } } } return {objectId: drawing.Get_Id(), cursorType: "text", title: oDLbl}; @@ -1620,7 +1630,12 @@ function handleInternalChart(drawing, drawingObjectsController, e, x, y, group, { tx = invert_transform_text.TransformPointX(x, y); ty = invert_transform_text.TransformPointY(x, y); - content.UpdateCursorType(tx, ty, 0); + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; + if(isDrawHandles) + { + content.UpdateCursorType(tx, ty, 0); + } } } return {objectId: drawing.Get_Id(), cursorType: "text", title: title}; diff --git a/common/Drawings/Format/ChartSpace.js b/common/Drawings/Format/ChartSpace.js index 1f437fc959..be76c23190 100644 --- a/common/Drawings/Format/ChartSpace.js +++ b/common/Drawings/Format/ChartSpace.js @@ -1212,16 +1212,19 @@ var GLOBAL_PATH_COUNT = 0; }; CChartSpace.prototype.drawSelect = function(drawingDocument, nPageIndex) { var i, oPath; + + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; if(this.selectStartPage === nPageIndex) { - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.SHAPE, this.getTransformMatrix(), 0, 0, this.extX, this.extY, false, this.canRotate()); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.SHAPE, this.getTransformMatrix(), 0, 0, this.extX, this.extY, false, this.canRotate(), undefined, isDrawHandles); if(window["NATIVE_EDITOR_ENJINE"]) { return; } if(this.selection.textSelection) { - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, this.selection.textSelection.transform, 0, 0, this.selection.textSelection.extX, this.selection.textSelection.extY, false, false, false); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, this.selection.textSelection.transform, 0, 0, this.selection.textSelection.extX, this.selection.textSelection.extY, false, false, false, isDrawHandles); } else if(this.selection.title) { - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, this.selection.title.transform, 0, 0, this.selection.title.extX, this.selection.title.extY, false, false, false); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, this.selection.title.transform, 0, 0, this.selection.title.extX, this.selection.title.extY, false, false, false, isDrawHandles); } else if(AscFormat.isRealNumber(this.selection.dataLbls)) { var series = this.getAllSeries(); @@ -1231,35 +1234,35 @@ var GLOBAL_PATH_COUNT = 0; if(!AscFormat.isRealNumber(this.selection.dataLbl)) { for(i = 0; i < pts.length; ++i) { if(pts[i] && pts[i].compiledDlb && !pts[i].compiledDlb.bDelete) { - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, pts[i].compiledDlb.transform, 0, 0, pts[i].compiledDlb.extX, pts[i].compiledDlb.extY, false, false); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, pts[i].compiledDlb.transform, 0, 0, pts[i].compiledDlb.extX, pts[i].compiledDlb.extY, false, false, undefined, isDrawHandles); } } } else { if(pts[this.selection.dataLbl] && pts[this.selection.dataLbl].compiledDlb) { - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, pts[this.selection.dataLbl].compiledDlb.transform, 0, 0, pts[this.selection.dataLbl].compiledDlb.extX, pts[this.selection.dataLbl].compiledDlb.extY, false, false); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, pts[this.selection.dataLbl].compiledDlb.transform, 0, 0, pts[this.selection.dataLbl].compiledDlb.extX, pts[this.selection.dataLbl].compiledDlb.extY, false, false, undefined, isDrawHandles); } } } } else if(this.selection.dataLbl) { - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, this.selection.dataLbl.transform, 0, 0, this.selection.dataLbl.extX, this.selection.dataLbl.extY, false, false); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, this.selection.dataLbl.transform, 0, 0, this.selection.dataLbl.extX, this.selection.dataLbl.extY, false, false, undefined, isDrawHandles); } else if(this.selection.legend) { if(AscFormat.isRealNumber(this.selection.legendEntry)) { var oEntry = this.chart.legend.findCalcEntryByIdx(this.selection.legendEntry); if(oEntry) { - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, oEntry.transformText, 0, 0, oEntry.contentWidth, oEntry.contentHeight, false, false); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, oEntry.transformText, 0, 0, oEntry.contentWidth, oEntry.contentHeight, false, false, undefined, isDrawHandles); } } else { - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.SHAPE, this.selection.legend.transform, 0, 0, this.selection.legend.extX, this.selection.legend.extY, false, false); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.SHAPE, this.selection.legend.transform, 0, 0, this.selection.legend.extX, this.selection.legend.extY, false, false, undefined, isDrawHandles); } } else if(this.selection.axisLbls) { var oLabels = this.selection.axisLbls.labels; - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, this.transform, oLabels.x, oLabels.y, oLabels.extX, oLabels.extY, false, false); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, this.transform, oLabels.x, oLabels.y, oLabels.extX, oLabels.extY, false, false, undefined, isDrawHandles); } else if(this.selection.hiLowLines) { if(this.chartObj) { @@ -1316,7 +1319,7 @@ var GLOBAL_PATH_COUNT = 0; else if(this.selection.plotArea) { var oChartSize = this.getChartSizes(true); - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.SHAPE, this.transform, oChartSize.startX, oChartSize.startY, oChartSize.w, oChartSize.h, false, false); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.SHAPE, this.transform, oChartSize.startX, oChartSize.startY, oChartSize.w, oChartSize.h, false, false, undefined, isDrawHandles); /*if(!this.selection.rotatePlotArea) { drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, this.transform, oChartSize.startX, oChartSize.startY, oChartSize.w, oChartSize.h, false, false); diff --git a/common/Drawings/Format/Geometry.js b/common/Drawings/Format/Geometry.js index d8fe39d8d5..c8c7a19f30 100644 --- a/common/Drawings/Format/Geometry.js +++ b/common/Drawings/Format/Geometry.js @@ -1265,6 +1265,12 @@ Geometry.prototype= drawAdjustments: function(drawingDocument, transform, bTextWarp) { + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; + if(isDrawHandles === false) + { + return { hit: false, adjPolarFlag: null, adjNum: null, warp: false }; + } var _adjustments = this.ahXYLst; var _adj_count = _adjustments.length; var _adj_index; diff --git a/common/Drawings/Format/GraphicFrame.js b/common/Drawings/Format/GraphicFrame.js index 72409167ea..06f8a029ae 100644 --- a/common/Drawings/Format/GraphicFrame.js +++ b/common/Drawings/Format/GraphicFrame.js @@ -374,6 +374,12 @@ CGraphicFrame.prototype.Set_Props= function(props) CGraphicFrame.prototype.updateCursorType= function(x, y, e) { + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; + if(isDrawHandles === false) + { + return; + } var tx = this.invertTransform.TransformPointX(x, y); var ty = this.invertTransform.TransformPointY(x, y); this.graphicObject.UpdateCursorType(tx, ty, 0) diff --git a/common/Drawings/Format/GraphicObjectBase.js b/common/Drawings/Format/GraphicObjectBase.js index d5661184fb..c81ec5942c 100644 --- a/common/Drawings/Format/GraphicObjectBase.js +++ b/common/Drawings/Format/GraphicObjectBase.js @@ -627,6 +627,12 @@ return this.getNoResize() === false; }; CGraphicObjectBase.prototype.canMove = function() { + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; + if(isDrawHandles === false) + { + return false; + } return this.getNoMove() === false; }; CGraphicObjectBase.prototype.canGroup = function() { diff --git a/common/Drawings/Format/Path.js b/common/Drawings/Format/Path.js index 61f905588c..381084454c 100644 --- a/common/Drawings/Format/Path.js +++ b/common/Drawings/Format/Path.js @@ -1561,6 +1561,9 @@ Path.prototype = { drawTracks: function(drawingDocument, transform) { + + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; var i = 0; var len = this.PathMemory.ArrPathCommand[this.startPos]; @@ -1573,20 +1576,20 @@ Path.prototype = { { case moveTo: { - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, transform, path[this.startPos + i+2] - dDist, path[this.startPos + i + 3] - dDist, 2*dDist, 2*dDist, false, false); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, transform, path[this.startPos + i+2] - dDist, path[this.startPos + i + 3] - dDist, 2*dDist, 2*dDist, false, false, undefined, isDrawHandles); i+=3; break; } case lineTo: { - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, transform, path[this.startPos + i+2] - dDist, path[this.startPos + i + 3] - dDist, 2*dDist, 2*dDist, false, false); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, transform, path[this.startPos + i+2] - dDist, path[this.startPos + i + 3] - dDist, 2*dDist, 2*dDist, false, false, undefined, isDrawHandles); i+=3; break; } case bezier3: { // drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, transform, path[this.startPos + i+2] - dDist, path[this.startPos + i + 3] - dDist, 2*dDist, 2*dDist, false, false); - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, transform, path[this.startPos + i+4] - dDist, path[this.startPos + i + 5] - dDist, 2*dDist, 2*dDist, false, false); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, transform, path[this.startPos + i+4] - dDist, path[this.startPos + i + 5] - dDist, 2*dDist, 2*dDist, false, false, undefined, isDrawHandles); i+=5; break; } @@ -1594,7 +1597,7 @@ Path.prototype = { { // drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, transform, path[this.startPos + i+2] - dDist, path[this.startPos + i + 3] - dDist, 2*dDist,2*dDist, false, false); // drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, transform, path[this.startPos + i+4] - dDist, path[this.startPos + i + 5] - dDist, 2*dDist,2*dDist, false, false); i+=7; - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, transform, path[this.startPos + i+6] - dDist, path[this.startPos + i + 7] - dDist, 2*dDist,2*dDist, false, false); i+=7; + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, transform, path[this.startPos + i+6] - dDist, path[this.startPos + i + 7] - dDist, 2*dDist,2*dDist, false, false, undefined, isDrawHandles); i+=7; break; } case arcTo: @@ -1626,7 +1629,7 @@ Path.prototype = { } } } - drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, transform, lastX - dDist, lastY - dDist, 2*dDist, 2*dDist, false, false); + drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.CHART_TEXT, transform, lastX - dDist, lastY - dDist, 2*dDist, 2*dDist, false, false, undefined, isDrawHandles); i+=7; break; } diff --git a/common/Drawings/Format/Shape.js b/common/Drawings/Format/Shape.js index cd99aec412..b3a1a32f07 100644 --- a/common/Drawings/Format/Shape.js +++ b/common/Drawings/Format/Shape.js @@ -177,6 +177,12 @@ function hitToCropHandles(x, y, object) function hitToHandles(x, y, object) { + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; + if(isDrawHandles === false) + { + return -1; + } if(object.cropObject) { return hitToCropHandles(x, y, object); @@ -4594,6 +4600,12 @@ CShape.prototype.hitInTextRect = function (x, y) { CShape.prototype.updateCursorType = function (x, y, e) { + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; + if(isDrawHandles === false) + { + return; + } if(this.invertTransformText) { var tx = this.invertTransformText.TransformPointX(x, y); @@ -5671,6 +5683,13 @@ CShape.prototype.changeLine = function (line) }; CShape.prototype.hitToAdjustment = function (x, y) { + + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; + if(isDrawHandles === false) + { + return { hit: false, adjPolarFlag: null, adjNum: null, warp: false }; + } var invert_transform; var t_x, t_y, ret; var _calcGeoem = this.calcGeometry || (this.spPr && this.spPr.geometry); diff --git a/common/Native/Wrappers/DrawingDocument.js b/common/Native/Wrappers/DrawingDocument.js index ddb7e93f20..3c0f53c8eb 100755 --- a/common/Native/Wrappers/DrawingDocument.js +++ b/common/Native/Wrappers/DrawingDocument.js @@ -1344,9 +1344,9 @@ CDrawingDocument.prototype = }, // треки - DrawTrack : function(type, matrix, left, top, width, height, isLine, canRotate) + DrawTrack : function(type, matrix, left, top, width, height, isLine, canRotate, isNoMove, isDrawHandles) { - this.AutoShapesTrack.DrawTrack(type, matrix, left, top, width, height, isLine, canRotate); + this.AutoShapesTrack.DrawTrack(type, matrix, left, top, width, height, isLine, canRotate, isNoMove, isDrawHandles); }, DrawTrackSelectShapes : function(x, y, w, h) { diff --git a/common/Native/Wrappers/Overlay.js b/common/Native/Wrappers/Overlay.js index 4084fb6e7a..0e252fa89d 100755 --- a/common/Native/Wrappers/Overlay.js +++ b/common/Native/Wrappers/Overlay.js @@ -592,14 +592,14 @@ CAutoshapeTrack.prototype = /*************************************************************************/ /******************************** TRACKS *********************************/ /*************************************************************************/ - DrawTrack : function(type, matrix, left, top, width, height, isLine, isCanRotate) + DrawTrack : function(type, matrix, left, top, width, height, isLine, isCanRotate, isNoMove, isDrawHandles) { if (!matrix) this.Native["DD_DrawTrackTransform"](); else this.Native["DD_DrawTrackTransform"](matrix.sx, matrix.shy, matrix.shx, matrix.sy, matrix.tx, matrix.ty); - this.Native["DD_DrawTrack"](type, left, top, width, height, isLine, isCanRotate); + this.Native["DD_DrawTrack"](type, left, top, width, height, isLine, isCanRotate, isNoMove, isDrawHandles); }, DrawTrackSelectShapes : function(x, y, w, h) diff --git a/common/Overlay.js b/common/Overlay.js index 55f9ccb8db..dbc982db69 100644 --- a/common/Overlay.js +++ b/common/Overlay.js @@ -944,11 +944,17 @@ CAutoshapeTrack.prototype = /*************************************************************************/ /******************************** TRACKS *********************************/ /*************************************************************************/ - DrawTrack : function(type, matrix, left, top, width, height, isLine, isCanRotate, isNoMove) + DrawTrack : function(type, matrix, left, top, width, height, isLine, isCanRotate, isNoMove, isDrawHandles) { if (true === isNoMove) return; + var bDrawHandles = (isDrawHandles !== false); + if(bDrawHandles === false) + { + type = AscFormat.TYPE_TRACK.SHAPE; + } + if (this.m_oOverlay.IsCellEditor) { left /= AscCommon.AscBrowser.retinaPixelRatio; @@ -1156,105 +1162,108 @@ CAutoshapeTrack.prototype = ctx.beginPath(); } - var xC = ((x1 + x2) / 2) >> 0; - - if (!isLine && isCanRotate) + if(bDrawHandles) { - if (!bIsUseImageRotateTrack) - { - ctx.beginPath(); - overlay.AddEllipse(xC, y1 - Math.round(TRACK_DISTANCE_ROTATE * rPR), Math.round(TRACK_CIRCLE_RADIUS * rPR)); + var xC = ((x1 + x2) / 2) >> 0; - ctx.fillStyle = _style_green; - ctx.fill(); - ctx.stroke(); - } - else + if (!isLine && isCanRotate) { - var _image_track_rotate = overlay.GetImageTrackRotationImage(); - if (_image_track_rotate.asc_complete) + if (!bIsUseImageRotateTrack) { - var _w = Math.round(ROTATE_TRACK_W * rPR), - _xI = (xC + indent - _w / 2) >> 0, - _yI = y1 - Math.round(TRACK_DISTANCE_ROTATE * rPR), - radius = Math.round(6 * rPR); - - overlay.CheckRect(_xI, _yI - radius * 2, _w, _w); - ctx.fillStyle = "#939393"; - var cnvs = document.createElement('canvas'), - cntx = cnvs.getContext('2d'); - overlay.drawArrow(cntx, 0, 0, Math.round(4 * rPR), {r: 147, g: 147, b: 147}, true); - ctx.drawImage(cnvs, xC - Math.round(12.5 * rPR), _yI - Math.round(4.5 * rPR)) - ctx.beginPath(); - ctx.lineWidth = Math.round(rPR); - ctx.arc(xC, _yI + Math.round(rPR), radius, -3 / 4 * Math.PI, Math.PI); - ctx.stroke(); ctx.beginPath(); - ctx.arc(xC, _yI + Math.round(rPR), _w / 16, 0, 2 * Math.PI); - ctx.stroke(); - ctx.closePath(); + overlay.AddEllipse(xC, y1 - Math.round(TRACK_DISTANCE_ROTATE * rPR), Math.round(TRACK_CIRCLE_RADIUS * rPR)); - ctx.beginPath(); - ctx.globalCompositeOperation = "destination-over"; - ctx.arc(xC, _yI + Math.round(rPR), _w / 2, 0, 2 * Math.PI); - ctx.fillStyle = "#ffffff"; + ctx.fillStyle = _style_green; ctx.fill(); - ctx.closePath(); - ctx.globalCompositeOperation = "source-over"; + ctx.stroke(); + } + else + { + var _image_track_rotate = overlay.GetImageTrackRotationImage(); + if (_image_track_rotate.asc_complete) + { + var _w = Math.round(ROTATE_TRACK_W * rPR), + _xI = (xC + indent - _w / 2) >> 0, + _yI = y1 - Math.round(TRACK_DISTANCE_ROTATE * rPR), + radius = Math.round(6 * rPR); + + overlay.CheckRect(_xI, _yI - radius * 2, _w, _w); + ctx.fillStyle = "#939393"; + var cnvs = document.createElement('canvas'), + cntx = cnvs.getContext('2d'); + overlay.drawArrow(cntx, 0, 0, Math.round(4 * rPR), {r: 147, g: 147, b: 147}, true); + ctx.drawImage(cnvs, xC - Math.round(12.5 * rPR), _yI - Math.round(4.5 * rPR)) + ctx.beginPath(); + ctx.lineWidth = Math.round(rPR); + ctx.arc(xC, _yI + Math.round(rPR), radius, -3 / 4 * Math.PI, Math.PI); + ctx.stroke(); + ctx.beginPath(); + ctx.arc(xC, _yI + Math.round(rPR), _w / 16, 0, 2 * Math.PI); + ctx.stroke(); + ctx.closePath(); + + ctx.beginPath(); + ctx.globalCompositeOperation = "destination-over"; + ctx.arc(xC, _yI + Math.round(rPR), _w / 2, 0, 2 * Math.PI); + ctx.fillStyle = "#ffffff"; + ctx.fill(); + ctx.closePath(); + ctx.globalCompositeOperation = "source-over"; + } } - } - ctx.beginPath(); - ctx.moveTo(xC + indent, y1); - ctx.lineTo(xC + indent, y1 - Math.round(TRACK_DISTANCE_ROTATE2 * rPR)); - ctx.stroke(); + ctx.beginPath(); + ctx.moveTo(xC + indent, y1); + ctx.lineTo(xC + indent, y1 - Math.round(TRACK_DISTANCE_ROTATE2 * rPR)); + ctx.stroke(); - ctx.beginPath(); - } + ctx.beginPath(); + } - ctx.fillStyle = (type != AscFormat.TYPE_TRACK.CHART_TEXT) ? _style_white : _style_blue; - var TRACK_RECT_SIZE_CUR = (type != AscFormat.TYPE_TRACK.CHART_TEXT) ? SCALE_TRACK_RECT_SIZE : SCALE_TRACK_RECT_SIZE_CT; - if (type == AscFormat.TYPE_TRACK.CHART_TEXT) - ctx.strokeStyle = _style_white; + ctx.fillStyle = (type != AscFormat.TYPE_TRACK.CHART_TEXT) ? _style_white : _style_blue; + var TRACK_RECT_SIZE_CUR = (type != AscFormat.TYPE_TRACK.CHART_TEXT) ? SCALE_TRACK_RECT_SIZE : SCALE_TRACK_RECT_SIZE_CT; + if (type == AscFormat.TYPE_TRACK.CHART_TEXT) + ctx.strokeStyle = _style_white; - if (bIsEllipceCorner) - { - overlay.AddEllipse(x1, y1, Math.round(TRACK_CIRCLE_RADIUS * rPR)); - if (!isLine) + if (bIsEllipceCorner) { - overlay.AddEllipse(x2, y2, Math.round(TRACK_CIRCLE_RADIUS * rPR)); - overlay.AddEllipse(x3, y3, Math.round(TRACK_CIRCLE_RADIUS * rPR)); + overlay.AddEllipse(x1, y1, Math.round(TRACK_CIRCLE_RADIUS * rPR)); + if (!isLine) + { + overlay.AddEllipse(x2, y2, Math.round(TRACK_CIRCLE_RADIUS * rPR)); + overlay.AddEllipse(x3, y3, Math.round(TRACK_CIRCLE_RADIUS * rPR)); + } + overlay.AddEllipse(x4, y4, Math.round(TRACK_CIRCLE_RADIUS * rPR)); } - overlay.AddEllipse(x4, y4, Math.round(TRACK_CIRCLE_RADIUS * rPR)); - } - else - { - overlay.AddRect2(x1 + indent, y1 + indent, TRACK_RECT_SIZE_CUR); - if (!isLine) + else { - overlay.AddRect2(x2 + indent, y2 + indent, TRACK_RECT_SIZE_CUR); - overlay.AddRect2(x3 + indent, y3 + indent, TRACK_RECT_SIZE_CUR); + overlay.AddRect2(x1 + indent, y1 + indent, TRACK_RECT_SIZE_CUR); + if (!isLine) + { + overlay.AddRect2(x2 + indent, y2 + indent, TRACK_RECT_SIZE_CUR); + overlay.AddRect2(x3 + indent, y3 + indent, TRACK_RECT_SIZE_CUR); + } + overlay.AddRect2(x4 + indent, y4 + indent, TRACK_RECT_SIZE_CUR); } - overlay.AddRect2(x4 + indent, y4 + indent, TRACK_RECT_SIZE_CUR); - } - if (bIsRectsTrack && !isLine) - { - var _xC = (((x1 + x2) / 2) >> 0) + indent; - var _yC = (((y1 + y3) / 2) >> 0) + indent; - - if (bIsRectsTrackX) + if (bIsRectsTrack && !isLine) { - overlay.AddRect2(_xC, y1 + indent, SCALE_TRACK_RECT_SIZE); - overlay.AddRect2(_xC, y3 + indent, SCALE_TRACK_RECT_SIZE); - } + var _xC = (((x1 + x2) / 2) >> 0) + indent; + var _yC = (((y1 + y3) / 2) >> 0) + indent; - if (bIsRectsTrackY) - { - overlay.AddRect2(x2 + indent, _yC, SCALE_TRACK_RECT_SIZE); - overlay.AddRect2(x1 + indent, _yC, SCALE_TRACK_RECT_SIZE); + if (bIsRectsTrackX) + { + overlay.AddRect2(_xC, y1 + indent, SCALE_TRACK_RECT_SIZE); + overlay.AddRect2(_xC, y3 + indent, SCALE_TRACK_RECT_SIZE); + } + + if (bIsRectsTrackY) + { + overlay.AddRect2(x2 + indent, _yC, SCALE_TRACK_RECT_SIZE); + overlay.AddRect2(x1 + indent, _yC, SCALE_TRACK_RECT_SIZE); + } } } @@ -1376,202 +1385,204 @@ CAutoshapeTrack.prototype = ctx.beginPath(); - if (!isLine && isCanRotate) + if(isDrawHandles) { - if (!bIsUseImageRotateTrack) - { - ctx.beginPath(); - overlay.AddEllipse(xc1 + ex2 * TRACK_DISTANCE_ROTATE * rPR, yc1 + ey2 * TRACK_DISTANCE_ROTATE * rPR, Math.round(TRACK_CIRCLE_RADIUS * rPR)); - - ctx.fillStyle = _style_green; - ctx.fill(); - ctx.stroke(); - } - else + if (!isLine && isCanRotate) { - var _image_track_rotate = overlay.GetImageTrackRotationImage(); - if (_image_track_rotate.asc_complete) + if (!bIsUseImageRotateTrack) { - var _xI = Math.round(xc1 + ex2 * TRACK_DISTANCE_ROTATE * rPR); - var _yI = Math.round(yc1 + ey2 * TRACK_DISTANCE_ROTATE * rPR); - var _w = Math.round(ROTATE_TRACK_W * rPR); - var _w2 = Math.round(ROTATE_TRACK_W / 2 * rPR); - - if (nIsCleverWithTransform) - { - _xI >>= 0; - _yI >>= 0; - _w2 >>= 0; - _w2 += 1; - } - - var _matrix = matrix.CreateDublicate(); - _matrix.tx = 0; - _matrix.ty = 0; - var _xx = _matrix.TransformPointX(0, 1); - var _yy = _matrix.TransformPointY(0, 1); - var _angle = Math.atan2(_xx, -_yy) - Math.PI; - var _px = Math.cos(_angle); - var _py = Math.sin(_angle); - - ctx.save(); - - var cnvs = document.createElement('canvas'), - cntx = cnvs.getContext('2d'), - cnvsRotate = document.createElement('canvas'), - cntxRotate = cnvsRotate.getContext('2d'), - x = Math.round(13 * rPR) / 2, - y = Math.round(13 * rPR) / 2, - radius = Math.round(6 * rPR); - ctx.beginPath(); - //at first draw arrow - overlay.drawArrow(cntx, 0, 0, Math.round(4 * rPR), {r: 147, g: 147, b: 147}, true); + overlay.AddEllipse(xc1 + ex2 * TRACK_DISTANCE_ROTATE * rPR, yc1 + ey2 * TRACK_DISTANCE_ROTATE * rPR, Math.round(TRACK_CIRCLE_RADIUS * rPR)); - // rotate arrow depending on the angle - cntxRotate.translate(x, y) - cntxRotate.rotate(_angle); - cntxRotate.translate(-x, -y); - cntxRotate.drawImage(cnvs, 0, 0); - ctx.drawImage(cnvsRotate, Math.round(_xI - 6.4 * rPR - radius * _px), Math.round(_yI - 6.4 * rPR - radius * _py)); - - //draw semicircle - ctx.beginPath(); - ctx.lineWidth = Math.round(rPR); - ctx.arc(_xI, _yI, radius, -3 / 4 * Math.PI + _angle, Math.PI + _angle); - ctx.stroke(); - - //draw inner circle - ctx.beginPath(); - ctx.arc(_xI, _yI, _w / 16, 0, 2 * Math.PI); - ctx.stroke(); - - //draw circular background - ctx.globalCompositeOperation = "destination-over"; - ctx.arc(_xI, _yI, _w / 2, 0, 2 * Math.PI); - ctx.fillStyle = "#ffffff"; + ctx.fillStyle = _style_green; ctx.fill(); - ctx.closePath(); - ctx.globalCompositeOperation = "source-over"; - - ctx.restore(); - - overlay.CheckRect(_xI - _w2, _yI - _w2, _w, _w); + ctx.stroke(); + } + else + { + var _image_track_rotate = overlay.GetImageTrackRotationImage(); + if (_image_track_rotate.asc_complete) + { + var _xI = Math.round(xc1 + ex2 * TRACK_DISTANCE_ROTATE * rPR); + var _yI = Math.round(yc1 + ey2 * TRACK_DISTANCE_ROTATE * rPR); + var _w = Math.round(ROTATE_TRACK_W * rPR); + var _w2 = Math.round(ROTATE_TRACK_W / 2 * rPR); + + if (nIsCleverWithTransform) + { + _xI >>= 0; + _yI >>= 0; + _w2 >>= 0; + _w2 += 1; + } + + var _matrix = matrix.CreateDublicate(); + _matrix.tx = 0; + _matrix.ty = 0; + var _xx = _matrix.TransformPointX(0, 1); + var _yy = _matrix.TransformPointY(0, 1); + var _angle = Math.atan2(_xx, -_yy) - Math.PI; + var _px = Math.cos(_angle); + var _py = Math.sin(_angle); + + ctx.save(); + + var cnvs = document.createElement('canvas'), + cntx = cnvs.getContext('2d'), + cnvsRotate = document.createElement('canvas'), + cntxRotate = cnvsRotate.getContext('2d'), + x = Math.round(13 * rPR) / 2, + y = Math.round(13 * rPR) / 2, + radius = Math.round(6 * rPR); + + ctx.beginPath(); + //at first draw arrow + overlay.drawArrow(cntx, 0, 0, Math.round(4 * rPR), {r: 147, g: 147, b: 147}, true); + + // rotate arrow depending on the angle + cntxRotate.translate(x, y) + cntxRotate.rotate(_angle); + cntxRotate.translate(-x, -y); + cntxRotate.drawImage(cnvs, 0, 0); + ctx.drawImage(cnvsRotate, Math.round(_xI - 6.4 * rPR - radius * _px), Math.round(_yI - 6.4 * rPR - radius * _py)); + + //draw semicircle + ctx.beginPath(); + ctx.lineWidth = Math.round(rPR); + ctx.arc(_xI, _yI, radius, -3 / 4 * Math.PI + _angle, Math.PI + _angle); + ctx.stroke(); + + //draw inner circle + ctx.beginPath(); + ctx.arc(_xI, _yI, _w / 16, 0, 2 * Math.PI); + ctx.stroke(); + + //draw circular background + ctx.globalCompositeOperation = "destination-over"; + ctx.arc(_xI, _yI, _w / 2, 0, 2 * Math.PI); + ctx.fillStyle = "#ffffff"; + ctx.fill(); + ctx.closePath(); + ctx.globalCompositeOperation = "source-over"; + + ctx.restore(); + + overlay.CheckRect(_xI - _w2, _yI - _w2, _w, _w); + } } - } - - ctx.beginPath(); - - if (!nIsCleverWithTransform) - { - ctx.moveTo(xc1, yc1); - ctx.lineTo(xc1 + ex2 * (TRACK_DISTANCE_ROTATE2 * rPR + Math.round(rPR)), yc1 + ey2 * (TRACK_DISTANCE_ROTATE2 * rPR + Math.round(rPR))); - } - else - { - ctx.moveTo((xc1 >> 0) + indent, (yc1 >> 0) + indent); - ctx.lineTo(((xc1 + ex2 * TRACK_DISTANCE_ROTATE2 * rPR) >> 0) + indent, ((yc1 + ey2 * TRACK_DISTANCE_ROTATE2 * rPR) >> 0) + indent); - } - - ctx.stroke(); - - ctx.beginPath(); - } - ctx.fillStyle = (type != AscFormat.TYPE_TRACK.CHART_TEXT) ? _style_white : _style_blue; - var TRACK_RECT_SIZE_CUR = (type != AscFormat.TYPE_TRACK.CHART_TEXT) ? SCALE_TRACK_RECT_SIZE : SCALE_TRACK_RECT_SIZE_CT; - if (type == AscFormat.TYPE_TRACK.CHART_TEXT) - ctx.strokeStyle = _style_white; + ctx.beginPath(); - if (!nIsCleverWithTransform) - { - if (bIsEllipceCorner) - { - overlay.AddEllipse(x1, y1, Math.round(TRACK_CIRCLE_RADIUS * rPR)); - if (!isLine) - { - overlay.AddEllipse(x2, y2, Math.round(TRACK_CIRCLE_RADIUS * rPR)); - overlay.AddEllipse(x3, y3, Math.round(TRACK_CIRCLE_RADIUS * rPR)); - } - overlay.AddEllipse(x4, y4, Math.round(TRACK_CIRCLE_RADIUS * rPR)); - } - else - { - overlay.AddRect3(x1, y1, TRACK_RECT_SIZE_CUR, ex1, ey1, ex2, ey2); - if (!isLine) - { - overlay.AddRect3(x2, y2, TRACK_RECT_SIZE_CUR, ex1, ey1, ex2, ey2); - overlay.AddRect3(x3, y3, TRACK_RECT_SIZE_CUR, ex1, ey1, ex2, ey2); - } - overlay.AddRect3(x4, y4, TRACK_RECT_SIZE_CUR, ex1, ey1, ex2, ey2); - } - } - else - { - if (bIsEllipceCorner) - { - overlay.AddEllipse(_x1, _y1, Math.round(TRACK_CIRCLE_RADIUS * rPR)); - if (!isLine) - { - overlay.AddEllipse(_x2, _y2, Math.round(TRACK_CIRCLE_RADIUS * rPR)); - overlay.AddEllipse(_x3, _y3, Math.round(TRACK_CIRCLE_RADIUS * rPR)); - } - overlay.AddEllipse(_x4, _y4, Math.round(TRACK_CIRCLE_RADIUS * rPR)); - } - else - { - if (!isLine) + if (!nIsCleverWithTransform) { - overlay.AddRect2(_x1 + indent, _y1 + indent, TRACK_RECT_SIZE_CUR); - overlay.AddRect2(_x2 + indent, _y2 + indent, TRACK_RECT_SIZE_CUR); - overlay.AddRect2(_x3 + indent, _y3 + indent, TRACK_RECT_SIZE_CUR); - overlay.AddRect2(_x4 + indent, _y4 + indent, TRACK_RECT_SIZE_CUR); + ctx.moveTo(xc1, yc1); + ctx.lineTo(xc1 + ex2 * (TRACK_DISTANCE_ROTATE2 * rPR + Math.round(rPR)), yc1 + ey2 * (TRACK_DISTANCE_ROTATE2 * rPR + Math.round(rPR))); } else { - overlay.AddRect2(x1 + indent, y1 + indent, TRACK_RECT_SIZE_CUR); - overlay.AddRect2(x4 + indent, y4 + indent, TRACK_RECT_SIZE_CUR); + ctx.moveTo((xc1 >> 0) + indent, (yc1 >> 0) + indent); + ctx.lineTo(((xc1 + ex2 * TRACK_DISTANCE_ROTATE2 * rPR) >> 0) + indent, ((yc1 + ey2 * TRACK_DISTANCE_ROTATE2 * rPR) >> 0) + indent); } - } - } - if (!isLine) - { + ctx.stroke(); + + ctx.beginPath(); + } + + ctx.fillStyle = (type != AscFormat.TYPE_TRACK.CHART_TEXT) ? _style_white : _style_blue; + var TRACK_RECT_SIZE_CUR = (type != AscFormat.TYPE_TRACK.CHART_TEXT) ? SCALE_TRACK_RECT_SIZE : SCALE_TRACK_RECT_SIZE_CT; + if (type == AscFormat.TYPE_TRACK.CHART_TEXT) + ctx.strokeStyle = _style_white; + if (!nIsCleverWithTransform) { - if (bIsRectsTrack) + if (bIsEllipceCorner) { - if (bIsRectsTrackX) + overlay.AddEllipse(x1, y1, Math.round(TRACK_CIRCLE_RADIUS * rPR)); + if (!isLine) { - overlay.AddRect3((x1 + x2) / 2, (y1 + y2) / 2, SCALE_TRACK_RECT_SIZE, ex1, ey1, ex2, ey2); - overlay.AddRect3((x3 + x4) / 2, (y3 + y4) / 2, SCALE_TRACK_RECT_SIZE, ex1, ey1, ex2, ey2); + overlay.AddEllipse(x2, y2, Math.round(TRACK_CIRCLE_RADIUS * rPR)); + overlay.AddEllipse(x3, y3, Math.round(TRACK_CIRCLE_RADIUS * rPR)); } - if (bIsRectsTrackY) + overlay.AddEllipse(x4, y4, Math.round(TRACK_CIRCLE_RADIUS * rPR)); + } + else + { + overlay.AddRect3(x1, y1, TRACK_RECT_SIZE_CUR, ex1, ey1, ex2, ey2); + if (!isLine) { - overlay.AddRect3((x2 + x4) / 2, (y2 + y4) / 2, SCALE_TRACK_RECT_SIZE, ex1, ey1, ex2, ey2); - overlay.AddRect3((x3 + x1) / 2, (y3 + y1) / 2, SCALE_TRACK_RECT_SIZE, ex1, ey1, ex2, ey2); + overlay.AddRect3(x2, y2, TRACK_RECT_SIZE_CUR, ex1, ey1, ex2, ey2); + overlay.AddRect3(x3, y3, TRACK_RECT_SIZE_CUR, ex1, ey1, ex2, ey2); } + overlay.AddRect3(x4, y4, TRACK_RECT_SIZE_CUR, ex1, ey1, ex2, ey2); } } else { - var _xC = (((_x1 + _x2) / 2) >> 0) + indent; - var _yC = (((_y1 + _y3) / 2) >> 0) + indent; - - if (bIsRectsTrackX) + if (bIsEllipceCorner) + { + overlay.AddEllipse(_x1, _y1, Math.round(TRACK_CIRCLE_RADIUS * rPR)); + if (!isLine) + { + overlay.AddEllipse(_x2, _y2, Math.round(TRACK_CIRCLE_RADIUS * rPR)); + overlay.AddEllipse(_x3, _y3, Math.round(TRACK_CIRCLE_RADIUS * rPR)); + } + overlay.AddEllipse(_x4, _y4, Math.round(TRACK_CIRCLE_RADIUS * rPR)); + } + else { - overlay.AddRect2(_xC, _y1 + indent, SCALE_TRACK_RECT_SIZE); - overlay.AddRect2(_xC, _y3 + indent, SCALE_TRACK_RECT_SIZE); + if (!isLine) + { + overlay.AddRect2(_x1 + indent, _y1 + indent, TRACK_RECT_SIZE_CUR); + overlay.AddRect2(_x2 + indent, _y2 + indent, TRACK_RECT_SIZE_CUR); + overlay.AddRect2(_x3 + indent, _y3 + indent, TRACK_RECT_SIZE_CUR); + overlay.AddRect2(_x4 + indent, _y4 + indent, TRACK_RECT_SIZE_CUR); + } + else + { + overlay.AddRect2(x1 + indent, y1 + indent, TRACK_RECT_SIZE_CUR); + overlay.AddRect2(x4 + indent, y4 + indent, TRACK_RECT_SIZE_CUR); + } } + } - if (bIsRectsTrackY) + if (!isLine) + { + if (!nIsCleverWithTransform) + { + if (bIsRectsTrack) + { + if (bIsRectsTrackX) + { + overlay.AddRect3((x1 + x2) / 2, (y1 + y2) / 2, SCALE_TRACK_RECT_SIZE, ex1, ey1, ex2, ey2); + overlay.AddRect3((x3 + x4) / 2, (y3 + y4) / 2, SCALE_TRACK_RECT_SIZE, ex1, ey1, ex2, ey2); + } + if (bIsRectsTrackY) + { + overlay.AddRect3((x2 + x4) / 2, (y2 + y4) / 2, SCALE_TRACK_RECT_SIZE, ex1, ey1, ex2, ey2); + overlay.AddRect3((x3 + x1) / 2, (y3 + y1) / 2, SCALE_TRACK_RECT_SIZE, ex1, ey1, ex2, ey2); + } + } + } + else { - overlay.AddRect2(_x2 + indent, _yC, SCALE_TRACK_RECT_SIZE); - overlay.AddRect2(_x1 + indent, _yC, SCALE_TRACK_RECT_SIZE); + var _xC = (((_x1 + _x2) / 2) >> 0) + indent; + var _yC = (((_y1 + _y3) / 2) >> 0) + indent; + + if (bIsRectsTrackX) + { + overlay.AddRect2(_xC, _y1 + indent, SCALE_TRACK_RECT_SIZE); + overlay.AddRect2(_xC, _y3 + indent, SCALE_TRACK_RECT_SIZE); + } + + if (bIsRectsTrackY) + { + overlay.AddRect2(_x2 + indent, _yC, SCALE_TRACK_RECT_SIZE); + overlay.AddRect2(_x1 + indent, _yC, SCALE_TRACK_RECT_SIZE); + } } } } - ctx.fill(); ctx.stroke(); diff --git a/slide/Drawing/DrawingDocument.js b/slide/Drawing/DrawingDocument.js index 4f23352936..09bb55cf19 100644 --- a/slide/Drawing/DrawingDocument.js +++ b/slide/Drawing/DrawingDocument.js @@ -2778,9 +2778,9 @@ function CDrawingDocument() }; // вот здесь весь трекинг - this.DrawTrack = function(type, matrix, left, top, width, height, isLine, canRotate, isNoMove) + this.DrawTrack = function(type, matrix, left, top, width, height, isLine, canRotate, isNoMove, isDrawHandles) { - this.AutoShapesTrack.DrawTrack(type, matrix, left, top, width, height, isLine, canRotate, isNoMove); + this.AutoShapesTrack.DrawTrack(type, matrix, left, top, width, height, isLine, canRotate, isNoMove, isDrawHandles); }; this.LockSlide = function(slideNum) diff --git a/slide/Editor/Format/Presentation.js b/slide/Editor/Format/Presentation.js index b7a6b852b6..6350fb5581 100644 --- a/slide/Editor/Format/Presentation.js +++ b/slide/Editor/Format/Presentation.js @@ -6098,6 +6098,12 @@ CPresentation.prototype.SelectAll = function () { CPresentation.prototype.UpdateCursorType = function (X, Y, MouseEvent) { + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; + if(isDrawHandles === false) + { + return; + } var oController = this.GetCurrentController(); if (oController) { var graphicObjectInfo = oController.isPointInDrawingObjects(X, Y, MouseEvent); diff --git a/slide/Native/Wrappers/DrawingDocument.js b/slide/Native/Wrappers/DrawingDocument.js index 7e72b68e38..c207e3468a 100644 --- a/slide/Native/Wrappers/DrawingDocument.js +++ b/slide/Native/Wrappers/DrawingDocument.js @@ -671,9 +671,9 @@ CDrawingDocument.prototype.CorrectRulerPosition = function(pos) }; // вот здесь весь трекинг -CDrawingDocument.prototype.DrawTrack = function(type, matrix, left, top, width, height, isLine, canRotate, isNoMove) +CDrawingDocument.prototype.DrawTrack = function(type, matrix, left, top, width, height, isLine, canRotate, isNoMove, isDrawHandles) { - this.AutoShapesTrack.DrawTrack(type, matrix, left, top, width, height, isLine, canRotate, isNoMove); + this.AutoShapesTrack.DrawTrack(type, matrix, left, top, width, height, isLine, canRotate, isNoMove, isDrawHandles); }; CDrawingDocument.prototype.LockSlide = function(slideNum) diff --git a/word/Drawing/DrawingDocument.js b/word/Drawing/DrawingDocument.js index 13ea3d86e2..7f6b97b0a3 100644 --- a/word/Drawing/DrawingDocument.js +++ b/word/Drawing/DrawingDocument.js @@ -5371,9 +5371,9 @@ function CDrawingDocument() }; // вот здесь весь трекинг - this.DrawTrack = function (type, matrix, left, top, width, height, isLine, canRotate, isNoMove) + this.DrawTrack = function (type, matrix, left, top, width, height, isLine, canRotate, isNoMove, isDrawHandles) { - this.AutoShapesTrack.DrawTrack(type, matrix, left, top, width, height, isLine, canRotate, isNoMove); + this.AutoShapesTrack.DrawTrack(type, matrix, left, top, width, height, isLine, canRotate, isNoMove, isDrawHandles); }; this.DrawTrackSelectShapes = function (x, y, w, h) diff --git a/word/Editor/GraphicObjects/GraphicObjects.js b/word/Editor/GraphicObjects/GraphicObjects.js index 75336dc848..23e0bca780 100644 --- a/word/Editor/GraphicObjects/GraphicObjects.js +++ b/word/Editor/GraphicObjects/GraphicObjects.js @@ -238,6 +238,13 @@ CGraphicObjects.prototype = this.handleEventMode = HANDLE_EVENT_MODE_HANDLE; if(ret) { + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; + if(isDrawHandles === false) + { + this.drawingDocument.SetCursorType("default"); + return true; + } if(ret.cursorType !== "text") this.drawingDocument.SetCursorType(ret.cursorType); return true; diff --git a/word/Editor/GraphicObjects/GraphicPage.js b/word/Editor/GraphicObjects/GraphicPage.js index 2136689e68..333ceda0ae 100644 --- a/word/Editor/GraphicObjects/GraphicPage.js +++ b/word/Editor/GraphicObjects/GraphicPage.js @@ -292,6 +292,9 @@ CGraphicPage.prototype = drawSelect: function() { + + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; var _graphic_objects = this.selectionInfo.selectionArray; var _object_index; var _objects_count = _graphic_objects.length; @@ -308,7 +311,7 @@ CGraphicPage.prototype = _extensions = {extX: 0, extY: 0}; - this.drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.SHAPE , _transform, 0, 0, _extensions.extX, _extensions.extY, /*shape.geometry ? shape.geometry.preset == "line" : false*/false); + this.drawingDocument.DrawTrack(AscFormat.TYPE_TRACK.SHAPE , _transform, 0, 0, _extensions.extX, _extensions.extY, /*shape.geometry ? shape.geometry.preset == "line" : false*/false, undefined, undefined, isDrawHandles); } }, From b716a8e42a8f21b74f864246eb585abba4710eca Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 21 Apr 2021 17:45:26 +0300 Subject: [PATCH 197/381] Fix bug #44625 --- word/Editor/Document.js | 2 +- word/Editor/Table.js | 101 +++++++++++++++++++++------------------- 2 files changed, 53 insertions(+), 50 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 1b89305f98..2b772d7e84 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -12071,7 +12071,7 @@ CDocument.prototype.private_UpdateTracks = function(bSelection, bEmptySelection) var oSelectedInfo = this.GetSelectedElementsInfo(); var Math = oSelectedInfo.GetMath(); - if (null !== Math) + if (null !== Math && this.IsShowEquationTrack()) this.DrawingDocument.Update_MathTrack(true, (false === bSelection || true === bEmptySelection ? true : false), Math); else this.DrawingDocument.Update_MathTrack(false); diff --git a/word/Editor/Table.js b/word/Editor/Table.js index 41df59ad24..3ba2914f05 100644 --- a/word/Editor/Table.js +++ b/word/Editor/Table.js @@ -3462,46 +3462,61 @@ CTable.prototype.UpdateCursorType = function(X, Y, CurPage) if (true === this.Selection.Start || table_Selection_Border === this.Selection.Type2 || table_Selection_Border_InnerTable === this.Selection.Type2) return; - // Случай, когда у нас уже есть трэк вложенной таблицы и курсор выходит во внешнюю. Чтобы трэк сразу не пропадал, - // пока курсор находится в области табличного трэка для вложенной таблицы. - if (true !== this.DrawingDocument.IsCursorInTableCur(X, Y, this.GetAbsolutePage(CurPage)) - && true === this.Check_EmptyPages(CurPage - 1) - && true !== this.IsEmptyPage(CurPage)) + if (this.LogicDocument && this.LogicDocument.IsShowTableAdjustments()) { - this.private_StartTrackTable(CurPage); - } - - var oHitInfo = this.private_CheckHitInBorder(X, Y, CurPage); - if (true === oHitInfo.RowSelection) - { - return this.DrawingDocument.SetCursorType("select-table-row", new CMouseMoveData()); - } - else if (true === oHitInfo.ColumnSelection) - { - return this.DrawingDocument.SetCursorType("select-table-column", new CMouseMoveData()); - } - else if (true === oHitInfo.CellSelection) - { - return this.DrawingDocument.SetCursorType("select-table-cell", new CMouseMoveData()); - } - else if (-1 !== oHitInfo.Border) - { - var Transform = this.Get_ParentTextTransform(); - if (null !== Transform) + // Случай, когда у нас уже есть трэк вложенной таблицы и курсор выходит во внешнюю. Чтобы трэк сразу не пропадал, + // пока курсор находится в области табличного трэка для вложенной таблицы. + if (true !== this.DrawingDocument.IsCursorInTableCur(X, Y, this.GetAbsolutePage(CurPage)) + && true === this.Check_EmptyPages(CurPage - 1) + && true !== this.IsEmptyPage(CurPage)) { - var dX = Math.abs(Transform.TransformPointX(0, 0) - Transform.TransformPointX(0, 1)); - var dY = Math.abs(Transform.TransformPointY(0, 0) - Transform.TransformPointY(0, 1)); + this.private_StartTrackTable(CurPage); + } - if (Math.abs(dY) > Math.abs(dX)) + var oHitInfo = this.private_CheckHitInBorder(X, Y, CurPage); + if (true === oHitInfo.RowSelection) + { + return this.DrawingDocument.SetCursorType("select-table-row", new CMouseMoveData()); + } + else if (true === oHitInfo.ColumnSelection) + { + return this.DrawingDocument.SetCursorType("select-table-column", new CMouseMoveData()); + } + else if (true === oHitInfo.CellSelection) + { + return this.DrawingDocument.SetCursorType("select-table-cell", new CMouseMoveData()); + } + else if (-1 !== oHitInfo.Border) + { + var Transform = this.Get_ParentTextTransform(); + if (null !== Transform) { - switch (oHitInfo.Border) + var dX = Math.abs(Transform.TransformPointX(0, 0) - Transform.TransformPointX(0, 1)); + var dY = Math.abs(Transform.TransformPointY(0, 0) - Transform.TransformPointY(0, 1)); + + if (Math.abs(dY) > Math.abs(dX)) { - case 0: - case 2: - return this.DrawingDocument.SetCursorType("row-resize", new CMouseMoveData()); - case 1: - case 3: - return this.DrawingDocument.SetCursorType("col-resize", new CMouseMoveData()); + switch (oHitInfo.Border) + { + case 0: + case 2: + return this.DrawingDocument.SetCursorType("row-resize", new CMouseMoveData()); + case 1: + case 3: + return this.DrawingDocument.SetCursorType("col-resize", new CMouseMoveData()); + } + } + else + { + switch (oHitInfo.Border) + { + case 0: + case 2: + return this.DrawingDocument.SetCursorType("col-resize", new CMouseMoveData()); + case 1: + case 3: + return this.DrawingDocument.SetCursorType("row-resize", new CMouseMoveData()); + } } } else @@ -3510,25 +3525,13 @@ CTable.prototype.UpdateCursorType = function(X, Y, CurPage) { case 0: case 2: - return this.DrawingDocument.SetCursorType("col-resize", new CMouseMoveData()); + return this.DrawingDocument.SetCursorType("row-resize", new CMouseMoveData()); case 1: case 3: - return this.DrawingDocument.SetCursorType("row-resize", new CMouseMoveData()); + return this.DrawingDocument.SetCursorType("col-resize", new CMouseMoveData()); } } } - else - { - switch (oHitInfo.Border) - { - case 0: - case 2: - return this.DrawingDocument.SetCursorType("row-resize", new CMouseMoveData()); - case 1: - case 3: - return this.DrawingDocument.SetCursorType("col-resize", new CMouseMoveData()); - } - } } var Cell_Pos = this.private_GetCellByXY(X, Y, CurPage); From 98219324ad4d53fbc15d7dcf21c79f162f1f0d74 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Wed, 21 Apr 2021 19:02:29 +0300 Subject: [PATCH 198/381] Fix/buttons cc (#1831) * Refactoring buttons for cc * Fix 1.5 scaling --- cell/apiBuilder.js | 2 +- common/Images/content_controls/img@1.5x.png | Bin 0 -> 193 bytes .../content_controls/img_active@1.5x.png | Bin 0 -> 176 bytes common/Images/content_controls/toc@1.5x.png | Bin 0 -> 262 bytes .../content_controls/toc_active@1.5x.png | Bin 0 -> 224 bytes word/Drawing/buttons.js | 273 ++++++++---------- 6 files changed, 119 insertions(+), 156 deletions(-) create mode 100644 common/Images/content_controls/img@1.5x.png create mode 100644 common/Images/content_controls/img_active@1.5x.png create mode 100644 common/Images/content_controls/toc@1.5x.png create mode 100644 common/Images/content_controls/toc_active@1.5x.png diff --git a/cell/apiBuilder.js b/cell/apiBuilder.js index aff55b926e..2b877414e4 100644 --- a/cell/apiBuilder.js +++ b/cell/apiBuilder.js @@ -1408,7 +1408,7 @@ /** * Get the type of this class. * @memberof ApiRange - * @typeofeditors ["CDE"] + * @typeofeditors ["CSE"] * @returns {"range"} */ ApiRange.prototype.GetClassType = function() diff --git a/common/Images/content_controls/img@1.5x.png b/common/Images/content_controls/img@1.5x.png new file mode 100644 index 0000000000000000000000000000000000000000..30433094bc4897886bd9824df92bc2a24b3c6d48 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX0wgC|rfCAH4o?@ykcwMxuN>q&puoc#;9kh$ zuHhTBt2J+)pv*xz`=hJO9-Mvu^P{li-9F1jF~{7$2p7*>`Ct>*{Lal9uEJure;!)S zHh6yf{=6&K=6G24ACIfQE##v5=g5L|r4NxkVVn;pOE5R{8{Bd@Xf0tKC-~*;>>c+u sKFj5~zopr01~233;+NC literal 0 HcmV?d00001 diff --git a/common/Images/content_controls/img_active@1.5x.png b/common/Images/content_controls/img_active@1.5x.png new file mode 100644 index 0000000000000000000000000000000000000000..761eec0d7b7eeb3a4c9282644939562059b24cac GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX0wgC|rfCAHa!(h>kP61PR~Xrt4R~4~$}V+( z(R*w5a}LWx_H2URww<`LfIsTTo-JGYXO|ghZTvnXh;_Mv^zjJW93HlNhyNYACVTtC zuN%+vW_KELM_iEI(@>nfMs!Z*y= bRWhBJ^3!w4-3bSQPGInK^>bP0l+XkKGVDg& literal 0 HcmV?d00001 diff --git a/common/Images/content_controls/toc@1.5x.png b/common/Images/content_controls/toc@1.5x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe9edf3702ea753b47b2e079668cffac481c6e26 GIT binary patch literal 262 zcmV+h0r~!kP)1tfou@vReZ_C!dir zsXG)1b%)D^tHb5d9S-UFWIH>Q->ouN2p^l|jBLxCAjW=0Z^{~jG3iD&tLP#2MQz;e zI?-=lmL5pauiJW>rff!sur}Rf+hXANHD_wYhoE3&Wko?YW4_p(FD{%>LHZzav;Y7A M07*qoM6N<$f_L3)zyJUM literal 0 HcmV?d00001 diff --git a/common/Images/content_controls/toc_active@1.5x.png b/common/Images/content_controls/toc_active@1.5x.png new file mode 100644 index 0000000000000000000000000000000000000000..7b6064e4548ee58709ed9aacd9c036a3e0a8cb2b GIT binary patch literal 224 zcmV<603ZK}P)3_vTP4ps?sv^h8lorBC#B%Fjun1pvslpgc@Yr_=&yc!}MieU^WLR$V)HtaDn z)$(1_VhFKlOj;`LLB>enM>U!gvKI4=d-Bo$HEzn`S`eD+jg|U(;~`uR_BdldJCrK8 zkQkp5WpZ$#MZEoreqkhU(&CtQ$Su1a%U9JM-THOPessZTsMqdBhiB@?7nA|RP%> 0; + if (10 === val) + return ""; + + var val1 = (val / 10) >> 0; + var val2 = val - (10 * val1); + + if (0 === val2) + return "@" + val1 + "x"; + + return "@" + val1 + "." + val2 + "x"; + }; + + BaseImageCtrl.prototype.getIndex = function() + { + var scale = AscCommon.AscBrowser.retinaPixelRatio; + var index = 0; + var len = this.support.length; + while (index < len) + { + if (this.support[index] > (scale + 0.01)) + break; + ++index; + } + --index; + if (index < 0) + return 0; + if (index >= len) + return len - 1; + return index; + }; + + BaseImageCtrl.prototype.load = function(type, url) + { + for (var i = 0, len = this.support.length; i < len; i++) + { + var img = new Image(); + img.onload = function() { this.asc_complete = true; }; + img.src = this.baseUrl + "/" + url + this.getAddon(this.support[i]) + ".png"; + AscCommon.backoffOnErrorImg(img); + this.images.push(img); + } + }; + BaseImageCtrl.prototype.loadActive = function(url) + { + for (var i = 0, len = this.support.length; i < len; i++) + { + var img = new Image(); + img.onload = function() { this.asc_complete = true; }; + img.src = this.baseUrl + "/" + url + "_active" + this.getAddon(this.support[i]) + ".png"; + AscCommon.backoffOnErrorImg(img); + this.images_active.push(img); + } + }; + BaseImageCtrl.prototype.get = function(isActive) + { + if (isActive) return this.getActive(); + var index = this.getIndex(); + return this.images[index].asc_complete ? this.images[index] : null; + }; + BaseImageCtrl.prototype.getActive = function() + { + var index = this.getIndex(); + return this.images_active[index].asc_complete ? this.images_active[index] : null; + }; + + AscCommon.BaseImageCtrl = BaseImageCtrl; + +})(window); + /* PLACEHOLDERS */ @@ -67,82 +150,20 @@ var ButtonImageSize1x = 28; var ButtonBetweenSize1x = 8; - function PlaceholderIcons() + /** + * @constructor + * @extends {AscCommon.BaseImageCtrl} + */ + function PI() { - function PI() - { - this.images = []; - this.images_active = []; - this.support = [1, 1.5, 2]; - } - - PI.prototype.getAddon = function(val) - { - val = (val * 10) >> 0; - if (10 === val) - return ""; - - var val1 = (val / 10) >> 0; - var val2 = val - (10 * val1); - - if (0 === val2) - return "@" + val1 + "x"; - - return "@" + val1 + "." + val2 + "x"; - }; - - PI.prototype.getIndex = function() - { - var scale = AscCommon.AscBrowser.retinaPixelRatio; - var index = 0; - var len = this.support.length; - while (index < len) - { - if (this.support[index] > (scale + 0.01)) - break; - ++index; - } - --index; - if (index < 0) - return 0; - if (index >= len) - return len - 1; - return index; - }; - - PI.prototype.load = function(type, url) - { - for (var i = 0, len = this.support.length; i < len; i++) - { - var img = new Image(); - img.onload = function() { this.asc_complete = true; }; - img.src = "../../../../sdkjs/common/Images/placeholders/" + url + this.getAddon(this.support[i]) + ".png"; - AscCommon.backoffOnErrorImg(img); - this.images.push(img); - } - }; - PI.prototype.loadActive = function(url) - { - for (var i = 0, len = this.support.length; i < len; i++) - { - var img = new Image(); - img.onload = function() { this.asc_complete = true; }; - img.src = "../../../../sdkjs/common/Images/placeholders/" + url + "_active" + this.getAddon(this.support[i]) + ".png"; - AscCommon.backoffOnErrorImg(img); - this.images_active.push(img); - } - }; - PI.prototype.get = function() - { - var index = this.getIndex(); - return this.images[index].asc_complete ? this.images[index] : null; - }; - PI.prototype.getActive = function() - { - var index = this.getIndex(); - return this.images_active[index].asc_complete ? this.images_active[index] : null; - }; + AscCommon.BaseImageCtrl.call(this); + this.baseUrl = "../../../../sdkjs/common/Images/placeholders"; + } + PI.prototype = Object.create(AscCommon.BaseImageCtrl.prototype); + PI.prototype.constructor = PI; + function PlaceholderIcons() + { this.images = []; this.register = function(type, url, support_active) @@ -667,45 +688,17 @@ function CCIcons() { + /** + * @constructor + * @extends {AscCommon.BaseImageCtrl} + */ function CCI() { - this.type = 0; - this.images = []; - - this.load = function(type, url) - { - this.type = type; - this.images[0] = new Image(); - this.images[0].onload = function() { this.asc_complete = true; }; - this.images[0].src = "../../../../sdkjs/common/Images/content_controls/" + url + ".png"; - AscCommon.backoffOnErrorImg(this.images[0]); - - this.images[1] = new Image(); - this.images[1].onload = function() { this.asc_complete = true; }; - this.images[1].src = "../../../../sdkjs/common/Images/content_controls/" + url + "_active.png"; - AscCommon.backoffOnErrorImg(this.images[1]); - - this.images[2] = new Image(); - this.images[2].onload = function() { this.asc_complete = true; }; - this.images[2].src = "../../../../sdkjs/common/Images/content_controls/" + url + "@2x.png"; - AscCommon.backoffOnErrorImg(this.images[2]); - - this.images[3] = new Image(); - this.images[3].onload = function() { this.asc_complete = true; }; - this.images[3].src = "../../../../sdkjs/common/Images/content_controls/" + url + "_active@2x.png"; - AscCommon.backoffOnErrorImg(this.images[3]); - }; - - this.get = function(isActive) - { - var index = AscCommon.AscBrowser.isCustomScalingAbove2() ? 2 : 0; - if (isActive) - index++; - if (this.images[index].asc_complete) - return this.images[index]; - return null; - }; + AscCommon.BaseImageCtrl.call(this); + this.baseUrl = "../../../../sdkjs/common/Images/content_controls"; } + CCI.prototype = Object.create(AscCommon.BaseImageCtrl.prototype); + CCI.prototype.constructor = CCI; this.images = []; @@ -713,6 +706,7 @@ { var image = new CCI(); image.load(type, url); + image.loadActive(url); this.images[type] = image; }; @@ -1668,58 +1662,27 @@ ctx.beginPath(); } - var cx = _x - 0.5 * Math.round(rPR) + Math.round(4 * rPR); - var cy = _y - 0.5 * Math.round(rPR) + Math.round(4 * rPR); + var cx = _x - 0.5 * Math.round(rPR) + Math.round(5 * rPR); + var cy = _y - 0.5 * Math.round(rPR) + Math.round(5 * rPR); - var _color1 = "#ADADAD"; - var _color2 = "#D4D4D4"; + var px3 = Math.round(2 * rPR); + var px5 = Math.round(4 * rPR); + var px10 = Math.round(8 * rPR); + var _color = "#ADADAD"; if (0 == this.ContentControlObjectState || 1 == this.ContentControlObjectState) - { - _color1 = "#444444"; - _color2 = "#9D9D9D"; - } + _color = "#444444"; - overlay.AddRect(cx, cy, Math.round(3 * rPR), Math.round(3 * rPR)); - overlay.AddRect(cx + Math.round(5 * rPR), cy, Math.round(3 * rPR), Math.round(3 * rPR)); - overlay.AddRect(cx, cy + Math.round(5 * rPR), Math.round(3 * rPR), Math.round(3 * rPR)); - overlay.AddRect(cx + Math.round(5 * rPR), cy + Math.round(5 * rPR), Math.round(3 * rPR), Math.round(3 * rPR)); - overlay.AddRect(cx, cy + Math.round(10 * rPR), Math.round(3 * rPR), Math.round(3 * rPR)); - overlay.AddRect(cx + Math.round(5 * rPR), cy + Math.round(10 * rPR), Math.round(3 * rPR), Math.round(3 * rPR)); + overlay.AddRect(cx, cy, px3, px3); + overlay.AddRect(cx, cy + px5, px3, px3); + overlay.AddRect(cx, cy + px10, px3, px3); + overlay.AddRect(cx + px5, cy, px3, px3); + overlay.AddRect(cx + px5, cy + px5, px3, px3); + overlay.AddRect(cx + px5, cy + px10, px3, px3); - ctx.fillStyle = _color2; + ctx.fillStyle = _color; ctx.fill(); ctx.beginPath(); - - ctx.moveTo(cx + Math.round(1 * rPR) + 0.5 * Math.round(rPR), cy); - ctx.lineTo(cx + Math.round(1 * rPR) + 0.5 * Math.round(rPR), cy + Math.round(3 * rPR)); - ctx.moveTo(cx + Math.round(6 * rPR) + 0.5 * Math.round(rPR), cy); - ctx.lineTo(cx + Math.round(6 * rPR) + 0.5 * Math.round(rPR), cy + Math.round(3 * rPR)); - ctx.moveTo(cx + Math.round(1 * rPR) + 0.5 * Math.round(rPR), cy + Math.round(5 * rPR)); - ctx.lineTo(cx + Math.round(1 * rPR) + 0.5 * Math.round(rPR), cy + Math.round(8 * rPR)); - ctx.moveTo(cx + Math.round(6 * rPR) + 0.5 * Math.round(rPR), cy + Math.round(5 * rPR)); - ctx.lineTo(cx + Math.round(6 * rPR) + 0.5 * Math.round(rPR), cy + Math.round(8 * rPR)); - ctx.moveTo(cx + Math.round(1 * rPR) + 0.5 * Math.round(rPR), cy + Math.round(10 * rPR)); - ctx.lineTo(cx + Math.round(1 * rPR) + 0.5 * Math.round(rPR), cy + Math.round(13 * rPR)); - ctx.moveTo(cx + Math.round(6 * rPR) + 0.5 * Math.round(rPR), cy + Math.round(10 * rPR)); - ctx.lineTo(cx + Math.round(6 * rPR) + 0.5 * Math.round(rPR), cy + Math.round(13 * rPR)); - - ctx.moveTo(cx, cy + Math.round(1 * rPR) + 0.5 * Math.round(rPR)); - ctx.lineTo(cx + Math.round(3 * rPR), cy + Math.round(1 * rPR) + 0.5 * Math.round(rPR)); - ctx.moveTo(cx + Math.round(5 * rPR), cy + Math.round(1 * rPR) + 0.5 * Math.round(rPR)); - ctx.lineTo(cx + Math.round(8 * rPR), cy + Math.round(1 * rPR) + 0.5 * Math.round(rPR)); - ctx.moveTo(cx, cy + Math.round(6.5 * rPR)); - ctx.lineTo(cx + Math.round(3 * rPR), cy + Math.round(6 * rPR) + 0.5 * Math.round(rPR)); - ctx.moveTo(cx + Math.round(5 * rPR), cy + Math.round(6 * rPR) + 0.5 * Math.round(rPR)); - ctx.lineTo(cx + Math.round(8 * rPR), cy + Math.round(6 * rPR) + 0.5 * Math.round(rPR)); - ctx.moveTo(cx, cy + Math.round(11 * rPR) + 0.5 * Math.round(rPR)); - ctx.lineTo(cx + Math.round(3 * rPR), cy + Math.round(11 * rPR) + 0.5 * Math.round(rPR)); - ctx.moveTo(cx + Math.round(5 * rPR), cy + Math.round(11 * rPR) + 0.5 * Math.round(rPR)); - ctx.lineTo(cx + Math.round(8 * rPR), cy + Math.round(11 * rPR) + 0.5 * Math.round(rPR)); - - ctx.strokeStyle = _color1; - ctx.stroke(); - ctx.beginPath(); } // draw name From 43b59b8d1b0a4060427612aee28af6849d7dc2e0 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Wed, 21 Apr 2021 19:15:16 +0300 Subject: [PATCH 199/381] [se] Fix bug 49639 --- cell/model/UndoRedo.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cell/model/UndoRedo.js b/cell/model/UndoRedo.js index ec79feb825..5e915ac7ce 100644 --- a/cell/model/UndoRedo.js +++ b/cell/model/UndoRedo.js @@ -3775,7 +3775,7 @@ function (window, undefined) { } else { fields = pivotTable.asc_getPivotFields(); } - var index = AscCH.historyitem_PivotTable_PivotFieldVisible === Type ? Data.index.to : Data.index; + var index = AscCH.historyitem_PivotTable_PivotFieldVisible === Type ? Data.index.from : Data.index; if (!fields || !fields[index]) { return; } @@ -3810,7 +3810,7 @@ function (window, undefined) { field.asc_setShowAll(value, pivotTable, index); break; case AscCH.historyitem_PivotTable_PivotFieldVisible: - field.asc_setVisible(value, pivotTable, Data.index.from, index); + field.asc_setVisible(value, pivotTable, index, Data.index.to); break; case AscCH.historyitem_PivotTable_PivotFieldSetSubtotals: field.setSubtotals(value, pivotTable, index); From 334b5c692fbe8f304d709d314c5fdb7221f0f6a4 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Wed, 21 Apr 2021 20:13:37 +0300 Subject: [PATCH 200/381] Fix bugs with draw cc (#1833) --- word/Drawing/HtmlPage.js | 10 ++- word/Drawing/buttons.js | 133 +++++++++++++++++++++++++++++++++++---- 2 files changed, 129 insertions(+), 14 deletions(-) diff --git a/word/Drawing/HtmlPage.js b/word/Drawing/HtmlPage.js index a3f87a6901..7c46440a09 100644 --- a/word/Drawing/HtmlPage.js +++ b/word/Drawing/HtmlPage.js @@ -774,9 +774,15 @@ function CEditorPage(api) this.MouseHandObject = { check : function(_this, _pos) { var logicDoc = _this.m_oLogicDocument; - if (!logicDoc || !(logicDoc.IsInForm(_pos.X, _pos.Y, _pos.Page) || logicDoc.IsInContentControl(_pos.X, _pos.Y, _pos.Page))) + if (!logicDoc) return true; - return false; + var isForms = (logicDoc.IsInForm(_pos.X, _pos.Y, _pos.Page) || logicDoc.IsInContentControl(_pos.X, _pos.Y, _pos.Page)) ? true : false; + var isButtons = _this.m_oDrawingDocument.contentControls.checkPointerInButtons(_pos); + + if (isForms || isButtons) + return false; + + return true; } }; }; diff --git a/word/Drawing/buttons.js b/word/Drawing/buttons.js index cc4f2fffa5..f3e88b21bf 100644 --- a/word/Drawing/buttons.js +++ b/word/Drawing/buttons.js @@ -763,7 +763,10 @@ image.asc_complete = true; - imageCC.images[i] = image; + if (i > 1) + imageCC.images_active[i - 2] = image; + else + imageCC.images[i] = image; } }; } @@ -1629,7 +1632,7 @@ var widthHeader = (widthName + 20 * _object.Buttons.length * rPR) >> 0 ; var xText = _x; - if (!_object.IsNoButtons) + if (_object.IsUseMoveRect()) { widthHeader += Math.round(15 * rPR); xText += Math.round(15 * rPR); @@ -1788,6 +1791,15 @@ else { var _ft = _object.transform.CreateDublicate(); + + var coords = new AscCommon.CMatrix(); + coords.sx = _koefX; + coords.sy = _koefY; + coords.tx = _drawingPage.left; + coords.ty = _drawingPage.top; + global_MatrixTransformer.MultiplyAppend(_ft, coords); + ctx.transform(_ft.sx, _ft.shy, _ft.shx, _ft.sy, _ft.tx, _ft.ty); + var scaleX_15 = 15 / _koefX; var scaleX_20 = 20 / _koefX; var scaleY_20 = 20 / _koefY; @@ -1815,7 +1827,7 @@ xText += scaleX_15; } - if (widthHeader < 0.001) + if (widthHeader > 0.001) { _r = _x + widthHeader; _b = _y + scaleY_20; @@ -1844,15 +1856,6 @@ overlay.CheckPoint(x4, y4); // -------------------------------- - var coords = new AscCommon.CMatrix(); - coords.sx = _koefX; - coords.sy = _koefY; - coords.tx = _drawingPage.left; - coords.ty = _drawingPage.top; - - global_MatrixTransformer.MultiplyAppend(_ft, coords); - ctx.transform(_ft.sx, _ft.shy, _ft.shx, _ft.sy, _ft.tx, _ft.ty); - // рисуем подложку ctx.fillStyle = AscCommon.GlobalSkin.ContentControlsBack; ctx.rect(_x, _y, widthHeader, scaleY_20); @@ -2086,6 +2089,112 @@ return (this.ContentControlObjectState == 1) ? true : false; }; + this.checkPointerInButtons = function(pos) + { + for (var i = 0; i < this.ContentControlObjects.length; i++) + { + var _object = this.ContentControlObjects[i]; + if (_object.state !== AscCommon.ContentControlTrack.In) + continue; + + // check header + var _page = this.document.m_arrPages[_object.Pos.Page]; + if (!_page) + return false; + + var drawingPage = _page.drawingPage; + + var koefX = (drawingPage.right - drawingPage.left) / _page.width_mm; + var koefY = (drawingPage.bottom - drawingPage.top) / _page.height_mm; + + var xPos = pos.X - _object.OffsetX; + var yPos = pos.Y - _object.OffsetY; + + if (_object.transform) + { + var tmp = _object.invertTransform.TransformPointX(xPos, yPos); + yPos = _object.invertTransform.TransformPointY(xPos, yPos); + xPos = tmp; + } + + if (_object.Pos.Page == pos.Page && !_object.IsNoUseButtons()) + { + // move + var rectMove = _object.CalculateMoveRect(koefX, koefY, true); + if (rectMove && rectMove.W > 0.001 && xPos > rectMove.X && xPos < (rectMove.X + rectMove.W) && yPos > rectMove.Y && yPos < (rectMove.Y + rectMove.H)) + { + return true; + } + + // check buttons + if (_object.Buttons.length > 0) + { + var indexButton = -1; + var xCC, yCC; + + var x, y, w, h; + if (_object.formInfo) + { + w = 20 / koefX; + h = 20 / koefY; + + x = _object.formInfo.bounds.x + (_object.formInfo.bounds.w - w) / 2; + y = _object.formInfo.bounds.y + (_object.formInfo.bounds.h - h) / 2; + + if (xPos > x && xPos < (x + w) && yPos > y && yPos < (y + h)) + { + indexButton = 0; + xCC = x; + yCC = y + h; + } + } + else + { + var rectOrigin = rectName || rectMove; + if (!rectOrigin) + return false; + x = rectOrigin.X + rectOrigin.W; + y = rectOrigin.Y; + w = 20 / koefX; + h = 20 / koefY; + + for (var indexB = 0; indexB < _object.Buttons.length; indexB++) + { + if (xPos > x && xPos < (x + w) && yPos > y && yPos < (y + h)) + { + xCC = x + _object.OffsetX; + yCC = rectOrigin.Y + rectOrigin.H + _object.OffsetY; + + indexButton = indexB; + break; + } + x += w; + } + } + + if (-1 !== indexButton) + { + return true; + } + } + } + + var rectCombo = _object.CalculateComboRect(koefX, koefY); + + if (rectCombo && pos.Page == rectCombo.Page) + { + if (xPos > rectCombo.X && xPos < (rectCombo.X + rectCombo.W) && yPos > rectCombo.Y && yPos < (rectCombo.Y + rectCombo.H)) + { + return true; + } + } + + break; + } + + return false; + }; + this.onPointerDown = function(pos) { var oWordControl = this.document.m_oWordControl; From e66e94d151e78534f4ac803de84129b34c1acc0d Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 21 Apr 2021 22:49:27 +0300 Subject: [PATCH 201/381] Fix bug #49807 --- word/Editor/Document.js | 4 ++-- word/Editor/Run.js | 13 ++++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 2b772d7e84..fb82a7230a 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -24719,7 +24719,7 @@ CDocument.prototype.ChangeTextCase = function(nCaseType) } }; /** - * @return {boolean} + * @returns {boolean} */ CDocument.prototype.IsShowShapeAdjustments = function() { @@ -24727,7 +24727,7 @@ CDocument.prototype.IsShowShapeAdjustments = function() }; /** * Рисовать ли трек у таблицы и давать ли возможность таскать границы - * @return {boolean} + * @returns {boolean} */ CDocument.prototype.IsShowTableAdjustments = function() { diff --git a/word/Editor/Run.js b/word/Editor/Run.js index b53b1bc34b..219d750864 100644 --- a/word/Editor/Run.js +++ b/word/Editor/Run.js @@ -5722,12 +5722,15 @@ ParaRun.prototype.Draw_HighLights = function(PDSH) var bDrawColl = PDSH.DrawColl; var oCompiledPr = this.Get_CompiledPr(false); - var oShd = oCompiledPr.Shd; - var bDrawShd = ( oShd === undefined || c_oAscShdNil === oShd.Value || (oShd.Color && true === oShd.Color.Auto) ? false : true ); - var ShdColor = ( true === bDrawShd ? oShd.Get_Color( PDSH.Paragraph ) : null ); + var oShd = oCompiledPr.Shd; + var bDrawShd = ( oShd === undefined || oShd.IsNil() ? false : true ); + var ShdColor = ( true === bDrawShd ? oShd.GetSimpleColor(PDSH.Paragraph.GetTheme(), PDSH.Paragraph.GetColorMap()) : null ); - if(this.Type == para_Math_Run && this.IsPlaceholder()) - bDrawShd = false; + if (!ShdColor || true === ShdColor.Auto || (this.Type === para_Math_Run && this.IsPlaceholder())) + { + ShdColor = null; + bDrawShd = false; + } var X = PDSH.X; var Y0 = PDSH.Y0; From 4ee72d66eeb2dd268700396f2f09c62b860e8222 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 22 Apr 2021 00:27:03 +0300 Subject: [PATCH 202/381] Add isShowShapeAdjustments, isShowTableAdjustments, isShowEquationTrack to se and pe --- cell/api.js | 12 ++++++++++++ slide/api.js | 13 +++++++++++++ 2 files changed, 25 insertions(+) diff --git a/cell/api.js b/cell/api.js index 0e4b08f3c3..27678e3086 100644 --- a/cell/api.js +++ b/cell/api.js @@ -5169,6 +5169,18 @@ var editor; oHistory.Clear(); } }; + spreadsheet_api.prototype.isShowShapeAdjustments = function() + { + return this.canEdit(); + }; + spreadsheet_api.prototype.isShowTableAdjustments = function() + { + return this.canEdit(); + }; + spreadsheet_api.prototype.isShowEquationTrack = function() + { + return this.canEdit(); + }; /* * Export diff --git a/slide/api.js b/slide/api.js index d468168160..dd09e226ed 100644 --- a/slide/api.js +++ b/slide/api.js @@ -7630,6 +7630,19 @@ background-repeat: no-repeat;\ } }; + asc_docs_api.prototype.isShowShapeAdjustments = function() + { + return this.canEdit(); + }; + asc_docs_api.prototype.isShowTableAdjustments = function() + { + return this.canEdit(); + }; + asc_docs_api.prototype.isShowEquationTrack = function() + { + return this.canEdit(); + }; + //-------------------------------------------------------------export--------------------------------------------------- window['Asc'] = window['Asc'] || {}; window['AscCommonSlide'] = window['AscCommonSlide'] || {}; From 9b1d78e76389933b73b6528d13017670c918463b Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 22 Apr 2021 00:36:22 +0300 Subject: [PATCH 203/381] [bug] Fix bug 49745 --- common/Drawings/Format/ChartFormat.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 2ede8b96a5..1a6c36fb9e 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -4933,6 +4933,17 @@ for(var nSeries = 0; nSeries < aSeries.length; ++nSeries) { var oSeries = new AscFormat.CPieSeries(); aSeries[nSeries].fillObject(oSeries); + //remove this---------- + if(oSeries.spPr) { + var oSpPr = oSeries.spPr; + if(oSpPr.Fill) { + oSpPr.setFill(null); + } + if(oSpPr.ln) { + oSpPr.setLn(null); + } + } + //---------------------- oPieChart.addSer(oSeries); } if(nType === Asc.c_oAscChartTypeSettings.pie3d) { @@ -4976,6 +4987,17 @@ for(var nSeries = 0; nSeries < aSeries.length; ++nSeries) { var oSeries = new AscFormat.CPieSeries(); aSeries[nSeries].fillObject(oSeries); + //remove this------------ + if(oSeries.spPr) { + var oSpPr = oSeries.spPr; + if(oSpPr.Fill) { + oSpPr.setFill(null); + } + if(oSpPr.ln) { + oSpPr.setLn(null); + } + } + //----------------------- oDoughnutChart.addSer(oSeries); } this.parent.check3DOptions(false, false); From f20ffcce06f19fe880d85684ea290dc798fdc322 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 22 Apr 2021 12:11:08 +0300 Subject: [PATCH 204/381] Fix bug #32521 --- word/Editor/Document.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index fb82a7230a..c4aa604b14 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -8059,8 +8059,9 @@ CDocument.prototype.Selection_SetStart = function(X, Y, MouseEvent) var nInDrawing = this.DrawingObjects.IsInDrawingObject(X, Y, this.CurPage, this); var bFlowTable = (null === this.DrawingObjects.getTableByXY(X, Y, this.CurPage, this) ? false : true); - // Сначала посмотрим, попалили мы в текстовый селект (но при этом не в границу таблицы и не более чем одинарным кликом) - if (-1 !== this.Selection.DragDrop.Flag + // Сначала посмотрим, попалили мы в текстовый селект (но при этом не в границу таблицы и не более чем одинарным кликом) + if (this.CanDragAndDrop() + && -1 !== this.Selection.DragDrop.Flag && MouseEvent.ClickCount <= 1 && false === bTableBorder && (nInDrawing < 0 @@ -24735,12 +24736,20 @@ CDocument.prototype.IsShowTableAdjustments = function() }; /** * Рисовать ли трек у таблицы и давать ли возможность таскать границы - * @return {boolean} + * @returns {boolean} */ CDocument.prototype.IsShowEquationTrack = function() { return (!!this.CanEdit()); }; +/** + * Можем ли перетаскивать текст + * @returns {boolean} + */ +CDocument.prototype.CanDragAndDrop = function() +{ + return (!!this.CanEdit()); +}; function CDocumentSelectionState() { From 938fbd71eb805182f450d6f82f4269d7f082fb44 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 22 Apr 2021 13:00:46 +0300 Subject: [PATCH 205/381] Fix bug #49810 --- word/Editor/Paragraph.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index f6f1fa714a..699184501f 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -1841,13 +1841,12 @@ Paragraph.prototype.Draw = function(CurPage, pGraphics) var Pr = this.Get_CompiledPr(); // Выясним какая заливка у нашего текста - - var Theme = this.Get_Theme(); - var ColorMap = this.Get_ColorMap(); var BgColor = undefined; - if (Pr.ParaPr.Shd && !Pr.ParaPr.Shd.IsNil() && (!Pr.ParaPr.Shd.Color || true !== Pr.ParaPr.Shd.Color.Auto)) + if (Pr.ParaPr.Shd && !Pr.ParaPr.Shd.IsNil()) { BgColor = Pr.ParaPr.Shd.GetSimpleColor(this.GetTheme(), this.GetColorMap()); + if (true === BgColor.Auto) + BgColor = this.Parent.Get_TextBackGroundColor(); } else { @@ -1873,7 +1872,7 @@ Paragraph.prototype.Draw = function(CurPage, pGraphics) // 4 часть отрисовки : // Рисуем сами элементы параграфа - this.Internal_Draw_4(CurPage, pGraphics, Pr, BgColor, Theme, ColorMap); + this.Internal_Draw_4(CurPage, pGraphics, Pr, BgColor, this.GetTheme(), this.GetColorMap()); // 5 часть отрисовки : // Рисуем различные подчеркивания и зачеркивания. From 076f92e0327c9be1727220925c14eea5532e3db5 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 22 Apr 2021 13:03:26 +0300 Subject: [PATCH 206/381] For bug #49727 Now function GetTextFormAutoWidth returns twips instead of mm --- word/api.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/word/api.js b/word/api.js index 822955baf8..0496b4f115 100644 --- a/word/api.js +++ b/word/api.js @@ -9549,7 +9549,7 @@ background-repeat: no-repeat;\ if (!oRun) return null; - return oRun.GetTextFormAutoWidth(); + return AscCommon.MMToTwips(oRun.GetTextFormAutoWidth()); }; asc_docs_api.prototype.asc_GetFormsCountByKey = function(sKey) { From c6da9f52a1b5d0b788e9fa486294e1d9f6447733 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 22 Apr 2021 17:01:35 +0300 Subject: [PATCH 207/381] Fix bug with not cell scale (#1839) --- common/editorscommon.js | 54 +++++++++++++++++++++++---------- word/Drawing/DrawingDocument.js | 2 +- word/Drawing/HtmlPage.js | 14 +++++++++ 3 files changed, 53 insertions(+), 17 deletions(-) diff --git a/common/editorscommon.js b/common/editorscommon.js index 65461a0978..7b93ae32b4 100644 --- a/common/editorscommon.js +++ b/common/editorscommon.js @@ -6251,28 +6251,49 @@ return { start : val, end: AscCommon.AscBrowser.convertToRetinaValue(val, true) }; }; - function calculateCanvasSize(element) + function setCanvasSize(element, width, height, is_correction) { - var scale = AscCommon.AscBrowser.retinaPixelRatio; - var new_width = 0; - var new_height = 0; - if (Math.abs(scale - (scale >> 0)) < 0.001) + if (element.width === width && element.height === height) + return; + + if (true !== is_correction) { - new_width = (scale * parseInt(element.style.width)); - new_height = (scale * parseInt(element.style.height)); + element.width = width; + element.height = height; + return; + } - if (element.width !== new_width) - element.width = new_width; + var data = element.getContext("2d").getImageData(0, 0, element.width, element.height); + element.width = width; + element.height = height; + element.getContext("2d").putImageData(data, 0, 0); + }; - if (element.height !== new_height) - element.height = new_height; + function calculateCanvasSize(element, is_correction) + { + if (true !== is_correction && undefined !== element.correctionTimeout) + { + clearTimeout(element.correctionTimeout); + element.correctionTimeout = undefined; + } + var scale = AscCommon.AscBrowser.retinaPixelRatio; + if (Math.abs(scale - (scale >> 0)) < 0.001) + { + setCanvasSize(element, + scale * parseInt(element.style.width), + scale * parseInt(element.style.height), + is_correction); return; } var rect = element.getBoundingClientRect(); if (rect.width === 0 && rect.height === 0) { + element.correctionTimeout = setTimeout(function(){ + calculateCanvasSize(element, true); + }, 100); + var style_width = parseInt(element.style.width); var style_height = parseInt(element.style.height); @@ -6284,6 +6305,8 @@ }; } + var new_width = 0; + var new_height = 0; if (!AscCommon.AscBrowser.isMozilla) { new_width = Math.round(scale * rect.right) - Math.round(scale * rect.left); @@ -6300,11 +6323,10 @@ new_height = sizeH.end; } - if (element.width !== new_width) - element.width = new_width; - - if (element.height !== new_height) - element.height = new_height; + setCanvasSize(element, + new_width, + new_height, + is_correction); }; //------------------------------------------------------------export--------------------------------------------------- diff --git a/word/Drawing/DrawingDocument.js b/word/Drawing/DrawingDocument.js index 7f6b97b0a3..52b3dde652 100644 --- a/word/Drawing/DrawingDocument.js +++ b/word/Drawing/DrawingDocument.js @@ -4566,7 +4566,7 @@ function CDrawingDocument() var _h = _b - _y + 1; this.Overlay.CheckRect(rPR * _x, rPR * _y, rPR * _w, rPR * _h); - this.Overlay.m_oContext.rect(rPR * _x, rPR *_y, _w * rPR, _h * rPR); + this.Overlay.m_oContext.rect((rPR * _x) >> 0, (rPR *_y) >> 0, (_w * rPR) >> 0, (_h * rPR) >> 0); // this.Overlay. } else diff --git a/word/Drawing/HtmlPage.js b/word/Drawing/HtmlPage.js index 7c46440a09..7b75fa8f84 100644 --- a/word/Drawing/HtmlPage.js +++ b/word/Drawing/HtmlPage.js @@ -1858,6 +1858,13 @@ function CEditorPage(api) return; var oWordControl = oThis; + if (oWordControl.MouseHandObject && oWordControl.MouseHandObject.Active) + { + AscCommon.check_MouseUpEvent(e); + oWordControl.MouseHandObject.Active = false; + oWordControl.m_oDrawingDocument.SetCursorType("grab"); + return; + } global_mouseEvent.Type = AscCommon.g_mouse_event_type_up; @@ -1917,6 +1924,13 @@ function CEditorPage(api) global_mouseEvent.IsPressed = false; + if (oWordControl.MouseHandObject && oWordControl.MouseHandObject.Active) + { + oWordControl.MouseHandObject.Active = false; + oWordControl.m_oDrawingDocument.SetCursorType("grab"); + return; + } + if (-1 != oWordControl.m_oTimerScrollSelect) { clearInterval(oWordControl.m_oTimerScrollSelect); From dd78c49af898503340bd0d1097c7b9d1421e32cb Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 22 Apr 2021 13:25:05 +0300 Subject: [PATCH 208/381] [bug] For bug 49733 --- common/Charts/charts.js | 65 +++++++++++++-------- common/Shapes/EditorSettings.js | 100 ++++++++++++++------------------ common/apiBase.js | 2 +- 3 files changed, 84 insertions(+), 83 deletions(-) diff --git a/common/Charts/charts.js b/common/Charts/charts.js index 7dca032c76..04438d3df7 100644 --- a/common/Charts/charts.js +++ b/common/Charts/charts.js @@ -688,12 +688,17 @@ TextArtPreviewManager.prototype.getCanvas = function() { if (null === this.canvas) { - this.canvas = document.createElement('canvas'); - this.canvas.width = AscCommon.AscBrowser.convertToRetinaValue(this.canvasWidth, true); - this.canvas.height = AscCommon.AscBrowser.convertToRetinaValue(this.canvasHeight, true); + this.canvas = this.createCanvas(); } return this.canvas; }; +TextArtPreviewManager.prototype.createCanvas = function() +{ + var oCanvas = document.createElement('canvas'); + oCanvas.width = AscCommon.AscBrowser.convertToRetinaValue(this.canvasWidth, true); + oCanvas.height = AscCommon.AscBrowser.convertToRetinaValue(this.canvasHeight, true); + return oCanvas; +}; TextArtPreviewManager.prototype.getShapeByPrst = function(prst) { @@ -773,6 +778,10 @@ TextArtPreviewManager.prototype.getShapeByPrst = function(prst) { return AscFormat.CreatePrstTxWarpGeometry(prst) }, []); + oBodypr.lIns = 2.54; + oBodypr.tIns = 2.54; + oBodypr.rIns = 2.54; + oBodypr.bIns = 2.54; if(!oShape.bWordShape) { oShape.txBody.setBodyPr(oBodypr); @@ -890,7 +899,24 @@ TextArtPreviewManager.prototype.getTAShape = function() TextArtPreviewManager.prototype.getWordArtPreview = function(prst) { - var _canvas = this.getCanvas(); + return this.getWordArtPreviewCanvas(prst).toDataURL("image/png"); +}; +TextArtPreviewManager.prototype.getWordArtPreviews = function() +{ + var aRet = []; + for(var nIdx = 0; nIdx < AscCommon.g_aTextArtPresets.length; ++nIdx) + { + var sPreset = AscCommon.g_aTextArtPresets[nIdx]; + var oPreview = {}; + oPreview["Type"] = oPreview.Type = sPreset; + oPreview["Image"] = oPreview.Image = this.getWordArtPreview(sPreset); + aRet.push(oPreview); + } + return aRet; +}; +TextArtPreviewManager.prototype.getWordArtPreviewCanvas = function(prst) +{ + var _canvas = this.createCanvas(); var ctx = _canvas.getContext('2d'); var graphics = new AscCommon.CGraphics(); var oShape = this.getShapeByPrst(prst); @@ -898,6 +924,15 @@ TextArtPreviewManager.prototype.getWordArtPreview = function(prst) { return ""; } + oShape.recalcText(); + if(!oShape.bWordShape) + { + oShape.recalculate(); + } + else + { + oShape.recalculateText(); + } graphics.init(ctx, _canvas.width, _canvas.height, oShape.extX, oShape.extY); graphics.m_oFontManager = AscCommon.g_fontManager; graphics.transform(1,0,0,1,0,0); @@ -914,7 +949,7 @@ TextArtPreviewManager.prototype.getWordArtPreview = function(prst) { editor.ShowParaMarks = oldShowParaMarks; } - return _canvas.toDataURL("image/png"); + return _canvas; }; TextArtPreviewManager.prototype.generateTextArtStyles = function() @@ -973,26 +1008,6 @@ TextArtPreviewManager.prototype.generateTextArtStyles = function() }; - -function GenerateWordArtPrewiewCode() -{ - var oWordArtPreview = new TextArtPreviewManager(); - var i, j; - var oRetString = "g_PresetTxWarpTypes = \n ["; - for(i = 0; i < AscCommon.g_PresetTxWarpTypes.length; ++i) - { - var aByTypes = AscCommon.g_PresetTxWarpTypes[i]; - oRetString += "\n\t["; - for(j = 0; j < aByTypes.length; ++j) - { - oRetString += "\n\t\t{Type: \"" + aByTypes[j]['Type'] + "\", Image: \"" + oWordArtPreview.getWordArtPreview(aByTypes[j]['Image']) + "\"}" + ((j === aByTypes.length - 1) ? "" : ","); - } - oRetString += "\n\t]" + (i < (AscCommon.g_PresetTxWarpTypes.length - 1) ? "," : ""); - } - oRetString += "\n];"; - return oRetString; -} - //----------------------------------------------------------export---------------------------------------------------- window['AscCommon'] = window['AscCommon'] || {}; window['AscCommon'].ChartPreviewManager = ChartPreviewManager; diff --git a/common/Shapes/EditorSettings.js b/common/Shapes/EditorSettings.js index d51133df23..54e01efc0a 100644 --- a/common/Shapes/EditorSettings.js +++ b/common/Shapes/EditorSettings.js @@ -588,64 +588,51 @@ var g_oUserTexturePresets = [ var g_sWordPlaceholderImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAIAAAAiOjnJAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAOxAAADsQBlSsOGwAAA5dJREFUeF7t0rEVgkAAREG4BgjpvzvJsAA9DSiBHzFbwAb/zTrnPN7fxRS4r8C+jfV1fu479KTAVWAooUBRAKyiqs8FLAiSAmAlWZ2CxUBSAKwkq1OwGEgKgJVkdQoWA0kBsJKsTsFiICkAVpLVKVgMJAXASrI6BYuBpABYSVanYDGQFAAryeoULAaSAmAlWZ2CxUBSAKwkq1OwGEgKgJVkdQoWA0kBsJKsTsFiICkAVpLVKVgMJAXASrI6BYuBpABYSVanYDGQFAAryeoULAaSAmAlWZ2CxUBSAKwkq1OwGEgKgJVkdQoWA0kBsJKsTsFiICkAVpLVKVgMJAXASrI6BYuBpABYSVanYDGQFAAryeoULAaSAmAlWZ2CxUBSAKwkq1OwGEgKgJVkdQoWA0kBsJKsTsFiICkAVpLVKVgMJAXASrI6BYuBpABYSVanYDGQFAAryeoULAaSAmAlWZ2CxUBSAKwkq1OwGEgKgJVkdQoWA0kBsJKsTsFiICkAVpLVKVgMJAXASrI6BYuBpABYSVanYDGQFAAryeoULAaSAmAlWZ2CxUBSAKwkq1OwGEgKgJVkdQoWA0kBsJKsTsFiICkAVpLVKVgMJAXASrI6BYuBpABYSVanYDGQFAAryeoULAaSAmAlWZ2CxUBSAKwkq1OwGEgKgJVkdQoWA0kBsJKsTsFiICkAVpLVKVgMJAXASrI6BYuBpABYSVanYDGQFAAryeoULAaSAmAlWZ2CxUBSAKwkq1OwGEgKgJVkdQoWA0kBsJKsTsFiICkAVpLVKVgMJAXASrI6BYuBpABYSVanYDGQFAAryeoULAaSAmAlWZ2CxUBSAKwkq1OwGEgKgJVkdQoWA0kBsJKsTsFiICkAVpLVKVgMJAXASrI6BYuBpABYSVanYDGQFAAryeoULAaSAmAlWZ2CxUBSAKwkq1OwGEgKgJVkdQoWA0kBsJKsTsFiICkAVpLVKVgMJAXASrI6BYuBpABYSVanYDGQFAAryeoULAaSAmAlWZ2CxUBSAKwkq1OwGEgKgJVkdQoWA0kBsJKsTsFiICkAVpLVKVgMJAXASrI6BYuBpABYSVanYDGQFAAryeoULAaSAmAlWZ2CxUBSAKwkq1OwGEgKgJVkdQoWA0kBsJKsTsFiICkAVpLVKVgMJAXASrI6BYuBpABYSVanYDGQFAAryeoULAaSAmAlWZ2CxUBSYOwbW0nZJ5/+Uf0Ahm8Ksdfm760AAAAASUVORK5CYII="; -var g_oPresetTxWarpGroups = -[ - "No Transform", - "Follow Path", - "Warp" -]; -var g_PresetTxWarpTypes = - [ - [ - {'Type': "textNoShape", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAADCUlEQVRoge3WPUjjbADA8SCoNdWoUCtauoi2YFWQYuvgooO46SIoqODoIC7qIIJuVkV0qIgdBId2UWslRRCtiIg6CA4dMnUrQpEKIfixmP87vbmTE3zf68HljvwhQ/J8kF/gKRX4SxJ+9wv8qiyI2bIgZsuCmC0LYrYsiNmyIGbLgpitn4YoioIg/Jrv4PV6kWW5oD0syB8HOT09pbe3l6qqKjweD6urq8A3yPLyMk6nk/r6enZ2dox1l5eXdHR0YLPZaGpqIhaLGWOJRAKPx4MoikxOTtLY2GhArq6u8Pv9VFRU0NPTQyaTKRySzWaRJImjoyOen585OTmhpKSE+/t7AzI6OsrT0xNnZ2eIosjt7S2Pj49IksT6+jqapnF+fo7T6SSXy5HJZCgtLSUWi6GqKouLiwiCgCzL5HI5KisriUajqKpKKBSira0NXdcLg3yW1+slkUigKApFRUWoqmqMjY+PMzU1xe7uLs3NzZ+uX1tbo6ury7h/f3+nrq4OWZbZ3t6mu7v7w3yXy8Xd3V3hkM3NTQKBAA6HA1EUEQSBw8NDFEWhpqbmw9yFhQUGBwdZWVmhr6/v0/1mZmYYGhr68KyzsxNZlpmfn0cQhB+u/f39wiAHBwc4HA4uLi54fX0FwO12E4/HURSF4uJiXl5ejPljY2NMT08TjUZpaWn5dM+NjQ2CwaBxr+s6brcbWZYJh8P09/d/+dL/GxIKhfD7/ei6jq7rhMNhBEEgFosZZ2RiYoJ8Ps/x8TF2u510Ok0+n6e6upqtrS00TeP6+hqXy0U6nSabzWK324lEIqiqytLSknFG/j2Te3t7aJpGMplEkiSy2WxhkIeHB1pbW5EkCVEUGRkZYWBggLm5ORRFoba2ltnZWcrLy/F4PMTjcWPtzc0NwWAQURRpaGggEokYY6lUCp/Ph81mY3h4mEAgYPxqpVIp2tvbKSsrw+fzkUwmv0R8Cfm+t7e3/zr1t2T91zJbFsRsWRCzZUHMlgUxWxbEbFkQs2VBzJYFMVsWxGxZELP110D+AaZ5qZil4yhUAAAAAElFTkSuQmCC"} - ], - [ - {'Type': "textPlain", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAHVklEQVRoge2ZMWhT3xfHz/CGNzzhDRmipvUNKWYIGCFDhiBBImToEG2GN0QI2CFDhg4BM2RQBItTwSAdCmaoUqFDBUGLBTNkqKCQIWqGCKlUiJChYsQgD/3+hnJu3333paZ/f/L//f+/XrjQvHfeufdz77nnnnNK+D9p9N+ewN/V/r0gjUYDRIRGo/G3T6bVav3Huv9RIL+j+xjkGOQP6T4GOQb5Q7qPQY5B/pBuX5DhcIhyuQzbtrG9vT12sG63i1wuh62trbEDNJtNFAoFNJvNsZO3bRudTmcsiOM4qFQqyOfz6Pf7k4E4joNoNAoiAhHBMAzpY/dgyWTSV4bbixcvcPbsWRARpqenFZjBYADTNEFEiMfjY0GKxaKYTyqVmgxkdXVVfMS9UqkoIEtLS5LMwsKCojybzUoyhUJBel8ul6X3N27cUEB6vR40TZPk/HZXAUmn0wqIaZoKSCqVGisDAO/fv8f09LQkc+bMGXz+/FnIhMNh6X0ikVBA7ty5o8ynVCodDrK3tyfok8mkNFCn05FAdF0HEUkyrVZL6FpbWxPP4/G4ItNut6X3mqaJsd0gbL6maQo9gUDgcJDt7W0QEWZnZwHsnxeeKB9oBnGbE5vQ8vKy0MVmw2a5sLAgybAJZ7NZAEC1WhV6GcRxHOi6Dk3T0Ov14DgOYrEYiAjdbnc8SL1eBxFhY2NDPFteXgYRoV6vKyC8uhsbG8qWz87OgojQ6/UA7Nu6G54nzmN1u10FhBOtXC4n9K6srICIsLq6Oh6ED9ve3p54xsoWFxclkHA4LGRGoxEMw0A6nRbPLMtCIpGQBgsGg7BtGwBg2zZM08RoNBLv2VsyCC/s2tqakOEFqVar40FKpZJif6PRSHgUN8jc3Jwkl8lkcO7cuQPFPp4snU4L95lMJpFMJqX37GYZ5Pbt24qXchwHU1NTuHr16niQQqGAWCwGb/MD8U5yfn4euq4DAPr9PogIKysrkkyhUIBlWQD2d2x+fl56X6vVJJBisQhN06RdA4B4PK7stuK11tfXJwKp1WqSDJslcOCR3GcNABYXF8VhN01T6OTGDoBBbNsW4O7m93yiWMsP5MmTJ5IMO4XBYDBRzOT1cm7d/N2lS5d8LeTatWs4ffr00UA6nY4vyObmpiR3//59EBF2dnawvr4OIsLr1699de7u7kqekFuz2ZRAotGob0jCrnxikI2NDQSDQV8Q72rzBdjr9YS3Ydfrbex5vCD8nHVbloVIJIJ6vS51vrd+CdJqtUS44I6D3CDjouJ2uy1258OHD78FEgqFlPDE3b99+zYepN1uK0GaH0i73Za+29zcFK6Sz8u4kPvt27cgIjx69Eh6/vHjRwmErWFc//Lly3gQ706MMy2v2bhN7lemxbe493Y+6o64m/SLb3Hu0WhUKD8KyN27d0FE+PTpky/IpKYVCAQOBfn69as/iDvHyGQyGA6H+0ITgLCnajQawrR2d3d/C+TkyZPI5/O+OrxNudmJ9hMgx3EOhHxA3rx5Iyl68OCBcLm/Mq2dnR0QEe7duyc9f/funQQyNTWFK1euHB0kk8nAMAy8evVKEtJ1XQHxZmnuyfPf3lCbQw1eeQ5EuXn/rWBZ1tjU9lCQWCyGeDyuCk1wj3B43ev1RFjvlanVakilUkogys2rO5FI4MKFC0cHsSxLJFXcBoPBRCCVSgVEhNFohOfPn4OI8PjxY0nm5s2bOHHiBL5//w5d15WUdWtrS9KdSqV8F7ZerysxoQSi67pSIGBX6QXxuk7btkX0y5mm9zCXSiWEQiEAwMzMDC5fviy954uUQQqFAgzDUECy2aySbgiQnz9/wjRNBeThw4cgIpTLZQnEaxbxeByRSATAwS56k59cLidk3PLcvFWU69evg0iuBfC3h4bxlmUpyQ7n3t4d4VybWyAQQCaTEb8Nw1Bk3EFgNpuFruuSd+QYikE4P3FH2sPhEJqmKUdAAjl//ry0Sj9+/MDFixdBdJBIMUggEBCT8Eu2YrEYDMMQnooPON8LvPrs/ThddoOw0ygWi0Lvs2fPQKSWhCQQrlVxjMS27lbmLj7wgeP7x31uvM/4sl1aWpImyRPi324QzjQNwxCXcz6fB5Gayyg5OxHBtm00m01RegkGg+LsMIhhGAiFQiI3IDqofbknbpomqtWqKI3yHcWT1DRN1Aq8IMBBvBWLxcT8vGMpIHwXuHs8HkcqlRL2zyBcOOPuTT2bzaYSRZ86dQqDwUDI8EJx599uEPdCuWNAbx4vgXA26O61Wg25XE6knAzC9wZ3v9qvd6LeuMldlGMz84K4TZm7t2ihgABy4TkSicBxHBQKBQSDQUlxq9USZVNN05RwBDjI44n2S6xPnz6V3vf7fUkHn0k3iOM4mJubE3pmZmbw8uXLX4N0Oh3EYjFYliXskP93AexXWhqNBkajEVZXV2EYBm7duqUo5knw4XRX9N2tXq/DNE3UajWMRiM0Gg2pQMjjh8NhhMNhpTIzFuR/tR2D/NPaX3VXb+SoHLzSAAAAAElFTkSuQmCC"}, - {'Type': "textStop", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGlklEQVRoge2aMYgaTRTHX7GBDdliCVsYELKBDWxhYSFBiAQLC4srUqSwkMTiCguLLSwsDBEsLnABiy0MSDDcESyEWFhYXCHB4goJFldYXGHAIoWFhYEttvh/xTHz7eyodya5+0K+e7CF63925zdv5r03o4S/xOi/7sDvsluQP81uQf402xlkOp2i2+1eR18AAN1uF9PpdOd2O4NYloVarbbzi65qtVoNlmXt3G5nENM0rx3ENM2d292CXJfdguza4BbkivbHgvT7feRyOXQ6Hfi+f6n+xkGWyyVs24Zt21gul2u1Hz9+hK7rICIQEd6+fStpPM9DMpmEbdtYLBY3D+I4Du/gOg95ngfDMLiGiKBpGr5//y7oDg4O+PelUulmQcrlsjDS0WhU0r1//16AYNfh4aGgi8fj/DvDMFCtVn8fiO/7KJfLME0TuVxOAkkmk1IHR6ORoAtqkskkVFUFESGbzXLN+fm59Jx0Oi2BTKdTZLNZOI6zcZ1JIKvVColEQnh4u90WQBRFga7rGAwGyGQy0kj7vs87Xq/XAQC9Xg9EBFVV4XkeAKDVaoGIkEgkMBgMEIlEoCiKAOJ5HqLRKO9LKpVaCyOBvH79WhqlV69eCSBEhGq1KnQw6LnJZAIigq7rWK1W/H4sFgMRYTKZAABKpRKICL1eDwDQaDRARAIIgw1ezWZzO8hisYCqqjBNE8PhEKPRCJqmIR6PSyCsM57nSZrj42MQEYrFovAyFiBYx1OpFDRN4x6az+cSSC6XAxHBdV2MRiPYto1IJMLbrAXpdrsgIsxmM36vWCxCVVUBRNd14SGpVEq4V6vVQETSvqXT6fBOAUAkEkEikRA00WhUALEsS9AMh0MQEU5OTjaDlMtlxGIxQcBcGwRJJpOCplAogIiwWCyEz+fn54JuNBqBiFAuly9eHpqSAITF7nkeiAiVSkXQ2LaNUqm0GaTVakk5od1uSyCFQkHQMA8wT2azWRCRtChnsxnS6TROT0/5NAp3qFAocJDZbAYiwmAwEDSO40gDfmkeWQcShnVdVwjBsVgMkUhk63NZQAg/K5gQx+MxiAhfvnyRNI8ePboayHw+R7PZ5KFvGwiDHQ6HAICHDx/i8ePHW0HYXN8GwjS9Xg+DwQDtdhv1eh3pdBqKomwHGQwGQrZlVxCk0WisBen3+1wTdv0mkIODA+lZYZBN10aQyWQCRVEEMfscBAnH8aOjIxARjo6OAAD379/HkydPtoJ8/vxZiGDMPnz4wCMgC+Phy7ZtaZ0KICxmRyIR5PN5DAaDtVErmOnZKAYrgHv37uHp06dbQcJtgveZR5gmkUjAcRx0u10eGcMmgMRiMdi2LSSbdYv9MhBWM/0qyKdPn4Swvs0EEFVVpXC4DiQ8tcKdunPnDlKp1C+DME0wQQMXpX84kQog8XgcjuNIja4atVin7t69KyXNnwE5OTkBEeH09FTQZLNZqfwRQPb395HJZARBpVLZGYTN623GItK6CBjOI51Oh3/PajtWr60FcV0XmqYJpUUqlZJAwl5jIMfHxwAAXdc3bo5YNbwpj7iuy9uy7B8cfdd1oSiKUFVLILPZDIqiIBaLYbFY8CLyshKl2WwKCdE0zY0gmqahXq/zuisM4jiO0FbTNBiGgel0ivF4DFVVpVkjgQD/7hG2JcRwRGK1Fivtnz17Bl3X8ePHD0H37ds3EBFevnzJ66iwd7PZrADCZkTwGo/Hl4OsViuh8d7enhA5TNOEYRhCm/39fRARP1hgReN8Phd0Z2dnvJpllW0+nxc0YW8eHh4KEOFKeCMIg2k0Gmi1Wnzkzs7O+IvCITGRSAh7FubV8J6h3+8LC/zBgwdC4vz69StUVRX2NqvVCpZlCeX/lUGCtlgspDoqWFp4ngdVVWHbNm/DRjEcker1uhCF4vG4sHBZFRFeX57nSd7dGYS9gL3cNE1YlgXLsuD7Pg8Iz58/53q2jw9ufwHwacrWUrFY5GHb933E43EYhnFz51r5fB5EFyca7BAuOPrL5ZLPabZHYQVpcNowDxiGwdfl3t7ezYBUq1U0m01omiYswnD2ZVsBXddRqVT4lAx6bjqdCs9QVRWu60pl0rWAABfnVixSEdHa3/xYSA5f7969E3TBvc+LFy+k05FrBQHEvUt4UQMXp4jhvc22s19FUfja+Rn7pd/Ze70eisXixmPM4EE3EeHNmzeSxvd9VCoVoZ76GbvWPwysViueHDOZjFQf/U77//7z4U+1vwbkH7Yb7XF6Z9O8AAAAAElFTkSuQmCC"}, - {'Type': "textTriangle", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGRklEQVRoge2ZMWjbXBDHb1CLKIJq8KDBgwYPHjx48ODBgwZRPGjwIIqhHlzqwUOGDBrczZAhBQ+mBDo0FNOm1AUPGlLwkIKHDBkyGKrBFFNMcai7afBgiob/N4T3qifJadwmbfjIgaCR753u9967e3evhP+J0L924KrkFuSmyS3ITZNbkJsmtyA3TW5BbprcggRBcJV+/LHN3wLpdrsYjUaX0vV9H0dHR5fSHY1G6Ha7v+PS5iCnp6cgokuD2LYNSZJwfHz8S93RaAQiwunp6aZubQ7CPnYZkPF4DCICESGTyVyp7ahcK0itVuMgRITDw8Mrsx2VawVJpVICiGVZV2Y7KtcGcnJyAiJCuVzGYrGArutQFOVKbCfJH4O4rgvLsjCZTAS9brcr6O3s7ICI4Hke1xmPx7AsC71e79+CTCYTKIqSGMzNZhOqqvK/J5MJiAgHBwf8XT6f59tuOBz+OxDDMIQYCDtQKpVQLpeFsaqqotVqCXbYUygU/g3IwcGB4AgRod1uc71UKoVmsymMLZVKqNVqAIBOpxMbv7+///dBKpUKJEnC0dERHMfhgQ2cn+Z3797Fs2fPhLGPHj2CaZoAfqbmVquF4XAISZJgmubfB5Flma+A7/tQFIXHyefPn0FEePfunTB2e3sbuVwOAFAsFqGqKnzfBwDs7u5CkqTrA5nP50IxF97b0+mUvy+XyyA6N8dSb9Sh2WyGk5MTAICu66hUKsJ3kmLtj0GCIEC9XgcRwTRNDsNA2MwyYdsrCAIcHh6CiC6sryRJguM4wrtCoRADmU6nqFQqaDQaWCwWm4GcnZ3hyZMnQiAypxiIbdvCGHZuzGYzvH//HkSET58+JX7U930QEfb29oT3zWYzBhJO0YVCAcvl8vIg1Wo1MaOEQcIZCgB6vR4Hef36dWzrhWU2m4GI+EEYnQwGwrZo+IlO4FoQ5qhhGJjP59w4c5z9PhgMhHGu6/KT++XLlyAinJ2dbQTCtiQDYSm6UqnA8zzYtg0iwng8/jWIYRjI5XJ8CZfLZSJINCDD79nqzOfzjUCithuNhuB4EATI5/NCkkgEmU6nIKJYR7cpyPPnz0FE+PbtWyII+04UhJUxzLZhGNA0TdDp9XqQJImn7USQwWAARVFivXMSSLRIDIO8ePECRISvX78mgqxbEfaegei6jkKhIOisVivIsox+v78exHEclEolQWF7ezsRZDabCXosRsJbK6rzOyDZbDaWdg3DQL1eXw8ym82wWq0AnMcGO0cuA8Kc9zyP/zvae7PDdRMQIoIkSbBtm9ur1+vIZrPrQZhMp1PkcjkQETRNSwSJOhlehfDqhKXT6SCfz/NzJJrCoyDpdDqWfovFIkzThK7rF4N4nsd7jFwux43/KthZml4ul/j48SOICG/fvhV0nj59ivv37+PHjx+JIJ7nxVakVCqh0Whwn8LPWpDVaoVMJsMrWZaCk0CGw6FgaGtrC5IkAfh5exK9o6rX63wmdV1HtVoVfo9OkmEYvM9frVZwXRfVapVDrQXp9/sgImxtbQmZKwkkur9N0+T79vv377h37x4eP34s6Dx48ADFYhHAeV0VzUisx2EgpmnCMAxEZbVaCZ1mDMSyLGiaxgMeABaLRSII6/SYaJom3JKk02mkUilhQhRF4f2IbdtCKwz8zJAMJCmo14kAks1mY7UMKxuiIOE0zWqiMNzDhw9BRHjz5g0A4NWrV4IOKz/CsRatflncRdPv/v5+7I5MAGFpLiyWZSWChDMX6/bCxtmtSSqVwu7uLk+lLLaOj49BRLz1Dd9KRotGVrAyyWQyF2etqMJ4POZdG+u/wx2iruu8kJNlWSixP3z4EMsyqqriy5cvAM73OQvaSqXC03wYJAgCyLKMdDrNt/tgMAARXXwgMqdqtRparRZkWYamaUKhxkBYf82epEKOZcB1OtEr1WKxGNturKXIZDKo1WocPpr+BZDhcBibxX6/D9u2eUcYzlphvaT2lO1xIsKdO3fguq7we7TfYDbDthaLBVRVFfSi10wxEADY29uDpmnIZrM8xbqui52dHQDnp2+73Ybv+3AcB7Isx1pWJkEQ8FnsdDqJOu12G4qiwHEc+L6PdrsdK3+GwyGKxSIURUG1Wk3sEm//6+2myf8G5D/6xG5E+ZdB9wAAAABJRU5ErkJggg=="}, - {'Type': "textTriangleInverted", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGJUlEQVRoge2aLWzbWhTHD7jAwJMMAgIMAqwpICAgoGAgwGCaAgICBgICqikgoCCTAgoqGQQMBGRaQEA1MFVaQEFBwTRZWkDAJhkEWFNAtAUERFonGUSTwf+B6tyXaztputZv7+3tSAaxfY/P757r83Edwm8i9KsNuC/5/4K4rgsiguu6927MXXT/AfkDkpLuPyD/CZDxeAzXdTGfz+/1YTfJLt1XV1cYjUaYTqeJY2MgR0dHICIQETRNw/Hx8d4Pu6ts0z2ZTGCaJogIQgiMRqPYWAXkw4cPEmLzePXq1S8DCcMQlmUp9miahtVqtR2k1+uBiOA4DjzPw+HhIYgIpmkmPqzdbiOfz+Py8vKnjX/37h2KxSI6nU4iCNtUq9Xgui6q1SqICC9evNgO0m63YRgGwjCU52q1GogIvu8rICcnJ3KGdF3Hcrm8NcRqtYJhGFIPG70JYlkWLMuSNgVBAF3XUSqVtoMAwMXFhfKbDT8/P1d+Z7NZxd3RGWIZDocolUpoNpvKBAHXE7epg3UyyNXVFYgI/X5fGVetVpHL5XaDRGW9XoOI0O12FRB+8MHBAYgIhUIhEWIXLK/9UqmkTAyDXFxcKKuBpdVqQQhxOxAAcilFQVzXRRiGKJfLICIlNH779k1C8vHw4UN8//4dADCdTkFEKJfLCMMQnufFQBzHQSaTUWxxXReFQgFEqunKryAI0G630Ww20e/34Xke5vN5IsjmGj07O4stgcvLy8QIOJlMAACnp6cgIpydnckxtm0rII1GQ3ra931UKhWpp1gsbgfZzCHRIwrSarXkuPV6DV3XcXh4KM/x+hdCoNVqoVgsKsur0+lA13Ws1+vYGAaxbRvFYhHNZhNCCKnPcRxlXAyEXbYPyHA4VBQVi0U8evRI/ubZGwwGAK7DLBFJ2Gq1GptV9iyD8JLlo1Qq4ePHj0gSBUQIAcuysFwuMR6P0e120Wg0EkGiCbFWqyn5JpPJwDAMZeYMw8Djx4+lkbVaTdER1Z3L5WQCdBxHRj3f9xXvx0BM00Sj0YjT7gFyfHwsX8AwDEFEqNfryj22bSOfz0sjO52Ocp1f+E0Qy7Ji9VWlUtkNYts2KpXKXiBR5fzyhmEoA0Q0/jcaDQmXy+VwenqqXOdxmyBRr4VhCF3XlSARA0kKd9tAopUxg8znc3lPtLgbj8dyeWiathdIuVxW7mHd0UpCAZlOp7HqcrFY3Bok+tImCRHtBRJNtPV6PRYkYiDAdQjOZDKyuhwMBokgnucp4zgq+b6PN2/egIjw6dOnRAguPW4C4ag1m80A/J3pe73ezSBBEMA0TZimKWP9Pi/75vlN7yQJGxwF8X1f0d1sNkFEsG0bg8EA2WxWKSB3ggDA+fn5jXlkFwh78evXr4kgs9ksESSqu9/vKzYIIba2DFtrrdFoBNM0Yds2CoWCDJX8sF1GcLF4W4/wBDLIYrGQGZ3ouk/aJnsVjZVKReYXNjhayfJyusvS6na7MW/3+30UCoXE9+LWIM+ePcOTJ08UkGjiZOM9z8Pr169BRPjy5ctOkOgMcxXxM230XiC+78s6arOx2hTuGOfzOd6+fQsiwufPnxP1rVYrEBHa7bZynmu91EAAxFpdIYRSwPFsBkEg7+GwyRIEgcxRQgg8ffpUXmMvpQ7CwkaWy2U0m0153rIsaJoGAHj//r3Se7C8fPkSDx48wI8fP5DL5RSvdrvdf8YjLKvVCpZlwXEc6RV+PzjjbgvRJycnskLm7nE4HMLzPOi6jk6ng2w2i8VikT4IACyXS5m8Ng8uCPlatLA7OjqS1S8nu2j3GO3PUwVh2Ww9o+FUCCE3LFjq9bosAkejkTL24ODgLqbcDWQ2m0HTNNn8bO7+5fN55R0CgFKpJL0WBIHc0xJCbN3T3Vfu/A1xMBhACBHrPSqViuwGWXRdVxJbr9eDpmk3Jrt9JLWPobxrycLd33g8Vu6LbiL8rKQGwvUWG847NEEQpPK81EA4cjUaDSyXSxiGEduvvU9J9Ts774Lwduiu6vWukirI8+fPlRD7Mxl7X0kVZDKZKJtraUrqf+GoVqsQQsTqrvuW1EGCIJDfVtKU/++fav6t8tuA/AWoTnSAo15MFQAAAABJRU5ErkJggg=="}, - {'Type': "textChevron", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGUklEQVRoge2ZMWgiTRiGv2K522ILiy2Es9jCwsLCwkKOLSyusNjCwsLCwiLFFRYW4ZIihWCRgxQeyBE4Cw9SyJHCIkUKD4QzIJyFcB4nnBwWFhYWwm2xB1u8fxG+YWd3TWL+5BL+Py8I2cnM7DzOzPe9MxL+I6KHHsBd6QnksekJ5LHpCeSx6VYg4/EY8/n8jocCzOdzjMfjW7XdGmQ4HIKI0O/3b/XCq9Tv90FEGAwGW7fdGoRfdp8gt+n73kFc18VsNruXvr26VxDXdWGaJhRFQbPZvNO+/bpXkEajASICEUFRlGtn5tGCxONxAUJEKBQKd9a3X/8aZDQaodVqwXVdqd5gMAARoVQqYblcIh6PQ1VVOI4j6riui06nI6LUg4GMx2NomiYG7NXBwQGICJPJBABwenoaGGShUBCzdXp6+nAgyWRSWjo8aACwLAvpdFo8O44DVVVxeHgIAJhOp1LbWCz2MCDejcyfer0u6um6jkqlIrXNZDJi5sLa8yz+VZBUKoVoNIrFYoFarQYiQi6XAwCsVis8e/YM7969k9qWy2W8evUKAFAsFkFEqNVqWCwWiEajIjjcKchyuUQul0M8HpcsA4MQEVqtFoDLTavrOqLRKABgNpuBiNDr9aQ+j4+PUSwWAQCmaULXdREkOp2O6NcPcnR0hEKhgOl0uh3IdDpFNBoVHUejURFtGERVVdi2LdpYlgWiy+56vd61nskwDFiWJZ4dxxGBwwvSbrelcWyCCYA4jiNB8IddKYNks1mp3f7+PogIy+USnz59AhHh27dvG0F0XcfBwYFUls/nAyD+XBSPx28GcnJyAiKCpmkoFAriW+p0OhKIfyPzNzefz/Hx40cQEX79+rURhIjQbrelst3dXQlkPB4LANM0xVjOz8+vB8lkMlAUBWdnZxJYrVaTQPzeiUEmk4n4e7FYhEKsVqtQEG7HIM1mU8pRg8EAqqqGOgQJZD6fizDIWq/XoSD+jexNeK1WS8xOmPg9fhB/HqlUKoG9Vi6XoSiK5BACILy2v3z5Isr+/PkDVVUDIP7I4i1///49iAg/fvzYCsR/aLMsC5qmSfaH3zMajTaD1Ot1aJoWeHHYjAyHw1CQ2WyGDx8+gIjw9evXrUC4nEFevnyJZDIp1fn9+zdevHiBRqOxGaRSqSCVSkkVbNsOBfEvG84D8/k8sNZZvV5PWPmbgBiGEYiOAJBOpwPeTgLpdrvodrvi2XVd5HK5G4F4NzjnEU6YrFqtJpJm2GErDCQWiwWiVLlcDszUxsxu27ZIcmEg/kMSb3Dg0tqHhehSqYRIJCIGyX1uAonFYlL45QDz+vVrGIZxPYht2zBNU5zswkD8y2Z/f1/sL8dxoCgKDMOQoks8HhffZCKRCICGzYg/MZumCcuyrgfhczZDcFi9DiSfz8M0TfHMFn9nZwfL5VL0w8Yym80G1r+/b8MwYBgGIpFIAIhnfyPI4eGhqMiRIQyEMz0rkUigWq2K5729vdCXv337FsBlYNF1Xerj7OxMAslmsygWi1iv16jVagGgjSBe4+ZNimEgR0dH4v+8JE5OTkTZ58+fA55N0zQRkjnKeW8W6/V6AMQ7a36gjSAcbdhqXwWSz+fF/9kw+p1po9EQe8y/+Rl+d3dXlHFwYZBSqRQaftfrtXSIC4C8efMGz58/x8XFhSj7+fMniAh7e3sSiKIoGI/H4ty+yZXato3hcIhOpxO4oEilUtA0DZPJBJPJREAzSLVaRSwWC+3XLwkkm80GEiLPkn9GiC7PJGFL8aby7kfvh0HYIXz//n07kGQyGXCWbNz8IN5zgqZpWC6XW4Os12voui764bzht/HsxFnNZjOQkCUQXddRLpelCtw5l3ttPC8xvxPeRt1uVywp/2Z3XReqqgbsSCqVujqPcMJhsRuNRCLiWOq1KL1e71Y/Afg1Go1wfn4eSIjA5flIVVWsVisAwGKxgKIogS0ggXDycV0Xtm0jnU4jnU4jm80ikUgAuLxYuM0tx03V7/cl+8MHO9M0MZvNsLOzEx5ZvQ+ZTAZEhEwmI5ZUu92WrnH+tjbdIfgNpwRSrValyslkEq7r3moj36WOj4+lcXmXGksC8YbWq65eHkLem0l/MgRCvFar1UK5XH5UEKzpdBo44rL+3z9PP0Y9gTw2/QP9cVZ6Icas7AAAAABJRU5ErkJggg=="}, - {'Type': "textChevronInverted", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGFUlEQVRoge2aLWzbTBjHH2kGAQaWFmAQYE0BAwXWFGBQYBAQEGDgSQaVFhAQEBAQTQEFkQYCCgI6qWAfAZUaaQUD0VRgEFBVgdZUEJBJkRZpBplkEBBg8H9BdVef7TRLmr6btj7Sgbj38fx8z5fvSvhLhH63AruSR5A/TR5B/jT5d0HCMHwIPe4tG4MMh0OYponZbLZzZWazGUzTxHA43HjsViBEtNViDzn3I8gjyAPNnQDxfR+2bcOyLIxGo50utk7umns8HqNcLqPRaKRGzgTIy5cvQUQgIjx79gzv37//5cXuK6vmZpGS6fX69evEWAFkPB7zzqxJkoTpdPpbQcrlsqBTJpPBYrFYDXJycgIiwvPnz1Gr1SDLMogIjUbjt4FMJhP+Qk3T5Dqdnp6uBmm1WiAi7hue5yGTySCTyXC7/L9Bms0miAj9fh/A7cuu1+urQSqVChRFETo0Gg0QEcbjsbCY67ool8soFouYTCZbK+/7PizLgm3bcF03AZLL5aDrOv8dhiFkWYZhGKtBfN9HpVIROrDJP3/+LIBYlsVtVtf1rWswwzD4PAcHBwJIEAQgInS7XWGMaZrQNG01SJqwyY6OjgSQeBsMBhtDnJ6eps7FQL58+ZJqxpVKBU+fPt0MBACICO12OwFSKpXgOA6ICOVyeWOQ/f19EBEcxxF2mCne7XYF/2TC/GYnIIqiYD6fA7gJj5IkJSriIAjQbDah6zry+bywa7PZDEQE0zQRhiGCIICqqgJItVpNmJDrutB1fT1IEATo9Xro9Xq4uLjA+fl5KohlWXzMYDBIhMSfP38m4n8+n8f3798BAP1+P2GScR+xbZs79XA45DvI2kqQ5XIJTdNS7TYO8ubNGz4uDEMoioJms8mfrbJ/FjRarRay2axgNt1uVwAxTRP5fD4BwCxiJUiv10tdPA0k7tyGYQh+wnxHURS0223uAyz+l8vlRAi9uLgQQKIRLQrQbrcRBMFqkFKpJAzK5XL8bcRB4pGkVqtBVVX+O27vQRAgk8mgVCpxJWu1mjDH5eWlMCZqHasAUkGYE7mui+VyedspBeTy8lKYiJkFACwWi9RIViwWkc/nuZLx/DCdTgWQXC63FiAVRFVV7O/vJzulgEQLSeDWLH3fx/X1dcKPAKBer+P8/BwAkM1m0ev17gTRNC2RoIGb0onltVQQIkK1Wr0XyHQ65VEs7kfRipWI1oLkcrnU/PTq1Su8ePFiNYimaXAcZysQ5qjj8RhnZ2cgIlxdXSXmAm6rhV/ZEdM0E+P39vYSgAJIoVBAoVBInXyds0eff/jwAUSEr1+/poKwOdeBGIaRSIjz+TzxaZEAcRwHsiwLsZ3lg3Ug0cr17du3ICJ8+/ZtI5DRaJRIiPHdZ/qwsj4V5Pj4OLFAsVhMBWGJjQnzkeFwKPjLJiDxMr7T6SSqX13XIUnS3XmEferKsozj42NenKWBnJycpIKMRiN8/PgRRMTLkVUgnU5HeM5eJANha8myjHfv3qFarYKI0iNr/EG0CmVNlmVuk2zyaDkCAEdHR3wXPn36xB0/TXzfBxHh8PBQeF6v1wWQHz9+8MTK2pMnT3B2drYe5Pr6Gtlslg+sVqswTZPHcwbCEhsTVvAtFgvex/M8oY/nefwFSJIkFJ7AbUkS9b944RkfsxIEuDGxg4MDHB4eIgxDOI7Dw2D0eySq6N7eHi/kVgWETqcDWZYB3ITWXC7H/8bK+vi46XTKd8VxHKHiWAsSl1arxcMgU1JVVZ5z2DMG63keiIhncSbNZpPvJKvrXNflayiKkvoClsslfN+/U8dfPjJlCzKlWXVrWRYv7pjNh2GITCbDAwQT27Y5LItImqbxMMv8c5sTmo3PftkdBsvk0RY9Yi0UCrBtWxiraRqveNmuRVu/39/67uVeV29sV6JmxaRWq0FRFG7T7KAtmsiix6DbfPNH5V4gQRDAsizoup4ItewgjSnOoKO2PplMYBgGisXiWh9YJw92GTqfzyFJElRV5bYfr+N2KQ96q8ucmLV4WbNLeVAQz/MgSVKqD+1aHvyefTAYoFKpJK4Bdi3/7j8M/Kny14D8BzlJUi1rfoTAAAAAAElFTkSuQmCC"}, - {'Type': "textRingInside", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGcklEQVRoge2aL4ziThTH5y5NDlHRXFZUcEkFAoHoJYjmgkCsQCBOICoQFRUVKxArEBVNyAWBQCAqEBWICnIhOQTiBOIEAoFAIBAVKyoQiArEiO9PbDphKHSB2z+/XPabTLK0DDOfmTfvvb4uwT8i8tYTeC69g6RpNptBURTc3NyAEALHcV5iGE4vAjKdTkEIYe0d5AK9g6TpnwaZz+e4u7tDLpeDoihQFAWFQgG2bWO9Xv/1mK8CIooi+1uSJJTLZZTLZebVCCEolUoYj8dXj3k2SBRFGAwGME0ThmHANE2EYXgWCCEEsixjNBpht9ux71FKMR6PcXt7C0IIBEFAr9d7GZDdbodOpwNJkhKTy+fzZ4HIsozVapU6TrfbhSAIIITg/v7+eUGCIEA+n2fmoapqAubYrhyC2LZ91mTa7TbrMxgMngdkuVxClmUoigLP89h1y7K4SQZB8CTIubZPKWULJ8syttvt34GEYQhZllGr1TibBh5N4FKQyWRy9oRs22b9ms3m9SCUUmiahkajkbjebDaZHV8C0u12z57QaDRi/QqFwvUgrutC0zRQStm19XoNVVWRyWRQLBYvBikUCtzvpWkymXB9oyji7odhePS3EiDFYhHL5ZJ9Hg6HEEURhUIBy+USzWbzYhBCCHRdT0zqmFqtFtdvPp+ze67rghACTdMS54cDWa1WzKVSStFoNEAIgWVZ7KyUy2VuoH3oUyCx61YUBaPR6CRQ7GDifoIgcN/99u3bSXPlQHq9HnOVpmlCFEX4vs/ub7dbZDIZbpKj0ehJkMlkglarxfoKggBN02BZFhzHgW3b+P79O5cBxCu/r/37lUrlNEi9XsdisUCr1YIkSYkgVqvVEiZTKpUSNhsEATqdDjzPg+d5LNYEQYB2u41KpZKY9GFTVZUzKwDIZrMghODm5gamaZ4GMU0T8/kcoijiz58/3BcbjQYEQYDv+8jlchBFEbquw3Xdi/x9LEopZrMZfN9Hu92GZVm4v79Hp9OB7/tHD3SlUgEhBNVqFQ8PD6dBfN+Hruuc/VFKYVkWRFHE79+/ATyu7GF8eQ3d3d2BEALTNBMZc+Kwq6rKPkdRhFqtBlmWEzv0FhqPxyCEoF6vJ9IeDsR1XZZ9brdblEolZLPZJxO+1xKlFNlsFsViEdVqlbvHgcQrH4Yh8vk88vn8yVT9reQ4Dmq1Gvr9PnedAyGE4PPnz/jy5QtKpdJZAey1tV6vEYZh+mGPXd/Hjx/x8+fPV53guep2u2i32xgOh9z1BIggCPj06RMEQUhs31trt9tBlmXk8/lEQYMD+fDhA379+oUwDKHrOgghMAzj4jix2WxgGAZrx6L/Nep0OiCEYDqdolarcfc4kK9fv3KDuq4LQRCQzWYvKgwEQfDs5aAoiiBJEssFUyP7jx8/oCgK56nm8zkURWHJ4znp+EuADAYDFItFdshbrdZpENu24TgOVFXlPFYcU+Jk7Slvdi3Iw8PD0ceCGGQ/m0g97PV6HWEYQtM0aJrG7UwURQxGVdXU+PIUSBAE8DwPuq5D0zS243HLZDKo1+vYbDapY5wEsW0b/X6fBcTDsxFFEXK5HCsFndqZYyCUUvR6PVZcOKcdpur7St0R3/dZ6A/DkGWb8U4Bj2dm/6nvHJByucwWQJIkWJaF4XDIrep6vYbjOAmY/cAXe9PZbIZ6vX4aJAxDSJLEVppSCsdxIAgCMpkMGo0GwjDk6lvHKoOHIHF8ajabT7ry+Kk0btPpFMDjy6N4YQkh6TsS/9BhZrlcLtmPCILAVR2LxeJZIJ1OJxUgVpzhxm02m3H1rlNjJkA2mw0kSUoQA49mZRgG97h7+Fx9DCTN1g+1Wq24vrFJx4XBUql0dFePFuhc14UoilgsFkcH2y+ixauWBnLo89M0HA65s3WuTpZMbduGLMvwPI8LgtvtNuEuDzPRQ5BLsoL9M7Jf+LgaBAAMwwAhBLlcDoZhoNlscuWa2A0f6hDk3ErjarViZnvJbjwJQimF53msenHYJEk6utqHIKfc9L622y2rYsqyfDLCXwUSa7fbYTQaQdd1FAoFKIqCarV6crBjXittV+L38jHENY/WL/Lq7RhIbC79fh/T6RTT6RSu67K0J/Zu175PfBUQx3ESpdZ99317e8tKTdfqRUA2mw10XWcvPWM3vlgsWPXR8zz4vp+aGF6i93+q+b/pnwH5D1bN/dl0+RwMAAAAAElFTkSuQmCC"}, - {'Type': "textRingOutside", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGbklEQVRoge2aL8zaThjHTzRLRUUFAsEWkjUZgmQVJEO8ooJkCESXIF6B6BJEBQKBQCCavIIsr0AgEIgKxCsQZOrNhqhAIEiGQCAQFYh3CQJRUVHx/YmlF65XoLx/tl+WPcklUHq9+9w99/wrBH+JkD89geeSfyCnZLvdIpvNIpVKgRACy7JeYhhGXgTEdV0QQmj7B3KB/AM5JX81yGq1gmma1AAQQqAoCur1OqbTKYIgeNKYvwUknU7Tz7IsQ9M0aJqGTCZDr+fzecxms0ePeRHIbrfDbDaD4zh4eHhIDBLC2LYN3/eZe6fTKarVKr2v1Wq9DEgQBBgOh7i6umImJooiBoNBIhBJkjCfz0+OY9s2JEkCIQTNZvN5QVarFRRF4Vb3sMWtYBSk0Wgkmoxt27TP7e3t84DsdjsoigJFUWDbNlzXhe/7uL295VTmHMhwOEw8oVKpRHd8vV4/DSQIAmiahuvr61hrElWz6IBRkMlkknhCg8GA9qvX608DMU0T5XKZg5hMJtA0jVOvxWJxEqTT6SSe0Hw+p/1SqRSdw2q1gmEYsG07Gchms0Emk4HnefTabDaDqqr04ObzeeYgR4GjIKqqMs87Jcvlkum72WwAALVajV7r9/vnQZrNJkajEQDA8zw0Gg16Fvr9PjzPg2EY9KHlcpl7aJz5rVQqnOmNk36/z/RzHAfArx3RdR2EELx+/Ro/fvw4DuJ5HkqlEoBfO5PL5SCKIrrdLp2E7/vUwYmiyKlVHIgsyyCEIJPJwLbto7uzXq+Ry+WOqu3DwwNyuRxUVeXCHgZkMBig0+nAdV2k02nkcjnuILdarbPWKAoynU7R7XYhiiIIIRAEAcViEaZpwrIsdDod6LpOgQ8XYL/fM88OFzTqaxgQ0zQxGo2gqiqq1Sq3cuPxmA5yymnt93t0u13Ytg3btmkU4Louut0uyuUydX7HmiRJ1Nr5vs+dw/DsxILoug5d11GpVLiO/X4fgiCAEIJut3sUIqkEQYDFYoH7+3vYto2bmxs0m000Gg30ej0uBDIMg9md6E4xIIVCAYqiMDcFQUAPvCRJGI/HT4Z4jJimCUVRqKpHVZ4BSafTmE6n9LvneahUKtSELpfL3zDleJnNZiCEUGMUWtZQGJAPHz7Qz67rQlVVCIKAVquVyHS+tFQqFYiiCM/zuFiMAXn79i2+ffuGfr8PWZahKMrZqPV3ymq1giAIuLu7Q7vdZn5jQD5+/Mh441M5x58SwzCQz+c5786AfP78GYQQvHr1Ct+/f/+tE0wqy+US0+mU0xQG5NOnT3jz5g3evXsHQRBiY5o/Lff39xiPx1itVsx1BsQwDARBwMRT19fX2O12Fw22Xq9hGAZtl4Tx56RSqUBRlNMhiqIojDcP009Zli9KjhzHeZFy0Ha7pQFotVplfmNA4pKZ9XpNQ3hN0+C67tkBXwokTLrq9TqXl3AOMS6O8n2f5gOyLJ9VlceA+L6P7XZ78p6w2lKr1bg4kFOtcrlMz0bUCTabzURZ3zmQ9XqNwWAAXddRKBSYol2Y+1iWxcV7YYhfKBS4KIMBKZVKcF0Xo9EIkiTRWlT4wCAIUCwW6YB3d3eJQYIgQK/XQzabPRn1HrZarcY89zBi1nX9OMjNzQ2d3Hw+p6qmqiomkwlXRclkMolANE2jZSVZlmGaJiaTCaNKYUk1Gsof7sphxfLLly/HQTabDbMK+/0elmXRhCeVSqFQKDCDxZnmKEiYTLXbbS78jsph1ZEQwqhQWL2RJImLOricvVgscvq33+/R6/W4MhAhJNaKxYEkNd+HRTpCCAO+WCxQKpVijQ0HMp/Pkc/njzrBTqdzMYhhGIkgon2z2WzifrF1rWaziaurq1hzaFnWxSDHalFxclhFiTq9i0E8z4OqqkilUkwFfb/fMzWtpCBhSSeJhP5KEITYCs1FIMAvBxVaEUmSkM1mYwsGz7kji8WC1gUurciffa2wXC5Rr9epCQ1LOmGLVjPiQKL+IE52ux0NhaKVzmcBicrPnz/x/v17OsmvX79y98RZrVNhzWKxoG+visXioxK6R716a7fbdIJxKhAHEjrGyWQCx3HgOA6GwyFKpRJVp0aj8eh3iY9+h+i6LobDIarVKreCUZB2u8050rCJooharfak94dPAjklYWKl6zo0TaMO1nEcWJZF22AwOOvpk8q/P9X83+SvAfkPv2b7OakXefQAAAAASUVORK5CYII="}, - {'Type': "textArchUpPour", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAECklEQVRoge2YIXDqShRAr4iIiEAgIiIqIiIqEIgnIhCICmRFRUUEAlGBQCAimEFEIBAIBKICUYFAVCAQERUIBKICEYFAICIqEBUR54sOO+W39ENL52fe5DjYze6eZe+9G4S/BPm/F3AuMpG0kYmcwmq1+vU5fk1kOp3iui4igoig6zrlcpmnp6dfme9XRKbTKZqmUS6XeX5+BuDp6YlisYiu6+q7c/JtkSRJGI/HtFot2u323vHxPA9d19lsNnvPzOdzCoUCnU4HgDiOGQwG1Go1Hh8fSZLku8s5TmQwGOwtarlcYts2FxcXuK6LpmkYhqGOjed55HK5L8dcrVYYhoGmabiui+M45PN5ZrOZ6rPZbAiC4Dwig8EAEaFYLLLdbonjGNM06XQ6agdnsxm6rlMoFACo1+tomsZ2uz04bqlUQtO0vZjpdDqYpsl6vSaOYy4vLxERWq3Wz0Wm0ymGYSAiuK5LEASUy+UP/XzfR0RYr9fMZjNEhOFwuNen0+nQ6/XYbreICI1G48M419fX+L6vEkU+n2cymfxcBOD5+RnHcVQGajabn/YREcIwBKBarWIYBpPJhCiK6Ha7aJrGaDRisVggIszn84MbIiI4jkMURccs8fhg32w2XF1dqWP278CMoggRYbFYAG/JIAgCLMtCRLAsi/F4DMB6vUZEPiwySRIKhQIiQrlcJo7jY5d3WtZKkoRqtYqIcHNzw8vLi2prNBqYpnl05ikUCtRqtU/HrtVqJ2ewb6Xf3TGxLAvf96nVaui6rnb8GBaLBblcjkqlQr1e5/LyEk3T6Pf731nSf4vc399TKpVotVp7WWgymZDL5XAchyAIjj7L74miiCAIcBxHxRPAdrtlOBzieR6+73+oRyeLPDw8qMDbnfOHhwfVvlwuubm54fX19WSJHbsjtVwuldz7xCIimKap2k8WSZIE27YJgoDVaoXruuTzeRXs0+n0R5X4qzk1TePi4oJ2u00cx1QqFVWjThYZj8c4jqM+27ZNGIa0221ERKXSczIajdS44/EY27aBt6uMZVkf6tJ7Dop0u108zwNQBWyXDovF4t5V4lzc3d1RKpWAt18nn8+rdO77PvV6/eCzB0UajYa6GsxmM0zTVG2e5325O98lCAIlAnB7e6sumM1mU23sZxwU8X0fx3HYbDaEYahEdkVrV8HPSRRFGIahArvb7XJ9fc1yuVQxc4iDIrtrxC7YRQTP87i6usK27bMH+o56vY6u6/T7fUajEblcDl3XMQzjyzfNL9NvGIYqFnq9HoZh8OfPn197y9sxGAxoNpuEYYiu67iu++m97D3Znw9pIxNJG5lI2shE0kYmkjYykbSRiaSNTCRtZCJpIxNJG5lI2shE0sZfI/IPnK/mbji+lKgAAAAASUVORK5CYII="}, - {'Type': "textArchDownPour", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAE80lEQVRoge2YL2zyThjHH3HJi6ioQJxAICoqKioqumRiAoFAICpegahAIBCIiQnEEsTEBAKBQExMTEwgEIiJiQkEogKBQFQgKhAVFc1y4vsK0gsH7G9YfvwWvgnm+nD3fO6eP9cSfonov3bgUDqBHJtOIMemE8ix6QRybDqBHJtOIMemE8ix6QRybDqBHJtOIMemE8ix6feCPD8/w3VdFItFVCoVjEYj+Ww8HqPVailjh1YYhuh2uyiXy3AcB4VCAXd3dwCAer3+5toKSBiGYIyBiJTf/f09AGA0GqFQKICIUC6XkabpwQDSNEW9XgdjDJxzXFxcwHVdEBFGoxGSJJH+dLvd90Fubm5ARLi4uEAQBBgOh9A0DbquI45jaff4+AgiQrvdPhhIp9PZcTLzZzqdAgB6vR4YY2CMKf7sgFxfX4OI8Pz8LMf6/f7eXdB1HbZt7zgUBAGEEG86LIRAEAQ747VaDYVCQRnzPA+5XE45+VarBSLC4+Pj2yDZDry8vCgLm6apnEocx/LkNjUYDFCr1T4E+fv3L/r9vjJ+d3cHxhgWi4W003Ud5XJZsRuPx0q47wVZLpdgjKHZbCpGo9EIRATP8/D09ATHcaBpGiaTiVy03W7D87x3ITZhPM/D1dWVtBdCwHVdmKaJ5XIpw7fX6yn/7Xa7O1GzAwKsj5gxppxKmqaoVqsy2RzHkXGbJAnK5fKnIbZhKpUKkiQBsN5Izjl0XYdpmsjlckouJEkCwzBQKBR2Cs0OSJIk8DxPOlypVKBpGogIuq6j1+tJh8MwhG3bKJVKCILgS1VMCIH5fA7XdWFZlgyp+XwOy7JARMjn82i32xiPx+j3+ygWiyAiWY7fBcnk+75SghuNBlarlXw+nU7BOQcRyZJtmuanYbLSmv2Xcy6jIEkSWYq3W0G9Xt978ntBJpMJcrkciAi2bctcyJQlJucc3W4X8/kcvV4PRIThcKjYZlUqCx8AGA6HICJcXV1hsVhgMBjAMAwwxpQkjqIInU4Hvu/D9/2duT8EieMY+Xwenuft7HC73ZYNcdM5YF2SO52OsiFZOBSLRcznc7kRRITlciltkyRBqVSSgF/JtzdBgHWZ23Q0SRJUKhVZvfYtlMvlZJWJogiccziOg5ubGxiGAc454jiWINsSQihrbG/Ut0A2tVwuYdu2zIN9C8xmM6VReZ4HwzCk7WKxAGMM19fXmEwmIKK9jTGrTEQEy7IQRdFhQF5eXpDP52WyDQaDvXZZyEVRJPvRtu3DwwOiKEKapmCM4fLycu9cg8FArsc538nRb4FMp1NomiarzHYjAta7yDmHZVkA1ledP3/+yJzYJ8dxoOu6UgkzBUEgC42maUpP+zZIBpPdPvfdPJvNplLfTdOEaZrvzpntuu/7bz6L41g23o/0pRerUqkExhgeHh4ghMBqtUKj0QARwTAMCCHw+voKXddxdnb24Xzn5+cgIrRaLQghIISQN+7sdD+rL4FEUSTfRzZ/m81stVrtvVBmqlarYIwBWBeI7NawPV8Yhj8Hkjl6e3sL27Zxfn6OWq2m9IM0TaFpGjRN2+lBQghZODKFYQjf92EYBizLQqvV+jLEt0A+o1qtpoRMpuzlqVqtHnzNHwGZzWayFxiGAc/z5EWQc47ZbHbwNX/sK0ocx2g2m3BdVyZvo9H4dIP7qn7v56D/q34NyD9R1OIfzRsxNwAAAABJRU5ErkJggg=="}, - {'Type': "textCirclePour", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAF10lEQVRoge2aL5CqXhTHbyAQCAQCwUAgGAwGg4FAIBgIBIPBQDAQDAbCCxt2hmAwGAwvEAwbDAYDYYOBQNhAMGwgEAyGDQaDwUD4vuBwfzIqqCvzfu/N+87szO5c7p8P99xzzj0swV8i8rsX8Cz9A8mTaZqQZRmSJIHneZimWcY0GZUComkaCCH0x7KsMqbJqBQQ27YzIK+vr2VMk1EpIG9vbxmQwWCA5XIJ13UxHA7heR7W6/VT5ywF5PPzMwNCCAHHcdA0DaZpot1uQ5Zl8DwPx3FwOBy+PWcpIEmSgGVZCtFsNi/uwGq1gqIokGUZ7+/v35rzYZA4juH7Pna73cX2RqNBQebzee5Yg8GAmuCjuhskjmPouk4XKcvyRZher0ef+fnzZ+G4pmmCEALHce5dEoA7QTzPA8dxZ/bf7/fPnp1MJrRdUZTCscMwBCEELMsijuN7lgXgDpD5fA6GYdDtdjGfz1Gv1+lCL02+XC5pO8Mw6HQ62O/3V8d/f3+nz08mk3JAVqsVOI7DdDoFAGy3W4iiCFEU6eS6rmf6bDYb8DwPSZIQBAFUVQXHcbAsC57nZcxxs9lkztQjZ6UQ5HA4oFKpZIJaq9XCjx8/sFgsMiZm23buWw/DEJZlQRAEer7q9fqZuS4Wi+eDDIfDjI1Pp1M0m00kSYKvry8QQiAIAgRBwGw2u2nSJEmwXC4xGAxQqVQyJmrb9t0QhSC73Q48z8P3fQBHkxIEAZ+fnwCOEVwURSRJkrsTRVqv1wjDEF9fXw+PkQviui6azSb9u9PpZExM13WMRqOHJ89TFEWYTqf0pRUpF0TXdQyHQwDHt8ayLLbbLYCjA+B5/mpA/I5SD5ma3MvLS2GfXBCWZfH29gYAeH19zXgmwzBKyWrjOM5A3OqSr4Ls93sQQtDr9QAcPVW68CAIwLJsKbvhOA5dvCAIkCQJhBDwPJ97hq6CpB6pVqsBOOZOlmUhjmPUajUK+Gyl6c94PEaSJACOToVhGIzH46v9ck2L4zh0u10AoG8m3fbVavXE5f+narV6MaUxTfMs6J4qF2QymdC3cJoElnkHZxjm4tnzfR8cx13tVxgQUy8VRRFkWUar1fpWzCjStbR/u92CEELN7axf0cCLxQKKosD3fcxms4cy03tECLkaOwghV6/IuSCnudR8PofruqhUKnSXylDuYgnBZrO53JY36GlZx3EcTKdTEEJgGMa3F3xJ6/X6KkgcxxBF8WrfXJDUUzUaDei6jt1uB8MwQAihKf0zlYIEQXDWNplM0Ol0rvbNBVFVFYZhIIoi8DxPD5plWRBF8emHPo7jizfK/X4PWZbhuu7VvoUgaZ5TrVbpPeFwOKBarT49RUmDsCzLtEQUhiEajQZEUcwtG+WCWJZFY8Z4PIaqqrTt4+MDLMs+PTCKopgpDaVX6ryoDhSAfHx8oF6vAzjugiiK8DyPthuGgXq9ftW3P6IwDOnvQRCAEIJ2u104R2EcqdVq9PDNZjNUKhWaLK5WKxBCaKr/qJIkwXq9Pjtzo9Ho5vtOIchoNMq42263C03T6BtSFKUwM72kIAjQ7/dRr9dp/sYwDCzLemiHb0pRTg/24XCAoih0u9PC2i0HP4oi2LZN7+mSJF0sPpRWDoqiCIIgUBPabrc0tlSrVeppTrXf7yFJEiRJgu/76HQ6NJjO5/PMDq7XazrOo0npzQW6KIogiiJarRYWiwWWyyV4nqeTVyqVzPNp5TA1GU3Tcj2c7/v0+UfO3F0l0yiKoKrq2TWUEHIWdU9Lpq1Wq9Du02BYesn0VL7vZ0qmqqqeeZx+v39zNR4AXl5ebi40XFJpX3VPdy4vtQCOwTYtlT4ak0oDScui6b3/UvodRRE0TQPP84WwRSoFJL3Nnf7wPI92uw3btmGaJmq1GhiGQa/X+1aFMVUpIJ7nnX2e9jwPjuOg3+/DdV2EYfiUb4epSgEZjUYZkD/2Hwba7fbfAWKaZuYj0B8L8jv0D+T/pl82gOGZr7UaJQAAAABJRU5ErkJggg=="}, - {'Type': "textButtonPour", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAIH0lEQVRoge1aLXTqShcdMSIiAoEYgUBERCAiIhARCAQiIgKBqIhAIBAIBCKCtRARCERERUREBaIiAoFAREQgEAhERAQiIgJRgUBE7CdYma+5/BRub9f31lt3q7YDM7NnztnnZ0rwHwH5f2/gT+EvkX8b/hJ5Bvv9/sfX+DEiq9UKmqaBEAJCCARBQLPZRBiGP7LejxBZrVaglKLZbGK32wEAwjCEqqoQBIH/7U/it4lkWQbf9zEejzGZTArmY5omBEFAmqaF72w2GyiKgul0CgA4HA5wXRe9Xg+LxQJZlv3udh4j4rpuYVNRFEGSJFSrVWiaBkopRFHkZmOaJkql0t059/s9RFEEpRSapkGWZZTLZazXa/6ZNE1h2/afIeK6LgghUFUVx+MRh8MBjDFMp1N+guv1GoIgQFEUAMBgMAClFMfj8ea8jUYDlNKCz0ynUzDGkCQJDocDarUaCCEYj8ffJ7JarSCKIggh0DQNtm2j2WxefM6yLBBCkCQJ1us1CCF4e3srfGY6ncJxHByPRxBCMBwOL+Zpt9uwLIsLRblcxnK5/D4RANjtdpBlmSvQaDS6+hlCCIIgAAB0u12Ioojlcok4jjGbzUApxfv7O7bbLQgh2Gw2Nw+EEAJZlhHH8SNbfNzZ0zRFq9XiZvarY8ZxDEIIttstgLMY2LaNSqUCQggqlQp83wcAJEkCQsjFJrMsg6IoIISg2WzicDg8ur3nVCvLMnS7XRBC0Ol08PHxwceGwyEYYw8rj6Io6PV6V+fu9XpPK9hvyW9uJpVKBZZlodfrQRAEfuKPYLvdolQqQdd1DAYD1Go1UErx+vr6O1v6mojneWg0GhiPxwUVWi6XKJVKkGUZtm0/bMufEccxbNuGLMvcnwDgeDzi7e0NpmnCsqyLePQ0kfl8zh0vt/P5fM7HoyhCp9PB6XR6mkSO3KSiKOLkPgsLIQSMMT7+NJEsyyBJEmzbxn6/h6ZpKJfL3NlXq9W3IvG9NSmlqFarmEwmOBwO0HWdx6inifi+D1mW+e+SJCEIAkwmExBCuJTew36/5yr2CN7f3/m8vu9DkiQA51SmUqlcxKWHiMxmM5imCQA8gOVyqKpqIZW4hSAI4Hnew0T6/T4ajQaA8+2Uy2V+EJZlYTAYPE9kOBzy1GC9XoMxxsdM07x7OjmeJWLbNicCAC8vLzzBHI1G/GCv4SYRy7IgyzLSNEUQBJxIHrTyCP4rfN9Hv9/n3xuNRhgOh1zxwjCEbdtX/SuOY4iiyB17Npuh3W4jiiLuM08TydOI3NkJITBNE61WC5IkXd3Ifr+Hqqp4eXnBcDhEEAQQRRGapsGyLO7MhmHAdd2r6w4GAwiCgNfXV7y/v6NUKkEQBIiieLfSvCu/QRBwX3AcB6Iool6v36zygiDg8mwYBoIg4FG61WohDEM4joPT6YR+v39zXdd1MRqNEAQBBEGApmlX87KbRHJNr9VqPEpHUfRUxD6dTvA8D7quIwgCzGYzAGe/8jzvpknewnq9Rrvd5qrpOM5VJSwQyWuPXF632y2CIAAh5K5i5EjTFIwxNJtNfiO5s5umCdd1n6rZXdcFpZTvabPZQNd1VKvViyBcINLv98EYg+u6UBQF7XYbWZbB8zwIgvCl5LquyzfebrcRBAHPnXRdL9zIVzXGbrcDpRSj0QhpmnL57/f7IIRgsVjcJ5JLXBiGEASBq0232y1kq9cwnU6xWq0QxzEajQaCIMBgMMDxeOQ3NJlMcDwe7/oIcJb/er0O4Cw85XIZwNl0JUniJnuViG3bBa2WZZmry3K5LMSSa1itVlBVFfV6nd+IqqpQFIU7OWMMiqJcnOivUBSF367jONB1nY+pqnqRJReIRFEExhi3P8/zeI6TV4BfJW++72Oz2SAMQ6Rpiu12i9lsxudcr9cXp3kNlFJORNO0glwzxrBarW4TAc5NgXyhLMsgyzIcx8FgMCiUsj+NPAAmSQJKKU+PHMcpHHaOCyJRFKFcLmM6nWKz2aDX63HVqNVqhQniOH66JP0VaZqi0+lcBLu8E1Ov1/Hy8gLgfy2kaxH+akDMHf1zTdDtdgulbZ5/NRqNb9cjmqaBMVa47VzK8zpI0zQIggBZlgv7uEtksVhwAoqiXETV+XzOG2v3eleP4ng88kbf52Q0iiLejCCEoNVqXSVxk0iSJBAEAZPJpJBTZVnGfYUxhsVicXPiZ5BlGVdFQggsyyqMx3H85Tp3C6vPyGMBIQSlUolXjKVS6csC6x583wdjjCeXeTPQMIynbvuhLkqSJPyKdV0vOHde1X0VF26RoJTCcRx+8x8fH9B1nYvLI42Hh4iEYchrdUmSrp5Sv99HpVK56vRZlmG/318dUxSFK9JnnE4n3oBgjD1UjX5JZLlcglIKQRBuphWe5xW6jMA5gLZaLW4qhBBUq1WeNOadyVsVZC6/lNI/1/vNs1hVVa+Oj8fjQrDMza3ZbPJuS5Ik3Ad2ux2iKLrq2DkMw4DjOBcR/FtEgLOzM8Yu0ou8w0EIQZqmvApkjF2YYf4skf+cd9t/9YPZbAbG2M/1fqMoQqVSgWEY8DwPr6+v/A0jNzvf93lZ/BWGwyF36vl8jvl8DsMwHmrIfYsIcI64o9EIpVKJF2CmafLTz/3l1uPMZrPBeDzmJmcYBp8r7yUnSfLstr73GPrx8XFx/XnTol6vXzQocrO79jaSJMnPvyE+i9xkDMNAGIbY7/d4e3vj7yvXHoq+ix97Zw/DEJ1OB4qiQBRFSJKETqfzY2XA33/h+LfhP0PkH0zLHKRhYhw0AAAAAElFTkSuQmCC"}, - {'Type': "textCurveUp", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGIklEQVRoge2ZL2zbThTHHzCINIMAA6sKMCgICLCmAmsyMAgICDCItEwKMMimgIKAgIKCSAHRNGkDAQUBkdZJAQMFAwUDAZYWYBCQSQEFAQaeZhBgaQbR9P2B6O7ni5P82v5a/byf+iRL8fndn8/du/feXQj/E6H/egAPJU8gWZMnkKzJE0jW5Akka5JZkPV6fSf9TIKsVis4jnOnOpkE6Xa7sCzrTnWeQB5TDoFEUbSzPJMgnU5nJ8h4PIYkSeh2u6lvmQRxHCe12ZfLJWRZBhEhl8shDEPh+x8DUq1WQUT8uby8FL7/ESBhGEKSJKiqimKxCCJCq9US6mQSpFKpCCDD4RCSJMHzPIRhiHw+j0qlItTJJIhlWTg/P+fv5XIZtm3z91qthlKpJNTJFIjneYjjGJZlCZ4pl8thPB7z9263C03ThLqZAfnw4QOICI7jwDRNDjKfz0FEgpcajUYgEoeeCRDP87g3kiQJsixzkM+fP6NQKAj6DwrSarVQq9XuW10Q0zQF10pEuLi4AACcn58L+4OVPRhIPp9/EBBmOrVaDev1GsfHxyAijEYjAIBt29yDxXGMZrPJYZNyL5A4jnf68kMynU5hWRZKpRIWiwUv73Q6kGWZ51BsrzAQ5sEWiwV0XRdW7V+DLJdLENHOnGeXfPr0CUdHR3wAr1694t+KxSJOT0/5+/X1tQBSKpWg6zpPT1iKMhwOD4PEcYzJZILJZIL5fL5zYJPJBESUamyXsACWnMlcLocoihAEAYgIX79+5fo3NzcgInz58gUAoGmaUFfTNEyn01Q/Aojv+1BVVah4cnLCG2UyHo/5AGazGWzbhmmaGAwGqQ6YTff7fazXa1iWBSLCcrnk7axWK67PVnsymQDYxBA2FsdxbpfG93o9EBHq9Tq63S4ajQYkSYIkSXBdl+sl7Ti55MkBAEAQBJAkCfV6nZddXl5yvX6/n4rQ2yBEBEVRcHV1tRNgJ4jneahWq4ICm7Vms8nLzs7OQESQZRmlUgn9fp+70OSg3717ByLCzc0NL5tMJtB1HUEQoNlspvpLgvi+L+yX5DjvlWsVCgXhoOM4DogIxWKRm0UYhpBlGbqucz3TNGEYhtBWGIaI4xjAJodKTlASZDabYbVagYjw8eNHQeft27d4/vz5YZAoigSbBTYbLgnC7Hx7uS3LQi6X4++yLKPX6213IbS77fkYyHK55L+3V6TVaqFcLu8HGQwG3NYVRYFhGHxwyYrFYhGapqXunthKAcC3b98E77Mt6/V6p+ebzWYcBNjskW0nYhhGaiUFkOPjY0iSBNM0eYRNegwm+6K64zhQFAXA5gxBRPj+/ftOkH2zzVz7crnE79+/8ezZM7x+/Zp///HjB1RVxfv37/eDqKoqBCeuRIROpwNgY3rMne4CYel1u93G0dERfv36dScQ5tVYtqsoiuDZrq6u+B7aC9JoNFJn5TAMhSjOAtb2AIDNuZpt9nK5nDoz3AaEhQAmhmFwE42iCKVSCbIsp9oTQEajEQqFghB02AwwO2VLf319nWpM0zTufi3LQrFYTOmEYQjf9/mEbF8i2LYtgLB9J8syFEUBEaHRaBwGiaIIpmnCNE34vo/FYsEjPZu5ZEDbrps0OcMw8OLFi1SHL1++RKVS2ZuvFQoFAYTFseSzbVYpEDZj7KYi+bB8iAW55NET+DvZYy7ZsiyYppnqUNM0tNttnkEnnYbrujwXYxLHsZA2JQPuQRBgk1oMBgP0ej1Mp1NhBbrdrrD5mdi2LVycmaYJVVUFHRapmctVFAX5fJ7HrWq1ClmWU3vLdV3ouo7T09O9fzf8Y2QPggD5fJ6vQKvVQi6Xg6IofACu60KSJMF26/V66qzNNjJLWdilm2VZ/PfJyclBJ7FPbpWiRFEE3/cBbGa+Wq1C0zRuJmzpPc/jdfr9PoiIu/PFYgFZloWUhZkpe1RVxdnZ2eOBJMXzPIzHY54Bs6fdbgt6zLuxM4QkSalIvlqthLPKxcUF5vN56l73UUCSMhwOYdv2zuAIAG/evBFgG40Gfv78Kei4rgvLsva2cVt51OugIAjgOA5UVYXjOPea6dtKJu61HkKeQLImfwHqm4TSvLEUqwAAAABJRU5ErkJggg=="}, - {'Type': "textCurveDown", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGEklEQVRoge2ZLWzbXhfGDzAIMDAwMCi4wCDAICCaCgIMDAIizZMCAgwMAqIpYCCTAgIyDQQEBARUWkBBQEBBYTVVWsBAQUFAQEGBQTUFBBhEU4DB8wfVufWNk36ufbu9fSST+F77/K7PPR83hH9E9L824E/pDeS16Q3ktekN5LXpDeS16UEgSZI8lx1P1oNAarUaFovFc9nyJD0IxHVddLvd57LlSfp3QZIkwXK53Dr4rwKpVCrQNA29Xi8z2HVdtFqtFzHsoVJAzs/PQUTyOj4+VgYHQYAwDF/UwPtKATk4OFBADMNQ3CwMw78DpN1ug4gQhiFM0wQRYTgcyvthGML3/Rc38j5SQIIggG3bAICLiwuYpolSqSTvh2EI13Vf1sJ7SgGp1WqK63S7XRAR4jgGcP3F/gqQq6srxZWiKAIR4ezsDMA1mOu6WK1WmM1mL2vpHdqaR9IyTROHh4cArkFs20atVgMRvapQfGdmL5VKMgl2u13oug5N02RkOzk5eXYj76M7QVzXRbvdBgAMh0MlPBMR9vf3/4ghtVoNtVrt0fPvBcIB4PDwEEQEy7KwXq8RhiGICOfn5482gOX7Poge3x4pM1erFTzPg2VZqFar6Ha7EEJkQNjV4jiGruuZJBnHMQaDAUaj0b17mFarBSJ6dM+jgIzH44zrcIJMg6RLl2azCcuylIcGQSDn5vN5RFF0pyG9Xg9EdK+xd4JUq9VbQY6Pj0FEmM/ncs50OgUR4fLyEgCwXC4z84vF4p0rPZlMQET4+fPn1vtRFGE6ncpUcCtIoVAAEUEIAcuyoOs6TNOUIGx0etVWqxU0TZMhmmFN08RgMIDneSAiDAYD5cX9fh9CCPi+j9lsJp99dHSkjFutVgiCQImUpVIJ6/V6N4gQIpO504XiNhAAKBaLaDQaAICvX7+CiCTYer2G4zjY29uTX4Wfw1cul5NfZBO4UqmAiOD7PrrdLvb390FEmTZDAdE0LdM4hWGIcrl8K0i6BuOyJu1+R0dHSs6p1+vS5fr9PhzHga7rICIZ6tPzOp2O/C1JEti2jUKhsBvEMAwcHBzsNJL7lU2QdrsNIYQCkv70SZLAMAx8+vQJwLUL67qOq6srANfu4ziOsh/53YZhZNyo2WxC1/XdII7joN/vKwOq1aoE4dprE2QwGMgcwCCb6nQ6sqQRQmRW9OTkBESkuLZpmkqSjKII7XZbthg7QT58+ICPHz8qAzzPw7t37xSQzQTIYTmKInz58gVEhN+/f2dgWEKIrVnctm3k8/kb44hQqVQwHA7huq7cU+VyOVO0KiCNRgOe5ykDHMeRD2eQ6XS6E4Q3+21KJ9m02JXSIHxx4mUAbi22gvR6PRiGgdVqBeAmJ7D/LxYLEBHG4/FOEE6qtx3kCSEyCwZch+T0/iIi2LaN0WgkbQKuXblSqewGYSOazSaAm9aXQfjhm+V7GuTHjx8gInz//n0nSKFQUDpPFucg3oOO46BYLGbGMdxOkDiOkcvlZELjz7oJsrkaaZDLy0sQEb59+7YTpNlsKi7E4vDOrhsEAXK5nOJGZ2dn0DQtc/aWcWauaPnibJ8G0XVdCYmbdZKu60rsZ3FuGY1GW92PQSaTCYCbU516vY4kSXBxcQHLslCv1zPPzoAsFgvk83kQERzHwenpqdK3c6mQLhy5SOQxjuNs7e2FEKjX65jP54rBLHYtzu7r9RpCCHk0xTal98tOEIYZj8dYLpfSVTjkCiFgmiY8z0OSJIjjGIZhYG9vT85vtVrQNC3zQsuyZLTSdT3jolzKp7P76ekpbNuGZVloNBpbIXaCpBXHMTzPk6snhJD1T7lclrVP2ih2Ea63gJvQzSWQ7/vQNE1Wu7wgmqYhCIK7zHo4CIsLPiGEPIRI76V0EccliWmach/wavOCzGYz6TLNZhP5fB6macL3/UcdOT24t1wul5jP50oTZhhGZuN2Oh1Z2RaLRRBRxt0Yjq9Op4PJZPKo1vlJ/yH2+314nrf1JOXXr194//69Yujnz5+VMUmSoNfrwXXdTLH6UD3rn6FRFKHRaMhNvlnF/kn9f/6r+5r1z4D8B1TcfmbMVYbLAAAAAElFTkSuQmCC"}, - {'Type': "textCanUp", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGrklEQVRoge2aIYgbTRTHX2HFUkJZSsTSroiIWGjEiYoToUREpCWFiIhAIyKuNCIi4sSJowRORFRERJyICPRExFEiUnqFiEBPRJyIiDgREeiJiBURC13KUv6fON50Z3aTXu7r9Tv63YOFJPtm5v3mzbx5b+4If4nQf23A75I7kNsmG4GcnJzAtm2MRqMbMgcYjUawbRuTyWSjdhuBdLtdENGNg1xnjDuQm5I7kE2U70A2kDuQTZSvA+J5HgaDATzPu5L+HwdxXRfVahU7OztwHCdSf7FYwDRNEBFM08R8Pg/pOI6DSqWCUqkEx3H+PEi5XAYRgYiQTqcj9dPptNAhImQymZBONpsV74vF4u8F8X0f/X4fZ2dnkSBHR0fQNE0ycjAYSLr9fl96z8/Hjx+FDhvNj6Zp6PV6K0Gm0ylc170aiOu6yGQyICLouo7ZbBYCKRQKIQPL5bLUD3vMMAw0Gg0kEgkQEfb29kI6wSefz0eC7O7ugohg2zaWy+WvQWq1mtRxoVAIgei6jng8jtPTU7x79w5EhHg8LvXDhrNBPPupVEroWJYl4MbjMUzTFJ4OgkwmE8mmRqOxHsT3fcRiMamRruvCnQxCRGg2m6JdMpkEEQnvOY4DIsLW1pY0WDKZhKZpko5pmvB9HwDQbrdF/0GQarUq2RSPx0WbSJDxeAwigmVZwsVEJPYKg2iahsViIdodHByAiNDv9wEAw+EQRIT9/X1pMPb2xcUFBoNBaKktl0vouh4CYc+lUinxWV16Ekiz2YRpmsLISqUiGcggweUB/NzY7KVOpwMiwvv37yW9VqsljAgGjqBsb29Lhs5mMzG5rutiPp8jHo9LKyIEks/nJQWOIN1uVwIpFotSJ+fn5yAi7OzsAAAajQaICNPpVNIbjUao1WpwHAeHh4eSt1l4GTEIT1JwX9RqNWnvhkDS6bTUMW9QFUSdDQAgIlQqFcmYdcKwajgNeg2ACCbBpTQYDEJnkjRaIpGQUgl2qwrC31WQUqkEAHj16hU0TcP3799Xguzt7UXC8t5hw3lfBe1yXRdPnz5dDaK+nM/nkuHs5g8fPoQMePToEV68eAEAKBaLePDgwUoIAHjz5g3u378f+v3z588SSKlUgq7rIb21IKq7OPqoHok6dROJhGifz+dhmuZakHK5DMMwQr+rKUomk0EikQjprd0jx8fH4vP5+blI+DYFWTV4UFbp8OEXBInFYuh0OtJ+WrtHoiCuA5LNZvH48eO1INlsNhKEl3MQhO0wDAMHBwfwPC8UOUMgwdT7uiDPnz/Hw4cP14JUKpVQWhMFombQfI6pGXcIJJfLiQb1en0jEA6/L1++hK7r+PHjx0oQjkaqqEvr2bNnkVm0GsmknjjcEhFqtdrKqPXp06eQAYZh4PXr1wB+ZrWqLBYLtNtteJ6Ht2/f4t69e/j27Zuk8+XLl9DS2t7eRq/Xk5aZ2r/0jXOmQqEA3/dDIOwRtfbwfR9EhN3dXQAQnlQrx+ABywefeiCqUatcLiOZTErvbdteD1IsFmFZlsj3V4EcHh5KnUynUymN4AkZDoeS3tHRkfid+xqPx5LO8fGxBFKpVEJBwXXd9Xskk8lISdzZ2VkkiJrV8uDclr+3Wi1JjwGn06k4wdVJ2d/fl0Dq9bpI/YNycXGxGiSZTEqu5sF+lTTy4Dy77CHe/CwcSJbLpZiker0u6agVIudkUVXhShD1kOF1rILEYjGpsLFtWyrAPM+DruvQdV2UBI7jIBaLwbIsoaNpGizLEn35vi9CP4PwcgzW+huD8AyqIESEXq8H4Gcak8vloPZFdFmDz2YzlEolKdUHgK2trch6J6oeUZeperUkgWSzWfHZ8zxR9rbbbWkgXddhmiaazSYMwwARodPpSB1z+q0+wTSIo1ssFkO1WhV9qWeVYRih5Vyr1VaDBD3CMx2MRgwSPDSJLktfNdQ6jiPKVn4sy5IOsdPT0xAoh9YgSDqdlsprvltYCRK8LOBciIhQrVYlkOASiNrULKpXeAkFhUtbfjiyBUE4mLAdJycn688RTdMwHo9F+sD3Ufl8XgKZz+coFotiBoMXEap0u12USqVICODytOcLhVwuF3nTGLwOyuVyME0zlKdJIMGZ4YiTSqVEETObzTAcDuH7PnzfF3fA/1Y8z8NoNILneeKzOjlqemLb9mqQYNbL6cZkMrnyTfpNyng8lq5p16bxT548AdFl7f3169c/auhVpNPpiADC4Z9FAmm1WigUCiv/THAbxHGc0BUS8H/9z4fbLHcgt03+GpB/APnJiyIuPGi/AAAAAElFTkSuQmCC"}, - {'Type': "textCanDown", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGkUlEQVRoge2ZLYwaWxTHTxPETTuCJjRB7DaTZgUCgUCQFjECQROaILbpCsSIbVKBQKxYgSBZsWkQKxCbhmQRK1bQBIFAbFLEiArEpkGsQCAQIxCIESMQ/yeaczv3zgxveW/b1/TtScZwz3DO73LP14Xwhwj91w7clzyA/G7yAPK7yQPI7yZbgTiOg1wuh5ubm5/lD6bTKXK5HL5+/brVe1uBjMdjEBHG4/FWRn6FjQeQnyUPIL/CyK+w8WeCrNdrdDoddLtdeJ53b0a2kU021us1er0eut1uaE0BOT09BRGBiFAsFrFcLu9s5L5kk41yuSz9Gw6HypoCUiqVpCIRIZ/P39nIfUmcjW63q/i2v7+vrCsgpmkqykSE6+vrSCOu66LRaKDf7/9r5weDAer1OlzXjQRZr9fY29tT/MrlcptBDg8P0ev1kEwmQUSoVCqRILlcTn5pr9eLdNDzPFiWBSEE9vf3sVqtQjr9fl9+TzabxfX1dQiEPzMMA81mE7lcDqZpbgaZz+cAgMlkAiJCKpUKgRwdHSm7k06n4ft+yEnbthU927aVdd/3kUqlFJ0PHz6EQOr1OogIV1dXClgsSLFYVBar1SqISAY9g6TT6dAR1H+VxWKBRCIR0ru9vZU6l5eXoXUGC4Lk83mk02ms12v5mRAiHkTPBJ1OB0QkO1EGISJkMhk4jiNhS6WS8u7x8bFyZBiq3W5LHc5C5XIZw+EQ2WxWvhMEMQwD9Xpd+f6NMRIkDjrOux0E4SBfrVYQQsAwDOX9QqGgvMtZJwicTCaRSCTguq7cSB1kOp2CiHB5ean4ZllWPIguHCc6SCqVUpzmWOA5ZT6f4+nTp3j58qUM8NVqhWw2ixcvXgD4fvSi0ihnTgbhZDCbzRS9g4ODu4PM5/NIEP0YnZ+fK7+S4zggIjQaDUWPgVerFQaDAYgIZ2dnik6tVlNAWq1WKLABbK4jdwXRHWTHT05OAAAXFxcgInz69EnR+/jxI4gIjuOg1+uBiDAajRQd7i4YhDMky3K5lBsSCzIYDFCpVGDbNmq1GnZ2diJB9F5nuVwq6fXk5AREhMlkouj1+31Uq1W4risTCcdHUCcIYts2TNPEYrFAs9mU9W0jSLCXiUqtDKIHHgAFhPN+VG1hiTsyemW3bRuJRCKUyvf29uJBoupDFIiepgEglUrJc1ur1fDo0aONIEdHRzAMI/Q5H1MGsSwr5I9hGHAcJx5Ef4HbEB3ky5cvIQd2d3dRLpcBAG/fvsWTJ09iIQDg/fv32N3dDX3+7du3jSCWZSlFNRak3W7DcRy4rhsb7PpuAN/TJuf2N2/e4NmzZxtBDg4OQv0S8CPBMEixWIQQArVaLdJuJIheLeNAotr4IIhlWZFOBsWyrNA5jwKxLCvUOrEvsSB6tfynIKVSCc+fP/9bkCjY2WwWAonSq1ar8SB6oeMv3Rbk9evXStccJeVyOdJB3YZlWUin0yG9QqEQD6JXy7heKwoklUopMfL48eONILZtRzqo2+BKvxWIfrS4+uogFxcXoS82DAPv3r0D8D2Qo4xza+L7fmR1BoDRaKSANBoNEBGm06nUWS6Xm+uIvshDjg7CrUjQQR6KgB8FUb+J4RrR6/Vkm69PjWdnZwpIu90OFeHhcLi5+zVNU/Y+vu/LAqmDsMMsOiBXbb1Fubq6kk7qsw7L4eGhAsKtfXC6tG07NG0qIIVCAdlsFsvlUhmMdBD9doWd4lGUHT4/P1f0eLdns5nsfjudjqKTz+cVENd1QURIJBIYj8cYjUYQQuD4+DgehHeSH+5vTk9PFRC92eOY4HmE5xi9S65UKiAirNdr3N7egohQq9Xkuuu60mYwobx69SrUdXz+/DkehB3gx7ZteXOhgzAcz+ZCCNlbeZ6HRCKBnZ0dOYD5vg/DMJDJZKS9ZDIJIYTcFI4HHUS/7NAHuxBIcHfT6TQWiwVM05TnkUGy2SyEEGi327If04OPR10+OjxnBGdv/oUKhQJarRaEELJND4K4rgvDMCRIq9XS3Q6DeJ6HTqcjr4Xy+bx0kkGC8cOPftabzaZcC178BTtnTu/BhzdSr1X9fh+ZTCYUG7EgujiOI7MRg9zc3EAIIY0nk8lQGuX2Jvgkk0klJfNx43UhRGiwuqts9beC7/sYDofwPE+58I66HQd+FDN+gldBLJzh+Jd2XReDwSDy34B7A9FlNBopd8O6eJ4nW5FGoxEKUJbJZBKa3beV/+f/7L+z/DEgfwGqM5x9rUdafgAAAABJRU5ErkJggg=="}, - {'Type': "textWave1", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGdElEQVRoge2aL4waSxzHf2LFihUrVqxYgUAgEAjECcQKBAKBuLQIBAKBQCAqSHqCBIFAIBAIkq4gKWlIeoKkNLleaEMbBIKkTXpi0yAqVpxYgUCs+FaQme7sn3vl3d27e+/dL7mE3Z2d+X1mfvOd38we4T9i9NAO3JX9f0GazSZqtdp9+HIrOxrENE0kEon78OVW9gTy2OwJ5LHZE8hjsycQALAsC61WC67r3rljx1osiGVZyOfzmM/nwn0GMp1OQUQgImSzWez3+ztxaLFYYLPZHP1eJMjFxQV3UtM0OI7Dn5mmCcMwkEwmeRkiwnA4/Pve+x0igmmax78XvOE4DnRdj3XSNE1+X9d1pNNpPip3YXcG0ul0QESQZRmyLIOIUK/X+XMGIkkSbNuG53nI5/MgInz79u12FLhDkFwuh1wuB9d1eYgVCgX+nIGUy2V+j5Xr9XpCXb1eD4qioFqtwvO8fw7EdV1IkiT0rKZpQsUMxLIsoSJd11GtVvn1er2GJEk8DP3P7h1kOp0ik8kIBRKJRCTI1dWVUK5UKgnz5OXLl8I8UxQF79+/vzXIYrGAbds3g3S7XVQqlT8CCdrZ2RkUReHXJycnICKUSiWUy2UQUajuY0Ha7TaICIZhhORe8KhWq6HdbgsFDMMIgWiaFmqErStMqlVVRSKR4A0Wi0Woqiq847ouGo0GOp0OLxcHMh6PhRGeTqfxIIVCAaPRiF8zBQuCRKUoi8UCRITtdovdbhcagfl8DiLCarUS6mKOMUGJAtnv99A0TQBpNpvxIO12G9vtFgAwm834ZD0GZLlc4urqCkSEfr8vOCPLMle25XIpOEZEmM1mkSCj0QhEhFwuh9lsBkVRkM/n40GY2bYNRVF4A8eALBYL/vvi4kIoc3Jywnuy1WoJCysblSiQTCYDVVVxfX0N4HAAEvQhBOJ5HjKZDIgIxWIxcrLfBDIej3F5eQkiwuXlpVDm+fPnePbsGYdiMu55HhqNRmTHbbfbUChNp1NBWCJBut0uVwbHcY4GsSyL//bPB+ZAt9sFcBCDVCrFn7muy6PA395kMgERYb1eh9q6ESSVSkGWZZ6BRoFEqVYUCJtvQYsSA+CgmkGQZrMJWZaFzMC27ZtBNpsNiIj3WhwIEfF4DYKMx2N8+PABRITv379HgkSJAfB7Uvvby2azoYSUSXEsyGg0QjKZFOhlWY4ECYbN+fk5n+yr1SoUDn778uULiAivX78W7n/8+DEEIkkSTk9P+fVgMOBqGgvSaDSESeU4TqRqBUcN+K1Cm80GX79+BRHh06dPkSBxqrbf70PtsezbdV1Uq1UuCLlcLh7ENE0hGbQsKxYkmJP5Q+7Hjx8gIrx79y4ShK0XQVUDDiLA2mMdmc1mhQUxlUoJm70QSCqVwmKx4NcsR/Kri381Xi6XAA4xL0kSdF0HAFxfX4OIMJlMIkFY2s/e95t/TjLp9f+l0+kQRAgkkUjwyvf7PVRVhSzLgkqxra6maVAUBf1+H9lsFkQkxLKu6+h0OpEgbA75Oy0KZL1eCxCVSgW73S6yTgGEiPhhQ7fbhaqqPC6ZSrF1pF6vh3prPB7zuorFYkhee70elssl7+m/AmFzKZvNCmX3+31ofxMCaTQamM/nkCQJzWaTJ45spM7OzlAul2HbtrBx0nVdSK1brRbS6bTQWK1Wg6ZpfB05Pz+/EYQtB4PBQCizWq2EcA+BGIbBHZNlGY7jwLZt/Pz5M9QgcFh1WfgFFYil9f6jnUKhwB2I2mUGQdjIBbcWk8kklI8JICzHIqLY+A6a53mRceu6LmRZ5iHAst9iscgdDjoIiOuW67pcfv3WbrdDX80EkGazCSJCPp//48OCm4ypXr1eR6lU4qELHBSyVCoJ5T3Pi1xHgil7oVAIZQUCiOM46Pf7scpwrL158yYkCG/fvgUAVCoVJJNJoTxTKT8IC102/3a7HRRFCUn3vX7V9TwPp6enHMIwDP6s3++DSDwLGwwGIRA2kkwRWYoS7Ox7/zzteR4KhQJ0XRd6ka0lLNSA34utH2Q4HIKIoKoqKpUKJEkSztmYPeh3dsMwIEkShsMhPyEJgnz+/DkUnq9evQrV9aAgL168EByUJEnItZix3SRLFqOE6EFBXNcVksGorTVwyOWSySQymUzsmvbg/8KxXC6haRoSiQS2220kyJ/Yg4MEbbVa3d2Hnn+jPYE8NvsFyIFK1JCsNRQAAAAASUVORK5CYII="}, - {'Type': "textWave2", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGNUlEQVRoge2ZL2wiTxTHnxiBWIFYsWIFAsElCERFBQJRwSWIFQgEAoFAVCAQiIq9XHIIckEgEOSCQFQgEBUVXI5cSI5cEHs5BJcgViAQFRUIxIrvTzQz3WF22/Jroff7pS/ZpJ2dnXmfmfdvBsL/ROi1FXgpeQM5lFiWhWq1uvd3fx0IESGTyez/3QF0eZa8gRxAl2fJG8gBdHmWvIEcQJdnyX8WZLvdol6vo9PpADgiiOM4mE6ne08UJplMBkQEIsJwOAwF6ff7GAwGoePsDZLJZBCLxfb9LFC63a6AICKkUqlAkEajIfr0+/3AsV4VhCsej8ehaZpQ1g+y2WwQjUbFO03TsFqtlLGOAjIcDlGv13F7eyvalssliAinp6fYbDZwXReRSEQB+fLli7RrRIRPnz4dH6TT6QgF0um0aG+32yAiXF1dibZKpaKAFItFEBHOz8+xXq+RSCSkcY4CMpvN8O7dOwHCGMPXr18BAOVyGYZhwPM80b/f7ysg3PzW6zUAYDQagTEm7W4gyGw2w2g0ehGQWq0GIkI0GhVm02g0hIK5XE7qP5/PFRDGGBKJhPjf8zzoui7tpAKyXC7BGAMRhR5ungrieR4Mw4BhGFgsFhiNRiAilMtlAIBpmqjVasp3fpCbmxsQESzLkvoUi0W0Wq1wkM+fP0tOVa1WlS3cBWk0GqjVamLruXDFu92uaIvH4zg7OxMK+99x0TRNgDiOAyJCpVKR+jSbTWWhJZByuaxEiF6vFwpSKpVEv5OTE6nfx48fwRjDzc2NaLMsC+12G9vtNjQnxGIxATIej0FEyGaz0kINh0PFLCWQTCaDZDIJ13VhWZaI8X6H5CB8Ev/jt1vLspToslgsAACu64KIMB6PnwTC/azdbot2v98oILlcDvV6HcCdjfOIMZlMFBAOahiGmKxUKol+8XhcMQku3Kn3AeFPuVzGfD5X/FQCWSwWkinx2oevBAfhEahUKsHzPFxeXord46JpmuKQXLiC/gUKAuHAsVhMgkmn09B1PRwEgGRGm81GJCM/CM8JfruNx+NgjN0PTITr6+sHQR7bEW6C7XYb4/FYWAh/HgQJGphHGj9IPp+X+vFAsVqtsF6vQUSh+eghEH/4vb29BRHBtm0AdwvrDzB7g/gTFAfxmxtwX8kul0v8+fMHRIQfP348CHJ5eSm1c8X98+1aBABUq9XHQfzhMgiEO/m3b9+kfldXVyAifP/+HT9//gQR4ffv34Egk8kkMI/w3OOfT9M0JSECkAKLAjIej8EYg2maKJVKsG0b0Wg0cEf8vsS/5X7B/3ZdV+rjui663a4wvd2VbjabCkg2m4VhGArI7vyPJsTdgXnU2hWufK/XCwWxbVuEzUgkglQqJb1Pp9PKfB8+fAARYTabKXOGgpycnDwJJKjWCgKZz+dSn3K5LJJkMpkEY0z0mU6ngfNxc/OHcsdxRHINBInFYkgkEjg/P0cul0M2m5Vqn6eAjMfj0KhkWRYKhQKA+7NHKpVCt9uFYRjQNA2GYSgnxN3d6/V6StUggTDGFAcMilqPgXBn3r0sME1TVA6DwUDZ+Xw+r8wH3Js8161QKDycEHVdV1ZxX5DpdCoS2cXFhXjPHZwnSc/zEI/HpUOX4zgoFAoib3DhVXAkEoFlWWCM4fT0NBwkmUz+a5Dr62vh4Dwf+MNmo9EAYwybzUa0TSYT6LqOaDT64FUPcFcH7tZcoSBnZ2dK2W6apgJimqYyUavVAhGJ84thGGKVF4sFdF0PPGs/VX79+oX3798LkN0jgATCcwcXz/MCoxYRYbvdYvdbf9GYz+cVH9jN5PvKarWCZVnIZrPK/BLIxcWFdEDiThsE4jiONFAqlZLqL14R82f3ouGlRQLp9Xoguru6BIKvZziI3wS5czebTdHmd2ZN0wJL9oOB8Jit67qoqcJA/PZer9cD88ZisYBt28ruHUKUorFQKCgm4T9W+i+dW60WOp0OGGMHN53HRAFZrVbirrVYLKJSqUjJJ5PJQNd1cUrkT9DVzjEl8DyyXC4xGAzgeR5s2wYRifKe5xF/VNI0TbkOOrY8erCaTCYwTVP8JsJBXNeFaZqIRqOhR9pjyqv/0PNS8uo/vb2UvIH8bfIP/BpHp/Ltbr0AAAAASUVORK5CYII="}, - {'Type': "textDoubleWave1", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAG8klEQVRoge2aP4gaSxzHf8UWW1xhYbEJW+zBFhYWQiRYXMBiIRYWQgxYWFhIkGBhwEKIhWBxhAtYmOQCV1zAQpIjXHEBIRewMHCFhYWFxRYWFhYWhizBwEK+r7g3k53Z1Xd37x4vee9+MMXNzvzm95k/v/n9xiP8R4T+bQOuS25AfjX5/4IMBgNUq1WsVqtrN2Y6ncJxnCv1vTRIv98HEWE6nV5pwE1yeHgIXddh2/al+/5yIESEfr9/6b43IDcgG+QGBP91kPF4jEQiAU3TsL+/L3z7bUAcx4FpmiAiXsbjMf9+VZCgi24ymUDTNEQiEczn8+sFef78uQBBRHj8+PGVQVzXxc7ODjRN81106XSaj1EoFK4XJBaL+UAUReEhyWVB9vf3uZ5SqcTrZ7MZFEURxmi329cDMpvNQETY2dnBYrFAv9+HqqogIkwmEwFkPB4jGo1C13X+LUju37/Pjb1z5w6+ffsGANxob8nlctcDwpbWa1itVgMRodfrCSDFYpEbEIvF4LquT/lkMgERQdM0PvtMdz6f56tk2zZ0XYemaYEgq9UK9XodpmlC0zQMBoPNII1GA9FoVGhwcnICIuLei4FsbW0Js3l8fOxT3mw2oSgKRqMRKpUKiAgnJycAANM0oaoq5vM5AKDT6XBdMsijR4+Ese7du4cvX76sBymVSsjlckID27ZBRGg0GgIIEUFVVYRCIRAR8vm8DySRSHB9g8EARIRWq3U+8J9bmInjOHzVvCDe8bxFXhUBJJ/Po1arCQ2m0+lakH6/D9u2EQ6Hoaqq4GKXyyWICIeHh9xQIkKtVuM6vYcfACzL8oGwOrns7e2tB0kmk74G60Di8ThvU6/XQUTodru87uzszOfdcrkcHMfh35rNpjBWoVAQQLyrVCqV4DgOdxKFQmE9yO7urs8DsQMrg5TLZd5mNBr5lL98+RK3b9/Gjx8/IMvR0ZGwWvKEMBB2Pg3D4O7fdV2YpolkMrkeJGhAXdcDQdrtttBW0zSYpsn/LpfLPsfBhHlHGaTVagkg7O/d3V2hXaVSEcZaCzKZTHwXowxyenoq9EmlUiAiPnMPHz5EJpPZCCJ7J7m+XC4Htut0OtB1fTPIYrFAJBLxHS4ZRFbO3CuLy+LxuLD9rgKSzWaFyWHCbNgI0mg0BIB4PB4IMhwOhX4sFGFGbG9v4+nTp4EgBwcHFwJJJpMIh8O+/n8J4rouPxOhUAitVmut15JjLWYE23LePrK8fv0aRIQPHz4I9e/evRNADMPwnQUA6Ha7m0GYkbquYzabAVjvfmWQXq/HD/D3799BRHjx4kUgyJs3b0BEePv2rVD//v17H0gsFoNt25hOpzg7O0OlUuHx31qQdrsNVVUxGo14nQzCXK0ckn/8+BFEhFevXp0rDvBKTNZ5LXlr3bp1K/AyZGW5XAaDlMtlWJYlKF8HIt83nz9/BhHh2bNnHKTT6Qhter0eer0evx/+CoRt86CSzWaFvgKIZVk+nz0cDi+0tVh9o9GA67qBhkajUeRyOYzH48D7QQYxDCMQolgs+qJtASQWi/kGZ7N3GZCvX78Grsj29jaePHnC4y45QA0CiUajyGQySCaTKBaLgSG8D8QwDJ53MGH5iAwiK/SCAMFnxLsK4XAYsVhsI8jdu3fx4MGDQMM3goRCIZ9vj0ajgSBHR0dCOxY/ecN0b1DIzhqDsywLqqoKW2Rvb893j8gxFRM5shBAiH4mPgBwfHy89maXYy3ZE4XDYVSrVZ8u5hFZgOjdAdVqVQBJpVK+VQPOc5uNIYrX4Pl8zr2Goig8d2AglUpFUNRsNgUjIpEI0uk0/16v1xEKhfjf7Ox5EzIWrzEdhULBZzCbNBnQd0YURUEul+OZXyaTgWEYPERnIIlEQlDE4iIWa1mWJRhhmqYQRK5WK2xtbUFRFPT7fe4dvSBshbz3BZsU+ZoQQORgkeXb3r3KQBRFwWKxEPoqisL3fKlU4luJ3frydmQPEHJhIHLYwySTyWxOrNhzjHwu8vk8IpGIABIKhXBwcADg5yXpXW52cA3D4DPvBQd+5vGssAcNBsJWSc4kdV3fnOqyYExVVcF1np6e8r3MQCzL4u46mUyCSMwaP336JBgp3xlBk8f0eFNdovPnJPmB0OuUfCDAuXfZ9IrovS/kLSErZ+9UsnfyiuM4SKVSiEajvlQA+Hm7FwoFDIdDnvCxoHYtyEWk0+lgOp3yKJSIEA6HfQkQ217FYvFCeofDITRNE0DYgfeWoBT6b/3OzrJC73nyiuu66Ha7ga+Q62S5XApnybZt4Y2YiHw/dQB/E8RxHGQyGWSz2X/kd3cmLHcnIkQikcCxfov/fHBdF/V6Hel0mj+xyvJbgFxEbkB+NfkDUJRbE8hV/lcAAAAASUVORK5CYII="}, - {'Type': "textWave4", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGqElEQVRoge2aL4gbTxTHn1gRyhYiAo1YkULEihQWGhERsZSIlEZEBBpRaMSJiIiIg0acOIiIOHEiIuJEChERJyKOEpFCoEd74igRV4gIZcWJiIgTK1ak8P2JH2+6M7N717T98fvR3z0Ykd2ZN/OZffP+DCH8IUL/9gJ+l9yD/Nfk/w0SBAGCIPjda0EQBDg4OMDFxcXOY3cG8TwP2WwWnuftPNldMhwOQUSYz+c7j90ZZD6fg4juQW6TexDcg9yD3Cp/PIjv+6hWq8jn81gul5FjfwnE932USiVks1msVqufWnxY4kDq9TqICEQE27Yjg/EvgTSbTTFBqVTS+gZBgPF4DN/3fxrk6upKzMFtPB7/PpDFYoFEIiGUG4aBm5sbqe/h4SGICOVy+adB2u22BhKl76dBeJHhNhqNRL8gCJBMJsW7k5OTSH3L5RK2bSOXy6Hf72sg2WwWRIRutwvP82DbNkzTxHa7vR2k3+/Dtm1ks1m0Wi1cXl5Ggriui3Q6jdVqhb29PRARarWa6Pf+/XsJslQq4du3b5Ku7XYLx3FEn3w+L4EEQQAiguM4YuGj0UhYRCzI5eWltstEhPPzcw3EMAwMBgMAwHq9hmEYSKfTot/x8TGICLlcDul0GkSkbQqbktoYZLFYgIhwdHQkxvi+j0QigclkEg8SZS7sKVQQIsL19bV4XigUQETinPBX8jxPMsewFItFEBFM04RhGBrIeDzWNhIAKpUKjo+P40F48qjGi+ZF5fN5SVGr1ZJ2/fnz53j69Kl4/+zZM7x48UL8vr6+FhDL5VLsfhik0+mAiDSv1+l00G6340FqtRpM04TneQiCAIPBQCifzWYSyKtXryRFbEq8iEwmg0qlIt4fHBwgkUiIGMAHe39/X/QplUqSjkajgWQyCVWGw6F0HjUQ13WlyYHvX4nPA4N0u11NOREJ2yUitFot8f7s7Ew6pKw3fGjZ1TJIpVJBJpPRQObzuWYREkij0ZB2CAAmk4lk3wyiBiV+PhwOBUj4THieByLC6ekpAMBxHFiWJenodrsSiOu6yOfzmE6nGA6HAno+n2uAEshms5FiAQCsVqtIEDWN4Of85cJQYrKQBzIMQ8sG1IDIziDcHMdBr9e7HSRKvn79CiJCp9P5IRAGjgLJ5/PS+2azeSvIkydPYp3Po0ePdgNhk1C/yNXV1c4gqs5wfIgCefz4cSzIw4cPdwNRTYvd5JcvX6R+Hz58ABGh3+/fCcI61fcqiGVZsCwL7XYbh4eHwosxzA+BbLdbzGYz2LYd+UXUeiTqsMeBqH3jQDKZDOr1utTH933h8WJBgiDA3t4eMpkMTNOUPuVdIOxe2StZlhULMp1OIz1fFIjrupE6+MxGgpycnMTa5F0gUYtQ0wiWt2/fgojw7t076fnp6ammo1AoROpQRYvsUXnWj4CokT2Xy2m5VRx03PNCoRAZEO8ECfvtVCqF/f19UaGpIGppy9Ui52Su62rBdVeQSqUiJaIsm83mdpBMJgPLsjCbzUROFOd+1UW4rotUKiV+v379Gi9fvrwVhPO3OBDenOl0KvUbj8fCO0aCpFIp9Ho9qUMciFoPpFIpVKtV8bvX68FxHE1XeMGqM+AklUGOjo6kYMzS6XS0ZFICISItRYkDCdv/+fm5lkhOJhOYpinpyuVyGAwG4lCrIFwPMQjneclkEuv1WvQrFou3pyiWZWkmwwFQBQm7RfbrYRNYLpcgIukeKp1Oo1ar4ePHjyAivHnzRpqLTYnXcHNzIwou13WxWCxEqau6ZQnEcRzNt7PPV0GI/i6i5vM5DMOAaZrafVMikRBJJNff7XYbm80GRKSVDGo9En6mtkajEQ9SKpW0Q9Tr9WJBTNMUV0JqoQUA5XJZLJbHcX5lmqZU4282G7H7YZDwfOGm3spo9Yjq+8vlciQIXyhwUz0Q8L0KvLi4QKPRkKI51/i86HA1qpo3j+VmGIZ0ZjSQTqcjeZrVaiV2iVNuBgnX91G3jADw6dMnaQEPHjzA58+fAXyvBguFAiaTCZLJpNgcFYQ3pVwuw3VdkQbFgrAZ9Xo9rFYrESATiYQwHQZZLBbI5XKoVCra7oRFvbdiYY8UbhwAo0DuEgmE0+tw40vqYrEoQFKpVGR0jRJ2FrxBLOpNpGEYGI1Gkfe6O4MA8g6yS3VdV9TX6/VaSxnukmq1Ctu2tXF8hRTlhXYVDWQ2m4lzwVcuzWbzlyeKEt/3Ua/XUa/Xf/jGPk4iC6uzszMMBoN/5E8B/5T8v//C8V+UPwbkL8E2YCkA6wuRAAAAAElFTkSuQmCC"}, - {'Type': "textInflate", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAG/UlEQVRoge2ZP4gazRvHH8hClmBhIWQLAxtYjisMHESChZAtLC5gYSEh5O+SWFgYMHAEIRIWLA7OBIsrDpLCQrgrhFhYHESCxQUsUlgIucLCgBAJV1hssZAtvm9xzLw7O2tO8yb5vfzee2Dh3Hl2Zj7PzDx/5gj/J0L/6wn8KjkH+bfJfxek2+2i0+n8jrkAADqdDg4PD1f+bmUQXddh2/bKAy0rtm1D1/WVvzsH+V1yDrLqB+cgS8o5yKof/GdB+v0+LMtCv99fSv+PgziOg1QqhVgshqOjo1Ddd+/eIR6Pg4igKAr29/clnU+fPiEejyOZTMJxnD8PsrW1BSICEUHTNLiuK+lubGxwHSJCIpGA53m83fM8GIbB223b/rUg0+kUpmlCURRsb29LIJVKBdFoVJhkq9US9D58+IALFy4IOkSEXq/HdXq9ntAWj8dDQebzOUzTRCqVwmQyWQ5kPB4jFovxzlVVFT7WdR3pdFqaYC6XE/qpVCq8LZlMQlEUEBEajQbXKRQKUj+maUogxWJRWP35fH42yLNnz6TOd3Z2BBBFUaCqKprNJt9i0WhU6IfB1mo1AEC9XpeA2bba2tpCq9XisH6Q+XwOVVWF+bA+F4LMZjOoqgpN09BoNJDL5UBEKBaLAggR4dGjRwCAb9++4fr16yAiDIdDrheJRKCqKree67pQVZVP8suXL7h06RKuXbuGr1+/AgAeP34sGaXVavHzVa/XEYvFQs+kANJut0FE3As5joNoNIp0Oi2BdLtd/o5tI/ZuNBqBiHDnzh1hMNM0oaoqAODo6AhEhFKpxNs7nY60IpZlQVEUbqSDgwMQEQaDwWKQarUKwzAEhWw2K3TMQBzH4e+63S6ICHt7e8Jv/3nwA5+cnKDZbIKI0G63ebvjOBJIMplEIpHgvz3P4ztmIcj9+/clK1qWJYFomiboTCYTEBGq1SoA8En6PRQA7O7ugogwGo1g2zaICMfHx4JOIpGQxnvy5Imgc/fuXdy7d28xSLvdltxo0B3quo5MJoOgEBEsy+LfEBHG47Gg0+12USwWMZ/PuZM4OTkRdHK5HB/Pdd3Qwx22c84MiGEgbMJ+0TSNvy+VSiAiIfgFxbIsEMnDl8tlPh5b6WazKejs7e1JLnohiOd5aDab0HVdAnn69Kmkv7a2xl3rgwcPcPHiRXz//n0hSCaTkVw2IBqOOQTmRGazGcbjMSqVCiKRyI9BHMdBvV7nhzp4+BYljYlEAqZpAji1dnCgoIQFPgCo1Wr8fb/f50E5GNuCqyn8cl03NGovA2KaJnfTuVwOly9f/ikQtgv8IIuehSDMj7PHMAxpwB+BML1bt24hHo//Y5BgLsaCZTablXJAyf2yKNpsNuF5XuhhPwtk0ST9kk6nl16RYrGIdru9MGGUQFjw8XubnwHJZDK4cuXKD0GWWZHDw0MQEd6/f//DviSQq1ev4uXLl4LC8+fPlwLxe7fNzU0paAbl5s2bWFtbk97v7Oxwb8ZWxB/9AWA4HEqxRQCJRCJ4+/atoFAqlZYGWV9fB3Bq7TDX6pdFK+LfAYPBAESEN2/eCDq1Wg3JZHIxSDKZRKVSERT8kZZN2J8N+98z95vP50ODneu6PEczTTPURftBptMprxz9ks/npfpHGM2yLNy+fVtQuHHjhuCBdF2XOgFOVzOfz/N+wkCGwyEikQh6vd5CnUKhIBhOURRks1lBR9M0nteFgtRqNSHXPz4+Do0jwWWdzWZCrvXixQsQET5//izosax4f3+fZ8LBfCyVSgnjra+vIxaLcQfEXHLwwiM0jpRKJYzHY2Sz2VCQ4P5n3oVtAVYNBgdjWXG/30ej0QARSf8LicViwnhsDrZtYzQacbCgCCAs1/cHIEVRhL3MUhe/JVl6zjJnZpCg46jVavxbVvnt7u7ydnYm/CCvXr2SgmKYs5E2KbMae8rlsrCXGUi9Xpesxqq24XAolcgAeOk8n8/x8eNHEBEePnzI21+/fi2VupPJhNfyrG2pywfg1MKGYaDRaHBfPp1OOUgkEoFhGHBdF9PplA/EPBKr9DRNE4Krpml8kp7nQVVVKIqC6XQKz/OQTCalFQH+vkWJRCILLwPPrEeYdZm1dV3H5uYmv7phNyEbGxvCd4lEQghmbLv5PR6buGEYyGQy/O8giOd5ODg4kKrJlUDYJFgnuq5je3tbWG52peMXdmcVjUZRrVb5XZm/1mZnxv8ES+tlZeUr03w+j2azyVeFPaPRSIIPS739tx+sAmRPOp2GbduhceqXgwCnSz0YDPiqhA3suq50rRpmaZZxM1ccdoe8jPwUCJN2u41yuRzqRYC/4wl7grU3cOoYKpWKdOmxqvwjkLPE8zwUCgVEo1HpDP1q+a0gf1LOQf5t8hcNB5MLDmokwwAAAABJRU5ErkJggg=="}, - {'Type': "textDeflate", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGmklEQVRoge2ZMYgaWxSGTzHFkExgCgsLiykstrCYYgsLiymEbLGETZBgwEKICxYSLCy2kCBIshALSQxIYmEgEAkWBrYMi4WFhYXFFhYWEoRsMRBDJkTIhPyvkHvfXO9o9L19L8t7e2BgnXvuzPnuPefcc2YJ/xGh323ARckVyGWTK5DLJlcgl022Bul0OpjP5/+ELQCA+XyOTqez9bytQQzDQKlU2vpFm0qpVIJhGFvPuwL5p+QKZNsJVyAbyoWCtFotlMtlzGYzaex3gTiOg2KxiFar5TtPAnn9+jWICEQEwzAwHA6F8d8B4rou4vE4t6vf70vzJBDLsvgEIsLt27eFcQbiui7a7TbOzs7+tvGj0QitVguu6/qCNJtNwaZEIrEeZDweCxPY5d0VBpLJZPh4vV5faWSz2UQmk0GtVoPrur7j7DmFQsEXJBaLCfZomiZVFwLIyckJiAi7u7uoVCowDANEhEqlIoAkk0npwefn55KRiURCWkkvzGQygaIofFxVVWSzWQFkOp3ydzBIIsJgMFgNUq1WQUQYj8cAgG63CyJCNpsVQFRVBRHBNE3oug4iQiaTER7c6XR8d/fk5ITr5PN5EBF0XUc0GuUwXpBWqwUiwuPHj4UdfP78+WqQQqEgbWs4HEY8HhdAiAgHBwd8VVVVha7rwjwWnPl8HtPpFMViUZgHAMFgEKqqYjKZAAAODg54kmFSLBahaRrPoPP5HIFAAPl8fjVIOp3G/v6+oJBIJIQHMxBv5mArywLftm0oioJIJCK4kmEYCAQCAIDhcCjtdr/fl0Du3r0Ly7IEm/b393Hv3r3VIPF4HOl0WlDIZDISiKZpgg6LrUajAeBPtzo+Phb0jo6OQESwbZu7SLvdFnQ0TRPeFwqFJLfNZrOIRqOrQabTKbrdrqCwnEUMw5AeYtu2sLqVSsU333c6HcTjcUynU5RKJSEemcRiMeF9RIRyubzWJgnET/xAlncNWPh7KpUCsFgxIvJNt0yYO/rdZ+/7+PEjiAgvX74UdJ4+fYpQKLQ5yHg8hmmaEshyoLH7zJeTySSuX7+OHz9+rHx2Op3m8eIV78JNJhMp0wF/Zq6NQBqNBjRNk4JvVYlimiZM0wQA3Lp1C8FgcCUEsIhHv5rKC8ISws7ODizLQjKZRCaT4dltLYjjONKBtwyy7LPAorRhet6/V8lyLDBpNBr8/unpqe9ZxK5v376tBmFB6D21N9mRWCzGk8CdO3d+uSOrYJvNJr///v37tSBeEX45jsNPaiJCKpVCsVjcCMQbI/fv38e1a9fWxkgqlfIFqdfr/D6rLAzDEEqZX4Kw84CdyIB/1loFwrJWoVDwzUjj8RjZbBaTyQT5fB6Kokg63vf1ej0QEbrdLhzHwWAwQK1WQzqdRjgcXg3y8OFDEBEePHiAr1+/AlgcYr/KWq7rQlVVnpYfPXoEIsLp6amg9/btWxAR3rx5g3K5DCKC4zgrQc7OzkBEePfunQS8LAJIMpmUSmQ/11ouYwaDAYgI1WoVANBut4XfTJjxw+GQp9BeryfoeF3uw4cPICK8evVqOxDLsoSiDljk+2WQSCQi6LCqmfUtjuNAURTs7u4KeqZpQlEUOI7D/X8ZNhKJ8Pe5rgsiQq1W2w7ENE3J/5fzvWEYuHHjBjf6y5cvuHnzJsLhMD5//sz1WDNUKpXgOA6Oj49BRHw3XdeFpmn87AGA2WwmpXtd15HL5QSbbNteD2IYhrRCoVDIt/plhVy9XgcRIZlMCvOW21N2eYtEdl6xFc/lchJILBaTqt9qtbq+jFdVFc1mUyD3OxBZYxUKhXzbYQD4/v07Dg8PBYjDw0N8+vSJ67CynYgQCAR8D+B8Pi+VMrlcTup/OMjPnz+haRqePHnCB1+8eME7OC9IOp0WDFyOKyaz2QzVahV7e3soFotShgIWvYX3WcsnfqPRkJKCZVlSnAo7EgwGBX+0LIuvPjPCMAw0m03eAcbjcd9+fVOxbRumaYKIEI1GpSzJ6i2W2ufzOVRVxd7e3moQwzCws7MD13V5r8y+loxGIwALn+12u3BdF/1+f22pvqm4roter4f5fI52u41YLCaMRyIR3peww3a52SK/CSxN6rrO6x3WcF2E4dsKy3je69mzZ4KOAJJKpQTlo6Mj2Lb9l/6DdJFyfn4u1VrsgwUT389BLMD/ju9ftLCgJyLpoAV8enZd16EoCv+QcJmkXC7DNE0er16RStTRaHQh33P/bfn//nv6ssoVyGWTPwDWyFxNUfRp2wAAAABJRU5ErkJggg=="}, - {'Type': "textInflateBottom", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGOElEQVRoge2ZL4gbTxTHX2ELKxa6YsWKFRERESsiIlZcISJixYmIiIiIFSlE3EHFFSKuEIiIWHEihYiIFREVFRERKyIiIk4EGkpECiciVkScCCXQUFZ8f+KY6c7+ud61vf6O9h4shJ03s+8zM+/PTAh/idD/bcDvkn8XZDabgYhweXn52425vLwEEWE2m92770+DbDabe3/sR7LZbJ5A7g3ied6Dg3ied+++TyAPARIEwZ8H2e129/7YXeS3gkwmEziOg/F4nGgbDocgerj0kwWy2Wzgui5Wq1V6v/iL9+/fg4j4Y1kWwjDk7Z1Oh4MEQYDJZCK0/4z4vo8gCDhIp9MR2sfjMRRFARFBkiTM5/PbQbbbLe8QfaIzxEA2mw1UVQUR4ejoKBUmDEOcnJxA13U0m81UnWq1CiKCruvYbrcJkDAMkc/nBXsMw8DhcMgGYdumXq/D930cHx/zVYmDNJtNYfDJZJIwstVqCTrtdlto//Dhg9D++vXrBAjzyWKxiH6/j1KplJprBJBWqwVFUbgjh2EI0zShqmoCRJZlwQjbtoWBP378CMMwBB1d1/H582euU6lUhHY2ZhSkWq1ClmVst1sAwHq9hiRJiUkRQBzHEWYfAHq9HogI19fXAgjbcsvlEpqmCToA4LouN85xHK4zGo0AANfX1yAiKIqC6XQq+GYUJJfLodlsCjaVy2UUi8VskDAME8Wg7/tC3jg/PwcRoVwuc512uw0igu/7/B3blmwLjMdjEBFqtZow7snJCe/D/OX8/BwAsNvtQEQYDoeCTe12G7lcLhskTeK1leM4iQCwWq1ARLi4uODvVFXF0dGRMJZhGCiVSgC+r9hyueTtzGccxwEATKdTEFEi5LquK2z3XwJZr9dcJwxDSJKEVqsFALi6ukp1bsdxoOs6/y1JkhDJWD8GklZFLBYLvtq3giwWC5ydncFxHDQaDe6wURBN0xLApmny7cZmMp7YOp0OZFnm45immRhHVdUEyHq9Rq/XQ6FQEIJDJshqtYIkSYk8EgdJM6BWq/FtMxgMUg9f6/WaRx/btrm/xCckDhJ/JElK9BVA4rkh+jAD6vW64OhMHMfhDhhNmllSLpe5wfH3jUYDANDtdgUbFEVBq9UStnUqSKlUgiRJ6Ha78DwP8/mcz270Q9Vq9VaQN2/egIh42ZEmxWIxFSQ6UWxCcrkcXNflk5kmAoimaYnB2fJGQdIMYM4LAKenp3j27Bm+fPmS+eFcLpc5Thxkv98LOkEQoNfrZYOoqoputysosIR4FxCm9+rVK7x48SITArgJxT8CeffuHYgInz59EnTevn2Lly9fZoNYloWzszNBgSXAH4HUajW+Is1mMxHn43KXFRmNRql1VbVaTfRNOHt8/9fr9TuBlMtl7iOnp6d4/vw5vn37ditIvD6Lg7AcNhgMeHsYhlBVFf1+PxvEdV1omiY4FcsjTCzLQqVSSRhQKpUSzn7bKdKyrETmZyCs3mNH3+jkslInHrkEEFb/2LaNw+HAw190m+RyudQ8YhgGNywr/LLEFgQBKpVKol4CxJUFbvxWlmUsl0vs93uYppnaTwD5+vUrbNtO5JA4SDyzs+KOJSkGcnV1JeixifJ9nweH+KqpqioYygpJRVF4BR2t6VJBgJtry+gpkYFFQYgIi8WCv2MlCQsUrCCcTqfC2CyUr1YrDhutmNl1UBRkMpn88HSYCsJgbNvGaDTiRrKZYyDRMM0iG6ut5vN5ZvnNxmLnj2hheXFxkQABvh8JdF1PzeqZIFFhkYOV0pqmwTAM5PN5bLdb7HY7fnZnOvv9HkTEq2EmlmVBURQA4OdzRVH4OIVCAbIs8wqZSRiGmM1mtwaPO93reJ7HjWRlNltmtm/z+bzQp1gsQpZl7ifL5RKSJOH4+FjQISI+OUSERqORqGzvIvfuYZomhsMhdF0X9m68ImAFqGma8DyPl+DR+M+2UvRMPxgMUCgUHh4EuIlS/X5fcMD4srMtGS+/o5HscDgIFxSu6/70DeYvXRl2Oh3Yti0cV6NiWZYAEvcZ4Ca31Gq1xIreVx70r7f1es2jXLlcfrD7YuAP/IcYhmEiMT6E/Lt/hj5WeQJ5bPIE8tjkCeSxyRPIY5O/BuQ/soiLzOgZW3AAAAAASUVORK5CYII="}, - {'Type': "textDeflateBottom", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAG7klEQVRoge1aIYzizhd+oqKiyVZUVFRUIBArEBUVKyoQJLcCQXJsgqhAIBBcQi4IRBPEiRUIBILkKsgFgUCsQCAQXEIu5IJAIFYgEOSCQFRUIL6/IDPLUNiF++3ebX6//5c02UxnOvPNzHvve48l/EtAf3sBr4X/LpHhcAgiwmQyefXFLBYLEBF6vd7FYy8m4vs+iAiLxeLiyV5CEAQgIvi+f/HYi4m0Wi0Qvd2NlGUZnuddPO7iFXmeB13XL57oXJim+WeIFItFmKZ58UTn4vr6Gq7rXjzuYiK5XA62bZ/d//HxEb1eD6vV6qz+juMgl8tduqzLiTiOg9vb27P6VioVSJIEIgIRoV6vvzjGdV04jnPpsi4nYts28vk8giBANpuFYRio1WqRfs1mkxPQNI3/3el0hH6VSgVEBMdxsNlsUC6XcX19/fZEmDHmcjm+OCLCcDjkfcIwhKqqUBSFt7fbbSiKglgshu12C+ApJrHHdV14ngfDMF6PSBiGmEwmCMNQaNd1Ha7rQpIkaJoGRVFARMK9rtfrICJ8+fJFGOt5HogI/X4fAFAoFEBEUBQFmqZBkiSUy+Wj7n2z2SAIgsuIzOdzxGIxfuTCACKoqgrbthEEAabTKSRJQjwe533u7u5wdXWFnz9/CmN//PgBIsLnz58B7DyUJEkYDocIggC2bUNVVRCRsIGTyQSqqkLTtJOKIkIkDEOYpikc+WAwAACsViveNp1O+RjLsoRdjMfjJz3bcDjkY03TFDZgOp3y7+8rh2Qyydv3+z9LpNFoCCSICJVKBQAwm81AREgmk8IYZi8A8OvXL1xdXeHjx49HJ9yHYRhIp9NCWyqVAhFhPp8DAJbLZWQ9Dw8PLxOxbRtEhFgsBsMwuBECT8Z5ePdd1+VEvn//DiLCp0+fXiSy/20GZl/7ToKIIMsy937H4oxAJAgCSJIEy7IQBAFXo2yyh4cHEBHG4/FJIp1OB0R0lsw4RoRdr3a7DeDJPTcaDWw2G5imCU3TnicyGo0EmwB297hYLAJ4Ur7Mfe4TkWUZAPDt2zcQEUql0otEVFU9KkdkWUaj0eDfliSJz8lE6+Pj42ki7XYbsiwLC90XcY1G46iPT6VSSCQSAJ5O7ZRe6vf7WC6XAHZGfHNzE+kTj8f5nMlkUjBw5nD2NztCpFarwbIsocM+Ec/zIobO+mQyGQBPdhSLxY4SyWQykGUZ0+kU5XL5qJJOpVIol8sAdpLoMARYloVms3maSLFYRDabjSySJTqu66JQKAjvWTJUrVYB7LwM01eH3mWz2fA4MZ/PuSEfBrpCocBP9BiRXC7HPelRIq7r8p1gEyuKwomk0+mIEbMT2D/q29tbHrGbzSZmsxlGoxEcx+EeKAxD7s4Pr4nnedwtHyNSrVb5DThKpFqtCrvIJASbyHGcCJFyuRyxm/F4LAjFw4ed3na7FZwJQ61W44t3XReqqnJZA+wM/tAETmqtfr8fEYSJRCJCJBaLCafIsFwukclkBJWgqio8zxPkx/39PQzDEByM7/s8eWOufT9+7b9/lshiseAijogwGo0ARNNQ5qFms9mp/XgR6/UasiwL8t73faiqCuBJaLKnUCig1+udRySdTnMXuq97FEXhRLbbLW5ubiIS43eQz+eRSCT4qbAgCOzyGk3TIMuyoLdeJMKCoq7rmM/nICIsl0us12sQEVKpFICdPUmSFAlMv4PZbAZJkrhHZCJxvV6j1+shFothMBjwlIGIIEnS80TYKfi+z70K8FQ8IyIkEgl+zK8Flocwfcduwng85qphMBgIJ3OSSBiGQhbHXCuwywn272oikYgkXf8EQRDwDWLPZDLhG7herwHs7JLZ7kki4/FYqPR1u10eeYfDIc8fTNN8k0rjarXi3zdNk7tcRVGE/Kfb7T5PpNlsQtd1bnT39/fcqDqdDs8Kn0s5/ymCIMBms4Ft23xDbduOFC0OKzICkVKpJEgU13W5ZvJ9/+wy0Gsgm83yuFEsFiOS5BACkVQqxeUzsAt2TJ22Wq2zi2yvgdVqhVarxed+yc0LRCzL4iV95m7Z1TrMQf4kptMpD5AAjjoZgYhpmlyO9Ho9KIrypnXec7HdbqGqKjf40WgU+Q1FIGIYBieSz+eRSqV+q3z5Fti3mXa7zRM5BoEIE4jb7RaapqFer/Nqxt+G7/vQdR1hGKJUKglXDThCpNvtwvd9WJb1V+3iECzFzeVy0HU9Uh8WiMiyDMuyoCjK0cL038bd3R2P+h8+fBDeRYz9WKXvvWA/R8rn88I7gUg8HhcU7nsEW+OzkZ0p369fv/7RxV2Cfr8PWZYjN0YgUq/XhQTnvWKz2UTaIjL+LQXhW+K/+y8c7xX/J/Le8K8h8j/0YgHdBTXJtgAAAABJRU5ErkJggg=="}, - {'Type': "textInflateTop", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGIklEQVRoge2ZLYwaWxTHjxgxbUYgEKRBjECMoAlNEIgVCMSmISkCgUCMQIygCUkRiGkyCWkQiE2DQDTpCMQKkpIGsaJpEJsGUYGoQKxAIEi7YtKMqBjxf4Kc++Yyw+7y3ts+3sue5Brumbn3d+6552Mg/E+E/u0N/FPyAHJs8gBybPIAcmzyAHJs8gBybPIAcmxyMMh4PMZkMrmPvQAAzs/PMR6PD37uYBAiguM4By90V3EcB0SHO8rBTyiKcu8giqIc/NzBILqu3zuIrusHP/eXQNrt9sEL3VVardbvAzFN8+CF7iqmaR4vyGazubPuUYJ4nodcLgciQj6fx/X19a3P/DaQTCYD0zQRBAHK5TKICJ1OJ1aX53lUq9WITqvVAhGhXC4jCAKYpgnDMO4fpFgswjRNvHv3TtrkbhL7/PkzHj16JOkQEb58+SJ0Pn36JM0NBgOYpolisfh7QMrlMgqFgrSJfD4v6XU6HRARdF1Hv99HNpsFEeHs7Ex6V/gduVwO5XL5nwUZj8fIZrOoVCoIgkBaPJ1Og4hwcnKCTqcDRVFARNIdYNDFYgEAmM/nwoWA7f1hAMdxUCqVQERIJpMRkPl8jkqlgn6/fxjI2dmZZKk4KyYSCfi+D2B7QYkI0+kUAPDr1y+oqorT01PpvZlMRvj/dDoFEaFSqQAAgiBAKpUCEUkgnuchkUiIvezLYRGQjx8/Rvz6xYsXYv709BREhGazKVmMiNDtdgEA3759AxGh1+tJ77YsC4lEAgDQ7XZBRJjNZmKe3TFsgF6vF9kPn/KNILVaDUSERqOBwWAATdOgaZpwr13rA9sTUBRFWHc2m4GIIlVyt9sVdVSj0YCiKOJUAeDy8hJEJIV3wzBEZGTQer1+M8hms4GiKJK1OTyuVisJZLlcSi/K5XIoFAoAANd1Y3Wurq6wXq8BANVqFblcTprfbDYSyPX1NYgIpVJJ2o+iKPA8bz/IdDqNKPGmwiBx1Wm9XheJjN2Bn4kTDuO7omma+J3v0WAwEPPr9RqKokgeEQHp9XrIZrOSArtJGCQu85qmiVQqBQB48+YNiAg/fvzYC8KJdVfClQMb8evXr5JOPp+PVOASSK1WE37OwknrNpBGoyEaotevX4OI8PPnz70gyWQStm3fCMInu1vaWJYlwngsyK6sVitx2ThSWJYVCxLu7O7S5e3rNHVdF3fUtm0QEebzuZTL4nqWvauNRiMpfnOYdBwHmUzmXkH4dw4snLeq1Spc1401ZmQ13/dRrVbFCzhrh0FuOxHOEd+/f/9bIPV6PZJDwuNGkLAVdF3HcDg8GOTt27e3Rq27noimaTg5OYGmaXcHWSwWQqnZbML3fRG1zs/PxYbjwq/jOCJr74ZslsvLS7iuiyAIoKpqLEj440Y4sARBgMVigeFwKIX6WBC+XMPhUPzGIK7rAgD6/T6ISMrIgBwEJpNJbNgcDAYgIqzXa+lSSxsiEsXhy5cv8eTJk4hOnEggxWIxcpF3Qdjau/VOoVAQBSGXGmGDANtTU1VVrLVb5XKNxmsd8o1L0spkMqjVapLCxcVFLMhoNJL0OKoA21Lk8ePHePXqlaRTr9fx7NkzANuclUwmpXlu1ngtziNXV1eS3ng8xsXFxX4QRVHQaDQkhWazGQsSTpzL5VJyCWBb7O3WUolEQlS27MbhTXJS5bU+fPgAIsL79++l9zx//hxPnz7dD5JOp6VOLwgCJJPJWBBFUcTXEYYN1z8cOrkCHo1GUqnP96jVagHYFoyqqkprcfMVNhrr7VYgEkihUICqqmKDfLHDkYRBNE2DYRiwbTu2Q+SwraqqCKPhAMCVrqqqsG1brB0GAbbuHjaSZVmR04+A8HGnUink83nRrRmGAcuyAGz9k3uCcEwPl9rAtgTnjfFIp9OSDre3PCqVSqSP4QvPxmP43fpLAlkul8K6fBLz+Vx8bAD+jGLsKjzi/mpot9uSzm6A4DKdB592uGv0fV+0wDziPj9FYpvrukilUjAMQ3zimUwmom9frVZwHAee56HdbkNV1b19tO/7KJVKN+rYtg1N09But+F5HhzHiSTS2Wwmsnuz2ZQKyL0g/1V5ADk2+QMXuYmGRHEj9gAAAABJRU5ErkJggg=="}, - {'Type': "textDeflateTop", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGcklEQVRoge1YLYziWhQ+ouIKRAWioqICUdFsKhBkg0AgECMQCLJBVCBWzCYjRiAQ3SBWIEawCWIEAoFYgRiBQJAsAjECgUCwSQUCgahAVCC+JybnTi8FdnZ35r15781JbsJtD/ee797z850S/iNC/7QBzyVvQF6bvAF5bfIG5LXJG5DXJm9AXpu8AXlt8v8Dsl6vX9KOo7JcLp+s+2Qgvu9jMBj8lkG/I6PRCI1G48n6CSCj0eiowd1uF7lc7s+s+wUpFArodruJ58PhEPf394nnCpDdbgchBIgI/X5fUez1erAs65nNPS2O46DX6ynPJpMJiAi2bSf0FSDj8RhEBCJCOp1GGIby3Wg0AtHflxvS6TRGo5HyzHVdad9isVDeKZbd3NxIRSLC5eWlfLdcLkFE2G63L2h+zDAiTCYTOR8MBoptt7e3qn588vHjRxARKpUKNE1DKpVCFEUAgCAIQEQIguDFQfBeq9VKPiuXy9A0DbZtJw45AcTzPOl/nU4HRIThcAgA2O/3IKKjgfbccn9/rxxaFEUQQsD3fURRBMMwUKlUTgMpFouo1WpynslklDkR4e7u7gUhPAgH9X6/B/CQqVKplJxXKhXk83nlP4kYaTabct5qtZQMYZpmIpO8hAwGA5imKef1el050GazmcigiTQUD7DpdAoiknFiWRZ8339uuxPS6XQUQ13XVWpbr9dTgAI/qexRFClxkc/n0Ww2Ua1W8eXLl+e0Hfv9Hr7vo16vw/d9FAoFAA+1TdM0JfB7vV6iFPy0MKTTaXkanudB13WZAq+urp4NSLVaVWoYA5lOp9B1XdH9LSCWZaHdbgN4ABLP5UQk3/2JfP36NbHuhw8fAADtdluCYmk2m78OpFAoyLjwfR9EhHw+j9lsBtu2oev6HxXJ3W4HXddh2zbG4zEKhYJy257nyUDfbDYol8sS7Fkg3W4XlmXJIYTA9fW1AoRry3q9hhDirIvNZjMMBgMMh8OjtLzT6UAIIdsEpkmtVgvAQ0loNpvodruKW58FslqtoGla4po9zwPw6JtxnuP7PoQQ2O12ysLT6VThRjz4UFgymYxyEEyFOM3bti2J7OE4CaTdbh/9AwO5u7sDESlN1nq9TrDl9XqNVCol/2+aJtLptJxziuf14gfD9ITXi6/Do1AoKGUiASQezJqmIZ/Pw3EclMtlecrH+FZcBwAajQaICIZhSCOjKMLFxYXi/9VqFZlMRlmLgUwmE4RhqAAoFouYTqc4JgoQDrRWqyUD+Pr6WmaNU8Tx6uoKQgg5Z5fiWGKZz+cgIlxcXAB4cJtDV+M9ptMpFouF1J/NZkcBHAWSzWbhuq6i4Pu+fMZudNgLdLtdha3quq4w57i0Wi2EYYjdbgciQqfTOQokCAIJ/ClEVQFiWZaMhziQOF0gokTDM5vNFEJJRMhms2c3ZoZ7uFacFjF5PIyHzWajVPoEECGEQhoZiKZpis5hU7PdbpXiSER4//79WSC3t7eJngMA+v2+dFO+ke/fvys6nz9/Ps+1iCjx5YJrB1PoU8SRiORzziznhNc9jLdWqyU9gG9kPB4rOtVqNRECChDDMFCtVhWFy8tLZcNcLpdoag6BvHv37qeudQqI53lwHAfAo5sdxpHrujJhHAViWVbik08ul1M2LJVKiWvl7pGBlEolGIZxFMBsNkMYhrIDPQRi27a8zdVqBSLCp0+f5PsfP35A1/Xzra5t24oB2+1WVlUOOK41cd/mNMlAuPc/rPasNxgMJEuYz+fyPWes+GkzD2PhjxA3NzengdRqNbkR8FAfDqsxu1q9Xpf/6/f7ypcNNvLYtzFmBvw73nGyu8UzZzablXphGMJxnMQBJIDwdWuaJv9gGIaSqXgzIYTM71wA41Vc13Ul4Pf7PVzXlafLGYmDNggCSUfimZMPl/ckokR/kgDCi8dHo9GA4ziSVrTbbei6DsuyoGkaTNOUgOPCN+d5HkajkaTf8RswDANEBMuykEqlYBgGTNNU3IZvOz7i/ftRIMAjTWGyF4YhyuUyisUiAODbt2/SoPjih99pwzBEJpNRdBzHkWkcePQAHu12G5qmKWCjKJLfsvhWDmvPUSDz+Ryu68I0TUnQxuOxPKUgCGRQe54HIQTq9bpiIMtyuUSxWIQQAqVSCZvNJqFTr9ehaRpqtZrs2w/9f7FYIJPJwDCMRNydBPJvlTcgr03+AiRA3AD+jIkcAAAAAElFTkSuQmCC"}, - {'Type': "textDeflateInflate", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAIWUlEQVRogeWaIYziWhSGr6ioQHQTkkUgmg0CUVFRgUCQzYhmM2IEAjGiAoFAVCCaDYIEMWJEBdnMJiMqViAQbEKyCAQCMQKBQIxgk2bTZCsQTRaBqPifIOe+3rYzb+Zldvdl30kqaG9v73fvPafn/IXhDzH2uwfwUvb/BVkul2CMYbvdvvhgttstGGNYLpfPvvfZIIvFAowx+L7/7If9k/m+/+tAPM/76SCe5z373n8NEgQBjscjVqsV7u/vc9seDgeMx2N0u12MRiNEUZTbZrVa4XA4/ByQu7s7eJ6H8XiMOI4zIKvVCoqigDEGxhja7bbQzvd9lEolKIqCer0OSZKgKArCMORtbNuGJElgjEGWZd53GiQIAkwmE8zn86eDBEGAarXKB8gYw/n5eQZEURS4rovtdgvHcYQBHI9H6LqOWq2G/X7PwWRZhm3bAIDpdArGGPr9PrbbLVzX5ROTBElPmKZpuSsrgNAAJElCt9uF4zgcarfbAQCGwyEYY3AcR+jIMAzoug4AWK/XYIxhsVgIbW5ubvh9pmlC0zTh+tXVFRhjuLq6AgDEcYxyuYxisYjRaIR+v49CoYCLi4vHQebzORhjuLu74+cmk4kQSQaDQa6zDwYDSJIEAPj48SMYY/j69WvmgWSlUomvDtl+vwdjDIPBAADw6dMnMMYwnU55m/F4LExsLojjOHxWyXa7XQZEUZTMwAgQAPr9Phhjgs8kLY5jMMYwHA4z18rlMgdJTk7SqtVq5l4BZLFYYLVa8d/L5RKGYWRAVFXNdG7bNkqlEgDAdd3cVfN9H+v1GsfjEZVKJbMiAFCv1zlIt9tFoVDAcDjEer3mE2NZFs7Ozh4GIbu7u0Oj0QBjDOVyWQDpdru5IPV6nXc+m83AGIPrukKby8tLMMaw3+/RarVQr9cz/SQBO52OEHQURUGr1YJpmpkxZEBub2/5TcPhkA+K9qRlWZBlGYfDgd9Dzp3cy7quQ1EUjMdj7HY7uK4LWZa5o5I/JkNqFEWQZRmWZQE4Ob8sy1gsFhgMBnx3MMZQLBYfBtntdpAkCWdnZzzej0YjYZtYlgXGGJrNJnzfx3Q6RalUQrPZFDr2fZ+vKh2mafJwTH0VCgVMp1P4vo92uw3GGAchx06mLJvNBv1+//EVsW0bqqrieDzyc7S8SZBKpSLEdsuyHnTsKIqwWq0QBEHm2uFwgG3bkGUZjDEUCgWUy2UOQitEPvOYCSCGYaDb7fLfYRjyh1C222w24TgOgiDAcrl8kZwrDEMsl0vsdjv0ej0OApwmTtd1YaJms1lmYgSQQqHAOzkcDjBNk2+l0WjEz/9sS+6IIAigKAosy8LxeEQcx9A0LfOaEECKxSIURcH19TU0TYNpmgCQeUP/aptOpzwnS27npAkg5+fngmP+itl/qm02G+i6ziNqeksLIL7vo9PpwPO8B533d9t2u82d4GfXI+v1WnhfvLSNRiMhu3iqPRuk0WjkZp8vZf+2/2eDNJtNNBqNZz/oqdZoNDKO/BR7NohlWT8VxDCMPwNEVdX/JshsNoNt208OEL8FZDKZoFarYTAY5IZrKrDooBKWLI5j2LYNTdMwmUx+PYiu61yoo+P6+lpo9/nzZ7x69Upo8/r1a2w2G96GRAs6ZrPZy4MEQQDP8/hMJUFUVeUihaZpXM5JSj1URHU6HYRhCNu2BeAgCHjaoWkaJEmCrutQVTUjbOz3eyyXS6H/J4F4niek6f1+n1+j2py0LeBUNTLGMB6PebtisQhN0/iWi+MYxWKR529UwFG2vV6vOVgybQ/DkCs5VKg9CYQqt3SJSQMikGQhFUURJElCp9MB8Lf0mZwAAGi1WryupyIqmW7QKiZBLi4uhLFIkoT1ev04CIkCqqryYp86p5sJJK0G1mo1rlNtNptMGQucdK12uw3g9OJLp+IkPRHI4XCALMswDINLqpVKBYZhPA5Cq5HUjMip07pWWu/t9Xool8sAgC9fvvzjp4dqtZpx6vv7+1xdK+mnq9VKmNhckMFgkFH/0lJ/Ur9K30vnaQDfvn17EERRlMzWAyCAUJ9piVTTtMd1rfF4nHGmm5ubJ4GQSLHf77mulafRAqctnBey0yCdTidXDCRJ6EGQpC0WC0EFoSqR9Nm0Jb+bPARL9tjng3K5zM+3Wi0u/ZimCcdxMJ/P0e12Ua1WHwcJw1AAoNBHndOA00bhNIoifPjwAYwxfP/+PReEJNO0gJcGSctJyYP8MRfkeDzygZdKJbiuy7XfNEh62+T5SLoc3e/3XFhQFCVX5kk+6/z8HLquYz6fw3VdtNttGIaBQqGQmUzhF+1t27b5QNPbgEDSUYvSDeDvD6bJdAQ4+Zssy4iiCKqqotfrCdfDMBSeRVlEnqUjogBSr9cze4/eCZTwEUg6m03qsXRPeus4jsOlzkajgVqtJlyn8J8ESUujD1lGDkrHdopatA0IJKmkH49HQRMDTt8/0pGFvmIBJ0eWZVnQsCjVIRDaIel3xuXlZaYcFkDevHmDd+/e8d8/fvzA27dvwRjD+/fvBZBkkkgPTEYhyggoH6PtRu8O6ofeByTEJV+A5J/JSYuiCIqiPB5+G40GJEmC53mIoojXE7Is84yUvv2pqopSqcTV+XT2S+mGLMswTZMPkrKG/X7P72u324KenBStKbu+urrCZrPh2tvNzc3DIBRtkke/30ej0eAfRGlmk1lwcmaTdnZ2JrS5vLwUrvd6PeE69ZkEWSwWGZUxmVXnggCnqk5RFJTLZf7mvb295RHm/v4elmUhDEO0221Bl02b7/toNpt8VdLCWhzH/NOCbdsIwxCWZWUi4u3tLSqVCv++kleX/H//VPNftT8G5C+JKlIcDg8DmAAAAABJRU5ErkJggg=="}, - {'Type': "textDeflateInflateDeflate", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAI8klEQVRoge2ZL5DiyhbGW0REREREICIiIiIQEQgEAhExAoEYgUBEIBAIBAKBoAqBiEBEjKC2EAgEW4WIQEREIKjaCARbNYK6FYFAREREICK+K6a6H53A7J83e/fV3XeqRkwS0ufX6XP6O6cJ/iVGfrcDH2V/LkgQBCCE4HA4fLgz9N1BEPzwb38aJIqiHx7sW3Y4HH4PSBRFWK/XCMMQWZYVno3jGJ7nYTabIQgCXK/XwjOvr6/YbDZ4fX1FFEUfB5KmKUajESzLgqZpqNfrcF23ANLpdCCKIiqVCgRBgK7r3HLzfR+SJMEwDAyHQ9TrdUiShNfXVwDA5XKBYRgQBIG9o91uF0CiKEK73UalUkGtVsN0Or07aRxIHMcwDAOmacJxHLiuC8uyQAjBbrcDACwWCxBCUKlUcD6f2e90XUelUgEAJEkCQRAwHA65wVqtFrrdLgCgXq9DURTEcczAarUaB3I+nyHLMgzDwGg0guu60HUd9Xq98HU5EMdxIIoiLpcLu3Y+n0EIwWKx4EDm8zn3osFgAEII4jjG58+fQQjBly9fCjMHAFmWQRRF2LbNXafvpmP1ej3IssxgKbAoipjNZo9BjscjWx5pmmK73aLb7d4FuYUFANd1QQjB+XzGfD5/NyEkSQJCCKbTKXc9jmNuLMuyoKoqHMfBZrPB8XjE9XpFs9mEYRiPQYC3zNFsNiGKIlRVxXA4vAsShiH3u1qtBkmSAABhGIIQgs1mwz0zHA5RqVSQZRnK5TJqtdo3QRRFYY4TQiAIAmRZhiiKj0H2+z0EQUCj0cB+v2dg90D6/T6At2VCr90mhU6nA1mW0el0sF6vMR6PubhZr9cQBAGLxYIF72g04sbq9/sQRRFpmgJ4WyVhGMJ1XRZrd0FqtRrq9XphFgkhcByHAzFNE7quQ9M0qKrKBr81z/PQ6/Vg2za63S48z+Pur9dr9g7TNNms03e9vr5CEARugujkUri7ILIss8+dJAmGwyFM00SpVEK73QYA7HY7DIdDZFmGIAgKS+xn7Hg8sn1mPB6zDAm8JSBBENDv93E6nRAEAURRxNPT02OQXq8HQgg0TYMsy2i320jTFMfjsTAD/6RtNhtUKhUQQkAIgSRJhUTCgVwuF0ynU8xms18iQf5bo18knzGBn5Ao+/0ejUbjQxzL2+VyQaPR4JbW99oPg9Bg/xVGtda9xPEt+z/Ir7DfBnI6neC67sMUnKYpptMpbNuG67p3ZXwQBJjNZjifz8iy7GNBjscjptMpOp0OJpMJJ9ooiO/7EASBpcTJZFKAKJfL7D5VzLcS3HEcdk8QBHiedxfE8zwMBgOMRqOHlWkBhO7kVM8QQqDrOnOAgiiKgqenJziOA03TQAhhsgZ4kxeEELTbbXiexyQ6dTJJEsiyDF3X4TgOms0mJEkqgEwmExBCUCqVoCgKCCEF5VsAWa/XIIRguVwiyzJWZNEvcAtiWRaDOx6PbPelpigK9wWu1yskSWI7MgWlhVaWZaz2oSBUsjebTfYe+hW32+1jkOVyWSiG8gFIQfLK1rIsJq1pDZOfuW63y/agarVaUL+bzYYbazabcUUdNdM0Ua1WH4NQy7IMp9MJvu+zmftWPTIej5m03u12dx24NVVVMRqNuGvX65Ubq9PpQJIkBEGAIAiw2WywWCzw9PTESoa7IJfLBc1mkwvQ/Lp9lH5fXl5ACEGapvj06RMIIfj69etdCJqdxuNx4Z4kSWysvC80Kei6/r5opA2C8XiMzWaDw+GA0+n0XSD0ehRFGI/H71aIdOnlMx0AaJrGxmo0GtA0Db7v43A4cNkzb5xHt3Kdmu/73wVCswvwn6/z119/PRxYEITC0gJwt2bPW7vdLug9zqN+vw9d17mNi0r7PAjNNtQGgwEblO4Hp9OJe2a322EwGCBJEhiGUZi0fKODBvtte2i73d7tdHIg5/MZ1WqVBSJtPNwDyTcOdF1nmSRfHlOjCSHLMjQaDaiqyt2njuf3mlKphNFoxHpp92KrsEayLIPjOKjVaqhWq9hut1BVlTm+WCxYA4B+ldVqBUIIXl5eOLDbsjnLMui6zlLudDrlfhNFEUqlUmECPM9jG6FhGNym+y7IPZvP5wzEdV1omgbbtiEIAsrlMgRBQKlUQpIk7DfUUdu2sd1uWQai+8/lckGpVIIgCDBNE6Io4vn5+Z8TjVEUwfM8JEnCnNN1vRAzWZYxWUL/np+fuWf2+z2TN81mE3EcY7Va3a0APxwkb+/V8mma4uXlhanfez1bAO+m1e+1P/egh7ZRf4UlSYJut1sQhN9jP11Y/Youy4dViLcBTLuJk8mEi4PfAeL7PpP4tFzIx1vhWIGKOd/3MRwOIcsyTNMsFFb7/R6TyYTpskeBnGXZu9C73Q6TyQSTyYQdIt2C0E6jbdvwfZ/VR7SFexfkeDxymxqdjdv8T0EkSYJlWej3+1AUBaZpcg7THpUkSSiVSpBlGc/Pz1xDulqtQlEU9Pt9WJbFKlIKEoYhBEHAcrnkfKpWq9B1/TEItSiKEIYhgiBgVeN7EuV6vaJarcKyLPa/qqqo1+tME8VxDE3T0Gq1ALxJdFVVOV1H300dt22bKYggCLBcLjGdTtkm/BAkDEOoqsptYqZpfpdopIc7SZKwwiovJ5IkwfV6ZSdWt6UxvX8rEm/7vYqiwDAM1Ot1tFotDAaDxyDVapXpf7pJpWnKla1UfdLzw/xsRlHEoPKw1KjKzR/f0bFuQcrlcuH3dEIegtB1fGu0jqaKkwZk/qyDHuTcwuZr9vV6jV6vhyzLoKoqms0md5/GIwWxbRuEEByPR/bM9XqFruswTfMxSKvVgiiKmM/nOBwOmM/nkGWZK4IoSKlUQhAESNMU6/Wak9dZlrGDG8/zcL1esdvtIMsyg3Ndlx1qXi4XrFYr6LrOgURRBFEUYZomPM+D53loNBp3mx+FeqTf70NVVda6CcMQnU6HVWRU6M3ncxZP9MDyNgXHcYxOpwNFUSAIwt0z8vl8zuJAVVXMZjNomsbF1uFwYOeThBCUy2WsVivk7c/VWv+r9q8B+Rs10Wlx1IHHdwAAAABJRU5ErkJggg=="}, - {'Type': "textFadeRight", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAFs0lEQVRoge2aL2zbThTHHzAwMAgwMDAwCAiIJoOAgAIDg4IAA0vbpABrKgiwtICCggBLAQUFAQMB1RZQUE0BBgWVNmAwTQXZVBCQaQEBAQEFBgUBlvb9genu58s5XdulW/T75UkH6r7787m79973qhL+I0Z/ewGbsh3IttkOZNvswSDj8Rjdbhdpmj7Feh5tDwZJkgREhCRJnmA5j7cdyA7kiWwHsgN5ItsqkCRJYNs2JpPJg/sWghwdHUFRFFQqFVxdXUmTPSXIY8eWQC4vL0FEvCmKgul0WjjZZDJBt9vFbDb7nfUXjv1Qk0BevnwpgBARXr9+LU12eXmJcrkMIoJlWRuRLBsDub29haqqEoiqqsiyTJis2WwKPmEYSoOPRiMYhgFVVXF4ePjnQEajEYgIlUoF4/EYg8GAg7EAZJNpmiaAaJqG5XLJx8qyjJ8Ya8fHx8LkaZqi1WrB8zxMJpPNgQwGAxARzs/P+bd2u82vUh6EiBAEAebzOWq1muADAOfn59xP13V+sre3t9zHcRxhI87OztaCzGYzoe+dIFEUgYiwWCz4N7bwN2/eSCAsyC8uLkBE6Ha7vF8QBCAi9Pt9AECn0wER4ezsDADw6dMnDuC6LhRFgWVZEshkMoFhGHwjwjDk13wtSBiG0HVdcEjTFESEKIoEkHq9Lvjpug7P8/jPlmWhUqnwSVn8tVotAD9TPBHh4uICgJgt8yCWZUFRFBwcHKDZbEJRFPi+fzdIEASwbVt2KgBhC2K2v78P0zQBAMvlsjABuK7LN8B1XVSrVWmMPMjHjx+F2wD8e2XjOF4PkqYphsPhvUB6vZ7gw2IJ+HkdiAinp6eCz9HREYezLEvajF6vJ4CEYYhSqSQkEdZ3b29vPcg6KwLJBzYA9Pt9Hl/smtyVfUqlkgS6mrVc10WtVpP6BkEAwzAeBsKCchXkw4cPgt/bt29BRPj+/Ts//i9fvhSOmWUZiAiDwUD4zk6SgVSrVaiqyuNktb7dCyRNU0RRxOvFKsjnz58F//fv34OI8PXrV7x79w5EhG/fvhWOPZvNCkHYdwZimiaICKZpolarodFooNVqIYoiqW8hyHA45LmftVWQvP7Kf0+ShNej+Xz+WyDPnj3D8+fPC8dYNQnk6upKOsIikFWhWASyTkyuA1m9Wo7jwHEcqb/jOL8Odtu2BYDDw8N7gbCiOJ1OOci6dwUDWZUsLN0ykCAIoKoqbm5uuM/19fWv0y9zYvKd5e8ikOvra2Gg/CkMh8NCnziO0Wg0eLC3223h98fHxwIIG8fzPEynU8RxDNM0US6Xpc0RQE5OTjhEvp4Ugaym1nxcrPPpdDpcOZTLZan47u3tCf2yLOPyhDXTNAtPWgBh0jxfSe8LwnYz77M6ju/7vC74vi+cWl7D5ceez+fwfR++76PX60nFsRDEcRxJoa4DYeKP2YsXL1AqlQAAi8UCRISDgwPBxzAMNJtNAOBKl1V4TdPged5mZLxt21I2uLm5uZdEsW0b+/v7/OdyuQzDMPimrGqk5XIpvFc0TcN4PEan0xGC+1EglmVJypKlxLtEY5qmUFUVnU6Hf2My3vM89Ho9aJomPb5GoxFs20a9Xsd4PH7w4teCqKoqXYfT09NCEMuyuERnYi+fEvMPK9by75VNGwf58eMHSqUSXr16JTiwBMBSZT4o+/0+f/goiiJciSzLUK1WuW+tVlsbqBsFAX5erfzjKMsyrrWY/GYgq3+kcF1XGnyxWCAMQ0RR9KQQEkilUhHkMStIiqIgCAIBhD2CWFuttH/aBBDXdYUrY1kWdF1HvV7nO85A4jjmEPls9bdMAGGvvHxrt9toNBpcFiRJAl3XsVgsEMfxnUXqT5oAwopUXm9Np1MEQcBBlstl4V8x/rYJIPP5XAhiFuDr3hXbZJKMPzk5gaIocF13K67Mfe3/+w8D22o7kG2zfwDRbvJQmsnd7AAAAABJRU5ErkJggg=="}, - {'Type': "textFadeLeft", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGIklEQVRoge2YP2gTbxjHn+EVMmSIeMNBg97QIUiGUDIECfaQDC0KHhgkYpEDO2TIkEE0Q4aDDA4dOmQIWiVCBcEOHTJ0yJAhYAfBKB1uCJKh4A2FFjzwlBu+v6G813vvTf/YX22r9IEb8v558n7e93mfPy/hHxE66wWclFyAnDe5ADlvcq5AdnZ20Gg0YNv2b889VyC9Xg9EhF6v99tzL0D+hFyA4ALkz8gFCI4BYts2MpnMsf7sMDkMZGdnZ9+5vw3yf3btuLodx0E6nQYRYXFxcezcMwdxHAfPnz+Hbdv76jYMA0QEIgJjDMPhUNJzKiC2bcN1XanddV1omgYiQjKZRLfblXRvbGwEEPyr1WqnC+K6LmZmZkBEiMfjWF9fF/prtZqwwEqlIumu1+sSSDKZPFmQ4XAI0zRhWRa2trakscViUViApmlBn+/7UBRF6I/H4xJIKpUK7kav10MikQARYTQaHQ3EdV30ej1pAgdZXV0VFlIsFoVxg8Eg6Eun04jFYiAi9Pt9AMDa2hqICLlcDpubm5ibmwvGcxDP80BEyGQygd5qtQoiwsrKysEgrutifn4+2B0iQqlUkkDS6TQYYygUCsEiwzvJzcayLADA8vIyiAj1eh0A0Gg0QERYW1sDsHvpGWOCHr4ZYU/F27iesSCe5yGfz4OIYBgGKpVKsOvcvjlIeFdWVlakS5jL5aBpGjzPA7BnSvzkDMOAqqrCYvh94iCvX78GEaHb7QZjfv78iYmJCTx69Gh/kNXVVenY+v0+iAgLCwsCSD6fFxSlUinkcjkAwPb2NhKJBCqVijDm3r17uHHjRgA6MzMj9HOz4SBPnjwBEUkeL5vNBv81FqTVaknKAQgmwkH4by7lchmMMQC77paIsLS0JIyxLCswCU3TUK1Whf5WqyWAmKYpOAgupVJJaj/Ua3GbjIKEjzu8CMdx0Ol0DnXRiqJIoFHXfvfuXUxNTUlzHz9+jImJiYNBBoMBqtUqdF0XvFIUhHsfLu12O3CLb9++BRHh06dPYyE8z0MsFsOLFy+E9vX1dQFE13Xoui7N5ya4LwjfSe7TC4UCLMsaCxJ1y9yd9vt9vHz5EkQ0NpUAgG/fvoGI8ObNG6H9y5cvAkgul4OqqjBNE+VyGZZlwbIs6Lp+MEgmk4GiKFIEPgpI2CyWlpZARNjc3BwLMhqNQERot9tj2znI9evXpage/n78+DEeJB6PY25uTlDuOM5YkKj98zgxHA7x6tUrEBG+fv06FmQ4HIKIsLy8fCDI1atXDwT5/v37eJB8Po/JyUlBOTe3KEin0xHGhe/I+/fvQUT4/PnzWJCjnkgymTwQJCzSHWGMoVgswrZtdLtdqKoaJHRhkGhdwCO553lHSiyPAqJpGnRdR7vdhmVZmJ+fx507d5DNZqVgKnmt8OKJCKlUCpqmwTRNASSc/wC7F1NRFAB7QTSaDzWbzUAPY0yKRdzkOMjU1JSUw+27MeMaHcdBq9XC4uIiPM9DsVgMIjkHYYwFCx0MBmCMBYscjUa4fPkynj17Juh9+vQprly5gl+/fkHTNKmuiJ7k9PQ0Zmdnjw8SlcFgIN0R0zTBGEO5XA6Ko/AJZLNZKQYYhhHcwXQ6DcMwhP5oIL19+zZu3rx5ciBh2draQr1ex3A4DGoDng3zBBHYC1qDwQDAbtKYSCQCuEKhgFQqJeheWFiQUpSoCZ8YSFhs20Yul0OhUJCCH78nmUwGHz9+DCo9nmtx5xAuyEzTFEAqlQpisRh83xd012o1ydn80Xethw8fSi6T1x88E+BZte/7gYlykGazCSLChw8fBL2zs7O4du3a6YFsbGwIBVrYTFzXRSwWg6qqsG07SDrDIDz3irppRVGQzWZPDwTYMz9d16WUpVQqCacVrRBHoxEuXbqEBw8eBHO4yd6/f/90QQ6ScLXJi7VoIFVVFYyxILfjSWy0ljnzt9/w49u7d+8kEP4ooWkaGo1G8D4QNbczB/F9H81mE51OB47jQFVVAYSX39HPcRxBz5mDRMX3fSEebW9v49atWwLE9PS0NO/cgYwTnsxykGgOB/wlIMAujGEYQdyJyl8DcphcgJw3+WdA/gNJA/iefPxbBwAAAABJRU5ErkJggg=="}, - {'Type': "textFadeUp", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAIE0lEQVRoge2ZL4zizBvHJ5eKiooKLmnuEE0OsWIFuSDIBVGxuSAQCMQm10sQ5IJAkAsCgeCCQCAqECsQTQ6BQCDIhksQFSSHQCBIDrECsQJBLhUVzaXi+woyz3WW5Zbdt/v+/uR9kiZLZzrTz3Tmeb7Pswz/J8b+0y8Qlf0LcsxWqxWGw+HR9vF4jMViEfW00YMMh0Msl8uj7ZvNBldXV1FPGz1Io9GA7/t/7FOv16OeNnqQarX6YJ9KpRL1tNGDlMvlSPo81iIF2e12qNVqD/ZrtVq4ubmJcupoQabTKfr9/oP9RqMRRqNRlFNHC2JZFubz+YP9VqsVGo1GlFNHC2KaJjzPe7BfEAS4vLyMcupoQXK53Ml9s9lslFNHBxIEAfL5/Mn9C4UCXNeNavq/B9LtdjEYDAAAy+USlUoFlmVhu91Sn81mg2azSb93ux0sy0K73cZsNgOwPzPhPk+xJ4OMRiMwxlAsFgEAtm2jXq9DkiR0u13qV6vVwBgjdzscDiFJEtrtNizLAgC0220wxmhR/jEQ3/eh67oAUq1WkcvlwBgTInc8HgdjDO12GwDQbDbBGEMul0OpVBJA4vH4g/ImUhDLssAYE0AuLi6gaRoYY+SRfvz4AUmShHulUoleOp1OAwB6vR6Nx7/Ss4P4vg9N05BMJoXV1zQNkiRBVVUYhgHg9/ZLJBJIJBIAgMvLS8RiMSiKAkVREAQBhsOh0C8IgucH6ff7yGQyAIBMJgPLsnB7ewvGGGq1GizLIpBOpwPDMLDZbMAYg+d5MAwDjUYDnU4HjDGsVivMZjMwxhAEAVKp1JOi/qNB0uk0HMchEMdxMB6PwRjDer1Gv98nkHK5TGdD0zQsl0sYhgHbtgl+MBgQKAA4jkML9Wwgq9UKyWSSfmuaBtd10W636b7jOASSyWQwnU4B7APgZDKBYRjCQtRqNQRBAMYYxZV0Oo3VavV8IJVKhbI713Vp3xcKBUqWwiC6rlNMKZfLsG1bAOl0OqQGdF2nzNK27UfnLCeD8EO+2+0AAJPJBIVCAQBwdnaGyWRyACJJEj3farXQbDYFkPV6jVgsBmDv9fjZ4O79Ma74UV8kfAibzSYsy4LneZAkicQiB9lut9B1nfoPh0PM53OYpkkgAKCqKna7HSqVCp0nYP/1bdt+HpCwGYaB2WyGxWKBVCpF9x3HgWmaWCwWFCfCViwWhQiey+UwHo/R7XbpCwPAbDa79/lj9iSQ9XoNRVHgeR663a6Quvb7fRSLRWGL3QXp9Xr0m7tix3FwdnYm9I3H4ycf+keDzOdzCojAfguEtdXV1RVti/tkfa1WEwTiaDTC5eUlXNcFYwy2bdOVyWROTsBOBvE8D5VKhaQE9yrpdJpULLA/O81mE71ej+RL2JrNplBp2Ww2OD8/BwC8ffuWxufXu3fv8OvXr2hAgiBAJpMRJuDVRL7FuJVKJYK5D6TT6RzcV1UVvu/j48ePByCMMXz79i0akGq1SoPGYjEwxrDZbLBerymWcCsUCuj1eqjX6/fGAh5LwpZKpbBYLEi23L1O2V4PgqxWK1KwZ2dnGI/H5PuHw+FBVphKpTAYDFAsFu9Nlsbj8QG8aZro9Xq4vr6+F+QUyfIgSD6fB2MMhmHAdV1YlkWHuNFoHJQ/NU2D4zhHQRaLhRAogd/nxvd9yLL8pCL3H0Fubm4gSRJKpRJJ63w+j1arRX+H61i+75N4PAbCxeLt7S3dCytqwzCEwBgJSKVSQSKRIKkQBAFUVSUhGI/HhTrWzc0Nib9cLncAwsdhjAnRfTabQVVVACAZExmI7/tQVVX4X8d8Pqe8gvv98MpOp1M6P4ZhHIAkk0mKQ2H5sd1uyYE4jgNZlk+qj50EYts2YrGYINwajYYg13kOwa3T6ZBcMQyDcnJuuq5ToLtbtWeMYTQaIQgCKIqC8Xh8MPZ6vX48SDqdPnCf5+fn9HKWZSEejwvt+XyecvNsNnsQL3RdR7/fx6dPn/D+/Xuh7fXr1/jy5QuNE9ZdwN6z/cl73QvCPUtY3F1fX+PFixckR0zTFNQtsA9s/KAWi0VcXFwI7bIsw3EctNttyLIs5Oa6rpMr7/f7kCSJUgZgv3A8xz8Z5OrqivYsN9M0wRij5CeRSAggq9WKtgewdxRhEcjPgeM4VJQIOwpd1ym+eJ4HWZbR6XSofTqdCvOfBPLhwwe8efOGNM5kMoGmaYjH4/j58yc8zwNjDIqi0DO8EMczQl6/4s6AFxjm8zk5inDElmWZHAmwVwg8lQZ+n8mwQH0QRFEUOrRhncX3KH8pvkKe50FVVeEL9Pt9YeK7oMlkEpqmwfd9Kj4wxkiATiYTMMYoReAFjmP/7ToA4QFLVVVKkrjG4p6m2+2SbMlmswQanoTDKoqCWq1GdSxu9XodjDGkUil6XpZlYcUTiQQYY8jn87i4uBAKfQ+C8E8YvkzTRCwWoz1bLpcP1PDdPX97e4tXr14J7eGMb71eHzyfzWaFxeh2uwd97nq7oyB8S/BLURQsl0uhyJxKpVCr1WhfM8aEMhE3wzCEse7qsnC7LMtotVpC2hwEAc7Pz4UxjkX9A5DFYkEPSZKEyWRCX4mvuKIoGAwGwle5G8AA4OvXr9T+8uVLfP/+XWhfLpe0RTOZDIbDobD9gL3b51uMMYbPnz+fBuK6LjKZDDRNo5fbbrdwHAe+78P3fTiOA9d1MRqN6Awcs2q1CkmSjuYUvV4PqqpiPB7DdV2aJ2zz+Zzqwo9yv/+L9i/If5v9BWGRdKF0A6I0AAAAAElFTkSuQmCC"}, - {'Type': "textFadeDown", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAHrUlEQVRogeWaIYziWhfHr0A0mwoEogKBqECMGFHBJogKNotAVCAQJFuBQCCaLNkdQbJNECMqEBUIRMUIJovoJgg2O4JkyYZMEBWIiooKNukkiCZTgaj4P0E4u53ZN99Mh9335b2TVEwP515+veee8+9lGP4lxv7pL3As+++CXF9fgzGGjx8/Hv3LfP78GYwxXF9fPzk21YpwHAfDMNKEPmimaYLjuFSxqUAkSYKqqqkmfMg0TYMkSaliU4G0Wq3UEz5klUoFrVYrVWwqENM0wfN8qgkfsnw+D9M0U8WmAlksFmCMYbPZpJr0VxaGIRhjWCwWqeJTgRwmvbq6SjXpr+zq6gqMMYRhmCo+dR8RRRGDwSBt+D0bDocQRTF1fGoQRVHQbrdTT3zXOp0OFEVJHZ8aRNd1lEql1BPftWq1Cl3XU8enBrFtG7lcLvXEdy2Xy8G27dTxjwKxLAuNRgOO49A9z/PAGEMQBLAsC+fn57+MdRwHnU4Hvu/f8xmGAcuyEEURGGPwPI98URRB07S/HffJINvtFplMBowx8DyfmCybzWI+n0MQBDDGcHFxkYi9ubnBq1evwBjDmzdvEr7xeAzGGI2RzWYTfkVRwBhDJpM5DshyuQRjjK5arUa+crmMXq9HPlEUEccx+afTKfkymQy22y35CoUC+TRNQ7lcJp9t24k5f7WaTwZZrVaJQRljmM/nAIButwtZlhO+n3vL27dvE75Pnz4B+NFQD9fp6Sk6nQ4A4Pb2Fq9fv074gyB4PkgQBJQCpVIJjDE0m00AwGQyobQ7pFe326XY09NTWinGGMmPbrcLxhiKxSKNPRqNAPxYjWKxCJ7nj5dawL6i9Ho9AHvByPM84jiG67pgjCGXyyGKIsiynBCT+Xwe9XodcRwjl8tB0zQA+5SUJAlxHNMDWK1WAPZ7o1gsIooiNBoNnJ6eHg+kVqvRkw6CABzHUXrxPE+TXVxcIJPJYLfb7QdnDJZlAQAajQZJf57naQUOqbnb7bDdbsFxHKWnqqq0+kcBOT8/T2zyRqNBKyRJEmRZBrAvmZlMBo7jUEq6rktjqKoKz/OQyWQQRREAoNls4uTkBAAwGo0Sm75erz9aDT8KxHGcRPObTCbU1TudDoEAQKlUwng8hu/7YOzH8JZlQVVVTKfThCJQVRX1eh3APq2GwyH5RFFM9K5ngwCAIAhUBqMoAsdxiKIIpmkm8ljTNPR6Pfi+j3w+fw9kMBhQhQL2aWsYBqIoQjabJfUbhiHtxaOC+L6faIalUgmLxQLL5RKFQoHuj0YjqKoK3/cT9yeTCWzbRqfTSaRLuVzGdDrFbDZDtVql+7PZLJHORwO5a2dnZxgMBoiiKPG2uFwuUalU4Pv+L0VltVrFbDajvwuFArbbLTRNSxxodLtdKgiPsdQgg8EAjUYDAFAsFqlpBUGAk5MT+L6f2DsHE0WRCsChLAP7nrNer+lzJycnT3oDTf2GKAgCBEEAsK8uy+WS/Pl8/m9XJJfLUXl2XRfVahVhGILjOFiWBcuyMBwOH90/ngWiqirJB8/z0O/3E4JRFEWEYZjYIz+DHMy2bXS7XVxeXt6TQR8+fPi9IHEcJyYcj8eYTqeJlyJZlu9tdgDYbDaJJ20YBi4uLvD+/ft7IF++fPm9IIf+cNBImqZhs9kkOrCqqveqGQCs1+tEJWq321iv16ThDtfPZfu3gex2O5rQNE3qxJVKhT7T7XYxn8+pYx9sPp8nTigrlQqCICC9dbjevXv3+0GA/R4QBAFxHJP4+/lJH/bM3VMR27ZJ2gD7FHQc59F66iFLBdJsNqk7t9ttOI4DTdOoYR6qz93KY1kW9Qrf99FqtWCa5lGOlVKBWJZFR0GWZcE0TViWhclkAgC0+WVZJokRxzHOz89JDdu2jcFggFarlfp08dkg2+2W5ITrumg2m3Ach6T+YrGArutoNBqkzzqdDnRdJ4ne7/cxn88hSRIp4T8OAuw36qGxSZKE3W5HcL7vo91uo9VqEUilUoGu6/QeoygKwjCkYhHH8b3Diz8C0u/36enWajUEQUBfyvd9qKoKXdcpbWq1GlqtFikASZLgui7JnKurq0Qh+GMgruvSbxlnZ2ewbRvNZhPr9ZpAhsMhCURFUUgVe54HRVFg2zadWzWbzYS6/mMgwL587nY7jEYjUq/D4ZBAptMpRqMRdrsdarUagViWhV6vB8MwYNs2wjBM9KE/DmIYBsbjMebzOUqlEmazGW1wVVWpLLuui3a7TSDNZhOTyQStVgur1QqmaT5Jsh8dZLPZQFEU+L4PjuPw/ft38DwP13WhqipVt/F4TO/sq9UKuVwOnuehXC7D87yjVK5n/85+eFXleR6LxQL5fB6yLJMU4TgOpVIJk8kEqqpCkiQ6HhUEAbIs0zHRc+zZIIdj0WKxSE+dMUYgL1++BGMM3759I1+tVsPt7S1evHiBbDaLr1+//vMgwF57iaKIs7Mz6LqOYrFIIPV6HYwxRFEEVVUhCAJ0XScV/Zwfd362o4BYloVCoYB+v4/Ly0soikKl2TAMUsG6rqNWq8E0TQJ57HHP/7KjgBzUbxAEuLm5wWKxICHoOA7pskNfCcMQm80mcU78XPvv/lPN/6v9a0D+Aj2lePye0dmuAAAAAElFTkSuQmCC"}, - {'Type': "textSlantUp", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAE8UlEQVRoge2YL3DqShTGj1gRERGxIgIRgUBUVFREIBCICAQCgahAVFREVFQgKphBICoqKiIrIioQFRWIiAgEAoGoiEAgEBERKyIQiO+KO9nHkvTPu49C3p1+M53pbs9u97d7zp6zIfwlolMv4FD6ASmbfkDKph+Qsql0IMvlEqvV6l+PKxXIfD4HYwxhGL5rE8dxYX+pQMIwBBEVgkwmE5imCSJCo9HAZrNR/v6/ABmPx2CMgYjkj+d5ik3pQeI4hmEY6Ha7EEJgNptB0zScn58rY0sP0u12cXZ2hu12K/va7TYqlYoyttQgaZqCMQbf9xU713VBpC69FCCe5+Hq6gqPj48KyHg8BhFhuVwCANbrNXq9HhhjYIwpc5wcpNfrKUG8C+K6LjjnEELg7u4OmqaBiNBsNjGfz5V5TgrieR6ICP1+H77vQ9d1BcRxHJimKa/dWq2GyWRSONdJQarVKm5ubmT77u5OATk/PwcRgXMOz/NkwIdhiF6vp8x1FJA0TTEejxV3mE6n0HUdQgjZFwSBAlKpVFCv15GmqTJfo9FQNgA4AkgYhtI1dhd5dXUFx3EU2+VyqdhYloVms6nYxHEMxhim06nS/0cgz8/PeHt7+9RusVhA13WYpolarQYiQrfbBfDbbe7v7xX71WqlgDQaDViWpeSQXq+XyyF/BPJRPbQv27Zh2zaSJMF2u8XZ2RkajQYAgHOOp6enD0GyG200GiFNU5k/Hh4ejgeyWCzAGEMURbIvCAJsNhtsNhsQUQ5kNpspc08mk9zVnJ3owUGEEAiCIPeGuL6+RqfTKZwj2/n9jP309FRYohARDMPAcDhU3OxgIFEUyUDWdV0JQE3TchVqpvV6DSLC4+Oj0p+50v5pv/cGOQhIEASoVqvgnMMwDBCRPIEkST51P8YYXNdVFptl7q/E38FAOp0ObNtGmqYQQsCyLFn/zOdzEFHO3dI0le6UbYIQAmmaot1uo91ugzGGxWJxPBAiUv5hlpVXqxVeXl4KQQaDAUzTBPCP71cqFXDOoes6lsulLBAPCrLdbhEEgbLgDGQ/mWWBOp/P5e/7IM1mU457e3uTtdV+fB0UZDKZgHMudz/bqQxkNBrl7IkI0+lUguwubrvdQtd1JcCjKILv+1iv1/8J4l2Q4XCYeyNnSWg32ItAVquVtNnN3P1+H5qmKbXVIZUDyQq3TqeDJElkkhoMBgrIbDZTxmWnIIRAFEUgIliWhTAMMRgMcmDfCpKVEZ1OR0k8RSD7/j8ajcA5l+1Wq6WcqOM47yazg4Nk1+ZucMdxXAiyXzQ6joPLy0vZjqIItm2jVqt9mJEPJQXk4eEBlmXJdhzHsmrdB9lNWkII6LqOl5eXb13sR1JAXl9f5U4HQaCU3/sgu7eP67qwLCv39e+YKry1PM8DYwz1eh1CiEIQ0zTx+vqK4XBYWAAeWzkQ3/dlcGblRxHI7vX8Xml9TCkgSZJA13Xl1squ0uyNnIH4vg/HcXKJ8VRSQEajEQzDUJJWv98HEcmvFmEYolqtIkmS4670Eykg9Xod7XZbtoUQMAwDnHPYti37ThnU70kB4Zyj1WoB+F1y1+t1uK6Ly8tL3N7enmSBX1UORNM03N/f4+LiApZlIU3Tb09mh5ACsltWWJalfDgouxSQKIrQarVwc3PzpXdymXTyr/GH0g9I2fTXgPwCxRmiuVvgWoIAAAAASUVORK5CYII="}, - {'Type': "textCascadeUp", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGAUlEQVRoge2ZP2jbThTHH1SDKYJ68CBaQz0ImsGUDqJ48KDBgwcPoXgIJYMpomQINIMLHjwEPKSgQYMppmQwtIOHUDIEmsGDBxfaYooHUULxoMGDBw8eNGgQ9Nsh3P18OiVx2sRx++sDD5HevbvPu3t/TiH8JUI3vYCrkn8gqyYrBeJ5Hur1Ok5OTi49dqVAer0eiAi9Xu/SY/+/ILPZDIeHh5hMJpee7CJZKsjvTHadtv8IkPF4jM3NTRARkskk+v2+NHblQYIgwNraGoiI/1RVxXQ6FcbeOIjrutje3ka73Y61Xa1WQUSwbRue52FnZwdEhL29PcHOjYKcnJwgmUxyT1cqFcF2GIZQVRWVSkUYl8lkkM1mhWfXDuK6Lra2tmBZlpTpisUiiAipVAqKonAgZvvo6AhEhIODA2Hcs2fPcP/+/eWBRD3+6NEj4R0RoVAowPd9uK4LVVUF2/V6HUSE2WzGx43HY6yvr4NIXPpvgfi+D8dx0G63Y3WfPHkiBCkR4f379wAAx3FARBgOh1w/erTK5TJ0XUcQBOh0OjBNk++coihXB8JSIhFhf39f0BsMBiAi6LqOfr+Pvb09EBF2dnb4IqPnvN1uCyCmaSKZTPKdIiJomoZarQbP8xYDCcMQ/X5fOtcMpNlsCp7WNE04AuxYzAduOp2GaZoAAMMwYFnWmU4CAF3Xuf1cLodOp4MwDGPXGwvS7/eRTqdBREgkEsL2s8ny+TyICJlMhm/3u3fvuF6hUIBhGILdjY0N5PN5AKeZp9lsCu89zxNAMpkMDMOA67qC3sHBATY3N88HCYIAqVRK8PZ8kDIQIsL6+jrCMOS7s7W1xfVUVeXHiMlgMEAQBAAARVGk2IoDKRaL0SVC13XJtgSyv78vBSgRca/Mg7BnYRgilUpx4Nlshlu3buHNmzfSIpiziOhCENM0kcvlBJ3hcAgiktoUCcQ0TRARisUi6vU6D7Tj42MBZH6XAKBUKvGUGF1QVNj7KMhoNJKylqIoGI/HAE4dViqVkE6nJZsCyGQyARHxgATAj43jOAJItNqy4J5Op/jy5QuICF+/fr0USDTYWYouFArodru8fkRjSwJhlfTo6Ejy0u7urjCZbduCIZY6Pc/Dhw8fQET4/v37uSDRBbFjzUAmk4lQ8YkIGxsbsTYFENu2QUTwfV9UigGZh50HcV1XgDoPpF6vC88ty5KOpOM4SCQS0DQNjUZjsfT78uVLPHjwQFK6c+eOBBI9/2w3e70e92wUZDQa8V1QFEXISGEYQtO0WNtRx14IUqlUeJ4XlGJ2JDrZ/PPXr1+DiPDt2zdB59WrV7h37x5+/PiBtbU1qKrKF9lqtc4EWUSkrBWt5MzTUZCot7vdLn/OduTz58+CzosXL/D48WMA4O2NaZqoVqtQFAW1Wg2qqkoF8JdAohAs/V4EMh8XnU5HSNlMTNNEqVQSwOdbnMlk8ssfNc4E2d3dFSZaFGQ2m3GdRqPB3wdBgEQiIWQqlk41Tfulj3IXgrDrJJskDiRaWVnGA/7LSoVCgb9vNBqSA8IwxPHx8ZV8WpJAWEzMe2qRYK9UKtB1nf/N+jXHcdBqtaAoilBor1okENY6q6qKwWBwqhQDcnh4KIwzDEPoSJ8/fy71a51OZzkgHz9+BBHh7t27ePv2LX9++/ZtCWT+rPu+D1VVeRsDnF4FFqnI1wLSarViW4e4Hdne3pbGReOm2WzCNE3p0811iABSLpeRSCSESjoej2NBNE2D7/vwfR/ZbBaapp3ZPixDBBDTNKXK/unTp1gQlpUMwwARoVarLW/VMSKAPHz4EE+fPhUUWD1hNzIGEr1FntUgLksEkGQyKX0QyOVyQkzMxwiDWEYMXCQCSPTCNJ1OpazDQEajESzLWgkIIAKSTqeFK2y1WoWqqsjlcvzuzL5nLdJaL1MEkGw2CyJCq9WCbdtQFAWWZaFcLiOVSt3UGhcSAYQ1cfO/4XAI27alSr5qIoCwy/6yqvFVigAyGo34/SOfz69cHJwnUtPY7XZh2/YfBQGs2P/Zf0f+gaya/DUgPwHndw+ryzSioAAAAABJRU5ErkJggg=="}, - {'Type': "textCascadeDown", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAFzUlEQVRoge2ZLWzbXBSGDzAwsCYDgwBrsiaDgACDgIKAAINKG4imgIAAgwBPCoimgoCASNWUSQUBAQEBBpHWSQUFlTZQENBJAZFWEBBpkWYQEBBgYFBg8H6g373LtZ203dK/aa9kqXHvz3l8zz3nXJvwl4ge24Bd6R/IU9OdQWazGVqtFnzfvwdzfl93BhmNRiAijEajezDn9/UP5D5AlsslTk9PEQTBnfs+KZA/GTsBcnJyAkmSQESwLAtnZ2c7m+wm7QxkNptxiPXr5ORkJ5PdpJ2BHB0dgYhwfHyMIAjQaDRARFBVFVdXV4nJPM9DvV7HYrF4WiCe5yGbzQoNOp0OiAgXFxfCZK7r8hXTNA3z+fz3Cf7XTvcIe/JMl5eXICJ0u11hMiKCJEnQNA1EBMdxEoNHUYR+v49er5cY995B0owhIrTbbWEySZIwmUwQhiFs24YkSYlsXyqVOHQul0MYhg8H4nkeXNdFu92G53nwPC8VpFwu8z7xVQOuo188aNTr9YQB/X4f3W4XYRjuDqTX6yUmZ1ccpN/vCwPlcjkBrlKpgIjw5s0bNJtNKIoCWZYFF2P7j4hQrVZ3B5LP5/nTdhyHX2kg8clqtRoymQz/rSgKdF3n7jQYDEBEPC8FQQBVVYWHxVY/DWSxWGx1TQFElmXYtp1slAIyHo+FNmw1getSI+5KV1dXkGUZBwcHAIDhcMj3mmEYICIUi8VUEBYhVVXF5eXlzSCmaaJSqdwKJL6x2dP0fR/n5+c8H63Ltm2USiUAQL1eBxFhMBggiiK+8nGQs7MzYdVM00QURdtByuVyIo8EQXArkNPTU37/+PgYRIRv374Jbd69e4d8Pg8AKBaL0HWdGzWfz1NBbNveWmmkgjBj1hsyl7lpj8Qzfhqs7/vcJU3T5KvDtLe3J4y9Wq248bVajf8/3i8Bwp6UJElotVro9XqQZRlEhGazKRj89etXoR9zgdFoxDf2tlNkJpPB4eGhcI+5GwNhIZwZHoYhstksZFlOuFcCZLlcwrIs/iRkWYaqqjxzbwq/66vA/t5Wg7EotS62+gzkw4cPICJ8/vyZt/n48aNQMm0EYeSe56HZbML3fezv76NarQogtVot1Qjf9/Hp0ycQEX78+JEKwVwmDsKCBAOp1WogIuGgtVgsUvve6mDlui7fpAxEURRhApYAoyjibvb9+/fU8XzfTzUmvv9ev36NV69eJfpns1m8f//+7iBRFGE4HAqTGYbBA0AYhtA0DbqupxoUF4tQcRAGyPrlcjlYlpXov7+/j2KxeHeQdU2nU6iqyssL13V5NGk0GoJBDD6uTe4RBzEMIzVBO44DwzD+DAS4Dgir1Qq6rgvx/fz8nLfJZDIcjGkwGPAkeVsQVq8Nh0Nep7muuxsQptlshkwmI6wGU6lU4vuK6eDggJcxiqKg0+lsBYk/KEVR4LouyuUyd+OdgADXmT8tX3S7XRARJpMJv2fbNjfAMAy0Wq2tIC9fvtxYjb948WK3IJu0XC4hyzL29vYQhiH/XSgUAFxX2utlPwBMJpOEa1mWJeS19etBQIBfmdo0Te4mzAVLpVKirovnkUKhwIvY8XgMx3GEtzwPBuL7Pt9D7GJlOHO91WrF27N7DKRYLCbC7Gq1QqfT2e1mv43WA8L6Cwp2PO71evxetVoVQMrlMnfFm/Qg30eCIEg9EOm6zl9KrJ8YGYjrujBN81ZzPOqHHvYC0LIsFAqFxHmk2+1ClmX8/PnzxrEeFWQ+nwubV1EUAYSVOvFK9/DwENPpVLj36J/e2u02B2HHXQYSP50y5fN5aJom3Ht0EODahRqNBqbTaaLY1HVdOBKHYQhZlpHL5YQxngQIUxiGcBxHAGFlzdHREYBfr5XiyfRJgaRpNptx16tUKnwfxcubJw8CAG/fvk2UJ1++fBHaPAuQ8XjMV4KVPHE9CxAAuLi4gKZpUBQlEY6BZwTCtOn977MD2aR/IE9Nfw3If9N0EwglGDDbAAAAAElFTkSuQmCC"} - ], - [ - {'Type': "textArchUp", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAADYElEQVRoge2YoZeqQBSHjfsHGDYYCAYCYQLBQDAYCBsMGzYQDASCkWAg2AwGosEwwWAkGAwGAsFAIBAIBgLBYCBMmDDh98I7yzmsuuuuso/zDl/ycB3v/YB7Z44t/Ce0/nUBj+JXRDjnOB6Pleb4FRHf99Hv9yvN8Wsiw+Gw0hyViqxWKwyHQ8znc4xGoypTVSdyOBygKAo8z4Msy5hOp2ffYYwhjuOH5LtLhDEGXdfR6/Vg23YpRiktinccB67rluJhGOL5+RmKosAwjHvKAHCnCKUULy8vAADXdZHneSm2XC6Lz5TS0lpN0xDHMYQQUBQFp9PpnlLuE/E8D5PJ5GIsjmOMx2MAwHw+h+/7RSwIAjw9PcEwDERRBFmWL4qcTies12swxr6s5S4RzjkIIeCcAwD2+33pqQwGA+R5Dk3TEEVRcX25XMLzPLiui263ezbRkiQBpRSyLKPX60FRFAghHiOSZRn2+/3Z9eVyWfTHdDotFbzZbNBut0EIQZqmxXXHcRCGIRhjSJKkJA/8HdetVqvoqzAMv6zvqkgQBDBNE4wxRFGEdrsNVVWhaVqpKACwbRtvb28ghOBwOJRil+7ker0GIQSapmG73ZZix+MRqqqWhsUtXBXhnMO2bciyDMuyih9NkgSapp0dOcIwxG63uzlxEARnN+RdIgiCm3/nnS9frTAMQQhBr9cr7m4URRgMBt9O9hnvo/wnEsCNPSKEwHQ6xevra/EkDMNAlmU/SnqJ8XiMJEl+vP5bUyuKIvT7fZimCV3XKz/RUkqLqfVxw/3It8evEAKu65am06PhnMOyLMxmM6RpijzPoSjKpzmvijDG4Pv+TZvRo3jvQV3XS69ZlmWQJAme511de1FECAFZlqGqKmRZxmg0+nET3kqe53AcB0IIdDod7HY7bLdbzGYzdDodGIaBzWZzdf1FkSAIQAgB8HeTM00T4/EYkiRhsVhUIkIphW3bSJIEs9kMkiTBsizsdrvi5PAZF0WyLEO320WaplgsFsUeYlnWxd39EXDOsVqtQCm9aSf/yNUe8X0fm80GaZqCEILJZAJVVStt8nu4aWpxzpGm6d1H7Spp/g6qG41I3WhE6kYjUjcakbrRiNSNRqRuNCJ1oxGpG41I3WhE6kYjUjcakbrxBw0K0kIhG+liAAAAAElFTkSuQmCC"}, - {'Type': "textArchDown", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAADnUlEQVRoge2YIXTqPBiGEROICQQCgUBETERUIioQiAoEAhGBQFQgEJMIRM+pQFQgKhAIxASiImJiAlFRgZhAICoqKiYqKhAViIj3ip31p3+BAWN3vTt9FHxJz/meNPmStIBfQuGnE7gVuUjWyEWyRi6SNXKRrJGLZI1cJGvkIlkjF8kauUjWyEWyRi6SNXKRrPE7RYQQ4JyDcx7/Hg6HCMPwp/I7m4RIu92GoihQFAW9Xg9hGGIymaDRaPxUfmeTEKlWq9hut9jtdqjValiv1wiCAHd3dz+VHxzHgRDi034JEVVVYRgGhBCYzWaQJAmSJMEwjG9L9BRRFIEQgnK5DFVVwTnHbrc72De1Rur1OgqFAiilMAwDQRD8laQP0el0YJomXNcF5xyMMRSLRXQ6Hdi2neibENntdlAUJdXp/5imibe3t1vnnaLX6+H5+TkRe3x8RLfbBaUUg8Egjl9Ufn3fR7vdhmVZt8l0D8/zwDlPxMIwhCzLWCwWcUzXdYzHY4RhiHK5jO12C+BMESEETNNEpVLBcrm8Yfr/MZ1O0e/3U/HtdgvGGAghqNfrKJVK8H0fQghUKpW436cirutClmUwxmBZFiRJSr3uWxBFEZrNJgzDwGq1SrWHYYjVaoUoirBcLtFutzEcDuP2oyJCCBiGgVqthtfX1zg+GAxSU+BWLBYLFAqFk2s0iiIwxqDreiJ+VGSxWIAQgul0Gsd83wel9GgJ/CphGGK9XqPRaGC9Xl/07MmppWkadF2HEAKWZYFSevC1f8Z8Pr+ojPu+D0IIHMc5+5mTIp7n4eHhAcViEZTSxBT7QNd13N/fo9VqHd2BdV2H67qJWBRF8XHo0Oi7rnuRzFlV69hojkYj9Ho9AEC/30/N7SAIYFkWZrNZqm00GsE0TaxWK1BKj8q0Wq1zUrz+GO84Diil8VvgnCdGXQgBSik6nQ4qlUpiLwDeN7vNZgPHcSDLMlRVvTYVAF8QYYxhMpkcbX96eoKmaQDeR3+/aADv669araLVasG2bXiel5p+l3C1SLPZjDfHj1PyPt1uN55Otm3HUh9wziHLcvxf0zTM5/Nr07leZDqdghCC0WgEQkhqNBuNRlwcXl5eDu7akiRhMBhgNpuBEHJxyd3nS1fd5XIJTdPgeV6qTVGUeF2Mx2MwxlJ9giBAv98HY+yqsr7Pt93ZbdtGqVSCqqqo1Wrffsv81o8Pm80mPvJ/Zdqcw+/8ivIv8wdL3arN8Q1vAgAAAABJRU5ErkJggg=="}, - {'Type': "textCircle", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAF3klEQVRoge2Zr5eqTBjH9w+44QaDwWDYQCAQCBsIhA0GAoFAMBAIBgLBQDB4joFgIBgMBgKBYCAYDAQDwWAgbCAQDAaCgTCBQPi+YY+cZZFdf/HePffcb2NGZp7P8Dwzzzw+4S/R05824FFqDCRNU4Rh2NTwFTUGEoYheJ5vaviKGgNJkgQcxzU1fEUPB0mSBIqiwDRNdLvdSj8hBI7jII7jh877cBBVVWGaJiaTSQUkz3OwLAtFUcAwDKIoeti8d4Hs9/tKG8dxRXun0yn1ua6L4XAIAFitVhiPx5X3gyBAu90Gx3FIkuRiW24CIYSApmmIoghZlpHnedGnqmrhNrIsl97TNA2tVgs8z0MQBMxms1K/oiigKAqbzQau64IQ0izIZrOBqqoAUFm11WqFyWRSGPaxv9/vY7/fIwgCjEajyhdVFAXPz89Yr9dX23QTSBRFpa01yzJkWVY88zwP27bR7XZLxhqGgfV6jSAI4DhOaUzf9yHLMgghpS98qW6OkcFggOVyCQCwbRue5xV9h8MBmqZhuVyW3CNNU7y8vEAQhEo7z/NXudJn3QxCCAHP85jP5xiPx5jP5zcboaoqdrvd2b40TS8a4yxImqbF6vi+j3a7DZqmK8bmeQ7LsiDL8sUTftZut4NlWaU2Qgg0TQNFUWi321itVreBLJdLdLtduK4LSZKw3W6RJAl0Xa/sUo9WnucQBKFwW9/3IUnSt3PWulYcx+j3+/j9+3dpxVzXhWmaDzK7KsMwCggAsCwLrVYLm83my/e+jZFT8jcejwt3YxjmPmvPaL/fI8sytFotEEIQhiFUVYWiKBelMxcHu+/74HkeHMeh3+/fZfQ5nVzWdV202230er2rrgFX71qO49wc2F+J4zjoug5d1791IwClcwv4QTfELMu+PEfyPIfv+xgOh6AoqhKnZ0G22y0YhgHP8xgOh1iv13cdVrfqeDzCtm3Isozn52f8+vWrNgc7CyKKIjzPw36/B8MwmEwmaLfbGI1GjRt/0mw2K1Kak+Ge51US0ZPOggiCgNVqBUJIsUPVpd3/l47HIwzDgCAIZ/vPgsRxjF6vhyzLIMsyNE0Dz/OVRK9JBUGAwWAASZIgSRIEQcBkMqm9o1wU7EmS/JEYuUY/Zte6V/9AmtZ6vYaiKJAkCbIsYzQawXGc2tP+S5Dj8Yj5fA7DMKBpWuny1ISOx+PZ9jRNEQQBZrMZFosF4jhGq9UqZRi1IJZlgaIoLBYLvL29IYoi0DSNOI7hOE4jO9h0Oq0UJC5VLUir1So9v729odPpQNO0Rmu6juNAVVV4nnfVvacWhGVZTCYTTKdT9Pt9DIfDh1cH65TnOWzbxuvrK0zTrHW5j6oF2e126Ha7GI/HFw3UhE5ALy8vUFUVh8Oh9re1IISQSqp8UpqmjcBtNpvar+55HtI0hWEY2G63lf6rtt84jiHLMkRRBEVRFxUFrhEhBJIkfbk7bjabszXji0GCIADLssUgs9msUv24VaecTtd1RFEEjuNgGMZjgv3zRAzDFFXDU1X9miLzOX02NAxDKIqCTqeDXq+H19fXi134IpDD4VBU1gkhUBQFi8Wi9BtN0y6a8PM752LC932YpgnP80BRVG3x7qMudi1RFMGyLBiGqRxaruvCtm0AKIrbwDt0HMfI8xxhGCLLstICnGLus/b7PSRJAvC+e3Y6nW/j8apgD8OwUnjIsgy9Xg95nuN4PGIwGBR9u92uADz9L3Iy8CRFUeD7fqmNEAJd14vnw+HwrYvdnTRallWs8mKxKK3cer0uQE4Ap4r7RyNZlr27enk3CEVRxXnDcVzp7LFtuwARRRHAez71eXvVdf2uIjjwIJDhcAhZlituY5pmAULTNID3g+3zxpAkCTqdzl31srtBDocDptMpdF2vZMSLxQKWZSGKIjw9PRUQLMtWxhmNRkUc3aJGL1ZRFKHb7YKmaSyXS9A0jfF4fPbkTtP0rlJs4zfEunzt0fqxV91r9Q/kp+mvAfkPWgnC5oYbWPkAAAAASUVORK5CYII="}, - {'Type': "textButton", 'Image': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGYUlEQVRoge2ZIYziTBvHR4yoQPSSCgSiAlGBqFhBLoiKJoeo2FwQTW4vQZAsYgWiYgWCBMElCMSKExUVCAQCwSWIFc2lAlGBOIGoaHIkV1GBGFFR8X/Fhn5w20LZ5bu998v3TyqmfTozv/aZmWeeIfgfEXnrDlxKFweJ4xjj8RiNRgOapsEwDPi+f+lmnuniIIZhoFqtwrZtbDYb3NzcoFarIY7jSzd1oIuCbDYbEELw48eP5F4cx9hut6n2URSh3+9DlmU0m008Pj4m91VVTcp59F8BcV03l71hGCiVSlgul3BdF9VqFZZlwTAMUEpz1wOcCeK6LizLwnK5zLRRFAWdTicpz2YzSJKU6lqUUliWlZSDIIAoiqCUYjgcntO1bJA4jg9cZPf16vU6KKXo9/up763Xa4iiiFqtBl3XIcsyHMdJb5yQg48SxzEEQUC9Xj8L4ihIp9NBoVCA4ziYTCZoNBrJM8uyQCnFZrNJfTeOYziOc9I1FEXBeDxOyoPBAMViEWEYnsuRDRIEAarVKgqFAmRZxmq1OnguSdKBW7xE6/Ua5XIZrVYLuq6DEHLWAN/X0THCGEOj0QAhBL1e7+CZLMtYLBYvanRfURTBcRwoioL7+/sX13NysMdxDMMwwPM8TNME8ORal14bwjB8VX25Z62HhwdQSiHLMrrdLhhjL270XHmed3K2PGv6nc/nuLu7e3XHztFoNAKlFKVSCYIgZLrfSRDLsp5dnue9qFOMMUyn05N2QRDAcRx4ngdCCFRVxWg0AmMMtVoNs9nsfJDdQN+/fp/B8mq73YLn+ZN2q9UKg8EAlmVB0zRst1tIkoQoimDbNjRNOw3ied7B+kAIyYyVfhdjDKvVClEUpa4xvu9DFEUAT1PvsRgsDEMsFotk/er1euj3+8mCexRkPp+DUgpKKTRNw2KxyA0ym80giiKur69RrVZTG/N9HzzPo9lsQtd1CIKQOoXbto1ms4k4jnF1dYXVaoXtdotisYharZa68h+AyLIM0zSh6zoURQGlFISQg0uW5VQQQRCSfcd0Os0E2Y+OB4MBWq1WJgjw5CGlUgntdhudTgfVajV1f5OA+L6fkDYajWTKI4ScDBk2mw1KpVJSDsPw6B/ZybKspMNZIMDTWua6LqIoyuxDArL/sizL2G63yRc85VpxHIPn+WRtWS6XqSC/D/bZbIbr6+uTIHmUgLiuC0mSkq8ZRRFms1nuMXJzc4NWqwXbtqEoytuBAE/R6Gazga7rqFQq4HkeHz9+zFURYwz9fh+dTgePj4+pIGEYwjCMpOw4ThL27Gu9Xqfezw2yi3XCMMRwODzYj5xSu91GEAQAgMlk8qI9xWt0sa3ufD6HoiioVCqo1+sJ1J/S//Naf5sI8DRQz8lY/I0ijDFIkoRKpfLWfXmViOM4KBaLRzct/waR3QKWpiAIMBqN/kju9rUiQRCgWCwm4QVjDKZpQlVVUEohSRJs237bXuYQAYBWqwVJkqCqKjiOOwjj/xat12u0Wi10u93s6Jcxhk6nA03TMg3fUjuv0TQNpVIJhBAoioLJZJJExP+KdaTb7eLr168A/nP+IssyeJ5PAtq/HiSOY6iqmhqBH2zJz6l0uVxC1/XX9+4MqaqKQqFwMuGRG2Q6nYLn+VzpnEvK8zxUKhUIgnC07Vwgw+EQHMf9cYidGGO4ubkBIQTNZjPVzY6CxHGMu7s7UErfDGJfDw8P4DguNS7MBGGMQdO0JF0piiJEUcTV1RU0TTtr03VJZe1zMkF2Odfdn6jVahgOh/B9H77vZ1ZoGMbZkXQYhjBNE4PB4MUZ+aOutT9TKIqCbrd7tLIoisBx3Fm5Ydd1Icsy7u/vUS6XX3xckXvW0nUdnz59Omozn88hCELm8zAMsd1u0ev1oCgKdF1HvV5PIgnP88Bx3LNDpTzKDXJ7e4v3798ftWm326npHeAJYpdZN00Ttm2jUqk8y7Z0u11QSs9OlOcGWa1WqNVqR21EUcRgMMh8znHcQTpolzfbj+2iKEKpVDo4fM2js1b2Y777/ft3EELw7du3TJtyuXzgNlEUoVAoPDu82WX0z9HFYq0vX77g3bt3+PnzZ6bNhw8f8Pnz54N7t7e3kGUZv379elX7FwNRFCUzU79Ts9l8ZrNcLjEej199sHoxEMbYyWnXNE202+1LNXmgfwDJIwE2xeerMAAAAABJRU5ErkJggg=="} - ] - ]; + var g_aTextArtPresets = [ + "textNoShape", + "textPlain", + "textStop", + "textTriangle", + "textTriangleInverted", + "textChevron", + "textChevronInverted", + "textRingInside", + "textRingOutside", + "textArchUpPour", + "textArchDownPour", + "textCirclePour", + "textButtonPour", + "textCurveUp", + "textCurveDown", + "textCanUp", + "textCanDown", + "textWave1", + "textWave2", + "textDoubleWave1", + "textWave4", + "textInflate", + "textDeflate", + "textInflateBottom", + "textDeflateBottom", + "textInflateTop", + "textDeflateTop", + "textDeflateInflate", + "textDeflateInflateDeflate", + "textFadeRight", + "textFadeLeft", + "textFadeUp", + "textFadeDown", + "textSlantUp", + "textCascadeUp", + "textCascadeDown", + "textArchUp", + "textArchDown", + "textCircle", + "textButton" + ] var g_oChartPresets = {}; g_oChartPresets[Asc.c_oAscChartTypeSettings.areaNormal] = [[2,[[3,null,[3,6,0]],[[3,null,[3,15,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],[null,null,null,0,null,[null,null,null,null,null,null,null,null]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[14,false,false,[3,null,[3,15,2,["lumMod",65000],["lumOff",35000]]],null,[1,true,0,1,null,true,1,1]],[[9,false,false,[3,null,[3,15,2,["lumMod",65000],["lumOff",35000]]],null,[1,true,0,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],4],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],0,[[9,false,false,[3,null,[3,15,2,["lumMod",65000],["lumOff",35000]]],null,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[3,null,[3,15,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],0,0,3,2,false,null,0],[[9,false,false,[3,null,[3,15,2,["lumMod",65000],["lumOff",35000]]],null,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[0,[[3,null,[3,15,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],0,2,2,false,1,0],[0,0,null,null,false,false,null,false,false,false,false],[[3,null,[3,0,0]],[[2,null],null,[0,null],0,0,null,null,null,null]],0,null,null,null,2,0,0,0,0,0,0,0,0],[2,[[3,null,[3,8,2,["lumMod",75000],["lumOff",25000]]],[[3,null,[3,12,1,["lumMod",75000]]],null,[1,null],0,0,0,0,1,9525]],[null,null,null,0,null,[null,null,null,null,null,null,null,null]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[18,true,false,[3,null,[3,12,1,["lumMod",85000]]],null,[1,true,0,1,null,true,1,1]],[[9,false,false,[3,null,[3,12,1,["lumMod",85000]]],null,[1,true,0,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],2],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],0,[[9,true,false,[3,null,[3,12,1,["lumMod",85000]]],true,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[3,null,[3,12,1,["lumMod",75000]]],null,[1,null],[0,2,2],[0,2,2],0,0,1,9575]],0,0,3,2,false,null,0],[[9,false,false,[3,null,[3,12,1,["lumMod",75000]]],null,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[0,[[4,null,[5400000,false],0,0,2,[0,[3,12,2,["lumMod",75000],["alpha",36000]]],[100000,[3,8,3,["lumMod",95000],["lumOff",5000],["alpha",42000]]]],10,[1,null],0,0,0,0,1,9525]],0,3,2,false,1,0],[0,0,null,null,false,false,null,false,false,false,false],[[4,null,[0,true],0,0,2,[0,[3,0,1,["lumMod",75000]]],[100000,[3,0,0]]],[[2,null],null,[0,null],0,0,null,null,null,null]],0,null,null,null,2,0,0,0,0,0,0,0,0],[2,[[3,null,[3,6,0]],[[3,null,[3,15,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],[null,null,null,0,null,[null,null,null,null,null,null,null,null]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[18,true,false,[3,null,[3,15,2,["lumMod",50000],["lumOff",50000]]],true,[1,true,0,1,null,true,1,1]],[[9,false,false,[3,null,[3,15,2,["lumMod",65000],["lumOff",35000]]],null,[1,true,0,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],2],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],0,[[9,false,false,[3,null,[3,15,2,["lumMod",65000],["lumOff",35000]]],true,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],0,0,3,2,false,null,0],[[9,false,false,[3,null,[3,15,2,["lumMod",65000],["lumOff",35000]]],null,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[0,[[3,null,[3,15,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],0,3,2,false,1,0],[0,0,null,null,false,false,null,false,false,false,false],[[5,null,22,[3,0,0],[3,0,2,["lumMod",20000],["lumOff",80000]]],[[2,null],null,[0,null],0,0,null,null,null,null]],0,null,null,null,2,0,0,0,0,0,0,0,0],[2,[[4,null,0,[],[],3,[0,[3,12,0]],[39000,[3,12,0]],[100000,[3,12,1,["lumMod",75000]]]],[[3,null,[3,8,2,["lumMod",25000],["lumOff",75000]]],null,[1,null],0,0,0,0,1,9525]],[null,null,null,0,null,[null,null,null,null,null,null,null,null]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[18,true,false,[3,null,[3,8,2,["lumMod",75000],["lumOff",25000]]],null,[1,true,0,1,null,true,1,1]],[[9,false,false,[3,null,[3,8,2,["lumMod",75000],["lumOff",25000]]],null,[1,true,0,1,null,true,1,1]],[[3,99.45,[3,12,1,["lumMod",95000]]],[[2,null],null,[0,null],0,0,null,null,null,null]],4],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],0,[[9,false,false,[3,null,[3,8,2,["lumMod",75000],["lumOff",25000]]],true,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[3,null,[3,8,2,["lumMod",75000],["lumOff",25000]]],null,[1,null],0,0,0,0,1,19050]],0,0,3,2,false,null,0],[[9,false,false,[3,null,[3,8,2,["lumMod",75000],["lumOff",25000]]],null,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[0,[[4,null,[5400000,false],0,0,2,[0,[3,12,2,["lumMod",75000],["alpha",36000]]],[100000,[3,8,3,["lumMod",95000],["lumOff",5000],["alpha",42000]]]],null,[1,null],0,0,0,0,1,9525]],0,3,2,false,1,0],[0,0,null,null,false,false,null,false,false,false,false],[[3,216.75,[3,0,0]],[[2,null],null,[0,null],0,0,null,null,null,null]],0,null,null,null,2,0,0,0,0,0,0,0,0],[2,[[3,null,[3,6,0]],[[3,null,[3,15,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],[null,null,null,0,null,[null,null,null,null,null,null,null,null]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[14,false,false,[3,null,[3,15,2,["lumMod",50000],["lumOff",50000]]],false,[1,true,0,1,null,true,1,1]],[[9,false,false,[3,null,[3,15,2,["lumMod",50000],["lumOff",50000]]],null,[1,true,0,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],4],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],0,[[9,false,false,[3,null,[3,15,2,["lumMod",50000],["lumOff",50000]]],null,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[3,null,[3,15,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],0,0,3,2,false,null,0],[[9,false,false,[3,null,[3,15,2,["lumMod",50000],["lumOff",50000]]],null,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[0,[[3,null,[3,15,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],0,2,2,false,1,0],[0,0,null,null,false,false,null,false,false,false,false],[[4,null,[5400000,false],0,[],3,[0,[3,0,3,["lumMod",110000],["satMod",105000],["tint",67000]]],[50000,[3,0,3,["lumMod",105000],["satMod",103000],["tint",73000]]],[100000,[3,0,3,["lumMod",105000],["satMod",109000],["tint",81000]]]],[[3,null,[3,0,1,["shade",95000]]],null,[1,null],0,0,0,0,1,9525]],0,null,null,null,2,0,0,0,0,0,0,0,0],[2,[[3,null,[3,6,0]],[[3,null,[3,16,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],[null,null,null,0,null,[null,null,null,null,null,null,null,null]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[16,true,false,[3,null,[3,16,0]],null,[1,true,0,1,null,true,1,1]],[[9,false,false,[3,null,[3,16,0]],null,[1,true,0,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],4],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],0,[[9,false,false,[3,null,[3,16,0]],null,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[3,null,[3,16,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],0,0,3,2,false,null,0],[[9,false,false,[3,null,[3,16,0]],null,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[0,[[3,null,[3,16,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],0,2,2,false,1,0],[0,0,null,null,false,false,null,false,false,false,false],[[4,null,[5400000,false],0,[],3,[0,[3,0,3,["satMod",103000],["lumMod",102000],["tint",94000]]],[50000,[3,0,3,["satMod",110000],["lumMod",100000],["shade",100000]]],[100000,[3,0,3,["lumMod",99000],["satMod",120000],["shade",78000]]]],[[2,null],null,[0,null],0,0,null,null,null,null]],0,null,null,null,2,0,0,0,0,0,0,0,0],[2,[[3,null,[3,12,0]],[[3,null,[3,8,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],[null,null,null,0,null,[null,null,null,null,null,null,null,null]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[16,true,false,[3,null,[3,8,2,["lumMod",50000],["lumOff",50000]]],false,[1,true,0,1,null,true,1,1]],[[9,false,false,[3,null,[3,8,2,["lumMod",65000],["lumOff",35000]]],null,[1,true,0,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],4],[[5,null,20,[3,8,2,["lumMod",15000],["lumOff",85000]],[3,12,0]],[[2,null],null,[0,null],0,0,null,null,null,null]],0,[[9,false,false,[3,null,[3,8,2,["lumMod",65000],["lumOff",35000]]],false,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[3,null,[3,8,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],0,0,3,2,false,null,0],[[9,false,false,[3,null,[3,8,2,["lumMod",65000],["lumOff",35000]]],null,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[3,null,[3,8,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],[0,[[3,null,[3,8,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],0,2,2,false,1,0],[0,0,null,null,false,false,null,false,false,false,false],[[3,null,[3,0,0]],[[2,null],null,[0,null],0,0,null,null,null,null]],0,null,null,null,2,0,0,0,0,0,0,0,0],[2,[[4,null,0,[],[],2,[0,[3,8,2,["lumMod",65000],["lumOff",35000]]],[100000,[3,8,2,["lumMod",85000],["lumOff",15000]]]],[[2,null],null,[0,null],0,0,null,null,null,null]],[null,null,null,0,null,[null,null,null,null,null,null,null,null]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[16,true,false,[3,null,[3,12,1,["lumMod",95000]]],null,[1,true,0,1,null,true,1,1]],[[9,false,false,[3,null,[3,12,1,["lumMod",85000]]],null,[1,true,0,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],4],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],0,[[9,false,false,[3,null,[3,12,1,["lumMod",85000]]],null,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[3,137.7,[3,12,1,["lumMod",95000]]],null,[1,null],0,0,0,0,1,12700]],0,0,3,2,false,null,0],[[9,false,false,[3,null,[3,12,1,["lumMod",85000]]],null,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[0,[[3,25.5,[3,12,1,["lumMod",95000]]],null,[1,null],0,0,0,0,1,9525]],0,2,2,false,1,0],[0,0,null,null,false,false,null,false,false,false,false],[[4,null,[5400000,false],0,[],3,[0,[3,0,3,["satMod",103000],["lumMod",102000],["tint",94000]]],[50000,[3,0,3,["satMod",110000],["lumMod",100000],["shade",100000]]],[100000,[3,0,3,["lumMod",99000],["satMod",120000],["shade",78000]]]],[[2,null],null,[0,null],0,0,null,null,null,null]],0,null,null,null,2,0,0,0,0,0,0,0,0],[2,[[3,null,[3,12,0]],[[3,null,[3,15,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],[null,null,null,0,null,[null,null,null,null,null,null,null,null]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[18,true,false,[3,null,[3,15,2,["lumMod",65000],["lumOff",35000]]],true,[1,true,0,1,null,true,1,1]],[[9,false,false,[3,null,[3,15,2,["lumMod",65000],["lumOff",35000]]],null,[1,true,0,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],4],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],0,[[9,false,false,[3,null,[3,15,2,["lumMod",65000],["lumOff",35000]]],false,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[3,null,[3,15,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],0,0,3,2,false,null,0],[[9,false,false,[3,null,[3,15,2,["lumMod",65000],["lumOff",35000]]],null,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[0,[[3,null,[3,15,2,["lumMod",5000],["lumOff",95000]]],null,[1,null],0,0,0,0,1,9525]],0,2,2,false,1,0],[0,0,null,null,false,false,null,false,false,false,true],[[3,188.7,[3,0,0]],[[2,null],null,[0,null],0,0,null,null,null,null]],[[10,true,false,[3,null,[3,0,1,["lumMod",50000]]],null,[1,true,0,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],null,null,false,false,false,false,false,false,true],null,null,null,2,0,0,0,0,0,0,0,0],[2,[[3,null,[3,6,0]],[[3,null,[3,15,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],[null,null,null,0,null,[null,null,null,null,null,null,null,null]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[16,true,false,[3,null,[3,15,2,["lumMod",65000],["lumOff",35000]]],null,[1,true,0,1,null,true,1,1]],[[9,false,false,[3,null,[3,15,2,["lumMod",65000],["lumOff",35000]]],null,[1,true,0,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],4],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],0,[[9,false,false,[3,null,[3,15,2,["lumMod",65000],["lumOff",35000]]],null,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[3,null,[3,15,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,12700]],0,0,3,2,false,null,0],[[9,false,false,[3,null,[3,15,2,["lumMod",65000],["lumOff",35000]]],null,[1,true,-60000000,1,null,true,1,1]],[[2,null],[[2,null],null,[0,null],0,0,null,null,null,null]],[0,[[3,null,[3,15,2,["lumMod",15000],["lumOff",85000]]],null,[1,null],0,0,0,0,1,9525]],0,2,2,false,1,0],[0,0,null,null,false,false,null,false,false,false,false],[[4,null,[5400000,false],0,[],3,[0,[3,0,3,["satMod",103000],["lumMod",102000],["tint",94000]]],[50000,[3,0,3,["satMod",110000],["lumMod",100000],["shade",100000]]],[100000,[3,0,3,["lumMod",99000],["satMod",120000],["shade",78000]]]],[[2,null],null,[0,null],0,0,null,null,null,null]],0,null,null,null,2,0,0,0,0,0,0,0,0]]; @@ -684,7 +671,6 @@ var g_PresetTxWarpTypes = window['AscCommon'].g_oUserColorScheme = g_oUserColorScheme; window['AscCommon'].g_oUserTexturePresets = g_oUserTexturePresets; window['AscCommon'].g_sWordPlaceholderImage = g_sWordPlaceholderImage; - window['AscCommon'].g_oPresetTxWarpGroups = g_oPresetTxWarpGroups; - window['AscCommon'].g_PresetTxWarpTypes = g_PresetTxWarpTypes; + window['AscCommon'].g_aTextArtPresets = g_aTextArtPresets; window['AscCommon'].g_oChartPresets = g_oChartPresets; })(window); diff --git a/common/apiBase.js b/common/apiBase.js index df4825a4fc..7806f8b890 100644 --- a/common/apiBase.js +++ b/common/apiBase.js @@ -1656,7 +1656,7 @@ }; baseEditorsApi.prototype.asc_getPropertyEditorTextArts = function() { - return [AscCommon.g_oPresetTxWarpGroups, AscCommon.g_PresetTxWarpTypes]; + return this.textArtPreviewManager.getWordArtPreviews(); }; // Add image baseEditorsApi.prototype._addImageUrl = function() From dfa7d91bf593e2864cbdf892462e9b376c49f56e Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 22 Apr 2021 13:27:19 +0300 Subject: [PATCH 209/381] Remove Type, Image properties --- common/Charts/charts.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/Charts/charts.js b/common/Charts/charts.js index 04438d3df7..81bdf73c3d 100644 --- a/common/Charts/charts.js +++ b/common/Charts/charts.js @@ -908,8 +908,8 @@ TextArtPreviewManager.prototype.getWordArtPreviews = function() { var sPreset = AscCommon.g_aTextArtPresets[nIdx]; var oPreview = {}; - oPreview["Type"] = oPreview.Type = sPreset; - oPreview["Image"] = oPreview.Image = this.getWordArtPreview(sPreset); + oPreview["Type"] = sPreset; + oPreview["Image"] = this.getWordArtPreview(sPreset); aRet.push(oPreview); } return aRet; From 78bffed92ec4ad70d84e2bae5f0fd313893df7bd Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Wed, 21 Apr 2021 23:55:07 +0300 Subject: [PATCH 210/381] [se] Fix bug 49700 --- cell/model/PivotTables.js | 4 ++-- common/NumFormat.js | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index 40e0158e4b..a3c71237c2 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -13914,11 +13914,11 @@ CT_RangePr.prototype._getDateText = function(date) { var numFormat; if (date) { if (date.getExcelDateWithTime2() < 1) { - numFormat = AscCommon.oNumFormatCache.get(AscCommon.getShortTimeFormat()); + numFormat = AscCommon.oNumFormatCache.get(AscCommon.getLongTimeFormat()); } else if (date.getExcelDate() === date.getExcelDateWithTime2()) { numFormat = AscCommon.oNumFormatCache.get(AscCommon.getShortDateFormat()); } else { - numFormat = AscCommon.oNumFormatCache.get(AscCommon.getShortDateFormat() + ' ' + AscCommon.getShortTimeFormat()); + numFormat = AscCommon.oNumFormatCache.get(AscCommon.getShortDateFormat() + ' ' + AscCommon.getLongTimeFormat()); } return numFormat.formatToChart(date.getExcelDateWithTime2()); } diff --git a/common/NumFormat.js b/common/NumFormat.js index 7f0d0b5c5e..e0ad3d8b4c 100644 --- a/common/NumFormat.js +++ b/common/NumFormat.js @@ -4332,6 +4332,14 @@ function setCurrentCultureInfo (LCID, decimalSeparator, groupSeparator) { return 'h:mm;@' } } + function getLongTimeFormat(opt_cultureInfo) { + var cultureInfo = opt_cultureInfo ? opt_cultureInfo : g_oDefaultCultureInfo; + if (cultureInfo.AMDesignator.length > 0 && cultureInfo.PMDesignator.length > 0) { + return 'h:mm:ss AM/PM;@'; + } else { + return 'h:mm:ss;@' + } + } function getNumberFormatSimple(opt_separate, opt_fraction) { var numberFormat = opt_separate ? '#,##0' : '0'; @@ -4968,6 +4976,7 @@ setCurrentCultureInfo(1033);//en-US//1033//fr-FR//1036//basq//1069//ru-Ru//1049/ window['AscCommon'].getShortDateFormat = getShortDateFormat; window['AscCommon'].getShortDateFormat2 = getShortDateFormat2; window['AscCommon'].getShortTimeFormat = getShortTimeFormat; + window['AscCommon'].getLongTimeFormat = getLongTimeFormat; window['AscCommon'].getShortDateMonthFormat = getShortDateMonthFormat; window['AscCommon'].getNumberFormatSimple = getNumberFormatSimple; window['AscCommon'].getNumberFormat = getNumberFormat; From b647f9012146d7ef1719d8298e7f30f1ba689072 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Thu, 22 Apr 2021 10:01:00 +0300 Subject: [PATCH 211/381] [se] Fix bug 49682 --- cell/model/PivotTables.js | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index a3c71237c2..69f2740d4c 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -5715,7 +5715,12 @@ CT_pivotTableDefinition.prototype._sortPivotItems = function(index, type, sortDa pivotField.setSortType(type, sortDataIndex); if (pivotField.sortType !== c_oAscFieldSortType.Manual && -1 === pivotField.getSortDataIndex()) { pivotField.removeSubtotal(); - pivotField.sortItems(type, cacheField.getGroupOrSharedItems()); + var rangePr = cacheField.getGroupRangePr(); + if (rangePr && c_oAscGroupBy.Months === rangePr.groupBy) { + pivotField.sortItemsMonth(type); + } else { + pivotField.sortItems(type, cacheField.getGroupOrSharedItems()); + } pivotField.checkSubtotal(); } }; @@ -11132,6 +11137,27 @@ CT_PivotField.prototype.sortItems = function(type, sharedItems) { }); } }; +CT_PivotField.prototype.sortItemsMonth = function (type) { + if (this.items && this.items.item) { + var newItems = [], newItem, i; + var length = this.items.item.length; + for (i = 1; i < length - 1; ++i) { + newItem = new CT_Item(); + newItem.x = i; + newItems.push(newItem); + } + newItem = new CT_Item(); + newItem.x = 0; + newItems.push(newItem); + newItem = new CT_Item(); + newItem.x = length - 1; + newItems.push(newItem); + if (Asc.c_oAscSortOptions.Descending === type) { + newItems.reverse(); + } + this.items.item = newItems; + } +}; CT_PivotField.prototype.getSortVal = function() { var sortVal = null; if (c_oAscFieldSortType.Ascending === this.sortType) { From 7dfa2d7493813108b8946696f546d906a74c029a Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 22 Apr 2021 14:04:45 +0300 Subject: [PATCH 212/381] Fix bug #49809 --- word/Editor/Styles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/word/Editor/Styles.js b/word/Editor/Styles.js index 55a9433888..4f66ced723 100644 --- a/word/Editor/Styles.js +++ b/word/Editor/Styles.js @@ -10212,7 +10212,7 @@ CDocumentShd.prototype.GetSimpleColor = function(oTheme, oColorMap) default: { - oResultColor = oStrokeColor; + oResultColor = oFillColor; break; } } From b09d09c47623d731ac8d3753328803af3da07761 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 22 Apr 2021 14:31:26 +0300 Subject: [PATCH 213/381] Fix bug #49829 Cancel special editing on change editing restriction --- word/api.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/word/api.js b/word/api.js index 0496b4f115..3a14aac124 100644 --- a/word/api.js +++ b/word/api.js @@ -11010,6 +11010,32 @@ background-repeat: no-repeat;\ oHistory.Clear(); oLogicDocument.UpdateInterface(); } + + if (this.isDrawTablePen || this.isDrawTableErase) + { + this.isDrawTablePen && this.sync_TableDrawModeCallback(false); + this.isDrawTableErase && this.sync_TableEraseModeCallback(false); + oLogicDocument.UpdateCursorType(oLogicDocument.CurPos.RealX, oLogicDocument.CurPos.RealY, oLogicDocument.CurPage, new AscCommon.CMouseEventHandler()); + } + else if (true === this.isMarkerFormat) + { + this.sync_MarkerFormatCallback(false); + oLogicDocument.UpdateCursorType(oLogicDocument.CurPos.RealX, oLogicDocument.CurPos.RealY, oLogicDocument.CurPage, new AscCommon.CMouseEventHandler()); + } + else if (c_oAscFormatPainterState.kOff !== this.isPaintFormat) + { + this.sync_PaintFormatCallback(c_oAscFormatPainterState.kOff); + oLogicDocument.UpdateCursorType(oLogicDocument.CurPos.RealX, oLogicDocument.CurPos.RealY, oLogicDocument.CurPage, new AscCommon.CMouseEventHandler()); + } + else if (this.isStartAddShape) + { + this.sync_StartAddShapeCallback(false); + this.sync_EndAddShape(); + oLogicDocument.DrawingObjects.endTrackNewShape(); + oLogicDocument.UpdateCursorType(oLogicDocument.CurPos.RealX, oLogicDocument.CurPos.RealY, oLogicDocument.CurPage, new AscCommon.CMouseEventHandler()); + } + + oLogicDocument.UpdateSelection(); }; asc_docs_api.prototype.isShowShapeAdjustments = function() { From 77ffa6deb4fde5e9fec1f2db4a4aea31402703a6 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 22 Apr 2021 14:50:04 +0300 Subject: [PATCH 214/381] Fix bug #49831 --- word/Editor/Document.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index c4aa604b14..69282d3975 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -16088,7 +16088,7 @@ CDocument.prototype.AddContentControlTextForm = function(oPr) if (this.IsTextSelectionUse()) this.RemoveBeforePaste(); - else + else if (this.IsSelectionUse()) this.RemoveSelection(); var oCC = this.AddContentControl(c_oAscSdtLevelType.Inline); From 3949473c663d9723de561216d0e952d29bf8b107 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 22 Apr 2021 16:53:39 +0300 Subject: [PATCH 215/381] Fix bug #49837 --- word/Editor/Table/TableCell.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/word/Editor/Table/TableCell.js b/word/Editor/Table/TableCell.js index 2ad8db1bd6..1c180cb869 100644 --- a/word/Editor/Table/TableCell.js +++ b/word/Editor/Table/TableCell.js @@ -1144,9 +1144,11 @@ CTableCell.prototype = } else { + // TODO: переделать здесь на нармальное выставление настроек this.Set_Shd({ Value : OtherPr.Shd.Value, Color : OtherPr.Shd.Color ? {r : OtherPr.Shd.Color.r, g : OtherPr.Shd.Color.g, b : OtherPr.Shd.Color.b} : undefined, + Fill : OtherPr.Shd.Fill ? {r : OtherPr.Shd.Fill.r, g : OtherPr.Shd.Fill.g, b : OtherPr.Shd.Fill.b} : undefined, Unifill : OtherPr.Shd.Unifill ? OtherPr.Shd.Unifill.createDuplicate() : undefined }); } From 90083a633b9904c13ef2d86fa0a588aa066d750f Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 22 Apr 2021 20:57:04 +0300 Subject: [PATCH 216/381] Fix bug 49873, fix bug 49839 (#1844) --- word/Drawing/HtmlPage.js | 6 +++--- word/Drawing/buttons.js | 31 +++++++++++++++++-------------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/word/Drawing/HtmlPage.js b/word/Drawing/HtmlPage.js index 7b75fa8f84..40ca6373fd 100644 --- a/word/Drawing/HtmlPage.js +++ b/word/Drawing/HtmlPage.js @@ -1566,14 +1566,14 @@ function CEditorPage(api) var ret = oWordControl.m_oDrawingDocument.checkMouseDown_Drawing(pos); if (ret === true) { - if (-1 == oWordControl.m_oTimerScrollSelect) + if (-1 == oWordControl.m_oTimerScrollSelect && AscCommon.global_mouseEvent.IsLocked) oWordControl.m_oTimerScrollSelect = setInterval(oWordControl.SelectWheel, 20); AscCommon.stopEvent(e); return; } - if (-1 == oWordControl.m_oTimerScrollSelect) + if (-1 == oWordControl.m_oTimerScrollSelect && AscCommon.global_mouseEvent.IsLocked) { // добавим это и здесь, чтобы можно было отменять во время LogicDocument.OnMouseDown oWordControl.m_oTimerScrollSelect = setInterval(oWordControl.SelectWheel, 20); @@ -1595,7 +1595,7 @@ function CEditorPage(api) else if (global_mouseEvent.Button == 2) oWordControl.MouseDownDocumentCounter++; - if (!bIsSendSelectWhell && -1 == oWordControl.m_oTimerScrollSelect) + if (!bIsSendSelectWhell && -1 == oWordControl.m_oTimerScrollSelect && AscCommon.global_mouseEvent.IsLocked) { oWordControl.m_oTimerScrollSelect = setInterval(oWordControl.SelectWheel, 20); } diff --git a/word/Drawing/buttons.js b/word/Drawing/buttons.js index f3e88b21bf..47ae47ffa2 100644 --- a/word/Drawing/buttons.js +++ b/word/Drawing/buttons.js @@ -724,9 +724,12 @@ this.images[AscCommon.CCButtonType.Combo] = imageCC; imageCC.type = AscCommon.CCButtonType.Combo; - for (var i = 0; i < 4; i++) + var sizes = [20, 30, 40]; + for (var i = 0; i < 6; i++) { - var size = (i > 1) ? 40 : 20; + var index = i >> 1; + var isActive = (0x01 === (0x01 & i)); + var size = sizes[index]; var image = document.createElement("canvas"); image.width = size; @@ -741,7 +744,7 @@ var x = (size - len) >> 1; var y = (size - count) >> 1; - var color = (0x01 === (0x01 & i)) ? 255 : 0; + var color = isActive ? 255 : 0; while ( len > 0 ) { @@ -763,10 +766,10 @@ image.asc_complete = true; - if (i > 1) - imageCC.images_active[i - 2] = image; + if (isActive) + imageCC.images_active[index] = image; else - imageCC.images[i] = image; + imageCC.images[index] = image; } }; } @@ -1765,8 +1768,8 @@ if (_object.ComboRect) { _x = (((_drawingPage.left + _koefX * (_object.ComboRect.X + _object.OffsetX)) * rPR) >> 0) + 0.5 * Math.round(rPR); - _y = (((_drawingPage.top + _koefY * (_object.ComboRect.Y + _object.OffsetY)) >> 0)) * rPR + 0.5 * Math.round(rPR); - _b = (((_drawingPage.top + _koefY * (_object.ComboRect.B + _object.OffsetY))) * rPR >> 0) + 0.5 * Math.round(rPR); + _y = (((_drawingPage.top + _koefY * (_object.ComboRect.Y + _object.OffsetY)) * rPR) >> 0) + 0.5 * Math.round(rPR); + _b = (((_drawingPage.top + _koefY * (_object.ComboRect.B + _object.OffsetY)) * rPR) >> 0) + 0.5 * Math.round(rPR); var nIndexB = _object.Buttons.length; ctx.beginPath(); @@ -1785,7 +1788,7 @@ var image = this.icons.getImage(AscCommon.CCButtonType.Combo, _object.Buttons.length == _object.ActiveButtonIndex); if (image && Math.round(7 * rPR) < (_b - _y)) - ctx.drawImage(image, _x, _y + ((_b - _y - Math.round(20 * rPR)) >> 1) + 0.5 * Math.round(rPR), Math.round(20 * rPR), Math.round(20 * rPR)); + ctx.drawImage(image, _x + 0.5 * Math.round(rPR), _y + 1.5 * Math.round(rPR) + ((_b - _y - Math.round(20 * rPR)) >> 1), Math.round(20 * rPR), Math.round(20 * rPR)); } } else @@ -1793,10 +1796,10 @@ var _ft = _object.transform.CreateDublicate(); var coords = new AscCommon.CMatrix(); - coords.sx = _koefX; - coords.sy = _koefY; - coords.tx = _drawingPage.left; - coords.ty = _drawingPage.top; + coords.sx = _koefX * rPR; + coords.sy = _koefY * rPR; + coords.tx = _drawingPage.left * rPR; + coords.ty = _drawingPage.top * rPR; global_MatrixTransformer.MultiplyAppend(_ft, coords); ctx.transform(_ft.sx, _ft.shy, _ft.shx, _ft.sy, _ft.tx, _ft.ty); @@ -1999,7 +2002,7 @@ var image = this.icons.getImage(AscCommon.CCButtonType.Combo, _object.Buttons.length == _object.ActiveButtonIndex); var scaleY_7 = 7 / _koefY; if (image && scaleY_7 < (_b - _y)) - ctx.drawImage(image, _x, _y + ((_b - _y - scaleY_20) >> 1) + 0.5, scaleX_20, scaleY_20); + ctx.drawImage(image, _x, _y + ((_b - _y - scaleY_20) / 2), scaleX_20, scaleY_20); } // рисуем единую обводку From e0ae98d85c62afbcd2aeb629c3fb23bc2ebe45ac Mon Sep 17 00:00:00 2001 From: Alexey Matveev <34643750+AlexeyMatveev686@users.noreply.github.com> Date: Fri, 23 Apr 2021 12:11:25 +0300 Subject: [PATCH 217/381] Added styles for default scroll (#1845) Fix bug #49766 #49771 --- common/plugins.js | 2 +- common/plugins/plugin_base.js | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/common/plugins.js b/common/plugins.js index 107b73b60a..30deecd1dd 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -1006,7 +1006,7 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                                    ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"},\"a:link\":{color:\"text-link\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); + pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                                      ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"},\"a:link\":{color:\"text-link\"},\"*::-webkit-scrollbar-track\":{\"background\":\"canvas-background\"},\"*::-webkit-scrollbar-thumb\":{\"background-color\":\"background-toolbar\",\"border-color\":\"canvas-scroll-thumb-border\"},\"*::-webkit-scrollbar-thumb:hover\":{\"background-color\":\"canvas-scroll-thumb-hover\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index e7d889c9ea..07b7dd0859 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -476,7 +476,10 @@ ".ps .ps__rail-y.ps--clicking" : {"background-color" : "background-toolbar" }, ".ps__thumb-y" : { "background-color" : "background-normal", "border-color" : "Border !important" }, ".ps__rail-y:hover > .ps__thumb-y" : {"border-color" : "canvas-scroll-thumb-hover" }, - "a:link" : { "color" : "text-link" } + "a:link" : { "color" : "text-link" }, + "*::-webkit-scrollbar-track" : { "background" : "canvas-background" }, + "*::-webkit-scrollbar-thumb" : { "background-color" : "background-toolbar", "border-color" : "canvas-scroll-thumb-border" }, + "*::-webkit-scrollbar-thumb:hover" : { "background-color" : "canvas-scroll-thumb-hover" } }; var g_isMouseSendEnabled = false; From 119344163b5feee6c6efd26f6b03f072f5d5985d Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 23 Apr 2021 12:17:50 +0300 Subject: [PATCH 218/381] Fix bug 49802 (#1846) --- common/spell/spell/spell.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/common/spell/spell/spell.js b/common/spell/spell/spell.js index eb4a3311a4..053ff56b36 100644 --- a/common/spell/spell/spell.js +++ b/common/spell/spell/spell.js @@ -180,10 +180,10 @@ function Dictionary() { xhr.sender.status = 2; self.spellchecker.onLoadDictionary(this.sender); - } + }; xhr.send(null); - } + }; this.load = function() { @@ -232,7 +232,7 @@ function Spellchecker() this.languageQueue.shift(); } } - } + }; this.deleteDictionaty = function(lk) { @@ -251,7 +251,7 @@ function Spellchecker() this.freeString(engineIDptr); this.freeString(langAffptr); this.freeString(langDicptr); - } + }; this.init = function() { @@ -360,7 +360,7 @@ function Spellchecker() { var inputLen = string.length; var testLen = 6 * inputLen + 1; - if (testLen > this.tmpStrings.length) + if (testLen > this.tmpStrings.byteLength) this.tmpStrings = new ArrayBuffer(testLen); var code = 0; From c72f922abaa94658623b25ea95b4247d44a3b2e2 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Fri, 23 Apr 2021 12:24:07 +0300 Subject: [PATCH 219/381] [bug] Fix bug 49861; fix bug 49874 --- common/Drawings/Format/ChartFormat.js | 83 ++++++++++----------------- 1 file changed, 29 insertions(+), 54 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 1a6c36fb9e..26395dcda7 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -2681,7 +2681,7 @@ }; CDLbl.prototype.getPercentageString = function() { if(this.series && this.pt) { - return this.series.getValByIndex(this.pt.idx, true) + return this.series.getStrPercentageValByIndex(this.pt.idx) } return ""; }; @@ -2695,11 +2695,11 @@ sFormatCode = this.pt.formatCode; } else { - sFormatCode = this.series.getValSourceNumFormat(); + sFormatCode = this.series.getValObjectSourceNumFormat(this.pt.idx); } var num_format = AscCommon.oNumFormatCache.get(sFormatCode); - return num_format.formatToChart(this.series.getValByIndex(this.pt.idx)) + return num_format.formatToChart(this.pt.val) } return ""; }; @@ -3365,52 +3365,22 @@ } return (idx + 1) + ""; }; - CSeriesBase.prototype.getValByIndex = function(idx, bPercent) { - var pts; - var val; - if(this.val) { - val = this.val; - } - else if(this.yVal) { - val = this.yVal; - } - if(val) { - if(val && val.strRef && val.strRef.strCache) { - pts = val.strRef.strCache.pts; - } - else if(val.strLit) { - pts = val.strLit.pts; - } - else if(val.numRef && val.numRef.numCache) { - pts = val.numRef.numCache.pts; - } - else if(val.numLit) { - pts = val.numLit.pts; - } - if(Array.isArray(pts)) { - var i; - if(!(bPercent === true)) { - for(i = 0; i < pts.length; ++i) { - if(pts[i].idx === idx) { - return pts[i].val + ""; - } - } - } - else { - var summ = 0, value; - for(i = 0; i < pts.length; ++i) { - if(AscFormat.isRealNumber(pts[i].val)) - summ += Math.abs(pts[i].val); - - if(pts[i].idx === idx) { - value = pts[i].val; - } - } + CSeriesBase.prototype.getStrPercentageValByIndex = function(idx) { + var pts = this.getNumPts(); + if(Array.isArray(pts)) { + var i; + var summ = 0, value; + for(i = 0; i < pts.length; ++i) { + if(AscFormat.isRealNumber(pts[i].val)) + summ += Math.abs(pts[i].val); - if(summ > 0 && AscFormat.isRealNumber(value)) - return Math.round(100 * (value / summ)) + "%"; + if(pts[i].idx === idx) { + value = pts[i].val; } } + + if(summ > 0 && AscFormat.isRealNumber(value)) + return Math.round(100 * (value / summ)) + "%"; } return ""; }; @@ -3707,11 +3677,15 @@ return "0%"; } } + return this.getValObjectSourceNumFormat(0); + }; + + CSeriesBase.prototype.getValObjectSourceNumFormat = function(nPtIdx) { var oVal = this.val || this.yVal; if(!oVal) { return "General"; } - return oVal.getSourceNumFormat(); + return oVal.getSourceNumFormat(nPtIdx); }; CSeriesBase.prototype.handleOnChangeSheetName = function(sOldSheetName, sNewSheetName) { if(this.val) { @@ -9972,11 +9946,11 @@ } return this.numCache.getValues(nMaxValues); }; - CNumRef.prototype.getNumFormat = function() { + CNumRef.prototype.getNumFormat = function(nPtIdx) { if(!this.numCache) { return "General"; } - return this.numCache.getNumFormat(); + return this.numCache.getNumFormat(nPtIdx); }; CNumRef.prototype.fillFromAsc = function(oValCache, bUseCache) { this.setF(oValCache.Formula); @@ -10386,8 +10360,9 @@ sRet += "}"; return sRet; }; - CNumLit.prototype.getNumFormat = function() { - var oPt = this.pts[0]; + CNumLit.prototype.getNumFormat = function(nPtIdx) { + var nIdx = AscFormat.isRealNumber(nPtIdx) ? nPtIdx : 0; + var oPt = this.pts[nIdx]; if(oPt) { if(typeof oPt.formatCode === "string" && oPt.formatCode.length > 0) { return oPt.formatCode; @@ -12557,12 +12532,12 @@ this.numRef.updateCache(displayEmptyCellsAs, displayHidden, ser); } }; - CYVal.prototype.getSourceNumFormat = function() { + CYVal.prototype.getSourceNumFormat = function(nPtIdx) { if(this.numRef) { - return this.numRef.getNumFormat(); + return this.numRef.getNumFormat(nPtIdx); } if(this.numLit) { - return this.numLit.getNumFormat(); + return this.numLit.getNumFormat(nPtIdx); } return "General"; }; From 9385f9523d7826f27e60816f7415cbd5d0fcde22 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 23 Apr 2021 14:47:36 +0300 Subject: [PATCH 220/381] Add method GetSelectionType for plugins (#1848) --- common/apiBase_plugins.js | 102 +++++++++++++++++++++++++++++++++++++- 1 file changed, 101 insertions(+), 1 deletion(-) diff --git a/common/apiBase_plugins.js b/common/apiBase_plugins.js index d889f48289..c39fca8dc2 100644 --- a/common/apiBase_plugins.js +++ b/common/apiBase_plugins.js @@ -595,7 +595,7 @@ * @param {string} guid Guid helper * @param {number} w Width * @param {number} h Height - * @param {boolean} isKeyboardTake Is catch keyboard + * @param {boolean} isKeyboardTake Is catch keyboard */ Api.prototype["pluginMethod_ShowInputHelper"] = function(guid, w, h, isKeyboardTake) { @@ -716,4 +716,104 @@ } }; + /** + * A current selection type + * @typedef {("none" | "text" | "drawing" | slide)} SelectionType + */ + + /** + * Get current selection type + * @memberof Api + * @typeofeditors ["CDE", "CSE", "CPE"] + * @alias GetSelectionType + * @param {SelectionType} selection type + */ + Api.prototype["pluginMethod_GetSelectionType"] = function() + { + switch (this.editorId) + { + case AscCommon.c_oEditorId.Word: + { + if (!this.WordControl || !this.WordControl.m_oLogicDocument) + return "none"; + var logicDoc = this.WordControl.m_oLogicDocument; + + if (!logicDoc.IsSelectionUse()) + return "none"; + + var selectionBounds = logicDoc.GetSelectionBounds(); + var eps = 0.0001; + if (selectionBounds && selectionBounds.Start && selectionBounds.End && + (Math.abs(selectionBounds.Start.W) > eps) && + (Math.abs(selectionBounds.End.W) > eps)) + { + return "text"; + } + + if (logicDoc.DrawingObjects.getSelectedObjectsBounds()) + return "drawing"; + + return "none"; + } + case AscCommon.c_oEditorId.Presentation: + { + if (!this.WordControl || !this.WordControl.m_oLogicDocument) + return "none"; + var logicDoc = this.WordControl.m_oLogicDocument; + + if (-1 === logicDoc.CurPage) + return "none"; + + var _controller = logicDoc.Slides[logicDoc.CurPage].graphicObjects; + var _elementsCount = _controller.selectedObjects.length; + + var retType = "slide"; + if (!_controller.IsSelectionUse() && _elementsCount > 0) + retType = "none"; + + var selectionBounds = logicDoc.GetSelectionBounds(); + var eps = 0.0001; + if (selectionBounds && selectionBounds.Start && selectionBounds.End && + (Math.abs(selectionBounds.Start.W) > eps) && + (Math.abs(selectionBounds.End.W) > eps)) + { + return "text"; + } + + if (retType === "slide" && _controller.getSelectedObjectsBounds()) + retType = "drawing"; + + return retType; + } + case AscCommon.c_oEditorId.Spreadsheet: + { + if (!this.wb || !this.wb.getWorksheet()) + return "none"; + + var objectRender = this.wb.getWorksheet().objectRender; + if (!objectRender) + return "none"; + + var controller = objectRender.controller; + if (!controller) + return "none"; + + var selection = this.wb.GetSelectionRectsBounds(); + var retType = "none"; + + if (!controller.IsSelectionUse() && !selection) + retType = "none"; + if (controller.GetSelectionBounds() || selection) + retType = "text"; + if (controller.getSelectedObjectsBounds()) + retType = "drawing"; + + return retType; + } + default: + break; + } + return "none"; + }; + })(window); From ef1a7ec17bec9ed1723c87b92e02d9709bc7b2cc Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Fri, 23 Apr 2021 14:48:41 +0300 Subject: [PATCH 221/381] [bug] Fix bug 49872 --- common/Drawings/CommonController.js | 11 ++++----- common/Drawings/Format/ChartFormat.js | 21 +++++++++++++++++ common/Drawings/Format/ChartSpace.js | 3 +++ common/apiCommon.js | 33 +++++++++++++++++++-------- 4 files changed, 52 insertions(+), 16 deletions(-) diff --git a/common/Drawings/CommonController.js b/common/Drawings/CommonController.js index 67ca97f39d..db1624169f 100644 --- a/common/Drawings/CommonController.js +++ b/common/Drawings/CommonController.js @@ -494,14 +494,11 @@ function CheckStockChart(oDrawingObjects, oApi) if(selectedObjectsByType.charts[0]) { var chartSpace = selectedObjectsByType.charts[0]; - if(chartSpace && chartSpace.chart && chartSpace.chart.plotArea && chartSpace.chart.plotArea.charts[0] && chartSpace.chart.plotArea.charts[0].getObjectType() !== AscDFH.historyitem_type_StockChart) + if(!chartSpace.canChangeToStockChart()) { - if(chartSpace.chart.plotArea.charts[0].series.length !== 4) - { - oApi.sendEvent("asc_onError", c_oAscError.ID.StockChartError, c_oAscError.Level.NoCritical); - oApi.WordControl.m_oLogicDocument.Document_UpdateInterfaceState(); - return false; - } + oApi.sendEvent("asc_onError", c_oAscError.ID.StockChartError, c_oAscError.Level.NoCritical); + oApi.WordControl.m_oLogicDocument.Document_UpdateInterfaceState(); + return false; } } return true; diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 26395dcda7..a7206f6821 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -5097,10 +5097,31 @@ return; } } + if(!this.canChangeToStockChart()) { + return; + } var aAxes = this.createRegularAxes("General", false); var oStockChart = this.createStockChart(nType, this.getAllSeries(), aAxes, this.charts[0]); this.addChartWithAxes(oStockChart); }; + CPlotArea.prototype.canChangeToStockChart = function() { + var oChartSpace = this.getChartSpace(); + var nType = oChartSpace.getChartType(); + if(nType === Asc.c_oAscChartTypeSettings.stock) { + return true; + } + var oTestDataRefs = new AscFormat.CChartDataRefs(null); + + var oDataRefs = oChartSpace.getDataRefs(); + var sRange = oDataRefs.getRange(); + var nInfo = oDataRefs.getInfo(); + var bVert = (nInfo & AscFormat.SERIES_FLAG_HOR_VALUE) !== 0; + var nTestResult = oTestDataRefs.checkDataRange(sRange, !bVert, Asc.c_oAscChartTypeSettings.stock); + if(nTestResult === Asc.c_oAscError.ID.No) { + return true; + } + return false; + }; CPlotArea.prototype.changeChartType = function(nType) { if(!this.parent) { return; diff --git a/common/Drawings/Format/ChartSpace.js b/common/Drawings/Format/ChartSpace.js index be76c23190..d5e4f6e9a5 100644 --- a/common/Drawings/Format/ChartSpace.js +++ b/common/Drawings/Format/ChartSpace.js @@ -12176,6 +12176,9 @@ var GLOBAL_PATH_COUNT = 0; this.checkDlblsPosition(); } }; + CChartSpace.prototype.canChangeToStockChart = function() { + return this.chart.plotArea.canChangeToStockChart(); + }; CChartSpace.prototype.checkDlblsPosition = function() { this.chart.checkDlblsPosition(); }; diff --git a/common/apiCommon.js b/common/apiCommon.js index 247ef084a9..1eb5400df7 100644 --- a/common/apiCommon.js +++ b/common/apiCommon.js @@ -1643,18 +1643,33 @@ return this.separator; }; asc_ChartSettings.prototype.changeType = function(type) { - this.putType(type); if(this.chartSpace) { - var oController = this.chartSpace.getDrawingObjectsController(); - if(oController) { - var oThis = this; - var oChartSpace = this.chartSpace; - oController.checkSelectedObjectsAndCallback(function() { - oChartSpace.changeChartType(type); - oThis.updateChart(); - }, [], false, 0, []); + if(type === Asc.c_oAscChartTypeSettings.stock) { + if(!this.chartSpace.canChangeToStockChart()){ + var oApi = Asc.editor || editor; + if(oApi) { + oApi.sendEvent("asc_onError", Asc.c_oAscError.ID.StockChartError, Asc.c_oAscError.Level.NoCritical); + } + return false; + } + } + this.putType(type); + if(this.chartSpace) { + var oController = this.chartSpace.getDrawingObjectsController(); + if(oController) { + var oThis = this; + var oChartSpace = this.chartSpace; + oController.checkSelectedObjectsAndCallback(function() { + oChartSpace.changeChartType(type); + oThis.updateChart(); + }, [], false, 0, []); + } } } + else { + this.putType(type); + } + return true; }; asc_ChartSettings.prototype.getSeries = function() { if(this.chartSpace) { From 6ee6bd20521ce923ac8dc7a5b7583d011bfbc91c Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 22 Apr 2021 20:26:28 +0300 Subject: [PATCH 222/381] Improve check hit in form/content control --- word/Editor/Document.js | 15 +++++++++++++-- .../StructuredDocumentTags/BlockLevel.js | 18 ++++++++++++++++++ .../StructuredDocumentTags/InlineLevel.js | 17 ++++++++++++++++- word/Editor/StructuredDocumentTags/SdtBase.js | 11 +++++++++++ 4 files changed, 58 insertions(+), 3 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 69282d3975..32aad012a2 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -9421,7 +9421,11 @@ CDocument.prototype.IsInForm = function(X, Y, nPageAbs) if (!oClass || !(oClass instanceof ParaRun)) return false; - return (!!oClass.GetParentForm()); + var oForm = oClass.GetParentForm(); + if (!oForm) + return false; + + return oForm.CheckHitInContentControlByXY(X, Y, nPageAbs); }; /** * Проверяем, попали ли мы в контейнер @@ -9440,7 +9444,14 @@ CDocument.prototype.IsInContentControl = function(X, Y, nPageAbs) if (!oClass || !(oClass instanceof ParaRun)) return false; - return (oClass.GetParentContentControls().length > 0); + var arrContentControls = oClass.GetParentContentControls(); + for (var nIndex = 0, nCount = arrContentControls.length; nIndex < nCount; ++nIndex) + { + if (arrContentControls[nIndex].CheckHitInContentControlByXY(X, Y, nPageAbs)) + return true; + } + + return false; }; CDocument.prototype.Is_UseInDocument = function(Id) { diff --git a/word/Editor/StructuredDocumentTags/BlockLevel.js b/word/Editor/StructuredDocumentTags/BlockLevel.js index 33fbc92c3f..98861263dd 100644 --- a/word/Editor/StructuredDocumentTags/BlockLevel.js +++ b/word/Editor/StructuredDocumentTags/BlockLevel.js @@ -2490,6 +2490,24 @@ CBlockLevelSdt.prototype.private_OnAddFormPr = function() { this.Content.Recalc_AllParagraphs_CompiledPr(); }; +CBlockLevelSdt.prototype.CheckHitInContentControlByXY = function(X, Y, nPageAbs) +{ + for (var nPageIndex = 0, nPagesCount = this.GetPagesCount(); nPageIndex < nPagesCount; ++nPageIndex) + { + if (this.IsEmptyPage(nPageIndex)) + continue; + + if (this.GetAbsolutePage(nPageIndex) === nPageAbs) + { + var oBounds = this.Content.GetContentBounds(nPageIndex); + + if (oBounds.Left <= X && X <= oBounds.Right && oBounds.Top <= Y && Y <= oBounds.Bottom) + return true; + } + } + + return false; +}; //--------------------------------------------------------export-------------------------------------------------------- window['AscCommonWord'] = window['AscCommonWord'] || {}; window['AscCommonWord'].CBlockLevelSdt = CBlockLevelSdt; diff --git a/word/Editor/StructuredDocumentTags/InlineLevel.js b/word/Editor/StructuredDocumentTags/InlineLevel.js index 5a2e1db489..fef56d5ea0 100644 --- a/word/Editor/StructuredDocumentTags/InlineLevel.js +++ b/word/Editor/StructuredDocumentTags/InlineLevel.js @@ -553,7 +553,7 @@ CInlineLevelSdt.prototype.DrawContentControlsTrack = function(isHover, X, Y, nCu for (var sKey in this.Bounds) { var oBound = this.Bounds[sKey]; - if (oBound.PageInternal === nCurPage && oBound.X <= X && X <= oBound.X + oBound.W && oBound.Y <= Y && oBound.Y + oBound.H) + if (oBound.PageInternal === nCurPage && oBound.X <= X && X <= oBound.X + oBound.W && oBound.Y <= Y && Y <= oBound.Y + oBound.H) { isHit = true; break; @@ -1927,6 +1927,21 @@ CInlineLevelSdt.prototype.UpdatePlaceHolderTextPrForForm = function() } } }; +CInlineLevelSdt.prototype.CheckHitInContentControlByXY = function(X, Y, nPageAbs) +{ + var oParagraph = this.GetParagraph(); + if (!oParagraph) + return false; + + for (var sKey in this.Bounds) + { + var oBound = this.Bounds[sKey]; + if (oParagraph.GetAbsolutePage(oBound.PageInternal) === nPageAbs && oBound.X <= X && X <= oBound.X + oBound.W && oBound.Y <= Y && Y <= oBound.Y + oBound.H) + return true; + } + + return false; +}; //--------------------------------------------------------export-------------------------------------------------------- window['AscCommonWord'] = window['AscCommonWord'] || {}; diff --git a/word/Editor/StructuredDocumentTags/SdtBase.js b/word/Editor/StructuredDocumentTags/SdtBase.js index bdc7ab555a..218ece3974 100644 --- a/word/Editor/StructuredDocumentTags/SdtBase.js +++ b/word/Editor/StructuredDocumentTags/SdtBase.js @@ -344,3 +344,14 @@ CSdtBase.prototype.SetCurrent = function(isCurrent) CSdtBase.prototype.UpdatePlaceHolderTextPrForForm = function() { }; +/** + * Проверяем попадание в контейнер + * @param X + * @param Y + * @param nPageAbs + * @returns {boolean} + */ +CSdtBase.prototype.CheckHitInContentControlByXY = function(X, Y, nPageAbs) +{ + return false; +}; From 6255fe17c9e94a05851ca804a52902460bf95cdc Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 22 Apr 2021 21:16:24 +0300 Subject: [PATCH 223/381] Fix bug #49748 --- word/Editor/Document.js | 2 +- word/Editor/Paragraph.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 32aad012a2..887b128ba8 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -10693,7 +10693,7 @@ CDocument.prototype.OnMouseDown = function(e, X, Y, PageIndex) if ((oInlineSdt && oInlineSdt.IsCheckBox()) || (oBlockSdt && oBlockSdt.IsCheckBox())) { var oCC = (oInlineSdt && oInlineSdt.IsCheckBox()) ? oInlineSdt : oBlockSdt; - if (!oCC.IsForm() || this.IsFillingFormMode() || oCC === this.CurPos.CC) + if (oCC.CheckHitInContentControlByXY(X, Y, PageIndex) && (!oCC.IsForm() || this.IsFillingFormMode() || oCC === this.CurPos.CC)) { this.CurPos.CC = oCC; oCC.SkipSpecialContentControlLock(true); diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index 699184501f..4639d89ec9 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -11094,7 +11094,7 @@ Paragraph.prototype.UpdateCursorType = function(X, Y, CurPage) MMData.Type = Asc.c_oAscMouseMoveDataTypes.Common; } - if (isCheckBox || (isInText && (null != oHyperlink || bPageRefLink) && true === AscCommon.global_keyboardEvent.CtrlKey)) + if (isInText && (isCheckBox || ((null != oHyperlink || bPageRefLink) && true === AscCommon.global_keyboardEvent.CtrlKey))) this.DrawingDocument.SetCursorType("pointer", MMData); else this.DrawingDocument.SetCursorType("text", MMData); From fc1b93d17621ad677a6a31f6d892785452a304cd Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Fri, 23 Apr 2021 12:47:09 +0300 Subject: [PATCH 224/381] Fix bug #49879 --- word/Editor/Document.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 887b128ba8..4d55579a00 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -14881,7 +14881,7 @@ CDocument.prototype.Continue_FastCollaborativeEditing = function() } } }; -CDocument.prototype.Save_DocumentStateBeforeLoadChanges = function() +CDocument.prototype.Save_DocumentStateBeforeLoadChanges = function(isRemoveSelection) { var State = {}; @@ -14916,7 +14916,10 @@ CDocument.prototype.Save_DocumentStateBeforeLoadChanges = function() State.EndPos = []; this.Controller.SaveDocumentStateBeforeLoadChanges(State); - this.RemoveSelection(); + + // TODO: Разобраться зачем здесь делается RemoveSelection, по логике надо вынести за пределы данной функции + if (false !== isRemoveSelection) + this.RemoveSelection(); this.CollaborativeEditing.WatchDocumentPositionsByState(State); @@ -14961,9 +14964,9 @@ CDocument.prototype.Load_DocumentStateAfterLoadChanges = function(State) this.UpdateSelection(); }; -CDocument.prototype.SaveDocumentState = function() +CDocument.prototype.SaveDocumentState = function(isRemoveSelection) { - return this.Save_DocumentStateBeforeLoadChanges(); + return this.Save_DocumentStateBeforeLoadChanges(isRemoveSelection); }; CDocument.prototype.LoadDocumentState = function(oState) { @@ -24683,7 +24686,7 @@ CDocument.prototype.ChangeTextCase = function(nCaseType) var oState = null; if (!this.IsSelectionUse()) { - oState = this.SaveDocumentState(); + oState = this.SaveDocumentState(false); if (!this.SelectCurrentWord()) { this.LoadDocumentState(oState); From 32cdbb36ade956b6bc2970632c233ec0356e29f0 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Fri, 23 Apr 2021 14:17:39 +0300 Subject: [PATCH 225/381] Fix bug #49881 --- .../StructuredDocumentTags/InlineLevel.js | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/word/Editor/StructuredDocumentTags/InlineLevel.js b/word/Editor/StructuredDocumentTags/InlineLevel.js index fef56d5ea0..9b363d97f0 100644 --- a/word/Editor/StructuredDocumentTags/InlineLevel.js +++ b/word/Editor/StructuredDocumentTags/InlineLevel.js @@ -1942,6 +1942,36 @@ CInlineLevelSdt.prototype.CheckHitInContentControlByXY = function(X, Y, nPageAbs return false; }; +CInlineLevelSdt.prototype.IsSelectedAll = function(Props) +{ + if (!this.Selection.Use) + return false; + + if (this.IsPlaceHolder()) + return true; + + return CParagraphContentWithParagraphLikeContent.prototype.IsSelectedAll.apply(this, arguments); +}; +CInlineLevelSdt.prototype.IsSelectedFromStart = function() +{ + if (!this.Selection.Use) + return false; + + if (this.IsPlaceHolder()) + return true; + + return CParagraphContentWithParagraphLikeContent.prototype.IsSelectedFromStart.apply(this, arguments); +}; +CInlineLevelSdt.prototype.IsSelectedToEnd = function() +{ + if (!this.Selection.Use) + return false; + + if (this.IsPlaceHolder()) + return true; + + return CParagraphContentWithParagraphLikeContent.prototype.IsSelectedToEnd.apply(this, arguments); +}; //--------------------------------------------------------export-------------------------------------------------------- window['AscCommonWord'] = window['AscCommonWord'] || {}; From 296b7e22dfa0c323e18651e67584c3688ee2ca0e Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Fri, 23 Apr 2021 15:07:45 +0300 Subject: [PATCH 226/381] Fix check hit in content control in case of shape --- word/Editor/StructuredDocumentTags/BlockLevel.js | 13 ++++++++++++- word/Editor/StructuredDocumentTags/InlineLevel.js | 13 ++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/word/Editor/StructuredDocumentTags/BlockLevel.js b/word/Editor/StructuredDocumentTags/BlockLevel.js index 98861263dd..c1a9445643 100644 --- a/word/Editor/StructuredDocumentTags/BlockLevel.js +++ b/word/Editor/StructuredDocumentTags/BlockLevel.js @@ -2492,6 +2492,17 @@ CBlockLevelSdt.prototype.private_OnAddFormPr = function() }; CBlockLevelSdt.prototype.CheckHitInContentControlByXY = function(X, Y, nPageAbs) { + var oTransform = this.Get_ParentTextTransform(); + + var _X = X; + var _Y = Y; + if (oTransform) + { + oTransform = oTransform.Invert(); + _X = oTransform.TransformPointX(X, Y); + _Y = oTransform.TransformPointY(X, Y); + } + for (var nPageIndex = 0, nPagesCount = this.GetPagesCount(); nPageIndex < nPagesCount; ++nPageIndex) { if (this.IsEmptyPage(nPageIndex)) @@ -2501,7 +2512,7 @@ CBlockLevelSdt.prototype.CheckHitInContentControlByXY = function(X, Y, nPageAbs) { var oBounds = this.Content.GetContentBounds(nPageIndex); - if (oBounds.Left <= X && X <= oBounds.Right && oBounds.Top <= Y && Y <= oBounds.Bottom) + if (oBounds.Left <= _X && _X <= oBounds.Right && oBounds.Top <= _Y && _Y <= oBounds.Bottom) return true; } } diff --git a/word/Editor/StructuredDocumentTags/InlineLevel.js b/word/Editor/StructuredDocumentTags/InlineLevel.js index 9b363d97f0..391ecddb22 100644 --- a/word/Editor/StructuredDocumentTags/InlineLevel.js +++ b/word/Editor/StructuredDocumentTags/InlineLevel.js @@ -1933,10 +1933,21 @@ CInlineLevelSdt.prototype.CheckHitInContentControlByXY = function(X, Y, nPageAbs if (!oParagraph) return false; + var oTransform = this.Get_ParentTextTransform(); + + var _X = X; + var _Y = Y; + if (oTransform) + { + oTransform = oTransform.Invert(); + _X = oTransform.TransformPointX(X, Y); + _Y = oTransform.TransformPointY(X, Y); + } + for (var sKey in this.Bounds) { var oBound = this.Bounds[sKey]; - if (oParagraph.GetAbsolutePage(oBound.PageInternal) === nPageAbs && oBound.X <= X && X <= oBound.X + oBound.W && oBound.Y <= Y && Y <= oBound.Y + oBound.H) + if (oParagraph.GetAbsolutePage(oBound.PageInternal) === nPageAbs && oBound.X <= _X && _X <= oBound.X + oBound.W && oBound.Y <= _Y && _Y <= oBound.Y + oBound.H) return true; } From 8cffe66e6ac0431c85628460c8cf75d2bd177bfe Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Fri, 23 Apr 2021 15:11:18 +0300 Subject: [PATCH 227/381] [se] Fix bug 49896 --- cell/model/FormulaObjects/parserFormula.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/model/FormulaObjects/parserFormula.js b/cell/model/FormulaObjects/parserFormula.js index d965c4c76a..0ccb58fe06 100644 --- a/cell/model/FormulaObjects/parserFormula.js +++ b/cell/model/FormulaObjects/parserFormula.js @@ -4964,7 +4964,7 @@ _func.binarySearchByRange = function ( sElem, area, regExp ) { var bbox, ws; if (cElementType.cellsRange3D === area.type) { bbox = area.bbox; - ws = area.getWs(); + ws = area.getWS(); } else if (cElementType.cellsRange === area.type) { bbox = area.range.bbox; ws = area.ws; From 478fa782ba9a461105c635eb9c2fa0e79b02aca8 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 23 Apr 2021 15:28:48 +0300 Subject: [PATCH 228/381] Fix bug 49884 --- common/skin.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/common/skin.js b/common/skin.js index 507e0fd8b3..906b2b139d 100644 --- a/common/skin.js +++ b/common/skin.js @@ -291,6 +291,17 @@ function updateGlobalSkin(obj) { if (obj["name"] && undefined !== EditorSkins[obj["name"]]) GlobalSkin = EditorSkins[obj["name"]]; + else if (obj["type"]) + { + for (var item in EditorSkins) + { + if (obj["type"] === EditorSkins[item].Type) + { + GlobalSkin = EditorSkins[item]; + break; + } + } + } for (var item in obj) GlobalSkin[item] = obj[item]; From ae05317e01eb41d6f7c7bb3ddd7e0289185485f4 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Fri, 23 Apr 2021 15:40:33 +0300 Subject: [PATCH 229/381] [bug] Fix cursor updating in view mode over shapes contents --- common/Charts/DrawingObjects.js | 11 +++++++++- common/Drawings/CommonController.js | 7 +------ common/Drawings/DrawingObjectsHandlers.js | 21 +++----------------- common/Drawings/Format/Shape.js | 6 ------ slide/Editor/Format/Presentation.js | 15 ++++++++------ word/Editor/GraphicObjects/GraphicObjects.js | 16 ++++++++------- 6 files changed, 32 insertions(+), 44 deletions(-) diff --git a/common/Charts/DrawingObjects.js b/common/Charts/DrawingObjects.js index f115a8f8ca..2ba8dd2b80 100644 --- a/common/Charts/DrawingObjects.js +++ b/common/Charts/DrawingObjects.js @@ -4142,7 +4142,16 @@ GraphicOption.prototype.union = function(oGraphicOption) { objectInfo.object = _this.getDrawingBase(graphicObjectInfo.objectId); if(objectInfo.object){ objectInfo.id = graphicObjectInfo.objectId; - objectInfo.cursor = graphicObjectInfo.cursorType; + var sCursorType = graphicObjectInfo.cursorType; + var oApi = Asc.editor || editor; + if(oApi) { + if(!oApi.isShowShapeAdjustments()) { + if(sCursorType !== "text") { + sCursorType = "default"; + } + } + } + objectInfo.cursor = sCursorType; objectInfo.hyperlink = graphicObjectInfo.hyperlink; objectInfo.tooltip = graphicObjectInfo.tooltip; } diff --git a/common/Drawings/CommonController.js b/common/Drawings/CommonController.js index db1624169f..1700c0a6c3 100644 --- a/common/Drawings/CommonController.js +++ b/common/Drawings/CommonController.js @@ -1937,12 +1937,7 @@ DrawingObjectsController.prototype = { nPageIndex = this.drawingObjects.num; } - var oApi = Asc.editor || editor; - var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; - if(isDrawHandles) - { - content.UpdateCursorType(tx, ty, 0); - } + content.UpdateCursorType(tx, ty, 0); ret.updated = true; } else if(this.drawingObjects) diff --git a/common/Drawings/DrawingObjectsHandlers.js b/common/Drawings/DrawingObjectsHandlers.js index 29d1ee07f6..3546e25e93 100644 --- a/common/Drawings/DrawingObjectsHandlers.js +++ b/common/Drawings/DrawingObjectsHandlers.js @@ -639,12 +639,7 @@ function handleGroup(drawing, drawingObjectsController, e, x, y, group, pageInde { tx = invert_transform_text.TransformPointX(x, y); ty = invert_transform_text.TransformPointY(x, y); - var oApi = Asc.editor || editor; - var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; - if(isDrawHandles) - { - content.UpdateCursorType(tx, ty, 0); - } + content.UpdateCursorType(tx, ty, 0); } } return {objectId: drawing.Get_Id(), cursorType: "text"}; @@ -1502,12 +1497,7 @@ function handleInternalChart(drawing, drawingObjectsController, e, x, y, group, { tx = invert_transform_text.TransformPointX(x, y); ty = invert_transform_text.TransformPointY(x, y); - var oApi = Asc.editor || editor; - var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; - if(isDrawHandles) - { - content.UpdateCursorType(tx, ty, 0); - } + content.UpdateCursorType(tx, ty, 0); } } return {objectId: drawing.Get_Id(), cursorType: "text", title: oDLbl}; @@ -1630,12 +1620,7 @@ function handleInternalChart(drawing, drawingObjectsController, e, x, y, group, { tx = invert_transform_text.TransformPointX(x, y); ty = invert_transform_text.TransformPointY(x, y); - var oApi = Asc.editor || editor; - var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; - if(isDrawHandles) - { - content.UpdateCursorType(tx, ty, 0); - } + content.UpdateCursorType(tx, ty, 0); } } return {objectId: drawing.Get_Id(), cursorType: "text", title: title}; diff --git a/common/Drawings/Format/Shape.js b/common/Drawings/Format/Shape.js index b3a1a32f07..3814e67582 100644 --- a/common/Drawings/Format/Shape.js +++ b/common/Drawings/Format/Shape.js @@ -4600,12 +4600,6 @@ CShape.prototype.hitInTextRect = function (x, y) { CShape.prototype.updateCursorType = function (x, y, e) { - var oApi = Asc.editor || editor; - var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; - if(isDrawHandles === false) - { - return; - } if(this.invertTransformText) { var tx = this.invertTransformText.TransformPointX(x, y); diff --git a/slide/Editor/Format/Presentation.js b/slide/Editor/Format/Presentation.js index 6350fb5581..1dd6991232 100644 --- a/slide/Editor/Format/Presentation.js +++ b/slide/Editor/Format/Presentation.js @@ -6100,18 +6100,21 @@ CPresentation.prototype.UpdateCursorType = function (X, Y, MouseEvent) { var oApi = Asc.editor || editor; var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; - if(isDrawHandles === false) - { - return; - } + var oController = this.GetCurrentController(); if (oController) { var graphicObjectInfo = oController.isPointInDrawingObjects(X, Y, MouseEvent); if (graphicObjectInfo) { if (!graphicObjectInfo.updated) { - this.DrawingDocument.SetCursorType(graphicObjectInfo.cursorType); + if(isDrawHandles !== false) { + this.DrawingDocument.SetCursorType(graphicObjectInfo.cursorType); + } + else { + this.DrawingDocument.SetCursorType("default"); + } } - } else { + } + else { this.DrawingDocument.SetCursorType("default"); } AscCommon.CollaborativeEditing.Check_ForeignCursorsLabels(X, Y, this.CurPage); diff --git a/word/Editor/GraphicObjects/GraphicObjects.js b/word/Editor/GraphicObjects/GraphicObjects.js index 23e0bca780..7e28d9a631 100644 --- a/word/Editor/GraphicObjects/GraphicObjects.js +++ b/word/Editor/GraphicObjects/GraphicObjects.js @@ -238,15 +238,17 @@ CGraphicObjects.prototype = this.handleEventMode = HANDLE_EVENT_MODE_HANDLE; if(ret) { - var oApi = Asc.editor || editor; - var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; - if(isDrawHandles === false) - { - this.drawingDocument.SetCursorType("default"); - return true; - } if(ret.cursorType !== "text") + { + var oApi = Asc.editor || editor; + var isDrawHandles = oApi ? oApi.isShowShapeAdjustments() : true; + if(isDrawHandles === false) + { + this.drawingDocument.SetCursorType("default"); + return true; + } this.drawingDocument.SetCursorType(ret.cursorType); + } return true; } return false; From 3a2b19b91cb33f01d94562e63f7b99d390239418 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 23 Apr 2021 15:52:37 +0300 Subject: [PATCH 230/381] Fix bug 49746 (#1853) --- word/Drawing/Graphics.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/word/Drawing/Graphics.js b/word/Drawing/Graphics.js index 4adb4cf06c..c46d211f3a 100644 --- a/word/Drawing/Graphics.js +++ b/word/Drawing/Graphics.js @@ -2385,7 +2385,8 @@ CGraphics.prototype = if (this.m_bIntegerGrid) { - if (AscCommon.global_MatrixTransformer.IsIdentity2(this.m_oFullTransform)) + var tr = this.m_oFullTransform; + if (0.0 === tr.shx && 0.0 === tr.shy) { var _x = (this.m_oFullTransform.TransformPointX(x, y) + 0.5) >> 0; var _y = (this.m_oFullTransform.TransformPointY(x, y) + 0.5) >> 0; From fcc80b0e362d065f25903892bb18587191cf6bbf Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Fri, 23 Apr 2021 16:02:07 +0300 Subject: [PATCH 231/381] [se] Show argument type after add and delete data --- cell/model/Workbook.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cell/model/Workbook.js b/cell/model/Workbook.js index e0997de7ab..301b1a908a 100644 --- a/cell/model/Workbook.js +++ b/cell/model/Workbook.js @@ -8589,7 +8589,7 @@ }; Worksheet.prototype.calculateWizardFormula = function (formula, type) { - var res = null, resultStr = ""; + var res = null, resultStr = null; if (formula) { var parser = new AscCommonExcel.parserFormula(formula, /*formulaParsed.parent*/null, this); var parseResultArg = new AscCommonExcel.ParseResult([], []); @@ -8598,6 +8598,7 @@ res = parser.calculate(); } + resultStr = ""; if (res) { //TODO рассчеты аргументов зависят от конкретных функций //допустим, sum и acos - типа аргумента number, но результат для cellsRange3D разный From b459a6b6be9417a453a287bce3cbf91da4ee3e73 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Fri, 23 Apr 2021 16:13:29 +0300 Subject: [PATCH 232/381] [se] Fix export c_oAscFormulaArgumentType --- cell/apiDefines.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/apiDefines.js b/cell/apiDefines.js index e2f33bc044..18809e7d34 100644 --- a/cell/apiDefines.js +++ b/cell/apiDefines.js @@ -760,7 +760,7 @@ var c_oAscPopUpSelectorType = { prot['current'] = prot.current; window['Asc']['c_oAscFormulaArgumentType'] = window['Asc'].c_oAscFormulaArgumentType = c_oAscFormulaArgumentType; - prot = c_oAscPrintTitlesRangeType; + prot = c_oAscFormulaArgumentType; prot['number'] = prot.number; prot['text'] = prot.text; prot['reference'] = prot.reference; From 42c685999de80fbcad551a3641a0fac51c7ff999 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Fri, 23 Apr 2021 16:26:38 +0300 Subject: [PATCH 233/381] [de] Fix bug 49842 --- common/SerializeCommonWordExcel.js | 16 ++++++++++++++-- word/Editor/Serialize2.js | 9 ++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/common/SerializeCommonWordExcel.js b/common/SerializeCommonWordExcel.js index 1a69d886f6..a0dd9c6c07 100644 --- a/common/SerializeCommonWordExcel.js +++ b/common/SerializeCommonWordExcel.js @@ -113,7 +113,8 @@ var c_oSerShdType = { Value: 0, Color: 1, ColorTheme: 2, - Fill: 3 + Fill: 3, + FillTheme: 4 }; var c_oSer_ColorThemeType = { Auto: 0, @@ -269,6 +270,12 @@ BinaryCommonWriter.prototype.WriteShd = function(Shd) this.memory.WriteByte(c_oSerPropLenType.Variable); this.WriteItemWithLength(function(){_this.WriteColorTheme(Shd.Unifill, Shd.Color);}); } + if((null != Shd.Fill && Shd.Fill.Auto)) + { + this.memory.WriteByte(c_oSerShdType.FillTheme); + this.memory.WriteByte(c_oSerPropLenType.Variable); + this.WriteItemWithLength(function(){_this.WriteColorTheme(null, Shd.Fill);}); + } }; BinaryCommonWriter.prototype.WritePaddings = function(Paddings) { @@ -550,7 +557,7 @@ Binary_CommonReader.prototype.ReadColor = function() var b = this.stream.GetUChar(); return new AscCommonWord.CDocumentColor(r, g, b); }; -Binary_CommonReader.prototype.ReadShd = function(type, length, Shd, themeColor) +Binary_CommonReader.prototype.ReadShd = function(type, length, Shd, themeColor, themeColorFill) { var res = c_oSerConstants.ReadOk; var oThis = this; @@ -566,6 +573,11 @@ Binary_CommonReader.prototype.ReadShd = function(type, length, Shd, themeColor) case c_oSerShdType.Fill: Shd.Fill = this.ReadColor(); break; + case c_oSerShdType.FillTheme: + res = this.Read2(length, function(t, l){ + return oThis.ReadColorTheme(t, l, themeColorFill); + }); + break; default: res = c_oSerConstants.ReadUnknown; break; diff --git a/word/Editor/Serialize2.js b/word/Editor/Serialize2.js index ab66ce1a25..dd51afee4f 100644 --- a/word/Editor/Serialize2.js +++ b/word/Editor/Serialize2.js @@ -1668,9 +1668,10 @@ function writeNestedReviewType(type, reviewInfo, fWriteRecord, fCallback) { function ReadDocumentShd(length, bcr, oShd) { var themeColor = { Auto: null, Color: null, Tint: null, Shade: null }; + var themeColorFill = { Auto: null, Color: null, Tint: null, Shade: null }; oShd.Color = undefined; var res = bcr.Read2(length, function (t, l) { - return bcr.ReadShd(t, l, oShd, themeColor); + return bcr.ReadShd(t, l, oShd, themeColor, themeColorFill); }); if(!oShd.Color) { oShd.Color = new AscCommonWord.CDocumentColor(255, 255, 255, true); @@ -1680,6 +1681,12 @@ function ReadDocumentShd(length, bcr, oShd) { var unifill = CreateThemeUnifill(themeColor.Color, themeColor.Tint, themeColor.Shade); if (null != unifill) oShd.Unifill = unifill; + if (true == themeColorFill.Auto) { + if(!oShd.Fill) { + oShd.Fill = new AscCommonWord.CDocumentColor(255, 255, 255, true); + } + oShd.Fill.Auto = true;//todo менять полностью цвет + } return oShd; } From 49b5409e17bf1a851608dbd4e803a3226aea8014 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 23 Apr 2021 17:31:07 +0300 Subject: [PATCH 234/381] Fix bug 49916 (#1857) --- common/editorscommon.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/common/editorscommon.js b/common/editorscommon.js index 7b93ae32b4..e7ea029561 100644 --- a/common/editorscommon.js +++ b/common/editorscommon.js @@ -6307,7 +6307,9 @@ var new_width = 0; var new_height = 0; - if (!AscCommon.AscBrowser.isMozilla) + + // в мозилле поправили баг. отключаем особую ветку + if (true || !AscCommon.AscBrowser.isMozilla) { new_width = Math.round(scale * rect.right) - Math.round(scale * rect.left); new_height = Math.round(scale * rect.bottom) - Math.round(scale * rect.top); From 672be583f20a67b900312c6930d57061a55f00de Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Fri, 23 Apr 2021 17:48:57 +0300 Subject: [PATCH 235/381] [bug] Fix bug 49910 --- common/Drawings/Format/Shape.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/common/Drawings/Format/Shape.js b/common/Drawings/Format/Shape.js index 3814e67582..59fceef810 100644 --- a/common/Drawings/Format/Shape.js +++ b/common/Drawings/Format/Shape.js @@ -6013,6 +6013,10 @@ CShape.prototype.recalculateBounds = function() CShape.prototype.checkContentWordArt = function(oContent) { + if(!oContent) + { + return false; + } return oContent.CheckRunContent(CheckWordArtTextPr); }; From bc13f8670785e0f7fc6e4710747f9688b0565ac8 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Fri, 23 Apr 2021 18:06:02 +0300 Subject: [PATCH 236/381] [bug] Fix updating chart type in the right panel --- common/apiCommon.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common/apiCommon.js b/common/apiCommon.js index 1eb5400df7..79f72c0252 100644 --- a/common/apiCommon.js +++ b/common/apiCommon.js @@ -1649,6 +1649,9 @@ var oApi = Asc.editor || editor; if(oApi) { oApi.sendEvent("asc_onError", Asc.c_oAscError.ID.StockChartError, Asc.c_oAscError.Level.NoCritical); + if(oApi.UpdateInterfaceState) { + oApi.UpdateInterfaceState(); + } } return false; } From 661a58f761878470ad8e6d3f75186d5a79ea51dd Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Fri, 23 Apr 2021 18:26:05 +0300 Subject: [PATCH 237/381] Fix bug #49899 Fix the problem with clearing image form --- word/Editor/Document.js | 16 ++++++++++++++-- word/Editor/StructuredDocumentTags/BlockLevel.js | 12 +++++++----- .../Editor/StructuredDocumentTags/InlineLevel.js | 12 +++++++----- 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 4d55579a00..20c641d2ad 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -24403,8 +24403,20 @@ CDocument.prototype.ClearAllSpecialForms = function() } else if (oForm.IsPicture()) { - oForm.ReplaceContentWithPlaceHolder(); - oForm.ApplyPicturePr(true); + var arrDrawings = oForm.GetAllDrawingObjects(); + if (arrDrawings.length > 0 && arrDrawings[0].IsPicture()) + { + var nW = arrDrawings[0].Extent.W; + var nH = arrDrawings[0].Extent.H; + + oForm.ReplaceContentWithPlaceHolder(); + oForm.ApplyPicturePr(true, nW, nH); + } + else + { + oForm.ReplaceContentWithPlaceHolder(); + oForm.ApplyPicturePr(true); + } } else { diff --git a/word/Editor/StructuredDocumentTags/BlockLevel.js b/word/Editor/StructuredDocumentTags/BlockLevel.js index c1a9445643..70ed1698c9 100644 --- a/word/Editor/StructuredDocumentTags/BlockLevel.js +++ b/word/Editor/StructuredDocumentTags/BlockLevel.js @@ -1917,7 +1917,7 @@ CBlockLevelSdt.prototype.SetPicturePr = function(isPicture) this.Pr.Picture = isPicture; } }; -CBlockLevelSdt.prototype.private_UpdatePictureContent = function() +CBlockLevelSdt.prototype.private_UpdatePictureContent = function(_nW, _nH) { if (!this.IsPicture()) return; @@ -1949,8 +1949,8 @@ CBlockLevelSdt.prototype.private_UpdatePictureContent = function() if (!oDrawingObjects) return; - var nW = 50; - var nH = 50; + var nW = _nW ? _nW : 50; + var nH = _nH ? _nH : 50; oDrawing = new ParaDrawing(nW, nH, null, oDrawingObjects, this.LogicDocument, null); var oImage = oDrawingObjects.createImage(AscCommon.g_sWordPlaceholderImage, 0, 0, nW, nH); @@ -1963,12 +1963,14 @@ CBlockLevelSdt.prototype.private_UpdatePictureContent = function() /** * Применяме к данному контейнеру настройку того, что это специальный контейнер для картинок * @param isPicture {boolean} + * @param [nW=-1] {number} если не задано (или значение не положительное), тогда используется стандартное значение + * @param [nH=-1] {number} если не задано (или значение не положительное), тогда используется стандартное значение */ -CBlockLevelSdt.prototype.ApplyPicturePr = function(isPicture) +CBlockLevelSdt.prototype.ApplyPicturePr = function(isPicture, nW, nH) { this.SetPicturePr(isPicture); this.SetPlaceholder(undefined); - this.private_UpdatePictureContent(); + this.private_UpdatePictureContent(nW, nH); }; /** * Выделяем изображение, если это специальный контейнер для изображения diff --git a/word/Editor/StructuredDocumentTags/InlineLevel.js b/word/Editor/StructuredDocumentTags/InlineLevel.js index 391ecddb22..104b90b6e4 100644 --- a/word/Editor/StructuredDocumentTags/InlineLevel.js +++ b/word/Editor/StructuredDocumentTags/InlineLevel.js @@ -1369,7 +1369,7 @@ CInlineLevelSdt.prototype.SetPicturePr = function(isPicture) this.Pr.Picture = isPicture; } }; -CInlineLevelSdt.prototype.private_UpdatePictureContent = function() +CInlineLevelSdt.prototype.private_UpdatePictureContent = function(_nW, _nH) { if (!this.IsPicture()) return; @@ -1402,8 +1402,8 @@ CInlineLevelSdt.prototype.private_UpdatePictureContent = function() if (!oDrawingObjects) return; - var nW = 50; - var nH = 50; + var nW = _nW ? _nW : 50; + var nH = _nH ? _nH : 50; oDrawing = new ParaDrawing(nW, nH, null, oDrawingObjects, this.Paragraph.LogicDocument, null); var oImage = oDrawingObjects.createImage(AscCommon.g_sWordPlaceholderImage, 0, 0, nW, nH); @@ -1416,11 +1416,13 @@ CInlineLevelSdt.prototype.private_UpdatePictureContent = function() /** * Применяме к данному контейнеру настройку того, что это специальный контейнер для картинок * @param isPicture {boolean} + * @param [nW=-1] {number} если не задано (или значение не положительное), тогда используется стандартное значение + * @param [nH=-1] {number} если не задано (или значение не положительное), тогда используется стандартное значение */ -CInlineLevelSdt.prototype.ApplyPicturePr = function(isPicture) +CInlineLevelSdt.prototype.ApplyPicturePr = function(isPicture, nW, nH) { this.SetPicturePr(isPicture); - this.private_UpdatePictureContent(); + this.private_UpdatePictureContent(nW, nH); }; /** * Выделяем изображение, если это специальный контейнер для изображения From ba7af4976f4ee30beb59d1a980af720d2c262deb Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Sat, 24 Apr 2021 00:47:50 +0300 Subject: [PATCH 238/381] Fix bug #49574 Fix the problem with calculating spacing before/after in case of content controls --- word/Editor/DocumentContentBase.js | 14 ++++++++++++++ word/Editor/DocumentContentElementBase.js | 16 ++++++++++++++++ word/Editor/Paragraph.js | 22 ++++++++++------------ 3 files changed, 40 insertions(+), 12 deletions(-) diff --git a/word/Editor/DocumentContentBase.js b/word/Editor/DocumentContentBase.js index b61bd2b455..fb4572a4bd 100644 --- a/word/Editor/DocumentContentBase.js +++ b/word/Editor/DocumentContentBase.js @@ -2208,3 +2208,17 @@ CDocumentContentBase.prototype.UpdateLineNumbersInfo = function() this.Content[nIndex].UpdateLineNumbersInfo(); } }; +CDocumentContentBase.prototype.GetPrevDocumentElement = function() +{ + if (this.Parent && this.Parent.GetPrevDocumentElement) + return this.Parent.GetPrevDocumentElement(); + + return null; +}; +CDocumentContentBase.prototype.GetNextDocumentElement = function() +{ + if (this.Parent && this.Parent.GetNextDocumentElement) + return this.Parent.GetNextDocumentElement(); + + return null; +}; diff --git a/word/Editor/DocumentContentElementBase.js b/word/Editor/DocumentContentElementBase.js index 0feef0d108..4b1b41a2a8 100644 --- a/word/Editor/DocumentContentElementBase.js +++ b/word/Editor/DocumentContentElementBase.js @@ -120,6 +120,22 @@ CDocumentContentElementBase.prototype.Get_DocumentPrev = function() { return this.Prev; }; +CDocumentContentElementBase.prototype.GetNextDocumentElement = function() +{ + var oNext = this.Get_DocumentNext(); + if (!oNext && this.Parent && this.Parent.GetNextDocumentElement) + return this.Parent.GetNextDocumentElement(); + + return oNext; +}; +CDocumentContentElementBase.prototype.GetPrevDocumentElement = function() +{ + var oPrev = this.Get_DocumentPrev(); + if (!oPrev && this.Parent && this.Parent.GetPrevDocumentElement) + return this.Parent.GetPrevDocumentElement(); + + return oPrev; +}; CDocumentContentElementBase.prototype.GetParent = function() { return this.Parent; diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index 4639d89ec9..cb757c9bef 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -9322,8 +9322,8 @@ Paragraph.prototype.Get_CompiledPr = function() var NumPr = this.GetNumPr(); var FramePr = this.Get_FramePr(); - var PrevEl = this.Get_DocumentPrev(); - var NextEl = this.Get_DocumentNext(); + var PrevEl = this.GetPrevDocumentElement(); + var NextEl = this.GetNextDocumentElement(); var oPrevParagraph = this.GetPrevParagraph(); var oNextParagraph = this.GetNextParagraph(); @@ -9353,11 +9353,11 @@ Paragraph.prototype.Get_CompiledPr = function() } else { - while (null !== PrevEl && type_Paragraph === PrevEl.GetType() && undefined !== PrevEl.Get_FramePr()) - PrevEl = PrevEl.Get_DocumentPrev(); + while (PrevEl && PrevEl.IsParagraph() && undefined !== PrevEl.Get_FramePr()) + PrevEl = PrevEl.GetPrevDocumentElement(); - while (null !== NextEl && type_Paragraph === NextEl.GetType() && undefined !== NextEl.Get_FramePr()) - NextEl = NextEl.Get_DocumentNext(); + while (NextEl && NextEl.IsParagraph() && undefined !== NextEl.Get_FramePr()) + NextEl = NextEl.GetNextDocumentElement(); } if (PrevEl && PrevEl.IsParagraph()) @@ -9373,6 +9373,10 @@ Paragraph.prototype.Get_CompiledPr = function() Pr.ParaPr.Brd.First = true; } } + else if (PrevEl && PrevEl.IsBlockLevelSdt()) + { + PrevEl = PrevEl.GetLastParagraph(); + } if (oPrevParagraph && StyleId === oPrevParagraph.Style_Get() && Pr.ParaPr.ContextualSpacing) { @@ -9455,12 +9459,6 @@ Paragraph.prototype.Get_CompiledPr = function() Pr.ParaPr.Spacing.Before = 14 * g_dKoef_pt_to_mm; } } - else if (PrevEl.IsBlockLevelSdt()) - { - var oPrevPara = PrevEl.GetLastParagraph(); - if (oPrevPara && oPrevPara.Style_Get() === StyleId) - Pr.ParaPr.Spacing.Before = 0; - } if (NextEl && NextEl.IsParagraph()) { From 951a89ccecb37f3b9b3d93ad2b3e19275f6172f5 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Sat, 24 Apr 2021 01:02:25 +0300 Subject: [PATCH 239/381] Fix bug #49926 --- common/apiCommon.js | 4 ++++ word/Editor/Paragraph.js | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/common/apiCommon.js b/common/apiCommon.js index 79f72c0252..910092e6e2 100644 --- a/common/apiCommon.js +++ b/common/apiCommon.js @@ -2463,8 +2463,11 @@ } } } else { + + // TODO: Пока мы не работает отдельно с Color и Fill, поэтому пишем и тот и другой this.Value = Asc.c_oAscShdNil; this.Color = CreateAscColorCustom(255, 255, 255); + this.Fill = CreateAscColorCustom(255, 255, 255); } } @@ -2477,6 +2480,7 @@ return this.Color; }, asc_putColor: function (v) { this.Color = (v) ? v : null; + this.Fill = (v) ? v : null; } }; diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index cb757c9bef..c6c5ad78af 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -11530,7 +11530,7 @@ Paragraph.prototype.Set_FramePr = function(FramePr, bDelete) } } - if (undefined != FramePr.Shd) + if (FramePr.Shd) { var Count = FrameParas.length; for (var Index = 0; Index < Count; Index++) From 5bbb415b99961ba06ec988da6b2ea33b66846ac5 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sat, 24 Apr 2021 21:56:22 +0300 Subject: [PATCH 240/381] [bug] Fix bug 49938 --- slide/Editor/Format/Presentation.js | 33 +++++++++++++++++++++++++++++ word/Editor/Table.js | 6 ++++-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/slide/Editor/Format/Presentation.js b/slide/Editor/Format/Presentation.js index 1dd6991232..233261d825 100644 --- a/slide/Editor/Format/Presentation.js +++ b/slide/Editor/Format/Presentation.js @@ -7169,6 +7169,39 @@ CPresentation.prototype.OnEndTextDrag = function (NearPos, bCopy) { } }; + +/** + * @returns {boolean} + */ +CPresentation.prototype.IsShowShapeAdjustments = function() +{ + return (!!this.CanEdit()); +}; +/** + * Рисовать ли трек у таблицы и давать ли возможность таскать границы + * @returns {boolean} + */ +CPresentation.prototype.IsShowTableAdjustments = function() +{ + return (!!this.CanEdit()); +}; +/** + * Рисовать ли трек у таблицы и давать ли возможность таскать границы + * @returns {boolean} + */ +CPresentation.prototype.IsShowEquationTrack = function() +{ + return (!!this.CanEdit()); +}; +/** + * Можем ли перетаскивать текст + * @returns {boolean} + */ +CPresentation.prototype.CanDragAndDrop = function() +{ + return (!!this.CanEdit()); +}; + CPresentation.prototype.IsFocusOnNotes = function () { return this.FocusOnNotes; }; diff --git a/word/Editor/Table.js b/word/Editor/Table.js index 3ba2914f05..1d186d8686 100644 --- a/word/Editor/Table.js +++ b/word/Editor/Table.js @@ -2516,6 +2516,7 @@ CTable.prototype.GetTableOffsetCorrection = function() if (true === this.Parent.IsTableCellContent() || this.bPresentation || !this.LogicDocument + || !this.LogicDocument.GetCompatibilityMode || this.LogicDocument.GetCompatibilityMode() >= AscCommon.document_compatibility_mode_Word15) return 0; @@ -2559,6 +2560,7 @@ CTable.prototype.GetRightTableOffsetCorrection = function() if (true === this.Parent.IsTableCellContent() || this.bPresentation || !this.LogicDocument + || !this.LogicDocument.GetCompatibilityMode || this.LogicDocument.GetCompatibilityMode() >= AscCommon.document_compatibility_mode_Word15) return 0; @@ -3462,7 +3464,7 @@ CTable.prototype.UpdateCursorType = function(X, Y, CurPage) if (true === this.Selection.Start || table_Selection_Border === this.Selection.Type2 || table_Selection_Border_InnerTable === this.Selection.Type2) return; - if (this.LogicDocument && this.LogicDocument.IsShowTableAdjustments()) + if (this.LogicDocument && this.LogicDocument.IsShowTableAdjustments && this.LogicDocument.IsShowTableAdjustments()) { // Случай, когда у нас уже есть трэк вложенной таблицы и курсор выходит во внешнюю. Чтобы трэк сразу не пропадал, // пока курсор находится в области табличного трэка для вложенной таблицы. @@ -3610,7 +3612,7 @@ CTable.prototype.Document_UpdateInterfaceState = function() { this.CurCell.Content.Document_UpdateInterfaceState(); - if (this.LogicDocument && !this.bPresentation) + if (this.LogicDocument && !this.bPresentation && this.LogicDocument.GetTrackRevisionsManager) { var oTrackManager = this.LogicDocument.GetTrackRevisionsManager(); From ece8f516ca83033d7c589b1a7280b1218b4d19de Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sat, 24 Apr 2021 23:05:00 +0300 Subject: [PATCH 241/381] [bug] Fix bug 49934 --- cell/model/History.js | 6 ++++++ common/Drawings/CommonController.js | 5 +++++ common/apiCommon.js | 4 ++++ 3 files changed, 15 insertions(+) diff --git a/cell/model/History.js b/cell/model/History.js index 75075b7473..8830acd10e 100644 --- a/cell/model/History.js +++ b/cell/model/History.js @@ -1180,7 +1180,13 @@ CHistory.prototype.GetSerializeArray = function() } this.PosInCurPoint = null; }; + CHistory.prototype.Is_LastPointEmpty = function() + { + if (!this.Points[this.Index] || this.Points[this.Index].Items.length <= 0) + return true; + return false; + }; //------------------------------------------------------------export-------------------------------------------------- window['AscCommon'] = window['AscCommon'] || {}; window['AscCommon'].CHistory = CHistory; diff --git a/common/Drawings/CommonController.js b/common/Drawings/CommonController.js index 1700c0a6c3..f5761044b7 100644 --- a/common/Drawings/CommonController.js +++ b/common/Drawings/CommonController.js @@ -3546,6 +3546,11 @@ DrawingObjectsController.prototype = var objects_by_types = this.getSelectedObjectsByTypes(); if(objects_by_types.charts.length === 1) { + var oCurProps = this.getPropsFromChart(objects_by_types.charts[0]); + if(oCurProps.isEqual(chart)) + { + return; + } this.checkSelectedObjectsAndCallback(this.editChartCallback, [chart], false, AscDFH.historydescription_Spreadsheet_EditChart); } }, diff --git a/common/apiCommon.js b/common/apiCommon.js index 910092e6e2..30b63e5e72 100644 --- a/common/apiCommon.js +++ b/common/apiCommon.js @@ -1737,6 +1737,10 @@ AscCommon.History.StartTransaction(); }; asc_ChartSettings.prototype.endEdit = function() { + if(AscCommon.History.Is_LastPointEmpty()) { + this.cancelEdit(); + return; + } this.bStartEdit = false; AscCommon.History.EndTransaction(); this.updateChart(); From 20483e07b0ac56b996096a0f3e17b1d5ec1d169c Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sun, 25 Apr 2021 00:18:46 +0300 Subject: [PATCH 242/381] [bug] Fix bug 49935 --- cell/view/WorksheetView.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/cell/view/WorksheetView.js b/cell/view/WorksheetView.js index 74b2ef6e17..c4c2bebebc 100644 --- a/cell/view/WorksheetView.js +++ b/cell/view/WorksheetView.js @@ -13313,12 +13313,36 @@ updateDrawingObjectsInfo2.operType, updateDrawingObjectsInfo2.updateRange); } t.model.onUpdateRanges(arrChangedRanges); + + var aRanges = []; var oBBox; for(var nRange = 0; nRange < arrChangedRanges.length; ++nRange) { oBBox = arrChangedRanges[nRange]; aRanges.push(new AscCommonExcel.Range(t.model, oBBox.r1, oBBox.c1, oBBox.r2, oBBox.c2)); } + if (updateDrawingObjectsInfo2 && updateDrawingObjectsInfo2.updateRange) { + var nOperType = updateDrawingObjectsInfo2.operType; + var oUpdateRange = updateDrawingObjectsInfo2.updateRange; + switch(nOperType) { + case c_oAscInsertOptions.InsertColumns: + case c_oAscDeleteOptions.DeleteColumns: + case c_oAscInsertOptions.InsertCellsAndShiftRight: + case c_oAscDeleteOptions.DeleteCellsAndShiftLeft: + { + aRanges.push(new AscCommonExcel.Range(t.model, oUpdateRange.r1, oUpdateRange.c1, oUpdateRange.r2, gc_nMaxCol0)); + break; + } + case c_oAscInsertOptions.InsertRows: + case c_oAscInsertOptions.InsertCellsAndShiftDown: + case c_oAscDeleteOptions.DeleteRows: + case c_oAscDeleteOptions.DeleteCellsAndShiftTop: + { + aRanges.push(new AscCommonExcel.Range(t.model, oUpdateRange.r1, oUpdateRange.c1, gc_nMaxRow0, oUpdateRange.c2)); + break; + } + } + } Asc.editor.wb.handleChartsOnWorkbookChange(aRanges); } t.scrollType |= AscCommonExcel.c_oAscScrollType.ScrollVertical | AscCommonExcel.c_oAscScrollType.ScrollHorizontal; From 657a603b125f45c340a81470b8b2a167a25dd8ab Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sun, 25 Apr 2021 13:42:16 +0300 Subject: [PATCH 243/381] [bug] Fix bug 49957 --- cell/model/CollaborativeEditing.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/cell/model/CollaborativeEditing.js b/cell/model/CollaborativeEditing.js index 03f7a38573..837aac8db3 100644 --- a/cell/model/CollaborativeEditing.js +++ b/cell/model/CollaborativeEditing.js @@ -891,16 +891,21 @@ return this.m_oRecalcIndexRows[sheetId].getLockSaveOther(row); }; CCollaborativeEditing.prototype.checkObjectsLock = function(aObjectId, callback) { - var bCanNotEdit = this.getGlobalLock() || Asc.editor && !Asc.editor.canEdit(); + var oApi = Asc.editor; + var bCanNotEdit = this.getGlobalLock() || oApi && !oApi.canEdit(); if(bCanNotEdit) { if(callback) { callback(false, true); } return false; } - AscCommon.History.StartTransaction(); + if(oApi) { + oApi.incrementCounterLongAction(); + } var callbackEx = function(result, sync) { - AscCommon.History.EndTransaction(); + if(oApi) { + oApi.decrementCounterLongAction(); + } if ( callback ) callback(result, sync); }; From 5b3746e154460703375be5e02f11a1023cb861f8 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sun, 25 Apr 2021 14:15:26 +0300 Subject: [PATCH 244/381] [bug] Fix bug 49960 --- cell/model/Workbook.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/model/Workbook.js b/cell/model/Workbook.js index 301b1a908a..14f3d2aa98 100644 --- a/cell/model/Workbook.js +++ b/cell/model/Workbook.js @@ -4276,7 +4276,7 @@ var aRefsToChange = []; var sNewName = parserHelp.getEscapeSheetName(oNewWs.sName); var aRanges = [new AscCommonExcel.Range(this, 0, 0, gc_nMaxRow0, gc_nMaxCol0)]; - this.handleDrawings(function(oDrawing) { + oNewWs.handleDrawings(function(oDrawing) { if(oDrawing.getObjectType() === AscDFH.historyitem_type_ChartSpace) { oDrawing.collectIntersectionRefs(aRanges, aRefsToChange); } From 1161cc2255c15cc6a30be91490d8b1769b5eed25 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sun, 25 Apr 2021 14:29:18 +0300 Subject: [PATCH 245/381] [bug] For bug 49177 --- common/Drawings/Format/ChartSpace.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/common/Drawings/Format/ChartSpace.js b/common/Drawings/Format/ChartSpace.js index d5e4f6e9a5..b3b79217dc 100644 --- a/common/Drawings/Format/ChartSpace.js +++ b/common/Drawings/Format/ChartSpace.js @@ -12652,8 +12652,11 @@ var GLOBAL_PATH_COUNT = 0; chart.setShowDLblsOverMax(false); var plot_area = chart.plotArea; plot_area.setLayout(new AscFormat.CLayout()); - plot_area.addChart(new AscFormat.CBarChart()); - + var oBarChart = new AscFormat.CBarChart(); + plot_area.addChart(oBarChart); + if(b3D) { + oBarChart.set3D(true); + } var cat_ax = new AscFormat.CCatAx(); var val_ax = new AscFormat.CValAx(); From 25f7c2f3a2c6ea51497815b732910ae04fe64190 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sun, 25 Apr 2021 15:00:17 +0300 Subject: [PATCH 246/381] [bug] Fix bug 49815 --- common/apiCommon.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/apiCommon.js b/common/apiCommon.js index 30b63e5e72..685d01d7fc 100644 --- a/common/apiCommon.js +++ b/common/apiCommon.js @@ -4868,7 +4868,7 @@ var _oldTrackRevision = false; if (oApi.getEditorId() == AscCommon.c_oEditorId.Word && oApi.WordControl && oApi.WordControl.m_oLogicDocument) - _oldTrackRevision = oApi.WordControl.GetLocalTrackRevisions(); + _oldTrackRevision = oApi.WordControl.m_oLogicDocument.GetLocalTrackRevisions(); if (false !== _oldTrackRevision) oApi.WordControl.m_oLogicDocument.SetLocalTrackRevisions(false); From 94410618bd5ca0a70ae70d4b9aa57ba49117f89f Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Sun, 25 Apr 2021 22:28:26 +0300 Subject: [PATCH 247/381] [bug] Fix bug 49941 --- common/Charts/charts.js | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/common/Charts/charts.js b/common/Charts/charts.js index 81bdf73c3d..85fd782746 100644 --- a/common/Charts/charts.js +++ b/common/Charts/charts.js @@ -769,7 +769,7 @@ TextArtPreviewManager.prototype.getShapeByPrst = function(prst) } oContent.SetApplyToAll(true); oContent.SetParagraphAlign(AscCommon.align_Center); - oContent.AddToParagraph(new ParaTextPr({FontSize: 36, Spacing: TextSpacing})); + oContent.AddToParagraph(new ParaTextPr({FontSize: 36, Spacing: TextSpacing, Unifill: AscFormat.CreateUnfilFromRGB(0, 0, 0)})); oContent.SetApplyToAll(false); var oBodypr = oShape.getBodyPr().createDuplicate(); @@ -791,7 +791,12 @@ TextArtPreviewManager.prototype.getShapeByPrst = function(prst) oShape.setBodyPr(oBodypr); } oShape.setBDeleted(false); + oShape.recalcText(); oShape.recalculate(); + if(oShape.bWordShape) + { + oShape.recalculateText(); + } return oShape; }; TextArtPreviewManager.prototype.getShape = function() @@ -924,15 +929,6 @@ TextArtPreviewManager.prototype.getWordArtPreviewCanvas = function(prst) { return ""; } - oShape.recalcText(); - if(!oShape.bWordShape) - { - oShape.recalculate(); - } - else - { - oShape.recalculateText(); - } graphics.init(ctx, _canvas.width, _canvas.height, oShape.extX, oShape.extY); graphics.m_oFontManager = AscCommon.g_fontManager; graphics.transform(1,0,0,1,0,0); From 30aab3b4d5894073bee6dcec31de887eb7981c15 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Mon, 26 Apr 2021 00:46:07 +0300 Subject: [PATCH 248/381] [bug] Fix bug 49971 --- common/Drawings/Format/ChartFormat.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index a7206f6821..ee48648129 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -8378,7 +8378,7 @@ return null; } for(var nIndex = 0; nIndex < aPositions.length; ++nIndex) { - if(aPositions[nIndex] === nIndex) { + if(aPositions[nIndex] === nPostion) { return nPostion; } } From 1bee42b481833c25151c0c93761fe1000d7e29e1 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Mon, 26 Apr 2021 19:07:05 +0300 Subject: [PATCH 249/381] Fix bug #49988 --- word/Editor/Document.js | 100 +++++++++++++++++++-------------- word/Editor/DocumentContent.js | 96 +++++++++++++++++-------------- 2 files changed, 112 insertions(+), 84 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 20c641d2ad..11760813b7 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -18072,61 +18072,75 @@ CDocument.prototype.controller_AddNewParagraph = function(bRecalculate, bForceAd // Создаем новый параграф var NewParagraph = new Paragraph(this.DrawingDocument, this); - // Проверим позицию в текущем параграфе - if (true === Item.IsCursorAtEnd()) + if (Item.IsCursorAtBegin()) { - var StyleId = Item.Style_Get(); - var NextId = undefined; + // Продолжаем (в плане настроек) новый параграф + Item.Continue(NewParagraph); - if (undefined != StyleId) + NewParagraph.Correct_Content(); + NewParagraph.MoveCursorToStartPos(); + + var nContentPos = this.CurPos.ContentPos; + this.AddToContent(nContentPos, NewParagraph); + this.CurPos.ContentPos = nContentPos + 1; + } + else + { + if (true === Item.IsCursorAtEnd()) { - NextId = this.Styles.Get_Next(StyleId); + var StyleId = Item.Style_Get(); + var NextId = undefined; - var oNextStyle = this.Styles.Get(NextId); - if (!NextId || !oNextStyle || !oNextStyle.IsParagraphStyle()) - NextId = StyleId; - } + if (undefined != StyleId) + { + NextId = this.Styles.Get_Next(StyleId); - if (StyleId === NextId) - { - // Продолжаем (в плане настроек) новый параграф - Item.Continue(NewParagraph); - } - else - { - // Простое добавление стиля, без дополнительных действий - if (NextId === this.Styles.Get_Default_Paragraph()) - NewParagraph.Style_Remove(); + var oNextStyle = this.Styles.Get(NextId); + if (!NextId || !oNextStyle || !oNextStyle.IsParagraphStyle()) + NextId = StyleId; + } + + if (StyleId === NextId) + { + // Продолжаем (в плане настроек) новый параграф + Item.Continue(NewParagraph); + } else - NewParagraph.Style_Add(NextId, true); - } + { + // Простое добавление стиля, без дополнительных действий + if (NextId === this.Styles.Get_Default_Paragraph()) + NewParagraph.Style_Remove(); + else + NewParagraph.Style_Add(NextId, true); + } - var SectPr = Item.Get_SectionPr(); - if (undefined !== SectPr) - { - Item.Set_SectionPr(undefined); - NewParagraph.Set_SectionPr(SectPr); - } + var SectPr = Item.Get_SectionPr(); + if (undefined !== SectPr) + { + Item.Set_SectionPr(undefined); + NewParagraph.Set_SectionPr(SectPr); + } - var LastRun = Item.Content[Item.Content.length - 1]; - if (LastRun && LastRun.Pr.Lang && LastRun.Pr.Lang.Val) + var LastRun = Item.Content[Item.Content.length - 1]; + if (LastRun && LastRun.Pr.Lang && LastRun.Pr.Lang.Val) + { + NewParagraph.SelectAll(); + NewParagraph.Add(new ParaTextPr({Lang : LastRun.Pr.Lang.Copy()})); + NewParagraph.RemoveSelection(); + } + } + else { - NewParagraph.SelectAll(); - NewParagraph.Add(new ParaTextPr({Lang : LastRun.Pr.Lang.Copy()})); - NewParagraph.RemoveSelection(); + Item.Split(NewParagraph); } - } - else - { - Item.Split(NewParagraph); - } - NewParagraph.Correct_Content(); - NewParagraph.MoveCursorToStartPos(); + NewParagraph.Correct_Content(); + NewParagraph.MoveCursorToStartPos(); - var nContentPos = this.CurPos.ContentPos + 1; - this.AddToContent(nContentPos, NewParagraph); - this.CurPos.ContentPos = nContentPos; + var nContentPos = this.CurPos.ContentPos + 1; + this.AddToContent(nContentPos, NewParagraph); + this.CurPos.ContentPos = nContentPos; + } if (true === this.IsTrackRevisions()) { diff --git a/word/Editor/DocumentContent.js b/word/Editor/DocumentContent.js index 59c012215b..b30c808975 100644 --- a/word/Editor/DocumentContent.js +++ b/word/Editor/DocumentContent.js @@ -2497,56 +2497,70 @@ CDocumentContent.prototype.AddNewParagraph = function(bForceAdd) // Создаем новый параграф var NewParagraph = new Paragraph(this.DrawingDocument, this, this.bPresentation === true); - // Проверим позицию в текущем параграфе - if (true === Item.IsCursorAtEnd()) - { - var StyleId = Item.Style_Get(); - var NextId = undefined; + if (Item.IsCursorAtBegin()) + { + // Продолжаем (в плане настроек) новый параграф + Item.Continue(NewParagraph); - if (undefined != StyleId) - { - var Styles = this.Parent.Get_Styles(); - NextId = Styles.Get_Next(StyleId); + NewParagraph.Correct_Content(); + NewParagraph.MoveCursorToStartPos(); - var oNextStyle = Styles.Get(NextId); - if (!NextId || !oNextStyle || !oNextStyle.IsParagraphStyle()) - NextId = StyleId; - } + var nContentPos = this.CurPos.ContentPos; + this.AddToContent(nContentPos, NewParagraph); + this.CurPos.ContentPos = nContentPos + 1; + } + else + { + if (true === Item.IsCursorAtEnd()) + { + var StyleId = Item.Style_Get(); + var NextId = undefined; + if (undefined != StyleId) + { + var Styles = this.Parent.Get_Styles(); + NextId = Styles.Get_Next(StyleId); + + var oNextStyle = Styles.Get(NextId); + if (!NextId || !oNextStyle || !oNextStyle.IsParagraphStyle()) + NextId = StyleId; + } - if (StyleId === NextId) - { - // Продолжаем (в плане настроек) новый параграф - Item.Continue(NewParagraph); - } - else - { - // Простое добавление стиля, без дополнительных действий - if (NextId === this.Get_Styles().Get_Default_Paragraph()) - NewParagraph.Style_Remove(); - else - NewParagraph.Style_Add(NextId, true); - } - var LastRun = Item.Content[Item.Content.length - 1]; - if (LastRun && LastRun.Pr.Lang && LastRun.Pr.Lang.Val) + if (StyleId === NextId) + { + // Продолжаем (в плане настроек) новый параграф + Item.Continue(NewParagraph); + } + else + { + // Простое добавление стиля, без дополнительных действий + if (NextId === this.Get_Styles().Get_Default_Paragraph()) + NewParagraph.Style_Remove(); + else + NewParagraph.Style_Add(NextId, true); + } + + var LastRun = Item.Content[Item.Content.length - 1]; + if (LastRun && LastRun.Pr.Lang && LastRun.Pr.Lang.Val) + { + NewParagraph.SelectAll(); + NewParagraph.Add(new ParaTextPr({Lang : LastRun.Pr.Lang.Copy()})); + NewParagraph.RemoveSelection(); + } + } + else { - NewParagraph.SelectAll(); - NewParagraph.Add(new ParaTextPr({Lang : LastRun.Pr.Lang.Copy()})); - NewParagraph.RemoveSelection(); + Item.Split(NewParagraph); } - } - else - { - Item.Split(NewParagraph); - } - NewParagraph.Correct_Content(); - NewParagraph.MoveCursorToStartPos(); + NewParagraph.Correct_Content(); + NewParagraph.MoveCursorToStartPos(); - var nContentPos = this.CurPos.ContentPos + 1; - this.AddToContent(nContentPos, NewParagraph); - this.CurPos.ContentPos = nContentPos; + var nContentPos = this.CurPos.ContentPos + 1; + this.AddToContent(nContentPos, NewParagraph); + this.CurPos.ContentPos = nContentPos; + } if (true === this.IsTrackRevisions()) { From af1fbcfcecbcee61426a004ac5cd62a0f61ba566 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Mon, 26 Apr 2021 19:17:07 +0300 Subject: [PATCH 250/381] Fix bug #49972 Fix the problem with auto color for shading --- word/Editor/Paragraph.js | 7 +++++-- word/Editor/Styles.js | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index c6c5ad78af..c489987e6b 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -2061,7 +2061,11 @@ Paragraph.prototype.Internal_Draw_3 = function(CurPage, pGraphics, Pr) //---------------------------------------------------------------------------------------------------------- // Заливка параграфа //---------------------------------------------------------------------------------------------------------- - if ((_Range.W > 0.001 || true === this.IsEmpty() || true !== this.IsEmptyRange(CurLine, CurRange) ) && ( ( this.Pages.length - 1 === CurPage ) || ( CurLine < this.Pages[CurPage + 1].FirstLine ) ) && !Pr.ParaPr.Shd.IsNil()) + var oShdColor = Pr.ParaPr.Shd.IsNil() ? null : Pr.ParaPr.Shd.GetSimpleColor(this.GetTheme(), this.GetColorMap()); + if ((_Range.W > 0.001 || true === this.IsEmpty() || true !== this.IsEmptyRange(CurLine, CurRange)) + && ((this.Pages.length - 1 === CurPage) || (CurLine < this.Pages[CurPage + 1].FirstLine)) + && oShdColor + && !oShdColor.IsAuto()) { if (pGraphics.Start_Command) { @@ -2162,7 +2166,6 @@ Paragraph.prototype.Internal_Draw_3 = function(CurPage, pGraphics, Pr) TempX1 += 0.5; } - var oShdColor = Pr.ParaPr.Shd.GetSimpleColor(this.GetTheme(), this.GetColorMap()); pGraphics.b_color1(oShdColor.r, oShdColor.g, oShdColor.b, 255); if (pGraphics.SetShd) diff --git a/word/Editor/Styles.js b/word/Editor/Styles.js index 4f66ced723..9871f8f9a4 100644 --- a/word/Editor/Styles.js +++ b/word/Editor/Styles.js @@ -9870,6 +9870,10 @@ CDocumentColor.prototype.Is_Equal = function(Color) { return this.IsEqual(Color); }; +CDocumentColor.prototype.IsAuto = function() +{ + return this.Auto; +}; function CDocumentShd() From c583d21cbc4563424d9c8531b157af0ce5c495a5 Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Mon, 26 Apr 2021 19:40:01 +0300 Subject: [PATCH 251/381] Themes map for scroll (#1866) --- common/plugins.js | 2 +- common/plugins/plugin_base.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/common/plugins.js b/common/plugins.js index 30deecd1dd..8bbf8ac192 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -1006,7 +1006,7 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                                        ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"},\"a:link\":{color:\"text-link\"},\"*::-webkit-scrollbar-track\":{\"background\":\"canvas-background\"},\"*::-webkit-scrollbar-thumb\":{\"background-color\":\"background-toolbar\",\"border-color\":\"canvas-scroll-thumb-border\"},\"*::-webkit-scrollbar-thumb:hover\":{\"background-color\":\"canvas-scroll-thumb-hover\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); + pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                                          ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"},\"a:link\":{color:\"text-link\"},\"*::-webkit-scrollbar-track\":{background:\"background-normal\"},\"*::-webkit-scrollbar-track:hover\":{background:\"background-toolbar-additional\"},\"*::-webkit-scrollbar-thumb\":{\"background-color\":\"background-toolbar\",\"border-color\":\"border-regular-control\"},\"*::-webkit-scrollbar-thumb:hover\":{\"background-color\":\"canvas-scroll-thumb-hover\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index 07b7dd0859..2046e52330 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -477,8 +477,9 @@ ".ps__thumb-y" : { "background-color" : "background-normal", "border-color" : "Border !important" }, ".ps__rail-y:hover > .ps__thumb-y" : {"border-color" : "canvas-scroll-thumb-hover" }, "a:link" : { "color" : "text-link" }, - "*::-webkit-scrollbar-track" : { "background" : "canvas-background" }, - "*::-webkit-scrollbar-thumb" : { "background-color" : "background-toolbar", "border-color" : "canvas-scroll-thumb-border" }, + "*::-webkit-scrollbar-track" : { "background" : "background-normal" }, + "*::-webkit-scrollbar-track:hover" : { "background" : "background-toolbar-additional" }, + "*::-webkit-scrollbar-thumb" : { "background-color" : "background-toolbar", "border-color" : "border-regular-control" }, "*::-webkit-scrollbar-thumb:hover" : { "background-color" : "canvas-scroll-thumb-hover" } }; From 0623a046bffb6047c33bf044add7bbce33510846 Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Mon, 26 Apr 2021 20:25:20 +0300 Subject: [PATCH 252/381] [se] Add function in api (#1867) [se] For get link bug --- cell/api.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cell/api.js b/cell/api.js index 27678e3086..e8020a8b4d 100644 --- a/cell/api.js +++ b/cell/api.js @@ -5182,6 +5182,11 @@ var editor; return this.canEdit(); }; + spreadsheet_api.prototype.asc_getEscapeSheetName = function(sheet) + { + return AscCommon.parserHelp.getEscapeSheetName(sheet) + }; + /* * Export * ----------------------------------------------------------------------------- @@ -5622,4 +5627,5 @@ var editor; prot["asc_setSkin"] = prot.asc_setSkin; + prot["asc_getEscapeSheetName"] = prot.asc_getEscapeSheetName; })(window); From c73303e801d732d2d62430f33c69269f620f22f5 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Tue, 27 Apr 2021 10:27:06 +0300 Subject: [PATCH 253/381] [se] Escape special symbols(generate html) --- cell/model/clipboard.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cell/model/clipboard.js b/cell/model/clipboard.js index e159f7ef68..8b0f9ef634 100644 --- a/cell/model/clipboard.js +++ b/cell/model/clipboard.js @@ -1376,7 +1376,8 @@ } } - var text = val[i].text.replace(/\n/g, '
                                                          '); + var text = CopyPasteCorrectString(val[i].text); + text = text.replace(/\n/g, '
                                                          '); f = val[i].format; var fn = f.getName(); From 722501129cf9bd6ccace7c9120685c09ac73eaa4 Mon Sep 17 00:00:00 2001 From: Antipin Nikita Date: Tue, 27 Apr 2021 10:42:17 +0300 Subject: [PATCH 254/381] Fix bug 49395 (#1810) * Fix bug 49395 * Added the correct tab button size when scaling * Fixed button tabs size in scale --- slide/Drawing/HtmlPage.js | 39 +++++++++++++++++++++++++++------------ word/Drawing/HtmlPage.js | 39 +++++++++++++++++++++++++++------------ 2 files changed, 54 insertions(+), 24 deletions(-) diff --git a/slide/Drawing/HtmlPage.js b/slide/Drawing/HtmlPage.js index b4b144003d..f2da0c5693 100644 --- a/slide/Drawing/HtmlPage.js +++ b/slide/Drawing/HtmlPage.js @@ -1515,31 +1515,46 @@ function CEditorPage(api) _ctx.lineWidth = Math.round(dPR); _ctx.strokeStyle = GlobalSkin.RulerOutline; + var rectSize = Math.round(14 * dPR); + var lineWidth = _ctx.lineWidth; - _ctx.strokeRect(2.5 * _ctx.lineWidth, 3.5 * _ctx.lineWidth, Math.round(14 * dPR), Math.round(14 * dPR)); + _ctx.strokeRect(2.5 * lineWidth, 3.5 * lineWidth, Math.round(14 * dPR), Math.round(14 * dPR)); _ctx.beginPath(); _ctx.strokeStyle = GlobalSkin.RulerTabsColor; - _ctx.lineWidth = 2 * Math.round(dPR); + _ctx.lineWidth = 2 * Math.round(dPR - 0.25); + var tab_width = Math.round(5 * dPR); + + var dx = Math.round((rectSize - 2 * Math.round(dPR) - tab_width) / 7 * 4); + var dy = Math.round((rectSize - 2 * Math.round(dPR) - tab_width) / 7 * 4); + var x = 4 * Math.round(dPR) + dx; + var y = 4 * Math.round(dPR) + dy; + if (this.m_nTabsType == tab_Left) { - _ctx.moveTo(Math.round(8 * dPR), Math.round(9 * dPR)); - _ctx.lineTo(Math.round(8 * dPR), Math.round(14 * dPR)); - _ctx.lineTo(Math.round(13 * dPR), Math.round(14 * dPR)); + _ctx.moveTo(x, y); + _ctx.lineTo(x, y + tab_width); + _ctx.lineTo(x + tab_width, y + tab_width); } else if (this.m_nTabsType == tab_Center) { - _ctx.moveTo(Math.round(6 * dPR), Math.round(14 * dPR)); - _ctx.lineTo(Math.round(14 * dPR), Math.round(14 * dPR)); - _ctx.moveTo(Math.round(10 * dPR), Math.round(9 * dPR)); - _ctx.lineTo(Math.round(10 * dPR), Math.round(14 * dPR)); + tab_width = Math.round(8 * dPR); + tab_width = (tab_width % 2 === 1) ? tab_width - 1 : tab_width; + var dx = Math.round((rectSize - Math.round(dPR) - tab_width) / 2); + var x = 3 * Math.round(dPR) + dx; + var vert_tab_width = Math.round(5 * dPR); + _ctx.moveTo(x, y + vert_tab_width); + _ctx.lineTo(x + tab_width, y + vert_tab_width); + _ctx.moveTo(x + tab_width / 2, y); + _ctx.lineTo(x + tab_width / 2, y + vert_tab_width); } else { - _ctx.moveTo(Math.round(12 * dPR), Math.round(9 * dPR)); - _ctx.lineTo(Math.round(12 * dPR), Math.round(14 * dPR)); - _ctx.lineTo(Math.round(7 * dPR), Math.round(14 * dPR)); + var x = 3 * Math.round(dPR) + dx; + _ctx.moveTo(x, tab_width + y); + _ctx.lineTo(x + tab_width, tab_width + y); + _ctx.lineTo(x + tab_width, y); } _ctx.stroke(); diff --git a/word/Drawing/HtmlPage.js b/word/Drawing/HtmlPage.js index 40ca6373fd..2394969e3b 100644 --- a/word/Drawing/HtmlPage.js +++ b/word/Drawing/HtmlPage.js @@ -1217,31 +1217,46 @@ function CEditorPage(api) _ctx.lineWidth = Math.round(dPR); _ctx.strokeStyle = GlobalSkin.RulerOutline; + var rectSize = Math.round(14 * dPR); + var lineWidth = _ctx.lineWidth; - _ctx.strokeRect(2.5 * _ctx.lineWidth, 3.5 * _ctx.lineWidth, Math.round(14 * dPR), Math.round(14 * dPR)); + _ctx.strokeRect(2.5 * lineWidth, 3.5 * lineWidth, Math.round(14 * dPR), Math.round(14 * dPR)); _ctx.beginPath(); _ctx.strokeStyle = GlobalSkin.RulerTabsColor; - _ctx.lineWidth = 2 * Math.round(dPR); + _ctx.lineWidth = 2 * Math.round(dPR - 0.25); + var tab_width = Math.round(5 * dPR); + + var dx = Math.round((rectSize - 2 * Math.round(dPR) - tab_width) / 7 * 4); + var dy = Math.round((rectSize - 2 * Math.round(dPR) - tab_width) / 7 * 4); + var x = 4 * Math.round(dPR) + dx; + var y = 4 * Math.round(dPR) + dy; + if (this.m_nTabsType == tab_Left) { - _ctx.moveTo(Math.round(8 * dPR), Math.round(9 * dPR)); - _ctx.lineTo(Math.round(8 * dPR), Math.round(14 * dPR)); - _ctx.lineTo(Math.round(13 * dPR), Math.round(14 * dPR)); + _ctx.moveTo(x, y); + _ctx.lineTo(x, y + tab_width); + _ctx.lineTo(x + tab_width, y + tab_width); } else if (this.m_nTabsType == tab_Center) { - _ctx.moveTo(Math.round(6 * dPR), Math.round(14 * dPR)); - _ctx.lineTo(Math.round(14 * dPR), Math.round(14 * dPR)); - _ctx.moveTo(Math.round(10 * dPR), Math.round(9 * dPR)); - _ctx.lineTo(Math.round(10 * dPR), Math.round(14 * dPR)); + tab_width = Math.round(8 * dPR); + tab_width = (tab_width % 2 === 1) ? tab_width - 1 : tab_width; + var dx = Math.round((rectSize - Math.round(dPR) - tab_width) / 2); + var x = 3 * Math.round(dPR) + dx; + var vert_tab_width = Math.round(5 * dPR); + _ctx.moveTo(x, y + vert_tab_width); + _ctx.lineTo(x + tab_width, y + vert_tab_width); + _ctx.moveTo(x + tab_width / 2, y); + _ctx.lineTo(x + tab_width / 2, y + vert_tab_width); } else { - _ctx.moveTo(Math.round(12 * dPR), Math.round(9 * dPR)); - _ctx.lineTo(Math.round(12 * dPR), Math.round(14 * dPR)); - _ctx.lineTo(Math.round(7 * dPR), Math.round(14 * dPR)); + var x = 3 * Math.round(dPR) + dx; + _ctx.moveTo(x, tab_width + y); + _ctx.lineTo(x + tab_width, tab_width + y); + _ctx.lineTo(x + tab_width, y); } _ctx.stroke(); From 9c1544cfb82416c307b17c745e1772928228860d Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Sun, 25 Apr 2021 21:14:49 +0300 Subject: [PATCH 255/381] [se] Fix bug 49918 --- cell/model/PivotTables.js | 54 ++++++++++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 15 deletions(-) diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index 69f2740d4c..68ea59f266 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -2106,6 +2106,18 @@ CT_PivotCacheRecords.prototype._getDataMapFromFields = function(cacheFields, ind } return dataMap; }; +CT_PivotCacheRecords.prototype._getSharedRow = function(cacheFields, index, row) { + if (index < cacheFields.length) { + var cacheFieldBaseIndex = index; + if (cacheFieldBaseIndex < this.getColsCount()) { + var val = this._cols[cacheFieldBaseIndex].get(row); + if (c_oAscPivotRecType.Index === val.type) { + return val.val + } + } + } + return -1; +}; CT_PivotCacheRecords.prototype._getGroupOrSharedRow = function(cacheFields, index, row) { if (index < cacheFields.length) { var cacheField = cacheFields[index]; @@ -2212,7 +2224,7 @@ CT_PivotCacheRecords.prototype.getDataMap = function(cacheFields, filterMaps, ca var row, rowMapCur; var res = new PivotDataElem(dataFields.length); for (row = 0; row < this.getRowsCount(); ++row) { - if (this.getDataMapLabelFilters(cacheFields, row, filterMaps, cacheFieldsWithData)) { + if (this.getDataMapLabelFilters(cacheFields, row, filterMaps)) { continue; } this.fillVisibleFields(cacheFields, row, cacheFieldsWithData); @@ -2299,22 +2311,16 @@ CT_PivotCacheRecords.prototype._getDataMapConvertFilterBySubtotal = function(row this._getDataMapTrimBySubtotal(rowMap, subtotal); } }; -CT_PivotCacheRecords.prototype.getDataMapLabelFilters = function(cacheFields, row, filterMaps, cacheFieldsWithData) { +CT_PivotCacheRecords.prototype.getDataMapLabelFilters = function(cacheFields, row, filterMaps) { + var sharedIndex; for (var i = 0; i < filterMaps.labelFilters.length; ++i) { var filter = filterMaps.labelFilters[i]; - var sharedIndex = this._getGroupOrSharedRow(cacheFields, filter.index, row); + if (filter.isGroup) { + sharedIndex = this._getSharedRow(cacheFields, filter.index, row); + } else { + sharedIndex = this._getGroupOrSharedRow(cacheFields, filter.index, row); + } if(sharedIndex >= 0 && !filter.map.has(sharedIndex)) { - if (cacheFieldsWithData[filter.index]) { - //find other filters - for (var j = i + 1; j < filterMaps.labelFilters.length; ++j) { - var subFilter = filterMaps.labelFilters[j]; - var subVal = this._cols[subFilter.index].get(row); - if (c_oAscPivotRecType.Index === subVal.type && !subFilter.map.has(subVal.val)) { - return true; - } - } - cacheFieldsWithData[filter.index][sharedIndex] = 1; - } return true; } } @@ -4141,7 +4147,11 @@ CT_pivotTableDefinition.prototype.getFilterMaps = function(cacheFieldsWithData) if (filterColumn) { this.checkPivotFieldItems(pivotFilter.fld); if (pivotFilter.isLabelFilter()) { - labelFilters.push({index: pivotFilter.fld, map: pivotField.getFilterMapFilterColumn(cacheField, filterColumn, this.getPivotFieldNum(pivotFilter.fld))}); + if (cacheField.hasGroup() && cacheField.getSharedItems()) { + labelFilters.push({index: pivotFilter.fld, isGroup: true, map: pivotField.getFilterMapFilterColumnGroup(cacheField, filterColumn, this.getPivotFieldNum(pivotFilter.fld))}); + } else { + labelFilters.push({index: pivotFilter.fld, map: pivotField.getFilterMapFilterColumn(cacheField, filterColumn, this.getPivotFieldNum(pivotFilter.fld))}); + } } else { valueFilters.push({index: pivotFilter.fld, pivotField: pivotField, pivotFilter: pivotFilter}); } @@ -11100,6 +11110,20 @@ CT_PivotField.prototype.getFilterMapFilterColumn = function(cacheField, filterCo } return map; }; +CT_PivotField.prototype.getFilterMapFilterColumnGroup = function(cacheField, filterColumn, num) { + var map = new Map(); + var sharedItems = cacheField.getSharedItems(); + if (sharedItems) { + for (var i = 0; i < sharedItems.getCount(); ++i) { + var sharedItem = sharedItems.getItem(i); + var val = sharedItem.getCellValue().getTextValue(num); + if (!filterColumn.isHideValue(val, null, null, null, true)) { + map.set(i, 1); + } + } + } + return map; +}; CT_PivotField.prototype.getFilterMap = function() { var map = new Map(); var items = this.getItems(); From 071b2e028cbddc609182ae8ad46043e210beebce Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Tue, 27 Apr 2021 10:47:35 +0300 Subject: [PATCH 256/381] Fix/add builder property (#1869) * [se] Add properties description --- cell/apiBuilder.js | 55 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/cell/apiBuilder.js b/cell/apiBuilder.js index 2b877414e4..9bf64fd125 100644 --- a/cell/apiBuilder.js +++ b/cell/apiBuilder.js @@ -45,12 +45,34 @@ * @global * @class * @name Api + * @property {ApiWorksheet[]} Sheets - returns a Sheets collection that represents all the sheets in the active workbook + * @property {ApiWorksheet} ActiveSheet - returns the object that represents the active sheet + * @property {ApiRange} Selection - returns an object that represents the selection range */ var Api = window["Asc"]["spreadsheet_api"]; /** * Class representing a sheet. * @constructor + * @property {bool} Visible - returns or sets visible of sheet + * @property {number} Active - makes the current sheet the active sheet + * @property {ApiRange} ActiveCell - returns an object that represents the active cell + * @property {ApiRange} Selection - returns an object that represents the selection range + * @property {ApiRange} Cells - returns a ApiRange that represents all the cells on the worksheet (not just the cells that are currently in use) + * @property {ApiRange} Rows - returns a ApiRange that represents all the cells on the rows range + * @property {ApiRange} Cols - returns a ApiRange that represents all the cells on the columns range + * @property {ApiRange} UsedRange - returns a ApiRange that represents the used range on the specified worksheet + * @property {string} Name - returns or sets a name to the current active sheet + * @property {number} Index - returns sheet index + * @property {number} LeftMargin - returns or sets left margin sheet in points + * @property {number} RightMargin - returns or sets right margin sheet in points + * @property {number} TopMargin - returns or sets top margin sheet in points + * @property {number} BottomMargin - returns or sets bottom margin sheet in points + * @property {PageOrientation} PageOrientation - returns or set page orientation + * @property {bool} PrintHeadings - returns or sets page PrintHeadings property + * @property {bool} PrintGridlines - returns or sets page PrintGridlines property + * @property {ApiName[]} Defnames - returns array a ApiName + * @property {ApiComment[]} Comments - returns a ApiComment */ function ApiWorksheet(worksheet) { this.worksheet = worksheet; @@ -59,6 +81,33 @@ /** * Class representing a range. * @constructor + * @property {number} Row - returns the number of the row for the selected cell + * @property {number} Col - returns the number of the column for the selected cell + * @property {ApiRange} Rows - returns a Range object that represents the rows in the specified range + * @property {number} Count - returns count rows or columns + * @property {string} Value - returns the formula of the first cell in range + * @property {string} Formula - returns or sets the formula of the first cell in range + * @property {string} Value2 - returns or sets the value2 of the first cell in range + * @property {string} Text - returns or sets the text of the first cell in range + * @property {ApiColor} FontColor - sets the text color for the current cell range with the previously created color object + * @property {bool} Hidden - returns or sets hidden value + * @property {number} ColumnWidth - returns or sets the width of all columns in the specified range + * @property {number} Width - returns a value that represents the width of a range in points + * @property {number} RowHeight - returns or sets the height of the first row in the range specified, measured in points + * @property {number} Height - returns a value that represents the height, in points, of the range + * @property {number} FontSize - sets the font size for the characters of the current cell range + * @property {string} FontName - sets the specified font family as the font name for the current cell range + * @property {'center' | 'bottom' | 'top' | 'distributed' | 'justify'} AlignVertical - sets the vertical alignment of the text in the current cell range + * @property {'left' | 'right' | 'center' | 'justify'} AlignHorizontal - sets the horizontal alignment of the text in the current cell range + * @property {bool} Bold - sets the bold property to the text characters in the current cell or cell range + * @property {'none' | 'single' | 'singleAccounting' | 'double' | 'doubleAccounting'} Underline - sets the type of underline applied to the font + * @property {bool} Strikeout - sets a value that indicates whether this Font specifies a horizontal line through the font + * @property {ApiColor|'No Fill'} FillColor - returns or sets the background color for the current cell range + * @property {string} NumberFormat - sets a variant value that represents the format code for the object + * @property {ApiRange} MergeArea - returns one cell or cells from the megre area + * @property {ApiWorksheet} Worksheet - returns a Worksheet object that represents the worksheet containing the specified range + * @property {ApiName} DefName - returns a ApiName + * @property {ApiComment | null} Comments - returns a ApiComment collection that represents all the comments for the specified worksheet */ function ApiRange(range) { this.range = range; @@ -165,6 +214,9 @@ /** * Class representing a names * @constructor + * @property {string} Name - sets a name to the current active sheet + * @property {string} RefersTo - returns or sets the formula that the name is defined to refer to + * @property {apiRange} RefersToRange - returns an ApiRange object by reference */ function ApiName(DefName) { this.DefName = DefName; @@ -173,6 +225,7 @@ /** * Class representing a comments * @constructor + * @property {string} Text - returns the text of the first cell in range */ function ApiComment(comment) { this.Comment = comment; @@ -641,7 +694,7 @@ this.worksheet.workbook.setActive(this.worksheet.index); }; Object.defineProperty(ApiWorksheet.prototype, "Active", { - get: function () { + set: function () { this.SetActive(); } }); From 8faf4a8a519a6aab7f439ec275660cd32fdce7cd Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Tue, 27 Apr 2021 11:43:48 +0300 Subject: [PATCH 257/381] [se] Fix bug 49931 (#1872) * [se] Fix bug 49931 --- common/wordcopypaste.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/common/wordcopypaste.js b/common/wordcopypaste.js index bf11f7ccef..32197f8786 100644 --- a/common/wordcopypaste.js +++ b/common/wordcopypaste.js @@ -230,6 +230,7 @@ function CopyProcessor(api, onlyBinaryCopy) } this.oRoot = new CopyElement("root"); + this.listNextNumMap = []; } CopyProcessor.prototype = { @@ -700,12 +701,25 @@ CopyProcessor.prototype = if((bBullet && "ul" === oPrevElem.sName) || (!bBullet && "ol" === oPrevElem.sName)) oTargetList = oPrevElem; } - if(null == oTargetList){ - if(bBullet) + + if (!bBullet) { + if (!this.listNextNumMap[oNumPr.NumId]) { + this.listNextNumMap[oNumPr.NumId] = 1; + } else { + this.listNextNumMap[oNumPr.NumId]++; + } + } + if (null == oTargetList) { + if (bBullet) { oTargetList = new CopyElement("ul"); - else + } else { oTargetList = new CopyElement("ol"); + } oTargetList.oAttributes["style"] = "padding-left:40px"; + //если список идёт с промежуточными элементами, добавляем аттрибут start + if (!bBullet && this.listNextNumMap[oNumPr.NumId] > 1) { + oTargetList.oAttributes["start"] = this.listNextNumMap[oNumPr.NumId]; + } oDomTarget.addChild(oTargetList); } oTargetList.addChild(Li); From d2b85301a880166ac26e207b6c8efca0af997181 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Tue, 27 Apr 2021 13:49:58 +0300 Subject: [PATCH 258/381] [bug] For bug 50027 --- common/Drawings/Format/ChartFormat.js | 51 ++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index ee48648129..6de740c5a8 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -15408,8 +15408,19 @@ //if the last cell in the row/col contains a non empty non numeric value aGridRow = aGrid[0]; oRef = aGridRow[aGridRow.length - 1]; + oBBox = oRef.bbox; nCol = oBBox.c2; - for(nRow = oBBox.r2; nRow >= oBBox.r1; --nRow) { + + var nStartRow = oBBox.r2; + if(aGridRow.length === 1) { + for(nRow = oBBox.r2; nRow >= oBBox.r1; --nRow) { + if(!this.privateCheckCellDateTimeFormatFull(oRef.worksheet.getCell3(nRow, nCol))) { + break; + } + } + nStartRow = nRow; + } + for(nRow = nStartRow; nRow >= oBBox.r1; --nRow) { if(this.privateCheckCellValueForHeader(oRef.worksheet.getCell3(nRow, nCol))) { break; } @@ -15423,8 +15434,18 @@ aGridRow = aGrid[aGrid.length - 1]; oRef = aGridRow[0]; + oBBox = oRef.bbox; nRow = oBBox.r2; - for(nCol = oBBox.c2; nCol >= oBBox.c1; --nCol) { + var nStartCol = oBBox.c2; + if(aGrid.length === 1) { + for(nCol = oBBox.c2; nCol >= oBBox.c1; --nCol) { + if(!this.privateCheckCellDateTimeFormatFull(oRef.worksheet.getCell3(nRow, nCol))) { + break; + } + } + nStartCol = nCol; + } + for(nCol = nStartCol; nCol >= oBBox.c1; --nCol) { if(this.privateCheckCellValueForHeader(oRef.worksheet.getCell3(nRow, nCol))) { break; } @@ -15775,16 +15796,30 @@ fFillDataFromSelectedRange(this, oSelectedRange); }; CChartDataRefs.prototype.privateCheckCellValueForHeader = function(oCell) { + if(!this.privateCheckCellValueNumberOrEmpty(oCell)) { + return true; + } + return this.privateCheckCellDateTimeFormat(oCell); + }; + CChartDataRefs.prototype.privateCheckCellValueNumberOrEmpty = function(oCell) { var sValue = oCell.getValue(); + if(AscCommon.isNumber(sValue) || sValue === "") { + return true; + } + return false; + }; + CChartDataRefs.prototype.privateCheckCellDateTimeFormat = function(oCell) { var nNumFmtType = oCell.getNumFormatType(); - if(!AscCommon.isNumber(sValue) && sValue !== "") { + if(Asc.c_oAscNumFormatType.Time === nNumFmtType || + Asc.c_oAscNumFormatType.Date === nNumFmtType) { return true; } - else { - if(Asc.c_oAscNumFormatType.Time === nNumFmtType || - Asc.c_oAscNumFormatType.Date === nNumFmtType) { - return true; - } + return false; + }; + CChartDataRefs.prototype.privateCheckCellDateTimeFormatFull = function(oCell) { + if(this.privateCheckCellValueNumberOrEmpty(oCell) && + this.privateCheckCellDateTimeFormat(oCell)) { + return true; } return false; }; From e9235d1bb6603d4533bd08c1b75dad5605e1a3be Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 27 Apr 2021 16:05:46 +0300 Subject: [PATCH 259/381] Feature/mobileoverlaytable (#1871) * Added mobile overlay table scaling * Fix draw in pixel net * Changed the arrow rendering method * Change table track in mobile version Co-authored-by: Nikita Antipin --- common/Overlay.js | 2 + common/Scrolls/mobileTouchManagerBase.js | 179 +++++++++++++++-------- 2 files changed, 116 insertions(+), 65 deletions(-) diff --git a/common/Overlay.js b/common/Overlay.js index dbc982db69..250290c6f1 100644 --- a/common/Overlay.js +++ b/common/Overlay.js @@ -557,6 +557,7 @@ COverlay.prototype = _ctx.quadraticCurveTo(x, y + h, x, y + h - r); _ctx.lineTo(x, y + r); _ctx.quadraticCurveTo(x, y, x + r, y); + _ctx.closePath(); }, AddRoundRectCtx : function(ctx, x, y, w, h, r) @@ -574,6 +575,7 @@ COverlay.prototype = _ctx.quadraticCurveTo(x, y + h, x, y + h - r); _ctx.lineTo(x, y + r); _ctx.quadraticCurveTo(x, y, x + r, y); + _ctx.closePath(); }, DrawFrozenPlaceHorLine: function(y, left, right) { diff --git a/common/Scrolls/mobileTouchManagerBase.js b/common/Scrolls/mobileTouchManagerBase.js index 51a22898c1..160456a590 100644 --- a/common/Scrolls/mobileTouchManagerBase.js +++ b/common/Scrolls/mobileTouchManagerBase.js @@ -652,55 +652,7 @@ // грузим в конструкторе, используем тогда, когда загружено (asc_complete) CMobileTouchManagerBase.prototype.LoadMobileImages = function() { - window.g_table_track_mobile_move = document.createElement("canvas"); - - window.g_table_track_mobile_move.width = AscCommon.AscBrowser.convertToRetinaValue(20, true); - window.g_table_track_mobile_move.height = AscCommon.AscBrowser.convertToRetinaValue(20, true); - - window.g_table_track_mobile_move.asc_complete = true; - window.g_table_track_mobile_move.size = 20; - - var _ctx = window.g_table_track_mobile_move.getContext("2d"); - if (AscCommon.AscBrowser.isCustomScaling()) - _ctx.setTransform(AscCommon.AscBrowser.retinaPixelRatio, 0, 0, AscCommon.AscBrowser.retinaPixelRatio, 0, 0); - - _ctx.lineWidth = 1; - - var r = 4; - var w = 19; - var h = 19; - var x = 0.5; - var y = 0.5; - - _ctx.moveTo(x + r, y); - _ctx.lineTo(x + w - r, y); - _ctx.quadraticCurveTo(x + w, y, x + w, y + r); - _ctx.lineTo(x + w, y + h - r); - _ctx.quadraticCurveTo(x + w, y + h, x + w - r, y + h); - _ctx.lineTo(x + r, y + h); - _ctx.quadraticCurveTo(x, y + h, x, y + h - r); - _ctx.lineTo(x, y + r); - _ctx.quadraticCurveTo(x, y, x + r, y); - - _ctx.strokeStyle = "#747474"; - _ctx.fillStyle = "#DFDFDF"; - _ctx.fill(); - _ctx.stroke(); - _ctx.beginPath(); - - _ctx.moveTo(2, 10); - _ctx.lineTo(10, 2); - _ctx.lineTo(18, 10); - _ctx.lineTo(10, 18); - _ctx.closePath(); - - _ctx.fillStyle = "#146FE1"; - _ctx.fill(); - _ctx.beginPath(); - - _ctx.fillStyle = "#DFDFDF"; - _ctx.fillRect(6, 6, 8, 8); - _ctx.beginPath(); + // если нужно подгрузить/сгенерировать картинки - это делать тут }; // onTouchStart => попали ли в якорьки селекта, чтобы не начинать скроллы/зумы @@ -1559,7 +1511,7 @@ var HtmlPage = this.delegate.HtmlPage; var DrawingDocument = this.delegate.DrawingDocument; - + var rPR = AscCommon.AscBrowser.retinaPixelRatio; var horRuler = HtmlPage.m_oHorRuler; var verRuler = HtmlPage.m_oVerRuler; @@ -1574,9 +1526,6 @@ return; } - if (!window.g_table_track_mobile_move.asc_complete) - return; - var _table_markup = horRuler.m_oTableMarkup; if (_table_markup.Rows.length == 0) return; @@ -1611,6 +1560,9 @@ var _PageNum = _table_outline_dr.CurrentPageIndex; + var _lineW = Math.round(rPR); + var _pixelNet = _lineW / 2; + if (!_table_outline_dr.TableMatrix || global_MatrixTransformer.IsIdentity(_table_outline_dr.TableMatrix)) { this.TableMovePoint = {X : _tableOutline.X, Y : _tableOutline.Y}; @@ -1626,13 +1578,11 @@ overlay.CheckPoint(TableMoveRect_x, TableMoveRect_y); overlay.CheckPoint(TableMoveRect_x + _rectWidth, TableMoveRect_y + _rectWidth); - if (this.delegate.Name != "slide") - ctx.drawImage(window.g_table_track_mobile_move, TableMoveRect_x, TableMoveRect_y, window.g_table_track_mobile_move.size, window.g_table_track_mobile_move.size); + ctx.lineWidth = _lineW; + overlay.AddRoundRect(Math.round(pos1.X * rPR) + _pixelNet, Math.round(TableMoveRect_y * rPR) - _pixelNet, Math.round((pos2.X - pos1.X) * rPR), Math.round(_rectWidth * rPR), Math.round(4 * rPR)); ctx.fillStyle = _mainFillStyle; - overlay.AddRoundRect((pos1.X >> 0) + 0.5, TableMoveRect_y, (pos2.X - pos1.X) >> 0, _rectWidth, 4); - ctx.fill(); ctx.stroke(); @@ -1653,11 +1603,61 @@ var pos3 = DrawingDocument.ConvertCoordsToCursorWR(_tableOutline.X, _y1, DrawingDocument.m_lCurrentPage); var pos4 = DrawingDocument.ConvertCoordsToCursorWR(_tableOutline.X, _y2, DrawingDocument.m_lCurrentPage); - var _ttX = (pos1.X >> 0) + 0.5 - (_epsRects + _rectWidth); + if (this.delegate.Name != "slide") + { + var moveX = Math.round(pos1.X * rPR) + 1 + _pixelNet - Math.round((_epsRects + _rectWidth) * rPR); + var moveY = Math.round(TableMoveRect_y * rPR) - _pixelNet; + var moveW = Math.round(_rectWidth * rPR); + var moveH = Math.round(_rectWidth * rPR); + overlay.AddRoundRect(moveX, moveY, moveW, moveH, Math.round(4 * rPR)); - ctx.fillStyle = _mainFillStyle; + ctx.fill(); + ctx.stroke(); + + ctx.beginPath(); + + var offsetMove = 2; + var cellMoveX = moveX - _pixelNet; + var cellMoveY = moveY - _pixelNet; + var cellMoveW = moveW + 2 * _pixelNet; + var cellMoveH = moveH + 2 * _pixelNet; + + var moveX2 = cellMoveX + cellMoveW / 2; + var moveY2 = cellMoveY + cellMoveH / 2; + + var dist_moveX4 = (cellMoveW / 4 + offsetMove / 2) >> 0; + var dist_moveY4 = (cellMoveH / 4 + offsetMove / 2) >> 0; + + var offset_distY4_NotCeil = cellMoveH / 2 - dist_moveX4 + offsetMove; + var offset_distX4_NotCeil = cellMoveW / 2 - dist_moveY4 + offsetMove; - overlay.AddRoundRect((pos1.X >> 0) + 1.5 - (_epsRects + _rectWidth), (pos3.Y >> 0) + 0.5, _rectWidth - 1, (pos4.Y - pos3.Y) >> 0, 4); + ctx.moveTo(cellMoveX + offsetMove, moveY2); + ctx.lineTo(cellMoveX + dist_moveX4, cellMoveY + offset_distY4_NotCeil); + ctx.lineTo(cellMoveX + dist_moveX4, cellMoveY + cellMoveH - offset_distY4_NotCeil); + ctx.closePath(); + + ctx.moveTo(moveX2, cellMoveY + offsetMove); + ctx.lineTo(cellMoveX + offset_distX4_NotCeil, cellMoveY + dist_moveY4); + ctx.lineTo(cellMoveX + cellMoveW - offset_distX4_NotCeil, cellMoveY + dist_moveY4); + ctx.closePath(); + + ctx.moveTo(cellMoveX + cellMoveW - offsetMove, moveY2); + ctx.lineTo(cellMoveX + cellMoveW - dist_moveX4, cellMoveY + offset_distY4_NotCeil); + ctx.lineTo(cellMoveX + cellMoveW - dist_moveX4, cellMoveY + cellMoveH - offset_distY4_NotCeil); + ctx.closePath(); + + ctx.moveTo(moveX2, cellMoveY + cellMoveH - offsetMove); + ctx.lineTo(cellMoveX + offset_distX4_NotCeil, cellMoveY + cellMoveH - dist_moveY4); + ctx.lineTo(cellMoveX + cellMoveW - offset_distX4_NotCeil, cellMoveY + cellMoveH - dist_moveY4); + ctx.closePath(); + + ctx.fillStyle = "#146FE1"; + ctx.fill(); + ctx.beginPath(); + } + + ctx.fillStyle = _mainFillStyle; + overlay.AddRoundRect(Math.round(pos1.X * rPR) + 1 + _pixelNet - Math.round((_epsRects + _rectWidth) * rPR), Math.round(pos3.Y * rPR) + _pixelNet, Math.round((_rectWidth - 1) * rPR), Math.round((pos4.Y - pos3.Y) * rPR), Math.round(4 * rPR)); ctx.fill(); ctx.stroke(); @@ -1683,7 +1683,7 @@ var _y = DrawingDocument.ConvertCoordsToCursorWR(0, _oldY, _PageNum); ctx.beginPath(); - overlay.AddDiamond(_x + 1.5 + (_rectWidth >> 1), _y.Y, AscCommon.MOBILE_TABLE_RULER_DIAMOND); + overlay.AddDiamond(Math.round(_x * rPR) + 1.5 + Math.round(Math.round(_rectWidth * rPR) / 2), Math.round(_y.Y * rPR), Math.round(AscCommon.MOBILE_TABLE_RULER_DIAMOND * rPR)); ctx.fill(); ctx.beginPath(); @@ -1702,10 +1702,10 @@ var _x = _col - _table_markup.Margins[i - 1].Right; var _r = _col + ((i == _cols.length) ? 0 : _table_markup.Margins[i].Left); - var __c = ((xDst + dKoef * _col) >> 0) + 0.5; + var __c = ((xDst + dKoef * _col) >> 0); ctx.beginPath(); - overlay.AddDiamond(__c, TableMoveRect_y +_rectWidth / 2, AscCommon.MOBILE_TABLE_RULER_DIAMOND); + overlay.AddDiamond(Math.round(__c * rPR) + 0.5, Math.round(TableMoveRect_y * rPR) + Math.round(_rectWidth * rPR / 2), Math.round(AscCommon.MOBILE_TABLE_RULER_DIAMOND * rPR)); ctx.fill(); ctx.beginPath(); @@ -1767,10 +1767,59 @@ _offset *= AscCommon.AscBrowser.retinaPixelRatio; if (this.delegate.Name != "slide") - ctx.drawImage(window.g_table_track_mobile_move, this.TableMovePoint.X - _offset, this.TableMovePoint.Y - _offset, _rectW, _rectW); + { + var moveX = this.TableMovePoint.X - _offset; + var moveY = this.TableMovePoint.Y - _offset; + var moveW = _rectW; + var moveH = _rectW; - ctx.fillStyle = _mainFillStyle; + ctx.fillStyle = _mainFillStyle; + overlay.AddRoundRectCtx(ctx, moveX, moveY, moveW, moveH, 5 / dKoef); + ctx.fill(); + ctx.stroke(); + ctx.beginPath(); + var offsetMove = 2 / dKoef; + var cellMoveX = moveX; + var cellMoveY = moveY; + var cellMoveW = moveW; + var cellMoveH = moveH; + + var moveX2 = cellMoveX + cellMoveW / 2; + var moveY2 = cellMoveY + cellMoveH / 2; + + var dist_moveX4 = (cellMoveW / 4 + offsetMove / 2); + var dist_moveY4 = (cellMoveH / 4 + offsetMove / 2); + + var offset_distY4_NotCeil = cellMoveH / 2 - dist_moveX4 + offsetMove; + var offset_distX4_NotCeil = cellMoveW / 2 - dist_moveY4 + offsetMove; + + ctx.moveTo(cellMoveX + offsetMove, moveY2); + ctx.lineTo(cellMoveX + dist_moveX4, cellMoveY + offset_distY4_NotCeil); + ctx.lineTo(cellMoveX + dist_moveX4, cellMoveY + cellMoveH - offset_distY4_NotCeil); + ctx.closePath(); + + ctx.moveTo(moveX2, cellMoveY + offsetMove); + ctx.lineTo(cellMoveX + offset_distX4_NotCeil, cellMoveY + dist_moveY4); + ctx.lineTo(cellMoveX + cellMoveW - offset_distX4_NotCeil, cellMoveY + dist_moveY4); + ctx.closePath(); + + ctx.moveTo(cellMoveX + cellMoveW - offsetMove, moveY2); + ctx.lineTo(cellMoveX + cellMoveW - dist_moveX4, cellMoveY + offset_distY4_NotCeil); + ctx.lineTo(cellMoveX + cellMoveW - dist_moveX4, cellMoveY + cellMoveH - offset_distY4_NotCeil); + ctx.closePath(); + + ctx.moveTo(moveX2, cellMoveY + cellMoveH - offsetMove); + ctx.lineTo(cellMoveX + offset_distX4_NotCeil, cellMoveY + cellMoveH - dist_moveY4); + ctx.lineTo(cellMoveX + cellMoveW - offset_distX4_NotCeil, cellMoveY + cellMoveH - dist_moveY4); + ctx.closePath(); + + ctx.fillStyle = "#146FE1"; + ctx.fill(); + ctx.beginPath(); + } + + ctx.fillStyle = _mainFillStyle; overlay.AddRoundRectCtx(ctx, this.TableMovePoint.X, this.TableMovePoint.Y - _offset, _tableW, _rectW, 5 / dKoef); ctx.fill(); From c6a917f4369e79f473d87dbc887ae569c2ebe3b2 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Tue, 27 Apr 2021 16:58:58 +0300 Subject: [PATCH 260/381] [bug] Fix bug 50042 --- cell/view/WorkbookView.js | 3 +++ common/Drawings/Format/ChartFormat.js | 11 ++++++++++- common/Drawings/Format/ChartSpace.js | 3 +++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/cell/view/WorkbookView.js b/cell/view/WorkbookView.js index af95f62ab3..b4119fdd5d 100644 --- a/cell/view/WorkbookView.js +++ b/cell/view/WorkbookView.js @@ -2956,6 +2956,9 @@ } }; WorkbookView.prototype.handleChartsOnWorkbookChange = function (aRanges) { + if(!Array.isArray(aRanges) || aRanges.length === 0) { + return; + } var aRefsToChange = []; var aCharts = []; this.model.handleDrawings(function(oDrawing) { diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 6de740c5a8..6c7cfae37c 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -14089,7 +14089,13 @@ if(!oWS) { return []; } - return AscCommonExcel.getRangeByRef(_sFormula, oWS); + var aParsed = AscCommonExcel.getRangeByRef(_sFormula, oWS); + for(var nParsed = aParsed.length - 1; nParsed > -1; nParsed--) { + if(!aParsed[nParsed].bbox || !aParsed[nParsed].worksheet) { + aParsed.splice(nParsed, 1); + } + } + return aParsed; } function fCreateRef(oBBoxInfo) { if(oBBoxInfo) { @@ -15869,6 +15875,9 @@ } }; CChartDataRefs.prototype.collectIntersectionRefs = function(aRanges, aCollectedRefs) { + if(!Array.isArray(aRanges) || aRanges.length === 0) { + return; + } var aIntersectionRanges = []; var oRange; for(var nRange = 0; nRange < aRanges.length; ++nRange) { diff --git a/common/Drawings/Format/ChartSpace.js b/common/Drawings/Format/ChartSpace.js index b3b79217dc..9c546701cb 100644 --- a/common/Drawings/Format/ChartSpace.js +++ b/common/Drawings/Format/ChartSpace.js @@ -11939,6 +11939,9 @@ var GLOBAL_PATH_COUNT = 0; oDataRange.collectRefsInsideRange(oRange, aRefs); }; CChartSpace.prototype.collectIntersectionRefs = function(aRanges, aRefs) { + if(!Array.isArray(aRanges) || aRanges.length === 0) { + return; + } var oDataRange = this.getDataRefs(); oDataRange.collectIntersectionRefs(aRanges, aRefs); }; From 2f1778c38baf784ae47d14dfddd0b02519b5507b Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 27 Apr 2021 19:18:03 +0300 Subject: [PATCH 261/381] Fix bug 49460 (#1876) --- common/skin.js | 194 +++++++++++++++++++++++++------------------------ 1 file changed, 98 insertions(+), 96 deletions(-) diff --git a/common/skin.js b/common/skin.js index 906b2b139d..e6b4ce97be 100644 --- a/common/skin.js +++ b/common/skin.js @@ -283,111 +283,113 @@ function updateGlobalSkin(obj) { if (!obj) return; - if (typeof obj === "string" && undefined !== EditorSkins[obj]) + if (typeof obj === "string") { - GlobalSkin = EditorSkins[obj]; + var name = obj; + obj = { + "name" : name, + "type" : ((-1 !== name.indexOf("dark")) ? "dark" : "light") + }; } - else + + if (obj["name"] && undefined !== EditorSkins[obj["name"]]) + GlobalSkin = EditorSkins[obj["name"]]; + else if (obj["type"]) { - if (obj["name"] && undefined !== EditorSkins[obj["name"]]) - GlobalSkin = EditorSkins[obj["name"]]; - else if (obj["type"]) + for (var item in EditorSkins) { - for (var item in EditorSkins) + if (obj["type"] === EditorSkins[item].Type) { - if (obj["type"] === EditorSkins[item].Type) - { - GlobalSkin = EditorSkins[item]; - break; - } + GlobalSkin = EditorSkins[item]; + break; } } - - for (var item in obj) - GlobalSkin[item] = obj[item]; - - // TODO: переделать на имена интерфейса - if (obj["Name"]) GlobalSkin.Name = obj["Name"]; - if (obj["RulersButton"]) GlobalSkin.RulersButton = obj["RulersButton"]; - if (obj["NavigationButtons"]) GlobalSkin.NavigationButtons = obj["NavigationButtons"]; - if (obj["BackgroundColor"]) GlobalSkin.BackgroundColor = obj["BackgroundColor"]; - if (obj["PageOutline"]) GlobalSkin.PageOutline = obj["PageOutline"]; - if (obj["RulerDark"]) GlobalSkin.RulerDark = obj["RulerDark"]; - if (obj["RulerLight"]) GlobalSkin.RulerLight = obj["RulerLight"]; - if (obj["RulerOutline"]) GlobalSkin.RulerOutline = obj["RulerOutline"]; - if (obj["RulerMarkersOutlineColor"]) GlobalSkin.RulerMarkersOutlineColor = obj["RulerMarkersOutlineColor"]; - if (obj["RulerMarkersFillColor"]) GlobalSkin.RulerMarkersFillColor = obj["RulerMarkersFillColor"]; - if (obj["RulerMarkersFillColorOld"]) GlobalSkin.RulerMarkersFillColorOld = obj["RulerMarkersFillColorOld"]; - if (obj["RulerTextColor"]) GlobalSkin.RulerTextColor = obj["RulerTextColor"]; - if (obj["RulerTabsColor"]) GlobalSkin.RulerTabsColor = obj["RulerTabsColor"]; - if (obj["RulerTabsColorOld"]) GlobalSkin.RulerTabsColorOld = obj["RulerTabsColorOld"]; - if (obj["RulerTableColor1"]) GlobalSkin.RulerTableColor1 = obj["RulerTableColor1"]; - if (obj["RulerTableColor2"]) GlobalSkin.RulerTableColor2 = obj["RulerTableColor2"]; - if (obj["ScrollBackgroundColor"]) GlobalSkin.ScrollBackgroundColor = obj["ScrollBackgroundColor"]; - if (obj["ScrollOutlineColor"]) GlobalSkin.ScrollOutlineColor = obj["ScrollOutlineColor"]; - if (obj["ScrollOutlineHoverColor"]) GlobalSkin.ScrollOutlineHoverColor = obj["ScrollOutlineHoverColor"]; - if (obj["ScrollOutlineActiveColor"]) GlobalSkin.ScrollOutlineActiveColor = obj["ScrollOutlineActiveColor"]; - if (obj["ScrollerColor"]) GlobalSkin.ScrollerColor = obj["ScrollerColor"]; - if (obj["ScrollerHoverColor"]) GlobalSkin.ScrollerHoverColor = obj["ScrollerHoverColor"]; - if (obj["ScrollerActiveColor"]) GlobalSkin.ScrollerActiveColor = obj["ScrollerActiveColor"]; - if (obj["ScrollArrowColor"]) GlobalSkin.ScrollArrowColor = obj["ScrollArrowColor"]; - if (obj["ScrollArrowHoverColor"]) GlobalSkin.ScrollArrowHoverColor = obj["ScrollArrowHoverColor"]; - if (obj["ScrollArrowActiveColor"]) GlobalSkin.ScrollArrowActiveColor = obj["ScrollArrowActiveColor"]; - if (obj["ScrollerTargetColor"]) GlobalSkin.ScrollerTargetColor = obj["ScrollerTargetColor"]; - if (obj["ScrollerTargetHoverColor"]) GlobalSkin.ScrollerTargetHoverColor = obj["ScrollerTargetHoverColor"]; - if (obj["ScrollerTargetActiveColor"]) GlobalSkin.ScrollerTargetActiveColor = obj["ScrollerTargetActiveColor"]; - if (obj["STYLE_THUMBNAIL_WIDTH"]) GlobalSkin.STYLE_THUMBNAIL_WIDTH = obj["STYLE_THUMBNAIL_WIDTH"]; - if (obj["STYLE_THUMBNAIL_HEIGHT"]) GlobalSkin.STYLE_THUMBNAIL_HEIGHT = obj["STYLE_THUMBNAIL_HEIGHT"]; - if (obj["isNeedInvertOnActive"]) GlobalSkin.isNeedInvertOnActive = obj["isNeedInvertOnActive"]; - if (obj["ContentControlsBack"]) GlobalSkin.ContentControlsBack = obj["ContentControlsBack"]; - if (obj["ContentControlsHover"]) GlobalSkin.ContentControlsHover = obj["ContentControlsHover"]; - if (obj["ContentControlsActive"]) GlobalSkin.ContentControlsActive = obj["ContentControlsActive"]; - if (obj["ContentControlsText"]) GlobalSkin.ContentControlsText = obj["ContentControlsText"]; - if (obj["ContentControlsTextActive"]) GlobalSkin.ContentControlsTextActive = obj["ContentControlsTextActive"]; - if (obj["ContentControlsAnchorActive"]) GlobalSkin.ContentControlsAnchorActive = obj["ContentControlsAnchorActive"]; - if (obj["BackgroundColorThumbnails"]) GlobalSkin.BackgroundColorThumbnails = obj["BackgroundColorThumbnails"]; - if (obj["BackgroundColorThumbnailsActive"]) GlobalSkin.BackgroundColorThumbnailsActive = obj["BackgroundColorThumbnailsActive"]; - if (obj["BackgroundColorThumbnailsHover"]) GlobalSkin.BackgroundColorThumbnailsHover = obj["BackgroundColorThumbnailsHover"]; - if (obj["ThumbnailsPageOutlineActive"]) GlobalSkin.ThumbnailsPageOutlineActive = obj["ThumbnailsPageOutlineActive"]; - if (obj["ThumbnailsPageOutlineHover"]) GlobalSkin.ThumbnailsPageOutlineHover = obj["ThumbnailsPageOutlineHover"]; - if (obj["ThumbnailsPageNumberText"]) GlobalSkin.ThumbnailsPageNumberText = obj["ThumbnailsPageNumberText"]; - if (obj["ThumbnailsPageNumberTextActive"]) GlobalSkin.ThumbnailsPageNumberTextActive = obj["ThumbnailsPageNumberTextActive"]; - if (obj["ThumbnailsPageNumberTextHover"]) GlobalSkin.ThumbnailsPageNumberTextHover = obj["ThumbnailsPageNumberTextHover"]; - if (obj["THEMES_THUMBNAIL_WIDTH"]) GlobalSkin.THEMES_THUMBNAIL_WIDTH = obj["THEMES_THUMBNAIL_WIDTH"]; - if (obj["THEMES_THUMBNAIL_HEIGHT"]) GlobalSkin.THEMES_THUMBNAIL_HEIGHT = obj["THEMES_THUMBNAIL_HEIGHT"]; - if (obj["BorderSplitterColor"]) GlobalSkin.BorderSplitterColor = obj["BorderSplitterColor"]; - if (obj["SupportNotes"]) GlobalSkin.SupportNotes = obj["SupportNotes"]; - if (obj["SplitterWidthMM"]) GlobalSkin.SplitterWidthMM = obj["SplitterWidthMM"]; - if (obj["ThumbnailScrollWidthNullIfNoScrolling"]) GlobalSkin.ThumbnailScrollWidthNullIfNoScrolling = obj["ThumbnailScrollWidthNullIfNoScrolling"]; - if (obj["DemBackgroundColor"]) GlobalSkin.DemBackgroundColor = obj["DemBackgroundColor"]; - if (obj["DemButtonBackgroundColor"]) GlobalSkin.DemButtonBackgroundColor = obj["DemButtonBackgroundColor"]; - if (obj["DemButtonBackgroundColorHover"]) GlobalSkin.DemButtonBackgroundColorHover = obj["DemButtonBackgroundColorHover"]; - if (obj["DemButtonBackgroundColorActive"]) GlobalSkin.DemButtonBackgroundColorActive = obj["DemButtonBackgroundColorActive"]; - if (obj["DemButtonBorderColor"]) GlobalSkin.DemButtonBorderColor = obj["DemButtonBorderColor"]; - if (obj["DemButtonTextColor"]) GlobalSkin.DemButtonTextColor = obj["DemButtonTextColor"]; - if (obj["DemButtonTextColorActive"]) GlobalSkin.DemButtonTextColorActive = obj["DemButtonTextColorActive"]; - if (obj["DemSplitterColor"]) GlobalSkin.DemSplitterColor = obj["DemSplitterColor"]; - if (obj["DemTextColor"]) GlobalSkin.DemTextColor = obj["DemTextColor"]; - - if (obj["Background"]) GlobalSkin.Background = obj["Background"]; - if (obj["Border"]) GlobalSkin.Border = obj["Border"]; - if (obj["Color"]) GlobalSkin.Color = obj["Color"]; - if (obj["BackgroundDark"]) GlobalSkin.BackgroundDark = obj["BackgroundDark"]; - if (obj["ColorDark"]) GlobalSkin.ColorDark = obj["ColorDark"]; - if (obj["BackgroundActive"]) GlobalSkin.BackgroundActive = obj["BackgroundActive"]; - if (obj["BorderActive"]) GlobalSkin.BorderActive = obj["BorderActive"]; - if (obj["ColorActive"]) GlobalSkin.ColorActive = obj["ColorActive"]; - if (obj["BackgroundDarkActive"]) GlobalSkin.BackgroundDarkActive = obj["BackgroundDarkActive"]; - if (obj["ColorDarkActive"]) GlobalSkin.ColorDarkActive = obj["ColorDarkActive"]; - if (obj["BackgroundHighlighted"]) GlobalSkin.BackgroundHighlighted = obj["BackgroundHighlighted"]; - if (obj["BorderHighlighted"]) GlobalSkin.BorderHighlighted = obj["BorderHighlighted"]; - if (obj["ColorHighlighted"]) GlobalSkin.ColorHighlighted = obj["ColorHighlighted"]; - if (obj["BackgroundDarkHighlighted"]) GlobalSkin.BackgroundDarkHighlighted = obj["BackgroundDarkHighlighted"]; - if (obj["ColorDarkHighlighted"]) GlobalSkin.ColorDarkHighlighted = obj["ColorDarkHighlighted"]; - if (obj["GroupDataBorder"]) GlobalSkin.GroupDataBorder = obj["GroupDataBorder"]; - if (obj["EditorBorder"]) GlobalSkin.EditorBorder = obj["EditorBorder"]; } + for (var item in obj) + GlobalSkin[item] = obj[item]; + + // TODO: переделать на имена интерфейса + if (obj["Name"]) GlobalSkin.Name = obj["Name"]; + if (obj["RulersButton"]) GlobalSkin.RulersButton = obj["RulersButton"]; + if (obj["NavigationButtons"]) GlobalSkin.NavigationButtons = obj["NavigationButtons"]; + if (obj["BackgroundColor"]) GlobalSkin.BackgroundColor = obj["BackgroundColor"]; + if (obj["PageOutline"]) GlobalSkin.PageOutline = obj["PageOutline"]; + if (obj["RulerDark"]) GlobalSkin.RulerDark = obj["RulerDark"]; + if (obj["RulerLight"]) GlobalSkin.RulerLight = obj["RulerLight"]; + if (obj["RulerOutline"]) GlobalSkin.RulerOutline = obj["RulerOutline"]; + if (obj["RulerMarkersOutlineColor"]) GlobalSkin.RulerMarkersOutlineColor = obj["RulerMarkersOutlineColor"]; + if (obj["RulerMarkersFillColor"]) GlobalSkin.RulerMarkersFillColor = obj["RulerMarkersFillColor"]; + if (obj["RulerMarkersFillColorOld"]) GlobalSkin.RulerMarkersFillColorOld = obj["RulerMarkersFillColorOld"]; + if (obj["RulerTextColor"]) GlobalSkin.RulerTextColor = obj["RulerTextColor"]; + if (obj["RulerTabsColor"]) GlobalSkin.RulerTabsColor = obj["RulerTabsColor"]; + if (obj["RulerTabsColorOld"]) GlobalSkin.RulerTabsColorOld = obj["RulerTabsColorOld"]; + if (obj["RulerTableColor1"]) GlobalSkin.RulerTableColor1 = obj["RulerTableColor1"]; + if (obj["RulerTableColor2"]) GlobalSkin.RulerTableColor2 = obj["RulerTableColor2"]; + if (obj["ScrollBackgroundColor"]) GlobalSkin.ScrollBackgroundColor = obj["ScrollBackgroundColor"]; + if (obj["ScrollOutlineColor"]) GlobalSkin.ScrollOutlineColor = obj["ScrollOutlineColor"]; + if (obj["ScrollOutlineHoverColor"]) GlobalSkin.ScrollOutlineHoverColor = obj["ScrollOutlineHoverColor"]; + if (obj["ScrollOutlineActiveColor"]) GlobalSkin.ScrollOutlineActiveColor = obj["ScrollOutlineActiveColor"]; + if (obj["ScrollerColor"]) GlobalSkin.ScrollerColor = obj["ScrollerColor"]; + if (obj["ScrollerHoverColor"]) GlobalSkin.ScrollerHoverColor = obj["ScrollerHoverColor"]; + if (obj["ScrollerActiveColor"]) GlobalSkin.ScrollerActiveColor = obj["ScrollerActiveColor"]; + if (obj["ScrollArrowColor"]) GlobalSkin.ScrollArrowColor = obj["ScrollArrowColor"]; + if (obj["ScrollArrowHoverColor"]) GlobalSkin.ScrollArrowHoverColor = obj["ScrollArrowHoverColor"]; + if (obj["ScrollArrowActiveColor"]) GlobalSkin.ScrollArrowActiveColor = obj["ScrollArrowActiveColor"]; + if (obj["ScrollerTargetColor"]) GlobalSkin.ScrollerTargetColor = obj["ScrollerTargetColor"]; + if (obj["ScrollerTargetHoverColor"]) GlobalSkin.ScrollerTargetHoverColor = obj["ScrollerTargetHoverColor"]; + if (obj["ScrollerTargetActiveColor"]) GlobalSkin.ScrollerTargetActiveColor = obj["ScrollerTargetActiveColor"]; + if (obj["STYLE_THUMBNAIL_WIDTH"]) GlobalSkin.STYLE_THUMBNAIL_WIDTH = obj["STYLE_THUMBNAIL_WIDTH"]; + if (obj["STYLE_THUMBNAIL_HEIGHT"]) GlobalSkin.STYLE_THUMBNAIL_HEIGHT = obj["STYLE_THUMBNAIL_HEIGHT"]; + if (obj["isNeedInvertOnActive"]) GlobalSkin.isNeedInvertOnActive = obj["isNeedInvertOnActive"]; + if (obj["ContentControlsBack"]) GlobalSkin.ContentControlsBack = obj["ContentControlsBack"]; + if (obj["ContentControlsHover"]) GlobalSkin.ContentControlsHover = obj["ContentControlsHover"]; + if (obj["ContentControlsActive"]) GlobalSkin.ContentControlsActive = obj["ContentControlsActive"]; + if (obj["ContentControlsText"]) GlobalSkin.ContentControlsText = obj["ContentControlsText"]; + if (obj["ContentControlsTextActive"]) GlobalSkin.ContentControlsTextActive = obj["ContentControlsTextActive"]; + if (obj["ContentControlsAnchorActive"]) GlobalSkin.ContentControlsAnchorActive = obj["ContentControlsAnchorActive"]; + if (obj["BackgroundColorThumbnails"]) GlobalSkin.BackgroundColorThumbnails = obj["BackgroundColorThumbnails"]; + if (obj["BackgroundColorThumbnailsActive"]) GlobalSkin.BackgroundColorThumbnailsActive = obj["BackgroundColorThumbnailsActive"]; + if (obj["BackgroundColorThumbnailsHover"]) GlobalSkin.BackgroundColorThumbnailsHover = obj["BackgroundColorThumbnailsHover"]; + if (obj["ThumbnailsPageOutlineActive"]) GlobalSkin.ThumbnailsPageOutlineActive = obj["ThumbnailsPageOutlineActive"]; + if (obj["ThumbnailsPageOutlineHover"]) GlobalSkin.ThumbnailsPageOutlineHover = obj["ThumbnailsPageOutlineHover"]; + if (obj["ThumbnailsPageNumberText"]) GlobalSkin.ThumbnailsPageNumberText = obj["ThumbnailsPageNumberText"]; + if (obj["ThumbnailsPageNumberTextActive"]) GlobalSkin.ThumbnailsPageNumberTextActive = obj["ThumbnailsPageNumberTextActive"]; + if (obj["ThumbnailsPageNumberTextHover"]) GlobalSkin.ThumbnailsPageNumberTextHover = obj["ThumbnailsPageNumberTextHover"]; + if (obj["THEMES_THUMBNAIL_WIDTH"]) GlobalSkin.THEMES_THUMBNAIL_WIDTH = obj["THEMES_THUMBNAIL_WIDTH"]; + if (obj["THEMES_THUMBNAIL_HEIGHT"]) GlobalSkin.THEMES_THUMBNAIL_HEIGHT = obj["THEMES_THUMBNAIL_HEIGHT"]; + if (obj["BorderSplitterColor"]) GlobalSkin.BorderSplitterColor = obj["BorderSplitterColor"]; + if (obj["SupportNotes"]) GlobalSkin.SupportNotes = obj["SupportNotes"]; + if (obj["SplitterWidthMM"]) GlobalSkin.SplitterWidthMM = obj["SplitterWidthMM"]; + if (obj["ThumbnailScrollWidthNullIfNoScrolling"]) GlobalSkin.ThumbnailScrollWidthNullIfNoScrolling = obj["ThumbnailScrollWidthNullIfNoScrolling"]; + if (obj["DemBackgroundColor"]) GlobalSkin.DemBackgroundColor = obj["DemBackgroundColor"]; + if (obj["DemButtonBackgroundColor"]) GlobalSkin.DemButtonBackgroundColor = obj["DemButtonBackgroundColor"]; + if (obj["DemButtonBackgroundColorHover"]) GlobalSkin.DemButtonBackgroundColorHover = obj["DemButtonBackgroundColorHover"]; + if (obj["DemButtonBackgroundColorActive"]) GlobalSkin.DemButtonBackgroundColorActive = obj["DemButtonBackgroundColorActive"]; + if (obj["DemButtonBorderColor"]) GlobalSkin.DemButtonBorderColor = obj["DemButtonBorderColor"]; + if (obj["DemButtonTextColor"]) GlobalSkin.DemButtonTextColor = obj["DemButtonTextColor"]; + if (obj["DemButtonTextColorActive"]) GlobalSkin.DemButtonTextColorActive = obj["DemButtonTextColorActive"]; + if (obj["DemSplitterColor"]) GlobalSkin.DemSplitterColor = obj["DemSplitterColor"]; + if (obj["DemTextColor"]) GlobalSkin.DemTextColor = obj["DemTextColor"]; + + if (obj["Background"]) GlobalSkin.Background = obj["Background"]; + if (obj["Border"]) GlobalSkin.Border = obj["Border"]; + if (obj["Color"]) GlobalSkin.Color = obj["Color"]; + if (obj["BackgroundDark"]) GlobalSkin.BackgroundDark = obj["BackgroundDark"]; + if (obj["ColorDark"]) GlobalSkin.ColorDark = obj["ColorDark"]; + if (obj["BackgroundActive"]) GlobalSkin.BackgroundActive = obj["BackgroundActive"]; + if (obj["BorderActive"]) GlobalSkin.BorderActive = obj["BorderActive"]; + if (obj["ColorActive"]) GlobalSkin.ColorActive = obj["ColorActive"]; + if (obj["BackgroundDarkActive"]) GlobalSkin.BackgroundDarkActive = obj["BackgroundDarkActive"]; + if (obj["ColorDarkActive"]) GlobalSkin.ColorDarkActive = obj["ColorDarkActive"]; + if (obj["BackgroundHighlighted"]) GlobalSkin.BackgroundHighlighted = obj["BackgroundHighlighted"]; + if (obj["BorderHighlighted"]) GlobalSkin.BorderHighlighted = obj["BorderHighlighted"]; + if (obj["ColorHighlighted"]) GlobalSkin.ColorHighlighted = obj["ColorHighlighted"]; + if (obj["BackgroundDarkHighlighted"]) GlobalSkin.BackgroundDarkHighlighted = obj["BackgroundDarkHighlighted"]; + if (obj["ColorDarkHighlighted"]) GlobalSkin.ColorDarkHighlighted = obj["ColorDarkHighlighted"]; + if (obj["GroupDataBorder"]) GlobalSkin.GroupDataBorder = obj["GroupDataBorder"]; + if (obj["EditorBorder"]) GlobalSkin.EditorBorder = obj["EditorBorder"]; + if (window.g_asc_plugins) window.g_asc_plugins.onThemeChanged(GlobalSkin); From 299d69f3bcf17e08e2bbb7bf1a2ebdec4f34ed06 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Tue, 27 Apr 2021 18:37:57 +0300 Subject: [PATCH 262/381] [all] For bug 49716 --- common/apiBase.js | 1 + 1 file changed, 1 insertion(+) diff --git a/common/apiBase.js b/common/apiBase.js index 7806f8b890..1bd9bf35fb 100644 --- a/common/apiBase.js +++ b/common/apiBase.js @@ -1578,6 +1578,7 @@ oAdditionalData["nobase64"] = isNoBase64; if (DownloadType.Print === downloadType) { + oAdditionalData["withoutPassword"] = true; oAdditionalData["inline"] = 1; } From 3a451a277398a128fc53936504a374fd639ab0fa Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 27 Apr 2021 19:49:44 +0300 Subject: [PATCH 263/381] Fix bug 50000 (#1878) --- slide/Drawing/DrawingDocument.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/slide/Drawing/DrawingDocument.js b/slide/Drawing/DrawingDocument.js index 09bb55cf19..cb3012637c 100644 --- a/slide/Drawing/DrawingDocument.js +++ b/slide/Drawing/DrawingDocument.js @@ -4593,9 +4593,27 @@ function CThumbnailsManager() settings.screenH = word_control.m_oThumbnails.HtmlElement.height; settings.cornerRadius = 1; settings.slimScroll = true; + settings.scrollBackgroundColor = GlobalSkin.BackgroundColorThumbnails; settings.scrollBackgroundColorHover = GlobalSkin.BackgroundColorThumbnails; settings.scrollBackgroundColorActive = GlobalSkin.BackgroundColorThumbnails; + + settings.scrollerColor = GlobalSkin.ScrollerColor; + settings.scrollerHoverColor = GlobalSkin.ScrollerHoverColor; + settings.scrollerActiveColor = GlobalSkin.ScrollerActiveColor; + + settings.arrowColor = GlobalSkin.ScrollArrowColor; + settings.arrowHoverColor = GlobalSkin.ScrollArrowHoverColor; + settings.arrowActiveColor = GlobalSkin.ScrollArrowActiveColor; + + settings.strokeStyleNone = GlobalSkin.ScrollOutlineColor; + settings.strokeStyleOver = GlobalSkin.ScrollOutlineHoverColor; + settings.strokeStyleActive = GlobalSkin.ScrollOutlineActiveColor; + + settings.targetColor = GlobalSkin.ScrollerTargetColor; + settings.targetHoverColor = GlobalSkin.ScrollerTargetHoverColor; + settings.targetActiveColor = GlobalSkin.ScrollerTargetActiveColor; + settings.contentH = nHeightPix; if (word_control.m_oScrollThumb_) From 03730864f4aa0699a50056dedade332aa2e2fddf Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Wed, 28 Apr 2021 11:25:33 +0300 Subject: [PATCH 264/381] [bug] Fix bug 50064 --- common/apiCommon.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/common/apiCommon.js b/common/apiCommon.js index 685d01d7fc..c368f0a9ca 100644 --- a/common/apiCommon.js +++ b/common/apiCommon.js @@ -4936,6 +4936,10 @@ oShd.Color.r = oCurParS['fill'][0]; oShd.Color.g = oCurParS['fill'][1]; oShd.Color.b = oCurParS['fill'][2]; + oShd.Fill = new AscCommonWord.CDocumentColor(); + oShd.Fill.r = oCurParS['fill'][0]; + oShd.Fill.g = oCurParS['fill'][1]; + oShd.Fill.b = oCurParS['fill'][2]; oNewParagraph.Set_Shd(oShd, true); } if(AscFormat.isRealNumber(oCurParS['linespacing'])){ From 3979da1e310ab27b4c03483cb24cc62e56e30b11 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Wed, 28 Apr 2021 15:24:35 +0300 Subject: [PATCH 265/381] Fix bug 50063 (#1879) --- word/Drawing/HtmlPage.js | 5 +++++ word/api.js | 2 ++ 2 files changed, 7 insertions(+) diff --git a/word/Drawing/HtmlPage.js b/word/Drawing/HtmlPage.js index 2394969e3b..b889799766 100644 --- a/word/Drawing/HtmlPage.js +++ b/word/Drawing/HtmlPage.js @@ -3344,6 +3344,11 @@ function CEditorPage(api) if (AscCommon.AscBrowser.isSailfish) context.fillRect(0, 0, canvas.width, canvas.height); + else if (true === canvas.fullRepaint) + { + context.fillRect(0, 0, canvas.width, canvas.height); + delete canvas.fullRepaint; + } if (this.m_oDrawingDocument.m_lDrawingFirst < 0 || this.m_oDrawingDocument.m_lDrawingEnd < 0) return; diff --git a/word/api.js b/word/api.js index 3a14aac124..4db5d73708 100644 --- a/word/api.js +++ b/word/api.js @@ -1244,6 +1244,8 @@ background-repeat: no-repeat;\ document.getElementById("id_viewer").style.backgroundColor = AscCommon.GlobalSkin.BackgroundColor; document.getElementById("id_panel_right").style.backgroundColor = AscCommon.GlobalSkin.ScrollBackgroundColor; document.getElementById("id_horscrollpanel").style.backgroundColor = AscCommon.GlobalSkin.ScrollBackgroundColor; + + this.WordControl.m_oEditor.HtmlElement.fullRepaint = true; } if (this.WordControl && this.WordControl.m_oBody) From 37746356bd58d217dde3f10bc68733b73e6a7427 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Wed, 28 Apr 2021 18:08:19 +0300 Subject: [PATCH 266/381] [se] Fix bug 50100 --- cell/model/Workbook.js | 3 +++ cell/model/WorkbookElems.js | 3 +++ cell/view/WorksheetView.js | 8 ++++++++ 3 files changed, 14 insertions(+) diff --git a/cell/model/Workbook.js b/cell/model/Workbook.js index 14f3d2aa98..6dbb0d39ab 100644 --- a/cell/model/Workbook.js +++ b/cell/model/Workbook.js @@ -9201,6 +9201,9 @@ } }); } + if (table.TableColumns.length < (table.Ref.c2 - table.Ref.c1 + 1)) { + table.Ref.c2 = table.Ref.c1 + table.TableColumns.length - 1; + } } } }; diff --git a/cell/model/WorkbookElems.js b/cell/model/WorkbookElems.js index d0fc6cdbf6..b42964e8f0 100644 --- a/cell/model/WorkbookElems.js +++ b/cell/model/WorkbookElems.js @@ -6191,6 +6191,9 @@ function RangeDataManagerElem(bbox, data) for (var j = 0; j < newTableColumns.length; j++) { tableColumn = newTableColumns[j]; + if (!tableColumn) { + tableColumn = newTableColumns[j] = new TableColumn(); + } if (tableColumn.Name === null) { tableColumn.Name = autoFilters._generateColumnName2(newTableColumns); } diff --git a/cell/view/WorksheetView.js b/cell/view/WorksheetView.js index c4c2bebebc..7eef716aa5 100644 --- a/cell/view/WorksheetView.js +++ b/cell/view/WorksheetView.js @@ -17567,6 +17567,14 @@ var table = t.model.autoFilters._getFilterByDisplayName(tableName); var tableRange = null !== table ? table.Ref : null; + if (tableRange && range && tableRange.isEqual(range)) { + if (callbackAfterChange) { + callbackAfterChange(false); + } else { + return false; + } + } + var lockRange = range; if (null !== tableRange) { var r1 = tableRange.r1 < range.r1 ? tableRange.r1 : range.r1; From 97a961212e4ea9f5987f1d2e5020f0d63f92ce2e Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Wed, 28 Apr 2021 18:31:27 +0300 Subject: [PATCH 267/381] Fix/bug50108 (#1881) * Fix bug 50108, 50067 * Fix tests --- common/Overlay.js | 28 ++++++++++++++++------------ word/Drawing/buttons.js | 36 ++++++++++++++++++++---------------- word/api.js | 6 ++++-- 3 files changed, 40 insertions(+), 30 deletions(-) diff --git a/common/Overlay.js b/common/Overlay.js index 250290c6f1..be5ac12bd6 100644 --- a/common/Overlay.js +++ b/common/Overlay.js @@ -2971,19 +2971,20 @@ CAutoshapeTrack.prototype = ctx.strokeStyle = "#000000"; var indent = 0.5 * Math.round(rPR); - for (var i = 0; i < __h; i+= 2 * Math.round(rPR)) + var step = Math.round(rPR); + for (var i = 0; i < __h; i += (2 * step)) { ctx.moveTo(__x,__y + i + indent); - ctx.lineTo(__x + 2 * Math.round( rPR),__y + i + indent); + ctx.lineTo(__x + 2 * step, __y + i + indent); } ctx.stroke(); ctx.beginPath(); ctx.strokeStyle = "#FFFFFF"; - for (var i = Math.round(rPR); i < __h; i+= 2 * Math.round(rPR)) + for (var i = step; i < __h; i += (2 * step)) { ctx.moveTo(__x,__y + i + indent); - ctx.lineTo(__x + 2 * Math.round(rPR),__y + i + indent); + ctx.lineTo(__x + 2 * step, __y + i + indent); } ctx.stroke(); @@ -2997,11 +2998,10 @@ CAutoshapeTrack.prototype = var _x2 = matrix.TransformPointX(x, y + h); var _y2 = matrix.TransformPointY(x, y + h); - _x1 = (xDst + dKoefX * _x1) >> 0; - _y1 = (yDst + dKoefY * _y1) >> 0; - - _x2 = (xDst + dKoefX * _x2) >> 0; - _y2 = (yDst + dKoefY * _y2) >> 0; + _x1 = xDst + dKoefX * _x1; + _y1 = yDst + dKoefY * _y1; + _x2 = xDst + dKoefX * _x2; + _y2 = yDst + dKoefY * _y2; overlay.CheckPoint(_x1, _y1); overlay.CheckPoint(_x2, _y2); @@ -3022,12 +3022,16 @@ CAutoshapeTrack.prototype = ctx.strokeStyle = "#000000"; var _vec_len = Math.sqrt((_x2 - _x1)*(_x2 - _x1) + (_y2 - _y1)*(_y2 - _y1)); - var _dx = Math.round((_x2 - _x1) / _vec_len * rPR); - var _dy = Math.round((_y2 - _y1) / _vec_len * rPR); + var _dx = ((_x2 - _x1) / _vec_len); + var _dy = ((_y2 - _y1) / _vec_len); var __x = _x1; var __y = _y1; - for (var i = 0; i < _vec_len; i += 2 * Math.round(rPR)) + + var step = rPR; + _dx *= step; + _dy *= step; + for (var i = 0; i < _vec_len; i += (2 * step)) { ctx.moveTo(__x, __y); diff --git a/word/Drawing/buttons.js b/word/Drawing/buttons.js index 47ae47ffa2..a0a2f97293 100644 --- a/word/Drawing/buttons.js +++ b/word/Drawing/buttons.js @@ -2816,8 +2816,11 @@ this.rectComboWidth = this.rectComboWidthPx / koef; this.roundSize = this.roundSizePx / koef; - //this.wideOutlineX = 1 / koef; - this.wideOutlineY = 1 / koef; + if (!object.transform) + { + //this.wideOutlineX = 1 / koef; + this.wideOutlineY = 1 / koef; + } this.koef = koef; }; CPolygonCC.prototype.moveTo = function(x, y) @@ -3545,10 +3548,10 @@ var matrix = object.transform; var coordMatrix = new AscCommon.CMatrix(); - coordMatrix.sx = koefX; - coordMatrix.sy = koefY; - coordMatrix.tx = drPage.left; - coordMatrix.ty = drPage.top; + coordMatrix.sx = koefX * rPR; + coordMatrix.sy = koefY * rPR; + coordMatrix.tx = drPage.left * rPR; + coordMatrix.ty = drPage.top * rPR; AscCommon.global_MatrixTransformer.MultiplyPrepend(coordMatrix, matrix); while (true) @@ -3685,8 +3688,8 @@ _x = matrix.TransformPointX(point.x, point.y); _y = matrix.TransformPointY(point.x, point.y); - _x = drPage.left + koefX * _x; - _y = drPage.top + koefY * _y; + _x = (drPage.left + koefX * _x) * rPR; + _y = (drPage.top + koefY * _y) * rPR; overlay.CheckPoint(_x, _y); @@ -3701,31 +3704,32 @@ { var x1, y1, x2, y2, xCP, yCP; var isX = true; + var roundSizePxTmp = 0; // this.roundSizePx switch (point.inDir) { case PointDirection.Left: { - x1 = _x + this.roundSizePx; + x1 = _x + roundSizePxTmp; y1 = _y; break; } case PointDirection.Right: { - x1 = _x - this.roundSizePx; + x1 = _x - roundSizePxTmp; y1 = _y; break; } case PointDirection.Up: { x1 = _x; - y1 = _y + this.roundSizePx; + y1 = _y + roundSizePxTmp; isX = false; break; } case PointDirection.Down: { x1 = _x; - y1 = _y - this.roundSizePx; + y1 = _y - roundSizePxTmp; isX = false; break; } @@ -3736,26 +3740,26 @@ { case PointDirection.Left: { - x2 = _x - this.roundSizePx; + x2 = _x - roundSizePxTmp; y2 = _y; break; } case PointDirection.Right: { - x2 = _x + this.roundSizePx; + x2 = _x + roundSizePxTmp; y2 = _y; break; } case PointDirection.Up: { x2 = _x; - y2 = _y - this.roundSizePx; + y2 = _y - roundSizePxTmp; break; } case PointDirection.Down: { x2 = _x; - y2 = _y + this.roundSizePx; + y2 = _y + roundSizePxTmp; break; } default: diff --git a/word/api.js b/word/api.js index 4db5d73708..9f79afb16a 100644 --- a/word/api.js +++ b/word/api.js @@ -1244,12 +1244,14 @@ background-repeat: no-repeat;\ document.getElementById("id_viewer").style.backgroundColor = AscCommon.GlobalSkin.BackgroundColor; document.getElementById("id_panel_right").style.backgroundColor = AscCommon.GlobalSkin.ScrollBackgroundColor; document.getElementById("id_horscrollpanel").style.backgroundColor = AscCommon.GlobalSkin.ScrollBackgroundColor; - - this.WordControl.m_oEditor.HtmlElement.fullRepaint = true; } if (this.WordControl && this.WordControl.m_oBody) + { this.WordControl.OnResize(true); + if (this.WordControl.m_oEditor && this.WordControl.m_oEditor.HtmlElement) + this.WordControl.m_oEditor.HtmlElement.fullRepaint = true; + } }; asc_docs_api.prototype.GetCopyPasteDivId = function() From 58b2a458a7412d5b49ff4ad9a36b017b040df79b Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Wed, 28 Apr 2021 18:37:53 +0300 Subject: [PATCH 268/381] Fix/bug 49724 (#1882) * [se] Fix bug 49724 --- common/wordcopypaste.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/common/wordcopypaste.js b/common/wordcopypaste.js index 32197f8786..aed7db3b8a 100644 --- a/common/wordcopypaste.js +++ b/common/wordcopypaste.js @@ -733,7 +733,8 @@ CopyProcessor.prototype = res += name + ":none;"; else { - var size = 0.5; + //TODO получение цвета рассмотреть аналогично получению фону у ячейки с ипользованием функции GetSimpleColor + var size = 0.5; var color = border.Color; var unifill = border.Unifill; if(null != border.Size) @@ -829,7 +830,7 @@ CopyProcessor.prototype = var presentation = editor.WordControl.m_oLogicDocument; var curSlide = presentation.Slides[presentation.CurPage]; if(presentation && curSlide && curSlide.Layout && curSlide.Layout.Master && curSlide.Layout.Master.Theme) - AscFormat.checkTableCellPr(cell.CompiledPr.Pr, curSlide, curSlide.Layout, curSlide.Layout.Master, curSlide.Layout.Master.Theme); + AscFormat.checkTableCellPr(cell.CompiledPr.Pr, curSlide, curSlide.Layout, curSlide.Layout.Master, curSlide.Layout.Master.Theme); } if(null != cell.CompiledPr && null != cell.CompiledPr.Pr) @@ -841,8 +842,16 @@ CopyProcessor.prototype = } if(null != cellPr && null != cellPr.Shd) { - if (c_oAscShdNil !== cellPr.Shd.Value && (null != cellPr.Shd.Color || null != cellPr.Shd.Unifill)) - tcStyle += "background-color:" + this.RGBToCSS(cellPr.Shd.Color, cellPr.Shd.Unifill) + ";"; + if (c_oAscShdNil !== cellPr.Shd.Value && (null != cellPr.Shd.Color || null != cellPr.Shd.Unifill)) { + var _shdColor = cellPr.Shd.GetSimpleColor(this.oDocument.Get_Theme(), this.oDocument.Get_ColorMap()); + //todo проверить и убрать else, всегда использовать GetSimpleColor + if (_shdColor) { + _shdColor = this.RGBToCSS(_shdColor); + } else { + _shdColor = this.RGBToCSS(cellPr.Shd.Color, cellPr.Shd.Unifill); + } + tcStyle += "background-color:" + _shdColor + ";"; + } } else if(null != tablePr && null != tablePr.Shd) { From 7687af29ca2743a752ed0c47705802394b31d905 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Wed, 28 Apr 2021 19:19:21 +0300 Subject: [PATCH 269/381] Fix bug 50058 (#1885) --- word/Drawing/buttons.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/word/Drawing/buttons.js b/word/Drawing/buttons.js index a0a2f97293..93dcfafdd2 100644 --- a/word/Drawing/buttons.js +++ b/word/Drawing/buttons.js @@ -2153,7 +2153,7 @@ } else { - var rectOrigin = rectName || rectMove; + var rectOrigin = rectMove; if (!rectOrigin) return false; x = rectOrigin.X + rectOrigin.W; From 2cd647c4ea958067c41cf442e000cde2a179a023 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Wed, 28 Apr 2021 20:21:23 +0300 Subject: [PATCH 270/381] [de] For Bug #49807 --- common/SerializeCommonWordExcel.js | 29 ++++++++++++++++++++--------- word/Editor/Serialize2.js | 16 ++++++++++------ word/Editor/Styles.js | 2 +- 3 files changed, 31 insertions(+), 16 deletions(-) diff --git a/common/SerializeCommonWordExcel.js b/common/SerializeCommonWordExcel.js index a0dd9c6c07..5bed07433c 100644 --- a/common/SerializeCommonWordExcel.js +++ b/common/SerializeCommonWordExcel.js @@ -260,21 +260,31 @@ BinaryCommonWriter.prototype.WriteShd = function(Shd) var RGBA = Shd.Unifill.getRGBAColor(); color = new AscCommonWord.CDocumentColor(RGBA.R, RGBA.G, RGBA.B); } + var fill = null; + if (null != Shd.Fill) + fill = Shd.Fill; + else if (null != Shd.themeFill) { + var doc = editor.WordControl.m_oLogicDocument; + Shd.themeFill.check(doc.Get_Theme(), doc.Get_ColorMap()); + var RGBA = Shd.themeFill.getRGBAColor(); + fill = new AscCommonWord.CDocumentColor(RGBA.R, RGBA.G, RGBA.B); + } if (null != color && !color.Auto) this.WriteColor(c_oSerShdType.Color, color); - if(Shd.Fill && !Shd.Fill.Auto) - this.WriteColor(c_oSerShdType.Fill, Shd.Fill); + if (null != fill && !fill.Auto) + this.WriteColor(c_oSerShdType.Fill, fill); if(null != Shd.Unifill || (null != Shd.Color && Shd.Color.Auto)) { - this.memory.WriteByte(c_oSerShdType.ColorTheme); + //ColorTheme и FillTheme перепутаны в x2t + this.memory.WriteByte(c_oSerShdType.FillTheme); this.memory.WriteByte(c_oSerPropLenType.Variable); this.WriteItemWithLength(function(){_this.WriteColorTheme(Shd.Unifill, Shd.Color);}); } - if((null != Shd.Fill && Shd.Fill.Auto)) + if(null != Shd.themeFill || (null != Shd.Fill && Shd.Fill.Auto)) { - this.memory.WriteByte(c_oSerShdType.FillTheme); + this.memory.WriteByte(c_oSerShdType.ColorTheme); this.memory.WriteByte(c_oSerPropLenType.Variable); - this.WriteItemWithLength(function(){_this.WriteColorTheme(null, Shd.Fill);}); + this.WriteItemWithLength(function(){_this.WriteColorTheme(Shd.themeFill, Shd.Fill);}); } }; BinaryCommonWriter.prototype.WritePaddings = function(Paddings) @@ -557,7 +567,7 @@ Binary_CommonReader.prototype.ReadColor = function() var b = this.stream.GetUChar(); return new AscCommonWord.CDocumentColor(r, g, b); }; -Binary_CommonReader.prototype.ReadShd = function(type, length, Shd, themeColor, themeColorFill) +Binary_CommonReader.prototype.ReadShd = function(type, length, Shd, themeColor, themeFill) { var res = c_oSerConstants.ReadOk; var oThis = this; @@ -566,8 +576,9 @@ Binary_CommonReader.prototype.ReadShd = function(type, length, Shd, themeColor, case c_oSerShdType.Value: Shd.Value = this.stream.GetUChar();break; case c_oSerShdType.Color: Shd.Color = this.ReadColor();break; case c_oSerShdType.ColorTheme: + //ColorTheme и FillTheme перепутаны в x2t res = this.Read2(length, function(t, l){ - return oThis.ReadColorTheme(t, l, themeColor); + return oThis.ReadColorTheme(t, l, themeFill); }); break; case c_oSerShdType.Fill: @@ -575,7 +586,7 @@ Binary_CommonReader.prototype.ReadShd = function(type, length, Shd, themeColor, break; case c_oSerShdType.FillTheme: res = this.Read2(length, function(t, l){ - return oThis.ReadColorTheme(t, l, themeColorFill); + return oThis.ReadColorTheme(t, l, themeColor); }); break; default: diff --git a/word/Editor/Serialize2.js b/word/Editor/Serialize2.js index dd51afee4f..95a4be75b0 100644 --- a/word/Editor/Serialize2.js +++ b/word/Editor/Serialize2.js @@ -1668,25 +1668,29 @@ function writeNestedReviewType(type, reviewInfo, fWriteRecord, fCallback) { function ReadDocumentShd(length, bcr, oShd) { var themeColor = { Auto: null, Color: null, Tint: null, Shade: null }; - var themeColorFill = { Auto: null, Color: null, Tint: null, Shade: null }; + var themeFill = { Auto: null, Color: null, Tint: null, Shade: null }; oShd.Color = undefined; var res = bcr.Read2(length, function (t, l) { - return bcr.ReadShd(t, l, oShd, themeColor, themeColorFill); + return bcr.ReadShd(t, l, oShd, themeColor, themeFill); }); + //1. this.Color по умолчанию должен быть undefined if(!oShd.Color) { oShd.Color = new AscCommonWord.CDocumentColor(255, 255, 255, true); } if (true == themeColor.Auto && null != oShd.Color) oShd.Color.Auto = true;//todo менять полностью цвет - var unifill = CreateThemeUnifill(themeColor.Color, themeColor.Tint, themeColor.Shade); - if (null != unifill) - oShd.Unifill = unifill; - if (true == themeColorFill.Auto) { + if (true === themeFill.Auto) { if(!oShd.Fill) { oShd.Fill = new AscCommonWord.CDocumentColor(255, 255, 255, true); } oShd.Fill.Auto = true;//todo менять полностью цвет } + var unifill = CreateThemeUnifill(themeColor.Color, themeColor.Tint, themeColor.Shade); + if (null != unifill) + oShd.Unifill = unifill; + unifill = CreateThemeUnifill(themeFill.Color, themeFill.Tint, themeFill.Shade); + if (null != unifill) + oShd.themeFill = unifill; return oShd; } diff --git a/word/Editor/Styles.js b/word/Editor/Styles.js index 9871f8f9a4..bc527b81f5 100644 --- a/word/Editor/Styles.js +++ b/word/Editor/Styles.js @@ -9883,7 +9883,7 @@ function CDocumentShd() this.Fill = undefined; this.Unifill = undefined; this.FillRef = undefined; - + this.themeFill = undefined; // TODO: // 1. this.Color по умолчанию должен быть undefined // 2. Добавить аналог для themeFill и переименовать Unifill в themeColor From 3ec7f44798837e1b03ac58c346852fdfd94a9fb1 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Wed, 28 Apr 2021 21:04:16 +0300 Subject: [PATCH 271/381] Fix bug 49965 (#1887) --- common/scroll.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/scroll.js b/common/scroll.js index 0b01338a4b..fa49d1fa44 100644 --- a/common/scroll.js +++ b/common/scroll.js @@ -701,6 +701,8 @@ CArrowDrawer.prototype.InitSize = function ( sizeW, sizeH, is_retina ) { this.reinit = false; if (this.isResizeArrows || isChangeTheme) { + this.context.fillStyle = this.settings.scrollBackgroundColor; + this.context.fillRect(0,0,this.canvasW,this.canvasH); this.firstArrow = {arrowColor: _HEXTORGB_(this.settings.arrowColor).R, arrowBackColor: _HEXTORGB_(this.settings.scrollerColor).R, arrowStrokeColor: _HEXTORGB_(this.settings.strokeStyleNone).R}; this.secondArrow = {arrowColor: _HEXTORGB_(this.settings.arrowColor).R, arrowBackColor: _HEXTORGB_(this.settings.scrollerColor).R, arrowStrokeColor: _HEXTORGB_(this.settings.strokeStyleNone).R}; From 27f7020f9d529b72c1e47b436adb93c9bb5e8224 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 29 Apr 2021 01:35:00 +0300 Subject: [PATCH 272/381] [bug] Fix bug 50111 --- common/Drawings/CommonController.js | 6 ++++++ word/Drawing/ShapeDrawer.js | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/common/Drawings/CommonController.js b/common/Drawings/CommonController.js index f5761044b7..66c8c347d4 100644 --- a/common/Drawings/CommonController.js +++ b/common/Drawings/CommonController.js @@ -2449,6 +2449,12 @@ DrawingObjectsController.prototype = for (i = 0; i < oController2.selectedObjects.length; ++i) { oController2.selectedObjects[i].draw(g); } + if (AscCommon.g_fontManager) { + AscCommon.g_fontManager.m_pFont = null; + } + if (AscCommon.g_fontManager2) { + AscCommon.g_fontManager2.m_pFont = null; + } AscCommon.IsShapeToImageConverter = false; try { diff --git a/word/Drawing/ShapeDrawer.js b/word/Drawing/ShapeDrawer.js index abe808ad38..b5a049508b 100644 --- a/word/Drawing/ShapeDrawer.js +++ b/word/Drawing/ShapeDrawer.js @@ -1841,6 +1841,12 @@ function ShapeToImageConverter(shape, pageIndex) shape.draw(g, 0); } + if (AscCommon.g_fontManager) { + AscCommon.g_fontManager.m_pFont = null; + } + if (AscCommon.g_fontManager2) { + AscCommon.g_fontManager2.m_pFont = null; + } AscCommon.IsShapeToImageConverter = false; var _ret = { ImageNative : _canvas, ImageUrl : "" }; From 535a0eac5818646864be206cb03eecbd7c6cc9b3 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 29 Apr 2021 01:51:02 +0300 Subject: [PATCH 273/381] [bug] For bug 50111 --- slide/Editor/Format/Presentation.js | 6 ++++++ slide/Editor/Format/Slide.js | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/slide/Editor/Format/Presentation.js b/slide/Editor/Format/Presentation.js index 233261d825..78847b78e6 100644 --- a/slide/Editor/Format/Presentation.js +++ b/slide/Editor/Format/Presentation.js @@ -8652,6 +8652,12 @@ CPresentation.prototype.GetSelectedContent2 = function () { for (i = 0; i < oController2.selectedObjects.length; ++i) { oController2.selectedObjects[i].draw(g); } + if (AscCommon.g_fontManager) { + AscCommon.g_fontManager.m_pFont = null; + } + if (AscCommon.g_fontManager2) { + AscCommon.g_fontManager2.m_pFont = null; + } AscCommon.IsShapeToImageConverter = false; try { diff --git a/slide/Editor/Format/Slide.js b/slide/Editor/Format/Slide.js index 45804a3ed1..f4ab663edf 100644 --- a/slide/Editor/Format/Slide.js +++ b/slide/Editor/Format/Slide.js @@ -1545,6 +1545,12 @@ Slide.prototype = this.draw(g, /*pageIndex*/0); + if (AscCommon.g_fontManager) { + AscCommon.g_fontManager.m_pFont = null; + } + if (AscCommon.g_fontManager2) { + AscCommon.g_fontManager2.m_pFont = null; + } AscCommon.IsShapeToImageConverter = false; var _ret = { ImageNative : _canvas, ImageUrl : "" }; From 609692a4bc99df8fe953b56e61ad47a68c4bb6e6 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Thu, 29 Apr 2021 12:13:10 +0300 Subject: [PATCH 274/381] [se] Fix bug 50106 --- cell/utils/utils.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cell/utils/utils.js b/cell/utils/utils.js index a296b5aae0..d0a6eb5d79 100644 --- a/cell/utils/utils.js +++ b/cell/utils/utils.js @@ -175,7 +175,8 @@ } function convertPxToPt(value) { value = value * sizePxinPt; - value = Asc.ceil(value / AscBrowser.retinaPixelRatio * 10) / 10; + //пункты округляем до сотых + value = Asc.ceil(value / AscBrowser.retinaPixelRatio * 100) / 100; return value; } From a779aed64073ea295b1797f45138dfb321618b14 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 29 Apr 2021 12:28:58 +0300 Subject: [PATCH 275/381] Fix bug 49876 (#1891) --- common/clipboard_base.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common/clipboard_base.js b/common/clipboard_base.js index 9acca48ef0..4c972e3780 100644 --- a/common/clipboard_base.js +++ b/common/clipboard_base.js @@ -863,6 +863,9 @@ if (this.ClosureParams.isDivCopy === true) { + if (!this.isCopyOutEnabled()) + return; + if (_format == AscCommon.c_oAscClipboardDataFormat.Html) { this.CommonDiv.innerHTML = _data; From e436fd7fe47bac6a279e90d1e925a2d8dda2769a Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 29 Apr 2021 11:32:09 +0300 Subject: [PATCH 276/381] [bug] For bug 49949: change multiplier for double reading/writing from 10000 to 100000 [bug] Fix historyitem_Unknown_Unknown changes to correct change types in CAnimRot --- common/Shapes/SerializeWriter.js | 2 +- slide/Editor/Format/Timing.js | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/common/Shapes/SerializeWriter.js b/common/Shapes/SerializeWriter.js index d51384bb5e..86710af6e2 100644 --- a/common/Shapes/SerializeWriter.js +++ b/common/Shapes/SerializeWriter.js @@ -460,7 +460,7 @@ function CBinaryFileWriter() this._WriteDouble1 = function(type, val) { - var _val = val * 10000; + var _val = val * 100000; this._WriteInt1(type, _val); }; this._WriteDouble2 = function(type, val) diff --git a/slide/Editor/Format/Timing.js b/slide/Editor/Format/Timing.js index 629de7a4a5..bbb39cbb73 100644 --- a/slide/Editor/Format/Timing.js +++ b/slide/Editor/Format/Timing.js @@ -2339,7 +2339,7 @@ return; } if(null !== this.fltVal) { - pWriter._WriteInt2(3, this.fltVal * 10000 + 0.5 >> 0); + pWriter._WriteInt2(3, this.fltVal * 100000 + 0.5 >> 0); return; } }; @@ -2353,7 +2353,7 @@ if (0 === nType) this.setBoolVal(oStream.GetBool()); else if (1 === nType) this.setStrVal(oStream.GetString2()); else if (2 === nType) this.setIntVal(oStream.GetLong()); - else if (3 === nType) this.setFltVal(oStream.GetLong() / 10000); + else if (3 === nType) this.setFltVal(oStream.GetLong() / 100000); }; CAnimVariant.prototype.readChild = function(nType, pReader) { if(0 === nType) { @@ -2877,20 +2877,20 @@ } InitClass(CAnimRot, CBaseFormatObject, AscDFH.historyitem_type_AnimRot); CAnimRot.prototype.setCBhvr = function(pr) { - oHistory.Add(new CChangeObject(this, AscDFH.historyitem_Unknown_Unknown, this.cBhvr, pr)); + oHistory.Add(new CChangeObject(this, AscDFH.historyitem_AnimRotCBhvr, this.cBhvr, pr)); this.cBhvr = pr; this.setParentToChild(pr); }; CAnimRot.prototype.setBy = function(pr) { - oHistory.Add(new CChangeLong(this, AscDFH.historyitem_Unknown_Unknown, this.by, pr)); + oHistory.Add(new CChangeLong(this, AscDFH.historyitem_AnimRotBy, this.by, pr)); this.by = pr; }; CAnimRot.prototype.setFrom = function(pr) { - oHistory.Add(new CChangeLong(this, AscDFH.historyitem_Unknown_Unknown, this.from, pr)); + oHistory.Add(new CChangeLong(this, AscDFH.historyitem_AnimRotFrom, this.from, pr)); this.from = pr; }; CAnimRot.prototype.setTo = function(pr) { - oHistory.Add(new CChangeLong(this, AscDFH.historyitem_Unknown_Unknown, this.to, pr)); + oHistory.Add(new CChangeLong(this, AscDFH.historyitem_AnimRotTo, this.to, pr)); this.to = pr; }; CAnimRot.prototype.fillObject = function(oCopy, oIdMap) { From dbd4e198851262e9e3480a7f3188bb4902487fc6 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 29 Apr 2021 14:27:51 +0300 Subject: [PATCH 277/381] [bug] Fix applying changes to animation objects in coauthoring --- common/TableId.js | 57 ++++++++++++ slide/Editor/Format/Timing.js | 160 +++++++++++++++++++++++----------- 2 files changed, 164 insertions(+), 53 deletions(-) diff --git a/common/TableId.js b/common/TableId.js index ef062e8cac..cffdb4a376 100644 --- a/common/TableId.js +++ b/common/TableId.js @@ -287,6 +287,63 @@ this.m_oFactoryClass[AscDFH.historyitem_type_Notes] = AscCommonSlide.CNotes; this.m_oFactoryClass[AscDFH.historyitem_type_PresentationSection] = AscCommonSlide.CPrSection; this.m_oFactoryClass[AscDFH.historyitem_type_SldSz] = AscCommonSlide.CSlideSize; + + //Classes for animation + this.m_oFactoryClass[AscDFH.historyitem_type_EmptyObject] = AscFormat.CEmptyObject; + this.m_oFactoryClass[AscDFH.historyitem_type_Timing] = AscFormat.CTiming; + this.m_oFactoryClass[AscDFH.historyitem_type_CommonTimingList] = AscFormat.CCommonTimingList; + this.m_oFactoryClass[AscDFH.historyitem_type_AttrNameLst] = AscFormat.CAttrNameLst; + this.m_oFactoryClass[AscDFH.historyitem_type_BldLst] = AscFormat.CBldLst; + this.m_oFactoryClass[AscDFH.historyitem_type_CondLst] = AscFormat.CCondLst; + this.m_oFactoryClass[AscDFH.historyitem_type_ChildTnLst] = AscFormat.CChildTnLst; + this.m_oFactoryClass[AscDFH.historyitem_type_TmplLst] = AscFormat.CTmplLst; + this.m_oFactoryClass[AscDFH.historyitem_type_TnLst] = AscFormat.CTnLst; + this.m_oFactoryClass[AscDFH.historyitem_type_TavLst] = AscFormat.CTavLst; + this.m_oFactoryClass[AscDFH.historyitem_type_ObjectTarget] = AscFormat.CObjectTarget; + this.m_oFactoryClass[AscDFH.historyitem_type_BldBase] = AscFormat.CBldBase; + this.m_oFactoryClass[AscDFH.historyitem_type_BldDgm] = AscFormat.CBldDgm; + this.m_oFactoryClass[AscDFH.historyitem_type_BldGraphic] = AscFormat.CBldGraphic; + this.m_oFactoryClass[AscDFH.historyitem_type_BldOleChart] = AscFormat.CBldOleChart; + this.m_oFactoryClass[AscDFH.historyitem_type_BldP] = AscFormat.CBldP; + this.m_oFactoryClass[AscDFH.historyitem_type_BldSub] = AscFormat.CBldSub; + this.m_oFactoryClass[AscDFH.historyitem_type_DirTransition] = AscFormat.CDirTransition; + this.m_oFactoryClass[AscDFH.historyitem_type_OptBlackTransition] = AscFormat.COptionalBlackTransition; + this.m_oFactoryClass[AscDFH.historyitem_type_GraphicEl] = AscFormat.CGraphicEl; + this.m_oFactoryClass[AscDFH.historyitem_type_IndexRg] = AscFormat.CIndexRg; + this.m_oFactoryClass[AscDFH.historyitem_type_Tmpl] = AscFormat.CTmpl; + this.m_oFactoryClass[AscDFH.historyitem_type_Anim] = AscFormat.CAnim; + this.m_oFactoryClass[AscDFH.historyitem_type_CBhvr] = AscFormat.CCBhvr; + this.m_oFactoryClass[AscDFH.historyitem_type_CTn] = AscFormat.CCTn; + this.m_oFactoryClass[AscDFH.historyitem_type_Cond] = AscFormat.CCond; + this.m_oFactoryClass[AscDFH.historyitem_type_Rtn] = AscFormat.CRtn; + this.m_oFactoryClass[AscDFH.historyitem_type_TgtEl] = AscFormat.CTgtEl; + this.m_oFactoryClass[AscDFH.historyitem_type_SndTgt] = AscFormat.CSndTgt; + this.m_oFactoryClass[AscDFH.historyitem_type_SpTgt] = AscFormat.CSpTgt; + this.m_oFactoryClass[AscDFH.historyitem_type_IterateData] = AscFormat.CIterateData; + this.m_oFactoryClass[AscDFH.historyitem_type_Tm] = AscFormat.CTm; + this.m_oFactoryClass[AscDFH.historyitem_type_Tav] = AscFormat.CTav; + this.m_oFactoryClass[AscDFH.historyitem_type_AnimVariant] = AscFormat.CAnimVariant; + this.m_oFactoryClass[AscDFH.historyitem_type_AnimClr] = AscFormat.CAnimClr; + this.m_oFactoryClass[AscDFH.historyitem_type_AnimEffect] = AscFormat.CAnimEffect; + this.m_oFactoryClass[AscDFH.historyitem_type_AnimMotion] = AscFormat.CAnimMotion; + this.m_oFactoryClass[AscDFH.historyitem_type_AnimRot] = AscFormat.CAnimRot; + this.m_oFactoryClass[AscDFH.historyitem_type_AnimScale] = AscFormat.CAnimScale; + this.m_oFactoryClass[AscDFH.historyitem_type_Audio] = AscFormat.CAudio; + this.m_oFactoryClass[AscDFH.historyitem_type_CMediaNode] = AscFormat.CCMediaNode; + this.m_oFactoryClass[AscDFH.historyitem_type_Cmd] = AscFormat.CCmd; + this.m_oFactoryClass[AscDFH.historyitem_type_TimeNodeContainer] = AscFormat.CTimeNodeContainer; + this.m_oFactoryClass[AscDFH.historyitem_type_Par] = AscFormat.CPar; + this.m_oFactoryClass[AscDFH.historyitem_type_Excl] = AscFormat.CExcl; + this.m_oFactoryClass[AscDFH.historyitem_type_Seq] = AscFormat.CSeq; + this.m_oFactoryClass[AscDFH.historyitem_type_Set] = AscFormat.CSet; + this.m_oFactoryClass[AscDFH.historyitem_type_Video] = AscFormat.CVideo; + this.m_oFactoryClass[AscDFH.historyitem_type_OleChartEl] = AscFormat.COleChartEl; + this.m_oFactoryClass[AscDFH.historyitem_type_TlPoint] = AscFormat.CTLPoint; + this.m_oFactoryClass[AscDFH.historyitem_type_SndAc] = AscFormat.CSndAc; + this.m_oFactoryClass[AscDFH.historyitem_type_StSnd] = AscFormat.CStSnd; + this.m_oFactoryClass[AscDFH.historyitem_type_TxEl] = AscFormat.CTxEl; + this.m_oFactoryClass[AscDFH.historyitem_type_Wheel] = AscFormat.CWheel; + this.m_oFactoryClass[AscDFH.historyitem_type_AttrName] = AscFormat.CAttrName; } this.m_oFactoryClass[AscDFH.historyitem_type_Theme] = AscFormat.CTheme; diff --git a/slide/Editor/Format/Timing.js b/slide/Editor/Format/Timing.js index bbb39cbb73..0e20b1acac 100644 --- a/slide/Editor/Format/Timing.js +++ b/slide/Editor/Format/Timing.js @@ -535,8 +535,8 @@ return [this.bldSub]; }; - changesFactory[AscDFH.historyitem_BldGraphicBldSub] = CChangeBool; - drawingsChangesMap[AscDFH.historyitem_BldGraphicBldAsOne] = function(oClass, value) {oClass.animBg = value;}; + changesFactory[AscDFH.historyitem_BldOleChartAnimBg] = CChangeBool; + drawingsChangesMap[AscDFH.historyitem_BldOleChartAnimBg] = function(oClass, value) {oClass.animBg = value;}; function CBldOleChart() { CBldDgm.call(this); this.animBg = null; @@ -1118,17 +1118,17 @@ changesFactory[AscDFH.historyitem_CBhvrTo] = CChangeString; changesFactory[AscDFH.historyitem_CBhvrXfrmType] = CChangeLong; - drawingsChangesMap[AscDFH.historyitem_CBhvrAttrNameLst] = function(oClass, value) {this.attrNameLst = value;}; - drawingsChangesMap[AscDFH.historyitem_CBhvrCTn] = function(oClass, value) {this.cTn = value;}; - drawingsChangesMap[AscDFH.historyitem_CBhvrTgtEl] = function(oClass, value) {this.tgtEl = value;}; - drawingsChangesMap[AscDFH.historyitem_CBhvrAccumulate] = function(oClass, value) {this.accumulate = value;}; - drawingsChangesMap[AscDFH.historyitem_CBhvrAdditive] = function(oClass, value) {this.additive = value;}; - drawingsChangesMap[AscDFH.historyitem_CBhvrBy] = function(oClass, value) {this.by = value;}; - drawingsChangesMap[AscDFH.historyitem_CBhvrFrom] = function(oClass, value) {this.from = value;}; - drawingsChangesMap[AscDFH.historyitem_CBhvrOverride] = function(oClass, value) {this.override = value;}; - drawingsChangesMap[AscDFH.historyitem_CBhvrRctx] = function(oClass, value) {this.rctx = value;}; - drawingsChangesMap[AscDFH.historyitem_CBhvrTo] = function(oClass, value) {this.to = value;}; - drawingsChangesMap[AscDFH.historyitem_CBhvrXfrmType] = function(oClass, value) {this.xfrmType = value;}; + drawingsChangesMap[AscDFH.historyitem_CBhvrAttrNameLst] = function(oClass, value) {oClass.attrNameLst = value;}; + drawingsChangesMap[AscDFH.historyitem_CBhvrCTn] = function(oClass, value) {oClass.cTn = value;}; + drawingsChangesMap[AscDFH.historyitem_CBhvrTgtEl] = function(oClass, value) {oClass.tgtEl = value;}; + drawingsChangesMap[AscDFH.historyitem_CBhvrAccumulate] = function(oClass, value) {oClass.accumulate = value;}; + drawingsChangesMap[AscDFH.historyitem_CBhvrAdditive] = function(oClass, value) {oClass.additive = value;}; + drawingsChangesMap[AscDFH.historyitem_CBhvrBy] = function(oClass, value) {oClass.by = value;}; + drawingsChangesMap[AscDFH.historyitem_CBhvrFrom] = function(oClass, value) {oClass.from = value;}; + drawingsChangesMap[AscDFH.historyitem_CBhvrOverride] = function(oClass, value) {oClass.override = value;}; + drawingsChangesMap[AscDFH.historyitem_CBhvrRctx] = function(oClass, value) {oClass.rctx = value;}; + drawingsChangesMap[AscDFH.historyitem_CBhvrTo] = function(oClass, value) {oClass.to = value;}; + drawingsChangesMap[AscDFH.historyitem_CBhvrXfrmType] = function(oClass, value) {oClass.xfrmType = value;}; function CCBhvr() { CBaseFormatObject.call(this); this.attrNameLst = null; @@ -1196,7 +1196,7 @@ oCopy.setAttrNameLst(this.attrNameLst.createDuplicate(oIdMap)); } if(this.cTn !== null) { - oCopy.setCTn(this.cTn); + oCopy.setCTn(this.cTn.createDuplicate(oIdMap)); } if(this.tgtEl !== null) { oCopy.setTgtEl(this.tgtEl.createDuplicate(oIdMap)); @@ -1300,7 +1300,7 @@ changesFactory[AscDFH.historyitem_CTnBldLvl] = CChangeLong; changesFactory[AscDFH.historyitem_CTnDecel] = CChangeLong; changesFactory[AscDFH.historyitem_CTnDisplay] = CChangeBool; - changesFactory[AscDFH.historyitem_CTnDur] = CChangeLong; + changesFactory[AscDFH.historyitem_CTnDur] = CChangeString; changesFactory[AscDFH.historyitem_CTnEvtFilter] = CChangeString; changesFactory[AscDFH.historyitem_CTnFill] = CChangeLong; changesFactory[AscDFH.historyitem_CTnGrpId] = CChangeLong; @@ -1318,35 +1318,35 @@ changesFactory[AscDFH.historyitem_CTnSyncBehavior] = CChangeLong; changesFactory[AscDFH.historyitem_CTnTmFilter] = CChangeString; - drawingsChangesMap[AscDFH.historyitem_CTnChildTnLst] = function(oClass, value) {this.childTnLst = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnEndCondLst] = function(oClass, value) {this.endCondLst = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnEndSync] = function(oClass, value) {this.endSync = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnIterate] = function(oClass, value) {this.iterate = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnStCondLst] = function(oClass, value) {this.stCondLst = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnSubTnLst] = function(oClass, value) {this.subTnLst = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnAccel] = function(oClass, value) {this.accel = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnAfterEffect] = function(oClass, value) {this.afterEffect = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnAutoRev] = function(oClass, value) {this.autoRev = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnBldLvl] = function(oClass, value) {this.bldLvl = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnDecel] = function(oClass, value) {this.decel = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnDisplay] = function(oClass, value) {this.display = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnDur] = function(oClass, value) {this.dur = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnEvtFilter] = function(oClass, value) {this.evtFilter = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnFill] = function(oClass, value) {this.fill = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnGrpId] = function(oClass, value) {this.grpId = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnId] = function(oClass, value) {this.id = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnMasterRel] = function(oClass, value) {this.masterRel = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnNodePh] = function(oClass, value) {this.nodePh = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnNodeType] = function(oClass, value) {this.nodeType = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnPresetClass] = function(oClass, value) {this.presetClass = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnPresetID] = function(oClass, value) {this.presetID = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnPresetSubtype] = function(oClass, value) {this.presetSubtype = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnRepeatCount] = function(oClass, value) {this.repeatCount = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnRepeatDur] = function(oClass, value) {this.repeatDur = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnRestart] = function(oClass, value) {this.restart = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnSpd] = function(oClass, value) {this.spd = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnSyncBehavior] = function(oClass, value) {this.syncBehavior = value;}; - drawingsChangesMap[AscDFH.historyitem_CTnTmFilter] = function(oClass, value) {this.tmFilter = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnChildTnLst] = function(oClass, value) {oClass.childTnLst = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnEndCondLst] = function(oClass, value) {oClass.endCondLst = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnEndSync] = function(oClass, value) {oClass.endSync = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnIterate] = function(oClass, value) {oClass.iterate = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnStCondLst] = function(oClass, value) {oClass.stCondLst = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnSubTnLst] = function(oClass, value) {oClass.subTnLst = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnAccel] = function(oClass, value) {oClass.accel = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnAfterEffect] = function(oClass, value) {oClass.afterEffect = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnAutoRev] = function(oClass, value) {oClass.autoRev = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnBldLvl] = function(oClass, value) {oClass.bldLvl = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnDecel] = function(oClass, value) {oClass.decel = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnDisplay] = function(oClass, value) {oClass.display = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnDur] = function(oClass, value) {oClass.dur = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnEvtFilter] = function(oClass, value) {oClass.evtFilter = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnFill] = function(oClass, value) {oClass.fill = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnGrpId] = function(oClass, value) {oClass.grpId = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnId] = function(oClass, value) {oClass.id = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnMasterRel] = function(oClass, value) {oClass.masterRel = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnNodePh] = function(oClass, value) {oClass.nodePh = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnNodeType] = function(oClass, value) {oClass.nodeType = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnPresetClass] = function(oClass, value) {oClass.presetClass = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnPresetID] = function(oClass, value) {oClass.presetID = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnPresetSubtype] = function(oClass, value) {oClass.presetSubtype = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnRepeatCount] = function(oClass, value) {oClass.repeatCount = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnRepeatDur] = function(oClass, value) {oClass.repeatDur = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnRestart] = function(oClass, value) {oClass.restart = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnSpd] = function(oClass, value) {oClass.spd = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnSyncBehavior] = function(oClass, value) {oClass.syncBehavior = value;}; + drawingsChangesMap[AscDFH.historyitem_CTnTmFilter] = function(oClass, value) {oClass.tmFilter = value;}; function CCTn() { CBaseFormatObject.call(this); this.childTnLst = null; @@ -1435,7 +1435,7 @@ this.display = pr; }; CCTn.prototype.setDur = function(pr) { - oHistory.Add(new CChangeLong(this, AscDFH.historyitem_CTnDur, this.dur, pr)); + oHistory.Add(new CChangeString(this, AscDFH.historyitem_CTnDur, this.dur, pr)); this.dur = pr; }; CCTn.prototype.setEvtFilter = function(pr) { @@ -1700,11 +1700,11 @@ changesFactory[AscDFH.historyitem_CondDelay] = CChangeString; changesFactory[AscDFH.historyitem_CondEvt] = CChangeLong; - drawingsChangesMap[AscDFH.historyitem_CondRtn] = function(oClass, value) {this.rtn = value;}; - drawingsChangesMap[AscDFH.historyitem_CondTgtEl] = function(oClass, value) {this.tgtEl = value;}; - drawingsChangesMap[AscDFH.historyitem_CondTn] = function(oClass, value) {this.tn = value;}; - drawingsChangesMap[AscDFH.historyitem_CondDelay] = function(oClass, value) {this.delay = value;}; - drawingsChangesMap[AscDFH.historyitem_CondEvt] = function(oClass, value) {this.evt = value;}; + drawingsChangesMap[AscDFH.historyitem_CondRtn] = function(oClass, value) {oClass.rtn = value;}; + drawingsChangesMap[AscDFH.historyitem_CondTgtEl] = function(oClass, value) {oClass.tgtEl = value;}; + drawingsChangesMap[AscDFH.historyitem_CondTn] = function(oClass, value) {oClass.tn = value;}; + drawingsChangesMap[AscDFH.historyitem_CondDelay] = function(oClass, value) {oClass.delay = value;}; + drawingsChangesMap[AscDFH.historyitem_CondEvt] = function(oClass, value) {oClass.evt = value;}; function CCond() { CBaseFormatObject.call(this); @@ -1785,7 +1785,7 @@ }; changesFactory[AscDFH.historyitem_RtnVal] = CChangeLong; - drawingsChangesMap[AscDFH.historyitem_RtnVal] = function(oClass, value) {this.val = value;}; + drawingsChangesMap[AscDFH.historyitem_RtnVal] = function(oClass, value) {oClass.val = value;}; function CRtn() { CBaseFormatObject.call(this); this.val = null; @@ -3800,8 +3800,8 @@ }; - changesFactory[AscDFH.historyitem_WheelSpokes] = CChangeString; - drawingsChangesMap[AscDFH.historyitem_WheelSpokes] = function(oClass, value) {oClass.text = value;}; + changesFactory[AscDFH.historyitem_AttrNameText] = CChangeString; + drawingsChangesMap[AscDFH.historyitem_AttrNameText] = function(oClass, value) {oClass.text = value;}; function CAttrName() { CBaseFormatObject.call(this); this.text = null; @@ -3834,4 +3834,58 @@ window['AscFormat'] = window['AscFormat'] || {}; window['AscFormat'].CTiming = CTiming; + window['AscFormat'].CEmptyObject = CEmptyObject; + window['AscFormat'].CCommonTimingList = CCommonTimingList; + window['AscFormat'].CAttrNameLst = CAttrNameLst; + window['AscFormat'].CBldLst = CBldLst; + window['AscFormat'].CCondLst = CCondLst; + window['AscFormat'].CChildTnLst = CChildTnLst; + window['AscFormat'].CTmplLst = CTmplLst; + window['AscFormat'].CTnLst = CTnLst; + window['AscFormat'].CTavLst = CTavLst; + window['AscFormat'].CObjectTarget = CObjectTarget; + window['AscFormat'].CBldBase = CBldBase; + window['AscFormat'].CBldDgm = CBldDgm; + window['AscFormat'].CBldGraphic = CBldGraphic; + window['AscFormat'].CBldOleChart = CBldOleChart; + window['AscFormat'].CBldP = CBldP; + window['AscFormat'].CBldSub = CBldSub; + window['AscFormat'].CDirTransition = CDirTransition; + window['AscFormat'].COptionalBlackTransition = COptionalBlackTransition; + window['AscFormat'].CGraphicEl = CGraphicEl; + window['AscFormat'].CIndexRg = CIndexRg; + window['AscFormat'].CTmpl = CTmpl; + window['AscFormat'].CAnim = CAnim; + window['AscFormat'].CCBhvr = CCBhvr; + window['AscFormat'].CCTn = CCTn; + window['AscFormat'].CCond = CCond; + window['AscFormat'].CRtn = CRtn; + window['AscFormat'].CTgtEl = CTgtEl; + window['AscFormat'].CSndTgt = CSndTgt; + window['AscFormat'].CSpTgt = CSpTgt; + window['AscFormat'].CIterateData = CIterateData; + window['AscFormat'].CTm = CTm; + window['AscFormat'].CTav = CTav; + window['AscFormat'].CAnimVariant = CAnimVariant; + window['AscFormat'].CAnimClr = CAnimClr; + window['AscFormat'].CAnimEffect = CAnimEffect; + window['AscFormat'].CAnimMotion = CAnimMotion; + window['AscFormat'].CAnimRot = CAnimRot; + window['AscFormat'].CAnimScale = CAnimScale; + window['AscFormat'].CAudio = CAudio; + window['AscFormat'].CCMediaNode = CCMediaNode; + window['AscFormat'].CCmd = CCmd; + window['AscFormat'].CTimeNodeContainer = CTimeNodeContainer; + window['AscFormat'].CPar = CPar; + window['AscFormat'].CExcl = CExcl; + window['AscFormat'].CSeq = CSeq; + window['AscFormat'].CSet = CSet; + window['AscFormat'].CVideo = CVideo; + window['AscFormat'].COleChartEl = COleChartEl; + window['AscFormat'].CTLPoint = CTLPoint; + window['AscFormat'].CSndAc = CSndAc; + window['AscFormat'].CStSnd = CStSnd; + window['AscFormat'].CTxEl = CTxEl; + window['AscFormat'].CWheel = CWheel; + window['AscFormat'].CAttrName = CAttrName; })(window); From 7f41cdd97448dddaf4e57c7e6f4c7676c59e033a Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Thu, 29 Apr 2021 15:12:15 +0300 Subject: [PATCH 278/381] [se] Fix bug 49958 --- common/wordcopypaste.js | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/common/wordcopypaste.js b/common/wordcopypaste.js index aed7db3b8a..2de7063fb3 100644 --- a/common/wordcopypaste.js +++ b/common/wordcopypaste.js @@ -261,7 +261,7 @@ CopyProcessor.prototype = sB = "0" + sB; return "#" + sR + sG + sB; }, - Commit_pPr : function(Item, Para) + Commit_pPr : function(Item, Para, nextElem) { //pPr var apPr = []; @@ -346,7 +346,21 @@ CopyProcessor.prototype = if(null != Item_pPr.Brd) { apPr.push("border:none"); - var borderStyle = this._BordersToStyle(Item_pPr.Brd, false, true, "mso-", "-alt"); + + //сравниваю бордеры со следующим параграфом + var isNeedPrefix = true; + if (Item && type_Paragraph === Item.GetType() && Item.IsTableCellContent && !Item.IsTableCellContent()) { + isNeedPrefix = false; + if (nextElem && type_Paragraph === nextElem.GetType()) { + isNeedPrefix = true; + var Next_pPr = nextElem.CompiledPr && nextElem.CompiledPr.Pr && nextElem.CompiledPr.Pr.ParaPr ? nextElem.CompiledPr.Pr.ParaPr : nextElem.Pr; + if (Next_pPr && Item_pPr && !nextElem.private_CompareBorderSettings(Next_pPr, Item_pPr)) { + isNeedPrefix = false; + } + } + } + + var borderStyle = this._BordersToStyle(Item_pPr.Brd, false, true, isNeedPrefix ? "mso-" : null, isNeedPrefix ? "-alt" : null); if(null != borderStyle) { var nborderStyleLength = borderStyle.length; @@ -556,7 +570,7 @@ CopyProcessor.prototype = this.CopyRunContent(item, oTarget); } }, - CopyParagraph : function(oDomTarget, Item, selectedAll) + CopyParagraph : function(oDomTarget, Item, selectedAll, nextElem) { var oDocument = this.oDocument; var Para = null; @@ -675,7 +689,7 @@ CopyProcessor.prototype = } } //pPr - this.Commit_pPr(Item, Para); + this.Commit_pPr(Item, Para, nextElem); if(false === selectedAll) { @@ -1120,11 +1134,19 @@ CopyProcessor.prototype = { var SelectedAll = Index === elementsContent.length - 1 ? elementsContent[Index].SelectedAll : true; //todo может только для верхнего уровня надо Index == End - if(!dNotGetBinary) + if (!dNotGetBinary) { this.oBinaryFileWriter.CopyParagraph(Item, SelectedAll); - - if(!this.onlyBinaryCopy) - this.CopyParagraph(oDomTarget, Item, SelectedAll); + } + + if (!this.onlyBinaryCopy) { + var _nextElem; + if (elementsContent[Index + 1] && elementsContent[Index + 1].Element) { + _nextElem = elementsContent[Index + 1].Element; + } else { + _nextElem = elementsContent[Index + 1]; + } + this.CopyParagraph(oDomTarget, Item, SelectedAll, _nextElem); + } } else if(type_BlockLevelSdt === Item.GetType() ) { From 71620ab98af0d0278f99bd9a4bee8800b9e63cfe Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 29 Apr 2021 18:22:45 +0300 Subject: [PATCH 279/381] Fix bug 50113 (#1895) --- cell/model/DrawingObjects/DrawingDocument.js | 199 ++++++++++--------- cell/native/DrawingDocument.js | 3 - common/editorscommon.js | 15 +- slide/Drawing/DrawingDocument.js | 35 ++-- word/Drawing/DrawingDocument.js | 51 +++-- 5 files changed, 170 insertions(+), 133 deletions(-) diff --git a/cell/model/DrawingObjects/DrawingDocument.js b/cell/model/DrawingObjects/DrawingDocument.js index 0c3e312d89..7f084344a8 100644 --- a/cell/model/DrawingObjects/DrawingDocument.js +++ b/cell/model/DrawingObjects/DrawingDocument.js @@ -142,7 +142,6 @@ function CDrawingDocument() this.SelectionMatrix = null; this.GuiCanvasTextProps = null; - this.GuiCanvasTextPropsId = "gui_textprops_canvas_id"; this.GuiLastTextProps = null; this.TableStylesLastLook = null; @@ -697,6 +696,7 @@ function CDrawingDocument() if (this.IsTextMatrixUse) { ctx.globalAlpha = 1.0; + ctx.lineWidth = Math.round(AscCommon.AscBrowser.retinaPixelRatio); ctx.stroke(); } @@ -715,16 +715,10 @@ function CDrawingDocument() } if (null == this.SelectionMatrix) this.SelectionMatrix = this.TextMatrix; - /* if (pageIndex < this.m_lDrawingFirst || pageIndex > this.m_lDrawingEnd) - { - return; - } */ - // var page = this.m_arrPages[pageIndex]; - // var drawPage = page.drawingPage; - - var dKoefX = drawingObjects.convertMetric(1, 3, 0);//(drawPage.right - drawPage.left) / page.width_mm; - var dKoefY = dKoefX;//(drawPage.bottom - drawPage.top) / page.height_mm; + var dKoefX = drawingObjects.convertMetric(1, 3, 0); + var dKoefY = dKoefX; + var indent = 0.5 * Math.round(AscCommon.AscBrowser.retinaPixelRatio); var _offX = 0; var _offY = 0; @@ -734,55 +728,70 @@ function CDrawingDocument() _offY = this.AutoShapesTrack.Graphics.m_oCoordTransform.ty; } - if (!this.IsTextMatrixUse) - { - var _x = ((_offX + dKoefX * x) >> 0) - 0.5; - var _y = ((_offY + dKoefY * y) >> 0) - 0.5; + if (null == this.TextMatrix || global_MatrixTransformer.IsIdentity(this.TextMatrix)) + { + var _x = ((_offX + dKoefX * x + indent) >> 0) - indent; + var _y = ((_offY + dKoefY * y + indent) >> 0) - indent; - var _w = (dKoefX * w + 1) >> 0; - var _h = (dKoefY * h + 1) >> 0; + var _w = (dKoefX * w + 1) >> 0; + var _h = (dKoefY * h + 1) >> 0; - this.Overlay.CheckRect(_x, _y, _w, _h); - this.Overlay.m_oContext.rect(_x,_y,_w,_h); - } - else - { - var _x1 = this.TextMatrix.TransformPointX(x, y); - var _y1 = this.TextMatrix.TransformPointY(x, y); + this.Overlay.CheckRect(_x, _y, _w, _h); + this.Overlay.m_oContext.rect(_x,_y,_w,_h); + } + else + { + var _x1 = this.TextMatrix.TransformPointX(x, y); + var _y1 = this.TextMatrix.TransformPointY(x, y); - var _x2 = this.TextMatrix.TransformPointX(x + w, y); - var _y2 = this.TextMatrix.TransformPointY(x + w, y); + var _x2 = this.TextMatrix.TransformPointX(x + w, y); + var _y2 = this.TextMatrix.TransformPointY(x + w, y); - var _x3 = this.TextMatrix.TransformPointX(x + w, y + h); - var _y3 = this.TextMatrix.TransformPointY(x + w, y + h); + var _x3 = this.TextMatrix.TransformPointX(x + w, y + h); + var _y3 = this.TextMatrix.TransformPointY(x + w, y + h); - var _x4 = this.TextMatrix.TransformPointX(x, y + h); - var _y4 = this.TextMatrix.TransformPointY(x, y + h); + var _x4 = this.TextMatrix.TransformPointX(x, y + h); + var _y4 = this.TextMatrix.TransformPointY(x, y + h); - var x1 = _offX + dKoefX * _x1; - var y1 = _offY + dKoefY * _y1; + var x1 = _offX + dKoefX * _x1; + var y1 = _offY + dKoefY * _y1; - var x2 = _offX + dKoefX * _x2; - var y2 = _offY + dKoefY * _y2; + var x2 = _offX + dKoefX * _x2; + var y2 = _offY + dKoefY * _y2; - var x3 = _offX + dKoefX * _x3; - var y3 = _offY + dKoefY * _y3; + var x3 = _offX + dKoefX * _x3; + var y3 = _offY + dKoefY * _y3; - var x4 = _offX + dKoefX * _x4; - var y4 = _offY + dKoefY * _y4; + var x4 = _offX + dKoefX * _x4; + var y4 = _offY + dKoefY * _y4; - this.Overlay.CheckPoint(x1, y1); - this.Overlay.CheckPoint(x2, y2); - this.Overlay.CheckPoint(x3, y3); - this.Overlay.CheckPoint(x4, y4); + if (global_MatrixTransformer.IsIdentity2(this.TextMatrix)) + { + x1 = (x1 >> 0) + indent; + y1 = (y1 >> 0) + indent; - var ctx = this.Overlay.m_oContext; - ctx.moveTo(x1, y1); - ctx.lineTo(x2, y2); - ctx.lineTo(x3, y3); - ctx.lineTo(x4, y4); - ctx.closePath(); - } + x2 = (x2 >> 0) + indent; + y2 = (y2 >> 0) + indent; + + x3 = (x3 >> 0) + indent; + y3 = (y3 >> 0) + indent; + + x4 = (x4 >> 0) + indent; + y4 = (y4 >> 0) + indent; + } + + this.Overlay.CheckPoint(x1, y1); + this.Overlay.CheckPoint(x2, y2); + this.Overlay.CheckPoint(x3, y3); + this.Overlay.CheckPoint(x4, y4); + + var ctx = this.Overlay.m_oContext; + ctx.moveTo(x1, y1); + ctx.lineTo(x2, y2); + ctx.lineTo(x3, y3); + ctx.lineTo(x4, y4); + ctx.closePath(); + } }; this.SelectShow = function() @@ -1069,50 +1078,55 @@ function CDrawingDocument() this.InitGuiCanvasTextProps = function(div_id) { - var _div_elem = document.getElementById(div_id); - if (null != this.GuiCanvasTextProps) - { - var elem = _div_elem.getElementsByTagName('canvas'); - if (elem.length == 0) - { - _div_elem.appendChild(this.GuiCanvasTextProps); - } - else - { - var _width = parseInt(_div_elem.offsetWidth); - var _height = parseInt(_div_elem.offsetHeight); - if (0 == _width) - _width = 300; - if (0 == _height) - _height = 80; - - if (this.GuiCanvasTextProps.width != _width || this.GuiCanvasTextProps.height != _height) - { - this.GuiCanvasTextProps.width = _width; - this.GuiCanvasTextProps.height = _height; - } - } - } - else - { - this.GuiCanvasTextProps = document.createElement('canvas'); - this.GuiCanvasTextProps.style.position = "absolute"; - this.GuiCanvasTextProps.style.left = "0px"; - this.GuiCanvasTextProps.style.top = "0px"; - this.GuiCanvasTextProps.id = this.GuiCanvasTextPropsId; - - var _width = parseInt(_div_elem.offsetWidth); - var _height = parseInt(_div_elem.offsetHeight); - if (0 == _width) - _width = 300; - if (0 == _height) - _height = 80; - - this.GuiCanvasTextProps.width = _width; - this.GuiCanvasTextProps.height = _height; - - _div_elem.appendChild(this.GuiCanvasTextProps); - } + var _div_elem = document.getElementById(div_id); + if (null != this.GuiCanvasTextProps) + { + var elem = _div_elem.getElementsByTagName('canvas'); + if (elem.length == 0) + { + _div_elem.appendChild(this.GuiCanvasTextProps); + } + else + { + var _width = parseInt(_div_elem.offsetWidth); + var _height = parseInt(_div_elem.offsetHeight); + if (0 == _width) + _width = 300; + if (0 == _height) + _height = 80; + + this.GuiCanvasTextProps.style.width = _width + "px"; + this.GuiCanvasTextProps.style.height = _height + "px"; + } + + var old_width = this.GuiCanvasTextProps.width; + var old_height = this.GuiCanvasTextProps.height; + AscCommon.calculateCanvasSize(this.GuiCanvasTextProps); + + if (old_width !== this.GuiCanvasTextProps.width || old_height !== this.GuiCanvasTextProps.height) + this.GuiLastTextProps = null; + } + else + { + this.GuiCanvasTextProps = document.createElement('canvas'); + this.GuiCanvasTextProps.style.position = "absolute"; + this.GuiCanvasTextProps.style.left = "0px"; + this.GuiCanvasTextProps.style.top = "0px"; + + var _width = parseInt(_div_elem.offsetWidth); + var _height = parseInt(_div_elem.offsetHeight); + if (0 == _width) + _width = 300; + if (0 == _height) + _height = 80; + + this.GuiCanvasTextProps.style.width = _width + "px"; + this.GuiCanvasTextProps.style.height = _height + "px"; + + AscCommon.calculateCanvasSize(this.GuiCanvasTextProps); + + _div_elem.appendChild(this.GuiCanvasTextProps); + } }; this.InitGuiCanvasTextArt = function(div_id) @@ -1237,6 +1251,7 @@ function CDrawingDocument() par.Pr = _paraPr; var _textPr = new CTextPr(); _textPr.FontFamily = { Name : "Arial", Index : -1 }; + _textPr.FontSize = (AscCommon.AscBrowser.convertToRetinaValue(11 << 1, true) >> 0) * 0.5; _textPr.Strikeout = this.GuiLastTextProps.Strikeout; diff --git a/cell/native/DrawingDocument.js b/cell/native/DrawingDocument.js index ba807a99ac..e31a7b2e4a 100644 --- a/cell/native/DrawingDocument.js +++ b/cell/native/DrawingDocument.js @@ -1618,10 +1618,7 @@ function CDrawingDocument() this.GuiCanvasFillTextureCtxTextArt = null; this.LastDrawingUrlTextArt = ""; - - this.GuiCanvasTextProps = null; - this.GuiCanvasTextPropsId = "gui_textprops_canvas_id"; this.GuiLastTextProps = null; this.TableStylesLastLook = null; diff --git a/common/editorscommon.js b/common/editorscommon.js index e7ea029561..02dcf0189b 100644 --- a/common/editorscommon.js +++ b/common/editorscommon.js @@ -6290,9 +6290,18 @@ var rect = element.getBoundingClientRect(); if (rect.width === 0 && rect.height === 0) { - element.correctionTimeout = setTimeout(function(){ - calculateCanvasSize(element, true); - }, 100); + var isNoVisibleElement = false; + if (element.style.display === "none") + isNoVisibleElement = true; + else if (element.parentNode && element.parentNode.style.display === "none") + isNoVisibleElement = true; + + if (!isNoVisibleElement) + { + element.correctionTimeout = setTimeout(function (){ + calculateCanvasSize(element, true); + }, 100); + } var style_width = parseInt(element.style.width); var style_height = parseInt(element.style.height); diff --git a/slide/Drawing/DrawingDocument.js b/slide/Drawing/DrawingDocument.js index cb3012637c..a92bdf80db 100644 --- a/slide/Drawing/DrawingDocument.js +++ b/slide/Drawing/DrawingDocument.js @@ -1316,37 +1316,42 @@ function CDrawingDocument() } else { - var _width = parseInt(_div_elem.offsetWidth); + var _width = parseInt(_div_elem.offsetWidth); var _height = parseInt(_div_elem.offsetHeight); if (0 == _width) _width = 300; if (0 == _height) _height = 80; - if (this.GuiCanvasTextProps.width != _width || this.GuiCanvasTextProps.height != _height) - { - this.GuiCanvasTextProps.width = _width; - this.GuiCanvasTextProps.height = _height; - } + this.GuiCanvasTextProps.style.width = _width + "px"; + this.GuiCanvasTextProps.style.height = _height + "px"; } + + var old_width = this.GuiCanvasTextProps.width; + var old_height = this.GuiCanvasTextProps.height; + AscCommon.calculateCanvasSize(this.GuiCanvasTextProps); + + if (old_width !== this.GuiCanvasTextProps.width || old_height !== this.GuiCanvasTextProps.height) + this.GuiLastTextProps = null; } else { - this.GuiCanvasTextProps = document.createElement('canvas'); + this.GuiCanvasTextProps = document.createElement('canvas'); this.GuiCanvasTextProps.style.position = "absolute"; - this.GuiCanvasTextProps.style.left = "0px"; - this.GuiCanvasTextProps.style.top = "0px"; - this.GuiCanvasTextProps.id = this.GuiCanvasTextPropsId; + this.GuiCanvasTextProps.style.left = "0px"; + this.GuiCanvasTextProps.style.top = "0px"; - var _width = parseInt(_div_elem.offsetWidth); + var _width = parseInt(_div_elem.offsetWidth); var _height = parseInt(_div_elem.offsetHeight); if (0 == _width) _width = 300; if (0 == _height) _height = 80; - this.GuiCanvasTextProps.width = _width; - this.GuiCanvasTextProps.height = _height; + this.GuiCanvasTextProps.style.width = _width + "px"; + this.GuiCanvasTextProps.style.height = _height + "px"; + + AscCommon.calculateCanvasSize(this.GuiCanvasTextProps); _div_elem.appendChild(this.GuiCanvasTextProps); } @@ -1437,6 +1442,7 @@ function CDrawingDocument() par.Set_Pr(new CParaPr()); var _textPr = new CTextPr(); _textPr.FontFamily = {Name : "Arial", Index : -1}; + _textPr.FontSize = (AscCommon.AscBrowser.convertToRetinaValue(11 << 1, true) >> 0) * 0.5; _textPr.Strikeout = this.GuiLastTextProps.Strikeout; @@ -2329,7 +2335,7 @@ function CDrawingDocument() if (pageIndex < 0 || pageIndex != this.SlideCurrent || Math.abs(width) < 0.001 || Math.abs(height) < 0.001) return; - var dPR = window.devicePixelRatio; + var dPR = AscCommon.AscBrowser.retinaPixelRatio; var xDst = this.SlideCurrectRect.left * dPR; var yDst = this.SlideCurrectRect.top * dPR; var wDst = (this.SlideCurrectRect.right - this.SlideCurrectRect.left) * dPR; @@ -2416,7 +2422,6 @@ function CDrawingDocument() overlay.CheckPoint(x4, y4); var ctx = overlay.m_oContext; - ctx.lineWidth = Math.round(dPR); ctx.moveTo(x1, y1); ctx.lineTo(x2, y2); ctx.lineTo(x3, y3); diff --git a/word/Drawing/DrawingDocument.js b/word/Drawing/DrawingDocument.js index 52b3dde652..4206c617e5 100644 --- a/word/Drawing/DrawingDocument.js +++ b/word/Drawing/DrawingDocument.js @@ -2168,7 +2168,6 @@ function CDrawingDocument() this.LastDrawingUrl = ""; this.GuiCanvasTextProps = null; - this.GuiCanvasTextPropsId = "gui_textprops_canvas_id"; this.GuiLastTextProps = null; this.GuiCanvasFillTOCParentId = ""; @@ -4529,7 +4528,7 @@ function CDrawingDocument() if (this.IsTextMatrixUse && this.IsTextSelectionOutline) { ctx.strokeStyle = "#9ADBFE"; - ctx.lineWidth = Math.round(window.devicePixelRatio); + ctx.lineWidth = Math.round(AscCommon.AscBrowser.retinaPixelRatio); ctx.globalAlpha = 1.0; ctx.stroke(); } @@ -6536,8 +6535,8 @@ function CDrawingDocument() var ctx = canvas.getContext("2d"); - if (AscCommon.AscBrowser.retinaPixelRatio >= 2) - ctx.setTransform(2, 0, 0, 2, 0, 0); + var rPR = AscCommon.AscBrowser.retinaPixelRatio; + var offset = 10; var page_width_mm = props.W; @@ -6604,29 +6603,41 @@ function CDrawingDocument() ctx.fillStyle = "#FFFFFF"; ctx.strokeStyle = "#000000"; - ctx.lineWidth = 1; + ctx.lineWidth = Math.round(rPR); + var indent = 0.5 * Math.round(rPR); + + var __move = function(ctx, x, y) { + ctx.moveTo(((x * rPR) >> 0) + indent, ((y * rPR) >> 0) + indent); + }; + var __line = function(ctx, x, y) { + ctx.lineTo(((x * rPR) >> 0) + indent, ((y * rPR) >> 0) + indent); + }; + var __rect = function(ctx, x, y, w, h) { + ctx.rect(((x * rPR) >> 0) + indent, ((y * rPR) >> 0) + indent, w * rPR, h * rPR); + }; + for (var page = 0; page < pageRects.length; page++) { // page ctx.beginPath(); - ctx.rect(pageRects[page].X + 0.5, pageRects[page].Y + 0.5, pageRects[page].W, pageRects[page].H); + __rect(ctx, pageRects[page].X, pageRects[page].Y, pageRects[page].W, pageRects[page].H); ctx.fill(); ctx.stroke(); // gutter if (gutterSize > 0) { - ctx.setLineDash([2, 2]); + ctx.setLineDash([Math.round(2 * rPR), Math.round(2 * rPR)]); var gutterEvenOdd = 0; switch (gutterPos) { case 0: { - var x = pageRects[page].X + 0.5; + var x = pageRects[page].X; for (var i = 0; i < gutterSize; i++) { - ctx.moveTo(x + i, pageRects[page].Y + gutterEvenOdd); - ctx.lineTo(x + i, pageRects[page].Y + pageRects[page].H); + __move(ctx, x + i, pageRects[page].Y + gutterEvenOdd); + __line(ctx, x + i, pageRects[page].Y + pageRects[page].H); ctx.stroke(); ctx.beginPath(); gutterEvenOdd = (0 === gutterEvenOdd) ? 2 : 0; @@ -6635,11 +6646,11 @@ function CDrawingDocument() } case 1: { - var x = pageRects[page].X + pageRects[page].W - 0.5; + var x = pageRects[page].X + pageRects[page].W; for (var i = 0; i < gutterSize; i++) { - ctx.moveTo(x - i, pageRects[page].Y + gutterEvenOdd); - ctx.lineTo(x - i, pageRects[page].Y + pageRects[page].H); + __move(ctx, x - i, pageRects[page].Y + gutterEvenOdd); + __line(ctx, x - i, pageRects[page].Y + pageRects[page].H); ctx.stroke(); ctx.beginPath(); gutterEvenOdd = (0 === gutterEvenOdd) ? 2 : 0; @@ -6648,11 +6659,11 @@ function CDrawingDocument() } case 2: { - var y = pageRects[page].Y + 0.5; + var y = pageRects[page].Y; for (var i = 0; i < gutterSize; i++) { - ctx.moveTo(pageRects[page].X + gutterEvenOdd, y + i); - ctx.lineTo(pageRects[page].X + pageRects[page].W, y + i); + __move(ctx, pageRects[page].X + gutterEvenOdd, y + i); + __line(ctx, pageRects[page].X + pageRects[page].W, y + i); ctx.stroke(); ctx.beginPath(); gutterEvenOdd = (0 === gutterEvenOdd) ? 2 : 0; @@ -6718,22 +6729,22 @@ function CDrawingDocument() var cur = t; while (cur < b) { - ctx.moveTo(lf, cur + 0.5); ctx.lineTo(r, cur + 0.5); + __move(ctx, lf, cur); __line(ctx, r, cur); cur += 2; if (cur >= b) break; - ctx.moveTo(l, cur + 0.5); ctx.lineTo(r, cur + 0.5); + __move(ctx, l, cur); __line(ctx, r, cur); cur += 2; if (cur >= b) break; - ctx.moveTo(l, cur + 0.5); ctx.lineTo(r, cur + 0.5); + __move(ctx, l, cur); __line(ctx, r, cur); cur += 2; if (cur >= b) break; - ctx.moveTo(l, cur + 0.5); ctx.lineTo(rf, cur + 0.5); + __move(ctx, l, cur); __line(ctx, rf, cur); cur += 6; } From 8f8580600444b6779622c1a224bd8b6f5945273d Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 29 Apr 2021 19:02:21 +0300 Subject: [PATCH 280/381] Fix/bug50134 (#1896) * Fix bug 50134 * . --- word/Drawing/documentrenderer.js | 37 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/word/Drawing/documentrenderer.js b/word/Drawing/documentrenderer.js index a113047803..de347b4fd0 100644 --- a/word/Drawing/documentrenderer.js +++ b/word/Drawing/documentrenderer.js @@ -1991,25 +1991,26 @@ CDocMeta.prototype = // â ïðèíöèïå êîä îäèí è òîò æå. Íî ïî÷òè âñåãäà ëèíèè ãîðèçîíòàëüíûå. // à äëÿ ãîðèçîíòàëüíîé ëèíèè âñå ìîæíî ïîîïòèìèçèðîâàòü + + var rPR = AscCommon.AscBrowser.retinaPixelRatio; if (_lineEx == 1 && _lineEy == 0) { - var _x = parseInt(xDst + dKoefX * (_lineX + off1)) - 0.5; - var _y = parseInt(yDst + dKoefY * (_lineY - _lineAscent)) - 0.5; - - var _w = parseInt(dKoefX * (off2 - off1)) + 1; - var _h = parseInt(dKoefY * (_lineAscent + _lineDescent)) + 1; + var _x = (rPR * (xDst + dKoefX * (_lineX + off1))) >> 0; + var _r = (rPR * (xDst + dKoefX * (_lineX + off2))) >> 0; + var _y = (rPR * (yDst + dKoefY * (_lineY - _lineAscent))) >> 0; + var _b = (rPR * (yDst + dKoefY * (_lineY + _lineDescent))) >> 0; if (_x < overlay.min_x) overlay.min_x = _x; - if ((_x + _w) > overlay.max_x) - overlay.max_x = _x + _w; + if (_r > overlay.max_x) + overlay.max_x = _r; if (_y < overlay.min_y) overlay.min_y = _y; - if ((_y + _h) > overlay.max_y) - overlay.max_y = _y + _h; + if (_b > overlay.max_y) + overlay.max_y = _b; - overlay.m_oContext.rect(_x,_y,_w,_h); + overlay.m_oContext.rect(_x,_y,_r-_x,_b-_y); } else { @@ -2032,15 +2033,15 @@ CDocMeta.prototype = var _x4 = _x3 + ortX * (_lineAscent + _lineDescent); var _y4 = _y3 + ortY * (_lineAscent + _lineDescent); - _x1 = xDst + dKoefX * _x1; - _x2 = xDst + dKoefX * _x2; - _x3 = xDst + dKoefX * _x3; - _x4 = xDst + dKoefX * _x4; + _x1 = rPR * (xDst + dKoefX * _x1); + _x2 = rPR * (xDst + dKoefX * _x2); + _x3 = rPR * (xDst + dKoefX * _x3); + _x4 = rPR * (xDst + dKoefX * _x4); - _y1 = yDst + dKoefY * _y1; - _y2 = yDst + dKoefY * _y2; - _y3 = yDst + dKoefY * _y3; - _y4 = yDst + dKoefY * _y4; + _y1 = rPR * (yDst + dKoefY * _y1); + _y2 = rPR * (yDst + dKoefY * _y2); + _y3 = rPR * (yDst + dKoefY * _y3); + _y4 = rPR * (yDst + dKoefY * _y4); overlay.CheckPoint(_x1, _y1); overlay.CheckPoint(_x2, _y2); From fef1cb78a7b70b8b66dcf36457d9e0824cb1d4d3 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 29 Apr 2021 19:08:46 +0300 Subject: [PATCH 281/381] [bug] For bug 49932: remove animation for smart-art elements to avoid broken files --- slide/Editor/Format/Timing.js | 40 ++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/slide/Editor/Format/Timing.js b/slide/Editor/Format/Timing.js index 0e20b1acac..943e216128 100644 --- a/slide/Editor/Format/Timing.js +++ b/slide/Editor/Format/Timing.js @@ -377,6 +377,11 @@ if(AscCommon.isRealObject(oObjectsMap[this.spid])){ this.setSpid(oObjectsMap[this.spid].Id); } + else { + if(this.parent) { + this.parent.onRemoveChild(this); + } + } }; CObjectTarget.prototype.fillObject = function(oCopy, oIdMap) { var sSpId = this.spid; @@ -417,9 +422,15 @@ }; CBldBase.prototype.assignConnection = function(oObjectsMap) { - if(AscCommon.isRealObject(oObjectsMap[this.spid])){ + if(AscCommon.isRealObject(oObjectsMap[this.spid]) && + (oObjectsMap[this.spid].getObjectType && oObjectsMap[this.spid].getObjectType() === AscDFH.historyitem_type_ChartSpace)) { this.setSpid(oObjectsMap[this.spid].Id); } + else { + if(this.parent) { + this.parent.onRemoveChild(this); + } + } }; CBldBase.prototype.setUiExpand = function(pr) { oHistory.Add(new CChangeBool(this, AscDFH.historyitem_BldBaseUIExpand, this.uiExpand, pr)); @@ -829,6 +840,11 @@ if(AscCommon.isRealObject(oObjectsMap[this.spid])){ this.setSpid(oObjectsMap[this.dgmId].Id); } + else { + if(this.parent) { + this.parent.onRemoveChild(this); + } + } }; CGraphicEl.prototype.setDgmBuildStep = function(pr) { oHistory.Add(new CChangeLong(this, AscDFH.historyitem_GraphicElDgmBuildStep, this.dgmBuildStep, pr)); @@ -2011,11 +2027,25 @@ this.subSpId = pr; }; CSpTgt.prototype.assignConnection = function(oObjectsMap) { - if(AscCommon.isRealObject(oObjectsMap[this.spid])){ - this.setSpid(oObjectsMap[this.spid].Id); + if(this.spid !== null) { + if(AscCommon.isRealObject(oObjectsMap[this.spid])){ + this.setSpid(oObjectsMap[this.spid].Id); + } + else { + if(this.parent) { + this.parent.onRemoveChild(this); + } + } } - if(AscCommon.isRealObject(oObjectsMap[this.subSpId])){ - this.setSubSpId(oObjectsMap[this.subSpId].Id); + if(this.subSpId !== null) { + if(AscCommon.isRealObject(oObjectsMap[this.subSpId])){ + this.setSubSpId(oObjectsMap[this.subSpId].Id); + } + else { + if(this.parent) { + this.parent.onRemoveChild(this); + } + } } }; CSpTgt.prototype.setTxEl = function(pr) { From 3676e38062d37cd28d780c58e91360c9563b5a83 Mon Sep 17 00:00:00 2001 From: Natalia Date: Thu, 29 Apr 2021 17:03:36 +0300 Subject: [PATCH 282/381] builder: some changes for the property descriptions --- cell/apiBuilder.js | 111 +++++++++++++++++++++++---------------------- 1 file changed, 56 insertions(+), 55 deletions(-) diff --git a/cell/apiBuilder.js b/cell/apiBuilder.js index 9bf64fd125..aed149049b 100644 --- a/cell/apiBuilder.js +++ b/cell/apiBuilder.js @@ -42,37 +42,38 @@ } /** + * Base class. * @global * @class * @name Api - * @property {ApiWorksheet[]} Sheets - returns a Sheets collection that represents all the sheets in the active workbook - * @property {ApiWorksheet} ActiveSheet - returns the object that represents the active sheet - * @property {ApiRange} Selection - returns an object that represents the selection range + * @property {Array} Sheets - Returns the Sheets collection that represents all the sheets in the active workbook. + * @property {ApiWorksheet} ActiveSheet - Returns an object that represents the active sheet. + * @property {ApiRange} Selection - Returns an object that represents the selection range. */ var Api = window["Asc"]["spreadsheet_api"]; /** * Class representing a sheet. * @constructor - * @property {bool} Visible - returns or sets visible of sheet - * @property {number} Active - makes the current sheet the active sheet - * @property {ApiRange} ActiveCell - returns an object that represents the active cell - * @property {ApiRange} Selection - returns an object that represents the selection range - * @property {ApiRange} Cells - returns a ApiRange that represents all the cells on the worksheet (not just the cells that are currently in use) - * @property {ApiRange} Rows - returns a ApiRange that represents all the cells on the rows range - * @property {ApiRange} Cols - returns a ApiRange that represents all the cells on the columns range - * @property {ApiRange} UsedRange - returns a ApiRange that represents the used range on the specified worksheet - * @property {string} Name - returns or sets a name to the current active sheet - * @property {number} Index - returns sheet index - * @property {number} LeftMargin - returns or sets left margin sheet in points - * @property {number} RightMargin - returns or sets right margin sheet in points - * @property {number} TopMargin - returns or sets top margin sheet in points - * @property {number} BottomMargin - returns or sets bottom margin sheet in points - * @property {PageOrientation} PageOrientation - returns or set page orientation - * @property {bool} PrintHeadings - returns or sets page PrintHeadings property - * @property {bool} PrintGridlines - returns or sets page PrintGridlines property - * @property {ApiName[]} Defnames - returns array a ApiName - * @property {ApiComment[]} Comments - returns a ApiComment + * @property {bool} Visible - Returns or sets the state of sheet visibility. + * @property {number} Active - Makes the current sheet the active sheet. + * @property {ApiRange} ActiveCell - Returns an object that represents the active cell. + * @property {ApiRange} Selection - Returns an object that represents the selection range. + * @property {ApiRange} Cells - Returns ApiRange that represents all the cells on the worksheet (not just the cells that are currently in use). + * @property {ApiRange} Rows - Returns ApiRange that represents all the cells of the rows range. + * @property {ApiRange} Cols - Returns ApiRange that represents all the cells of the columns range. + * @property {ApiRange} UsedRange - Returns ApiRange that represents the used range on the specified worksheet. + * @property {string} Name - Returns or sets a name of the active sheet. + * @property {number} Index - Returns a sheet index. + * @property {number} LeftMargin - Returns or sets the size of the sheet left margin measured in points. + * @property {number} RightMargin - Returns or sets the size of the sheet right margin measured in points. + * @property {number} TopMargin - Returns or sets the size of the sheet top margin measured in points. + * @property {number} BottomMargin - Returns or sets the size of the sheet bottom margin measured in points. + * @property {PageOrientation} PageOrientation - Returns or sets the page orientation. + * @property {bool} PrintHeadings - Returns or sets the page PrintHeadings property. + * @property {bool} PrintGridlines - Returns or sets the page PrintGridlines property. + * @property {Array} Defnames - Returns an array of the ApiName objects. + * @property {Array} Comments - Returns an array of the ApiComment objects. */ function ApiWorksheet(worksheet) { this.worksheet = worksheet; @@ -81,33 +82,33 @@ /** * Class representing a range. * @constructor - * @property {number} Row - returns the number of the row for the selected cell - * @property {number} Col - returns the number of the column for the selected cell - * @property {ApiRange} Rows - returns a Range object that represents the rows in the specified range - * @property {number} Count - returns count rows or columns - * @property {string} Value - returns the formula of the first cell in range - * @property {string} Formula - returns or sets the formula of the first cell in range - * @property {string} Value2 - returns or sets the value2 of the first cell in range - * @property {string} Text - returns or sets the text of the first cell in range - * @property {ApiColor} FontColor - sets the text color for the current cell range with the previously created color object - * @property {bool} Hidden - returns or sets hidden value - * @property {number} ColumnWidth - returns or sets the width of all columns in the specified range - * @property {number} Width - returns a value that represents the width of a range in points - * @property {number} RowHeight - returns or sets the height of the first row in the range specified, measured in points - * @property {number} Height - returns a value that represents the height, in points, of the range - * @property {number} FontSize - sets the font size for the characters of the current cell range - * @property {string} FontName - sets the specified font family as the font name for the current cell range - * @property {'center' | 'bottom' | 'top' | 'distributed' | 'justify'} AlignVertical - sets the vertical alignment of the text in the current cell range - * @property {'left' | 'right' | 'center' | 'justify'} AlignHorizontal - sets the horizontal alignment of the text in the current cell range - * @property {bool} Bold - sets the bold property to the text characters in the current cell or cell range - * @property {'none' | 'single' | 'singleAccounting' | 'double' | 'doubleAccounting'} Underline - sets the type of underline applied to the font - * @property {bool} Strikeout - sets a value that indicates whether this Font specifies a horizontal line through the font - * @property {ApiColor|'No Fill'} FillColor - returns or sets the background color for the current cell range - * @property {string} NumberFormat - sets a variant value that represents the format code for the object - * @property {ApiRange} MergeArea - returns one cell or cells from the megre area - * @property {ApiWorksheet} Worksheet - returns a Worksheet object that represents the worksheet containing the specified range - * @property {ApiName} DefName - returns a ApiName - * @property {ApiComment | null} Comments - returns a ApiComment collection that represents all the comments for the specified worksheet + * @property {number} Row - Returns the row number for the selected cell. + * @property {number} Col - Returns the column number for the selected cell. + * @property {ApiRange} Rows - Returns the ApiRange object that represents the rows of the specified range. + * @property {number} Count - Returns the rows or columns count. + * @property {string} Value - Returns the value from the first cell of the specified range or sets it to this cell. + * @property {string} Formula - Returns the formula from the first cell of the specified range or sets it to this cell. + * @property {string} Value2 - Returns the value2 (value without format) from the first cell of the specified range or sets it to this cell. + * @property {string} Text - Returns the text from the first cell of the specified range or sets it to this cell. + * @property {ApiColor} FontColor - Sets the text color to the current cell range with the previously created color object. + * @property {bool} Hidden - Returns or sets the value hiding property. + * @property {number} ColumnWidth - Returns or sets the width of all the columns in the specified range measured in points. + * @property {number} Width - Returns a value that represents the range width measured in points. + * @property {number} RowHeight - Returns or sets the height of the first row in the specified range measured in points. + * @property {number} Height - Returns a value that represents the range height measured in points. + * @property {number} FontSize - Sets the font size to the characters of the current cell range. + * @property {string} FontName - Sets the specified font family as the font name for the current cell range. + * @property {'center' | 'bottom' | 'top' | 'distributed' | 'justify'} AlignVertical - Sets the text vertical alignment to the current cell range. + * @property {'left' | 'right' | 'center' | 'justify'} AlignHorizontal - Sets the text horizontal alignment to the current cell range. + * @property {bool} Bold - Sets the bold property to the text characters from the current cell or cell range. + * @property {'none' | 'single' | 'singleAccounting' | 'double' | 'doubleAccounting'} Underline - Sets the type of underline applied to the font. + * @property {bool} Strikeout - Sets a value that indicates whether the contents of the current cell or cell range are displayed struck through. + * @property {ApiColor|'No Fill'} FillColor - Returns or sets the background color of the current cell range. + * @property {string} NumberFormat - Sets a value that represents the format code for the object. + * @property {ApiRange} MergeArea - Returns the cell or cell range from the merge area. + * @property {ApiWorksheet} Worksheet - Returns the ApiWorksheet object that represents the worksheet containing the specified range. + * @property {ApiName} DefName - Returns the ApiName object. + * @property {ApiComment | null} Comments - Returns the ApiComment collection that represents all the comments from the specified worksheet. */ function ApiRange(range) { this.range = range; @@ -212,20 +213,20 @@ } /** - * Class representing a names + * Class representing a name. * @constructor - * @property {string} Name - sets a name to the current active sheet - * @property {string} RefersTo - returns or sets the formula that the name is defined to refer to - * @property {apiRange} RefersToRange - returns an ApiRange object by reference + * @property {string} Name - Sets a name to the active sheet. + * @property {string} RefersTo - Returns or sets the formula that the name is defined to refer to. + * @property {apiRange} RefersToRange - Returns the ApiRange object by reference. */ function ApiName(DefName) { this.DefName = DefName; } /** - * Class representing a comments + * Class representing a comment. * @constructor - * @property {string} Text - returns the text of the first cell in range + * @property {string} Text - Returns the text from the first cell in range. */ function ApiComment(comment) { this.Comment = comment; From 6bb2901dda3c77489adb3957f28aed11e04f4b42 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Fri, 30 Apr 2021 14:37:14 +0300 Subject: [PATCH 283/381] [se] Fix bug 50144 --- common/wordcopypaste.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/common/wordcopypaste.js b/common/wordcopypaste.js index 2de7063fb3..bbbed9a1d1 100644 --- a/common/wordcopypaste.js +++ b/common/wordcopypaste.js @@ -353,8 +353,10 @@ CopyProcessor.prototype = isNeedPrefix = false; if (nextElem && type_Paragraph === nextElem.GetType()) { isNeedPrefix = true; - var Next_pPr = nextElem.CompiledPr && nextElem.CompiledPr.Pr && nextElem.CompiledPr.Pr.ParaPr ? nextElem.CompiledPr.Pr.ParaPr : nextElem.Pr; - if (Next_pPr && Item_pPr && !nextElem.private_CompareBorderSettings(Next_pPr, Item_pPr)) { + var Item_pPrCompile = Item.CompiledPr && Item.CompiledPr.Pr && Item.CompiledPr.Pr.ParaPr; + var Next_pPrCompile = nextElem.Get_CompiledPr2 && nextElem.Get_CompiledPr2(false); + Next_pPrCompile = Next_pPrCompile && Next_pPrCompile.ParaPr; + if (Next_pPrCompile && Item_pPrCompile && !nextElem.private_CompareBorderSettings(Next_pPrCompile, Item_pPrCompile)) { isNeedPrefix = false; } } From f4eb6a9a6ba0abca42247674a966fc9f26bc2a65 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 30 Apr 2021 15:08:26 +0300 Subject: [PATCH 284/381] Fix bug 50142 (#1900) --- common/Overlay.js | 4 ++-- slide/Drawing/DrawingDocument.js | 8 ++++---- slide/Drawing/HtmlPage.js | 3 ++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/common/Overlay.js b/common/Overlay.js index be5ac12bd6..586ef74f0e 100644 --- a/common/Overlay.js +++ b/common/Overlay.js @@ -2928,8 +2928,8 @@ CAutoshapeTrack.prototype = if (overlayNotes) { - dKoefX = AscCommon.g_dKoef_mm_to_pix; - dKoefY = AscCommon.g_dKoef_mm_to_pix; + dKoefX = AscCommon.g_dKoef_mm_to_pix * rPR; + dKoefY = AscCommon.g_dKoef_mm_to_pix * rPR; overlay = overlayNotes; diff --git a/slide/Drawing/DrawingDocument.js b/slide/Drawing/DrawingDocument.js index a92bdf80db..62fd07c7dd 100644 --- a/slide/Drawing/DrawingDocument.js +++ b/slide/Drawing/DrawingDocument.js @@ -2349,10 +2349,10 @@ function CDrawingDocument() if (this.m_oWordControl.IsSupportNotes && this.m_oWordControl.m_oNotesApi && this.m_oLogicDocument.IsFocusOnNotes()) { overlay = this.m_oWordControl.m_oNotesApi.m_oOverlayApi; - xDst = AscCommon.AscBrowser.convertToRetinaValue(this.m_oWordControl.m_oNotesApi.OffsetX); - yDst = -this.m_oWordControl.m_oNotesApi.Scroll; - dKoefX = g_dKoef_mm_to_pix; - dKoefY = g_dKoef_mm_to_pix; + xDst = this.m_oWordControl.m_oNotesApi.OffsetX; + yDst = -dPR * this.m_oWordControl.m_oNotesApi.Scroll; + dKoefX = g_dKoef_mm_to_pix * dPR; + dKoefY = g_dKoef_mm_to_pix * dPR; } if (null == this.TextMatrix || global_MatrixTransformer.IsIdentity(this.TextMatrix)) diff --git a/slide/Drawing/HtmlPage.js b/slide/Drawing/HtmlPage.js index f2da0c5693..8317944853 100644 --- a/slide/Drawing/HtmlPage.js +++ b/slide/Drawing/HtmlPage.js @@ -3462,6 +3462,7 @@ function CEditorPage(api) { ctx.fillStyle = "rgba(51,102,204,255)"; ctx.strokeStyle = "#9ADBFE"; + ctx.lineWidth = Math.round(AscCommon.AscBrowser.retinaPixelRatio); ctx.beginPath(); @@ -3493,6 +3494,7 @@ function CEditorPage(api) var ctxOverlay = overlayNotes.m_oContext; ctxOverlay.fillStyle = "rgba(51,102,204,255)"; ctxOverlay.strokeStyle = "#9ADBFE"; + ctxOverlay.lineWidth = Math.round(AscCommon.AscBrowser.retinaPixelRatio); ctxOverlay.beginPath(); @@ -3504,7 +3506,6 @@ function CEditorPage(api) ctxOverlay.globalAlpha = 1.0; ctxOverlay.stroke(); ctxOverlay.beginPath(); - ctxOverlay.globalAlpha = 1.0; } if (this.MobileTouchManager) From 9c8df705754101c0ab6651d811ed720abf4fc2d2 Mon Sep 17 00:00:00 2001 From: Antipin Nikita Date: Fri, 30 Apr 2021 16:30:15 +0300 Subject: [PATCH 285/381] Fix bug 49395 (#1898) * Fix bug 49395 * Release/v6.3.0 (#1901) * [se] Fix bug 50144 * Fix bug 50142 (#1900) Co-authored-by: GoshaZotov Co-authored-by: Oleg Korshul Co-authored-by: GoshaZotov --- slide/Drawing/HtmlPage.js | 24 +++++++++++++----------- word/Drawing/HtmlPage.js | 28 +++++++++++++++------------- 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/slide/Drawing/HtmlPage.js b/slide/Drawing/HtmlPage.js index 8317944853..c20b045aa8 100644 --- a/slide/Drawing/HtmlPage.js +++ b/slide/Drawing/HtmlPage.js @@ -1523,8 +1523,10 @@ function CEditorPage(api) _ctx.strokeStyle = GlobalSkin.RulerTabsColor; - _ctx.lineWidth = 2 * Math.round(dPR - 0.25); + _ctx.lineWidth = (dPR - Math.floor(dPR) === 0.5) ? 2 * Math.round(dPR) - 1 : 2 * Math.round(dPR); + var tab_width = Math.round(5 * dPR); + var offset = _ctx.lineWidth % 2 === 1 ? 0.5 : 0; var dx = Math.round((rectSize - 2 * Math.round(dPR) - tab_width) / 7 * 4); var dy = Math.round((rectSize - 2 * Math.round(dPR) - tab_width) / 7 * 4); @@ -1533,9 +1535,9 @@ function CEditorPage(api) if (this.m_nTabsType == tab_Left) { - _ctx.moveTo(x, y); - _ctx.lineTo(x, y + tab_width); - _ctx.lineTo(x + tab_width, y + tab_width); + _ctx.moveTo(x + offset, y); + _ctx.lineTo(x + offset, y + tab_width + offset); + _ctx.lineTo(x + tab_width, y + tab_width + offset); } else if (this.m_nTabsType == tab_Center) { @@ -1544,17 +1546,17 @@ function CEditorPage(api) var dx = Math.round((rectSize - Math.round(dPR) - tab_width) / 2); var x = 3 * Math.round(dPR) + dx; var vert_tab_width = Math.round(5 * dPR); - _ctx.moveTo(x, y + vert_tab_width); - _ctx.lineTo(x + tab_width, y + vert_tab_width); - _ctx.moveTo(x + tab_width / 2, y); - _ctx.lineTo(x + tab_width / 2, y + vert_tab_width); + _ctx.moveTo(x , y + vert_tab_width + offset); + _ctx.lineTo(x + tab_width, y + vert_tab_width + offset); + _ctx.moveTo(x - offset + tab_width / 2, y); + _ctx.lineTo(x - offset + tab_width / 2, y + vert_tab_width); } else { var x = 3 * Math.round(dPR) + dx; - _ctx.moveTo(x, tab_width + y); - _ctx.lineTo(x + tab_width, tab_width + y); - _ctx.lineTo(x + tab_width, y); + _ctx.moveTo(x, tab_width + y + offset); + _ctx.lineTo(x + tab_width + offset, tab_width + y + offset); + _ctx.lineTo(x + tab_width + offset, y); } _ctx.stroke(); diff --git a/word/Drawing/HtmlPage.js b/word/Drawing/HtmlPage.js index b889799766..a39760d0f6 100644 --- a/word/Drawing/HtmlPage.js +++ b/word/Drawing/HtmlPage.js @@ -1225,8 +1225,10 @@ function CEditorPage(api) _ctx.strokeStyle = GlobalSkin.RulerTabsColor; - _ctx.lineWidth = 2 * Math.round(dPR - 0.25); + _ctx.lineWidth = (dPR - Math.floor(dPR) === 0.5) ? 2 * Math.round(dPR) - 1 : 2 * Math.round(dPR); + var tab_width = Math.round(5 * dPR); + var offset = _ctx.lineWidth % 2 === 1 ? 0.5 : 0; var dx = Math.round((rectSize - 2 * Math.round(dPR) - tab_width) / 7 * 4); var dy = Math.round((rectSize - 2 * Math.round(dPR) - tab_width) / 7 * 4); @@ -1235,28 +1237,28 @@ function CEditorPage(api) if (this.m_nTabsType == tab_Left) { - _ctx.moveTo(x, y); - _ctx.lineTo(x, y + tab_width); - _ctx.lineTo(x + tab_width, y + tab_width); + _ctx.moveTo(x + offset, y); + _ctx.lineTo(x + offset, y + tab_width + offset); + _ctx.lineTo(x + tab_width, y + tab_width + offset); } else if (this.m_nTabsType == tab_Center) { - tab_width = Math.round(8 * dPR); - tab_width = (tab_width % 2 === 1) ? tab_width - 1 : tab_width; + tab_width = Math.round(8 * dPR); + tab_width = (tab_width % 2 === 1) ? tab_width - 1 : tab_width; var dx = Math.round((rectSize - Math.round(dPR) - tab_width) / 2); var x = 3 * Math.round(dPR) + dx; var vert_tab_width = Math.round(5 * dPR); - _ctx.moveTo(x, y + vert_tab_width); - _ctx.lineTo(x + tab_width, y + vert_tab_width); - _ctx.moveTo(x + tab_width / 2, y); - _ctx.lineTo(x + tab_width / 2, y + vert_tab_width); + _ctx.moveTo(x , y + vert_tab_width + offset); + _ctx.lineTo(x + tab_width, y + vert_tab_width + offset); + _ctx.moveTo(x - offset + tab_width / 2, y); + _ctx.lineTo(x - offset + tab_width / 2, y + vert_tab_width); } else { var x = 3 * Math.round(dPR) + dx; - _ctx.moveTo(x, tab_width + y); - _ctx.lineTo(x + tab_width, tab_width + y); - _ctx.lineTo(x + tab_width, y); + _ctx.moveTo(x, tab_width + y + offset); + _ctx.lineTo(x + tab_width + offset, tab_width + y + offset); + _ctx.lineTo(x + tab_width + offset, y); } _ctx.stroke(); From 9bcc6a4b6f771f72b093b81284340efa8e3d333d Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 28 Apr 2021 19:15:54 +0300 Subject: [PATCH 286/381] Fix bug #50076 Prevent going outside of a form when selection was started inside this form --- word/Editor/Document.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 11760813b7..86eebb2856 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -10690,6 +10690,7 @@ CDocument.prototype.OnMouseDown = function(e, X, Y, PageIndex) var oSelectedContent = this.GetSelectedElementsInfo(); var oInlineSdt = oSelectedContent.GetInlineLevelSdt(); var oBlockSdt = oSelectedContent.GetBlockLevelSdt(); + if ((oInlineSdt && oInlineSdt.IsCheckBox()) || (oBlockSdt && oBlockSdt.IsCheckBox())) { var oCC = (oInlineSdt && oInlineSdt.IsCheckBox()) ? oInlineSdt : oBlockSdt; @@ -10710,6 +10711,11 @@ CDocument.prototype.OnMouseDown = function(e, X, Y, PageIndex) this.UpdateSelection(); } + if (this.IsFillingFormMode() && (oBlockSdt || oInlineSdt)) + { + this.CurPos.CC = oInlineSdt ? oInlineSdt : oBlockSdt; + } + if (e.ClickCount <= 1 && 1 !== this.Selection.DragDrop.Flag) { this.RecalculateCurPos(); @@ -10722,6 +10728,14 @@ CDocument.prototype.OnMouseUp = function(e, X, Y, PageIndex) if (PageIndex < 0) return; + if (this.IsFillingFormMode() && this.CurPos.CC && !this.CurPos.CC.CheckHitInContentControlByXY(X, Y, PageIndex)) + { + if (this.Selection.Start) + this.StopSelection(); + + return; + } + if (this.DrawTableMode.Draw || this.DrawTableMode.Erase) { if (!this.DrawTableMode.Start) @@ -10965,6 +10979,9 @@ CDocument.prototype.OnMouseMove = function(e, X, Y, PageIndex) if (PageIndex < 0) return; + if (this.IsFillingFormMode() && this.CurPos.CC && !this.CurPos.CC.CheckHitInContentControlByXY(X, Y, PageIndex)) + return; + if (this.DrawTableMode.Start && (PageIndex === this.DrawTableMode.Page) && (this.DrawTableMode.Draw || this.DrawTableMode.Erase)) From 5f0a019bd006941319a39edcc967d993e719201e Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 28 Apr 2021 19:48:01 +0300 Subject: [PATCH 287/381] Fix previous commit --- word/Editor/Document.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 86eebb2856..6a4767b300 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -10735,7 +10735,7 @@ CDocument.prototype.OnMouseUp = function(e, X, Y, PageIndex) return; } - + if (this.DrawTableMode.Draw || this.DrawTableMode.Erase) { if (!this.DrawTableMode.Start) @@ -10979,9 +10979,6 @@ CDocument.prototype.OnMouseMove = function(e, X, Y, PageIndex) if (PageIndex < 0) return; - if (this.IsFillingFormMode() && this.CurPos.CC && !this.CurPos.CC.CheckHitInContentControlByXY(X, Y, PageIndex)) - return; - if (this.DrawTableMode.Start && (PageIndex === this.DrawTableMode.Page) && (this.DrawTableMode.Draw || this.DrawTableMode.Erase)) @@ -11026,6 +11023,9 @@ CDocument.prototype.OnMouseMove = function(e, X, Y, PageIndex) return; } + if (this.IsFillingFormMode() && this.CurPos.CC && !this.CurPos.CC.CheckHitInContentControlByXY(X, Y, PageIndex)) + return; + if (true === this.Selection.Use && true === this.Selection.Start) { this.CurPage = PageIndex; From d014a939884dbf6c3cb0537e0d54adf6a5255e35 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Wed, 28 Apr 2021 20:11:03 +0300 Subject: [PATCH 288/381] Fix bug with show "default" cursor in fill forms mode --- word/Drawing/HtmlPage.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/word/Drawing/HtmlPage.js b/word/Drawing/HtmlPage.js index a39760d0f6..1052e348ff 100644 --- a/word/Drawing/HtmlPage.js +++ b/word/Drawing/HtmlPage.js @@ -1665,8 +1665,6 @@ function CEditorPage(api) return; } } - - oWordControl.m_oDrawingDocument.SetCursorType("default"); } if (oWordControl.m_oDrawingDocument.AutoShapesTrackLockPageNum == -1) From 1afab44fe0c8d610b6911b634936f2edd0da3f53 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 28 Apr 2021 22:57:57 +0300 Subject: [PATCH 289/381] Improve selection of fields in filling forms mode --- word/Editor/Document.js | 25 ++++- .../StructuredDocumentTags/InlineLevel.js | 105 ++++++++++++++++++ word/Editor/StructuredDocumentTags/SdtBase.js | 11 ++ 3 files changed, 136 insertions(+), 5 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 6a4767b300..654ee74639 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -10730,12 +10730,20 @@ CDocument.prototype.OnMouseUp = function(e, X, Y, PageIndex) if (this.IsFillingFormMode() && this.CurPos.CC && !this.CurPos.CC.CheckHitInContentControlByXY(X, Y, PageIndex)) { - if (this.Selection.Start) - this.StopSelection(); + var oCorrectedPos = this.CurPos.CC.CorrectXYToHitIn(X, Y, PageIndex); + if (!oCorrectedPos) + { + if (this.Selection.Start) + this.StopSelection(); - return; + return; + } + + X = oCorrectedPos.X; + Y = oCorrectedPos.Y; } - + + if (this.DrawTableMode.Draw || this.DrawTableMode.Erase) { if (!this.DrawTableMode.Start) @@ -11024,7 +11032,14 @@ CDocument.prototype.OnMouseMove = function(e, X, Y, PageIndex) } if (this.IsFillingFormMode() && this.CurPos.CC && !this.CurPos.CC.CheckHitInContentControlByXY(X, Y, PageIndex)) - return; + { + var oCorrectedPos = this.CurPos.CC.CorrectXYToHitIn(X, Y, PageIndex); + if (!oCorrectedPos) + return; + + X = oCorrectedPos.X; + Y = oCorrectedPos.Y; + } if (true === this.Selection.Use && true === this.Selection.Start) { diff --git a/word/Editor/StructuredDocumentTags/InlineLevel.js b/word/Editor/StructuredDocumentTags/InlineLevel.js index 104b90b6e4..a0ff833136 100644 --- a/word/Editor/StructuredDocumentTags/InlineLevel.js +++ b/word/Editor/StructuredDocumentTags/InlineLevel.js @@ -1955,6 +1955,111 @@ CInlineLevelSdt.prototype.CheckHitInContentControlByXY = function(X, Y, nPageAbs return false; }; +CInlineLevelSdt.prototype.CorrectXYToHitIn = function(X, Y, nPageAbs) +{ + var oParagraph = this.GetParagraph(); + if (!oParagraph) + return false; + + var oTransform = this.Get_ParentTextTransform(); + + var _X = X; + var _Y = Y; + if (oTransform) + { + oTransform = oTransform.Invert(); + _X = oTransform.TransformPointX(X, Y); + _Y = oTransform.TransformPointY(X, Y); + } + + function private_Diff(oBound, X, Y) + { + var _X = 0; + var _Y = 0; + + if (oBound.Y <= Y && Y <= oBound.Y + oBound.H) + _Y = 0; + else if (Y < oBound.Y) + _Y = oBound.Y - Y; + else + _Y = Y - oBound.Y - oBound.H; + + if (oBound.X <= X && X <= oBound.X + oBound.W) + _X = 0; + else if (X < oBound.X) + _X = oBound.X - X; + else + _X = X - oBound.X - oBound.W; + + return {X : _X, Y : _Y}; + } + + var oDiff = null; + var oNearBound = null; + for (var sKey in this.Bounds) + { + var oBound = this.Bounds[sKey]; + if (oParagraph.GetAbsolutePage(oBound.PageInternal) === nPageAbs) + { + if (!oNearBound) + { + oDiff = private_Diff(oBound, _X, _Y); + oNearBound = oBound; + } + else + { + var _oDiff = private_Diff(oBound, _X, _Y); + if ((0 === oDiff.Y && 0 === _oDiff.Y && _oDiff.X < oDiff.Y) + || (0 !== oDiff.Y + && (0 === _oDiff.Y + || (_oDiff.Y < oDiff.Y) + || (Math.abs(_oDiff.Y - oDiff.Y) < 0.001 && _oDiff.X < oDiff.X)))) + { + oDiff = _oDiff; + oNearBound = oBound; + } + } + + if (oDiff && 0 === oDiff.Y && 0 === oDiff.X) + return {X : X, Y : Y}; + } + } + + if (oNearBound) + { + var __X, __Y; + + if (oNearBound.Y <= _Y && _Y <= oNearBound.Y + oNearBound.H) + __Y = _Y; + else if (_Y < oNearBound.Y) + __Y = oNearBound.Y + 0.001; + else + __Y = oNearBound.Y + oNearBound.H - 0.001; + + if (oNearBound.X <= _X && _X <= oNearBound.X + oNearBound.W) + __X = _X; + else if (_X < oNearBound.X) + __X = oNearBound.X + 0.001; + else + __X = oNearBound.X + oNearBound.W - 0.001; + + if (oTransform) + { + oTransform = oTransform.Invert(); + _X = oTransform.TransformPointX(__X, __Y); + _Y = oTransform.TransformPointY(__X, __Y); + } + else + { + _X = __X; + _Y = __Y; + } + + return {X : _X, Y : _Y}; + } + + return null; +}; CInlineLevelSdt.prototype.IsSelectedAll = function(Props) { if (!this.Selection.Use) diff --git a/word/Editor/StructuredDocumentTags/SdtBase.js b/word/Editor/StructuredDocumentTags/SdtBase.js index 218ece3974..893b53d814 100644 --- a/word/Editor/StructuredDocumentTags/SdtBase.js +++ b/word/Editor/StructuredDocumentTags/SdtBase.js @@ -355,3 +355,14 @@ CSdtBase.prototype.CheckHitInContentControlByXY = function(X, Y, nPageAbs) { return false; }; +/** + * Ищем ближаюшую позицию, которая попадала бы в контейнер + * @param X + * @param Y + * @param nPageAbs + * @returns {?{X:number,Y:number}} + */ +CSdtBase.prototype.CorrectXYToHitIn = function(X, Y, nPageAbs) +{ + return null; +}; From 9036da530d15b0f605ae1438c662bb9074818b49 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 28 Apr 2021 23:27:11 +0300 Subject: [PATCH 290/381] Fix bug #49750 Remove cursor in filling form mode from checkboxes in shaped --- common/Drawings/Format/Shape.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/common/Drawings/Format/Shape.js b/common/Drawings/Format/Shape.js index 59fceef810..fe16ca1fa4 100644 --- a/common/Drawings/Format/Shape.js +++ b/common/Drawings/Format/Shape.js @@ -4666,6 +4666,8 @@ CShape.prototype.updateSelectionState = function () var content = this.getDocContent(); if(content) { + var oLogicDocument = content.GetLogicDocument ? content.GetLogicDocument() : null; + var oMatrix = null; if(this.transformText) { @@ -4708,6 +4710,13 @@ CShape.prototype.updateSelectionState = function () drawing_document.TargetStart(); drawing_document.TargetShow(); + + if (oLogicDocument && oLogicDocument.IsFillingFormMode && oLogicDocument.IsFillingFormMode()) + { + var oContentControl = oLogicDocument.GetContentControl(); + if (oContentControl && oContentControl.IsCheckBox()) + drawing_document.TargetEnd(); + } } } } @@ -4718,6 +4727,13 @@ CShape.prototype.updateSelectionState = function () drawing_document.TargetStart(); drawing_document.TargetShow(); + + if (oLogicDocument && oLogicDocument.IsFillingFormMode && oLogicDocument.IsFillingFormMode()) + { + var oContentControl = oLogicDocument.GetContentControl(); + if (oContentControl && oContentControl.IsCheckBox()) + drawing_document.TargetEnd(); + } } } else From efec461fb77445cb85a210f19c303469d3cff550 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 28 Apr 2021 23:31:50 +0300 Subject: [PATCH 291/381] Prevent selection when clicking on checkbox --- word/Editor/Paragraph.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index c489987e6b..cb26b126a8 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -7470,6 +7470,10 @@ Paragraph.prototype.Selection_SetEnd = function(X, Y, CurPage, MouseEvent, bTabl oField.SelectAll(1); oField.SelectThisElement(1); } + else if (oSdt && oSdt.IsCheckBox()) + { + this.RemoveSelection(); + } else { var ClickCounter = MouseEvent.ClickCount % 2; From b7c59b586e36ad11989cff064fd3dbc8a69f1800 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Wed, 28 Apr 2021 23:49:41 +0300 Subject: [PATCH 292/381] Fix previous commit --- word/Editor/Document.js | 1 + 1 file changed, 1 insertion(+) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 654ee74639..d93b797b57 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -10700,6 +10700,7 @@ CDocument.prototype.OnMouseDown = function(e, X, Y, PageIndex) oCC.SkipSpecialContentControlLock(true); if (!this.IsSelectionLocked(AscCommon.changestype_Paragraph_Content, null, true, this.IsFillingFormMode())) { + this.RemoveSelection(); this.StartAction(); oCC.ToggleCheckBox(); this.Recalculate(); From a408ebc361bd6754e9b77022044f396e76adb715 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 29 Apr 2021 10:19:05 +0300 Subject: [PATCH 293/381] Fix click on checkox --- word/Editor/Document.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index d93b797b57..2b8d86f199 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -10700,7 +10700,7 @@ CDocument.prototype.OnMouseDown = function(e, X, Y, PageIndex) oCC.SkipSpecialContentControlLock(true); if (!this.IsSelectionLocked(AscCommon.changestype_Paragraph_Content, null, true, this.IsFillingFormMode())) { - this.RemoveSelection(); + this.RemoveTextSelection(); this.StartAction(); oCC.ToggleCheckBox(); this.Recalculate(); From f6eb81d72ad9f630bf5914590928f5197149295a Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 29 Apr 2021 18:24:17 +0300 Subject: [PATCH 294/381] Fix bug #50080 Rework rendering tracks around forms --- word/Editor/Paragraph.js | 2 +- .../StructuredDocumentTags/InlineLevel.js | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index cb26b126a8..4d1c79f1f0 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -11076,7 +11076,7 @@ Paragraph.prototype.UpdateCursorType = function(X, Y, CurPage) if (oContentControl) { oContentControl.DrawContentControlsTrack(true, X, Y, CurPage); - isCheckBox = oContentControl.IsCheckBox(); + isCheckBox = oContentControl.IsCheckBox() && oContentControl.CheckHitInContentControlByXY(X, Y, this.GetAbsolutePage(CurPage)); } var Footnote = this.CheckFootnote(X, Y, CurPage); diff --git a/word/Editor/StructuredDocumentTags/InlineLevel.js b/word/Editor/StructuredDocumentTags/InlineLevel.js index a0ff833136..b805e36af9 100644 --- a/word/Editor/StructuredDocumentTags/InlineLevel.js +++ b/word/Editor/StructuredDocumentTags/InlineLevel.js @@ -305,6 +305,25 @@ CInlineLevelSdt.prototype.Recalculate_Range_Spaces = function(PRSA, _CurLine, _C if (0 === CurLine) Y0 = oParagraph.Lines[_CurLine].Y + oParagraph.Pages[_CurPage].Y - oParagraph.Lines[_CurLine].Metrics.Ascent; + if (this.IsForm() && !this.IsPicture() && (this.Content[0] instanceof ParaRun)) + { + var oRun = this.Content[0]; + var oTextPr = oRun.Get_CompiledPr(false); + + g_oTextMeasurer.SetTextPr(oTextPr, oParagraph.GetTheme()); + g_oTextMeasurer.SetFontSlot(fontslot_ASCII); + + var nTextHeight = g_oTextMeasurer.GetHeight(); + var nTextDescent = Math.abs(g_oTextMeasurer.GetDescender()); + var nTextAscent = nTextHeight - nTextDescent; + var nYOffset = oTextPr.Position; + + if (0 === CurLine) + Y0 = oParagraph.Lines[_CurLine].Y + oParagraph.Pages[_CurPage].Y - nTextAscent - nYOffset; + + Y1 = oParagraph.Lines[_CurLine].Y + oParagraph.Pages[_CurPage].Y + nTextDescent - nYOffset; + } + if (!isFastRangeRecalc) { for (var Key in this.Bounds) @@ -321,6 +340,18 @@ CInlineLevelSdt.prototype.Recalculate_Range_Spaces = function(PRSA, _CurLine, _C var X1 = PRSA.X; + if (this.IsForm() && this.IsPicture() && Math.abs(X1 - X0) > 0.001) + { + var arrDrawings = this.GetAllDrawingObjects(); + if (arrDrawings.length > 0 && arrDrawings[0].IsPicture()) + { + Y0 = arrDrawings[0].GraphicObj.y; + Y1 = arrDrawings[0].GraphicObj.y + arrDrawings[0].GraphicObj.extY; + X0 = arrDrawings[0].GraphicObj.x; + X1 = arrDrawings[0].GraphicObj.x + arrDrawings[0].GraphicObj.extX; + } + } + if (isFastRangeRecalc && this.Bounds[((CurLine << 16) & 0xFFFF0000) | (CurRange & 0x0000FFFF)]) { var oBounds = this.Bounds[((CurLine << 16) & 0xFFFF0000) | (CurRange & 0x0000FFFF)]; From 1ad871fec62a3c3a7990f5c9297e28d53db93066 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 29 Apr 2021 19:12:35 +0300 Subject: [PATCH 295/381] Improve correction of select in the filling form mode --- word/Editor/Paragraph.js | 45 +++++++++++-------- .../StructuredDocumentTags/InlineLevel.js | 40 +++++++++++++++-- 2 files changed, 62 insertions(+), 23 deletions(-) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index 4d1c79f1f0..5a8090e72d 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -7561,6 +7561,14 @@ Paragraph.prototype.DrawSelectionOnPage = function(CurPage) var oLogicDocument = this.GetLogicDocument(); var isFillingForm = oLogicDocument ? oLogicDocument.IsFillingFormMode() : false; + var oFillingCC = null; + if (isFillingForm) + { + var oInfo = new CSelectedElementsInfo(); + this.GetSelectedElementsInfo(oInfo); + oFillingCC = oInfo.GetInlineLevelSdt(); + } + switch (this.Selection.Flag) { case selectionflag_Common: @@ -7599,21 +7607,6 @@ Paragraph.prototype.DrawSelectionOnPage = function(CurPage) DrawSelection.StartY = this.Pages[CurPage].Y + this.Lines[CurLine].Top; DrawSelection.H = this.Lines[CurLine].Bottom - this.Lines[CurLine].Top; - // Специальная ветка, чтобы в режиме заполнения форм выделение не выходило за рамки самих форм - if (isFillingForm) - { - if (CurLine === _StartLine) - { - DrawSelection.StartY = this.Pages[CurPage].Y + this.Lines[CurLine].Y - this.Lines[CurLine].Metrics.Ascent; - DrawSelection.H = this.Lines[CurLine].Bottom - (this.Lines[CurLine].Y - this.Lines[CurLine].Metrics.Ascent); - } - - if (CurLine === _EndLine) - { - DrawSelection.H = this.Lines[CurLine].Metrics.Ascent + this.Lines[CurLine].Metrics.Descent; - } - } - for (var CurRange = 0; CurRange < RangesCount; CurRange++) { var Range = Line.Ranges[CurRange]; @@ -7657,9 +7650,23 @@ Paragraph.prototype.DrawSelectionOnPage = function(CurPage) H = Math.min(H, Frame_Y_max - StartY); } - // Отрисовываем селект - if (W > 0.001) - this.DrawingDocument.AddPageSelection(PageAbs, StartX, StartY, W, H); + if (oFillingCC) + { + var arrRects = oFillingCC.IntersectWithRect(StartX, StartY, W, H, PageAbs); + + for (var nIndex = 0, nCount = arrRects.length; nIndex < nCount; ++nIndex) + { + var oRect = arrRects[nIndex]; + + if (oRect.W > 0.001 && oRect.H > 0.001) + this.DrawingDocument.AddPageSelection(PageAbs, oRect.X, oRect.Y, oRect.W, oRect.H); + } + } + else + { + if (W > 0.001) + this.DrawingDocument.AddPageSelection(PageAbs, StartX, StartY, W, H); + } } } @@ -11076,7 +11083,7 @@ Paragraph.prototype.UpdateCursorType = function(X, Y, CurPage) if (oContentControl) { oContentControl.DrawContentControlsTrack(true, X, Y, CurPage); - isCheckBox = oContentControl.IsCheckBox() && oContentControl.CheckHitInContentControlByXY(X, Y, this.GetAbsolutePage(CurPage)); + isCheckBox = oContentControl.IsCheckBox() && oContentControl.CheckHitInContentControlByXY(X, Y, this.GetAbsolutePage(CurPage), false); } var Footnote = this.CheckFootnote(X, Y, CurPage); diff --git a/word/Editor/StructuredDocumentTags/InlineLevel.js b/word/Editor/StructuredDocumentTags/InlineLevel.js index b805e36af9..da8f8e9c88 100644 --- a/word/Editor/StructuredDocumentTags/InlineLevel.js +++ b/word/Editor/StructuredDocumentTags/InlineLevel.js @@ -1960,7 +1960,7 @@ CInlineLevelSdt.prototype.UpdatePlaceHolderTextPrForForm = function() } } }; -CInlineLevelSdt.prototype.CheckHitInContentControlByXY = function(X, Y, nPageAbs) +CInlineLevelSdt.prototype.CheckHitInContentControlByXY = function(X, Y, nPageAbs, isUseTransform) { var oParagraph = this.GetParagraph(); if (!oParagraph) @@ -1970,7 +1970,7 @@ CInlineLevelSdt.prototype.CheckHitInContentControlByXY = function(X, Y, nPageAbs var _X = X; var _Y = Y; - if (oTransform) + if (oTransform && false !== isUseTransform) { oTransform = oTransform.Invert(); _X = oTransform.TransformPointX(X, Y); @@ -1986,7 +1986,7 @@ CInlineLevelSdt.prototype.CheckHitInContentControlByXY = function(X, Y, nPageAbs return false; }; -CInlineLevelSdt.prototype.CorrectXYToHitIn = function(X, Y, nPageAbs) +CInlineLevelSdt.prototype.CorrectXYToHitIn = function(X, Y, nPageAbs, isUseTransform) { var oParagraph = this.GetParagraph(); if (!oParagraph) @@ -1996,7 +1996,7 @@ CInlineLevelSdt.prototype.CorrectXYToHitIn = function(X, Y, nPageAbs) var _X = X; var _Y = Y; - if (oTransform) + if (oTransform && false !== isUseTransform) { oTransform = oTransform.Invert(); _X = oTransform.TransformPointX(X, Y); @@ -2091,6 +2091,38 @@ CInlineLevelSdt.prototype.CorrectXYToHitIn = function(X, Y, nPageAbs) return null; }; +CInlineLevelSdt.prototype.IntersectWithRect = function(X, Y, W, H, nPageAbs) +{ + var arrRects = []; + + var oParagraph = this.GetParagraph(); + if (!oParagraph) + return []; + + for (var sKey in this.Bounds) + { + var oBound = this.Bounds[sKey]; + if (oParagraph.GetAbsolutePage(oBound.PageInternal) === nPageAbs) + { + var nLeft = Math.max(X, oBound.X); + var nRight = Math.min(X + W, oBound.X + oBound.W); + var nTop = Math.max(Y, oBound.Y); + var nBottom = Math.min(Y + H, oBound.Y + oBound.H); + + if (nLeft < nRight && nTop < nBottom) + { + arrRects.push({ + X : nLeft, + Y : nTop, + W : nRight - nLeft, + H : nBottom - nTop + }); + } + } + } + + return arrRects; +}; CInlineLevelSdt.prototype.IsSelectedAll = function(Props) { if (!this.Selection.Use) From b90fc2ff528b31f02624c27433e47cfb0c780c1c Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Fri, 30 Apr 2021 13:56:53 +0300 Subject: [PATCH 296/381] Fix bug #50133 Also add correction of forms when opening file --- word/Editor/Paragraph.js | 15 +++++++++++++++ word/Editor/StructuredDocumentTags/InlineLevel.js | 11 +++++++++++ 2 files changed, 26 insertions(+) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index 5a8090e72d..92988ab764 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -6596,6 +6596,9 @@ Paragraph.prototype.Correct_Content = function(_StartPos, _EndPos, bDoNotDeleteE { var CurElement = this.Content[CurPos]; + if (CurElement.CorrectContent) + CurElement.CorrectContent(); + if ((para_Hyperlink === CurElement.Type || para_Math === CurElement.Type || para_Field === CurElement.Type || para_InlineLevelSdt === CurElement.Type) && true === CurElement.Is_Empty() && true !== CurElement.Is_CheckingNearestPos()) { this.Internal_Content_Remove(CurPos); @@ -12228,6 +12231,12 @@ Paragraph.prototype.Concat = function(Para, isUseConcatedStyle) // Очистим содержимое параграфа (это нужно, чтобы не лежали ссылки на одинаковые объекты в разных параграфах) Para.ClearContent(); + // TODO: Пока вынуждены так делать, потому что SetParent чистится неправильно на удалении элементов + for (var nIndex = 0, nCount = this.Content.length; nIndex < nCount; ++nIndex) + { + this.Content[nIndex].SetParent(this); + } + // Если на данном параграфе оканчивалась секция, тогда удаляем эту секцию this.Set_SectionPr(undefined); @@ -12284,6 +12293,12 @@ Paragraph.prototype.ConcatBefore = function(oPara) // Очистим содержимое параграфа (это нужно, чтобы не лежали ссылки на одинаковые объекты в разных параграфах) oPara.ClearContent(); + // TODO: Пока вынуждены так делать, потому что SetParent чистится неправильно на удалении элементов + for (var nIndex = 0, nCount = this.Content.length; nIndex < nCount; ++nIndex) + { + this.Content[nIndex].SetParent(this); + } + // Если на данном параграфе оканчивалась секция, тогда удаляем эту секцию oPara.Set_SectionPr(undefined); diff --git a/word/Editor/StructuredDocumentTags/InlineLevel.js b/word/Editor/StructuredDocumentTags/InlineLevel.js index da8f8e9c88..04a428a3cd 100644 --- a/word/Editor/StructuredDocumentTags/InlineLevel.js +++ b/word/Editor/StructuredDocumentTags/InlineLevel.js @@ -961,6 +961,17 @@ CInlineLevelSdt.prototype.ReplaceContentWithPlaceHolder = function(isSelect) { this.private_ReplaceContentWithPlaceHolder(isSelect); }; +CInlineLevelSdt.prototype.CorrectContent = function() +{ + if (this.IsForm()) + { + this.MakeSingleRunElement(false); + } + else + { + CParagraphContentWithParagraphLikeContent.prototype.CorrectContent.apply(this, arguments); + } +}; //---------------------------------------------------------------------------------------------------------------------- // Выставление настроек //---------------------------------------------------------------------------------------------------------------------- From 40dabe7b04591611b6b7287ac4967ed5e3a40e7f Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Fri, 30 Apr 2021 20:26:45 +0300 Subject: [PATCH 297/381] Fix bug #50156 --- word/Editor/Styles.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/word/Editor/Styles.js b/word/Editor/Styles.js index bc527b81f5..78f7df06a9 100644 --- a/word/Editor/Styles.js +++ b/word/Editor/Styles.js @@ -7175,7 +7175,8 @@ CStyle.prototype.CreateIntenseQuote = function() Shd : { Value : c_oAscShdClear, - Color : {r : 0xF2, g : 0xF2, b : 0xF2} + Fill : {r : 0xF2, g : 0xF2, b : 0xF2}, + Color : {r : 0xff, g : 0xff, b : 0xff, Auto : true} }, Brd : { From e1780d1d300fcfe23c2f8567f7b0902016d5e4bc Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Fri, 30 Apr 2021 22:35:07 +0300 Subject: [PATCH 298/381] Fix bug #49925 --- word/Editor/Styles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/word/Editor/Styles.js b/word/Editor/Styles.js index 78f7df06a9..514d7decde 100644 --- a/word/Editor/Styles.js +++ b/word/Editor/Styles.js @@ -10247,7 +10247,7 @@ CDocumentShd.prototype.Write_ToBinary = function(Writer) { if (this.Color) { - Writer.WriteBool(false); + Writer.WriteBool(true); this.Color.Write_ToBinary(Writer); } else From 218e851251775a1fe6ba79a89c0133636bab409f Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Mon, 3 May 2021 23:09:54 +0300 Subject: [PATCH 299/381] [bug] Fix bug 50176 --- common/Drawings/Format/ChartFormat.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 6c7cfae37c..f7a33f1d8e 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -5335,9 +5335,11 @@ } if(oAx.crosses === null || oAx.crosses === CROSSES_AUTO_ZERO || oAx.crosses === CROSSES_MIN) { oValAx.setCrosses(CROSSES_MAX); + oCatAx.setCrosses(CROSSES_MAX); } else { oValAx.setCrosses(CROSSES_AUTO_ZERO); + oCatAx.setCrosses(CROSSES_AUTO_ZERO); } } } @@ -7197,11 +7199,6 @@ bChanged = true; } } - if(bChanged) { - if(this.bDelete === true) { - this.setDelete(false); - } - } if(props.getShow() !== null) { var bDelete = !props.getShow(); if(bDelete !== this.bDelete) { From 0df59dddb60322d1ddf0efe8c2fbbec08a31c7d7 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Tue, 4 May 2021 12:42:44 +0300 Subject: [PATCH 300/381] [se] Fix bug 50188 --- cell/model/HeaderFooter.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/cell/model/HeaderFooter.js b/cell/model/HeaderFooter.js index 0d5ea73e89..03c5ce07d0 100644 --- a/cell/model/HeaderFooter.js +++ b/cell/model/HeaderFooter.js @@ -775,7 +775,7 @@ function CHeaderFooterEditor(idArr, width, pageType) { window.Asc.g_header_footer_editor = this; - this.parentWidth = AscCommon.AscBrowser.convertToRetinaValue(width, true); + this.parentWidth = AscCommon.AscBrowser.convertToRetinaValue(this.correctCanvasWidth(width), true); this.parentHeight = AscCommon.AscBrowser.convertToRetinaValue(90, true); this.pageType = undefined === pageType ? asc.c_oAscHeaderFooterType.odd : pageType;//odd, even, first this.canvas = []; @@ -968,6 +968,18 @@ editLockCallback(); }; + CHeaderFooterEditor.prototype.correctCanvasWidth = function (val) { + if (!val) { + return val; + } + + if (AscBrowser.retinaPixelRatio === 1.5 && 0 !== val % 4) { + val -= val % 4; + } + + return val; + }; + CHeaderFooterEditor.prototype._openCellEditor = function (editor, fragments, x, y) { var t = this; From f01ece3f3b0773808ee02299709375af90bc8689 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Tue, 4 May 2021 15:08:52 +0300 Subject: [PATCH 301/381] [se] Fix bug 50198 --- cell/api.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cell/api.js b/cell/api.js index e8020a8b4d..5fd5428563 100644 --- a/cell/api.js +++ b/cell/api.js @@ -3058,7 +3058,7 @@ var editor; // Cell comment interface spreadsheet_api.prototype.asc_addComment = function(oComment) { - if (this.collaborativeEditing.getGlobalLock() || !this.canEdit()) { + if (this.collaborativeEditing.getGlobalLock() || (!this.canEdit() && !this.isRestrictionComments())) { return false; } var oPlace = oComment.bDocument ? this.wb : this.wb.getWorksheet(); @@ -3093,7 +3093,7 @@ var editor; }; spreadsheet_api.prototype.asc_RemoveAllComments = function(isMine, isCurrent) { - if (this.collaborativeEditing.getGlobalLock() || !this.canEdit()) { + if (this.collaborativeEditing.getGlobalLock() || (!this.canEdit() && !this.isRestrictionComments())) { return; } this.wb.removeAllComments(isMine, isCurrent); From 1f08fba09c57d19b322ca4bedd67db3d20bb8f2d Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Thu, 29 Apr 2021 20:37:00 +0300 Subject: [PATCH 302/381] [se] Get translation of 'Qtr' and '%1 or %2' from translation manager --- cell/model/PivotTables.js | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index 68ea59f266..43f5b00d28 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -250,8 +250,9 @@ var GROUP_HOURS_CAPTION = 'Hours'; var GROUP_DAYS_CAPTION = 'Days'; var GROUP_MONTHS_CAPTION = 'Months'; var GROUP_QUARTERS_CAPTION = 'Quarters'; +var GROUP_QUARTER_CAPTION = 'Qtr'; var GROUP_YEARS_CAPTION = 'Years'; -var GROUP_OR_CAPTION = 'or'; +var GROUP_OR_CAPTION = '%1 or %2'; var NEW_PIVOT_LAST_COL_OFFSET = 2; var NEW_PIVOT_LAST_ROW_OFFSET = 17; var NEW_PIVOT_LAST_COL_OFFSET_GRID_DROP_ZONES = 6; @@ -13845,8 +13846,9 @@ CT_RangePr.prototype.generateGroupItems = function (containsInteger, containsBl if (this.autoStart) { firstElem = AscCommon.translateManager.getValue(AscCommonExcel.BLANK_CAPTION); } else { - firstElem += ' ' + AscCommon.translateManager.getValue(GROUP_OR_CAPTION) + ' ' - + AscCommon.translateManager.getValue(AscCommonExcel.BLANK_CAPTION); + var blankName = AscCommon.translateManager.getValue(AscCommonExcel.BLANK_CAPTION); + var orName = AscCommon.translateManager.getValue(GROUP_OR_CAPTION); + firstElem = orName.replace("%1", firstElem).replace("%2", blankName); } } groupItems.addString(firstElem); @@ -13874,8 +13876,9 @@ CT_RangePr.prototype.generateGroupItems = function (containsInteger, containsBl if (this.autoStart) { firstElem = AscCommon.translateManager.getValue(AscCommonExcel.BLANK_CAPTION); } else { - firstElem += ' ' + AscCommon.translateManager.getValue(GROUP_OR_CAPTION) + ' ' - + AscCommon.translateManager.getValue(AscCommonExcel.BLANK_CAPTION); + var blankName = AscCommon.translateManager.getValue(AscCommonExcel.BLANK_CAPTION); + var orName = AscCommon.translateManager.getValue(GROUP_OR_CAPTION); + firstElem = orName.replace("%1", firstElem).replace("%2", blankName); } } groupItems.addString(firstElem); @@ -13898,10 +13901,11 @@ CT_RangePr.prototype.generateGroupItems = function (containsInteger, containsBl groupItems.addString(numFormat.formatToChart(date.getExcelDateWithTime2())); } } else if (this.groupBy === c_oAscGroupBy.Quarters) { - groupItems.addString("Qtr1"); - groupItems.addString("Qtr2"); - groupItems.addString("Qtr3"); - groupItems.addString("Qtr4"); + var qtr = AscCommon.translateManager.getValue(GROUP_QUARTER_CAPTION); + groupItems.addString(qtr + "1"); + groupItems.addString(qtr + "2"); + groupItems.addString(qtr + "3"); + groupItems.addString(qtr + "4"); } else if (this.groupBy === c_oAscGroupBy.Years) { date = new Asc.cDate(this.startDate.getTime()); while (date < this.endDate) { From 2a030fc8c675407317aa93aa1e39c038b8175e0e Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Thu, 29 Apr 2021 21:47:28 +0300 Subject: [PATCH 303/381] [se] Get translation of 'Total' from translation manager --- cell/model/Workbook.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cell/model/Workbook.js b/cell/model/Workbook.js index 6dbb0d39ab..9e161eedad 100644 --- a/cell/model/Workbook.js +++ b/cell/model/Workbook.js @@ -7294,7 +7294,7 @@ } oCellValue = new AscCommonExcel.CCellValue(); oCellValue.type = AscCommon.CellValueType.String; - oCellValue.text = AscCommonExcel.ToName_ST_ItemType(Asc.c_oAscItemType.Default); + oCellValue.text = AscCommon.translateManager.getValue(AscCommonExcel.ToName_ST_ItemType(Asc.c_oAscItemType.Default)); cells.setValueData(new AscCommonExcel.UndoRedoData_CellValueData(null, oCellValue)); } if (rowFieldsOffset && false === pivotTable.showHeaders && false === pivotTable.gridDropZones && pivotTable.getDataFieldsCount() > 0) { @@ -7349,7 +7349,7 @@ if (-1 === valuesIndex) { oCellValue.text = pivotTable.grandTotalCaption || AscCommon.translateManager.getValue(AscCommonExcel.GRAND_TOTAL_CAPTION); } else { - oCellValue.text = AscCommonExcel.ToName_ST_ItemType(item.t); + oCellValue.text = AscCommon.translateManager.getValue(AscCommonExcel.ToName_ST_ItemType(item.t)); oCellValue.text += ' ' + pivotTable.getDataFieldName(item.i); } } else if (Asc.c_oAscItemType.Blank === item.t) { @@ -7365,7 +7365,7 @@ oCellValue.text = field.subtotalCaption; } else { oCellValue.text = totalTitleRange[r + j].getValueWithFormatSkipToSpace(); - oCellValue.text += ' ' + AscCommonExcel.ToName_ST_ItemType(item.t); + oCellValue.text += ' ' + AscCommon.translateManager.getValue(AscCommonExcel.ToName_ST_ItemType(item.t)); } } } else { From b904a6651200e534d204cae382c67795f80e3c59 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Sat, 1 May 2021 17:07:42 +0300 Subject: [PATCH 304/381] [se] Fix bug 50143 --- cell/model/PivotTables.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index 43f5b00d28..65d4950233 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -9079,12 +9079,18 @@ CT_CacheField.prototype.initGroupPar = function (par) { this.fieldGroup = new CT_FieldGroup(); } this.fieldGroup.initPar(par); + if (this.fieldGroup.isEmpty()) { + this.fieldGroup = null; + } }; CT_CacheField.prototype.initGroupBase = function (base) { if (!this.fieldGroup) { this.fieldGroup = new CT_FieldGroup(); } this.fieldGroup.initBase(base); + if (this.fieldGroup.isEmpty()) { + this.fieldGroup = null; + } }; CT_CacheField.prototype.initGroupDiscrete = function (name, base, baseCacheField) { this.name = name; @@ -9440,7 +9446,7 @@ CT_CacheField.prototype.ungroupDiscrete = function (base, baseCacheField, groupM return this.fieldGroup.ungroupDiscrete(base, baseCacheField, groupMap); }; CT_CacheField.prototype.ungroupRangePr = function () { - return this.fieldGroup = null; + this.fieldGroup = null; }; CT_CacheField.prototype.refreshGroupDiscrete = function (sharedItems, discretePrMap) { return this.fieldGroup.refreshGroupDiscrete(sharedItems, discretePrMap); @@ -12676,6 +12682,9 @@ CT_FieldGroup.prototype.initDiscrete = function(base, baseCacheField) { this.discretePr.init(baseCacheField.getGroupOrSharedSize()); this.groupItems = baseCacheField.sharedItems.clone(); }; +CT_FieldGroup.prototype.isEmpty = function () { + return null === this.par && null === this.base && null === this.rangePr && null === this.discretePr && null === this.groupItems; +}; CT_FieldGroup.prototype.clone = function() { var res = new CT_FieldGroup(); res.par = this.par; From e2a2bcf84528cd254a48064772498f2f958a12fd Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Tue, 4 May 2021 17:12:59 +0300 Subject: [PATCH 305/381] [se] Fix bug 49604 --- cell/api.js | 28 ++++++++++++++++++++-------- cell/model/PivotTables.js | 20 ++++++++++---------- 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/cell/api.js b/cell/api.js index 5fd5428563..6d5774128c 100644 --- a/cell/api.js +++ b/cell/api.js @@ -2723,18 +2723,32 @@ var editor; spreadsheet_api.prototype.asc_canGroupPivot = function () { return !!this._canGroupPivot(); }; - spreadsheet_api.prototype.asc_groupPivot = function (opt_rangePr, opt_dateTypes) { + spreadsheet_api.prototype._groupPivot = function (confirmation, onRepeat, opt_rangePr, opt_dateTypes) { var canGroupRes = this._canGroupPivot(); if(canGroupRes) { - canGroupRes.pivotTable.groupPivot(this, canGroupRes.layout, opt_rangePr, opt_dateTypes); + canGroupRes.pivotTable.groupPivot(this, canGroupRes.layout, confirmation, onRepeat, opt_rangePr, opt_dateTypes); } }; - spreadsheet_api.prototype.asc_ungroupPivot = function () { + spreadsheet_api.prototype.asc_groupPivot = function (opt_rangePr, opt_dateTypes) { + var t = this; + var onRepeat = function(){ + t._groupPivot(true, onRepeat, opt_rangePr, opt_dateTypes); + }; + this._groupPivot(false, onRepeat, opt_rangePr, opt_dateTypes); + }; + spreadsheet_api.prototype._ungroupPivot = function (confirmation, onRepeat) { var canGroupRes = this._canGroupPivot(); if(canGroupRes) { - canGroupRes.pivotTable.ungroupPivot(this, canGroupRes.layout); + canGroupRes.pivotTable.ungroupPivot(this, canGroupRes.layout, confirmation, onRepeat); } }; + spreadsheet_api.prototype.asc_ungroupPivot = function () { + var t = this; + var onRepeat = function(){ + t._ungroupPivot(true, onRepeat); + }; + this._ungroupPivot(false, onRepeat); + }; spreadsheet_api.prototype.asc_ungroup = function(val) { if(val) { @@ -4873,7 +4887,7 @@ var editor; onAction(); }); }; - spreadsheet_api.prototype._changePivotAndConnectedByPivotCacheWithLock = function (pivot, confirmation, onAction) { + spreadsheet_api.prototype._changePivotAndConnectedByPivotCacheWithLock = function (pivot, confirmation, onAction, onRepeat) { // Проверка глобального лока var t = this; @@ -4889,9 +4903,7 @@ var editor; var changeRes = onAction(confirmation, pivotTables); t.wbModel.dependencyFormulas.unlockRecal(); History.EndTransaction(); - t._changePivotEndCheckError(pivot, changeRes, function () { - t._changePivotAndConnectedByPivotCacheWithLock(pivot, true, onAction); - }); + t._changePivotEndCheckError(pivot, changeRes, onRepeat); }); }; spreadsheet_api.prototype._changePivot = function(pivot, confirmation, updateSelection, onAction, doNotCheckUnderlyingData) { diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index 65d4950233..82b78ec7e9 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -6227,7 +6227,7 @@ CT_pivotTableDefinition.prototype.getGroupRangePr = function (fld) { CT_pivotTableDefinition.prototype.createGroupRangePr = function (fld) { return this.cacheDefinition.createGroupRangePr(fld); }; -CT_pivotTableDefinition.prototype.groupPivot = function (api, layout, opt_rangePr, opt_dateTypes) { +CT_pivotTableDefinition.prototype.groupPivot = function (api, layout, confirmation, onRepeat, opt_rangePr, opt_dateTypes) { var newRangePrRes; var sheetId = this.worksheet.getId(); var pivotTable = this; @@ -6235,7 +6235,7 @@ CT_pivotTableDefinition.prototype.groupPivot = function (api, layout, opt_rangeP var baseFld = pivotTable.getGroupBase(layout.fld); var rangePrRes = pivotTable.getGroupRangePr(baseFld); if (opt_rangePr && opt_rangePr.getFieldGroupType() === fieldGroupType) { - api._changePivotAndConnectedByPivotCacheWithLock(pivotTable, false, function (confirmation, pivotTables) { + api._changePivotAndConnectedByPivotCacheWithLock(pivotTable, confirmation, function (confirmation, pivotTables) { var changeRes = api._changePivot(pivotTable, confirmation, true, function () { var oldPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); @@ -6251,7 +6251,7 @@ CT_pivotTableDefinition.prototype.groupPivot = function (api, layout, opt_rangeP pivotTable._updateCacheDataUpdateSlicersPost(); }); return changeRes; - }); + }, onRepeat); } else if (rangePrRes) { rangePrRes.rangePr = rangePrRes.rangePr.clone(); newRangePrRes = pivotTable.createGroupRangePr(baseFld); @@ -6260,7 +6260,7 @@ CT_pivotTableDefinition.prototype.groupPivot = function (api, layout, opt_rangeP newRangePrRes = pivotTable.createGroupRangePr(baseFld); api.handlers.trigger("asc_onShowPivotGroupDialog", newRangePrRes.rangePr, newRangePrRes.dateTypes, newRangePrRes.rangePr.clone()); } else if (layout.getGroupSize() > 1) { - api._changePivotAndConnectedByPivotCacheWithLock(pivotTable, false, function (confirmation, pivotTables) { + api._changePivotAndConnectedByPivotCacheWithLock(pivotTable, confirmation, function (confirmation, pivotTables) { var changeRes = api._changePivot(pivotTable, confirmation, true, function () { var oldPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); @@ -6276,18 +6276,18 @@ CT_pivotTableDefinition.prototype.groupPivot = function (api, layout, opt_rangeP pivotTable._updateCacheDataUpdateSlicersPost(); }); return changeRes; - }); + }, onRepeat); } else { api.sendEvent('asc_onError', c_oAscError.ID.PivotGroup, c_oAscError.Level.NoCritical); } }; -CT_pivotTableDefinition.prototype.ungroupPivot = function (api, layout) { +CT_pivotTableDefinition.prototype.ungroupPivot = function (api, layout, confirmation, onRepeat) { var sheetId = this.worksheet.getId(); var pivotTable = this; var baseFld = pivotTable.getGroupBase(layout.fld); var rangePrRes = pivotTable.getGroupRangePr(baseFld); if (rangePrRes) { - api._changePivotAndConnectedByPivotCacheWithLock(pivotTable, false, function (confirmation, pivotTables) { + api._changePivotAndConnectedByPivotCacheWithLock(pivotTable, confirmation, function (confirmation, pivotTables) { var changeRes = api._changePivot(pivotTable, confirmation, true, function () { var oldPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); @@ -6302,9 +6302,9 @@ CT_pivotTableDefinition.prototype.ungroupPivot = function (api, layout) { pivotTable._updateCacheDataUpdateSlicersPost(); }); return changeRes; - }); + }, onRepeat); } else if (layout.getGroupSize() > 0) { - api._changePivotAndConnectedByPivotCacheWithLock(pivotTable, false, function (confirmation, pivotTables) { + api._changePivotAndConnectedByPivotCacheWithLock(pivotTable, confirmation, function (confirmation, pivotTables) { var groupRes; var changeRes = api._changePivot(pivotTable, confirmation, true, function () { var oldPivot = new AscCommonExcel.UndoRedoData_BinaryWrapper(pivotTable.cloneForHistory(true, false)); @@ -6321,7 +6321,7 @@ CT_pivotTableDefinition.prototype.ungroupPivot = function (api, layout) { pivotTable._updateCacheDataUpdateSlicersPost(); }); return changeRes; - }); + }, onRepeat); } }; CT_pivotTableDefinition.prototype.groupRangePr = function (fld, rangePr, dateTypes) { From 0a08ee93fdf58c705d118e99a986470d2b019e23 Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Tue, 4 May 2021 18:12:56 +0300 Subject: [PATCH 306/381] Fix plugins link color (#1906) * Fix plugins link color * Added hover, active, visited link's state colors --- common/plugins.js | 2 +- common/plugins/plugin_base.js | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/common/plugins.js b/common/plugins.js index 8bbf8ac192..15e79a0b01 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -1006,7 +1006,7 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                                            ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"},\"a:link\":{color:\"text-link\"},\"*::-webkit-scrollbar-track\":{background:\"background-normal\"},\"*::-webkit-scrollbar-track:hover\":{background:\"background-toolbar-additional\"},\"*::-webkit-scrollbar-thumb\":{\"background-color\":\"background-toolbar\",\"border-color\":\"border-regular-control\"},\"*::-webkit-scrollbar-thumb:hover\":{\"background-color\":\"canvas-scroll-thumb-hover\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); + pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                                              ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"},a:{color:\"text-link !important\"},\"a:hover\":{color:\"text-link-hover !important\"},\"a:active\":{color:\"text-link-active !important\"},\"a:visited\":{color:\"text-link-visited !important\"},\"*::-webkit-scrollbar-track\":{background:\"background-normal\"},\"*::-webkit-scrollbar-track:hover\":{background:\"background-toolbar-additional\"},\"*::-webkit-scrollbar-thumb\":{\"background-color\":\"background-toolbar\",\"border-color\":\"border-regular-control\"},\"*::-webkit-scrollbar-thumb:hover\":{\"background-color\":\"canvas-scroll-thumb-hover\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index 2046e52330..7e7af01956 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -476,7 +476,10 @@ ".ps .ps__rail-y.ps--clicking" : {"background-color" : "background-toolbar" }, ".ps__thumb-y" : { "background-color" : "background-normal", "border-color" : "Border !important" }, ".ps__rail-y:hover > .ps__thumb-y" : {"border-color" : "canvas-scroll-thumb-hover" }, - "a:link" : { "color" : "text-link" }, + "a" : { "color" : "text-link !important" }, + "a:hover" : { "color" : "text-link-hover !important" }, + "a:active" : { "color" : "text-link-active !important" }, + "a:visited" : { "color" : "text-link-visited !important" }, "*::-webkit-scrollbar-track" : { "background" : "background-normal" }, "*::-webkit-scrollbar-track:hover" : { "background" : "background-toolbar-additional" }, "*::-webkit-scrollbar-thumb" : { "background-color" : "background-toolbar", "border-color" : "border-regular-control" }, From b698dad37caebf8147482743cd5b824e21996975 Mon Sep 17 00:00:00 2001 From: Alexey Matveev <34643750+AlexeyMatveev686@users.noreply.github.com> Date: Tue, 4 May 2021 19:26:26 +0300 Subject: [PATCH 307/381] Fix bug #50184 (#1908) --- common/plugins.js | 3 ++- common/plugins/plugin_base.js | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/common/plugins.js b/common/plugins.js index 15e79a0b01..29f8ffbec1 100644 --- a/common/plugins.js +++ b/common/plugins.js @@ -1006,7 +1006,8 @@ var pluginData = new CPluginData(); pluginData.setAttribute("guid", guid); pluginData.setAttribute("type", "plugin_init"); - pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                                                ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"},a:{color:\"text-link !important\"},\"a:hover\":{color:\"text-link-hover !important\"},\"a:active\":{color:\"text-link-active !important\"},\"a:visited\":{color:\"text-link-visited !important\"},\"*::-webkit-scrollbar-track\":{background:\"background-normal\"},\"*::-webkit-scrollbar-track:hover\":{background:\"background-toolbar-additional\"},\"*::-webkit-scrollbar-thumb\":{\"background-color\":\"background-toolbar\",\"border-color\":\"border-regular-control\"},\"*::-webkit-scrollbar-thumb:hover\":{\"background-color\":\"canvas-scroll-thumb-hover\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); + pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                                                  ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-x\":{\"border-color\":\"canvas-scroll-thumb-hover\"},\".ps .ps__rail-y:hover\":{\"background-color\":\"background-toolbar\"},\".ps .ps__rail-y.ps--clicking\":{\"background-color\":\"background-toolbar\"},\".ps__thumb-y\":{\"background-color\":\"background-normal\",\"border-color\":\"Border !important\"},\".ps__rail-y:hover > .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"},a:{color:\"text-link !important\"},\"a:hover\":{color:\"text-link-hover !important\"},\"a:active\":{color:\"text-link-active !important\"},\"a:visited\":{color:\"text-link-visited !important\"},\"*::-webkit-scrollbar-track\":{background:\"background-normal\"},\"*::-webkit-scrollbar-track:hover\":{background:\"background-toolbar-additional\"},\"*::-webkit-scrollbar-thumb\":{\"background-color\":\"background-toolbar\",\"border-color\":\"border-regular-control\"},\"*::-webkit-scrollbar-thumb:hover\":{\"background-color\":\"canvas-scroll-thumb-hover\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); + // pluginData.setAttribute("data", /**/"(function(a,h){var g=[1,1.5,2];a.AscDesktopEditor&&a.AscDesktopEditor.GetSupportedScaleValues&&(g=a.AscDesktopEditor.GetSupportedScaleValues());var c=function(){if(0===g.length)return!1;var d=navigator.userAgent.toLowerCase(),b=-1b-1E-4);l++)m=Math.abs(g[l]-b),mMath.abs(d.zoom-e)||(e=d.zoom,document.firstElementChild.style.zoom=.001>Math.abs(e-1)?\"normal\":1/e)}})(window);(function(a,h){function g(c){this.plugin=c;this.ps;this.items=[];this.isCurrentVisible=this.isVisible=!1}g.prototype.createWindow=function(){var c=document.body,e=document.getElementsByTagName(\"head\")[0];c&&e&&(c=document.createElement(\"style\"),c.type=\"text/css\",c.innerHTML='.ih_main { margin: 0px; padding: 0px; width: 100%; height: 100%; display: inline-block; overflow: hidden; box-sizing: border-box; user-select: none; position: fixed; border: 1px solid #cfcfcf; } ul { margin: 0px; padding: 0px; width: 100%; height: 100%; list-style-type: none; outline:none; } li { padding: 5px; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; color: #373737; } li:hover { background-color: #D8DADC; } .li_selected { background-color: #D8DADC; color: #373737; }.li_selected:hover { background-color: #D8DADC; color: #373737; }',e.appendChild(c),document.body.style.background=\"#FFFFFF\",document.body.style.width=\"100%\",document.body.style.height=\"100%\",document.body.style.margin=\"0\",document.body.style.padding=\"0\",document.body.innerHTML='
                                                                    ',this.ps=new PerfectScrollbar(document.getElementById(\"ih_area\"),{minScrollbarLength:20}),this.updateScrolls(),this.createDefaultEvents())};g.prototype.setItems=function(c){this.items=c;for(var e=\"\",d=c.length,b=0;b',e+=c[b].text,e+=\"\";document.getElementById(\"ih_elements_id\").innerHTML=e;this.updateScrolls();this.scrollToSelected()};g.prototype.createDefaultEvents=function(){this.plugin.onExternalMouseUp=function(){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"mouseup\",!0,!0,a,1,0,0,0,0,!1,!1,!1,!1,0,null);document.dispatchEvent(e)};var c=this;a.onkeydown=function(e){switch(e.keyCode){case 27:c.isVisible&&(c.isVisible=!1,c.plugin.executeMethod(\"UnShowInputHelper\",[c.plugin.info.guid,!0]));break;case 38:case 40:case 9:case 36:case 35:case 33:case 34:for(var d=document.getElementsByTagName(\"li\"),b=-1,f=0;fb&&(b=0);break;case 40:b++;b>=d.length&&(b=d.length-1);break;case 9:b++;b>=d.length&&(b=0);break;case 36:b=0;break;case 35:b=d.length-1;break;case 33:case 34:f=1;var k=document.getElementById(\"ih_area\").clientHeight/24>>0;1b&&(b=0)):(b+=f,b>=d.length&&(b=b=d.length-1))}b .ps__thumb-y\":{\"border-color\":\"canvas-scroll-thumb-hover\"},a:{color:\"text-link !important\"},\"a:hover\":{color:\"text-link-hover !important\"},\"a:active\":{color:\"text-link-active !important\"},\"a:visited\":{color:\"text-link-visited !important\"},\"*::-webkit-scrollbar-track\":{background:\"background-normal\"},\"*::-webkit-scrollbar-track:hover\":{background:\"background-toolbar-additional\"},\"*::-webkit-scrollbar-thumb\":{\"background-color\":\"background-toolbar\",\"border-color\":\"border-regular-control\"},\"*::-webkit-scrollbar-thumb:hover\":{\"background-color\":\"canvas-scroll-thumb-hover\"}},e=!1,d=\"\";a.plugin_sendMessage=function(b){a.Asc.plugin.ie_channel?a.Asc.plugin.ie_channel.postMessage(b):a.parent.postMessage(b,\"*\")};a.plugin_onMessage=function(b){if(a.Asc.plugin&&\"string\"==typeof b.data){var f={};try{f=JSON.parse(b.data)}catch(l){f={}}b=f.type;if(f.guid!=a.Asc.plugin.guid){if(h!==f.guid)return;switch(b){case \"onExternalPluginMessage\":break;default:return}}\"init\"==b&&(a.Asc.plugin.info=f);if(h!==f.theme&&(!a.Asc.plugin.theme||\"onThemeChanged\"===b))if(a.Asc.plugin.theme=f.theme,a.Asc.plugin.onThemeChangedBase||(a.Asc.plugin.onThemeChangedBase=function(l){var n=\"\",q;for(q in c){n+=q+\" {\";var u=c[q],r;for(r in u){var p=u[r],t=p.indexOf(\" !important\");-1*/); var _iframe = document.getElementById(runObject.frameId); if (_iframe) { diff --git a/common/plugins/plugin_base.js b/common/plugins/plugin_base.js index 7e7af01956..91d25e311f 100644 --- a/common/plugins/plugin_base.js +++ b/common/plugins/plugin_base.js @@ -476,6 +476,10 @@ ".ps .ps__rail-y.ps--clicking" : {"background-color" : "background-toolbar" }, ".ps__thumb-y" : { "background-color" : "background-normal", "border-color" : "Border !important" }, ".ps__rail-y:hover > .ps__thumb-y" : {"border-color" : "canvas-scroll-thumb-hover" }, + ".ps .ps__rail-x:hover" : {"background-color" : "background-toolbar" }, + ".ps .ps__rail-x.ps--clicking" : {"background-color" : "background-toolbar" }, + ".ps__thumb-x" : { "background-color" : "background-normal", "border-color" : "Border !important" }, + ".ps__rail-x:hover > .ps__thumb-x" : {"border-color" : "canvas-scroll-thumb-hover" }, "a" : { "color" : "text-link !important" }, "a:hover" : { "color" : "text-link-hover !important" }, "a:active" : { "color" : "text-link-active !important" }, From 44fbf243336ff1f455b22473ef9b917b91893ff6 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Tue, 4 May 2021 20:34:11 +0300 Subject: [PATCH 308/381] [bug] Fix bug 50180 --- common/editorscommon.js | 4 +- vendor/delta.js | 1882 ++++++++++++++++++++------------------- 2 files changed, 949 insertions(+), 937 deletions(-) diff --git a/common/editorscommon.js b/common/editorscommon.js index 02dcf0189b..4edf721c62 100644 --- a/common/editorscommon.js +++ b/common/editorscommon.js @@ -6223,13 +6223,13 @@ var oReplaceNode = new CStringNode(sReplace, null); var oMatching = new CDiffMatching(); oMatching.put(oBaseNode, oReplaceNode); - var oDiff = new Diff(oBaseNode, oReplaceNode); + var oDiff = new AscCommon.Diff(oBaseNode, oReplaceNode); oDiff.equals = function(a, b) { return a.equals(b); }; oDiff.matchTrees(oMatching); - var oDeltaCollector = new DeltaCollector(oMatching, oBaseNode, oReplaceNode); + var oDeltaCollector = new AscCommon.DeltaCollector(oMatching, oBaseNode, oReplaceNode); oDeltaCollector.forEachChange(function(oOperation){ aDelta.push(new CStringChange(oOperation)); }); diff --git a/vendor/delta.js b/vendor/delta.js index a29975973f..49788e6ab7 100644 --- a/vendor/delta.js +++ b/vendor/delta.js @@ -30,1094 +30,1106 @@ * @module lcs */ -/** - * Create a new instance of the LCS implementation. - * - * @param a The first sequence - * @param b The second sequence - * - * @constructor - */ -function LCS(a, b) { - this.a = a; - this.b = b; -} +(function (window, undefined) { + /** + * Create a new instance of the LCS implementation. + * + * @param a The first sequence + * @param b The second sequence + * + * @constructor + */ + function LCS(a, b) { + this.a = a; + this.b = b; + } -/** - * Returns true if the sequence members a and b are equal. Override this - * method if your sequences contain special things. - */ -LCS.prototype.equals = function(a, b) { - return (a === b); -}; + /** + * Returns true if the sequence members a and b are equal. Override this + * method if your sequences contain special things. + */ + LCS.prototype.equals = function(a, b) { + return (a === b); + }; -/** - * Compute longest common subsequence using myers divide & conquer linear - * space algorithm. - * - * Call a callback for each snake which is part of the longest common - * subsequence. - * - * This algorithm works with strings and arrays. In order to modify the - * equality-test, just override the equals(a, b) method on the LCS - * object. - * - * @param callback A function(x, y) called for A[x] and B[y] for symbols - * taking part in the LCS. - * @param T Context object bound to "this" when the callback is - * invoked. - * @param limit A Limit instance constraining the window of operation to - * the given limit. If undefined the algorithm will iterate - * over the whole sequences a and b. - */ -LCS.prototype.compute = function(callback, T, limit) { - var midleft = new KPoint(), - midright = new KPoint(), - d; + /** + * Compute longest common subsequence using myers divide & conquer linear + * space algorithm. + * + * Call a callback for each snake which is part of the longest common + * subsequence. + * + * This algorithm works with strings and arrays. In order to modify the + * equality-test, just override the equals(a, b) method on the LCS + * object. + * + * @param callback A function(x, y) called for A[x] and B[y] for symbols + * taking part in the LCS. + * @param T Context object bound to "this" when the callback is + * invoked. + * @param limit A Limit instance constraining the window of operation to + * the given limit. If undefined the algorithm will iterate + * over the whole sequences a and b. + */ + LCS.prototype.compute = function(callback, T, limit) { + var midleft = new KPoint(), + midright = new KPoint(), + d; - if (typeof limit === 'undefined') { - limit = this.defaultLimit(); - } + if (typeof limit === 'undefined') { + limit = this.defaultLimit(); + } - // Return if there is nothing left - if (limit.N <= 0 && limit.M <= 0) { - return 0; - } + // Return if there is nothing left + if (limit.N <= 0 && limit.M <= 0) { + return 0; + } - // Callback for each right-edge when M is zero and return number of - // edit script operations. - if (limit.N > 0 && limit.M === 0) { - midleft.set(0, 0).translate(limit.left); - midright.set(1, 1).translate(limit.left); - for (d = 0; d < limit.N; d++) { - callback.call(T, midleft, midright); - midleft.moveright(); - midright.moveright(); + // Callback for each right-edge when M is zero and return number of + // edit script operations. + if (limit.N > 0 && limit.M === 0) { + midleft.set(0, 0).translate(limit.left); + midright.set(1, 1).translate(limit.left); + for (d = 0; d < limit.N; d++) { + callback.call(T, midleft, midright); + midleft.moveright(); + midright.moveright(); + } + return d; } - return d; - } - // Callback for each down-edge when N is zero and return number of edit - // script operations. - if (limit.N === 0 && limit.M > 0) { - midleft.set(0, 0).translate(limit.left); - midright.set(0, -1).translate(limit.left); - for (d = 0; d < limit.M; d++) { - callback.call(T, midleft, midright); - midleft.movedown(); - midright.movedown(); + // Callback for each down-edge when N is zero and return number of edit + // script operations. + if (limit.N === 0 && limit.M > 0) { + midleft.set(0, 0).translate(limit.left); + midright.set(0, -1).translate(limit.left); + for (d = 0; d < limit.M; d++) { + callback.call(T, midleft, midright); + midleft.movedown(); + midright.movedown(); + } + return d; } - return d; - } - // Find the middle snake and store the result in midleft and midright - d = this.middleSnake(midleft, midright, limit); + // Find the middle snake and store the result in midleft and midright + d = this.middleSnake(midleft, midright, limit); - if (d === 0) { - // No single insert / delete operation was identified by the middle - // snake algorithm, this means that all the symbols between left and - // right are equal -> one straight diagonal on k=0 - if (!limit.left.equal(limit.right)) { - callback.call(T, limit.left, limit.right); - } - } - else if (d === 1) { - // Middle-snake algorithm identified exactly one operation. Report - // the involved snake(s) to the caller. - if (!limit.left.equal(midleft)) { - callback.call(T, limit.left, midleft); + if (d === 0) { + // No single insert / delete operation was identified by the middle + // snake algorithm, this means that all the symbols between left and + // right are equal -> one straight diagonal on k=0 + if (!limit.left.equal(limit.right)) { + callback.call(T, limit.left, limit.right); + } } + else if (d === 1) { + // Middle-snake algorithm identified exactly one operation. Report + // the involved snake(s) to the caller. + if (!limit.left.equal(midleft)) { + callback.call(T, limit.left, midleft); + } - if (!midleft.equal(midright)) { - callback.call(T, midleft, midright); - } + if (!midleft.equal(midright)) { + callback.call(T, midleft, midright); + } - if (!midright.equal(limit.right)) { - callback.call(T, midright, limit.right); - } - } - else { - // Recurse if the middle-snake algorithm encountered more than one - // operation. - if (!limit.left.equal(midleft)) { - this.compute(callback, T, new Limit(limit.left, midleft)); + if (!midright.equal(limit.right)) { + callback.call(T, midright, limit.right); + } } + else { + // Recurse if the middle-snake algorithm encountered more than one + // operation. + if (!limit.left.equal(midleft)) { + this.compute(callback, T, new Limit(limit.left, midleft)); + } - if (!midleft.equal(midright)) { - callback.call(T, midleft, midright); - } + if (!midleft.equal(midright)) { + callback.call(T, midleft, midright); + } - if (!midright.equal(limit.right)) { - this.compute(callback, T, new Limit(midright, limit.right)); + if (!midright.equal(limit.right)) { + this.compute(callback, T, new Limit(midright, limit.right)); + } } - } - return d; -}; + return d; + }; -/** - * Call a callback for each symbol which is part of the longest common - * subsequence between A and B. - * - * Given that the two sequences A and B were supplied to the LCS - * constructor, invoke the callback for each pair A[x], B[y] which is part - * of the longest common subsequence of A and B. - * - * This algorithm works with strings and arrays. In order to modify the - * equality-test, just override the equals(a, b) method on the LCS - * object. - * - * Usage: - * - * var lcs = []; - * var A = 'abcabba'; - * var B = 'cbabac'; - * var l = new LCS(A, B); - * l.forEachCommonSymbol(function(x, y) { + /** + * Call a callback for each symbol which is part of the longest common + * subsequence between A and B. + * + * Given that the two sequences A and B were supplied to the LCS + * constructor, invoke the callback for each pair A[x], B[y] which is part + * of the longest common subsequence of A and B. + * + * This algorithm works with strings and arrays. In order to modify the + * equality-test, just override the equals(a, b) method on the LCS + * object. + * + * Usage: + * + * var lcs = []; + * var A = 'abcabba'; + * var B = 'cbabac'; + * var l = new LCS(A, B); + * l.forEachCommonSymbol(function(x, y) { * lcs.push(A[x]); * }); - * console.log(lcs); - * // -> [ 'c', 'a', 'b', 'a' ] - * - * - * @param callback A function(x, y) called for A[x] and B[y] for symbols - * taking part in the LCS. - * @param T Context object bound to "this" when the callback is - * invoked. - */ -LCS.prototype.forEachCommonSymbol = function(callback, T) { - return this.compute(function(left, right) { - this.forEachPositionInSnake(left, right, callback, T); - }, this); -}; + * console.log(lcs); + * // -> [ 'c', 'a', 'b', 'a' ] + * + * + * @param callback A function(x, y) called for A[x] and B[y] for symbols + * taking part in the LCS. + * @param T Context object bound to "this" when the callback is + * invoked. + */ + LCS.prototype.forEachCommonSymbol = function(callback, T) { + return this.compute(function(left, right) { + this.forEachPositionInSnake(left, right, callback, T); + }, this); + }; -/** - * Internal use. Compute new values for the next head on the given k-line - * in forward direction by examining the results of previous calculations - * in V in the neighborhood of the k-line k. - * - * @param head (Output) Reference to a KPoint which will be populated - * with the new values - * @param k (In) Current k-line - * @param kmin (In) Lowest k-line in current d-round - * @param kmax (In) Highest k-line in current d-round - * @param limit (In) Current lcs search limits (left, right, N, M, delta, dmax) - * @param V (In-/Out) Vector containing the results of previous - * calculations. This vector gets updated automatically by - * nextSnakeHeadForward method. - */ -LCS.prototype.nextSnakeHeadForward = function(head, k, kmin, kmax, limit, V) { - var k0, x, bx, by, n; - - // Determine the preceeding snake head. Pick the one whose furthest - // reaching x value is greatest. - if (k === kmin || (k !== kmax && V[k-1] < V[k+1])) { - // Furthest reaching snake is above (k+1), move down. - k0 = k+1; - x = V[k0]; - } - else { - // Furthest reaching snake is left (k-1), move right. - k0 = k-1; - x = V[k0] + 1; - } + /** + * Internal use. Compute new values for the next head on the given k-line + * in forward direction by examining the results of previous calculations + * in V in the neighborhood of the k-line k. + * + * @param head (Output) Reference to a KPoint which will be populated + * with the new values + * @param k (In) Current k-line + * @param kmin (In) Lowest k-line in current d-round + * @param kmax (In) Highest k-line in current d-round + * @param limit (In) Current lcs search limits (left, right, N, M, delta, dmax) + * @param V (In-/Out) Vector containing the results of previous + * calculations. This vector gets updated automatically by + * nextSnakeHeadForward method. + */ + LCS.prototype.nextSnakeHeadForward = function(head, k, kmin, kmax, limit, V) { + var k0, x, bx, by, n; + + // Determine the preceeding snake head. Pick the one whose furthest + // reaching x value is greatest. + if (k === kmin || (k !== kmax && V[k-1] < V[k+1])) { + // Furthest reaching snake is above (k+1), move down. + k0 = k+1; + x = V[k0]; + } + else { + // Furthest reaching snake is left (k-1), move right. + k0 = k-1; + x = V[k0] + 1; + } - // Follow the diagonal as long as there are common values in a and b. - bx = limit.left.x; - by = bx - (limit.left.k + k); - n = Math.min(limit.N, limit.M + k); - while (x < n && this.equals(this.a[bx + x], this.b[by + x])) { - x++; - } + // Follow the diagonal as long as there are common values in a and b. + bx = limit.left.x; + by = bx - (limit.left.k + k); + n = Math.min(limit.N, limit.M + k); + while (x < n && this.equals(this.a[bx + x], this.b[by + x])) { + x++; + } - // Store x value of snake head after traversing the diagonal in forward - // direction. - head.set(x, k).translate(limit.left); + // Store x value of snake head after traversing the diagonal in forward + // direction. + head.set(x, k).translate(limit.left); - // Memozie furthest reaching x for k - V[k] = x; + // Memozie furthest reaching x for k + V[k] = x; - // Return k-value of preceeding snake head - return k0; -}; + // Return k-value of preceeding snake head + return k0; + }; -/** - * Internal use. Compute new values for the next head on the given k-line - * in reverse direction by examining the results of previous calculations - * in V in the neighborhood of the k-line k. - * - * @param head (Output) Reference to a KPoint which will be populated - * with the new values - * @param k (In) Current k-line - * @param kmin (In) Lowest k-line in current d-round - * @param kmax (In) Highest k-line in current d-round - * @param limit (In) Current lcs search limits (left, right, N, M, delta, dmax) - * @param V (In-/Out) Vector containing the results of previous - * calculations. This vector gets updated automatically by - * nextSnakeHeadForward method. - */ -LCS.prototype.nextSnakeHeadBackward = function(head, k, kmin, kmax, limit, V) { - var k0, x, bx, by, n; - - // Determine the preceeding snake head. Pick the one whose furthest - // reaching x value is greatest. - if (k === kmax || (k !== kmin && V[k-1] < V[k+1])) { - // Furthest reaching snake is underneath (k-1), move up. - k0 = k-1; - x = V[k0]; - } - else { - // Furthest reaching snake is left (k-1), move right. - k0 = k+1; - x = V[k0]-1; - } + /** + * Internal use. Compute new values for the next head on the given k-line + * in reverse direction by examining the results of previous calculations + * in V in the neighborhood of the k-line k. + * + * @param head (Output) Reference to a KPoint which will be populated + * with the new values + * @param k (In) Current k-line + * @param kmin (In) Lowest k-line in current d-round + * @param kmax (In) Highest k-line in current d-round + * @param limit (In) Current lcs search limits (left, right, N, M, delta, dmax) + * @param V (In-/Out) Vector containing the results of previous + * calculations. This vector gets updated automatically by + * nextSnakeHeadForward method. + */ + LCS.prototype.nextSnakeHeadBackward = function(head, k, kmin, kmax, limit, V) { + var k0, x, bx, by, n; + + // Determine the preceeding snake head. Pick the one whose furthest + // reaching x value is greatest. + if (k === kmax || (k !== kmin && V[k-1] < V[k+1])) { + // Furthest reaching snake is underneath (k-1), move up. + k0 = k-1; + x = V[k0]; + } + else { + // Furthest reaching snake is left (k-1), move right. + k0 = k+1; + x = V[k0]-1; + } - // Store x value of snake head before traversing the diagonal in - // reverse direction. - head.set(x, k).translate(limit.left); + // Store x value of snake head before traversing the diagonal in + // reverse direction. + head.set(x, k).translate(limit.left); - // Follow the diagonal as long as there are common values in a and b. - bx = limit.left.x - 1; - by = bx - (limit.left.k + k); - n = Math.max(k, 0); - while (x > n && this.equals(this.a[bx + x], this.b[by + x])) { - x--; - } + // Follow the diagonal as long as there are common values in a and b. + bx = limit.left.x - 1; + by = bx - (limit.left.k + k); + n = Math.max(k, 0); + while (x > n && this.equals(this.a[bx + x], this.b[by + x])) { + x--; + } - // Memozie furthest reaching x for k - V[k] = x; + // Memozie furthest reaching x for k + V[k] = x; - // Return k-value of preceeding snake head - return k0; -}; + // Return k-value of preceeding snake head + return k0; + }; -/** - * Internal use. Find the middle snake and set lefthead to the left end and - * righthead to the right end. - * - * @param lefthead (Output) A reference to a KPoint which will be - * populated with the values corresponding to the left end - * of the middle snake. - * @param righthead (Output) A reference to a KPoint which will be - * populated with the values corresponding to the right - * end of the middle snake. - * @param limit (In) Current lcs search limits (left, right, N, M, delta, dmax) - * - * @returns d, number of edit script operations encountered within - * the given limit - */ -LCS.prototype.middleSnake = function (lefthead, righthead, limit) { - var d, k, head, k0; - var delta = limit.delta; - var dmax = Math.ceil(limit.dmax / 2); - var checkBwSnake = (delta % 2 === 0); - var Vf = {}; - var Vb = {}; - - Vf[1] = 0; - Vb[delta-1] = limit.N; - for (d = 0; d <= dmax; d++) { - for (k = -d; k <= d; k+=2) { - k0 = this.nextSnakeHeadForward(righthead, k, -d, d, limit, Vf); - - // check for overlap - if (!checkBwSnake && k >= -d-1+delta && k <= d-1+delta) { - if (Vf[k] >= Vb[k]) { - // righthead already contains the right stuff, now set - // the lefthead to the values of the last k-line. - lefthead.set(Vf[k0], k0).translate(limit.left); - // return the number of edit script operations - return 2 * d - 1; + /** + * Internal use. Find the middle snake and set lefthead to the left end and + * righthead to the right end. + * + * @param lefthead (Output) A reference to a KPoint which will be + * populated with the values corresponding to the left end + * of the middle snake. + * @param righthead (Output) A reference to a KPoint which will be + * populated with the values corresponding to the right + * end of the middle snake. + * @param limit (In) Current lcs search limits (left, right, N, M, delta, dmax) + * + * @returns d, number of edit script operations encountered within + * the given limit + */ + LCS.prototype.middleSnake = function (lefthead, righthead, limit) { + var d, k, head, k0; + var delta = limit.delta; + var dmax = Math.ceil(limit.dmax / 2); + var checkBwSnake = (delta % 2 === 0); + var Vf = {}; + var Vb = {}; + + Vf[1] = 0; + Vb[delta-1] = limit.N; + for (d = 0; d <= dmax; d++) { + for (k = -d; k <= d; k+=2) { + k0 = this.nextSnakeHeadForward(righthead, k, -d, d, limit, Vf); + + // check for overlap + if (!checkBwSnake && k >= -d-1+delta && k <= d-1+delta) { + if (Vf[k] >= Vb[k]) { + // righthead already contains the right stuff, now set + // the lefthead to the values of the last k-line. + lefthead.set(Vf[k0], k0).translate(limit.left); + // return the number of edit script operations + return 2 * d - 1; + } } } - } - for (k = -d+delta; k <= d+delta; k+=2) { - k0 = this.nextSnakeHeadBackward(lefthead, k, -d+delta, d+delta, limit, Vb); - - // check for overlap - if (checkBwSnake && k >= -d && k <= d) { - if (Vf[k] >= Vb[k]) { - // lefthead already contains the right stuff, now set - // the righthead to the values of the last k-line. - righthead.set(Vb[k0], k0).translate(limit.left); - // return the number of edit script operations - return 2 * d; + for (k = -d+delta; k <= d+delta; k+=2) { + k0 = this.nextSnakeHeadBackward(lefthead, k, -d+delta, d+delta, limit, Vb); + + // check for overlap + if (checkBwSnake && k >= -d && k <= d) { + if (Vf[k] >= Vb[k]) { + // lefthead already contains the right stuff, now set + // the righthead to the values of the last k-line. + righthead.set(Vb[k0], k0).translate(limit.left); + // return the number of edit script operations + return 2 * d; + } } } } - } -}; + }; -/** - * Return the default limit spanning the whole input - */ -LCS.prototype.defaultLimit = function() { - return new Limit( - new KPoint(0,0), - new KPoint(this.a.length, this.a.length - this.b.length)); -}; + /** + * Return the default limit spanning the whole input + */ + LCS.prototype.defaultLimit = function() { + return new Limit( + new KPoint(0,0), + new KPoint(this.a.length, this.a.length - this.b.length)); + }; -/** - * Invokes a function for each position in the snake between the left and - * the right snake head. - * - * @param left Left KPoint - * @param right Right KPoint - * @param callback Callback of the form function(x, y) - * @param T Context object bound to "this" when the callback is - * invoked. - */ -LCS.prototype.forEachPositionInSnake = function(left, right, callback, T) { - var k = right.k; - var x = (k > left.k) ? left.x + 1 : left.x; - var n = right.x; - - while (x < n) { - callback.call(T, x, x-k); - x++; - } -}; + /** + * Invokes a function for each position in the snake between the left and + * the right snake head. + * + * @param left Left KPoint + * @param right Right KPoint + * @param callback Callback of the form function(x, y) + * @param T Context object bound to "this" when the callback is + * invoked. + */ + LCS.prototype.forEachPositionInSnake = function(left, right, callback, T) { + var k = right.k; + var x = (k > left.k) ? left.x + 1 : left.x; + var n = right.x; + + while (x < n) { + callback.call(T, x, x-k); + x++; + } + }; -/** - * Create a new KPoint instance. - * - * A KPoint represents a point identified by an x-coordinate and the - * number of the k-line it is located at. - * - * @constructor - */ -var KPoint = function(x, k) { /** - * The x-coordinate of the k-point. + * Create a new KPoint instance. + * + * A KPoint represents a point identified by an x-coordinate and the + * number of the k-line it is located at. + * + * @constructor */ - this.x = x; + var KPoint = function(x, k) { + /** + * The x-coordinate of the k-point. + */ + this.x = x; + + /** + * The k-line on which the k-point is located at. + */ + this.k = k; + }; + /** - * The k-line on which the k-point is located at. + * Return a new copy of this k-point. */ - this.k = k; -}; + KPoint.prototype.copy = function() { + return new KPoint(this.x, this.k); + }; -/** - * Return a new copy of this k-point. - */ -KPoint.prototype.copy = function() { - return new KPoint(this.x, this.k); -}; + /** + * Set the values of a k-point. + */ + KPoint.prototype.set = function(x, k) { + this.x = x; + this.k = k; + return this; + }; -/** - * Set the values of a k-point. - */ -KPoint.prototype.set = function(x, k) { - this.x = x; - this.k = k; - return this; -}; - + /** + * Translate this k-point by adding the values of the given k-point. + */ + KPoint.prototype.translate = function(other) { + this.x += other.x; + this.k += other.k; + return this; + }; -/** - * Translate this k-point by adding the values of the given k-point. - */ -KPoint.prototype.translate = function(other) { - this.x += other.x; - this.k += other.k; - return this; -}; + /** + * Move the point left by d units + */ + KPoint.prototype.moveleft = function(d) { + this.x -= d || 1; + this.k -= d || 1; + return this; + }; -/** - * Move the point left by d units - */ -KPoint.prototype.moveleft = function(d) { - this.x -= d || 1; - this.k -= d || 1; - return this; -}; + /** + * Move the point right by d units + */ + KPoint.prototype.moveright = function(d) { + this.x += d || 1; + this.k += d || 1; + return this; + }; -/** - * Move the point right by d units - */ -KPoint.prototype.moveright = function(d) { - this.x += d || 1; - this.k += d || 1; - return this; -}; + /** + * Move the point up by d units + */ + KPoint.prototype.moveup = function(d) { + this.k -= d || 1; + return this; + }; -/** - * Move the point up by d units - */ -KPoint.prototype.moveup = function(d) { - this.k -= d || 1; - return this; -}; + /** + * Move the point down by d units + */ + KPoint.prototype.movedown = function(d) { + this.k += d || 1; + return this; + }; -/** - * Move the point down by d units - */ -KPoint.prototype.movedown = function(d) { - this.k += d || 1; - return this; -}; + /** + * Returns true if the given k-point has equal values + */ + KPoint.prototype.equal = function(other) { + return (this.x === other.x && this.k === other.k); + }; -/** - * Returns true if the given k-point has equal values - */ -KPoint.prototype.equal = function(other) { - return (this.x === other.x && this.k === other.k); -}; + /** + * Create a new LCS Limit instance. This is a pure data object which holds + * precalculated parameters for the lcs algorithm. + * + * @constructor + */ + var Limit = function(left, right) { + this.left = left; + this.right = right; + this.delta = right.k - left.k; + this.N = right.x - left.x; + this.M = this.N - this.delta; + this.dmax = this.N + this.M; + }; + + function Anchor(root, base, index) { + if (!root) { + throw new Error('Parameter error: need a reference to the tree root'); + } -/** - * Create a new LCS Limit instance. This is a pure data object which holds - * precalculated parameters for the lcs algorithm. - * - * @constructor - */ -var Limit = function(left, right) { - this.left = left; - this.right = right; - this.delta = right.k - left.k; - this.N = right.x - left.x; - this.M = this.N - this.delta; - this.dmax = this.N + this.M; -}; - -function Anchor(root, base, index) { - if (!root) { - throw new Error('Parameter error: need a reference to the tree root'); + if (!base || (root === base && typeof index === 'undefined')) { + this.base = undefined; + this.target = root; + this.index = undefined; + } + else if (typeof index === 'undefined') { + this.base = base.par; + this.target = base; + this.index = base.childidx; + } + else { + this.base = base; + this.target = base.children[index]; + this.index = index; + } } - if (!base || (root === base && typeof index === 'undefined')) { - this.base = undefined; - this.target = root; - this.index = undefined; - } - else if (typeof index === 'undefined') { - this.base = base.par; - this.target = base; - this.index = base.childidx; - } - else { - this.base = base; - this.target = base.children[index]; - this.index = index; - } -} + /** + * @constant + */ + var UPDATE_NODE_TYPE = 1; -/** - * @constant - */ -var UPDATE_NODE_TYPE = 1; + /** + * @constant + */ + var UPDATE_FOREST_TYPE = 2; -/** - * @constant - */ -var UPDATE_FOREST_TYPE = 2; + /** + * Private utility class: Creates a new ParameterBuffer instance. + * + * @constructor + */ + function ParameterBuffer(callback, T) { + this.callback = callback; + this.T = T; + this.removes = []; + this.inserts = []; + } -/** - * Private utility class: Creates a new ParameterBuffer instance. - * - * @constructor - */ -function ParameterBuffer(callback, T) { - this.callback = callback; - this.T = T; - this.removes = []; - this.inserts = []; -} + /** + * Append an item to the end of the buffer + */ + ParameterBuffer.prototype.pushRemove = function(item) { + this.removes.push(item); + }; -/** - * Append an item to the end of the buffer - */ -ParameterBuffer.prototype.pushRemove = function(item) { - this.removes.push(item); -}; + /** + * Append an item to the end of the buffer + */ + ParameterBuffer.prototype.pushInsert = function(item) { + this.inserts.push(item); + }; -/** - * Append an item to the end of the buffer - */ -ParameterBuffer.prototype.pushInsert = function(item) { - this.inserts.push(item); -}; + /** + * Invoke callback with the contents of the buffer array and empty the + * buffer afterwards. + */ + ParameterBuffer.prototype.flush = function() { + if (this.removes.length > 0 || this.inserts.length > 0) { + this.callback.call(this.T, this.removes, this.inserts); + this.removes = []; + this.inserts = []; + } + }; -/** - * Invoke callback with the contents of the buffer array and empty the - * buffer afterwards. - */ -ParameterBuffer.prototype.flush = function() { - if (this.removes.length > 0 || this.inserts.length > 0) { - this.callback.call(this.T, this.removes, this.inserts); - this.removes = []; - this.inserts = []; + /** + * Utility class to construct a sequence of attached operations from a + * matching. + * + * @constructor + */ + function DeltaCollector(matching, root_a, root_b) { + this.matching = matching; + this.root_a = root_a; + this.root_b = root_b || matching.get(root_a); } -}; - -/** - * Utility class to construct a sequence of attached operations from a - * matching. - * - * @constructor - */ -function DeltaCollector(matching, root_a, root_b) { - this.matching = matching; - this.root_a = root_a; - this.root_b = root_b || matching.get(root_a); -} - - -/** - * Default equality test. Override this method if you need to test other - * node properties instead/beside node value. - */ -DeltaCollector.prototype.equals = function(a, b) { - return a.value === b.value; -}; -/** - * Invoke a callback for each changeset detected between tree a and tree b - * according to the given matching. - * - * @param callback A function(type, path, removes, inserts) called - * for each detected set of changes. - * @param T Context object bound to "this" when the callback is - * @param root_a (internal use) Root node in tree a - * @param root_b (internal use) Root node in tree b - * invoked. - * @param path (internal use) current path relative to base node. Used - * from recursive calls. - * - */ -DeltaCollector.prototype.forEachChange = function(callback, T, root_a, root_b, - path) { - var parambuf, i, k, a_nodes, b_nodes, a, b, op, me = this; + /** + * Default equality test. Override this method if you need to test other + * node properties instead/beside node value. + */ + DeltaCollector.prototype.equals = function(a, b) { + return a.value === b.value; + }; - // Initialize stuff if not provided - path = path || []; - root_a = root_a || this.root_a; - root_b = root_b || this.root_b; - if (root_a !== this.matching.get(root_b)) { - throw new Error('Parameter error, root_a and root_b must be partners'); - } + /** + * Invoke a callback for each changeset detected between tree a and tree b + * according to the given matching. + * + * @param callback A function(type, path, removes, inserts) called + * for each detected set of changes. + * @param T Context object bound to "this" when the callback is + * @param root_a (internal use) Root node in tree a + * @param root_b (internal use) Root node in tree b + * invoked. + * @param path (internal use) current path relative to base node. Used + * from recursive calls. + * + */ + DeltaCollector.prototype.forEachChange = function(callback, T, root_a, root_b, + path) { + var parambuf, i, k, a_nodes, b_nodes, a, b, op, me = this; - // Flag node-update if value of partners do not match - if (!this.equals(root_a, root_b)) { - op = new AttachedOperation( - new Anchor(this.root_a, root_a), - UPDATE_NODE_TYPE, - path.slice(), - [root_a], [root_b]); - callback.call(T, op); - } + // Initialize stuff if not provided + path = path || []; + root_a = root_a || this.root_a; + root_b = root_b || this.root_b; - // Operation aggregator for subtree changes - parambuf = new ParameterBuffer(function(removes, inserts) { - var start = i - removes.length; - var op = new AttachedOperation( - new Anchor(me.root_a, root_a, start), - UPDATE_FOREST_TYPE, - path.concat(start), - removes, inserts); - callback.call(T, op); - }); - - - // Descend one level - a_nodes = root_a.children; - b_nodes = root_b.children; - i = 0; k = 0; - while (a_nodes[i] || b_nodes[k]) { - a = a_nodes[i]; - b = b_nodes[k]; - - if (a && !this.matching.get(a)) { - parambuf.pushRemove(a); - i++; + if (root_a !== this.matching.get(root_b)) { + throw new Error('Parameter error, root_a and root_b must be partners'); } - else if (b && !this.matching.get(b)) { - parambuf.pushInsert(b); - k++; + + // Flag node-update if value of partners do not match + if (!this.equals(root_a, root_b)) { + op = new AttachedOperation( + new Anchor(this.root_a, root_a), + UPDATE_NODE_TYPE, + path.slice(), + [root_a], [root_b]); + callback.call(T, op); } - else if (a && b && a === this.matching.get(b)) { - // Flush item aggregators - parambuf.flush(); - // Recurse - this.forEachChange(callback, T, a, b, path.concat(i)); + // Operation aggregator for subtree changes + parambuf = new ParameterBuffer(function(removes, inserts) { + var start = i - removes.length; + var op = new AttachedOperation( + new Anchor(me.root_a, root_a, start), + UPDATE_FOREST_TYPE, + path.concat(start), + removes, inserts); + callback.call(T, op); + }); + + + // Descend one level + a_nodes = root_a.children; + b_nodes = root_b.children; + i = 0; k = 0; + while (a_nodes[i] || b_nodes[k]) { + a = a_nodes[i]; + b = b_nodes[k]; + + if (a && !this.matching.get(a)) { + parambuf.pushRemove(a); + i++; + } + else if (b && !this.matching.get(b)) { + parambuf.pushInsert(b); + k++; + } + else if (a && b && a === this.matching.get(b)) { + // Flush item aggregators + parambuf.flush(); - i++; - k++; - } - else { - throw new Error('Matching is not consistent.'); + // Recurse + this.forEachChange(callback, T, a, b, path.concat(i)); + + i++; + k++; + } + else { + throw new Error('Matching is not consistent.'); + } } - } - parambuf.flush(); + parambuf.flush(); - return; -}; + return; + }; -/** - * Construct a new attached operation instance. An attached operation is always - * bound to a tree-node identified thru the anchor. - * - * @constructor - */ -function AttachedOperation(anchor, type, path, remove, insert, handler) { /** - * The anchor where the operation is attached + * Construct a new attached operation instance. An attached operation is always + * bound to a tree-node identified thru the anchor. + * + * @constructor */ - this.anchor = anchor; + function AttachedOperation(anchor, type, path, remove, insert, handler) { + /** + * The anchor where the operation is attached + */ + this.anchor = anchor; - /** - * The operation type, one of UPDATE_NODE_TYPE, UPDATE_FOREST_TYPE - */ - this.type = type; + /** + * The operation type, one of UPDATE_NODE_TYPE, UPDATE_FOREST_TYPE + */ + this.type = type; - /** - * An array of integers representing the top-down path from the root - * node to the anchor of this operation. The anchor point always is - * the first position after the leading context values. For insert - * operations it will must point to the first element of the tail - * context. - */ - this.path = path; + /** + * An array of integers representing the top-down path from the root + * node to the anchor of this operation. The anchor point always is + * the first position after the leading context values. For insert + * operations it will must point to the first element of the tail + * context. + */ + this.path = path; + /** + * Null (insert), one tree.Node (update) or sequence of nodes (delete) + */ + this.remove = remove; + + + /** + * Null (remove), one tree.Node (update) or sequence of nodes (insert) + */ + this.insert = insert; + + + /** + * A handler object used to toggle operation state in the document. I.e. + * apply and unapply the operation. + */ + this.handler = handler; + } + /** - * Null (insert), one tree.Node (update) or sequence of nodes (delete) + * @fileoverview Implementation of the "skelmatch" tree matching algorithm. + * + * This algorithm is heavily inspired by the XCC tree matching algorithm by + * Sebastian Rönnau and Uwe M. Borghoff. It shares the idea that the + * interesting bits are found towards the bottom of the tree. + * + * Skel-match divides the problem of finding a partial matching between two + * structured documents represented by ordered trees into two subproblems: + * 1. Detect changes in document content (Longest Common Subsequence among + * leaf-nodes). + * 2. Detect changes in remaining document structure. + * + * By default leaf-nodes are considered content, and internal nodes are + * treated as structure. */ - this.remove = remove; /** - * Null (remove), one tree.Node (update) or sequence of nodes (insert) + * Create a new instance of the XCC diff implementation. + * + * @param {tree.Node} a Root node of original tree + * @param {tree.Node} b Root node of changed tree + * + * @constructor + * @name skelmatch.Diff */ - this.insert = insert; + function Diff(a, b) { + this.a = a; // Root node of tree a + this.b = b; // Root node of tree b + } /** - * A handler object used to toggle operation state in the document. I.e. - * apply and unapply the operation. + * Create a matching between the two nodes using the skelmatch algorithm + * + * @param {tree.Matching} matching A tree matching which will be populated by + * diffing tree a and b. + * + * @memberOf skelmatch.Diff */ - this.handler = handler; -} + Diff.prototype.matchTrees = function(matching) { + // Associate root nodes + matching.put(this.b, this.a); -/** - * @fileoverview Implementation of the "skelmatch" tree matching algorithm. - * - * This algorithm is heavily inspired by the XCC tree matching algorithm by - * Sebastian Rönnau and Uwe M. Borghoff. It shares the idea that the - * interesting bits are found towards the bottom of the tree. - * - * Skel-match divides the problem of finding a partial matching between two - * structured documents represented by ordered trees into two subproblems: - * 1. Detect changes in document content (Longest Common Subsequence among - * leaf-nodes). - * 2. Detect changes in remaining document structure. - * - * By default leaf-nodes are considered content, and internal nodes are - * treated as structure. - */ + this.matchContent(matching); + this.matchStructure(matching); + }; -/** - * Create a new instance of the XCC diff implementation. - * - * @param {tree.Node} a Root node of original tree - * @param {tree.Node} b Root node of changed tree - * - * @constructor - * @name skelmatch.Diff - */ -function Diff(a, b) { - this.a = a; // Root node of tree a - this.b = b; // Root node of tree b -} + /** + * Return true if the given node should be treated as a content node. Override + * this method in order to implement custom logic to decide whether a node + * should be examined during the initial LCS (content) or during the second + * pass. Default: Return true for leaf-nodes. + * + * @param {tree.Node} The node which should be examined. + * + * @return {boolean} True if the node is a content-node, false otherwise. + * + * @memberOf skelmatch.Diff + */ + Diff.prototype.isContent = function(node) { + return (node.children.length === 0); + }; -/** - * Create a matching between the two nodes using the skelmatch algorithm - * - * @param {tree.Matching} matching A tree matching which will be populated by - * diffing tree a and b. - * - * @memberOf skelmatch.Diff - */ -Diff.prototype.matchTrees = function(matching) { - // Associate root nodes - matching.put(this.b, this.a); + /** + * Return true if the given node should be treated as a structure node. + * Default: Return true for internal nodes. + * + * @param {tree.Node} The node which should be examined. + * + * @return {boolean} True if the node is a content-node, false otherwise. + * + * @memberOf skelmatch.Diff + */ + Diff.prototype.isStructure = function(node) { + return !this.isContent(node); + }; - this.matchContent(matching); - this.matchStructure(matching); -}; + /** + * Default equality test for node values. Override this method if you need to + * test other node properties instead/beside node value. + * + * @param {tree.Node} a Candidate node from tree a + * @param {tree.Node} b Candidate node from tree b + * + * @return {boolean} Return true if the value of the two nodes is equal. + * + * @memberOf skelmatch.Diff + */ + Diff.prototype.equals = function(a, b) { + return (a.value === b.value); + }; -/** - * Return true if the given node should be treated as a content node. Override - * this method in order to implement custom logic to decide whether a node - * should be examined during the initial LCS (content) or during the second - * pass. Default: Return true for leaf-nodes. - * - * @param {tree.Node} The node which should be examined. - * - * @return {boolean} True if the node is a content-node, false otherwise. - * - * @memberOf skelmatch.Diff - */ -Diff.prototype.isContent = function(node) { - return (node.children.length === 0); -}; + /** + * Default equality test for content nodes. Also test all descendants of a and + * b for equality. Override this method if you want to use tree hashing for + * this purpose. + * + * @param {tree.Node} a Candidate node from tree a + * @param {tree.Node} b Candidate node from tree b + * + * @return {boolean} Return true if the value of the two nodes is equal. + * + * @memberOf skelmatch.Diff + */ + Diff.prototype.equalContent = function(a, b) { + var i; -/** - * Return true if the given node should be treated as a structure node. - * Default: Return true for internal nodes. - * - * @param {tree.Node} The node which should be examined. - * - * @return {boolean} True if the node is a content-node, false otherwise. - * - * @memberOf skelmatch.Diff - */ -Diff.prototype.isStructure = function(node) { - return !this.isContent(node); -}; + if (a.children.length !== b.children.length) { + return false; + } + for (i = 0; i < a.children.length; i++) { + if (!this.equalContent(a.children[i], b.children[i])) { + return false; + } + } + return this.equals(a, b); + }; -/** - * Default equality test for node values. Override this method if you need to - * test other node properties instead/beside node value. - * - * @param {tree.Node} a Candidate node from tree a - * @param {tree.Node} b Candidate node from tree b - * - * @return {boolean} Return true if the value of the two nodes is equal. - * - * @memberOf skelmatch.Diff - */ -Diff.prototype.equals = function(a, b) { - return (a.value === b.value); -}; + /** + * Default equality test for structure nodes. Return true if ancestors either + * have the same node value or if they form a pair. Override this method if you + * want to use tree hashing for this purpose. + * + * @param {tree.Node} a Candidate node from tree a + * @param {tree.Node} b Candidate node from tree b + * + * @return {boolean} Return true if the value of the two nodes is equal. + * + * @memberOf skelmatch.Diff + */ + Diff.prototype.equalStructure = function(matching, a, b) { + if (!matching.get(a) && !matching.get(b)) { + // Return true if all ancestors fullfill the requirement and if the + // values of a and b are equal. + return this.equalStructure(matching, a.par, b.par) && this.equals(a, b); + } + else { + // Return true if a and b form a pair. + return a === matching.get(b); + } + }; -/** - * Default equality test for content nodes. Also test all descendants of a and - * b for equality. Override this method if you want to use tree hashing for - * this purpose. - * - * @param {tree.Node} a Candidate node from tree a - * @param {tree.Node} b Candidate node from tree b - * - * @return {boolean} Return true if the value of the two nodes is equal. - * - * @memberOf skelmatch.Diff - */ -Diff.prototype.equalContent = function(a, b) { - var i; - if (a.children.length !== b.children.length) { - return false; - } - for (i = 0; i < a.children.length; i++) { - if (!this.equalContent(a.children[i], b.children[i])) { + /** + * Return true if a pair is found in the ancestor chain of a and b. + * + * @param {tree.Matching} matching A tree matching which will be populated by + * diffing tree a and b. + * @param {tree.Node} a Candidate node from tree a + * @param {tree.Node} b Candidate node from tree b + * + * @return {boolean} Return true if a pair is found in the ancestor chain. + * + * @memberOf skelmatch.Diff + */ + Diff.prototype.matchingCheckAncestors = function(matching, a, b) { + if (!a || !b) { return false; } - } - - return this.equals(a, b); -}; - - -/** - * Default equality test for structure nodes. Return true if ancestors either - * have the same node value or if they form a pair. Override this method if you - * want to use tree hashing for this purpose. - * - * @param {tree.Node} a Candidate node from tree a - * @param {tree.Node} b Candidate node from tree b - * - * @return {boolean} Return true if the value of the two nodes is equal. - * - * @memberOf skelmatch.Diff - */ -Diff.prototype.equalStructure = function(matching, a, b) { - if (!matching.get(a) && !matching.get(b)) { - // Return true if all ancestors fullfill the requirement and if the - // values of a and b are equal. - return this.equalStructure(matching, a.par, b.par) && this.equals(a, b); - } - else { - // Return true if a and b form a pair. - return a === matching.get(b); - } -}; + else if (!matching.get(a) && !matching.get(b)) { + return this.matchingCheckAncestors(matching, a.par, b.par); + } + else { + return a === matching.get(b); + } + }; -/** - * Return true if a pair is found in the ancestor chain of a and b. - * - * @param {tree.Matching} matching A tree matching which will be populated by - * diffing tree a and b. - * @param {tree.Node} a Candidate node from tree a - * @param {tree.Node} b Candidate node from tree b - * - * @return {boolean} Return true if a pair is found in the ancestor chain. - * - * @memberOf skelmatch.Diff - */ -Diff.prototype.matchingCheckAncestors = function(matching, a, b) { - if (!a || !b) { - return false; - } - else if (!matching.get(a) && !matching.get(b)) { - return this.matchingCheckAncestors(matching, a.par, b.par); - } - else { - return a === matching.get(b); - } -}; - + /** + * Put a and b and all their unmatched ancestors into the matching. + * + * @param {tree.Matching} matching A tree matching which will be populated by + * diffing tree a and b. + * @param {tree.Node} a Candidate node from tree a + * @param {tree.Node} b Candidate node from tree b + * + * @memberOf skelmatch.Diff + */ + Diff.prototype.matchingPutAncestors = function(matching, a, b) { + if (!a || !b) { + throw new Error('Parameter error: may not match undefined tree nodes'); + } + else if (!matching.get(a) && !matching.get(b)) { + this.matchingPutAncestors(matching, a.par, b.par); + matching.put(a, b); + } + else if (a !== matching.get(b)) { + throw new Error('Parameter error: fundamental matching rule violated.'); + } + }; -/** - * Put a and b and all their unmatched ancestors into the matching. - * - * @param {tree.Matching} matching A tree matching which will be populated by - * diffing tree a and b. - * @param {tree.Node} a Candidate node from tree a - * @param {tree.Node} b Candidate node from tree b - * - * @memberOf skelmatch.Diff - */ -Diff.prototype.matchingPutAncestors = function(matching, a, b) { - if (!a || !b) { - throw new Error('Parameter error: may not match undefined tree nodes'); - } - else if (!matching.get(a) && !matching.get(b)) { - this.matchingPutAncestors(matching, a.par, b.par); - matching.put(a, b); - } - else if (a !== matching.get(b)) { - throw new Error('Parameter error: fundamental matching rule violated.'); - } -}; + /** + * Identify unchanged leaves by comparing them using myers longest common + * subsequence algorithm. + * + * @param {tree.Matching} matching A tree matching which will be populated by + * diffing tree a and b. + * + * @memberOf skelmatch.Diff + */ + Diff.prototype.matchContent = function(matching) { + var a_content = [], + b_content = [], + lcsinst = new LCS(a_content, b_content); + + // Leaves are considered equal if their values match and if they have + // the same tree depth. Need to wrap the equality-test function into + // a closure executed immediately in order to maintain correct context + // (rename 'this' into 'that'). + lcsinst.equals = (function(that){ + return function(a, b) { + return a.depth === b.depth && that.equalContent(a, b); + }; + }(this)); + + // Populate leave-node arrays. + this.a.forEachDescendant(function(n) { + if (this.isContent(n)) a_content.push(n); + }, this); + this.b.forEachDescendant(function(n) { + if (this.isContent(n)) b_content.push(n); + }, this); -/** - * Identify unchanged leaves by comparing them using myers longest common - * subsequence algorithm. - * - * @param {tree.Matching} matching A tree matching which will be populated by - * diffing tree a and b. - * - * @memberOf skelmatch.Diff - */ -Diff.prototype.matchContent = function(matching) { - var a_content = [], - b_content = [], - lcsinst = new LCS(a_content, b_content); - - // Leaves are considered equal if their values match and if they have - // the same tree depth. Need to wrap the equality-test function into - // a closure executed immediately in order to maintain correct context - // (rename 'this' into 'that'). - lcsinst.equals = (function(that){ - return function(a, b) { - return a.depth === b.depth && that.equalContent(a, b); - }; - }(this)); - - // Populate leave-node arrays. - this.a.forEachDescendant(function(n) { - if (this.isContent(n)) a_content.push(n); - }, this); - this.b.forEachDescendant(function(n) { - if (this.isContent(n)) b_content.push(n); - }, this); - - // Identify structure-preserving changes. Run lcs over leave nodes of - // tree a and tree b. Associate the identified leaf nodes and also - // their ancestors except if this would result in structure-affecting - // change. - lcsinst.forEachCommonSymbol(function(x, y) { - var a = a_content[x], b = b_content[y]; - - // Verify that ancestor chain allows that a and b to form a pair. - if (this.matchingCheckAncestors(matching, a, b)) { - // Record nodes a and b and all of their ancestors in the - // matching if and only if the nearest matched ancestors are - // partners. - this.matchingPutAncestors(matching, a, b); - } - }, this); -}; + // Identify structure-preserving changes. Run lcs over leave nodes of + // tree a and tree b. Associate the identified leaf nodes and also + // their ancestors except if this would result in structure-affecting + // change. + lcsinst.forEachCommonSymbol(function(x, y) { + var a = a_content[x], b = b_content[y]; + + // Verify that ancestor chain allows that a and b to form a pair. + if (this.matchingCheckAncestors(matching, a, b)) { + // Record nodes a and b and all of their ancestors in the + // matching if and only if the nearest matched ancestors are + // partners. + this.matchingPutAncestors(matching, a, b); + } + }, this); + }; -/** - * Return an array of the bottom-most structure-type nodes beneath the given - * node. - * - * @param {tree.Node} node The internal node from where the search should - * start. - * - * @memberOf skelmatch.Diff - */ -Diff.prototype.collectBones = function(node) { - var result = [], outer, i = 0; + /** + * Return an array of the bottom-most structure-type nodes beneath the given + * node. + * + * @param {tree.Node} node The internal node from where the search should + * start. + * + * @memberOf skelmatch.Diff + */ + Diff.prototype.collectBones = function(node) { + var result = [], outer, i = 0; - if (this.isStructure(node)) { - for (i = 0; i < node.children.length; i++) { - outer = this.collectBones(node.children[i]); - Array.prototype.push.apply(outer); - } - if (result.length === 0) { - // If we do not have any structure-type descendants, this node is - // the outer most. - result.push(node); + if (this.isStructure(node)) { + for (i = 0; i < node.children.length; i++) { + outer = this.collectBones(node.children[i]); + Array.prototype.push.apply(outer); + } + if (result.length === 0) { + // If we do not have any structure-type descendants, this node is + // the outer most. + result.push(node); + } } - } - return result; -}; + return result; + }; -/** - * Invoke the given callback with each sequence of unmatched nodes. - * - * @param {tree.Matching} matching A partial matching - * @param {Array} a_sibs A sequence of siblings from tree a - * @param {Array} b_sibs A sequence of siblings from tree b - * @param {function} callback A function (a_nodes, b_nodes, a_parent, b_parent) - * called for every consecutive sequence of nodes from a_sibs and - * b_sibs seperated by one or more node pairs. - * @param {Object} T Context object bound to "this" when the - * callback is invoked. - * - * @memberOf skelmatch.Diff - */ -Diff.prototype.forEachUnmatchedSequenceOfSiblings = function(matching, - a_sibs, b_sibs, callback, T) -{ - var a_xmatch = [], // Array of consecutive sequence of unmatched nodes + /** + * Invoke the given callback with each sequence of unmatched nodes. + * + * @param {tree.Matching} matching A partial matching + * @param {Array} a_sibs A sequence of siblings from tree a + * @param {Array} b_sibs A sequence of siblings from tree b + * @param {function} callback A function (a_nodes, b_nodes, a_parent, b_parent) + * called for every consecutive sequence of nodes from a_sibs and + * b_sibs seperated by one or more node pairs. + * @param {Object} T Context object bound to "this" when the + * callback is invoked. + * + * @memberOf skelmatch.Diff + */ + Diff.prototype.forEachUnmatchedSequenceOfSiblings = function(matching, + a_sibs, b_sibs, callback, T) + { + var a_xmatch = [], // Array of consecutive sequence of unmatched nodes // from a_sibs. - b_xmatch = [], // Array of consecutive sequence of unmatched nodes - // from b_sibs. - i = 0, // Array index into a_sibs - k = 0, // Array index into b_sibs - a, // Current candidate node in a_sibs - b; // Current candidate node in b_sibs - - // Loop through a_sibs and b_sibs simultaneously - while (a_sibs[i] || b_sibs[k]) { - a = a_sibs[i]; - b = b_sibs[k]; - - if (a && !matching.get(a)) { - // Skip a if above rules did not apply and a is not in the matching - a_xmatch.push(a); - i++; - } - else if (b && !matching.get(b)) { - // Skip b if above rules did not apply and b is not in the matching - b_xmatch.push(b); - k++; + b_xmatch = [], // Array of consecutive sequence of unmatched nodes + // from b_sibs. + i = 0, // Array index into a_sibs + k = 0, // Array index into b_sibs + a, // Current candidate node in a_sibs + b; // Current candidate node in b_sibs + + // Loop through a_sibs and b_sibs simultaneously + while (a_sibs[i] || b_sibs[k]) { + a = a_sibs[i]; + b = b_sibs[k]; + + if (a && !matching.get(a)) { + // Skip a if above rules did not apply and a is not in the matching + a_xmatch.push(a); + i++; + } + else if (b && !matching.get(b)) { + // Skip b if above rules did not apply and b is not in the matching + b_xmatch.push(b); + k++; + } + else if (a && b && a === matching.get(b)) { + // Collect nodes at border structure and detect matches + callback.call(T, a_xmatch, b_xmatch, a, b); + a_xmatch = []; + b_xmatch = []; + + // Recurse, both candidates are in the matching + this.forEachUnmatchedSequenceOfSiblings(matching, a.children, b.children, callback, T); + i++; + k++; + } + else { + // Both candidates are in the matching but they are no partners. + // This is impossible, bail out. + throw new Error('Matching is not consistent'); + } } - else if (a && b && a === matching.get(b)) { - // Collect nodes at border structure and detect matches - callback.call(T, a_xmatch, b_xmatch, a, b); - a_xmatch = []; - b_xmatch = []; - // Recurse, both candidates are in the matching - this.forEachUnmatchedSequenceOfSiblings(matching, a.children, b.children, callback, T); - i++; - k++; - } - else { - // Both candidates are in the matching but they are no partners. - // This is impossible, bail out. - throw new Error('Matching is not consistent'); + if (a_xmatch.length > 0 || b_xmatch.length > 0) { + callback.call(T, a_xmatch, b_xmatch, a, b); } - } - - if (a_xmatch.length > 0 || b_xmatch.length > 0) { - callback.call(T, a_xmatch, b_xmatch, a, b); - } -}; + }; -/** - * Traverse a partial matching and detect equal structure-type nodes between - * matched content nodes. - * - * @param {tree.Matching} matching A partial matching - * - * @memberOf skelmatch.Diff - */ -Diff.prototype.matchStructure = function(matching) { - // Collect unmatched sequences of siblings from tree a and b. Run lcs over - // bones for each. - this.forEachUnmatchedSequenceOfSiblings(matching, this.a.children, - this.b.children, function(a_nodes, b_nodes) { - var a_bones = [], - b_bones = [], - lcsinst = new LCS(a_bones, b_bones); - - // Override equality test. - lcsinst.equals = (function(that){ - return function(a, b) { - return that.equalStructure(matching, a, b); - }; - }(this)); - - // Populate bone array - a_nodes.forEach(function(n) { - Array.prototype.push.apply(a_bones, this.collectBones(n)); - }, this); - b_nodes.forEach(function(n) { - Array.prototype.push.apply(b_bones, this.collectBones(n)); - }, this); - - // Identify structure-preserving changes. Run lcs over lower bone ends - // in tree a and tree b. Associate the identified nodes and also their - // ancestors except if this would result in structure-affecting change. - lcsinst.forEachCommonSymbol(function(x, y) { - var a = a_bones[x], b = b_bones[y]; - - // Verify that ancestor chain allows that a and b to form a pair. - if (this.matchingCheckAncestors(matching, a, b)) { - // Record nodes a and b and all of their ancestors in the - // matching if and only if the nearest matched ancestors are - // partners. - this.matchingPutAncestors(matching, a, b); - } + /** + * Traverse a partial matching and detect equal structure-type nodes between + * matched content nodes. + * + * @param {tree.Matching} matching A partial matching + * + * @memberOf skelmatch.Diff + */ + Diff.prototype.matchStructure = function(matching) { + // Collect unmatched sequences of siblings from tree a and b. Run lcs over + // bones for each. + this.forEachUnmatchedSequenceOfSiblings(matching, this.a.children, + this.b.children, function(a_nodes, b_nodes) { + var a_bones = [], + b_bones = [], + lcsinst = new LCS(a_bones, b_bones); + + // Override equality test. + lcsinst.equals = (function(that){ + return function(a, b) { + return that.equalStructure(matching, a, b); + }; + }(this)); + + // Populate bone array + a_nodes.forEach(function(n) { + Array.prototype.push.apply(a_bones, this.collectBones(n)); + }, this); + b_nodes.forEach(function(n) { + Array.prototype.push.apply(b_bones, this.collectBones(n)); + }, this); + + // Identify structure-preserving changes. Run lcs over lower bone ends + // in tree a and tree b. Associate the identified nodes and also their + // ancestors except if this would result in structure-affecting change. + lcsinst.forEachCommonSymbol(function(x, y) { + var a = a_bones[x], b = b_bones[y]; + + // Verify that ancestor chain allows that a and b to form a pair. + if (this.matchingCheckAncestors(matching, a, b)) { + // Record nodes a and b and all of their ancestors in the + // matching if and only if the nearest matched ancestors are + // partners. + this.matchingPutAncestors(matching, a, b); + } + }, this); }, this); - }, this); -}; + }; + + window["AscCommon"] = window["AscCommon"] || {}; + window["AscCommon"].Diff = Diff; + window["AscCommon"].LCS = LCS; + window["AscCommon"].KPoint = KPoint; + window["AscCommon"].Limit = Limit; + window["AscCommon"].Anchor = Anchor; + window["AscCommon"].ParameterBuffer = ParameterBuffer; + window["AscCommon"].DeltaCollector = DeltaCollector; + window["AscCommon"].AttachedOperation = AttachedOperation; +})(window); \ No newline at end of file From 70580e501a46666fa7159d38737fa82e91dbb716 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Tue, 4 May 2021 20:36:52 +0300 Subject: [PATCH 309/381] Add empty line --- vendor/delta.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/delta.js b/vendor/delta.js index 49788e6ab7..3f74f13659 100644 --- a/vendor/delta.js +++ b/vendor/delta.js @@ -1132,4 +1132,4 @@ window["AscCommon"].ParameterBuffer = ParameterBuffer; window["AscCommon"].DeltaCollector = DeltaCollector; window["AscCommon"].AttachedOperation = AttachedOperation; -})(window); \ No newline at end of file +})(window); From 58adc03e50f0f5e71d32203d33fadd4cfe9b6acf Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Tue, 4 May 2021 20:56:56 +0300 Subject: [PATCH 310/381] [bug] Fix bug 50204 --- common/Drawings/DrawingObjectsHandlers.js | 2 +- common/Drawings/Format/ChartFormat.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/common/Drawings/DrawingObjectsHandlers.js b/common/Drawings/DrawingObjectsHandlers.js index 3546e25e93..3deb8f6be5 100644 --- a/common/Drawings/DrawingObjectsHandlers.js +++ b/common/Drawings/DrawingObjectsHandlers.js @@ -1425,7 +1425,7 @@ function handleInternalChart(drawing, drawingObjectsController, e, x, y, group, var aCharts = drawing.chart.plotArea.charts; var series = drawing.getAllSeries(); - var _len = aCharts.length === 1 && aCharts[0].getObjectType() === AscDFH.historyitem_type_PieChart ? 1 : series.length; + var _len = aCharts.length === 1 && aCharts[0].getObjectType() === AscDFH.historyitem_type_PieChart ? Math.min(1, series.length) : series.length; for(var i = _len - 1; i > -1; --i) { var ser = series[i]; diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index f7a33f1d8e..16094632a1 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -15416,7 +15416,7 @@ var nStartRow = oBBox.r2; if(aGridRow.length === 1) { - for(nRow = oBBox.r2; nRow >= oBBox.r1; --nRow) { + for(nRow = oBBox.r2 - 1; nRow >= oBBox.r1; --nRow) { if(!this.privateCheckCellDateTimeFormatFull(oRef.worksheet.getCell3(nRow, nCol))) { break; } @@ -15441,7 +15441,7 @@ nRow = oBBox.r2; var nStartCol = oBBox.c2; if(aGrid.length === 1) { - for(nCol = oBBox.c2; nCol >= oBBox.c1; --nCol) { + for(nCol = oBBox.c2 - 1; nCol >= oBBox.c1; --nCol) { if(!this.privateCheckCellDateTimeFormatFull(oRef.worksheet.getCell3(nRow, nCol))) { break; } From 91ba535a84c8b8dff16160a7472eb9cd17f63329 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Tue, 4 May 2021 23:39:46 +0300 Subject: [PATCH 311/381] [bug] Fix bug 50201 --- common/Drawings/Format/ChartFormat.js | 62 ++++++++++++++++++--------- 1 file changed, 41 insertions(+), 21 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 16094632a1..8960685d57 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -4864,6 +4864,12 @@ oLineChart.setGrouping(nNewGrouping); oLineChart.setVaryColors(false); oLineChart.setMarker(new AscFormat.CMarker()); + if(oLineChart.hiLowLines) { + oLineChart.setHiLowLines(null); + } + if(oLineChart.upDownBars) { + oLineChart.setUpDownBars(null); + } oLineChart.marker.setSymbol(AscFormat.SYMBOL_NONE); for(nSeries = 0; nSeries < aSeries.length; ++nSeries) { oSeries = new AscFormat.CLineSeries(); @@ -4872,6 +4878,9 @@ oSeries.marker.setSymbol(AscFormat.SYMBOL_NONE); oSeries.setSmooth(false); oLineChart.addSer(oSeries); + if(oSeries.spPr && oSeries.spPr.hasNoFillLine()) { + oSeries.spPr.setLn(null); + } } oLineChart.addAxes(aAxes); var bMarker = this.getIsMarkerByType(nType); @@ -12885,27 +12894,38 @@ } }; CCat.prototype.fillFromAsc = function(oCatCache, bUseCache) { - //var bVal = true; - //var aPts = oCatCache.NumCache, oPt, nPt; - //for(nPt = 0; nPt < aPts.length; ++nPt) { - // oPt = aPts[nPt]; - // if(oPt) { - // if(!oPt.isDateTimeFormat && !AscFormat.isRealNumber(parseFloat(oPt.val))) { - // bVal = false; - // break; - // } - // } - //} - //if(bVal) { - // this.setNumRef(new CNumRef()); - // this.numRef.fillFromAsc(oCatCache, bUseCache); - //} - //else { - // this.setStrRef(new CStrRef()); - // this.strRef.fillFromAsc(oCatCache, bUseCache); - //} - this.setStrRef(new CStrRef()); - this.strRef.fillFromAsc(oCatCache, bUseCache); + var bVal = false; + var sFormatCode = oCatCache.formatCode; + var oNumFormat = null; + if(typeof sFormatCode === "string" && sFormatCode.length > 0) { + oNumFormat = AscCommon.oNumFormatCache.get(oCatCache.formatCode); + } + if(oNumFormat && oNumFormat.isDateTimeFormat()) { + var aPts = oCatCache.NumCache, oPt, nPt; + for(nPt = 0; nPt < aPts.length; ++nPt) { + oPt = aPts[nPt]; + if(oPt) { + sFormatCode = oPt.numFormatStr; + if(typeof sFormatCode === "string" && sFormatCode.length > 0) { + oNumFormat = AscCommon.oNumFormatCache.get(sFormatCode); + if(!oNumFormat.isDateTimeFormat() || !AscFormat.isRealNumber(parseFloat(oPt.val))) { + break; + } + } + } + } + if(nPt === aPts.length) { + bVal = true; + } + } + if(bVal) { + this.setNumRef(new CNumRef()); + this.numRef.fillFromAsc(oCatCache, bUseCache); + } + else { + this.setStrRef(new CStrRef()); + this.strRef.fillFromAsc(oCatCache, bUseCache); + } }; CCat.prototype.getNumCache = function() { if(this.calculatedRef) { From 7293dcd02c877bf86e30a9062aac8d5d0985b0e8 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Tue, 4 May 2021 23:57:30 +0300 Subject: [PATCH 312/381] [se] Fix bug 49019 --- cell/view/WorksheetView.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/cell/view/WorksheetView.js b/cell/view/WorksheetView.js index 7eef716aa5..5ba7c061d1 100644 --- a/cell/view/WorksheetView.js +++ b/cell/view/WorksheetView.js @@ -5610,9 +5610,8 @@ if(this.workbook.Api.isMobileVersion) { //Add radius of mobile pins var nRad = (AscCommon.MOBILE_SELECT_TRACK_ROUND / 2 + 0.5) >> 0; - if (AscCommon.AscBrowser.isRetina) { - nRad = AscCommon.AscBrowser.convertToRetinaValue(nRad, true); - } + nRad = AscCommon.AscBrowser.convertToRetinaValue(nRad, true); + x1 -= nRad; x2 += nRad; y1 -= nRad; From fe6b317a0c35b8bc82b3cfd8ac18b55ce0a9e26c Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Wed, 5 May 2021 10:27:44 +0300 Subject: [PATCH 313/381] Fix bug 49885 (#1912) --- word/Drawing/DrawingDocument.js | 34 +++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/word/Drawing/DrawingDocument.js b/word/Drawing/DrawingDocument.js index 4206c617e5..4dbb42ba00 100644 --- a/word/Drawing/DrawingDocument.js +++ b/word/Drawing/DrawingDocument.js @@ -7443,6 +7443,8 @@ function CDrawingDocument() var koefX = (drawingPage.right - drawingPage.left) / page.width_mm; var koefY = (drawingPage.bottom - drawingPage.top) / page.height_mm; + var rPR = AscCommon.AscBrowser.retinaPixelRatio; + var x1, y1, x2, y2; if (!logicObj.Table) @@ -7450,10 +7452,10 @@ function CDrawingDocument() ctx.strokeStyle = "rgba(0, 0, 0, 0.75)"; ctx.lineWidth = 1; - x1 = ((drawingPage.left + koefX * logicObj.StartX) >> 0); - y1 = ((drawingPage.top + koefY * logicObj.StartY) >> 0); - x2 = ((drawingPage.left + koefX * logicObj.EndX) >> 0); - y2 = ((drawingPage.top + koefY * logicObj.EndY) >> 0); + x1 = (rPR * (drawingPage.left + koefX * logicObj.StartX)) >> 0; + y1 = (rPR * (drawingPage.top + koefY * logicObj.StartY)) >> 0; + x2 = (rPR * (drawingPage.left + koefX * logicObj.EndX)) >> 0; + y2 = (rPR * (drawingPage.top + koefY * logicObj.EndY)) >> 0; overlay.CheckPoint(x1, y1); overlay.CheckPoint(x2, y2); @@ -7471,10 +7473,10 @@ function CDrawingDocument() ctx.strokeStyle = (elem.Color === "Red") ? "#FF7B7B" : "#000000"; ctx.lineWidth = elem.Bold ? 2 : 1; - x1 = (drawingPage.left + koefX * elem.X1) >> 0; - y1 = (drawingPage.top + koefY * elem.Y1) >> 0; - x2 = (drawingPage.left + koefX * elem.X2) >> 0; - y2 = (drawingPage.top + koefY * elem.Y2) >> 0; + x1 = (rPR * (drawingPage.left + koefX * elem.X1)) >> 0; + y1 = (rPR * (drawingPage.top + koefY * elem.Y1)) >> 0; + x2 = (rPR * (drawingPage.left + koefX * elem.X2)) >> 0; + y2 = (rPR * (drawingPage.top + koefY * elem.Y2)) >> 0; if (!elem.Bold) { x1 += 0.5; @@ -7497,10 +7499,10 @@ function CDrawingDocument() ctx.strokeStyle = "rgba(255, 123, 123, 0.75)"; ctx.lineWidth = 1; - x1 = ((drawingPage.left + koefX * logicObj.StartX) >> 0); - y1 = ((drawingPage.top + koefY * logicObj.StartY) >> 0); - x2 = ((drawingPage.left + koefX * logicObj.EndX) >> 0); - y2 = ((drawingPage.top + koefY * logicObj.EndY) >> 0); + x1 = (rPR * (drawingPage.left + koefX * logicObj.StartX)) >> 0; + y1 = (rPR * (drawingPage.top + koefY * logicObj.StartY)) >> 0; + x2 = (rPR * (drawingPage.left + koefX * logicObj.EndX)) >> 0; + y2 = (rPR * (drawingPage.top + koefY * logicObj.EndY)) >> 0; overlay.CheckPoint(x1, y1); overlay.CheckPoint(x2, y2); @@ -7512,10 +7514,10 @@ function CDrawingDocument() for (var i = 0; i < drawObj.length; i++) { - x1 = (drawingPage.left + koefX * drawObj[i].X1) >> 0; - y1 = (drawingPage.top + koefY * drawObj[i].Y1) >> 0; - x2 = (drawingPage.left + koefX * drawObj[i].X2) >> 0; - y2 = (drawingPage.top + koefY * drawObj[i].Y2) >> 0; + x1 = (rPR * (drawingPage.left + koefX * drawObj[i].X1)) >> 0; + y1 = (rPR * (drawingPage.top + koefY * drawObj[i].Y1)) >> 0; + x2 = (rPR * (drawingPage.left + koefX * drawObj[i].X2)) >> 0; + y2 = (rPR * (drawingPage.top + koefY * drawObj[i].Y2)) >> 0; overlay.CheckPoint(x1, y1); overlay.CheckPoint(x2, y2); From 1cf596e50fe0f27c9c3b8b6343ac34b1f571b5b4 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Wed, 5 May 2021 10:22:54 +0300 Subject: [PATCH 314/381] [se] Fix bug 50169 --- cell/view/WorksheetView.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/view/WorksheetView.js b/cell/view/WorksheetView.js index 5ba7c061d1..a853673561 100644 --- a/cell/view/WorksheetView.js +++ b/cell/view/WorksheetView.js @@ -5459,7 +5459,7 @@ selectionRange.ranges.forEach(function (item, index) { var arnIntersection = item.intersectionSimple(range); if (arnIntersection) { - _x1 = t._getColLeft(arnIntersection.c1) - offsetX - 2; + _x1 = t._getColLeft(arnIntersection.c1) - offsetX - 3; _x2 = t._getColLeft(arnIntersection.c2 + 1) - offsetX + 1 + /* Это ширина "квадрата" для автофильтра от границы ячейки */2; _y1 = t._getRowTop(arnIntersection.r1) - offsetY - 2; From 43d558f7c4de8da9931c31489e52c6bbdcf98c9b Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Wed, 5 May 2021 12:05:32 +0300 Subject: [PATCH 315/381] [se] Fix bug 50214, fix bug 50215 --- cell/view/WorksheetView.js | 52 +++++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 15 deletions(-) diff --git a/cell/view/WorksheetView.js b/cell/view/WorksheetView.js index a853673561..e04518fc7d 100644 --- a/cell/view/WorksheetView.js +++ b/cell/view/WorksheetView.js @@ -4029,10 +4029,19 @@ textX += (this._getFilterButtonSize(true)+ _diff) * this.getZoom(); } if (ct.indent) { - if (AscCommon.align_Right === ct.cellHA) { - textX -= ct.indent * 3 * this.defaultSpaceWidth; - } else if (AscCommon.align_Left === ct.cellHA) { - textX += ct.indent * 3 * this.defaultSpaceWidth; + var verticalText = ct.angle === AscCommonExcel.g_nVerticalTextAngle || (ct.flags && ct.flags.verticalText); + if (verticalText) { + if (Asc.c_oAscVAlign.Bottom === ct.cellVA) { + //textY -= ct.indent * 3 * this.defaultSpaceWidth; + } else if (Asc.c_oAscVAlign.Top === ct.cellVA) { + textY += ct.indent * 3 * this.defaultSpaceWidth; + } + } else { + if (AscCommon.align_Right === ct.cellHA) { + textX -= ct.indent * 3 * this.defaultSpaceWidth; + } else if (AscCommon.align_Left === ct.cellHA) { + textX += ct.indent * 3 * this.defaultSpaceWidth; + } } } this.stringRender.restoreInternalState(ct.state).render(drawingCtx, textX, textY, textW, color); @@ -5991,10 +6000,18 @@ tm = this._roundTextMetrics(this.stringRender.measureString(str, fl, maxW)); if (indent) { - if (AscCommon.align_Right === alignH) { - tm.width += indent * 3 * this.defaultSpaceWidth + 1; - } else if (AscCommon.align_Left === alignH) { - tm.width += indent * 3 * this.defaultSpaceWidth; + if (verticalText) { + if (Asc.c_oAscVAlign.Bottom === va) { + tm.height += indent * 3 * this.defaultSpaceWidth; + } else if (Asc.c_oAscVAlign.Top === va) { + tm.height += indent * 3 * this.defaultSpaceWidth; + } + } else { + if (AscCommon.align_Right === alignH) { + tm.width += indent * 3 * this.defaultSpaceWidth + 1; + } else if (AscCommon.align_Left === alignH) { + tm.width += indent * 3 * this.defaultSpaceWidth; + } } } @@ -10649,7 +10666,7 @@ History.StartTransaction(); checkRange.forEach(function (item, i) { - var c; + var c, _align, _verticalText; var bIsUpdate = true; var range = t.model.getRange3(item.r1, item.c1, item.r2, item.c2); var isLargeRange = t._isLargeRange(range.bbox); @@ -10684,7 +10701,9 @@ range.setFontAlign(val); break; case "a": - if (!(val === AscCommon.align_Right || val === AscCommon.align_Left) && checkIndent(range)) { + _align = range.getAlign(); + _verticalText = _align && _align.angle === AscCommonExcel.g_nVerticalTextAngle; + if (!(val === AscCommon.align_Right || val === AscCommon.align_Left) && !_verticalText && checkIndent(range)) { range.setIndent(0); } range.setAlignHorizontal(val); @@ -10729,18 +10748,19 @@ canChangeColWidth = c_oAscCanChangeColWidth.numbers; break; case "angle": - if (val !== 0 && checkIndent(range)) { + if (val !== 0 && val !== AscCommonExcel.g_nVerticalTextAngle && checkIndent(range)) { range.setIndent(0); } range.setAngle(val); break; case "indent": - var _align = range.getAlign(); + _align = range.getAlign(); if (_align) { - if (!(_align.hor === AscCommon.align_Right || _align.hor === AscCommon.align_Left)) { + _verticalText = _align.angle === AscCommonExcel.g_nVerticalTextAngle; + if (!_verticalText && !(_align.hor === AscCommon.align_Right || _align.hor === AscCommon.align_Left)) { range.setAlignHorizontal(AscCommon.align_Left); } - if (_align.angle !== 0) { + if (_align.angle !== 0 && !_verticalText) { range.setAngle(0); } } @@ -10780,7 +10800,9 @@ callTrigger = true; t.handlers.trigger("slowOperation", true); } - if (val === c_oAscMergeOptions.MergeCenter && checkIndent(range)) { + _align = range.getAlign(); + _verticalText = _align && _align.angle === AscCommonExcel.g_nVerticalTextAngle; + if (val === c_oAscMergeOptions.MergeCenter && checkIndent(range) && !_verticalText) { range.setIndent(0); } switch (val) { From 908a701c62e35c7ade7cb5c176d73b68b3cb322c Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Wed, 5 May 2021 16:46:30 +0300 Subject: [PATCH 316/381] [se] Fix bug 49632 --- cell/model/Workbook.js | 21 ++++++++++++----- cell/model/WorkbookElems.js | 45 ++++++++++++++++++++++++------------- 2 files changed, 44 insertions(+), 22 deletions(-) diff --git a/cell/model/Workbook.js b/cell/model/Workbook.js index 9e161eedad..e10859c75e 100644 --- a/cell/model/Workbook.js +++ b/cell/model/Workbook.js @@ -11108,7 +11108,15 @@ } if (0 !== (flags & 0x2000)) { this.setTypeInternal(CellValueType.String); - this.setValueMultiTextInternal(this.fromXLSBRichText(stream)); + var multiText = []; + if (this.fromXLSBRichText(stream, multiText)) { + this.setValueMultiTextInternal(multiText); + } else { + var text = multiText.reduce(function(accumulator, currentValue) { + return accumulator + currentValue.text; + }, ''); + this.setValueTextInternal(text); + } } stream.Seek2(end); @@ -11154,8 +11162,8 @@ formula.si = stream.GetULongLE(); } }; - Cell.prototype.fromXLSBRichText = function(stream) { - var res = []; + Cell.prototype.fromXLSBRichText = function(stream, richText) { + var hasFormat = false; var count = stream.GetULongLE(); while (count-- > 0) { var typeRun = stream.GetUChar(); @@ -11164,6 +11172,7 @@ run = new AscCommonExcel.CMultiTextElem(); run.text = ""; if (stream.GetBool()) { + hasFormat = true; run.format = new AscCommonExcel.Font(); run.format.fromXLSB(stream); run.format.checkSchemeFont(this.ws.workbook.theme); @@ -11172,15 +11181,15 @@ while (textCount-- > 0) { run.text += stream.GetString(); } - res.push(run); + richText.push(run); } else if (0x2 === typeRun) { run = new AscCommonExcel.CMultiTextElem(); run.text = stream.GetString(); - res.push(run); + richText.push(run); } } - return res; + return hasFormat; }; Cell.prototype.toXLSB = function(stream, nXfsId, formulaToWrite, oSharedStrings) { var len = 4 + 4 + 2; diff --git a/cell/model/WorkbookElems.js b/cell/model/WorkbookElems.js index b42964e8f0..1210a6b980 100644 --- a/cell/model/WorkbookElems.js +++ b/cell/model/WorkbookElems.js @@ -5008,7 +5008,6 @@ StyleManager.prototype = return sRes; } function isEqualMultiText(multiText1, multiText2) { - var sRes = ""; if (multiText1 && multiText2) { if (multiText1.length === multiText2.length) { for (var i = 0, length = multiText1.length; i < length; ++i) { @@ -9698,6 +9697,13 @@ AutoFilterDateElem.prototype.convertDateGroupItemToRange = function(oDateGroupIt }, has: function(key) { return !!this.storage[key]; + }, + forEach: function(callback, context) { + for (var i in this.storage) { + if (this.storage.hasOwnProperty(i)) { + callback.call(context, this.storage[i], i, this); + } + } } }; @@ -9711,9 +9717,7 @@ AutoFilterDateElem.prototype.convertDateGroupItemToRange = function(oDateGroupIt function CSharedStrings () { this.all = []; this.text = new Map(); - // - this.multiText = []; - this.multiTextIndex = []; + this.multiTextMap = new Map(); } CSharedStrings.prototype.addText = function(text) { @@ -9730,17 +9734,24 @@ AutoFilterDateElem.prototype.convertDateGroupItemToRange = function(oDateGroupIt }; CSharedStrings.prototype.addMultiText = function(multiText) { var index, i; - for (i = 0; i < this.multiText.length; ++i) { - if (AscCommonExcel.isEqualMultiText(multiText, this.multiText[i])) { - index = this.multiTextIndex[i]; + var text = multiText.reduce(function(accumulator, currentValue) { + return accumulator + currentValue.text; + }, ''); + var mapElem = this.multiTextMap.get(text); + if (!mapElem) { + mapElem = []; + this.multiTextMap.set(text, mapElem); + } + for (i = 0; i < mapElem.length; ++i) { + if (AscCommonExcel.isEqualMultiText(multiText, this.all[mapElem[i] - 1])) { + index = mapElem[i]; break; } } if (undefined === index) { this.all.push(multiText); index = this.all.length; - this.multiText.push(multiText); - this.multiTextIndex.push(index); + mapElem.push(index); if (AscFonts.IsCheckSymbols) { for (i = 0; i < multiText.length; ++i) { AscFonts.FontPickerByCharacter.getFontsByString(multiText[i].text); @@ -9756,15 +9767,17 @@ AutoFilterDateElem.prototype.convertDateGroupItemToRange = function(oDateGroupIt return this.all.length; }; CSharedStrings.prototype.generateFontMap = function(oFontMap) { - for (var i = 0; i < this.multiText.length; ++i) { - var multiText = this.multiText[i]; - for (var j = 0; j < multiText.length; ++j) { - var part = multiText[j]; - if (null != part.format) { - oFontMap[part.format.getName()] = 1; + this.multiTextMap.forEach(function(mapElem) { + for (var i = 0; i < mapElem.length; ++i) { + var multiText = this.all[mapElem[i] - 1]; + for (var j = 0; j < multiText.length; ++j) { + var part = multiText[j]; + if (part && part.format) { + oFontMap[part.format.getName()] = 1; + } } } - } + }, this); }; /** From f240daca3bd3f9009411c65c14091935311e86e5 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Wed, 5 May 2021 17:33:41 +0300 Subject: [PATCH 317/381] [bug] For bug 50201: fix stock data validation --- common/Drawings/Format/ChartFormat.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 8960685d57..b7c65439b5 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -5124,8 +5124,8 @@ var oDataRefs = oChartSpace.getDataRefs(); var sRange = oDataRefs.getRange(); var nInfo = oDataRefs.getInfo(); - var bVert = (nInfo & AscFormat.SERIES_FLAG_HOR_VALUE) !== 0; - var nTestResult = oTestDataRefs.checkDataRange(sRange, !bVert, Asc.c_oAscChartTypeSettings.stock); + var bHorValue = (nInfo & AscFormat.SERIES_FLAG_HOR_VALUE) !== 0; + var nTestResult = oTestDataRefs.checkDataRange(sRange, bHorValue, Asc.c_oAscChartTypeSettings.stock); if(nTestResult === Asc.c_oAscError.ID.No) { return true; } From 2ca51ee1e9bcf4ad8f3d9949d2d127ff6e749f78 Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Wed, 5 May 2021 23:41:44 +0300 Subject: [PATCH 318/381] Fix/bug 49257 (#1915) * [se] Fix bug 49257 --- cell/api.js | 6 ++++++ cell/apiBuilder.js | 2 +- cell/model/WorkbookElems.js | 2 +- cell/utils/utils.js | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 41 insertions(+), 2 deletions(-) diff --git a/cell/api.js b/cell/api.js index 6d5774128c..ca580a10f0 100644 --- a/cell/api.js +++ b/cell/api.js @@ -4154,6 +4154,10 @@ var editor; this.wb.removeHyperlink(); }; + spreadsheet_api.prototype.asc_getFullHyperlinkLength = function(str) { + return window["AscCommonExcel"].getFullHyperlinkLength(str); + }; + spreadsheet_api.prototype.asc_cleanSelectRange = function () { this.wb._onCleanSelectRange(); }; @@ -5518,6 +5522,8 @@ var editor; prot["asc_selectFunction"] = prot.asc_selectFunction; prot["asc_insertHyperlink"] = prot.asc_insertHyperlink; prot["asc_removeHyperlink"] = prot.asc_removeHyperlink; + prot["asc_getFullHyperlinkLength"] = prot.asc_getFullHyperlinkLength; + prot["asc_cleanSelectRange"] = prot.asc_cleanSelectRange; prot["asc_insertInCell"] = prot.asc_insertInCell; diff --git a/cell/apiBuilder.js b/cell/apiBuilder.js index aed149049b..fc4b5d9017 100644 --- a/cell/apiBuilder.js +++ b/cell/apiBuilder.js @@ -1247,7 +1247,7 @@ var p = /^(?:http:\/\/|https:\/\/)/; if (range && range.range.isOneCell() && sAddress) { var externalLink = sAddress.match(p) || sAddress.search(/mailto:/i) !== -1; - if (externalLink && sAddress.length > Asc.c_nMaxHyperlinkLength) { + if (externalLink && AscCommonExcel.getFullHyperlinkLength(sAddress) > Asc.c_nMaxHyperlinkLength) { return null; } diff --git a/cell/model/WorkbookElems.js b/cell/model/WorkbookElems.js index 1210a6b980..284f407b2d 100644 --- a/cell/model/WorkbookElems.js +++ b/cell/model/WorkbookElems.js @@ -3978,7 +3978,7 @@ StyleManager.prototype = return bRes; }; Hyperlink.prototype.isValid = function () { - var isValidLength = !this.Hyperlink || (this.Hyperlink && this.Hyperlink.length <= Asc.c_nMaxHyperlinkLength); + var isValidLength = !this.Hyperlink || (this.Hyperlink && AscCommonExcel.getFullHyperlinkLength(this.Hyperlink) <= Asc.c_nMaxHyperlinkLength); return null != this.Ref && (null != this.getLocation() || null != this.Hyperlink) && isValidLength; }; Hyperlink.prototype.setLocationSheet = function (LocationSheet) { diff --git a/cell/utils/utils.js b/cell/utils/utils.js index d0a6eb5d79..2597cf2d15 100644 --- a/cell/utils/utils.js +++ b/cell/utils/utils.js @@ -347,6 +347,38 @@ } return oUniFill; } + + function getFullHyperlinkLength(str) { + var res = 0; + if (!str) { + return res; + } + + var validStr = "ABCDEFabcdef0123456789"; + //new RegExp('/^[xX]?[0-9a-fA-F]{6}$/', 'g') + var checkHex = function (_val) { + if (_val !== undefined && validStr.indexOf(_val) !== -1) { + return true; + } + return false; + }; + + + for (var i = 0; i < str.length; i++) { + if (str[i] === "%") { + if (checkHex(str[i + 1]) && checkHex(str[i + 2])) { + res++; + } else { + res += 3; + } + } else { + res++; + } + } + + return res; + } + var referenceType = { A: 0, // Absolute ARRC: 1, // Absolute row; relative column @@ -3114,6 +3146,7 @@ window["AscCommonExcel"].getFindRegExp = getFindRegExp; window["AscCommonExcel"].convertFillToUnifill = convertFillToUnifill; window["AscCommonExcel"].replaceSpellCheckWords = replaceSpellCheckWords; + window["AscCommonExcel"].getFullHyperlinkLength = getFullHyperlinkLength; window["Asc"].outputDebugStr = outputDebugStr; window["Asc"].isNumberInfinity = isNumberInfinity; window["Asc"].trim = trim; From 396675428bc12b03504492143f0b1ba0b666edf6 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Thu, 6 May 2021 10:32:26 +0300 Subject: [PATCH 319/381] [se] For bug 50235: fix save to html --- common/wordcopypaste.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/common/wordcopypaste.js b/common/wordcopypaste.js index bbbed9a1d1..1614e7fb17 100644 --- a/common/wordcopypaste.js +++ b/common/wordcopypaste.js @@ -327,8 +327,17 @@ CopyProcessor.prototype = //if(Def_pPr.Spacing.After != Item_pPr.Spacing.After) apPr.push("margin-bottom:" + (Item_pPr.Spacing.After * g_dKoef_mm_to_pt) + "pt"); //Shd - if (null != Item_pPr.Shd && c_oAscShdNil !== Item_pPr.Shd.Value && (null != Item_pPr.Shd.Color || null != Item_pPr.Shd.Unifill)) - apPr.push("background-color:" + this.RGBToCSS(Item_pPr.Shd.Color, Item_pPr.Shd.Unifill)); + if (null != Item_pPr.Shd && c_oAscShdNil !== Item_pPr.Shd.Value && (null != Item_pPr.Shd.Color || null != Item_pPr.Shd.Unifill)){ + var _shdColor = Item_pPr.Shd.GetSimpleColor && Item_pPr.Shd.GetSimpleColor(this.oDocument.Get_Theme(), this.oDocument.Get_ColorMap()); + //TODO проверить сохранение в epub + //todo проверить и убрать else, всегда использовать GetSimpleColor + if (_shdColor) { + _shdColor = this.RGBToCSS(_shdColor); + } else { + _shdColor = this.RGBToCSS(Item_pPr.Shd.Color, Item_pPr.Shd.Unifill); + } + apPr.push("background-color:" + _shdColor); + } //Tabs if(Item_pPr.Tabs.Get_Count() > 0) { From 6873d634c1d02ed0dcea53380b5e5aa4d5617ea0 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 6 May 2021 11:34:33 +0300 Subject: [PATCH 320/381] Fix bug 50237 (#1918) --- common/editorscommon.js | 24 ++++++---- word/Drawing/DrawingDocument.js | 85 +++++++++++++++++++-------------- 2 files changed, 64 insertions(+), 45 deletions(-) diff --git a/common/editorscommon.js b/common/editorscommon.js index 4edf721c62..bbd347498b 100644 --- a/common/editorscommon.js +++ b/common/editorscommon.js @@ -6269,7 +6269,7 @@ element.getContext("2d").putImageData(data, 0, 0); }; - function calculateCanvasSize(element, is_correction) + function calculateCanvasSize(element, is_correction, is_wait_correction) { if (true !== is_correction && undefined !== element.correctionTimeout) { @@ -6288,7 +6288,8 @@ } var rect = element.getBoundingClientRect(); - if (rect.width === 0 && rect.height === 0) + var isCorrectRect = (rect.width === 0 && rect.height === 0) ? false : true; + if (is_wait_correction || !isCorrectRect) { var isNoVisibleElement = false; if (element.style.display === "none") @@ -6303,15 +6304,18 @@ }, 100); } - var style_width = parseInt(element.style.width); - var style_height = parseInt(element.style.height); + if (!isCorrectRect) + { + var style_width = parseInt(element.style.width); + var style_height = parseInt(element.style.height); - rect = { - x : 0, left : 0, - y : 0, top : 0, - width : style_width, right : style_width, - height : style_height, bottom : style_height - }; + rect = { + x: 0, left: 0, + y: 0, top: 0, + width: style_width, right: style_width, + height: style_height, bottom: style_height + }; + } } var new_width = 0; diff --git a/word/Drawing/DrawingDocument.js b/word/Drawing/DrawingDocument.js index 4dbb42ba00..15cbcb7e36 100644 --- a/word/Drawing/DrawingDocument.js +++ b/word/Drawing/DrawingDocument.js @@ -6530,14 +6530,12 @@ function CDrawingDocument() parent.appendChild(canvas); } - canvas.width = AscCommon.AscBrowser.convertToRetinaValue(width_px, true); - canvas.height = AscCommon.AscBrowser.convertToRetinaValue(height_px, true); + AscCommon.calculateCanvasSize(canvas, undefined, true); + canvas.width = canvas.width; var ctx = canvas.getContext("2d"); - var rPR = AscCommon.AscBrowser.retinaPixelRatio; - var offset = 10; var page_width_mm = props.W; var page_height_mm = props.H; @@ -6603,17 +6601,19 @@ function CDrawingDocument() ctx.fillStyle = "#FFFFFF"; ctx.strokeStyle = "#000000"; - ctx.lineWidth = Math.round(rPR); + var lineW = Math.round(rPR); + ctx.lineWidth = lineW; var indent = 0.5 * Math.round(rPR); - var __move = function(ctx, x, y) { - ctx.moveTo(((x * rPR) >> 0) + indent, ((y * rPR) >> 0) + indent); + var __move = function(ctx, x, y, is_vert) { + ctx.moveTo(((x * rPR) >> 0) + (is_vert ? indent : 0), ((y * rPR) >> 0) + (is_vert ? 0 : indent)); }; - var __line = function(ctx, x, y) { - ctx.lineTo(((x * rPR) >> 0) + indent, ((y * rPR) >> 0) + indent); + var __line = function(ctx, x, y, is_vert) { + ctx.lineTo(((x * rPR) >> 0) + (is_vert ? indent : 0), ((y * rPR) >> 0) + (is_vert ? 0 : indent)); }; - var __rect = function(ctx, x, y, w, h) { - ctx.rect(((x * rPR) >> 0) + indent, ((y * rPR) >> 0) + indent, w * rPR, h * rPR); + var __rect = function(ctx, x, y, w, h, indent) { + indent = (undefined === indent) ? 0 : indent; + ctx.rect(((x * rPR) >> 0) + indent, ((y * rPR) >> 0) + indent, (w * rPR) >> 0, (h * rPR) >> 0); }; for (var page = 0; page < pageRects.length; page++) @@ -6622,7 +6622,11 @@ function CDrawingDocument() ctx.beginPath(); __rect(ctx, pageRects[page].X, pageRects[page].Y, pageRects[page].W, pageRects[page].H); ctx.fill(); + + ctx.beginPath(); + __rect(ctx, pageRects[page].X, pageRects[page].Y, pageRects[page].W, pageRects[page].H, indent); ctx.stroke(); + ctx.beginPath(); // gutter if (gutterSize > 0) @@ -6634,10 +6638,10 @@ function CDrawingDocument() case 0: { var x = pageRects[page].X; - for (var i = 0; i < gutterSize; i++) + for (var i = 0; i < gutterSize; i += lineW) { - __move(ctx, x + i, pageRects[page].Y + gutterEvenOdd); - __line(ctx, x + i, pageRects[page].Y + pageRects[page].H); + ctx.moveTo(((x * rPR) >> 0) + i + indent, ((pageRects[page].Y + gutterEvenOdd) * rPR) >> 0); + ctx.lineTo(((x * rPR) >> 0) + i + indent, ((pageRects[page].Y + pageRects[page].H) * rPR) >> 0); ctx.stroke(); ctx.beginPath(); gutterEvenOdd = (0 === gutterEvenOdd) ? 2 : 0; @@ -6647,10 +6651,10 @@ function CDrawingDocument() case 1: { var x = pageRects[page].X + pageRects[page].W; - for (var i = 0; i < gutterSize; i++) + for (var i = 0; i < gutterSize; i += lineW) { - __move(ctx, x - i, pageRects[page].Y + gutterEvenOdd); - __line(ctx, x - i, pageRects[page].Y + pageRects[page].H); + ctx.moveTo(((x * rPR) >> 0) - i - indent, ((pageRects[page].Y + gutterEvenOdd) * rPR) >> 0); + ctx.lineTo(((x * rPR) >> 0) - i - indent, ((pageRects[page].Y + pageRects[page].H) * rPR) >> 0); ctx.stroke(); ctx.beginPath(); gutterEvenOdd = (0 === gutterEvenOdd) ? 2 : 0; @@ -6660,10 +6664,10 @@ function CDrawingDocument() case 2: { var y = pageRects[page].Y; - for (var i = 0; i < gutterSize; i++) + for (var i = 0; i < gutterSize; i += lineW) { - __move(ctx, pageRects[page].X + gutterEvenOdd, y + i); - __line(ctx, pageRects[page].X + pageRects[page].W, y + i); + ctx.moveTo(((pageRects[page].X + gutterEvenOdd) * rPR) >> 0, ((y * rPR) >> 0) + i + indent); + ctx.lineTo(((pageRects[page].X + pageRects[page].W) * rPR) >> 0, ((y * rPR) >> 0) + i + indent); ctx.stroke(); ctx.beginPath(); gutterEvenOdd = (0 === gutterEvenOdd) ? 2 : 0; @@ -6726,27 +6730,35 @@ function CDrawingDocument() var lf = l + (((r - l) / 8) >> 0); var rf = l + (((r - l) / 3) >> 0); - var cur = t; + l = (l * rPR) >> 0; + r = (r * rPR) >> 0; + b = (b * rPR) >> 0; + lf = (lf * rPR) >> 0; + rf = (rf * rPR) >> 0; + var cur = ((t * rPR) >> 0) + indent; + var cur_offset = 2 * lineW; + var cur_offset_end = 6 * lineW; + while (cur < b) { - __move(ctx, lf, cur); __line(ctx, r, cur); + ctx.moveTo(lf, cur); ctx.lineTo(r, cur); - cur += 2; + cur += cur_offset; if (cur >= b) break; - __move(ctx, l, cur); __line(ctx, r, cur); + ctx.moveTo(l, cur); ctx.lineTo(r, cur); - cur += 2; + cur += cur_offset; if (cur >= b) break; - __move(ctx, l, cur); __line(ctx, r, cur); + ctx.moveTo(l, cur); ctx.lineTo(r, cur); - cur += 2; + cur += cur_offset; if (cur >= b) break; - __move(ctx, l, cur); __line(ctx, rf, cur); + ctx.moveTo(l, cur); ctx.lineTo(rf, cur); - cur += 6; + cur += cur_offset_end; } ctx.stroke(); ctx.beginPath(); @@ -6950,8 +6962,8 @@ function CDrawingDocument() parent.appendChild(canvas); } - canvas.width = AscCommon.AscBrowser.convertToRetinaValue(width_px, true); - canvas.height = AscCommon.AscBrowser.convertToRetinaValue(height_px, true); + AscCommon.calculateCanvasSize(canvas, undefined, true); + canvas.width = canvas.width; var ctx = canvas.getContext("2d"); var rPR = AscCommon.AscBrowser.retinaPixelRatio; @@ -7032,8 +7044,11 @@ function CDrawingDocument() right_offset = Math.round((width_px - offsetBase) * rPR), y_dist = Math.round((line_w + line_distance) * rPR); - ctx.moveTo(offsetBase * rPR, y); ctx.lineTo((width_px - offsetBase) * rPR, y); y += y_dist; - ctx.moveTo(offsetBase * rPR, y); ctx.lineTo((width_px - offsetBase) * rPR, y); y += y_dist; + var left_offset2 = Math.round(offsetBase * rPR); + var right_offset2 = Math.round((width_px - offsetBase) * rPR); + + ctx.moveTo(left_offset2, y); ctx.lineTo(right_offset2, y); y += y_dist; + ctx.moveTo(left_offset2, y); ctx.lineTo(right_offset2, y); y += y_dist; ctx.stroke(); ctx.beginPath(); ctx.strokeStyle = "#000000"; @@ -7047,8 +7062,8 @@ function CDrawingDocument() ctx.stroke(); ctx.beginPath(); ctx.strokeStyle = "#CBCBCB"; - ctx.moveTo(offsetBase * rPR, y); ctx.lineTo((width_px - offsetBase) * rPR, y); y += y_dist; - ctx.moveTo(offsetBase * rPR, y); ctx.lineTo((width_px - offsetBase) * rPR, y); + ctx.moveTo(left_offset2, y); ctx.lineTo(right_offset2, y); y += y_dist; + ctx.moveTo(left_offset2, y); ctx.lineTo(right_offset2, y); ctx.stroke(); ctx.beginPath(); } From 8745402f430a8cbad9eaff7253ebca3c2019b4a0 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Thu, 6 May 2021 11:23:55 +0300 Subject: [PATCH 321/381] [de] Fix bug with 1970 comment date after copy-paste --- word/Editor/Serialize2.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/word/Editor/Serialize2.js b/word/Editor/Serialize2.js index 95a4be75b0..1e6e65fbf2 100644 --- a/word/Editor/Serialize2.js +++ b/word/Editor/Serialize2.js @@ -6740,7 +6740,7 @@ function BinaryCommentsTableWriter(memory, doc, oMapCommentId, commentUniqueGuid { this.bs.WriteItem(c_oSer_CommentsType.Replies, function(){oThis.WriteReplies(comment.m_aReplies);}); } - if (null != comment.m_sOOTime) + if (null != comment.m_sOOTime && "" != comment.m_sOOTime) { this.memory.WriteByte(c_oSer_CommentsType.DateUtc); this.memory.WriteString2(new Date(comment.m_sOOTime - 0).toISOString().slice(0, 19) + 'Z'); @@ -8303,6 +8303,8 @@ function BinaryFileReader(doc, openParams) oCommentObj.m_sProviderId = comment.ProviderId; if(null != comment.Date) oCommentObj.m_sTime = comment.Date; + if(null != comment.OODate) + oCommentObj.m_sOOTime = comment.OODate; if(null != comment.m_sQuoteText) oCommentObj.m_sQuoteText = comment.m_sQuoteText; if(null != comment.Text) From 3e11a1d4d0138f4a32f5e3a782694dff2bc5c391 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 6 May 2021 13:25:29 +0300 Subject: [PATCH 322/381] Fix/colors (#1919) * Add read theme colors * Support rgba(..,) colors * Fix crash on changing theme * Update color map * Fix smooth in vertical ruler Co-authored-by: evgenykatyshev --- common/skin.js | 245 +++++++++++++++++++++---------- slide/Drawing/DrawingDocument.js | 54 ++----- word/Drawing/Rulers.js | 45 +++--- 3 files changed, 199 insertions(+), 145 deletions(-) diff --git a/common/skin.js b/common/skin.js index e6b4ce97be..719734c28d 100644 --- a/common/skin.js +++ b/common/skin.js @@ -104,6 +104,7 @@ var EditorSkins = { ThumbnailsPageNumberText : "#000000", ThumbnailsPageNumberTextActive : "#000000", ThumbnailsPageNumberTextHover : "#000000", + ThumbnailsLockColor : "#D34F4F", BackgroundColorNotes : "#F0F0F0", THEMES_THUMBNAIL_WIDTH : 85, @@ -218,6 +219,7 @@ var EditorSkins = { ThumbnailsPageNumberText : "#FFFFFF", ThumbnailsPageNumberTextActive : "#FFFFFF", ThumbnailsPageNumberTextHover : "#FFFFFF", + ThumbnailsLockColor : "#D34F4F", BackgroundColorNotes : "#666666", THEMES_THUMBNAIL_WIDTH : 85, @@ -279,6 +281,110 @@ function setter_from_interface(obj) var GlobalSkin = EditorSkins["theme-light"]; +function updateGlobalSkinColors(theme) +{ + var skin = GlobalSkin; + + var correctColor = function (c) { + return AscCommon.RgbaTextToRgbaHex(c); + }; + + var colorMap = { + BackgroundColor : "canvas-background", + PageOutline : "canvas-page-border", + + RulerDark : "canvas-ruler-margins-background", + RulerLight : "canvas-ruler-background", + RulerOutline : "border-toolbar", + RulerMarkersOutlineColor : "canvas-ruler-handle-border", + RulerMarkersOutlineColorOld : "canvas-ruler-handle-border-disabled", + RulerMarkersFillColor : "background-normal", + RulerMarkersFillColorOld : "background-normal", + RulerTextColor : "canvas-ruler-mark", + RulerTabsColor : "canvas-high-contrast", + RulerTabsColorOld : "canvas-high-contrast-disabled", + RulerTableColor1 : "background-normal", + RulerTableColor2 : "canvas-ruler-handle-border", + + ScrollBackgroundColor : "canvas-background", + ScrollOutlineColor : "canvas-scroll-thumb-border", + ScrollOutlineHoverColor : "canvas-scroll-thumb-border-hover", + ScrollOutlineActiveColor : "canvas-scroll-thumb-border-pressed", + ScrollerColor : "canvas-scroll-thumb", + ScrollerHoverColor : "canvas-scroll-thumb-hover", + ScrollerActiveColor : "canvas-scroll-thumb-pressed", + ScrollArrowColor : "canvas-scroll-arrow", + ScrollArrowHoverColor : "canvas-scroll-arrow-hover", + ScrollArrowActiveColor : "canvas-scroll-arrow-pressed", + ScrollerTargetColor : "canvas-scroll-thumb-target", + ScrollerTargetHoverColor : "canvas-scroll-thumb-target-hover", + ScrollerTargetActiveColor : "canvas-scroll-thumb-target-pressed", + + /* presentations */ + BackgroundColorThumbnails : "background-toolbar", + BackgroundColorThumbnailsActive : "background-toolbar", + BackgroundColorThumbnailsHover : "background-toolbar", + ThumbnailsPageOutlineActive : "border-preview-select", + ThumbnailsPageOutlineHover : "border-preview-hover", + ThumbnailsPageNumberText : "text-normal", + ThumbnailsPageNumberTextActive : "text-normal", + ThumbnailsPageNumberTextHover : "text-normal", + BackgroundColorNotes : "canvas-background", + + BorderSplitterColor : "border-toolbar", + + // demonstration + DemBackgroundColor : "background-toolbar", + DemButtonBackgroundColor : "background-normal", + DemButtonBackgroundColorHover : "highlight-buttin-hover", + DemButtonBackgroundColorActive : "highlight-button-pressed", + DemButtonBorderColor : "border-regular-control", + DemButtonTextColor : "text-normal", + DemButtonTextColorActive : "text-normal-pressed", + DemSplitterColor : "border-divider", + DemTextColor : "text-normal", + + /* spreadsheets */ + Background : "canvas-background", + BackgroundActive : "canvas-cell-title-selected", + BackgroundHighlighted : "canvas-cell-title-hover", + + Border : "canvas-cell-title-border", + BorderActive : "canvas-cell-title-border-selected", + BorderHighlighted : "canvas-cell-title-border-hover", + + Color : "text-normal", + ColorActive : "text-normal", + ColorHighlighted : "text-normal", + + BackgroundDark : "canvas-dark-cell-title", + BackgroundDarkActive : "canvas-dark-cell-title-selected", + BackgroundDarkHighlighted : "canvas-dark-cell-title-hover", + + ColorDark : "text-contrast-background", + ColorDarkActive : "text-contrast-background", + ColorDarkHighlighted : "text-contrast-background", + + GroupDataBorder : "border-toolbar", + EditorBorder : "border-toolbar" + }; + + for (var color in colorMap) + { + if (undefined === GlobalSkin[color]) + continue; + if ("" === colorMap[color]) + continue; + if (undefined === theme[colorMap[color]]) + continue; + + if (0 === GlobalSkin[color].indexOf("rgb")) + GlobalSkin[color] = theme[colorMap[color]]; + else + GlobalSkin[color] = correctColor(theme[colorMap[color]]); + } +} + function updateGlobalSkin(obj) { if (!obj) return; @@ -309,86 +415,7 @@ function updateGlobalSkin(obj) for (var item in obj) GlobalSkin[item] = obj[item]; - // TODO: переделать на имена интерфейса - if (obj["Name"]) GlobalSkin.Name = obj["Name"]; - if (obj["RulersButton"]) GlobalSkin.RulersButton = obj["RulersButton"]; - if (obj["NavigationButtons"]) GlobalSkin.NavigationButtons = obj["NavigationButtons"]; - if (obj["BackgroundColor"]) GlobalSkin.BackgroundColor = obj["BackgroundColor"]; - if (obj["PageOutline"]) GlobalSkin.PageOutline = obj["PageOutline"]; - if (obj["RulerDark"]) GlobalSkin.RulerDark = obj["RulerDark"]; - if (obj["RulerLight"]) GlobalSkin.RulerLight = obj["RulerLight"]; - if (obj["RulerOutline"]) GlobalSkin.RulerOutline = obj["RulerOutline"]; - if (obj["RulerMarkersOutlineColor"]) GlobalSkin.RulerMarkersOutlineColor = obj["RulerMarkersOutlineColor"]; - if (obj["RulerMarkersFillColor"]) GlobalSkin.RulerMarkersFillColor = obj["RulerMarkersFillColor"]; - if (obj["RulerMarkersFillColorOld"]) GlobalSkin.RulerMarkersFillColorOld = obj["RulerMarkersFillColorOld"]; - if (obj["RulerTextColor"]) GlobalSkin.RulerTextColor = obj["RulerTextColor"]; - if (obj["RulerTabsColor"]) GlobalSkin.RulerTabsColor = obj["RulerTabsColor"]; - if (obj["RulerTabsColorOld"]) GlobalSkin.RulerTabsColorOld = obj["RulerTabsColorOld"]; - if (obj["RulerTableColor1"]) GlobalSkin.RulerTableColor1 = obj["RulerTableColor1"]; - if (obj["RulerTableColor2"]) GlobalSkin.RulerTableColor2 = obj["RulerTableColor2"]; - if (obj["ScrollBackgroundColor"]) GlobalSkin.ScrollBackgroundColor = obj["ScrollBackgroundColor"]; - if (obj["ScrollOutlineColor"]) GlobalSkin.ScrollOutlineColor = obj["ScrollOutlineColor"]; - if (obj["ScrollOutlineHoverColor"]) GlobalSkin.ScrollOutlineHoverColor = obj["ScrollOutlineHoverColor"]; - if (obj["ScrollOutlineActiveColor"]) GlobalSkin.ScrollOutlineActiveColor = obj["ScrollOutlineActiveColor"]; - if (obj["ScrollerColor"]) GlobalSkin.ScrollerColor = obj["ScrollerColor"]; - if (obj["ScrollerHoverColor"]) GlobalSkin.ScrollerHoverColor = obj["ScrollerHoverColor"]; - if (obj["ScrollerActiveColor"]) GlobalSkin.ScrollerActiveColor = obj["ScrollerActiveColor"]; - if (obj["ScrollArrowColor"]) GlobalSkin.ScrollArrowColor = obj["ScrollArrowColor"]; - if (obj["ScrollArrowHoverColor"]) GlobalSkin.ScrollArrowHoverColor = obj["ScrollArrowHoverColor"]; - if (obj["ScrollArrowActiveColor"]) GlobalSkin.ScrollArrowActiveColor = obj["ScrollArrowActiveColor"]; - if (obj["ScrollerTargetColor"]) GlobalSkin.ScrollerTargetColor = obj["ScrollerTargetColor"]; - if (obj["ScrollerTargetHoverColor"]) GlobalSkin.ScrollerTargetHoverColor = obj["ScrollerTargetHoverColor"]; - if (obj["ScrollerTargetActiveColor"]) GlobalSkin.ScrollerTargetActiveColor = obj["ScrollerTargetActiveColor"]; - if (obj["STYLE_THUMBNAIL_WIDTH"]) GlobalSkin.STYLE_THUMBNAIL_WIDTH = obj["STYLE_THUMBNAIL_WIDTH"]; - if (obj["STYLE_THUMBNAIL_HEIGHT"]) GlobalSkin.STYLE_THUMBNAIL_HEIGHT = obj["STYLE_THUMBNAIL_HEIGHT"]; - if (obj["isNeedInvertOnActive"]) GlobalSkin.isNeedInvertOnActive = obj["isNeedInvertOnActive"]; - if (obj["ContentControlsBack"]) GlobalSkin.ContentControlsBack = obj["ContentControlsBack"]; - if (obj["ContentControlsHover"]) GlobalSkin.ContentControlsHover = obj["ContentControlsHover"]; - if (obj["ContentControlsActive"]) GlobalSkin.ContentControlsActive = obj["ContentControlsActive"]; - if (obj["ContentControlsText"]) GlobalSkin.ContentControlsText = obj["ContentControlsText"]; - if (obj["ContentControlsTextActive"]) GlobalSkin.ContentControlsTextActive = obj["ContentControlsTextActive"]; - if (obj["ContentControlsAnchorActive"]) GlobalSkin.ContentControlsAnchorActive = obj["ContentControlsAnchorActive"]; - if (obj["BackgroundColorThumbnails"]) GlobalSkin.BackgroundColorThumbnails = obj["BackgroundColorThumbnails"]; - if (obj["BackgroundColorThumbnailsActive"]) GlobalSkin.BackgroundColorThumbnailsActive = obj["BackgroundColorThumbnailsActive"]; - if (obj["BackgroundColorThumbnailsHover"]) GlobalSkin.BackgroundColorThumbnailsHover = obj["BackgroundColorThumbnailsHover"]; - if (obj["ThumbnailsPageOutlineActive"]) GlobalSkin.ThumbnailsPageOutlineActive = obj["ThumbnailsPageOutlineActive"]; - if (obj["ThumbnailsPageOutlineHover"]) GlobalSkin.ThumbnailsPageOutlineHover = obj["ThumbnailsPageOutlineHover"]; - if (obj["ThumbnailsPageNumberText"]) GlobalSkin.ThumbnailsPageNumberText = obj["ThumbnailsPageNumberText"]; - if (obj["ThumbnailsPageNumberTextActive"]) GlobalSkin.ThumbnailsPageNumberTextActive = obj["ThumbnailsPageNumberTextActive"]; - if (obj["ThumbnailsPageNumberTextHover"]) GlobalSkin.ThumbnailsPageNumberTextHover = obj["ThumbnailsPageNumberTextHover"]; - if (obj["THEMES_THUMBNAIL_WIDTH"]) GlobalSkin.THEMES_THUMBNAIL_WIDTH = obj["THEMES_THUMBNAIL_WIDTH"]; - if (obj["THEMES_THUMBNAIL_HEIGHT"]) GlobalSkin.THEMES_THUMBNAIL_HEIGHT = obj["THEMES_THUMBNAIL_HEIGHT"]; - if (obj["BorderSplitterColor"]) GlobalSkin.BorderSplitterColor = obj["BorderSplitterColor"]; - if (obj["SupportNotes"]) GlobalSkin.SupportNotes = obj["SupportNotes"]; - if (obj["SplitterWidthMM"]) GlobalSkin.SplitterWidthMM = obj["SplitterWidthMM"]; - if (obj["ThumbnailScrollWidthNullIfNoScrolling"]) GlobalSkin.ThumbnailScrollWidthNullIfNoScrolling = obj["ThumbnailScrollWidthNullIfNoScrolling"]; - if (obj["DemBackgroundColor"]) GlobalSkin.DemBackgroundColor = obj["DemBackgroundColor"]; - if (obj["DemButtonBackgroundColor"]) GlobalSkin.DemButtonBackgroundColor = obj["DemButtonBackgroundColor"]; - if (obj["DemButtonBackgroundColorHover"]) GlobalSkin.DemButtonBackgroundColorHover = obj["DemButtonBackgroundColorHover"]; - if (obj["DemButtonBackgroundColorActive"]) GlobalSkin.DemButtonBackgroundColorActive = obj["DemButtonBackgroundColorActive"]; - if (obj["DemButtonBorderColor"]) GlobalSkin.DemButtonBorderColor = obj["DemButtonBorderColor"]; - if (obj["DemButtonTextColor"]) GlobalSkin.DemButtonTextColor = obj["DemButtonTextColor"]; - if (obj["DemButtonTextColorActive"]) GlobalSkin.DemButtonTextColorActive = obj["DemButtonTextColorActive"]; - if (obj["DemSplitterColor"]) GlobalSkin.DemSplitterColor = obj["DemSplitterColor"]; - if (obj["DemTextColor"]) GlobalSkin.DemTextColor = obj["DemTextColor"]; - - if (obj["Background"]) GlobalSkin.Background = obj["Background"]; - if (obj["Border"]) GlobalSkin.Border = obj["Border"]; - if (obj["Color"]) GlobalSkin.Color = obj["Color"]; - if (obj["BackgroundDark"]) GlobalSkin.BackgroundDark = obj["BackgroundDark"]; - if (obj["ColorDark"]) GlobalSkin.ColorDark = obj["ColorDark"]; - if (obj["BackgroundActive"]) GlobalSkin.BackgroundActive = obj["BackgroundActive"]; - if (obj["BorderActive"]) GlobalSkin.BorderActive = obj["BorderActive"]; - if (obj["ColorActive"]) GlobalSkin.ColorActive = obj["ColorActive"]; - if (obj["BackgroundDarkActive"]) GlobalSkin.BackgroundDarkActive = obj["BackgroundDarkActive"]; - if (obj["ColorDarkActive"]) GlobalSkin.ColorDarkActive = obj["ColorDarkActive"]; - if (obj["BackgroundHighlighted"]) GlobalSkin.BackgroundHighlighted = obj["BackgroundHighlighted"]; - if (obj["BorderHighlighted"]) GlobalSkin.BorderHighlighted = obj["BorderHighlighted"]; - if (obj["ColorHighlighted"]) GlobalSkin.ColorHighlighted = obj["ColorHighlighted"]; - if (obj["BackgroundDarkHighlighted"]) GlobalSkin.BackgroundDarkHighlighted = obj["BackgroundDarkHighlighted"]; - if (obj["ColorDarkHighlighted"]) GlobalSkin.ColorDarkHighlighted = obj["ColorDarkHighlighted"]; - if (obj["GroupDataBorder"]) GlobalSkin.GroupDataBorder = obj["GroupDataBorder"]; - if (obj["EditorBorder"]) GlobalSkin.EditorBorder = obj["EditorBorder"]; + updateGlobalSkinColors(obj); if (window.g_asc_plugins) window.g_asc_plugins.onThemeChanged(GlobalSkin); @@ -400,6 +427,64 @@ window['AscCommon'] = window['AscCommon'] || {}; window['AscCommon'].GlobalSkin = GlobalSkin; window['AscCommon'].updateGlobalSkin = updateGlobalSkin; +window['AscCommon'].RgbaHexToRGBA = function(color) +{ + var index = 0; + if ("#".charCodeAt(0) === color.charCodeAt(0)) + index++; + + var ret = { + R : 0, + G : 0, + B : 0, + A : 255 + }; + + if (6 <= color.length) + { + ret.R = parseInt( color.substring( index, index + 2 ), 16 ); + ret.G = parseInt( color.substring( index + 2, index + 4 ), 16 ); + ret.B = parseInt( color.substring( index + 4, index + 6 ), 16 ); + } + else + { + ret.R = parseInt( color.substring( index, index + 1 ), 16 ); + ret.G = parseInt( color.substring( index + 1, index + 2 ), 16 ); + ret.B = parseInt( color.substring( index + 2, index + 3 ), 16 ); + + ret.R = (ret.R << 4) | ret.R; + ret.G = (ret.G << 4) | ret.G; + ret.R = (ret.B << 4) | ret.B; + } + + return ret; +}; +window['AscCommon'].RgbaTextToRgbaHex = function(color) +{ + if (0 !== color.indexOf("rgb")) + return color; + + var start = color.indexOf("("); + var end = color.indexOf(")"); + var tmp = color.substring(start + 1, end); + var colors = tmp.split(","); + + for (var i in colors) + colors[i] = colors[i].trim(); + + var r = colors[0] || 0; + var g = colors[1] || 0; + var b = colors[2] || 0; + var a = (colors[3] === undefined) ? 255 : colors[3]; + + var toHex = function (c) { + var res = Number(c).toString(16); + return res.length === 1 ? "0" + res : res; + }; + + return "#" + toHex(r) + toHex(g) + toHex(b); +}; + if (AscCommon.TEMP_STYLE_THUMBNAIL_WIDTH !== undefined && AscCommon.TEMP_STYLE_THUMBNAIL_HEIGHT !== undefined) { // TODO: переделать. diff --git a/slide/Drawing/DrawingDocument.js b/slide/Drawing/DrawingDocument.js index 62fd07c7dd..78c70dcef8 100644 --- a/slide/Drawing/DrawingDocument.js +++ b/slide/Drawing/DrawingDocument.js @@ -4800,25 +4800,12 @@ function CThumbnailsManager() page.Draw(context, page.left, page.top, page.right - page.left, page.bottom - page.top); - /* - if (!page.IsSelected) - g.b_color1(0, 0, 0, 255); - else - g.b_color1(210, 72, 72, 255); - */ + var text_color = null; if (!page.IsLocked) - { - /* - if (i == this.m_oWordControl.m_oDrawingDocument.SlideCurrent || !page.IsSelected) - g.b_color1(0, 0, 0, 255); - else - g.b_color1(191, 191, 191, 255); - */ - // теперь рисуем не выделяя текущий - g.b_color1(0, 0, 0, 255); - } + text_color = AscCommon.RgbaHexToRGBA(AscCommon.GlobalSkin.ThumbnailsPageNumberText); else - g.b_color1(211, 79, 79, 255); + text_color = AscCommon.RgbaHexToRGBA(AscCommon.GlobalSkin.ThumbnailsLockColor); + g.b_color1(text_color.R, text_color.G, text_color.B, 255); var _bounds = g.t("" + (i + 1), (_digit_distance - num_slide_text_width) / 2, (page.top * g_dKoef_pix_to_mm + 3), true); if (_logicDocument.Slides[i] && !_logicDocument.Slides[i].isVisible()) @@ -4855,14 +4842,9 @@ function CThumbnailsManager() context.fillStyle = GlobalSkin.BackgroundColorThumbnails; context.fillRect(0, 0, _width, _height); - //var _style_select = "#FFE063"; - //var _style_focus = "#E8EAEC"; - //var _style_select_focus = "#FFEF9D"; - - //var _style_select = "#E98859"; - var _style_select = "#848484"; - var _style_focus = "#CFCFCF"; - var _style_select_focus = "#848484"; + var _style_select = GlobalSkin.ThumbnailsPageOutlineActive; + var _style_focus = GlobalSkin.ThumbnailsPageOutlineHover; + var _style_select_focus = GlobalSkin.ThumbnailsPageOutlineActive; // selected pages context.fillStyle = _style_select; @@ -4873,26 +4855,8 @@ function CThumbnailsManager() if (page.IsLocked) { - var _lock_focus = "#D34F4F"; - var _lock_color = "#D34F4F"; - /* - if (page.IsSelected && page.IsFocused) - { - this.FocusRectFlat("#CA2B1F", context, page.left, page.top, page.right, page.bottom); - } - else if (page.IsSelected) - { - this.FocusRectFlat("#9F1F15", context, page.left, page.top, page.right, page.bottom); - } - else if (page.IsFocused) - { - this.FocusRectFlat("#FF5E52", context, page.left, page.top, page.right, page.bottom); - } - else - { - this.FocusRectFlat("#EE3525", context, page.left, page.top, page.right, page.bottom); - } - */ + var _lock_focus = AscCommon.GlobalSkin.ThumbnailsLockColor; + var _lock_color = AscCommon.GlobalSkin.ThumbnailsLockColor; if (page.IsFocused) { diff --git a/word/Drawing/Rulers.js b/word/Drawing/Rulers.js index 4f160c3f2f..e95f2b3ebf 100644 --- a/word/Drawing/Rulers.js +++ b/word/Drawing/Rulers.js @@ -2940,6 +2940,11 @@ function CVerRuler() var part1 = dPR; var part2 = 2.5 * dPR; + var l_part1 = Math.floor(middleHor - part1); + var r_part1 = Math.ceil(middleHor + part1); + var l_part2 = Math.floor(middleHor - part2); + var r_part2 = Math.ceil(middleHor + part2); + context.font = Math.round(7 * dPR) + "pt Arial"; if (this.Units == c_oAscDocumentUnits.Millimeter) @@ -2974,24 +2979,24 @@ function CVerRuler() { // 1/4 context.beginPath(); - context.moveTo(middleHor - part1, lYPos); - context.lineTo(middleHor + part1, lYPos); + context.moveTo(l_part1, lYPos); + context.lineTo(r_part1, lYPos); context.stroke(); } else if (2 == index) { // 1/2 context.beginPath(); - context.moveTo(middleHor - part2, lYPos); - context.lineTo(middleHor + part2, lYPos); + context.moveTo(l_part2, lYPos); + context.lineTo(r_part2, lYPos); context.stroke(); } else if (isDraw1_4) { // 1/4 context.beginPath(); - context.moveTo(middleHor - part1, lYPos); - context.lineTo(middleHor + part1, lYPos); + context.moveTo(l_part1, lYPos); + context.lineTo(r_part1, lYPos); context.stroke(); } } @@ -3022,24 +3027,24 @@ function CVerRuler() { // 1/4 context.beginPath(); - context.moveTo(middleHor - part1, lYPos); - context.lineTo(middleHor + part1, lYPos); + context.moveTo(l_part1, lYPos); + context.lineTo(r_part1, lYPos); context.stroke(); } else if (2 == index) { // 1/2 context.beginPath(); - context.moveTo(middleHor - part2, lYPos); - context.lineTo(middleHor + part2, lYPos); + context.moveTo(l_part2, lYPos); + context.lineTo(r_part2, lYPos); context.stroke(); } else if (isDraw1_4) { // 1/4 context.beginPath(); - context.moveTo(middleHor - part1, lYPos); - context.lineTo(middleHor + part1, lYPos); + context.moveTo(l_part1, lYPos); + context.lineTo(r_part1, lYPos); context.stroke(); } } @@ -3076,16 +3081,16 @@ function CVerRuler() { // 1/2 context.beginPath(); - context.moveTo(middleHor - part2, lYPos); - context.lineTo(middleHor + part2, lYPos); + context.moveTo(l_part2, lYPos); + context.lineTo(r_part2, lYPos); context.stroke(); } else if (inch_1_8 > 8) { // 1/8 context.beginPath(); - context.moveTo(middleHor - part1, lYPos); - context.lineTo(middleHor + part1, lYPos); + context.moveTo(l_part1, lYPos); + context.lineTo(r_part1, lYPos); context.stroke(); } } @@ -3165,8 +3170,8 @@ function CVerRuler() { // 1/8 context.beginPath(); - context.moveTo(middleHor - part1, lYPos); - context.lineTo(middleHor + part1, lYPos); + context.moveTo(l_part1, lYPos); + context.lineTo(r_part1, lYPos); context.stroke(); } } @@ -3197,8 +3202,8 @@ function CVerRuler() { // 1/8 context.beginPath(); - context.moveTo(middleHor - part1, lYPos); - context.lineTo(middleHor + part1, lYPos); + context.moveTo(l_part1, lYPos); + context.lineTo(r_part1, lYPos); context.stroke(); } } From 85786833eafbf6681efbde30de8e9f55c8c67b1d Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 6 May 2021 16:00:58 +0300 Subject: [PATCH 323/381] Fix parsing colors (#1920) --- common/skin.js | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/common/skin.js b/common/skin.js index 719734c28d..6e6911e013 100644 --- a/common/skin.js +++ b/common/skin.js @@ -454,15 +454,27 @@ window['AscCommon'].RgbaHexToRGBA = function(color) ret.R = (ret.R << 4) | ret.R; ret.G = (ret.G << 4) | ret.G; - ret.R = (ret.B << 4) | ret.B; + ret.B = (ret.B << 4) | ret.B; } return ret; }; window['AscCommon'].RgbaTextToRgbaHex = function(color) { + var toHex = function (c) { + var res = Number(c).toString(16); + return res.length === 1 ? "0" + res : res; + }; + if (0 !== color.indexOf("rgb")) + { + if (color.length < 6) + { + var rgba = AscCommon.RgbaHexToRGBA(color); + return "#" + toHex(rgba.R) + toHex(rgba.G) + toHex(rgba.B); + } return color; + } var start = color.indexOf("("); var end = color.indexOf(")"); @@ -477,11 +489,6 @@ window['AscCommon'].RgbaTextToRgbaHex = function(color) var b = colors[2] || 0; var a = (colors[3] === undefined) ? 255 : colors[3]; - var toHex = function (c) { - var res = Number(c).toString(16); - return res.length === 1 ? "0" + res : res; - }; - return "#" + toHex(r) + toHex(g) + toHex(b); }; From 971cc07f011d188541dd9b1d72d4a4271aa9a78e Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 6 May 2021 16:27:36 +0300 Subject: [PATCH 324/381] Fix bug 46682, 47661 (#1921) --- common/Scrolls/mobileTouchManagerBase.js | 5 +---- common/apiBase.js | 5 +++++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/common/Scrolls/mobileTouchManagerBase.js b/common/Scrolls/mobileTouchManagerBase.js index 160456a590..77ac0b1dad 100644 --- a/common/Scrolls/mobileTouchManagerBase.js +++ b/common/Scrolls/mobileTouchManagerBase.js @@ -2138,15 +2138,12 @@ }; CMobileTouchManagerBase.prototype.checkPointerEvent = function(e) { - if (!AscCommon.AscBrowser.isIE) - return false; - var _type = e.type; if (_type.toLowerCase) _type = _type.toLowerCase(); if (-1 == _type.indexOf("pointer")) - return -1; + return false; if (undefined == e["pointerId"]) return false; diff --git a/common/apiBase.js b/common/apiBase.js index 1bd9bf35fb..496c8087d9 100644 --- a/common/apiBase.js +++ b/common/apiBase.js @@ -212,6 +212,11 @@ var t = this; //Asc.editor = Asc['editor'] = AscCommon['editor'] = AscCommon.editor = this; // ToDo сделать это! this.HtmlElement = document.getElementById(this.HtmlElementName); + if (this.HtmlElement) + { + // запрещаем действия браузера по умолчанию + this.HtmlElement.style.touchAction = "none"; + } // init OnMessage AscCommon.InitOnMessage(function(error, url) From 1e6fc55991dd1cb4db83ad077dace600b9decc4f Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 6 May 2021 16:40:46 +0300 Subject: [PATCH 325/381] [bug] Fix bug 50201 --- common/Drawings/Format/ChartFormat.js | 24 +++++++++----------- common/Drawings/Format/ChartSpace.js | 3 +++ common/apiCommon.js | 32 +++++++++++++++++++++------ 3 files changed, 39 insertions(+), 20 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index b7c65439b5..1bc2c02eec 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -4748,6 +4748,13 @@ return oBarChart; }; + CPlotArea.prototype.canChangeToComboChart = function() { + var aSeries = this.getAllSeries(); + if(aSeries.length < 2) { + return false; + } + return true; + } CPlotArea.prototype.switchToCombo = function(nType) { if(this.charts.length < 1) { return; @@ -4757,10 +4764,11 @@ return; } //TODO: Use type - var aSeries = this.getAllSeries(), oTypedChart; - if(aSeries.length < 2) { + if(!this.canChangeToComboChart()) { return; } + var aSeries = this.getAllSeries(); + var oTypedChart; var nAx, oAxis, aAllAxes, aFirstAxes, aSecondAxes, aFirstChartSeries, aSecondChartSeries; var aAllCharts = [], nChart; var oBarChart, oLineChart, oAreaChart; @@ -5119,17 +5127,7 @@ if(nType === Asc.c_oAscChartTypeSettings.stock) { return true; } - var oTestDataRefs = new AscFormat.CChartDataRefs(null); - - var oDataRefs = oChartSpace.getDataRefs(); - var sRange = oDataRefs.getRange(); - var nInfo = oDataRefs.getInfo(); - var bHorValue = (nInfo & AscFormat.SERIES_FLAG_HOR_VALUE) !== 0; - var nTestResult = oTestDataRefs.checkDataRange(sRange, bHorValue, Asc.c_oAscChartTypeSettings.stock); - if(nTestResult === Asc.c_oAscError.ID.No) { - return true; - } - return false; + return (this.getAllSeries().length === AscFormat.MIN_STOCK_COUNT); }; CPlotArea.prototype.changeChartType = function(nType) { if(!this.parent) { diff --git a/common/Drawings/Format/ChartSpace.js b/common/Drawings/Format/ChartSpace.js index 9c546701cb..3645fcb080 100644 --- a/common/Drawings/Format/ChartSpace.js +++ b/common/Drawings/Format/ChartSpace.js @@ -12182,6 +12182,9 @@ var GLOBAL_PATH_COUNT = 0; CChartSpace.prototype.canChangeToStockChart = function() { return this.chart.plotArea.canChangeToStockChart(); }; + CChartSpace.prototype.canChangeToComboChart = function() { + return this.chart.plotArea.canChangeToComboChart(); + }; CChartSpace.prototype.checkDlblsPosition = function() { this.chart.checkDlblsPosition(); }; diff --git a/common/apiCommon.js b/common/apiCommon.js index c368f0a9ca..3b1156886e 100644 --- a/common/apiCommon.js +++ b/common/apiCommon.js @@ -1642,17 +1642,29 @@ asc_ChartSettings.prototype.getSeparator = function() { return this.separator; }; + asc_ChartSettings.prototype.sendErrorOnChangeType = function(nType) { + var oApi = Asc.editor || editor; + if(oApi) { + oApi.sendEvent("asc_onError", nType, Asc.c_oAscError.Level.NoCritical); + if(oApi.UpdateInterfaceState) { + oApi.UpdateInterfaceState(); + } + } + }; asc_ChartSettings.prototype.changeType = function(type) { if(this.chartSpace) { if(type === Asc.c_oAscChartTypeSettings.stock) { if(!this.chartSpace.canChangeToStockChart()){ - var oApi = Asc.editor || editor; - if(oApi) { - oApi.sendEvent("asc_onError", Asc.c_oAscError.ID.StockChartError, Asc.c_oAscError.Level.NoCritical); - if(oApi.UpdateInterfaceState) { - oApi.UpdateInterfaceState(); - } - } + this.sendErrorOnChangeType(Asc.c_oAscError.ID.StockChartError); + return false; + } + } + if(type === Asc.c_oAscChartTypeSettings.comboCustom + || type === Asc.c_oAscChartTypeSettings.comboAreaBar + || type === Asc.c_oAscChartTypeSettings.comboBarLine + || type === Asc.c_oAscChartTypeSettings.comboBarLineSecondary) { + if(!this.chartSpace.canChangeToComboChart()){ + this.sendErrorOnChangeType(Asc.c_oAscError.ID.ComboSeriesError); return false; } } @@ -1665,6 +1677,12 @@ oController.checkSelectedObjectsAndCallback(function() { oChartSpace.changeChartType(type); oThis.updateChart(); + var oApi = Asc.editor || editor; + if(oApi) { + if(oApi.UpdateInterfaceState) { + oApi.UpdateInterfaceState(); + } + } }, [], false, 0, []); } } From 0aa79394111f188de43ccf93e603459ce144df0a Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 6 May 2021 17:24:30 +0300 Subject: [PATCH 326/381] [bug] Fix bug 47923 --- slide/Editor/CollaborativeEditing.js | 6 +++++- slide/Editor/Format/Presentation.js | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/slide/Editor/CollaborativeEditing.js b/slide/Editor/CollaborativeEditing.js index 485e45b077..74c82d19f1 100644 --- a/slide/Editor/CollaborativeEditing.js +++ b/slide/Editor/CollaborativeEditing.js @@ -362,7 +362,7 @@ CCollaborativeEditing.prototype.OnEnd_Load_Objects = function() editor.sync_EndAction(Asc.c_oAscAsyncActionType.BlockInteraction, Asc.c_oAscAsyncAction.ApplyChanges); }; -CCollaborativeEditing.prototype.OnEnd_CheckLock = function() +CCollaborativeEditing.prototype.OnEnd_CheckLock = function(DontLockInFastMode) { var aIds = []; @@ -377,6 +377,10 @@ CCollaborativeEditing.prototype.OnEnd_CheckLock = function() aIds.push( oItem ); } + + if (true === DontLockInFastMode && true === this.Is_Fast()) + return false; + if ( aIds.length > 0 ) { // Отправляем запрос на сервер со списком Id diff --git a/slide/Editor/Format/Presentation.js b/slide/Editor/Format/Presentation.js index 78847b78e6..bea141cf67 100644 --- a/slide/Editor/Format/Presentation.js +++ b/slide/Editor/Format/Presentation.js @@ -3819,7 +3819,7 @@ CPresentation.prototype.Begin_CompositeInput = function () { return; } } - if (false === this.Document_Is_SelectionLocked(changestype_Drawing_Props, null, true)) { + if (false === this.Document_Is_SelectionLocked(changestype_Drawing_Props, null, undefined, undefined, true)) { this.Create_NewHistoryPoint(AscDFH.historydescription_Document_CompositeInput); var oController = this.GetCurrentController(); if (oController) { @@ -10058,9 +10058,9 @@ CPresentation.prototype.moveSlides = function (slidesIndexes, pos) { CPresentation.prototype.IsSelectionLocked = function(nCheckType, oAdditionalData, isDontLockInFastMode, isIgnoreCanEditFlag) { - return this.Document_Is_SelectionLocked(nCheckType, oAdditionalData, isIgnoreCanEditFlag); + return this.Document_Is_SelectionLocked(nCheckType, oAdditionalData, isIgnoreCanEditFlag, undefined, isDontLockInFastMode); }; -CPresentation.prototype.Document_Is_SelectionLocked = function (CheckType, AdditionalData, isIgnoreCanEditFlag, aAdditionaObjects) { +CPresentation.prototype.Document_Is_SelectionLocked = function (CheckType, AdditionalData, isIgnoreCanEditFlag, aAdditionaObjects, DontLockInFastMode) { if (!this.CanEdit() && true !== isIgnoreCanEditFlag) return true; @@ -10344,7 +10344,7 @@ CPresentation.prototype.Document_Is_SelectionLocked = function (CheckType, Addit this.defaultTextStyleLock.Lock.Check(check_obj); } - var bResult = AscCommon.CollaborativeEditing.OnEnd_CheckLock(); + var bResult = AscCommon.CollaborativeEditing.OnEnd_CheckLock(DontLockInFastMode); if (true === bResult) { this.Document_UpdateSelectionState(); From dfbe4242ab6d7c140dee8019c16e9d0ab7ded5ae Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 6 May 2021 18:28:42 +0300 Subject: [PATCH 327/381] Fix bugs with slides skin (#1922) --- slide/Drawing/DrawingDocument.js | 68 ++++++++++++++++++-------------- slide/Drawing/HtmlPage.js | 38 ++++++++++-------- slide/api.js | 15 +++++++ 3 files changed, 76 insertions(+), 45 deletions(-) diff --git a/slide/Drawing/DrawingDocument.js b/slide/Drawing/DrawingDocument.js index 78c70dcef8..db09d1b874 100644 --- a/slide/Drawing/DrawingDocument.js +++ b/slide/Drawing/DrawingDocument.js @@ -3648,6 +3648,8 @@ function CThPage() function CThumbnailsManager() { + this.isInit = false; + this.lastPixelRatio = 0; this.m_oFontManager = new AscFonts.CFontManager(); this.m_bIsScrollVisible = true; @@ -4435,17 +4437,24 @@ function CThumbnailsManager() g_fontApplication.LoadFont(font.FontFamily.Name, AscCommon.g_font_loader, this.m_oFontManager, font.FontSize, oFontStyle, 96, 96); }; - this.Init = function() + this.InitCheckOnResize = function() { - this.m_oFontManager.Initialize(true); - this.m_oFontManager.SetHintsProps(true, true); + if (!this.isInit) + return; + + if (Math.abs(this.lastPixelRatio - AscCommon.AscBrowser.retinaPixelRatio) < 0.01) + return; - var font = {FontFamily : {Name : "Arial", Index : -1}, Italic : false, Bold : false, FontSize : 10}; - this.SetFont(font); + this.lastPixelRatio = AscCommon.AscBrowser.retinaPixelRatio; + this.SetFont({ + FontFamily: {Name: "Arial", Index: -1}, + Italic: false, + Bold: false, + FontSize: Math.round(10 * AscCommon.AscBrowser.retinaPixelRatio) + }); // измеряем все цифры - for (var i = 0; i < 10; i++) - { + for (var i = 0; i < 10; i++) { var _meas = this.m_oFontManager.MeasureChar(("" + i).charCodeAt(0)); if (_meas) this.DigitWidths[i] = _meas.fAdvanceX * 25.4 / 96; @@ -4453,13 +4462,19 @@ function CThumbnailsManager() this.DigitWidths[i] = 10; } - if (true) - { - this.const_offset_y = 17; - this.const_offset_b = this.const_offset_y; - this.const_offset_r = 8; - this.const_border_w = 7; - } + this.const_offset_y = Math.round(this.lastPixelRatio * 17); + this.const_offset_b = this.const_offset_y; + this.const_offset_r = Math.round(this.lastPixelRatio * 10); + this.const_border_w = Math.round(this.lastPixelRatio * 7); + }; + + this.Init = function() + { + this.isInit = true; + this.m_oFontManager.Initialize(true); + this.m_oFontManager.SetHintsProps(true, true); + + this.InitCheckOnResize(); this.MouseTrackCommonImage = document.createElement("canvas"); @@ -4501,6 +4516,7 @@ function CThumbnailsManager() this.CheckSizes = function() { + this.InitCheckOnResize(); var word_control = this.m_oWordControl; var dKoefToPix = AscCommon.AscBrowser.retinaPixelRatio * g_dKoef_mm_to_pix; @@ -4785,7 +4801,7 @@ function CThumbnailsManager() g.m_oFontManager = this.m_oFontManager; g.transform(1, 0, 0, 1, 0, 0); - var font = {FontFamily : {Name : "Arial", Index : -1}, Italic : false, Bold : false, FontSize : 10}; + var font = {FontFamily : {Name : "Arial", Index : -1}, Italic : false, Bold : false, FontSize : Math.round(10 * AscCommon.AscBrowser.retinaPixelRatio)}; g.SetFont(font); // меряем надпись номера слайда @@ -4807,7 +4823,7 @@ function CThumbnailsManager() text_color = AscCommon.RgbaHexToRGBA(AscCommon.GlobalSkin.ThumbnailsLockColor); g.b_color1(text_color.R, text_color.G, text_color.B, 255); - var _bounds = g.t("" + (i + 1), (_digit_distance - num_slide_text_width) / 2, (page.top * g_dKoef_pix_to_mm + 3), true); + var _bounds = g.t("" + (i + 1), (_digit_distance - num_slide_text_width) / 2, (page.top * g_dKoef_pix_to_mm + 3 * AscCommon.AscBrowser.retinaPixelRatio), true); if (_logicDocument.Slides[i] && !_logicDocument.Slides[i].isVisible()) { context.lineWidth = 1; @@ -4880,7 +4896,7 @@ function CThumbnailsManager() } else if (page.IsFocused) { - this.FocusRectFlat(_style_focus, context, page.left, page.top, page.right, page.bottom); + this.FocusRectFlat(_style_focus, context, page.left, page.top, page.right, page.bottom, true); } } @@ -4928,25 +4944,19 @@ function CThumbnailsManager() { ctx.rect(x - this.const_border_w, y, r - x + this.const_border_w, b - y); }; - this.FocusRectFlat = function(_color, ctx, x, y, r, b) + this.FocusRectFlat = function(_color, ctx, x, y, r, b, isFocus) { ctx.beginPath(); ctx.strokeStyle = _color; - ctx.lineWidth = 2; + var lineW = Math.round((isFocus ? 2 : 3) * AscCommon.AscBrowser.retinaPixelRatio); + var dist = Math.round(2 * AscCommon.AscBrowser.retinaPixelRatio); + ctx.lineWidth = lineW; + var extend = dist + (lineW / 2); - ctx.rect(x - 2, y - 2, r - x + 4, b - y + 4); + ctx.rect(x - extend, y - extend, r - x + (2 * extend), b - y + (2 * extend)); ctx.stroke(); ctx.beginPath(); - - if (true) - { - ctx.lineWidth = 1; - ctx.strokeStyle = "#FFFFFF"; - ctx.rect(x - 0.5, y - 0.5, r - x + 1, b - y + 1); - ctx.stroke(); - ctx.beginPath(); - } }; this.onCheckUpdate = function() diff --git a/slide/Drawing/HtmlPage.js b/slide/Drawing/HtmlPage.js index c20b045aa8..5c317e7b7c 100644 --- a/slide/Drawing/HtmlPage.js +++ b/slide/Drawing/HtmlPage.js @@ -364,6 +364,25 @@ function CEditorPage(api) return false; }; + this.getStylesReporter = function() + { + var styleContent = ""; + styleContent += (".btn-text-default { position: absolute; background: " + AscCommon.GlobalSkin.DemButtonBackgroundColor + "; border: 1px solid " + AscCommon.GlobalSkin.DemButtonBorderColor + "; border-radius: 2px; color: " + AscCommon.GlobalSkin.DemButtonTextColor + "; font-size: 11px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; height: 22px; cursor: pointer; }"); + styleContent += ".btn-text-default-img { background-repeat: no-repeat; position: absolute; background: transparent; border: none; height: 22px; cursor: pointer; }"; + styleContent += (".btn-text-default-img:focus { outline: 0; outline-offset: 0; } .btn-text-default-img:hover { background-color: " + AscCommon.GlobalSkin.DemButtonBackgroundColorHover + "; }"); + styleContent += (".btn-text-default-img:active, .btn-text-default.active { background-color: " + AscCommon.GlobalSkin.DemButtonBackgroundColorActive + " !important; -webkit-box-shadow: none; box-shadow: none; }"); + styleContent += (".btn-text-default:focus { outline: 0; outline-offset: 0; } .btn-text-default:hover { background-color: " + AscCommon.GlobalSkin.DemButtonBackgroundColorHover + "; }"); + styleContent += (".btn-text-default:active, .btn-text-default.active { background-color: " + AscCommon.GlobalSkin.DemButtonBackgroundColorActive + " !important; color: " + AscCommon.GlobalSkin.DemButtonTextColorActive + "; -webkit-box-shadow: none; box-shadow: none; }"); + styleContent += (".separator { margin: 0px 10px; height: 19px; display: inline-block; position: absolute; border-left: 1px solid " + AscCommon.GlobalSkin.DemSplitterColor + "; vertical-align: top; padding: 0; width: 0; box-sizing: border-box; }"); + styleContent += (".btn-text-default-img2 { background-repeat: no-repeat; position: absolute; background-color: " + AscCommon.GlobalSkin.DemButtonBackgroundColorActive + "; border: none; color: #7d858c; font-size: 11px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; height: 22px; cursor: pointer; }"); + styleContent += ".btn-text-default-img2:focus { outline: 0; outline-offset: 0; }"; + styleContent += ".btn-text-default::-moz-focus-inner { border: 0; padding: 0; }"; + styleContent += ".btn-text-default-img::-moz-focus-inner { border: 0; padding: 0; }"; + styleContent += ".btn-text-default-img2::-moz-focus-inner { border: 0; padding: 0; }"; + styleContent += (".dem-text-color { color:" + AscCommon.GlobalSkin.DemTextColor + "; }"); + return styleContent; + }; + this.Init = function() { if (this.m_oApi.isReporterMode) @@ -629,26 +648,13 @@ function CEditorPage(api) xOffset2 = "0"; } - styleContent += ""; - styleContent += (".btn-text-default { position: absolute; background: " + AscCommon.GlobalSkin.DemButtonBackgroundColor + "; border: 1px solid " + AscCommon.GlobalSkin.DemButtonBorderColor + "; border-radius: 2px; color: " + AscCommon.GlobalSkin.DemButtonTextColor + "; font-size: 11px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; height: 22px; cursor: pointer; }"); - styleContent += ".btn-text-default-img { background-repeat: no-repeat; position: absolute; background: transparent; border: none; height: 22px; cursor: pointer; }"; - styleContent += (".btn-text-default-img:focus { outline: 0; outline-offset: 0; } .btn-text-default-img:hover { background-color: " + AscCommon.GlobalSkin.DemButtonBackgroundColorHover + "; }"); - styleContent += (".btn-text-default-img:active, .btn-text-default.active { background-color: " + AscCommon.GlobalSkin.DemButtonBackgroundColorActive + " !important; -webkit-box-shadow: none; box-shadow: none; }"); - styleContent += (".btn-text-default:focus { outline: 0; outline-offset: 0; } .btn-text-default:hover { background-color: " + AscCommon.GlobalSkin.DemButtonBackgroundColorHover + "; }"); - styleContent += (".btn-text-default:active, .btn-text-default.active { background-color: " + AscCommon.GlobalSkin.DemButtonBackgroundColorActive + " !important; color: " + AscCommon.GlobalSkin.DemButtonTextColorActive + "; -webkit-box-shadow: none; box-shadow: none; }"); - styleContent += (".separator { margin: 0px 10px; height: 19px; display: inline-block; position: absolute; border-left: 1px solid " + AscCommon.GlobalSkin.DemSplitterColor + "; vertical-align: top; padding: 0; width: 0; box-sizing: border-box; }"); styleContent += (".btn-play { background-position: " + xOffset1 + "px -40px; } .btn-play:active { background-position: " + xOffset2 + "px -40px; }"); styleContent += (".btn-prev { background-position: " + xOffset1 + "px 0px; } .btn-prev:active { background-position: " + xOffset2 + "px 0px; }"); styleContent += (".btn-next { background-position: " + xOffset1 + "px -20px; } .btn-next:active { background-position: " + xOffset2 + "px -20px; }"); styleContent += (".btn-pause { background-position: " + xOffset1 + "px -80px; } .btn-pause:active { background-position: " + xOffset2 + "px -80px; }"); styleContent += (".btn-pointer { background-position: " + xOffset1 + "px -100px; } .btn-pointer-active { background-position: " + xOffset2 + "px -100px; }"); styleContent += (".btn-pointer:active { background-position: " + xOffset2 + "px -100px; }"); - styleContent += (".btn-text-default-img2 { background-repeat: no-repeat; position: absolute; background-color: " + AscCommon.GlobalSkin.DemButtonBackgroundColorActive + "; border: none; color: #7d858c; font-size: 11px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; height: 22px; cursor: pointer; }"); - styleContent += ".btn-text-default-img2:focus { outline: 0; outline-offset: 0; }"; - styleContent += ".btn-text-default::-moz-focus-inner { border: 0; padding: 0; }"; - styleContent += ".btn-text-default-img::-moz-focus-inner { border: 0; padding: 0; }"; - styleContent += ".btn-text-default-img2::-moz-focus-inner { border: 0; padding: 0; }"; - + styleContent += this.getStylesReporter(); var style = document.createElement('style'); style.type = 'text/css'; @@ -668,7 +674,7 @@ function CEditorPage(api) } var _buttonsContent = ""; - _buttonsContent += ""; + _buttonsContent += ""; _buttonsContent += ""; _buttonsContent += (""); _buttonsContent += (""); @@ -678,7 +684,7 @@ function CEditorPage(api) _buttonsContent += "
                                                                    "; - _buttonsContent += ""; + _buttonsContent += ""; _buttonsContent += "
                                                                    "; diff --git a/slide/api.js b/slide/api.js index dd09e226ed..fb1b40957e 100644 --- a/slide/api.js +++ b/slide/api.js @@ -1404,6 +1404,18 @@ background-repeat: no-repeat;\ document.getElementById("id_notes").style.backgroundColor = AscCommon.GlobalSkin.BackgroundColorNotes; } + if (this.isReporterMode) + { + if (document.getElementById("dem_id_pointer") && this.WordControl) + { + var _head = document.getElementsByTagName('head')[0]; + var style = document.createElement('style'); + style.type = 'text/css'; + style.innerHTML = this.WordControl.getStylesReporter(); + _head.appendChild(style); + } + } + if (this.WordControl && this.WordControl.m_oBody) this.WordControl.OnResize(true); }; @@ -6377,6 +6389,7 @@ background-repeat: no-repeat;\ { this.reporterStartObject = startObject; this.reporterStartObject["translate"] = AscCommon.translateManager.mapTranslate; + this.reporterStartObject["skin"] = AscCommon.GlobalSkin; if (window["AscDesktopEditor"]) { @@ -6556,6 +6569,8 @@ background-repeat: no-repeat;\ { if (data["translate"]) this.translateManager = AscCommon.translateManager.init(data["translate"]); + if (data["skin"]) + this.asc_setSkin(data["skin"]); this.reporterTranslates = [data["translations"]["reset"], data["translations"]["slideOf"], data["translations"]["endSlideshow"], data["translations"]["finalMessage"]]; From 877b6efe880d9ee62654ba57d429e82129da1916 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 6 May 2021 20:24:03 +0300 Subject: [PATCH 328/381] Fix colors in reporter mode (#1923) --- slide/Drawing/HtmlPage.js | 26 ++++++++++++++++++-------- slide/api.js | 4 ++++ 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/slide/Drawing/HtmlPage.js b/slide/Drawing/HtmlPage.js index 5c317e7b7c..47b10ed377 100644 --- a/slide/Drawing/HtmlPage.js +++ b/slide/Drawing/HtmlPage.js @@ -602,7 +602,7 @@ function CEditorPage(api) _documentDem.setAttribute("id", "id_reporter_dem"); _documentDem.setAttribute("class", "block_elem"); _documentDem.style.overflow = "hidden"; - _documentDem.style.backgroundColor = GlobalSkin.BackgroundColor; + _documentDem.style.backgroundColor = GlobalSkin.BackgroundColorThumbnails; _documentParent.appendChild(_documentDem); this.m_oDemonstrationDivId = CreateControlContainer("id_reporter_dem"); @@ -616,7 +616,7 @@ function CEditorPage(api) demBottonsDiv.setAttribute("id", "id_reporter_dem_controller"); demBottonsDiv.setAttribute("class", "block_elem"); demBottonsDiv.style.overflow = "hidden"; - demBottonsDiv.style.backgroundColor = GlobalSkin.BackgroundColor; + demBottonsDiv.style.backgroundColor = GlobalSkin.BackgroundColorThumbnails; demBottonsDiv.style.cursor = "default"; _documentParent.appendChild(demBottonsDiv); @@ -648,12 +648,22 @@ function CEditorPage(api) xOffset2 = "0"; } - styleContent += (".btn-play { background-position: " + xOffset1 + "px -40px; } .btn-play:active { background-position: " + xOffset2 + "px -40px; }"); - styleContent += (".btn-prev { background-position: " + xOffset1 + "px 0px; } .btn-prev:active { background-position: " + xOffset2 + "px 0px; }"); - styleContent += (".btn-next { background-position: " + xOffset1 + "px -20px; } .btn-next:active { background-position: " + xOffset2 + "px -20px; }"); - styleContent += (".btn-pause { background-position: " + xOffset1 + "px -80px; } .btn-pause:active { background-position: " + xOffset2 + "px -80px; }"); - styleContent += (".btn-pointer { background-position: " + xOffset1 + "px -100px; } .btn-pointer-active { background-position: " + xOffset2 + "px -100px; }"); - styleContent += (".btn-pointer:active { background-position: " + xOffset2 + "px -100px; }"); + styleContent += (".btn-play { background-position: " + xOffset1 + "px -40px; }"); + styleContent += (".btn-prev { background-position: " + xOffset1 + "px 0px; }"); + styleContent += (".btn-next { background-position: " + xOffset1 + "px -20px; }"); + styleContent += (".btn-pause { background-position: " + xOffset1 + "px -80px; }"); + styleContent += (".btn-pointer { background-position: " + xOffset1 + "px -100px; }"); + styleContent += (".btn-pointer-active { background-position: " + xOffset2 + "px -100px; }"); + + if (false) // менять цвет при нажатии + { + styleContent += (".btn-play:active { background-position: " + xOffset2 + "px -40px; }"); + styleContent += (".btn-prev:active { background-position: " + xOffset2 + "px 0px; }"); + styleContent += (".btn-next:active { background-position: " + xOffset2 + "px -20px; }"); + styleContent += (".btn-pause:active { background-position: " + xOffset2 + "px -80px; }"); + styleContent += (".btn-pointer:active { background-position: " + xOffset2 + "px -100px; }"); + } + styleContent += this.getStylesReporter(); var style = document.createElement('style'); diff --git a/slide/api.js b/slide/api.js index fb1b40957e..fcad76f9e8 100644 --- a/slide/api.js +++ b/slide/api.js @@ -1413,6 +1413,10 @@ background-repeat: no-repeat;\ style.type = 'text/css'; style.innerHTML = this.WordControl.getStylesReporter(); _head.appendChild(style); + + document.getElementById("id_reporter_dem").style.backgroundColor = GlobalSkin.BackgroundColorThumbnails; + document.getElementById("id_reporter_dem_controller").style.backgroundColor = GlobalSkin.BackgroundColorThumbnails; + document.getElementById("id_main_parent").style.backgroundColor = GlobalSkin.BackgroundColorThumbnails; } } From 705a8372fe3b2a81641b90c4cad4d551a446014f Mon Sep 17 00:00:00 2001 From: Nikita Antipin Date: Thu, 6 May 2021 20:11:48 +0300 Subject: [PATCH 329/381] Fix bug 50240 --- cell/view/EventsController.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/view/EventsController.js b/cell/view/EventsController.js index 8416d44daa..44508c080e 100644 --- a/cell/view/EventsController.js +++ b/cell/view/EventsController.js @@ -1736,7 +1736,7 @@ deltaY = event.detail; } else if (undefined !== event.deltaY && 0 !== event.deltaY) { // FF - deltaY = event.deltaY; + deltaY = Math.sign(event.deltaY) * 3; } if (undefined !== event.deltaX && 0 !== event.deltaX) { deltaX = event.deltaX; From 75803234cf0d9ef16f7859eb585381d1aabc67dd Mon Sep 17 00:00:00 2001 From: Nikita Antipin Date: Fri, 7 May 2021 10:12:08 +0300 Subject: [PATCH 330/381] Added comments for bug --- cell/view/EventsController.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cell/view/EventsController.js b/cell/view/EventsController.js index 44508c080e..f23f1a3dd2 100644 --- a/cell/view/EventsController.js +++ b/cell/view/EventsController.js @@ -1736,6 +1736,8 @@ deltaY = event.detail; } else if (undefined !== event.deltaY && 0 !== event.deltaY) { // FF + //постоянный шаг из-за некорректного значения deltaY после обновления FF + //TODO: переход в таблицах на DOMMouseScroll с корректными значениями и учетом системного шага deltaY = Math.sign(event.deltaY) * 3; } if (undefined !== event.deltaX && 0 !== event.deltaX) { From be78a2c8701f1f70a396746c085efab4385361db Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Fri, 7 May 2021 11:39:49 +0300 Subject: [PATCH 331/381] [se] Fix bug 50240 --- cell/view/EventsController.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/cell/view/EventsController.js b/cell/view/EventsController.js index f23f1a3dd2..52b3a721b1 100644 --- a/cell/view/EventsController.js +++ b/cell/view/EventsController.js @@ -1736,9 +1736,14 @@ deltaY = event.detail; } else if (undefined !== event.deltaY && 0 !== event.deltaY) { // FF - //постоянный шаг из-за некорректного значения deltaY после обновления FF - //TODO: переход в таблицах на DOMMouseScroll с корректными значениями и учетом системного шага - deltaY = Math.sign(event.deltaY) * 3; + //ограничиваем шаг из-за некорректного значения deltaY после обновления FF + //TODO необходимо пересмотреть. нужны корректные значения и учетом системного шага. + var _maxDelta = 3; + if (AscCommon.AscBrowser.isMozilla && Math.abs(event.deltaY) > _maxDelta) { + deltaY = Math.sign(event.deltaY) * _maxDelta; + } else { + deltaY = event.deltaY; + } } if (undefined !== event.deltaX && 0 !== event.deltaX) { deltaX = event.deltaX; From 413c44c8084d9e66e63408807754118ce6aee26f Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 7 May 2021 11:48:58 +0300 Subject: [PATCH 332/381] Fix bugs with themes (#1925) --- slide/Drawing/DrawingDocument.js | 3 +++ word/Drawing/Rulers.js | 1 + 2 files changed, 4 insertions(+) diff --git a/slide/Drawing/DrawingDocument.js b/slide/Drawing/DrawingDocument.js index db09d1b874..cce8cbbff0 100644 --- a/slide/Drawing/DrawingDocument.js +++ b/slide/Drawing/DrawingDocument.js @@ -4542,6 +4542,9 @@ function CThumbnailsManager() if (this.const_offset_x < 25) this.const_offset_x = 25; + // focus/select rects + this.const_offset_x += Math.round(5 * AscCommon.AscBrowser.retinaPixelRatio); + nWidthSlide -= this.const_offset_x; var nHeightSlide = (nWidthSlide * this.SlideHeight / this.SlideWidth) >> 0; diff --git a/word/Drawing/Rulers.js b/word/Drawing/Rulers.js index e95f2b3ebf..365f420dcb 100644 --- a/word/Drawing/Rulers.js +++ b/word/Drawing/Rulers.js @@ -2477,6 +2477,7 @@ function CHorRuler() context.stroke(); } + context.strokeStyle = GlobalSkin.RulerTabsColorOld; if (-1 != this.m_lCurrentTab && this.m_lCurrentTab < this.m_arrTabs.length) { var _tab = this.m_arrTabs[this.m_lCurrentTab]; From 854939327cfd64388dc032cf75e27856f2671fa2 Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Fri, 7 May 2021 11:52:56 +0300 Subject: [PATCH 333/381] Fix/bug 50004 (#1926) * [se] For bug 50004 --- common/wordcopypaste.js | 76 ++++++++++++++++++++++++++++++----------- 1 file changed, 57 insertions(+), 19 deletions(-) diff --git a/common/wordcopypaste.js b/common/wordcopypaste.js index 1614e7fb17..d891316086 100644 --- a/common/wordcopypaste.js +++ b/common/wordcopypaste.js @@ -538,33 +538,43 @@ CopyProcessor.prototype = this.ParseItem(Item.Content[i], oTarget, Item.Content[i + 1], Item.Content.length); }, CopyRunContent: function (Container, oTarget, bOmitHyperlink) { - for (var i = 0; i < Container.Content.length; i++) { - var item = Container.Content[i]; - if (para_Run === item.Type) { + var bookmarksStartMap = {}; + var bookmarkPrviousTargetMap = {}; + var bookmarkLevel = 0; + + var closeBookmarks = function (_level) { + var tempTarget = bookmarkPrviousTargetMap[_level]; + if (tempTarget) { + tempTarget.addChild(oTarget); + oTarget = tempTarget; + } + }; + + for (var i = 0; i < Container.Content.length; i++) { + var item = Container.Content[i]; + if (para_Run === item.Type) { var oSpan = new CopyElement("span"); - this.CopyRun(item, oSpan); - if(!oSpan.isEmptyChild()){ + this.CopyRun(item, oSpan); + if (!oSpan.isEmptyChild()) { this.parse_para_TextPr(item.Get_CompiledTextPr(), oSpan); oTarget.addChild(oSpan); } - } - else if (para_Hyperlink === item.Type) { - if (!bOmitHyperlink) { + } else if (para_Hyperlink === item.Type) { + if (!bOmitHyperlink) { var oHyperlink = new CopyElement("a"); - var sValue = item.GetValue(); - var sToolTip = item.GetToolTip(); + var sValue = item.IsAnchor() ? "#" + item.Anchor : item.GetValue(); + var sToolTip = item.GetToolTip(); oHyperlink.oAttributes["href"] = CopyPasteCorrectString(sValue); oHyperlink.oAttributes["title"] = CopyPasteCorrectString(sToolTip); //вложенные ссылки в html запрещены. this.CopyRunContent(item, oHyperlink, true); oTarget.addChild(oHyperlink); - } - else + } else { this.CopyRunContent(item, oTarget, true); - } - else if(para_Math === item.Type){ - var sSrc = item.MathToImageConverter(); - if (null != sSrc && null != sSrc.ImageUrl){ + } + } else if (para_Math === item.Type) { + var sSrc = item.MathToImageConverter(); + if (null != sSrc && null != sSrc.ImageUrl) { var oImg = new CopyElement("img"); if (sSrc.w_px > 0) { oImg.oAttributes["width"] = sSrc.w_px; @@ -575,11 +585,39 @@ CopyProcessor.prototype = oImg.oAttributes["src"] = sSrc.ImageUrl; oTarget.addChild(oImg); } - } else if(para_InlineLevelSdt === item.Type) { + } else if (para_InlineLevelSdt === item.Type) { this.CopyRunContent(item, oTarget); - } else if(para_Field === item.Type) + } else if (para_Field === item.Type) { this.CopyRunContent(item, oTarget); - } + } else if (para_Bookmark === item.Type) { + //для внутренних ссылок + //если конец ссылки находится в тепкущем параграфе, то закрываем тэг ссылки здесь + //если он находится в следующем параграфе, то закрываем после того, как прошлись по всему содержимому данного параграфа + //ms в данном случае берёт только первый элемент + //чтобы заранее не проходиться по всему контенту параграфа в поисках закрытия bookmark - закрываю его после всего цикла + //на следующий параграф не переносим + if (item.Start) { + bookmarkLevel++; + bookmarksStartMap[item.BookmarkId] = 1; + var oBookmark = new CopyElement("a"); + var name = item.GetBookmarkName(); + oBookmark.oAttributes["name"] = CopyPasteCorrectString(name); + bookmarkPrviousTargetMap[bookmarkLevel] = oTarget; + oTarget = oBookmark; + } else if (bookmarksStartMap[item.BookmarkId]) { + bookmarksStartMap[item.BookmarkId] = 0; + closeBookmarks(bookmarkLevel); + bookmarkLevel--; + } + } + } + + if (bookmarkLevel > 0) { + while(bookmarkLevel > 0) { + closeBookmarks(bookmarkLevel); + bookmarkLevel--; + } + } }, CopyParagraph : function(oDomTarget, Item, selectedAll, nextElem) { From 4d4b2d1d788fd274f795389aee0fa2c783fe9941 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Fri, 7 May 2021 12:10:34 +0300 Subject: [PATCH 334/381] [se] Fix name containing non-ASCII symbols --- cell/model/PivotTables.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index 82b78ec7e9..30c87544c6 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -13863,19 +13863,19 @@ CT_RangePr.prototype.generateGroupItems = function (containsInteger, containsBl groupItems.addString(firstElem); var curVal = this.startNum; var nextVal = this.startNum + this.groupInterval; - var integerСorrection = 0; + var integerCorrection = 0; if (Number.isInteger(this.groupInterval) && Number.isInteger(this.startNum) && Number.isInteger(this.endNum) && containsInteger) { - integerСorrection = -1; + integerCorrection = -1; } while (AscCommon.compareNumbers(nextVal, this.endNum) < 0) { - groupItems.addString(numFormat.formatToChart(curVal) + '-' + numFormat.formatToChart(nextVal + integerСorrection)); + groupItems.addString(numFormat.formatToChart(curVal) + '-' + numFormat.formatToChart(nextVal + integerCorrection)); curVal = nextVal; nextVal = nextVal + this.groupInterval; } if (0 === AscCommon.compareNumbers(nextVal, this.endNum)) { groupItems.addString(numFormat.formatToChart(curVal) + '-' + numFormat.formatToChart(nextVal)); } else { - groupItems.addString(numFormat.formatToChart(curVal) + '-' + numFormat.formatToChart(nextVal + integerСorrection)); + groupItems.addString(numFormat.formatToChart(curVal) + '-' + numFormat.formatToChart(nextVal + integerCorrection)); } groupItems.addString('>' + numFormat.formatToChart(nextVal)); } else { From 3c48da290eef4a8206e282bc80f819333a6fc13b Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Fri, 7 May 2021 14:18:51 +0300 Subject: [PATCH 335/381] [se] Fix typo --- cell/model/WorkbookElems.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cell/model/WorkbookElems.js b/cell/model/WorkbookElems.js index 284f407b2d..a7c8dac05f 100644 --- a/cell/model/WorkbookElems.js +++ b/cell/model/WorkbookElems.js @@ -9622,8 +9622,8 @@ AutoFilterDateElem.prototype.Read_FromBinary2 = function(r) { AutoFilterDateElem.prototype.clone = function() { var res = new AutoFilterDateElem(); res.start = this.start; - this.end = this.end; - this.dateTimeGrouping = this.dateTimeGrouping; + res.end = this.end; + res.dateTimeGrouping = this.dateTimeGrouping; return res; }; From 9c833f611313422a74776aeae2517a1ec0acdf5f Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 7 May 2021 18:24:14 +0300 Subject: [PATCH 336/381] Fix bug 49018 (#1929) --- cell/view/mobileTouch.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/cell/view/mobileTouch.js b/cell/view/mobileTouch.js index 4202832a06..f07a332015 100644 --- a/cell/view/mobileTouch.js +++ b/cell/view/mobileTouch.js @@ -99,8 +99,8 @@ function (window, undefined) }; CMobileDelegateEditorCell.prototype.ConvertCoordsFromCursor = function(x, y) { - var _x = x - this.Offset.X * AscCommon.AscBrowser.retinaPixelRatio; - var _y = y - this.Offset.Y * AscCommon.AscBrowser.retinaPixelRatio; + var _x = (x - this.Offset.X) * AscCommon.AscBrowser.retinaPixelRatio; + var _y = (y - this.Offset.Y) * AscCommon.AscBrowser.retinaPixelRatio; var _res = this.WB.ConvertXYToLogic(_x, _y); var _point = {X: _res.X, Y: _res.Y, Page: 0, DrawPage: 0}; @@ -648,11 +648,13 @@ function (window, undefined) } case AscCommon.MobileTouchMode.Select: { - var _x1 = this.RectSelect1.x + 0.5; - var _y1 = this.RectSelect1.y + 0.5; + // сдвиг на чуток, чтобы не попасть на "перемещение" ячеек + var epsilonForCell = 1.5; + var _x1 = this.RectSelect1.x + epsilonForCell; + var _y1 = this.RectSelect1.y + epsilonForCell; - var _x2 = this.RectSelect2.x + this.RectSelect2.w - 0.5; - var _y2 = this.RectSelect2.y + this.RectSelect2.h - 0.5; + var _x2 = this.RectSelect2.x + this.RectSelect2.w - epsilonForCell; + var _y2 = this.RectSelect2.y + this.RectSelect2.h - epsilonForCell; if (this.RectSelectType === Asc.c_oAscSelectionType.RangeCol || this.RectSelectType === Asc.c_oAscSelectionType.RangeRow) AscCommon.global_mouseEvent.KoefPixToMM = -10; // чтобы не попасть в движения @@ -685,7 +687,7 @@ function (window, undefined) } else { - var __X = _matrix.TransformPointX (_x1, _y1); + var __X = _matrix.TransformPointX(_x1, _y1); var __Y = _matrix.TransformPointY(_x1, _y1); this.delegate.Logic_OnMouseDown(global_mouseEvent, __X, __Y, this.PageSelect1); From ac49ee2c23b257b7acf6f66e816a3de34ad2d2bb Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Mon, 10 May 2021 18:59:17 +0300 Subject: [PATCH 337/381] Fix bug 50299 (#1930) --- slide/Drawing/HtmlPage.js | 6 +++++- slide/api.js | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/slide/Drawing/HtmlPage.js b/slide/Drawing/HtmlPage.js index 47b10ed377..b8df6a9ee7 100644 --- a/slide/Drawing/HtmlPage.js +++ b/slide/Drawing/HtmlPage.js @@ -408,8 +408,12 @@ function CEditorPage(api) if (this.m_oApi.isReporterMode) { - this.Splitter2Pos = 90; + this.Splitter2Pos = window.innerHeight * 0.5 * AscCommon.g_dKoef_pix_to_mm; this.Splitter2PosMax = 200; + if (this.Splitter2Pos > this.Splitter2PosMax) + this.Splitter2Pos = this.Splitter2PosMax; + if (this.Splitter2Pos < this.Splitter2PosMin) + this.Splitter2Pos = this.Splitter2PosMin; } var ScrollWidthMm = this.ScrollWidthPx * g_dKoef_pix_to_mm; diff --git a/slide/api.js b/slide/api.js index fcad76f9e8..5cb093f46e 100644 --- a/slide/api.js +++ b/slide/api.js @@ -1414,9 +1414,9 @@ background-repeat: no-repeat;\ style.innerHTML = this.WordControl.getStylesReporter(); _head.appendChild(style); - document.getElementById("id_reporter_dem").style.backgroundColor = GlobalSkin.BackgroundColorThumbnails; - document.getElementById("id_reporter_dem_controller").style.backgroundColor = GlobalSkin.BackgroundColorThumbnails; - document.getElementById("id_main_parent").style.backgroundColor = GlobalSkin.BackgroundColorThumbnails; + ["id_reporter_dem", "id_reporter_dem_controller", "id_main_parent", "id_reporter_dem_parent", "id_main"].forEach(function (id) { + document.getElementById(id).style.backgroundColor = GlobalSkin.BackgroundColorThumbnails; + }); } } From 6a1df3d17c941378c6d15f01b262c035fee0ff1c Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 11 May 2021 12:10:39 +0300 Subject: [PATCH 338/381] Fix bug 50335 (#1933) --- cell/view/EventsController.js | 9 ++++++--- common/Drawings/CommonController.js | 4 +++- word/Editor/Document.js | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/cell/view/EventsController.js b/cell/view/EventsController.js index 52b3a721b1..5c88aa0516 100644 --- a/cell/view/EventsController.js +++ b/cell/view/EventsController.js @@ -720,6 +720,7 @@ asc_CEventsController.prototype._onWindowKeyDown = function (event) { var t = this, dc = 0, dr = 0, canEdit = this.canEdit(), action = false, enterOptions; var ctrlKey = !AscCommon.getAltGr(event) && (event.metaKey || event.ctrlKey); + var macCmdKey = AscCommon.AscBrowser.isMacOs && event.metaKey; var shiftKey = event.shiftKey; var selectionDialogMode = this.getSelectionDialogMode(); var isFormulaEditMode = this.getFormulaEditMode(); @@ -1122,9 +1123,11 @@ return result; case 93: - stop(); - this.handlers.trigger('onContextMenu', event); - return result; + if (!macCmdKey) { + stop(); + this.handlers.trigger('onContextMenu', event); + return result; + } default: this.skipKeyPress = false; diff --git a/common/Drawings/CommonController.js b/common/Drawings/CommonController.js index 66c8c347d4..f60e862828 100644 --- a/common/Drawings/CommonController.js +++ b/common/Drawings/CommonController.js @@ -5790,6 +5790,8 @@ DrawingObjectsController.prototype = onKeyDown: function(e) { var ctrlKey = e.metaKey || e.ctrlKey; + var macCmdKey = AscCommon.AscBrowser.isMacOs && e.metaKey; + var drawingObjectsController = this; var bRetValue = false; var canEdit = drawingObjectsController.canEdit(); @@ -6177,7 +6179,7 @@ DrawingObjectsController.prototype = else if ( e.keyCode == 90 && canEdit && true === ctrlKey ) // Ctrl + Z - Undo { } - else if ( e.keyCode == 93 || 57351 == e.keyCode /*в Opera такой код*/ ) // контекстное меню + else if ( (e.keyCode == 93 && !macCmdKey) || 57351 == e.keyCode /*в Opera такой код*/ ) // контекстное меню { bRetValue = true; } diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 2b8d86f199..de777e8995 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -10424,7 +10424,7 @@ CDocument.prototype.OnKeyDown = function(e) bRetValue = keydownresult_PreventAll; } } - else if ((e.KeyCode === 93) || (/*в Opera такой код*/AscCommon.AscBrowser.isOpera && (57351 === e.KeyCode)) || + else if ((e.KeyCode === 93 && !e.MacCmdKey) || (/*в Opera такой код*/AscCommon.AscBrowser.isOpera && (57351 === e.KeyCode)) || (e.KeyCode === 121 && true === e.ShiftKey)) // // Shift + F10 - контекстное меню { var X_abs, Y_abs, oPosition, ConvertedPos; From cc2d12835c9f94e8c96943ef7eb6dc8934e2304a Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Tue, 11 May 2021 11:27:46 +0300 Subject: [PATCH 339/381] Fix bug #50306 --- word/Editor/Table/TableCell.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/word/Editor/Table/TableCell.js b/word/Editor/Table/TableCell.js index 1c180cb869..ae145fd9b5 100644 --- a/word/Editor/Table/TableCell.js +++ b/word/Editor/Table/TableCell.js @@ -2247,7 +2247,7 @@ CTableCell.prototype.CheckNonEmptyBorder = function(nType) var nCurGridStart = oRow.GetCellInfo(this.Index).StartGridCol; if (this.Get_Border(nType).Value === 0) - this.Set_Border(border, nType); + this.Set_Border(oBorder, nType); if (nVMergeCount > 1) { From dbb186706e66944ab8f538a0261fd661ff56ab85 Mon Sep 17 00:00:00 2001 From: Antipin Nikita Date: Tue, 11 May 2021 15:48:31 +0300 Subject: [PATCH 340/381] Fix bug 50279 (#1934) --- common/scroll.js | 147 +++++++++++++++++++++++++++-------------------- 1 file changed, 86 insertions(+), 61 deletions(-) diff --git a/common/scroll.js b/common/scroll.js index fa49d1fa44..78f2d1bbfb 100644 --- a/common/scroll.js +++ b/common/scroll.js @@ -1001,6 +1001,10 @@ CArrowDrawer.prototype.InitSize = function ( sizeW, sizeH, is_retina ) { }; ScrollObject.prototype._drawScroll = function (fillColor, targetColor, strokeColor) { + fillColor = Math.round(fillColor); + targetColor = Math.round(targetColor); + strokeColor = Math.round(strokeColor); + var that = this; that.context.beginPath(); var roundDPR = this._roundForScale(AscBrowser.retinaPixelRatio); @@ -1133,8 +1137,6 @@ CArrowDrawer.prototype.InitSize = function ( sizeW, sizeH, is_retina ) { strokeColor = _HEXTORGB_(that.settings.strokeStyleNone).R, strokeHoverColor = _HEXTORGB_(that.settings.strokeStyleOver).R; - - cnvs.width = sizeW; cnvs.height = sizeH; @@ -1180,34 +1182,41 @@ CArrowDrawer.prototype.InitSize = function ( sizeW, sizeH, is_retina ) { } } + var stepsCount = 17; + var step = Math.abs((defaultColor - hoverColor)) / stepsCount; + //dimming the arrow if (fadeIn) { if(arrowType.arrowColor === arrowHoverColor && arrowType.arrowBackColor === hoverColor) { return; } - if (arrowType.arrowBackColor - hoverColor > 2) { - arrowType.arrowBackColor -= 2; - } else if (arrowType.arrowBackColor - hoverColor < -2) { - arrowType.arrowBackColor += 2; + if (arrowType.arrowBackColor - hoverColor > step) { + arrowType.arrowBackColor -= step; + } else if (arrowType.arrowBackColor - hoverColor < -step) { + arrowType.arrowBackColor += step; } else { arrowType.arrowBackColor = hoverColor; } - if (arrowType.arrowColor - arrowHoverColor > 4) { - arrowType.arrowColor -= 4; - } else if (arrowType.arrowColor - arrowHoverColor < -4) { - arrowType.arrowColor += 4; + step = Math.abs((strokeColor - strokeHoverColor)) / stepsCount; + + if (arrowType.arrowStrokeColor - strokeHoverColor > step) { + arrowType.arrowStrokeColor -= step; + } else if (arrowType.arrowStrokeColor - strokeHoverColor < -step) { + arrowType.arrowStrokeColor += step; } else { - arrowType.arrowColor = arrowHoverColor; + arrowType.arrowStrokeColor = strokeHoverColor; } - if (arrowType.arrowStrokeColor - strokeHoverColor > 2) { - arrowType.arrowStrokeColor -= 2; - } else if (arrowType.arrowStrokeColor - strokeHoverColor < -2) { - arrowType.arrowStrokeColor += 2; + step = Math.abs((arrowColor - arrowHoverColor)) / stepsCount; + + if (arrowType.arrowColor - arrowHoverColor > step) { + arrowType.arrowColor -= step; + } else if (arrowType.arrowColor - arrowHoverColor < -step) { + arrowType.arrowColor += step; } else { - arrowType.arrowStrokeColor = strokeHoverColor; + arrowType.arrowColor = arrowHoverColor; } } else //reverse dimming @@ -1216,26 +1225,30 @@ CArrowDrawer.prototype.InitSize = function ( sizeW, sizeH, is_retina ) { return; } - if (arrowType.arrowBackColor - defaultColor < -2) { - arrowType.arrowBackColor += 2; - } else if (arrowType.arrowBackColor - defaultColor > 2) { - arrowType.arrowBackColor -= 2; + if (arrowType.arrowBackColor - defaultColor < -step) { + arrowType.arrowBackColor += step; + } else if (arrowType.arrowBackColor - defaultColor > step) { + arrowType.arrowBackColor -= step; } else { arrowType.arrowBackColor = defaultColor; } - if (arrowType.arrowColor - arrowColor > 4) { - arrowType.arrowColor -= 4; - } else if (arrowType.arrowColor - arrowColor < -4) { - arrowType.arrowColor += 4; + step = Math.abs((arrowColor - arrowHoverColor)) / stepsCount; + + if (arrowType.arrowColor - arrowColor > step) { + arrowType.arrowColor -= step; + } else if (arrowType.arrowColor - arrowColor < -step) { + arrowType.arrowColor += step; } else { arrowType.arrowColor = arrowColor; } - if (arrowType.arrowStrokeColor - strokeColor > 2) { - arrowType.arrowStrokeColor -= 2; - } else if (arrowType.arrowStrokeColor - strokeColor < -2) { - arrowType.arrowStrokeColor += 2; + step = Math.abs((strokeColor - strokeHoverColor)) / stepsCount; + + if (arrowType.arrowStrokeColor - strokeColor > step) { + arrowType.arrowStrokeColor -= step; + } else if (arrowType.arrowStrokeColor - strokeColor < -step) { + arrowType.arrowStrokeColor += step; } else { arrowType.arrowStrokeColor = strokeColor; } @@ -1262,14 +1275,16 @@ CArrowDrawer.prototype.InitSize = function ( sizeW, sizeH, is_retina ) { ctx = that.context; ctx.beginPath(); - ctx.fillStyle = "rgb(" + arrowType.arrowBackColor + "," + - arrowType.arrowBackColor + "," + - arrowType.arrowBackColor + ")"; + var arrowBackColor = Math.round(arrowType.arrowBackColor); + ctx.fillStyle = "rgb(" + arrowBackColor + "," + + arrowBackColor + "," + + arrowBackColor + ")"; ctx.fillRect( x + fillRectX, y + fillRectY, sizeW, sizeH); if (that.ArrowDrawer.IsDrawBorders) { - ctx.strokeStyle = "rgb(" + arrowType.arrowStrokeColor + "," + arrowType.arrowStrokeColor + "," + arrowType.arrowStrokeColor + ")"; + var arrowStrokeColor = Math.round(arrowType.arrowStrokeColor) + ctx.strokeStyle = "rgb(" + arrowStrokeColor + "," + arrowStrokeColor + "," + arrowStrokeColor + ")"; ctx.lineWidth = roundDPR; ctx.rect(x + 0.5 * ctx.lineWidth + strokeRectX, y + 1.5 * ctx.lineWidth + strokeRectY, sizeW - roundDPR, sizeH - roundDPR); ctx.stroke(); @@ -1278,9 +1293,10 @@ CArrowDrawer.prototype.InitSize = function ( sizeW, sizeH, is_retina ) { //drawing arrow icon var imgContext = arrowImage.getContext('2d'); imgContext.globalCompositeOperation = "source-in"; - imgContext.fillStyle = "rgb(" + arrowType.arrowColor + "," + - arrowType.arrowColor + "," + - arrowType.arrowColor + ")"; + var arrowColor = Math.round(arrowType.arrowColor); + imgContext.fillStyle = "rgb(" + arrowColor + "," + + arrowColor + "," + + arrowColor + ")"; imgContext.fillRect(0.5, 1.5, sizeW , sizeH); ctx.drawImage(arrowImage, x, y, sizeW, sizeH); ctx.closePath(); @@ -1303,8 +1319,6 @@ CArrowDrawer.prototype.InitSize = function ( sizeW, sizeH, is_retina ) { strokeHoverColor = _HEXTORGB_(that.settings.strokeStyleOver).R, strokeColor = _HEXTORGB_(that.settings.strokeStyleNone).R; - - that.context.beginPath(); that._drawScroll(that.scrollColor, that.targetColor, that.strokeColor); @@ -1313,29 +1327,36 @@ CArrowDrawer.prototype.InitSize = function ( sizeW, sizeH, is_retina ) { return; } + var stepsCount = 17; + var step = Math.abs((defaultColor - hoverColor)) / stepsCount; + //dimming the scroll if (fadeIn) { - if (that.scrollColor - hoverColor > 2) { - that.scrollColor -= 2; - } else if (that.scrollColor - hoverColor < -2) { - that.scrollColor += 2; + if (that.scrollColor - hoverColor > step) { + that.scrollColor -= step; + } else if (that.scrollColor - hoverColor < -step) { + that.scrollColor += step; } else { that.scrollColor = hoverColor; } - if (that.targetColor - targetHoverColor > 2) { - that.targetColor -= 2; - } else if (that.targetColor - targetHoverColor < -2) { - that.targetColor += 2; + step = Math.abs((targetDefaultColor - targetHoverColor)) / stepsCount; + + if (that.targetColor - targetHoverColor > step) { + that.targetColor -= step; + } else if (that.targetColor - targetHoverColor < -step) { + that.targetColor += step; } else { that.targetColor = targetHoverColor; } - if (that.strokeColor - strokeHoverColor > 2) { - that.strokeColor -= 2; - } else if (that.strokeColor - strokeHoverColor < -2) { - that.strokeColor += 2; + step = Math.abs((strokeColor - strokeHoverColor)) / stepsCount; + + if (that.strokeColor - strokeHoverColor > step) { + that.strokeColor -= step; + } else if (that.strokeColor - strokeHoverColor < -step) { + that.strokeColor += step; } else { that.strokeColor = strokeHoverColor; } @@ -1343,27 +1364,31 @@ CArrowDrawer.prototype.InitSize = function ( sizeW, sizeH, is_retina ) { } else //reverse dimming if (fadeIn === false) { - if (that.scrollColor - defaultColor > 2) { - that.scrollColor -= 2; - } else if (that.scrollColor - defaultColor < -2) { - that.scrollColor += 2; + if (that.scrollColor - defaultColor > step) { + that.scrollColor -= step; + } else if (that.scrollColor - defaultColor < -step) { + that.scrollColor += step; } else { that.scrollColor = defaultColor; } - if (that.targetColor - targetDefaultColor > 2) { - that.targetColor -= 2; - } else if (that.targetColor - targetDefaultColor < -2) { - that.targetColor += 2; + step = Math.abs((targetDefaultColor - targetHoverColor)) / stepsCount; + + if (that.targetColor - targetDefaultColor > step) { + that.targetColor -= step; + } else if (that.targetColor - targetDefaultColor < -step) { + that.targetColor += step; } else { that.targetColor = targetDefaultColor; that.strokeColor = strokeColor; } - if (that.strokeColor - strokeColor > 2) { - that.strokeColor -= 2; - } else if (that.strokeColor - strokeColor < -2) { - that.strokeColor += 2; + step = Math.abs((strokeColor - strokeHoverColor)) / stepsCount; + + if (that.strokeColor - strokeColor > step) { + that.strokeColor -= step; + } else if (that.strokeColor - strokeColor < -step) { + that.strokeColor += step; } else { that.strokeColor = strokeColor; } From 83874a31fa76994ad349a9bd9329303cf8098455 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Tue, 11 May 2021 17:50:40 +0300 Subject: [PATCH 341/381] Fix bug 50321, 50320, 50322, 50333 (#1935) --- common/skin.js | 17 +++++++++++++++-- word/api.js | 3 +++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/common/skin.js b/common/skin.js index 6e6911e013..d7d4979eab 100644 --- a/common/skin.js +++ b/common/skin.js @@ -369,6 +369,20 @@ function updateGlobalSkinColors(theme) EditorBorder : "border-toolbar" }; + // корректируем цвета для старого хрома: + // в старых хромах (desktop windows XP) + // если начинается цвет с цифры (#0-9) - то помечается символом \3 (конец текста) + for (var item in theme) + { + var testValue = theme[item]; + if (0 === testValue.indexOf("#\\3")) + { + testValue = testValue.replace("\\3", ""); + testValue = testValue.replace(" ", ""); + theme[item] = testValue; + } + } + for (var color in colorMap) { if (undefined === GlobalSkin[color]) @@ -412,11 +426,10 @@ function updateGlobalSkin(obj) } } + updateGlobalSkinColors(obj); for (var item in obj) GlobalSkin[item] = obj[item]; - updateGlobalSkinColors(obj); - if (window.g_asc_plugins) window.g_asc_plugins.onThemeChanged(GlobalSkin); diff --git a/word/api.js b/word/api.js index 9f79afb16a..059cc3005e 100644 --- a/word/api.js +++ b/word/api.js @@ -1250,7 +1250,10 @@ background-repeat: no-repeat;\ { this.WordControl.OnResize(true); if (this.WordControl.m_oEditor && this.WordControl.m_oEditor.HtmlElement) + { this.WordControl.m_oEditor.HtmlElement.fullRepaint = true; + this.WordControl.OnScroll(); + } } }; From 829e824fc51cdab73d0733f7a1c514cda0e19913 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 11 May 2021 21:49:49 +0300 Subject: [PATCH 342/381] For bug #50004 --- word/Editor/Document.js | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index de777e8995..46fe316d15 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -444,25 +444,28 @@ CSelectedContent.prototype = var isNonParagraph = false; for (var Pos = 0; Pos < Count; Pos++) - { - var Element = this.Elements[Pos].Element; - Element.GetAllDrawingObjects(this.DrawingObjects); - Element.GetAllComments(this.Comments); - Element.GetAllMaths(this.Maths); + { + var oElement = this.Elements[Pos].Element; + + oElement.Set_DocumentPrev(0 === Pos ? null : this.Elements[Pos - 1].Element); + oElement.Set_DocumentNext(Pos === Count - 1 ? null : this.Elements[Pos + 1].Element); + oElement.ProcessComplexFields(); - var nElementType = Element.GetType(); + oElement.GetAllDrawingObjects(this.DrawingObjects); + oElement.GetAllComments(this.Comments); + oElement.GetAllMaths(this.Maths); - if (type_Paragraph === nElementType && Count > 1) - Element.Correct_Content(); + if (oElement.IsParagraph() && Count > 1) + oElement.CorrectContent(); - if (type_Table === nElementType) + if (oElement.IsTable()) this.HaveTable = true; - if (type_Paragraph !== nElementType) + if (!oElement.IsParagraph()) isNonParagraph = true; - Element.MoveCursorToEndPos(false); - } + oElement.MoveCursorToEndPos(false); + } this.HaveMath = (this.Maths.length > 0 ? true : false); From 8c8a43c1d84f41c6ff8b63f71ce3e023b2b3c4af Mon Sep 17 00:00:00 2001 From: AlexeyMatveev686 Date: Wed, 12 May 2021 15:45:06 +0300 Subject: [PATCH 343/381] Fix bug #50318 --- word/Drawing/DrawingDocument.js | 1 + 1 file changed, 1 insertion(+) diff --git a/word/Drawing/DrawingDocument.js b/word/Drawing/DrawingDocument.js index 15cbcb7e36..39df824e2e 100644 --- a/word/Drawing/DrawingDocument.js +++ b/word/Drawing/DrawingDocument.js @@ -6819,6 +6819,7 @@ function CDrawingDocument() par.Reset(0, 0, 1000, 1000, 0, 0, 1); par.Recalculate_Page(0); + par.LineNumbersInfo = null; var baseLineOffset = par.Lines[0].Y; var bounds = par.Get_PageBounds(0); From c9de2feacb3ddfff3bd74323d05f045836966b84 Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Thu, 13 May 2021 10:23:24 +0300 Subject: [PATCH 344/381] Fix/bug 50004 (#1938) * [se] By bug 50004: complex field --- common/wordcopypaste.js | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/common/wordcopypaste.js b/common/wordcopypaste.js index d891316086..48446352ed 100644 --- a/common/wordcopypaste.js +++ b/common/wordcopypaste.js @@ -231,6 +231,7 @@ function CopyProcessor(api, onlyBinaryCopy) this.oRoot = new CopyElement("root"); this.listNextNumMap = []; + this.instructionHyperlinkStart = null; } CopyProcessor.prototype = { @@ -531,6 +532,15 @@ CopyProcessor.prototype = if(null != ParaItem.String && "string" === typeof(ParaItem.String)) oTarget.addChild(new CopyElement(CopyPasteCorrectString(ParaItem.String), true)); break; + case para_FieldChar: + if (ParaItem.ComplexField && ParaItem.ComplexField.Instruction && ParaItem.ComplexField.Instruction instanceof CFieldInstructionHYPERLINK) { + if (fldchartype_Begin === ParaItem.CharType && ParaItem.ComplexField.Instruction.BookmarkName) { + this.instructionHyperlinkStart = "#" + ParaItem.ComplexField.Instruction.BookmarkName; + } else if (fldchartype_End === ParaItem.CharType) { + this.instructionHyperlinkStart = null; + } + } + break; } }, CopyRun: function (Item, oTarget) { @@ -550,18 +560,35 @@ CopyProcessor.prototype = } }; + + var realTarget; + var oHyperlink; for (var i = 0; i < Container.Content.length; i++) { var item = Container.Content[i]; if (para_Run === item.Type) { var oSpan = new CopyElement("span"); this.CopyRun(item, oSpan); + + if (this.instructionHyperlinkStart && !realTarget) { + oHyperlink = new CopyElement("a"); + oHyperlink.oAttributes["href"] = CopyPasteCorrectString(this.instructionHyperlinkStart); + oTarget.addChild(oHyperlink); + realTarget = oTarget; + oTarget = oHyperlink; + bOmitHyperlink = true; + } else if (realTarget && !this.instructionHyperlinkStart) { + oTarget = realTarget; + bOmitHyperlink = false; + realTarget = null; + } + if (!oSpan.isEmptyChild()) { this.parse_para_TextPr(item.Get_CompiledTextPr(), oSpan); oTarget.addChild(oSpan); } } else if (para_Hyperlink === item.Type) { if (!bOmitHyperlink) { - var oHyperlink = new CopyElement("a"); + oHyperlink = new CopyElement("a"); var sValue = item.IsAnchor() ? "#" + item.Anchor : item.GetValue(); var sToolTip = item.GetToolTip(); oHyperlink.oAttributes["href"] = CopyPasteCorrectString(sValue); @@ -588,6 +615,7 @@ CopyProcessor.prototype = } else if (para_InlineLevelSdt === item.Type) { this.CopyRunContent(item, oTarget); } else if (para_Field === item.Type) { + this.CopyRunContent(item, oTarget); } else if (para_Bookmark === item.Type) { //для внутренних ссылок @@ -618,6 +646,9 @@ CopyProcessor.prototype = bookmarkLevel--; } } + if (this.instructionHyperlinkStart) { + this.instructionHyperlinkStart = null; + } }, CopyParagraph : function(oDomTarget, Item, selectedAll, nextElem) { From 9d75d2ce27a76206feca5441ab98152a708ccc10 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 13 May 2021 12:27:35 +0300 Subject: [PATCH 345/381] Fix bug 50363 (#1939) --- common/skin.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common/skin.js b/common/skin.js index d7d4979eab..0085f6c276 100644 --- a/common/skin.js +++ b/common/skin.js @@ -375,6 +375,9 @@ function updateGlobalSkinColors(theme) for (var item in theme) { var testValue = theme[item]; + if (typeof testValue !== "string") + continue; + if (0 === testValue.indexOf("#\\3")) { testValue = testValue.replace("\\3", ""); From 9ba8bc70097e8db80c16bdafda0d9b4d4c53d768 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Thu, 13 May 2021 12:15:41 +0300 Subject: [PATCH 346/381] [se] Fix bug 50350 --- cell/model/HeaderFooter.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cell/model/HeaderFooter.js b/cell/model/HeaderFooter.js index 03c5ce07d0..740c60b4fd 100644 --- a/cell/model/HeaderFooter.js +++ b/cell/model/HeaderFooter.js @@ -694,7 +694,7 @@ cellFlags.textAlign = this.getAlign(); - var cellEditorWidth = width - 2 * wb.defaults.worksheetView.cells.padding + 1; + var cellEditorWidth = width - 2 * wb.defaults.worksheetView.cells.padding + 1 + 2 * correctCanvasDiff; ws.stringRender.setString(this.fragments, cellFlags); var textMetrics = ws.stringRender._measureChars(cellEditorWidth); var parentHeight = document.getElementById(this.canvasObj.idParent).clientHeight; @@ -771,6 +771,7 @@ return textField; } + var correctCanvasDiff = 0; window.Asc.g_header_footer_editor = null; function CHeaderFooterEditor(idArr, width, pageType) { window.Asc.g_header_footer_editor = this; @@ -973,8 +974,10 @@ return val; } + correctCanvasDiff = 0; if (AscBrowser.retinaPixelRatio === 1.5 && 0 !== val % 4) { - val -= val % 4; + correctCanvasDiff = val % 4; + val -= correctCanvasDiff; } return val; @@ -1024,7 +1027,7 @@ for(var i = 0; i < 30; i++) { bottomArr.push(t.parentHeight + i * 19); } - return {l: [0], r: [t.parentWidth], b: bottomArr, cellX: 0, cellY: 0, ri: 0, bi: 0}; + return {l: [0], r: [t.parentWidth + 2 * correctCanvasDiff], b: bottomArr, cellX: 0, cellY: 0, ri: 0, bi: 0}; }, checkVisible: function () { return true; From b6994018ef475401df5bcb2f35536a771eda94d4 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Thu, 13 May 2021 13:37:52 +0300 Subject: [PATCH 347/381] Fix bug 50310 (#1941) --- word/Drawing/DrawingDocument.js | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/word/Drawing/DrawingDocument.js b/word/Drawing/DrawingDocument.js index 39df824e2e..ea6837fc4a 100644 --- a/word/Drawing/DrawingDocument.js +++ b/word/Drawing/DrawingDocument.js @@ -3896,16 +3896,6 @@ function CDrawingDocument() var _r = (drPage.left + dKoefX * this.FrameRect.Rect.R) * rPR; var _b = (drPage.top + dKoefY * this.FrameRect.Rect.B) * rPR; - if (_x < overlay.min_x) - overlay.min_x = _x; - if (_r > overlay.max_x) - overlay.max_x = _r; - - if (_y < overlay.min_y) - overlay.min_y = _y; - if (_b > overlay.max_y) - overlay.max_y = _b; - var ctx = overlay.m_oContext; ctx.strokeStyle = "#939393"; ctx.lineWidth = Math.round(rPR); @@ -3939,6 +3929,9 @@ function CDrawingDocument() ctx.fill(); ctx.beginPath(); + overlay.CheckPoint(_x - _wc, _y - _wc); + overlay.CheckPoint(_r + _wc, _b + _wc); + // move if (this.FrameRect.IsTracked) { From 31a7400c194e2c19df7b1696c16859a916f37b8b Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 13 May 2021 14:35:30 +0300 Subject: [PATCH 348/381] Fix problem with first update of the rulers --- word/Editor/Paragraph.js | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index 92988ab764..aa333093d6 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -73,8 +73,8 @@ function Paragraph(DrawingDocument, Parent, bFromPresentation) }; this.Pr = new CParaPr(); - // Рассчитанное положение рамки - this.CalculatedFrame = new CCalculatedFrame(); + // Рассчитанное положение рамки (CCalculatedFrame | null) + this.CalculatedFrame = null; // Данный TextPr будет относится только к символу конца параграфа this.TextPr = new ParaTextPr(); @@ -11190,7 +11190,7 @@ Paragraph.prototype.Document_Get_AllFontNames = function(AllFonts) */ Paragraph.prototype.Document_UpdateRulersState = function() { - if (this.CalculatedFrame) + if (this.IsRecalculated() && this.CalculatedFrame) { var oFrame = this.CalculatedFrame; this.Parent.DrawingDocument.Set_RulerState_Paragraph({ @@ -11202,15 +11202,9 @@ Paragraph.prototype.Document_UpdateRulersState = function() Frame : this }, false); } - else + else if (this.Parent instanceof CDocument && this.LogicDocument) { - if (this.Parent instanceof CDocument) - { - if(this.LogicDocument) - { - this.LogicDocument.Document_UpdateRulersStateBySection(); - } - } + this.LogicDocument.Document_UpdateRulersStateBySection(); } }; /** From 3993c288b2f52d95949655014c5bc32496e148ce Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 13 May 2021 18:14:32 +0300 Subject: [PATCH 349/381] [bug] Fix bug 50392 --- common/Shapes/Serialize.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/common/Shapes/Serialize.js b/common/Shapes/Serialize.js index 8e46da042d..c2b1e3217f 100644 --- a/common/Shapes/Serialize.js +++ b/common/Shapes/Serialize.js @@ -8127,8 +8127,6 @@ function BinaryPPTYLoader() this.ReadCell = function(cell) { - // cell.Content.Content.splice(0, cell.Content.Content.length); - cell.Content.Internal_Content_RemoveAll(); var s = this.stream; var _rec_start = s.cur; @@ -9874,6 +9872,10 @@ function BinaryPPTYLoader() { s.Skip2(4); var _c = s.GetULong(); + if(_c > 0) + { + content.Internal_Content_RemoveAll(); + } for (var i = 0; i < _c; i++) { s.Skip2(1); // type From fb4617fbcdd8019ee6cd3fd5282bd5117184df69 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Fri, 14 May 2021 10:58:07 +0300 Subject: [PATCH 350/381] [se] Fix bug 50394 --- common/Charts/ChartsDrawer.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/common/Charts/ChartsDrawer.js b/common/Charts/ChartsDrawer.js index 6dc349c268..701798c168 100644 --- a/common/Charts/ChartsDrawer.js +++ b/common/Charts/ChartsDrawer.js @@ -5697,12 +5697,13 @@ drawLineChart.prototype = { brush = seria.brush; pen = seria.pen; - if (!(!t.paths.series[j] || !t.paths.series[j][i] || !seria.val.numRef.numCache.pts[i])) { - if (seria.val.numRef.numCache && seria.val.numRef.numCache.pts[i].pen) { - pen = seria.val.numRef.numCache.pts[i].pen; + var numCache = seria.val && seria.val.getNumCache(); + if (t.paths.series[j] && t.paths.series[j][i] && numCache && numCache.pts[i]) { + if (numCache.pts && numCache.pts[i] && numCache.pts[i].pen) { + pen = numCache.pts[i].pen; } - if (seria.val.numRef.numCache && seria.val.numRef.numCache.pts[i].brush) { - brush = seria.val.numRef.numCache.pts[i].brush; + if (numCache.pts && numCache.pts[i] && numCache.pts[i].brush) { + brush = numCache.pts[i].brush; } for (var k = 0; k < t.paths.series[j][i].length; k++) { From 2636c865025fbd034daac9101fa6b4ac53b473ed Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Fri, 14 May 2021 11:13:49 +0300 Subject: [PATCH 351/381] [bug] Fix bug 50399 --- word/Editor/Paragraph.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/word/Editor/Paragraph.js b/word/Editor/Paragraph.js index aa333093d6..81c05cd340 100644 --- a/word/Editor/Paragraph.js +++ b/word/Editor/Paragraph.js @@ -15766,6 +15766,10 @@ Paragraph.prototype.CheckSignatureLinesOnAdd = function() */ Paragraph.prototype.ProcessComplexFields = function() { + if(!this.bFromDocument) + { + return; + } var oComplexFields = new CParagraphComplexFieldsInfo(); oComplexFields.ResetPage(this, 0); From 42176f6b1e4a7a122d796f560e2b6c290bbf2346 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 14 May 2021 12:06:00 +0300 Subject: [PATCH 352/381] Fix bug 50337 (#1946) --- common/skin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/skin.js b/common/skin.js index 0085f6c276..036d5850cb 100644 --- a/common/skin.js +++ b/common/skin.js @@ -365,7 +365,7 @@ function updateGlobalSkinColors(theme) ColorDarkActive : "text-contrast-background", ColorDarkHighlighted : "text-contrast-background", - GroupDataBorder : "border-toolbar", + GroupDataBorder : "canvas-high-contrast", EditorBorder : "border-toolbar" }; From b38724b3145cd9f9f9854017bd3e88e9f8b3f245 Mon Sep 17 00:00:00 2001 From: Alexander Yuzhin Date: Tue, 18 May 2021 14:40:38 +0300 Subject: [PATCH 353/381] Fixed bug #49720 (#1948) --- common/Native/Wrappers/api.js | 25 +++++++++++++++++++++++++ slide/Native/Wrappers/api.js | 25 +++++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/common/Native/Wrappers/api.js b/common/Native/Wrappers/api.js index 0e572f9de5..182ecbb826 100755 --- a/common/Native/Wrappers/api.js +++ b/common/Native/Wrappers/api.js @@ -754,6 +754,31 @@ function asc_menu_ReadParaShd(_params, _cursor) } } } + if(_shd.Value === Asc.c_oAscShd.Clear) { + if(_shd.Color) { + if(_shd.Color.Auto) { + _shd.Color.r = 0; + _shd.Color.g = 0; + _shd.Color.b = 0; + _shd.Fill = {}; + _shd.Fill.Auto = true; + _shd.Fill.r = 255; + _shd.Fill.g = 255; + _shd.Fill.b = 255; + } + else { + _shd.Color.Auto = false; + _shd.Fill.Auto = false; + _shd.Fill.r = _shd.Color.r; + _shd.Fill.g = _shd.Color.g; + _shd.Fill.b = _shd.Color.b; + var Unifill = new AscFormat.CUniFill(); + Unifill.fill = new AscFormat.CSolidFill(); + Unifill.fill.color = AscFormat.CorrectUniColor(_shd.Color, Unifill.fill.color, 1); + _shd.Unifill = Unifill; + } + } + } return _shd; } function asc_menu_WriteParaShd(_type, _shd, _stream) diff --git a/slide/Native/Wrappers/api.js b/slide/Native/Wrappers/api.js index 6ed27777ba..ec67e9301c 100644 --- a/slide/Native/Wrappers/api.js +++ b/slide/Native/Wrappers/api.js @@ -1099,6 +1099,31 @@ function asc_menu_ReadParaShd(_params, _cursor) } } } + if(_shd.Value === Asc.c_oAscShd.Clear) { + if(_shd.Color) { + if(_shd.Color.Auto) { + _shd.Color.r = 0; + _shd.Color.g = 0; + _shd.Color.b = 0; + _shd.Fill = {}; + _shd.Fill.Auto = true; + _shd.Fill.r = 255; + _shd.Fill.g = 255; + _shd.Fill.b = 255; + } + else { + _shd.Color.Auto = false; + _shd.Fill.Auto = false; + _shd.Fill.r = _shd.Color.r; + _shd.Fill.g = _shd.Color.g; + _shd.Fill.b = _shd.Color.b; + var Unifill = new AscFormat.CUniFill(); + Unifill.fill = new AscFormat.CSolidFill(); + Unifill.fill.color = AscFormat.CorrectUniColor(_shd.Color, Unifill.fill.color, 1); + _shd.Unifill = Unifill; + } + } + } return _shd; }; From d5bc9009f861ae22c3c1e8c8bc594f9e954daaae Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Tue, 18 May 2021 17:57:35 +0300 Subject: [PATCH 354/381] [bug] Fix bug 50467 (#1949) --- cell/model/DrawingObjects/Format/ChartSpacePrototype.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cell/model/DrawingObjects/Format/ChartSpacePrototype.js b/cell/model/DrawingObjects/Format/ChartSpacePrototype.js index ebf4e8c695..4ee4ef43d2 100644 --- a/cell/model/DrawingObjects/Format/ChartSpacePrototype.js +++ b/cell/model/DrawingObjects/Format/ChartSpacePrototype.js @@ -257,6 +257,13 @@ CChartSpace.prototype.recalculate = function() { if(this.bDeleted) return; + + var oController = this.getDrawingObjectsController(); + //Use this check to prevent charts recalculation on not initialized sheets bug 50467 + if(!oController) { + return; + } + //--------------------------------------------------- AscFormat.ExecuteNoHistory(function() { this.updateLinks(); From a01de30bbe121793eaddbd76edec8312b6c397bc Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Tue, 18 May 2021 18:26:37 +0300 Subject: [PATCH 355/381] [all] For bug 50472; Fix export (#1950) --- common/commonDefines.js | 1 + 1 file changed, 1 insertion(+) diff --git a/common/commonDefines.js b/common/commonDefines.js index 986b8026ff..ca3247b9fc 100644 --- a/common/commonDefines.js +++ b/common/commonDefines.js @@ -2326,6 +2326,7 @@ prot['RemoveDuplicates'] = prot.RemoveDuplicates; prot['LargeRangeWarning'] = prot.LargeRangeWarning; prot['LockedEditView'] = prot.LockedEditView; + prot['Password'] = prot.Password; prot['SecondaryAxis'] = prot.SecondaryAxis; prot['ComboSeriesError'] = prot.ComboSeriesError; From 0cc4aae85ce391c122c875e2ef027d09eb6a63a5 Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Fri, 21 May 2021 16:10:54 +0300 Subject: [PATCH 356/381] Fix/bug 50509 (#1955) * [se] Fix bug 50509 --- cell/view/WorksheetView.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cell/view/WorksheetView.js b/cell/view/WorksheetView.js index e04518fc7d..1ec0d2c60a 100644 --- a/cell/view/WorksheetView.js +++ b/cell/view/WorksheetView.js @@ -16271,6 +16271,10 @@ var c = this._getVisibleCell(col, row); var isMerged = ct.flags.isMerged(), range, isWrapped = ct.flags.wrapText; + if (isMerged) { + range = ct.flags.merged; + } + var colL = isMerged ? range.c1 : Math.max(col, col - ct.sideL); var colR = isMerged ? Math.min(range.c2, this.nColsCount - 1) : Math.min(col, col + ct.sideR); var rowT = isMerged ? range.r1 : row; From ec2e2932b6c5006671cb8d3af2db00f707fb97e6 Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Fri, 21 May 2021 15:34:49 +0300 Subject: [PATCH 357/381] [se] Fix bug 50489 --- cell/view/WorksheetView.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cell/view/WorksheetView.js b/cell/view/WorksheetView.js index 1ec0d2c60a..7adfc05def 100644 --- a/cell/view/WorksheetView.js +++ b/cell/view/WorksheetView.js @@ -6185,7 +6185,11 @@ if (this.updateRowHeightValuePx) { this.updateRowHeightValuePx = newHeight; } - rowInfo.height = Asc.round(newHeight * this.getZoom()); + //TODO правлю на хотфикс ошибку. это следствие, а не причина. нужно пересмотреть! баг 50489 + var _rowHeight = Asc.round(newHeight * this.getZoom()); + if (rowInfo) { + rowInfo.height = _rowHeight; + } History.TurnOff(); res = newHeight; var oldExcludeCollapsed = this.model.bExcludeCollapsed; @@ -6200,7 +6204,7 @@ maxW = tm.width; } - cache.textBound = this.stringRender.getTransformBound(cache.angle, colWidth, rowInfo.height, tm.width, + cache.textBound = this.stringRender.getTransformBound(cache.angle, colWidth, _rowHeight, tm.width, cache.cellHA, va, maxW); } From 19a495b876119dfda3235445baa85266eeeeb33d Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Fri, 21 May 2021 16:30:47 +0300 Subject: [PATCH 358/381] [se] Fix bug 50521 --- cell/model/DataValidation.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cell/model/DataValidation.js b/cell/model/DataValidation.js index 14cddd516a..df544e7594 100644 --- a/cell/model/DataValidation.js +++ b/cell/model/DataValidation.js @@ -901,6 +901,10 @@ var newRanges = []; var bDel, isChanged; + //TODO правлю ошибку. 50521 - попытаться понять, как получился такой файл. + if (!this.ranges) { + return -1; + } for (var i = 0; i < this.ranges.length; i++) { if (!bInsert && updateRange.containsRange(this.ranges[i])) { bDel = true; From 8acfe8a21eb551b9a63ece92fb4c8f112d771084 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 21 May 2021 20:19:06 +0300 Subject: [PATCH 359/381] Fix/critical6.3.1 (#1958) * [spellcheck] Fix bug 50471 * Fix bug 50482 --- common/libfont/wasm/file.js | 10 +++++++++- common/spell/spell/spell.js | 2 +- common/spell/spell/spell.js.mem | Bin 147751 -> 147495 bytes common/spell/spell/spell.wasm | Bin 512836 -> 510644 bytes common/spell/spell/spell_ie.js | 28 ++++++++++++++-------------- 5 files changed, 24 insertions(+), 16 deletions(-) diff --git a/common/libfont/wasm/file.js b/common/libfont/wasm/file.js index 15a774eb13..065aa14d8a 100644 --- a/common/libfont/wasm/file.js +++ b/common/libfont/wasm/file.js @@ -1049,8 +1049,16 @@ //var measure_time_start = performance.now(); var load_mode = this.GetCharLoadMode(nUnicodeForHintTest); - if (this.m_bStringGID || !isRaster || this.m_bNeedDoBold || !AscFonts.isUseBitmapStrikes(glyph_index_or_unicode)) + + if (this.m_bStringGID || !isRaster || this.m_bNeedDoBold) + load_mode |= AscFonts.FT_Load_Mode.FT_LOAD_NO_BITMAP; + else if (!AscFonts.isUseBitmapStrikes(glyph_index_or_unicode)) load_mode |= AscFonts.FT_Load_Mode.FT_LOAD_NO_BITMAP; + else + { + if (Math.abs(this.m_arrdTextMatrix[1]) > 0.001 || Math.abs(this.m_arrdTextMatrix[2]) > 0.001) + load_mode |= AscFonts.FT_Load_Mode.FT_LOAD_NO_BITMAP; + } if (this.FT_Load_Glyph_Wrapper(this.m_pFace, unGID, load_mode)) return oSizes; diff --git a/common/spell/spell/spell.js b/common/spell/spell/spell.js index 053ff56b36..cc6fc00de7 100644 --- a/common/spell/spell/spell.js +++ b/common/spell/spell/spell.js @@ -29,7 +29,7 @@ * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode * */ - + var printErr = undefined; var FS = undefined; var print = undefined; diff --git a/common/spell/spell/spell.js.mem b/common/spell/spell/spell.js.mem index 66b026a33146c7a5f737dc8353aaba89bcb41148..4d358ad7b579112feedd1ab9796440c8349028f2 100644 GIT binary patch delta 2482 zcmah~Z%mbC6o1ZhFLD79FwpBlz383XMCL7#ZmEF?h(>xbKd{yxSlV!6L8HbR4pwvd z!M1Yh0i%t!l3KRWhP$oN#s_PBs4X0oAl$@R>w}wMfc%wy=e`f?jc$6j-~F9)o^yWB zd7t~d_qM+s*WMJ@vDMMIRI63LlIlp(YMtxPdTepfhKs}F?zT74+IMXOK28#{8f`a%*t&D90Z#RBNfmYdB9*@Ug?ypzASKp|vek8IK`t}z}(2e4kgh>^E zcLC|ZYM>A(0z5zluns5&yufZ?15g6E0I?=$EC)XXOwP~G3nZ6{I1LyZB;^_+<%BQR zgS8b(HL8^eW>GAVq#N-nz>DGluoS*n#c!6M2wy~G1IaCep9G8{7Dz4`aSCt{{kNd0 zkV^%8Km&4BfLPy9EU7(k_VTd-^2H=*)jh=L2WWE~+(A_J4e^x$dfbUHl@qT~PBJb= zP$XgU>Eg0$6nFvIW_uRC1Jf)FZ$F)dLG7or=u{RR3jcA9wynYze$4N{rW%lT;hu2l z$w7Kf>+WGb7pBJ?eZ#~lS1FCJhpC#k^plTD`O$vbz%zNe$laCuPN^U7aNL5@aiYN786{sb z4(Q}KsUPBHCR`it9i^&G$m$7F2Qm8yR>fq!4Zg4&YgWBdoqYI?)p6Q%)PTk89T#mK zKAyTmK`*qOckf@>%E$h)D(fFmnasnel&86c%2rcd!#l?)=t8y>$J5F!W8`yV-v&hg znUMR($RoAgSZ!k(C$~g5BT(CE@#pLsh@#V|#7~g)httKb+CwXdunzy5}d?va= zs>$0GYD`WPYWT;y^oh)pJ8RA20gK6J(D*XTU=*ctvo7@kzBEavWER(4bcM^N+CGcN z)LIJ1r*Lrt{N)tY%S%2w#~Y_9GY9U{d)9OpO})Hc3)j<$HPQ5g7k=oxd}10}UjAr_ zUdw&cbVO99j7q0e!lJ39&;O&+!?iP1Bd^Ej$jT`kl2w@f8MgbBnk&d+m>p6Qw zM~1p!8Y;}9eT!~eLp~>xE|tev9b;|b0*l!@0>~|F(#$7F=g9lt6s`Hd~WZP^7B@}*eqkvrWH&jYb~eaxGOU#@$NXJYl?SoIU~!32KAr8DIZ ztqQ0};ByGe;Wh)O0I@D`5%h|I-9QPj2iOZd4U__6`IuJfo&oH2`w;I3f}9qoH~FC^ z&n2p2t){DNQP%;)&jJUz7F{x8U8E~?Ax^Kzr5*A=wle-HDC7ZEg`sesUPg}h3$^^A KZFO|-JMcF@Px%u7 delta 2740 zcmai0U2GI(6#eeEr7TdO{1n=x+HI|{Qj`Kksw`Mw3zXj$5LcwOh$Rq;)>6!3#1}+%0sOFDHwajzXj@2sdqNtW+t+L3Iw8|k*(JGIerqx1nx>n1`8CtC)XK586 zKdaSNvRA8JNI(wR%dN)Cl_e- z$1r~qc7?(&`TV@(n*--%(o5|_Lqmi@Oa@Z8aKr+veaxTF@pwGBf!v_-zO%Qo^10C0 z7i5ec-Lh1x_bay5yjyLqhGm8 zfN4Mx;0724@R$gm1oUH0g0WB40oNh!2a>R6 zczUe$SgdKn6R+wJza)PyFXccdux!H7hOn8~CG!)Ic9=C?l9!BoC>b^kezuz}}a4sP4NX-el~?$q2S|3${tM}3@*bB>M`rt_{8XTv-D{=dDQ%2u=HFH70@1ZA%I8A@JF5;mgMR@a-%J}Gvi zTFI)}*C*aooVN)X!+A~T%ujvdp|%G{+sxHINoAHWz)T`mmOY$hBBPHV+2cO>rX*td z1c$ZzB9cA)`#ALh zbF^O$a~AKz_zu@?wR4sNTWdL#4&cTOn9l|z$R~QjBQyGeOwYq|<|AvmbGDw(QtbB3 z#xZ&pgJZvHepB%PUVgJbQD+$J=}x+&4OuQ7R3hTJ_@Ifo^qP`Esp8}Do85VkM-k3z z=y7!HFgFKf3vYIh{mA^6GHP~5tq18cl-%LAI30bc(ScEAEaxc1|I_w(fJ!WLc>iEcIb>xE?&bb@y8tZ;@-0sLq zusSZs>G0uLEP9U?>EWS%wHxZ}gU(a*I2y{2-qfpk6$?jLXYhg<&V~SLv2&a?6{7R_ z_#ca>44oF;oFK)#X){L9$j5u`ncCI(iCu!5WhoGQHT$tH1U!&s0$IQ^vN^No?5U}(-cwUuv32)bd$;2c zK|d}y4+3|${A2EXv&GDvZ?>3O?oK#aX8db0>{SOZY8iZ&tif_Eu#P-Dg!wU1Pvt{= zc8ocX{V>r)y)E%~6iSlJ_K|uz-_tvQ@+9*G(g2o?z+r&V3ND6Q39ug60Bi(a1vUY% z0gM8CG1LVBr|xy+n}Ih>id)ajg&V&@x-y#Vt}Tysl_Gx=C^PS&izC(ycZE*4^^_Oo h6~3OQjxK=1V!9ND!i)4caeY{*`KN52t8Lx-zX2@SM2r9c diff --git a/common/spell/spell/spell.wasm b/common/spell/spell/spell.wasm index 0e9c4a06c8d2ded9652b02a75af5e42fca42c711..4f0d952f96446c09f1a003f489f2ad549c3be15a 100755 GIT binary patch delta 31044 zcmbTf34o2&|3Chm<+*q6+*uy`ES7u6o^|YNdB{={2_ajN7=%i@W-u80aB=J=gk%{F zJ(OjHl68oZC~8Qdrm`>jzuxEG(WpMZ@8|QMdhU6h<$c!od7t-L?OI-D!>lstm7>gK z`eVs`1Po((y{8L>YZv`v^nv%=>z52+%nVq(M6xN?x>viIA&f|ao7^QOXWWp|kV0^7 zh(e~ph1U`Wtb#?tnY)-_7(7CUWL&yDD@^}o8a{3E*Ngg4%WTKvAUbibux?Bipm~ldiQsMaDUCgjJ3cwMA z$Mht-8ptV}m<&hZ3^M{bWilEC zXZSoW5nnjId|`=*V-d9rzuX({^$L6jWmAL+cZ1r+JYgQAn8)QRR?b6disTA)$|bt3 z7z>2RmPFMv>1Obf)ln^GBU#gr3@~`Q4Y$|hahYzH;pWJxn@7Vn5@{LLIFnwlH#|Jt z?WVSjq!x0~pA7SOJlxGuotz2bV%*KR2ZztU2X!dHHgCz&rAi}4mtawaqYx*4O>b0`8|i!T!vl^iootrz6*Y^Rrdh@y zV3?*1GeiG{n;N;p!q`1G?ZnM6)Dt&_8^x^es%3fv{tC%RVIuKp!|SeWFsgCX7BYB)|`Xfv;SK%Znxm2YUol_P8Xvg8--M@Tke4J6gfbhOuM(7&p;|DLf^G zyF4tJ+1U#}=U#U^iw)ui8*I$yY={xgUI67#qa+(<9CanL;l>v(_M&mb#a=QFyV%Rd z0T&x#>~*nMjL%){Rb#h{y=LrkvDb}k7kk6l=JMP`Guq61lz+fBx~ID*yT`jvh;{Du z?zQer_Zs&ecAcfT{xt8Jcg&kii7Bqht{ZHM80Q-6TJ3({eT&U@t#ZHT9zJ}AYh|)K z-L=9!&9&S;*R9-h+_T-I-6`%-?z^su?2hZU>z3=L>xOHixbC{~1#2j&l-7@pci)Q!){-yjvDmhb5ms8~=nI^}{R5@Cv$Untx zaZ_9upYX5cQTZ|dOeTLScgtOJr`*avkvn9z{FHB%TjWR5ksr$88{`M_L%vkLBQxY; zxlqoR8~GBs+FWlgk_+TKIfEr89+8J-jyxm}$^&x0+=qzv%FpEq=45k{InkV8rkS&4 zx|}HQh#O+893{`P5BN>}dqXCE%syrV1`IgKhmU1r+25@nv5(02n~?9{tXJh_nV2Vk zk%>Rbb29O4LzycR_wpa)Ee7Lz7&F*K@ufh1Ch!UTnAj^0h$A9#pExKEi^TonkjN3? z=?jam4qOOp$>s(UJw@@`%99W?*OSyb&L@4M5|2n=tz;A!3Srbk(6M-$tQf^_804M#BAqkuhx;m zK8}FoO->p_dwpiepJIe_Fh&Z9@84n!Eb=yPh-@dgTZ7`X4ixA0ai9Dv_e5yF?PISF zM`972d_$oFg(K>sMDP!6_mmDKMfAU~l$RpjEE38sqYU^cx6$6fsqoT)xsk<6BVE72 zlc|yrMFO{(kG-70hPTue7uX-UF<}9MFy4&*L%r!>62bV(32q$>b-6TZBh_l&+(6Ih z>TGV-~qSRyZi_>u3*Vugr2&n;7;?0uca3ldOp>4gp(u!{7nX z+#8Qb${MycD1nuOo3+ObR4LJhlQ~_aN-s}*YV zjEb>==Y3tPg_^Hjkmry|zu?WlC1EJMZMBCprNbz}+_`~^zUtv2hJ|~eoIkNlFap;j z2no*jxilpON2kCSNUrukV3EI2+l9mc2$ZQo1Zrr*LQnJL`UtriASELOf0C>#7kYdV zc0`grY`A@V)v;CPOBCIfg`plZd12tD-`8A6lOPdeN)QSkM`QRzyGXB(`DEKjuh*Wu z&{NGYY&ksA)NF`6Q9B4wr7sNhNNBT(+D_FpK7$Gltow&I#Ohx$t zNq$b%dA@u-)LWSf)1!zFD6c_r7}!>!RE)0pe95Lg!B@mX+bR?fcq%qS0FuALXZ~IO zK2vdLDTtB;^lIuc)JLh1ERvB_A=bAmtpHad7g`<#rdOf~64ojla{jW$@P)OD)b)qrQdgw(?sceYJSQ!%wps!S>}s*d z{)K8g|1HrEW2x|*n9}F@TUzsL90K{EnnXUf=2k6w@&_ngkveOJ&&-$T&nDJI8a@x@ za=P#3pmCc9;RA7bOf~l+vc1>O=S9qfg;u^^INb7wbmsRTFZY(giWi9qq zU{lM+<-Znw_}W$y341Tb7veN)s)#FKo1PWZYMDg7wmu52{8%8n{ndzR!t2oyTQfvp zUxx&imi0@Ax@OVyg2pPO_G7SatUD|&P`%58Y*}DPml4d)`k~7l;XR1KSlF2&$@(HN zuKP^3IS~JJ8+i76dX!`rv(EKi!dSh)glEdbZQV0l$TGNZ9J2%C`;KEL0#W^zv*v+~ z{Sw(vfgk(TX0rqF&wY*GE6)wYZ}0wNY7FsnU25H>!mLl3A7d{{mOxVY;&`f5lrV_x z^a)vop8vqix;wZ9W7D%*yzm@n%>vU#lnQ)0>^;^yYuNCLEH<4Z$Hxr_n@YR~{lw5u zNo!hG=8JDJ)*Io=1Ri_&e2B8+h$f(%Hlh&=IsEua2?V1v zX6<|JcgfBKwvF_$Cj#G%?7`2lK!-8qBAcTi!ai>#*@pE*)(da@IsDU88W(Dg)}|)7 z=NUMevNyWB}-$50okxKHwX3) zuAS9jY;6{BPg>6g2R2W7JZsRnCt36)k2TaA4jOwh!N7s>!;@Dr=1vB88FsSOl{ia6 zjKT;@kQh09(r@~Np9|`u1|$oFHH0JN71^n=+!)m`ge8R8;e(>E%E1fB$9cFJ7G&14Rs6@Fu{sG`A8sQ zLR*%mtVL$AtRWNTu`KuG=S_AkFm!qqb~`YCdWDi_1*#guP?%3NH|h(jcnj>{i1W^2h}YjA0Y?oZKoN z5{fjwWN0xE-4i_8#b*Ti%>T1OMO||A0d&u*3C!BgF%(<1h@cWgeMpQ1<}G-QoevaQ zxQTVl+P|*06G(kG%X-WTdZ;E8u1jsE#Qx1Y4z`TN{{ z)NbeQb33cua_@8dLA!l_pW7MjcKSZI?*d|Zhf3ex=XTQNwG5y8(MahtHQS*e=x^cH z2Z1-2H)J1VZCu`$2iCpcCF_OvA{pxMtyQ%d>yefDek$`m*)kHUr5%%G)eh`fU0U_- z%RPbqYi_e20}rih6?kv$EcR2@L+kcLvfY8Otq-$Rfp%M8=h-~)_}0b&v8^KCW&$Q= z_1rdHurXP`?)X@`H$qS|D>JbE(+;dtfPZ#`^$9$GtYYByXN`dx?5V}l0)zH6h)N6U zXg(H=Q6nvD{hkU8o%i_XjUoqAhj9}hOKWhT%-(8+2V){=CQ(0wHj?D?z`57nj{F@n zFl}Fn(z#S*8ZNv=(d#6n0=1?!*JWbFhzoqM_uF_0KJ!lE25$xtOa1?@fga0=R|DVd zJ5?tq&11*XP?`)C-y0k+8lfvQ?`Wpw49#ztRT4hTZboW2hWy|5``G7!!UrBfx)?LAp1Aw&SK57+MX@L*wL&(=cd323_8~@tLJ&l=LinV^87qfV1ONe z=?xBp=bd9{)?Yfb50w1l@xY`ftiT(8bkEBBy|>JgH~R^8Ol5Ocn+*#1@0Q8ha;G2D zuon9$tJB><_j?Dn+$rRg6YR-gmVBp5lV;gWt_NhC@JS$}Fj({B10niJ}?HQyD;y;dvoPo$t_ zuFqvH2$a2k3%XdD8?~*u!tcVQ4-**@P;-UyWwRfV#X|3~2CBpd*{2A7 z{XzDF4&98EhN*7ZtQ_mFe9c*Rb0^e%uYzEXaa40G4Mp~E85!aA758~D@Fgj`G%KRE zHD@m8)rVQU09BwhRKx!2SZj8Jtx|{Duu2g>bI2+5ZJSwL9q|Z@k)<+B??uVNLbH4~ z6hD{sv_IVEhB-$~?#Lc=UTMe9^TI#;JyZ`>vmI;Y?Cr=Rxznoy%VO+jRk$PT!+ux$ zpJLNkM`u81_6JwbcV;Y*2zkS`rfoJAJo0`z#ye&Nl2FhP7CA z?#ujDNGvqfV!@9gNrED%l%D0xRUos%UO7Rn>&}L-@v79*tPaoHp`Lu2O>6R(Sn+E; z0Lq0P4c$TQ7R&9BOPE?)Eg+tvfkVUIi&nZ&ya%iAWcOf|1Uu*a)SDe)?3~*240|X# zi$hJ3`D~e`!k=YTOYFlW`yN*k(p-KcVvnIqI!6|>T*0F9KSTu;w_w@1~wLM=k%1J<5J| ze)|k9Ui1?4c?Tt!_HE-)^k@je5q6GKe=lpz5}w9tRZgzk&dY_utTn?*yk;Q}W;mGs zpk#t*{5bIv# zCih~1qEX+9)GG_CC#X}0SZwJDBtWTFIHV|VCYqr(@5ojA)3yL=;UfO_ePqr`w?-87xto%3_ z*qY;_*$QT73DAnsE}cJ^EpVxo+gR1e6s;gY!a{m3RA;uaTOd8Poz=GH z1;;a5g2H$;&d0#0|_^>hc-t#u3&UOCC=1 zFBo>T7O6*%v0X5tzeLM_r=I$fbwhgVzhw0>K>hS3n++r7E4G@gR@IKP*y3p$-AVq! zHupzIV7bf-UcBRt2__Cs+g6I-h{Luu$cmU_&43iM$u~MO%-cwrZk^BPoFt z`H}?>IE14Y7=*#@ULDAnA1K>EAT{F~Rxx5}Xc+;TL4-cx>^y~yN{sGxzGID9b2aQcNWjTz z>vwD(o4lgyX~tQ=>GnOl%Gd;_LoUO(Ti+>kjy=HGW~a%IY?}ygh9MrkBF5_N$O}*r zF!^=vUS#i!+Q>9EPmoSyMuoq7R}9A#2kRT;L5i2ls*qsV=kAKfNtYvcbt;d=Pz=}d zSS5xG`F_X9@})DD47N}G{0B>7U#iZR+2axQr~v4avZ~=#edhDxYWHQ<3!FOa3M;A_ zT+z%6T&DQ1roAi8L;c#Yv!M^bf@)G{{$w50@+%Nu(;01opu1V0s>4?xy~e4cSJ|V5 zrel?Xx+VjI3CvlhJ43Is@!YGI6oXqt3PtvZmReC%T55IuwOOPZ-GFwtK=r=OLYrMG z?k2--mzsW))%$A+7YmVkxjVGJs}gUqm`0&(i~n|Wi_}iqTEIv2<&a31Tddl>yy<1& zf_a;N>+gAc^EP`kR5+{!BOZ2#HP#zbkcIghQxM#=LZ;$8NnbDRz#utDmi$$LYgY~te2tJJ$}i}fDnMLujlfRkNliu73> zcqx`X>jnO6xdL7u@`8YIAs}?5m$90omCSTCit*~uLNXceUqW$ahSWQOeky1vHmphN zg^$>kh;#@oT4sTVp^9<7Q!RDzM_G6EiwjxmrXF|mCTy^pU%ez zU2QPQH*_x=!r+W)7y2$HnpQVzf5VSuNR&OvX134zLA@Ks7b3D29zIObe>_@&%JH96kx_+t{i;L!BtKA040WF|KNQ#h zOc5ybe2ltXoX4?LRiXs9ORogEwBnH@(fU+5ba|?p zFzXK5*wBmMh}6fb8ir*#AC%)y%_vMZi8_j~wocw8pD-?Rb6F zxeY(bx;wQV;lnvQqF#H9A5hsTINQRl!wzg^S@iwH7oAn@cq{|WuE%+Qu8x)FwF^!* zHx!s`2JyYg=7uy?vkbogy|JW^?+FV9yqJSN2Ngceamw-cT`SBv*@V|LlT5pOFIbpC_c4tQ@zrOw_;zYt(|z?@Qy7b zv7T$EWE*PO)4YBJS+%lkSYJ2~b>^!$y8O>i@fTtA?8;k~Km%FUc;<_;x?4X>Op|?H z!fJC@{-{K3I-Y8(PB;Dx(wp6l_hGZuwQh)Dwo2*_(J|ZE+Z|J5F&i`NjBdQDx13%bU1^H zuqRb=A6_5x9j6bsDeE_$<>O$a^ySS^$AA3;(UTNPn{UZf5)oM`st#K${4^Ch-8k376Pz=i77+kVE(E| z_=eVYLc2phxmb8eQinkxyR065k1tGB8_a7v+lTRb0t)GSL-~OyOs=)O(Nn7JD*9z! z9y>Bf+Wrkw6sQkjR*LvP7LfbC%xl%elpYM^H?aWd(I-U^Bh9=^CRx8i2dFHz=~fllguM?@&B%r@QrVpJAu%f=QB}=9bk|p;5ee@m$0H?wlLr3^oCw z3gjyj(W7{bJ4bt@sOqD5-D3NomieF|!01GZ0@R4hrt{h;o*?*{?P@_P#xI!HQh5cL zMD^ew%P;AM90zqCK8?olwq%YU#|M*nWgLGX>dX#z5(XXOQyXs8#s|Z^F`f@Ec4oWY z!%E<7aXx`m5ehOpjn|C|`H(xM)FO?yqLe13;gl-OV~O$Pv+(LgzakVWWJJLGgXZ#ydl40I!RM_3l>EktE3)Bn;TY= z^YK((C|u2$%hzBU)odOw7dydaC*$}8DwniYZ*cN{1Cw{Pc0R9ETw)I`LW_CY88NI0 zw9q?2rOoHPToVaTR2S#-dF*pFegS_hVm9GAx}AvPN-G1Y^o~$3YW{4xU&8 z2wM=d19Zmb%H_vlvR!SXCy2f5bA>i45M3 z2bkKwgg>j=FX3;i74PsDFzqP5gg11mFXh)bmZ#UP;9sa4%lShw2UvtjYoWKxSYACJ z1jZW4e$`eIvysH_3O&?)pFs$zEN>lHw=>_5bP|UBHhN7j%$fup9b}W7_Q!Zjh7hy96RQbixxV=>k@`o2kz(@Jg`dUEny4 zpu#Tl3b56<$fq;M*>RBvICE6zU-`xOO)|lxnKrbAs`+XIm?9y`I<9);@z>Z_&apf` zMo<%WzYJMU4duJa8W8&F4G)uk&k+1yrw_NN=W-cN6^*3kROt zoK^~6zKz+}DpmLnG@DiG!9SschX0A_!zu@O4rkkDeI<641e6hwp+)h?h(z4QB)20iqg>P(!HVq z`&NDK6>qa|oi-8T8Z$q_wTEOiEkZO>#iGSWvuDhyA3!i4lX@64fSF^b3YA5lO4Wv^PnEf4VvxD;BXI)UY@)j$KgK;zY-Xv1Q<* z$*PM)359x>9I#04vMU9*5Xiyjsw}MfA}l{FB+h98?Zai)#8QU(DqhrLD^z$%F*JGw zPr$|_BN+i{eL89VscMR~k%VA&W@AhS4@2 z5JB6;n?96JSc6dlnUuiQnlSEHt4oQds$m(CBfG&fU{5OHNuUiYEW`fbRKvm?Q_U-j zN^FuER9UoyWLjTY)aKutYRv^vQt=1Gls?L1?cjEv!kO^kBFIr~pvI95vwp{U7X@Cl z_R?$|>tiHhfw5u&3~hTal@Fps(#R5|4aKCV`RmlL4~UJB#qU-TPZnCw6Br%Iy|>5b4YUq#1va+Q30d1h5wb6D2oL!i6YP3s9yP zpac$5rlS7s>*sYz$q}TWA=1k@OOf9&DFsM@gQN&xUj!veN^YQpi#Hwz!Do8>1~w$X zB7>~x1RRo_>7kRl-u75JKr_R?ngM-;4pLrEo*9Y`fr3<4ELaOv2&T{X!lcOIZ(k3D zSw8zBQ0hz|Z(Yqblm3b>51FQOnbrhpUqt>uM65~9hypGU@07*k`H9)dp*&{apGO3^ zmq*}Wi4o@hEW$@;kwPGT_}h8NqTk*R^ar6}7S9*RB5*K^lOg&id6J2W@<{H815Tkl zX6C1sUybQAg4Osw57r|B+{+_yFpmgye;(nZ^GG2OKm6_U)2JF30HviT6I=Fif;1rK>}Nn#yl402-^&N}!1vZ2+34Q8v(QjrId&XmlKC zrAE0x>ov*)`beYOK-)A*OP=nrKhba|(5D(@00k3X4YXIgZ2~%|(Jr7P8sz|esnJQG z6B?Zd`c|XMK;IJzw!rZMEdU&Bff+K{K1%&`nr;DdM-9Oxzn|vUWqu1}P7SueXDrwU zj!*lm1%QJsfI#=R0DOY|6d@2l{O$C~#FSg6CWG@e+ylow8XW~XuhD4=IE4aU1lpj{ zb)X!LQqg9YHA)9cMVp~h0nOBCCD1aBHUMqVC>v;(M*D$|5=su%PELW^0S?yAENSmY zc6qoY8-X>=OsibfZKZfJBJ=#ECosi@CUsBOQU z4m4Jy1wa!B1uJJyfyx06R?Zx0??UAuw^TXgjJ(5zDu*`O?W1~B3*!BHoC@Mi1>7^w z3k+bYbzPAdwUJ{Xf)2l19|EbHFOLuI=U_ecKkfkG7;a1K<~`L?w8ILlQC45<(%a!d3sD&sI8Nl4xJo4zgwSo;n47@ z>->F7G|9Ru{^?3H2kQ#zpeQ1^Osj%_&=d$djkIl&CULm%D_L{hKbmG6xr=a+(Ds1yYA z&QXD^Z>4n#`z~mHJ1-e=ojs=&`hPG0mJ*Q%?CI(XH>{o9PR*}^6o61w5ey|laOEGm z)(B=#@K{x?8unyhUHCMB5EVgC>5GAc_XNo_43b$VrEZ4F5c3qvviw*w{)&ZQC~blp zF6gugriQ3i1M9R`0))~g7@|rhyyv1OBRDfewgFg^WdelA2!_ZA2KT7#O|v{!IciXH zTM#1O1+2-l0Yc;iL*xWcUZO-X6`&9yvi-oCY!5jGIgwz9j9|_$I5w+Wyjy@Z)h2)t6~W{X8R68?nv5XrSQFVUU`>_{5F#TOq9S-b zNJTIsM71ASQ|$o=Q4tJL5xh7?r?n>;nD+Q7v7^A6EC(P&MleK1@N}vsBbXVYIti?) zjst|K2!^N#rjFB81UH4Ka)F5oQ$e5*8Nm=4!Ik4R8Nuuj*+pQT*m-~u6~Pb{!To8P zir}6Q)n#B!l?M=_A_ywo{?~y|&eUY&eEOztbaG9?dBs5tuLgiQ4%Ajr@QR zU0UuT;4)SIIZ>CLR!=_%MelR<%X6X~j3)iXgY0SbW`8lA?N{xGh=xw9=fzWWd~wkL zk;(t$s>49>92USo94ICuWQ!#63PN@mjx!TqCqd=krw$GhKeHYbM`Lw)u;|VXIf!T+ zZOVQ5f_PJXFjUl~h<+NXBWgcPOhE9jhasXv4kE%he8B1TqFBS(H5D-eQ-YJ~(Gj8? z4%ZGHA;zjFhKgqtds~!KF|Qz-Ppeh0h&o|MIg~M%bxECjMGU~&bo*C@!Uj=fim0xN zy(Xrx!}su5_0}j6p`LwR^aOSG>!MNdqjX3cn!q>b+?5QYp5ZW9jwSUkC0}o}_%4)ueU_)%j}bfWQ~7UUqwxP! z`5zyPnbaxu=2$4>*Kj^(ta#kIPR9zcM2|f{Y*nMu!pDim)+xFn`IqZ2PUmr=Fvn@3 z0cql#>Xa&OI*(7ldF#zgT^>}ehmLt3Z4`QWx21lQlgtnXC2Nn&cX@n%FZ9I&=G zoy8$*s9-U`nIUWeuMFWZ;0zTuSyWO#OcHI>Ym=eSjx!?)(>^1V>H;y3H6sdm{dfVbrL-;t`>98q5l znk0Ivl&PXf%(r-oj51sFzRcd1>h>H_+Iz2NZ%K7@s(4rpoGY4P_i5E!F&161<~$gu z)pO}$dilSScil_g!Y<3EdpUO5nNIw4%<9;aE6N05^iaN8XwBUFTN9f(w3`x!Q=n+g z((2VYqPrS28OnO4wo-;#Da?b(#p-Pm9 zonZzWVA|PWpNvM0rh#V+HEp(tQ!AB-EUM1Bu};&-h=5-p7>=vypjM}qh{3V68w%6? zboJ02@otIl3s&;I)TXIhbFkMlRh65IpgmO5Tx^nlPj%Y@wqNE78yjAz;*hPjS}{*V zv0U}xJaLNcRWs*{$D+oab=NSU8}6rmJ6ioRU-VM*SBN?)Wq}yMZ{|AJ76@#RpHpWR ziM9Mjt}}fxHXC7o>K*aEc@;NR3}r17->Gv;M4_@Nq1Z|yvfH`3@N~rk`)hbQ$iA#Y z_s$fx)YP>iUOm55EaO*mmG50qOvNq{2h^|2L?Pe*6^VoJCGdcrYOq|C$JLr%%f)jz zkhg0&X5y37mF420$ox|E(1o&BK$Q1T?G}jI>d*=?go^dxN-EZQDpoT!V3l}<%657c zmF+y0t(iKvS_}#m@QHOIm3^YltQAGnFKa~G|EZiEgOr1)q>rx?;|oO8NR`bLvHxd* zse&P06xf5;i(t>*Al`$7OxlPS!;~8EA@;Q|s`Vd=F|J?fPSPIbJ1Uy1w;WNMb#yWv zbRYJM+OYct@??Dw051Vw)K1 z`Gq&ce3l}AXE*9{$u_JjHQj=7bJPDG*RQ+*j)DA3Tpy{ty`pB()!4^}cMcu&fVrP1 z;jYY%onjD*ld(@=EmFE{dyFABZo4xR%Py z5-rs4dqwsCKIY$4!~q;w$lLwD5dEPRpAKaQ3rqi7QLg+|6tK$wMte1w*>AT&Kxa_# z|BxA+H&edt=$%!vMGo7gh93~~)xaM`TXegw2gOXawu-E-E*=zZ?p-_sXFYgGyr%|k z6l>JX9E{*|)s7s^T;Yes7~C$MdRV-{o>ZPAI0f*Vx_(4+)POI*QG3<5Ux+3M5`R>@ z;lUky%|}~;eDu&U2)W-BJ1&Mw;v*G(K*T8POI(EA|6kIvU)AvAq8~qKs<(5|gVqo~ zJfpUMgL{TgD&JXg!bE4WZ~@~uI^3y~2%?#zAJ6&kDRiU9Q^pchhf@&u$+@D=f0LAM z_Ot--Xw~aDD))gH;g+8f<6uDe*k}Z&KIIUohL*=g=>Y z>n4Zrj65hdsM6=fV0HOtQP^{h5~0N>r^^qbGE){EFL>i;DAw1N`+^w8e+V5pm~}xE zXMd>G7euLAxa*qC-YT$eP3wL*q5lU~!J%i-Pnb1^Tbe-dLV zX!?;M(m}9?*QqJdCnq}(2%i;m7FAuydDo5eSDIF&X=1i(@s>r(Poy($h z7c8IIlXkmpjG!;$y4Bsg?&0y)FJ=PWSf*_P+h~o)i!c(=?Lph6H>GgM)o<`-^q-GM zagIBZw1gUFAI0fcY>}t!QpK)_a(2cpw{?Zl;~?}{92V%I@YxZA?aW>7q`!IC*Z&dL zzOzfcaYZ!XFgIKgO={jjkfPMBggtgQppK7DQ6X7mQB*USUAMSXNtR0F|zgsnLtI8~(6QLA-$+GdEL zMcm*NGUUiC7qUb*OCP)@V)*Z-`t3JS221mWeizla>UKlqi6jijnPYinHR7fig2Tmh zytaHRJct!^Eq+V%<$svYo43R)=EW3=&VAA$SapfXs;c!J(V8WxX?MgLHr8qSr+Ami zF~VO6C(|J0Z{HRElAuBBx^dgFkTn`LX6P%H+B#-dL%EiHw(&e((!^bwk*4fhB>$+b zx4Gdj>SH>oKTO$&%~zdVc>E3LdZ)N#5}7w#@+6$UbjuDfDu&6L94C9bg~(1sb;3DyV3GV z1W}zVITTsgWyyNbI&WFBR1B4F7tQi%T9AkHMMy$lqN!O(KA^f?15Yehy{=;(`_477 z1>*wnEvI`Sd6c7qY7~`?P}@mGCFEwB$|)+}LHsWkldF)wQpIIW9Ep6qxU8)2`L%`w z@U-L=jaU?qxz+m-5Sg4aT@=$Kf%O82SmNe`a}#_@~t>s^3spxmR{v$d~x+J^f#HaqpYmRR&1*%xw5Os1m~^t zvO4$T=9!_NShG5*7plmHE*Cx5;Z@O9Wj$wmWjUIu8h%j<&C$+}vxf`SZ+GWzLdTauHXb)s(}D?HVP@8Dt(zlp|EF z=IBqbJl|aUov9DXWkL>R21Kkm0;hTXt~86%1Yz z?Hx&p=!?`Ux1n6jmO818Bu>ySRSO%-R=9u;4?>hE< zv3$`~RtDLfreM3Cs>Fk`TdBNF`bL6}zlhB%h(no{fS%tmcs;=>(n3xXtct!@p}Nb!I;%Gw2ks)8KKusT?tgjx~Zi^x(Cy;c9ppF~>d_ ziFYh+cZCqNof6$-S$fr^ad&wP=VJ>!Evq2jrccXTraswr8Soi$DGvXm-XS_{3H3`S}RTE zHkUQk{yt#R`p(2>WF=Zq%z9SVg5rAaS(y#nioS9AP(3p*dQxvHSBGAamHA3R zW+k=gRXGdCW$U~Kx$HReUXw|h&s=ZFYOGN3=78T7;i9aBq2?ZbQzjz^yWW(8*=Uvc zmdvG;ON^AMboze5+j2Z*tbDSpOJduptrBme^QhX6lGE5q_01>@2P>S9Moa9WZ*cmif<>NqLO)1>wZ`qZG6f?N z5*(3NrB{4wL)qp*=}OOlKyyP%m7s##^lTg5ekuefZvV2uZQdN3jAGN|%TzCurs?`|KA9$)2y~{qGte)b6rmRt7)n8{5)(Si^M7k&4_3_?^K79OgXWj;K~Wu#*6!qt>?+^RPd$qP#1Jr<(gCoGCqUg5{$k6W}AoJkA#Y<%M=z}f{gY=H4K7o;= zPA-vkI6Mn4l{HPxC#v;Q>GuXB(NU_GmdbKeoMvyB@v7!rSxC9xm9gsErSdd6XD^cz z$$acxG;1$4>|Oa0S*tFWr_f2lSIA2+7N(dbRP;);cpo)6#f()wSIQSD*x{A(8~(gk z?Wk!MQ9Is~eex|~;POp=>#|EdxJoYdkx0W0BtP>Rc>2LkrWYE}gQ$Z+T!S&#`|@eL z9@O)F`3MIGuUI1=WILU6Yh)Ey(fXuYb3KkQ^b5>}toly*4bsI~rc?Dpd6n9u>?Q~n zyq=Q13H@%L>b+U^FLh5OV0Z|(d9a6_^e5Tlqaf(N-z;zNZ(M5BC$fslIVlS}aUaWt zCM4&kZ22PuYQ_%v4GGe>c47#q?{wUSR_5<<)ozO{9YGg1^l5**r=_;-mZ#ZzwfIvx z1OX#IBiYtfE!qP${XMmNkGvRxGC)o9xo}>iD5Y3Y<$jKTkz&1b^>bN7Kwg9&kl#my z*Tb4MjvGZ-&7G@X%gchTRToY{%w2Z6d@CR3h;;sG@K{&%=V^5KKC1c|nZ^1$-=D#N zAGF4*Qa{M?L0r!H{0I3u^QMlLxJ)G=ejH~+)2&n1i*6MvGa z|MdA;uK$N)-wXd1$IleU#ea+Al3YK-QK}VFks&d_u zt7pZSFRF64WnuC~V-8l!Zp%h4YDC4=JLlvu)#;9myU!u_j(k|I6Mj<-{|N%2<)3&p z@GonzyE27;>C&{b+-4zuD1;{hf2#3|Dw>(m{Ntd9N@wu-P+JD72yVvwlZT|l`16UH z%gyuuD8?7U{P-V^r=_{%AC5;&^IAd2-(2RYf_B~dzA*Ej)m_$O?)`g6=b>=36yxiH z84rgxqwgtMko;bAkZTP@uC-D%k1%akPo+kfUqK#rh=M%46lr?Z+mYr|1stBm`(*Ik zAs{vi7dFeWWvYH*vmI<>3!8)3vK7A-HW^0m-;0>@U`#1$mhdbQq`nGkiL<7t*?>tL zf*I=kRLnfb`4yKs9AiGhTB!I~voeg9v1WY}H=Dc_l|R-j3zv6e%?`!MW%vEhrx@04 z<&866bm=oS+trvj^QmCe-^Q7bGPcR7T+-~z*>q=0X|toit@-X?ACACq_;yp1ZY*wYYJMj1NW!S*=FjpA1}XEzqh?7psfAgC9dSM;BP798bW4*) z9SFK|YCuafF<-K6Yl*tTvk})?nGZ)D!MK8vA^6(vB=tyZ^JRE#Yi+KNx#v}r-Y=uq zct3;+W__*3w=pL|`zid0S(bk&)Rq=z4;6UCEQ(9JD)~{fwEFB3b1Y(M_o$hT31w7U zvjpEF)Z*4=G1a848PB#jUE7-F8JnWsehmMx$aJ0%*;4Iz()6k9_GYvi+0I;w8uUMI zcI2qlgT2gp&Z-XPvkaO`WJmKQ_JJDJ5uBH$7I!pfAVir?sDj6zG;=@&{5pp@w~INO zZkX2WYOX_&(_PIkaa|KeQD;X z%>lvm8wgD6*K#n)@Mq1f^4~|`=Fgk$ z&0=#o?)6D5Qqq%iP_!!XO3nt2?f%kWGqrG@D>MN&Li6v1YRnLD^I~Vs5Hpu1 zB{PPZ7kq!ZNIM9=*UzkF7|@{j#L$W~;>2lDwQ#uEqsUC$49+nynqdt&=z%5k7tLPL z`r2Ou{c0SNYp%R6nRPt(9My*}nr#YL-7lF9{<1o4UNR?e5)5CAFn^B-cx$H!?Zl|2qm%_Bpgj&%x+CqV~W%`|g6 zqR2}#zai^^3FZoDxFaT_<=3g@6U{UoXp;FVneR<9%Z4-vx7HxOnuKV2sVkGrCeR>i zO*WswNtKzC&4wuP!O136pXRFfRC6FaKc9-u+g$xQ)oesjHJWBNCiB&4VE9=oJl$-8 z1RqZ~4`a2jA{5Sfc+ zLeB0`7iXH)L)PLD-O%ViQ4MC9RZTq>s)4i2k$j0;CCx$)cg;3?;dsq+v(3kOhIT8d z4$n4IP`ZxF{2+Xp8zKyX1y9dK%`sz9%t~|2_fR0*z)W<+TvQvLpnQLx`7mRhRNj2E z0*n$1%nm`;qD!c1*aGv32ztaD7gFirg0^aUyl5I^*WfKxI6kFHE->2`pc=B!Y#)|S zg%`;a)VYP|GWuEasW28VGF!_N=fWB~KQA)NisT4x#D2w$%xKJ`$Sll_Dr6SpMjbNo zFS|7*GamnX1ev9|(Vk2{H@cEpjvLRASrP9ok@)~OUJRKdL*{rgt8rsGnKijFpUm3a zco*ganV4(6PYw;av7XE(+}IQ{_mKGzHx6ra{D(_S=ffqg^M~0;mGQFs?P8eSxV-}# z8-~#YAN^%E$9by}?xNf<@Sv%?75{CcdT)fgLiP7QbbDEZVLLF3MNm-v!*fJbM)=B{LVxsiQJReQ}{!vlB{fsUS1&%NfZFJUdJGG24nvB0Js zC`SCzZmI6xHLNtmt8A98|mf|*~j6~;TJd@ z#e2IW-IA%VQt%JD<)|-4xsS6nDH#kzWAO|r&HWz zO>)jq^~ShsuwknI7Bq};XEryNaDF@r%Z$g3?$0vOj3=B-c|ZAVJ00oLGq2H#qI>+ogbqrVu0T@UjEeB_^nZv(!K z_~>uLO=gUN`5`{_!UXrbEs($)aHMAJ2b2EjcV-BayDx+bHr4{T*~hQAz56hpbeZU$ z(-;A}-um|liiX?^MlcL+_UdbH?|0z6%9GsxUtw1d+Ef&U^V-OXUa^i2DJ>YxphJdG zvS|CXYSmiP>QF(X5Q+r{9YQI(Wbmg#(jSeSmRG?c_yZ0Og@OjmP_W>jgV4c%ql+Mp zRjYnq?hAc}rylq?_nmvb@1FN^e;|RE3M=XPVJqo|Z&s4^+pMG>A~cGAx4a?dm6Ork zMJck9*k-uEsxKC-q#LC*wV0)S_ke`kY;sX~)KbRRl9v^^2eR z$*NKQ~U8OULce8=EE3>xrJLX<2ePrcGnUvwp+p;cv`URDa72$ zZ4wgNdCwBs@Q17%p&CMnqYqyuldz^WpYX^hjKQ~#P$S{en@>&q9D6I%Xw`;BegpCFL{I<# delta 33364 zcmbS!2Vhji^Z(oO?vh-}g9H*tfV-o2B2|j!fl`zrSWrO4hMIsBLHVkf&^sg?u=FMf zNH@R(L;>jt0*Z>L5o0-WnbLw?20{C5ui_&rUSv9W*W1f)36Ei(xqj!Us8N!G$xQClka>flQ z4JicYhA84OxbRuRz^7m_h&DMh41-5Y$&i&xGm@Lk;1M2=*AP-BaU%}tQIeacB}^0| zB$pMDO;$n;o=BrgB$v_A5fNsjM`nsB9$|PXb|MT1i$7AcDAFi2*>VXpz_OG?a!2)bbLknb+|8A|p+Y*F>ApQZJ7~ zYz%5Lsx#?BMNvG;>%}<4V2n%?y)k8k5g8fj1!*vXRES}Ci(-J0CWIM^msM+^R{Ren zFqrT}L`Ot}OcWTA9-}IOo@nOrh)7UQf^E9X(xpUclxMQo_*nPX!+o)_-l(W3AAUj$ zW$8>$8GnK&!Q=6iF$gd`o+ugNq5r(}qoIfhH->&W#o#AGm|lW4O4K9*itl$iyImAp|q( z;tTQMaFE0d^)$<8n&4_gfixfz%E9O|Q!tZQ&qTc}3iNU-js%ke5&W(5gJ^C%XVS}h zu{@r~O)q0vJS&TPB3UN0H_zV9ecm<}%ispl}5>uY@PVf~E59`=UujfcHyeCc8RjW0axKgQ=C_Li~N6Pb-!XEWcA{6n_Y zJKHN*wg-f&wS5&o;jYGVx}0%M|*CXQKR{3c|tCf^W|JQ zOHP+l?#TrQOxc&^-NZZTKLW%2_VVyUUeSn%~|IU8HfBWTcEcH{lS^my?_x?m~ofq_0$z^Q)O}{$c{SXkIXX zHdD`;XU)^*N%Jbd%Ja-0%p>M^=3z7S8}n=Pkokp~&-3|ybDz1#+-2@CQ@5I*nw!l{ z<|pRI=11lRGj+YW&UDPR<{ERgnQMMX1)t+9%;n}XbE&z+{J>l+-;*=t_)IxkDjA}l zoZ~ai8Rm3znmN^+V!kiu$Z2w{94RNs9Qg}#_-K=UN13S~v5(lRufBSW_a4fIvVVSV zU>hhkFP!?1&tc{eGd0WnTc%!>mu2c7?c^nydVv2fhj0YHA-Kr?6qm&x;)=K`u89k5 zCI4OgCPM5NaTvd;qxoq5jo2&pi?2lLK5;-C5~-hyFT|H3>iUx68$vrH9xOgRvJy9f zvQ-T88-AW1F#N(kIXx7N3?@yFOm9)rFa4qtj}EftGR;0PJre&yT_U%#Ss{N^qKWTA z(?gA;-eA*1xlt`Mb!n9I%=AdVsK*Wa2(sWGD)AfXK?6~K;m4HdQ;(x$R7FWGVuXDd z87Y~fG!W%ds1->AelvmgU1vvRyv6pEy#>j*ysSczlpG?ZP`EMF?k7h&isn)#A}T-LCyj36tA zIBSt7lwZ6h`ziO{#8Lvo-?8MqY(^-jWQkHV00r!VA$->_Tv{_9h9tDJWMkx($-`>R zh)k!NWhEXF1ozoj3DF3TQ~_epq+xPVHzYslCyIN+Y!Q$=6Z!6>`8_Fh!PI_EtOPdE zJQE$`BR(CF@+wC3r<8$cz^kQ39v< zLOK58Q7DeNEE-znuYpgOW5En({i$W#{GL|G503YH{1KoPWyfT|ztFvbM%88$10cgn z4N$*U&yH-GSs%HU0?3+^h5t$VTr@j0Cr~VEcDRl)vqPH#{%DOBlqex%|z)aIJ0bvMu4((;eOMd zruGo`)1dwU_S59_Q6*sHa5Y}H8dk27JM)8vt=XkbGED%?KTR&5Z3GN^B8s4~M7zRN z%m-OADdrM@MY=Znni1}@NCQuZzCmGUfm0wWG=I>z0v4ohL7JPG5i|#><1B`e5FuvvR9dLT55Fyb7^Z^JH)s@ypPU-CLw{EqT$)6X#HfYE zk8rcOQVJ!_t~?S1`X|}?RcTOnc4TF4)aRC;y6?gf_7sdCwC+psqFdLr~PJRRRQisMg03B#rcX8JC)fsEVm|Nk&8x zX%0`%?Uwp3iybJeA4P!}tsnaBp7MO8Csd;LR~5(Tsmpq!Unj>zTK7VF+j#(P=xIVx z4InYcgo@Rf#eNE{uJb)x7Rs)Bfjyb~ZoP()>{Rah`|B`vDs(aJ;o4J)f9(T0$gp|8 zb|l|1Gpuvc7mmg^?@JO_rV-0b4RyDhv8lN$?OL4wByxXk_7sbaHHg!&GQ?QRc*#(! z2Wzu$LjxXcRQ`Jb&4AffI>~+?)*oU_Dd7TBLw9(B3O_=BM1R4{T@40^?6OiH+cEg$(X8>I$LHjCxPjhY6+4_oEyp_OUV z&wUxHYoaI{iW?rtT|D|_lkEx>$*Iad3pL59kaAX_7%WW@e$mvZFK9R{EP#HFri3zc zUgkO|7WylvT~vE4ANBzw-AW5RG2vqFl28v8dLZ<2u7A>SQPYd|StUyPD(ZHEX)&j& z1(~&-V|}*nF|_Vy-4YC;_op00L;6n*q9N0#R`%t1w4^6(FSLJZXR3^cE2}eYKCkBs zB~AakaT92U;kkg>LWCmPPz+`S)_Rnm**qCC5!Kn5G&mHmWBj4UGy1b@p*1tsu}5=X zn|Uu|kA)V^dcS(l0K=F=amVmj*Uf@*|9#fwzCC*~OR3M(h$k9A@=4Ik>R1vhy9+iA zRiAr3?k`wKv|K^CrgbA!e_khcJv3q7OKffE>b!dRt@&R2xIgd6buDDie<<$i9dTE5 z+~qss{?Kuk?uh$c$NhFk+^;$=|Bkp{blk-|;x2?1EO;c8^?{KjAG51LELecl zEI*5*H9GgvT@@JX5qfKP!%`~(`XaJ zIB{lZ&}Ts)x8IN7XZPPL zwZxmTe=F9at_S)QN@`%P)@i8+U&gv=`wCd`x_^$BHzrhnv;rE>r-4TEGL^=G%o@|Mwq~pm+%+9@V5(DscZp`Vi2tqNZU(CJv zQzIAbmAmBZ0KrD(R=)5SM=<}F(+t7rU%Q!VhnIC@XI1qGmK=YEl>`}0yGd)%S%A{{ zLUoQ{_r#oG)Nb&B-(yWu(<0b)Hc3s6WVNm3Jm3KaY1hcVoU3mmS=GeFkjsb*7}1i- zy^5PM-pa}bzz3048l-*>ko_ZmHJy>Z}q*bu}SUHLm3Fv>8 zVY{$>V3Fr2bRm^1s)J;Rf-v}YCgsuVkgv=)+`C6Ecpm~n6uy1 zYaQ84C-HH1nzP58zdN!t9)F56Poa{9y=b(G@639zk!oOPR)??Ls+`VjJZ80O*@cy1 zbyeJ_teBeGh56N=yIGT#+c*sTn8VRnD>38a0MmMb`P|2vEPPccEq{ZTL=`sF>DD%A zepr5ak{eiV5aD;6F06`R`OfiY*%yrEt2NKD`{UN}fC*xR`E;EU&$DW5ud4MtD~6!? z^K4+^CnRHFLYc!df)d1$q?jCDuO9EjGR!9Seb!vHvl9yxCz;cPWKL!POQuAA(z@05 z=h?HYo>Tq>6pXOLi|hvX9b_c$pzK%&)##U5i4v*!#N^VEhV{j*HI*n;#%XY?%VzKCnGjj~v?O{JTFNfGU_Fos~q)%d)`lp@CliB-%byG8^ zv5l;o(`h<;gds0+brwXeoY&7EG!vl(A{* zsNjE?U|PRWBi6I4v2UYr8gpni!aA!i?_vJ|t$TgOp5s3=_2p-*Kbx#t?`3Oh{;WkX zDVU6GDv+GQ77(8{%dpPrG{Y`kAfA5}s@6VME#_Py@jO|*x)0)cvU=%ri02iqcqS7J z#Pf=^Y1^a-a6ShEL-8YX zCPKd*+1q9?@94+?Sh^Cg7UZ;4`#DUN#1l-LKD9N|f|hFd65ZTZIaq=5|J}AOcO$0yCN=D1HV5Nb@e}rEjSslrN7BPb%;~FUB-=*I zQ4$#kdPCdfT34q^-B-6f~(7EGmtE6nf92%7c{;~@xBtYiJ` ze6?x^i+2`oWp!AwPC;hppY+<>>6Po2`C2#OkwU zs?1kxGJ>^Vv8A>Y?2s@(pgE7MItt`?WLC9?RhP`Z!H$70)=7Bge%2AR(-dd?9 ze9i7JgEV5G2s_K_4TX;d;_T%*%3iU?YcEszUqgR!RL5^ndlxnP8`hk?r%r#v?#EY! z!>lU4Ivi#V@HP4{8;6#a{Fe2s&;_I^>W{NpfqJ#Tr!iDPmVDhp0wSWoHip$jt@swp zUKh3NTUIgp{jk*oGv$4C{aZG$+(=GJr$vE%K&uF7pbJ=|cmT%Z`J>gG@1O^dR9n7d zB{GTRn1<_MgY?bj7}c`cU{C5Y*ry(kM&FOMpbY*3oqkf%eie85Gto zKuyUc-K#!dhkEQq1$Yx(JYh}ny2#j+gNdk^&4g|=G`2CG2HhO%?I}-CA6Dpnb~G(* zyViTbNa*S^+VU?qxr~a(rW`^8KN0CclUm3M zS{TTpCeD})5kg2K2r#gjp#8;l7!3T(S@b6@Z0X}j8dfx{@!x)H-T**9+rGSs>$&XJ3(5<`p3e5{X$ zopcJIIPCwGrL)7T;cu)h1kcFda8f-=MgGpnwD9=vtW5F0O?%s@NYYabdovUVe4x|n z+uvEhH(pCc>iuqIUV>nNYIKP`RAfBpNFttr4+S<^hS^=caD(Nl(Z92Hs`y{*QB{ZW zjn)U)t@&}1gQ@Ak5amqfycEk(@Y(pKT%oi`N`rv%ASd+8zBr`S3U!W36}$!zx(eP+ z{V4gT&Z~dHvx0S>)Pq0EmQ32mUsiKX{t$agoi`Elq-yQqjad&h(!(E$c}km?NT1-= zWtHdQlk4^%IY^R1>jpdnya7hRQt>1)fDwSv6}?KgneDeuW3pm}4~kGuLO|{H^1dk8 zj^Mpia4LVY)Ff7tBrUNynoH_5isBj8S;TWSz{iu=8MSgMPk>greJZTQ^(WuPfV!a3 zv`zwjg$`+{q=I;y3f)pz6r0ZDp^Oxp&R0h2wdVrX9edJLicwj`*6n2wyIz(ubZ^;OjxL5qZLO=NHJ>mh%>5Z zEU#UwX8?2n@m#Ah2%1c`WrV?hw`!>`VtM^)Js}Ul;xsDO4i;eA-uYi)ko9@t$T%)l zn>b#Q%~!9)@qm=TS3kt_SJ-CNB7wJM-Bn^SUR`ZX;E%HI4&WLLNzIG%6-c^VoY!Ut zRh2~kl_v%5w|-Ky9udXW2l2eFx|ztI;@Ll`PDy+~wH>ZXLW0EF0~iXr)=}sOyDIdI zP9m&a8b0Tb5KdM4}ppTT@j=3Es8j;h$VmlKJmW6;64| z^SXsM&#Mb(%@e~!`hQFfEUO+QH zt7aI;RVSHOV4thb$$V^ro~+y-kLil(_!alZSi{xW0I#oVr|=`}DaR_sdvi6h4Szwc z^YaYV&d)vSmA3BZmbg3dFFPXwyaWTJ1AS|K&P9p4CT>_%taQ|)|&H^(9s+a4UUzY95W*;$(nwWTAkAN^pA$5oLH z>#&pEo`1k0j~YG3`yg2U7=JJky|Jv}%pYq#WnGss5J5hIRn+7BA^9j2O)96l8u~bY z4wCby$9Y#aMYVha1x!&NJps8k#Yyf6TZEXxeCpT7c{QiwlQ`!na=Y_B7&YZd1D- zdX^7EaPV2)H1RS+yGOe19tg{9LA$GTg~)wO_3O%eAUM&Lw_-8-ZhOnAUC;4G zfYIo(s^asQb4Q(Tp6A0^?0H^NpO8RCRJVRn-CyJjok=foFDo(=3kB_C7|Dw>L2IU3 z){XzBg0JwRs{Bh3y0c&A-BVNqdCFoL$8R_8#Z zKLX(lr%ZSLlJFd(?VzO&?icawfa=augN@1O$`Yl!&oE%0h}FMdxg7%spZ z0aIH|X_bbu1A%3yq+2(kg;W+1u;n2z0$xt0RaLwdQ-bWwc3VY*qSoKIH#^Sem+durDvCqWgl+j;V+Ga{K=S|0&g@A5SSj zEJW$TEykYQC6;cnfG$cc-rtY+{XZc}Ea8MW@(sR?ec-fxljA7irh2D8Z{ee@B)6di zKoEW2pATRoo!0;1^BK%=&TnslXUQIS{cXOS`n}{G-j2c>@9;+wR&MvU=ndZ5MIm_F zz*bR>8^Dvi`KP^DNrtFp19;tHd%-_`Xdnn4BSi#i%3zOkWdIKfK6i^s9*Bhq;Tr>a z1(`vuoHLMLpi0IM!bTn`>j&|NDTH5TcMAIs=2c?nZuO=^yb>GQh+8_?&2w!q?_F%} z7H>Lsyg~jj97#yk(OEKw@Vc?#Bub#FJ{`iFmm(|OHqGRsDH{+Fr0+nP?u3mpvXmdn z%d!lo)lgoU$BseCG%>J=x3jjWtl?bo&6`z;5s*A1JnDxLyd2-XS;>)n5g+PN%SZBi z`4EqDb|i1cVyT`Ky*M^CtPH2&XkH{rZJ*9}sD~%sIMCG^r}|Fj&v?cYJYF51j68eP>x#FI znNAv<%^DhXaHpnD;Z@l*wS5Y2Qf3dN9k-?;-E|3Ys~e2!d=h3$)pY<*j=!mg6DQ_S zDZ}aDr_H7GD==kj~i zjX8*zK8HW&1n2Q999y!I3wTjhVn4%V#4z0`WBEv(r8xj2!{)HYqtvA3yi;8*!f2<1&6IX9LLYHl z4Bc%P1_J*ukg%1}rUqLre1L3AopLMqR>_(140vqXo2&lnq!^ zo^{^Yz#B5QLOCDtdI&Cl#HX@LYQ#pqoy}EkKjxR@TyDLrnt#IE!9+Cq6Zm-2?sC*t zEK~`!tF(=1ug{LQd_mJ6VGZ=EP1|@++IQC4&dal>)f3zKu97FP>(iPUVcfE6VYstZ zgB|>B>;qQs;0F;5+sRM(b+OvKNA@oeFe%-oVwTr7d;yR8^%O7R%-h9BFl=F}?g2~I zQ$6?a6!xSuW)F|04f6EQ_)o0Z8BZYAJ&dtZf)S*xb8C#F_VKffO>hS8=Q#)!!bGRa zLH+}bsw(mjuaGbfYimnwD~qtkkv)`Kx}B0rz}u?(8pj^<)9t@PX5g6YXBb~fA+1j`xic#3T00W{J3o^E_vX5RI4`V2aeT+D(sA|7*WRbF{ zBZ}d0JrHT4qJ*_xQ70JoHl!3iacMUz3po%Up01)J#E@G~ocNv=AzFql1XvNs$Pqy$ zx^B+u&j|4kBgc1w>=O;x zkLod>c$fX?eCZQcm^v-R{n-6hFhxhTCq}G9!rQUpJqD$qj3tsF2pd?U0)l5PQ3H|V zEOC!G2IY28yr^AdDr{QVT+zB14e7gas@f4R0&J=}6E7~Zubpoa1ZT0|L0>Bn&VH^^ zi;K?e12wj|sK_p;HO0kz*bO=*il?IHBO9Hklrx;Ime|bICyAmHJFiM4iS7`;!;-{{ zE@EN~JZoUoa+l&96<0#cVyD&e5@HzpL)9%QI<&-LhKKfm9+DxnV82fhFgJVbN)Rfb z5k>etm4#JbK>u{}LSP>kSR*`kEjs2he67@dlguWOWW~4BGORT9SxIpZTde*rDSE~& z=0Vt`(S5xk{zJW!EE>n07VzLPGN{hx$*Nc>F#*PiMWsX;6aF@Ssh&*~3(R+qK8~^HPmVzRZF85K!CtAOX-S7eLArI3k*NUF-;>GT zbq%(tyJ=>CB#*F@V9q8jIHGsZBo+ggf&dr@+v=T3j=mI?q@y4dBLY$IV?a!bn~*}Y z0G}|ga(`4)<583aA1I27$XNO~zM!HL14k{y?2q<`tB9aEhMMS1Q=?;fb(=c~H1y!V-NPa0i4sK_y-l!TK?M)j2`p++7g~1H&qy8uLwv846lj!WV#T)(z z95~<`U+Ac=JsKH$BSxb}$TS*SHzkQuVi*iuZXAu`e=&SPlTK&c+M$2Ma)VL*R0%p3 z9gyLHP6}X>x?`HLG!RYK8=~I{a(Co$L`u2CBk$3$pD%h_@PBC&AlK}WBtvJ@)XWh-67?Lj9WzrrhVk(bW}uxj^M6A*L1iw==|20~YW%;-j&R@cG`>dB9(Y&;{Z!hdkjx3Y`+I z)krW$9LAg@vby27Ih{edEkQEM0m@C*yG0DAy)YH!V$osXmqh+BRb z7(A3tHDk5|0saga3Ed))60qNn?rqB!aE;OxljNWrx{9#mz&Ei4T&gPZa#~J+uVhAM z&||Z{=(hH2fHjZiu1So7sZ9_Vh2%t`x$6aU>bV=_K0C|r=gGv^RBk04E23&iqKfLq z2D1ol$Dqx+)^AXqB$daC#xV-OXx;ya4D9CcrH2Y1Ui#2|OvngCP|-wJxRkrSk8t~3 zEeJIPLLoAIeyp#~2z`Exo_Y0*&_nC@Xt}5dnRXcHHX>30f#EU}+z{2dwUSqS_ycv~ zjuVVox;Zp3;Y`qsHLKFN(*1()1acjvu^ONeHIUc(jF^rNb}EI>;Pk~1KNb!5kQ~J| zXIN!#2;cqMFh@PZ5Naw4D~4#uamsY_Cha?Q*eV(F7qwH*^!#+0R=wgE<#9klTZGnr z@t`LMCD}~1_lqR8!Y_)$BWHh}D5XyL#n`S>Bds0W&Yy~_V6I91kPd)>Nz1H3lH#!| z+DX>jNOz3`4EsA^*m8Da5)n}#84SvSdc!4YbMb0*ARyMTHELK;JX&Ne4>G!dbIW?K z&IQGY%yE%0u={F)vF-eEx83LgyKeL+$3@yF&v`9{^K-<(j~+4DrP_xIVdfRW1ngoW zgMAp7*=Vtgi5SA%RtPimKp|AXE-G@^L)=O!4wWK?P*)d1-CPJ0u#1Td_W85AQi=m6 zVhD47A6ETE2q!4Cy zAxyw7<`B@|p5j(Ykw66wp$=g~eO5o=O3ia-oFl$v2@|67O?jM3K8Ts@l2s60(P4?13Q|rk(q==ZKQaVfv9jBR~FP( zK*sEeE*Y0_myXDAtBru&HX_rVZA6N0BjrH(NVi916B%a!T9lnh;39x~b>wP5CpEMg z&>nc z|Ev&Y+=j?(4IKdFR(u4|936KC&`J$m0<>8}S)lO&4UGYmr=cl;@-;LcP}XfG$tyGh zfZY+8E$t(j;1bY;Mu6f$p(D3OAgh3u1tXA`bLR*k!>thj?2Z63-8lkC(IY@PP(IS_ zA>)Zl&I8IEqrs~HCuwNNgh+e3hOz<8)zAz;3pBI{&<7e?4QPdiHUnC#p}l}MYv?eb zT^c$G=%9x30ez>T8-RY$(1^@XqTQ+#Y+L5({bwnUDVJvK)-3|0HDhn zIs)iV4V?k>w}vhO8UzLk&w;~*MgXuo0`p|1eTe31jvfJu2Zaz*Fi#6;Sug@Cv)vKc z$=o?`IOp~V0Cqo#U*g7Y=F3z26ubO_Lhv6P%g88vhs z&>;<71(dI$AsDlX<0xM?p!ph_0cf>`76IC(q1Av6X=pQ`lN#C!=n_Ghu7o&Hh&q5> z>MXzk3W$T|5_?iK8jqMTaTXPHvw%2RWK4*$c91>+DZNF%+}-)g`%N0 z`>cntK0>Se2$`LitBF4tTkAYsLp;veI#s%X2snpo(W@;R+>h(`kg2Fc6VW&dRl8QD zjn0iaVj5S!))&>-CI?8d@I=-5Rog}){_&5w?^STPyNxFM1zf2}S*J}pexQ5x3f#SFlw^1tcW_f25J+N0jO52m_L)Y|*Rn+R&$FXr6gba9o6q3z6nMIUmyP({3<=o@Ph4anV-Y`0D z?+$M!ib7r=-Mh2aaytdxv0`yFiKgm(S&Fp=W>P9nZ@>s}cVF=Rqz}Vd&3*N5NeZK! z-hjDgFr-3cP=2?WdDGkmfgsvG7K(ujVy3;VARS#U=mvq|ZV;HQ8*N>b)&;l#fEnz3 zlr{7xz0J9s`nnD9Bhmzi3o*Bc6p$e6HmL~A3|B(%uHQA;2;4k6(yC_Fw8sF}ogV=p zOko1USOlJNu?XDdVp-><9)>Yk5~z^*NYaJO0T3>PKq@2?BqaEdJ7fe738O6qtkD($ z2%`}guA9I!=XHw-oEXMh4OnBX1Q5m|FpNc@>knnGQ;}9V{bqtr594nuz~6iupTICa zfj2JbS_zyV#@Y*5*SZTpxK;wgSOn%@)L1%080(ON_N~zl+(siXjCL5{^26lfYE$e8 z?Gk4nLAy)9*$y$Q!v$Retjoy<5U!rUa5-01WYgtvJl<@QXDcPR-gS1?luTU~MQse1 zHE~L~tZV?`vIq>9Mc{}_x+?@82s6qIz`6xf0EDp!3}X>^;}4BR;NdXVeAMrv&AE+6 zU>J?S16MQ}fq7xHrGRy1ivWZxBQT6b;JRxXi@-Bstkr-u)=B_jtd*I7!)O$pJx~h~ z4MN%w_iijeTX!3cz%Ukp^9N}x0?9v$u(ko#m2CzPu8hDi7J*X+0}I+8!E?fBdjV^- zT>!#p1cuQF95X~$Mj&~TQDuh!YpeqR!dL``u?Wl>s<8-M8OAyS*wFlc7*H6Ez%Uwt z^M`3P0@sDnP6F1IkNP}7J&uwhv4%gG#Y`s!f2NO zYqWd-VKf56m0bmRW1_~Q*sSY%&?$DM3sP);c>ISHh}o>$Vm2%DwwxUSaE`t*V^fY1 zf9b*~cAX1S?A35#69ManWdjH|jKFZireNV+#chhY^tUdDz^rhu<^$HqbEbm-!`O3f zV=r>CDJDBh_m033VeHif*ed~qkqHb}Oc)u$3w78FTQeB=FIqVBn>qT*|Q}G$mk->2`^I5Ty&k`!N zt9S|CQgF{6gPi4_6K^2rftN)Ywc$B&2^m*BFV3mXPm9Lts~2$QddNXB!x;NgIWLK~ zC22G2Vo%;hrFMf7j{;xqrVHHPO^jrn)l)B{z(WoSi~)}G!z*GLXE)TC4ABJshI=xg z1-{4CbA3e#71>>6sN;Qc270YK+S^Hu?jh<#e9NH~d91(G&K}|wVAgs~D0SftQBz%h zO^j8G-*lm&>goO>S~cq>o(AUJUZP>~Z}kIIhJF3Cw~}GhGaLqrT~fdH635}ipsxN$ zRGr*M6lGVO_&(w%#{N>*Uq{oQbkLf5aPR3MqSV}eqI%Six*(4=*i?u6iJp9rsam~( zv*{!1;v3>4_B{o;RR62!@Xr3I+QqnC^>DZ9#Q%sN!&TR3f2vwnaI!j(GJHE-B$yG6`^g7`6bP3Bx#Gwe!^3L87dBYOsiJHrb3WN+$`>vdIhIK4LSN zfz(npWQeGy9vLE%YK%9dBPq+7)3-a57lx@bhr=*+=D=xnZjcD7bwl8TI!^h=iw3Io zAnco-8!F-xPv9X_YI4FI9T}^Rj2C5mw@5k0RBMKc2SD+Mv*BWKLXFNA&G5B9TiEQB zDw0$1Ra=e75wY-IXg*xzl)v3PkA1s&o!((Y#N42xD8}xiwD)Up(2g_q)D#^3=>V^ z=|Y4jxQn&OkiYkcY{r_W?~;UKcX6tTpddep%FN40aRC{lJ#xICQD*)zf&!igNH zh4VOjqRySRP~4+>E)dD8zU&In1Wu>ZNGUcI18LmJp=-*oF#ftzsk&}eqE$~t)(t)nM+-| zNL@-(JKqx-)Tlc1#c*6L88}VEtNruE!~dtgb#O7$)Q$NfM#a64w_s6Z&G+vpvZ0a- zMT!5hyF{Kks`oG|6199dKQzhoV&M=mZzhD)^0nZE z_3GEP=(Y}utI?mr01~qftZ~m`Q7x)d5UVb(x{f-fURf;0;@iFYitn3?#bUVrFaALM zrS|U>UbSoqO8ZsiFA;-1*XZ8tE>-h0(Nul3RMcjVI=?K%oMTs&ST1_v4`bl!)E`D+IW2?#LA#BgaYR({?vC=Odn= zK3fZR>h>vQ%p&Tu?(9*(uWl7**k@|XCQ&P48NA=n^aJE4iEuAZx0b4&t3?KS(0j9h zsd}pFy%9^_Wp(f%SoP`_XbQ8|V!8kP|5(5k^~jNe0-Am-YW%OOme+7oLFH``kGT~e z{6ALw=RaHi<^QpO>xEjbyZ)70b3{ysfM|bItXA{3i>m7ScG2?Ig=cU}n;qbm$B0{& zs`qwcF`upu?1U@fud2i@F&K)@%w6KG$j8VX02~VI+y|gdqut^&c3pY*XpVVv4>;yq zbzzTajQmwT6K|owz~}IdneGy9tjk>z9O*{-iGvlcE%6aq{N`Uv?h~r{#e6r!1ycta1+E{MgP|xH+ zG9UaA%J*Lc_hP@33qx)G7gGoFM2d6yC*fnte@rCVf593KZHs;)tYLVWMC)}ZOZf2I zMJ5~ImhRr7hV>BkvpZ2#>IpG~X9?w;5EI!B)%qmN``1*{Q_$xpsNJW;ZUmvzSS2Q? zKTnHMB_^<-B!3)zHMtdDcGA3PSQFIDpTtw@k@KQ7tl&M*i|V+mc2-nj`&6~FqH^p$ zM&4avhbXDkSy84q3~KggJG?g5&%UmgNAF~)sC&aZg z#N`Vdr0?3UqR)wPcHVZcb(00@;SjtlYmj*!=kVR_{Ow*`-MJ&dUbo|)dF_vPsNUy9 z1CDUXInlV*$H>ADC)Y0^isSRUuzY=7T)WC;4I$^9>dHnkwDVP_?c=1s?UAXn|Z`{3e#+a!l6mVgZxG zMWBcp_&XMa`~MJu6yRVuy?7{~h&2rKGxX~O?x%X^53!u>aH?Jw6D7RbH~%SKh%dMc z;%jOI;Pa*{t9M;=Wiyq!F6z_umjl;DI)#mIh$DzD@t1f6LHb{!7RS|-8GnfiaG2lv z7nHi0D)MhI*t*TC!QWy!Qk}2<#suL9HmfKmN3)sEWG1s%qod4v6WZZQyvqeWKHH?< zDW<=eKfxNK-&t5^1`;W9r5T|8N|u>!{|dThSVvWRAxpx0yStDnJc~P{gq+V3X2Zd% zGG3#m-@~FQe4KFcq^T(%MHZz@*^`Y`UXQE?zyJF@vQ*Non>MtW$j5zRRE-;uqt)vk zS;d(dArEm7sE|_(Drt+OvW4c&ZW|_CXc_XGlRMF zMGDqPXI?-K#-lZ*WzZ+ldHr^()n3&I$a_5|z4qc$d$+?n@#0x5l&=M3UG-Wyxi&tV zC`bYz-|tE?E8D4GUal8vUM<<1c%oRUoIv5?RN0SJRoMf0adqTD85K1bkJ`~*9vx4t zC(E;8s!2WBp!%Hk^fZXg@N~#~>*2UaPlUu6CGGe12e~5QMh+5LAl{y<<^d%Dg&*u$ zRKNT2(R#1F30Y0s-#aLh?Oc32>Uup{kQDd9P*=(y* z{XU7C9a~lN`(<;y6f*XHkg|)j;(jR@&t9)qr^)5Il&D*ejoeYnJGQKxOtnPgqEjo9 zeEx!JHXC@2L~XVuZgj6#$xUU7)At@ZU#Qae$l64vNAHmV_3D%Ifu#9b7?aB=Abq)l z+^4NkYWtJ2mQ%l}948!EL(bw(ekIvaIKMuKw&S*nGoc0k+(LAB^4Z5@mh=RMTF_EH z&WCx_jh3>5o1!25KuV`p@^xHd`n;8dH1ep7hvYhBfar#EFQGa$AC?x2Y3jpGZ9Fa% z4TfFdv~G<*W)l4!UI_pPoVKz)?k?$Q{ z&wWG=)AwvDcaWv4{HgEfkZH#LJjSZ;dTPg$H>z13*YqQ(Y)XaR)VqT$%lIWzvBza` zwe(T>30tZ%9+Op3qk2rrLEgN&ya!u_xXyAjz7BMjy>U~kX&32(ebj0DG)RPRAj}f*C5U}q;vKF< z>gJ1>%v;pGFUg7c`urtXifwkzza(*Zk7MeW<$W{^n_iYRHSO|Wk;VCNkBWFzz8ci8 zo^WcQpjFoIhh&EVi$n83Oj5e_v8$LFR6Ew)T?gn%8RffygT2UXu%W zqCN2PhkY$u^>|%of~_vRF1ust>(p1Cq)OBJ$su&XZ2KE>IJK$mo3d{GTgc2u2dZdy zEyx7F$5)($@O*lW1^^vJM}hsLd_gx_ZFmzD+2fphQ@+chx8l*%O1!0RwCejGIUaYf zA2=u8k~ls8)EV=RoW=BW70^xgd7QW3m9;qh9hPRvO6dDnS+WVnEPfzL4XI`W zv34C)eew7$HQX6ksGE|y3BP!2s`_J4K{rdO34>)jTx~x-SiVOn!-vRf9KH>!hslEo zh7Ff}smnKp%es_YdxUH(*n6tiXt4H9XX0pChk3s81Pt69n)|H`s{An$?*XdXV`a_6 zWw%`lmXnV;>6UbP@;_t2Zll!Fv0%4Rs>e9l?H+xR46I5n+>n$77b>+g1$?{- z01IEPROWbDnJrT_$Ky|ZeCtuqWytu+*{J+G)ht`4;?h#TZ24m1L54{{?!&HsG}LGE zZP}&rv#|mmR9$l5I*xw5n}b;y=Z-1vO@bYK);zUtg6u@SPY8jIPphUO`6)IP=0y1$ z;ar=D+OV(KKUqGZCQO!%VYUXGMwjcXDf0P(q}@~GIX5bxzM3irMd{AE_eh_cCI{9S z<$6_7ufrY1V|)c)bO>MYYL8|tWlfhg;*P+P-4}~qLGT#X530>{S%=SGqXtixwah7N zym<0%-ETi}%pU;tfC|lFH@_XLRr*h`Xcy-S_*|p#!0=&O2U=8xB z74zhKe!3xx+p_@-2i%^>-wBhQWE0k5eWSL|d$Kbg===OV*@|Odl=Qy54=QcP_hnU2 zLOs%ad4_wP3raY8T+f-jRC+keb!IM?c!KFkHE|_G#CfJtS7E~JRR>ndZlwxMQh$`q zAsIo!BY|{#cq|C?=!fzeJL|N`mEW6?h?UpNpCIRoY>?kW-l+>8$*=Iabt6WUFTriM z)v|Ontf-LfxPF3{ELF`^oL*-vFNw%U35 zQyDKXo8R6pk4Hz!q)QRoIw zt8b1%T6b05e~=|<^x}S${nTGSNGtp?Gy)W}Dq%HKIln*)WqFYC+f<`G*@AKmJT8M2 z+81Osbtq4+zbo>`V{*>jktbz}%FmO%)YB(q`MZ)2o%pwcPX1d#$8HsL8v0?O7R@>> z4;TK{E!_2!Ty>%KYtLXoZx;g=<54gD+vtM(UzJ5v*-NsIx(*1J zrgiMQ*8uM(co6smLAo07r%bw&jUupfHL&n(S5epHnY)_*zzzH{s5{59nri=-oOf5` zgMZ5_g(LMSkGpv{1t;a0caQu;X72eXwzHC(rI;FjO=d(vH^-GXh$%>VX=ZrVLd06R zDp#5|tFQi$<~I<8TRdi>dd6e=)Gwylu~5YGteby;X6C)Q2(iZWwr&Bt{Y``R3RMMSJvF2&c2YXf1B4#U=rp6R8 zDL(oO)H_AZJ|6AuvRz#&YIbysZ5MAo#NEyh2hI7Q-Gt_52M&7P-_fk+B)2l3$3qh8-G|KA`DU-mZf&MOb+#Th zCm;)bsZ9@?2Y?3nKOA9HJ99EUfiU+Ga|N=rZ*P8$7YPs~IE_1)twAU?@=>#s8zeh7 z9|eIx{~C{*zsG*b@M1@_ojo@WuR>#GZfRCmU7kP&-I@kMSYN8QI+{&Y1ls0CHiRny zqI$Vsi3;ys)Pko#?I+FUoPFdR?__=~|9utCeb#Je7MsEG%7kozKevR%89Eldb1+jS zzGOCszVysX=8&R)d%`?q;6EI-`${aTYpUMKFzdLt!zof# z%rILP`s|-!Hn{!itj{n0`c) zj1Cm3DuuO1yxeJhs?NP`cB5iC^o107+Ih3DnZWR(L@4#$cxO&O6K}yisk-(zpHK(h z!~_rPQ?>h>)!g_QZq#T@n34Z6SCA+z2@}>FUaeNN9D-t=R^5h}jiFY&H^h7n4`P`^&3n=D z`-hrPh?=Pb!^~Ha*l@U62VXshn+>U`CBw}|6rLGwPLNaZYKeZYUgeB1tE1vgBg})? zmE?>x$As&HXoeb7X_T(7`6#mzsYj#CB`Cv58ExWCU=-G4j9Ht)d1K5B3ggB?0&i1K zk2PzAKZ`@CL$}|q7LPTnnR;zh-;Ff~@ReTm{aDQWH^-UJ;Jo4Mab{b-T*sxTrsK^l z^m6NX^TVhQy^w6g6{}Qcwpjw*otkYfM#qMxh*YO<4#>xfIw>JYFxFl@H_@zsV8lf8 zkwUK&9Ghsi_s}2608ciUWHxj8mL4#Gbc*tIRAVQa4;RY+!z8m^gqz>b@W(=es^etL z9sL(W#v!nj*+PDQCZeI!S(#-;W(+q*Ya5x|w4yUjNH*zRU<;HXh>u_TM!YV7_hq;6z z8ggS5g-y7zE*$QnFpV1rbvV4@bknIg-E-z3AIOx|!~1SC!)Rd8Bd)#@MGeD<$G=^; zkV^jm8VUGUOz*FKPd5VGm?EoJ_51y`o~+g1sPtOD?%gY^^*y}JdCpqJUh`In{A{h) z$D$4U8~81GldBJP@EMB-%l=LwGXyhp{_NglBQ{FC8-Z2n$`koc_68+eb9!$>)*=M(wcKQVMf)al8PdeT;vxgM|A?Iksw-UK`E9-UxE#TOi$Cl87~w^hxa zNE3gN5>BIGK+;7w^aLWx)ta#BwZGbYIj^iNoHv~r%y*Vq;Z1nu6EiC^KgZ|E=bnB( zCbN9{aD`f{jDkLDuLUA2RitTM>mj^dC~lMB{%snCGWci_sqY|CbS6GK z-rz7jv&YUj?_?Yekz?3PpYvao1YSyravH3_9lkmX?LQJ z>f3mu@V+ZvJ-=3^#L;dGmWX?wI(2<5-y%V5FSQ-|Y^{nDi#H6gesrv)A?r4l@Z@5R zR}v%j*eq+;RrJUQEq0b*L57_s9hpFw{HioxgL zEI0>5GO7OpeI7`CD`*2>0+Frkz-9yoi z&ogjWSyy?R_mh39c{YL74?`2AJAOC8QGA}xd&=rz?(NvGPDxKz4ca})MhAQ1cgoU} z!4O2%)O*_QE9q+&>FDKjgPUZorMclj4>&htAfqJ!0PMrkj1pL3qL7mZHpO!a?l=1Bdk#Pr~ zFo^i|)du@yD>QANo7)}Pr{}zHM_zeKq*u2(ky&9+<{Z??hg9`6#^NU;rN2#~GVpm$ z)FWS z9bp#8l$~m3$wZ5<5x#tu>$yyo91y&M$fcYI5~!a762Uxdxq_IFmMe$_=uEUoGaL)C z7lGjQmiQK9=YuH98$mUg44h@GX6CGI73KVGD&D-I@@-Z!S;x`|i0Uzi$=xr&L2~yC zutPR8?VVw=;We=qE{PS9*QGZoE&)qLuSghLOlPM1eA`Nk%QtQGm29ajs~AeYMn^7M zx|zY!-yBmVk>Xeuqf?KoWVyg71w}D>9j2FJGiU@N?dSsdmx1MA1tR6&HoGee>2]=n;j[q+(f+3008|0)>>2]=n;n=g|1;q=n<<2;n=p(n,-100);j[q+(f+2608|0)>>2]=n;j[q+(f+3008|0)>>2]=n;n=g|2;q=n<<2;n=p(n,-100);j[q+(f+2608|0)>>2]=n;j[q+(f+3008|0)>>2]=n;n=g|3;q=n<<2;n=p(n,-100);j[q+(f+2608|0)>>2]=n;j[q+(f+3008|0)>>2]=n;g=g+4|0;if((g|0)!=100){continue}break}j[f+2600>>2]=0;j[f+2592>>2]=0;j[f+2596>>2]=0;a:{if(!j[a+76>>2]){break a}Ka(f+2592|0,c);b:{if(j[a+56>>2]){ob(f+2592|0);break b}Va(f+2592|0)}c=f+2592|0;if(h[f+2603|0]>-1){break a}c=j[f+2592>>2]}j[f+2584>>2]=0;j[f+2576>>2]=0;j[f+2580>>2]=0;D=W(c);E=D;c:{d:{e:{f:{if(!j[a+56>>2]){break f}q=W(c);if(q>>>0>=4294967280){break e}g:{h:{if(q>>>0>=11){g=q+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=q;o=f+1648|0;break h}h[f+1659|0]=q;o=f+1648|0;n=o;if(!q){break g}}V(n,c,q)}h[n+q|0]=0;E=ia(f+2576|0,f+1648|0);if(h[o+11|0]>-1){break f}T(j[f+1648>>2])}A=E;if((A|0)==-1){j[a+56>>2]=0;A=D}j[f+2572>>2]=-1;n=j[a+44>>2];if(n){G=j[n+4280>>2]}j[f+2568>>2]=0;j[f+2560>>2]=0;j[f+2564>>2]=0;j[f+2552>>2]=0;j[f+2544>>2]=0;j[f+2548>>2]=0;j[f+2536>>2]=0;j[f+2528>>2]=0;j[f+2532>>2]=0;if(G){i:{if(j[a+56>>2]){q=W(c);if(q>>>0>=4294967280){break e}j:{k:{if(q>>>0>=11){g=q+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=q;o=f+1648|0;break k}h[f+1659|0]=q;o=f+1648|0;n=o;if(!q){break j}}V(n,c,q)}h[n+q|0]=0;ia(f+2528|0,f+1648|0);if(h[o+11|0]<=-1){T(j[f+1648>>2])}Oc(f+2528|0,j[a+60>>2]);da(f+2544|0,f+2528|0);break i}Ka(f+2544|0,c);if((E|0)==-1){break i}Pc(f+2544|0,j[a+52>>2])}Nh(f+1648|0,f+2544|0,G);if(h[f+2571|0]<=-1){T(j[f+2560>>2])}j[f+2568>>2]=j[f+1656>>2];n=j[f+1652>>2];j[f+2560>>2]=j[f+1648>>2];j[f+2564>>2]=n}n=j[a+44>>2];x=0;l:{if(!n){break l}u=l[n+4192>>1];n=j[a+44>>2];x=0;if(!n){break l}C=l[n+4194>>1];n=j[a+44>>2];x=0;if(!n){break l}B=l[n+4196>>1];n=j[a+44>>2];x=0;if(!n){break l}x=l[n+4464>>1]}j[f+2520>>2]=0;j[f+2512>>2]=0;j[f+2516>>2]=0;j[f+2504>>2]=0;j[f+2496>>2]=0;j[f+2500>>2]=0;m:{n:{o:{if(j[a+56>>2]){q=W(c);if(q>>>0>=4294967280){break e}p:{q:{if(q>>>0>=11){g=q+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=q;o=f+1648|0;break q}h[f+1659|0]=q;o=f+1648|0;n=o;if(!q){break p}}V(n,c,q)}h[n+q|0]=0;ia(f+2512|0,f+1648|0);if(h[o+11|0]<=-1){T(j[f+1648>>2])}ia(f+2496|0,f+2560|0)}F=f+2488|0;j[F>>2]=0;j[f+2480>>2]=0;j[f+2484>>2]=0;j[f+2472>>2]=0;j[f+2464>>2]=0;j[f+2468>>2]=0;g=j[d>>2];if((g|0)!=j[d+4>>2]){L=99;I=(E|0)==-1;H=99;while(1){O=N<<2;t=Qe(j[O+g>>2],f+2572|0,0);r:{if(!t){break r}while(1){s:{t:{if(!I){n=A-k[t+1|0]|0;g=n>>31;if((g^g+n)>>>0>4){break t}}u:{if(e|G){break u}n=k[t+16|0];if(!(n&8)|n&4){break u}if(j[a+60>>2]!=49){break t}}r=j[t+4>>2];if(!r|!j[a+44>>2]){break s}y=l[t+2>>1];q=y<<16>>16;w=(q<<1)+r|0;g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]>>0;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<=u>>>0?(g|0)!=(w|0):0){break t}g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]<65511;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<65512?(g|0)!=(w|0):0){break t}g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]>>0;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<=C>>>0?(g|0)!=(w|0):0){break t}g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]>>0;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<=B>>>0?(g|0)!=(w|0):0){break t}if(y){while(1){o=q>>>1|0;n=(o<<1)+r|0;g=l[n>>1]>>0;r=g?n+2|0:r;q=g?(o^-1)+q|0:o;if(q){continue}break}}if((r|0)==(w|0)|l[r>>1]>x>>>0){break s}}t=Qe(j[j[d>>2]+O>>2],f+2572|0,t);if(t){continue}break r}v:{if(j[a+56>>2]){q=t+17|0;o=W(q);if(o>>>0>=4294967280){break e}w:{x:{if(o>>>0>=11){g=o+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=o;break x}h[f+1659|0]=o;n=f+1648|0;if(!o){break w}}V(n,q,o)}h[n+o|0]=0;ia(f+2464|0,f+1648|0);if(h[f+1659|0]<=-1){T(j[f+1648>>2])}n=Xc(a,f+2512|0,f+2464|0);if(!I){Ua(f+2464|0,j[a+60>>2])}n=bc(3,f+2512|0,f+2464|0,1)+n|0;break v}Ka(f+2480|0,t+17|0);g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0;y:{if(j[a+76>>2]){o=W(c);n=W(g);if((o|0)<=(n|0)){q=1;if(k[(g+o|0)-1|0]==k[(g+n|0)-1|0]){break y}}q=0;break y}q=0;r=j[a+52>>2];if(!r){break y}o=k[c|0];n=k[g|0];if(k[(r+p(n,3)|0)+1|0]!=o<<24>>24?(o|0)!=(n|0):0){break y}n=c;while(1){z:{q=n+1|0;r=k[n+1|0];if(!r){break z}o=k[g+1|0];g=g+1|0;n=q;if((o|0)==(r|0)){continue}}break}q=q-c|0}if(!I){Pa(f+2480|0,j[a+52>>2])}o=W(c);if(o>>>0>=4294967280){break e}A:{B:{if(o>>>0>=11){g=o+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=o;break B}h[f+1659|0]=o;n=f+1648|0;if(!o){break A}}V(n,c,o)}h[n+o|0]=0;g=k[f+2491|0];s=g<<24>>24<0?j[f+2484>>2]:g;n=0;C:{if(!s){break C}n=0;g=k[f+1659|0];o=g<<24>>24;v=(o|0)<0?j[f+1652>>2]:g;D:{if((v|0)<1){break D}g=1;n=(Ia(f+2480|0,(o|0)<0?j[f+1648>>2]:f+1648|0,1)|0)!=-1;if((v|0)!=1){while(1){n=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,1)|0)!=-1)+n|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}if((v|0)<2|n>>>0<2){break D}r=v-1|0;g=0;o=0;while(1){o=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,2)|0)!=-1)+o|0;g=g+1|0;if((r|0)!=(g|0)){continue}break}n=n+o|0;if((v|0)<3|o>>>0<2){break D}r=v-2|0;g=0;o=0;while(1){o=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,3)|0)!=-1)+o|0;g=g+1|0;if((r|0)!=(g|0)){continue}break}n=n+o|0}g=n;n=s-v|0;n=g+((n|0)>2?2-n|0:0)|0}if(h[f+1659|0]<=-1){T(j[f+1648>>2])}n=n+q|0}E:{if(h[f+2491|0]<=-1){h[j[f+2480>>2]]=0;j[f+2484>>2]=0;break E}h[f+2491|0]=0;h[f+2480|0]=0}q=k[t+16|0];F:{if(!(q&4)){break F}G:{H:{I:{J:{K:{g=0;L:{if(!(q&1)){break L}o=(k[t|0]+t|0)+18|0;g=o;if(!(q&2)){break L}g=k[o|0]|k[o+1|0]<<8|(k[o+2|0]<<16|k[o+3|0]<<24)}o=W(g);if(o>>>0<4294967280){M:{N:{if(o>>>0>=11){q=o+16&-16;s=U(q);j[f+1656>>2]=q|-2147483648;j[f+1648>>2]=s;j[f+1652>>2]=o;break N}h[f+1659|0]=o;s=f+1648|0;if(!o){break M}}V(s,g,o)}h[o+s|0]=0;h[f+859|0]=3;i[f+848>>1]=k[121393]|k[121394]<<8;h[f+850|0]=k[121395];h[f+851|0]=0;g=ec(f+2480|0,f+1648|0,f+848|0);if(h[f+859|0]<=-1){T(j[f+848>>2])}if(h[f+1659|0]<=-1){T(j[f+1648>>2])}if(!g){break F}if(j[a+56>>2]){ia(f+2464|0,f+2480|0);g=Xc(a,f+2512|0,f+2464|0);if(!I){Ua(f+2464|0,j[a+60>>2])}g=bc(3,f+2512|0,f+2464|0,1)+g|0;break G}g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0;O:{if(j[a+76>>2]){o=W(c);q=W(g);if((o|0)<=(q|0)){y=1;if(k[(g+o|0)-1|0]==k[(g+q|0)-1|0]){break O}}y=0;break O}y=0;r=j[a+52>>2];if(!r){break O}o=k[c|0];q=k[g|0];if(k[(r+p(q,3)|0)+1|0]!=o<<24>>24?(o|0)!=(q|0):0){break O}o=c;while(1){P:{q=o+1|0;s=k[o+1|0];if(!s){break P}r=k[g+1|0];g=g+1|0;o=q;if((r|0)==(s|0)){continue}}break}y=q-c|0}if(!I){Pa(f+2480|0,j[a+52>>2])}q=W(c);if(q>>>0>=4294967280){break e}Q:{R:{if(q>>>0>=11){g=q+16&-16;o=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=o;j[f+1652>>2]=q;break R}h[f+1659|0]=q;o=f+1648|0;if(!q){break Q}}V(o,c,q)}h[o+q|0]=0;q=k[f+2491|0];r=q<<24>>24<0?j[f+2484>>2]:q;g=0;if(!r){break H}o=0;g=k[f+1659|0];q=g<<24>>24;v=(q|0)<0?j[f+1652>>2]:g;if((v|0)<1){break I}g=1;o=(Ia(f+2480|0,(q|0)<0?j[f+1648>>2]:f+1648|0,1)|0)!=-1;if((v|0)!=1){break K}break J}break e}while(1){o=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,1)|0)!=-1)+o|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}if((v|0)<2|o>>>0<2){break I}q=v-1|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,2)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0;if((v|0)<3|s>>>0<2){break I}q=v-2|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,3)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0}g=r-v|0;g=((g|0)>2?2-g|0:0)+o|0}if(h[f+1659|0]<=-1){T(j[f+1648>>2])}g=g+y|0}n=(g|0)>(n|0)?g:n}o=-2e4;S:{if(!G|(n|0)<3){break S}g=A-k[t+1|0]|0;q=g>>31;if((q^g+q)>>>0>3){break S}T:{if(j[a+56>>2]){q=t+17|0;r=W(q);if(r>>>0>=4294967280){break e}U:{V:{if(r>>>0>=11){g=r+16&-16;o=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=o;j[f+1652>>2]=r;break V}h[f+1659|0]=r;o=f+1648|0;if(!r){break U}}V(o,q,r)}h[o+r|0]=0;ia(f+2528|0,f+1648|0);if(h[f+1659|0]<=-1){T(j[f+1648>>2])}Oc(f+2528|0,j[a+60>>2]);da(f+2544|0,f+2528|0);break T}Ka(f+2544|0,t+17|0);Pc(f+2544|0,j[a+52>>2])}Nh(f+1648|0,f+2544|0,G);if(h[f+2491|0]<=-1){T(j[f+2480>>2])}j[F>>2]=j[f+1656>>2];g=j[f+1652>>2];j[f+2480>>2]=j[f+1648>>2];j[f+2484>>2]=g;if(j[a+56>>2]){ia(f+2464|0,f+2480|0);o=bc(3,f+2496|0,f+2464|0,1)<<1;break S}g=k[f+2491|0];r=g<<24>>24<0?j[f+2484>>2]:g;g=0;W:{if(!r){break W}o=0;g=k[f+2571|0];q=g<<24>>24;v=(q|0)<0?j[f+2564>>2]:g;X:{if((v|0)<1){break X}g=1;o=(Ia(f+2480|0,(q|0)<0?j[f+2560>>2]:f+2560|0,1)|0)!=-1;if((v|0)!=1){while(1){o=((Ia(f+2480|0,(h[f+2571|0]<0?j[f+2560>>2]:f+2560|0)+g|0,1)|0)!=-1)+o|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}if((v|0)<2|o>>>0<2){break X}q=v-1|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+2571|0]<0?j[f+2560>>2]:f+2560|0)+g|0,2)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0;if((v|0)<3|s>>>0<2){break X}q=v-2|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+2571|0]<0?j[f+2560>>2]:f+2560|0)+g|0,3)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0}g=r-v|0;g=((g|0)>2?2-g|0:0)+o|0}o=g<<1}q=L<<2;g=q+(f+3008|0)|0;if(j[g>>2]<(n|0)){j[g>>2]=n;j[q+(f+3808|0)>>2]=t;g=0;while(1){r=j[(f+3008|0)+(g<<2)>>2];J=(r|0)<(n|0);w=g|1;q=j[(f+3008|0)+(w<<2)>>2];n=J?r:n;K=(q|0)<(n|0);v=g|2;s=j[(f+3008|0)+(v<<2)>>2];n=K?q:n;y=(s|0)<(n|0);r=g|3;q=j[(f+3008|0)+(r<<2)>>2];n=y?s:n;s=(q|0)<(n|0);n=s?q:n;L=s?r:y?v:K?w:J?g:L;g=g+4|0;if((g|0)!=100){continue}break}}g=H<<2;n=g+(f+2608|0)|0;if(j[n>>2]<(o|0)){j[n>>2]=o;j[g+(f+3408|0)>>2]=t+17;g=0;while(1){n=j[(f+2608|0)+(g<<2)>>2];J=(n|0)<(o|0);v=g|1;q=j[(f+2608|0)+(v<<2)>>2];n=J?n:o;K=(q|0)<(n|0);s=g|2;o=j[(f+2608|0)+(s<<2)>>2];n=K?q:n;y=(o|0)<(n|0);r=g|3;q=j[(f+2608|0)+(r<<2)>>2];n=y?o:n;w=(q|0)<(n|0);o=w?q:n;H=w?r:y?s:K?v:J?g:H;g=g+4|0;if((g|0)!=100){continue}break}}t=Qe(j[j[d>>2]+O>>2],f+2572|0,t);if(t){continue}break}}N=N+1|0;g=j[d>>2];if(N>>>0>2]-g>>2>>>0){continue}break}}j[f+2456>>2]=0;j[f+2448>>2]=0;j[f+2452>>2]=0;t=(E|0)==-1;u=1;C=0;Y:{Z:{while(1){_:{if(j[a+56>>2]){Oe(f+2448|0,j[f+2512>>2],j[f+2516>>2]);if((u|0)<(A|0)){e=j[f+2448>>2];g=u;while(1){d=e+(g<<1)|0;h[d|0]=42;h[d+1|0]=0;g=g+4|0;if((A|0)>(g|0)){continue}break}}if(!t){Ua(f+2448|0,j[a+60>>2])}g=bc(A,f+2512|0,f+2448|0,2);break _}$:{aa:{e=W(c);if(e>>>0<4294967280){ba:{ca:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+1656>>2]=d|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=e;break ca}h[f+1659|0]=e;n=f+1648|0;if(!e){break ba}}V(n,c,e)}h[e+n|0]=0;g=u;if((A|0)>(g|0)){break aa}break $}break e}while(1){h[(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0]=42;g=g+4|0;if((A|0)>(g|0)){continue}break}}if(!t){Pa(f+1648|0,j[a+52>>2])}e=W(c);if(e>>>0>=4294967280){break Z}da:{ea:{if(e>>>0>=11){d=e+16&-16;o=U(d);j[f+856>>2]=d|-2147483648;j[f+848>>2]=o;j[f+852>>2]=e;break ea}h[f+859|0]=e;o=f+848|0;if(!e){break da}}V(o,c,e)}g=0;h[e+o|0]=0;d=k[f+1659|0];e=d<<24>>24<0?j[f+1652>>2]:d;if(e){r=0;o=1;d=k[f+859|0];q=d<<24>>24<0?j[f+852>>2]:d;s=q;fa:{if((A|0)<1){break fa}while(1){g=0;n=0;if((o|0)>(q|0)){break fa}while(1){n=((Ia(f+1648|0,(h[f+859|0]<0?j[f+848>>2]:f+848|0)+g|0,o)|0)!=-1)+n|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}r=n+r|0;if(n>>>0<2){break fa}s=s-1|0;d=(o|0)==(A|0);o=o+1|0;if(!d){continue}break}}d=e-q|0;e=d>>31;e=e^d+e;d=e-2|0;g=r-(d>>>0>e>>>0?0:d)|0}if(h[f+859|0]<=-1){T(j[f+848>>2])}if(h[f+1659|0]>-1){break _}T(j[f+1648>>2])}C=g+C|0;u=u+1|0;if((u|0)!=4){continue}break}o=0;ya(f+1648|0,0,800);ya(f+848|0,0,800);while(1){e=(f+48|0)+(o<<2)|0;d=p(o,-100);j[e>>2]=d;j[e+16>>2]=d-400;j[e+12>>2]=d-300;j[e+8>>2]=d-200;j[e+4>>2]=d-100;o=o+5|0;if((o|0)!=200){continue}break}F=Pd(100,12);if(!F){break n}q=(C|0)/3|0;u=199;H=0;while(1){o=j[(f+3808|0)+(H<<2)>>2];ga:{if(!o){break ga}ha:{if(h[f+2491|0]<=-1){h[j[f+2480>>2]]=0;j[f+2484>>2]=0;break ha}h[f+2491|0]=0;h[f+2480|0]=0}d=0;n=k[o+16|0];g=0;ia:{if(!(n&4)){break ia}e=0;ja:{if(!(n&1)){break ja}g=(o+k[o|0]|0)+18|0;e=g;if(!(n&2)){break ja}e=k[g|0]|k[g+1|0]<<8|(k[g+2|0]<<16|k[g+3|0]<<24)}g=W(e);if(g>>>0>=4294967280){break d}ka:{la:{if(g>>>0>=11){n=g+16&-16;s=U(n);j[f+40>>2]=n|-2147483648;j[f+32>>2]=s;j[f+36>>2]=g;break la}h[f+43|0]=g;s=f+32|0;if(!g){break ka}}V(s,e,g)}h[g+s|0]=0;h[f+27|0]=3;i[f+16>>1]=k[121393]|k[121394]<<8;h[f+18|0]=k[121395];h[f+19|0]=0;e=ec(f+2480|0,f+32|0,f+16|0);if(h[f+27|0]<=-1){T(j[f+16>>2])}if(h[f+43|0]<=-1){T(j[f+32>>2])}g=0;if(!e){break ia}g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0}B=vk(j[a+44>>2],F,o+17|0,k[o|0],j[o+4>>2],l[o+2>>1],c,D,g);if((B|0)<1){break ga}while(1){e=q;ma:{if(j[a+56>>2]){o=j[F+p(d,12)>>2];r=W(o);if(r>>>0>=4294967280){break d}na:{oa:{if(r>>>0>=11){g=r+16&-16;n=U(g);j[f+40>>2]=g|-2147483648;j[f+32>>2]=n;j[f+36>>2]=r;break oa}h[f+43|0]=r;n=f+32|0;if(!r){break na}}V(n,o,r)}h[n+r|0]=0;ia(f+2464|0,f+32|0);if(h[f+43|0]<=-1){T(j[f+32>>2])}n=Xc(a,f+2512|0,f+2464|0);if((E|0)!=-1){Ua(f+2464|0,j[a+60>>2])}n=bc(A,f+2512|0,f+2464|0,2)+n|0;break ma}Ka(f+2480|0,j[F+p(d,12)>>2]);g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0;pa:{if(j[a+76>>2]){o=W(c);n=W(g);if((o|0)<=(n|0)){C=1;if(k[(g+o|0)-1|0]==k[(g+n|0)-1|0]){break pa}}C=0;break pa}C=0;r=j[a+52>>2];if(!r){break pa}o=k[c|0];n=k[g|0];if(k[(r+p(n,3)|0)+1|0]!=o<<24>>24?(o|0)!=(n|0):0){break pa}n=c;while(1){qa:{o=n+1|0;t=k[n+1|0];if(!t){break qa}r=k[g+1|0];g=g+1|0;n=o;if((r|0)==(t|0)){continue}}break}C=o-c|0}if((E|0)!=-1){Pa(f+2480|0,j[a+52>>2])}r=W(c);if(r>>>0>=4294967280){break Y}ra:{sa:{if(r>>>0>=11){g=r+16&-16;n=U(g);j[f+40>>2]=g|-2147483648;j[f+32>>2]=n;j[f+36>>2]=r;break sa}h[f+43|0]=r;n=f+32|0;if(!r){break ra}}V(n,c,r)}o=0;h[n+r|0]=0;n=k[f+2491|0];t=n<<24>>24<0?j[f+2484>>2]:n;if(t){r=0;o=1;n=k[f+43|0];x=n<<24>>24<0?j[f+36>>2]:n;s=x;ta:{if((A|0)<1){break ta}while(1){g=0;n=0;if((o|0)>(x|0)){break ta}while(1){n=((Ia(f+2480|0,(h[f+43|0]<0?j[f+32>>2]:f+32|0)+g|0,o)|0)!=-1)+n|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}r=n+r|0;if(n>>>0<2){break ta}s=s-1|0;n=(o|0)==(A|0);o=o+1|0;if(!n){continue}break}}n=t-x|0;g=n>>31;g=g^g+n;n=g-2|0;o=r-(g>>>0>>0?0:n)|0}if(h[f+43|0]<=-1){T(j[f+32>>2])}n=o+C|0}ua:{if((e|0)<=(n|0)){t=u<<2;r=t+(f+48|0)|0;if(j[r>>2]<(n|0)){o=t+(f+1648|0)|0;e=j[o>>2];va:{if(!e){break va}T(e);g=t+(f+848|0)|0;e=j[g>>2];if(!e){break va}T(e);j[g>>2]=0}j[r>>2]=n;e=F+p(d,12)|0;j[o>>2]=j[e>>2];j[t+(f+848|0)>>2]=j[e+8>>2];g=0;while(1){e=j[(f+48|0)+(g<<2)>>2];w=(e|0)<(n|0);x=g|1;o=j[(f+48|0)+(x<<2)>>2];e=w?e:n;v=(o|0)<(e|0);t=g|2;r=j[(f+48|0)+(t<<2)>>2];e=v?o:e;s=(r|0)<(e|0);o=g|3;n=j[(f+48|0)+(o<<2)>>2];e=s?r:e;r=(n|0)<(e|0);n=r?n:e;u=r?o:s?t:v?x:w?g:u;g=g+4|0;if((g|0)!=200){continue}break}break ua}e=F+p(d,12)|0;T(j[e>>2]);e=j[e+8>>2];if(!e){break ua}T(e);break ua}e=F+p(d,12)|0;T(j[e>>2]);e=j[e+8>>2];if(!e){break ua}T(e)}d=d+1|0;if((B|0)!=(d|0)){continue}break}}H=H+1|0;if((H|0)!=100){continue}break}break o}X();z()}break d}T(F);d=1;while(1){D=j[(f+48|0)+(d<<2)>>2];g=d;while(1){e=g-1|0;x=e<<2;q=x+(f+48|0)|0;u=j[q>>2];if((u|0)<(D|0)){n=x+(f+1648|0)|0;r=j[n>>2];j[q>>2]=D;t=g<<2;o=t+(f+1648|0)|0;j[n>>2]=j[o>>2];n=x+(f+848|0)|0;q=j[n>>2];s=n;n=t+(f+848|0)|0;j[s>>2]=j[n>>2];j[t+(f+48|0)>>2]=u;j[o>>2]=r;j[n>>2]=q;n=(g|0)>1;g=e;if(n){continue}}break}d=d+1|0;if((d|0)!=200){continue}break}if(G){t=1;while(1){r=j[(f+2608|0)+(t<<2)>>2];g=t;while(1){d=g-1|0;e=d<<2;n=e+(f+2608|0)|0;o=j[n>>2];if((o|0)<(r|0)){e=e+(f+3408|0)|0;q=j[e>>2];j[n>>2]=r;s=e;n=g<<2;e=n+(f+3408|0)|0;j[s>>2]=j[e>>2];j[n+(f+2608|0)>>2]=o;j[e>>2]=q;e=(g|0)>1;g=d;if(e){continue}}break}t=t+1|0;if((t|0)!=100){continue}break}}j[f+12>>2]=0;P=1;d=j[a+44>>2];wa:{if(!d){break wa}d=j[d+4292>>2];if((d|0)<0){break wa}P=(10- +(d|0))/5}j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;D=G?0:A;v=(E|0)==-1;r=0;xa:{ya:{while(1){za:{x=r<<2;e=j[x+(f+1648|0)>>2];Aa:{if(!e){break Aa}j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;Ba:{if(j[a+56>>2]){n=W(e);if(n>>>0>=4294967280){break ya}Ca:{Da:{if(n>>>0>=11){d=n+16&-16;o=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=o;j[f+4>>2]=n;break Da}h[f+11|0]=n;o=f;if(!n){break Ca}}V(o,e,n)}h[n+o|0]=0;t=ia(f+32|0,f);if(h[f+11|0]<=-1){T(j[f>>2])}Ua(f+32|0,j[a+60>>2]);da(f+16|0,f+32|0);break Ba}Ka(f+16|0,e);if(!v){Pa(f+16|0,j[a+52>>2])}t=W(e)}s=0;Hh(a,c,h[f+27|0]<0?j[f+16>>2]:f+16|0,f,f+4220|0,f+4216|0);e=j[f+4216>>2];if(e){g=j[f>>2];Ea:{if(!g){break Ea}n=j[f+4220>>2];if(!n){break Ea}d=n+1|0;while(1){Fa:{Ga:{switch(k[e+(p(d,g)+n|0)|0]){case 2:n=n-1|0;g=g-1|0;s=s+1|0;break Fa;case 0:g=g-1|0;break Fa;default:break Ga}}n=n-1|0}if(!g){break Ea}if(n){continue}break}}T(e)}if(!((t|0)!=(A|0)|(s|0)!=(A|0))){d=(f+48|0)+(r<<2)|0;j[d>>2]=j[d>>2]+2e3;if(h[f+27|0]>-1){break za}T(j[f+16>>2]);break za}Ha:{if(j[a+56>>2]){ia(f+32|0,f+16|0);d=bc(2,f+2512|0,f+32|0,10);if(!v){Oe(f+2464|0,j[f+2512>>2],j[f+2516>>2]);Ua(f+2464|0,j[a+60>>2]);e=bc(2,f+32|0,f+2464|0,10)+d|0;break Ha}e=bc(2,f+32|0,f+2512|0,10)+d|0;break Ha}e=W(c);if(e>>>0>=4294967280){break ya}Ia:{Ja:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=e;break Ja}h[f+11|0]=e;n=f;if(!e){break Ia}}V(n,c,e)}y=0;h[e+n|0]=0;d=k[f+27|0];u=d<<24>>24<0?j[f+20>>2]:d;if(u){g=0;d=k[f+11|0];o=d<<24>>24;w=(o|0)<0?j[f+4>>2]:d;Ka:{if((w|0)<1){o=0;break Ka}B=w-1|0;n=0;while(1){d=n+1|0;La:{if((Ia(f+16|0,(o<<24>>24<0?j[f>>2]:f)+g|0,1)|0)!=-1){break La}d=(g?(g|0)==(B|0)?-2:-1:-2)+n|0}n=d;g=g+1|0;if((w|0)!=(g|0)){o=k[f+11|0];continue}break}o=0;if((w|0)<2){g=n;break Ka}e=w-2|0;q=0;while(1){d=q+1|0;Ma:{if((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+o|0,2)|0)!=-1){break Ma}d=(o?(e|0)==(o|0)?-2:-1:-2)+q|0}q=d;o=o+1|0;if((B|0)!=(o|0)){continue}break}g=n;o=q}d=u-w|0;e=d>>31;e=e^d+e;d=e-2|0;y=(g+o|0)-(d>>>0>e>>>0?0:d)|0}if(h[f+11|0]<=-1){T(j[f>>2])}Na:{Oa:{Pa:{if(!v){Ka(f+2480|0,c);Pa(f+2480|0,j[a+52>>2]);d=k[f+2491|0];u=d<<24>>24<0?j[f+2484>>2]:d;d=0;if(!u){break Na}g=0;d=k[f+27|0];o=d<<24>>24;w=(o|0)<0?j[f+20>>2]:d;if((w|0)<1){o=0;break Oa}B=w-1|0;n=0;while(1){d=n+1|0;Qa:{if((Ia(f+2480|0,(o<<24>>24<0?j[f+16>>2]:f+16|0)+g|0,1)|0)!=-1){break Qa}d=(g?(g|0)==(B|0)?-2:-1:-2)+n|0}n=d;g=g+1|0;if((w|0)==(g|0)){break Pa}o=k[f+27|0];continue}}e=W(c);if(e>>>0>=4294967280){break ya}Ra:{Sa:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=e;break Sa}h[f+11|0]=e;n=f;if(!e){break Ra}}V(n,c,e)}o=0;h[e+n|0]=0;e=k[f+11|0];d=e<<24>>24;u=(d|0)<0?j[f+4>>2]:e;if(u){g=0;d=k[f+27|0];o=d<<24>>24;w=(o|0)<0?j[f+20>>2]:d;Ta:{if((w|0)<1){o=0;break Ta}B=w-1|0;n=0;while(1){d=n+1|0;Ua:{if((Ia(f,(o<<24>>24<0?j[f+16>>2]:f+16|0)+g|0,1)|0)!=-1){break Ua}d=(g?(g|0)==(B|0)?-2:-1:-2)+n|0}n=d;g=g+1|0;if((w|0)!=(g|0)){o=k[f+27|0];continue}break}o=0;if((w|0)<2){g=n;break Ta}e=w-2|0;q=0;while(1){d=q+1|0;Va:{if((Ia(f,(h[f+27|0]<0?j[f+16>>2]:f+16|0)+o|0,2)|0)!=-1){break Va}d=(o?(e|0)==(o|0)?-2:-1:-2)+q|0}q=d;o=o+1|0;if((B|0)!=(o|0)){continue}break}g=n;o=q}d=u-w|0;e=d>>31;e=e^d+e;d=e-2|0;o=(g+o|0)-(d>>>0>e>>>0?0:d)|0;d=k[f+11|0]}if(d<<24>>24<=-1){T(j[f>>2])}e=o+y|0;break Ha}o=0;if((w|0)<2){g=n;break Oa}e=w-2|0;q=0;while(1){d=q+1|0;Wa:{if((Ia(f+2480|0,(h[f+27|0]<0?j[f+16>>2]:f+16|0)+o|0,2)|0)!=-1){break Wa}d=(o?(e|0)==(o|0)?-2:-1:-2)+q|0}q=d;o=o+1|0;if((B|0)!=(o|0)){continue}break}g=n;o=q}d=u-w|0;e=d>>31;e=e^d+e;d=e-2|0;d=(g+o|0)-(d>>>0>e>>>0?0:d)|0}e=d+y|0}Xa:{if(j[a+56>>2]){y=bc(4,f+2512|0,f+32|0,2);n=Xc(a,f+2512|0,f+32|0);break Xa}g=W(c);if(g>>>0>=4294967280){break ya}Ya:{Za:{if(g>>>0>=11){d=g+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=g;break Za}h[f+11|0]=g;n=f;if(!g){break Ya}}V(n,c,g)}y=0;h[g+n|0]=0;d=k[f+27|0];q=d<<24>>24<0?j[f+20>>2]:d;if(q){n=0;d=k[f+11|0];o=d<<24>>24;u=(o|0)<0?j[f+4>>2]:d;_a:{if((u|0)<1){break _a}g=1;n=(Ia(f+16|0,(o|0)<0?j[f>>2]:f,1)|0)!=-1;if((u|0)!=1){while(1){n=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,1)|0)!=-1)+n|0;g=g+1|0;if((u|0)!=(g|0)){continue}break}}if((u|0)<2|n>>>0<2){break _a}d=u-1|0;g=0;o=0;while(1){o=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,2)|0)!=-1)+o|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}n=n+o|0;if((u|0)<3|o>>>0<2){break _a}d=u-2|0;g=0;o=0;while(1){o=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,3)|0)!=-1)+o|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}n=n+o|0;if((u|0)<4|o>>>0<2){break _a}d=u-3|0;g=0;o=0;while(1){o=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,4)|0)!=-1)+o|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}n=n+o|0}d=q-u|0;g=d>>31;q=n;n=g^d+g;d=n-2|0;y=q-(d>>>0>n>>>0?0:d)|0}if(h[f+11|0]<=-1){T(j[f>>2])}g=h[f+27|0]<0?j[f+16>>2]:f+16|0;if(j[a+76>>2]){q=W(c);d=W(g);if((q|0)<=(d|0)){n=1;if(k[(g+q|0)-1|0]==k[(d+g|0)-1|0]){break Xa}}n=0;break Xa}n=0;o=j[a+52>>2];if(!o){break Xa}q=k[c|0];d=k[g|0];if(k[(o+p(d,3)|0)+1|0]!=q<<24>>24?(q|0)!=(d|0):0){break Xa}n=c;while(1){$a:{d=n+1|0;o=k[n+1|0];if(!o){break $a}q=k[g+1|0];g=g+1|0;n=d;if((o|0)==(q|0)){continue}}break}n=d-c|0}d=A-t|0;g=d>>31;g=(s<<1)-(g^d+g)|0;q=x+(f+48|0)|0;if(v){d=0}else{d=(Pp(a,c,h[f+27|0]<0?j[f+16>>2]:f+16|0,f+12|0)|0)!=0}j[q>>2]=((d+(((e+g|0)+y|0)+n|0)|0)+(j[f+12>>2]?10:0)|0)+(+(e|0)-1){break Aa}T(j[f+16>>2])}r=r+1|0;if((r|0)!=200){continue}}break}d=1;while(1){D=j[(f+48|0)+(d<<2)>>2];g=d;while(1){e=g-1|0;x=e<<2;q=x+(f+48|0)|0;u=j[q>>2];if((u|0)<(D|0)){n=x+(f+1648|0)|0;r=j[n>>2];j[q>>2]=D;t=g<<2;o=t+(f+1648|0)|0;j[n>>2]=j[o>>2];n=x+(f+848|0)|0;q=j[n>>2];s=n;n=t+(f+848|0)|0;j[s>>2]=j[n>>2];j[t+(f+48|0)>>2]=u;j[o>>2]=r;j[n>>2]=q;n=(g|0)>1;g=e;if(n){continue}}break}d=d+1|0;if((d|0)!=200){continue}break}if(G){u=(E|0)==-1;o=0;while(1){r=o<<2;e=j[r+(f+3408|0)>>2];ab:{if(!e){break ab}j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;bb:{if(j[a+56>>2]){n=W(e);if(n>>>0>=4294967280){break ya}cb:{db:{if(n>>>0>=11){d=n+16&-16;s=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=s;j[f+4>>2]=n;break db}h[f+11|0]=n;s=f;if(!n){break cb}}V(s,e,n)}h[n+s|0]=0;C=ia(f+32|0,f);if(h[f+11|0]<=-1){T(j[f>>2])}Ua(f+32|0,j[a+60>>2]);da(f+16|0,f+32|0);break bb}Ka(f+16|0,e);if(!u){Pa(f+16|0,j[a+52>>2])}C=W(e)}eb:{if(j[a+56>>2]){s=Xc(a,f+2512|0,f+32|0);break eb}g=h[f+27|0]<0?j[f+16>>2]:f+16|0;if(j[a+76>>2]){e=W(c);d=W(g);if((e|0)<=(d|0)){s=1;if(k[(e+g|0)-1|0]==k[(d+g|0)-1|0]){break eb}}s=0;break eb}s=0;n=j[a+52>>2];if(!n){break eb}e=k[c|0];d=k[g|0];if(k[(n+p(d,3)|0)+1|0]!=e<<24>>24?(e|0)!=(d|0):0){break eb}n=c;while(1){fb:{d=n+1|0;q=k[n+1|0];if(!q){break fb}e=k[g+1|0];g=g+1|0;n=d;if((e|0)==(q|0)){continue}}break}s=d-c|0}e=W(c);if(e>>>0>=4294967280){break ya}gb:{hb:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=e;break hb}h[f+11|0]=e;n=f;if(!e){break gb}}V(n,c,e)}h[e+n|0]=0;e=A-C|0;n=e>>31;d=r+(f+2608|0)|0;Q=d,R=((s-(n^e+n)|0)+(Op(a,f,f+16|0)<<1)|0)+j[d>>2]|0,j[Q>>2]=R;if(h[f+11|0]<=-1){T(j[f>>2])}if(h[f+27|0]>-1){break ab}T(j[f+16>>2])}t=1;o=o+1|0;if((o|0)!=100){continue}break}while(1){o=j[(f+2608|0)+(t<<2)>>2];g=t;while(1){c=g-1|0;d=c<<2;e=d+(f+2608|0)|0;q=j[e>>2];if((q|0)<(o|0)){d=d+(f+3408|0)|0;n=j[d>>2];j[e>>2]=o;r=d;e=g<<2;d=e+(f+3408|0)|0;j[r>>2]=j[d>>2];j[e+(f+2608|0)>>2]=q;j[d>>2]=n;d=(g|0)>1;g=c;if(d){continue}}break}t=t+1|0;if((t|0)!=100){continue}break}}q=(j[b+4>>2]-j[b>>2]|0)/12|0;n=0;B=0;while(1){t=n<<2;r=t+(f+1648|0)|0;d=j[r>>2];ib:{if(!d){break ib}jb:{u=j[b+4>>2];g=j[b>>2];c=(u-g|0)/12|0;if(c>>>0>=q+j[a+68>>2]>>>0|c>>>0>=m[a+48>>2]){break jb}e=j[t+(f+48|0)>>2];kb:{if(B){A=1;if((e|0)<=1e3){break jb}break kb}A=1;if((e|0)>1e3){break kb}if((e|0)>-101){A=0;break kb}lb:{if(c>>>0>q>>>0){break lb}c=j[a+44>>2];if(!c){break kb}if(j[c+4296>>2]){break lb}g=j[b>>2];u=j[b+4>>2];break kb}T(d);B=1;c=j[t+(f+848|0)>>2];if(!c){break ib}T(c);break ib}mb:{nb:{if((g|0)!=(u|0)){e=t+(f+848|0)|0;u=0;while(1){c=j[e>>2];ob:{if(!c){s=j[r>>2];d=s;c=p(u,12)+g|0;if(h[c+11|0]<=-1){c=j[c>>2]}if(!ca(d,c)){break ob}break nb}d=p(u,12)+g|0;if(h[d+11|0]<=-1){d=j[d>>2]}if(ca(c,d)){break nb}s=j[r>>2]}d=W(s);if(d>>>0>=4294967280){break c}pb:{qb:{if(d>>>0>=11){c=d+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=d;break qb}h[f+27|0]=d;o=f+16|0;if(!d){break pb}}V(o,s,d)}h[d+o|0]=0;c=cc(a,f+16|0,0,0,0);if(h[f+27|0]<=-1){T(j[f+16>>2])}if(!c){break nb}u=u+1|0;g=j[b>>2];if(u>>>0<(j[b+4>>2]-g|0)/12>>>0){continue}break}}d=j[t+(f+848|0)>>2];if(d){e=W(d);if(e>>>0>=4294967280){break c}rb:{sb:{if(e>>>0>=11){c=e+16&-16;s=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=s;j[f+20>>2]=e;break sb}h[f+27|0]=e;s=f+16|0;if(!e){break rb}}V(s,d,e)}h[e+s|0]=0;d=j[b+4>>2];if(d>>>0>2]){c=j[f+20>>2];j[d>>2]=j[f+16>>2];j[d+4>>2]=c;j[d+8>>2]=j[f+24>>2];j[b+4>>2]=d+12;break nb}Db(b,f+16|0);if(h[f+27|0]>-1){break nb}T(j[f+16>>2]);break nb}d=j[r>>2];e=W(d);if(e>>>0>=4294967280){break mb}tb:{ub:{if(e>>>0>=11){c=e+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=e;break ub}h[f+27|0]=e;o=f+16|0;if(!e){break tb}}V(o,d,e)}h[e+o|0]=0;d=j[b+4>>2];if(d>>>0>2]){c=j[f+20>>2];j[d>>2]=j[f+16>>2];j[d+4>>2]=c;j[d+8>>2]=j[f+24>>2];j[b+4>>2]=d+12;break nb}Db(b,f+16|0);if(h[f+27|0]>-1){break nb}T(j[f+16>>2])}T(j[r>>2]);c=j[t+(f+848|0)>>2];if(c){T(c)}B=A;break ib}break c}T(d);c=j[t+(f+848|0)>>2];if(!c){break ib}T(c)}n=n+1|0;if((n|0)!=200){continue}break}break xa}X();z()}vb:{if(G){q=((j[b+4>>2]-j[b>>2]|0)/12|0)+2|0;u=0;while(1){e=(f+3408|0)+(u<<2)|0;n=j[e>>2];wb:{if(!n){break wb}d=j[b+4>>2];g=j[b>>2];c=(d-g|0)/12|0;if(c>>>0>=q>>>0|c>>>0>=m[a+48>>2]){break wb}s=0;xb:{if((d|0)==(g|0)){break xb}while(1){c=n;d=p(s,12)+g|0;if(h[d+11|0]<=-1){d=j[d>>2]}if(ca(c,d)){break wb}d=W(n);if(d>>>0<4294967280){yb:{zb:{if(d>>>0>=11){c=d+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=d;break zb}h[f+27|0]=d;o=f+16|0;if(!d){break yb}}V(o,n,d)}h[d+o|0]=0;c=cc(a,f+16|0,0,0,0);if(h[f+27|0]<=-1){T(j[f+16>>2])}if(!c){break wb}n=j[e>>2];s=s+1|0;g=j[b>>2];if(s>>>0>=(j[b+4>>2]-g|0)/12>>>0){break xb}continue}break}break c}d=W(n);if(d>>>0>=4294967280){break vb}Ab:{Bb:{if(d>>>0>=11){c=d+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=d;break Bb}h[f+27|0]=d;o=f+16|0;if(!d){break Ab}}V(o,n,d)}h[d+o|0]=0;d=j[b+4>>2];if(d>>>0>2]){c=j[f+20>>2];j[d>>2]=j[f+16>>2];j[d+4>>2]=c;j[d+8>>2]=j[f+24>>2];j[b+4>>2]=d+12;break wb}Db(b,f+16|0);if(h[f+27|0]>-1){break wb}T(j[f+16>>2])}u=u+1|0;if((u|0)!=100){continue}break}}if((E|0)==-1){j[a+56>>2]=1}a=j[f+32>>2];if(!a){break m}j[f+36>>2]=a;T(a);break m}break c}if((E|0)!=-1){break m}j[a+56>>2]=1}a=j[f+2448>>2];if(a){j[f+2452>>2]=a;T(a)}a=j[f+2464>>2];if(a){j[f+2468>>2]=a;T(a)}if(h[f+2491|0]<=-1){T(j[f+2480>>2])}a=j[f+2496>>2];if(a){j[f+2500>>2]=a;T(a)}a=j[f+2512>>2];if(a){j[f+2516>>2]=a;T(a)}a=j[f+2528>>2];if(a){j[f+2532>>2]=a;T(a)}if(h[f+2555|0]<=-1){T(j[f+2544>>2])}if(h[f+2571|0]<=-1){T(j[f+2560>>2])}a=j[f+2576>>2];if(a){j[f+2580>>2]=a;T(a)}if(h[f+2603|0]<=-1){T(j[f+2592>>2])}M=f+4224|0;return}X();z()}X();z()}X();z()}function ed(a,b,c,d,e,f,g,m,n,o,q){var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;x=M-48|0;M=x;j[x+40>>2]=0;j[x+32>>2]=0;j[x+36>>2]=0;w=k[b+11|0];r=w<<24>>24<0;t=j[b+4>>2];a:{if(!c){ka=148784,la=C()|0,j[ka>>2]=la;break a}if(!j[37196]){break a}if((C()|0)<=(j[37196]+5e4|0)){break a}j[37196]=0}w=r?t:w;u=j[a+4200>>2];b:{if(j[a+4144>>2]){if((u|0)<1){t=w;u=0;break b}I=h[b+11|0]<0?j[b>>2]:b;s=w-1|0;r=0;t=0;while(1){if((r|0)<(w|0)){while(1){c:{if((r|0)==(s|0)){r=w;break c}r=r+1|0;if((k[I+r|0]&192)==128){continue}}break}t=t+1|0;if((u|0)!=(t|0)){continue}}break}if((u|0)<2){t=w;u=r;break b}s=u-1|0;t=w;while(1){if((t|0)<0){u=r;break b}while(1){d:{if((t|0)<1){t=-1;break d}t=t-1|0;if((k[I+t|0]&192)==128){continue}}break}A=A+1|0;if((s|0)!=(A|0)){continue}break}u=r;break b}t=(w-u|0)+1|0}ua(x+32|0,b);e:{f:{if((t|0)<=(u|0)){break f}Z=n?3:1;da=(g|0)!=0;$=f+1|0;ea=$<<2;fa=f<<2;while(1){g:{if(!j[a+4144>>2]){L=u;break g}r=h[x+43|0]<0?j[x+32>>2]:x+32|0;while(1){L=u;u=u+1|0;if((k[r+L|0]&192)==128){continue}break}if((t|0)>(L|0)){break g}break f}j[x+44>>2]=g;S=da;while(1){R=d;J=0;Q=0;I=c;G=0;h:{while(1){if(!j[37196]){y=0;break f}i:{if(!J){J=0;y=j[x+32>>2];D=k[x+43|0];F=L;L=Q;O=w;break i}v=j[a+4248>>2];B=(j[a+4252>>2]-v|0)/40|0;if(B>>>0>>0){F=L;break h}u=(h[b+11|0]<0?j[b>>2]:b)+L|0;j:{while(1){H=p(J-1|0,40);y=H+v|0;s=y+24|0;A=k[y+35|0];r=A<<24>>24;k:{l:{if((r|0)<=-1){if(!j[y+28>>2]){break k}A=j[y+28>>2];s=j[s>>2];break l}if(!r){break k}}if(!Eb(u,s,A)){break j}}J=J+1|0;if(B>>>0>=J>>>0){continue}break}F=L;break h}s=k[y+11|0];r=s<<24>>24<0;oc(x+32|0,L,-1,r?j[y>>2]:y,r?j[y+4>>2]:s);B=x+32|0;u=H+j[a+4248>>2]|0;r=h[u+11|0];m:{if((r|0)<=-1){r=j[u+4>>2];break m}r=r&255}F=r+L|0;s=k[u+23|0];r=s<<24>>24<0;oc(B,F,-1,r?j[u+12>>2]:u+12|0,r?j[u+16>>2]:s);v=H+j[a+4248>>2]|0;r=h[v+23|0];n:{if((r|0)<=-1){r=j[v+16>>2];break n}r=r&255}B=r+F|0;y=x+16|0;r=b;s=h[v+35|0];u=j[v+28>>2];o:{if((s|0)<=-1){break o}u=s&255}sa(y,r,u+L|0,-1);s=k[x+27|0];r=s<<24>>24<0;oc(x+32|0,B,-1,r?j[x+16>>2]:x+16|0,r?j[x+20>>2]:s);if(h[x+27|0]<=-1){T(j[x+16>>2])}u=H+j[a+4248>>2]|0;r=h[u+11|0];p:{if((r|0)<=-1){r=j[u+4>>2];break p}r=r&255}D=h[x+43|0];y=j[x+32>>2];s=h[u+23|0];B=j[u+16>>2];q:{if((s|0)<=-1){break q}B=s&255}B=B+(r+w|0)|0;r=h[u+35|0];s=j[u+28>>2];r:{if((r|0)<=-1){break r}s=r&255}O=B-s|0;v=j[a+4200>>2];s:{if(!j[a+4144>>2]|(v|0)<1){break s}B=(D|0)<0?y:x+32|0;s=O-1|0;r=0;u=0;while(1){if((r|0)>=(O|0)){break s}while(1){t:{if((r|0)==(s|0)){r=O;break t}r=r+1|0;if((k[B+r|0]&192)==128){continue}}break}u=u+1|0;if((v|0)!=(u|0)){continue}break}}ga=w;ha=t;t=(O-v|0)+1|0}ba=t;r=0;t=(D<<24>>24<0?y:x+32|0)+F|0;ca=k[t|0];h[t|0]=0;j[a+4372>>2]=0;j[a+4376>>2]=0;u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{H:{t=j[a+4096>>2];s=j[t>>2];if((s|0)==j[t+4>>2]){break H}w=h[x+43|0]<0?j[x+32>>2]:x+32|0;while(1){D=dc(j[(r<<2)+s>>2],w);if(!D){t=j[a+4096>>2];s=j[t>>2];r=r+1|0;if(r>>>0>2]-s>>2>>>0){continue}}break}if(!D){break H}v=l[a+4162>>1];if(!v){break G}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=v>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if(n|(r|0)==(w|0)|v>>>0>1]){break G}Q=L;w=O;t=ba;break v}Q=J-1|0;break F}Q=J-1|0;if(n){break E}while(1){v=l[a+4198>>1];I:{J:{if(!v){break J}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=v>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break J}if(v>>>0>=l[r>>1]){break I}}v=j[x+44>>2];K:{L:{if(S){break L}H=l[a+4152>>1];if(v|!H){break L}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=H>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break L}if(H>>>0>=l[r>>1]){break K}}M:{if(I&65535|S){break M}H=l[a+4154>>1];if(!H){break M}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=H>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break M}if(H>>>0>=l[r>>1]){break K}}N:{if(!(I&65535)|(v|S)){break N}H=l[a+4156>>1];if(!H){break N}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=H>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break N}if(H>>>0>=l[r>>1]){break K}}if(!S|j[a+4268>>2]==j[a+4272>>2]){break I}if(!(v|I&65535)){if(hc(a,x+44|0,f,D,m,0)){break K}v=j[x+44>>2]}if(!v){break I}if(!hc(a,x+44|0,f,D,m,0)){break I}}if(!J){Q=-1;break E}v=l[(j[a+4248>>2]+p(Q,40)|0)+36>>1];if(!v){break E}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=v>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break I}if(v>>>0>=l[r>>1]){break E}}D=j[D+12>>2];if(D){continue}break}}if(S){break u}t=l[a+4152>>1];O:{if(!t){break O}H=1;D=gb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,Z,t);if(D){break D}D=Qa(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,0,l[a+4152>>1],Z);if(!D){if(!j[a+4168>>2]){break O}D=eb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,l[a+4152>>1]);if(!D){break O}}w=1;if(n){break C}P=j[a+4372>>2];t=j[P+56>>2];if(!t){break D}y=l[a+4162>>1];P:{if(!y){break P}s=i[P+60>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=y>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break P}if(y>>>0>=l[r>>1]){break O}}Q:{v=l[a+4158>>1];if(!v){break Q}r=i[P+60>>1];s=(r<<1)+t|0;if(r){while(1){B=r>>>1|0;w=(B<<1)+t|0;u=v>>>0>l[w>>1];t=u?w+2|0:t;r=u?(B^-1)+r|0:B;if(r){continue}break}}if((s|0)==(t|0)){break Q}if(!D|v>>>0>=l[t>>1]){break O}break D}if(D){break D}}if(!(I&65535)){t=l[a+4154>>1];if(!t){w=0;break A}H=1;D=Qa(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,0,t,Z);if(D){break D}if(j[a+4168>>2]){D=eb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,l[a+4154>>1]);if(D){break D}}w=0;D=gb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,Z,l[a+4154>>1]);if(!D){break A}break D}if(I<<16>>16<1){w=I;break A}t=l[a+4156>>1];if(!t){w=I;break A}H=1;D=Qa(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,0,t,Z);if(D){break D}if(j[a+4168>>2]){D=eb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,l[a+4156>>1]);if(D){break D}}D=gb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,Z,l[a+4156>>1]);if(D){break D}w=I;break A}u=j[D+4>>2];if(!u){H=G;break D}P=l[D+2>>1];v=P<<16>>16;y=(v<<1)+u|0;r=u;if(P){w=l[a+4192>>1];s=v;while(1){H=s>>>1|0;t=(H<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(H^-1)+s|0:H;if(s){continue}break}}R:{if(l[a+4192>>1]>=l[r>>1]?(r|0)!=(y|0):0){break R}r=u;if(P){w=l[a+4198>>1];s=v;while(1){H=s>>>1|0;t=(H<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(H^-1)+s|0:H;if(s){continue}break}}if(l[a+4198>>1]>=l[r>>1]?(r|0)!=(y|0):0){break R}r=u;s=v;if(P){while(1){B=s>>>1|0;t=(B<<1)+r|0;w=l[t>>1]<65511;r=w?t+2|0:r;s=w?(B^-1)+s|0:B;if(s){continue}break}}if(l[r>>1]<65512?(r|0)!=(y|0):0){break R}if(!o){H=G;break D}s=l[a+4194>>1];if(!s){H=G;break D}if(P){while(1){w=v>>>1|0;t=(w<<1)+u|0;r=s>>>0>l[t>>1];u=r?t+2|0:u;v=r?(w^-1)+v|0:w;if(v){continue}break}}if((u|0)==(y|0)){H=G;break D}H=G;if(s>>>0>1]){break D}}h[(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0]=ca;break u}S:{if(!D|n){break S}t=j[a+4376>>2];T:{if(!t){break T}r=j[t+56>>2];if(!r){break T}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){v=s>>>1|0;t=(v<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break T}if(l[a+4162>>1]>=l[r>>1]){break B}}t=j[a+4372>>2];if(!t){break S}r=j[t+56>>2];if(!r){break S}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){v=s>>>1|0;t=(v<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break S}if(l[a+4162>>1]>=l[r>>1]){break B}}U:{w=(H|0)!=0;B=w|!D;if(B){break U}V:{if(n){break V}y=l[a+4158>>1];if(!y){break V}W:{t=j[a+4376>>2];if(!t){break W}r=j[t+56>>2];if(!r){break W}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){H=s>>>1|0;t=(H<<1)+r|0;v=y>>>0>l[t>>1];r=v?t+2|0:r;s=v?(H^-1)+s|0:H;if(s){continue}break}}if((r|0)==(u|0)){break W}G=0;if(y>>>0>1]){break W}w=I;break A}t=j[a+4372>>2];if(!t){break V}r=j[t+56>>2];if(!r){break V}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){H=s>>>1|0;t=(H<<1)+r|0;v=y>>>0>l[t>>1];r=v?t+2|0:r;s=v?(H^-1)+s|0:H;if(s){continue}break}}if((r|0)==(u|0)){break V}G=0;if(y>>>0>1]){break V}w=I;break A}H=0;if(n|(B|I&65535)){break U}y=l[a+4156>>1];if(!y){break U}X:{t=j[a+4376>>2];if(!t){break X}r=j[t+56>>2];if(!r){break X}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){v=s>>>1|0;t=(v<<1)+r|0;B=y>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break X}G=0;if(y>>>0>1]){break X}w=0;break A}t=j[a+4372>>2];if(!t){break U}r=j[t+56>>2];if(!r){break U}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){v=s>>>1|0;t=(v<<1)+r|0;B=y>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break U}w=0;G=0;if(y>>>0>1]){break C}break A}if(!D){break B}}Y:{t=j[D+4>>2];if(!t){break Y}A=l[D+2>>1];v=A<<16>>16;P=(v<<1)+t|0;r=t;if(A){B=l[a+4192>>1];s=v;while(1){y=s>>>1|0;u=(y<<1)+r|0;G=B>>>0>l[u>>1];r=G?u+2|0:r;s=G?(y^-1)+s|0:y;if(s){continue}break}}if(!((r|0)==(P|0)|l[a+4192>>1]>1])){y=0;break f}r=t;s=v;if(A){while(1){G=s>>>1|0;u=(G<<1)+r|0;B=l[u>>1]<65511;r=B?u+2|0:r;s=B?(G^-1)+s|0:G;if(s){continue}break}}if(!((r|0)==(P|0)|l[r>>1]>=65512)){y=0;break f}if(!o){break Y}G=l[a+4194>>1];if(!G){break Y}r=t;if(A){while(1){B=v>>>1|0;s=(B<<1)+r|0;u=G>>>0>l[s>>1];r=u?s+2|0:r;v=u?(B^-1)+v|0:B;if(v){continue}break}}if((r|0)==(P|0)|G>>>0>1]){break Y}y=0;break f}y=l[a+4160>>1];Z:{_:{if(!y){if(!w){break _}break Z}s=i[D+2>>1];if(s){B=(s<<1)+t|0;r=t;while(1){G=s>>>1|0;u=(G<<1)+r|0;v=y>>>0>l[u>>1];r=v?u+2|0:r;s=v?(G^-1)+s|0:G;if(s){continue}break}I=(r|0)!=(B|0)?(y>>>0>=l[r>>1])+I|0:I;if(w){break Z}break _}if(w){break Z}}r=j[x+44>>2];if(j[r+fa>>2]?r:0){break Z}G=l[a+4152>>1];$:{if(!G){break $}s=i[D+2>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=G>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break $}if(G>>>0>=l[r>>1]){break Z}}aa:{ba:{if(c){break ba}G=l[a+4154>>1];if(!G){break aa}s=i[D+2>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=G>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break ba}if(G>>>0>=l[r>>1]){break Z}}if((c|0)<1){break aa}G=l[a+4156>>1];if(!G){break aa}s=i[D+2>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=G>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break aa}if(G>>>0>=l[r>>1]){break Z}}if(!n|j[a+4456>>2]!=36){break y}y=l[D+2>>1];v=y<<16>>16;G=(v<<1)+t|0;r=t;s=v;if(y){while(1){B=s>>>1|0;w=(B<<1)+r|0;u=l[w>>1]<70;r=u?w+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if(l[r>>1]<71?(r|0)!=(G|0):0){break Z}r=t;s=v;if(y){while(1){B=s>>>1|0;w=(B<<1)+r|0;u=l[w>>1]<71;r=u?w+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if(l[r>>1]<72?(r|0)!=(G|0):0){break Z}r=t;if(y){while(1){u=v>>>1|0;w=(u<<1)+r|0;s=l[w>>1]<72;r=s?w+2|0:r;v=s?(u^-1)+v|0:u;if(v){continue}break}}if((r|0)==(G|0)|l[r>>1]>72){break y}}if(J){v=l[(j[a+4248>>2]+p(Q,40)|0)+36>>1];if(!v){break z}r=i[D+2>>1];s=(r<<1)+t|0;if(r){while(1){B=r>>>1|0;w=(B<<1)+t|0;u=v>>>0>l[w>>1];t=u?w+2|0:t;r=u?(B^-1)+r|0:B;if(r){continue}break}}if((s|0)==(t|0)|v>>>0>1]){break y}}t=j[x+44>>2];ca:{if(t|(!j[a+4184>>2]|J)){break ca}w=(h[b+11|0]<0?j[b>>2]:b)+F|0;r=k[w-1|0];if((r|0)!=k[w|0]){break ca}if((r|0)==k[w+1|0]|((r|0)==k[w-2|0]?(F|0)>=2:0)){break y}}if(!j[a+4180>>2]|(t|J)){break z}if(kg(a,h[b+11|0]<0?j[b>>2]:b,F)){break y}break z}w=I;G=H}if(!n|j[a+4456>>2]!=36){break x}t=h[x+43|0]<0?j[x+32>>2]:x+32|0;D=gb(a,t,F,0,0);da:{if(D){break da}D=Qa(a,t,F,0,0,0,0,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(D){break x}D=eb(a,t,F,0,0,0);if(D){break da}D=Lb(a,t,F,0)}if(!D){break x}}r=j[a+4372>>2];if(!r){break x}t=j[r+56>>2];if(!t){break x}y=l[r+60>>1];u=y<<16>>16;H=(u<<1)+t|0;r=t;s=u;if(y){while(1){v=s>>>1|0;I=(v<<1)+r|0;B=l[I>>1]<120;r=B?I+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if(!((r|0)==(H|0)|l[r>>1]>=121)){I=w;H=G;break z}if(y){while(1){I=u>>>1|0;r=(I<<1)+t|0;s=l[r>>1]<37;t=s?r+2|0:t;u=s?(I^-1)+u|0:I;if(u){continue}break}}if((t|0)==(H|0)){break x}I=w;H=G;if(l[t>>1]>37){break x}}ea:{if(j[a+4456>>2]!=36){break ea}t=Fb(a,sa(x+16|0,x+32|0,0,F));if(h[x+27|0]<=-1){T(j[x+16>>2])}R=t+R|0;t=j[a+4376>>2];if(!t){break ea}s=t+4|0;s=h[t+15|0]<=-1?j[s>>2]:s;r=W(s);if(r>>>0>=4294967280){break e}fa:{ga:{if(r>>>0>=11){t=r+16&-16;A=U(t);j[x+24>>2]=t|-2147483648;j[x+16>>2]=A;j[x+20>>2]=r;break ga}h[x+27|0]=r;A=x+16|0;if(!r){break fa}}V(A,s,r)}h[r+A|0]=0;t=Fb(a,x+16|0);if(h[x+27|0]<=-1){T(j[x+16>>2])}I=((t|0)>1)+I|0}h[(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0]=ca;ia=I+1|0;P=R-1|0;ja=(I<<16>>16)+2|0;B=!J;while(1){G=1;ha:{if(!j[a+4188>>2]){break ha}if(_){F=F-1|0;G=0;break ha}_=0;if((F|0)<3){break ha}t=(h[b+11|0]<0?j[b>>2]:b)+F|0;_=k[t-1|0]==k[t-2|0]}ia:{t=j[a+4096>>2];s=j[t>>2];if((s|0)==j[t+4>>2]){break ia}r=0;w=(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0;while(1){v=dc(j[(r<<2)+s>>2],w);if(!v){t=j[a+4096>>2];s=j[t>>2];r=r+1|0;if(r>>>0>2]-s>>2>>>0){continue}}break}if(!v){break ia}while(1){ja:{A=l[a+4198>>1];ka:{la:{if(!A){break la}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break la}if(A>>>0>=l[r>>1]){break ka}}E=j[x+44>>2];A=l[a+4152>>1];ma:{na:{if(E|!A){break na}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break na}if(A>>>0>=l[r>>1]){break ma}}oa:{if(E){break oa}A=l[a+4158>>1];if(!A){break oa}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break oa}if(A>>>0>=l[r>>1]){break ma}}if(!E|j[a+4268>>2]==j[a+4272>>2]){break ka}if(!hc(a,x+44|0,$<<16>>16,v,0,1)){break ka}}if(!J){break ja}A=l[(j[a+4248>>2]+p(Q,40)|0)+38>>1];if(!A){break ja}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break ka}if(A>>>0>=l[r>>1]){break ja}}v=j[v+12>>2];if(v){continue}break ia}break}A=l[a+4468>>1];pa:{if(!A){break pa}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)|A>>>0>1]){break pa}if(!q|!(k[q|0]&32)){break ia}}qa:{if(!v){break qa}t=j[x+44>>2];if(!t|!j[t+ea>>2]){break qa}y=D;break f}if(!v){break ia}t=R;ra:{if(j[a+4456>>2]!=36){break ra}u=i[v+2>>1];t=R;if(!u){break ra}y=j[v+4>>2];E=y+(u<<1)|0;r=y;s=u;while(1){A=s>>>1|0;t=(A<<1)+r|0;w=l[t>>1]<73;r=w?t+2|0:r;s=w?(A^-1)+s|0:A;if(s){continue}break}t=R;if((r|0)==(E|0)){break ra}s=R;if(l[r>>1]<=73){while(1){w=u>>>1|0;t=(w<<1)+y|0;r=l[t>>1]<74;y=r?t+2|0:y;u=r?(w^-1)+u|0:w;if(u){continue}break}t=P;if((y|0)==(E|0)){break ra}s=P;t=R;if(l[y>>1]<75){break ra}}t=s}u=t;t=j[v+4>>2];K=l[a+4160>>1];w=I;sa:{if(!K){break sa}s=i[v+2>>1];w=I;if(!s){break sa}y=(s<<1)+t|0;r=t;while(1){E=s>>>1|0;w=(E<<1)+r|0;A=K>>>0>l[w>>1];r=A?w+2|0:r;s=A?(E^-1)+s|0:E;if(s){continue}break}w=I;if((r|0)==(y|0)){break sa}w=(K>>>0>=l[r>>1])+I|0}ta:{if(!t){break ta}aa=l[v+2>>1];y=aa<<16>>16;Y=(y<<1)+t|0;r=t;if(aa){E=l[a+4192>>1];s=y;while(1){N=s>>>1|0;A=(N<<1)+r|0;K=E>>>0>l[A>>1];r=K?A+2|0:r;s=K?(N^-1)+s|0:N;if(s){continue}break}}if(!((r|0)==(Y|0)|l[a+4192>>1]>1])){y=0;break f}r=t;s=y;if(aa){while(1){K=s>>>1|0;A=(K<<1)+r|0;E=l[A>>1]<65511;r=E?A+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}}if(!((r|0)==(Y|0)|l[r>>1]>=65512)){y=0;break f}if(!o){break ta}K=l[a+4194>>1];if(!K){break ta}r=t;if(aa){while(1){E=y>>>1|0;s=(E<<1)+r|0;A=K>>>0>l[s>>1];r=A?s+2|0:r;y=A?(E^-1)+y|0:E;if(y){continue}break}}if((r|0)==(Y|0)|K>>>0>1]){break ta}y=0;break f}N=l[a+4152>>1];ua:{va:{if(!N){break va}s=i[v+2>>1];A=(s<<1)+t|0;r=t;if(s){while(1){K=s>>>1|0;y=(K<<1)+r|0;E=N>>>0>l[y>>1];r=E?y+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}}if((r|0)==(A|0)){break va}if(N>>>0>=l[r>>1]){break ua}}K=l[a+4158>>1];if(!K){break ia}r=i[v+2>>1];y=(r<<1)+t|0;if(r){while(1){E=r>>>1|0;s=(E<<1)+t|0;A=K>>>0>l[s>>1];t=A?s+2|0:t;r=A?(E^-1)+r|0:E;if(r){continue}break}}if((t|0)==(y|0)|K>>>0>1]){break ia}}y=0;t=j[a+4308>>2];wa:{xa:{ya:{if(!((t|0)==-1|(t|0)>((w<<16>>16)+1|0))){if(!j[a+4312>>2]){break ia}w=u<<16>>16;s=k[v|0];za:{Aa:{if(s>>>0>=11){t=s+16&496;A=U(t);j[x+8>>2]=t|-2147483648;j[x>>2]=A;j[x+4>>2]=s;break Aa}h[x+11|0]=s;A=x;if(!s){break za}}V(A,v+17|0,s)}r=0;h[s+A|0]=0;y=1;if((Fb(a,x)+w|0)>j[a+4312>>2]){break ya}}w=j[a+4248>>2];Ba:{if(!((w|0)==j[a+4252>>2]|J)){r=0;if(hd(a,h[b+11|0]<0?j[b>>2]:b,F,D,v)|(j[a+4172>>2]?(v|0)==(D|0):0)){break Ba}r=1;if(y){break ya}break wa}t=(v|0)==(D|0)&j[a+4172>>2]!=0;r=t^1;if(!J|t){break Ba}A=l[(w+p(Q,40)|0)+38>>1];if(!A){r=1;break Ba}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){v=s>>>1|0;t=(v<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(w|0)){r=0;break Ba}r=A>>>0>=l[r>>1]}if(!y){break xa}}if(h[x+11|0]>-1){break xa}T(j[x>>2])}if(!r){break ia}}if(j[a+4176>>2]){y=0;if(nd(a,h[b+11|0]<0?j[b>>2]:b,O)){break f}}y=id(a,h[b+11|0]<0?j[b>>2]:b,O)?0:D;break f}i[a+4364>>1]=0;j[a+4372>>2]=0;Ca:{Da:{Ea:{if(S){break Ea}w=l[a+4152>>1];if(!w){break Ea}r=(h[b+11|0]<0?j[b>>2]:b)+F|0;t=W(r);v=gb(a,r,t,2,w);if(v){break Da}v=Qa(a,r,t,0,0,0,w,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(v){break Da}v=eb(a,r,t,0,0,w);if(v){break Da}v=Lb(a,r,t,w)}if(v){break Da}}Fa:{if(S){break Fa}w=l[a+4158>>1];if(!w){break Fa}j[a+4372>>2]=0;j[a+4376>>2]=0;r=(h[b+11|0]<0?j[b>>2]:b)+F|0;t=W(r);v=gb(a,r,t,2,w);if(v){break Da}v=Qa(a,r,t,0,0,0,w,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(v){break Da}v=eb(a,r,t,0,0,w);if(v){break Da}v=Lb(a,r,t,w)}if(v){break Da}}w=0;y=1;if(j[a+4268>>2]==j[a+4272>>2]){t=B;break Ca}if(!j[x+44>>2]){t=B;break Ca}r=(h[b+11|0]<0?j[b>>2]:b)+F|0;t=W(r);s=gb(a,r,t,2,0);Ga:{if(s){break Ga}s=Qa(a,r,t,0,0,0,0,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(s){break Ga}s=eb(a,r,t,0,0,0);if(s){break Ga}s=Lb(a,r,t,0)}t=B;if(!s){break Ca}}t=B;if(!hc(a,x+44|0,$<<16>>16,s,0,1)){break Ca}y=D;break f}E=j[a+4248>>2];Ha:{if(J){A=l[(E+p(Q,40)|0)+38>>1];if(!A){break Ha}r=j[v+4>>2];s=i[v+2>>1];u=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;w=A>>>0>l[t>>1];r=w?t+2|0:r;s=w?(y^-1)+s|0:y;if(s){continue}break}}y=1;w=0;if((r|0)==(u|0)){t=0;break Ca}if(!v){t=0;break Ca}t=0;if(A>>>0>1]){break Ca}}if((E|0)==j[a+4252>>2]|J){break Ha}w=0;y=1;t=1;if(hd(a,h[b+11|0]<0?j[b>>2]:b,F,D,v)){break Ca}}Ia:{t=j[a+4376>>2];Ja:{if(!t){break Ja}r=j[t+56>>2];if(!r){break Ja}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){A=s>>>1|0;t=(A<<1)+r|0;y=w>>>0>l[t>>1];r=y?t+2|0:r;s=y?(A^-1)+s|0:A;if(s){continue}break}}if((r|0)==(u|0)){break Ja}if(l[a+4162>>1]>=l[r>>1]){break Ia}}Ka:{La:{Ma:{t=j[a+4372>>2];if(!t){break Ma}r=j[t+56>>2];if(!r){break Ma}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){A=s>>>1|0;t=(A<<1)+r|0;y=w>>>0>l[t>>1];r=y?t+2|0:r;s=y?(A^-1)+s|0:A;if(s){continue}break}}if((r|0)==(u|0)){break Ma}w=0;y=1;if(v){break La}t=B;break Ca}if(!v){break Ia}break Ka}t=B;if(l[a+4162>>1]>=l[r>>1]){break Ca}}u=j[v+4>>2];E=l[a+4468>>1];Na:{if(!E){break Na}s=i[v+2>>1];w=(s<<1)+u|0;r=u;if(s){while(1){A=s>>>1|0;t=(A<<1)+r|0;y=E>>>0>l[t>>1];r=y?t+2|0:r;s=y?(A^-1)+s|0:A;if(s){continue}break}}Oa:{if(!((r|0)==(w|0)|E>>>0>1])){w=0;y=1;if(!q){t=B;break Ca}if(v){break Oa}t=B;break Ca}if(!v){break Ia}break Na}t=B;if(!(j[q>>2]&32)){break Ca}}y=0;Pa:{if(!u){break Pa}Y=l[v+2>>1];w=Y<<16>>16;N=(w<<1)+u|0;r=u;if(Y){A=l[a+4192>>1];s=w;while(1){K=s>>>1|0;t=(K<<1)+r|0;E=A>>>0>l[t>>1];r=E?t+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}}if(!((r|0)==(N|0)|l[a+4192>>1]>1])){break f}r=u;s=w;if(Y){while(1){E=s>>>1|0;t=(E<<1)+r|0;A=l[t>>1]<65511;r=A?t+2|0:r;s=A?(E^-1)+s|0:E;if(s){continue}break}}if(!((r|0)==(N|0)|l[r>>1]>=65512)){break f}if(!o){break Pa}A=l[a+4194>>1];if(!A){break Pa}if(Y){while(1){s=w>>>1|0;t=(s<<1)+u|0;r=A>>>0>l[t>>1];u=r?t+2|0:u;w=r?(s^-1)+w|0:s;if(w){continue}break}}if((u|0)==(N|0)){break Pa}w=v;t=B;if(A>>>0>=l[u>>1]){break f}break Ca}w=v;t=B;break Ca}w=0;y=1;t=B}u=R;v=I;Qa:{Ra:{Sa:{if(j[a+4456>>2]!=36){break Sa}u=(h[b+11|0]<0?j[b>>2]:b)+F|0;A=W(u);if(A>>>0>=4294967280){break e}Ta:{Ua:{if(A>>>0>=11){r=A+16&-16;s=U(r);j[x+24>>2]=r|-2147483648;j[x+16>>2]=s;j[x+20>>2]=A;break Ua}h[x+27|0]=A;s=x+16|0;if(!A){break Ta}}V(s,u,A)}h[s+A|0]=0;E=Fb(a,x+16|0);if(h[x+27|0]<=-1){T(j[x+16>>2])}s=j[a+4356>>2];Va:{if(s){u=W(s);if(u>>>0>=4294967280){break e}Wa:{Xa:{if(u>>>0>=11){r=u+16&-16;A=U(r);j[x+24>>2]=r|-2147483648;j[x+16>>2]=A;j[x+20>>2]=u;break Xa}h[x+27|0]=u;A=x+16|0;if(!u){break Wa}}V(A,s,u)}h[u+A|0]=0;Va(x+16|0);s=Fb(a,x+16|0);r=l[a+4360>>1];if(h[x+27|0]<=-1){T(j[x+16>>2])}r=r+s|0;break Va}r=j[a+4360>>2]}u=j[a+4376>>2];if(u){s=u+4|0;s=h[u+15|0]<=-1?j[s>>2]:s;v=W(s);if(v>>>0>=4294967280){break e}Ya:{Za:{if(v>>>0>=11){u=v+16&-16;A=U(u);j[x+24>>2]=u|-2147483648;j[x+16>>2]=A;j[x+20>>2]=v;break Za}h[x+27|0]=v;A=x+16|0;if(!v){break Ya}}V(A,s,v)}h[v+A|0]=0;s=Fb(a,x+16|0);if(h[x+27|0]<=-1){T(j[x+16>>2])}v=((s|0)>1)+I|0}u=(E+R|0)-r|0;r=h[a+4351|0];s=j[a+4344>>2];_a:{if((r|0)<=-1){break _a}s=r&255}if(!s){break Sa}$a:{switch(l[a+4364>>1]-73|0){case 26:if(y){break Qa}u=u+2|0;break Ra;case 1:if(y){break Qa}u=u+1|0;break Ra;case 0:break $a;default:break Sa}}if(y){break Qa}s=i[w+2>>1];if(!s){break Ra}r=j[w+4>>2];E=r+(s<<1)|0;while(1){N=s>>>1|0;A=(N<<1)+r|0;K=l[A>>1]<74;r=K?A+2|0:r;s=K?(N^-1)+s|0:N;if(s){continue}break}if((r|0)==(E|0)){break Ra}if(l[r>>1]>74){break Sa}u=u+1|0;break Ra}if(y){break Qa}}N=l[a+4160>>1];ab:{if(!N){break ab}s=i[w+2>>1];if(!s){break ab}r=j[w+4>>2];A=r+(s<<1)|0;while(1){K=s>>>1|0;y=(K<<1)+r|0;E=N>>>0>l[y>>1];r=E?y+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}if((r|0)==(A|0)){break ab}v=(N>>>0>=l[r>>1])+v|0}r=j[a+4308>>2];if(!((r|0)==-1|(r|0)>((v<<16>>16)+1|0))){r=j[a+4312>>2];if(!r|(r|0)>16){break Qa}}if(j[a+4172>>2]?(w|0)==(D|0):0){break Qa}if(j[a+4176>>2]){y=0;if(nd(a,h[b+11|0]<0?j[b>>2]:b,O)){break f}}y=id(a,h[b+11|0]<0?j[b>>2]:b,O)?0:D;break f}bb:{if((e|0)<=(ja|0)){break bb}E=ed(a,sa(x+16|0,x+32|0,F,-1),ia<<16>>16,R<<16>>16,e,$<<16>>16,j[x+44>>2],m,0,o,q);if(h[x+27|0]<=-1){T(j[x+16>>2])}if(!E){break bb}w=h[b+11|0];cb:{if(j[a+4248>>2]==j[a+4252>>2]){A=j[b>>2];break cb}A=j[b>>2];r=hd(a,(w|0)<0?A:b,F,D,E);if(t){if(!r){break cb}break bb}if(!r){break bb}}y=0;if(id(a,(w|0)<0?A:b,O)){break f}db:{if(!j[a+4176>>2]){if(l[a+4192>>1]){break db}y=D;break f}if(nd(a,h[b+11|0]<0?j[b>>2]:b,O)){break f}}t=k[E|0];if(Eb(E+17|0,(h[b+11|0]<0?j[b>>2]:b)+F|0,t)){y=D;break f}t=(t+F|0)+(h[x+43|0]<0?j[x+32>>2]:x+32|0)|0;r=k[t|0];h[t|0]=0;eb:{fb:{if(j[a+4176>>2]){if(nd(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,k[E|0]+F|0)){break fb}}if(!id(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,k[E|0]+F|0)){break eb}}h[(k[E|0]+F|0)+(h[x+43|0]<0?j[x+32>>2]:x+32|0)|0]=r;break bb}gb:{if(!l[a+4192>>1]){break gb}u=h[b+11|0];v=j[b>>2];c=j[a+4096>>2];t=j[c>>2];hb:{if((t|0)!=j[c+4>>2]){s=0;d=(u|0)<0?v:b;while(1){J=dc(j[(s<<2)+t>>2],d);if(!J){c=j[a+4096>>2];t=j[c>>2];s=s+1|0;if(s>>>0>2]-t>>2>>>0){continue}}break}if(J){break hb}v=j[b>>2];u=k[b+11|0]}b=u<<24>>24<0?v:b;J=gb(a,b,O,0,0);if(J){break hb}J=Qa(a,b,O,0,0,0,0,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(J){break hb}J=eb(a,b,O,0,0,0);if(J){break hb}J=Lb(a,b,O,0)}if(!J){break gb}}s=j[J+4>>2];if(!s){break gb}t=i[J+2>>1];d=(t<<1)+s|0;if(t){c=l[a+4192>>1];while(1){f=t>>>1|0;b=(f<<1)+s|0;e=c>>>0>l[b>>1];s=e?b+2|0:s;t=e?(f^-1)+t|0:f;if(t){continue}break}}if((d|0)==(s|0)|l[a+4192>>1]>1]){break gb}if(!Eb(J+17|0,h[x+43|0]<0?j[x+32>>2]:x+32|0,k[E|0]+F|0)){break f}}h[(k[E|0]+F|0)+(h[x+43|0]<0?j[x+32>>2]:x+32|0)|0]=r;y=D;break f}if((_|0)!=0&G){continue}break}_=G?_:0;F=(G^1)+F|0}G=H;break w}I=w}w=L?ga:O;J=J+1|0;F=L?L:F;Q=0;t=L?ha:ba}if(!j[a+4260>>2]|S){break h}L=F;if((j[a+4252>>2]-j[a+4248>>2]|0)/40>>>0>=J>>>0){continue}break h}break}t=ba;Q=L;w=O}ib:{if(Q){ua(x+32|0,b);L=Q;break ib}h[(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0]=ca;L=F}if(!(c|S)){S=1;if(j[a+4268>>2]!=j[a+4272>>2]){continue}}break}y=0;u=L+1|0;if((u|0)<(t|0)){continue}break}}if(h[x+43|0]<=-1){T(j[x+32>>2])}M=x+48|0;return y}X();z()}function Pf(a,b,c,d,e,f,g,m,n,o,p){var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,Y=0,_=0,ba=0,da=0,ea=0,fa=0,ga=0;r=M+ -64|0;M=r;j[r+56>>2]=0;j[r+48>>2]=0;j[r+52>>2]=0;j[r+40>>2]=0;j[r+32>>2]=0;j[r+36>>2]=0;a:{if(!d){fa=148788,ga=C()|0,j[fa>>2]=ga;break a}if(!j[37197]){break a}if((C()|0)<=(j[37197]+5e4|0)){break a}j[37197]=0}I=j[a+4200>>2];b:{if(j[a+4144>>2]){if((I|0)<1){I=0;break b}q=c-1|0;while(1){if((c|0)>(w|0)){while(1){c:{if((q|0)==(w|0)){w=c;break c}w=w+1|0;if((k[w+b|0]&192)==128){continue}}break}u=u+1|0;if((I|0)!=(u|0)){continue}}break}if((I|0)<2){I=w;break b}s=I-1|0;q=0;while(1){if((c|0)<0){I=w;break b}while(1){d:{if((c|0)<1){c=-1;break d}c=c-1|0;if((k[c+b|0]&192)==128){continue}}break}q=q+1|0;if((s|0)!=(q|0)){continue}break}I=w;break b}c=(c-I|0)+1|0}Ka(r+48|0,b);e:{f:{if((c|0)<=(I|0)){Q=r+32|0;break f}S=(m|0)!=0;N=g+1|0;Y=N<<2;_=g<<2;while(1){g:{if(!j[a+4144>>2]){w=I+1|0;G=I;break g}q=h[r+59|0]<0?j[r+48>>2]:r+48|0;w=I;while(1){G=w;w=w+1|0;if((k[q+G|0]&192)==128){continue}break}if((c|0)>(G|0)){break g}Q=r+32|0;break f}j[r+60>>2]=m;I=w;ba=b+w|0;E=b+G|0;da=E-2|0;ea=E-1|0;H=d;L=S;while(1){Q=r+32|0;if(!j[37197]){break f}d=(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0;O=k[d|0];h[d|0]=0;j[a+4372>>2]=0;h:{if(h[r+43|0]<=-1){h[j[r+32>>2]]=0;j[r+36>>2]=0;break h}h[r+43|0]=0;h[r+32|0]=0}if(p){q=k[p+11|0];d=q<<24>>24<0;aa(r+32|0,d?j[p>>2]:p,d?j[p+4>>2]:q)}v=1;w=0;x=0;d=j[a+4096>>2];q=j[d>>2];i:{j:{k:{if((q|0)==j[d+4>>2]){break k}s=h[r+59|0]<0?j[r+48>>2]:r+48|0;while(1){x=dc(j[(w<<2)+q>>2],s);if(!x){d=j[a+4096>>2];q=j[d>>2];w=w+1|0;if(w>>>0>2]-q>>2>>>0){continue}}break}l:{if(x){u=l[a+4162>>1];m:{if(!u){break m}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){t=q>>>1|0;d=(t<<1)+w|0;A=u>>>0>l[d>>1];w=A?d+2|0:w;q=A?(t^-1)+q|0:t;if(q){continue}break}}if((s|0)==(w|0)){break m}if(u>>>0>=l[w>>1]){break j}}while(1){u=l[a+4198>>1];n:{o:{if(!u){break o}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){t=q>>>1|0;d=(t<<1)+w|0;A=u>>>0>l[d>>1];w=A?d+2|0:w;q=A?(t^-1)+q|0:t;if(q){continue}break}}if((s|0)==(w|0)){break o}if(u>>>0>=l[w>>1]){break n}}t=j[r+60>>2];p:{if(L){break p}y=l[a+4152>>1];if(t|!y){break p}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){u=q>>>1|0;d=(u<<1)+w|0;A=y>>>0>l[d>>1];w=A?d+2|0:w;q=A?(u^-1)+q|0:u;if(q){continue}break}}if((s|0)==(w|0)){break p}if(y>>>0>=l[w>>1]){break l}}q:{if(H&65535|L){break q}y=l[a+4154>>1];if(!y){break q}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){u=q>>>1|0;d=(u<<1)+w|0;A=y>>>0>l[d>>1];w=A?d+2|0:w;q=A?(u^-1)+q|0:u;if(q){continue}break}}if((s|0)==(w|0)){break q}if(y>>>0>=l[w>>1]){break l}}r:{if(!(H&65535)|(t|L)){break r}y=l[a+4156>>1];if(!y){break r}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){u=q>>>1|0;d=(u<<1)+w|0;A=y>>>0>l[d>>1];w=A?d+2|0:w;q=A?(u^-1)+q|0:u;if(q){continue}break}}if((s|0)==(w|0)){break r}if(y>>>0>=l[w>>1]){break l}}if(!L|j[a+4268>>2]==j[a+4272>>2]){break n}if(!(t|H&65535)){if(hc(a,r+60|0,g,x,n,0)){break l}t=j[r+60>>2]}if(!t){break n}if(hc(a,r+60|0,g,x,n,0)){break l}}x=j[x+12>>2];if(x){continue}break}}x=0;break k}v=0}w=x;if(!j[37197]){break f}s:{t:{if(!v){Z(r+32|0,32);$(r+32|0,1744);$(r+32|0,h[r+59|0]<0?j[r+48>>2]:r+48|0);q=k[w+16|0];u:{v:{if(!(q&1)){break v}w:{if(q&2){d=k[w|0]+w|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break v}q=k[w+16|0];d=0;if(!(q&1)){break w}}s=(k[w|0]+w|0)+18|0;d=s;if(!(q&2)){break w}d=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}if(ca(d,1748)){break u}}Z(r+32|0,32);$(r+32|0,1748);$(r+32|0,h[r+59|0]<0?j[r+48>>2]:r+48|0)}d=k[w+16|0];x:{if(!(d&1)){break x}if(d&2){d=k[w|0]+w|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break x}}Z(r+32|0,32);q=r+32|0;d=k[w+16|0];s=1810;y:{if(!(d&1)){break y}x=(k[w|0]+w|0)+18|0;s=x;if(!(d&2)){break y}s=k[x|0]|k[x+1|0]<<8|(k[x+2|0]<<16|k[x+3|0]<<24)}$(q,s)}u=0;s=j[w+4>>2];if(!s){break t}D=l[w+2>>1];t=D<<16>>16;B=(t<<1)+s|0;q=s;if(D){A=l[a+4192>>1];d=t;while(1){y=d>>>1|0;x=(y<<1)+q|0;v=A>>>0>l[x>>1];q=v?x+2|0:q;d=v?(y^-1)+d|0:y;if(d){continue}break}}z:{if(l[a+4192>>1]>=l[q>>1]?(q|0)!=(B|0):0){break z}q=s;d=t;if(D){while(1){v=d>>>1|0;x=(v<<1)+q|0;A=l[x>>1]<65511;q=A?x+2|0:q;d=A?(v^-1)+d|0:v;if(d){continue}break}}if(l[q>>1]<65512?(q|0)!=(B|0):0){break z}if(D){q=l[a+4198>>1];while(1){A=t>>>1|0;d=(A<<1)+s|0;x=q>>>0>l[d>>1];s=x?d+2|0:s;t=x?(A^-1)+t|0:A;if(t){continue}break}}if((s|0)==(B|0)|l[a+4198>>1]>1]){break t}}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O;break j}d=l[a+4152>>1];A:{B:{if(!d){break B}w=gb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,1,d);if(w){break A}w=Qa(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,0,l[a+4152>>1],1);if(!w){if(!j[a+4168>>2]){break B}w=eb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,l[a+4152>>1]);if(!w){break B}}y=j[a+4372>>2];x=j[y+56>>2];if(!x){break A}u=l[a+4162>>1];C:{if(!u){break C}d=i[y+60>>1];A=(d<<1)+x|0;q=x;if(d){while(1){v=d>>>1|0;s=(v<<1)+q|0;t=u>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(A|0)){break C}if(u>>>0>=l[q>>1]){break B}}D:{v=l[a+4158>>1];if(!v){break D}q=i[y+60>>1];s=(q<<1)+x|0;if(q){while(1){t=q>>>1|0;d=(t<<1)+x|0;A=v>>>0>l[d>>1];x=A?d+2|0:x;q=A?(t^-1)+q|0:t;if(q){continue}break}}if((s|0)==(x|0)){break D}if(!w|v>>>0>=l[x>>1]){break B}break A}if(w){break A}}if(!(H&65535)){d=l[a+4154>>1];if(!d){break s}w=Qa(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,0,d,1);if(w){break A}if(j[a+4168>>2]){w=eb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,l[a+4154>>1]);if(w){break A}}w=gb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,1,l[a+4154>>1]);if(w){break A}break s}if(H<<16>>16<1){break s}d=l[a+4156>>1];if(!d){break s}w=Qa(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,0,d,1);if(w){break A}if(j[a+4168>>2]){w=eb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,l[a+4156>>1]);if(w){break A}}w=gb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,1,l[a+4156>>1]);if(!w){break s}}j[r+24>>2]=0;j[r+16>>2]=0;j[r+20>>2]=0;d=l[a+4152>>1];E:{if(d){fc(r,a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;d=h[r+27|0];if((d|0)<0?j[r+20>>2]:d&255){break E}}if(!(H&65535)){d=l[a+4154>>1];if(!d){break E}fc(r,a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;break E}if(H<<16>>16<1){break E}d=l[a+4156>>1];if(!d){break E}fc(r,a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d}q=k[r+27|0];d=q<<24>>24;if((d|0)<0?j[r+20>>2]:q){Z(r+32|0,32);$(r+32|0,1744);$(r+32|0,h[r+59|0]<0?j[r+48>>2]:r+48|0);Td(r+16|0);q=k[r+27|0];d=q<<24>>24<0;aa(r+32|0,d?j[r+16>>2]:r+16|0,d?j[r+20>>2]:q);d=k[r+27|0]}if(d<<24>>24<=-1){T(j[r+16>>2])}u=1}F:{if(!w){break F}d=j[a+4376>>2];G:{if(!d){break G}q=j[d+56>>2];if(!q){break G}d=i[d+60>>1];A=(d<<1)+q|0;if(d){x=l[a+4162>>1];while(1){v=d>>>1|0;s=(v<<1)+q|0;t=x>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(A|0)){break G}if(l[a+4162>>1]>=l[q>>1]){break j}}d=j[a+4372>>2];if(!d){break F}q=j[d+56>>2];if(!q){break F}d=i[d+60>>1];A=(d<<1)+q|0;if(d){x=l[a+4162>>1];while(1){v=d>>>1|0;s=(v<<1)+q|0;t=x>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(A|0)){break F}if(l[a+4162>>1]>=l[q>>1]){break j}}H:{if(!w|u){break H}v=l[a+4158>>1];I:{if(!v){break I}d=j[a+4376>>2];J:{if(!d){break J}q=j[d+56>>2];if(!q){break J}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break J}if(v>>>0>=l[q>>1]){break j}}d=j[a+4372>>2];if(!d){break I}q=j[d+56>>2];if(!q){break I}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break I}if(v>>>0>=l[q>>1]){break j}}if(H&65535){break H}v=l[a+4156>>1];if(!v){break H}d=j[a+4376>>2];K:{if(!d){break K}q=j[d+56>>2];if(!q){break K}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break K}if(v>>>0>=l[q>>1]){break s}}d=j[a+4372>>2];if(!d){break H}q=j[d+56>>2];if(!q){break H}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break H}if(v>>>0>=l[q>>1]){break s}}if(!w){break s}s=j[w+4>>2];L:{if(!s){break L}D=l[w+2>>1];x=D<<16>>16;B=s+(x<<1)|0;q=s;if(D){t=l[a+4192>>1];d=x;while(1){y=d>>>1|0;A=(y<<1)+q|0;v=t>>>0>l[A>>1];q=v?A+2|0:q;d=v?(y^-1)+d|0:y;if(d){continue}break}}if(l[a+4192>>1]>=l[q>>1]?(q|0)!=(B|0):0){break j}q=s;if(D){while(1){t=x>>>1|0;d=(t<<1)+q|0;A=l[d>>1]<65511;q=A?d+2|0:q;x=A?(t^-1)+x|0:t;if(x){continue}break}}if((q|0)==(B|0)){break L}if(l[q>>1]<65512){break j}}M:{N:{y=l[a+4160>>1];if(!y){break N}d=i[w+2>>1];if(!d){break N}A=s+(d<<1)|0;q=s;while(1){v=d>>>1|0;x=(v<<1)+q|0;t=y>>>0>l[x>>1];q=t?x+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}A=(q|0)!=(A|0)?(y>>>0>=l[q>>1])+H|0:H;break M}A=H}O:{if(u){break O}d=j[r+60>>2];if(j[d+_>>2]?d:0){break O}y=l[a+4152>>1];P:{if(!y){break P}d=i[w+2>>1];t=s+(d<<1)|0;q=s;if(d){while(1){u=d>>>1|0;x=(u<<1)+q|0;v=y>>>0>l[x>>1];q=v?x+2|0:q;d=v?(u^-1)+d|0:u;if(d){continue}break}}if((q|0)==(t|0)){break P}if(y>>>0>=l[q>>1]){break O}}Q:{R:{if(H&65535){break R}y=l[a+4154>>1];if(!y){break Q}d=i[w+2>>1];t=s+(d<<1)|0;q=s;if(d){while(1){u=d>>>1|0;x=(u<<1)+q|0;v=y>>>0>l[x>>1];q=v?x+2|0:q;d=v?(u^-1)+d|0:u;if(d){continue}break}}if((q|0)==(t|0)){break R}if(y>>>0>=l[q>>1]){break O}}if(H<<16>>16<1){break Q}u=l[a+4156>>1];if(!u){break Q}d=i[w+2>>1];x=s+(d<<1)|0;q=s;if(d){while(1){v=d>>>1|0;s=(v<<1)+q|0;t=u>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(x|0)){break Q}if(u>>>0>=l[q>>1]){break O}}break s}q=j[r+60>>2];S:{if(q|!j[a+4184>>2]){break S}d=k[ea|0];if((d|0)!=k[E|0]){break S}if((d|0)==k[ba|0]|((d|0)==k[da|0]?(G|0)>=2:0)){break s}}if(!(j[a+4248>>2]==j[a+4252>>2]|q)){if(hd(a,b,G,w,0)){break s}}if(!(!j[a+4180>>2]|q)){if(kg(a,b,G)){break s}}T:{if(j[a+4456>>2]!=36){x=e;break T}d=Fb(a,sa(r+16|0,r+48|0,0,G));if(h[r+27|0]<=-1){T(j[r+16>>2])}x=d+e|0;q=j[a+4376>>2];if(!q){break T}d=q+4|0;d=h[q+15|0]<=-1?j[d>>2]:d;s=W(d);if(s>>>0>=4294967280){break e}U:{V:{if(s>>>0>=11){q=s+16&-16;u=U(q);j[r+24>>2]=q|-2147483648;j[r+16>>2]=u;j[r+20>>2]=s;break V}h[r+27|0]=s;u=r+16|0;if(!s){break U}}V(u,d,s)}h[s+u|0]=0;d=Fb(a,r+16|0);if(h[r+27|0]<=-1){T(j[r+16>>2])}A=((d|0)>1)+A|0}q=0;s=j[a+4096>>2];d=j[s>>2];W:{if((d|0)==j[s+4>>2]){break W}while(1){t=dc(j[(q<<2)+d>>2],E);if(!t){s=j[a+4096>>2];d=j[s>>2];q=q+1|0;if(q>>>0>2]-d>>2>>>0){continue}}break}if(!t){break W}while(1){X:{Y:{B=l[a+4198>>1];Z:{if(!B){break Z}q=j[t+4>>2];d=i[t+2>>1];v=q+(d<<1)|0;if(d){while(1){y=d>>>1|0;s=(y<<1)+q|0;u=B>>>0>l[s>>1];q=u?s+2|0:q;d=u?(y^-1)+d|0:y;if(d){continue}break}}if((q|0)==(v|0)){break Z}if(B>>>0>=l[q>>1]){break Y}}v=j[r+60>>2];D=l[a+4152>>1];_:{$:{if(v|!D){break $}q=j[t+4>>2];d=i[t+2>>1];u=q+(d<<1)|0;if(d){while(1){B=d>>>1|0;s=(B<<1)+q|0;y=D>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(u|0)){break $}if(D>>>0>=l[q>>1]){break _}}aa:{if(v){break aa}D=l[a+4158>>1];if(!D){break aa}q=j[t+4>>2];d=i[t+2>>1];u=q+(d<<1)|0;if(d){while(1){B=d>>>1|0;s=(B<<1)+q|0;y=D>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(u|0)){break aa}if(D>>>0>=l[q>>1]){break _}}if(!v|j[a+4268>>2]==j[a+4272>>2]){break Y}if(!hc(a,r+60|0,N<<16>>16,t,0,1)){break Y}v=j[r+60>>2]}if(!v|!j[v+Y>>2]){break X}c=k[r+43|0];b=c<<24>>24<0;aa(o,b?j[r+32>>2]:r+32|0,b?j[r+36>>2]:c);Z(o,32);$(o,1744);$(o,E);ba:{if(!j[a+4148>>2]){break ba}w=k[t+16|0];if(!(w&1)){break ba}b=o;ca:{if(w&2){c=k[t|0]+t|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break ba}w=k[t+16|0];c=1810;if(!(w&1)){break ca}}d=(k[t|0]+t|0)+18|0;c=d;if(!(w&2)){break ca}c=k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24)}$(b,c)}w=k[t+16|0];da:{ea:{if(!(w&1)){break ea}fa:{if(w&2){b=k[t|0]+t|0;if(!(k[b+18|0]|k[b+19|0]<<8|(k[b+20|0]<<16|k[b+21|0]<<24))){break ea}w=k[t+16|0];b=0;if(!(w&1)){break fa}}c=(k[t|0]+t|0)+18|0;b=c;if(!(w&2)){break fa}b=k[c|0]|k[c+1|0]<<8|(k[c+2|0]<<16|k[c+3|0]<<24)}if(ca(b,1748)){break da}}Z(o,32);$(o,1748);$(o,t+17|0)}ga:{if(j[a+4148>>2]){break ga}a=k[t+16|0];if(!(a&1)){break ga}if(a&2){a=k[t|0]+t|0;if(!(k[a+18|0]|k[a+19|0]<<8|(k[a+20|0]<<16|k[a+21|0]<<24))){break ga}}Z(o,32);a=o;b=k[t+16|0];c=1810;ha:{if(!(b&1)){break ha}d=(k[t|0]+t|0)+18|0;c=d;if(!(b&2)){break ha}c=k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24)}$(a,c)}Z(o,10);break f}t=j[t+12>>2];if(t){continue}break W}break}d=x;ia:{if(j[a+4456>>2]!=36){break ia}s=j[t+4>>2];F=l[t+2>>1];v=F<<16>>16;D=s+(v<<1)|0;q=s;d=v;if(F){while(1){B=d>>>1|0;u=(B<<1)+q|0;y=l[u>>1]<73;q=y?u+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}d=x;if((q|0)==(D|0)){break ia}d=x;if(l[q>>1]>73){break ia}if(F){while(1){u=v>>>1|0;d=(u<<1)+s|0;q=l[d>>1]<74;s=q?d+2|0:s;v=q?(u^-1)+v|0:u;if(v){continue}break}}d=x-1|0;if((s|0)==(D|0)){break ia}d=x-(l[s>>1]>74)|0}y=d;s=j[t+4>>2];F=l[a+4160>>1];d=A;ja:{if(!F){break ja}d=i[t+2>>1];u=(d<<1)+s|0;q=s;if(d){while(1){D=d>>>1|0;v=(D<<1)+q|0;B=F>>>0>l[v>>1];q=B?v+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}}d=A;if((q|0)==(u|0)){break ja}d=(F>>>0>=l[q>>1])+A|0}ka:{if(!s){break ka}R=l[t+2>>1];v=R<<16>>16;K=(v<<1)+s|0;q=s;if(R){D=l[a+4192>>1];u=v;while(1){J=u>>>1|0;B=(J<<1)+q|0;F=D>>>0>l[B>>1];q=F?B+2|0:q;u=F?(J^-1)+u|0:J;if(u){continue}break}}if(!(l[a+4192>>1]>=l[q>>1]?(q|0)!=(K|0):0)){q=s;if(R){while(1){D=v>>>1|0;u=(D<<1)+q|0;B=l[u>>1]<65511;q=B?u+2|0:q;v=B?(D^-1)+v|0:D;if(v){continue}break}}if((q|0)==(K|0)|l[q>>1]>65511){break ka}}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O;e=y;break i}J=l[a+4152>>1];la:{ma:{if(!J){break ma}u=i[t+2>>1];B=(u<<1)+s|0;q=s;if(u){while(1){F=u>>>1|0;v=(F<<1)+q|0;D=J>>>0>l[v>>1];q=D?v+2|0:q;u=D?(F^-1)+u|0:F;if(u){continue}break}}if((q|0)==(B|0)){break ma}if(J>>>0>=l[q>>1]){break la}}F=l[a+4158>>1];if(!F){break W}q=i[t+2>>1];u=(q<<1)+s|0;if(q){while(1){D=q>>>1|0;v=(D<<1)+s|0;B=F>>>0>l[v>>1];s=B?v+2|0:s;q=B?(D^-1)+q|0:D;if(q){continue}break}}if((s|0)==(u|0)|F>>>0>1]){break W}}q=j[a+4308>>2];na:{if(!((q|0)==-1|(q|0)>((d<<16>>16)+1|0))){if(!j[a+4312>>2]){break W}s=y<<16>>16;v=k[t|0];oa:{pa:{if(v>>>0>=11){q=v+16&496;d=U(q);j[r+24>>2]=q|-2147483648;j[r+16>>2]=d;j[r+20>>2]=v;break pa}h[r+27|0]=v;d=r+16|0;if(!v){break oa}}V(d,t+17|0,v)}u=0;h[d+v|0]=0;if((Fb(a,r+16|0)+s|0)<=j[a+4312>>2]){u=!j[a+4172>>2]|(t|0)!=(w|0)}if(h[r+27|0]<=-1){T(j[r+16>>2])}if(u){break na}break W}if((t|0)!=(w|0)){break na}if(j[a+4172>>2]){break W}}q=k[r+43|0];d=q<<24>>24<0;aa(o,d?j[r+32>>2]:r+32|0,d?j[r+36>>2]:q);Z(o,32);$(o,1744);$(o,E);d=k[t+16|0];qa:{if(!(d&1)){break qa}if(d&2){d=k[t|0]+t|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break qa}}if(j[a+4148>>2]){d=o;q=k[t+16|0];s=1810;ra:{if(!(q&1)){break ra}v=(k[t|0]+t|0)+18|0;s=v;if(!(q&2)){break ra}s=k[v|0]|k[v+1|0]<<8|(k[v+2|0]<<16|k[v+3|0]<<24)}$(d,s)}q=k[t+16|0];sa:{ta:{if(!(q&1)){break ta}ua:{if(q&2){d=k[t|0]+t|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break ta}q=k[t+16|0];d=0;if(!(q&1)){break ua}}s=(k[t|0]+t|0)+18|0;d=s;if(!(q&2)){break ua}d=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}if(ca(d,1748)){break sa}}Z(o,32);$(o,1748);$(o,t+17|0)}if(j[a+4148>>2]){break qa}Z(o,32);d=o;q=k[t+16|0];s=1810;va:{if(!(q&1)){break va}t=(k[t|0]+t|0)+18|0;s=t;if(!(q&2)){break va}s=k[t|0]|k[t+1|0]<<8|(k[t+2|0]<<16|k[t+3|0]<<24)}$(d,s)}Z(o,10);P=1}i[a+4364>>1]=0;j[a+4372>>2]=0;wa:{xa:{ya:{za:{Aa:{if(L){break Aa}q=l[a+4152>>1];if(!q){break Aa}d=W(E);u=gb(a,E,d,0,q);if(u){break za}u=Qa(a,E,d,0,0,0,q,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(u){break ya}u=eb(a,E,d,0,0,q);if(u){break za}u=Lb(a,E,d,q)}if(u){break za}}Ba:{if(L){break Ba}q=l[a+4158>>1];if(!q){break Ba}j[a+4372>>2]=0;j[a+4376>>2]=0;d=W(E);u=gb(a,E,d,0,q);if(u){break za}u=Qa(a,E,d,0,0,0,q,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(u){break ya}u=eb(a,E,d,0,0,q);if(u){break za}u=Lb(a,E,d,q)}if(u){break za}}v=0;K=1;if(!j[r+60>>2]|j[a+4268>>2]==j[a+4272>>2]){break wa}d=W(E);u=gb(a,E,d,2,0);Ca:{if(u){break Ca}u=Qa(a,E,d,0,0,0,0,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(u){break Ca}u=eb(a,E,d,0,0,0);if(u){break Ca}u=Lb(a,E,d,0)}if(!u){break wa}}if(!hc(a,r+60|0,N<<16>>16,u,0,1)){break za}j[r+24>>2]=0;j[r+16>>2]=0;j[r+20>>2]=0;d=l[a+4152>>1];Da:{if(d){fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;d=h[r+27|0];if((d|0)<0?j[r+20>>2]:d&255){break Da}}d=l[a+4158>>1];if(!d){break Da}fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d}q=k[r+43|0];d=q<<24>>24<0;aa(o,d?j[r+32>>2]:r+32|0,d?j[r+36>>2]:q);d=k[r+27|0];if(d<<24>>24<0?j[r+20>>2]:d){Z(o,32);$(o,1744);$(o,E);Td(r+16|0);q=k[r+27|0];d=q<<24>>24<0;aa(o,d?j[r+16>>2]:r+16|0,d?j[r+20>>2]:q)}Z(o,10);if(h[r+27|0]<=-1){T(j[r+16>>2])}P=1}d=j[a+4376>>2];Ea:{if(!d){break Ea}q=j[d+56>>2];if(!q){break Ea}d=i[d+60>>1];v=(d<<1)+q|0;if(d){t=l[a+4162>>1];while(1){B=d>>>1|0;s=(B<<1)+q|0;y=t>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(v|0)){break Ea}if(l[a+4162>>1]>=l[q>>1]){break xa}}Fa:{d=j[a+4372>>2];if(!d){break Fa}q=j[d+56>>2];if(!q){break Fa}d=i[d+60>>1];v=(d<<1)+q|0;if(d){t=l[a+4162>>1];while(1){B=d>>>1|0;s=(B<<1)+q|0;y=t>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(v|0)){break Fa}v=0;K=1;if(l[a+4162>>1]>=l[q>>1]){break wa}if(u){break ya}break wa}if(!u){break xa}}K=0;Ga:{s=j[u+4>>2];Ha:{if(!s){break Ha}J=l[u+2>>1];t=J<<16>>16;F=(t<<1)+s|0;q=s;if(J){y=l[a+4192>>1];d=t;while(1){D=d>>>1|0;v=(D<<1)+q|0;B=y>>>0>l[v>>1];q=B?v+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}}if(!(l[a+4192>>1]>=l[q>>1]?(q|0)!=(F|0):0)){q=s;d=t;if(J){while(1){B=d>>>1|0;v=(B<<1)+q|0;y=l[v>>1]<65511;q=y?v+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(F|0)|l[q>>1]>65511){break Ha}}if(J){q=l[a+4198>>1];while(1){y=t>>>1|0;d=(y<<1)+s|0;v=q>>>0>l[d>>1];s=v?d+2|0:s;t=v?(y^-1)+t|0:y;if(t){continue}break}}if((s|0)==(F|0)|l[a+4198>>1]>1]){break Ga}}v=u;break wa}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O;e=x;d=A;break i}v=0;K=1}u=x;t=A;Ia:{Ja:{Ka:{if(j[a+4456>>2]!=36){break Ka}s=W(E);if(s>>>0>=4294967280){break e}La:{Ma:{if(s>>>0>=11){q=s+16&-16;d=U(q);j[r+24>>2]=q|-2147483648;j[r+16>>2]=d;j[r+20>>2]=s;break Ma}h[r+27|0]=s;d=r+16|0;if(!s){break La}}V(d,E,s)}h[d+s|0]=0;y=Fb(a,r+16|0);if(h[r+27|0]<=-1){T(j[r+16>>2])}q=j[a+4356>>2];Na:{if(q){s=W(q);if(s>>>0>=4294967280){break e}Oa:{Pa:{if(s>>>0>=11){d=s+16&-16;u=U(d);j[r+24>>2]=d|-2147483648;j[r+16>>2]=u;j[r+20>>2]=s;break Pa}h[r+27|0]=s;u=r+16|0;if(!s){break Oa}}V(u,q,s)}h[s+u|0]=0;Va(r+16|0);q=Fb(a,r+16|0);d=l[a+4360>>1];if(h[r+27|0]<=-1){T(j[r+16>>2])}q=d+q|0;break Na}q=j[a+4360>>2]}t=A;s=j[a+4376>>2];if(s){d=s+4|0;d=h[s+15|0]<=-1?j[d>>2]:d;t=W(d);if(t>>>0>=4294967280){break e}Qa:{Ra:{if(t>>>0>=11){s=t+16&-16;u=U(s);j[r+24>>2]=s|-2147483648;j[r+16>>2]=u;j[r+20>>2]=t;break Ra}h[r+27|0]=t;u=r+16|0;if(!t){break Qa}}V(u,d,t)}h[t+u|0]=0;d=Fb(a,r+16|0);if(h[r+27|0]<=-1){T(j[r+16>>2])}t=((d|0)>1)+A|0}u=(x+y|0)-q|0;d=h[a+4351|0];s=j[a+4344>>2];Sa:{if((d|0)<=-1){break Sa}s=d&255}if(!s){break Ka}Ta:{switch(l[a+4364>>1]-73|0){case 26:if(K){break Ia}u=u+2|0;break Ja;case 1:if(K){break Ia}u=u+1|0;break Ja;case 0:break Ta;default:break Ka}}if(K){break Ia}d=i[v+2>>1];if(!d){break Ja}q=j[v+4>>2];y=q+(d<<1)|0;while(1){D=d>>>1|0;s=(D<<1)+q|0;B=l[s>>1]<74;q=B?s+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}if((q|0)==(y|0)){break Ja}if(l[q>>1]>74){break Ka}u=u+1|0;break Ja}if(K){break Ia}}F=l[a+4160>>1];Ua:{if(!F){break Ua}d=i[v+2>>1];if(!d){break Ua}q=j[v+4>>2];y=q+(d<<1)|0;while(1){D=d>>>1|0;s=(D<<1)+q|0;B=F>>>0>l[s>>1];q=B?s+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}if((q|0)==(y|0)){break Ua}t=(F>>>0>=l[q>>1])+t|0}d=j[a+4308>>2];if(!((d|0)==-1|(d|0)>((t<<16>>16)+1|0))){d=j[a+4312>>2];if(!d|(d|0)>16){break Ia}}if(j[a+4172>>2]?(v|0)==(w|0):0){break Ia}j[r+24>>2]=0;j[r+16>>2]=0;j[r+20>>2]=0;d=l[a+4152>>1];Va:{if(d){fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;d=h[r+27|0];if((d|0)<0?j[r+20>>2]:d&255){break Va}}d=l[a+4158>>1];if(!d){break Va}fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d}q=k[r+43|0];d=q<<24>>24<0;aa(o,d?j[r+32>>2]:r+32|0,d?j[r+36>>2]:q);d=k[r+27|0];if(d<<24>>24<0?j[r+20>>2]:d){Z(o,32);$(o,1744);$(o,E);Td(r+16|0);Z(o,32);q=k[r+27|0];d=q<<24>>24<0;aa(o,d?j[r+16>>2]:r+16|0,d?j[r+20>>2]:q)}Z(o,10);if(h[r+27|0]<=-1){T(j[r+16>>2])}P=1;break s}d=A<<16;if(P|((d>>16)+2|0)>=(f|0)){break s}P=0;Pf(a,E,W(E),d+65536>>16,x<<16>>16,f,N<<16>>16,j[r+60>>2],n,o,r+32|0)}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O}d=H}if(!(H&65535|L)){L=1;H=d;if(j[a+4268>>2]!=j[a+4272>>2]){continue}}break}if((c|0)>(I|0)){continue}break}}if(h[Q+11|0]<=-1){T(j[r+32>>2])}if(h[r+59|0]<=-1){T(j[r+48>>2])}M=r- -64|0;return}X();z()}function pq(a,b){var c=0,d=0,e=0,f=0,g=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;c=M-65568|0;M=c;e=U(65788);d=Ie(e,b);j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;a:{if(ub(d,c)){o=a+4432|0;r=a+4444|0;u=a+4208|0;v=a+4204|0;w=a+4420|0;x=a+4408|0;y=a+4396|0;z=a+4384|0;A=a+4340|0;s=a+4128|0;B=a+4116|0;C=a+4104|0;g=c+65560|0;t=1;while(1){bb(c);b:{if(f&1){break b}if(_(c,0,3,1081,3)){break b}xb(c,0,3)}c:{if(_(c,0,3,1085,3)){break c}if(va(c,C)){break c}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}d:{if(_(c,0,3,1089,3)){break d}if(va(c,B)){break d}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}e:{if(_(c,0,3,1093,3)){break e}if(!va(c,s)){ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}b=k[a+4139|0];if(((b<<24>>24<0?j[a+4132>>2]:b)|0)!=5){break e}if(_(s,0,-1,1097,5)){break e}j[a+4144>>2]=1;_h()}if(!_(c,0,15,1103,15)){j[a+4148>>2]=1}f:{if(_(c,0,12,1119,12)){break f}if((l[a+4152>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4152>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break f}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}g:{if(_(c,0,13,1132,13)){break g}if(j[a+4148>>2]){if((l[a+4158>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4158>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break g}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if((l[a+4154>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4154>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break g}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}h:{if(_(c,0,14,1146,14)){break h}if((l[a+4156>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4156>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break h}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}i:{if(_(c,0,11,1161,11)){break i}if(j[a+4148>>2]){if((l[a+4154>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4154>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break i}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if((l[a+4158>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4158>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break i}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}j:{if(_(c,0,15,1173,15)){break j}if(j[a+4308>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4308>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break j}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}k:{if(_(c,0,12,1189,12)){break k}if((l[a+4160>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4160>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break k}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}l:{if(_(c,0,18,1202,18)){break l}if((l[a+4164>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4164>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break l}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}m:{if(_(c,0,18,1221,18)){break m}if((l[a+4162>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4162>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break m}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,20,1240,20)){j[a+4168>>2]=1}if(!_(c,0,16,1261,16)){j[a+4172>>2]=1}if(!_(c,0,16,1278,16)){j[a+4176>>2]=1}if(!_(c,0,19,1295,19)){j[a+4184>>2]=1}if(!_(c,0,16,1315,16)){j[a+4188>>2]=1}if(!_(c,0,17,1332,17)){j[a+4180>>2]=1}n:{if(_(c,0,9,1350,9)){break n}if((l[a+4194>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4194>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break n}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}o:{if(_(c,0,14,1360,14)){break o}if((l[a+4196>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4196>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break o}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}p:{if(_(c,0,13,1375,13)){break p}if((l[a+4192>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4192>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break p}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}q:{if(_(c,0,13,1389,13)){break q}if((l[a+4460>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4460>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break q}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}r:{if(_(c,0,9,1403,9)){break r}if((l[a+4462>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4462>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break r}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}s:{if(_(c,0,14,1413,14)){break s}if((l[a+4464>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4464>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break s}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}t:{if(_(c,0,10,1428,10)){break t}if((l[a+4198>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4198>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break t}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}u:{if(_(c,0,9,1439,9)){break u}if((l[a+4198>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4198>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break u}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}v:{if(_(c,0,11,1449,11)){break v}w:{if(j[a+4200>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4200>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break w}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(j[a+4200>>2]>0){break v}j[a+4200>>2]=1}x:{if(_(c,0,16,1461,16)){break x}if(Tp(a,c)){break x}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}y:{if(_(c,0,11,1478,11)){break y}if(va(c,A)){break y}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,8,1490,8)){j[a+4380>>2]=1}z:{if(_(c,0,9,1499,9)){break z}if(Ve(c,z,y,j[a+4144>>2])){break z}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}A:{if(_(c,0,6,1509,6)){break A}if(Ve(c,x,w,j[a+4144>>2])){break A}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}B:{if(_(c,0,5,1516,5)){break B}h[c+65563|0]=5;h[c+65557|0]=0;j[c+65552>>2]=k[1516]|k[1517]<<8|(k[1518]<<16|k[1519]<<24);h[c+65556|0]=k[1520];b=Ih(c,d,v,c+65552|0);if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break B}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}C:{if(_(c,0,5,1522,5)){break C}h[c+65563|0]=5;h[c+65557|0]=0;j[c+65552>>2]=k[1522]|k[1523]<<8|(k[1524]<<16|k[1525]<<24);h[c+65556|0]=k[1526];b=Ih(c,d,u,c+65552|0);if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break C}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}D:{if(_(c,0,5,1528,5)){break D}if(Mp(a,c,d)){break D}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}E:{if(_(c,0,20,1534,20)){break E}if(Fp(a,c,d)){break E}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}F:{if(_(c,0,12,1555,12)){break F}if(wp(a,c,d)){break F}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}G:{if(_(c,0,3,1568,3)){break G}if(lp(a,c,d)){break G}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}H:{if(_(c,0,5,1572,5)){break H}if(gp(a,c,d)){break H}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,4,1578,4)){if(!va(c,r)){ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}E=a,F=$h(r),j[E+4456>>2]=F}I:{if(_(c,0,7,1583,7)){break I}f=k[c+11|0];b=f<<24>>24<0;f=b?j[c+4>>2]:f;if(f>>>0<8){break I}q=b?j[c>>2]:c;D=q+f|0;f=q+7|0;while(1){J:{b=k[f|0];if(b>>>0>63){break J}n=b&31;if((b&63)>>>0>=32){b=1<>>32-n;n=1<>2])}b=j[c+65556>>2];j[o>>2]=j[c+65552>>2];j[o+4>>2]=b;j[o+8>>2]=j[g>>2]}K:{if(_(c,0,12,1591,12)){break K}if(j[a+4284>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4284>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break K}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,11,1604,11)){j[a+4296>>2]=1}L:{if(_(c,0,7,1616,7)){break L}if(j[a+4292>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4292>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break L}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}M:{if(_(c,0,10,1624,10)){break M}if(j[a+4288>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4288>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break M}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,11,1635,11)){j[a+4300>>2]=1}if(!_(c,0,9,1647,9)){j[a+4484>>2]=1}if(!_(c,0,12,1657,12)){j[a+4304>>2]=1}N:{if(_(c,0,8,1670,8)){break N}if((l[a+4466>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4466>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break N}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}O:{if(_(c,0,10,1679,10)){break O}if((l[a+4468>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4468>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break O}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}P:{if(_(c,0,4,1690,4)){break P}if((l[a+4470>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4470>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break P}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,10,1695,10)){j[a+4472>>2]=1}Q:{if(_(c,0,11,1706,11)){break Q}if((l[a+4476>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4476>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break Q}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,11,1718,11)){j[a+4480>>2]=1}R:{S:{T:{if(!_(c,0,3,1730,3)){b=j[a+4148>>2];if(!_(c,0,3,1734,3)){break T}b=b?83:80;break S}if(_(c,0,3,1734,3)){break R}}b=j[a+4148>>2]?80:83}if(t){ya(c+16|0,0,65536)}t=0;if(Zo(a,c,b,d,c+16|0)){break R}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}f=1;if(ub(d,c)){continue}break}}ea(d);T(e);b=1;d=1;while(1){e=(d<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}while(1){d=((b<<2)+a|0)+1024|0;E=d,F=la(a,j[d>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}Uo(a);Ro(a);U:{if(j[a+4144>>2]){break U}b=a+4128|0;d=h[a+4139|0];e=j[a+4132>>2];V:{if((d|0)<=-1){break V}e=d&255}if(!e){Ka(b,1760)}d=_c(b);j[a+4140>>2]=d;e=a+4384|0;b=0;while(1){d=p(b,3)+d|0;W:{if(k[d+2|0]==k[d+1|0]){break W}d=b<<24>>24;if((Ba(e,d,0)|0)!=-1){break W}Z(e,d)}b=b+1|0;if((b|0)==256){break U}d=j[a+4140>>2];continue}}if(k[a+4228|0]){break a}i[c+65552>>1]=45;h[c+65563|0]=1;d=a+4232|0;b=j[a+4236>>2];X:{if(b>>>0>2]){e=j[c+65556>>2];j[b>>2]=j[c+65552>>2];j[b+4>>2]=e;j[b+8>>2]=j[c+65560>>2];j[a+4236>>2]=b+12;break X}Db(d,c+65552|0);if(h[c+65563|0]>-1){break X}T(j[c+65552>>2])}h[c+65554|0]=0;i[c+65552>>1]=11614;h[c+65563|0]=2;b=j[a+4236>>2];Y:{if(b>>>0>2]){e=j[c+65556>>2];j[b>>2]=j[c+65552>>2];j[b+4>>2]=e;j[b+8>>2]=j[c+65560>>2];j[a+4236>>2]=b+12;break Y}Db(d,c+65552|0);if(h[c+65563|0]>-1){break Y}T(j[c+65552>>2])}h[c+65554|0]=0;i[c+65552>>1]=9261;h[c+65563|0]=2;b=j[a+4236>>2];Z:{if(b>>>0>2]){d=j[c+65556>>2];j[b>>2]=j[c+65552>>2];j[b+4>>2]=d;j[b+8>>2]=j[c+65560>>2];j[a+4236>>2]=b+12;break Z}Db(d,c+65552|0);if(h[c+65563|0]>-1){break Z}T(j[c+65552>>2])}h[a+4228|0]=1}if(h[c+11|0]<=-1){T(j[c>>2])}M=c+65568|0}function Oq(a,b,c,d,e,f){var g=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=M-128|0;M=g;j[f>>2]=0;j[e>>2]=0;h[d|0]=0;j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;j[g+92>>2]=0;a:{b:{if(!j[b+16>>2]|j[b+4>>2]==j[b+8>>2]){break b}if(!_(c,0,5,121100,5)){Nq(a,b,c);break a}n=k[c+11|0];o=n<<24>>24;c:{if(j[b+44>>2]){if(m[c+4>>2]<=299|(o|0)>-1){break c}break b}if(((o|0)<0?j[c+4>>2]:n)>>>0>99){break b}}j[g+88>>2]=0;j[g+80>>2]=0;j[g+84>>2]=0;j[g+72>>2]=0;j[g+64>>2]=0;j[g+68>>2]=0;d:{q=b;r=g+80|0;t=g- -64|0;o=j[b>>2];e:{f:{if(!o){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;break f}s=j[o+4204>>2];j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;if(!s){break f}n=g+112|0;if(Yc(s,c,g+112|0)){break e}}n=c}u=Pe(q,r,t,n,f,e);g:{if(!u){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[g+123|0]>-1){break g}T(j[g+112>>2]);break g}if(h[g+123|0]<=-1){T(j[g+112>>2])}t=C()|0;c=j[f>>2];o=j[b>>2];if(!(c|!o)){h:{if(!l[o+4468>>1]){break h}j[g+32>>2]=32;if(!_a(b,g+80|0,g+32|0,0)){break h}c=ha(g+48|0,g+80|0);i:{if(j[b+44>>2]){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;ia(g+112|0,c);vb(g+112|0,j[b+40>>2]);da(c,g+112|0);b=j[g+112>>2];if(!b){break i}j[g+116>>2]=b;T(b);break i}nb(c,j[b+36>>2])}b=j[g+100>>2];j:{if((b|0)!=j[g+104>>2]){b=ha(b,c)+12|0;break j}Wb(g+96|0,c);b=j[g+100>>2]}d=j[g+96>>2];j[a+4>>2]=b;j[a>>2]=d;j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g}c=j[f>>2]}s=0;k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{switch(c|0){case 0:s=Vb(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,g+92|0);o=t+25e4|0;if((C()|0)>(o|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g}if(!j[e>>2]){break q}c=ha(g+112|0,g+80|0);Z(c,46);e=Vb(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,g+92|0);if((C()|0)<=(o|0)){break s}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 1:h[d|0]=1;e=Vb(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,g+92|0);o=t+25e4|0;if((C()|0)>(o|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g}c=ha(g+112|0,g+80|0);u:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break u}Pa(c,j[b+36>>2])}n=Vb(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,g+92|0);if((C()|0)<=(o|0)){break r}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 4:h[d|0]=1;case 3:s=Vb(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,g+92|0);r=t+25e4|0;if((C()|0)>(r|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g}c=Ba(g+80|0,46,0);v:{if((c|0)==-1){break v}o=c+1|0;c=sa(g+112|0,g+80|0,o,-1);w:{if(j[b+44>>2]){j[g+56>>2]=0;j[g+48>>2]=0;j[g+52>>2]=0;ia(g+48|0,c);n=Mc(g+48|0,j[b+40>>2]);e=j[g+48>>2];if(!e){break w}j[g+52>>2]=e;T(e);break w}n=Nc(c,j[b+36>>2])}x:{if((n|0)!=1){break x}e=ha(g+48|0,g+80|0);lf(e,o);Jc(g+96|0,j[g+96>>2],e);if(h[e+11|0]>-1){break x}T(j[e>>2])}if(h[c+11|0]>-1){break v}T(j[c>>2])}j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;y:{z:{if(j[f>>2]!=4){break z}ua(g+112|0,g+80|0);A:{if(j[b+44>>2]){wr(g- -64|0,j[b+40>>2]);da(g+112|0,g- -64|0);break A}xr(g+112|0,j[b+36>>2])}e=0;s=Vb(j[b+16>>2],g+96|0,h[g+123|0]<0?j[g+112>>2]:g+112|0,g+92|0)|s;if((C()|0)<=(r|0)){break z}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;r=g+112|0;break y}ua(g+112|0,g+80|0);B:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(g+112|0,g- -64|0);break B}Pa(g+112|0,j[b+36>>2])}if(Ic(b,h[g+123|0]<0?j[g+112>>2]:g+112|0)){Jc(g+96|0,j[g+96>>2],g+112|0)}o=(j[g+100>>2]-j[g+96>>2]|0)/12|0;s=Vb(j[b+16>>2],g+96|0,h[g+123|0]<0?j[g+112>>2]:g+112|0,g+92|0)|s;if((C()|0)>(r|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];e=0;j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;r=g+112|0;break y}C:{if(j[f>>2]!=4){break C}D:{if(j[b+44>>2]){vb(g- -64|0,j[b+40>>2]);da(g+112|0,g- -64|0);break D}nb(g+112|0,j[b+36>>2])}if(Ic(b,h[g+123|0]<0?j[g+112>>2]:g+112|0)){Jc(g+96|0,j[g+96>>2],g+112|0)}s=Vb(j[b+16>>2],g+96|0,h[g+123|0]<0?j[g+112>>2]:g+112|0,g+92|0)|s;if((C()|0)<=(r|0)){break C}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];e=0;j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;r=g+112|0;break y}e=1;r=g+112|0;q=j[g+100>>2];c=j[g+96>>2];if((q-c|0)/12>>>0<=o>>>0){break y}while(1){w=p(o,12);e=w+c|0;v=h[e+11|0]>-1;E:{if(!v){n=j[e>>2];break E}n=e}x=Ya(n,32);F:{if(!x){break F}n=x+1|0;y=W(n);if(y>>>0>=u>>>0){break F}if(!ba((u+(h[g+91|0]<0?j[g+80>>2]:g+80|0)|0)-y|0,n)){break F}e=v?e:j[e>>2];q=n-e|0;if(q>>>0>=4294967280){break p}G:{if(q>>>0<=10){h[g+59|0]=q;c=g+48|0;break G}v=q+16&-16;c=U(v);j[g+56>>2]=v|-2147483648;j[g+48>>2]=c;j[g+52>>2]=q}if((e|0)!=(n|0)){while(1){h[c|0]=k[e|0];c=c+1|0;q=(e|0)!=(x|0);e=e+1|0;if(q){continue}break}}h[c|0]=0;e=W(n);if(e>>>0>=4294967280){break o}H:{I:{if(e>>>0>=11){q=e+16&-16;c=U(q);j[g+40>>2]=q|-2147483648;j[g+32>>2]=c;j[g+36>>2]=e;break I}h[g+43|0]=e;c=g+32|0;if(!e){break H}}V(c,n,e)}h[c+e|0]=0;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;J:{K:{if(!j[b+44>>2]){break K}ia(g+16|0,g+32|0);if(!j[b+44>>2]){break K}vb(g+16|0,j[b+40>>2]);da(g+32|0,g+16|0);break J}nb(g+32|0,j[b+36>>2])}c=w+j[g+96>>2]|0;e=c+12|0;n=j[g+100>>2];L:{if((e|0)!=(n|0)){while(1){if(h[c+11|0]<=-1){T(j[c>>2])}q=j[e+4>>2];j[c>>2]=j[e>>2];j[c+4>>2]=q;j[c+8>>2]=j[e+8>>2];h[e+11|0]=0;h[e|0]=0;c=c+12|0;e=e+12|0;if((n|0)!=(e|0)){continue}break}e=j[g+100>>2];if((e|0)==(c|0)){break L}}while(1){n=e-12|0;if(h[e-1|0]<=-1){T(j[n>>2])}e=n;if((e|0)!=(c|0)){continue}break}}j[g+100>>2]=c;x=j[g+96>>2];j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;c=h[g+43|0];n=(c|0)<0;e=h[g+59|0];q=(e|0)<0;w=n?j[g+36>>2]:c&255;e=q?j[g+52>>2]:e&255;c=w+e|0;if(c>>>0>=4294967280){break n}v=j[g+48>>2];M:{if(c>>>0<=10){h[g+11|0]=e;c=g;break M}y=c+16&-16;c=U(y);j[g+8>>2]=y|-2147483648;j[g>>2]=c;j[g+4>>2]=e}if(e){V(c,q?v:g+48|0,e)}h[c+e|0]=0;aa(g,n?j[g+32>>2]:g+32|0,w);Ne(g+96|0,x,g);if(h[g+11|0]<=-1){T(j[g>>2])}c=j[g+16>>2];if(c){j[g+20>>2]=c;T(c)}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(h[g+59|0]<=-1){T(j[g+48>>2])}c=j[g+96>>2];q=j[g+100>>2]}e=1;o=o+1|0;if(o>>>0<(q-c|0)/12>>>0){continue}break}}if(h[r+11|0]<=-1){T(j[g+112>>2])}if(e){break q}break g;case 2:break t;default:break q}}o=ha(g+48|0,g+80|0);N:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(o,g- -64|0);break N}Pa(o,j[b+36>>2])}n=0;s=Vb(j[b+16>>2],g+96|0,h[o+11|0]<0?j[o>>2]:g+48|0,g+92|0);c=t+25e4|0;O:{if((C()|0)>(c|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break O}e=j[b>>2];P:{if(!e|!l[e+4466>>1]){break P}if(!Ic(b,h[o+11|0]<0?j[o>>2]:g+48|0)){break P}Jc(g+96|0,j[g+96>>2],o)}Q:{if(j[b+44>>2]){vb(g- -64|0,j[b+40>>2]);da(o,g- -64|0);break Q}nb(o,j[b+36>>2])}s=Vb(j[b+16>>2],g+96|0,h[o+11|0]<0?j[o>>2]:g+48|0,g+92|0)|s;R:{if((C()|0)<=(c|0)){c=j[g+96>>2];if((c|0)!=j[g+100>>2]){break R}n=1;break O}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break O}e=0;while(1){n=p(e,12);c=n+c|0;S:{if(j[b+44>>2]){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;ia(g+112|0,c);Oc(g+112|0,j[b+40>>2]);da(c,g+112|0);c=j[g+112>>2];if(!c){break S}j[g+116>>2]=c;T(c);break S}Pc(c,j[b+36>>2])}c=j[b>>2];T:{if(!c|!j[c+4480>>2]){break T}c=n+j[g+96>>2]|0;if(j[b+44>>2]){h[g+114|0]=0;i[g+112>>1]=40899;h[g+123|0]=2;h[g+34|0]=0;i[g+32>>1]=21331;h[g+43|0]=2;wb(c,g+112|0,g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}if(h[g+123|0]>-1){break T}T(j[g+112>>2]);break T}i[g+112>>1]=223;h[g+123|0]=1;h[g+34|0]=0;i[g+32>>1]=21331;h[g+43|0]=2;wb(c,g+112|0,g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}if(h[g+123|0]>-1){break T}T(j[g+112>>2])}n=1;e=e+1|0;c=j[g+96>>2];if(e>>>0<(j[g+100>>2]-c|0)/12>>>0){continue}break}}if(h[o+11|0]<=-1){T(j[o>>2])}if(n){break q}break g}if(h[c+11|0]<=-1){T(j[c>>2])}s=e|s;break q}if(h[c+11|0]<=-1){T(j[c>>2])}s=e|n}U:{if(j[b+40>>2]!=36){break U}n=j[g+96>>2];if((n|0)==j[g+100>>2]){break U}e=0;while(1){c=p(e,12);o=Ba(c+n|0,45,0);V:{if((o|0)==-1){break V}n=c+j[g+96>>2]|0;n=sa(g+112|0,n,0,o);r=c+j[g+96>>2]|0;sa(g+48|0,r,o+1|0,-1);r=k[g+59|0];q=r<<24>>24<0;aa(n,q?j[g+48>>2]:g+48|0,q?j[g+52>>2]:r);if(h[g+59|0]<=-1){T(j[g+48>>2])}jb(b,n,g+48|0);c=c+j[g+96>>2]|0;n=h[c+11|0];W:{if((j[g+48>>2]&3)==3){c=(n|0)<=-1?j[c>>2]:c;n=32;break W}c=(n|0)<=-1?j[c>>2]:c;n=45}h[c+o|0]=n;if(h[g+123|0]>-1){break V}T(j[g+112>>2])}e=e+1|0;n=j[g+96>>2];if(e>>>0<(j[g+100>>2]-n|0)/12>>>0){continue}break}}if(s){break k}c=j[b>>2];if(!c|(j[g+92>>2]?0:j[g+96>>2]!=j[g+100>>2])|!j[c+4284>>2]){break k}e=b+4|0;X:{Y:{Z:{switch(j[f>>2]){case 0:Ed(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,e,0);if((C()|0)<=(t+25e4|0)){break k}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g;case 4:h[d|0]=1;case 3:c=ha(g+112|0,g+80|0);_:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break _}Pa(c,j[b+36>>2])}Ed(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,e,3);if((C()|0)<=(t+25e4|0)){break Y}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 1:h[d|0]=1;c=ha(g+112|0,g+80|0);$:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break $}Pa(c,j[b+36>>2])}Ed(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,e,1);if((C()|0)<=(t+25e4|0)){break X}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 2:break Z;default:break k}}c=ha(g+48|0,g+80|0);aa:{if(j[b+44>>2]){Ua(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break aa}Pa(c,j[b+36>>2])}d=j[g+96>>2];f=j[g+100>>2];Ed(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+48|0,e,2);e=(f-d|0)/12|0;o=(C()|0)>(t+25e4|0);if(o){break m}f=j[g+96>>2];if((j[g+100>>2]-f|0)/12>>>0<=e>>>0){break l}while(1){d=p(e,12)+f|0;ba:{if(j[b+44>>2]){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;ia(g+112|0,d);Oc(g+112|0,j[b+40>>2]);da(d,g+112|0);d=j[g+112>>2];if(!d){break ba}j[g+116>>2]=d;T(d);break ba}Pc(d,j[b+36>>2])}e=e+1|0;f=j[g+96>>2];if(e>>>0<(j[g+100>>2]-f|0)/12>>>0){continue}break}break l}if(h[c+11|0]>-1){break k}T(j[c>>2]);break k}if(h[c+11|0]>-1){break k}T(j[c>>2]);break k}X();z()}X();z()}X();z()}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0}if(h[c+11|0]<=-1){T(j[c>>2])}if(o){break g}}e=0;ca:{n=Ba(g+80|0,45,0);if((n|0)==-1){break ca}o=1;f=j[g+96>>2];if((f|0)!=j[g+100>>2]){while(1){da:{c=Ba(p(e,12)+f|0,45,0);f=j[g+96>>2];if((c|0)!=-1){break da}e=e+1|0;if(e>>>0<(j[g+100>>2]-f|0)/12>>>0){continue}}break}o=(c|0)==-1}t=t+25e4|0;d=0;r=0;while(1){if(r&1|(!o|s)){break ca}e=j[g+84>>2];c=k[g+91|0];sa(g+112|0,g+80|0,d,n-d|0);r=((c<<24>>24<0?e:c)|0)==(n|0)|r;o=1;ea:{if(!Ic(b,h[g+123|0]<0?j[g+112>>2]:g+112|0)){e=h[g+123|0]<0?j[g+112>>2]:g+112|0;c=W(e);if(c>>>0>=4294967280){break d}fa:{ga:{if(c>>>0>=11){o=c+16&-16;f=U(o);j[g+40>>2]=o|-2147483648;j[g+32>>2]=f;j[g+36>>2]=c;break ga}h[g+43|0]=c;f=g+32|0;if(!c){break fa}}V(f,e,c)}h[c+f|0]=0;Rh(g+48|0,b,g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}q=C()|0;ha:{ia:{if((q|0)>(t|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;o=1;e=j[g+48>>2];c=1;if(e){break ia}break ha}e=j[g+52>>2];if((e|0)==j[g+48>>2]){o=0;c=0;if(e){break ia}break ha}ja:{if(!(r&1)){o=n+1|0;while(1){c=sa(g+32|0,g+80|0,0,d);e=e-12|0;u=k[e+11|0];f=u<<24>>24<0;aa(c,f?j[e>>2]:e,f?j[e+4>>2]:u);$(c,121111);sa(g+16|0,g+80|0,o,-1);f=k[g+27|0];u=f<<24>>24<0;aa(c,u?j[g+16>>2]:g+16|0,u?j[g+20>>2]:f);if(h[g+27|0]<=-1){T(j[g+16>>2])}j[g+16>>2]=0;f=j[b>>2];if(!(!f|!l[f+4192>>1])){_a(b,c,g+16|0,0)}if(!(k[g+16|0]&2)){Jc(g+96|0,j[g+96>>2],c)}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(j[g+48>>2]!=(e|0)){continue}break}break ja}while(1){c=sa(g+32|0,g+80|0,0,d);e=e-12|0;o=k[e+11|0];f=o<<24>>24<0;aa(c,f?j[e>>2]:e,f?j[e+4>>2]:o);j[g+16>>2]=0;f=j[b>>2];if(!(!f|!l[f+4192>>1])){_a(b,c,g+16|0,0)}if(!(k[g+16|0]&2)){Jc(g+96|0,j[g+96>>2],c)}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(j[g+48>>2]!=(e|0)){continue}break}}c=0}o=c;c=j[g+52>>2];f=e;ka:{if((e|0)==(c|0)){break ka}while(1){f=c-12|0;if(h[c-1|0]<=-1){T(j[f>>2])}c=f;if((e|0)!=(c|0)){continue}break}f=j[g+48>>2]}j[g+52>>2]=e;T(f)}e=0;if((q|0)>(t|0)){break ea}}e=1;if(!(r&1)){d=n+1|0;n=Ba(g+80|0,45,d)}if((n|0)!=-1){break ea}c=h[g+91|0];if((c|0)<=-1){n=j[g+84>>2];break ea}n=c&255}if(h[g+123|0]<=-1){T(j[g+112>>2])}if(e){continue}break}break g}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0}a=j[g+64>>2];if(a){j[g+68>>2]=a;T(a)}if(h[g+91|0]<=-1){T(j[g+80>>2])}a=j[g+96>>2];if(!a){break a}c=a;b=j[g+100>>2];d=c;la:{if((c|0)==(b|0)){break la}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((a|0)!=(c|0)){continue}break}d=j[g+96>>2]}c=d;j[g+100>>2]=a;T(c);break a}X();z()}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[g+100>>2]=0;j[g+104>>2]=0}M=g+128|0}function jb(a,b,c){var d=0,e=0,f=0,g=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=M-128|0;M=d;j[d+124>>2]=0;a:{if(!c){c=d+124|0;break a}j[c>>2]=0}b:{c:{e=k[b+11|0];if(((e<<24>>24<0?j[b+4>>2]:e)|0)!=7){break c}if(_(b,0,-1,121100,7)){break c}q=1;break b}g=k[b+11|0];e=g<<24>>24;f=j[b+4>>2];d:{if(j[a+44>>2]){if(f>>>0<=299|(e|0)>-1){break d}break b}if(((e|0)<0?f:g)>>>0>99){break b}}j[d+120>>2]=0;j[d+116>>2]=0;j[d+112>>2]=0;j[d+104>>2]=0;j[d+108>>2]=0;j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;m=a;o=d+104|0;v=d+88|0;e=j[a>>2];e:{f:{if(!e){j[d+80>>2]=0;j[d+72>>2]=0;j[d+76>>2]=0;break f}g=j[e+4204>>2];j[d+80>>2]=0;j[d+72>>2]=0;j[d+76>>2]=0;if(!g){break f}f=d+72|0;if(Yc(g,b,d+72|0)){break e}}f=b}n=Pe(m,o,v,f,d+120|0,d+116|0);if(h[d+83|0]<=-1){T(j[d+72>>2])}q=1;g:{if(!n|j[a+4>>2]==j[a+8>>2]){break g}b=0;m=j[d+104>>2];h:{i:{if(h[d+115|0]>=0){g=m<<24>>24;if((g|0)<58){break i}e=0;break h}g=n>>>0>1?n:1;e=0;while(1){s=h[b+m|0];if((s|0)>57){break h}f=1;if((s|0)<=47){if(!b|(s-44&255)>>>0>2){break h}f=2;if((e|0)==2){break h}}e=f;b=b+1|0;if((g|0)!=(b|0)){continue}break}b=g;break h}m=n>>>0>1?n:1;f=0;while(1){e=1;j:{if(g<<24>>24>47){break j}if((g-44&255)>>>0>2){e=f;break h}if(!b){e=f;break h}e=2;if((f|0)!=2){break j}e=f;break h}b=b+1|0;if((m|0)==(b|0)){b=m;break h}f=e;g=h[(d+104|0)+b|0];if((g|0)<58){continue}break}}if((e|0)==1?(b|0)==(n|0):0){break g}k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{s=j[d+120>>2];switch(s|0){case 1:break r;case 2:break s;case 0:break t;case 3:case 4:break u;default:break o}}j[c>>2]=j[c>>2]+32}e=_a(a,d+104|0,c,0);if(e|!j[d+116>>2]){break q}b=ha(d+72|0,d+104|0);Z(b,46);e=_a(a,b,c,0);if(h[b+11|0]>-1){break q}T(j[b>>2]);break q}j[c>>2]=j[c>>2]+32;e=_a(a,d+104|0,c,0);if(e){break p}n=j[d+116>>2];if(n){b=ha(d+72|0,d+104|0);Z(b,46);e=_a(a,b,c,0);if(h[b+11|0]<=-1){T(j[b>>2])}if(e){break p}}if(!j[a>>2]){break r}b=Ba(d+104|0,39,0);v:{if((b|0)==-1){break v}w:{if(j[a+44>>2]){Ua(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break w}Pa(d+104|0,j[a+36>>2])}e=k[d+115|0];if(b>>>0>=(e<<24>>24<0?j[d+108>>2]:e)-1>>>0){break v}b=b+1|0;g=sa(d+72|0,d+104|0,0,b);f=sa(d+56|0,d+104|0,b,-1);x:{y:{if(j[a+44>>2]){j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;ia(d+40|0,g);ia(d+24|0,f);z:{if(j[a+44>>2]){vb(d+24|0,j[a+40>>2]);da(f,d+24|0);break z}nb(f,j[a+36>>2])}o=j[f+4>>2];b=k[f+11|0];j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;e=k[g+11|0];m=e<<24>>24<0;e=m?j[g+4>>2]:e;v=o;o=b<<24>>24;r=(o|0)<0?v:b;b=e+r|0;if(b>>>0>=4294967280){break n}t=j[g>>2];A:{if(b>>>0<=10){h[d+19|0]=e;b=d+8|0;break A}u=b+16&-16;b=U(u);j[d+16>>2]=u|-2147483648;j[d+8>>2]=b;j[d+12>>2]=e}if(e){V(b,m?t:d+72|0,e)}h[b+e|0]=0;aa(d+8|0,(o|0)<0?j[f>>2]:d+56|0,r);if(h[d+115|0]<=-1){T(j[d+104>>2])}j[d+112>>2]=j[d+16>>2];b=j[d+12>>2];j[d+104>>2]=j[d+8>>2];j[d+108>>2]=b;Oe(d+88|0,j[d+40>>2],j[d+44>>2]);Pq(d+88|0,j[d+92>>2],j[d+24>>2],j[d+28>>2]);e=_a(a,d+104|0,c,0);b=j[d+24>>2];if(b){j[d+28>>2]=b;T(b)}b=j[d+40>>2];if(b){j[d+44>>2]=b;T(b)}b=5;if(!e){break y}break x}nb(f,j[a+36>>2]);o=j[f+4>>2];b=k[f+11|0];j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;e=k[g+11|0];m=e<<24>>24<0;e=m?j[g+4>>2]:e;v=o;o=b<<24>>24;r=(o|0)<0?v:b;b=e+r|0;if(b>>>0>=4294967280){break m}t=j[g>>2];B:{if(b>>>0<=10){h[d+51|0]=e;b=d+40|0;break B}u=b+16&-16;b=U(u);j[d+48>>2]=u|-2147483648;j[d+40>>2]=b;j[d+44>>2]=e}if(e){V(b,m?t:d+72|0,e)}h[b+e|0]=0;aa(d+40|0,(o|0)<0?j[f>>2]:d+56|0,r);if(h[d+115|0]<=-1){T(j[d+104>>2])}j[d+112>>2]=j[d+48>>2];b=j[d+44>>2];j[d+104>>2]=j[d+40>>2];j[d+108>>2]=b;b=5;e=_a(a,d+104|0,c,0);if(e){break x}}C:{if(j[a+44>>2]){vb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break C}nb(d+104|0,j[a+36>>2])}e=_a(a,d+104|0,c,0);b=e?5:0}if(h[f+11|0]<=-1){T(j[f>>2])}if(h[g+11|0]<=-1){T(j[g>>2])}if(b){break q}}b=j[a>>2];if(!b|!j[b+4480>>2]){break r}e=k[d+115|0];b=e<<24>>24<0;e=b?j[d+108>>2]:e;if((e|0)<2){break r}b=b?j[d+104>>2]:d+104|0;f=b+e|0;g=b;while(1){e=Aa(g,83,e-1|0);if(!e){break r}if((k[e|0]|k[e+1|0]<<8)!=21331){g=e+1|0;e=f-g|0;if((e|0)>=2){continue}break r}break}if((e|0)==(f|0)|(e-b|0)==-1){break r}D:{if(j[a+44>>2]){Ua(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break D}Pa(d+104|0,j[a+36>>2])}b=ha(d+72|0,d+104|0);e=Kc(a,b,0,0,0,c,0);E:{if(e){break E}F:{if(j[a+44>>2]){vb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break F}nb(d+104|0,j[a+36>>2])}e=Kc(a,d+104|0,0,0,0,c,0);if(e|!n){break E}Z(b,46);e=Kc(a,b,0,0,0,c,0);if(e){break E}ha(d+56|0,d+104|0);if(h[b+11|0]<=-1){T(j[b>>2])}j[d+80>>2]=j[d- -64>>2];e=j[d+60>>2];j[d+72>>2]=j[d+56>>2];j[d+76>>2]=e;Z(b,46);e=Kc(a,b,0,0,0,c,0)}if(h[b+11|0]<=-1){T(j[b>>2])}if(e){break p}}b=0;G:{if(!j[a+44>>2]){break G}H:{if(h[d+115|0]<=-1){e=j[d+104>>2];if(k[e|0]==196){break H}break G}e=d+104|0;if(k[d+104|0]!=196){break G}}b=k[e+1|0]==176}e=j[c>>2];j[c>>2]=e+32;I:{if((s|0)==2){J:{if(j[a+44>>2]){Ua(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break J}Pa(d+104|0,j[a+36>>2])}K:{if(j[a+44>>2]){vb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break K}nb(d+104|0,j[a+36>>2])}if(b){jf(d+104|0,0,1,121108)}m=0;e=_a(a,d+104|0,c,0);break I}m=1;if((s|0)!=1){m=0;e=_a(a,d+104|0,c,0);break I}j[c>>2]=e+48;e=_a(a,d+104|0,c,0);j[c>>2]=j[c>>2]-16}if(k[c|0]&2){break o}if(e){f=j[a>>2];if(!f){break g}if(!j[e+4>>2]|!l[f+4466>>1]){break p}g=j[e+4>>2];f=i[e+2>>1];t=g+(f<<1)|0;n=l[j[a>>2]+4466>>1];if(f){while(1){o=f>>>1|0;u=(o<<1)+g|0;r=n>>>0>l[u>>1];g=r?u+2|0:g;f=r?(o^-1)+f|0:o;if(f){continue}break}}if((g|0)==(t|0)|(s|0)!=2|n>>>0>1]){break p}}if(b){b=j[a+40>>2]-90|0;if(b>>>0>12|!(1<>2]){Ua(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break L}Pa(d+104|0,j[a+36>>2])}n=ha(d+72|0,d+104|0);M:{if(j[a+44>>2]){vb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break M}nb(d+104|0,j[a+36>>2])}e=_a(a,n,c,0);N:{O:{P:{if(!(e|!j[d+116>>2])){Z(n,46);e=_a(a,n,c,0);if(e){break P}ua(n,d+104|0);Z(n,46);Q:{if(!m){m=_a(a,n,c,0);break Q}j[c>>2]=j[c>>2]+16;m=_a(a,n,c,0);j[c>>2]=j[c>>2]-16}if(!m){break O}b=m;e=j[a>>2];f=0;R:{if(!e){break R}f=0;if(!j[m+4>>2]){break R}f=0;if(!l[e+4466>>1]){break R}e=j[m+4>>2];g=i[m+2>>1];t=e+(g<<1)|0;o=l[j[a>>2]+4466>>1];if(g){while(1){f=g>>>1|0;u=(f<<1)+e|0;r=o>>>0>l[u>>1];e=r?u+2|0:e;g=r?(f^-1)+g|0:f;if(g){continue}break}}f=0;if((e|0)==(t|0)){break R}f=o>>>0>=l[e>>1]}e=(s|0)==2?f?0:b:m;break N}if(!e){break O}}b=j[a>>2];if(!b|!j[e+4>>2]|!l[b+4466>>1]){break N}g=j[e+4>>2];f=i[e+2>>1];r=g+(f<<1)|0;b=l[j[a>>2]+4466>>1];if(f){while(1){m=f>>>1|0;t=(m<<1)+g|0;o=b>>>0>l[t>>1];g=o?t+2|0:g;f=o?(m^-1)+f|0:m;if(f){continue}break}}if((g|0)==(r|0)|b>>>0>1]){break N}if(!j[j[a>>2]+4480>>2]|(s|0)==2){break O}if(j[a+44>>2]){b=k[n+11|0];f=b<<24>>24<0;b=f?j[n+4>>2]:b;if((b|0)<2){break O}f=f?j[n>>2]:d+72|0;m=f+b|0;g=f;while(1){b=Aa(g,195,b-1|0);if(!b){break O}if((k[b|0]|k[b+1|0]<<8)!=40899){g=b+1|0;b=m-g|0;if((b|0)>=2){continue}break O}break}if((b|0)==(m|0)|(b-f|0)==-1){break O}break N}if((Ba(n,-33,0)|0)!=-1){break N}}e=0}if(h[n+11|0]>-1){break q}T(j[n>>2])}if(!e){break o}}b=j[a>>2];if(!b|!l[b+4470>>1]){break g}b=j[e+4>>2];if(!b){break g}e=i[e+2>>1];n=(e<<1)+b|0;f=l[j[a>>2]+4470>>1];if(e){while(1){g=e>>>1|0;s=(g<<1)+b|0;m=f>>>0>l[s>>1];b=m?s+2|0:b;e=m?(g^-1)+e|0:g;if(e){continue}break}}if((b|0)==(n|0)|f>>>0>1]){break g}j[c>>2]=j[c>>2]- -64;q=!j[j[a>>2]+4472>>2];break g}q=0;m=j[a+52>>2];e=j[a+56>>2];if(k[c|0]&2|(m|0)==(e|0)){break g}b=0;f=k[d+115|0];c=f<<24>>24<0;s=c?j[d+108>>2]:f;e=e-m|0;if(!e){break k}e=(e|0)/12|0;r=e>>>0>1?e:1;q=c?j[d+104>>2]:d+104|0;n=q+s|0;g=0;while(1){c=0;e=p(b,12)+m|0;f=k[e+11|0];o=f<<24>>24<0;f=o?j[e+4>>2]:f;o=o?j[e>>2]:e;while(1){S:{if(f){e=c+q|0;c=n-e|0;if((f|0)>(c|0)){break S}t=k[o|0];while(1){u=c-f|0;c=u+1|0;if(c>>>0>>0){break S}c=Aa(e,t,c);if(!c){break S}if(qa(c,o,f)){e=c+1|0;c=n-e|0;if((f|0)<=(c|0)){continue}break S}break}if((c|0)==(n|0)){break S}c=c-q|0}if((c|0)==-1){break S}g=g+1|0;c=c+f|0;if(s>>>0>=c>>>0){continue}}break}b=b+1|0;if((r|0)!=(b|0)){continue}break}break l}X();z()}X();z()}q=0;if((g|0)>9){break g}}b=0;T:{U:{while(1){V:{c=m;m=p(b,12);e=c+m|0;c=k[e+11|0];f=c<<24>>24;W:{X:{if((f|0)<=-1){c=j[e+4>>2];if((c|0)==1|c>>>0>s>>>0){break W}f=j[e>>2];break X}if((f|0)==1|c>>>0>s>>>0){break W}f=e}g=c-1|0;Y:{if(k[f|0]!=94){break Y}if(Ud(d+104|0,0,g,e,1,g)){break Y}e=jb(a,sa(d+72|0,d+104|0,g,-1),0);if(h[d+83|0]<=-1){T(j[d+72>>2])}if(e){break T}}e=m+j[a+52>>2]|0;Z:{if(h[e+11|0]<=-1){f=j[e>>2];break Z}f=e}if(k[f+g|0]!=36){break W}c=(s-c|0)+1|0;if(Ud(d+104|0,c,g,e,0,g)){break W}sa(d+72|0,d+104|0,c,-1);Wa(d+104|0,c);e=jb(a,d+104|0,0);f=k[d+83|0];c=f<<24>>24;if(e){break V}c=(c|0)<0;aa(d+104|0,c?j[d+72>>2]:d+72|0,c?j[d+76>>2]:f);if(h[d+83|0]>-1){break W}T(j[d+72>>2])}b=b+1|0;c=j[a+56>>2];m=j[a+52>>2];if(b>>>0<(c-m|0)/12>>>0){continue}break U}break}if((c|0)>-1){break T}T(j[d+72>>2]);break T}if((c|0)==(m|0)){break g}t=0;while(1){u=p(t,12);c=u+m|0;b=k[c+11|0];e=b<<24>>24;if((e|0)<=-1){b=j[c+4>>2]}_:{if(!b){break _}r=(e|0)<0?j[c>>2]:c;c=k[d+115|0];e=c<<24>>24<0;g=e?j[d+104>>2]:d+104|0;m=e?j[d+108>>2]:c;f=g+m|0;c=f;$:{if((b|0)>(m|0)){break $}n=k[r|0];c=m;e=g;while(1){aa:{q=c-b|0;c=q+1|0;if(c>>>0>>0){break aa}c=Aa(e,n,c);if(!c){break aa}if(!qa(c,r,b)){break $}e=c+1|0;c=f-e|0;if((c|0)>=(b|0)){continue}}break}c=f}o=(c|0)==(f|0)?-1:c-g|0;if(!o){break _}e=s-b|0;if(e>>>0<=o>>>0){break _}c=-1;v=a;w=d+72|0;x=d+104|0;if(m>>>0>o>>>0){q=(g+o|0)+1|0;c=f-q|0;ba:{ca:{if((c|0)<(b|0)){break ca}m=k[r|0];while(1){n=c-b|0;c=n+1|0;if(c>>>0>>0){break ca}c=Aa(q,m,c);if(!c){break ca}if(!qa(c,r,b)){break ba}q=c+1|0;c=f-q|0;if((c|0)>=(b|0)){continue}break}}c=f}c=(c|0)==(f|0)?-1:c-g|0}c=c?c>>>0>>0?c:o:o;b=jb(v,sa(w,x,c+b|0,-1),0);if(h[d+83|0]<=-1){T(j[d+72>>2])}if(!b){break _}sa(d+72|0,d+104|0,c,-1);Wa(d+104|0,c);b=0;da:{if(jb(a,d+104|0,0)){break da}b=k[d+83|0];e=b<<24>>24<0;aa(d+104|0,e?j[d+72>>2]:d+72|0,e?j[d+76>>2]:b);b=1;if(j[a+40>>2]!=36){break da}e=u+j[a+52>>2]|0;f=k[e+11|0];b=1;if(((f<<24>>24<0?j[e+4>>2]:f)|0)!=1){break da}b=1;if(_(e,0,-1,121111,1)){break da}b=c+1|0;sa(d+56|0,d+104|0,b,-1);if(h[d+83|0]<=-1){T(j[d+72>>2])}j[d+80>>2]=j[d- -64>>2];c=j[d+60>>2];j[d+72>>2]=j[d+56>>2];j[d+76>>2]=c;Wa(d+104|0,b);b=0;if(jb(a,d+104|0,0)){break da}b=k[d+83|0];c=b<<24>>24<0;aa(d+104|0,c?j[d+72>>2]:d+72|0,c?j[d+76>>2]:b);b=1}if(h[d+83|0]<=-1){T(j[d+72>>2])}if(!b){break T}}t=t+1|0;b=j[a+56>>2];m=j[a+52>>2];if(t>>>0<(b-m|0)/12>>>0){continue}break}if((b|0)==(m|0)){q=0;break g}f=0;ea:{while(1){fa:{n=p(f,12);e=n+m|0;b=k[e+11|0];q=b<<24>>24;if((q|0)<=-1){b=j[e+4>>2]}ga:{if(!b){break ga}c=k[d+115|0];m=c<<24>>24<0;g=m?j[d+104>>2]:d+104|0;c=m?j[d+108>>2]:c;m=g+c|0;ha:{ia:{if((b|0)>(c|0)){break ia}q=(q|0)<0?j[e>>2]:e;o=k[q|0];e=g;while(1){r=c-b|0;c=r+1|0;if(c>>>0>>0){break ia}c=Aa(e,o,c);if(!c){break ia}if(!qa(c,q,b)){break ha}e=c+1|0;c=m-e|0;if((c|0)>=(b|0)){continue}break}}c=m}c=(c|0)==(m|0)?-1:c-g|0;if(!c|c>>>0>=s-b>>>0){break ga}b=jb(a,sa(d+72|0,d+104|0,b+c|0,-1),0);if(h[d+83|0]<=-1){T(j[d+72>>2])}if(!b){break ga}sa(d+72|0,d+104|0,c,-1);Wa(d+104|0,c);e=jb(a,d+104|0,0);g=k[d+83|0];b=g<<24>>24;if(e){break fa}b=(b|0)<0;aa(d+104|0,b?j[d+72>>2]:d+72|0,b?j[d+76>>2]:g);ja:{if(j[a+40>>2]!=36){break ja}b=n+j[a+52>>2]|0;e=k[b+11|0];if(((e<<24>>24<0?j[b+4>>2]:e)|0)!=1){break ja}if(_(b,0,-1,121111,1)){break ja}b=c+1|0;sa(d+56|0,d+104|0,b,-1);if(h[d+83|0]<=-1){T(j[d+72>>2])}j[d+80>>2]=j[d- -64>>2];c=j[d+60>>2];j[d+72>>2]=j[d+56>>2];j[d+76>>2]=c;Wa(d+104|0,b);c=jb(a,d+104|0,0);e=k[d+83|0];b=e<<24>>24;if(c){break ea}b=(b|0)<0;aa(d+104|0,b?j[d+72>>2]:d+72|0,b?j[d+76>>2]:e)}if(h[d+83|0]>-1){break ga}T(j[d+72>>2])}q=0;f=f+1|0;m=j[a+52>>2];if(f>>>0<(j[a+56>>2]-m|0)/12>>>0){continue}break g}break}if((b|0)>-1){break T}T(j[d+72>>2]);break T}if((b|0)>-1){break T}T(j[d+72>>2])}q=1}a=j[d+88>>2];if(a){j[d+92>>2]=a;T(a)}if(h[d+115|0]>-1){break b}T(j[d+104>>2])}M=d+128|0;return q}function Iq(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0;d=M-144|0;M=d;a:{if(!(j[b+4>>2]!=j[b+8>>2]?j[b+16>>2]:0)){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}f=k[c+11|0];e=f<<24>>24;b:{if(j[b+44>>2]){if(m[c+4>>2]<300|(e|0)>-1){break b}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}if(((e|0)<0?j[c+4>>2]:f)>>>0<100){break b}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}j[d+140>>2]=0;j[d+136>>2]=0;j[d+128>>2]=0;j[d+120>>2]=0;j[d+124>>2]=0;j[d+112>>2]=0;j[d+104>>2]=0;j[d+108>>2]=0;p=b;o=d+120|0;q=d+104|0;e=j[b>>2];c:{d:{if(!e){j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;break d}l=j[e+4204>>2];j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;if(!l){break d}f=d+88|0;if(Yc(l,c,d+88|0)){break c}}f=c}e=Pe(p,o,q,f,d+140|0,d+136|0);if(h[d+99|0]<=-1){T(j[d+88>>2])}e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{if(!e){c=j[d+136>>2];if(!c){break n}o:{if(h[d+131|0]<=-1){h[j[d+120>>2]]=0;j[d+124>>2]=0;break o}h[d+131|0]=0;h[d+120|0]=0}e=c>>>0>1?c:1;c=0;while(1){Z(d+120|0,46);c=c+1|0;if((e|0)!=(c|0)){continue}break}j[d+136>>2]=0}c=0;j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;l=b;if(j[b+40>>2]!=36){break g}if(!e){break j}f=j[d+120>>2];if(h[d+131|0]<0){break m}while(1){b=f<<24>>24;if((b|0)>57){break k}p:{if((b|0)>47){break p}q:{switch((f&255)-44|0){case 0:case 2:break q;default:break k}}if(c){break p}c=0;break k}r:{s:{t:{b=c+1|0;f=k[b+(d+120|0)|0];switch(f-44|0){case 2:break s;case 0:break t;default:break r}}f=44}if(!(c>>>0<=2|n)){c=b;break k}u:{if(!n){break u}p=(d+120|0)+c|0;c=b;switch(k[p|0]-44|0){case 0:case 2:break k;default:break u}}n=n+1|0;g=b}c=b;if((b|0)!=(e|0)){continue}break}break l}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break e}p=k[f|0];while(1){b=p<<24>>24;if((b|0)>57){break k}v:{if((b|0)>47){break v}w:{switch((p&255)-44|0){case 0:case 2:break w;default:break k}}if(c){break v}c=0;break k}x:{y:{z:{b=c+1|0;p=k[b+f|0];switch(p-44|0){case 2:break y;case 0:break z;default:break x}}p=44}if(!(c>>>0<=2|n)){c=b;break k}A:{if(!n){break A}o=c+f|0;c=b;switch(k[o|0]-44|0){case 0:case 2:break k;default:break A}}n=n+1|0;g=b}c=b;if((b|0)!=(e|0)){continue}break}}c=e}if(!(!g|(c|0)!=(e|0)|c-g>>>0<4)){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break f}if((c|0)!=(e|0)){break i}}e=1;f=d+120|0;break h}if(!c){break g}B:{C:{if(h[d+131|0]<=-1){e=k[j[d+120>>2]+c|0];if((e|0)!=37){break C}break B}e=k[(d+120|0)+c|0];if((e|0)==37){break B}}if((e|0)!=176){break g}}e=0;b=sa(d+72|0,d+120|0,c,-1);g=_a(l,b,0,0);if(h[b+11|0]<=-1){T(j[b>>2])}f=d+120|0;if(!g){break g}}b=k[f+11|0];f=b<<24>>24<0;aa(d+88|0,f?j[d+120>>2]:d+120|0,f?j[d+124>>2]:b);b=c-1|0;Wa(d+88|0,b);D:{if(e){c=j[l+16>>2];e=sa(d+56|0,d+120|0,b,-1);Za(d+72|0,c,e);c=k[d+83|0];b=c<<24>>24;f=j[d+76>>2];if((b|0)<0?f:c){g=k[d+99|0];if(g<<24>>24<0?j[d+92>>2]:g){$(d+88|0,121137);f=j[d+76>>2];c=k[d+83|0];b=c}b=b<<24>>24<0;aa(d+88|0,b?j[d+72>>2]:d+72|0,b?f:c);b=k[d+83|0]}if(b<<24>>24<=-1){T(j[d+72>>2])}if(h[e+11|0]>-1){break D}T(j[e>>2]);break D}e=sa(d+72|0,d+120|0,b,1);Za(d+56|0,j[l+16>>2],e);f=k[d+67|0];b=f<<24>>24;g=j[d+60>>2];if((b|0)<0?g:f){p=k[d+99|0];if(p<<24>>24<0?j[d+92>>2]:p){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];b=f}b=b<<24>>24<0;aa(d+88|0,b?j[d+56>>2]:d+56|0,b?g:f);b=k[d+67|0]}if(b<<24>>24<=-1){T(j[d+56>>2])}Z(d+88|0,43);b=j[l+16>>2];f=sa(d+40|0,d+120|0,c,-1);Za(d+56|0,b,f);c=k[d+67|0];b=c<<24>>24;g=j[d+60>>2];if((b|0)<0?g:c){l=k[d+99|0];if(l<<24>>24<0?j[d+92>>2]:l){$(d+88|0,121137);g=j[d+60>>2];c=k[d+67|0];b=c}b=b<<24>>24<0;aa(d+88|0,b?j[d+56>>2]:d+56|0,b?g:c);b=k[d+67|0]}if(b<<24>>24<=-1){T(j[d+56>>2])}if(h[f+11|0]<=-1){T(j[f>>2])}if(h[e+11|0]>-1){break D}T(j[e>>2])}Ab(a,d+88|0,10);break f}E:{F:{switch(j[d+140>>2]){case 0:case 3:case 4:Za(d+72|0,j[l+16>>2],d+120|0);e=k[d+83|0];c=e<<24>>24;f=j[d+76>>2];if((c|0)<0?f:e){b=k[d+99|0];if(b<<24>>24<0?j[d+92>>2]:b){$(d+88|0,121137);f=j[d+76>>2];e=k[d+83|0];c=e}b=c<<24>>24<0;aa(d+88|0,b?j[d+72>>2]:d+72|0,b?f:e);c=k[d+83|0]}if(c<<24>>24<=-1){T(j[d+72>>2])}if(!j[d+136>>2]){break E}b=ha(d+72|0,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];c=f<<24>>24;g=j[d+60>>2];if((c|0)<0?g:f){e=k[d+99|0];if(e<<24>>24<0?j[d+92>>2]:e){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];c=f}c=c<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);c=k[d+67|0]}if(c<<24>>24<=-1){T(j[d+56>>2])}if(h[b+11|0]>-1){break E}T(j[b>>2]);break E;case 1:G:{if(j[l+44>>2]){Ua(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break G}Pa(d+120|0,j[l+36>>2])}b=ha(d+72|0,d+120|0);H:{if(j[l+44>>2]){vb(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break H}nb(d+120|0,j[l+36>>2])}Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}Za(d+56|0,j[l+16>>2],d+120|0);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}I:{if(!j[d+136>>2]){break I}Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}ua(b,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24>-1){break I}T(j[d+56>>2])}if(h[b+11|0]>-1){break E}T(j[b>>2]);break E;case 2:break F;default:break E}}Za(d+72|0,j[l+16>>2],d+120|0);e=k[d+83|0];c=e<<24>>24;f=j[d+76>>2];if((c|0)<0?f:e){b=k[d+99|0];if(b<<24>>24<0?j[d+92>>2]:b){$(d+88|0,121137);f=j[d+76>>2];e=k[d+83|0];c=e}b=c<<24>>24<0;aa(d+88|0,b?j[d+72>>2]:d+72|0,b?f:e);c=k[d+83|0]}if(c<<24>>24<=-1){T(j[d+72>>2])}p=j[d+136>>2];J:{if(!p){break J}b=ha(d+72|0,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];c=f<<24>>24;g=j[d+60>>2];if((c|0)<0?g:f){e=k[d+99|0];if(e<<24>>24<0?j[d+92>>2]:e){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];c=f}c=c<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);c=k[d+67|0]}if(c<<24>>24<=-1){T(j[d+56>>2])}if(h[b+11|0]>-1){break J}T(j[b>>2])}K:{if(j[l+44>>2]){Ua(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break K}Pa(d+120|0,j[l+36>>2])}b=ha(d+72|0,d+120|0);L:{if(j[l+44>>2]){vb(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break L}nb(d+120|0,j[l+36>>2])}Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}Za(d+56|0,j[l+16>>2],d+120|0);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}M:{if(!p){break M}Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}ua(b,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24>-1){break M}T(j[d+56>>2])}if(h[b+11|0]>-1){break E}T(j[b>>2])}b=k[d+99|0];if(b<<24>>24<0?j[d+92>>2]:b){N:{if(!j[l+48>>2]){break N}if(j[l+44>>2]){ob(d+88|0);break N}Va(d+88|0)}Ab(a,d+88|0,10);break f}O:{if(j[l+40>>2]!=36){break O}e=Ba(d+120|0,45,0);if((e|0)==-1){break O}c=sa(d+72|0,d+120|0,0,e);P:{Q:{R:{S:{T:{p=e+1|0;o=sa(d+56|0,d+120|0,p,-1);b=h[o+11|0];if((b|0)<=-1){switch(j[o+4>>2]){case 1:break S;case 0:break T;default:break Q}}n=d+56|0;switch(b&255){case 1:break R;case 0:break T;default:break Q}}if(!jb(l,c,0)){break P}Za(d+40|0,j[l+16>>2],c);b=h[d+51|0];U:{if((b|0)<=-1){if(j[d+44>>2]){break U}T(j[d+40>>2]);break P}if(!b){break P}}Ab(d+24|0,d+40|0,10);b=j[d+28>>2];e=j[d+24>>2];j[a+8>>2]=j[d+32>>2];j[a>>2]=e;j[a+4>>2]=b;if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}n=j[o>>2]}if(k[n|0]!=101){break Q}if(!jb(l,c,0)){break P}if(!Ic(l,121139)){break P}Za(d+40|0,j[l+16>>2],c);e=k[d+51|0];b=e<<24>>24<0;e=b?j[d+44>>2]:e;if(e){aa(d+88|0,b?j[d+40>>2]:d+40|0,e)}Z(d+88|0,43);b=j[l+16>>2];h[d+10|0]=0;i[d+8>>1]=25901;h[d+19|0]=2;Za(d+24|0,b,d+8|0);if(h[d+51|0]<=-1){T(j[d+40>>2])}j[d+48>>2]=j[d+32>>2];b=j[d+28>>2];j[d+40>>2]=j[d+24>>2];j[d+44>>2]=b;h[d+24|0]=0;h[d+35|0]=0;if(h[d+19|0]<=-1){T(j[d+8>>2])}b=h[d+51|0];e=(b|0)<0?j[d+44>>2]:b&255;if(e){aa(d+88|0,(b|0)<0?j[d+40>>2]:d+40|0,e)}Ab(a,d+88|0,10);if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}Z(c,32);b=jb(l,c,0);f=k[c+11|0];xb(c,(f<<24>>24<0?j[c+4>>2]:f)-1|0,-1);if(!b){break P}V:{if(!jb(l,o,0)){break V}b=h[o+11|0];W:{X:{if((b|0)<=-1){if(m[o+4>>2]>1){break W}f=h[j[o>>2]];if((f|0)>=49){break X}break V}if((b&255)>>>0>1){break W}f=h[d+56|0];if((f|0)<=48){break V}}if((f|0)>56){break V}}Za(d+40|0,j[l+16>>2],c);e=k[d+51|0];b=e<<24>>24<0;e=b?j[d+44>>2]:e;if(e){aa(d+88|0,b?j[d+40>>2]:d+40|0,e);Z(d+88|0,43)}Za(d+24|0,j[l+16>>2],o);if(h[d+51|0]<=-1){T(j[d+40>>2])}j[d+48>>2]=j[d+32>>2];b=j[d+28>>2];j[d+40>>2]=j[d+24>>2];j[d+44>>2]=b;e=h[d+51|0];b=(e|0)<0;e=b?j[d+44>>2]:e&255;if(e){aa(d+88|0,b?j[d+40>>2]:d+40|0,e)}Ab(a,d+88|0,10);if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}if(!e){break P}b=e-1|0;g=h[d+131|0];Y:{Z:{if((g|0)<=-1){if((k[b+j[d+120>>2]|0]-48&255)>>>0<10){break Y}n=j[d+120>>2];break Z}n=d+120|0;if((k[b+(d+120|0)|0]-48&255)>>>0<10){break Y}}if(k[b+n|0]!=46){break P}}_:{$:{n=(g|0)<0?j[d+120>>2]:d+120|0;f=k[n+b|0];b=(f|0)==46?2:1;if(b>>>0>e>>>0){p=b;break $}if((b|0)==(e|0)){break $}q=(f|0)==46;f=b+1|0;if(k[n+(e-f|0)|0]!=48?q:0){break _}if((e|0)==(f|0)){break $}f=b+2|0;if(k[n+(e-f|0)|0]!=48){break _}if((e|0)==(f|0)){break $}f=b+3|0;if(k[n+(e-f|0)|0]!=48){break _}if((e|0)==(f|0)){break $}f=b|4;if(f>>>0>5|k[n+(e-f|0)|0]!=48){break _}if((e|0)==(f|0)){break $}b=f+1|0;if((f|0)!=4){f=b;break _}if(k[n+(e-b|0)|0]!=48){f=b;break _}if((b|0)==(e|0)){break $}f=f+2|0;break _}f=p-1|0;if(!f){break P}}while(1){b=e-f|0;aa:{ba:{if(g<<24>>24<=-1){g=h[b+j[d+120>>2]|0];if((g|0)>=48){break ba}break aa}g=h[b+(d+120|0)|0];if((g|0)<48){break aa}}if((g|0)>57){break aa}b=sa(d+40|0,d+120|0,b,-1);p=_a(l,b,0,0);n=k[d+51|0];g=n<<24>>24;if(p){e=(g|0)<0;aa(d+88|0,e?j[d+40>>2]:d+40|0,e?j[b+4>>2]:n);Za(d+24|0,j[l+16>>2],b);e=k[d+35|0];b=e<<24>>24<0;e=b?j[d+28>>2]:e;if(e){aa(d+88|0,b?j[d+24>>2]:d+24|0,e)}Ab(a,d+88|0,10);if(h[d+35|0]<=-1){T(j[d+24>>2])}if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}if((g|0)>-1){break aa}T(j[d+40>>2])}f=f-1|0;if(!f){break P}g=k[d+131|0];continue}}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break O}T(j[c>>2])}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0}if(h[d+99|0]>-1){break e}T(j[d+88>>2])}a=j[d+104>>2];if(a){j[d+108>>2]=a;T(a)}if(h[d+131|0]>-1){break a}T(j[d+120>>2])}M=d+144|0}function ja(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;p=M-16|0;M=p;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{if(a>>>0<=244){f=j[37748];i=a>>>0<11?16:a+11&-8;c=i>>>3|0;b=f>>>c|0;if(b&3){d=c+((b^-1)&1)|0;b=d<<3;e=j[b+151040>>2];a=e+8|0;c=j[e+8>>2];b=b+151032|0;m:{if((c|0)==(b|0)){q=150992,r=Er(-2,d)&f,j[q>>2]=r;break m}j[c+12>>2]=b;j[b+8>>2]=c}b=d<<3;j[e+4>>2]=b|3;b=b+e|0;j[b+4>>2]=j[b+4>>2]|1;break a}n=j[37750];if(n>>>0>=i>>>0){break l}if(b){a=2<>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;c=(c|a)+(b>>>a|0)|0;a=c<<3;g=j[a+151040>>2];b=j[g+8>>2];a=a+151032|0;n:{if((b|0)==(a|0)){f=Er(-2,c)&f;j[37748]=f;break n}j[b+12>>2]=a;j[a+8>>2]=b}a=g+8|0;j[g+4>>2]=i|3;d=g+i|0;b=c<<3;e=b-i|0;j[d+4>>2]=e|1;j[b+g>>2]=e;if(n){b=n>>>3|0;c=(b<<3)+151032|0;g=j[37753];b=1<>2]}j[c+8>>2]=g;j[b+12>>2]=g;j[g+12>>2]=c;j[g+8>>2]=b}j[37753]=d;j[37750]=e;break a}h=j[37749];if(!h){break l}b=(h&0-h)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;b=j[((c|a)+(b>>>a|0)<<2)+151296>>2];e=(j[b+4>>2]&-8)-i|0;c=b;while(1){p:{a=j[c+16>>2];if(!a){a=j[c+20>>2];if(!a){break p}}c=(j[a+4>>2]&-8)-i|0;d=c>>>0>>0;e=d?c:e;b=d?a:b;c=a;continue}break}l=b+i|0;if(l>>>0<=b>>>0){break k}o=j[b+24>>2];d=j[b+12>>2];if((d|0)!=(b|0)){a=j[b+8>>2];j[a+12>>2]=d;j[d+8>>2]=a;break b}c=b+20|0;a=j[c>>2];if(!a){a=j[b+16>>2];if(!a){break j}c=b+16|0}while(1){g=c;d=a;c=a+20|0;a=j[c>>2];if(a){continue}c=d+16|0;a=j[d+16>>2];if(a){continue}break}j[g>>2]=0;break b}i=-1;if(a>>>0>4294967231){break l}a=a+11|0;i=a&-8;l=j[37749];if(!l){break l}f=31;e=0-i|0;if(i>>>0<=16777215){a=a>>>8|0;g=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|g))|0;f=(a<<1|i>>>a+21&1)+28|0}c=j[(f<<2)+151296>>2];q:{r:{s:{if(!c){a=0;break s}a=0;b=i<<((f|0)==31?0:25-(f>>>1|0)|0);while(1){t:{g=(j[c+4>>2]&-8)-i|0;if(g>>>0>=e>>>0){break t}d=c;e=g;if(e){break t}e=0;a=c;break r}g=j[c+20>>2];c=j[((b>>>29&4)+c|0)+16>>2];a=g?(g|0)==(c|0)?a:g:a;b=b<<1;if(c){continue}break}}if(!(a|d)){a=2<>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;a=j[((c|a)+(b>>>a|0)<<2)+151296>>2]}if(!a){break q}}while(1){b=(j[a+4>>2]&-8)-i|0;c=b>>>0>>0;e=c?b:e;d=c?a:d;b=j[a+16>>2];if(b){a=b}else{a=j[a+20>>2]}if(a){continue}break}}if(!d|j[37750]-i>>>0<=e>>>0){break l}h=d+i|0;if(h>>>0<=d>>>0){break k}f=j[d+24>>2];b=j[d+12>>2];if((d|0)!=(b|0)){a=j[d+8>>2];j[a+12>>2]=b;j[b+8>>2]=a;break c}c=d+20|0;a=j[c>>2];if(!a){a=j[d+16>>2];if(!a){break i}c=d+16|0}while(1){g=c;b=a;c=a+20|0;a=j[c>>2];if(a){continue}c=b+16|0;a=j[b+16>>2];if(a){continue}break}j[g>>2]=0;break c}c=j[37750];if(c>>>0>=i>>>0){d=j[37753];b=c-i|0;u:{if(b>>>0>=16){j[37750]=b;a=d+i|0;j[37753]=a;j[a+4>>2]=b|1;j[c+d>>2]=b;j[d+4>>2]=i|3;break u}j[37753]=0;j[37750]=0;j[d+4>>2]=c|3;a=c+d|0;j[a+4>>2]=j[a+4>>2]|1}a=d+8|0;break a}h=j[37751];if(h>>>0>i>>>0){b=h-i|0;j[37751]=b;c=j[37754];a=c+i|0;j[37754]=a;j[a+4>>2]=b|1;j[c+4>>2]=i|3;a=c+8|0;break a}a=0;l=i+47|0;b=l;if(j[37866]){c=j[37868]}else{j[37869]=-1;j[37870]=-1;j[37867]=4096;j[37868]=4096;j[37866]=p+12&-16^1431655768;j[37871]=0;j[37859]=0;c=4096}g=b+c|0;e=0-c|0;c=g&e;if(c>>>0<=i>>>0){break a}d=j[37858];if(d){b=j[37856];f=b+c|0;if(d>>>0>>0|b>>>0>=f>>>0){break a}}if(k[151436]&4){break f}v:{w:{d=j[37754];if(d){a=151440;while(1){b=j[a>>2];if(d>>>0>2]>>>0?b>>>0<=d>>>0:0){break w}a=j[a+8>>2];if(a){continue}break}}b=nc(0);if((b|0)==-1){break g}f=c;d=j[37867];a=d-1|0;if(a&b){f=(c-b|0)+(a+b&0-d)|0}if(f>>>0<=i>>>0|f>>>0>2147483646){break g}d=j[37858];if(d){a=j[37856];e=a+f|0;if(d>>>0>>0|a>>>0>=e>>>0){break g}}a=nc(f);if((b|0)!=(a|0)){break v}break e}f=e&g-h;if(f>>>0>2147483646){break g}b=nc(f);if((b|0)==(j[a>>2]+j[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|i+48>>>0<=f>>>0)){b=j[37868];b=b+(l-f|0)&0-b;if(b>>>0>2147483646){b=a;break e}if((nc(b)|0)!=-1){f=b+f|0;b=a;break e}nc(0-f|0);break g}b=a;if((a|0)!=-1){break e}break g}z()}d=0;break b}b=0;break c}if((b|0)!=-1){break e}}j[37859]=j[37859]|4}if(c>>>0>2147483646){break d}b=nc(c);a=nc(0);if(b>>>0>=a>>>0|(b|0)==-1|(a|0)==-1){break d}f=a-b|0;if(f>>>0<=i+40>>>0){break d}}a=j[37856]+f|0;j[37856]=a;if(a>>>0>m[37857]){j[37857]=a}x:{y:{z:{g=j[37754];if(g){a=151440;while(1){d=j[a>>2];c=j[a+4>>2];if((d+c|0)==(b|0)){break z}a=j[a+8>>2];if(a){continue}break}break y}a=j[37752];if(!(a>>>0<=b>>>0?a:0)){j[37752]=b}a=0;j[37861]=f;j[37860]=b;j[37756]=-1;j[37757]=j[37866];j[37863]=0;while(1){d=a<<3;c=d+151032|0;j[d+151040>>2]=c;j[d+151044>>2]=c;a=a+1|0;if((a|0)!=32){continue}break}d=f-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;j[37751]=c;a=a+b|0;j[37754]=a;j[a+4>>2]=c|1;j[(b+d|0)+4>>2]=40;j[37755]=j[37870];break x}if(j[a+12>>2]&8|(b>>>0<=g>>>0|d>>>0>g>>>0)){break y}j[a+4>>2]=c+f;a=g+8&7?-8-g&7:0;c=a+g|0;j[37754]=c;b=j[37751]+f|0;a=b-a|0;j[37751]=a;j[c+4>>2]=a|1;j[(b+g|0)+4>>2]=40;j[37755]=j[37870];break x}d=j[37752];if(d>>>0>b>>>0){j[37752]=b;d=0}c=b+f|0;a=151440;A:{B:{C:{D:{E:{F:{while(1){if((c|0)!=j[a>>2]){a=j[a+8>>2];if(a){continue}break F}break}if(!(k[a+12|0]&8)){break E}}a=151440;while(1){c=j[a>>2];if(c>>>0<=g>>>0){e=c+j[a+4>>2]|0;if(e>>>0>g>>>0){break D}}a=j[a+8>>2];continue}}j[a>>2]=b;j[a+4>>2]=j[a+4>>2]+f;l=(b+8&7?-8-b&7:0)+b|0;j[l+4>>2]=i|3;f=c+(c+8&7?-8-c&7:0)|0;c=(f-l|0)-i|0;h=i+l|0;if((f|0)==(g|0)){j[37754]=h;a=j[37751]+c|0;j[37751]=a;j[h+4>>2]=a|1;break B}if(j[37753]==(f|0)){j[37753]=h;a=j[37750]+c|0;j[37750]=a;j[h+4>>2]=a|1;j[a+h>>2]=a;break B}a=j[f+4>>2];if((a&3)==1){g=a&-8;G:{if(a>>>0<=255){d=j[f+8>>2];a=a>>>3|0;b=j[f+12>>2];if((b|0)==(d|0)){q=150992,r=j[37748]&Er(-2,a),j[q>>2]=r;break G}j[d+12>>2]=b;j[b+8>>2]=d;break G}i=j[f+24>>2];b=j[f+12>>2];H:{if((f|0)!=(b|0)){a=j[f+8>>2];j[a+12>>2]=b;j[b+8>>2]=a;break H}I:{a=f+20|0;e=j[a>>2];if(e){break I}a=f+16|0;e=j[a>>2];if(e){break I}b=0;break H}while(1){d=a;b=e;a=b+20|0;e=j[a>>2];if(e){continue}a=b+16|0;e=j[b+16>>2];if(e){continue}break}j[d>>2]=0}if(!i){break G}d=j[f+28>>2];a=(d<<2)+151296|0;J:{if(j[a>>2]==(f|0)){j[a>>2]=b;if(b){break J}q=150996,r=j[37749]&Er(-2,d),j[q>>2]=r;break G}j[i+(j[i+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break G}}j[b+24>>2]=i;a=j[f+16>>2];if(a){j[b+16>>2]=a;j[a+24>>2]=b}a=j[f+20>>2];if(!a){break G}j[b+20>>2]=a;j[a+24>>2]=b}f=f+g|0;c=c+g|0}j[f+4>>2]=j[f+4>>2]&-2;j[h+4>>2]=c|1;j[c+h>>2]=c;if(c>>>0<=255){a=c>>>3|0;b=(a<<3)+151032|0;c=j[37748];a=1<>2]}j[b+8>>2]=h;j[a+12>>2]=h;j[h+12>>2]=b;j[h+8>>2]=a;break B}a=31;if(c>>>0<=16777215){a=c>>>8|0;e=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(d|e))|0;a=(a<<1|c>>>a+21&1)+28|0}j[h+28>>2]=a;j[h+16>>2]=0;j[h+20>>2]=0;e=(a<<2)+151296|0;d=j[37749];b=1<>2]=h;j[h+24>>2]=e;break L}a=c<<((a|0)==31?0:25-(a>>>1|0)|0);b=j[e>>2];while(1){d=b;if((j[b+4>>2]&-8)==(c|0)){break C}b=a>>>29|0;a=a<<1;e=d+(b&4)|0;b=j[e+16>>2];if(b){continue}break}j[e+16>>2]=h;j[h+24>>2]=d}j[h+12>>2]=h;j[h+8>>2]=h;break B}d=f-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;j[37751]=c;a=a+b|0;j[37754]=a;j[a+4>>2]=c|1;j[(b+d|0)+4>>2]=40;j[37755]=j[37870];a=(e+(e-39&7?39-e&7:0)|0)-47|0;c=a>>>0>>0?g:a;j[c+4>>2]=27;a=j[37863];j[c+16>>2]=j[37862];j[c+20>>2]=a;a=j[37861];j[c+8>>2]=j[37860];j[c+12>>2]=a;j[37862]=c+8;j[37861]=f;j[37860]=b;j[37863]=0;a=c+24|0;while(1){j[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((c|0)==(g|0)){break x}j[c+4>>2]=j[c+4>>2]&-2;e=c-g|0;j[g+4>>2]=e|1;j[c>>2]=e;if(e>>>0<=255){a=e>>>3|0;b=(a<<3)+151032|0;c=j[37748];a=1<>2]}j[b+8>>2]=g;j[a+12>>2]=g;j[g+12>>2]=b;j[g+8>>2]=a;break x}a=31;j[g+16>>2]=0;j[g+20>>2]=0;if(e>>>0<=16777215){a=e>>>8|0;d=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|d))|0;a=(a<<1|e>>>a+21&1)+28|0}j[g+28>>2]=a;d=(a<<2)+151296|0;c=j[37749];b=1<>2]=g;j[g+24>>2]=d;break N}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);b=j[d>>2];while(1){c=b;if((e|0)==(j[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;d=c+(b&4)|0;b=j[d+16>>2];if(b){continue}break}j[d+16>>2]=g;j[g+24>>2]=c}j[g+12>>2]=g;j[g+8>>2]=g;break x}a=j[d+8>>2];j[a+12>>2]=h;j[d+8>>2]=h;j[h+24>>2]=0;j[h+12>>2]=d;j[h+8>>2]=a}a=l+8|0;break a}a=j[c+8>>2];j[a+12>>2]=g;j[c+8>>2]=g;j[g+24>>2]=0;j[g+12>>2]=c;j[g+8>>2]=a}a=j[37751];if(a>>>0<=i>>>0){break d}b=a-i|0;j[37751]=b;c=j[37754];a=c+i|0;j[37754]=a;j[a+4>>2]=b|1;j[c+4>>2]=i|3;a=c+8|0;break a}j[37203]=48;a=0;break a}O:{if(!f){break O}c=j[d+28>>2];a=(c<<2)+151296|0;P:{if(j[a>>2]==(d|0)){j[a>>2]=b;if(b){break P}l=Er(-2,c)&l;j[37749]=l;break O}j[f+(j[f+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break O}}j[b+24>>2]=f;a=j[d+16>>2];if(a){j[b+16>>2]=a;j[a+24>>2]=b}a=j[d+20>>2];if(!a){break O}j[b+20>>2]=a;j[a+24>>2]=b}Q:{if(e>>>0<=15){a=e+i|0;j[d+4>>2]=a|3;a=a+d|0;j[a+4>>2]=j[a+4>>2]|1;break Q}j[d+4>>2]=i|3;j[h+4>>2]=e|1;j[e+h>>2]=e;if(e>>>0<=255){a=e>>>3|0;b=(a<<3)+151032|0;c=j[37748];a=1<>2]}j[b+8>>2]=h;j[a+12>>2]=h;j[h+12>>2]=b;j[h+8>>2]=a;break Q}a=31;if(e>>>0<=16777215){a=e>>>8|0;g=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|g))|0;a=(a<<1|e>>>a+21&1)+28|0}j[h+28>>2]=a;j[h+16>>2]=0;j[h+20>>2]=0;c=(a<<2)+151296|0;S:{b=1<>2]=h;j[h+24>>2]=c;break T}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);i=j[c>>2];while(1){b=i;if((j[b+4>>2]&-8)==(e|0)){break S}c=a>>>29|0;a=a<<1;c=b+(c&4)|0;i=j[c+16>>2];if(i){continue}break}j[c+16>>2]=h;j[h+24>>2]=b}j[h+12>>2]=h;j[h+8>>2]=h;break Q}a=j[b+8>>2];j[a+12>>2]=h;j[b+8>>2]=h;j[h+24>>2]=0;j[h+12>>2]=b;j[h+8>>2]=a}a=d+8|0;break a}U:{if(!o){break U}c=j[b+28>>2];a=(c<<2)+151296|0;V:{if(j[a>>2]==(b|0)){j[a>>2]=d;if(d){break V}q=150996,r=Er(-2,c)&h,j[q>>2]=r;break U}j[(j[o+16>>2]==(b|0)?16:20)+o>>2]=d;if(!d){break U}}j[d+24>>2]=o;a=j[b+16>>2];if(a){j[d+16>>2]=a;j[a+24>>2]=d}a=j[b+20>>2];if(!a){break U}j[d+20>>2]=a;j[a+24>>2]=d}W:{if(e>>>0<=15){a=e+i|0;j[b+4>>2]=a|3;a=a+b|0;j[a+4>>2]=j[a+4>>2]|1;break W}j[b+4>>2]=i|3;j[l+4>>2]=e|1;j[e+l>>2]=e;if(n){a=n>>>3|0;c=(a<<3)+151032|0;d=j[37753];a=1<>2]}j[c+8>>2]=d;j[a+12>>2]=d;j[d+12>>2]=c;j[d+8>>2]=a}j[37753]=l;j[37750]=e}a=b+8|0}M=p+16|0;return a|0}function Lc(a,b,c,d,e,f,g,n){var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;o=M-176|0;M=o;w=a+56|0;a:{b:{c:{d:{p=k[a+67|0];t=p<<24>>24;q=j[a+60>>2];e:{if((t|0)<=-1){break e}q=p}f:{if(!q){break f}q=p;p=(t|0)<0;q=p?j[a+60>>2]:q;if(!q){break f}p=p?j[a+56>>2]:w;q=q+p|0;while(1){if((Ba(b,h[p|0],0)|0)!=-1){break d}p=p+1|0;if((q|0)!=(p|0)){continue}break}}if(j[a+12>>2]){break d}t=b;break c}t=ha(U(12),b);p=h[w+11|0];q=j[a+60>>2];g:{if((p|0)<=-1){break g}q=p&255}h:{if(!q){break h}if(j[a+16>>2]){c=Ld(t,a+68|0);break h}Kd(t,w)}if(!j[a+12>>2]){v=t;break c}i:{if(j[a+16>>2]){c=ob(t);break i}Va(t)}if(!f){f=0;A=1;v=t;p=0;break a}if(j[a+96>>2]){v=t;break b}f=ha(U(12),f);j:{if(!j[a+12>>2]){break j}if(j[a+16>>2]){ob(f);break j}Va(f)}v=t;u=f;break b}if(f){break b}A=1;f=0;p=0;break a}p=4;if(j[a+96>>2]){break a}p=h[f+11|0];q=j[f+4>>2];k:{if((p|0)<=-1){break k}q=p&255}p=q+1|0}w=k[t+11|0];x=w<<24>>24;q=j[t+4>>2];l:{if((x|0)<=-1){break l}q=w}s=ja((p+q|0)+20|0);m:{n:{if(!s){if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=1;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}q=s+17|0;if((x|0)<=-1){p=j[t>>2]}else{p=t}y=He(q,p);p=h[y|0];o:{if(!p){p=0;break o}q=h[s+18|0];if(!q){break o}p=q|p<<8;q=h[s+19|0];if(!q){break o}p=q|p<<8;q=h[s+20|0];if(!q){break o}p=q|p<<8;q=s+21|0;r=k[q|0];if(!r){break o}while(1){p=Er(p,5)^r<<24>>24;r=k[q+1|0];q=q+1|0;if(r){continue}break}}B=(p>>>0)%m[a>>2]|0;if((x|0)<=-1){p=j[t+4>>2]}else{p=w}j[s+8>>2]=0;j[s+12>>2]=0;j[s+4>>2]=d;i[s+2>>1]=e;h[s+1|0]=c;h[s|0]=p;c=((n|0)==1)<<3;h[s+16|0]=c;p:{if(A){break p}h[s+16|0]=c|1;e=j[a+96>>2];q:{if(e){h[s+16|0]=c|3;if((x|0)<=-1){w=j[t+4>>2]}c=(w+y|0)+1|0;p=0;if(h[f+11|0]<=-1){f=j[f>>2]}d=ta(f);if(!((d|0)<1|(d|0)>j[a+92>>2])){p=j[(e+(d<<2)|0)-4>>2]}h[c|0]=p;h[c+1|0]=p>>>8;h[c+2|0]=p>>>16;h[c+3|0]=p>>>24;break q}if((x|0)<=-1){w=j[t+4>>2]}c=(w+y|0)+1|0;if(h[f+11|0]<=-1){f=j[f>>2]}He(c,f)}e=k[s+16|0];d=0;r:{if(!(e&1)){break r}c=(k[s|0]+s|0)+18|0;d=c;if(!(e&2)){break r}d=k[c|0]|k[c+1|0]<<8|(k[c+2|0]<<16|k[c+3|0]<<24)}if(!ca(d,120898)){break p}p=k[s+16|0]+4|0;h[s+16|0]=p;t=a+100|0;c=j[a>>2]/500|0;if(c>>>0>(j[a+108>>2]-j[a+100>>2]|0)/60>>>0){Yh(t,c);p=k[s+16|0]}c=0;s:{if(!(p&1)){break s}d=(k[s|0]+s|0)+18|0;c=d;if(!(p&2)){break s}c=k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24)}d=W(c);if(d>>>0<4294967280){t:{u:{if(d>>>0>=11){e=d+16&-16;r=U(e);j[o+168>>2]=e|-2147483648;j[o+160>>2]=r;j[o+164>>2]=d;e=o+160|0;break u}h[o+171|0]=d;e=o+160|0;r=e;if(!d){break t}}V(r,c,d)}h[d+r|0]=0;j[o+152>>2]=h[e+11|0]<0?j[o+160>>2]:o+160|0;r=ka(o+160|0,o+152|0);w=o- -64|0;while(1){c=h[e+11|0];v:{if((c|0)<=-1){c=j[o+160>>2];if((c+j[o+164>>2]|0)!=(r|0)){break v}T(c);break p}if(((o+160|0)+(c&255)|0)==(r|0)){break p}}w:{x:{y:{z:{A:{d=j[o+152>>2];c=d-r|0;if(c>>>0<4294967280){B:{if(c>>>0<=10){h[o+19|0]=c;p=o+8|0;break B}f=c+16&-16;p=U(f);j[o+16>>2]=f|-2147483648;j[o+8>>2]=p;j[o+12>>2]=c}q=r;if((d|0)!=(q|0)){while(1){h[p|0]=k[q|0];p=p+1|0;q=q+1|0;if((d|0)!=(q|0)){continue}break}}h[p|0]=0;f=j[o+8>>2];d=k[o+19|0];x=d<<24>>24;p=(x|0)<0;c=p?f:o+8|0;p=p?j[o+12>>2]:d;d=c+p|0;q=c;C:{D:{if((p|0)<3){break D}while(1){p=Aa(q,112,p-2|0);if(!p){break D}if(!qa(p,120898,3)){break C}q=p+1|0;p=d-q|0;if((p|0)>2){continue}break}}p=d}if((x|0)<=-1){T(f)}if(!((c|0)==(p|0)&(d|0)!=(p|0))){break w}d=j[o+152>>2];c=d-r|0;if(c>>>0>=4294967280){break A}E:{if(c>>>0<=10){h[o+19|0]=c;p=o+8|0;break E}f=c+16&-16;p=U(f);j[o+16>>2]=f|-2147483648;j[o+8>>2]=p;j[o+12>>2]=c}if((d|0)!=(r|0)){while(1){h[p|0]=k[r|0];p=p+1|0;r=r+1|0;if((d|0)!=(r|0)){continue}break}}h[p|0]=0;f=sa(o+136|0,o+8|0,3,-1);if(h[o+19|0]<=-1){T(j[o+8>>2])}p=h[o+147|0];d=(p|0)<0;c=d?j[o+140>>2]:p&255;if(!c){break x}j[o+128>>2]=0;j[o+120>>2]=0;j[o+124>>2]=0;j[o+112>>2]=0;j[o+104>>2]=0;j[o+108>>2]=0;if((c|0)<2){break z}d=d?j[o+136>>2]:o+136|0;r=d+c|0;p=c;q=d;while(1){p=Aa(q,45,p-1|0);if(!p){break z}if((k[p|0]|k[p+1|0]<<8)!=15917){q=p+1|0;p=r-q|0;if((p|0)>=2){continue}break z}break}d=(p|0)==(r|0)?-1:p-d|0;if(d+1>>>0<2|d>>>0>=c-2>>>0){break z}sa(o+8|0,f,d+2|0,-1);if(h[o+115|0]<=-1){T(j[o+104>>2])}j[o+112>>2]=j[o+16>>2];c=j[o+12>>2];j[o+104>>2]=j[o+8>>2];j[o+108>>2]=c;p=h[o+147|0];c=(p|0)<0;q=j[o+136>>2];xb(f,d,(c?q+j[o+140>>2]|0:(o+136|0)+(p&255)|0)-(d+(c?q:o+136|0)|0)|0);break y}X();z()}X();z()}ua(o+104|0,b)}c=k[o+147|0];F:{if(k[Wd(f,(c<<24>>24<0?j[o+140>>2]:c)-1|0)|0]!=42){break F}p=1;G:{if(!j[a+16>>2]){q=0;break G}while(1){H:{c=h[o+147|0];I:{if((c|0)<=-1){q=j[o+140>>2];if(q>>>0>p>>>0){break I}break H}q=c&255;if(q>>>0<=p>>>0){break H}}if((k[Wd(f,(p^-1)+q|0)|0]&192)!=128){break H}p=p+1|0;continue}break}q=0;while(1){c=h[o+115|0];J:{if((c|0)<=-1){r=j[o+108>>2];if(r>>>0<=q>>>0){break G}break J}r=c&255;if(r>>>0<=q>>>0){break G}}if((k[Wd(o+104|0,(q^-1)+r|0)|0]&192)!=128){break G}q=q+1|0;continue}}c=k[o+147|0];r=c<<24>>24<0?j[o+140>>2]:c;c=p+1|0;if(r>>>0<=c>>>0){break F}d=k[o+115|0];p=d<<24>>24<0?j[o+108>>2]:d;d=q+1|0;if(p>>>0<=d>>>0){break F}xb(f,r-c|0,c);c=k[b+11|0];xb(o+104|0,(c<<24>>24<0?j[b+4>>2]:c)-d|0,d)}K:{if((n|0)!=1){break K}j[o+96>>2]=0;j[o+88>>2]=0;j[o+92>>2]=0;L:{if(j[a+16>>2]){ia(o+120|0,f);if(Mc(o+120|0,j[a+24>>2])){break L}vb(o+120|0,j[a+24>>2]);da(o+88|0,o+120|0);break L}if(Nc(f,j[a+52>>2])){break L}nb(o+88|0,j[a+52>>2])}d=k[o+99|0];c=d<<24>>24;if((c|0)<0?j[o+92>>2]:d){c=j[a+24>>2]-36|0;M:{if((c|0)!=13?c:0){break M}d=ha(o+72|0,o+104|0);N:{if(j[a+16>>2]){ia(o+120|0,d);Ua(o+120|0,j[a+24>>2]);da(d,o+120|0);break N}Pa(d,j[a+52>>2])}j[w>>2]=0;j[o+56>>2]=0;j[o+60>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[o+40>>2]=0;j[o+44>>2]=0;j[o+32>>2]=0;j[o+36>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[o+16>>2]=0;j[o+20>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;c=j[a+104>>2];O:{if(c>>>0>2]){p=j[o+12>>2];j[c>>2]=j[o+8>>2];j[c+4>>2]=p;j[c+8>>2]=j[o+16>>2];j[o+16>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;j[c+20>>2]=j[o+28>>2];p=j[o+24>>2];j[c+12>>2]=j[o+20>>2];j[c+16>>2]=p;j[o+20>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[c+32>>2]=j[o+40>>2];p=j[o+36>>2];j[c+24>>2]=j[o+32>>2];j[c+28>>2]=p;j[o+32>>2]=0;j[o+36>>2]=0;j[o+40>>2]=0;j[c+44>>2]=j[o+52>>2];p=j[o+48>>2];j[c+36>>2]=j[o+44>>2];j[c+40>>2]=p;j[o+44>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[c+56>>2]=j[o+64>>2];p=j[o+60>>2];j[c+48>>2]=j[o+56>>2];j[c+52>>2]=p;j[o+56>>2]=0;j[o+60>>2]=0;j[o+64>>2]=0;j[a+104>>2]=c+60;break O}Hd(t,o+8|0);if(h[o+67|0]>-1){break O}T(j[o+56>>2])}if(h[o+55|0]<0){T(j[o+44>>2])}if(h[o+43|0]<=-1){T(j[o+32>>2])}if(h[o+31|0]<=-1){T(j[o+20>>2])}if(h[o+19|0]<0){T(j[o+8>>2])}ua(j[a+104>>2]-60|0,f);ua(j[a+104>>2]-48|0,d);if(h[o+83|0]>-1){break M}T(j[o+72>>2])}j[w>>2]=0;j[o+56>>2]=0;j[o+60>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[o+40>>2]=0;j[o+44>>2]=0;j[o+32>>2]=0;j[o+36>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[o+16>>2]=0;j[o+20>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;c=j[a+104>>2];P:{if(c>>>0>2]){d=j[o+12>>2];j[c>>2]=j[o+8>>2];j[c+4>>2]=d;j[c+8>>2]=j[o+16>>2];j[o+16>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;j[c+20>>2]=j[o+28>>2];d=j[o+24>>2];j[c+12>>2]=j[o+20>>2];j[c+16>>2]=d;j[o+20>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[c+32>>2]=j[o+40>>2];d=j[o+36>>2];j[c+24>>2]=j[o+32>>2];j[c+28>>2]=d;j[o+32>>2]=0;j[o+36>>2]=0;j[o+40>>2]=0;j[c+44>>2]=j[o+52>>2];d=j[o+48>>2];j[c+36>>2]=j[o+44>>2];j[c+40>>2]=d;j[o+44>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[c+56>>2]=j[o+64>>2];d=j[o+60>>2];j[c+48>>2]=j[o+56>>2];j[c+52>>2]=d;j[o+56>>2]=0;j[o+60>>2]=0;j[o+64>>2]=0;j[a+104>>2]=c+60;break P}Hd(t,o+8|0);if(h[o+67|0]>-1){break P}T(j[o+56>>2])}if(h[o+55|0]<0){T(j[o+44>>2])}if(h[o+43|0]<=-1){T(j[o+32>>2])}if(h[o+31|0]<=-1){T(j[o+20>>2])}if(h[o+19|0]<0){T(j[o+8>>2])}ua(j[a+104>>2]-60|0,o+88|0);ua(j[a+104>>2]-48|0,o+104|0);c=k[o+99|0]}if(c<<24>>24>-1){break K}T(j[o+88>>2])}j[w>>2]=0;j[o+56>>2]=0;j[o+60>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[o+40>>2]=0;j[o+44>>2]=0;j[o+32>>2]=0;j[o+36>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[o+16>>2]=0;j[o+20>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;c=j[a+104>>2];Q:{if(c>>>0>2]){d=j[o+12>>2];j[c>>2]=j[o+8>>2];j[c+4>>2]=d;j[c+8>>2]=j[o+16>>2];j[o+16>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;j[c+20>>2]=j[o+28>>2];d=j[o+24>>2];j[c+12>>2]=j[o+20>>2];j[c+16>>2]=d;j[o+20>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[c+32>>2]=j[o+40>>2];d=j[o+36>>2];j[c+24>>2]=j[o+32>>2];j[c+28>>2]=d;j[o+32>>2]=0;j[o+36>>2]=0;j[o+40>>2]=0;j[c+44>>2]=j[o+52>>2];d=j[o+48>>2];j[c+36>>2]=j[o+44>>2];j[c+40>>2]=d;j[o+44>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[c+56>>2]=j[o+64>>2];d=j[o+60>>2];j[c+48>>2]=j[o+56>>2];j[c+52>>2]=d;j[o+56>>2]=0;j[o+60>>2]=0;j[o+64>>2]=0;j[a+104>>2]=c+60;break Q}Hd(t,o+8|0);if(h[o+67|0]>-1){break Q}T(j[o+56>>2])}if(h[o+55|0]<0){T(j[o+44>>2])}if(h[o+43|0]<=-1){T(j[o+32>>2])}if(h[o+31|0]<=-1){T(j[o+20>>2])}if(h[o+19|0]<0){T(j[o+8>>2])}ua(j[a+104>>2]-60|0,f);ua(j[a+104>>2]-48|0,o+104|0);if(h[o+115|0]<=-1){T(j[o+104>>2])}c=j[o+120>>2];if(c){j[o+124>>2]=c;T(c)}p=k[o+147|0]}if(p<<24>>24>-1){break w}T(j[o+136>>2])}r=ka(o+160|0,o+152|0);continue}}X();z()}R:{S:{T:{a=j[a+4>>2]+(B<<2)|0;p=j[a>>2];if(p){q=j[p+8>>2];if(!q){c=0;b=p+8|0;break R}c=0;if(!g){break T}r=p;while(1){p=q;if(!j[r+12>>2]){c=!ba(y,r+17|0)|c}r=p;q=j[p+8>>2];if(q){continue}break}break S}j[a>>2]=s;if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}while(1){a=p;p=q;U:{if(j[a+12>>2]){break U}b=ba(y,a+17|0);if(b){c=!b|c;break U}V:{b=j[a+4>>2];if(!b){break V}r=i[a+2>>1];f=b+(r<<1)|0;q=b;if(r){while(1){d=r>>>1|0;n=(d<<1)+q|0;e=l[n>>1]<65511;q=e?n+2|0:q;r=e?(d^-1)+r|0:d;if(r){continue}break}}if((f|0)==(q|0)|l[q>>1]>65511){break V}T(b);j[a+4>>2]=j[s+4>>2];i[a+2>>1]=l[s+2>>1];T(s);if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}j[a+12>>2]=s}q=j[p+8>>2];if(q){continue}break}}b=p+8|0}W:{X:{if(!ba(y,p+17|0)){if(g){break X}Y:{a=j[p+4>>2];if(!a){break Y}r=i[p+2>>1];f=a+(r<<1)|0;q=a;if(r){while(1){d=r>>>1|0;g=(d<<1)+q|0;e=l[g>>1]<65511;q=e?g+2|0:q;r=e?(d^-1)+r|0:d;if(r){continue}break}}if((f|0)==(q|0)|l[q>>1]>65511){break Y}T(a);j[p+4>>2]=j[s+4>>2];i[p+2>>1]=l[s+2>>1];T(s);if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}j[p+12>>2]=s}if(c&1){break X}j[b>>2]=s;break W}a=j[s+4>>2];if(a){T(a)}T(s)}if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2])}T(v)}M=o+176|0;return p}function Zo(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;g=M-80|0;M=g;h[g+72|0]=c;j[g+68>>2]=a;j[g+64>>2]=0;j[g+56>>2]=0;j[g+60>>2]=0;j[g+48>>2]=h[b+11|0]<0?j[b>>2]:b;a:{b:{c:{d:{e:{f:{m=ka(b,g+48|0);n=k[b+11|0];f=n<<24>>24<0;if((m|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:n)|0)){p=(c|0)==83?1:2;y=(c|0)!=80;while(1){g:{h:{switch(q|0){case 0:t=t+1|0;break g;case 1:s=j[g+48>>2];u=s-m|0;if(u>>>0>=4294967280){break d}o=j[a+4100>>2];i:{if(u>>>0<=10){h[g+43|0]=u;f=g+32|0;break i}n=u+16&-16;f=U(n);j[g+40>>2]=n|-2147483648;j[g+32>>2]=f;j[g+36>>2]=u}if((m|0)!=(s|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((s|0)!=(m|0)){continue}break}}h[f|0]=0;v=Ha(o,h[g+43|0]<0?j[g+32>>2]:g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}t=t+1|0;f=e+v|0;h[f|0]=p+k[f|0];break g;case 2:r=k[m|0]==89?1:r;t=t+1|0;break g;case 3:break h;default:break g}}o=j[g+48>>2];s=o-m|0;if(s>>>0>=4294967280){break e}j:{if(s>>>0<=10){h[g+43|0]=s;f=g+32|0;break j}n=s+16&-16;f=U(n);j[g+40>>2]=n|-2147483648;j[g+32>>2]=f;j[g+36>>2]=s}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;k:{if(h[g+43|0]>=0){w=ta(g+32|0);break k}f=j[g+32>>2];w=ta(f);T(f)}if(!(w>>>0<67108864?(w|0)>=1:0)){a=Jb(j[a+4100>>2],v&65535);if(!a){break b}T(a);break b}t=t+1|0;f=j[a+4144>>2]?r+2|0:r;f=j[j[a+4100>>2]+84>>2]?f+4|0:f;Zn(g+56|0,w,(j[j[a+4100>>2]+96>>2]?f+8|0:f)<<24>>24,v&65535)}q=q+1|0;m=ka(b,g+48|0);n=k[b+11|0];f=n<<24>>24<0;if((m|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:n)|0)){continue}break}if((t|0)==4){break f}}a=Jb(j[a+4100>>2],v&65535);if(!a){break b}T(a);break b}f=j[g+60>>2];m=j[g+56>>2];b=0;l:{if((f|0)==(m|0)){break l}b=j[m>>2]}m:{if((w|0)>=1){x=a+4420|0;u=a+4408|0;s=v&65535;y=(c|0)==83;e=0;n:{while(1){j[g+40>>2]=0;j[g+32>>2]=0;j[g+36>>2]=0;o:{p:{if(!ub(d,g+32|0)){break p}bb(g+32|0);j[g+48>>2]=h[g+43|0]<0?j[g+32>>2]:g+32|0;m=ka(g+32|0,g+48|0);n=k[g+43|0];f=n<<24>>24<0;if((m|0)!=((f?j[g+32>>2]:g+32|0)+(f?j[g+36>>2]:n)|0)){t=0;r=0;while(1){q:{r:{s:{t:{u:{v:{w:{switch(t|0){case 0:r=r+1|0;if(!e){break q}b=Tn(g+56|0);break q;case 1:o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}x:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break x}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;m=(Ha(j[a+4100>>2],h[g+27|0]<0?j[g+16>>2]:g+16|0)|0)==(s|0);y:{if(!m){f=Jb(j[a+4100>>2],s);if(!f){break y}T(f);break y}if(!e){break y}i[b+30>>1]=l[j[j[g+56>>2]>>2]+30>>1]}if(h[g+27|0]<=-1){T(j[g+16>>2])}if(!m){break p}r=r+1|0;break q;case 2:o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}z:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break z}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;m=b+16|0;if(h[b+27|0]<=-1){T(j[m>>2])}f=j[g+20>>2];j[m>>2]=j[g+16>>2];j[m+4>>2]=f;j[m+8>>2]=j[g+24>>2];A:{if(!j[a+4148>>2]){break A}if(j[a+4144>>2]){ob(m);break A}Va(m)}r=r+1|0;if(df(m)){break q}if(h[m+11|0]>-1){break v}h[j[b+16>>2]]=0;j[b+20>>2]=0;break q;case 3:i[b+60>>1]=0;j[b+52>>2]=0;j[b+56>>2]=0;B:{f=m;q=j[g+48>>2];o=(m|0)==(q|0);if(o){break B}while(1){if(k[f|0]==47){break B}f=f+1|0;if((q|0)!=(f|0)){continue}break}break s}if((f|0)==(q|0)){break s}p=f-m|0;if(p>>>0>=4294967280){break a}C:{if(p>>>0<=10){h[g+27|0]=p;n=g+16|0;break C}o=p+16&-16;n=U(o);j[g+24>>2]=o|-2147483648;j[g+16>>2]=n;j[g+20>>2]=p}if((f|0)!=(m|0)){while(1){h[n|0]=k[m|0];n=n+1|0;m=m+1|0;if((m|0)!=(f|0)){continue}break}}h[n|0]=0;q=b+4|0;if(h[b+15|0]<=-1){T(j[q>>2])}m=j[g+20>>2];j[q>>2]=j[g+16>>2];j[q+4>>2]=m;j[q+8>>2]=j[g+24>>2];o=j[g+48>>2];f=f+1|0;p=o-f|0;if(p>>>0>=4294967280){break a}D:{if(p>>>0<=10){h[g+27|0]=p;m=g+16|0;break D}n=p+16&-16;m=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=m;j[g+20>>2]=p}if((f|0)!=(o|0)){while(1){h[m|0]=k[f|0];m=m+1|0;f=f+1|0;if((o|0)!=(f|0)){continue}break}}h[m|0]=0;m=k[u+11|0];n=m<<24>>24;f=j[a+4412>>2];E:{if((n|0)<=-1){break E}f=m}F:{if(!f){break F}f=m;m=(n|0)<0;f=m?j[a+4412>>2]:f;if(!f){break F}m=m?j[a+4408>>2]:u;f=f+m|0;while(1){if((Ba(q,h[m|0],0)|0)==-1){m=m+1|0;if((f|0)!=(m|0)){continue}break F}break}if(j[a+4144>>2]){Ld(q,x);break F}Kd(q,u)}G:{if(!j[a+4148>>2]){break G}if(j[a+4144>>2]){ob(q);break G}Va(q)}p=b+56|0;H:{if(j[j[a+4100>>2]+84>>2]){n=ar(j[a+4100>>2],ta(h[g+27|0]<0?j[g+16>>2]:g+16|0),p);i[b+60>>1]=n;break H}o=j[a+4100>>2];m=h[g+27|0]<0?j[g+16>>2]:g+16|0;q=W(m);if(q>>>0>=4294967280){break u}I:{J:{if(q>>>0>=11){f=q+16&-16;n=U(f);j[g+8>>2]=f|-2147483648;j[g>>2]=n;j[g+4>>2]=q;break J}h[g+11|0]=q;n=g;if(!q){break I}}V(n,m,q)}h[n+q|0]=0;m=Te(o,p,g);i[b+60>>1]=m;if(h[g+11|0]<=-1){T(j[g>>2]);m=l[b+60>>1]}f=j[b+56>>2];Qc(f,f+(m<<16>>16<<1)|0,g);n=l[b+60>>1]}j[a+4488>>2]=1;m=0;f=0;if(n<<16>>16<=0){break t}while(1){h[(l[j[b+56>>2]+(m<<1)>>1]+a|0)+4492|0]=1;f=f+1|0;m=f&65535;if((m|0)>1]){continue}break}break t;case 4:o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}K:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break K}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;L:{if(!j[a+4148>>2]){break L}M:{if(j[a+4144>>2]){ob(g+16|0);break M}Va(g+16|0)}m=k[g+27|0];f=m<<24>>24;N:{if((f|0)<=-1){m=j[g+20>>2];if(!m){break L}f=j[g+16>>2];break N}if(!f){break L}f=g+16|0}m=f+m|0;f=0;while(1){n=f;o=m;O:{P:{Q:{R:{S:{T:{m=m-1|0;p=h[m|0];switch(p-91|0){case 3:break R;case 2:break S;case 0:break T;default:break Q}}if(n){h[o|0]=91;break P}h[m|0]=93;f=0;break O}h[m|0]=91;f=0;if(!n){break O}h[o|0]=94;break O}f=1;if(k[o|0]==93){break O}h[o|0]=p;f=n;break O}if(!n){f=0;break O}h[o|0]=p}f=1}if(((h[g+27|0]<0?j[g+16>>2]:g+16|0)|0)!=(m|0)){continue}break}}m=k[b+27|0];f=m<<24>>24;if((f|0)<=-1){m=j[b+20>>2]}U:{if(!m){break U}m=b+16|0;n=k[g+27|0];if(((n<<24>>24<0?j[g+20>>2]:n)|0)==1){if(!_(g+16|0,0,-1,1742,1)){break U}f=k[m+11|0]}V:{if(f<<24>>24<=-1){m=j[b+16>>2];f=j[b+20>>2];break V}f=f&255}if(!Nn(a,c,m,f,h[g+27|0]<0?j[g+16>>2]:g+16|0)){break U}Ka(g+16|0,1742)}W:{X:{if(!y){n=k[g+27|0];break X}Va(g+16|0);f=k[g+27|0];m=f<<24>>24;Y:{if((m|0)<=-1){m=j[g+16>>2];f=j[g+20>>2];n=m;if(f){break Y}break W}if(!m){m=g+16|0;break W}n=g+16|0}m=f+n|0;f=0;while(1){n=f;o=m;Z:{_:{$:{aa:{ba:{ca:{m=m-1|0;p=h[m|0];switch(p-91|0){case 3:break aa;case 2:break ba;case 0:break ca;default:break $}}if(n){h[o|0]=91;break _}h[m|0]=93;f=0;break Z}h[m|0]=91;f=0;if(!n){break Z}h[o|0]=94;break Z}f=1;if(k[o|0]==93){break Z}h[o|0]=p;f=n;break Z}if(!n){f=0;break Z}h[o|0]=p}f=1}n=h[g+27|0];if((((n|0)<0?j[g+16>>2]:g+16|0)|0)!=(m|0)){continue}break}}m=g+16|0;if(n<<24>>24>-1){break W}m=j[g+16>>2]}f=Hn(a,b,m);if(h[g+27|0]<=-1){T(j[g+16>>2])}if(f){break p}r=r+1|0;break q;case 5:break w;default:break q}}o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}da:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break da}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;ea:{fa:{if(j[j[a+4100>>2]+96>>2]){A=b,B=cr(j[a+4100>>2],ta(h[g+27|0]<0?j[g+16>>2]:g+16|0)),j[A+52>>2]=B;break fa}ga:{if(!j[a+4148>>2]){break ga}if(j[a+4144>>2]){ob(g+16|0);break ga}Va(g+16|0)}n=j[g+48>>2];m=k[g+43|0];f=m<<24>>24<0;f=(f?j[g+32>>2]:g+32|0)+(f?j[g+36>>2]:m)|0;if((n|0)!=(f|0)){zn(g+16|0,n,f)}m=cb(h[g+27|0]<0?j[g+16>>2]:g+16|0);j[b+52>>2]=m;f=0;if(!m){break ea}}f=1}if(h[g+27|0]<=-1){T(j[g+16>>2])}if(!f){break p}r=r+1|0;break q}h[m+11|0]=0;h[m|0]=0;break q}X();z()}if(h[g+27|0]>-1){break r}T(j[g+16>>2]);break r}p=q-m|0;if(p>>>0>=4294967280){break m}ha:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break ha}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if(!o){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((q|0)!=(m|0)){continue}break}}h[f|0]=0;o=b+4|0;if(h[b+15|0]<=-1){T(j[o>>2])}f=j[g+20>>2];j[o>>2]=j[g+16>>2];j[o+4>>2]=f;j[o+8>>2]=j[g+24>>2];m=k[u+11|0];n=m<<24>>24;f=j[a+4412>>2];ia:{if((n|0)<=-1){break ia}f=m}ja:{if(!f){break ja}f=m;m=(n|0)<0;f=m?j[a+4412>>2]:f;if(!f){break ja}m=m?j[a+4408>>2]:u;f=f+m|0;while(1){if((Ba(o,h[m|0],0)|0)==-1){m=m+1|0;if((f|0)!=(m|0)){continue}break ja}break}if(j[a+4144>>2]){Ld(o,x);break ja}Kd(o,u)}if(!j[a+4148>>2]){break r}if(j[a+4144>>2]){ob(o);break r}Va(o)}r=r+1|0;if(df(b+4|0)){break q}if(h[b+15|0]<=-1){h[j[b+4>>2]]=0;j[b+8>>2]=0;break q}h[b+15|0]=0;h[b+4|0]=0}t=t+1|0;m=ka(g+32|0,g+48|0);n=k[g+43|0];f=n<<24>>24<0;if((m|0)!=((f?j[g+32>>2]:g+32|0)+(f?j[g+36>>2]:n)|0)){continue}break}f=1;if((r|0)>3){break o}}f=Jb(j[a+4100>>2],s);if(!f){break p}T(f)}f=0}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(f){e=e+1|0;if((w|0)==(e|0)){break n}continue}break}x=0;break b}m=j[g+56>>2];f=j[g+60>>2]}if((f|0)==(m|0)){break c}if((c|0)==80){while(1){un(a,j[m>>2]);m=m+4|0;if((m|0)!=(f|0)){continue}break c}}while(1){pn(a,j[m>>2]);m=m+4|0;if((m|0)!=(f|0)){continue}break}break c}break a}X();z()}X();z()}j[g+60>>2]=j[g+56>>2];x=1}a=j[g+60>>2];f=j[g+56>>2];ka:{if((a|0)==(f|0)){f=a;break ka}m=0;while(1){b=j[(m<<2)+f>>2];if(b){O[j[j[b>>2]+4>>2]](b);f=j[g+56>>2];a=j[g+60>>2]}m=m+1|0;if(m>>>0>2>>>0){continue}break}}if(f){j[g+60>>2]=f;T(f)}M=g+80|0;return x}X();z()}function Wg(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0;n=M-192|0;M=n;z=h;F=i&65535;o=d;p=e&65535;G=(e^i)&-2147483648;m=i>>>16&32767;a:{u=e>>>16&32767;b:{c:{if(m-1>>>0<32766?u-1>>>0<=32765:0){break c}H=e&2147483647;l=H;k=d;if(!(!k&(l|0)==2147418112?!(b|c):l>>>0<2147418112)){J=d;G=e|32768;break b}H=i&2147483647;e=H;d=h;if(!(!d&(e|0)==2147418112?!(f|g):e>>>0<2147418112)){J=h;G=i|32768;b=f;c=g;break b}if(!(b|k|(l^2147418112|c))){if(!(d|f|(e^2147418112|g))){b=0;c=0;G=2147450880;break b}G=G|2147418112;b=0;c=0;break b}if(!(d|f|(e^2147418112|g))){b=0;c=0;break b}if(!(b|k|(c|l))){break a}if(!(d|f|(e|g))){G=G|2147418112;b=0;c=0;break b}if((l|0)==65535|l>>>0<65535){i=b;d=!(p|o);h=d<<6;k=s(d?b:o)+32|0;b=s(d?c:p);b=h+((b|0)==32?k:b)|0;mb(n+176|0,i,c,o,p,b-15|0);I=16-b|0;o=j[n+184>>2];p=j[n+188>>2];c=j[n+180>>2];b=j[n+176>>2]}if(e>>>0>65535){break c}d=!(z|F);e=d<<6;h=s(d?f:z)+32|0;d=s(d?g:F);d=e+((d|0)==32?h:d)|0;mb(n+160|0,f,g,z,F,d-15|0);I=(d+I|0)-16|0;z=j[n+168>>2];F=j[n+172>>2];f=j[n+160>>2];g=j[n+164>>2]}e=F|65536;H=e;P=z;d=z;l=e<<15|d>>>17;d=d<<15|g>>>17;h=-102865788-d|0;e=l;k=l;i=1963258675-(k+(d>>>0>4192101508)|0)|0;Nb(n+144|0,d,k,h,i);k=j[n+152>>2];Nb(n+128|0,0-k|0,0-(j[n+156>>2]+((k|0)!=0)|0)|0,h,i);h=j[n+136>>2];i=h<<1|j[n+132>>2]>>>31;h=j[n+140>>2]<<1|h>>>31;Nb(n+112|0,i,h,d,l);k=h;h=j[n+120>>2];Nb(n+96|0,i,k,0-h|0,0-(j[n+124>>2]+((h|0)!=0)|0)|0);h=j[n+104>>2];i=h<<1|j[n+100>>2]>>>31;h=j[n+108>>2]<<1|h>>>31;Nb(n+80|0,i,h,d,l);k=h;h=j[n+88>>2];Nb(n- -64|0,i,k,0-h|0,0-(j[n+92>>2]+((h|0)!=0)|0)|0);h=j[n+72>>2];i=h<<1|j[n+68>>2]>>>31;h=j[n+76>>2]<<1|h>>>31;Nb(n+48|0,i,h,d,l);k=h;h=j[n+56>>2];Nb(n+32|0,i,k,0-h|0,0-(j[n+60>>2]+((h|0)!=0)|0)|0);h=j[n+40>>2];i=h<<1|j[n+36>>2]>>>31;h=j[n+44>>2]<<1|h>>>31;Nb(n+16|0,i,h,d,l);k=h;h=j[n+24>>2];Nb(n,i,k,0-h|0,0-(j[n+28>>2]+((h|0)!=0)|0)|0);I=(u-m|0)+I|0;h=j[n+8>>2];k=j[n+12>>2]<<1|h>>>31;l=h<<1|j[n+4>>2]>>>31;h=l-1|0;l=k-(l>>>0<1)|0;k=0;C=k;i=h;q=e;e=0;r=Cr(h,k,q,e);k=N;v=k;y=l;m=0;u=d;h=Cr(l,m,d,0);d=h+r|0;k=N+k|0;k=d>>>0>>0?k+1|0:k;h=d;d=k;k=0;l=(d|0)==(v|0)&h>>>0>>0|d>>>0>>0;r=Cr(y,m,q,e);e=r+d|0;l=N+(k|l)|0;k=e;e=k>>>0>>0?l+1|0:l;q=k;l=h;r=0;h=Cr(i,C,u,t);d=r+h|0;k=N+l|0;k=d>>>0>>0?k+1|0:k;h=k;u=(l|0)==(k|0)&r>>>0>d>>>0|k>>>0>>0;l=q+u|0;k=e;A=l;e=l>>>0>>0?k+1|0:k;q=d;r=d;u=h;d=g;B=(d&131071)<<15|f>>>17;v=Cr(i,C,B,0);d=N;t=d;k=f;l=k<<15&-32768;x=0;D=Cr(y,m,l,x);h=D+v|0;k=N+d|0;k=h>>>0>>0?k+1|0:k;d=k;D=0;E=Cr(i,C,l,x);x=D+E|0;l=h;k=l+N|0;k=x>>>0>>0?k+1|0:k;w=(k|0)==(l|0)&x>>>0>>0|k>>>0>>0;k=(d|0)==(t|0)&l>>>0>>0|d>>>0>>0;h=d;d=Cr(y,m,B,K)+d|0;l=k+N|0;l=d>>>0>>0?l+1|0:l;h=d;d=w+d|0;k=l;k=d>>>0>>0?k+1|0:k;h=d;d=d+r|0;k=k+u|0;k=d>>>0>>0?k+1|0:k;r=d;v=k;h=(k|0)==(u|0)&d>>>0>>0|k>>>0>>0;d=h+A|0;k=e;k=d>>>0>>0?k+1|0:k;e=(r|0)!=0|(v|0)!=0;d=e+d|0;l=d>>>0>>0?k+1|0:k;h=d;t=0-d|0;A=0;u=Cr(t,A,i,C);d=N;x=d;e=u;q=d;A=Cr(y,m,t,A);d=N;w=d;B=0-(((h|0)!=0)+l|0)|0;t=0;l=Cr(i,C,B,t);h=l+A|0;k=N+d|0;k=h>>>0>>0?k+1|0:k;d=k;l=h+q|0;e=0+e|0;q=e;k=e;l=k>>>0>>0?l+1|0:l;e=l;l=(x|0)==(l|0)&k>>>0>>0|l>>>0>>0;k=(d|0)==(w|0)&h>>>0
                                                                    >>0|d>>>0>>0;h=d;d=Cr(y,m,B,t)+d|0;k=k+N|0;k=d>>>0>>0?k+1|0:k;h=d;d=l+d|0;w=d;h=d>>>0>>0?k+1|0:k;d=0-r|0;B=0-(((r|0)!=0)+v|0)|0;r=0;A=Cr(B,r,i,C);x=N;v=d;l=Cr(d,0,y,m);d=l+A|0;k=N+x|0;k=d>>>0>>0?k+1|0:k;l=d;d=k;C=Cr(i,C,v,K);v=0+C|0;k=l+N|0;k=v>>>0>>0?k+1|0:k;v=(l|0)==(k|0)&v>>>0>>0|l>>>0>k>>>0;i=(d|0)==(x|0)&l>>>0>>0|d>>>0>>0;l=d;d=Cr(y,m,B,r)+l|0;k=i+N|0;k=d>>>0>>0?k+1|0:k;i=d;d=d+v|0;l=d>>>0>>0?k+1|0:k;i=d;d=d+q|0;k=l+e|0;k=d>>>0>>0?k+1|0:k;i=d;l=d;d=k;l=(e|0)==(k|0)&l>>>0>>0|e>>>0>k>>>0;e=l+w|0;k=h;k=e>>>0>>0?k+1|0:k;l=e;e=i;v=e-2|0;h=v;r=d-(e>>>0<2)|0;e=r;e=(d|0)==(e|0)&h>>>0>>0|d>>>0>e>>>0;d=l+e|0;k=d>>>0>>0?k+1|0:k;e=d;d=d-1|0;h=k-(e>>>0<1)|0;e=0;x=e;m=d;i=o;w=i<<2|c>>>30;B=0;q=Cr(d,e,w,B);e=N;t=e;l=e;e=c;K=(e&1073741823)<<2|b>>>30;u=0;D=h;i=0;e=Cr(K,u,h,i);d=e+q|0;l=N+l|0;l=d>>>0>>0?l+1|0:l;k=(l|0)==(t|0)&d>>>0>>0|l>>>0>>0;q=d;h=l;A=r;l=0;r=l;c=k;E=((p&1073741823)<<2|o>>>30)&-262145|262144;l=Cr(A,l,E,0);d=l+d|0;k=N+h|0;k=d>>>0>>0?k+1|0:k;p=d;e=k;h=(k|0)==(h|0)&d>>>0>>0|h>>>0>k>>>0;d=c+h|0;k=0;k=d>>>0>>0?1:k;h=Cr(D,i,E,O);d=h+d|0;l=N+k|0;l=d>>>0>>0?l+1|0:l;o=Cr(m,x,E,O);h=N;c=d;t=Cr(w,B,D,i);d=t+o|0;k=N+h|0;k=d>>>0>>0?k+1|0:k;t=d;d=k;k=(h|0)==(k|0)&o>>>0>t>>>0|h>>>0>k>>>0;o=c+d|0;k=k+l|0;l=o;h=l>>>0>>0?k+1|0:k;q=p;c=l;p=0;d=q+p|0;o=e;l=t+e|0;l=d>>>0

                                                                    >>0?l+1|0:l;k=d;e=l;p=(l|0)==(o|0)&k>>>0>>0|l>>>0>>0;l=c+p|0;k=h;C=l;h=l>>>0

                                                                    >>0?k+1|0:k;o=d;p=e;q=Cr(K,u,A,r);e=N;t=Cr(v,0,w,B);d=t+q|0;l=N+e|0;l=d>>>0>>0?l+1|0:l;t=d;q=(e|0)==(l|0)&q>>>0>d>>>0|e>>>0>l>>>0;e=l;y=q;k=b;L=k<<2&-4;c=0;k=Cr(m,x,L,c);d=k+d|0;l=N+l|0;l=d>>>0>>0?l+1|0:l;q=d;k=d;d=l;l=(l|0)==(e|0)&k>>>0>>0|e>>>0>l>>>0;e=y+l|0;k=0;k=e>>>0>>0?1:k;l=e;e=o+l|0;k=k+p|0;k=e>>>0>>0?k+1|0:k;t=e;l=e;e=k;p=(k|0)==(p|0)&l>>>0>>0|k>>>0

                                                                    >>0;k=p+C|0;l=h;C=k;p=k>>>0

                                                                    >>0;d=k+w|0;l=e;l=d>>>0>>0?l+1|0:l;e=l;d:{if((l|0)==131071|l>>>0<131071){y=0;m=f;x=0;k=Cr(h,y,m,x);o=N;l=b<<17;b=0;c=(k|0)!=0|(o|0)!=0;u=b-c|0;D=l-(b>>>0>>0)|0;b=0-(((k|0)!=0)+o|0)|0;r=0-k|0;v=b;c=0;w=Cr(i,c,m,x);b=N;B=b;o=0;q=Cr(h,y,g,o);k=q+w|0;l=N+b|0;l=k>>>0>>0?l+1|0:l;b=k;q=0;t=k;k=(k|0)==(v|0)&r>>>0>>0|k>>>0>v>>>0;C=u-k|0;u=D-(k>>>0>u>>>0)|0;k=Cr(d,0,m,x);m=N;y=Cr(h,y,z,0);p=y+k|0;k=N+m|0;k=p>>>0>>0?k+1|0:k;m=Cr(g,o,i,c);p=m+p|0;k=N+k|0;k=((l|0)==(B|0)&b>>>0>>0|l>>>0>>0)+(m>>>0>p>>>0?k+1|0:k)|0;b=l+p|0;p=b;b=b>>>0>>0?k+1|0:k;k=Cr(h,i,H,0);m=N;w=p;p=Cr(f,g,e,0);k=p+k|0;l=N+m|0;l=k>>>0

                                                                    >>0?l+1|0:l;m=Cr(d,e,g,o);p=m+k|0;l=Cr(i,c,z,F);c=l+p|0;l=c;z=0;c=w+z|0;k=b+l|0;k=c>>>0>>0?k+1|0:k;b=c;z=C-b|0;F=u-((b>>>0>C>>>0)+k|0)|0;I=I-1|0;p=r-q|0;b=v-((r>>>0>>0)+t|0)|0;break d}r=i>>>1|0;l=0;o=b<<16;h=(i&1)<<31|h>>>1;i=d<<31|i>>>1;w=0;m=f;B=0;b=Cr(h,w,m,B);k=N;u=k;k=(b|0)!=0|(k|0)!=0;v=0-k|0;E=o-(c>>>0>>0)|0;q=0-b|0;t=0-(((b|0)!=0)+u|0)|0;o=0;u=Cr(h,w,g,o);b=N;D=b;k=e<<31|d>>>1;r=r|d<<31;Q=k|l;C=r;L=0;l=Cr(r,L,m,B);c=l+u|0;k=N+b|0;k=c>>>0>>0?k+1|0:k;b=k;l=c;x=l;y=0;k=(l|0)==(t|0)&y>>>0>q>>>0|l>>>0>t>>>0;A=v-k|0;v=E-(k>>>0>v>>>0)|0;k=Cr(h,i,H,0);E=N;O=Cr(m,g,e>>>1|0,0);l=O+k|0;k=N+E|0;E=l;l=l>>>0>>0?k+1|0:k;k=E;d=(e&1)<<31|d>>>1;e=e>>>1|0;E=Cr(d,e,g,o);k=k+E|0;l=N+l|0;F=Cr(r,Q,z,F);k=F+k|0;r=0;F=k;k=Cr(g,o,C,L);o=N;m=Cr(d,0,m,B);l=m+k|0;k=N+o|0;k=l>>>0>>0?k+1|0:k;z=Cr(h,w,z,0);l=z+l|0;k=N+k|0;p=l;l=l>>>0>>0?k+1|0:k;z=(b|0)==(D|0)&c>>>0>>0|b>>>0>>0;c=b;b=b+p|0;l=l+z|0;l=b>>>0>>0?l+1|0:l;c=b;b=b+r|0;l=l+F|0;l=b>>>0>>0?l+1|0:l;z=A-b|0;F=v-((b>>>0>A>>>0)+l|0)|0;p=q-y|0;b=t-((q>>>0>>0)+x|0)|0}if((I|0)>=16384){G=G|2147418112;b=0;c=0;break b}m=I+16383|0;if((I|0)<=-16383){e:{if(m){break e}m=p;k=b<<1|m>>>31;m=m<<1;c=(g|0)==(k|0)&f>>>0>>0|g>>>0>>0;f=z;k=F<<1|f>>>31;g=f<<1|b>>>31;l=g;f=(l|0)==(P|0)&(k|0)==(H|0)?c:(H|0)==(k|0)&l>>>0>P>>>0|k>>>0>H>>>0;b=f+h|0;k=i;k=b>>>0>>0?k+1|0:k;c=k;f=d+((i|0)==(k|0)&b>>>0>>0|i>>>0>k>>>0)|0;l=e&65535;e=f;l=d>>>0>e>>>0?l+1|0:l;d=l;if(!(l&65536)){break e}J=e|J;G=d|G;break b}b=0;c=0;break b}o=p;l=b<<1|o>>>31;o=o<<1;c=(g|0)==(l|0)&f>>>0<=o>>>0|g>>>0>>0;f=z;l=F<<1|f>>>31;f=f<<1|b>>>31;f=(f|0)==(P|0)&(l|0)==(H|0)?c:(H|0)==(l|0)&f>>>0>=P>>>0|l>>>0>H>>>0;b=f+h|0;k=i;k=b>>>0>>0?k+1|0:k;c=k;f=d+((i|0)==(k|0)&b>>>0>>0|i>>>0>k>>>0)|0;l=e&65535;l=d>>>0>f>>>0?l+1|0:l;e=0;d=e+f|0;k=(m<<16)+l|0;J=d|J;G=G|(d>>>0>>0?k+1|0:k)}j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=J;j[a+12>>2]=G;M=n+192|0;return}j[a>>2]=0;j[a+4>>2]=0;b=!(d|f|(e|g));j[a+8>>2]=b?0:J;j[a+12>>2]=b?2147450880:G;M=n+192|0}function Xn(a,b,c,d,e,f,g){var h=0,i=0,l=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;h=M-8976|0;M=h;z=d+e|0;F=0-z|0;a:{b:{while(1){if((c|0)!=48){c:{if((c|0)!=46){break a}c=j[b+4>>2];if(c>>>0>=m[b+104>>2]){break c}j[b+4>>2]=c+1;c=k[c|0];break b}}else{c=j[b+4>>2];if(c>>>0>2]){o=1;j[b+4>>2]=c+1;c=k[c|0]}else{o=1;c=pa(b)}continue}break}c=pa(b)}t=1;if((c|0)!=48){break a}while(1){c=l;l=c-1|0;n=n-(c>>>0<1)|0;c=j[b+4>>2];d:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break d}c=pa(b)}if((c|0)==48){continue}break}o=1}j[h+784>>2]=0;e:{f:{i=(c|0)==46;s=c-48|0;g:{h:{i:{if(i|s>>>0<=9){while(1){j:{if(i&1){if(!t){l=q;n=r;t=1;break j}i=!o;break i}i=q+1|0;r=i>>>0<1?r+1|0:r;q=i;if((v|0)<=2044){y=(c|0)==48?y:q;i=(h+784|0)+(v<<2)|0;o=i;if(u){s=(p(j[i>>2],10)+c|0)-48|0}j[o>>2]=s;o=1;i=u+1|0;c=(i|0)==9;u=c?0:i;v=c+v|0;break j}if((c|0)==48){break j}j[h+8960>>2]=j[h+8960>>2]|1;y=18396}c=j[b+4>>2];k:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break k}c=pa(b)}i=(c|0)==46;s=c-48|0;if(i|s>>>0<10){continue}break}}l=t?l:q;n=t?n:r;if(!(!o|(c&-33)!=69)){i=Ug(b,g);c=N;s=c;l:{if(i|(c|0)!=-2147483648){break l}if(!g){break g}i=0;s=0;if(!j[b+104>>2]){break l}j[b+4>>2]=j[b+4>>2]-1}n=n+s|0;b=i+l|0;n=b>>>0>>0?n+1|0:n;l=b;break f}i=!o;if((c|0)<0){break h}}if(!j[b+104>>2]){break h}j[b+4>>2]=j[b+4>>2]-1}if(!i){break f}j[37203]=28}q=0;r=0;Ib(b,0,0);c=0;b=0;break e}b=j[h+784>>2];if(!b){Ub(h,+(f|0)*0);q=j[h>>2];r=j[h+4>>2];c=j[h+12>>2];b=j[h+8>>2];break e}if(!((l|0)!=(q|0)|(n|0)!=(r|0)|((r|0)>0?1:(r|0)>=0?q>>>0>9:0)|(b>>>d|0?(d|0)<=30:0))){Cb(h+48|0,f);Ec(h+32|0,b);xa(h+16|0,j[h+48>>2],j[h+52>>2],j[h+56>>2],j[h+60>>2],j[h+32>>2],j[h+36>>2],j[h+40>>2],j[h+44>>2]);q=j[h+16>>2];r=j[h+20>>2];c=j[h+28>>2];b=j[h+24>>2];break e}if((n|0)>0?1:(n|0)>=0?l>>>0>(e|0)/-2>>>0:0){j[37203]=68;Cb(h+96|0,f);xa(h+80|0,j[h+96>>2],j[h+100>>2],j[h+104>>2],j[h+108>>2],-1,-1,-1,2147418111);xa(h- -64|0,j[h+80>>2],j[h+84>>2],j[h+88>>2],j[h+92>>2],-1,-1,-1,2147418111);q=j[h+64>>2];r=j[h+68>>2];c=j[h+76>>2];b=j[h+72>>2];break e}b=e-226|0;c=l>>>0>>0;b=b>>31;if((b|0)>(n|0)?1:(n|0)<=(b|0)?c:0){j[37203]=68;Cb(h+144|0,f);xa(h+128|0,j[h+144>>2],j[h+148>>2],j[h+152>>2],j[h+156>>2],0,0,0,65536);xa(h+112|0,j[h+128>>2],j[h+132>>2],j[h+136>>2],j[h+140>>2],0,0,0,65536);q=j[h+112>>2];r=j[h+116>>2];c=j[h+124>>2];b=j[h+120>>2];break e}if(u){if((u|0)<=8){c=(h+784|0)+(v<<2)|0;b=j[c>>2];while(1){b=p(b,10);u=u+1|0;if((u|0)!=9){continue}break}j[c>>2]=b}v=v+1|0}m:{t=l;if((y|0)>(l|0)|(y|0)>=9|(l|0)>17){break m}if((t|0)==9){Cb(h+192|0,f);Ec(h+176|0,j[h+784>>2]);xa(h+160|0,j[h+192>>2],j[h+196>>2],j[h+200>>2],j[h+204>>2],j[h+176>>2],j[h+180>>2],j[h+184>>2],j[h+188>>2]);q=j[h+160>>2];r=j[h+164>>2];c=j[h+172>>2];b=j[h+168>>2];break e}if((t|0)<=8){Cb(h+272|0,f);Ec(h+256|0,j[h+784>>2]);xa(h+240|0,j[h+272>>2],j[h+276>>2],j[h+280>>2],j[h+284>>2],j[h+256>>2],j[h+260>>2],j[h+264>>2],j[h+268>>2]);Cb(h+224|0,j[(0-t<<2)+123008>>2]);Wg(h+208|0,j[h+240>>2],j[h+244>>2],j[h+248>>2],j[h+252>>2],j[h+224>>2],j[h+228>>2],j[h+232>>2],j[h+236>>2]);q=j[h+208>>2];r=j[h+212>>2];c=j[h+220>>2];b=j[h+216>>2];break e}b=(p(t,-3)+d|0)+27|0;c=j[h+784>>2];if(c>>>b|0?(b|0)<=30:0){break m}Cb(h+352|0,f);Ec(h+336|0,c);xa(h+320|0,j[h+352>>2],j[h+356>>2],j[h+360>>2],j[h+364>>2],j[h+336>>2],j[h+340>>2],j[h+344>>2],j[h+348>>2]);Cb(h+304|0,j[(t<<2)+122936>>2]);xa(h+288|0,j[h+320>>2],j[h+324>>2],j[h+328>>2],j[h+332>>2],j[h+304>>2],j[h+308>>2],j[h+312>>2],j[h+316>>2]);q=j[h+288>>2];r=j[h+292>>2];c=j[h+300>>2];b=j[h+296>>2];break e}while(1){c=v;v=c-1|0;if(!j[(h+784|0)+(v<<2)>>2]){continue}break}u=0;b=(t|0)%9|0;n:{if(!b){i=0;break n}g=(t|0)>-1?b:b+9|0;o:{if(!c){i=0;c=0;break o}l=j[(0-g<<2)+123008>>2];n=1e9/(l|0)|0;s=0;b=0;i=0;while(1){o=s;r=(h+784|0)+(b<<2)|0;s=j[r>>2];q=(s>>>0)/(l>>>0)|0;o=o+q|0;j[r>>2]=o;o=!o&(b|0)==(i|0);i=o?i+1&2047:i;t=o?t-9|0:t;s=p(n,s-p(l,q)|0);b=b+1|0;if((c|0)!=(b|0)){continue}break}if(!s){break o}j[(h+784|0)+(c<<2)>>2]=s;c=c+1|0}t=(t-g|0)+9|0}while(1){if(!((t|0)!=36|m[(h+784|0)+(i<<2)>>2]>=10384593?(t|0)>=36:0)){v=c+2047|0;s=0;o=c;while(1){c=o;g=v&2047;o=(h+784|0)+(g<<2)|0;b=j[o>>2];n=b>>>3|0;l=b<<29;b=l+s|0;n=b>>>0>>0?n+1|0:n;l=b;s=0;if(!(!n&b>>>0<1000000001)){s=Dr(b,n,1e9);l=l-Cr(s,N,1e9,0)|0}j[o>>2]=l;o=(g|0)!=(c-1&2047)?c:(g|0)==(i|0)?c:l?c:g;v=g-1|0;if((g|0)!=(i|0)){continue}break}u=u-29|0;if(!s){continue}i=i-1&2047;if((o|0)==(i|0)){b=(h+784|0)+((o+2046&2047)<<2)|0;c=o-1&2047;j[b>>2]=j[b>>2]|j[(h+784|0)+(c<<2)>>2]}t=t+9|0;j[(h+784|0)+(i<<2)>>2]=s;continue}break}p:{q:while(1){g=c+1&2047;n=(h+784|0)+((c-1&2047)<<2)|0;while(1){o=i;b=0;r:{s:{while(1){t:{l=b+o&2047;if((l|0)==(c|0)){break t}l=j[(h+784|0)+(l<<2)>>2];i=j[(b<<2)+122960>>2];if(l>>>0>>0){break t}if(i>>>0>>0){break s}b=b+1|0;if((b|0)!=4){continue}}break}if((t|0)!=36){break s}l=0;n=0;b=0;q=0;r=0;while(1){g=b+o&2047;if((g|0)==(c|0)){c=c+1&2047;j[((c<<2)+h|0)+780>>2]=0}xa(h+768|0,l,n,q,r,0,0,1342177280,1075633366);Ec(h+752|0,j[(h+784|0)+(g<<2)>>2]);yb(h+736|0,j[h+768>>2],j[h+772>>2],j[h+776>>2],j[h+780>>2],j[h+752>>2],j[h+756>>2],j[h+760>>2],j[h+764>>2]);q=j[h+744>>2];r=j[h+748>>2];l=j[h+736>>2];n=j[h+740>>2];b=b+1|0;if((b|0)!=4){continue}break}Cb(h+720|0,f);xa(h+704|0,l,n,q,r,j[h+720>>2],j[h+724>>2],j[h+728>>2],j[h+732>>2]);q=j[h+712>>2];r=j[h+716>>2];l=0;n=0;i=j[h+704>>2];s=j[h+708>>2];t=u+113|0;e=t-e|0;g=(e|0)<(d|0);d=g?(e|0)>0?e:0:d;if((d|0)<=112){break r}break p}l=(t|0)>45?9:1;u=l+u|0;i=c;if((c|0)==(o|0)){continue}r=1e9>>>l|0;s=-1<>2];b=(v>>>l|0)+b|0;j[q>>2]=b;b=!b&(i|0)==(o|0);i=b?i+1&2047:i;t=b?t-9|0:t;b=p(r,s&v);o=o+1&2047;if((o|0)!=(c|0)){continue}break}if(!b){continue}if((g|0)!=(i|0)){j[(h+784|0)+(c<<2)>>2]=b;c=g;continue q}j[n>>2]=j[n>>2]|1;i=g;continue}break}break}Ub(h+656|0,Od(225-d|0));Yg(h+688|0,j[h+656>>2],j[h+660>>2],j[h+664>>2],j[h+668>>2],i,s,q,r);A=j[h+696>>2];B=j[h+700>>2];C=j[h+688>>2];D=j[h+692>>2];Ub(h+640|0,Od(113-d|0));Ze(h+672|0,i,s,q,r,j[h+640>>2],j[h+644>>2],j[h+648>>2],j[h+652>>2]);l=j[h+672>>2];n=j[h+676>>2];w=j[h+680>>2];x=j[h+684>>2];ve(h+624|0,i,s,q,r,l,n,w,x);yb(h+608|0,C,D,A,B,j[h+624>>2],j[h+628>>2],j[h+632>>2],j[h+636>>2]);q=j[h+616>>2];r=j[h+620>>2];i=j[h+608>>2];s=j[h+612>>2]}b=o+4&2047;u:{if((b|0)==(c|0)){break u}b=j[(h+784|0)+(b<<2)>>2];v:{if(b>>>0<=499999999){if((o+5&2047)==(c|0)?!b:0){break v}Ub(h+496|0,+(f|0)*.25);yb(h+480|0,l,n,w,x,j[h+496>>2],j[h+500>>2],j[h+504>>2],j[h+508>>2]);w=j[h+488>>2];x=j[h+492>>2];l=j[h+480>>2];n=j[h+484>>2];break v}if((b|0)!=5e8){Ub(h+592|0,+(f|0)*.75);yb(h+576|0,l,n,w,x,j[h+592>>2],j[h+596>>2],j[h+600>>2],j[h+604>>2]);w=j[h+584>>2];x=j[h+588>>2];l=j[h+576>>2];n=j[h+580>>2];break v}E=+(f|0);if((o+5&2047)==(c|0)){Ub(h+528|0,E*.5);yb(h+512|0,l,n,w,x,j[h+528>>2],j[h+532>>2],j[h+536>>2],j[h+540>>2]);w=j[h+520>>2];x=j[h+524>>2];l=j[h+512>>2];n=j[h+516>>2];break v}Ub(h+560|0,E*.75);yb(h+544|0,l,n,w,x,j[h+560>>2],j[h+564>>2],j[h+568>>2],j[h+572>>2]);w=j[h+552>>2];x=j[h+556>>2];l=j[h+544>>2];n=j[h+548>>2]}if((d|0)>111){break u}Ze(h+464|0,l,n,w,x,0,0,0,1073676288);if(qc(j[h+464>>2],j[h+468>>2],j[h+472>>2],j[h+476>>2],0,0,0,0)){break u}yb(h+448|0,l,n,w,x,0,0,0,1073676288);w=j[h+456>>2];x=j[h+460>>2];l=j[h+448>>2];n=j[h+452>>2]}yb(h+432|0,i,s,q,r,l,n,w,x);ve(h+416|0,j[h+432>>2],j[h+436>>2],j[h+440>>2],j[h+444>>2],C,D,A,B);q=j[h+424>>2];r=j[h+428>>2];i=j[h+416>>2];s=j[h+420>>2];w:{if((-2-z|0)>=(t&2147483647)){break w}j[h+408>>2]=q;j[h+412>>2]=r&2147483647;j[h+400>>2]=i;j[h+404>>2]=s;xa(h+384|0,i,s,q,r,0,0,0,1073610752);c=Zg(j[h+400>>2],j[h+404>>2],j[h+408>>2],j[h+412>>2],1081081856);b=(c|0)<0;q=b?q:j[h+392>>2];r=b?r:j[h+396>>2];i=b?i:j[h+384>>2];s=b?s:j[h+388>>2];u=((c|0)>-1)+u|0;if(G=!(g&(b|(d|0)!=(e|0))&(qc(l,n,w,x,0,0,0,0)|0)!=0),H=0,I=(u+110|0)<=(F|0),I?G:H){break w}j[37203]=68}Xg(h+368|0,i,s,q,r,u);q=j[h+368>>2];r=j[h+372>>2];c=j[h+380>>2];b=j[h+376>>2]}j[a>>2]=q;j[a+4>>2]=r;j[a+8>>2]=b;j[a+12>>2]=c;M=h+8976|0}function Sc(a,b,c,d,e,f,g,m){var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=M-16|0;M=t;j[t+8>>2]=0;j[t>>2]=0;j[t+4>>2]=0;o=j[b+1024>>2];if(o){while(1){a:{if(j[o+56>>2]?0:g){break a}p=l[b+4462>>1];b:{if(!p){break b}c:{d:{if(!f){break d}n=j[f+56>>2];if(!n){break d}q=i[f+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)){break d}if(p>>>0>=l[n>>1]){break c}}n=j[o+56>>2];if(!n){break b}q=i[o+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)|p>>>0>1]){break b}}if(!f){break a}n=j[f+56>>2];if(!n){break a}q=i[f+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)|p>>>0>1]){break a}n=j[o+56>>2];if(!n){break a}q=i[o+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)|p>>>0>1]){break a}}n=j[o+56>>2];e:{if(!n){break e}q=i[o+60>>1];r=(q<<1)+n|0;if(q){u=l[b+4464>>1];while(1){p=q>>>1|0;v=(p<<1)+n|0;s=u>>>0>l[v>>1];n=s?v+2|0:n;q=s?(p^-1)+q|0:p;if(q){continue}break}}if((n|0)==(r|0)){break e}if(l[b+4464>>1]>=l[n>>1]){break a}}f:{if(g){break f}n=j[o+56>>2];if(!n){break f}q=i[o+60>>1];r=(q<<1)+n|0;if(q){u=l[b+4198>>1];while(1){p=q>>>1|0;v=(p<<1)+n|0;s=u>>>0>l[v>>1];n=s?v+2|0:n;q=s?(p^-1)+q|0:p;if(q){continue}break}}if((n|0)==(r|0)){break f}p=l[b+4198>>1];if(p>>>0>1]){break f}if(!f){break a}n=j[f+56>>2];if(!n){break f}q=i[f+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)){break f}if(p>>>0>=l[n>>1]){break a}}n=Id(o,c,d,e,f,g,m,0);if(!n){break a}while(1){g:{if(!f){break g}p=j[f+52>>2];if(p){$(t,p);Z(t,32);break g}p=Jb(j[b+4100>>2],l[f+30>>1]);Z(t,32);$(t,1738);if(!p){break g}$(t,p);T(p)}h:{if(!j[b+4148>>2]){break h}q=k[n+16|0];if(!(q&1)){break h}r=t;i:{if(q&2){s=k[n|0]+n|0;if(!(k[s+18|0]|k[s+19|0]<<8|(k[s+20|0]<<16|k[s+21|0]<<24))){break h}q=k[n+16|0];p=1810;if(!(q&1)){break i}}s=(k[n|0]+n|0)+18|0;p=s;if(!(q&2)){break i}p=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}$(r,p)}q=k[n+16|0];j:{k:{if(!(q&1)){break k}l:{if(q&2){p=k[n|0]+n|0;if(!(k[p+18|0]|k[p+19|0]<<8|(k[p+20|0]<<16|k[p+21|0]<<24))){break k}q=k[n+16|0];s=0;if(!(q&1)){break l}}p=(k[n|0]+n|0)+18|0;s=p;if(!(q&2)){break l}s=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}if(ca(s,1748)){break j}}Z(t,32);$(t,1748);$(t,n+17|0)}m:{if(j[b+4148>>2]){break m}p=k[n+16|0];if(!(p&1)){break m}if(p&2){p=k[n|0]+n|0;if(!(k[p+18|0]|k[p+19|0]<<8|(k[p+20|0]<<16|k[p+21|0]<<24))){break m}}Z(t,32);r=t;q=k[n+16|0];p=1810;n:{if(!(q&1)){break n}s=(k[n|0]+n|0)+18|0;p=s;if(!(q&2)){break n}p=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}$(r,p)}o:{if(j[o+52>>2]){Z(t,32);$(t,j[o+52>>2]);break o}p=Jb(j[b+4100>>2],l[o+30>>1]);Z(t,32);$(t,1738);if(!p){break o}$(t,p);T(p)}Z(t,10);n=Th(o,n,e,f,g,m);if(n){continue}break}}o=j[o+80>>2];if(o){continue}break}}p:{if(d){s=(c+d|0)-1|0;q=j[((k[s|0]<<2)+b|0)+1024>>2];if(q){v=(d|0)<1;while(1){n=q+68|0;n=h[q+79|0]<=-1?j[n>>2]:n;q:{r:{s:{t:{if(v){break t}r=d+n|0;o=d;p=s;while(1){u=k[n|0];if(!u){break s}if((u|0)!=k[p|0]?(u|0)!=46:0){break t}p=p-1|0;n=n+1|0;u=(o|0)>1;o=o-1|0;if(u){continue}break}n=r}if(k[n|0]){break r}}p=l[b+4462>>1];u:{v:{if(!p){break v}w:{x:{if(!f){break x}n=j[f+56>>2];if(!n){break x}o=i[f+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)){break x}if(p>>>0>=l[n>>1]){break w}}n=j[q+56>>2];if(!n){break v}o=i[q+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)|p>>>0>1]){break v}}if(!f){break u}n=j[f+56>>2];if(!n){break u}o=i[f+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)|p>>>0>1]){break u}n=j[q+56>>2];if(!n){break u}o=i[q+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)|p>>>0>1]){break u}}n=j[q+56>>2];y:{if(!n){break y}o=i[q+60>>1];u=(o<<1)+n|0;if(o){x=l[b+4464>>1];while(1){p=o>>>1|0;w=(p<<1)+n|0;r=x>>>0>l[w>>1];n=r?w+2|0:n;o=r?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(u|0)){break y}if(l[b+4464>>1]>=l[n>>1]){break u}}z:{if(g){break z}n=j[q+56>>2];if(!n){break z}o=i[q+60>>1];u=(o<<1)+n|0;if(o){x=l[b+4198>>1];while(1){p=o>>>1|0;w=(p<<1)+n|0;r=x>>>0>l[w>>1];n=r?w+2|0:n;o=r?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(u|0)){break z}if(l[b+4198>>1]>=l[n>>1]){break u}}n=Id(q,c,d,e,f,g,m,0);if(!n){break u}while(1){A:{if(!f){break A}o=j[f+52>>2];if(o){$(t,o);Z(t,32);break A}o=Jb(j[b+4100>>2],l[f+30>>1]);Z(t,32);$(t,1738);if(!o){break A}$(t,o);T(o)}B:{if(!j[b+4148>>2]){break B}o=k[n+16|0];if(!(o&1)){break B}u=t;C:{if(o&2){o=k[n|0]+n|0;if(!(k[o+18|0]|k[o+19|0]<<8|(k[o+20|0]<<16|k[o+21|0]<<24))){break B}o=k[n+16|0];p=1810;if(!(o&1)){break C}}r=(k[n|0]+n|0)+18|0;p=r;if(!(o&2)){break C}p=k[r|0]|k[r+1|0]<<8|(k[r+2|0]<<16|k[r+3|0]<<24)}$(u,p)}o=k[n+16|0];D:{E:{if(!(o&1)){break E}F:{if(o&2){o=k[n|0]+n|0;if(!(k[o+18|0]|k[o+19|0]<<8|(k[o+20|0]<<16|k[o+21|0]<<24))){break E}o=k[n+16|0];r=0;if(!(o&1)){break F}}p=(k[n|0]+n|0)+18|0;r=p;if(!(o&2)){break F}r=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}if(ca(r,1748)){break D}}Z(t,32);$(t,1748);$(t,n+17|0)}G:{if(j[b+4148>>2]){break G}o=k[n+16|0];if(!(o&1)){break G}if(o&2){o=k[n|0]+n|0;if(!(k[o+18|0]|k[o+19|0]<<8|(k[o+20|0]<<16|k[o+21|0]<<24))){break G}}Z(t,32);o=t;u=k[n+16|0];r=1810;H:{if(!(u&1)){break H}p=(k[n|0]+n|0)+18|0;r=p;if(!(u&2)){break H}r=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}$(o,r)}I:{if(j[q+52>>2]){Z(t,32);$(t,j[q+52>>2]);break I}o=Jb(j[b+4100>>2],l[q+30>>1]);Z(t,32);$(t,1738);if(!o){break I}$(t,o);T(o)}Z(t,10);n=Th(q,n,e,f,g,m);if(n){continue}break}}p=q+84|0;break q}p=q+88|0}q=j[p>>2];if(q){continue}break}}b=j[t+4>>2];j[a>>2]=j[t>>2];j[a+4>>2]=b;j[a+8>>2]=j[t+8>>2];break p}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;if(h[t+11|0]>-1){break p}T(j[t>>2])}M=t+16|0}function Eh(a,b,c,d){var e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0;e=M-160|0;M=e;f=j[c+4>>2];g=j[c>>2];a:{if(!(j[b+44>>2]?(f|0)!=(g|0):0)){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}o=j[d>>2];l=h[d+11|0];j[e+152>>2]=0;j[e+144>>2]=0;j[e+148>>2]=0;j[e+136>>2]=0;j[e+128>>2]=0;j[e+132>>2]=0;r=(l|0)<0?o:d;while(1){t=0;if((f|0)!=(g|0)){while(1){j[e+120>>2]=0;j[e+112>>2]=0;j[e+116>>2]=0;b:{c:{o=p(t,12)+g|0;if(h[o+11|0]<=-1){o=j[o>>2]}d=ca(o,121405);d:{if(!d){break d}o=d;g=ca(d+1|0,121405);if(!g){break d}while(1){o=g;j[e+104>>2]=0;j[e+96>>2]=0;j[e+100>>2]=0;g=W(d);if(g>>>0>=4294967280){break c}e:{f:{if(g>>>0>=11){l=g+16&-16;f=U(l);j[e+88>>2]=l|-2147483648;j[e+80>>2]=f;j[e+84>>2]=g;break f}h[e+91|0]=g;f=e+80|0;if(!g){break e}}V(f,d,g)}h[f+g|0]=0;h[e+75|0]=3;i[e+64>>1]=k[121405]|k[121406]<<8;h[e+66|0]=k[121407];h[e+67|0]=0;ec(e+96|0,e+80|0,e- -64|0);if(h[e+75|0]<=-1){T(j[e+64>>2])}if(h[e+91|0]<=-1){T(j[e+80>>2])}d=h[e+107|0];f=(d|0)<0;aa(e+112|0,f?j[e+96>>2]:e+96|0,f?j[e+100>>2]:d&255);g=ca(o+1|0,121405);if(h[e+107|0]<=-1){T(j[e+96>>2])}d=o;if(g){continue}break}}d=W(o);if(d>>>0<4294967280){g:{h:{if(d>>>0>=11){g=d+16&-16;f=U(g);j[e+104>>2]=g|-2147483648;j[e+96>>2]=f;j[e+100>>2]=d;break h}h[e+107|0]=d;f=e+96|0;if(!d){break g}}V(f,o,d)}h[d+f|0]=0;d=k[e+107|0];n=d<<24>>24;f=(n|0)<0;g=f?j[e+100>>2]:d;i:{if((g|0)<3){break i}d=j[e+96>>2];l=f?d:e+96|0;m=l+g|0;f=l;while(1){f=Aa(f,32,g-2|0);if(!f){break i}if(qa(f,121409,3)){f=f+1|0;g=m-f|0;if((g|0)>=3){continue}break i}break}if((f|0)==(m|0)){break i}g=f-l|0;if((g|0)==-1){break i}while(1){h[((n<<24>>24<0?d:e+96|0)+g|0)+1|0]=11;d=k[e+107|0];n=d<<24>>24;f=(n|0)<0;d=f?j[e+100>>2]:d;if(d>>>0>>0){break i}m=d;d=j[e+96>>2];l=f?d:e+96|0;m=m+l|0;g=g+l|0;f=m-g|0;if((f|0)<3){break i}while(1){f=Aa(g,32,f-2|0);if(!f){break i}if(qa(f,121409,3)){g=f+1|0;f=m-g|0;if((f|0)>=3){continue}break i}break}if((f|0)==(m|0)){break i}g=f-l|0;if((g|0)!=-1){continue}break}}Ab(e+80|0,e+96|0,11);u=0;g=j[e+84>>2];f=g;n=j[e+80>>2];if((f|0)==(n|0)){break b}while(1){q=p(u,12);m=q+n|0;g=k[m+11|0];d=g<<24>>24;j:{if((d|0)<=-1){g=j[m+4>>2];l=j[m>>2];break j}l=m}k:{if((g|0)<3){break k}s=g+l|0;f=l;while(1){f=Aa(f,105,g-2|0);if(!f){break k}if(qa(f,121413,3)){f=f+1|0;g=s-f|0;if((g|0)>=3){continue}break k}break}if((f|0)==(s|0)){break k}f=f-l|0;if((f|0)==-1){break k}Wa(m,f);n=j[e+80>>2];d=k[(q+n|0)+11|0]}l=n+q|0;l:{if(d<<24>>24<=-1){g=j[l+4>>2];l=j[l>>2];break l}g=d&255}m:{if((g|0)<3){break m}m=g+l|0;f=l;while(1){f=Aa(f,116,g-2|0);if(!f){break m}if(qa(f,121417,3)){f=f+1|0;g=m-f|0;if((g|0)>=3){continue}break m}break}if((f|0)==(m|0)){break m}f=f-l|0;if((f|0)==-1){break m}while(1){g=n+q|0;if(d<<24>>24<=-1){g=j[g>>2]}h[f+g|0]=95;n=j[e+80>>2];l=q+n|0;g=k[l+11|0];d=g<<24>>24;if((d|0)<=-1){g=j[l+4>>2];l=j[l>>2]}if((g|0)<3){break m}m=g+l|0;f=l;while(1){f=Aa(f,116,g-2|0);if(!f){break m}if(qa(f,121417,3)){f=f+1|0;g=m-f|0;if((g|0)>=3){continue}break m}break}f=(f|0)==(m|0)?-1:f-l|0;if((f|0)!=-1){continue}break}}n:{g=ca(o,121397);o:{if(!g){break o}f=W(g);if(f>>>0>=4294967280){break n}p:{q:{if(f>>>0>=11){l=f+16&-16;d=U(l);j[e+72>>2]=l|-2147483648;j[e+64>>2]=d;j[e+68>>2]=f;break q}h[e+75|0]=f;d=e- -64|0;if(!f){break p}}V(d,g,f)}h[d+f|0]=0;h[e+59|0]=3;i[e+48>>1]=k[121397]|k[121398]<<8;h[e+50|0]=k[121399];h[e+51|0]=0;ec(e+96|0,e- -64|0,e+48|0);if(h[e+59|0]<=-1){T(j[e+48>>2])}if(h[e+75|0]<=-1){T(j[e+64>>2])}l=Xb(j[b+44>>2],h[e+107|0]<0?j[e+96>>2]:e+96|0);if(!l){break o}while(1){$(ha(e- -64|0,j[e+80>>2]+q|0),r);Gh(e+48|0,b,l,h[e+75|0]<0?j[e+64>>2]:e- -64|0);f=k[e+59|0];g=f<<24>>24;d=j[e+52>>2];if(!((g|0)<0?d:f)){Gh(e+32|0,b,l,r);if(h[e+59|0]<=-1){T(j[e+48>>2])}j[e+56>>2]=j[e+40>>2];d=j[e+36>>2];j[e+48>>2]=j[e+32>>2];j[e+52>>2]=d;f=k[e+59|0];g=f;d=j[e+52>>2]}if(g<<24>>24<0?d:f){Ab(e+32|0,e+48|0,10);n=0;g=j[e+36>>2];d=g;if(j[e+32>>2]!=(g|0)){while(1){Z(e+144|0,10);d=k[e+123|0];f=d<<24>>24<0;aa(e+144|0,f?j[e+112>>2]:e+112|0,f?j[e+116>>2]:d);m=j[e+80>>2]+q|0;d=h[m+11|0];r:{if((d|0)<=-1){g=j[m+4>>2];d=j[m>>2];break r}g=d&255;d=m}s:{if((g|0)<3){break s}s=d+g|0;f=d;while(1){f=Aa(f,115,g-2|0);if(!f){break s}if(qa(f,121421,3)){f=f+1|0;g=s-f|0;if((g|0)>=3){continue}break s}break}if((f|0)==(s|0)|(f-d|0)==-1){break s}j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;h[e+11|0]=3;i[e>>1]=k[121421]|k[121422]<<8;h[e+2|0]=k[121423];h[e+3|0]=0;ec(e+16|0,m,e);if(h[e+11|0]<=-1){T(j[e>>2])}d=h[e+27|0];f=(d|0)<0;aa(e+144|0,f?j[e+16>>2]:e+16|0,f?j[e+20>>2]:d&255);if(h[e+27|0]>-1){break s}T(j[e+16>>2])}d=j[e+32>>2]+p(n,12)|0;g=k[d+11|0];f=g<<24>>24<0;aa(e+144|0,f?j[d>>2]:d,f?j[d+4>>2]:g);n=n+1|0;g=j[e+36>>2];d=j[e+32>>2];if(n>>>0<(g-d|0)/12>>>0){continue}break}}if(d){if((d|0)==(g|0)){f=d}else{while(1){f=g-12|0;if(h[g-1|0]<=-1){T(j[f>>2])}g=f;if((f|0)!=(d|0)){continue}break}f=j[e+32>>2]}j[e+36>>2]=d;T(f)}g=k[e+59|0]}l=j[l+12>>2];if(g<<24>>24<=-1){T(j[e+48>>2])}if(h[e+75|0]<=-1){T(j[e+64>>2])}if(l){continue}break}}f=j[e+80>>2];n=f;u=u+1|0;g=j[e+84>>2];if(u>>>0>=(g-f|0)/12>>>0){break b}continue}break}X();z()}X();z()}X();z()}if(f){if((f|0)==(g|0)){d=f}else{while(1){d=g-12|0;if(h[g-1|0]<=-1){T(j[d>>2])}g=d;if((g|0)!=(f|0)){continue}break}d=j[e+80>>2]}j[e+84>>2]=f;T(d)}if(h[e+107|0]<=-1){T(j[e+96>>2])}if(h[e+123|0]<=-1){T(j[e+112>>2])}t=t+1|0;g=j[c>>2];if(t>>>0<(j[c+4>>2]-g|0)/12>>>0){continue}break}}t:{d=k[e+155|0];if(d<<24>>24<0?j[e+148>>2]:d){break t}if(!ca(r,121425)){break t}Ka(e+128|0,r);h[e+123|0]=3;i[e+112>>1]=k[121425]|k[121426]<<8;h[e+114|0]=k[121427];h[e+115|0]=0;h[e+107|0]=3;i[e+96>>1]=k[121417]|k[121418]<<8;h[e+98|0]=k[121419];h[e+99|0]=0;wb(e+128|0,e+112|0,e+96|0);if(h[e+107|0]<=-1){T(j[e+96>>2])}if(h[e+123|0]<=-1){T(j[e+112>>2])}r=h[e+139|0]<0?j[e+128>>2]:e+128|0;g=j[c>>2];f=j[c+4>>2];continue}break}b=j[e+148>>2];j[a>>2]=j[e+144>>2];j[a+4>>2]=b;j[a+8>>2]=j[e+152>>2];j[e+152>>2]=0;j[e+144>>2]=0;j[e+148>>2]=0;if(h[e+139|0]>=0){break a}T(j[e+128>>2]);if(h[e+155|0]>-1){break a}T(j[e+144>>2])}M=e+160|0}function Wn(a,b,c){var d=0,e=0,f=0,g=0,l=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=q(0),F=0;g=M-304|0;M=g;e=k[b|0];a:{if(!e){break a}b:{c:{while(1){d:{e=e&255;e:{if((e|0)==32|e-9>>>0<5){while(1){e=b;b=b+1|0;d=k[e+1|0];if((d|0)==32|d-9>>>0<5){continue}break}Ib(a,0,0);while(1){b=j[a+4>>2];f:{if(b>>>0>2]){j[a+4>>2]=b+1;b=k[b|0];break f}b=pa(a)}if((b|0)==32|b-9>>>0<5){continue}break}b=j[a+4>>2];if(j[a+104>>2]){b=b-1|0;j[a+4>>2]=b}d=b-j[a+8>>2]|0;b=d;d=d>>31;f=b;l=l+j[a+124>>2]|0;b=t+j[a+120>>2]|0;l=b>>>0>>0?l+1|0:l;t=f+b|0;l=d+l|0;l=b>>>0>t>>>0?l+1|0:l;break e}g:{h:{i:{e=k[b|0];if((e|0)==37){d=k[b+1|0];if((d|0)==42){break i}if((d|0)!=37){break h}}Ib(a,0,0);e=((e|0)==37)+b|0;b=j[a+4>>2];j:{if(b>>>0>2]){j[a+4>>2]=b+1;b=k[b|0];break j}b=pa(a)}if((b|0)!=k[e|0]){if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}A=0;if((b|0)>=0){break a}break c}b=t+1|0;l=b>>>0<1?l+1|0:l;t=b;break e}s=0;e=b+2|0;break g}if(!(k[b+2|0]!=36|d-48>>>0>=10)){s=Vn(c,k[b+1|0]-48|0);e=b+3|0;break g}s=j[c>>2];c=c+4|0;e=b+1|0}A=0;b=0;if(k[e|0]-48>>>0<10){while(1){b=(k[e|0]+p(b,10)|0)-48|0;d=k[e+1|0];e=e+1|0;if(d-48>>>0<10){continue}break}}d=e;f=k[d|0];k:{if((f|0)!=109){break k}v=0;A=(s|0)!=0;f=k[e+1|0];w=0;d=e+1|0}e=d+1|0;r=3;l:{m:{switch(f-65|0){case 39:f=d+2|0;d=k[d+1|0]==104;e=d?f:e;r=d?-2:-1;break l;case 43:f=d+2|0;d=k[d+1|0]==108;e=d?f:e;r=d?3:1;break l;case 51:case 57:r=1;break l;case 11:r=2;break l;case 41:break l;case 0:case 2:case 4:case 5:case 6:case 18:case 23:case 26:case 32:case 34:case 35:case 36:case 37:case 38:case 40:case 45:case 46:case 47:case 50:case 52:case 55:break m;default:break c}}r=0;e=d}f=k[e|0];d=(f&47)==3;z=d?1:r;x=d?f|32:f;n:{if((x|0)==91){break n}o:{if((x|0)!=110){if((x|0)!=99){break o}b=(b|0)>1?b:1;break n}Rg(s,z,t,l);break e}Ib(a,0,0);while(1){d=j[a+4>>2];p:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break p}d=pa(a)}if((d|0)==32|d-9>>>0<5){continue}break}d=j[a+4>>2];if(j[a+104>>2]){d=d-1|0;j[a+4>>2]=d}d=d-j[a+8>>2]|0;f=d;d=d>>31;u=f;y=l+j[a+124>>2]|0;f=t+j[a+120>>2]|0;y=f>>>0>>0?y+1|0:y;t=u+f|0;d=d+y|0;d=f>>>0>t>>>0?d+1|0:d;l=d}y=b;C=b>>31;Ib(a,b,C);d=j[a+104>>2];f=j[a+4>>2];q:{if(d>>>0>f>>>0){j[a+4>>2]=f+1;break q}if((pa(a)|0)<0){break c}d=j[a+104>>2]}if(d){j[a+4>>2]=j[a+4>>2]-1}d=16;r:{s:{t:{u:{v:{w:{x:{switch(x-88|0){default:b=x-65|0;if(b>>>0>6|!(1<>2]-j[a+8>>2]|0;if(j[a+120>>2]==(0-d|0)&j[a+124>>2]==(0-((d>>31)+((d|0)!=0)|0)|0)){break b}if(!s){break r}y=j[g+8>>2];f=j[g+12>>2];d=j[g>>2];b=j[g+4>>2];switch(z|0){case 2:break t;case 1:break u;case 0:break v;default:break r};case 3:case 11:case 27:if((x&239)==99){ya(g+32|0,-1,257);h[g+32|0]=0;if((x|0)!=115){break s}h[g+65|0]=0;h[g+46|0]=0;i[g+42>>1]=0;i[g+44>>1]=0;break s}u=k[e+1|0];f=(u|0)==94;ya(g+32|0,f,257);h[g+32|0]=0;d=f?e+2|0:e+1|0;y:{z:{A:{e=k[(f?2:1)+e|0];if((e|0)!=45){if((e|0)==93){break A}r=(u|0)!=94;break y}r=(u|0)!=94;h[g+78|0]=r;break z}r=(u|0)!=94;h[g+126|0]=r}d=d+1|0}e=d;while(1){d=k[e|0];B:{if((d|0)!=45){if(!d){break c}if((d|0)!=93){break B}break s}d=45;u=k[e+1|0];if(!u|(u|0)==93){break B}f=e+1|0;e=k[e-1|0];C:{if(u>>>0<=e>>>0){d=u;break C}while(1){e=e+1|0;h[e+(g+32|0)|0]=r;d=k[f|0];if(e>>>0>>0){continue}break}}e=f}h[(d+g|0)+33|0]=r;e=e+1|0;continue};case 23:d=8;break w;case 12:case 29:d=10;break w;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 22:case 25:case 26:case 28:case 30:case 31:break r;case 0:case 24:case 32:break w;case 17:break x}}d=0}y=Tg(a,d,0,-1,-1);f=N;d=j[a+4>>2]-j[a+8>>2]|0;if(j[a+120>>2]==(0-d|0)&j[a+124>>2]==(0-((d>>31)+((d|0)!=0)|0)|0)){break b}if(!(!s|(x|0)!=112)){j[s>>2]=y;break r}Rg(s,z,y,f);break r}D=s,E=Sg(d,b,y,f),n[D>>2]=E;break r}D=s,F=Be(d,b,y,f),o[D>>3]=F;break r}j[s>>2]=d;j[s+4>>2]=b;j[s+8>>2]=y;j[s+12>>2]=f;break r}x=(x|0)==99;r=x?b+1|0:31;u=(z|0)!=1;D:{if(!u){d=s;if(A){d=ja(r<<2);if(!d){break d}}j[g+296>>2]=0;j[g+300>>2]=0;b=0;while(1){w=d;E:{while(1){d=j[a+4>>2];F:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break F}d=pa(a)}if(!k[(d+g|0)+33|0]){break E}h[g+27|0]=d;d=rd(g+28|0,g+27|0,1,g+296|0);if((d|0)==-2){continue}v=0;if((d|0)==-1){break c}if(w){j[(b<<2)+w>>2]=j[g+28>>2];b=b+1|0}if(!A|(b|0)!=(r|0)){continue}break}r=r<<1|1;d=vc(w,r<<2);if(!d){break c}continue}break}v=0;d=g+296|0;f=1;G:{if(!d){break G}f=!j[d>>2]}if(!f){break c}break D}if(A){b=0;d=ja(r);if(!d){break d}while(1){v=d;while(1){d=j[a+4>>2];H:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break H}d=pa(a)}if(!k[(d+g|0)+33|0]){w=0;break D}h[b+v|0]=d;b=b+1|0;if((r|0)!=(b|0)){continue}break}w=0;r=r<<1|1;d=vc(v,r);if(d){continue}break}break c}b=0;if(s){while(1){d=j[a+4>>2];I:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break I}d=pa(a)}if(k[(d+g|0)+33|0]){h[b+s|0]=d;b=b+1|0;continue}else{w=0;v=s;break D}}}while(1){b=j[a+4>>2];J:{if(b>>>0>2]){j[a+4>>2]=b+1;b=k[b|0];break J}b=pa(a)}if(k[(b+g|0)+33|0]){continue}break}v=0;w=0;b=0}d=j[a+4>>2];if(j[a+104>>2]){d=d-1|0;j[a+4>>2]=d}d=d-j[a+8>>2]|0;f=d;z=d+j[a+120>>2]|0;d=j[a+124>>2]+(d>>31)|0;d=f>>>0>z>>>0?d+1|0:d;if(!(d|z)|x&((y|0)!=(z|0)|(d|0)!=(C|0))){break b}K:{if(!A){break K}if(!u){j[s>>2]=w;break K}j[s>>2]=v}if(x){break r}if(w){j[(b<<2)+w>>2]=0}if(!v){v=0;break r}h[b+v|0]=0}d=j[a+4>>2]-j[a+8>>2]|0;b=d;d=d>>31;f=b;l=l+j[a+124>>2]|0;b=t+j[a+120>>2]|0;l=b>>>0>>0?l+1|0:l;t=f+b|0;l=d+l|0;l=b>>>0>t>>>0?l+1|0:l;B=((s|0)!=0)+B|0}b=e+1|0;e=k[e+1|0];if(e){continue}break a}break}v=0;w=0}B=B?B:-1}if(!A){break a}T(v);T(w)}M=g+304|0;return B}function No(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;o=M-560|0;M=o;j[o+44>>2]=0;Jr(+b);g=Gr(1)|0;Gr(0)|0;a:{if((g|0)<-1?1:(g|0)<=-1){B=1;b=-b;Jr(+b);g=Gr(1)|0;Gr(0)|0;w=122016;break a}B=1;w=122019;if(e&2048){break a}w=122022;if(e&1){break a}B=0;A=1;w=122017}b:{if((g&2146435072)==2146435072){n=B+3|0;tb(a,32,c,n,e&-65537);ab(a,w,B);d=f&32;ab(a,b!=b?d?122043:122047:d?122035:122039,3);break b}x=o+16|0;c:{d:{e:{b=sh(b,o+44|0);b=b+b;if(b!=0){g=j[o+44>>2];j[o+44>>2]=g-1;C=f|32;if((C|0)!=97){break e}break c}C=f|32;if((C|0)==97){break c}n=j[o+44>>2];q=(d|0)<0?6:d;break d}n=g-29|0;j[o+44>>2]=n;b=b*268435456;q=(d|0)<0?6:d}s=(n|0)<0?o+48|0:o+336|0;m=s;while(1){d=m;if(b<4294967296&b>=0){g=~~b>>>0}else{g=0}j[d>>2]=g;m=m+4|0;b=(b- +(g>>>0))*1e9;if(b!=0){continue}break}f:{if((n|0)<1){d=n;g=m;i=s;break f}i=s;d=n;while(1){t=(d|0)<29?d:29;g=m-4|0;g:{if(i>>>0>g>>>0){break g}d=t;l=0;while(1){v=g;D=l;E=j[g>>2];u=d&31;if((d&63)>>>0>=32){l=E<>>32-u;E=E<>>0>>0?l+1|0:l;l=Dr(u,l,1e9);D=v;v=Cr(l,N,1e9,0);j[D>>2]=u-v;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!l){break g}i=i-4|0;j[i>>2]=l}while(1){g=m;if(i>>>0>>0){m=g-4|0;if(!j[m>>2]){continue}}break}d=j[o+44>>2]-t|0;j[o+44>>2]=d;m=g;if((d|0)>0){continue}break}}if((d|0)<=-1){y=((q+25|0)/9|0)+1|0;t=(C|0)==102;while(1){l=(d|0)<-9?9:0-d|0;h:{if(g>>>0<=i>>>0){i=j[i>>2]?i:i+4|0;break h}v=1e9>>>l|0;u=-1<>2];j[m>>2]=D+(d>>>l|0);d=p(v,d&u);m=m+4|0;if(m>>>0>>0){continue}break}i=j[i>>2]?i:i+4|0;if(!d){break h}j[g>>2]=d;g=g+4|0}d=j[o+44>>2]+l|0;j[o+44>>2]=d;m=t?s:i;g=g-m>>2>(y|0)?m+(y<<2)|0:g;if((d|0)<0){continue}break}}m=0;i:{if(g>>>0<=i>>>0){break i}m=p(s-i>>2,9);d=10;l=j[i>>2];if(l>>>0<10){break i}while(1){m=m+1|0;d=p(d,10);if(l>>>0>=d>>>0){continue}break}}d=(q-((C|0)==102?0:m)|0)-((C|0)==103&(q|0)!=0)|0;if((d|0)<(p(g-s>>2,9)-9|0)){l=d+9216|0;t=(l|0)/9|0;n=((t<<2)+((n|0)<0?o+48|4:o+340|0)|0)-4096|0;d=10;l=l-p(t,9)|0;if((l|0)<=7){while(1){d=p(d,10);l=l+1|0;if((l|0)!=8){continue}break}}t=j[n>>2];v=(t>>>0)/(d>>>0)|0;y=n+4|0;l=t-p(d,v)|0;j:{if(l?0:(y|0)==(g|0)){break j}u=d>>>1|0;z=l>>>0>>0?.5:(g|0)==(y|0)?(u|0)==(l|0)?1:1.5:1.5;b=v&1?9007199254740994:9007199254740992;if(!(k[w|0]!=45|A)){z=-z;b=-b}l=t-l|0;j[n>>2]=l;if(b+z==b){break j}d=d+l|0;j[n>>2]=d;if(d>>>0>=1e9){while(1){j[n>>2]=0;n=n-4|0;if(n>>>0>>0){i=i-4|0;j[i>>2]=0}d=j[n>>2]+1|0;j[n>>2]=d;if(d>>>0>999999999){continue}break}}m=p(s-i>>2,9);d=10;l=j[i>>2];if(l>>>0<10){break j}while(1){m=m+1|0;d=p(d,10);if(l>>>0>=d>>>0){continue}break}}d=n+4|0;g=d>>>0>>0?d:g}while(1){d=g;n=g>>>0<=i>>>0;if(!n){g=d-4|0;if(!j[g>>2]){continue}}break}k:{if((C|0)!=103){A=e&8;break k}g=q?q:1;l=(g|0)>(m|0)&(m|0)>-5;q=(l?m^-1:-1)+g|0;f=(l?-1:-2)+f|0;A=e&8;if(A){break k}g=-9;l:{if(n){break l}t=j[d-4>>2];if(!t){break l}l=10;g=0;if((t>>>0)%10|0){break l}while(1){n=g;g=g+1|0;l=p(l,10);if(!((t>>>0)%(l>>>0)|0)){continue}break}g=n^-1}n=p(d-s>>2,9);if((f&-33)==70){A=0;g=(g+n|0)-9|0;g=(g|0)>0?g:0;q=(g|0)>(q|0)?q:g;break k}A=0;g=((m+n|0)+g|0)-9|0;g=(g|0)>0?g:0;q=(g|0)>(q|0)?q:g}t=q|A;v=(t|0)!=0;D=a;l=c;u=f&-33;g=(m|0)>0?m:0;m:{if((u|0)==70){break m}g=m>>31;g=Gc(g+m^g,0,x);if((x-g|0)<=1){while(1){g=g-1|0;h[g|0]=48;if((x-g|0)<2){continue}break}}y=g-2|0;h[y|0]=f;h[g-1|0]=(m|0)<0?45:43;g=x-y|0}n=(g+(v+(q+B|0)|0)|0)+1|0;tb(D,32,l,n,e);ab(a,w,B);tb(a,48,c,n,e^65536);n:{o:{p:{if((u|0)==70){f=o+16|8;m=o+16|9;l=i>>>0>s>>>0?s:i;i=l;while(1){g=Gc(j[i>>2],0,m);q:{if((i|0)!=(l|0)){if(o+16>>>0>=g>>>0){break q}while(1){g=g-1|0;h[g|0]=48;if(o+16>>>0>>0){continue}break}break q}if((g|0)!=(m|0)){break q}h[o+24|0]=48;g=f}ab(a,g,m-g|0);i=i+4|0;if(s>>>0>=i>>>0){continue}break}if(t){ab(a,122051,1)}if((q|0)<1|d>>>0<=i>>>0){break p}while(1){g=Gc(j[i>>2],0,m);if(g>>>0>o+16>>>0){while(1){g=g-1|0;h[g|0]=48;if(o+16>>>0>>0){continue}break}}ab(a,g,(q|0)<9?q:9);g=q-9|0;i=i+4|0;if(d>>>0<=i>>>0){break o}f=(q|0)>9;q=g;if(f){continue}break}break o}r:{if((q|0)<0){break r}s=d>>>0>i>>>0?d:i+4|0;d=o+16|8;f=o+16|9;m=i;while(1){g=Gc(j[m>>2],0,f);if((f|0)==(g|0)){h[o+24|0]=48;g=d}s:{if((i|0)!=(m|0)){if(o+16>>>0>=g>>>0){break s}while(1){g=g-1|0;h[g|0]=48;if(o+16>>>0>>0){continue}break}break s}ab(a,g,1);g=g+1|0;if((q|0)<1?!A:0){break s}ab(a,122051,1)}v=g;g=f-g|0;ab(a,v,(g|0)<(q|0)?g:q);q=q-g|0;m=m+4|0;if(s>>>0<=m>>>0){break r}if((q|0)>-1){continue}break}}tb(a,48,q+18|0,18,0);ab(a,y,x-y|0);break n}g=q}tb(a,48,g+9|0,9,0)}break b}q=f&32;l=q?w+9|0:w;t:{if(d>>>0>11){break t}g=12-d|0;if(!g){break t}z=8;while(1){z=z*16;g=g-1|0;if(g){continue}break}if(k[l|0]==45){b=-(z+(-b-z));break t}b=b+z-z}i=j[o+44>>2];g=i>>31;g=Gc(g^g+i,0,x);if((x|0)==(g|0)){h[o+15|0]=48;g=o+15|0}m=B|2;i=j[o+44>>2];s=g-2|0;h[s|0]=f+15;h[g-1|0]=(i|0)<0?45:43;n=e&8;i=o+16|0;while(1){f=i;v=i;i=q;if(r(b)<2147483648){g=~~b}else{g=-2147483648}h[v|0]=i|k[g+122e3|0];b=(b- +(g|0))*16;i=f+1|0;if(!((i-(o+16|0)|0)!=1|(b==0?!((d|0)>0|n):0))){h[f+1|0]=46;i=f+2|0}if(b!=0){continue}break}g=a;f=c;if(!d|((i-o|0)-18|0)>=(d|0)){q=((x-(o+16|0)|0)-s|0)+i|0}else{q=((d+x|0)-s|0)+2|0}d=q;n=d+m|0;tb(g,32,f,n,e);ab(a,l,m);tb(a,48,c,n,e^65536);f=i-(o+16|0)|0;ab(a,o+16|0,f);d=x-s|0;tb(a,48,q-(d+f|0)|0,0,0);ab(a,s,d)}tb(a,32,c,n,e^8192);M=o+560|0;return((c|0)>(n|0)?c:n)|0}function vk(a,b,c,d,e,f,g,m,n){var o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;t=M-48|0;M=t;a:{b:{c:{if(!f){break c}r=l[a+4198>>1];d:{if(!r){break d}o=e;q=f;while(1){u=q>>>1|0;x=(u<<1)+o|0;s=r>>>0>l[x>>1];o=s?x+2|0:o;q=s?(u^-1)+q|0:u;if(q){continue}break}if(((f<<1)+e|0)==(o|0)){break d}if(r>>>0>=l[o>>1]){break b}}r=l[a+4464>>1];if(!r){break c}o=e;q=f;while(1){u=q>>>1|0;x=(u<<1)+o|0;s=r>>>0>l[x>>1];o=s?x+2|0:o;q=s?(u^-1)+q|0:u;if(q){continue}break}if(((f<<1)+e|0)==(o|0)){break c}if(r>>>0>=l[o>>1]){break b}}o=cb(c);j[b>>2]=o;if(!o){break a}j[b+8>>2]=0;h[b+4|0]=0;v=1;if(!n){break b}o=cb(n);j[b+12>>2]=o;if(!o){break a}h[b+16|0]=0;o=cb(c);j[b+20>>2]=o;v=2;if(!o){break a}}if(f){F=g+m|0;x=1;while(1){e:{E=(B<<1)+e|0;q=l[E>>1];u=j[(((q&255)<<2)+a|0)+3072>>2];if(u){while(1){f:{g:{if(l[u+30>>1]!=(q&65535)){break g}s=u+4|0;o=k[u+15|0];r=o<<24>>24;h:{i:{if((r|0)<=-1){o=j[u+8>>2];if(!(o&65535)){break h}o=o<<16>>16;if((o|0)>=(m|0)){break g}s=j[s>>2];break i}if(!r){break h}if((m|0)<=(o|0)){break g}}if(ba(s,F-o|0)){break g}}r=j[u+56>>2];j:{if(!r){break j}s=l[a+4198>>1];k:{if(!s){break k}q=i[u+60>>1];C=(q<<1)+r|0;o=r;if(q){while(1){w=q>>>1|0;D=(w<<1)+o|0;A=s>>>0>l[D>>1];o=A?D+2|0:o;q=A?(w^-1)+q|0:w;if(q){continue}break}}if((o|0)==(C|0)){break k}if(s>>>0>=l[o>>1]){break g}}s=l[a+4462>>1];l:{if(!s){break l}q=i[u+60>>1];C=(q<<1)+r|0;o=r;if(q){while(1){w=q>>>1|0;D=(w<<1)+o|0;A=s>>>0>l[D>>1];o=A?D+2|0:o;q=A?(w^-1)+q|0:w;if(q){continue}break}}if((o|0)==(C|0)){break l}if(s>>>0>=l[o>>1]){break g}}q=l[a+4464>>1];if(!q){break j}o=i[u+60>>1];A=(o<<1)+r|0;if(o){while(1){s=o>>>1|0;C=(s<<1)+r|0;w=q>>>0>l[C>>1];r=w?C+2|0:r;o=w?(s^-1)+o|0:s;if(o){continue}break}}if((r|0)==(A|0)){break j}if(q>>>0>=l[r>>1]){break g}}We(t+32|0,u,c,d);m:{n:{o:{p:{q:{r:{r=h[t+43|0];if((r|0)<=-1){if((v|0)>=100){o=v;break p}if(j[t+36>>2]){break r}o=v;break p}if((v|0)>=100){o=v;break p}o=t+32|0;if(r){break q}o=v;break p}o=j[t+32>>2]}r=p(v,12)+b|0;G=r,H=cb(o),j[G>>2]=H;o=k[u+29|0];j[r+8>>2]=0;h[r+4|0]=o&1;o=v+1|0;if(!n|(o|0)>=100){break p}r=W(n);if(r>>>0>=4294967280){break n}s:{t:{if(r>>>0>=11){q=r+16&-16;s=U(q);j[t+24>>2]=q|-2147483648;j[t+16>>2]=s;j[t+20>>2]=r;break t}h[t+27|0]=r;s=t+16|0;if(!r){break s}}V(s,n,r)}h[r+s|0]=0;s=u+68|0;s=h[u+79|0]<=-1?j[s>>2]:s;q=W(s);if(q>>>0>=4294967280){break m}u:{v:{if(q>>>0>=11){w=q+16&-16;r=U(w);j[t+8>>2]=w|-2147483648;j[t>>2]=r;j[t+4>>2]=q;break v}h[t+11|0]=q;r=t;if(!q){break u}}V(r,s,q)}s=0;h[r+q|0]=0;Va(t);r=k[t+11|0];q=r<<24>>24<0;aa(t+16|0,q?j[t>>2]:t,q?j[t+4>>2]:r);r=p(o,12)+b|0;q=cb(h[t+27|0]<0?j[t+16>>2]:t+16|0);j[r>>2]=q;w:{if(!q){y=v;break w}h[r+4|0]=0;q=r;r=cb(h[t+43|0]<0?j[t+32>>2]:t+32|0);j[q+8>>2]=r;if(!r){y=v;break w}o=v+2|0;s=1}if(h[t+11|0]<=-1){T(j[t>>2])}if(h[t+27|0]<=-1){T(j[t+16>>2])}v=0;if(!s){break o}}v=1}if(h[t+43|0]<=-1){T(j[t+32>>2])}if(v){break f}v=o;break e}X();z()}X();z()}o=v}u=j[u+92>>2];if(u){q=l[E>>1];v=o;continue}break}v=o}B=B+1|0;x=B>>>0>>0;if((f|0)!=(B|0)){continue}}break}if(x){break a}}x:{if((v|0)<2){y=v;break x}y=v;n=1;while(1){B=p(n,12)+b|0;if(!(!k[B+4|0]|!f)){s=0;while(1){y:{x=(s<<1)+e|0;q=l[x>>1];o=j[(((q&255)<<2)+a|0)+2048>>2];if(!o){break y}while(1){z:{if(!(h[o+29|0]&1)|l[o+30>>1]!=(q&65535)){break z}r=o+4|0;q=k[o+15|0];u=q<<24>>24;A:{B:{if((u|0)<=-1){q=j[o+8>>2];if(!(q&65535)){break A}q=q<<16>>16;if((q|0)>=(m|0)){break z}r=j[r>>2];break B}if(!u){break A}if((m|0)<=(q|0)){break z}}if(Eb(r,g,q)){break z}}r=j[B>>2];eh(t+32|0,o,r,W(r));r=h[t+43|0];C:{D:{if((r|0)<=-1){if(!j[t+36>>2]|(y|0)>=100){break C}u=j[t+32>>2];break D}if((y|0)>=100){break z}u=t+32|0;if(!r){break z}}r=p(y,12)+b|0;G=r,H=cb(u),j[G>>2]=H;q=k[o+29|0];j[r+8>>2]=0;h[r+4|0]=q&1;y=y+1|0;if(h[t+43|0]>-1){break z}}T(j[t+32>>2])}o=j[o+80>>2];if(!o){break y}q=l[x>>1];continue}}s=s+1|0;if((s|0)!=(f|0)){continue}break}}n=n+1|0;if((v|0)!=(n|0)){continue}break}}if(!f){break a}B=0;while(1){E:{x=(B<<1)+e|0;o=l[x>>1];u=j[(((o&255)<<2)+a|0)+2048>>2];if(!u){break E}while(1){F:{if(l[u+30>>1]!=(o&65535)){break F}s=u+4|0;o=k[u+15|0];n=o<<24>>24;G:{H:{if((n|0)<=-1){n=j[u+8>>2];if(!(n&65535)){break G}o=n<<16>>16;if((o|0)>=(m|0)){break F}s=j[s>>2];break H}if(!n){break G}if((m|0)<=(o|0)){break F}}if(Eb(s,g,o)){break F}}r=j[u+56>>2];I:{if(!r){break I}n=l[a+4198>>1];J:{if(!n){break J}q=i[u+60>>1];w=(q<<1)+r|0;o=r;if(q){while(1){v=q>>>1|0;A=(v<<1)+o|0;s=n>>>0>l[A>>1];o=s?A+2|0:o;q=s?(v^-1)+q|0:v;if(q){continue}break}}if((o|0)==(w|0)){break J}if(n>>>0>=l[o>>1]){break F}}n=l[a+4462>>1];K:{if(!n){break K}q=i[u+60>>1];w=(q<<1)+r|0;o=r;if(q){while(1){v=q>>>1|0;A=(v<<1)+o|0;s=n>>>0>l[A>>1];o=s?A+2|0:o;q=s?(v^-1)+q|0:v;if(q){continue}break}}if((o|0)==(w|0)){break K}if(n>>>0>=l[o>>1]){break F}}n=l[a+4464>>1];if(!n){break I}o=i[u+60>>1];s=(o<<1)+r|0;if(o){while(1){v=o>>>1|0;w=(v<<1)+r|0;q=n>>>0>l[w>>1];r=q?w+2|0:r;o=q?(v^-1)+o|0:v;if(o){continue}break}}if((r|0)==(s|0)){break I}if(n>>>0>=l[r>>1]){break F}}eh(t+32|0,u,c,d);n=h[t+43|0];L:{M:{if((n|0)<=-1){if(!j[t+36>>2]|(y|0)>=100){break L}q=j[t+32>>2];break M}if((y|0)>=100){break F}q=t+32|0;if(!n){break F}}n=p(y,12)+b|0;G=n,H=cb(q),j[G>>2]=H;o=k[u+29|0];j[n+8>>2]=0;h[n+4|0]=o&1;y=y+1|0;if(h[t+43|0]>-1){break F}}T(j[t+32>>2])}u=j[u+80>>2];if(!u){break E}o=l[x>>1];continue}}B=B+1|0;if((B|0)!=(f|0)){continue}break}}M=t+48|0;return y}function Qa(a,b,c,d,e,f,g,m){var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=j[a+1024>>2];if(v){w=(m|0)!=1;while(1){a:{if(j[v+56>>2]?0:f){break a}if(!w){n=j[v+56>>2];if(!n){break a}q=l[a+4164>>1];if(!q){break a}o=i[v+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break a}}q=l[a+4462>>1];b:{if(!q){break b}c:{d:{if(!e){break d}n=j[e+56>>2];if(!n){break d}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break d}if(q>>>0>=l[n>>1]){break c}}n=j[v+56>>2];if(!n){break b}o=i[v+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break b}}if(!e){break a}n=j[e+56>>2];if(!n){break a}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break a}n=j[v+56>>2];if(!n){break a}o=i[v+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break a}}e:{if(m){break e}n=j[v+56>>2];if(!n){break e}o=i[v+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4464>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break e}if(l[a+4464>>1]>=l[n>>1]){break a}}f:{if(f){break f}n=j[v+56>>2];if(!n){break f}o=i[v+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4198>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break f}q=l[a+4198>>1];if(q>>>0>1]){break f}if(!e){break a}n=j[e+56>>2];if(!n){break f}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break f}if(q>>>0>=l[n>>1]){break a}}n=Id(v,b,c,d,e,f,g,m?0:l[a+4464>>1]);if(!n){break a}j[a+4372>>2]=v;return n}v=j[v+80>>2];if(v){continue}break}}n=0;g:{if(!c){break g}v=(b+c|0)-1|0;u=j[((k[v|0]<<2)+a|0)+1024>>2];if(!u){break g}x=(e|0)!=0|(m|0)!=2;y=(c|0)<1;while(1){w=u+68|0;if(h[u+79|0]<=-1){n=j[w>>2]}else{n=w}h:{i:{j:{k:{if(y){break k}r=c+n|0;o=c;t=v;while(1){s=k[n|0];if(!s){break j}if((s|0)!=k[t|0]?(s|0)!=46:0){break k}t=t-1|0;n=n+1|0;s=(o|0)>1;o=o-1|0;if(s){continue}break}n=r}if(k[n|0]){break i}}l:{if((m|0)==1){n=j[u+56>>2];if(!n){break l}q=l[a+4164>>1];if(!q){break l}o=i[u+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break l}}q=l[a+4462>>1];m:{if(!q){break m}n:{o:{if(!e){break o}n=j[e+56>>2];if(!n){break o}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break o}if(q>>>0>=l[n>>1]){break n}}n=j[u+56>>2];if(!n){break m}o=i[u+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break m}}if(!e){break l}n=j[e+56>>2];if(!n){break l}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break l}n=j[u+56>>2];if(!n){break l}o=i[u+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break l}}p:{if(m){break p}n=j[u+56>>2];if(!n){break p}o=i[u+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4464>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break p}if(l[a+4464>>1]>=l[n>>1]){break l}}q:{r:{if(f){break r}n=j[u+56>>2];if(!n){break r}o=i[u+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4198>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break r}q=l[a+4198>>1];if(q>>>0>1]){break r}if(!e){break l}n=j[e+56>>2];if(!n){break q}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break r}if(q>>>0>=l[n>>1]){break l}}if(x){break q}n=j[u+56>>2];if(!n){break q}o=i[u+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4464>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break q}if(l[a+4464>>1]>=l[n>>1]){break l}}n=Id(u,b,c,d,e,f,g,m?0:l[a+4464>>1]);if(!n){break l}j[a+4372>>2]=u;i[a+4364>>1]=l[u+30>>1];if(!j[u+56>>2]){if(h[w+11|0]<=-1){j[a+4356>>2]=j[w>>2];return n}j[a+4356>>2]=w;return n}if(j[a+4456>>2]!=36){break g}b=h[u+15|0];c=j[u+8>>2];s:{if((b|0)<=-1){break s}c=b&255}if(!(c&65535)){break g}t:{if(h[w+11|0]<=-1){b=j[w>>2];if(k[b|0]!=105){break g}o=k[b+1|0];if((o|0)!=121){break t}break g}if(k[w|0]!=105){break g}o=k[w+1|0];if((o|0)==121){break g}}if((o|0)==116){break g}j[a+4360>>2]=1;return n}n=u+84|0;break h}n=u+88|0}u=j[n>>2];if(u){continue}break}n=0}return n}function $f(a,b,c,d,e,f,g,i,l,m,n){var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;o=M-560|0;M=o;j[o+548>>2]=n;j[o+552>>2]=b;j[o+96>>2]=78;r=Da(o+136|0,o+144|0,o+96|0);b=j[r>>2];j[o+132>>2]=b;j[o+128>>2]=b+400;u=ga(o+96|0);s=ga(o+80|0);p=ga(o- -64|0);q=ga(o+48|0);t=ga(o+32|0);xl(c,d,o+120|0,o+116|0,o+112|0,u,s,p,q,o+28|0);j[m>>2]=j[l>>2];w=e&512;x=w>>>9|0;b=0;c=0;while(1){n=c;a:{b:{c:{d:{if((b|0)==4){break d}if(!kb(a,o+552|0)){break d}e=0;e:{f:{g:{h:{i:{switch(h[(o+120|0)+b|0]){case 1:if((b|0)==3){break b}c=i;e=j[a>>2];d=j[e+12>>2];j:{if((d|0)==j[e+16>>2]){d=O[j[j[e>>2]+36>>2]](e)|0;break j}d=j[d>>2]}if(O[j[j[i>>2]+12>>2]](c,8192,d)|0){_f(o+16|0,a);bd(t,j[o+16>>2]);break h}j[f>>2]=j[f>>2]|4;a=0;break c;case 0:break i;case 4:break e;case 2:break f;case 3:break g;default:break a}}if((b|0)==3){break b}}while(1){if(!kb(a,o+552|0)){break b}c=i;e=j[a>>2];d=j[e+12>>2];k:{if((d|0)==j[e+16>>2]){d=O[j[j[e>>2]+36>>2]](e)|0;break k}d=j[d>>2]}if(!(O[j[j[i>>2]+12>>2]](c,8192,d)|0)){break b}_f(o+16|0,a);bd(t,j[o+16>>2]);continue}}if(k[p+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}if((c|0)==(0-d|0)){break b}if(k[p+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}if(!(d?c:0)){if(k[p+11|0]>>>7|0){d=j[p+4>>2]}else{d=k[p+11|0]}e=j[a>>2];c=j[e+12>>2];l:{if((c|0)==j[e+16>>2]){c=O[j[j[e>>2]+36>>2]](e)|0;break l}c=j[c>>2]}if(d){if(k[p+11|0]>>>7|0){d=j[p>>2]}else{d=p}if((c|0)==j[d>>2]){Na(a);c=p;d=c;if(k[c+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}c=c>>>0>1?d:n;break a}h[g|0]=1;break b}if(k[q+11|0]>>>7|0){d=j[q>>2]}else{d=q}if(j[d>>2]!=(c|0)){break b}Na(a);h[g|0]=1;c=q;d=c;if(k[c+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}c=c>>>0>1?d:n;break a}d=j[a>>2];c=j[d+12>>2];m:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break m}c=j[c>>2]}if(k[p+11|0]>>>7|0){d=j[p>>2]}else{d=p}if((c|0)==j[d>>2]){Na(a);c=p;d=c;if(k[c+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}c=c>>>0>1?d:n;break a}d=j[a>>2];c=j[d+12>>2];n:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break n}c=j[c>>2]}if(k[q+11|0]>>>7|0){d=j[q>>2]}else{d=q}if((c|0)==j[d>>2]){Na(a);h[g|0]=1;c=q;d=c;if(k[c+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}c=c>>>0>1?d:n;break a}j[f>>2]=j[f>>2]|4;a=0;break c}if(!(n|b>>>0<2)){c=0;if(!((b|0)==2&k[o+123|0]!=0|x)){break a}}y=o,z=qb(s),j[y+8>>2]=z;j[o+16>>2]=j[o+8>>2];o:{if(!b|k[(b+o|0)+119|0]>1){break o}while(1){p:{y=o,z=ic(s),j[y+8>>2]=z;if(!(j[o+16>>2]==j[o+8>>2]^1)){break p}if(!(O[j[j[i>>2]+12>>2]](i,8192,j[j[o+16>>2]>>2])|0)){break p}j[o+16>>2]=j[o+16>>2]+4;continue}break}y=o,z=qb(s),j[y+8>>2]=z;if(k[t+11|0]>>>7|0){d=j[t+4>>2]}else{d=k[t+11|0]}c=j[o+16>>2]-j[o+8>>2]>>2;if(d>>>0>=c>>>0){y=o,z=ic(t),j[y+8>>2]=z;if(tl(Xf(o+8|0,0-c|0),ic(t),qb(s))){break o}}y=o,z=qb(s),j[y>>2]=z;j[o+8>>2]=j[o>>2];j[o+16>>2]=j[o+8>>2]}j[o+8>>2]=j[o+16>>2];while(1){q:{y=o,z=ic(s),j[y>>2]=z;if(!(j[o+8>>2]==j[o>>2]^1)){break q}if(!kb(a,o+552|0)){break q}d=j[a>>2];c=j[d+12>>2];r:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break r}c=j[c>>2]}if((c|0)!=j[j[o+8>>2]>>2]){break q}Na(a);j[o+8>>2]=j[o+8>>2]+4;continue}break}if(!w){break b}y=o,z=ic(s),j[y>>2]=z;if(!(j[o+8>>2]==j[o>>2]^1)){break b}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){s:{if(!kb(a,o+552|0)){break s}v=i;c=j[a>>2];d=j[c+12>>2];t:{if((d|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break t}c=j[d>>2]}u:{if(O[j[j[i>>2]+12>>2]](v,2048,c)|0){d=j[m>>2];if((d|0)==j[o+548>>2]){zc(l,m,o+548|0);d=j[m>>2]}j[m>>2]=d+4;j[d>>2]=c;e=e+1|0;break u}d=!e;if(k[u+11|0]>>>7|0){v=j[u+4>>2]}else{v=k[u+11|0]}if(d|!v|(c|0)!=j[o+112>>2]){break s}c=j[o+132>>2];if((c|0)==j[o+128>>2]){zc(r,o+132|0,o+128|0);c=j[o+132>>2]}j[o+132>>2]=c+4;j[c>>2]=e;e=0}Na(a);continue}break}d=j[r>>2];v:{if(!e){break v}c=j[o+132>>2];if((d|0)==(c|0)){break v}if(j[o+128>>2]==(c|0)){zc(r,o+132|0,o+128|0);c=j[o+132>>2]}j[o+132>>2]=c+4;j[c>>2]=e}w:{if(j[o+28>>2]<1){break w}x:{if(!Ra(a,o+552|0)){d=j[a>>2];c=j[d+12>>2];y:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break y}c=j[c>>2]}if((c|0)==j[o+116>>2]){break x}}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){Na(a);if(j[o+28>>2]<1){break w}z:{if(!Ra(a,o+552|0)){c=i;e=j[a>>2];d=j[e+12>>2];A:{if((d|0)==j[e+16>>2]){d=O[j[j[e>>2]+36>>2]](e)|0;break A}d=j[d>>2]}if(O[j[j[i>>2]+12>>2]](c,2048,d)|0){break z}}j[f>>2]=j[f>>2]|4;a=0;break c}if(j[m>>2]==j[o+548>>2]){zc(l,m,o+548|0)}d=j[a>>2];c=j[d+12>>2];B:{if((c|0)==j[d+16>>2]){d=O[j[j[d>>2]+36>>2]](d)|0;break B}d=j[c>>2]}c=j[m>>2];j[m>>2]=c+4;j[c>>2]=d;j[o+28>>2]=j[o+28>>2]-1;continue}}c=n;if(j[l>>2]!=j[m>>2]){break a}j[f>>2]=j[f>>2]|4;a=0;break c}C:{if(!n){break C}e=1;while(1){if(k[n+11|0]>>>7|0){b=j[n+4>>2]}else{b=k[n+11|0]}if(b>>>0<=e>>>0){break C}D:{if(!Ra(a,o+552|0)){c=j[a>>2];b=j[c+12>>2];E:{if((b|0)==j[c+16>>2]){b=O[j[j[c>>2]+36>>2]](c)|0;break E}b=j[b>>2]}if(k[n+11|0]>>>7|0){c=j[n>>2]}else{c=n}if((b|0)==j[c+(e<<2)>>2]){break D}}j[f>>2]=j[f>>2]|4;a=0;break c}Na(a);e=e+1|0;continue}}a=1;if(j[r>>2]==j[o+132>>2]){break c}a=0;j[o+16>>2]=0;hb(u,j[r>>2],j[o+132>>2],o+16|0);if(j[o+16>>2]){j[f>>2]=j[f>>2]|4;break c}a=1}Y(t);Y(q);Y(p);Y(s);Y(u);b=j[r>>2];j[r>>2]=0;if(b){O[j[r+4>>2]](b)}M=o+560|0;return a}c=n}b=b+1|0;continue}}function Nh(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;f=M-1056|0;M=f;d=h[b+11|0];a:{b:{if((d|0)<=-1){w=j[b+4>>2];if(w>>>0>=1025){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}b=j[b>>2];A=f+16|0;break b}w=d&255;A=f+16|0}Vo(A,b);h[f+1040|0]=0;j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;o=k[f+16|0];if(o){m=-333;while(1){c:{d:{x=o&255;v=j[((x<<2)+c|0)+16>>2];if((v|0)<0){break d}r=j[c+4>>2];d=r+p(v,12)|0;b=k[d+11|0];u=b<<24>>24;if((u|0)<=-1){b=j[d+4>>2]}if(!b){break d}J=f+n|0;E=n-1|0;F=E+(f+16|0)|0;while(1){B=p(v,12);t=B+r|0;G=(u|0)>-1;e:{if(!G){d=j[t>>2];if(k[d|0]==(x|0)){break e}break d}d=t;if(k[d|0]!=(x|0)){break d}}l=1;b=d+1|0;m=0;i=k[d+1|0];f:{g:{if(!i){break g}e=d;g=k[J+17|0];h:{if((g|0)!=(i|0)){break h}while(1){i:{e=b;if((i&255)-48>>>0<10){break i}if(Aa(121384,i<<24>>24,6)){break i}b=e+1|0;l=l+1|0;i=k[e+1|0];if(!i){break g}d=e;g=k[f+16+(l+n)|0];if((g|0)==(i|0)){continue}break h}break}e=d}j:{if((i&255)==40){d=g<<24>>24;if((g&255|32)-97>>>0>=26?(d|0)>=0:0){break j}if(!Ya(e+2|0,d)){break j}e=b+1|0;while(1){d=k[e|0];b=e+1|0;e=b;if((d|0)!=41){continue}break}l=l+1|0;i=k[b|0]}s=(l|0)>1;m=i<<24>>24;k:{if((l|0)<2){break k}e=l;if((i&255)!=45){break k}while(1){l:{s=(e|0)>2;g=b+1|0;q=e-1|0;d=k[b+1|0];if((e|0)<3){break l}b=g;e=q;if((d&255)==45){continue}}break}b=g;break f}q=l;d=i;break f}m=40}s=(l|0)>1;q=l;i=m;d=i}b=(d&255)==60?b+1|0:b;g=h[b|0];e=(g&255)-48>>>0<10;b=e?b+1|0:b;d=k[b|0];if((d|0)==94){b=k[b+1|0]==94?b+1|0:b;d=k[b|0]}m:{d=d&255;n:{if(!d){break n}if((d|0)==94){if(n){d=h[F|0];if((d|0)<0|(d&255|32)-97>>>0<26){break m}}if(k[b+1|0]!=36){break n}b=h[f+16+(l+n)|0];if((b|0)<0){break m}if((b&255|32)-97>>>0>=26){break n}break m}if((d|0)!=36|(n|0)<1){break m}b=h[F|0];if((b&255|32)-97>>>0>=26?(b|0)>=0:0){break m}b=h[f+16+(l+n)|0];if((b|0)<0|(b&255|32)-97>>>0<26){break m}}o:{if((i&255)==45){break o}b=n+q|0;y=k[(b+f|0)+15|0];l=j[((y<<2)+c|0)+16>>2];if(!((l|0)>-1&s)){break o}H=b+(f+16|0)|0;if(!k[H|0]){break o}i=p(l,12)+r|0;d=k[i+11|0];b=d<<24>>24;if((b|0)<=-1){d=j[i+4>>2]}if(!d){break o}z=e?g-48|0:5;p:{q:{while(1){C=p(l,12)+r|0;r:{s:{t:{u:{I=b<<24>>24>-1;v:{if(!I){s=j[C>>2];g=s;if(k[g|0]==(y|0)){break v}if((m|0)<(z|0)){break o}break q}s=y;g=C;b=k[g|0];if((b|0)!=(y|0)){break u}}b=g+1|0;e=k[g+1|0];if(!e){i=q;break r}i=q;d=g;m=k[H|0];if((m|0)==(e|0)){break t}break s}s=b;if((m|0)<(z|0)){break o}break p}while(1){w:{d=b;if((e&255)-48>>>0<10){break w}if(Aa(121384,e<<24>>24,6)){break w}b=d+1|0;i=i+1|0;e=k[d+1|0];if(!e){break r}g=d;m=k[f+16+(i+n)|0];if((m|0)==(e|0)){continue}break s}break}d=g}if((e&255)!=40){break r}e=m<<24>>24;if((m&255|32)-97>>>0>=26?(e|0)>=0:0){break r}if(!Ya(d+2|0,e)){break r}i=i+1|0;e=40;while(1){d=e&255;if(!(!d|(d|0)==41)){e=k[b+1|0];b=b+1|0;continue}break}b=(d|0)==41?b+1|0:b}x:{while(1){e=k[b|0];if((e|0)!=45){d=b;if((e|0)!=60){break x}}else{b=b+1|0;continue}break}e=k[b+1|0];d=b+1|0}b=(e&255)-48>>>0<10;m=b?(e<<24>>24)-48|0:5;y:{b=k[(b?d+1|0:d)|0];z:{if(b){if((b|0)!=36){break z}b=h[f+16+(i+n)|0];if((b|0)<0|(b&255|32)-97>>>0<26|((i|0)==(q|0)|(m|0)<(z|0))){break z}break y}if((i|0)==(q|0)){break z}if((m|0)>=(z|0)){break y}}l=l+2|0;b=k[(p(l,12)+r|0)+11|0];continue}break}if(I){break p}}s=k[j[C>>2]]}if((s&255)==(y|0)){break m}}b=t+12|0;b=h[t+23|0]<=-1?j[b>>2]:b;A:{B:{C:{D:{if(!G){if(j[t+4>>2]){break D}break B}if(!(u&255)){break B}break C}t=j[t>>2]}d=Ya(t+1|0,60);m=(d|0)!=0;if(!d|D){break A}e=k[f+11|0];g=e<<24>>24;d=j[f+4>>2];E:{F:{if(!((g|0)<0?d:e)){break F}i=k[b|0];if(!i){e=0;break E}G:{if((g|0)<=-1){e=k[(j[f>>2]+d|0)-1|0];if((e|0)==(x|0)|(e|0)==(i|0)){break G}break F}g=k[(e+f|0)-1|0];if((g|0)==(x|0)){d=e;break G}d=e;if((i|0)!=(g|0)){break F}}xb(f,d-1|0,-1)}e=0;d=k[b|0];if(!d){break E}while(1){g=f+16+(e+n)|0;if(!k[g|0]){break E}h[g|0]=d;e=e+1|0;d=k[b+1|0];b=b+1|0;if(d){continue}break}}D=1;if((e|0)>=(q|0)){break c}d=(f+16|0)+n|0;b=d+e|0;e=d+q|0;d=k[e|0];if(d){while(1){h[b|0]=d;b=b+1|0;d=k[e+1|0];e=e+1|0;if(d){continue}break}}h[b|0]=0;break c}m=0}o=k[b|0];H:{if(!o){g=1;o=0;break H}I:{while(1){g=0;e=k[b+1|0];if(!e){break I}b=b+1|0;d=k[f+11|0];i=d<<24>>24;J:{K:{L:{if((i|0)<=-1){d=j[f+4>>2];if(w>>>0<=d>>>0){break I}if(!d){break K}g=j[f>>2];break L}if(d>>>0>=w>>>0){break I}g=f;if(!i){break K}}if(k[(d+g|0)-1|0]==(o&255)){break J}}Z(f,o<<24>>24);e=k[b|0]}o=e;if(e&255){continue}break}g=1;o=0}r=j[c+4>>2];u=h[(B+r|0)+11|0]}n=q+E|0;b=r+B|0;M:{if((u|0)<=-1){if(!j[b+4>>2]){break d}b=j[b>>2];break M}if(!(u&255)){break d}}if(!ca(b+1|0,121390)){break d}if(!g){Z(f,o<<24>>24)}b=A;d=(f+16|0)+n|0;e=k[d+1|0];if(e){d=d+1|0;while(1){h[b|0]=e;b=b+1|0;e=k[d+1|0];d=d+1|0;if(e){continue}break}}D=0;h[b|0]=0;n=0;break c}v=v+2|0;u=h[(p(v,12)+r|0)+11|0];continue}}N:{if(!(o&255)|(m|!q)){break N}b=k[f+11|0];if((b<<24>>24<0?j[f+4>>2]:b)>>>0>=w>>>0){break N}Z(f,o<<24>>24)}n=n+1|0;D=0;q=0}o=k[(f+16|0)+n|0];if(o){continue}break}}b=j[f+4>>2];j[a>>2]=j[f>>2];j[a+4>>2]=b;j[a+8>>2]=j[f+8>>2]}M=f+1056|0}function Nq(a,b,c){var d=0,e=0,f=0,g=0;d=M-96|0;M=d;j[d+64>>2]=0;j[d+68>>2]=0;j[d+72>>2]=0;e=ca(h[c+11|0]<0?j[c>>2]:c,121148);a:{if(!e){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[d+72>>2]=0;break a}c=Ya(e,62);if(!c){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[d+72>>2]=0;break a}c=ca(c,121155);if(!c){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[d+72>>2]=0;break a}b:{c:{d:{e:{if(Gd(e,121167)){mc(d+80|0,Ya(c,62));c=k[d+91|0];f:{if(!(c<<24>>24<0?j[d+84>>2]:c)){c=j[d+68>>2];b=j[d+64>>2];break f}Fd(d+48|0,b,d+80|0);c=j[d+64>>2];if(c){b=j[d+68>>2];e=c;g:{if((c|0)==(b|0)){break g}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+64>>2]}j[d+68>>2]=c;T(e)}b=j[d+48>>2];j[d+64>>2]=b;c=j[d+52>>2];j[d+68>>2]=c;j[d+72>>2]=j[d+56>>2]}h:{if((b|0)==(c|0)){j[a+4>>2]=c;j[a>>2]=c;j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;break h}j[d+56>>2]=0;j[d+48>>2]=0;j[d+52>>2]=0;$(d+48|0,121175);if(j[d+68>>2]!=j[d+64>>2]){e=k[121142]|k[121143]<<8|(k[121144]<<16|k[121145]<<24);f=k[121146];b=0;while(1){$(d+48|0,121182);c=ha(d+32|0,j[d+64>>2]+p(b,12)|0);i[d+16>>1]=9;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;wb(c,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}i[d+16>>1]=38;h[d+27|0]=1;h[d+11|0]=5;h[d+5|0]=0;j[d>>2]=e;h[d+4|0]=f;wb(c,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}i[d+16>>1]=60;h[d+27|0]=1;h[d+4|0]=0;j[d>>2]=997485606;h[d+11|0]=4;wb(c,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}c=h[d+43|0];g=(c|0)<0;aa(d+48|0,g?j[d+32>>2]:d+32|0,g?j[d+36>>2]:c&255);$(d+48|0,121186);if(h[d+43|0]<=-1){T(j[d+32>>2])}b=b+1|0;if(b>>>0<(j[d+68>>2]-j[d+64>>2]|0)/12>>>0){continue}break}}$(d+48|0,121191);b=j[d+68>>2];e=j[d+64>>2];if((b|0)!=(e|0)){while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((c|0)!=(e|0)){continue}break}}j[d+68>>2]=e;i:{if((e|0)!=j[d+72>>2]){b=ha(e,d+48|0)+12|0;break i}Wb(d- -64|0,d+48|0);b=j[d+68>>2]}c=j[d+64>>2];j[a+4>>2]=b;j[a>>2]=c;j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;if(h[d+59|0]>-1){break h}T(j[d+48>>2])}if(h[d+91|0]>-1){break e}T(j[d+80>>2]);break e}if(Gd(e,121199)){mc(d+48|0,Ya(c,62));c=h[d+59|0];j:{if((c|0)<=-1){if(j[d+52>>2]){break j}T(j[d+48>>2]);break d}if(!c){break d}}Fd(d+80|0,b,d+48|0);Lq(a,b,d+80|0);a=j[d+80>>2];if(a){c=a;b=j[d+84>>2];e=c;k:{if((c|0)==(b|0)){break k}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((a|0)!=(c|0)){continue}break}e=j[d+80>>2]}c=e;j[d+84>>2]=a;T(c)}if(h[d+59|0]>-1){break e}T(j[d+48>>2]);break e}l:{if(Gd(e,121204)){mc(d+48|0,Ya(c,62));e=k[d+59|0];if(!(e<<24>>24<0?j[d+52>>2]:e)){j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;break l}f=1;c=c+1|0;e=ca(c,121155);if(e){mc(d+32|0,Ya(e,62));c=h[d+43|0];m:{if((c|0)<=-1){if(j[d+36>>2]){break m}T(j[d+32>>2]);break l}if(!c){break l}}Fd(d+80|0,b,d+32|0);Ph(a,b,d+48|0,d+80|0);Md(a);c=j[d+80>>2];if(c){b=j[d+84>>2];e=c;n:{if((c|0)==(b|0)){break n}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+80>>2]}j[d+84>>2]=c;T(e)}if(h[d+43|0]<=-1){T(j[d+32>>2])}f=0;break l}c=ca(c,121213);if(!c){break l}Kq(d+80|0,Ya(c,62));c=j[d+80>>2];if((c|0)!=j[d+84>>2]){Ph(d+32|0,b,d+48|0,d+80|0);c=j[d+64>>2];if(c){b=j[d+68>>2];e=c;o:{if((c|0)==(b|0)){break o}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+64>>2]}j[d+68>>2]=c;T(e)}j[d+64>>2]=j[d+32>>2];b=j[d+40>>2];j[d+68>>2]=j[d+36>>2];j[d+72>>2]=b;Md(d- -64|0);j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];f=0;j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;c=j[d+80>>2];if(!c){break l}b=j[d+84>>2];e=c;p:{if((c|0)==(b|0)){break p}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+80>>2]}j[d+84>>2]=c;T(e);break l}if(!c){break l}j[d+84>>2]=c;T(c);break l}if(!Gd(e,121219)){break d}mc(d+80|0,Ya(c,62));e=k[d+91|0];e=e<<24>>24<0?j[d+84>>2]:e;q:{if(!e){j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;break q}c=ca(c+1|0,121155);if(c){mc(d+48|0,Ya(c,62));c=j[b+8>>2];b=j[b+4>>2];f=k[d+59|0];r:{if(f<<24>>24<0?j[d+52>>2]:f){if((b|0)==(c|0)){break r}br(j[b>>2],d+80|0,d+48|0);break r}if((b|0)==(c|0)){break r}Vh(j[b>>2],d+80|0)}if(h[d+59|0]>-1){break q}T(j[d+48>>2]);break q}c=j[b+8>>2];b=j[b+4>>2];if((c|0)==(b|0)){break q}Vh(j[b>>2],d+80|0)}if(h[d+91|0]<=-1){T(j[d+80>>2])}if(!e){break e}break d}if(h[d+59|0]<=-1){T(j[d+48>>2])}if(f){break d}}a=j[d+64>>2];if(!a){break a}b=j[d+68>>2];if((a|0)!=(b|0)){break c}b=a;break b}j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;break a}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((a|0)!=(c|0)){continue}break}b=j[d+64>>2]}j[d+68>>2]=a;T(b)}M=d+96|0}function Lq(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;d=M-112|0;M=d;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;j[d+104>>2]=0;j[d+96>>2]=0;j[d+100>>2]=0;f=j[c>>2];a:{if((f|0)==j[c+4>>2]){break a}while(1){j[d+88>>2]=0;j[d+80>>2]=0;j[d+84>>2]=0;b:{c:{e=p(r,12)+f|0;if(h[e+11|0]<=-1){e=j[e>>2]}n=ca(e,121113);d:{if(!n){break d}e=n;f=ca(e+1|0,121113);if(!f){break d}while(1){e=f;j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;l=W(n);if(l>>>0>=4294967280){break c}e:{f:{if(l>>>0>=11){f=l+16&-16;g=U(f);j[d+56>>2]=f|-2147483648;j[d+48>>2]=g;j[d+52>>2]=l;break f}h[d+59|0]=l;g=d+48|0;if(!l){break e}}V(g,n,l)}h[g+l|0]=0;h[d+43|0]=3;i[d+32>>1]=k[121113]|k[121114]<<8;h[d+34|0]=k[121115];h[d+35|0]=0;ec(d- -64|0,d+48|0,d+32|0);if(h[d+43|0]<=-1){T(j[d+32>>2])}if(h[d+59|0]<=-1){T(j[d+48>>2])}g=h[d+75|0];f=(g|0)<0;aa(d+80|0,f?j[d+64>>2]:d- -64|0,f?j[d+68>>2]:g&255);f=ca(e+1|0,121113);if(h[d+75|0]<=-1){T(j[d+64>>2])}n=e;if(f){continue}break}}l=W(e);if(l>>>0<4294967280){g:{h:{if(l>>>0>=11){f=l+16&-16;g=U(f);j[d+72>>2]=f|-2147483648;j[d+64>>2]=g;j[d+68>>2]=l;break h}h[d+75|0]=l;g=d- -64|0;if(!l){break g}}V(g,e,l)}e=0;h[g+l|0]=0;f=k[d+75|0];g=f<<24>>24<0;f=g?j[d+68>>2]:f;m=j[d+64>>2];n=g?m:d- -64|0;while(1){i:{l=f+n|0;f=e+n|0;e=l-f|0;if((e|0)<3){break i}while(1){e=Aa(f,32,e-2|0);if(!e){break i}if(qa(e,121117,3)){f=e+1|0;e=l-f|0;if((e|0)>=3){continue}break i}break}if((e|0)==(l|0)){break i}e=e-n|0;if((e|0)==-1){break i}h[((g?m:d- -64|0)+e|0)+1|0]=11;m=j[d+64>>2];f=k[d+75|0];g=f<<24>>24<0;n=g?m:d- -64|0;f=g?j[d+68>>2]:f;if(f>>>0>=e>>>0){continue}}break}Ab(d+48|0,d- -64|0,11);n=0;f=j[d+52>>2];e=f;o=j[d+48>>2];if((e|0)==(o|0)){break b}while(1){j:{k:{q=p(n,12);l=q+o|0;m=k[l+11|0];s=m<<24>>24>-1;l:{if(!s){g=j[l>>2];f=j[l+4>>2];break l}g=l;f=m}if((f|0)<3){break k}t=f+g|0;e=g;while(1){e=Aa(e,100,f-2|0);if(!e){break k}if(qa(e,121121,3)){e=e+1|0;f=t-e|0;if((f|0)>=3){continue}break k}break}if((e|0)==(t|0)|(e-g|0)==-1){break k}m:{if(!s){m=j[l+4>>2];e=j[l>>2];break m}e=l}n:{if((m|0)<3){break n}g=e+m|0;f=e;while(1){f=Aa(f,105,m-2|0);if(!f){break n}if(qa(f,121125,3)){f=f+1|0;m=g-f|0;if((m|0)>=3){continue}break n}break}if((f|0)==(g|0)){break n}e=f-e|0;if((e|0)==-1){break n}Wa(l,e);o=j[d+48>>2]}j[d+32>>2]=0;j[d+36>>2]=0;j[d+40>>2]=0;Wb(d+32|0,o+q|0);Eh(d+16|0,j[b+16>>2],d+32|0,j[d+48>>2]+q|0);f=k[d+27|0];e=f<<24>>24;if((e|0)<0?j[d+20>>2]:f){Ab(d,d+16|0,10);e=0;f=j[d+4>>2];g=f;if(j[d>>2]!=(f|0)){while(1){Z(d+96|0,10);g=k[d+91|0];f=g<<24>>24<0;aa(d+96|0,f?j[d+80>>2]:d+80|0,f?j[d+84>>2]:g);l=j[d>>2]+p(e,12)|0;f=k[l+11|0];g=f<<24>>24<0;aa(d+96|0,g?j[l>>2]:l,g?j[l+4>>2]:f);e=e+1|0;f=j[d+4>>2];g=j[d>>2];if(e>>>0<(f-g|0)/12>>>0){continue}break}}if(g){if((f|0)==(g|0)){e=g}else{while(1){e=f-12|0;if(h[f-1|0]<=-1){T(j[e>>2])}f=e;if((e|0)!=(g|0)){continue}break}e=j[d>>2]}j[d+4>>2]=g;T(e)}e=k[d+27|0]}if(e<<24>>24<=-1){T(j[d+16>>2])}g=j[d+32>>2];if(!g){break j}f=g;e=j[d+36>>2];l=f;o:{if((f|0)==(e|0)){break o}while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((g|0)!=(e|0)){continue}break}l=j[d+32>>2]}f=l;j[d+36>>2]=g;T(f);break j}Z(d+96|0,10);f=k[d+91|0];e=f<<24>>24<0;aa(d+96|0,e?j[d+80>>2]:d+80|0,e?j[d+84>>2]:f);o=j[d+48>>2];l=q+o|0;e=h[l+11|0];p:{if((e|0)<=-1){g=j[l>>2];f=j[l+4>>2];break p}g=l;f=e&255}q:{if((f|0)<3){break q}m=f+g|0;e=g;while(1){e=Aa(e,115,f-2|0);if(!e){break q}if(qa(e,121129,3)){e=e+1|0;f=m-e|0;if((f|0)>=3){continue}break q}break}if((e|0)==(m|0)|(e-g|0)==-1){break q}j[d+40>>2]=0;j[d+32>>2]=0;j[d+36>>2]=0;h[d+27|0]=3;i[d+16>>1]=k[121129]|k[121130]<<8;h[d+18|0]=k[121131];h[d+19|0]=0;ec(d+32|0,l,d+16|0);if(h[d+27|0]<=-1){T(j[d+16>>2])}f=h[d+43|0];e=(f|0)<0;aa(d+96|0,e?j[d+32>>2]:d+32|0,e?j[d+36>>2]:f&255);if(h[d+43|0]<=-1){T(j[d+32>>2])}o=j[d+48>>2]}j[d+40>>2]=0;j[d+32>>2]=0;j[d+36>>2]=0;h[d+27|0]=3;i[d+16>>1]=k[121133]|k[121134]<<8;h[d+18|0]=k[121135];h[d+19|0]=0;ec(d+32|0,o+q|0,d+16|0);if(h[d+27|0]<=-1){T(j[d+16>>2])}f=h[d+43|0];e=(f|0)<0;aa(d+96|0,e?j[d+32>>2]:d+32|0,e?j[d+36>>2]:f&255);if(h[d+43|0]>-1){break j}T(j[d+32>>2])}e=j[d+48>>2];o=e;n=n+1|0;f=j[d+52>>2];if(n>>>0<(f-e|0)/12>>>0){continue}break}break b}X();z()}X();z()}if(e){if((e|0)==(f|0)){f=e}else{while(1){g=f-12|0;if(h[f-1|0]<=-1){T(j[g>>2])}f=g;if((f|0)!=(e|0)){continue}break}f=j[d+48>>2]}j[d+52>>2]=e;T(f)}if(h[d+75|0]<=-1){T(j[d+64>>2])}if(h[d+91|0]<=-1){T(j[d+80>>2])}r=r+1|0;f=j[c>>2];if(r>>>0<(j[c+4>>2]-f|0)/12>>>0){continue}break}c=j[a>>2];Ab(d+80|0,d+96|0,10);if(c){e=j[a+4>>2];b=c;r:{if((c|0)==(e|0)){break r}while(1){b=e-12|0;if(h[e-1|0]<=-1){T(j[b>>2])}e=b;if((c|0)!=(e|0)){continue}break}b=j[a>>2]}j[a+4>>2]=c;T(b)}j[a>>2]=j[d+80>>2];j[a+4>>2]=j[d+84>>2];j[a+8>>2]=j[d+88>>2];Md(a);if(h[d+107|0]>-1){break a}T(j[d+96>>2])}M=d+112|0}function Ce(a,b,c,d,e,f,g){var l=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;l=M-80|0;M=l;j[l+76>>2]=b;B=l+55|0;y=l+56|0;b=0;a:{b:while(1){c:{if((v|0)<0){break c}if((2147483647-v|0)<(b|0)){j[37203]=61;v=-1;break c}v=b+v|0}d:{e:{f:{q=j[l+76>>2];b=q;m=k[b|0];if(m){while(1){g:{m=m&255;h:{if(!m){m=b;break h}if((m|0)!=37){break g}m=b;while(1){if(k[b+1|0]!=37){break h}n=b+2|0;j[l+76>>2]=n;m=m+1|0;r=k[b+2|0];b=n;if((r|0)==37){continue}break}}b=m-q|0;if(a){ab(a,q,b)}if(b){continue b}m=l;b=j[l+76>>2];i:{if(!(k[b+2|0]!=36|h[j[l+76>>2]+1|0]-48>>>0>=10)){x=h[b+1|0]-48|0;z=1;b=b+3|0;break i}x=-1;b=b+1|0}j[m+76>>2]=b;s=0;w=h[b|0];n=w-32|0;j:{if(n>>>0>31){m=b;break j}m=b;n=1<>2]=m;s=n|s;w=h[b+1|0];n=w-32|0;if(n>>>0>=32){break j}b=m;n=1<>>0>=10){break m}b=j[l+76>>2];if(k[b+2|0]!=36){break m}j[((h[b+1|0]<<2)+e|0)-192>>2]=10;t=j[((h[b+1|0]<<3)+d|0)-384>>2];z=1;b=b+3|0;break l}if(z){break f}z=0;t=0;if(a){b=j[c>>2];j[c>>2]=b+4;t=j[b>>2]}b=j[l+76>>2]+1|0}j[n+76>>2]=b;if((t|0)>-1){break k}t=0-t|0;s=s|8192;break k}t=qh(l+76|0);if((t|0)<0){break f}b=j[l+76>>2]}r=-1;n:{if(k[b|0]!=46){break n}if(k[b+1|0]==42){o:{if(h[b+2|0]-48>>>0>=10){break o}b=j[l+76>>2];if(k[b+3|0]!=36){break o}j[((h[b+2|0]<<2)+e|0)-192>>2]=10;r=j[((h[b+2|0]<<3)+d|0)-384>>2];b=b+4|0;j[l+76>>2]=b;break n}if(z){break f}if(a){b=j[c>>2];j[c>>2]=b+4;r=j[b>>2]}else{r=0}b=j[l+76>>2]+2|0;j[l+76>>2]=b;break n}j[l+76>>2]=b+1;r=qh(l+76|0);b=j[l+76>>2]}m=0;while(1){A=m;u=-1;if(h[b|0]-65>>>0>57){break a}w=b+1|0;j[l+76>>2]=w;m=h[b|0];b=w;m=k[(m+p(A,58)|0)+121471|0];if(m-1>>>0<8){continue}break}p:{q:{if((m|0)!=19){if(!m){break a}if((x|0)>=0){j[(x<<2)+e>>2]=m;b=(x<<3)+d|0;m=j[b+4>>2];j[l+64>>2]=j[b>>2];j[l+68>>2]=m;break q}if(!a){break d}ph(l- -64|0,m,c,g);w=j[l+76>>2];break p}if((x|0)>-1){break a}}b=0;if(!a){continue b}}n=s&-65537;m=s&8192?n:s;u=0;x=121517;s=y;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{b=h[w-1|0];b=A?(b&15)==3?b&-33:b:b;switch(b-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break e;default:break G}}H:{switch(b-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break e;default:break H}}if((b|0)==83){break w}break e}b=j[l+64>>2];q=j[l+68>>2];x=121517;break z}b=0;I:{switch(A&255){case 0:j[j[l+64>>2]>>2]=v;continue b;case 1:j[j[l+64>>2]>>2]=v;continue b;case 2:m=j[l+64>>2];j[m>>2]=v;j[m+4>>2]=v>>31;continue b;case 3:i[j[l+64>>2]>>1]=v;continue b;case 4:h[j[l+64>>2]]=v;continue b;case 6:j[j[l+64>>2]>>2]=v;continue b;case 7:break I;default:continue b}}m=j[l+64>>2];j[m>>2]=v;j[m+4>>2]=v>>31;continue b}r=r>>>0>8?r:8;m=m|8;b=120}q=Po(j[l+64>>2],j[l+68>>2],y,b&32);if(!(m&8)|!(j[l+64>>2]|j[l+68>>2])){break y}x=(b>>>4|0)+121517|0;u=2;break y}q=Oo(j[l+64>>2],j[l+68>>2],y);if(!(m&8)){break y}b=y-q|0;r=(b|0)<(r|0)?r:b+1|0;break y}n=j[l+68>>2];q=n;b=j[l+64>>2];if((n|0)<-1?1:(n|0)<=-1){q=0-(q+((b|0)!=0)|0)|0;b=0-b|0;j[l+64>>2]=b;j[l+68>>2]=q;u=1;x=121517;break z}if(m&2048){u=1;x=121518;break z}u=m&1;x=u?121519:121517}q=Gc(b,q,y)}m=(r|0)>-1?m&-65537:m;b=j[l+64>>2];n=j[l+68>>2];if(!(!!(b|n)|r)){r=0;q=y;break e}b=!(b|n)+(y-q|0)|0;r=(b|0)<(r|0)?r:b;break e}b=j[l+64>>2];q=b?b:121527;b=Aa(q,0,r);s=b?b:r+q|0;m=n;r=b?b-q|0:r;break e}n=j[l+64>>2];if(r){break u}b=0;tb(a,32,t,0,m);break t}j[l+12>>2]=0;j[l+8>>2]=j[l+64>>2];j[l+64>>2]=l+8;r=-1;n=l+8|0}b=0;J:{while(1){q=j[n>>2];if(!q){break J}q=th(l+4|0,q);s=(q|0)<0;if(!(s|q>>>0>r-b>>>0)){n=n+4|0;b=b+q|0;if(r>>>0>b>>>0){continue}break J}break}u=-1;if(s){break a}}tb(a,32,t,b,m);if(!b){b=0;break t}n=0;w=j[l+64>>2];while(1){q=j[w>>2];if(!q){break t}q=th(l+4|0,q);n=q+n|0;if((n|0)>(b|0)){break t}ab(a,l+4|0,q);w=w+4|0;if(b>>>0>n>>>0){continue}break}}tb(a,32,t,b,m^8192);b=(b|0)<(t|0)?t:b;continue b}b=O[f|0](a,o[l+64>>3],t,r,m,b)|0;continue b}h[l+55|0]=j[l+64>>2];r=1;q=B;m=n;break e}n=b+1|0;j[l+76>>2]=n;m=k[b+1|0];b=n;continue}}u=v;if(a){break a}if(!z){break d}b=1;while(1){a=j[(b<<2)+e>>2];if(a){ph((b<<3)+d|0,a,c,g);u=1;b=b+1|0;if((b|0)!=10){continue}break a}break}u=1;if(b>>>0>=10){break a}while(1){if(j[(b<<2)+e>>2]){break f}b=b+1|0;if((b|0)!=10){continue}break}break a}u=-1;break a}s=s-q|0;r=(r|0)<(s|0)?s:r;n=r+u|0;b=(n|0)>(t|0)?n:t;tb(a,32,b,n,m);ab(a,x,u);tb(a,48,b,n,m^65536);tb(a,48,r,s,0);ab(a,q,s);tb(a,32,b,n,m^8192);continue}break}u=0}M=l+80|0;return u}function Fp(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=M+ -64|0;M=e;a:{d=0;b:{if(k[a+4244|0]){break b}h[a+4244|0]=1;j[e+56>>2]=h[b+11|0]<0?j[b>>2]:b;c:{d:{e:{g=ka(b,e+56|0);d=k[b+11|0];f=d<<24>>24<0;if((g|0)==((f?j[b>>2]:b)+(f?j[b+4>>2]:d)|0)){break e}n=a+4248|0;q=-1;while(1){f:{switch(o|0){case 1:q=j[e+56>>2];f=q-g|0;if(f>>>0>=4294967280){break a}g:{if(f>>>0<=10){h[e+11|0]=f;d=e;break g}p=f+16&-16;d=U(p);j[e+8>>2]=p|-2147483648;j[e>>2]=d;j[e+4>>2]=f}if((g|0)!=(q|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}}h[d|0]=0;h:{if(h[e+11|0]>=0){q=ta(e);break h}d=j[e>>2];q=ta(d);T(d)}d=0;if((q|0)<=0){break b}Ao(n,q);case 0:l=l+1|0;break;default:break f}}o=o+1|0;g=ka(b,e+56|0);d=k[b+11|0];f=d<<24>>24<0;if((g|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:d)|0)){continue}break}if((l|0)!=2){break e}if((q|0)>=1){break d}break c}d=0;break b}t=a+4248|0;s=1;while(1){j[e+48>>2]=0;j[e+40>>2]=0;j[e+44>>2]=0;i:{if(ub(c,e+40|0)){bb(e+40|0);j[e+32>>2]=0;j[e+36>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;j[e>>2]=0;j[e+4>>2]=0;b=j[a+4252>>2];j:{if(b>>>0>2]){d=j[e+4>>2];j[b>>2]=j[e>>2];j[b+4>>2]=d;j[b+8>>2]=j[e+8>>2];j[e+8>>2]=0;j[e>>2]=0;j[e+4>>2]=0;j[b+20>>2]=j[e+20>>2];d=j[e+16>>2];j[b+12>>2]=j[e+12>>2];j[b+16>>2]=d;j[e+12>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;j[b+32>>2]=j[e+32>>2];d=j[e+28>>2];j[b+24>>2]=j[e+24>>2];j[b+28>>2]=d;j[e+24>>2]=0;j[e+28>>2]=0;j[e+32>>2]=0;j[b+36>>2]=j[e+36>>2];j[a+4252>>2]=b+40;break j}uo(t,e);if(h[e+35|0]>-1){break j}T(j[e+24>>2])}if(h[e+23|0]<=-1){T(j[e+12>>2])}if(h[e+11|0]<=-1){T(j[e>>2])}b=0;j[e+56>>2]=h[e+51|0]<0?j[e+40>>2]:e+40|0;while(1){g=ka(e+40|0,e+56|0);d=k[e+51|0];f=d<<24>>24;k:{if((f|0)<=-1){d=j[e+40>>2];if((d+j[e+44>>2]|0)!=(g|0)){break k}T(d);break i}if((d+(e+40|0)|0)==(g|0)){break i}}l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{v:{w:{x:{switch(b|0){case 0:if(!_(e+40|0,g-((f|0)<0?j[e+40>>2]:e+40|0)|0,20,1534,20)){break m}if(h[e+51|0]>-1){break c}T(j[e+40>>2]);break c;case 1:p=j[e+56>>2];l=p-g|0;n=j[a+4252>>2];f=n-40|0;d=h[n-29|0];if((d|0)<=-1){d=(j[n-32>>2]&2147483647)-1|0;if(l>>>0<=d>>>0){break p}o=j[n-36>>2];break q}if(l>>>0>10){break r}break o;case 2:p=j[e+56>>2];l=p-g|0;n=j[a+4252>>2];f=n-28|0;d=h[n-17|0];if((d|0)<=-1){d=(j[n-20>>2]&2147483647)-1|0;if(l>>>0<=d>>>0){break u}o=j[n-24>>2];break v}if(l>>>0>10){break w}break t;case 3:break x;default:break m}}p=j[e+56>>2];l=p-g|0;n=j[a+4252>>2];f=n-16|0;y:{z:{d=h[n-5|0];A:{B:{if((d|0)<=-1){d=(j[n-8>>2]&2147483647)-1|0;if(l>>>0<=d>>>0){break A}o=j[n-12>>2];break B}if(l>>>0<=10){break z}o=d&255;d=10}pb(f,d,l-d|0,o,0,o,0);if(h[f+11|0]>-1){break z}}d=j[f>>2];break y}d=f}if((g|0)!=(p|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[d|0]=0;C:{if(h[f+11|0]<=-1){j[n-12>>2]=l;break C}h[f+11|0]=l}j[a+4260>>2]=1;break m}o=d&255;d=10}pb(f,d,l-d|0,o,0,o,0);if(h[f+11|0]>-1){break t}}d=j[f>>2];break s}d=f}if((g|0)!=(p|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[d|0]=0;D:{if(h[f+11|0]<=-1){j[n-24>>2]=l;break D}h[f+11|0]=l}l=Ba(j[a+4252>>2]-28|0,47,0);if((l|0)==-1){break m}d=j[a+4252>>2];o=d-28|0;f=h[d-17|0];E:{if((f|0)<=-1){g=j[d-24>>2];if(l>>>0>=g>>>0){break l}o=j[o>>2];break E}g=f&255;if(l>>>0>=g>>>0){break l}}d=g;g=l+1|0;f=d-g|0;if(f>>>0>=4294967280){break a}F:{G:{if(f>>>0>=11){n=f+16&-16;d=U(n);j[e+8>>2]=n|-2147483648;j[e>>2]=d;j[e+4>>2]=f;break G}h[e+11|0]=f;d=e;if(!f){break F}}V(d,g+o|0,f)}h[d+f|0]=0;Wa(j[a+4252>>2]-28|0,l);d=Ha(j[a+4100>>2],h[e+11|0]<0?j[e>>2]:e);i[j[a+4252>>2]-2>>1]=d;if(h[e+11|0]>-1){break m}T(j[e>>2]);b=b+1|0;continue}o=d&255;d=10}pb(f,d,l-d|0,o,0,o,0);if(h[f+11|0]>-1){break o}}d=j[f>>2];break n}d=f}if((g|0)!=(p|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[d|0]=0;H:{if(h[f+11|0]<=-1){j[n-36>>2]=l;break H}h[f+11|0]=l}l=Ba(j[a+4252>>2]-40|0,47,0);if((l|0)==-1){break m}d=j[a+4252>>2];o=d-40|0;f=h[d-29|0];I:{if((f|0)<=-1){g=j[d-36>>2];if(l>>>0>=g>>>0){break l}o=j[o>>2];break I}g=f&255;if(l>>>0>=g>>>0){break l}}d=g;g=l+1|0;f=d-g|0;if(f>>>0>=4294967280){break a}J:{K:{if(f>>>0>=11){n=f+16&-16;d=U(n);j[e+8>>2]=n|-2147483648;j[e>>2]=d;j[e+4>>2]=f;break K}h[e+11|0]=f;d=e;if(!f){break J}}V(d,g+o|0,f)}h[d+f|0]=0;Wa(j[a+4252>>2]-40|0,l);d=Ha(j[a+4100>>2],h[e+11|0]<0?j[e>>2]:e);i[j[a+4252>>2]-4>>1]=d;if(h[e+11|0]>-1){break m}T(j[e>>2]);b=b+1|0;continue}b=b+1|0;continue}break}X();z()}if(h[e+51|0]>-1){break c}T(j[e+40>>2]);break c}r=r+1|0;s=(r|0)<(q|0);if((q|0)!=(r|0)){continue}break}}d=s^1}a=d;M=e- -64|0;return a&1}X();z()}function xd(a,b,c){var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0;a:{b:{c:while(1){j=b-2|0;d:while(1){d=a;e:while(1){f:{g:{h:{i:{j:{k:{l:{m:{a=b-d|0;e=a>>1;switch(e|0){case 4:break k;case 3:break l;case 2:break m;case 0:case 1:break f;case 5:break i;default:break j}}a=b-2|0;b=k[a|0]|k[a+1|0]<<8;c=k[d|0]|k[d+1|0]<<8;if(b>>>0>=c>>>0){break f}h[d|0]=b;h[d+1|0]=b>>>8;h[a|0]=c;h[a+1|0]=c>>>8;return}a=b-2|0;c=k[a|0]|k[a+1|0]<<8;e=k[d+2|0]|k[d+3|0]<<8;b=k[d|0]|k[d+1|0]<<8;if(e>>>0>=b>>>0){if(c>>>0>=e>>>0){break f}h[d+2|0]=c;h[d+3|0]=c>>>8;h[a|0]=e;h[a+1|0]=e>>>8;a=k[d+2|0]|k[d+3|0]<<8;b=k[d|0]|k[d+1|0]<<8;if(a>>>0>=b>>>0){break f}break b}if(c>>>0>>0){h[d|0]=c;h[d+1|0]=c>>>8;break a}h[d+2|0]=b;h[d+3|0]=b>>>8;h[d|0]=e;h[d+1|0]=e>>>8;c=k[a|0]|k[a+1|0]<<8;if(c>>>0>=b>>>0){break f}h[d+2|0]=c;h[d+3|0]=c>>>8;break a}e=b-2|0;b=k[d+4|0]|k[d+5|0]<<8;a=k[d+2|0]|k[d+3|0]<<8;c=k[d|0]|k[d+1|0]<<8;n:{if(a>>>0>=c>>>0){if(a>>>0<=b>>>0){a=b;break n}h[d+4|0]=a;h[d+5|0]=a>>>8;h[d+2|0]=b;h[d+3|0]=b>>>8;if(b>>>0>=c>>>0){break n}h[d+2|0]=c;h[d+3|0]=c>>>8;h[d|0]=b;h[d+1|0]=b>>>8;break n}o:{if(a>>>0>b>>>0){h[d+4|0]=c;h[d+5|0]=c>>>8;h[d|0]=b;h[d+1|0]=b>>>8;break o}h[d+2|0]=c;h[d+3|0]=c>>>8;h[d|0]=a;h[d+1|0]=a>>>8;if(b>>>0>=c>>>0){a=b;break n}h[d+4|0]=c;h[d+5|0]=c>>>8;h[d+2|0]=b;h[d+3|0]=b>>>8}a=c}b=k[e|0]|k[e+1|0]<<8;if(b>>>0>=(a&65535)>>>0){break f}h[d+4|0]=b;h[d+5|0]=b>>>8;h[e|0]=a;h[e+1|0]=a>>>8;a=k[d+4|0]|k[d+5|0]<<8;b=k[d+2|0]|k[d+3|0]<<8;if(a>>>0>=b>>>0){break f}h[d+4|0]=b;h[d+5|0]=b>>>8;h[d+2|0]=a;h[d+3|0]=a>>>8;b=k[d|0]|k[d+1|0]<<8;if(b>>>0<=a>>>0){break f}break b}if((a|0)<=61){a=k[d+4|0]|k[d+5|0]<<8;c=k[d+2|0]|k[d+3|0]<<8;e=k[d|0]|k[d+1|0]<<8;p:{if(c>>>0>=e>>>0){if(a>>>0>=c>>>0){c=a;break p}h[d+4|0]=c;h[d+5|0]=c>>>8;h[d+2|0]=a;h[d+3|0]=a>>>8;if(a>>>0>=e>>>0){break p}h[d+2|0]=e;h[d+3|0]=e>>>8;h[d|0]=a;h[d+1|0]=a>>>8;break p}q:{if(a>>>0>>0){h[d+4|0]=e;h[d+5|0]=e>>>8;h[d|0]=a;h[d+1|0]=a>>>8;break q}h[d+2|0]=e;h[d+3|0]=e>>>8;h[d|0]=c;h[d+1|0]=c>>>8;if(a>>>0>=e>>>0){c=a;break p}h[d+4|0]=e;h[d+5|0]=e>>>8;h[d+2|0]=a;h[d+3|0]=a>>>8}c=e}a=d+6|0;if((b|0)==(a|0)){break f}f=d+4|0;while(1){j=a;e=a;i=k[a|0]|k[a+1|0]<<8;if(i>>>0<(c&65535)>>>0){while(1){r:{h[e|0]=c;h[e+1|0]=c>>>8;a=f;if((d|0)==(a|0)){a=d;break r}e=a;f=a-2|0;c=k[f|0]|k[f+1|0]<<8;if(i>>>0>>0){continue}}break}h[a|0]=i;h[a+1|0]=i>>>8}a=j+2|0;if((b|0)==(a|0)){break f}c=k[j|0]|k[j+1|0]<<8;f=j;continue}}g=((e|0)/2<<1)+d|0;s:{if((a|0)>=1999){a=(e|0)/4<<1;i=fe(d,a+d|0,g,a+g|0,j);break s}e=k[g|0]|k[g+1|0]<<8;a=k[d|0]|k[d+1|0]<<8;t:{if(e>>>0>=a>>>0){a=k[j|0]|k[j+1|0]<<8;i=0;if(a>>>0>=e>>>0){break s}h[g|0]=a;h[g+1|0]=a>>>8;h[j|0]=e;h[j+1|0]=e>>>8;a=k[g|0]|k[g+1|0]<<8;e=k[d|0]|k[d+1|0]<<8;i=1;if(a>>>0>=e>>>0){break s}h[d|0]=a;h[d+1|0]=a>>>8;h[g|0]=e;h[g+1|0]=e>>>8;break t}f=k[j|0]|k[j+1|0]<<8;if(f>>>0>>0){h[d|0]=f;h[d+1|0]=f>>>8;h[j|0]=a;h[j+1|0]=a>>>8;i=1;break s}h[d|0]=e;h[d+1|0]=e>>>8;h[g|0]=a;h[g+1|0]=a>>>8;e=k[j|0]|k[j+1|0]<<8;i=1;if(e>>>0>=a>>>0){break s}h[g|0]=e;h[g+1|0]=e>>>8;h[j|0]=a;h[j+1|0]=a>>>8}i=2}a=j;f=k[d|0]|k[d+1|0]<<8;l=k[g|0]|k[g+1|0]<<8;if(f>>>0>=l>>>0){while(1){a=a-2|0;if((d|0)==(a|0)){e=d+2|0;a=k[j|0]|k[j+1|0]<<8;if(a>>>0>f>>>0){break g}if((e|0)==(j|0)){break f}while(1){i=k[e|0]|k[e+1|0]<<8;if(i>>>0>f>>>0){h[e|0]=a;h[e+1|0]=a>>>8;h[j|0]=i;h[j+1|0]=i>>>8;e=e+2|0;break g}e=e+2|0;if((j|0)!=(e|0)){continue}break}break f}e=k[a|0]|k[a+1|0]<<8;if(e>>>0>=l>>>0){continue}break}h[d|0]=e;h[d+1|0]=e>>>8;h[a|0]=f;h[a+1|0]=f>>>8;i=i+1|0}e=d+2|0;if(e>>>0>=a>>>0){break h}while(1){l=k[g|0]|k[g+1|0]<<8;while(1){f=e;e=e+2|0;m=k[f|0]|k[f+1|0]<<8;if(l>>>0>m>>>0){continue}break}while(1){a=a-2|0;n=k[a|0]|k[a+1|0]<<8;if(l>>>0<=n>>>0){continue}break}if(a>>>0>>0){e=f;break h}else{h[f|0]=n;h[f+1|0]=n>>>8;h[a|0]=m;h[a+1|0]=m>>>8;g=(f|0)==(g|0)?a:g;i=i+1|0;continue}}}fe(d,d+2|0,d+4|0,d+6|0,b-2|0);break f}u:{if((e|0)==(g|0)){break u}a=k[g|0]|k[g+1|0]<<8;f=k[e|0]|k[e+1|0]<<8;if(a>>>0>=f>>>0){break u}h[e|0]=a;h[e+1|0]=a>>>8;h[g|0]=f;h[g+1|0]=f>>>8;i=i+1|0}if(!i){f=wf(d,e);a=e+2|0;if(wf(a,b)){b=e;a=d;if(!f){continue c}break f}if(f){continue d}}if((e-d|0)<(b-e|0)){xd(d,e,c);a=e+2|0;continue d}xd(e+2|0,b,c);b=e;a=d;continue c}a=j;if((e|0)==(a|0)){break f}while(1){i=k[d|0]|k[d+1|0]<<8;while(1){f=e;e=e+2|0;g=k[f|0]|k[f+1|0]<<8;if(g>>>0<=i>>>0){continue}break}while(1){a=a-2|0;l=k[a|0]|k[a+1|0]<<8;if(l>>>0>i>>>0){continue}break}if(a>>>0<=f>>>0){d=f;continue e}else{h[f|0]=l;h[f+1|0]=l>>>8;h[a|0]=g;h[a+1|0]=g>>>8;continue}}}break}break}break}return}h[d+2|0]=b;h[d+3|0]=b>>>8;h[d|0]=a;h[d+1|0]=a>>>8;return}h[a|0]=b;h[a+1|0]=b>>>8}function xa(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;m=M-96|0;M=m;q=c;w=(g&131071)<<15|f>>>17;k=i&65535;u=k;l=h;D=l<<15|g>>>17;o=(e^i)&-2147483648;p=e&65535;y=p;n=d;z=p;p=0;E=(k&131071)<<15|l>>>17;F=i>>>16&32767;O=e>>>16&32767;a:{b:{if(O-1>>>0<=32765){k=0;if(F-1>>>0<32766){break b}}r=e&2147483647;x=r;k=d;if(!(!k&(r|0)==2147418112?!(b|c):r>>>0<2147418112)){A=d;o=e|32768;break a}e=i&2147483647;r=e;d=h;if(!(!d&(e|0)==2147418112?!(f|g):e>>>0<2147418112)){A=h;o=i|32768;b=f;c=g;break a}if(!(b|k|(x^2147418112|c))){if(!(d|f|(g|r))){o=2147450880;b=0;c=0;break a}o=o|2147418112;b=0;c=0;break a}if(!(d|f|(r^2147418112|g))){d=b|k;e=c|x;b=0;c=0;if(!(d|e)){o=2147450880;break a}o=o|2147418112;break a}if(!(b|k|(c|x))){b=0;c=0;break a}if(!(d|f|(g|r))){b=0;c=0;break a}if((x|0)==65535|x>>>0<65535){h=b;i=c;d=!(n|y);e=d<<6;k=s(d?b:n)+32|0;b=s(d?c:y);b=e+((b|0)==32?k:b)|0;mb(m+80|0,h,i,n,y,b-15|0);n=j[m+88>>2];q=j[m+84>>2];z=j[m+92>>2];v=16-b|0;b=j[m+80>>2]}k=v;if(r>>>0>65535){break b}c=!(l|u);d=c<<6;e=s(c?f:l)+32|0;c=s(c?g:u);c=d+((c|0)==32?e:c)|0;i=c;mb(m- -64|0,f,g,l,u,c-15|0);e=j[m+76>>2];c=e;h=j[m+72>>2];d=h;d=d<<15;e=j[m+68>>2];D=e>>>17|d;d=0;f=j[m+64>>2];w=d|((e&131071)<<15|f>>>17);E=(c&131071)<<15|h>>>17;k=(v-i|0)+16|0}v=k;d=w;c=b;u=0;r=Cr(d,0,b,u);b=N;G=b;e=f;B=e<<15&-32768;l=q;g=Cr(B,0,l,0);f=g+r|0;e=N+b|0;e=f>>>0>>0?e+1|0:e;h=f;k=f;i=0;g=Cr(c,u,B,C);f=i+g|0;b=k;k=k+N|0;k=f>>>0>>0?k+1|0:k;w=f;g=k;J=(b|0)==(k|0)&f>>>0>>0|b>>>0>k>>>0;P=Cr(d,t,l,H);K=N;q=n;f=Cr(B,C,n,0);b=f+P|0;k=N+K|0;Q=b;n=Cr(D,0,c,u);i=b+n|0;b=b>>>0>>0?k+1|0:k;f=b+N|0;x=i;f=i>>>0>>0?f+1|0:f;y=f;k=f;f=(e|0)==(G|0)&h>>>0>>0|e>>>0>>0;h=e+x|0;k=f+k|0;r=h;k=h>>>0>>0?k+1|0:k;n=k;e=h;h=k;S=Cr(d,t,q,R);G=N;f=B;I=z|65536;B=p;i=Cr(f,C,I,p);f=i+S|0;k=N+G|0;k=f>>>0>>0?k+1|0:k;T=f;C=Cr(D,U,l,H);i=f+C|0;p=k;f=k+N|0;f=i>>>0>>0?f+1|0:f;L=i;E=E&2147483647|-2147483648;i=Cr(c,u,E,0);c=L+i|0;u=f;k=f+N|0;C=c;c=c>>>0>>0?k+1|0:k;z=J;i=0;f=i+e|0;k=h+C|0;J=f;h=f;e=z+f|0;z=f>>>0>>0?k+1|0:k;f=z;f=e>>>0>>0?f+1|0:f;h=e;i=f;v=(v+(F+O|0)|0)-16383|0;f=Cr(q,R,D,U);e=N;t=Cr(d,t,I,B);d=t+f|0;k=N+e|0;k=d>>>0>>0?k+1|0:k;t=d;f=(e|0)==(k|0)&f>>>0>d>>>0|e>>>0>k>>>0;e=k;F=f;f=Cr(E,V,l,H);d=f+d|0;k=N+k|0;k=d>>>0>>0?k+1|0:k;f=d;d=k;l=(k|0)==(e|0)&f>>>0>>0|e>>>0>k>>>0;k=F+l|0;e=0;e=k>>>0>>0?1:e;t=f;l=d;F=k;f=(b|0)==(y|0)&x>>>0>>0|b>>>0>y>>>0;b=f+((b|0)==(K|0)&P>>>0>Q>>>0|b>>>0>>0)|0;k=0;k=b>>>0>>0?1:k;f=b;b=t+f|0;k=d+k|0;k=b>>>0>>0?k+1|0:k;H=b;d=k;k=(k|0)==(l|0)&b>>>0>>0|k>>>0>>0;b=F+k|0;f=e;f=b>>>0>>0?f+1|0:f;e=Cr(E,V,I,B);b=e+b|0;k=N+f|0;t=b;e=b>>>0>>0?k+1|0:k;l=Cr(E,V,q,R);f=N;q=Cr(D,U,I,B);b=q+l|0;k=N+f|0;k=b>>>0>>0?k+1|0:k;q=b;b=k;k=(f|0)==(k|0)&l>>>0>q>>>0|f>>>0>k>>>0;l=b+t|0;e=e+k|0;e=l>>>0>>0?e+1|0:e;t=l;l=0;b=l+H|0;k=d+q|0;k=b>>>0>>0?k+1|0:k;f=k;l=(d|0)==(k|0)&b>>>0>>0|d>>>0>k>>>0;d=t+l|0;k=e;D=d;d=d>>>0>>0?k+1|0:k;q=b;l=f;f=(p|0)==(u|0)&T>>>0>L>>>0|p>>>0>u>>>0;e=f+((p|0)==(G|0)&S>>>0>T>>>0|p>>>0>>0)|0;f=e;e=f+((c|0)==(u|0)&C>>>0>>0|c>>>0>>0)|0;f=e;b=c+b|0;e=f+l|0;e=b>>>0>>0?e+1|0:e;p=b;c=b;b=e;e=(e|0)==(l|0)&c>>>0>>0|e>>>0>>0;c=e+D|0;k=d;k=c>>>0>>0?k+1|0:k;d=c;l=d;e=(n|0)==(z|0)&r>>>0>J>>>0|n>>>0>z>>>0;d=e+((n|0)==(y|0)&r>>>0>>0|n>>>0>>0)|0;f=0;f=d>>>0>>0?1:f;n=d;d=d+p|0;e=b+f|0;e=d>>>0>>0?e+1|0:e;c=(b|0)==(e|0)&d>>>0

                                                                    >>0|b>>>0>e>>>0;b=l+c|0;k=b>>>0>>0?k+1|0:k;c=k;c:{if(k&65536){v=v+1|0;break c}n=g>>>31|0;k=c<<1|b>>>31;b=b<<1|e>>>31;c=k;k=e<<1|d>>>31;d=d<<1|i>>>31;e=k;p=w;k=g<<1|p>>>31;w=p<<1;g=k;k=i<<1|h>>>31;h=h<<1|n;i=k}if((v|0)>=32767){o=o|2147418112;b=0;c=0;break a}d:{if((v|0)<=0){f=1-v|0;if(f>>>0>=128){b=0;c=0;break a}k=v+127|0;mb(m+48|0,w,g,h,i,k);mb(m+32|0,d,e,b,c,k);Fc(m+16|0,w,g,h,i,f);Fc(m,d,e,b,c,f);w=(j[m+48>>2]|j[m+56>>2])!=0|(j[m+52>>2]|j[m+60>>2])!=0|(j[m+32>>2]|j[m+16>>2]);g=j[m+36>>2]|j[m+20>>2];h=j[m+40>>2]|j[m+24>>2];i=j[m+44>>2]|j[m+28>>2];d=j[m>>2];e=j[m+4>>2];c=j[m+12>>2];b=j[m+8>>2];break d}c=c&65535|v<<16}A=b|A;o=c|o;if(!(!h&(i|0)==-2147483648?!(g|w):(i|0)>-1)){k=e;b=d+1|0;k=b>>>0<1?k+1|0:k;f=b;c=k;f=(e|0)==(k|0)&d>>>0>f>>>0|e>>>0>k>>>0;d=f+A|0;e=o;A=d;o=d>>>0>>0?e+1|0:e;break a}if(h|w|(i^-2147483648|g)){b=d;c=e;break a}c=d&1;b=c+d|0;k=e;k=b>>>0>>0?k+1|0:k;f=b;c=k;e=(e|0)==(k|0)&d>>>0>f>>>0|e>>>0>k>>>0;d=e+A|0;k=o;A=d;o=d>>>0>>0?k+1|0:k}j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=A;j[a+12>>2]=o;M=m+96|0}function _a(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=M-432|0;M=m;j[m+424>>2]=0;j[m+416>>2]=0;j[m+420>>2]=0;Sh(a,m+416|0,b);a:{b=k[m+427|0];u=b<<24>>24<0?j[m+420>>2]:b;b:{if(!u){break b}c:{if(!j[a+48>>2]){break c}if(j[a+44>>2]){ob(m+416|0);break c}Va(m+416|0)}s=h[m+427|0]<0?j[m+416>>2]:m+416|0;b=j[a+4>>2];if((b|0)!=j[a+8>>2]){while(1){g=0;f=dc(j[(t<<2)+b>>2],s);d:{if(!f){break d}e:{b=j[f+4>>2];if(!b){break e}n=j[a>>2];if(!n){break e}e=i[f+2>>1];q=(e<<1)+b|0;n=l[n+4192>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)|n>>>0>1]){break e}if(c){j[c>>2]=j[c>>2]+2}if(!l[j[a>>2]+4152>>1]|j[a+40>>2]!=36){break b}b=j[f+4>>2];e=i[f+2>>1];s=b+(e<<1)|0;a=l[j[a>>2]+4152>>1];if(e){while(1){d=e>>>1|0;u=(d<<1)+b|0;f=a>>>0>l[u>>1];b=f?u+2|0:b;e=f?(d^-1)+e|0:d;if(e){continue}break}}if(!c|(b|0)==(s|0)|a>>>0>1]){break b}j[c>>2]=j[c>>2]+1;break b}if(!c){while(1){if(!j[f+4>>2]){g=f;break d}b=j[a>>2];if(!b){g=f;break d}f:{g:{if(!l[b+4198>>1]){break g}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4198>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){break g}if(n>>>0>=l[b>>1]){break f}}if(!l[j[a>>2]+4464>>1]){g=f;break d}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4464>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){g=f;break d}if(n>>>0>=l[b>>1]){break f}g=f;break d}f=j[f+12>>2];if(f){continue}break d}}while(1){if(!j[f+4>>2]){g=f;break d}b=j[a>>2];if(!b){g=f;break d}h:{i:{if(!l[b+4198>>1]){break i}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4198>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){break i}if(n>>>0>=l[b>>1]){break h}}j:{if(!l[j[a>>2]+4464>>1]){break j}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4464>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){break j}if(n>>>0>=l[b>>1]){break h}}if(!(k[c|0]&16)){g=f;break d}b=j[f+4>>2];e=i[f+2>>1];p=b+(e<<1)|0;if(e){while(1){n=e>>>1|0;q=(n<<1)+b|0;o=l[q>>1]<65511;b=o?q+2|0:b;e=o?(n^-1)+e|0:n;if(e){continue}break}}if((b|0)==(p|0)){g=f;break d}if(l[b>>1]<=65511){break h}g=f;break d}f=j[f+12>>2];if(f){continue}break}}if(!g){t=t+1|0;b=j[a+4>>2];if(t>>>0>2]-b>>2>>>0){continue}}break}if(g){break b}}b=j[a>>2];if(!b){g=0;break b}g=0;k:{f=pl(b,s,u);if(!f){break k}l:{if(!j[f+4>>2]){break l}m:{if(!l[j[a>>2]+4464>>1]){break m}b=j[f+4>>2];e=i[f+2>>1];p=b+(e<<1)|0;t=l[j[a>>2]+4464>>1];if(e){while(1){n=e>>>1|0;q=(n<<1)+b|0;o=t>>>0>l[q>>1];b=o?q+2|0:b;e=o?(n^-1)+e|0:n;if(e){continue}break}}if((b|0)==(p|0)){break m}if(t>>>0>=l[b>>1]){break k}}n:{if(!c|!(k[c|0]&16)){break n}b=j[f+4>>2];e=i[f+2>>1];o=b+(e<<1)|0;if(e){while(1){t=e>>>1|0;p=(t<<1)+b|0;n=l[p>>1]<65511;b=n?p+2|0:b;e=n?(t^-1)+e|0:t;if(e){continue}break}}if((b|0)==(o|0)){break n}if(l[b>>1]<65512){break k}}b=j[f+4>>2];if(!b){break l}g=j[a>>2];if(!g){break l}e=i[f+2>>1];t=(e<<1)+b|0;g=l[g+4192>>1];if(e){while(1){s=e>>>1|0;n=(s<<1)+b|0;u=g>>>0>l[n>>1];b=u?n+2|0:b;e=u?(s^-1)+e|0:s;if(e){continue}break}}if((b|0)==(t|0)|g>>>0>1]){break l}g=0;if(!c){break b}j[c>>2]=j[c>>2]+2;break b}if(!d){g=f;break b}Ka(d,f+17|0);if(!j[a+48>>2]){g=f;break b}if(j[a+44>>2]){ob(d);g=f;break b}Va(d);g=f;break b}f=1;b=j[a>>2];if(!(l[b+4152>>1]|l[b+4154>>1])){f=j[b+4268>>2]!=j[b+4272>>2]}if(!f){break b}f=j[a>>2];b=W(s);if(b>>>0>=4294967280){break a}o:{p:{if(b>>>0>=11){g=b+16&-16;e=U(g);j[m+8>>2]=g|-2147483648;j[m>>2]=e;j[m+4>>2]=b;g=m;break p}h[m+11|0]=b;g=m;e=m;if(!b){break o}}V(e,s,b)}h[b+e|0]=0;b=ed(f,m,0,0,100,0,0,m+16|0,0,0,c);if(h[g+11|0]<=-1){T(j[m>>2])}if(!b){g=0;if(j[a+40>>2]!=36){break b}b=u-1|0;if(k[b+s|0]!=45){break b}if(b>>>0>=4294967280){break a}q:{r:{if(b>>>0>=11){g=u+15&-16;e=U(g);j[m+8>>2]=g|-2147483648;j[m>>2]=e;j[m+4>>2]=b;f=m;break r}h[m+11|0]=b;f=m;e=f;if(!b){break q}}V(e,s,b)}g=0;h[b+e|0]=0;b=ed(j[a>>2],m,-5,0,100,0,0,m+16|0,1,0,c);if(h[f+11|0]<=-1){T(j[m>>2])}if(!b){break b}}s:{if(!d){break s}Ka(d,b+17|0);if(!j[a+48>>2]){break s}if(j[a+44>>2]){ob(d);break s}Va(d)}if(c){j[c>>2]=j[c>>2]+1}g=b}if(h[m+427|0]<=-1){T(j[m+416>>2])}M=m+432|0;return g}X();z()}function fg(a,b,c,d,e,f,g,i,m,n,o){var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;p=M-560|0;M=p;j[p+548>>2]=o;j[p+552>>2]=b;j[p+104>>2]=78;s=Da(p+136|0,p+144|0,p+104|0);b=j[s>>2];j[p+132>>2]=b;j[p+128>>2]=b+400;v=ga(p+104|0);t=ga(p+88|0);q=ga(p+72|0);r=ga(p+56|0);u=ga(p+40|0);Dl(c,d,p+120|0,p+119|0,p+118|0,v,t,q,r,p+36|0);j[n>>2]=j[m>>2];w=e&512;x=w>>>9|0;b=0;c=0;while(1){o=c;a:{b:{c:{d:{if((b|0)==4){break d}if(!lb(a,p+552|0)){break d}e=0;e:{f:{g:{h:{i:{switch(h[(p+120|0)+b|0]){case 1:if((b|0)==3){break b}c=Ga(a);if((c|0)>=0){c=l[j[i+8>>2]+((c&255)<<1)>>1]&8192}else{c=0}if(c){eg(p+24|0,a);Z(u,h[p+24|0]);break h}j[f>>2]=j[f>>2]|4;a=0;break c;case 0:break i;case 4:break e;case 2:break f;case 3:break g;default:break a}}if((b|0)==3){break b}}while(1){if(!lb(a,p+552|0)){break b}c=Ga(a);if((c|0)>=0){c=(l[j[i+8>>2]+((c&255)<<1)>>1]&8192)!=0}else{c=0}if(!c){break b}eg(p+24|0,a);Z(u,h[p+24|0]);continue}}if(k[q+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}if((c|0)==(0-d|0)){break b}if(k[q+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}if(!(d?c:0)){if(k[q+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}d=Ga(a);if(c){if(k[q+11|0]>>>7|0){c=j[q>>2]}else{c=q}if(k[c|0]==(d&255)){Oa(a);c=q;if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}c=d>>>0>1?c:o;break a}h[g|0]=1;break b}if(k[r+11|0]>>>7|0){c=j[r>>2]}else{c=r}if(k[c|0]!=(d&255)){break b}Oa(a);h[g|0]=1;c=r;if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}c=d>>>0>1?c:o;break a}d=Ga(a)&255;if(k[q+11|0]>>>7|0){c=j[q>>2]}else{c=q}if((d|0)==k[c|0]){Oa(a);c=q;if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}c=d>>>0>1?c:o;break a}d=Ga(a)&255;if(k[r+11|0]>>>7|0){c=j[r>>2]}else{c=r}if((d|0)==k[c|0]){Oa(a);h[g|0]=1;c=r;if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}c=d>>>0>1?c:o;break a}j[f>>2]=j[f>>2]|4;a=0;break c}if(!(o|b>>>0<2)){c=0;if(!((b|0)==2&k[p+123|0]!=0|x)){break a}}z=p,A=qb(t),j[z+16>>2]=A;j[p+24>>2]=j[p+16>>2];j:{if(!b|k[(b+p|0)+119|0]>1){break j}while(1){k:{z=p,A=kc(t),j[z+16>>2]=A;if(!(j[p+24>>2]==j[p+16>>2]^1)){break k}c=h[j[p+24>>2]];if((c|0)>=0){c=(l[j[i+8>>2]+((c&255)<<1)>>1]&8192)!=0}else{c=0}if(!c){break k}j[p+24>>2]=j[p+24>>2]+1;continue}break}z=p,A=qb(t),j[z+16>>2]=A;if(k[u+11|0]>>>7|0){d=j[u+4>>2]}else{d=k[u+11|0]}c=j[p+24>>2]-j[p+16>>2]|0;if(d>>>0>=c>>>0){z=p,A=kc(u),j[z+16>>2]=A;if(zl(le(p+16|0,0-c|0),kc(u),qb(t))){break j}}z=p,A=qb(t),j[z+8>>2]=A;j[p+16>>2]=j[p+8>>2];j[p+24>>2]=j[p+16>>2]}j[p+16>>2]=j[p+24>>2];while(1){l:{z=p,A=kc(t),j[z+8>>2]=A;if(!(j[p+16>>2]==j[p+8>>2]^1)){break l}if(!lb(a,p+552|0)){break l}if((Ga(a)&255)!=k[j[p+16>>2]]){break l}Oa(a);j[p+16>>2]=j[p+16>>2]+1;continue}break}if(!w){break b}z=p,A=kc(t),j[z+8>>2]=A;if(!(j[p+16>>2]==j[p+8>>2]^1)){break b}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){m:{if(!lb(a,p+552|0)){break m}c=Ga(a);n:{if((c|0)>=0?l[j[i+8>>2]+((c&255)<<1)>>1]&2048:0){d=j[n>>2];if((d|0)==j[p+548>>2]){dg(m,n,p+548|0);d=j[n>>2]}j[n>>2]=d+1;h[d|0]=c;e=e+1|0;break n}y=!e;if(k[v+11|0]>>>7|0){d=j[v+4>>2]}else{d=k[v+11|0]}if(y|!d|k[p+118|0]!=(c&255)){break m}c=j[p+132>>2];if((c|0)==j[p+128>>2]){zc(s,p+132|0,p+128|0);c=j[p+132>>2]}j[p+132>>2]=c+4;j[c>>2]=e;e=0}Oa(a);continue}break}d=j[s>>2];o:{if(!e){break o}c=j[p+132>>2];if((d|0)==(c|0)){break o}if(j[p+128>>2]==(c|0)){zc(s,p+132|0,p+128|0);c=j[p+132>>2]}j[p+132>>2]=c+4;j[c>>2]=e}p:{if(j[p+36>>2]<1){break p}q:{if(!Sa(a,p+552|0)){if((Ga(a)&255)==k[p+119|0]){break q}}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){Oa(a);if(j[p+36>>2]<1){break p}r:{if(!Sa(a,p+552|0)){c=Ga(a);if((c|0)>=0){c=l[j[i+8>>2]+((c&255)<<1)>>1]&2048}else{c=0}if(c){break r}}j[f>>2]=j[f>>2]|4;a=0;break c}if(j[n>>2]==j[p+548>>2]){dg(m,n,p+548|0)}c=Ga(a);d=j[n>>2];j[n>>2]=d+1;h[d|0]=c;j[p+36>>2]=j[p+36>>2]-1;continue}}c=o;if(j[m>>2]!=j[n>>2]){break a}j[f>>2]=j[f>>2]|4;a=0;break c}s:{if(!o){break s}e=1;while(1){if(k[o+11|0]>>>7|0){b=j[o+4>>2]}else{b=k[o+11|0]}if(b>>>0<=e>>>0){break s}t:{if(!Sa(a,p+552|0)){c=Ga(a)&255;if(k[o+11|0]>>>7|0){b=j[o>>2]}else{b=o}if((c|0)==k[b+e|0]){break t}}j[f>>2]=j[f>>2]|4;a=0;break c}Oa(a);e=e+1|0;continue}}a=1;if(j[s>>2]==j[p+132>>2]){break c}a=0;j[p+24>>2]=0;hb(v,j[s>>2],j[p+132>>2],p+24|0);if(j[p+24>>2]){j[f>>2]=j[f>>2]|4;break c}a=1}Y(u);Y(r);Y(q);Y(t);Y(v);b=j[s>>2];j[s>>2]=0;if(b){O[j[s+4>>2]](b)}M=p+560|0;return a}c=o}b=b+1|0;continue}}function Yn(a,b,c,d,e,f){var g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=M-432|0;M=g;h=j[b+4>>2];a:{if(h>>>0>2]){j[b+4>>2]=h+1;i=k[h|0];break a}i=pa(b)}b:{c:{while(1){if((i|0)!=48){d:{if((i|0)!=46){break b}h=j[b+4>>2];if(h>>>0>=m[b+104>>2]){break d}j[b+4>>2]=h+1;i=k[h|0];break c}}else{h=j[b+4>>2];if(h>>>0>2]){z=1;j[b+4>>2]=h+1;i=k[h|0]}else{z=1;i=pa(b)}continue}break}i=pa(b)}y=1;if((i|0)!=48){break b}while(1){h=u;u=h-1|0;v=v-(h>>>0<1)|0;h=j[b+4>>2];e:{if(h>>>0>2]){j[b+4>>2]=h+1;i=k[h|0];break e}i=pa(b)}if((i|0)==48){continue}break}z=1}h=1073676288;while(1){f:{A=i|32;g:{h:{B=i-48|0;if(B>>>0<10){break h}if(A-97>>>0>5?(i|0)!=46:0){break f}if((i|0)!=46){break h}if(y){break f}y=1;u=p;v=l;break g}i=(i|0)>57?A-87|0:B;i:{if((l|0)<0?1:(l|0)<=0?p>>>0<=7:0){r=i+(r<<4)|0;break i}if((l|0)<0?1:(l|0)<=0?p>>>0<=28:0){Cb(g+48|0,i);xa(g+32|0,w,x,q,h,0,0,0,1073414144);w=j[g+32>>2];x=j[g+36>>2];q=j[g+40>>2];h=j[g+44>>2];xa(g+16|0,w,x,q,h,j[g+48>>2],j[g+52>>2],j[g+56>>2],j[g+60>>2]);yb(g,n,o,s,t,j[g+16>>2],j[g+20>>2],j[g+24>>2],j[g+28>>2]);s=j[g+8>>2];t=j[g+12>>2];n=j[g>>2];o=j[g+4>>2];break i}if(!i|E){break i}xa(g+80|0,w,x,q,h,0,0,0,1073610752);yb(g- -64|0,n,o,s,t,j[g+80>>2],j[g+84>>2],j[g+88>>2],j[g+92>>2]);s=j[g+72>>2];t=j[g+76>>2];E=1;n=j[g+64>>2];o=j[g+68>>2]}p=p+1|0;l=p>>>0<1?l+1|0:l;z=1}i=j[b+4>>2];if(i>>>0>2]){j[b+4>>2]=i+1;i=k[i|0]}else{i=pa(b)}continue}break}j:{k:{l:{if(!z){if(!j[b+104>>2]){if(f){break k}break l}c=j[b+4>>2];j[b+4>>2]=c-1;if(!f){break l}j[b+4>>2]=c-2;if(!y){break k}j[b+4>>2]=c-3;break k}if((l|0)<0?1:(l|0)<=0?p>>>0<=7:0){q=p;h=l;while(1){r=r<<4;q=q+1|0;h=q>>>0<1?h+1|0:h;if((q|0)!=8|h){continue}break}}m:{if((i&-33)==80){q=Ug(b,f);i=N;h=i;if(q|(h|0)!=-2147483648){break m}if(f){q=0;h=0;if(!j[b+104>>2]){break m}j[b+4>>2]=j[b+4>>2]-1;break m}n=0;o=0;Ib(b,0,0);c=0;b=0;break j}q=0;h=0;if(!j[b+104>>2]){break m}j[b+4>>2]=j[b+4>>2]-1}if(!r){Ub(g+112|0,+(e|0)*0);n=j[g+112>>2];o=j[g+116>>2];c=j[g+120>>2];b=j[g+124>>2];break j}f=y?u:p;b=(y?v:l)<<2|f>>>30;f=q+(f<<2)|0;l=b+h|0;b=f;p=b-32|0;l=(b>>>0>>0?l+1|0:l)-(b>>>0<32)|0;b=l;if((b|0)>0?1:(b|0)>=0?p>>>0>0-d>>>0:0){j[37203]=68;Cb(g+160|0,e);xa(g+144|0,j[g+160>>2],j[g+164>>2],j[g+168>>2],j[g+172>>2],-1,-1,-1,2147418111);xa(g+128|0,j[g+144>>2],j[g+148>>2],j[g+152>>2],j[g+156>>2],-1,-1,-1,2147418111);n=j[g+128>>2];o=j[g+132>>2];c=j[g+136>>2];b=j[g+140>>2];break j}b=d-226|0;f=p>>>0>=b>>>0;b=b>>31;if((b|0)<(l|0)?1:(l|0)>=(b|0)?f:0){if((r|0)>-1){while(1){yb(g+416|0,n,o,s,t,0,0,0,-1073807360);h=Zg(n,o,s,t,1073610752);f=(h|0)<0;b=f;yb(g+400|0,n,o,s,t,b?n:j[g+416>>2],b?o:j[g+420>>2],b?s:j[g+424>>2],b?t:j[g+428>>2]);b=p;p=b-1|0;l=l-(b>>>0<1)|0;s=j[g+408>>2];t=j[g+412>>2];n=j[g+400>>2];o=j[g+404>>2];r=r<<1|(h|0)>-1;if((r|0)>-1){continue}break}}b=d;h=(p-b|0)+32|0;l=l-((b>>31)+(b>>>0>p>>>0)|0)|0;b=h;l=b>>>0<32?l+1|0:l;c=((l|0)<0?1:(l|0)<=0?c>>>0>b>>>0:0)?(b|0)>0?b:0:c;n:{if((c|0)>=113){Cb(g+384|0,e);u=j[g+392>>2];v=j[g+396>>2];w=j[g+384>>2];x=j[g+388>>2];d=0;b=0;break n}Ub(g+352|0,Od(144-c|0));Cb(g+336|0,e);w=j[g+336>>2];x=j[g+340>>2];u=j[g+344>>2];v=j[g+348>>2];Yg(g+368|0,j[g+352>>2],j[g+356>>2],j[g+360>>2],j[g+364>>2],w,x,u,v);C=j[g+376>>2];D=j[g+380>>2];d=j[g+372>>2];b=j[g+368>>2]}c=!(r&1)&((qc(n,o,s,t,0,0,0,0)|0)!=0&(c|0)<32);Ec(g+320|0,c+r|0);xa(g+304|0,w,x,u,v,j[g+320>>2],j[g+324>>2],j[g+328>>2],j[g+332>>2]);yb(g+272|0,j[g+304>>2],j[g+308>>2],j[g+312>>2],j[g+316>>2],b,d,C,D);xa(g+288|0,c?0:n,c?0:o,c?0:s,c?0:t,w,x,u,v);yb(g+256|0,j[g+288>>2],j[g+292>>2],j[g+296>>2],j[g+300>>2],j[g+272>>2],j[g+276>>2],j[g+280>>2],j[g+284>>2]);ve(g+240|0,j[g+256>>2],j[g+260>>2],j[g+264>>2],j[g+268>>2],b,d,C,D);e=j[g+240>>2];d=j[g+244>>2];c=j[g+248>>2];b=j[g+252>>2];if(!qc(e,d,c,b,0,0,0,0)){j[37203]=68}Xg(g+224|0,e,d,c,b,p);n=j[g+224>>2];o=j[g+228>>2];c=j[g+232>>2];b=j[g+236>>2];break j}j[37203]=68;Cb(g+208|0,e);xa(g+192|0,j[g+208>>2],j[g+212>>2],j[g+216>>2],j[g+220>>2],0,0,0,65536);xa(g+176|0,j[g+192>>2],j[g+196>>2],j[g+200>>2],j[g+204>>2],0,0,0,65536);n=j[g+176>>2];o=j[g+180>>2];c=j[g+184>>2];b=j[g+188>>2];break j}Ib(b,0,0)}Ub(g+96|0,+(e|0)*0);n=j[g+96>>2];o=j[g+100>>2];c=j[g+104>>2];b=j[g+108>>2]}j[a>>2]=n;j[a+4>>2]=o;j[a+8>>2]=c;j[a+12>>2]=b;M=g+432|0}function er(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=M-112|0;M=d;a:{e=0;b:{if(j[a+100>>2]!=j[a+104>>2]){break b}j[d+104>>2]=h[b+11|0]<0?j[b>>2]:b;c:{d:{e:{g=ka(b,d+104|0);e=k[b+11|0];f=e<<24>>24<0;if((g|0)==((f?j[b>>2]:b)+(f?j[b+4>>2]:e)|0)){break e}t=a+100|0;o=-1;while(1){f:{switch(l|0){case 1:o=j[d+104>>2];f=o-g|0;if(f>>>0>=4294967280){break a}g:{if(f>>>0<=10){h[d+35|0]=f;e=d+24|0;break g}n=f+16&-16;e=U(n);j[d+32>>2]=n|-2147483648;j[d+24>>2]=e;j[d+28>>2]=f}if((g|0)!=(o|0)){while(1){h[e|0]=k[g|0];e=e+1|0;g=g+1|0;if((o|0)!=(g|0)){continue}break}}h[e|0]=0;h:{if(h[d+35|0]>=0){o=ta(d+24|0);break h}e=j[d+24>>2];o=ta(e);T(e)}e=0;if((o|0)<=0){break b}Yh(t,o);case 0:r=r+1|0;break;default:break f}}l=l+1|0;g=ka(b,d+104|0);e=k[b+11|0];f=e<<24>>24<0;if((g|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:e)|0)){continue}break}if((r|0)!=2){break e}if((o|0)<1){break c}v=d- -64|0;w=1;break d}e=0;break b}while(1){j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;b=0;i:{if(!ub(c,d+88|0)){break i}bb(d+88|0);j[d+80>>2]=0;j[d+72>>2]=0;j[d+76>>2]=0;j[v>>2]=0;j[v+4>>2]=0;j[d+56>>2]=0;j[d+60>>2]=0;j[d+48>>2]=0;j[d+52>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[d+32>>2]=0;j[d+36>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;b=j[a+104>>2];j:{if(b>>>0>2]){e=j[d+28>>2];j[b>>2]=j[d+24>>2];j[b+4>>2]=e;j[b+8>>2]=j[d+32>>2];j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;j[b+20>>2]=j[d+44>>2];e=j[d+40>>2];j[b+12>>2]=j[d+36>>2];j[b+16>>2]=e;j[d+36>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[b+32>>2]=j[d+56>>2];e=j[d+52>>2];j[b+24>>2]=j[d+48>>2];j[b+28>>2]=e;j[d+48>>2]=0;j[d+52>>2]=0;j[d+56>>2]=0;j[b+44>>2]=j[d+68>>2];e=j[d+64>>2];j[b+36>>2]=j[d+60>>2];j[b+40>>2]=e;j[d+60>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;j[b+56>>2]=j[d+80>>2];e=j[d+76>>2];j[b+48>>2]=j[d+72>>2];j[b+52>>2]=e;j[d+72>>2]=0;j[d+76>>2]=0;j[d+80>>2]=0;j[a+104>>2]=b+60;break j}Hd(t,d+24|0);if(h[d+83|0]>-1){break j}T(j[d+72>>2])}if(h[d+71|0]<0){T(j[d+60>>2])}if(h[d+59|0]<=-1){T(j[d+48>>2])}if(h[d+47|0]<=-1){T(j[d+36>>2])}if(h[d+35|0]<0){T(j[d+24>>2])}b=0;j[d+104>>2]=h[d+99|0]<0?j[d+88>>2]:d+88|0;r=0;g=ka(d+88|0,d+104|0);l=j[d+88>>2];f=k[d+99|0];e=f<<24>>24<0;k:{if((g|0)!=((e?l:d+88|0)+(e?j[d+92>>2]:f)|0)){while(1){l:{m:{n:{o:{p:{q:{r:{switch(b|0){case 0:if(!_(d+88|0,g-(e&1?l:d+88|0)|0,3,120980,3)){break l}break k;case 1:q=j[a+104>>2];f=q-60|0;s=j[d+104>>2];r=k[g|0]==94?1:r;g=r+g|0;n=s-g|0;e=h[q-49|0];if((e|0)<=-1){e=(j[q-52>>2]&2147483647)-1|0;if(n>>>0<=e>>>0){break o}l=j[q-56>>2];break p}if(n>>>0>10){break q}break n;case 2:break r;default:break l}}s=j[d+104>>2];n=s-g|0;x=p(r,12);q=x+j[a+104>>2]|0;f=q-48|0;s:{t:{e=h[q-37|0];u:{v:{if((e|0)<=-1){e=(j[q-40>>2]&2147483647)-1|0;if(n>>>0<=e>>>0){break u}l=j[q-44>>2];break v}if(n>>>0<=10){break t}l=e&255;e=10}pb(f,e,n-e|0,l,0,l,0);if(h[f+11|0]>-1){break t}}e=j[f>>2];break s}e=f}if((g|0)!=(s|0)){while(1){h[e|0]=k[g|0];e=e+1|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}}h[e|0]=0;w:{if(h[f+11|0]<=-1){j[q-44>>2]=n;break w}h[f+11|0]=n}e=j[a+104>>2];i[d+24>>1]=95;h[d+35|0]=1;i[d+8>>1]=32;h[d+19|0]=1;wb((e+x|0)-48|0,d+24|0,d+8|0);if(h[d+19|0]<=-1){T(j[d+8>>2])}if(h[d+35|0]>-1){break l}T(j[d+24>>2]);break l}l=e&255;e=10}pb(f,e,n-e|0,l,0,l,0);if(h[f+11|0]>-1){break n}}e=j[f>>2];break m}e=f}if((g|0)!=(s|0)){while(1){h[e|0]=k[g|0];e=e+1|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}}h[e|0]=0;x:{if(h[f+11|0]<=-1){j[q-56>>2]=n;break x}h[f+11|0]=n}e=j[a+104>>2];i[d+24>>1]=95;h[d+35|0]=1;i[d+8>>1]=32;h[d+19|0]=1;wb(e-60|0,d+24|0,d+8|0);if(h[d+19|0]<=-1){T(j[d+8>>2])}if(h[d+35|0]<=-1){T(j[d+24>>2])}f=j[a+104>>2];e=f-60|0;g=k[f-49|0];l=g<<24>>24;y:{if((l|0)<=-1){f=j[f-56>>2];if(!f){break l}g=f-1|0;if(k[g+j[e>>2]|0]==36){break y}break l}if(!l){break l}g=g-1|0;if(k[e+g|0]!=36){break l}}Wa(e,g);r=r+2|0}b=b+1|0;g=ka(d+88|0,d+104|0);l=j[d+88>>2];f=k[d+99|0];e=f<<24>>24<0;if((g|0)!=((e?l:d+88|0)+(e?j[d+92>>2]:f)|0)){continue}break}}b=j[a+104>>2];e=h[b-49|0];z:{if((e|0)<=-1){e=j[b-56>>2];break z}e=e&255}if(e){b=b+p(r,12)|0;e=h[b-37|0];A:{if((e|0)<=-1){e=j[b-44>>2];break A}e=e&255}b=1;if(e){break i}}}Zh(t);b=0}if(h[d+99|0]<=-1){T(j[d+88>>2])}if(!b){break c}u=u+1|0;w=(u|0)<(o|0);if((o|0)!=(u|0)){continue}break}}e=w^1}a=e;M=d+112|0;return a&1}X();z()}function Lh(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0;g=M-16|0;M=g;a:{f=W(c);if((f|0)>=3){if(j[a+60>>2]==36){u=Qp(a,c,f)}l=ja(f+2|0);c=He(l+1|0,c);b:{if(!k[l+2|0]){o=e;break b}o=e;s=1;while(1){h[c-1|0]=k[c|0];c=l+s|0;if(j[a+56>>2]){f=s+1|0;e=l+f|0;i=k[e|0];if((i&192)==128){while(1){h[c|0]=i;c=e;s=f;f=f+1|0;e=l+f|0;i=k[e|0];if((i&192)==128){continue}break}}if(!k[c+1|0]){break b}}h[c|0]=32;c:{d:{e:{if(!d){f=W(l);if(f>>>0>=4294967280){break a}f:{g:{if(f>>>0>=11){i=f+16&-16;e=U(i);j[g+8>>2]=i|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break g}h[g+11|0]=f;e=g;if(!f){break f}}V(e,l,f)}h[e+f|0]=0;e=cc(a,g,0,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!e){break e}if(!(o&1)){e=j[b+4>>2];i=j[b>>2];if((e|0)!=(i|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((f|0)!=(i|0)){continue}break}}j[b+4>>2]=i}i=j[b>>2];f=W(l);if(f>>>0>=4294967280){break a}h:{i:{if(f>>>0>=11){o=f+16&-16;e=U(o);j[g+8>>2]=o|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break i}h[g+11|0]=f;e=g;if(!f){break h}}V(e,l,f)}h[e+f|0]=0;Ne(b,i,g);if(h[g+11|0]<=-1){T(j[g>>2])}o=1;if(k[a+40|0]){break d}break c}if(!k[a+40|0]){break c}h[c|0]=45;break c}if(!k[a+40|0]){break c}}h[c|0]=45;f=W(l);if(f>>>0>=4294967280){break a}j:{k:{if(f>>>0>=11){i=f+16&-16;e=U(i);j[g+8>>2]=i|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break k}h[g+11|0]=f;e=g;if(!f){break j}}V(e,l,f)}h[e+f|0]=0;e=cc(a,g,0,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!e){break c}if(!(o&1)){e=j[b+4>>2];i=j[b>>2];if((e|0)!=(i|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((f|0)!=(i|0)){continue}break}}j[b+4>>2]=i}i=j[b>>2];f=W(l);if(f>>>0>=4294967280){break a}l:{m:{if(f>>>0>=11){o=f+16&-16;e=U(o);j[g+8>>2]=o|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break m}h[g+11|0]=f;e=g;if(!f){break l}}V(e,l,f)}h[e+f|0]=0;Ne(b,i,g);if(h[g+11|0]<=-1){T(j[g>>2])}o=1}n:{if((j[a+64>>2]!=0|o)&1|m[a+48>>2]<=(j[b+4>>2]-j[b>>2]|0)/12>>>0){break n}h[c|0]=0;f=W(l);if(f>>>0>=4294967280){break a}o:{p:{if(f>>>0>=11){i=f+16&-16;e=U(i);j[g+8>>2]=i|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break p}h[g+11|0]=f;e=g;if(!f){break o}}V(e,l,f)}h[e+f|0]=0;n=cc(a,g,d,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!n){break n}r=c+1|0;e=W(r);if(e>>>0>=4294967280){break a}q:{r:{if(e>>>0>=11){f=e+16&-16;i=U(f);j[g+8>>2]=f|-2147483648;j[g>>2]=i;j[g+4>>2]=e;break r}h[g+11|0]=e;i=g;if(!e){break q}}V(i,r,e)}h[e+i|0]=0;i=cc(a,g,d,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!i){break n}e=c;s:{t:{if(j[a+60>>2]!=36|u){break t}q=k[c-1|0];if((q|0)==k[c+1|0]){if((s|0)>=2){f=45;if((q|0)==k[c-2|0]){break s}}f=45;if((q|0)==k[c+2|0]){break s}}if((n|0)!=3){break t}f=45;if((i|0)>1){break s}}f=32}h[e|0]=f;f=0;i=0;e=j[b>>2];n=j[b+4>>2];u:{if((e|0)!=(n|0)){while(1){i=W(l);q=p(f,12)+e|0;t=k[q+11|0];if((i|0)==((t<<24>>24<0?j[q+4>>2]:t)|0)){e=0;if(!_(q,0,-1,l,i)){break u}n=j[b+4>>2];e=j[b>>2]}f=f+1|0;i=(n-e|0)/12|0;if(f>>>0>>0){continue}break}}e=1;if(m[a+48>>2]<=i>>>0){break u}f=W(l);if(f>>>0>=4294967280){break a}v:{w:{if(f>>>0>=11){n=f+16&-16;i=U(n);j[g+8>>2]=n|-2147483648;j[g>>2]=i;j[g+4>>2]=f;break w}h[g+11|0]=f;i=g;if(!f){break v}}V(i,l,f)}h[f+i|0]=0;f=j[b+4>>2];if(f>>>0>2]){i=j[g+4>>2];j[f>>2]=j[g>>2];j[f+4>>2]=i;j[f+8>>2]=j[g+8>>2];j[b+4>>2]=f+12;break u}Db(b,g);if(h[g+11|0]>-1){break u}T(j[g>>2])}if(j[a+64>>2]|!k[a+40|0]){break n}if((Je(a,r)|0)<2){break n}if((Je(a,l)-Je(a,c)|0)<2){break n}h[c|0]=45;c=0;f=j[b>>2];n=j[b+4>>2];x:{y:{if((f|0)==(n|0)){f=n;break y}while(1){i=W(l);r=p(c,12)+f|0;q=k[r+11|0];if((i|0)==((q<<24>>24<0?j[r+4>>2]:q)|0)){r=_(r,0,-1,l,i);f=j[b>>2];n=j[b+4>>2];i=0;if(!r){break x}}c=c+1|0;if(c>>>0<(n-f|0)/12>>>0){continue}break}}i=e}if(!i|m[a+48>>2]<=(n-f|0)/12>>>0){break n}c=W(l);if(c>>>0>=4294967280){break a}z:{A:{if(c>>>0>=11){e=c+16&-16;f=U(e);j[g+8>>2]=e|-2147483648;j[g>>2]=f;j[g+4>>2]=c;break A}h[g+11|0]=c;f=g;if(!c){break z}}V(f,l,c)}h[c+f|0]=0;c=j[b+4>>2];if(c>>>0>2]){e=j[g+4>>2];j[c>>2]=j[g>>2];j[c+4>>2]=e;j[c+8>>2]=j[g+8>>2];j[b+4>>2]=c+12;break n}Db(b,g);if(h[g+11|0]>-1){break n}T(j[g>>2])}s=s+1|0;c=s+l|0;if(k[c+1|0]){continue}break}}T(l)}M=g+16|0;return o&1}X();z()}function cc(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0;r=M-400|0;M=r;a:{b:{if(!d){break b}f=j[d>>2]-1|0;j[d>>2]=f;if(f|!e){break b}f=0;if(((C()|0)-j[e>>2]|0)>5e4){break a}j[d>>2]=100}f=0;d=j[a+44>>2];if(!d){break a}if((c|0)==1){c=1;if(!(l[d+4152>>1]|l[d+4154>>1]?c:j[d+4268>>2]!=j[d+4272>>2])){break a}if(!ed(j[a+44>>2],b,0,0,100,0,0,r,0,1,0)){break a}b=Xb(j[a+44>>2],h[b+11|0]<0?j[b>>2]:b);c:{if(!b){break c}d=j[b+4>>2];if(!d){break c}e=i[b+2>>1];o=(e<<1)+d|0;c=l[j[a+44>>2]+4192>>1];if(e){while(1){n=e>>>1|0;m=(n<<1)+d|0;g=c>>>0>l[m>>1];d=g?m+2|0:d;e=g?(n^-1)+e|0:n;if(e){continue}break}}if(c>>>0>=l[d>>1]?(d|0)!=(o|0):0){break a}d=j[b+4>>2];e=i[b+2>>1];n=d+(e<<1)|0;a=l[j[a+44>>2]+4194>>1];if(e){while(1){b=e>>>1|0;g=(b<<1)+d|0;c=a>>>0>l[g>>1];d=c?g+2|0:d;e=c?(b^-1)+e|0:b;if(e){continue}break}}if((d|0)==(n|0)){break c}if(a>>>0>=l[d>>1]){break a}}f=3;break a}g=Xb(d,h[b+11|0]<0?j[b>>2]:b);d:{e:{f:{if(g){d=j[g+4>>2];g:{if(!d){break g}f=i[g+2>>1];o=(f<<1)+d|0;c=l[j[a+44>>2]+4192>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(c>>>0>=l[d>>1]){break a}}d=j[g+4>>2];f=i[g+2>>1];o=d+(f<<1)|0;c=l[j[a+44>>2]+4194>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(c>>>0>=l[d>>1]){break a}}d=j[g+4>>2];f=i[g+2>>1];o=d+(f<<1)|0;c=l[j[a+44>>2]+4476>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}if((d|0)==(o|0)){break g}f=0;if(c>>>0>=l[d>>1]){break a}}while(1){d=j[g+4>>2];if(!d){n=3;break d}f=i[g+2>>1];o=(f<<1)+d|0;c=l[j[a+44>>2]+4198>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}h:{if(c>>>0>=l[d>>1]?(d|0)!=(o|0):0){break h}c=j[g+4>>2];n=l[g+2>>1];e=n<<16>>16;o=c+(e<<1)|0;d=c;f=e;if(n){while(1){m=f>>>1|0;p=(m<<1)+d|0;q=l[p>>1]<65511;d=q?p+2|0:d;f=q?(m^-1)+f|0:m;if(f){continue}break}}if(l[d>>1]<65512?(d|0)!=(o|0):0){break h}d=l[j[a+44>>2]+4464>>1];if(n){while(1){f=e>>>1|0;m=(f<<1)+c|0;n=d>>>0>l[m>>1];c=n?m+2|0:c;e=n?(f^-1)+e|0:f;if(e){continue}break}}if((c|0)==(o|0)|d>>>0>1]){break f}}g=j[g+12>>2];if(g){continue}break}break e}c=k[b+11|0];d=c<<24>>24<0;g=gb(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0,0)}n=3;if(g){break d}}f=0;n=2;c=k[b+11|0];d=c<<24>>24<0;g=Qa(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0,0,0,0,0);if(g){break d}if(!j[j[a+44>>2]+4488>>2]){break a}c=k[b+11|0];d=c<<24>>24<0;g=eb(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0,0,0);if(g){break d}c=k[b+11|0];d=c<<24>>24<0;g=Lb(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0);if(!g){break a}}d=j[g+4>>2];i:{if(!d){break i}f=i[g+2>>1];o=(f<<1)+d|0;b=l[j[a+44>>2]+4192>>1];if(f){while(1){c=f>>>1|0;m=(c<<1)+d|0;e=b>>>0>l[m>>1];d=e?m+2|0:d;f=e?(c^-1)+f|0:c;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(b>>>0>=l[d>>1]){break a}}c=j[g+4>>2];b=l[g+2>>1];e=b<<16>>16;o=c+(e<<1)|0;d=c;if(b){f=e;while(1){m=f>>>1|0;p=(m<<1)+d|0;q=l[p>>1]<65511;d=q?p+2|0:d;f=q?(m^-1)+f|0:m;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(l[d>>1]<65512){break a}}d=l[j[a+44>>2]+4194>>1];if(b){while(1){b=e>>>1|0;m=(b<<1)+c|0;f=d>>>0>l[m>>1];c=f?m+2|0:c;e=f?(b^-1)+e|0:b;if(e){continue}break}}if((c|0)!=(o|0)){f=0;if(d>>>0>=l[c>>1]){break a}}d=j[g+4>>2];f=i[g+2>>1];o=d+(f<<1)|0;b=l[j[a+44>>2]+4464>>1];if(f){while(1){c=f>>>1|0;m=(c<<1)+d|0;e=b>>>0>l[m>>1];d=e?m+2|0:d;f=e?(c^-1)+f|0:c;if(f){continue}break}}if((d|0)==(o|0)){break i}f=0;if(b>>>0>=l[d>>1]){break a}}j:{if(!l[j[a+44>>2]+4152>>1]){break j}d=j[g+4>>2];f=i[g+2>>1];e=d+(f<<1)|0;a=l[j[a+44>>2]+4152>>1];if(f){while(1){b=f>>>1|0;g=(b<<1)+d|0;c=a>>>0>l[g>>1];d=c?g+2|0:d;f=c?(b^-1)+f|0:b;if(f){continue}break}}if((d|0)==(e|0)){break j}f=n;if(a>>>0>=l[d>>1]){break a}}f=1}M=r+400|0;return f}function Mp(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0;d=M+ -64|0;M=d;a:{b:{c:{e=0;d:{if(j[a+4280>>2]){break d}j[d+56>>2]=h[b+11|0]<0?j[b>>2]:b;e:{f:{g:{f=ka(b,d+56|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){break g}n=-1;g=0;while(1){h:{switch(g|0){case 1:l=j[d+56>>2];n=l-f|0;if(n>>>0>=4294967280){break c}i:{if(n>>>0<=10){h[d+51|0]=n;e=d+40|0;break i}o=n+16&-16;e=U(o);j[d+48>>2]=o|-2147483648;j[d+40>>2]=e;j[d+44>>2]=n}if((f|0)!=(l|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[e|0]=0;j:{if(h[d+51|0]>=0){n=ta(d+40|0);break j}e=j[d+40>>2];n=ta(e);T(e)}e=0;if((n|0)<=0){break d}e=U(1040);j[e+12>>2]=0;j[e+4>>2]=0;j[e+8>>2]=0;j[a+4280>>2]=e;h[e|0]=j[a+4144>>2];case 0:p=p+1|0;break;default:break h}}g=g+1|0;f=ka(b,d+56|0);e=k[b+11|0];l=e<<24>>24<0;if((f|0)!=((l?j[b>>2]:b)+(l?j[b+4>>2]:e)|0)){continue}break}if((p|0)!=2){break g}if((n|0)<1){break e}p=0;break f}e=0;break d}while(1){j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;b=0;k:{if(!ub(c,d+40|0)){break k}bb(d+40|0);e=j[a+4280>>2];f=j[e+8>>2];b=0;e=j[e+4>>2];j[d+56>>2]=h[d+51|0]<0?j[d+40>>2]:d+40|0;r=(f-e|0)/12|0;f=ka(d+40|0,d+56|0);g=j[d+40>>2];l=k[d+51|0];e=l<<24>>24<0;l:{if((f|0)!=((e?g:d+40|0)+(e?j[d+44>>2]:l)|0)){while(1){m:{n:{switch(b|0){case 0:if(!_(d+40|0,f-(e&1?g:d+40|0)|0,5,1528,5)){break m}break l;case 1:o=j[d+56>>2];g=o-f|0;if(g>>>0>=4294967280){break b}l=j[a+4280>>2];o:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break o}q=g+16&-16;e=U(q);j[d+32>>2]=q|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(o|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((o|0)!=(f|0)){continue}break}}h[e|0]=0;e=j[l+8>>2];p:{if(e>>>0>2]){f=j[d+28>>2];j[e>>2]=j[d+24>>2];j[e+4>>2]=f;j[e+8>>2]=j[d+32>>2];j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;j[l+8>>2]=e+12;break p}Db(l+4|0,d+24|0)}if(h[d+35|0]>-1){break m}T(j[d+24>>2]);break m;case 2:break n;default:break m}}o=j[d+56>>2];g=o-f|0;if(g>>>0>=4294967280){break a}l=j[a+4280>>2];q:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break q}q=g+16&-16;e=U(q);j[d+32>>2]=q|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(o|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((o|0)!=(f|0)){continue}break}}h[e|0]=0;e=j[l+8>>2];r:{if(e>>>0>2]){f=j[d+28>>2];j[e>>2]=j[d+24>>2];j[e+4>>2]=f;j[e+8>>2]=j[d+32>>2];j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;j[l+8>>2]=e+12;break r}Db(l+4|0,d+24|0)}if(h[d+35|0]<=-1){T(j[d+24>>2])}e=j[j[a+4280>>2]+8>>2];i[d+24>>1]=95;h[d+35|0]=1;h[d+8|0]=0;h[d+19|0]=0;wb(e-12|0,d+24|0,d+8|0);if(h[d+19|0]<=-1){T(j[d+8>>2])}if(h[d+35|0]>-1){break m}T(j[d+24>>2])}b=b+1|0;f=ka(d+40|0,d+56|0);g=j[d+40>>2];l=k[d+51|0];e=l<<24>>24<0;if((f|0)!=((e?g:d+40|0)+(e?j[d+44>>2]:l)|0)){continue}break}}e=j[a+4280>>2];b=1;if((r+2|0)==((j[e+8>>2]-j[e+4>>2]|0)/12|0)){break k}f=j[a+4280>>2];e=j[f+8>>2];g=j[f+4>>2];if((e|0)!=(g|0)){while(1){b=e-12|0;if(h[e-1|0]<=-1){T(j[b>>2])}e=b;if((g|0)!=(e|0)){continue}break}}j[f+8>>2]=g}b=0}if(h[d+51|0]<=-1){T(j[d+40>>2])}if(b){p=p+1|0;if((p|0)==(n|0)){break e}continue}break}e=0;break d}b=j[a+4280>>2];h[d+40|0]=0;h[d+51|0]=0;c=j[b+8>>2];s:{if(c>>>0>2]){e=j[d+44>>2];j[c>>2]=j[d+40>>2];j[c+4>>2]=e;j[c+8>>2]=j[d+48>>2];j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[b+8>>2]=c+12;break s}Db(b+4|0,d+40|0)}if(h[d+51|0]<=-1){T(j[d+40>>2])}b=j[a+4280>>2];h[d+40|0]=0;h[d+51|0]=0;c=j[b+8>>2];t:{if(c>>>0>2]){e=j[d+44>>2];j[c>>2]=j[d+40>>2];j[c+4>>2]=e;j[c+8>>2]=j[d+48>>2];j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[b+8>>2]=c+12;break t}Db(b+4|0,d+40|0)}if(h[d+51|0]<=-1){T(j[d+40>>2])}oq(j[a+4280>>2]);e=1}a=e;M=d- -64|0;return a}X();z()}X();z()}X();z()}function Rh(a,b,c){var d=0,e=0,f=0,g=0,i=0,m=0,n=0,o=0,q=0,r=0,s=0;f=M-48|0;M=f;Oq(a,b,c,f+31|0,f+24|0,f+20|0);a:{if(!j[b+48>>2]){break a}d=j[a>>2];if((d|0)==j[a+4>>2]){break a}while(1){d=p(e,12)+d|0;b:{if(j[b+44>>2]){ob(d);break b}Va(d)}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}c:{if(!k[f+31|0]){break c}d=j[a>>2];if((d|0)==j[a+4>>2]){break c}e=0;while(1){d=p(e,12)+d|0;d:{if(j[b+44>>2]){j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;ia(f+32|0,d);vb(f+32|0,j[b+40>>2]);da(d,f+32|0);d=j[f+32>>2];if(!d){break d}j[f+36>>2]=d;T(d);break d}nb(d,j[b+36>>2])}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}g=j[f+24>>2];e:{if(!g){break e}e=j[b>>2];if(!e|!j[e+4304>>2]){break e}d=j[a>>2];if((d|0)==j[a+4>>2]){break e}e=0;while(1){m=k[c+11|0];sa(f+32|0,c,(m<<24>>24<0?j[c+4>>2]:m)-g|0,-1);q=p(e,12)+d|0;d=k[f+43|0];m=d<<24>>24<0;aa(q,m?j[f+32>>2]:f+32|0,m?j[f+36>>2]:d);if(h[f+43|0]<=-1){T(j[f+32>>2])}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}c=j[b>>2];f:{if(!c|(l[j[b>>2]+4192>>1]?0:!l[c+4466>>1])|j[f+20>>2]-1>>>0>1){break f}g:{c=j[a+4>>2];g=j[a>>2];if((c|0)==(g|0)){d=0;break g}e=0;d=0;while(1){h:{i:{c=p(e,12);if((Ba(c+g|0,32,0)|0)!=-1){break i}if(jb(b,c+j[a>>2]|0,0)){break i}j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;j[f+16>>2]=0;j[f+8>>2]=0;j[f+12>>2]=0;c=c+j[a>>2]|0;j:{if(j[b+44>>2]){ia(f+8|0,c);break j}ua(f+32|0,c)}k:{if(j[b+44>>2]){Ua(f+8|0,j[b+40>>2]);da(f+32|0,f+8|0);break k}Pa(f+32|0,j[b+36>>2])}l:{if(!jb(b,f+32|0,0)){m:{if(j[b+44>>2]){vb(f+8|0,j[b+40>>2]);da(f+32|0,f+8|0);break m}nb(f+32|0,j[b+36>>2])}if(!jb(b,f+32|0,0)){break l}}ua(j[a>>2]+p(d,12)|0,f+32|0);d=d+1|0}c=j[f+8>>2];if(c){j[f+12>>2]=c;T(c)}if(h[f+43|0]>-1){break h}T(j[f+32>>2]);break h}g=j[a>>2];ua(g+p(d,12)|0,c+g|0);d=d+1|0}e=e+1|0;c=j[a+4>>2];g=j[a>>2];i=(c-g|0)/12|0;if(e>>>0>>0){continue}break}if(d>>>0<=i>>>0){break g}Qh(a,d-i|0);break f}if(d>>>0>=i>>>0){break f}d=p(d,12)+g|0;if((d|0)!=(c|0)){while(1){e=c-12|0;if(h[c-1|0]<=-1){T(j[e>>2])}c=e;if((d|0)!=(e|0)){continue}break}}j[a+4>>2]=d}m=0;n:{o:{e=j[a+4>>2];o=j[a>>2];p:{if((e|0)==(o|0)){g=0;break p}g=0;while(1){e=p(m,12);ua(p(g,12)+o|0,e+o|0);o=j[a>>2];c=0;q:{if(!g){break q}i=0;q=e+o|0;e=k[q+11|0];c=e<<24>>24;r=(c|0)<0?j[q+4>>2]:e;r:{s:{if((c|0)<=-1){while(1){d=p(i,12)+o|0;c=k[d+11|0];n=c<<24>>24<0;t:{if(((n?j[d+4>>2]:c)|0)!=(r|0)){break t}s=j[d>>2];e=j[q>>2];if(!n){if(!r){break r}if(k[e|0]!=(s&255)){break t}while(1){c=c-1|0;if(!c){break r}n=k[e+1|0];e=e+1|0;d=d+1|0;if((n|0)==k[d|0]){continue}break}break t}if(!r){break r}if(!qa(n?s:d,e,r)){break r}}i=i+1|0;if((i|0)!=(g|0)){continue}break s}}while(1){e=p(i,12)+o|0;c=k[e+11|0];d=c<<24>>24<0;u:{if(((d?j[e+4>>2]:c)|0)!=(r|0)){break u}n=j[e>>2];if(!d){if(!r){break r}if(k[q|0]!=(n&255)){break u}d=q;while(1){c=c-1|0;if(!c){break r}n=k[d+1|0];d=d+1|0;e=e+1|0;if((n|0)==k[e|0]){continue}break}break u}if(!r){break r}if(!qa(d?n:e,q,r)){break r}}i=i+1|0;if((i|0)!=(g|0)){continue}break}}c=g;break q}c=g-1|0}g=c+1|0;m=m+1|0;e=j[a+4>>2];c=(e-o|0)/12|0;if(m>>>0>>0){continue}break}if(c>>>0>>0){break o}m=c}if(g>>>0>=m>>>0){break n}d=p(g,12)+o|0;if((d|0)!=(e|0)){while(1){c=e-12|0;if(h[e-1|0]<=-1){T(j[c>>2])}e=c;if((e|0)!=(d|0)){continue}break}}j[a+4>>2]=d;break n}Qh(a,g-c|0)}b=j[b>>2];v:{if(!b){break v}b=j[b+4208>>2];if(!b){break v}d=j[a>>2];if((d|0)==j[a+4>>2]){break v}e=0;while(1){j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;c=p(e,12);if(Yc(b,c+d|0,f+32|0)){ua(c+j[a>>2]|0,f+32|0)}if(h[f+43|0]<=-1){T(j[f+32>>2])}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}M=f+48|0}function wp(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=M-48|0;M=d;a:{if(k[a+4264|0]){break a}h[a+4264|0]=1;j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;b:{c:{e=ka(b,d+40|0);f=k[b+11|0];g=f<<24>>24<0;if((e|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:f)|0)){break c}n=a+4268|0;o=-1;while(1){d:{switch(l|0){case 1:o=j[d+40>>2];g=o-e|0;if(g>>>0>=4294967280){break b}e:{if(g>>>0<=10){h[d+35|0]=g;f=d+24|0;break e}r=g+16&-16;f=U(r);j[d+32>>2]=r|-2147483648;j[d+24>>2]=f;j[d+28>>2]=g}if((e|0)!=(o|0)){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((o|0)!=(e|0)){continue}break}}h[f|0]=0;f:{if(h[d+35|0]>=0){o=ta(d+24|0);break f}e=j[d+24>>2];o=ta(e);T(e)}if((o|0)<=0){e=0;break a}ro(n,o);case 0:s=s+1|0;break;default:break d}}l=l+1|0;e=ka(b,d+40|0);f=k[b+11|0];g=f<<24>>24<0;if((e|0)!=((g?j[b>>2]:b)+(g?j[b+4>>2]:f)|0)){continue}break}if((s|0)!=2){break c}e=1;if((o|0)<1){break a}v=a+4268|0;r=0;while(1){g:{j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;h:{if(ub(c,d+24|0)){bb(d+24|0);j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;b=j[a+4272>>2];i:{if(b>>>0>2]){j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;j[b>>2]=j[d+8>>2];j[b+4>>2]=j[d+12>>2];j[b+8>>2]=j[d+16>>2];j[a+4272>>2]=b+12;break i}po(v,d+8|0);b=j[d+8>>2];if(!b){break i}j[d+12>>2]=b;T(b)}s=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;e=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];f=g<<24>>24<0;if((e|0)!=((f?b:d+24|0)+(f?j[d+28>>2]:g)|0)){while(1){j:{k:{switch(s|0){case 0:if(!_(d+24|0,e-(f&1?b:d+24|0)|0,12,1555,12)){break j}o=0;e=0;break h;case 1:break k;default:break j}}f=e;l:{l=j[d+40>>2];g=(l|0)==(e|0);if(g){break l}while(1){if(k[f|0]!=40){f=f+1|0;if((l|0)!=(f|0)){continue}break l}break}if((f|0)==(l|0)){break l}if(g){break j}m:{n:{while(1){b=e+1|0;f=e;g=k[e|0];if((g|0)==40){o:{p:{while(1){f=f+1|0;if((l|0)==(f|0)){break p}if(k[f|0]!=41){continue}break}e=b;b=f;break o}f=e}g=k[e|0]}q:{g=g&255;r:{if(!((g|0)!=42?(g|0)!=63:0)){e=j[a+4272>>2];q=e-8|0;b=j[q>>2];p=e-4|0;n=j[p>>2];if(b>>>0>>0){i[b>>1]=g;j[q>>2]=b+2;break r}u=e-12|0;e=j[u>>2];l=b-e|0;if((l|0)<=-3){break q}t=l>>1;b=t+1|0;n=n-e|0;n=n>>1>>>0<1073741823?b>>>0>n>>>0?b:n:2147483647;b=0;s:{if(!n){break s}if((n|0)<=-1){break n}b=U(n<<1)}t=b+(t<<1)|0;i[t>>1]=g;if((l|0)>=1){V(b,e,l)}j[u>>2]=b;j[q>>2]=t+2;j[p>>2]=b+(n<<1);if(!e){break r}T(e);break r}g=b-e|0;if(g>>>0>=4294967280){break m}n=j[a+4272>>2];q=j[a+4100>>2];t:{if(g>>>0<=10){h[d+19|0]=g;l=d+8|0;break t}p=g+16&-16;l=U(p);j[d+16>>2]=p|-2147483648;j[d+8>>2]=l;j[d+12>>2]=g}if((b|0)!=(e|0)){while(1){h[l|0]=k[e|0];l=l+1|0;e=e+1|0;if((e|0)!=(b|0)){continue}break}}h[l|0]=0;Uh(q,n-12|0,d+8|0);if(h[d+19|0]>-1){break r}T(j[d+8>>2])}e=f+1|0;l=j[d+40>>2];if((e|0)!=(l|0)){continue}break j}break}X();z()}D();z()}X();z()}b=l-e|0;if(b>>>0>=4294967280){break g}n=j[a+4272>>2];q=j[a+4100>>2];u:{if(b>>>0<=10){h[d+19|0]=b;f=d+8|0;break u}p=b+16&-16;f=U(p);j[d+16>>2]=p|-2147483648;j[d+8>>2]=f;j[d+12>>2]=b}if(!g){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}h[f|0]=0;Uh(q,n-12|0,d+8|0);if(h[d+19|0]>-1){break j}T(j[d+8>>2])}s=s+1|0;e=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];f=g<<24>>24<0;if((e|0)!=((f?b:d+24|0)+(f?j[d+28>>2]:g)|0)){continue}break}}b=j[a+4272>>2]-12|0;e=1;if(j[b>>2]!=j[b+4>>2]){break h}}e=0}if(h[d+35|0]<=-1){T(j[d+24>>2])}r=r+1|0;if((r|0)<(o|0)&e){continue}break a}break}X();z()}e=0;break a}X();z()}M=d+48|0;return e}function hc(a,b,c,d,e,f){var g=0,h=0,k=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;r=M-16|0;M=r;a:{b:{C=j[b>>2];k=C;if(k){break b}j[b>>2]=e;k=e;if(e){break b}d=0;break a}g=U(8);j[r>>2]=g;e=g+8|0;j[r+8>>2]=e;j[g>>2]=0;j[g+4>>2]=0;j[r+4>>2]=e;e=c<<2;j[e+k>>2]=d;g=i[d+2>>1];c:{d:{if(g){e:{m=j[a+4268>>2];e=j[a+4272>>2];z=(m|0)==(e|0);if(z){break e}e=(e-m|0)/12|0;A=e>>>0>1?e:1;while(1){k=p(n,12)+m|0;e=j[k+4>>2];t=j[k>>2];f:{if((e|0)==(t|0)){break f}u=e-t>>1;o=0;while(1){g:{x=l[t+(o<<1)>>1];if((x|0)==42|(x|0)==63){break g}s=j[d+4>>2];e=s;k=g;while(1){v=k>>>1|0;q=(v<<1)+e|0;y=x>>>0>l[q>>1];e=y?q+2|0:e;k=y?(v^-1)+k|0:v;if(k){continue}break}if((s+(g<<1)|0)==(e|0)|x>>>0>1]){break g}h=1;break f}o=o+1|0;if(u>>>0>o>>>0){continue}break}}n=n+1|0;if((A|0)!=(n|0)){continue}break}if(!h){break e}h:{if(z){break h}i:while(1){w=0;h=0;g=0;o=1;while(1){B=p(D,12);n=1;j:{k:{l:{if(g<<16>>16>(c|0)){break l}d=m+B|0;e=j[d>>2];d=j[d+4>>2]-e>>1;if(h>>>0>=d>>>0){break l}while(1){t=g<<16;q=t>>16;m:{n:{s=h+1|0;if(s>>>0>=d>>>0){break n}u=l[(s<<1)+e>>1];k=(u|0)==63;if((u|0)!=42?!k:0){break n}E=j[r>>2];F=E+(w<<16>>16<<3)|0;i[F+2>>1]=g;d=h+2|0;i[F>>1]=d;m=0;v=(k?g:c)<<16>>16;o:{if((v|0)>16){h=q;break o}y=(h<<1)+e|0;z=j[b>>2];h=q;while(1){e=j[z+(h<<2)>>2];s=i[e+2>>1];if(!s){m=1;break o}o=l[y>>1];A=j[e+4>>2];e=A;k=s;while(1){x=k>>>1|0;u=(x<<1)+e|0;t=o>>>0>l[u>>1];e=t?u+2|0:e;k=t?(x^-1)+k|0:x;if(k){continue}break}if((A+(s<<1)|0)==(e|0)){m=1;break o}if(o>>>0>1]){m=1;break o}h=(g<<16)+65536>>16;g=h;if((v|0)>=(g|0)){continue}break}g=h}e=h-q|0;j[F+4>>2]=e;p:{if((e|0)<1){break p}w=w+1|0;h=(w<<16>>16)+1|0;e=j[r+4>>2]-E>>3;if(h>>>0>e>>>0){Gl(r,h-e|0);break p}if(e>>>0<=h>>>0){break p}j[r+4>>2]=(h<<3)+E}o=1;if((m^1)&g<<16>>16>(c|0)){h=d;break l}m=j[a+4268>>2];o=0;break m}g=0;k=j[j[b>>2]+(q<<2)>>2];if(!k){break k}q=i[k+2>>1];if(!q){break k}v=l[(h<<1)+e>>1];A=j[k+4>>2];e=A;k=q;while(1){y=k>>>1|0;u=(y<<1)+e|0;z=v>>>0>l[u>>1];e=z?u+2|0:e;k=z?(y^-1)+k|0:y;if(k){continue}break}if((A+(q<<1)|0)==(e|0)|v>>>0>1]){break k}g=t+65536>>16;n=(g|0)>(c|0)?n:(d|0)!=(s|0)?n:0;o=1;d=s}h=d;if(g<<16>>16>(c|0)){break l}d=m+B|0;e=j[d>>2];d=j[d+4>>2]-e>>1;if(h>>>0>>0){continue}break}}k=(o|0)!=0;if(!n){g=n;break j}if(!o){g=n;break j}d=1;g=j[a+4268>>2]+B|0;q=j[g>>2];e=h;g=j[g+4>>2]-q>>1;if(e>>>0>=g>>>0){break c}while(1){k=1;d=e+1|0;if(d>>>0>=g>>>0){g=n;break j}d=l[q+(d<<1)>>1];if(!((d|0)==63|(d|0)==42)){g=n;break j}e=e+2|0;if(g>>>0>e>>>0){continue}break}d=1;break c}k=1;o=1}q:{if(w&65535){e=j[r>>2];while(1){h=e+((w<<16>>16)-1<<3)|0;d=j[h+4>>2];g=d-1|0;j[h+4>>2]=g;if((d|0)>0){break q}w=w-1|0;if(w&65535){continue}break}h=i[h>>1];g=1}r:{if(!(!g|k^1)){if(!f){d=1;break c}d=1;e=j[a+4268>>2]+B|0;if(j[e+4>>2]-j[e>>2]>>1>>>0<=h>>>0){break c}m=j[a+4268>>2];e=B+m|0;n=j[e>>2];g=j[e+4>>2]-n>>1;if(g>>>0<=h>>>0){break c}while(1){e=h+1|0;if(e>>>0>=g>>>0){break r}e=l[n+(e<<1)>>1];if((e|0)!=42?(e|0)!=63:0){break r}h=h+2|0;if(g>>>0>h>>>0){continue}break}break c}m=j[a+4268>>2]}D=D+1|0;if(D>>>0<(j[a+4272>>2]-m|0)/12>>>0){continue i}break h}g=g+l[h+2>>1]|0;h=i[h>>1];m=j[a+4268>>2];continue}}}d=0;j[j[b>>2]+(c<<2)>>2]=0;if(C){break c}break d}d=0;j[j[b>>2]+(c<<2)>>2]=0;if(!C){break d}break c}d=0;j[e+j[b>>2]>>2]=0;if(C){break c}}j[b>>2]=0}a=j[r>>2];if(!a){break a}j[r+4>>2]=a;T(a)}M=r+16|0;return d}function yb(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0;l=M-112|0;M=l;m=h;p=i&2147483647;n=c-(b>>>0<1)|0;k=b-1|0;r=(k|0)==-1&(n|0)==-1;t=d;q=(c|0)==(n|0)&b>>>0>k>>>0|c>>>0>n>>>0;o=d+q|0;n=e&2147483647;k=n;k=o>>>0>>0?k+1|0:k;q=o-1|0;a:{b:{k=k-(o>>>0<1)|0;if(!((q|0)==-1&(k|0)==2147418111?r:k>>>0>2147418111)){k=f;o=g-(k>>>0<1)|0;k=k-1|0;r=(k|0)!=-1|(o|0)!=-1;q=(g|0)==(o|0)&f>>>0>k>>>0|g>>>0>o>>>0;o=q+m|0;k=p;k=o>>>0>>0?k+1|0:k;q=o;o=o-1|0;k=k-(q>>>0<1)|0;if((o|0)==-1&(k|0)==2147418111?r:(k|0)==2147418111&(o|0)!=-1|k>>>0<2147418111){break b}}if(!(!t&(n|0)==2147418112?!(b|c):n>>>0<2147418112)){h=d;i=e|32768;f=b;g=c;break a}if(!(!m&(p|0)==2147418112?!(f|g):p>>>0<2147418112)){i=i|32768;break a}if(!(b|t|(n^2147418112|c))){k=d;d=!(b^f|d^h|(c^g|e^i^-2147483648));h=d?0:k;i=d?2147450880:e;f=d?0:b;g=d?0:c;break a}if(!(f|m|(p^2147418112|g))){break a}if(!(b|t|(c|n))){if(f|m|(g|p)){break a}f=b&f;g=c&g;h=d&h;i=e&i;break a}if(f|m|(g|p)){break b}f=b;g=c;h=d;i=e;break a}r=(m|0)==(t|0)&(n|0)==(p|0)?(c|0)==(g|0)&b>>>0>>0|c>>>0>>0:(n|0)==(p|0)&m>>>0>t>>>0|n>>>0

                                                                    >>0;k=r;o=k?f:b;p=k?g:c;m=k?i:e;t=m;n=k?h:d;k=m&65535;i=r?e:i;e=i;h=r?d:h;q=i>>>16&32767;m=m>>>16&32767;if(!m){d=!(k|n);i=d<<6;m=s(d?o:n)+32|0;d=s(d?p:k);d=i+((d|0)==32?m:d)|0;mb(l+96|0,o,p,n,k,d-15|0);n=j[l+104>>2];o=j[l+96>>2];p=j[l+100>>2];m=16-d|0;k=j[l+108>>2]}f=r?b:f;g=r?c:g;i=e&65535;if(!q){b=!(h|i);c=b<<6;d=s(b?f:h)+32|0;b=s(b?g:i);b=c+((b|0)==32?d:b)|0;mb(l+80|0,f,g,h,i,b-15|0);q=16-b|0;h=j[l+88>>2];i=j[l+92>>2];g=j[l+84>>2];f=j[l+80>>2]}b=h;c=i<<3|b>>>29;h=b<<3|g>>>29;i=c|524288;b=n;d=k<<3|b>>>29;n=b<<3|p>>>29;u=d;r=e^t;b=f;k=g<<3|b>>>29;b=b<<3;c=k;d=m-q|0;e=b;c:{if(!d){break c}if(d>>>0>127){h=0;i=0;k=0;e=1;break c}mb(l- -64|0,b,c,h,i,128-d|0);Fc(l+48|0,b,c,h,i,d);h=j[l+56>>2];i=j[l+60>>2];k=j[l+52>>2];e=j[l+48>>2]|((j[l+64>>2]|j[l+72>>2])!=0|(j[l+68>>2]|j[l+76>>2])!=0)}f=k;d=n;q=u|524288;b=o;k=p<<3|b>>>29;c=b<<3;d:{if((r|0)<-1?1:(r|0)<=-1){p=e;b=c-e|0;n=h;o=d-h|0;e=(f|0)==(k|0)&c>>>0>>0|f>>>0>k>>>0;h=o-e|0;c=k-((c>>>0

                                                                    >>0)+f|0)|0;i=(q-((d>>>0>>0)+i|0)|0)-(e>>>0>o>>>0)|0;if(!(b|h|(c|i))){f=0;g=0;h=0;i=0;break a}if(i>>>0>524287){break d}f=b;d=!(h|i);e=d<<6;g=s(d?b:h)+32|0;b=s(d?c:i);b=e+((b|0)==32?g:b)|0;b=b-12|0;mb(l+32|0,f,c,h,i,b);m=m-b|0;h=j[l+40>>2];i=j[l+44>>2];b=j[l+32>>2];c=j[l+36>>2];break d}b=c;g=b+e|0;c=f+k|0;c=b>>>0>g>>>0?c+1|0:c;b=g;g=(c|0)==(f|0)&e>>>0>b>>>0|c>>>0>>0;e=d;f=d+h|0;d=i+q|0;d=e>>>0>f>>>0?d+1|0:d;e=g+f|0;h=e;i=h>>>0>>0?d+1|0:d;if(!(i&1048576)){break d}b=b&1|((c&1)<<31|b>>>1);c=h<<31|c>>>1;m=m+1|0;h=(i&1)<<31|h>>>1;i=i>>>1|0}p=0;t=t&-2147483648;if((m|0)>=32767){h=p;i=t|2147418112;f=0;g=0;break a}e=0;e:{if((m|0)>0){e=m;break e}mb(l+16|0,b,c,h,i,m+127|0);Fc(l,b,c,h,i,1-m|0);b=j[l>>2]|((j[l+16>>2]|j[l+24>>2])!=0|(j[l+20>>2]|j[l+28>>2])!=0);c=j[l+4>>2];h=j[l+8>>2];i=j[l+12>>2]}k=(c&7)<<29|b>>>3;m=b&7;b=k+(m>>>0>4)|0;d=h<<29|c>>>3;c=b>>>0>>0?d+1|0:d;f=b;g=c;b=(d|0)==(c|0)&b>>>0>>0|c>>>0>>0;d=p|((i&7)<<29|h>>>3);b=b+d|0;k=t|(i>>>3&65535|e<<16);h=b;i=b>>>0>>0?k+1|0:k;f:{if((m|0)==4){k=i;c=0;d=g+c|0;e=f&1;b=f+e|0;d=b>>>0>>0?d+1|0:d;f=b;g=d;c=(c|0)==(d|0)&b>>>0>>0|c>>>0>d>>>0;b=c+h|0;h=b;i=b>>>0>>0?k+1|0:k;break f}if(!m){break a}}}j[a>>2]=f;j[a+4>>2]=g;j[a+8>>2]=h;j[a+12>>2]=i;M=l+112|0}function Tg(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0,o=0,q=0,r=0,s=0;q=M-16|0;M=q;a:{b:{c:{d:{e:{f:{if(b>>>0<=36){while(1){f=j[a+4>>2];g:{if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break g}f=pa(a)}if((f|0)==32|f-9>>>0<5){continue}break}h:{i:{switch(f-43|0){case 0:case 2:break i;default:break h}}r=(f|0)==45?-1:0;f=j[a+4>>2];if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break h}f=pa(a)}j:{if(!(b&-17|(f|0)!=48)){f=j[a+4>>2];k:{if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break k}f=pa(a)}if((f&-33)==88){b=16;f=j[a+4>>2];l:{if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break l}f=pa(a)}if(k[f+123041|0]<16){break e}if(!j[a+104>>2]){d=0;e=0;if(c){break a}break b}b=j[a+4>>2];j[a+4>>2]=b-1;if(!c){break b}j[a+4>>2]=b-2;d=0;e=0;break a}if(b){break j}b=8;break e}b=b?b:10;if(b>>>0>k[f+123041|0]){break j}if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}d=0;e=0;Ib(a,0,0);j[37203]=28;break a}if((b|0)!=10){break e}c=f-48|0;if(c>>>0<=9){b=0;while(1){b=p(b,10)+c|0;c=j[a+4>>2];m:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break m}f=pa(a)}c=f-48|0;if(b>>>0<429496729?c>>>0<=9:0){continue}break}g=b}if(c>>>0>9){break f}i=Cr(g,0,10,0);b=N;while(1){f=c+i|0;l=f>>>0>>0?b+1|0:b;g=f;i=(l|0)==429496729&f>>>0>=2576980378|l>>>0>429496729;b=j[a+4>>2];n:{if(b>>>0>2]){j[a+4>>2]=b+1;f=k[b|0];break n}f=pa(a)}c=f-48|0;if(i|c>>>0>9){break f}i=Cr(g,l,10,0);b=N;if((b|0)==-1&(c^-1)>>>0>=i>>>0|(b|0)!=-1){continue}break}b=10;break d}j[37203]=28;d=0;e=0;break a}b=10;if(c>>>0<=9){break d}break c}if(b-1&b){c=k[f+123041|0];if(c>>>0>>0){while(1){i=p(b,i)+c|0;g=i>>>0<=119304646;c=j[a+4>>2];o:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break o}f=pa(a)}c=k[f+123041|0];if(c>>>0>>0?g:0){continue}break}g=i}if(b>>>0<=c>>>0){break d}i=b;while(1){n=Cr(g,l,i,0);o=N;c=c&255;if((o|0)==-1&(c^-1)>>>0>>0){break d}l=o;f=c+n|0;l=f>>>0>>0?l+1|0:l;g=f;o=b;c=j[a+4>>2];p:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break p}f=pa(a)}c=k[f+123041|0];if(o>>>0<=c>>>0){break d}Nb(q,i,0,g,l);if(!(j[q+8>>2]|j[q+12>>2])){continue}break}break d}o=h[(p(b,23)>>>5&7)+123297|0];c=k[f+123041|0];if(c>>>0>>0){while(1){i=i<>>0<=134217727;c=j[a+4>>2];q:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break q}f=pa(a)}c=k[f+123041|0];if(c>>>0>>0?g:0){continue}break}g=i}i=o;n=i&31;if((i&63)>>>0>=32){o=0;n=-1>>>n|0}else{o=-1>>>n|0;n=(1<>>n}if(!o&g>>>0>n>>>0|b>>>0<=c>>>0){break d}while(1){s=c&255;c=i;f=c&31;if((c&63)>>>0>=32){l=g<>>32-f|l<>2];r:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break r}f=pa(a)}if((l|0)==(o|0)&g>>>0>n>>>0|l>>>0>o>>>0){break d}c=k[f+123041|0];if(c>>>0>>0){continue}break}}if(k[f+123041|0]>=b>>>0){break c}while(1){f=j[a+4>>2];s:{if(f>>>0>2]){j[a+4>>2]=f+1;c=k[f|0];break s}c=pa(a)}if(k[c+123041|0]>>0){continue}break}j[37203]=68;r=d&1?0:r;g=d;l=e}if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}t:{if((e|0)==(l|0)&d>>>0>g>>>0|e>>>0>l>>>0){break t}if(!(r|d&1)){j[37203]=68;a=d;d=a-1|0;e=e-(a>>>0<1)|0;break a}if((e|0)==(l|0)&d>>>0>=g>>>0|e>>>0>l>>>0){break t}j[37203]=68;break a}a=r;b=a^g;d=b-a|0;c=a>>31;e=(c^l)-((a>>>0>b>>>0)+c|0)|0;break a}d=0;e=0;Ib(a,0,0)}M=q+16|0;N=e;return d} +function Cd(a,b,c,d,e){var f=0,g=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0;f=M-4224|0;M=f;ya(f+3808|0,0,400);ya(f+3408|0,0,400);while(1){q=g<<2;n=p(g,-100);j[q+(f+2608|0)>>2]=n;j[q+(f+3008|0)>>2]=n;n=g|1;q=n<<2;n=p(n,-100);j[q+(f+2608|0)>>2]=n;j[q+(f+3008|0)>>2]=n;n=g|2;q=n<<2;n=p(n,-100);j[q+(f+2608|0)>>2]=n;j[q+(f+3008|0)>>2]=n;n=g|3;q=n<<2;n=p(n,-100);j[q+(f+2608|0)>>2]=n;j[q+(f+3008|0)>>2]=n;g=g+4|0;if((g|0)!=100){continue}break}j[f+2600>>2]=0;j[f+2592>>2]=0;j[f+2596>>2]=0;a:{if(!j[a+76>>2]){break a}Ja(f+2592|0,c);b:{if(j[a+56>>2]){ob(f+2592|0);break b}Ua(f+2592|0)}c=f+2592|0;if(h[f+2603|0]>-1){break a}c=j[f+2592>>2]}j[f+2584>>2]=0;j[f+2576>>2]=0;j[f+2580>>2]=0;D=W(c);E=D;c:{d:{e:{f:{if(!j[a+56>>2]){break f}q=W(c);if(q>>>0>=4294967280){break e}g:{h:{if(q>>>0>=11){g=q+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=q;o=f+1648|0;break h}h[f+1659|0]=q;o=f+1648|0;n=o;if(!q){break g}}V(n,c,q)}h[n+q|0]=0;E=ia(f+2576|0,f+1648|0);if(h[o+11|0]>-1){break f}T(j[f+1648>>2])}A=E;if((A|0)==-1){j[a+56>>2]=0;A=D}j[f+2572>>2]=-1;n=j[a+44>>2];if(n){G=j[n+4280>>2]}j[f+2568>>2]=0;j[f+2560>>2]=0;j[f+2564>>2]=0;j[f+2552>>2]=0;j[f+2544>>2]=0;j[f+2548>>2]=0;j[f+2536>>2]=0;j[f+2528>>2]=0;j[f+2532>>2]=0;if(G){i:{if(j[a+56>>2]){q=W(c);if(q>>>0>=4294967280){break e}j:{k:{if(q>>>0>=11){g=q+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=q;o=f+1648|0;break k}h[f+1659|0]=q;o=f+1648|0;n=o;if(!q){break j}}V(n,c,q)}h[n+q|0]=0;ia(f+2528|0,f+1648|0);if(h[o+11|0]<=-1){T(j[f+1648>>2])}Oc(f+2528|0,j[a+60>>2]);da(f+2544|0,f+2528|0);break i}Ja(f+2544|0,c);if((E|0)==-1){break i}Pc(f+2544|0,j[a+52>>2])}Kh(f+1648|0,f+2544|0,G);if(h[f+2571|0]<=-1){T(j[f+2560>>2])}j[f+2568>>2]=j[f+1656>>2];n=j[f+1652>>2];j[f+2560>>2]=j[f+1648>>2];j[f+2564>>2]=n}n=j[a+44>>2];x=0;l:{if(!n){break l}u=l[n+4192>>1];n=j[a+44>>2];x=0;if(!n){break l}C=l[n+4194>>1];n=j[a+44>>2];x=0;if(!n){break l}B=l[n+4196>>1];n=j[a+44>>2];x=0;if(!n){break l}x=l[n+4464>>1]}j[f+2520>>2]=0;j[f+2512>>2]=0;j[f+2516>>2]=0;j[f+2504>>2]=0;j[f+2496>>2]=0;j[f+2500>>2]=0;m:{n:{o:{if(j[a+56>>2]){q=W(c);if(q>>>0>=4294967280){break e}p:{q:{if(q>>>0>=11){g=q+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=q;o=f+1648|0;break q}h[f+1659|0]=q;o=f+1648|0;n=o;if(!q){break p}}V(n,c,q)}h[n+q|0]=0;ia(f+2512|0,f+1648|0);if(h[o+11|0]<=-1){T(j[f+1648>>2])}ia(f+2496|0,f+2560|0)}F=f+2488|0;j[F>>2]=0;j[f+2480>>2]=0;j[f+2484>>2]=0;j[f+2472>>2]=0;j[f+2464>>2]=0;j[f+2468>>2]=0;g=j[d>>2];if((g|0)!=j[d+4>>2]){L=99;I=(E|0)==-1;H=99;while(1){O=N<<2;t=Ne(j[O+g>>2],f+2572|0,0);r:{if(!t){break r}while(1){s:{t:{if(!I){n=A-k[t+1|0]|0;g=n>>31;if((g^g+n)>>>0>4){break t}}u:{if(e|G){break u}n=k[t+16|0];if(!(n&8)|n&4){break u}if(j[a+60>>2]!=49){break t}}r=j[t+4>>2];if(!r|!j[a+44>>2]){break s}y=l[t+2>>1];q=y<<16>>16;w=(q<<1)+r|0;g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]>>0;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<=u>>>0?(g|0)!=(w|0):0){break t}g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]<65511;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<65512?(g|0)!=(w|0):0){break t}g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]>>0;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<=C>>>0?(g|0)!=(w|0):0){break t}g=r;n=q;if(y){while(1){v=n>>>1|0;o=(v<<1)+g|0;s=l[o>>1]>>0;g=s?o+2|0:g;n=s?(v^-1)+n|0:v;if(n){continue}break}}if(l[g>>1]<=B>>>0?(g|0)!=(w|0):0){break t}if(y){while(1){o=q>>>1|0;n=(o<<1)+r|0;g=l[n>>1]>>0;r=g?n+2|0:r;q=g?(o^-1)+q|0:o;if(q){continue}break}}if((r|0)==(w|0)|l[r>>1]>x>>>0){break s}}t=Ne(j[j[d>>2]+O>>2],f+2572|0,t);if(t){continue}break r}v:{if(j[a+56>>2]){q=t+17|0;o=W(q);if(o>>>0>=4294967280){break e}w:{x:{if(o>>>0>=11){g=o+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=o;break x}h[f+1659|0]=o;n=f+1648|0;if(!o){break w}}V(n,q,o)}h[n+o|0]=0;ia(f+2464|0,f+1648|0);if(h[f+1659|0]<=-1){T(j[f+1648>>2])}n=Xc(a,f+2512|0,f+2464|0);if(!I){Ta(f+2464|0,j[a+60>>2])}n=bc(3,f+2512|0,f+2464|0,1)+n|0;break v}Ja(f+2480|0,t+17|0);g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0;y:{if(j[a+76>>2]){o=W(c);n=W(g);if((o|0)<=(n|0)){q=1;if(k[(g+o|0)-1|0]==k[(g+n|0)-1|0]){break y}}q=0;break y}q=0;r=j[a+52>>2];if(!r){break y}o=k[c|0];n=k[g|0];if(k[(r+p(n,3)|0)+1|0]!=o<<24>>24?(o|0)!=(n|0):0){break y}n=c;while(1){z:{q=n+1|0;r=k[n+1|0];if(!r){break z}o=k[g+1|0];g=g+1|0;n=q;if((o|0)==(r|0)){continue}}break}q=q-c|0}if(!I){Pa(f+2480|0,j[a+52>>2])}o=W(c);if(o>>>0>=4294967280){break e}A:{B:{if(o>>>0>=11){g=o+16&-16;n=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=o;break B}h[f+1659|0]=o;n=f+1648|0;if(!o){break A}}V(n,c,o)}h[n+o|0]=0;g=k[f+2491|0];s=g<<24>>24<0?j[f+2484>>2]:g;n=0;C:{if(!s){break C}n=0;g=k[f+1659|0];o=g<<24>>24;v=(o|0)<0?j[f+1652>>2]:g;D:{if((v|0)<1){break D}g=1;n=(Ia(f+2480|0,(o|0)<0?j[f+1648>>2]:f+1648|0,1)|0)!=-1;if((v|0)!=1){while(1){n=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,1)|0)!=-1)+n|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}if((v|0)<2|n>>>0<2){break D}r=v-1|0;g=0;o=0;while(1){o=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,2)|0)!=-1)+o|0;g=g+1|0;if((r|0)!=(g|0)){continue}break}n=n+o|0;if((v|0)<3|o>>>0<2){break D}r=v-2|0;g=0;o=0;while(1){o=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,3)|0)!=-1)+o|0;g=g+1|0;if((r|0)!=(g|0)){continue}break}n=n+o|0}g=n;n=s-v|0;n=g+((n|0)>2?2-n|0:0)|0}if(h[f+1659|0]<=-1){T(j[f+1648>>2])}n=n+q|0}E:{if(h[f+2491|0]<=-1){h[j[f+2480>>2]]=0;j[f+2484>>2]=0;break E}h[f+2491|0]=0;h[f+2480|0]=0}q=k[t+16|0];F:{if(!(q&4)){break F}G:{H:{I:{J:{K:{g=0;L:{if(!(q&1)){break L}o=(k[t|0]+t|0)+18|0;g=o;if(!(q&2)){break L}g=k[o|0]|k[o+1|0]<<8|(k[o+2|0]<<16|k[o+3|0]<<24)}o=W(g);if(o>>>0<4294967280){M:{N:{if(o>>>0>=11){q=o+16&-16;s=U(q);j[f+1656>>2]=q|-2147483648;j[f+1648>>2]=s;j[f+1652>>2]=o;break N}h[f+1659|0]=o;s=f+1648|0;if(!o){break M}}V(s,g,o)}h[o+s|0]=0;h[f+859|0]=3;i[f+848>>1]=k[121393]|k[121394]<<8;h[f+850|0]=k[121395];h[f+851|0]=0;g=ec(f+2480|0,f+1648|0,f+848|0);if(h[f+859|0]<=-1){T(j[f+848>>2])}if(h[f+1659|0]<=-1){T(j[f+1648>>2])}if(!g){break F}if(j[a+56>>2]){ia(f+2464|0,f+2480|0);g=Xc(a,f+2512|0,f+2464|0);if(!I){Ta(f+2464|0,j[a+60>>2])}g=bc(3,f+2512|0,f+2464|0,1)+g|0;break G}g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0;O:{if(j[a+76>>2]){o=W(c);q=W(g);if((o|0)<=(q|0)){y=1;if(k[(g+o|0)-1|0]==k[(g+q|0)-1|0]){break O}}y=0;break O}y=0;r=j[a+52>>2];if(!r){break O}o=k[c|0];q=k[g|0];if(k[(r+p(q,3)|0)+1|0]!=o<<24>>24?(o|0)!=(q|0):0){break O}o=c;while(1){P:{q=o+1|0;s=k[o+1|0];if(!s){break P}r=k[g+1|0];g=g+1|0;o=q;if((r|0)==(s|0)){continue}}break}y=q-c|0}if(!I){Pa(f+2480|0,j[a+52>>2])}q=W(c);if(q>>>0>=4294967280){break e}Q:{R:{if(q>>>0>=11){g=q+16&-16;o=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=o;j[f+1652>>2]=q;break R}h[f+1659|0]=q;o=f+1648|0;if(!q){break Q}}V(o,c,q)}h[o+q|0]=0;q=k[f+2491|0];r=q<<24>>24<0?j[f+2484>>2]:q;g=0;if(!r){break H}o=0;g=k[f+1659|0];q=g<<24>>24;v=(q|0)<0?j[f+1652>>2]:g;if((v|0)<1){break I}g=1;o=(Ia(f+2480|0,(q|0)<0?j[f+1648>>2]:f+1648|0,1)|0)!=-1;if((v|0)!=1){break K}break J}break e}while(1){o=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,1)|0)!=-1)+o|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}if((v|0)<2|o>>>0<2){break I}q=v-1|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,2)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0;if((v|0)<3|s>>>0<2){break I}q=v-2|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0,3)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0}g=r-v|0;g=((g|0)>2?2-g|0:0)+o|0}if(h[f+1659|0]<=-1){T(j[f+1648>>2])}g=g+y|0}n=(g|0)>(n|0)?g:n}o=-2e4;S:{if(!G|(n|0)<3){break S}g=A-k[t+1|0]|0;q=g>>31;if((q^g+q)>>>0>3){break S}T:{if(j[a+56>>2]){q=t+17|0;r=W(q);if(r>>>0>=4294967280){break e}U:{V:{if(r>>>0>=11){g=r+16&-16;o=U(g);j[f+1656>>2]=g|-2147483648;j[f+1648>>2]=o;j[f+1652>>2]=r;break V}h[f+1659|0]=r;o=f+1648|0;if(!r){break U}}V(o,q,r)}h[o+r|0]=0;ia(f+2528|0,f+1648|0);if(h[f+1659|0]<=-1){T(j[f+1648>>2])}Oc(f+2528|0,j[a+60>>2]);da(f+2544|0,f+2528|0);break T}Ja(f+2544|0,t+17|0);Pc(f+2544|0,j[a+52>>2])}Kh(f+1648|0,f+2544|0,G);if(h[f+2491|0]<=-1){T(j[f+2480>>2])}j[F>>2]=j[f+1656>>2];g=j[f+1652>>2];j[f+2480>>2]=j[f+1648>>2];j[f+2484>>2]=g;if(j[a+56>>2]){ia(f+2464|0,f+2480|0);o=bc(3,f+2496|0,f+2464|0,1)<<1;break S}g=k[f+2491|0];r=g<<24>>24<0?j[f+2484>>2]:g;g=0;W:{if(!r){break W}o=0;g=k[f+2571|0];q=g<<24>>24;v=(q|0)<0?j[f+2564>>2]:g;X:{if((v|0)<1){break X}g=1;o=(Ia(f+2480|0,(q|0)<0?j[f+2560>>2]:f+2560|0,1)|0)!=-1;if((v|0)!=1){while(1){o=((Ia(f+2480|0,(h[f+2571|0]<0?j[f+2560>>2]:f+2560|0)+g|0,1)|0)!=-1)+o|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}if((v|0)<2|o>>>0<2){break X}q=v-1|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+2571|0]<0?j[f+2560>>2]:f+2560|0)+g|0,2)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0;if((v|0)<3|s>>>0<2){break X}q=v-2|0;g=0;s=0;while(1){s=((Ia(f+2480|0,(h[f+2571|0]<0?j[f+2560>>2]:f+2560|0)+g|0,3)|0)!=-1)+s|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}o=o+s|0}g=r-v|0;g=((g|0)>2?2-g|0:0)+o|0}o=g<<1}q=L<<2;g=q+(f+3008|0)|0;if(j[g>>2]<(n|0)){j[g>>2]=n;j[q+(f+3808|0)>>2]=t;g=0;while(1){r=j[(f+3008|0)+(g<<2)>>2];J=(r|0)<(n|0);w=g|1;q=j[(f+3008|0)+(w<<2)>>2];n=J?r:n;K=(q|0)<(n|0);v=g|2;s=j[(f+3008|0)+(v<<2)>>2];n=K?q:n;y=(s|0)<(n|0);r=g|3;q=j[(f+3008|0)+(r<<2)>>2];n=y?s:n;s=(q|0)<(n|0);n=s?q:n;L=s?r:y?v:K?w:J?g:L;g=g+4|0;if((g|0)!=100){continue}break}}g=H<<2;n=g+(f+2608|0)|0;if(j[n>>2]<(o|0)){j[n>>2]=o;j[g+(f+3408|0)>>2]=t+17;g=0;while(1){n=j[(f+2608|0)+(g<<2)>>2];J=(n|0)<(o|0);v=g|1;q=j[(f+2608|0)+(v<<2)>>2];n=J?n:o;K=(q|0)<(n|0);s=g|2;o=j[(f+2608|0)+(s<<2)>>2];n=K?q:n;y=(o|0)<(n|0);r=g|3;q=j[(f+2608|0)+(r<<2)>>2];n=y?o:n;w=(q|0)<(n|0);o=w?q:n;H=w?r:y?s:K?v:J?g:H;g=g+4|0;if((g|0)!=100){continue}break}}t=Ne(j[j[d>>2]+O>>2],f+2572|0,t);if(t){continue}break}}N=N+1|0;g=j[d>>2];if(N>>>0>2]-g>>2>>>0){continue}break}}j[f+2456>>2]=0;j[f+2448>>2]=0;j[f+2452>>2]=0;t=(E|0)==-1;u=1;C=0;Y:{Z:{while(1){_:{if(j[a+56>>2]){Le(f+2448|0,j[f+2512>>2],j[f+2516>>2]);if((u|0)<(A|0)){e=j[f+2448>>2];g=u;while(1){d=e+(g<<1)|0;h[d|0]=42;h[d+1|0]=0;g=g+4|0;if((A|0)>(g|0)){continue}break}}if(!t){Ta(f+2448|0,j[a+60>>2])}g=bc(A,f+2512|0,f+2448|0,2);break _}$:{aa:{e=W(c);if(e>>>0<4294967280){ba:{ca:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+1656>>2]=d|-2147483648;j[f+1648>>2]=n;j[f+1652>>2]=e;break ca}h[f+1659|0]=e;n=f+1648|0;if(!e){break ba}}V(n,c,e)}h[e+n|0]=0;g=u;if((A|0)>(g|0)){break aa}break $}break e}while(1){h[(h[f+1659|0]<0?j[f+1648>>2]:f+1648|0)+g|0]=42;g=g+4|0;if((A|0)>(g|0)){continue}break}}if(!t){Pa(f+1648|0,j[a+52>>2])}e=W(c);if(e>>>0>=4294967280){break Z}da:{ea:{if(e>>>0>=11){d=e+16&-16;o=U(d);j[f+856>>2]=d|-2147483648;j[f+848>>2]=o;j[f+852>>2]=e;break ea}h[f+859|0]=e;o=f+848|0;if(!e){break da}}V(o,c,e)}g=0;h[e+o|0]=0;d=k[f+1659|0];e=d<<24>>24<0?j[f+1652>>2]:d;if(e){r=0;o=1;d=k[f+859|0];q=d<<24>>24<0?j[f+852>>2]:d;s=q;fa:{if((A|0)<1){break fa}while(1){g=0;n=0;if((o|0)>(q|0)){break fa}while(1){n=((Ia(f+1648|0,(h[f+859|0]<0?j[f+848>>2]:f+848|0)+g|0,o)|0)!=-1)+n|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}r=n+r|0;if(n>>>0<2){break fa}s=s-1|0;d=(o|0)==(A|0);o=o+1|0;if(!d){continue}break}}d=e-q|0;e=d>>31;e=e^d+e;d=e-2|0;g=r-(d>>>0>e>>>0?0:d)|0}if(h[f+859|0]<=-1){T(j[f+848>>2])}if(h[f+1659|0]>-1){break _}T(j[f+1648>>2])}C=g+C|0;u=u+1|0;if((u|0)!=4){continue}break}o=0;ya(f+1648|0,0,800);ya(f+848|0,0,800);while(1){e=(f+48|0)+(o<<2)|0;d=p(o,-100);j[e>>2]=d;j[e+16>>2]=d-400;j[e+12>>2]=d-300;j[e+8>>2]=d-200;j[e+4>>2]=d-100;o=o+5|0;if((o|0)!=200){continue}break}F=Nd(100,12);if(!F){break n}q=(C|0)/3|0;u=199;H=0;while(1){o=j[(f+3808|0)+(H<<2)>>2];ga:{if(!o){break ga}ha:{if(h[f+2491|0]<=-1){h[j[f+2480>>2]]=0;j[f+2484>>2]=0;break ha}h[f+2491|0]=0;h[f+2480|0]=0}d=0;n=k[o+16|0];g=0;ia:{if(!(n&4)){break ia}e=0;ja:{if(!(n&1)){break ja}g=(o+k[o|0]|0)+18|0;e=g;if(!(n&2)){break ja}e=k[g|0]|k[g+1|0]<<8|(k[g+2|0]<<16|k[g+3|0]<<24)}g=W(e);if(g>>>0>=4294967280){break d}ka:{la:{if(g>>>0>=11){n=g+16&-16;s=U(n);j[f+40>>2]=n|-2147483648;j[f+32>>2]=s;j[f+36>>2]=g;break la}h[f+43|0]=g;s=f+32|0;if(!g){break ka}}V(s,e,g)}h[g+s|0]=0;h[f+27|0]=3;i[f+16>>1]=k[121393]|k[121394]<<8;h[f+18|0]=k[121395];h[f+19|0]=0;e=ec(f+2480|0,f+32|0,f+16|0);if(h[f+27|0]<=-1){T(j[f+16>>2])}if(h[f+43|0]<=-1){T(j[f+32>>2])}g=0;if(!e){break ia}g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0}B=nk(j[a+44>>2],F,o+17|0,k[o|0],j[o+4>>2],l[o+2>>1],c,D,g);if((B|0)<1){break ga}while(1){e=q;ma:{if(j[a+56>>2]){o=j[F+p(d,12)>>2];r=W(o);if(r>>>0>=4294967280){break d}na:{oa:{if(r>>>0>=11){g=r+16&-16;n=U(g);j[f+40>>2]=g|-2147483648;j[f+32>>2]=n;j[f+36>>2]=r;break oa}h[f+43|0]=r;n=f+32|0;if(!r){break na}}V(n,o,r)}h[n+r|0]=0;ia(f+2464|0,f+32|0);if(h[f+43|0]<=-1){T(j[f+32>>2])}n=Xc(a,f+2512|0,f+2464|0);if((E|0)!=-1){Ta(f+2464|0,j[a+60>>2])}n=bc(A,f+2512|0,f+2464|0,2)+n|0;break ma}Ja(f+2480|0,j[F+p(d,12)>>2]);g=h[f+2491|0]<0?j[f+2480>>2]:f+2480|0;pa:{if(j[a+76>>2]){o=W(c);n=W(g);if((o|0)<=(n|0)){C=1;if(k[(g+o|0)-1|0]==k[(g+n|0)-1|0]){break pa}}C=0;break pa}C=0;r=j[a+52>>2];if(!r){break pa}o=k[c|0];n=k[g|0];if(k[(r+p(n,3)|0)+1|0]!=o<<24>>24?(o|0)!=(n|0):0){break pa}n=c;while(1){qa:{o=n+1|0;t=k[n+1|0];if(!t){break qa}r=k[g+1|0];g=g+1|0;n=o;if((r|0)==(t|0)){continue}}break}C=o-c|0}if((E|0)!=-1){Pa(f+2480|0,j[a+52>>2])}r=W(c);if(r>>>0>=4294967280){break Y}ra:{sa:{if(r>>>0>=11){g=r+16&-16;n=U(g);j[f+40>>2]=g|-2147483648;j[f+32>>2]=n;j[f+36>>2]=r;break sa}h[f+43|0]=r;n=f+32|0;if(!r){break ra}}V(n,c,r)}o=0;h[n+r|0]=0;n=k[f+2491|0];t=n<<24>>24<0?j[f+2484>>2]:n;if(t){r=0;o=1;n=k[f+43|0];x=n<<24>>24<0?j[f+36>>2]:n;s=x;ta:{if((A|0)<1){break ta}while(1){g=0;n=0;if((o|0)>(x|0)){break ta}while(1){n=((Ia(f+2480|0,(h[f+43|0]<0?j[f+32>>2]:f+32|0)+g|0,o)|0)!=-1)+n|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}r=n+r|0;if(n>>>0<2){break ta}s=s-1|0;n=(o|0)==(A|0);o=o+1|0;if(!n){continue}break}}n=t-x|0;g=n>>31;g=g^g+n;n=g-2|0;o=r-(g>>>0>>0?0:n)|0}if(h[f+43|0]<=-1){T(j[f+32>>2])}n=o+C|0}ua:{if((e|0)<=(n|0)){t=u<<2;r=t+(f+48|0)|0;if(j[r>>2]<(n|0)){o=t+(f+1648|0)|0;e=j[o>>2];va:{if(!e){break va}T(e);g=t+(f+848|0)|0;e=j[g>>2];if(!e){break va}T(e);j[g>>2]=0}j[r>>2]=n;e=F+p(d,12)|0;j[o>>2]=j[e>>2];j[t+(f+848|0)>>2]=j[e+8>>2];g=0;while(1){e=j[(f+48|0)+(g<<2)>>2];w=(e|0)<(n|0);x=g|1;o=j[(f+48|0)+(x<<2)>>2];e=w?e:n;v=(o|0)<(e|0);t=g|2;r=j[(f+48|0)+(t<<2)>>2];e=v?o:e;s=(r|0)<(e|0);o=g|3;n=j[(f+48|0)+(o<<2)>>2];e=s?r:e;r=(n|0)<(e|0);n=r?n:e;u=r?o:s?t:v?x:w?g:u;g=g+4|0;if((g|0)!=200){continue}break}break ua}e=F+p(d,12)|0;T(j[e>>2]);e=j[e+8>>2];if(!e){break ua}T(e);break ua}e=F+p(d,12)|0;T(j[e>>2]);e=j[e+8>>2];if(!e){break ua}T(e)}d=d+1|0;if((B|0)!=(d|0)){continue}break}}H=H+1|0;if((H|0)!=100){continue}break}break o}X();z()}break d}T(F);d=1;while(1){D=j[(f+48|0)+(d<<2)>>2];g=d;while(1){e=g-1|0;x=e<<2;q=x+(f+48|0)|0;u=j[q>>2];if((u|0)<(D|0)){n=x+(f+1648|0)|0;r=j[n>>2];j[q>>2]=D;t=g<<2;o=t+(f+1648|0)|0;j[n>>2]=j[o>>2];n=x+(f+848|0)|0;q=j[n>>2];s=n;n=t+(f+848|0)|0;j[s>>2]=j[n>>2];j[t+(f+48|0)>>2]=u;j[o>>2]=r;j[n>>2]=q;n=(g|0)>1;g=e;if(n){continue}}break}d=d+1|0;if((d|0)!=200){continue}break}if(G){t=1;while(1){r=j[(f+2608|0)+(t<<2)>>2];g=t;while(1){d=g-1|0;e=d<<2;n=e+(f+2608|0)|0;o=j[n>>2];if((o|0)<(r|0)){e=e+(f+3408|0)|0;q=j[e>>2];j[n>>2]=r;s=e;n=g<<2;e=n+(f+3408|0)|0;j[s>>2]=j[e>>2];j[n+(f+2608|0)>>2]=o;j[e>>2]=q;e=(g|0)>1;g=d;if(e){continue}}break}t=t+1|0;if((t|0)!=100){continue}break}}j[f+12>>2]=0;P=1;d=j[a+44>>2];wa:{if(!d){break wa}d=j[d+4292>>2];if((d|0)<0){break wa}P=(10- +(d|0))/5}j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;D=G?0:A;v=(E|0)==-1;r=0;xa:{ya:{while(1){za:{x=r<<2;e=j[x+(f+1648|0)>>2];Aa:{if(!e){break Aa}j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;Ba:{if(j[a+56>>2]){n=W(e);if(n>>>0>=4294967280){break ya}Ca:{Da:{if(n>>>0>=11){d=n+16&-16;o=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=o;j[f+4>>2]=n;break Da}h[f+11|0]=n;o=f;if(!n){break Ca}}V(o,e,n)}h[n+o|0]=0;t=ia(f+32|0,f);if(h[f+11|0]<=-1){T(j[f>>2])}Ta(f+32|0,j[a+60>>2]);da(f+16|0,f+32|0);break Ba}Ja(f+16|0,e);if(!v){Pa(f+16|0,j[a+52>>2])}t=W(e)}s=0;Eh(a,c,h[f+27|0]<0?j[f+16>>2]:f+16|0,f,f+4220|0,f+4216|0);e=j[f+4216>>2];if(e){g=j[f>>2];Ea:{if(!g){break Ea}n=j[f+4220>>2];if(!n){break Ea}d=n+1|0;while(1){Fa:{Ga:{switch(k[e+(p(d,g)+n|0)|0]){case 2:n=n-1|0;g=g-1|0;s=s+1|0;break Fa;case 0:g=g-1|0;break Fa;default:break Ga}}n=n-1|0}if(!g){break Ea}if(n){continue}break}}T(e)}if(!((t|0)!=(A|0)|(s|0)!=(A|0))){d=(f+48|0)+(r<<2)|0;j[d>>2]=j[d>>2]+2e3;if(h[f+27|0]>-1){break za}T(j[f+16>>2]);break za}Ha:{if(j[a+56>>2]){ia(f+32|0,f+16|0);d=bc(2,f+2512|0,f+32|0,10);if(!v){Le(f+2464|0,j[f+2512>>2],j[f+2516>>2]);Ta(f+2464|0,j[a+60>>2]);e=bc(2,f+32|0,f+2464|0,10)+d|0;break Ha}e=bc(2,f+32|0,f+2512|0,10)+d|0;break Ha}e=W(c);if(e>>>0>=4294967280){break ya}Ia:{Ja:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=e;break Ja}h[f+11|0]=e;n=f;if(!e){break Ia}}V(n,c,e)}y=0;h[e+n|0]=0;d=k[f+27|0];u=d<<24>>24<0?j[f+20>>2]:d;if(u){g=0;d=k[f+11|0];o=d<<24>>24;w=(o|0)<0?j[f+4>>2]:d;Ka:{if((w|0)<1){o=0;break Ka}B=w-1|0;n=0;while(1){d=n+1|0;La:{if((Ia(f+16|0,(o<<24>>24<0?j[f>>2]:f)+g|0,1)|0)!=-1){break La}d=(g?(g|0)==(B|0)?-2:-1:-2)+n|0}n=d;g=g+1|0;if((w|0)!=(g|0)){o=k[f+11|0];continue}break}o=0;if((w|0)<2){g=n;break Ka}e=w-2|0;q=0;while(1){d=q+1|0;Ma:{if((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+o|0,2)|0)!=-1){break Ma}d=(o?(e|0)==(o|0)?-2:-1:-2)+q|0}q=d;o=o+1|0;if((B|0)!=(o|0)){continue}break}g=n;o=q}d=u-w|0;e=d>>31;e=e^d+e;d=e-2|0;y=(g+o|0)-(d>>>0>e>>>0?0:d)|0}if(h[f+11|0]<=-1){T(j[f>>2])}Na:{Oa:{Pa:{if(!v){Ja(f+2480|0,c);Pa(f+2480|0,j[a+52>>2]);d=k[f+2491|0];u=d<<24>>24<0?j[f+2484>>2]:d;d=0;if(!u){break Na}g=0;d=k[f+27|0];o=d<<24>>24;w=(o|0)<0?j[f+20>>2]:d;if((w|0)<1){o=0;break Oa}B=w-1|0;n=0;while(1){d=n+1|0;Qa:{if((Ia(f+2480|0,(o<<24>>24<0?j[f+16>>2]:f+16|0)+g|0,1)|0)!=-1){break Qa}d=(g?(g|0)==(B|0)?-2:-1:-2)+n|0}n=d;g=g+1|0;if((w|0)==(g|0)){break Pa}o=k[f+27|0];continue}}e=W(c);if(e>>>0>=4294967280){break ya}Ra:{Sa:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=e;break Sa}h[f+11|0]=e;n=f;if(!e){break Ra}}V(n,c,e)}o=0;h[e+n|0]=0;e=k[f+11|0];d=e<<24>>24;u=(d|0)<0?j[f+4>>2]:e;if(u){g=0;d=k[f+27|0];o=d<<24>>24;w=(o|0)<0?j[f+20>>2]:d;Ta:{if((w|0)<1){o=0;break Ta}B=w-1|0;n=0;while(1){d=n+1|0;Ua:{if((Ia(f,(o<<24>>24<0?j[f+16>>2]:f+16|0)+g|0,1)|0)!=-1){break Ua}d=(g?(g|0)==(B|0)?-2:-1:-2)+n|0}n=d;g=g+1|0;if((w|0)!=(g|0)){o=k[f+27|0];continue}break}o=0;if((w|0)<2){g=n;break Ta}e=w-2|0;q=0;while(1){d=q+1|0;Va:{if((Ia(f,(h[f+27|0]<0?j[f+16>>2]:f+16|0)+o|0,2)|0)!=-1){break Va}d=(o?(e|0)==(o|0)?-2:-1:-2)+q|0}q=d;o=o+1|0;if((B|0)!=(o|0)){continue}break}g=n;o=q}d=u-w|0;e=d>>31;e=e^d+e;d=e-2|0;o=(g+o|0)-(d>>>0>e>>>0?0:d)|0;d=k[f+11|0]}if(d<<24>>24<=-1){T(j[f>>2])}e=o+y|0;break Ha}o=0;if((w|0)<2){g=n;break Oa}e=w-2|0;q=0;while(1){d=q+1|0;Wa:{if((Ia(f+2480|0,(h[f+27|0]<0?j[f+16>>2]:f+16|0)+o|0,2)|0)!=-1){break Wa}d=(o?(e|0)==(o|0)?-2:-1:-2)+q|0}q=d;o=o+1|0;if((B|0)!=(o|0)){continue}break}g=n;o=q}d=u-w|0;e=d>>31;e=e^d+e;d=e-2|0;d=(g+o|0)-(d>>>0>e>>>0?0:d)|0}e=d+y|0}Xa:{if(j[a+56>>2]){y=bc(4,f+2512|0,f+32|0,2);n=Xc(a,f+2512|0,f+32|0);break Xa}g=W(c);if(g>>>0>=4294967280){break ya}Ya:{Za:{if(g>>>0>=11){d=g+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=g;break Za}h[f+11|0]=g;n=f;if(!g){break Ya}}V(n,c,g)}y=0;h[g+n|0]=0;d=k[f+27|0];q=d<<24>>24<0?j[f+20>>2]:d;if(q){n=0;d=k[f+11|0];o=d<<24>>24;u=(o|0)<0?j[f+4>>2]:d;_a:{if((u|0)<1){break _a}g=1;n=(Ia(f+16|0,(o|0)<0?j[f>>2]:f,1)|0)!=-1;if((u|0)!=1){while(1){n=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,1)|0)!=-1)+n|0;g=g+1|0;if((u|0)!=(g|0)){continue}break}}if((u|0)<2|n>>>0<2){break _a}d=u-1|0;g=0;o=0;while(1){o=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,2)|0)!=-1)+o|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}n=n+o|0;if((u|0)<3|o>>>0<2){break _a}d=u-2|0;g=0;o=0;while(1){o=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,3)|0)!=-1)+o|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}n=n+o|0;if((u|0)<4|o>>>0<2){break _a}d=u-3|0;g=0;o=0;while(1){o=((Ia(f+16|0,(h[f+11|0]<0?j[f>>2]:f)+g|0,4)|0)!=-1)+o|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}n=n+o|0}d=q-u|0;g=d>>31;q=n;n=g^d+g;d=n-2|0;y=q-(d>>>0>n>>>0?0:d)|0}if(h[f+11|0]<=-1){T(j[f>>2])}g=h[f+27|0]<0?j[f+16>>2]:f+16|0;if(j[a+76>>2]){q=W(c);d=W(g);if((q|0)<=(d|0)){n=1;if(k[(g+q|0)-1|0]==k[(d+g|0)-1|0]){break Xa}}n=0;break Xa}n=0;o=j[a+52>>2];if(!o){break Xa}q=k[c|0];d=k[g|0];if(k[(o+p(d,3)|0)+1|0]!=q<<24>>24?(q|0)!=(d|0):0){break Xa}n=c;while(1){$a:{d=n+1|0;o=k[n+1|0];if(!o){break $a}q=k[g+1|0];g=g+1|0;n=d;if((o|0)==(q|0)){continue}}break}n=d-c|0}d=A-t|0;g=d>>31;g=(s<<1)-(g^d+g)|0;q=x+(f+48|0)|0;if(v){d=0}else{d=(Bp(a,c,h[f+27|0]<0?j[f+16>>2]:f+16|0,f+12|0)|0)!=0}j[q>>2]=((d+(((e+g|0)+y|0)+n|0)|0)+(j[f+12>>2]?10:0)|0)+(+(e|0)-1){break Aa}T(j[f+16>>2])}r=r+1|0;if((r|0)!=200){continue}}break}d=1;while(1){D=j[(f+48|0)+(d<<2)>>2];g=d;while(1){e=g-1|0;x=e<<2;q=x+(f+48|0)|0;u=j[q>>2];if((u|0)<(D|0)){n=x+(f+1648|0)|0;r=j[n>>2];j[q>>2]=D;t=g<<2;o=t+(f+1648|0)|0;j[n>>2]=j[o>>2];n=x+(f+848|0)|0;q=j[n>>2];s=n;n=t+(f+848|0)|0;j[s>>2]=j[n>>2];j[t+(f+48|0)>>2]=u;j[o>>2]=r;j[n>>2]=q;n=(g|0)>1;g=e;if(n){continue}}break}d=d+1|0;if((d|0)!=200){continue}break}if(G){u=(E|0)==-1;o=0;while(1){r=o<<2;e=j[r+(f+3408|0)>>2];ab:{if(!e){break ab}j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;bb:{if(j[a+56>>2]){n=W(e);if(n>>>0>=4294967280){break ya}cb:{db:{if(n>>>0>=11){d=n+16&-16;s=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=s;j[f+4>>2]=n;break db}h[f+11|0]=n;s=f;if(!n){break cb}}V(s,e,n)}h[n+s|0]=0;C=ia(f+32|0,f);if(h[f+11|0]<=-1){T(j[f>>2])}Ta(f+32|0,j[a+60>>2]);da(f+16|0,f+32|0);break bb}Ja(f+16|0,e);if(!u){Pa(f+16|0,j[a+52>>2])}C=W(e)}eb:{if(j[a+56>>2]){s=Xc(a,f+2512|0,f+32|0);break eb}g=h[f+27|0]<0?j[f+16>>2]:f+16|0;if(j[a+76>>2]){e=W(c);d=W(g);if((e|0)<=(d|0)){s=1;if(k[(e+g|0)-1|0]==k[(d+g|0)-1|0]){break eb}}s=0;break eb}s=0;n=j[a+52>>2];if(!n){break eb}e=k[c|0];d=k[g|0];if(k[(n+p(d,3)|0)+1|0]!=e<<24>>24?(e|0)!=(d|0):0){break eb}n=c;while(1){fb:{d=n+1|0;q=k[n+1|0];if(!q){break fb}e=k[g+1|0];g=g+1|0;n=d;if((e|0)==(q|0)){continue}}break}s=d-c|0}e=W(c);if(e>>>0>=4294967280){break ya}gb:{hb:{if(e>>>0>=11){d=e+16&-16;n=U(d);j[f+8>>2]=d|-2147483648;j[f>>2]=n;j[f+4>>2]=e;break hb}h[f+11|0]=e;n=f;if(!e){break gb}}V(n,c,e)}h[e+n|0]=0;e=A-C|0;n=e>>31;d=r+(f+2608|0)|0;Q=d,R=((s-(n^e+n)|0)+(Ap(a,f,f+16|0)<<1)|0)+j[d>>2]|0,j[Q>>2]=R;if(h[f+11|0]<=-1){T(j[f>>2])}if(h[f+27|0]>-1){break ab}T(j[f+16>>2])}t=1;o=o+1|0;if((o|0)!=100){continue}break}while(1){o=j[(f+2608|0)+(t<<2)>>2];g=t;while(1){c=g-1|0;d=c<<2;e=d+(f+2608|0)|0;q=j[e>>2];if((q|0)<(o|0)){d=d+(f+3408|0)|0;n=j[d>>2];j[e>>2]=o;r=d;e=g<<2;d=e+(f+3408|0)|0;j[r>>2]=j[d>>2];j[e+(f+2608|0)>>2]=q;j[d>>2]=n;d=(g|0)>1;g=c;if(d){continue}}break}t=t+1|0;if((t|0)!=100){continue}break}}q=(j[b+4>>2]-j[b>>2]|0)/12|0;n=0;B=0;while(1){t=n<<2;r=t+(f+1648|0)|0;d=j[r>>2];ib:{if(!d){break ib}jb:{u=j[b+4>>2];g=j[b>>2];c=(u-g|0)/12|0;if(c>>>0>=q+j[a+68>>2]>>>0|c>>>0>=m[a+48>>2]){break jb}e=j[t+(f+48|0)>>2];kb:{if(B){A=1;if((e|0)<=1e3){break jb}break kb}A=1;if((e|0)>1e3){break kb}if((e|0)>-101){A=0;break kb}lb:{if(c>>>0>q>>>0){break lb}c=j[a+44>>2];if(!c){break kb}if(j[c+4296>>2]){break lb}g=j[b>>2];u=j[b+4>>2];break kb}T(d);B=1;c=j[t+(f+848|0)>>2];if(!c){break ib}T(c);break ib}mb:{nb:{if((g|0)!=(u|0)){e=t+(f+848|0)|0;u=0;while(1){c=j[e>>2];ob:{if(!c){s=j[r>>2];d=s;c=p(u,12)+g|0;if(h[c+11|0]<=-1){c=j[c>>2]}if(!ca(d,c)){break ob}break nb}d=p(u,12)+g|0;if(h[d+11|0]<=-1){d=j[d>>2]}if(ca(c,d)){break nb}s=j[r>>2]}d=W(s);if(d>>>0>=4294967280){break c}pb:{qb:{if(d>>>0>=11){c=d+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=d;break qb}h[f+27|0]=d;o=f+16|0;if(!d){break pb}}V(o,s,d)}h[d+o|0]=0;c=cc(a,f+16|0,0,0,0);if(h[f+27|0]<=-1){T(j[f+16>>2])}if(!c){break nb}u=u+1|0;g=j[b>>2];if(u>>>0<(j[b+4>>2]-g|0)/12>>>0){continue}break}}d=j[t+(f+848|0)>>2];if(d){e=W(d);if(e>>>0>=4294967280){break c}rb:{sb:{if(e>>>0>=11){c=e+16&-16;s=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=s;j[f+20>>2]=e;break sb}h[f+27|0]=e;s=f+16|0;if(!e){break rb}}V(s,d,e)}h[e+s|0]=0;d=j[b+4>>2];if(d>>>0>2]){c=j[f+20>>2];j[d>>2]=j[f+16>>2];j[d+4>>2]=c;j[d+8>>2]=j[f+24>>2];j[b+4>>2]=d+12;break nb}Eb(b,f+16|0);if(h[f+27|0]>-1){break nb}T(j[f+16>>2]);break nb}d=j[r>>2];e=W(d);if(e>>>0>=4294967280){break mb}tb:{ub:{if(e>>>0>=11){c=e+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=e;break ub}h[f+27|0]=e;o=f+16|0;if(!e){break tb}}V(o,d,e)}h[e+o|0]=0;d=j[b+4>>2];if(d>>>0>2]){c=j[f+20>>2];j[d>>2]=j[f+16>>2];j[d+4>>2]=c;j[d+8>>2]=j[f+24>>2];j[b+4>>2]=d+12;break nb}Eb(b,f+16|0);if(h[f+27|0]>-1){break nb}T(j[f+16>>2])}T(j[r>>2]);c=j[t+(f+848|0)>>2];if(c){T(c)}B=A;break ib}break c}T(d);c=j[t+(f+848|0)>>2];if(!c){break ib}T(c)}n=n+1|0;if((n|0)!=200){continue}break}break xa}X();z()}vb:{if(G){q=((j[b+4>>2]-j[b>>2]|0)/12|0)+2|0;u=0;while(1){e=(f+3408|0)+(u<<2)|0;n=j[e>>2];wb:{if(!n){break wb}d=j[b+4>>2];g=j[b>>2];c=(d-g|0)/12|0;if(c>>>0>=q>>>0|c>>>0>=m[a+48>>2]){break wb}s=0;xb:{if((d|0)==(g|0)){break xb}while(1){c=n;d=p(s,12)+g|0;if(h[d+11|0]<=-1){d=j[d>>2]}if(ca(c,d)){break wb}d=W(n);if(d>>>0<4294967280){yb:{zb:{if(d>>>0>=11){c=d+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=d;break zb}h[f+27|0]=d;o=f+16|0;if(!d){break yb}}V(o,n,d)}h[d+o|0]=0;c=cc(a,f+16|0,0,0,0);if(h[f+27|0]<=-1){T(j[f+16>>2])}if(!c){break wb}n=j[e>>2];s=s+1|0;g=j[b>>2];if(s>>>0>=(j[b+4>>2]-g|0)/12>>>0){break xb}continue}break}break c}d=W(n);if(d>>>0>=4294967280){break vb}Ab:{Bb:{if(d>>>0>=11){c=d+16&-16;o=U(c);j[f+24>>2]=c|-2147483648;j[f+16>>2]=o;j[f+20>>2]=d;break Bb}h[f+27|0]=d;o=f+16|0;if(!d){break Ab}}V(o,n,d)}h[d+o|0]=0;d=j[b+4>>2];if(d>>>0>2]){c=j[f+20>>2];j[d>>2]=j[f+16>>2];j[d+4>>2]=c;j[d+8>>2]=j[f+24>>2];j[b+4>>2]=d+12;break wb}Eb(b,f+16|0);if(h[f+27|0]>-1){break wb}T(j[f+16>>2])}u=u+1|0;if((u|0)!=100){continue}break}}if((E|0)==-1){j[a+56>>2]=1}a=j[f+32>>2];if(!a){break m}j[f+36>>2]=a;T(a);break m}break c}if((E|0)!=-1){break m}j[a+56>>2]=1}a=j[f+2448>>2];if(a){j[f+2452>>2]=a;T(a)}a=j[f+2464>>2];if(a){j[f+2468>>2]=a;T(a)}if(h[f+2491|0]<=-1){T(j[f+2480>>2])}a=j[f+2496>>2];if(a){j[f+2500>>2]=a;T(a)}a=j[f+2512>>2];if(a){j[f+2516>>2]=a;T(a)}a=j[f+2528>>2];if(a){j[f+2532>>2]=a;T(a)}if(h[f+2555|0]<=-1){T(j[f+2544>>2])}if(h[f+2571|0]<=-1){T(j[f+2560>>2])}a=j[f+2576>>2];if(a){j[f+2580>>2]=a;T(a)}if(h[f+2603|0]<=-1){T(j[f+2592>>2])}M=f+4224|0;return}X();z()}X();z()}X();z()}function ed(a,b,c,d,e,f,g,m,n,o,q){var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;x=M-48|0;M=x;j[x+40>>2]=0;j[x+32>>2]=0;j[x+36>>2]=0;w=k[b+11|0];r=w<<24>>24<0;t=j[b+4>>2];a:{if(!c){ka=148528,la=C()|0,j[ka>>2]=la;break a}if(!j[37132]){break a}if((C()|0)<=(j[37132]+5e4|0)){break a}j[37132]=0}w=r?t:w;u=j[a+4200>>2];b:{if(j[a+4144>>2]){if((u|0)<1){t=w;u=0;break b}I=h[b+11|0]<0?j[b>>2]:b;s=w-1|0;r=0;t=0;while(1){if((r|0)<(w|0)){while(1){c:{if((r|0)==(s|0)){r=w;break c}r=r+1|0;if((k[I+r|0]&192)==128){continue}}break}t=t+1|0;if((u|0)!=(t|0)){continue}}break}if((u|0)<2){t=w;u=r;break b}s=u-1|0;t=w;while(1){if((t|0)<0){u=r;break b}while(1){d:{if((t|0)<1){t=-1;break d}t=t-1|0;if((k[I+t|0]&192)==128){continue}}break}A=A+1|0;if((s|0)!=(A|0)){continue}break}u=r;break b}t=(w-u|0)+1|0}ua(x+32|0,b);e:{f:{if((t|0)<=(u|0)){break f}Z=n?3:1;da=(g|0)!=0;$=f+1|0;ea=$<<2;fa=f<<2;while(1){g:{if(!j[a+4144>>2]){L=u;break g}r=h[x+43|0]<0?j[x+32>>2]:x+32|0;while(1){L=u;u=u+1|0;if((k[r+L|0]&192)==128){continue}break}if((t|0)>(L|0)){break g}break f}j[x+44>>2]=g;S=da;while(1){R=d;J=0;Q=0;I=c;G=0;h:{while(1){if(!j[37132]){y=0;break f}i:{if(!J){J=0;y=j[x+32>>2];D=k[x+43|0];F=L;L=Q;O=w;break i}v=j[a+4248>>2];B=(j[a+4252>>2]-v|0)/40|0;if(B>>>0>>0){F=L;break h}u=(h[b+11|0]<0?j[b>>2]:b)+L|0;j:{while(1){H=p(J-1|0,40);y=H+v|0;s=y+24|0;A=k[y+35|0];r=A<<24>>24;k:{l:{if((r|0)<=-1){if(!j[y+28>>2]){break k}A=j[y+28>>2];s=j[s>>2];break l}if(!r){break k}}if(!Db(u,s,A)){break j}}J=J+1|0;if(B>>>0>=J>>>0){continue}break}F=L;break h}s=k[y+11|0];r=s<<24>>24<0;oc(x+32|0,L,-1,r?j[y>>2]:y,r?j[y+4>>2]:s);B=x+32|0;u=H+j[a+4248>>2]|0;r=h[u+11|0];m:{if((r|0)<=-1){r=j[u+4>>2];break m}r=r&255}F=r+L|0;s=k[u+23|0];r=s<<24>>24<0;oc(B,F,-1,r?j[u+12>>2]:u+12|0,r?j[u+16>>2]:s);v=H+j[a+4248>>2]|0;r=h[v+23|0];n:{if((r|0)<=-1){r=j[v+16>>2];break n}r=r&255}B=r+F|0;y=x+16|0;r=b;s=h[v+35|0];u=j[v+28>>2];o:{if((s|0)<=-1){break o}u=s&255}sa(y,r,u+L|0,-1);s=k[x+27|0];r=s<<24>>24<0;oc(x+32|0,B,-1,r?j[x+16>>2]:x+16|0,r?j[x+20>>2]:s);if(h[x+27|0]<=-1){T(j[x+16>>2])}u=H+j[a+4248>>2]|0;r=h[u+11|0];p:{if((r|0)<=-1){r=j[u+4>>2];break p}r=r&255}D=h[x+43|0];y=j[x+32>>2];s=h[u+23|0];B=j[u+16>>2];q:{if((s|0)<=-1){break q}B=s&255}B=B+(r+w|0)|0;r=h[u+35|0];s=j[u+28>>2];r:{if((r|0)<=-1){break r}s=r&255}O=B-s|0;v=j[a+4200>>2];s:{if(!j[a+4144>>2]|(v|0)<1){break s}B=(D|0)<0?y:x+32|0;s=O-1|0;r=0;u=0;while(1){if((r|0)>=(O|0)){break s}while(1){t:{if((r|0)==(s|0)){r=O;break t}r=r+1|0;if((k[B+r|0]&192)==128){continue}}break}u=u+1|0;if((v|0)!=(u|0)){continue}break}}ga=w;ha=t;t=(O-v|0)+1|0}ba=t;r=0;t=(D<<24>>24<0?y:x+32|0)+F|0;ca=k[t|0];h[t|0]=0;j[a+4372>>2]=0;j[a+4376>>2]=0;u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{H:{t=j[a+4096>>2];s=j[t>>2];if((s|0)==j[t+4>>2]){break H}w=h[x+43|0]<0?j[x+32>>2]:x+32|0;while(1){D=dc(j[(r<<2)+s>>2],w);if(!D){t=j[a+4096>>2];s=j[t>>2];r=r+1|0;if(r>>>0>2]-s>>2>>>0){continue}}break}if(!D){break H}v=l[a+4162>>1];if(!v){break G}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=v>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if(n|(r|0)==(w|0)|v>>>0>1]){break G}Q=L;w=O;t=ba;break v}Q=J-1|0;break F}Q=J-1|0;if(n){break E}while(1){v=l[a+4198>>1];I:{J:{if(!v){break J}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=v>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break J}if(v>>>0>=l[r>>1]){break I}}v=j[x+44>>2];K:{L:{if(S){break L}H=l[a+4152>>1];if(v|!H){break L}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=H>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break L}if(H>>>0>=l[r>>1]){break K}}M:{if(I&65535|S){break M}H=l[a+4154>>1];if(!H){break M}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=H>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break M}if(H>>>0>=l[r>>1]){break K}}N:{if(!(I&65535)|(v|S)){break N}H=l[a+4156>>1];if(!H){break N}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=H>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break N}if(H>>>0>=l[r>>1]){break K}}if(!S|j[a+4268>>2]==j[a+4272>>2]){break I}if(!(v|I&65535)){if(hc(a,x+44|0,f,D,m,0)){break K}v=j[x+44>>2]}if(!v){break I}if(!hc(a,x+44|0,f,D,m,0)){break I}}if(!J){Q=-1;break E}v=l[(j[a+4248>>2]+p(Q,40)|0)+36>>1];if(!v){break E}r=j[D+4>>2];s=i[D+2>>1];w=r+(s<<1)|0;if(s){while(1){B=s>>>1|0;t=(B<<1)+r|0;u=v>>>0>l[t>>1];r=u?t+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if((r|0)==(w|0)){break I}if(v>>>0>=l[r>>1]){break E}}D=j[D+12>>2];if(D){continue}break}}if(S){break u}t=l[a+4152>>1];O:{if(!t){break O}H=1;D=gb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,Z,t);if(D){break D}D=Qa(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,0,l[a+4152>>1],Z);if(!D){if(!j[a+4168>>2]){break O}D=eb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,l[a+4152>>1]);if(!D){break O}}w=1;if(n){break C}P=j[a+4372>>2];t=j[P+56>>2];if(!t){break D}y=l[a+4162>>1];P:{if(!y){break P}s=i[P+60>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=y>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break P}if(y>>>0>=l[r>>1]){break O}}Q:{v=l[a+4158>>1];if(!v){break Q}r=i[P+60>>1];s=(r<<1)+t|0;if(r){while(1){B=r>>>1|0;w=(B<<1)+t|0;u=v>>>0>l[w>>1];t=u?w+2|0:t;r=u?(B^-1)+r|0:B;if(r){continue}break}}if((s|0)==(t|0)){break Q}if(!D|v>>>0>=l[t>>1]){break O}break D}if(D){break D}}if(!(I&65535)){t=l[a+4154>>1];if(!t){w=0;break A}H=1;D=Qa(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,0,t,Z);if(D){break D}if(j[a+4168>>2]){D=eb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,l[a+4154>>1]);if(D){break D}}w=0;D=gb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,Z,l[a+4154>>1]);if(!D){break A}break D}if(I<<16>>16<1){w=I;break A}t=l[a+4156>>1];if(!t){w=I;break A}H=1;D=Qa(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,0,t,Z);if(D){break D}if(j[a+4168>>2]){D=eb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,0,0,l[a+4156>>1]);if(D){break D}}D=gb(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,F,Z,l[a+4156>>1]);if(D){break D}w=I;break A}u=j[D+4>>2];if(!u){H=G;break D}P=l[D+2>>1];v=P<<16>>16;y=(v<<1)+u|0;r=u;if(P){w=l[a+4192>>1];s=v;while(1){H=s>>>1|0;t=(H<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(H^-1)+s|0:H;if(s){continue}break}}R:{if(l[a+4192>>1]>=l[r>>1]?(r|0)!=(y|0):0){break R}r=u;if(P){w=l[a+4198>>1];s=v;while(1){H=s>>>1|0;t=(H<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(H^-1)+s|0:H;if(s){continue}break}}if(l[a+4198>>1]>=l[r>>1]?(r|0)!=(y|0):0){break R}r=u;s=v;if(P){while(1){B=s>>>1|0;t=(B<<1)+r|0;w=l[t>>1]<65511;r=w?t+2|0:r;s=w?(B^-1)+s|0:B;if(s){continue}break}}if(l[r>>1]<65512?(r|0)!=(y|0):0){break R}if(!o){H=G;break D}s=l[a+4194>>1];if(!s){H=G;break D}if(P){while(1){w=v>>>1|0;t=(w<<1)+u|0;r=s>>>0>l[t>>1];u=r?t+2|0:u;v=r?(w^-1)+v|0:w;if(v){continue}break}}if((u|0)==(y|0)){H=G;break D}H=G;if(s>>>0>1]){break D}}h[(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0]=ca;break u}S:{if(!D|n){break S}t=j[a+4376>>2];T:{if(!t){break T}r=j[t+56>>2];if(!r){break T}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){v=s>>>1|0;t=(v<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break T}if(l[a+4162>>1]>=l[r>>1]){break B}}t=j[a+4372>>2];if(!t){break S}r=j[t+56>>2];if(!r){break S}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){v=s>>>1|0;t=(v<<1)+r|0;B=w>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break S}if(l[a+4162>>1]>=l[r>>1]){break B}}U:{w=(H|0)!=0;B=w|!D;if(B){break U}V:{if(n){break V}y=l[a+4158>>1];if(!y){break V}W:{t=j[a+4376>>2];if(!t){break W}r=j[t+56>>2];if(!r){break W}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){H=s>>>1|0;t=(H<<1)+r|0;v=y>>>0>l[t>>1];r=v?t+2|0:r;s=v?(H^-1)+s|0:H;if(s){continue}break}}if((r|0)==(u|0)){break W}G=0;if(y>>>0>1]){break W}w=I;break A}t=j[a+4372>>2];if(!t){break V}r=j[t+56>>2];if(!r){break V}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){H=s>>>1|0;t=(H<<1)+r|0;v=y>>>0>l[t>>1];r=v?t+2|0:r;s=v?(H^-1)+s|0:H;if(s){continue}break}}if((r|0)==(u|0)){break V}G=0;if(y>>>0>1]){break V}w=I;break A}H=0;if(n|(B|I&65535)){break U}y=l[a+4156>>1];if(!y){break U}X:{t=j[a+4376>>2];if(!t){break X}r=j[t+56>>2];if(!r){break X}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){v=s>>>1|0;t=(v<<1)+r|0;B=y>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break X}G=0;if(y>>>0>1]){break X}w=0;break A}t=j[a+4372>>2];if(!t){break U}r=j[t+56>>2];if(!r){break U}s=i[t+60>>1];u=(s<<1)+r|0;if(s){while(1){v=s>>>1|0;t=(v<<1)+r|0;B=y>>>0>l[t>>1];r=B?t+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break U}w=0;G=0;if(y>>>0>1]){break C}break A}if(!D){break B}}Y:{t=j[D+4>>2];if(!t){break Y}A=l[D+2>>1];v=A<<16>>16;P=(v<<1)+t|0;r=t;if(A){B=l[a+4192>>1];s=v;while(1){y=s>>>1|0;u=(y<<1)+r|0;G=B>>>0>l[u>>1];r=G?u+2|0:r;s=G?(y^-1)+s|0:y;if(s){continue}break}}if(!((r|0)==(P|0)|l[a+4192>>1]>1])){y=0;break f}r=t;s=v;if(A){while(1){G=s>>>1|0;u=(G<<1)+r|0;B=l[u>>1]<65511;r=B?u+2|0:r;s=B?(G^-1)+s|0:G;if(s){continue}break}}if(!((r|0)==(P|0)|l[r>>1]>=65512)){y=0;break f}if(!o){break Y}G=l[a+4194>>1];if(!G){break Y}r=t;if(A){while(1){B=v>>>1|0;s=(B<<1)+r|0;u=G>>>0>l[s>>1];r=u?s+2|0:r;v=u?(B^-1)+v|0:B;if(v){continue}break}}if((r|0)==(P|0)|G>>>0>1]){break Y}y=0;break f}y=l[a+4160>>1];Z:{_:{if(!y){if(!w){break _}break Z}s=i[D+2>>1];if(s){B=(s<<1)+t|0;r=t;while(1){G=s>>>1|0;u=(G<<1)+r|0;v=y>>>0>l[u>>1];r=v?u+2|0:r;s=v?(G^-1)+s|0:G;if(s){continue}break}I=(r|0)!=(B|0)?(y>>>0>=l[r>>1])+I|0:I;if(w){break Z}break _}if(w){break Z}}r=j[x+44>>2];if(j[r+fa>>2]?r:0){break Z}G=l[a+4152>>1];$:{if(!G){break $}s=i[D+2>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=G>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break $}if(G>>>0>=l[r>>1]){break Z}}aa:{ba:{if(c){break ba}G=l[a+4154>>1];if(!G){break aa}s=i[D+2>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=G>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break ba}if(G>>>0>=l[r>>1]){break Z}}if((c|0)<1){break aa}G=l[a+4156>>1];if(!G){break aa}s=i[D+2>>1];u=(s<<1)+t|0;r=t;if(s){while(1){v=s>>>1|0;w=(v<<1)+r|0;B=G>>>0>l[w>>1];r=B?w+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(u|0)){break aa}if(G>>>0>=l[r>>1]){break Z}}if(!n|j[a+4456>>2]!=36){break y}y=l[D+2>>1];v=y<<16>>16;G=(v<<1)+t|0;r=t;s=v;if(y){while(1){B=s>>>1|0;w=(B<<1)+r|0;u=l[w>>1]<70;r=u?w+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if(l[r>>1]<71?(r|0)!=(G|0):0){break Z}r=t;s=v;if(y){while(1){B=s>>>1|0;w=(B<<1)+r|0;u=l[w>>1]<71;r=u?w+2|0:r;s=u?(B^-1)+s|0:B;if(s){continue}break}}if(l[r>>1]<72?(r|0)!=(G|0):0){break Z}r=t;if(y){while(1){u=v>>>1|0;w=(u<<1)+r|0;s=l[w>>1]<72;r=s?w+2|0:r;v=s?(u^-1)+v|0:u;if(v){continue}break}}if((r|0)==(G|0)|l[r>>1]>72){break y}}if(J){v=l[(j[a+4248>>2]+p(Q,40)|0)+36>>1];if(!v){break z}r=i[D+2>>1];s=(r<<1)+t|0;if(r){while(1){B=r>>>1|0;w=(B<<1)+t|0;u=v>>>0>l[w>>1];t=u?w+2|0:t;r=u?(B^-1)+r|0:B;if(r){continue}break}}if((s|0)==(t|0)|v>>>0>1]){break y}}t=j[x+44>>2];ca:{if(t|(!j[a+4184>>2]|J)){break ca}w=(h[b+11|0]<0?j[b>>2]:b)+F|0;r=k[w-1|0];if((r|0)!=k[w|0]){break ca}if((r|0)==k[w+1|0]|((r|0)==k[w-2|0]?(F|0)>=2:0)){break y}}if(!j[a+4180>>2]|(t|J)){break z}if(hg(a,h[b+11|0]<0?j[b>>2]:b,F)){break y}break z}w=I;G=H}if(!n|j[a+4456>>2]!=36){break x}t=h[x+43|0]<0?j[x+32>>2]:x+32|0;D=gb(a,t,F,0,0);da:{if(D){break da}D=Qa(a,t,F,0,0,0,0,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(D){break x}D=eb(a,t,F,0,0,0);if(D){break da}D=Lb(a,t,F,0)}if(!D){break x}}r=j[a+4372>>2];if(!r){break x}t=j[r+56>>2];if(!t){break x}y=l[r+60>>1];u=y<<16>>16;H=(u<<1)+t|0;r=t;s=u;if(y){while(1){v=s>>>1|0;I=(v<<1)+r|0;B=l[I>>1]<120;r=B?I+2|0:r;s=B?(v^-1)+s|0:v;if(s){continue}break}}if(!((r|0)==(H|0)|l[r>>1]>=121)){I=w;H=G;break z}if(y){while(1){I=u>>>1|0;r=(I<<1)+t|0;s=l[r>>1]<37;t=s?r+2|0:t;u=s?(I^-1)+u|0:I;if(u){continue}break}}if((t|0)==(H|0)){break x}I=w;H=G;if(l[t>>1]>37){break x}}ea:{if(j[a+4456>>2]!=36){break ea}t=Gb(a,sa(x+16|0,x+32|0,0,F));if(h[x+27|0]<=-1){T(j[x+16>>2])}R=t+R|0;t=j[a+4376>>2];if(!t){break ea}s=t+4|0;s=h[t+15|0]<=-1?j[s>>2]:s;r=W(s);if(r>>>0>=4294967280){break e}fa:{ga:{if(r>>>0>=11){t=r+16&-16;A=U(t);j[x+24>>2]=t|-2147483648;j[x+16>>2]=A;j[x+20>>2]=r;break ga}h[x+27|0]=r;A=x+16|0;if(!r){break fa}}V(A,s,r)}h[r+A|0]=0;t=Gb(a,x+16|0);if(h[x+27|0]<=-1){T(j[x+16>>2])}I=((t|0)>1)+I|0}h[(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0]=ca;ia=I+1|0;P=R-1|0;ja=(I<<16>>16)+2|0;B=!J;while(1){G=1;ha:{if(!j[a+4188>>2]){break ha}if(_){F=F-1|0;G=0;break ha}_=0;if((F|0)<3){break ha}t=(h[b+11|0]<0?j[b>>2]:b)+F|0;_=k[t-1|0]==k[t-2|0]}ia:{t=j[a+4096>>2];s=j[t>>2];if((s|0)==j[t+4>>2]){break ia}r=0;w=(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0;while(1){v=dc(j[(r<<2)+s>>2],w);if(!v){t=j[a+4096>>2];s=j[t>>2];r=r+1|0;if(r>>>0>2]-s>>2>>>0){continue}}break}if(!v){break ia}while(1){ja:{A=l[a+4198>>1];ka:{la:{if(!A){break la}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break la}if(A>>>0>=l[r>>1]){break ka}}E=j[x+44>>2];A=l[a+4152>>1];ma:{na:{if(E|!A){break na}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break na}if(A>>>0>=l[r>>1]){break ma}}oa:{if(E){break oa}A=l[a+4158>>1];if(!A){break oa}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break oa}if(A>>>0>=l[r>>1]){break ma}}if(!E|j[a+4268>>2]==j[a+4272>>2]){break ka}if(!hc(a,x+44|0,$<<16>>16,v,0,1)){break ka}}if(!J){break ja}A=l[(j[a+4248>>2]+p(Q,40)|0)+38>>1];if(!A){break ja}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)){break ka}if(A>>>0>=l[r>>1]){break ja}}v=j[v+12>>2];if(v){continue}break ia}break}A=l[a+4468>>1];pa:{if(!A){break pa}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(y^-1)+s|0:y;if(s){continue}break}}if((r|0)==(w|0)|A>>>0>1]){break pa}if(!q|!(k[q|0]&32)){break ia}}qa:{if(!v){break qa}t=j[x+44>>2];if(!t|!j[t+ea>>2]){break qa}y=D;break f}if(!v){break ia}t=R;ra:{if(j[a+4456>>2]!=36){break ra}u=i[v+2>>1];t=R;if(!u){break ra}y=j[v+4>>2];E=y+(u<<1)|0;r=y;s=u;while(1){A=s>>>1|0;t=(A<<1)+r|0;w=l[t>>1]<73;r=w?t+2|0:r;s=w?(A^-1)+s|0:A;if(s){continue}break}t=R;if((r|0)==(E|0)){break ra}s=R;if(l[r>>1]<=73){while(1){w=u>>>1|0;t=(w<<1)+y|0;r=l[t>>1]<74;y=r?t+2|0:y;u=r?(w^-1)+u|0:w;if(u){continue}break}t=P;if((y|0)==(E|0)){break ra}s=P;t=R;if(l[y>>1]<75){break ra}}t=s}u=t;t=j[v+4>>2];K=l[a+4160>>1];w=I;sa:{if(!K){break sa}s=i[v+2>>1];w=I;if(!s){break sa}y=(s<<1)+t|0;r=t;while(1){E=s>>>1|0;w=(E<<1)+r|0;A=K>>>0>l[w>>1];r=A?w+2|0:r;s=A?(E^-1)+s|0:E;if(s){continue}break}w=I;if((r|0)==(y|0)){break sa}w=(K>>>0>=l[r>>1])+I|0}ta:{if(!t){break ta}aa=l[v+2>>1];y=aa<<16>>16;Y=(y<<1)+t|0;r=t;if(aa){E=l[a+4192>>1];s=y;while(1){N=s>>>1|0;A=(N<<1)+r|0;K=E>>>0>l[A>>1];r=K?A+2|0:r;s=K?(N^-1)+s|0:N;if(s){continue}break}}if(!((r|0)==(Y|0)|l[a+4192>>1]>1])){y=0;break f}r=t;s=y;if(aa){while(1){K=s>>>1|0;A=(K<<1)+r|0;E=l[A>>1]<65511;r=E?A+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}}if(!((r|0)==(Y|0)|l[r>>1]>=65512)){y=0;break f}if(!o){break ta}K=l[a+4194>>1];if(!K){break ta}r=t;if(aa){while(1){E=y>>>1|0;s=(E<<1)+r|0;A=K>>>0>l[s>>1];r=A?s+2|0:r;y=A?(E^-1)+y|0:E;if(y){continue}break}}if((r|0)==(Y|0)|K>>>0>1]){break ta}y=0;break f}N=l[a+4152>>1];ua:{va:{if(!N){break va}s=i[v+2>>1];A=(s<<1)+t|0;r=t;if(s){while(1){K=s>>>1|0;y=(K<<1)+r|0;E=N>>>0>l[y>>1];r=E?y+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}}if((r|0)==(A|0)){break va}if(N>>>0>=l[r>>1]){break ua}}K=l[a+4158>>1];if(!K){break ia}r=i[v+2>>1];y=(r<<1)+t|0;if(r){while(1){E=r>>>1|0;s=(E<<1)+t|0;A=K>>>0>l[s>>1];t=A?s+2|0:t;r=A?(E^-1)+r|0:E;if(r){continue}break}}if((t|0)==(y|0)|K>>>0>1]){break ia}}y=0;t=j[a+4308>>2];wa:{xa:{ya:{if(!((t|0)==-1|(t|0)>((w<<16>>16)+1|0))){if(!j[a+4312>>2]){break ia}w=u<<16>>16;s=k[v|0];za:{Aa:{if(s>>>0>=11){t=s+16&496;A=U(t);j[x+8>>2]=t|-2147483648;j[x>>2]=A;j[x+4>>2]=s;break Aa}h[x+11|0]=s;A=x;if(!s){break za}}V(A,v+17|0,s)}r=0;h[s+A|0]=0;y=1;if((Gb(a,x)+w|0)>j[a+4312>>2]){break ya}}w=j[a+4248>>2];Ba:{if(!((w|0)==j[a+4252>>2]|J)){r=0;if(hd(a,h[b+11|0]<0?j[b>>2]:b,F,D,v)|(j[a+4172>>2]?(v|0)==(D|0):0)){break Ba}r=1;if(y){break ya}break wa}t=(v|0)==(D|0)&j[a+4172>>2]!=0;r=t^1;if(!J|t){break Ba}A=l[(w+p(Q,40)|0)+38>>1];if(!A){r=1;break Ba}r=j[v+4>>2];s=i[v+2>>1];w=r+(s<<1)|0;if(s){while(1){v=s>>>1|0;t=(v<<1)+r|0;u=A>>>0>l[t>>1];r=u?t+2|0:r;s=u?(v^-1)+s|0:v;if(s){continue}break}}if((r|0)==(w|0)){r=0;break Ba}r=A>>>0>=l[r>>1]}if(!y){break xa}}if(h[x+11|0]>-1){break xa}T(j[x>>2])}if(!r){break ia}}if(j[a+4176>>2]){y=0;if(od(a,h[b+11|0]<0?j[b>>2]:b,O)){break f}}y=id(a,h[b+11|0]<0?j[b>>2]:b,O)?0:D;break f}i[a+4364>>1]=0;j[a+4372>>2]=0;Ca:{Da:{Ea:{if(S){break Ea}w=l[a+4152>>1];if(!w){break Ea}r=(h[b+11|0]<0?j[b>>2]:b)+F|0;t=W(r);v=gb(a,r,t,2,w);if(v){break Da}v=Qa(a,r,t,0,0,0,w,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(v){break Da}v=eb(a,r,t,0,0,w);if(v){break Da}v=Lb(a,r,t,w)}if(v){break Da}}Fa:{if(S){break Fa}w=l[a+4158>>1];if(!w){break Fa}j[a+4372>>2]=0;j[a+4376>>2]=0;r=(h[b+11|0]<0?j[b>>2]:b)+F|0;t=W(r);v=gb(a,r,t,2,w);if(v){break Da}v=Qa(a,r,t,0,0,0,w,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(v){break Da}v=eb(a,r,t,0,0,w);if(v){break Da}v=Lb(a,r,t,w)}if(v){break Da}}w=0;y=1;if(j[a+4268>>2]==j[a+4272>>2]){t=B;break Ca}if(!j[x+44>>2]){t=B;break Ca}r=(h[b+11|0]<0?j[b>>2]:b)+F|0;t=W(r);s=gb(a,r,t,2,0);Ga:{if(s){break Ga}s=Qa(a,r,t,0,0,0,0,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(s){break Ga}s=eb(a,r,t,0,0,0);if(s){break Ga}s=Lb(a,r,t,0)}t=B;if(!s){break Ca}}t=B;if(!hc(a,x+44|0,$<<16>>16,s,0,1)){break Ca}y=D;break f}E=j[a+4248>>2];Ha:{if(J){A=l[(E+p(Q,40)|0)+38>>1];if(!A){break Ha}r=j[v+4>>2];s=i[v+2>>1];u=r+(s<<1)|0;if(s){while(1){y=s>>>1|0;t=(y<<1)+r|0;w=A>>>0>l[t>>1];r=w?t+2|0:r;s=w?(y^-1)+s|0:y;if(s){continue}break}}y=1;w=0;if((r|0)==(u|0)){t=0;break Ca}if(!v){t=0;break Ca}t=0;if(A>>>0>1]){break Ca}}if((E|0)==j[a+4252>>2]|J){break Ha}w=0;y=1;t=1;if(hd(a,h[b+11|0]<0?j[b>>2]:b,F,D,v)){break Ca}}Ia:{t=j[a+4376>>2];Ja:{if(!t){break Ja}r=j[t+56>>2];if(!r){break Ja}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){A=s>>>1|0;t=(A<<1)+r|0;y=w>>>0>l[t>>1];r=y?t+2|0:r;s=y?(A^-1)+s|0:A;if(s){continue}break}}if((r|0)==(u|0)){break Ja}if(l[a+4162>>1]>=l[r>>1]){break Ia}}Ka:{La:{Ma:{t=j[a+4372>>2];if(!t){break Ma}r=j[t+56>>2];if(!r){break Ma}s=i[t+60>>1];u=(s<<1)+r|0;if(s){w=l[a+4162>>1];while(1){A=s>>>1|0;t=(A<<1)+r|0;y=w>>>0>l[t>>1];r=y?t+2|0:r;s=y?(A^-1)+s|0:A;if(s){continue}break}}if((r|0)==(u|0)){break Ma}w=0;y=1;if(v){break La}t=B;break Ca}if(!v){break Ia}break Ka}t=B;if(l[a+4162>>1]>=l[r>>1]){break Ca}}u=j[v+4>>2];E=l[a+4468>>1];Na:{if(!E){break Na}s=i[v+2>>1];w=(s<<1)+u|0;r=u;if(s){while(1){A=s>>>1|0;t=(A<<1)+r|0;y=E>>>0>l[t>>1];r=y?t+2|0:r;s=y?(A^-1)+s|0:A;if(s){continue}break}}Oa:{if(!((r|0)==(w|0)|E>>>0>1])){w=0;y=1;if(!q){t=B;break Ca}if(v){break Oa}t=B;break Ca}if(!v){break Ia}break Na}t=B;if(!(j[q>>2]&32)){break Ca}}y=0;Pa:{if(!u){break Pa}Y=l[v+2>>1];w=Y<<16>>16;N=(w<<1)+u|0;r=u;if(Y){A=l[a+4192>>1];s=w;while(1){K=s>>>1|0;t=(K<<1)+r|0;E=A>>>0>l[t>>1];r=E?t+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}}if(!((r|0)==(N|0)|l[a+4192>>1]>1])){break f}r=u;s=w;if(Y){while(1){E=s>>>1|0;t=(E<<1)+r|0;A=l[t>>1]<65511;r=A?t+2|0:r;s=A?(E^-1)+s|0:E;if(s){continue}break}}if(!((r|0)==(N|0)|l[r>>1]>=65512)){break f}if(!o){break Pa}A=l[a+4194>>1];if(!A){break Pa}if(Y){while(1){s=w>>>1|0;t=(s<<1)+u|0;r=A>>>0>l[t>>1];u=r?t+2|0:u;w=r?(s^-1)+w|0:s;if(w){continue}break}}if((u|0)==(N|0)){break Pa}w=v;t=B;if(A>>>0>=l[u>>1]){break f}break Ca}w=v;t=B;break Ca}w=0;y=1;t=B}u=R;v=I;Qa:{Ra:{Sa:{if(j[a+4456>>2]!=36){break Sa}u=(h[b+11|0]<0?j[b>>2]:b)+F|0;A=W(u);if(A>>>0>=4294967280){break e}Ta:{Ua:{if(A>>>0>=11){r=A+16&-16;s=U(r);j[x+24>>2]=r|-2147483648;j[x+16>>2]=s;j[x+20>>2]=A;break Ua}h[x+27|0]=A;s=x+16|0;if(!A){break Ta}}V(s,u,A)}h[s+A|0]=0;E=Gb(a,x+16|0);if(h[x+27|0]<=-1){T(j[x+16>>2])}s=j[a+4356>>2];Va:{if(s){u=W(s);if(u>>>0>=4294967280){break e}Wa:{Xa:{if(u>>>0>=11){r=u+16&-16;A=U(r);j[x+24>>2]=r|-2147483648;j[x+16>>2]=A;j[x+20>>2]=u;break Xa}h[x+27|0]=u;A=x+16|0;if(!u){break Wa}}V(A,s,u)}h[u+A|0]=0;Ua(x+16|0);s=Gb(a,x+16|0);r=l[a+4360>>1];if(h[x+27|0]<=-1){T(j[x+16>>2])}r=r+s|0;break Va}r=j[a+4360>>2]}u=j[a+4376>>2];if(u){s=u+4|0;s=h[u+15|0]<=-1?j[s>>2]:s;v=W(s);if(v>>>0>=4294967280){break e}Ya:{Za:{if(v>>>0>=11){u=v+16&-16;A=U(u);j[x+24>>2]=u|-2147483648;j[x+16>>2]=A;j[x+20>>2]=v;break Za}h[x+27|0]=v;A=x+16|0;if(!v){break Ya}}V(A,s,v)}h[v+A|0]=0;s=Gb(a,x+16|0);if(h[x+27|0]<=-1){T(j[x+16>>2])}v=((s|0)>1)+I|0}u=(E+R|0)-r|0;r=h[a+4351|0];s=j[a+4344>>2];_a:{if((r|0)<=-1){break _a}s=r&255}if(!s){break Sa}$a:{switch(l[a+4364>>1]-73|0){case 26:if(y){break Qa}u=u+2|0;break Ra;case 1:if(y){break Qa}u=u+1|0;break Ra;case 0:break $a;default:break Sa}}if(y){break Qa}s=i[w+2>>1];if(!s){break Ra}r=j[w+4>>2];E=r+(s<<1)|0;while(1){N=s>>>1|0;A=(N<<1)+r|0;K=l[A>>1]<74;r=K?A+2|0:r;s=K?(N^-1)+s|0:N;if(s){continue}break}if((r|0)==(E|0)){break Ra}if(l[r>>1]>74){break Sa}u=u+1|0;break Ra}if(y){break Qa}}N=l[a+4160>>1];ab:{if(!N){break ab}s=i[w+2>>1];if(!s){break ab}r=j[w+4>>2];A=r+(s<<1)|0;while(1){K=s>>>1|0;y=(K<<1)+r|0;E=N>>>0>l[y>>1];r=E?y+2|0:r;s=E?(K^-1)+s|0:K;if(s){continue}break}if((r|0)==(A|0)){break ab}v=(N>>>0>=l[r>>1])+v|0}r=j[a+4308>>2];if(!((r|0)==-1|(r|0)>((v<<16>>16)+1|0))){r=j[a+4312>>2];if(!r|(r|0)>16){break Qa}}if(j[a+4172>>2]?(w|0)==(D|0):0){break Qa}if(j[a+4176>>2]){y=0;if(od(a,h[b+11|0]<0?j[b>>2]:b,O)){break f}}y=id(a,h[b+11|0]<0?j[b>>2]:b,O)?0:D;break f}bb:{if((e|0)<=(ja|0)){break bb}E=ed(a,sa(x+16|0,x+32|0,F,-1),ia<<16>>16,R<<16>>16,e,$<<16>>16,j[x+44>>2],m,0,o,q);if(h[x+27|0]<=-1){T(j[x+16>>2])}if(!E){break bb}w=h[b+11|0];cb:{if(j[a+4248>>2]==j[a+4252>>2]){A=j[b>>2];break cb}A=j[b>>2];r=hd(a,(w|0)<0?A:b,F,D,E);if(t){if(!r){break cb}break bb}if(!r){break bb}}y=0;if(id(a,(w|0)<0?A:b,O)){break f}db:{if(!j[a+4176>>2]){if(l[a+4192>>1]){break db}y=D;break f}if(od(a,h[b+11|0]<0?j[b>>2]:b,O)){break f}}t=k[E|0];if(Db(E+17|0,(h[b+11|0]<0?j[b>>2]:b)+F|0,t)){y=D;break f}t=(t+F|0)+(h[x+43|0]<0?j[x+32>>2]:x+32|0)|0;r=k[t|0];h[t|0]=0;eb:{fb:{if(j[a+4176>>2]){if(od(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,k[E|0]+F|0)){break fb}}if(!id(a,h[x+43|0]<0?j[x+32>>2]:x+32|0,k[E|0]+F|0)){break eb}}h[(k[E|0]+F|0)+(h[x+43|0]<0?j[x+32>>2]:x+32|0)|0]=r;break bb}gb:{if(!l[a+4192>>1]){break gb}u=h[b+11|0];v=j[b>>2];c=j[a+4096>>2];t=j[c>>2];hb:{if((t|0)!=j[c+4>>2]){s=0;d=(u|0)<0?v:b;while(1){J=dc(j[(s<<2)+t>>2],d);if(!J){c=j[a+4096>>2];t=j[c>>2];s=s+1|0;if(s>>>0>2]-t>>2>>>0){continue}}break}if(J){break hb}v=j[b>>2];u=k[b+11|0]}b=u<<24>>24<0?v:b;J=gb(a,b,O,0,0);if(J){break hb}J=Qa(a,b,O,0,0,0,0,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(J){break hb}J=eb(a,b,O,0,0,0);if(J){break hb}J=Lb(a,b,O,0)}if(!J){break gb}}s=j[J+4>>2];if(!s){break gb}t=i[J+2>>1];d=(t<<1)+s|0;if(t){c=l[a+4192>>1];while(1){f=t>>>1|0;b=(f<<1)+s|0;e=c>>>0>l[b>>1];s=e?b+2|0:s;t=e?(f^-1)+t|0:f;if(t){continue}break}}if((d|0)==(s|0)|l[a+4192>>1]>1]){break gb}if(!Db(J+17|0,h[x+43|0]<0?j[x+32>>2]:x+32|0,k[E|0]+F|0)){break f}}h[(k[E|0]+F|0)+(h[x+43|0]<0?j[x+32>>2]:x+32|0)|0]=r;y=D;break f}if((_|0)!=0&G){continue}break}_=G?_:0;F=(G^1)+F|0}G=H;break w}I=w}w=L?ga:O;J=J+1|0;F=L?L:F;Q=0;t=L?ha:ba}if(!j[a+4260>>2]|S){break h}L=F;if((j[a+4252>>2]-j[a+4248>>2]|0)/40>>>0>=J>>>0){continue}break h}break}t=ba;Q=L;w=O}ib:{if(Q){ua(x+32|0,b);L=Q;break ib}h[(h[x+43|0]<0?j[x+32>>2]:x+32|0)+F|0]=ca;L=F}if(!(c|S)){S=1;if(j[a+4268>>2]!=j[a+4272>>2]){continue}}break}y=0;u=L+1|0;if((u|0)<(t|0)){continue}break}}if(h[x+43|0]<=-1){T(j[x+32>>2])}M=x+48|0;return y}X();z()}function Qf(a,b,c,d,e,f,g,m,n,o,p){var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,Y=0,_=0,ba=0,da=0,ea=0,fa=0,ga=0;r=M+ -64|0;M=r;j[r+56>>2]=0;j[r+48>>2]=0;j[r+52>>2]=0;j[r+40>>2]=0;j[r+32>>2]=0;j[r+36>>2]=0;a:{if(!d){fa=148532,ga=C()|0,j[fa>>2]=ga;break a}if(!j[37133]){break a}if((C()|0)<=(j[37133]+5e4|0)){break a}j[37133]=0}I=j[a+4200>>2];b:{if(j[a+4144>>2]){if((I|0)<1){I=0;break b}q=c-1|0;while(1){if((c|0)>(w|0)){while(1){c:{if((q|0)==(w|0)){w=c;break c}w=w+1|0;if((k[w+b|0]&192)==128){continue}}break}u=u+1|0;if((I|0)!=(u|0)){continue}}break}if((I|0)<2){I=w;break b}s=I-1|0;q=0;while(1){if((c|0)<0){I=w;break b}while(1){d:{if((c|0)<1){c=-1;break d}c=c-1|0;if((k[c+b|0]&192)==128){continue}}break}q=q+1|0;if((s|0)!=(q|0)){continue}break}I=w;break b}c=(c-I|0)+1|0}Ja(r+48|0,b);e:{f:{if((c|0)<=(I|0)){Q=r+32|0;break f}S=(m|0)!=0;N=g+1|0;Y=N<<2;_=g<<2;while(1){g:{if(!j[a+4144>>2]){w=I+1|0;G=I;break g}q=h[r+59|0]<0?j[r+48>>2]:r+48|0;w=I;while(1){G=w;w=w+1|0;if((k[q+G|0]&192)==128){continue}break}if((c|0)>(G|0)){break g}Q=r+32|0;break f}j[r+60>>2]=m;I=w;ba=b+w|0;E=b+G|0;da=E-2|0;ea=E-1|0;H=d;L=S;while(1){Q=r+32|0;if(!j[37133]){break f}d=(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0;O=k[d|0];h[d|0]=0;j[a+4372>>2]=0;h:{if(h[r+43|0]<=-1){h[j[r+32>>2]]=0;j[r+36>>2]=0;break h}h[r+43|0]=0;h[r+32|0]=0}if(p){q=k[p+11|0];d=q<<24>>24<0;aa(r+32|0,d?j[p>>2]:p,d?j[p+4>>2]:q)}v=1;w=0;x=0;d=j[a+4096>>2];q=j[d>>2];i:{j:{k:{if((q|0)==j[d+4>>2]){break k}s=h[r+59|0]<0?j[r+48>>2]:r+48|0;while(1){x=dc(j[(w<<2)+q>>2],s);if(!x){d=j[a+4096>>2];q=j[d>>2];w=w+1|0;if(w>>>0>2]-q>>2>>>0){continue}}break}l:{if(x){u=l[a+4162>>1];m:{if(!u){break m}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){t=q>>>1|0;d=(t<<1)+w|0;A=u>>>0>l[d>>1];w=A?d+2|0:w;q=A?(t^-1)+q|0:t;if(q){continue}break}}if((s|0)==(w|0)){break m}if(u>>>0>=l[w>>1]){break j}}while(1){u=l[a+4198>>1];n:{o:{if(!u){break o}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){t=q>>>1|0;d=(t<<1)+w|0;A=u>>>0>l[d>>1];w=A?d+2|0:w;q=A?(t^-1)+q|0:t;if(q){continue}break}}if((s|0)==(w|0)){break o}if(u>>>0>=l[w>>1]){break n}}t=j[r+60>>2];p:{if(L){break p}y=l[a+4152>>1];if(t|!y){break p}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){u=q>>>1|0;d=(u<<1)+w|0;A=y>>>0>l[d>>1];w=A?d+2|0:w;q=A?(u^-1)+q|0:u;if(q){continue}break}}if((s|0)==(w|0)){break p}if(y>>>0>=l[w>>1]){break l}}q:{if(H&65535|L){break q}y=l[a+4154>>1];if(!y){break q}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){u=q>>>1|0;d=(u<<1)+w|0;A=y>>>0>l[d>>1];w=A?d+2|0:w;q=A?(u^-1)+q|0:u;if(q){continue}break}}if((s|0)==(w|0)){break q}if(y>>>0>=l[w>>1]){break l}}r:{if(!(H&65535)|(t|L)){break r}y=l[a+4156>>1];if(!y){break r}w=j[x+4>>2];q=i[x+2>>1];s=w+(q<<1)|0;if(q){while(1){u=q>>>1|0;d=(u<<1)+w|0;A=y>>>0>l[d>>1];w=A?d+2|0:w;q=A?(u^-1)+q|0:u;if(q){continue}break}}if((s|0)==(w|0)){break r}if(y>>>0>=l[w>>1]){break l}}if(!L|j[a+4268>>2]==j[a+4272>>2]){break n}if(!(t|H&65535)){if(hc(a,r+60|0,g,x,n,0)){break l}t=j[r+60>>2]}if(!t){break n}if(hc(a,r+60|0,g,x,n,0)){break l}}x=j[x+12>>2];if(x){continue}break}}x=0;break k}v=0}w=x;if(!j[37133]){break f}s:{t:{if(!v){Z(r+32|0,32);$(r+32|0,1744);$(r+32|0,h[r+59|0]<0?j[r+48>>2]:r+48|0);q=k[w+16|0];u:{v:{if(!(q&1)){break v}w:{if(q&2){d=k[w|0]+w|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break v}q=k[w+16|0];d=0;if(!(q&1)){break w}}s=(k[w|0]+w|0)+18|0;d=s;if(!(q&2)){break w}d=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}if(ca(d,1748)){break u}}Z(r+32|0,32);$(r+32|0,1748);$(r+32|0,h[r+59|0]<0?j[r+48>>2]:r+48|0)}d=k[w+16|0];x:{if(!(d&1)){break x}if(d&2){d=k[w|0]+w|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break x}}Z(r+32|0,32);q=r+32|0;d=k[w+16|0];s=1810;y:{if(!(d&1)){break y}x=(k[w|0]+w|0)+18|0;s=x;if(!(d&2)){break y}s=k[x|0]|k[x+1|0]<<8|(k[x+2|0]<<16|k[x+3|0]<<24)}$(q,s)}u=0;s=j[w+4>>2];if(!s){break t}D=l[w+2>>1];t=D<<16>>16;B=(t<<1)+s|0;q=s;if(D){A=l[a+4192>>1];d=t;while(1){y=d>>>1|0;x=(y<<1)+q|0;v=A>>>0>l[x>>1];q=v?x+2|0:q;d=v?(y^-1)+d|0:y;if(d){continue}break}}z:{if(l[a+4192>>1]>=l[q>>1]?(q|0)!=(B|0):0){break z}q=s;d=t;if(D){while(1){v=d>>>1|0;x=(v<<1)+q|0;A=l[x>>1]<65511;q=A?x+2|0:q;d=A?(v^-1)+d|0:v;if(d){continue}break}}if(l[q>>1]<65512?(q|0)!=(B|0):0){break z}if(D){q=l[a+4198>>1];while(1){A=t>>>1|0;d=(A<<1)+s|0;x=q>>>0>l[d>>1];s=x?d+2|0:s;t=x?(A^-1)+t|0:A;if(t){continue}break}}if((s|0)==(B|0)|l[a+4198>>1]>1]){break t}}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O;break j}d=l[a+4152>>1];A:{B:{if(!d){break B}w=gb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,1,d);if(w){break A}w=Qa(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,0,l[a+4152>>1],1);if(!w){if(!j[a+4168>>2]){break B}w=eb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,l[a+4152>>1]);if(!w){break B}}y=j[a+4372>>2];x=j[y+56>>2];if(!x){break A}u=l[a+4162>>1];C:{if(!u){break C}d=i[y+60>>1];A=(d<<1)+x|0;q=x;if(d){while(1){v=d>>>1|0;s=(v<<1)+q|0;t=u>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(A|0)){break C}if(u>>>0>=l[q>>1]){break B}}D:{v=l[a+4158>>1];if(!v){break D}q=i[y+60>>1];s=(q<<1)+x|0;if(q){while(1){t=q>>>1|0;d=(t<<1)+x|0;A=v>>>0>l[d>>1];x=A?d+2|0:x;q=A?(t^-1)+q|0:t;if(q){continue}break}}if((s|0)==(x|0)){break D}if(!w|v>>>0>=l[x>>1]){break B}break A}if(w){break A}}if(!(H&65535)){d=l[a+4154>>1];if(!d){break s}w=Qa(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,0,d,1);if(w){break A}if(j[a+4168>>2]){w=eb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,l[a+4154>>1]);if(w){break A}}w=gb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,1,l[a+4154>>1]);if(w){break A}break s}if(H<<16>>16<1){break s}d=l[a+4156>>1];if(!d){break s}w=Qa(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,0,d,1);if(w){break A}if(j[a+4168>>2]){w=eb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,0,0,l[a+4156>>1]);if(w){break A}}w=gb(a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,1,l[a+4156>>1]);if(!w){break s}}j[r+24>>2]=0;j[r+16>>2]=0;j[r+20>>2]=0;d=l[a+4152>>1];E:{if(d){fc(r,a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;d=h[r+27|0];if((d|0)<0?j[r+20>>2]:d&255){break E}}if(!(H&65535)){d=l[a+4154>>1];if(!d){break E}fc(r,a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;break E}if(H<<16>>16<1){break E}d=l[a+4156>>1];if(!d){break E}fc(r,a,h[r+59|0]<0?j[r+48>>2]:r+48|0,G,d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d}q=k[r+27|0];d=q<<24>>24;if((d|0)<0?j[r+20>>2]:q){Z(r+32|0,32);$(r+32|0,1744);$(r+32|0,h[r+59|0]<0?j[r+48>>2]:r+48|0);Od(r+16|0);q=k[r+27|0];d=q<<24>>24<0;aa(r+32|0,d?j[r+16>>2]:r+16|0,d?j[r+20>>2]:q);d=k[r+27|0]}if(d<<24>>24<=-1){T(j[r+16>>2])}u=1}F:{if(!w){break F}d=j[a+4376>>2];G:{if(!d){break G}q=j[d+56>>2];if(!q){break G}d=i[d+60>>1];A=(d<<1)+q|0;if(d){x=l[a+4162>>1];while(1){v=d>>>1|0;s=(v<<1)+q|0;t=x>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(A|0)){break G}if(l[a+4162>>1]>=l[q>>1]){break j}}d=j[a+4372>>2];if(!d){break F}q=j[d+56>>2];if(!q){break F}d=i[d+60>>1];A=(d<<1)+q|0;if(d){x=l[a+4162>>1];while(1){v=d>>>1|0;s=(v<<1)+q|0;t=x>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(A|0)){break F}if(l[a+4162>>1]>=l[q>>1]){break j}}H:{if(!w|u){break H}v=l[a+4158>>1];I:{if(!v){break I}d=j[a+4376>>2];J:{if(!d){break J}q=j[d+56>>2];if(!q){break J}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break J}if(v>>>0>=l[q>>1]){break j}}d=j[a+4372>>2];if(!d){break I}q=j[d+56>>2];if(!q){break I}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break I}if(v>>>0>=l[q>>1]){break j}}if(H&65535){break H}v=l[a+4156>>1];if(!v){break H}d=j[a+4376>>2];K:{if(!d){break K}q=j[d+56>>2];if(!q){break K}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break K}if(v>>>0>=l[q>>1]){break s}}d=j[a+4372>>2];if(!d){break H}q=j[d+56>>2];if(!q){break H}d=i[d+60>>1];x=(d<<1)+q|0;if(d){while(1){t=d>>>1|0;s=(t<<1)+q|0;A=v>>>0>l[s>>1];q=A?s+2|0:q;d=A?(t^-1)+d|0:t;if(d){continue}break}}if((q|0)==(x|0)){break H}if(v>>>0>=l[q>>1]){break s}}if(!w){break s}s=j[w+4>>2];L:{if(!s){break L}D=l[w+2>>1];x=D<<16>>16;B=s+(x<<1)|0;q=s;if(D){t=l[a+4192>>1];d=x;while(1){y=d>>>1|0;A=(y<<1)+q|0;v=t>>>0>l[A>>1];q=v?A+2|0:q;d=v?(y^-1)+d|0:y;if(d){continue}break}}if(l[a+4192>>1]>=l[q>>1]?(q|0)!=(B|0):0){break j}q=s;if(D){while(1){t=x>>>1|0;d=(t<<1)+q|0;A=l[d>>1]<65511;q=A?d+2|0:q;x=A?(t^-1)+x|0:t;if(x){continue}break}}if((q|0)==(B|0)){break L}if(l[q>>1]<65512){break j}}M:{N:{y=l[a+4160>>1];if(!y){break N}d=i[w+2>>1];if(!d){break N}A=s+(d<<1)|0;q=s;while(1){v=d>>>1|0;x=(v<<1)+q|0;t=y>>>0>l[x>>1];q=t?x+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}A=(q|0)!=(A|0)?(y>>>0>=l[q>>1])+H|0:H;break M}A=H}O:{if(u){break O}d=j[r+60>>2];if(j[d+_>>2]?d:0){break O}y=l[a+4152>>1];P:{if(!y){break P}d=i[w+2>>1];t=s+(d<<1)|0;q=s;if(d){while(1){u=d>>>1|0;x=(u<<1)+q|0;v=y>>>0>l[x>>1];q=v?x+2|0:q;d=v?(u^-1)+d|0:u;if(d){continue}break}}if((q|0)==(t|0)){break P}if(y>>>0>=l[q>>1]){break O}}Q:{R:{if(H&65535){break R}y=l[a+4154>>1];if(!y){break Q}d=i[w+2>>1];t=s+(d<<1)|0;q=s;if(d){while(1){u=d>>>1|0;x=(u<<1)+q|0;v=y>>>0>l[x>>1];q=v?x+2|0:q;d=v?(u^-1)+d|0:u;if(d){continue}break}}if((q|0)==(t|0)){break R}if(y>>>0>=l[q>>1]){break O}}if(H<<16>>16<1){break Q}u=l[a+4156>>1];if(!u){break Q}d=i[w+2>>1];x=s+(d<<1)|0;q=s;if(d){while(1){v=d>>>1|0;s=(v<<1)+q|0;t=u>>>0>l[s>>1];q=t?s+2|0:q;d=t?(v^-1)+d|0:v;if(d){continue}break}}if((q|0)==(x|0)){break Q}if(u>>>0>=l[q>>1]){break O}}break s}q=j[r+60>>2];S:{if(q|!j[a+4184>>2]){break S}d=k[ea|0];if((d|0)!=k[E|0]){break S}if((d|0)==k[ba|0]|((d|0)==k[da|0]?(G|0)>=2:0)){break s}}if(!(j[a+4248>>2]==j[a+4252>>2]|q)){if(hd(a,b,G,w,0)){break s}}if(!(!j[a+4180>>2]|q)){if(hg(a,b,G)){break s}}T:{if(j[a+4456>>2]!=36){x=e;break T}d=Gb(a,sa(r+16|0,r+48|0,0,G));if(h[r+27|0]<=-1){T(j[r+16>>2])}x=d+e|0;q=j[a+4376>>2];if(!q){break T}d=q+4|0;d=h[q+15|0]<=-1?j[d>>2]:d;s=W(d);if(s>>>0>=4294967280){break e}U:{V:{if(s>>>0>=11){q=s+16&-16;u=U(q);j[r+24>>2]=q|-2147483648;j[r+16>>2]=u;j[r+20>>2]=s;break V}h[r+27|0]=s;u=r+16|0;if(!s){break U}}V(u,d,s)}h[s+u|0]=0;d=Gb(a,r+16|0);if(h[r+27|0]<=-1){T(j[r+16>>2])}A=((d|0)>1)+A|0}q=0;s=j[a+4096>>2];d=j[s>>2];W:{if((d|0)==j[s+4>>2]){break W}while(1){t=dc(j[(q<<2)+d>>2],E);if(!t){s=j[a+4096>>2];d=j[s>>2];q=q+1|0;if(q>>>0>2]-d>>2>>>0){continue}}break}if(!t){break W}while(1){X:{Y:{B=l[a+4198>>1];Z:{if(!B){break Z}q=j[t+4>>2];d=i[t+2>>1];v=q+(d<<1)|0;if(d){while(1){y=d>>>1|0;s=(y<<1)+q|0;u=B>>>0>l[s>>1];q=u?s+2|0:q;d=u?(y^-1)+d|0:y;if(d){continue}break}}if((q|0)==(v|0)){break Z}if(B>>>0>=l[q>>1]){break Y}}v=j[r+60>>2];D=l[a+4152>>1];_:{$:{if(v|!D){break $}q=j[t+4>>2];d=i[t+2>>1];u=q+(d<<1)|0;if(d){while(1){B=d>>>1|0;s=(B<<1)+q|0;y=D>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(u|0)){break $}if(D>>>0>=l[q>>1]){break _}}aa:{if(v){break aa}D=l[a+4158>>1];if(!D){break aa}q=j[t+4>>2];d=i[t+2>>1];u=q+(d<<1)|0;if(d){while(1){B=d>>>1|0;s=(B<<1)+q|0;y=D>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(u|0)){break aa}if(D>>>0>=l[q>>1]){break _}}if(!v|j[a+4268>>2]==j[a+4272>>2]){break Y}if(!hc(a,r+60|0,N<<16>>16,t,0,1)){break Y}v=j[r+60>>2]}if(!v|!j[v+Y>>2]){break X}c=k[r+43|0];b=c<<24>>24<0;aa(o,b?j[r+32>>2]:r+32|0,b?j[r+36>>2]:c);Z(o,32);$(o,1744);$(o,E);ba:{if(!j[a+4148>>2]){break ba}w=k[t+16|0];if(!(w&1)){break ba}b=o;ca:{if(w&2){c=k[t|0]+t|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break ba}w=k[t+16|0];c=1810;if(!(w&1)){break ca}}d=(k[t|0]+t|0)+18|0;c=d;if(!(w&2)){break ca}c=k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24)}$(b,c)}w=k[t+16|0];da:{ea:{if(!(w&1)){break ea}fa:{if(w&2){b=k[t|0]+t|0;if(!(k[b+18|0]|k[b+19|0]<<8|(k[b+20|0]<<16|k[b+21|0]<<24))){break ea}w=k[t+16|0];b=0;if(!(w&1)){break fa}}c=(k[t|0]+t|0)+18|0;b=c;if(!(w&2)){break fa}b=k[c|0]|k[c+1|0]<<8|(k[c+2|0]<<16|k[c+3|0]<<24)}if(ca(b,1748)){break da}}Z(o,32);$(o,1748);$(o,t+17|0)}ga:{if(j[a+4148>>2]){break ga}a=k[t+16|0];if(!(a&1)){break ga}if(a&2){a=k[t|0]+t|0;if(!(k[a+18|0]|k[a+19|0]<<8|(k[a+20|0]<<16|k[a+21|0]<<24))){break ga}}Z(o,32);a=o;b=k[t+16|0];c=1810;ha:{if(!(b&1)){break ha}d=(k[t|0]+t|0)+18|0;c=d;if(!(b&2)){break ha}c=k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24)}$(a,c)}Z(o,10);break f}t=j[t+12>>2];if(t){continue}break W}break}d=x;ia:{if(j[a+4456>>2]!=36){break ia}s=j[t+4>>2];F=l[t+2>>1];v=F<<16>>16;D=s+(v<<1)|0;q=s;d=v;if(F){while(1){B=d>>>1|0;u=(B<<1)+q|0;y=l[u>>1]<73;q=y?u+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}d=x;if((q|0)==(D|0)){break ia}d=x;if(l[q>>1]>73){break ia}if(F){while(1){u=v>>>1|0;d=(u<<1)+s|0;q=l[d>>1]<74;s=q?d+2|0:s;v=q?(u^-1)+v|0:u;if(v){continue}break}}d=x-1|0;if((s|0)==(D|0)){break ia}d=x-(l[s>>1]>74)|0}y=d;s=j[t+4>>2];F=l[a+4160>>1];d=A;ja:{if(!F){break ja}d=i[t+2>>1];u=(d<<1)+s|0;q=s;if(d){while(1){D=d>>>1|0;v=(D<<1)+q|0;B=F>>>0>l[v>>1];q=B?v+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}}d=A;if((q|0)==(u|0)){break ja}d=(F>>>0>=l[q>>1])+A|0}ka:{if(!s){break ka}R=l[t+2>>1];v=R<<16>>16;K=(v<<1)+s|0;q=s;if(R){D=l[a+4192>>1];u=v;while(1){J=u>>>1|0;B=(J<<1)+q|0;F=D>>>0>l[B>>1];q=F?B+2|0:q;u=F?(J^-1)+u|0:J;if(u){continue}break}}if(!(l[a+4192>>1]>=l[q>>1]?(q|0)!=(K|0):0)){q=s;if(R){while(1){D=v>>>1|0;u=(D<<1)+q|0;B=l[u>>1]<65511;q=B?u+2|0:q;v=B?(D^-1)+v|0:D;if(v){continue}break}}if((q|0)==(K|0)|l[q>>1]>65511){break ka}}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O;e=y;break i}J=l[a+4152>>1];la:{ma:{if(!J){break ma}u=i[t+2>>1];B=(u<<1)+s|0;q=s;if(u){while(1){F=u>>>1|0;v=(F<<1)+q|0;D=J>>>0>l[v>>1];q=D?v+2|0:q;u=D?(F^-1)+u|0:F;if(u){continue}break}}if((q|0)==(B|0)){break ma}if(J>>>0>=l[q>>1]){break la}}F=l[a+4158>>1];if(!F){break W}q=i[t+2>>1];u=(q<<1)+s|0;if(q){while(1){D=q>>>1|0;v=(D<<1)+s|0;B=F>>>0>l[v>>1];s=B?v+2|0:s;q=B?(D^-1)+q|0:D;if(q){continue}break}}if((s|0)==(u|0)|F>>>0>1]){break W}}q=j[a+4308>>2];na:{if(!((q|0)==-1|(q|0)>((d<<16>>16)+1|0))){if(!j[a+4312>>2]){break W}s=y<<16>>16;v=k[t|0];oa:{pa:{if(v>>>0>=11){q=v+16&496;d=U(q);j[r+24>>2]=q|-2147483648;j[r+16>>2]=d;j[r+20>>2]=v;break pa}h[r+27|0]=v;d=r+16|0;if(!v){break oa}}V(d,t+17|0,v)}u=0;h[d+v|0]=0;if((Gb(a,r+16|0)+s|0)<=j[a+4312>>2]){u=!j[a+4172>>2]|(t|0)!=(w|0)}if(h[r+27|0]<=-1){T(j[r+16>>2])}if(u){break na}break W}if((t|0)!=(w|0)){break na}if(j[a+4172>>2]){break W}}q=k[r+43|0];d=q<<24>>24<0;aa(o,d?j[r+32>>2]:r+32|0,d?j[r+36>>2]:q);Z(o,32);$(o,1744);$(o,E);d=k[t+16|0];qa:{if(!(d&1)){break qa}if(d&2){d=k[t|0]+t|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break qa}}if(j[a+4148>>2]){d=o;q=k[t+16|0];s=1810;ra:{if(!(q&1)){break ra}v=(k[t|0]+t|0)+18|0;s=v;if(!(q&2)){break ra}s=k[v|0]|k[v+1|0]<<8|(k[v+2|0]<<16|k[v+3|0]<<24)}$(d,s)}q=k[t+16|0];sa:{ta:{if(!(q&1)){break ta}ua:{if(q&2){d=k[t|0]+t|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break ta}q=k[t+16|0];d=0;if(!(q&1)){break ua}}s=(k[t|0]+t|0)+18|0;d=s;if(!(q&2)){break ua}d=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}if(ca(d,1748)){break sa}}Z(o,32);$(o,1748);$(o,t+17|0)}if(j[a+4148>>2]){break qa}Z(o,32);d=o;q=k[t+16|0];s=1810;va:{if(!(q&1)){break va}t=(k[t|0]+t|0)+18|0;s=t;if(!(q&2)){break va}s=k[t|0]|k[t+1|0]<<8|(k[t+2|0]<<16|k[t+3|0]<<24)}$(d,s)}Z(o,10);P=1}i[a+4364>>1]=0;j[a+4372>>2]=0;wa:{xa:{ya:{za:{Aa:{if(L){break Aa}q=l[a+4152>>1];if(!q){break Aa}d=W(E);u=gb(a,E,d,0,q);if(u){break za}u=Qa(a,E,d,0,0,0,q,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(u){break ya}u=eb(a,E,d,0,0,q);if(u){break za}u=Lb(a,E,d,q)}if(u){break za}}Ba:{if(L){break Ba}q=l[a+4158>>1];if(!q){break Ba}j[a+4372>>2]=0;j[a+4376>>2]=0;d=W(E);u=gb(a,E,d,0,q);if(u){break za}u=Qa(a,E,d,0,0,0,q,0);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(u){break ya}u=eb(a,E,d,0,0,q);if(u){break za}u=Lb(a,E,d,q)}if(u){break za}}v=0;K=1;if(!j[r+60>>2]|j[a+4268>>2]==j[a+4272>>2]){break wa}d=W(E);u=gb(a,E,d,2,0);Ca:{if(u){break Ca}u=Qa(a,E,d,0,0,0,0,2);if(j[a+4488>>2]){j[a+4372>>2]=0;j[a+4376>>2]=0;if(u){break Ca}u=eb(a,E,d,0,0,0);if(u){break Ca}u=Lb(a,E,d,0)}if(!u){break wa}}if(!hc(a,r+60|0,N<<16>>16,u,0,1)){break za}j[r+24>>2]=0;j[r+16>>2]=0;j[r+20>>2]=0;d=l[a+4152>>1];Da:{if(d){fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;d=h[r+27|0];if((d|0)<0?j[r+20>>2]:d&255){break Da}}d=l[a+4158>>1];if(!d){break Da}fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d}q=k[r+43|0];d=q<<24>>24<0;aa(o,d?j[r+32>>2]:r+32|0,d?j[r+36>>2]:q);d=k[r+27|0];if(d<<24>>24<0?j[r+20>>2]:d){Z(o,32);$(o,1744);$(o,E);Od(r+16|0);q=k[r+27|0];d=q<<24>>24<0;aa(o,d?j[r+16>>2]:r+16|0,d?j[r+20>>2]:q)}Z(o,10);if(h[r+27|0]<=-1){T(j[r+16>>2])}P=1}d=j[a+4376>>2];Ea:{if(!d){break Ea}q=j[d+56>>2];if(!q){break Ea}d=i[d+60>>1];v=(d<<1)+q|0;if(d){t=l[a+4162>>1];while(1){B=d>>>1|0;s=(B<<1)+q|0;y=t>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(v|0)){break Ea}if(l[a+4162>>1]>=l[q>>1]){break xa}}Fa:{d=j[a+4372>>2];if(!d){break Fa}q=j[d+56>>2];if(!q){break Fa}d=i[d+60>>1];v=(d<<1)+q|0;if(d){t=l[a+4162>>1];while(1){B=d>>>1|0;s=(B<<1)+q|0;y=t>>>0>l[s>>1];q=y?s+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(v|0)){break Fa}v=0;K=1;if(l[a+4162>>1]>=l[q>>1]){break wa}if(u){break ya}break wa}if(!u){break xa}}K=0;Ga:{s=j[u+4>>2];Ha:{if(!s){break Ha}J=l[u+2>>1];t=J<<16>>16;F=(t<<1)+s|0;q=s;if(J){y=l[a+4192>>1];d=t;while(1){D=d>>>1|0;v=(D<<1)+q|0;B=y>>>0>l[v>>1];q=B?v+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}}if(!(l[a+4192>>1]>=l[q>>1]?(q|0)!=(F|0):0)){q=s;d=t;if(J){while(1){B=d>>>1|0;v=(B<<1)+q|0;y=l[v>>1]<65511;q=y?v+2|0:q;d=y?(B^-1)+d|0:B;if(d){continue}break}}if((q|0)==(F|0)|l[q>>1]>65511){break Ha}}if(J){q=l[a+4198>>1];while(1){y=t>>>1|0;d=(y<<1)+s|0;v=q>>>0>l[d>>1];s=v?d+2|0:s;t=v?(y^-1)+t|0:y;if(t){continue}break}}if((s|0)==(F|0)|l[a+4198>>1]>1]){break Ga}}v=u;break wa}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O;e=x;d=A;break i}v=0;K=1}u=x;t=A;Ia:{Ja:{Ka:{if(j[a+4456>>2]!=36){break Ka}s=W(E);if(s>>>0>=4294967280){break e}La:{Ma:{if(s>>>0>=11){q=s+16&-16;d=U(q);j[r+24>>2]=q|-2147483648;j[r+16>>2]=d;j[r+20>>2]=s;break Ma}h[r+27|0]=s;d=r+16|0;if(!s){break La}}V(d,E,s)}h[d+s|0]=0;y=Gb(a,r+16|0);if(h[r+27|0]<=-1){T(j[r+16>>2])}q=j[a+4356>>2];Na:{if(q){s=W(q);if(s>>>0>=4294967280){break e}Oa:{Pa:{if(s>>>0>=11){d=s+16&-16;u=U(d);j[r+24>>2]=d|-2147483648;j[r+16>>2]=u;j[r+20>>2]=s;break Pa}h[r+27|0]=s;u=r+16|0;if(!s){break Oa}}V(u,q,s)}h[s+u|0]=0;Ua(r+16|0);q=Gb(a,r+16|0);d=l[a+4360>>1];if(h[r+27|0]<=-1){T(j[r+16>>2])}q=d+q|0;break Na}q=j[a+4360>>2]}t=A;s=j[a+4376>>2];if(s){d=s+4|0;d=h[s+15|0]<=-1?j[d>>2]:d;t=W(d);if(t>>>0>=4294967280){break e}Qa:{Ra:{if(t>>>0>=11){s=t+16&-16;u=U(s);j[r+24>>2]=s|-2147483648;j[r+16>>2]=u;j[r+20>>2]=t;break Ra}h[r+27|0]=t;u=r+16|0;if(!t){break Qa}}V(u,d,t)}h[t+u|0]=0;d=Gb(a,r+16|0);if(h[r+27|0]<=-1){T(j[r+16>>2])}t=((d|0)>1)+A|0}u=(x+y|0)-q|0;d=h[a+4351|0];s=j[a+4344>>2];Sa:{if((d|0)<=-1){break Sa}s=d&255}if(!s){break Ka}Ta:{switch(l[a+4364>>1]-73|0){case 26:if(K){break Ia}u=u+2|0;break Ja;case 1:if(K){break Ia}u=u+1|0;break Ja;case 0:break Ta;default:break Ka}}if(K){break Ia}d=i[v+2>>1];if(!d){break Ja}q=j[v+4>>2];y=q+(d<<1)|0;while(1){D=d>>>1|0;s=(D<<1)+q|0;B=l[s>>1]<74;q=B?s+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}if((q|0)==(y|0)){break Ja}if(l[q>>1]>74){break Ka}u=u+1|0;break Ja}if(K){break Ia}}F=l[a+4160>>1];Ua:{if(!F){break Ua}d=i[v+2>>1];if(!d){break Ua}q=j[v+4>>2];y=q+(d<<1)|0;while(1){D=d>>>1|0;s=(D<<1)+q|0;B=F>>>0>l[s>>1];q=B?s+2|0:q;d=B?(D^-1)+d|0:D;if(d){continue}break}if((q|0)==(y|0)){break Ua}t=(F>>>0>=l[q>>1])+t|0}d=j[a+4308>>2];if(!((d|0)==-1|(d|0)>((t<<16>>16)+1|0))){d=j[a+4312>>2];if(!d|(d|0)>16){break Ia}}if(j[a+4172>>2]?(v|0)==(w|0):0){break Ia}j[r+24>>2]=0;j[r+16>>2]=0;j[r+20>>2]=0;d=l[a+4152>>1];Va:{if(d){fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d;d=h[r+27|0];if((d|0)<0?j[r+20>>2]:d&255){break Va}}d=l[a+4158>>1];if(!d){break Va}fc(r,a,E,W(E),d);if(h[r+27|0]<=-1){T(j[r+16>>2])}j[r+24>>2]=j[r+8>>2];d=j[r+4>>2];j[r+16>>2]=j[r>>2];j[r+20>>2]=d}q=k[r+43|0];d=q<<24>>24<0;aa(o,d?j[r+32>>2]:r+32|0,d?j[r+36>>2]:q);d=k[r+27|0];if(d<<24>>24<0?j[r+20>>2]:d){Z(o,32);$(o,1744);$(o,E);Od(r+16|0);Z(o,32);q=k[r+27|0];d=q<<24>>24<0;aa(o,d?j[r+16>>2]:r+16|0,d?j[r+20>>2]:q)}Z(o,10);if(h[r+27|0]<=-1){T(j[r+16>>2])}P=1;break s}d=A<<16;if(P|((d>>16)+2|0)>=(f|0)){break s}P=0;Qf(a,E,W(E),d+65536>>16,x<<16>>16,f,N<<16>>16,j[r+60>>2],n,o,r+32|0)}h[(h[r+59|0]<0?j[r+48>>2]:r+48|0)+G|0]=O}d=H}if(!(H&65535|L)){L=1;H=d;if(j[a+4268>>2]!=j[a+4272>>2]){continue}}break}if((c|0)>(I|0)){continue}break}}if(h[Q+11|0]<=-1){T(j[r+32>>2])}if(h[r+59|0]<=-1){T(j[r+48>>2])}M=r- -64|0;return}X();z()}function bq(a,b){var c=0,d=0,e=0,f=0,g=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;c=M-65568|0;M=c;e=U(65796);d=Fe(e,b);j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;a:{if(vb(d,c)){o=a+4432|0;r=a+4444|0;u=a+4208|0;v=a+4204|0;w=a+4420|0;x=a+4408|0;y=a+4396|0;z=a+4384|0;A=a+4340|0;s=a+4128|0;B=a+4116|0;C=a+4104|0;g=c+65560|0;t=1;while(1){bb(c);b:{if(f&1){break b}if(_(c,0,3,1081,3)){break b}pb(c,0,3)}c:{if(_(c,0,3,1085,3)){break c}if(va(c,C)){break c}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}d:{if(_(c,0,3,1089,3)){break d}if(va(c,B)){break d}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}e:{if(_(c,0,3,1093,3)){break e}if(!va(c,s)){ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}b=k[a+4139|0];if(((b<<24>>24<0?j[a+4132>>2]:b)|0)!=5){break e}if(_(s,0,-1,1097,5)){break e}j[a+4144>>2]=1;Xh()}if(!_(c,0,15,1103,15)){j[a+4148>>2]=1}f:{if(_(c,0,12,1119,12)){break f}if((l[a+4152>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4152>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break f}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}g:{if(_(c,0,13,1132,13)){break g}if(j[a+4148>>2]){if((l[a+4158>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4158>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break g}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if((l[a+4154>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4154>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break g}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}h:{if(_(c,0,14,1146,14)){break h}if((l[a+4156>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4156>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break h}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}i:{if(_(c,0,11,1161,11)){break i}if(j[a+4148>>2]){if((l[a+4154>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4154>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break i}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if((l[a+4158>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4158>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break i}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}j:{if(_(c,0,15,1173,15)){break j}if(j[a+4308>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4308>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break j}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}k:{if(_(c,0,12,1189,12)){break k}if((l[a+4160>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4160>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break k}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}l:{if(_(c,0,18,1202,18)){break l}if((l[a+4164>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4164>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break l}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}m:{if(_(c,0,18,1221,18)){break m}if((l[a+4162>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4162>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break m}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,20,1240,20)){j[a+4168>>2]=1}if(!_(c,0,16,1261,16)){j[a+4172>>2]=1}if(!_(c,0,16,1278,16)){j[a+4176>>2]=1}if(!_(c,0,19,1295,19)){j[a+4184>>2]=1}if(!_(c,0,16,1315,16)){j[a+4188>>2]=1}if(!_(c,0,17,1332,17)){j[a+4180>>2]=1}n:{if(_(c,0,9,1350,9)){break n}if((l[a+4194>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4194>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break n}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}o:{if(_(c,0,14,1360,14)){break o}if((l[a+4196>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4196>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break o}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}p:{if(_(c,0,13,1375,13)){break p}if((l[a+4192>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4192>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break p}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}q:{if(_(c,0,13,1389,13)){break q}if((l[a+4460>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4460>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break q}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}r:{if(_(c,0,9,1403,9)){break r}if((l[a+4462>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4462>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break r}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}s:{if(_(c,0,14,1413,14)){break s}if((l[a+4464>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4464>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break s}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}t:{if(_(c,0,10,1428,10)){break t}if((l[a+4198>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4198>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break t}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}u:{if(_(c,0,9,1439,9)){break u}if((l[a+4198>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4198>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break u}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}v:{if(_(c,0,11,1449,11)){break v}w:{if(j[a+4200>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4200>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break w}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(j[a+4200>>2]>0){break v}j[a+4200>>2]=1}x:{if(_(c,0,16,1461,16)){break x}if(Fp(a,c)){break x}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}y:{if(_(c,0,11,1478,11)){break y}if(va(c,A)){break y}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,8,1490,8)){j[a+4380>>2]=1}z:{if(_(c,0,9,1499,9)){break z}if(Se(c,z,y,j[a+4144>>2])){break z}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}A:{if(_(c,0,6,1509,6)){break A}if(Se(c,x,w,j[a+4144>>2])){break A}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}B:{if(_(c,0,5,1516,5)){break B}h[c+65563|0]=5;h[c+65557|0]=0;j[c+65552>>2]=k[1516]|k[1517]<<8|(k[1518]<<16|k[1519]<<24);h[c+65556|0]=k[1520];b=Fh(c,d,v,c+65552|0);if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break B}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}C:{if(_(c,0,5,1522,5)){break C}h[c+65563|0]=5;h[c+65557|0]=0;j[c+65552>>2]=k[1522]|k[1523]<<8|(k[1524]<<16|k[1525]<<24);h[c+65556|0]=k[1526];b=Fh(c,d,u,c+65552|0);if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break C}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}D:{if(_(c,0,5,1528,5)){break D}if(yp(a,c,d)){break D}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}E:{if(_(c,0,20,1534,20)){break E}if(rp(a,c,d)){break E}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}F:{if(_(c,0,12,1555,12)){break F}if(ip(a,c,d)){break F}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}G:{if(_(c,0,3,1568,3)){break G}if(Zo(a,c,d)){break G}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}H:{if(_(c,0,5,1572,5)){break H}if(Uo(a,c,d)){break H}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,4,1578,4)){if(!va(c,r)){ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}E=a,F=Yh(r),j[E+4456>>2]=F}I:{if(_(c,0,7,1583,7)){break I}f=k[c+11|0];b=f<<24>>24<0;f=b?j[c+4>>2]:f;if(f>>>0<8){break I}q=b?j[c>>2]:c;D=q+f|0;f=q+7|0;while(1){J:{b=k[f|0];if(b>>>0>63){break J}n=b&31;if((b&63)>>>0>=32){b=1<>>32-n;n=1<>2])}b=j[c+65556>>2];j[o>>2]=j[c+65552>>2];j[o+4>>2]=b;j[o+8>>2]=j[g>>2]}K:{if(_(c,0,12,1591,12)){break K}if(j[a+4284>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4284>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break K}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,11,1604,11)){j[a+4296>>2]=1}L:{if(_(c,0,7,1616,7)){break L}if(j[a+4292>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4292>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break L}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}M:{if(_(c,0,10,1624,10)){break M}if(j[a+4288>>2]==-1){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);f=h[c+65563|0];if(b){E=a,F=ta((f|0)<0?j[c+65552>>2]:c+65552|0),j[E+4288>>2]=F}if((f|0)<=-1){T(j[c+65552>>2])}if(b){break M}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,11,1635,11)){j[a+4300>>2]=1}if(!_(c,0,9,1647,9)){j[a+4484>>2]=1}if(!_(c,0,12,1657,12)){j[a+4304>>2]=1}N:{if(_(c,0,8,1670,8)){break N}if((l[a+4466>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4466>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break N}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}O:{if(_(c,0,10,1679,10)){break O}if((l[a+4468>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4468>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break O}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}P:{if(_(c,0,4,1690,4)){break P}if((l[a+4470>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4470>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break P}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,10,1695,10)){j[a+4472>>2]=1}Q:{if(_(c,0,11,1706,11)){break Q}if((l[a+4476>>1]-1&65535)>>>0>65508){j[g>>2]=0;j[c+65552>>2]=0;j[c+65556>>2]=0;b=va(c,c+65552|0);if(b){E=a,F=Ha(j[a+4100>>2],h[c+65563|0]<0?j[c+65552>>2]:c+65552|0),i[E+4476>>1]=F}if(h[c+65563|0]<=-1){T(j[c+65552>>2])}if(b){break Q}}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}if(!_(c,0,11,1718,11)){j[a+4480>>2]=1}R:{S:{T:{if(!_(c,0,3,1730,3)){b=j[a+4148>>2];if(!_(c,0,3,1734,3)){break T}b=b?83:80;break S}if(_(c,0,3,1734,3)){break R}}b=j[a+4148>>2]?80:83}if(t){ya(c+16|0,0,65536)}t=0;if(No(a,c,b,d,c+16|0)){break R}ea(d);T(e);d=1;b=1;while(1){e=(b<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}while(1){b=((d<<2)+a|0)+1024|0;E=b,F=la(a,j[b>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}break a}f=1;if(vb(d,c)){continue}break}}ea(d);T(e);b=1;d=1;while(1){e=(d<<2)+a|0;E=e,F=ma(a,j[e>>2],0),j[E>>2]=F;d=d+1|0;if((d|0)!=256){continue}break}while(1){d=((b<<2)+a|0)+1024|0;E=d,F=la(a,j[d>>2],0),j[E>>2]=F;b=b+1|0;if((b|0)!=256){continue}break}Lo(a);Go(a);U:{if(j[a+4144>>2]){break U}b=a+4128|0;d=h[a+4139|0];e=j[a+4132>>2];V:{if((d|0)<=-1){break V}e=d&255}if(!e){Ja(b,1760)}d=_c(b);j[a+4140>>2]=d;e=a+4384|0;b=0;while(1){d=p(b,3)+d|0;W:{if(k[d+2|0]==k[d+1|0]){break W}d=b<<24>>24;if((Ba(e,d,0)|0)!=-1){break W}Z(e,d)}b=b+1|0;if((b|0)==256){break U}d=j[a+4140>>2];continue}}if(k[a+4228|0]){break a}i[c+65552>>1]=45;h[c+65563|0]=1;d=a+4232|0;b=j[a+4236>>2];X:{if(b>>>0>2]){e=j[c+65556>>2];j[b>>2]=j[c+65552>>2];j[b+4>>2]=e;j[b+8>>2]=j[c+65560>>2];j[a+4236>>2]=b+12;break X}Eb(d,c+65552|0);if(h[c+65563|0]>-1){break X}T(j[c+65552>>2])}h[c+65554|0]=0;i[c+65552>>1]=11614;h[c+65563|0]=2;b=j[a+4236>>2];Y:{if(b>>>0>2]){e=j[c+65556>>2];j[b>>2]=j[c+65552>>2];j[b+4>>2]=e;j[b+8>>2]=j[c+65560>>2];j[a+4236>>2]=b+12;break Y}Eb(d,c+65552|0);if(h[c+65563|0]>-1){break Y}T(j[c+65552>>2])}h[c+65554|0]=0;i[c+65552>>1]=9261;h[c+65563|0]=2;b=j[a+4236>>2];Z:{if(b>>>0>2]){d=j[c+65556>>2];j[b>>2]=j[c+65552>>2];j[b+4>>2]=d;j[b+8>>2]=j[c+65560>>2];j[a+4236>>2]=b+12;break Z}Eb(d,c+65552|0);if(h[c+65563|0]>-1){break Z}T(j[c+65552>>2])}h[a+4228|0]=1}if(h[c+11|0]<=-1){T(j[c>>2])}M=c+65568|0}function Aq(a,b,c,d,e,f){var g=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=M-128|0;M=g;j[f>>2]=0;j[e>>2]=0;h[d|0]=0;j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;j[g+92>>2]=0;a:{b:{if(!j[b+16>>2]|j[b+4>>2]==j[b+8>>2]){break b}if(!_(c,0,5,121100,5)){zq(a,b,c);break a}n=k[c+11|0];o=n<<24>>24;c:{if(j[b+44>>2]){if(m[c+4>>2]<=299|(o|0)>-1){break c}break b}if(((o|0)<0?j[c+4>>2]:n)>>>0>99){break b}}j[g+88>>2]=0;j[g+80>>2]=0;j[g+84>>2]=0;j[g+72>>2]=0;j[g+64>>2]=0;j[g+68>>2]=0;d:{q=b;r=g+80|0;t=g- -64|0;o=j[b>>2];e:{f:{if(!o){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;break f}s=j[o+4204>>2];j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;if(!s){break f}n=g+112|0;if(Yc(s,c,g+112|0)){break e}}n=c}u=Me(q,r,t,n,f,e);g:{if(!u){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[g+123|0]>-1){break g}T(j[g+112>>2]);break g}if(h[g+123|0]<=-1){T(j[g+112>>2])}t=C()|0;c=j[f>>2];o=j[b>>2];if(!(c|!o)){h:{if(!l[o+4468>>1]){break h}j[g+32>>2]=32;if(!_a(b,g+80|0,g+32|0,0)){break h}c=ha(g+48|0,g+80|0);i:{if(j[b+44>>2]){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;ia(g+112|0,c);wb(g+112|0,j[b+40>>2]);da(c,g+112|0);b=j[g+112>>2];if(!b){break i}j[g+116>>2]=b;T(b);break i}nb(c,j[b+36>>2])}b=j[g+100>>2];j:{if((b|0)!=j[g+104>>2]){b=ha(b,c)+12|0;break j}Wb(g+96|0,c);b=j[g+100>>2]}d=j[g+96>>2];j[a+4>>2]=b;j[a>>2]=d;j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g}c=j[f>>2]}s=0;k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{switch(c|0){case 0:s=Vb(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,g+92|0);o=t+25e4|0;if((C()|0)>(o|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g}if(!j[e>>2]){break q}c=ha(g+112|0,g+80|0);Z(c,46);e=Vb(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,g+92|0);if((C()|0)<=(o|0)){break s}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 1:h[d|0]=1;e=Vb(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,g+92|0);o=t+25e4|0;if((C()|0)>(o|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g}c=ha(g+112|0,g+80|0);u:{if(j[b+44>>2]){Ta(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break u}Pa(c,j[b+36>>2])}n=Vb(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,g+92|0);if((C()|0)<=(o|0)){break r}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 4:h[d|0]=1;case 3:s=Vb(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,g+92|0);r=t+25e4|0;if((C()|0)>(r|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g}c=Ba(g+80|0,46,0);v:{if((c|0)==-1){break v}o=c+1|0;c=sa(g+112|0,g+80|0,o,-1);w:{if(j[b+44>>2]){j[g+56>>2]=0;j[g+48>>2]=0;j[g+52>>2]=0;ia(g+48|0,c);n=Mc(g+48|0,j[b+40>>2]);e=j[g+48>>2];if(!e){break w}j[g+52>>2]=e;T(e);break w}n=Nc(c,j[b+36>>2])}x:{if((n|0)!=1){break x}e=ha(g+48|0,g+80|0);jf(e,o);Jc(g+96|0,j[g+96>>2],e);if(h[e+11|0]>-1){break x}T(j[e>>2])}if(h[c+11|0]>-1){break v}T(j[c>>2])}j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;y:{z:{if(j[f>>2]!=4){break z}ua(g+112|0,g+80|0);A:{if(j[b+44>>2]){ir(g- -64|0,j[b+40>>2]);da(g+112|0,g- -64|0);break A}jr(g+112|0,j[b+36>>2])}e=0;s=Vb(j[b+16>>2],g+96|0,h[g+123|0]<0?j[g+112>>2]:g+112|0,g+92|0)|s;if((C()|0)<=(r|0)){break z}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;r=g+112|0;break y}ua(g+112|0,g+80|0);B:{if(j[b+44>>2]){Ta(g- -64|0,j[b+40>>2]);da(g+112|0,g- -64|0);break B}Pa(g+112|0,j[b+36>>2])}if(Ic(b,h[g+123|0]<0?j[g+112>>2]:g+112|0)){Jc(g+96|0,j[g+96>>2],g+112|0)}o=(j[g+100>>2]-j[g+96>>2]|0)/12|0;s=Vb(j[b+16>>2],g+96|0,h[g+123|0]<0?j[g+112>>2]:g+112|0,g+92|0)|s;if((C()|0)>(r|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];e=0;j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;r=g+112|0;break y}C:{if(j[f>>2]!=4){break C}D:{if(j[b+44>>2]){wb(g- -64|0,j[b+40>>2]);da(g+112|0,g- -64|0);break D}nb(g+112|0,j[b+36>>2])}if(Ic(b,h[g+123|0]<0?j[g+112>>2]:g+112|0)){Jc(g+96|0,j[g+96>>2],g+112|0)}s=Vb(j[b+16>>2],g+96|0,h[g+123|0]<0?j[g+112>>2]:g+112|0,g+92|0)|s;if((C()|0)<=(r|0)){break C}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];e=0;j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;r=g+112|0;break y}e=1;r=g+112|0;q=j[g+100>>2];c=j[g+96>>2];if((q-c|0)/12>>>0<=o>>>0){break y}while(1){w=p(o,12);e=w+c|0;v=h[e+11|0]>-1;E:{if(!v){n=j[e>>2];break E}n=e}x=Ya(n,32);F:{if(!x){break F}n=x+1|0;y=W(n);if(y>>>0>=u>>>0){break F}if(!ba((u+(h[g+91|0]<0?j[g+80>>2]:g+80|0)|0)-y|0,n)){break F}e=v?e:j[e>>2];q=n-e|0;if(q>>>0>=4294967280){break p}G:{if(q>>>0<=10){h[g+59|0]=q;c=g+48|0;break G}v=q+16&-16;c=U(v);j[g+56>>2]=v|-2147483648;j[g+48>>2]=c;j[g+52>>2]=q}if((e|0)!=(n|0)){while(1){h[c|0]=k[e|0];c=c+1|0;q=(e|0)!=(x|0);e=e+1|0;if(q){continue}break}}h[c|0]=0;e=W(n);if(e>>>0>=4294967280){break o}H:{I:{if(e>>>0>=11){q=e+16&-16;c=U(q);j[g+40>>2]=q|-2147483648;j[g+32>>2]=c;j[g+36>>2]=e;break I}h[g+43|0]=e;c=g+32|0;if(!e){break H}}V(c,n,e)}h[c+e|0]=0;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;J:{K:{if(!j[b+44>>2]){break K}ia(g+16|0,g+32|0);if(!j[b+44>>2]){break K}wb(g+16|0,j[b+40>>2]);da(g+32|0,g+16|0);break J}nb(g+32|0,j[b+36>>2])}c=w+j[g+96>>2]|0;e=c+12|0;n=j[g+100>>2];L:{if((e|0)!=(n|0)){while(1){if(h[c+11|0]<=-1){T(j[c>>2])}q=j[e+4>>2];j[c>>2]=j[e>>2];j[c+4>>2]=q;j[c+8>>2]=j[e+8>>2];h[e+11|0]=0;h[e|0]=0;c=c+12|0;e=e+12|0;if((n|0)!=(e|0)){continue}break}e=j[g+100>>2];if((e|0)==(c|0)){break L}}while(1){n=e-12|0;if(h[e-1|0]<=-1){T(j[n>>2])}e=n;if((e|0)!=(c|0)){continue}break}}j[g+100>>2]=c;x=j[g+96>>2];j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;c=h[g+43|0];n=(c|0)<0;e=h[g+59|0];q=(e|0)<0;w=n?j[g+36>>2]:c&255;e=q?j[g+52>>2]:e&255;c=w+e|0;if(c>>>0>=4294967280){break n}v=j[g+48>>2];M:{if(c>>>0<=10){h[g+11|0]=e;c=g;break M}y=c+16&-16;c=U(y);j[g+8>>2]=y|-2147483648;j[g>>2]=c;j[g+4>>2]=e}if(e){V(c,q?v:g+48|0,e)}h[c+e|0]=0;aa(g,n?j[g+32>>2]:g+32|0,w);Ke(g+96|0,x,g);if(h[g+11|0]<=-1){T(j[g>>2])}c=j[g+16>>2];if(c){j[g+20>>2]=c;T(c)}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(h[g+59|0]<=-1){T(j[g+48>>2])}c=j[g+96>>2];q=j[g+100>>2]}e=1;o=o+1|0;if(o>>>0<(q-c|0)/12>>>0){continue}break}}if(h[r+11|0]<=-1){T(j[g+112>>2])}if(e){break q}break g;case 2:break t;default:break q}}o=ha(g+48|0,g+80|0);N:{if(j[b+44>>2]){Ta(g- -64|0,j[b+40>>2]);da(o,g- -64|0);break N}Pa(o,j[b+36>>2])}n=0;s=Vb(j[b+16>>2],g+96|0,h[o+11|0]<0?j[o>>2]:g+48|0,g+92|0);c=t+25e4|0;O:{if((C()|0)>(c|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break O}e=j[b>>2];P:{if(!e|!l[e+4466>>1]){break P}if(!Ic(b,h[o+11|0]<0?j[o>>2]:g+48|0)){break P}Jc(g+96|0,j[g+96>>2],o)}Q:{if(j[b+44>>2]){wb(g- -64|0,j[b+40>>2]);da(o,g- -64|0);break Q}nb(o,j[b+36>>2])}s=Vb(j[b+16>>2],g+96|0,h[o+11|0]<0?j[o>>2]:g+48|0,g+92|0)|s;R:{if((C()|0)<=(c|0)){c=j[g+96>>2];if((c|0)!=j[g+100>>2]){break R}n=1;break O}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break O}e=0;while(1){n=p(e,12);c=n+c|0;S:{if(j[b+44>>2]){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;ia(g+112|0,c);Oc(g+112|0,j[b+40>>2]);da(c,g+112|0);c=j[g+112>>2];if(!c){break S}j[g+116>>2]=c;T(c);break S}Pc(c,j[b+36>>2])}c=j[b>>2];T:{if(!c|!j[c+4480>>2]){break T}c=n+j[g+96>>2]|0;if(j[b+44>>2]){h[g+114|0]=0;i[g+112>>1]=40899;h[g+123|0]=2;h[g+34|0]=0;i[g+32>>1]=21331;h[g+43|0]=2;xb(c,g+112|0,g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}if(h[g+123|0]>-1){break T}T(j[g+112>>2]);break T}i[g+112>>1]=223;h[g+123|0]=1;h[g+34|0]=0;i[g+32>>1]=21331;h[g+43|0]=2;xb(c,g+112|0,g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}if(h[g+123|0]>-1){break T}T(j[g+112>>2])}n=1;e=e+1|0;c=j[g+96>>2];if(e>>>0<(j[g+100>>2]-c|0)/12>>>0){continue}break}}if(h[o+11|0]<=-1){T(j[o>>2])}if(n){break q}break g}if(h[c+11|0]<=-1){T(j[c>>2])}s=e|s;break q}if(h[c+11|0]<=-1){T(j[c>>2])}s=e|n}U:{if(j[b+40>>2]!=36){break U}n=j[g+96>>2];if((n|0)==j[g+100>>2]){break U}e=0;while(1){c=p(e,12);o=Ba(c+n|0,45,0);V:{if((o|0)==-1){break V}n=c+j[g+96>>2]|0;n=sa(g+112|0,n,0,o);r=c+j[g+96>>2]|0;sa(g+48|0,r,o+1|0,-1);r=k[g+59|0];q=r<<24>>24<0;aa(n,q?j[g+48>>2]:g+48|0,q?j[g+52>>2]:r);if(h[g+59|0]<=-1){T(j[g+48>>2])}ib(b,n,g+48|0);c=c+j[g+96>>2]|0;n=h[c+11|0];W:{if((j[g+48>>2]&3)==3){c=(n|0)<=-1?j[c>>2]:c;n=32;break W}c=(n|0)<=-1?j[c>>2]:c;n=45}h[c+o|0]=n;if(h[g+123|0]>-1){break V}T(j[g+112>>2])}e=e+1|0;n=j[g+96>>2];if(e>>>0<(j[g+100>>2]-n|0)/12>>>0){continue}break}}if(s){break k}c=j[b>>2];if(!c|(j[g+92>>2]?0:j[g+96>>2]!=j[g+100>>2])|!j[c+4284>>2]){break k}e=b+4|0;X:{Y:{Z:{switch(j[f>>2]){case 0:Cd(j[b+16>>2],g+96|0,h[g+91|0]<0?j[g+80>>2]:g+80|0,e,0);if((C()|0)<=(t+25e4|0)){break k}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;break g;case 4:h[d|0]=1;case 3:c=ha(g+112|0,g+80|0);_:{if(j[b+44>>2]){Ta(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break _}Pa(c,j[b+36>>2])}Cd(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,e,3);if((C()|0)<=(t+25e4|0)){break Y}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 1:h[d|0]=1;c=ha(g+112|0,g+80|0);$:{if(j[b+44>>2]){Ta(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break $}Pa(c,j[b+36>>2])}Cd(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+112|0,e,1);if((C()|0)<=(t+25e4|0)){break X}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;if(h[c+11|0]>-1){break g}T(j[c>>2]);break g;case 2:break Z;default:break k}}c=ha(g+48|0,g+80|0);aa:{if(j[b+44>>2]){Ta(g- -64|0,j[b+40>>2]);da(c,g- -64|0);break aa}Pa(c,j[b+36>>2])}d=j[g+96>>2];f=j[g+100>>2];Cd(j[b+16>>2],g+96|0,h[c+11|0]<0?j[c>>2]:g+48|0,e,2);e=(f-d|0)/12|0;o=(C()|0)>(t+25e4|0);if(o){break m}f=j[g+96>>2];if((j[g+100>>2]-f|0)/12>>>0<=e>>>0){break l}while(1){d=p(e,12)+f|0;ba:{if(j[b+44>>2]){j[g+120>>2]=0;j[g+112>>2]=0;j[g+116>>2]=0;ia(g+112|0,d);Oc(g+112|0,j[b+40>>2]);da(d,g+112|0);d=j[g+112>>2];if(!d){break ba}j[g+116>>2]=d;T(d);break ba}Pc(d,j[b+36>>2])}e=e+1|0;f=j[g+96>>2];if(e>>>0<(j[g+100>>2]-f|0)/12>>>0){continue}break}break l}if(h[c+11|0]>-1){break k}T(j[c>>2]);break k}if(h[c+11|0]>-1){break k}T(j[c>>2]);break k}X();z()}X();z()}X();z()}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0}if(h[c+11|0]<=-1){T(j[c>>2])}if(o){break g}}e=0;ca:{n=Ba(g+80|0,45,0);if((n|0)==-1){break ca}o=1;f=j[g+96>>2];if((f|0)!=j[g+100>>2]){while(1){da:{c=Ba(p(e,12)+f|0,45,0);f=j[g+96>>2];if((c|0)!=-1){break da}e=e+1|0;if(e>>>0<(j[g+100>>2]-f|0)/12>>>0){continue}}break}o=(c|0)==-1}t=t+25e4|0;d=0;r=0;while(1){if(r&1|(!o|s)){break ca}e=j[g+84>>2];c=k[g+91|0];sa(g+112|0,g+80|0,d,n-d|0);r=((c<<24>>24<0?e:c)|0)==(n|0)|r;o=1;ea:{if(!Ic(b,h[g+123|0]<0?j[g+112>>2]:g+112|0)){e=h[g+123|0]<0?j[g+112>>2]:g+112|0;c=W(e);if(c>>>0>=4294967280){break d}fa:{ga:{if(c>>>0>=11){o=c+16&-16;f=U(o);j[g+40>>2]=o|-2147483648;j[g+32>>2]=f;j[g+36>>2]=c;break ga}h[g+43|0]=c;f=g+32|0;if(!c){break fa}}V(f,e,c)}h[c+f|0]=0;Oh(g+48|0,b,g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}q=C()|0;ha:{ia:{if((q|0)>(t|0)){j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0;o=1;e=j[g+48>>2];c=1;if(e){break ia}break ha}e=j[g+52>>2];if((e|0)==j[g+48>>2]){o=0;c=0;if(e){break ia}break ha}ja:{if(!(r&1)){o=n+1|0;while(1){c=sa(g+32|0,g+80|0,0,d);e=e-12|0;u=k[e+11|0];f=u<<24>>24<0;aa(c,f?j[e>>2]:e,f?j[e+4>>2]:u);$(c,121111);sa(g+16|0,g+80|0,o,-1);f=k[g+27|0];u=f<<24>>24<0;aa(c,u?j[g+16>>2]:g+16|0,u?j[g+20>>2]:f);if(h[g+27|0]<=-1){T(j[g+16>>2])}j[g+16>>2]=0;f=j[b>>2];if(!(!f|!l[f+4192>>1])){_a(b,c,g+16|0,0)}if(!(k[g+16|0]&2)){Jc(g+96|0,j[g+96>>2],c)}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(j[g+48>>2]!=(e|0)){continue}break}break ja}while(1){c=sa(g+32|0,g+80|0,0,d);e=e-12|0;o=k[e+11|0];f=o<<24>>24<0;aa(c,f?j[e>>2]:e,f?j[e+4>>2]:o);j[g+16>>2]=0;f=j[b>>2];if(!(!f|!l[f+4192>>1])){_a(b,c,g+16|0,0)}if(!(k[g+16|0]&2)){Jc(g+96|0,j[g+96>>2],c)}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(j[g+48>>2]!=(e|0)){continue}break}}c=0}o=c;c=j[g+52>>2];f=e;ka:{if((e|0)==(c|0)){break ka}while(1){f=c-12|0;if(h[c-1|0]<=-1){T(j[f>>2])}c=f;if((e|0)!=(c|0)){continue}break}f=j[g+48>>2]}j[g+52>>2]=e;T(f)}e=0;if((q|0)>(t|0)){break ea}}e=1;if(!(r&1)){d=n+1|0;n=Ba(g+80|0,45,d)}if((n|0)!=-1){break ea}c=h[g+91|0];if((c|0)<=-1){n=j[g+84>>2];break ea}n=c&255}if(h[g+123|0]<=-1){T(j[g+112>>2])}if(e){continue}break}break g}j[a>>2]=j[g+96>>2];j[a+4>>2]=j[g+100>>2];j[a+8>>2]=j[g+104>>2];j[g+104>>2]=0;j[g+96>>2]=0;j[g+100>>2]=0}a=j[g+64>>2];if(a){j[g+68>>2]=a;T(a)}if(h[g+91|0]<=-1){T(j[g+80>>2])}a=j[g+96>>2];if(!a){break a}c=a;b=j[g+100>>2];d=c;la:{if((c|0)==(b|0)){break la}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((a|0)!=(c|0)){continue}break}d=j[g+96>>2]}c=d;j[g+100>>2]=a;T(c);break a}X();z()}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[g+100>>2]=0;j[g+104>>2]=0}M=g+128|0}function ib(a,b,c){var d=0,e=0,f=0,g=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=M-128|0;M=d;j[d+124>>2]=0;a:{if(!c){c=d+124|0;break a}j[c>>2]=0}b:{c:{e=k[b+11|0];if(((e<<24>>24<0?j[b+4>>2]:e)|0)!=7){break c}if(_(b,0,-1,121100,7)){break c}q=1;break b}g=k[b+11|0];e=g<<24>>24;f=j[b+4>>2];d:{if(j[a+44>>2]){if(f>>>0<=299|(e|0)>-1){break d}break b}if(((e|0)<0?f:g)>>>0>99){break b}}j[d+120>>2]=0;j[d+116>>2]=0;j[d+112>>2]=0;j[d+104>>2]=0;j[d+108>>2]=0;j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;m=a;o=d+104|0;v=d+88|0;e=j[a>>2];e:{f:{if(!e){j[d+80>>2]=0;j[d+72>>2]=0;j[d+76>>2]=0;break f}g=j[e+4204>>2];j[d+80>>2]=0;j[d+72>>2]=0;j[d+76>>2]=0;if(!g){break f}f=d+72|0;if(Yc(g,b,d+72|0)){break e}}f=b}n=Me(m,o,v,f,d+120|0,d+116|0);if(h[d+83|0]<=-1){T(j[d+72>>2])}q=1;g:{if(!n|j[a+4>>2]==j[a+8>>2]){break g}b=0;m=j[d+104>>2];h:{i:{if(h[d+115|0]>=0){g=m<<24>>24;if((g|0)<58){break i}e=0;break h}g=n>>>0>1?n:1;e=0;while(1){s=h[b+m|0];if((s|0)>57){break h}f=1;if((s|0)<=47){if(!b|(s-44&255)>>>0>2){break h}f=2;if((e|0)==2){break h}}e=f;b=b+1|0;if((g|0)!=(b|0)){continue}break}b=g;break h}m=n>>>0>1?n:1;f=0;while(1){e=1;j:{if(g<<24>>24>47){break j}if((g-44&255)>>>0>2){e=f;break h}if(!b){e=f;break h}e=2;if((f|0)!=2){break j}e=f;break h}b=b+1|0;if((m|0)==(b|0)){b=m;break h}f=e;g=h[(d+104|0)+b|0];if((g|0)<58){continue}break}}if((e|0)==1?(b|0)==(n|0):0){break g}k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{s=j[d+120>>2];switch(s|0){case 1:break r;case 2:break s;case 0:break t;case 3:case 4:break u;default:break o}}j[c>>2]=j[c>>2]+32}e=_a(a,d+104|0,c,0);if(e|!j[d+116>>2]){break q}b=ha(d+72|0,d+104|0);Z(b,46);e=_a(a,b,c,0);if(h[b+11|0]>-1){break q}T(j[b>>2]);break q}j[c>>2]=j[c>>2]+32;e=_a(a,d+104|0,c,0);if(e){break p}n=j[d+116>>2];if(n){b=ha(d+72|0,d+104|0);Z(b,46);e=_a(a,b,c,0);if(h[b+11|0]<=-1){T(j[b>>2])}if(e){break p}}if(!j[a>>2]){break r}b=Ba(d+104|0,39,0);v:{if((b|0)==-1){break v}w:{if(j[a+44>>2]){Ta(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break w}Pa(d+104|0,j[a+36>>2])}e=k[d+115|0];if(b>>>0>=(e<<24>>24<0?j[d+108>>2]:e)-1>>>0){break v}b=b+1|0;g=sa(d+72|0,d+104|0,0,b);f=sa(d+56|0,d+104|0,b,-1);x:{y:{if(j[a+44>>2]){j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;ia(d+40|0,g);ia(d+24|0,f);z:{if(j[a+44>>2]){wb(d+24|0,j[a+40>>2]);da(f,d+24|0);break z}nb(f,j[a+36>>2])}o=j[f+4>>2];b=k[f+11|0];j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;e=k[g+11|0];m=e<<24>>24<0;e=m?j[g+4>>2]:e;v=o;o=b<<24>>24;r=(o|0)<0?v:b;b=e+r|0;if(b>>>0>=4294967280){break n}t=j[g>>2];A:{if(b>>>0<=10){h[d+19|0]=e;b=d+8|0;break A}u=b+16&-16;b=U(u);j[d+16>>2]=u|-2147483648;j[d+8>>2]=b;j[d+12>>2]=e}if(e){V(b,m?t:d+72|0,e)}h[b+e|0]=0;aa(d+8|0,(o|0)<0?j[f>>2]:d+56|0,r);if(h[d+115|0]<=-1){T(j[d+104>>2])}j[d+112>>2]=j[d+16>>2];b=j[d+12>>2];j[d+104>>2]=j[d+8>>2];j[d+108>>2]=b;Le(d+88|0,j[d+40>>2],j[d+44>>2]);Bq(d+88|0,j[d+92>>2],j[d+24>>2],j[d+28>>2]);e=_a(a,d+104|0,c,0);b=j[d+24>>2];if(b){j[d+28>>2]=b;T(b)}b=j[d+40>>2];if(b){j[d+44>>2]=b;T(b)}b=5;if(!e){break y}break x}nb(f,j[a+36>>2]);o=j[f+4>>2];b=k[f+11|0];j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;e=k[g+11|0];m=e<<24>>24<0;e=m?j[g+4>>2]:e;v=o;o=b<<24>>24;r=(o|0)<0?v:b;b=e+r|0;if(b>>>0>=4294967280){break m}t=j[g>>2];B:{if(b>>>0<=10){h[d+51|0]=e;b=d+40|0;break B}u=b+16&-16;b=U(u);j[d+48>>2]=u|-2147483648;j[d+40>>2]=b;j[d+44>>2]=e}if(e){V(b,m?t:d+72|0,e)}h[b+e|0]=0;aa(d+40|0,(o|0)<0?j[f>>2]:d+56|0,r);if(h[d+115|0]<=-1){T(j[d+104>>2])}j[d+112>>2]=j[d+48>>2];b=j[d+44>>2];j[d+104>>2]=j[d+40>>2];j[d+108>>2]=b;b=5;e=_a(a,d+104|0,c,0);if(e){break x}}C:{if(j[a+44>>2]){wb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break C}nb(d+104|0,j[a+36>>2])}e=_a(a,d+104|0,c,0);b=e?5:0}if(h[f+11|0]<=-1){T(j[f>>2])}if(h[g+11|0]<=-1){T(j[g>>2])}if(b){break q}}b=j[a>>2];if(!b|!j[b+4480>>2]){break r}e=k[d+115|0];b=e<<24>>24<0;e=b?j[d+108>>2]:e;if((e|0)<2){break r}b=b?j[d+104>>2]:d+104|0;f=b+e|0;g=b;while(1){e=Aa(g,83,e-1|0);if(!e){break r}if((k[e|0]|k[e+1|0]<<8)!=21331){g=e+1|0;e=f-g|0;if((e|0)>=2){continue}break r}break}if((e|0)==(f|0)|(e-b|0)==-1){break r}D:{if(j[a+44>>2]){Ta(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break D}Pa(d+104|0,j[a+36>>2])}b=ha(d+72|0,d+104|0);e=Kc(a,b,0,0,0,c,0);E:{if(e){break E}F:{if(j[a+44>>2]){wb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break F}nb(d+104|0,j[a+36>>2])}e=Kc(a,d+104|0,0,0,0,c,0);if(e|!n){break E}Z(b,46);e=Kc(a,b,0,0,0,c,0);if(e){break E}ha(d+56|0,d+104|0);if(h[b+11|0]<=-1){T(j[b>>2])}j[d+80>>2]=j[d- -64>>2];e=j[d+60>>2];j[d+72>>2]=j[d+56>>2];j[d+76>>2]=e;Z(b,46);e=Kc(a,b,0,0,0,c,0)}if(h[b+11|0]<=-1){T(j[b>>2])}if(e){break p}}b=0;G:{if(!j[a+44>>2]){break G}H:{if(h[d+115|0]<=-1){e=j[d+104>>2];if(k[e|0]==196){break H}break G}e=d+104|0;if(k[d+104|0]!=196){break G}}b=k[e+1|0]==176}e=j[c>>2];j[c>>2]=e+32;I:{if((s|0)==2){J:{if(j[a+44>>2]){Ta(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break J}Pa(d+104|0,j[a+36>>2])}K:{if(j[a+44>>2]){wb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break K}nb(d+104|0,j[a+36>>2])}if(b){gf(d+104|0,0,1,121108)}m=0;e=_a(a,d+104|0,c,0);break I}m=1;if((s|0)!=1){m=0;e=_a(a,d+104|0,c,0);break I}j[c>>2]=e+48;e=_a(a,d+104|0,c,0);j[c>>2]=j[c>>2]-16}if(k[c|0]&2){break o}if(e){f=j[a>>2];if(!f){break g}if(!j[e+4>>2]|!l[f+4466>>1]){break p}g=j[e+4>>2];f=i[e+2>>1];t=g+(f<<1)|0;n=l[j[a>>2]+4466>>1];if(f){while(1){o=f>>>1|0;u=(o<<1)+g|0;r=n>>>0>l[u>>1];g=r?u+2|0:g;f=r?(o^-1)+f|0:o;if(f){continue}break}}if((g|0)==(t|0)|(s|0)!=2|n>>>0>1]){break p}}if(b){b=j[a+40>>2]-90|0;if(b>>>0>12|!(1<>2]){Ta(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break L}Pa(d+104|0,j[a+36>>2])}n=ha(d+72|0,d+104|0);M:{if(j[a+44>>2]){wb(d+88|0,j[a+40>>2]);da(d+104|0,d+88|0);break M}nb(d+104|0,j[a+36>>2])}e=_a(a,n,c,0);N:{O:{P:{if(!(e|!j[d+116>>2])){Z(n,46);e=_a(a,n,c,0);if(e){break P}ua(n,d+104|0);Z(n,46);Q:{if(!m){m=_a(a,n,c,0);break Q}j[c>>2]=j[c>>2]+16;m=_a(a,n,c,0);j[c>>2]=j[c>>2]-16}if(!m){break O}b=m;e=j[a>>2];f=0;R:{if(!e){break R}f=0;if(!j[m+4>>2]){break R}f=0;if(!l[e+4466>>1]){break R}e=j[m+4>>2];g=i[m+2>>1];t=e+(g<<1)|0;o=l[j[a>>2]+4466>>1];if(g){while(1){f=g>>>1|0;u=(f<<1)+e|0;r=o>>>0>l[u>>1];e=r?u+2|0:e;g=r?(f^-1)+g|0:f;if(g){continue}break}}f=0;if((e|0)==(t|0)){break R}f=o>>>0>=l[e>>1]}e=(s|0)==2?f?0:b:m;break N}if(!e){break O}}b=j[a>>2];if(!b|!j[e+4>>2]|!l[b+4466>>1]){break N}g=j[e+4>>2];f=i[e+2>>1];r=g+(f<<1)|0;b=l[j[a>>2]+4466>>1];if(f){while(1){m=f>>>1|0;t=(m<<1)+g|0;o=b>>>0>l[t>>1];g=o?t+2|0:g;f=o?(m^-1)+f|0:m;if(f){continue}break}}if((g|0)==(r|0)|b>>>0>1]){break N}if(!j[j[a>>2]+4480>>2]|(s|0)==2){break O}if(j[a+44>>2]){b=k[n+11|0];f=b<<24>>24<0;b=f?j[n+4>>2]:b;if((b|0)<2){break O}f=f?j[n>>2]:d+72|0;m=f+b|0;g=f;while(1){b=Aa(g,195,b-1|0);if(!b){break O}if((k[b|0]|k[b+1|0]<<8)!=40899){g=b+1|0;b=m-g|0;if((b|0)>=2){continue}break O}break}if((b|0)==(m|0)|(b-f|0)==-1){break O}break N}if((Ba(n,-33,0)|0)!=-1){break N}}e=0}if(h[n+11|0]>-1){break q}T(j[n>>2])}if(!e){break o}}b=j[a>>2];if(!b|!l[b+4470>>1]){break g}b=j[e+4>>2];if(!b){break g}e=i[e+2>>1];n=(e<<1)+b|0;f=l[j[a>>2]+4470>>1];if(e){while(1){g=e>>>1|0;s=(g<<1)+b|0;m=f>>>0>l[s>>1];b=m?s+2|0:b;e=m?(g^-1)+e|0:g;if(e){continue}break}}if((b|0)==(n|0)|f>>>0>1]){break g}j[c>>2]=j[c>>2]- -64;q=!j[j[a>>2]+4472>>2];break g}q=0;m=j[a+52>>2];e=j[a+56>>2];if(k[c|0]&2|(m|0)==(e|0)){break g}b=0;f=k[d+115|0];c=f<<24>>24<0;s=c?j[d+108>>2]:f;e=e-m|0;if(!e){break k}e=(e|0)/12|0;r=e>>>0>1?e:1;q=c?j[d+104>>2]:d+104|0;n=q+s|0;g=0;while(1){c=0;e=p(b,12)+m|0;f=k[e+11|0];o=f<<24>>24<0;f=o?j[e+4>>2]:f;o=o?j[e>>2]:e;while(1){S:{if(f){e=c+q|0;c=n-e|0;if((f|0)>(c|0)){break S}t=k[o|0];while(1){u=c-f|0;c=u+1|0;if(c>>>0>>0){break S}c=Aa(e,t,c);if(!c){break S}if(qa(c,o,f)){e=c+1|0;c=n-e|0;if((f|0)<=(c|0)){continue}break S}break}if((c|0)==(n|0)){break S}c=c-q|0}if((c|0)==-1){break S}g=g+1|0;c=c+f|0;if(s>>>0>=c>>>0){continue}}break}b=b+1|0;if((r|0)!=(b|0)){continue}break}break l}X();z()}X();z()}q=0;if((g|0)>9){break g}}b=0;T:{U:{while(1){V:{c=m;m=p(b,12);e=c+m|0;c=k[e+11|0];f=c<<24>>24;W:{X:{if((f|0)<=-1){c=j[e+4>>2];if((c|0)==1|c>>>0>s>>>0){break W}f=j[e>>2];break X}if((f|0)==1|c>>>0>s>>>0){break W}f=e}g=c-1|0;Y:{if(k[f|0]!=94){break Y}if(Sd(d+104|0,0,g,e,1,g)){break Y}e=ib(a,sa(d+72|0,d+104|0,g,-1),0);if(h[d+83|0]<=-1){T(j[d+72>>2])}if(e){break T}}e=m+j[a+52>>2]|0;Z:{if(h[e+11|0]<=-1){f=j[e>>2];break Z}f=e}if(k[f+g|0]!=36){break W}c=(s-c|0)+1|0;if(Sd(d+104|0,c,g,e,0,g)){break W}sa(d+72|0,d+104|0,c,-1);Va(d+104|0,c);e=ib(a,d+104|0,0);f=k[d+83|0];c=f<<24>>24;if(e){break V}c=(c|0)<0;aa(d+104|0,c?j[d+72>>2]:d+72|0,c?j[d+76>>2]:f);if(h[d+83|0]>-1){break W}T(j[d+72>>2])}b=b+1|0;c=j[a+56>>2];m=j[a+52>>2];if(b>>>0<(c-m|0)/12>>>0){continue}break U}break}if((c|0)>-1){break T}T(j[d+72>>2]);break T}if((c|0)==(m|0)){break g}t=0;while(1){u=p(t,12);c=u+m|0;b=k[c+11|0];e=b<<24>>24;if((e|0)<=-1){b=j[c+4>>2]}_:{if(!b){break _}r=(e|0)<0?j[c>>2]:c;c=k[d+115|0];e=c<<24>>24<0;g=e?j[d+104>>2]:d+104|0;m=e?j[d+108>>2]:c;f=g+m|0;c=f;$:{if((b|0)>(m|0)){break $}n=k[r|0];c=m;e=g;while(1){aa:{q=c-b|0;c=q+1|0;if(c>>>0>>0){break aa}c=Aa(e,n,c);if(!c){break aa}if(!qa(c,r,b)){break $}e=c+1|0;c=f-e|0;if((c|0)>=(b|0)){continue}}break}c=f}o=(c|0)==(f|0)?-1:c-g|0;if(!o){break _}e=s-b|0;if(e>>>0<=o>>>0){break _}c=-1;v=a;w=d+72|0;x=d+104|0;if(m>>>0>o>>>0){q=(g+o|0)+1|0;c=f-q|0;ba:{ca:{if((c|0)<(b|0)){break ca}m=k[r|0];while(1){n=c-b|0;c=n+1|0;if(c>>>0>>0){break ca}c=Aa(q,m,c);if(!c){break ca}if(!qa(c,r,b)){break ba}q=c+1|0;c=f-q|0;if((c|0)>=(b|0)){continue}break}}c=f}c=(c|0)==(f|0)?-1:c-g|0}c=c?c>>>0>>0?c:o:o;b=ib(v,sa(w,x,c+b|0,-1),0);if(h[d+83|0]<=-1){T(j[d+72>>2])}if(!b){break _}sa(d+72|0,d+104|0,c,-1);Va(d+104|0,c);b=0;da:{if(ib(a,d+104|0,0)){break da}b=k[d+83|0];e=b<<24>>24<0;aa(d+104|0,e?j[d+72>>2]:d+72|0,e?j[d+76>>2]:b);b=1;if(j[a+40>>2]!=36){break da}e=u+j[a+52>>2]|0;f=k[e+11|0];b=1;if(((f<<24>>24<0?j[e+4>>2]:f)|0)!=1){break da}b=1;if(_(e,0,-1,121111,1)){break da}b=c+1|0;sa(d+56|0,d+104|0,b,-1);if(h[d+83|0]<=-1){T(j[d+72>>2])}j[d+80>>2]=j[d- -64>>2];c=j[d+60>>2];j[d+72>>2]=j[d+56>>2];j[d+76>>2]=c;Va(d+104|0,b);b=0;if(ib(a,d+104|0,0)){break da}b=k[d+83|0];c=b<<24>>24<0;aa(d+104|0,c?j[d+72>>2]:d+72|0,c?j[d+76>>2]:b);b=1}if(h[d+83|0]<=-1){T(j[d+72>>2])}if(!b){break T}}t=t+1|0;b=j[a+56>>2];m=j[a+52>>2];if(t>>>0<(b-m|0)/12>>>0){continue}break}if((b|0)==(m|0)){q=0;break g}f=0;ea:{while(1){fa:{n=p(f,12);e=n+m|0;b=k[e+11|0];q=b<<24>>24;if((q|0)<=-1){b=j[e+4>>2]}ga:{if(!b){break ga}c=k[d+115|0];m=c<<24>>24<0;g=m?j[d+104>>2]:d+104|0;c=m?j[d+108>>2]:c;m=g+c|0;ha:{ia:{if((b|0)>(c|0)){break ia}q=(q|0)<0?j[e>>2]:e;o=k[q|0];e=g;while(1){r=c-b|0;c=r+1|0;if(c>>>0>>0){break ia}c=Aa(e,o,c);if(!c){break ia}if(!qa(c,q,b)){break ha}e=c+1|0;c=m-e|0;if((c|0)>=(b|0)){continue}break}}c=m}c=(c|0)==(m|0)?-1:c-g|0;if(!c|c>>>0>=s-b>>>0){break ga}b=ib(a,sa(d+72|0,d+104|0,b+c|0,-1),0);if(h[d+83|0]<=-1){T(j[d+72>>2])}if(!b){break ga}sa(d+72|0,d+104|0,c,-1);Va(d+104|0,c);e=ib(a,d+104|0,0);g=k[d+83|0];b=g<<24>>24;if(e){break fa}b=(b|0)<0;aa(d+104|0,b?j[d+72>>2]:d+72|0,b?j[d+76>>2]:g);ja:{if(j[a+40>>2]!=36){break ja}b=n+j[a+52>>2]|0;e=k[b+11|0];if(((e<<24>>24<0?j[b+4>>2]:e)|0)!=1){break ja}if(_(b,0,-1,121111,1)){break ja}b=c+1|0;sa(d+56|0,d+104|0,b,-1);if(h[d+83|0]<=-1){T(j[d+72>>2])}j[d+80>>2]=j[d- -64>>2];c=j[d+60>>2];j[d+72>>2]=j[d+56>>2];j[d+76>>2]=c;Va(d+104|0,b);c=ib(a,d+104|0,0);e=k[d+83|0];b=e<<24>>24;if(c){break ea}b=(b|0)<0;aa(d+104|0,b?j[d+72>>2]:d+72|0,b?j[d+76>>2]:e)}if(h[d+83|0]>-1){break ga}T(j[d+72>>2])}q=0;f=f+1|0;m=j[a+52>>2];if(f>>>0<(j[a+56>>2]-m|0)/12>>>0){continue}break g}break}if((b|0)>-1){break T}T(j[d+72>>2]);break T}if((b|0)>-1){break T}T(j[d+72>>2])}q=1}a=j[d+88>>2];if(a){j[d+92>>2]=a;T(a)}if(h[d+115|0]>-1){break b}T(j[d+104>>2])}M=d+128|0;return q}function uq(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0;d=M-144|0;M=d;a:{if(!(j[b+4>>2]!=j[b+8>>2]?j[b+16>>2]:0)){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}f=k[c+11|0];e=f<<24>>24;b:{if(j[b+44>>2]){if(m[c+4>>2]<300|(e|0)>-1){break b}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}if(((e|0)<0?j[c+4>>2]:f)>>>0<100){break b}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}j[d+140>>2]=0;j[d+136>>2]=0;j[d+128>>2]=0;j[d+120>>2]=0;j[d+124>>2]=0;j[d+112>>2]=0;j[d+104>>2]=0;j[d+108>>2]=0;p=b;o=d+120|0;q=d+104|0;e=j[b>>2];c:{d:{if(!e){j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;break d}l=j[e+4204>>2];j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;if(!l){break d}f=d+88|0;if(Yc(l,c,d+88|0)){break c}}f=c}e=Me(p,o,q,f,d+140|0,d+136|0);if(h[d+99|0]<=-1){T(j[d+88>>2])}e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{if(!e){c=j[d+136>>2];if(!c){break n}o:{if(h[d+131|0]<=-1){h[j[d+120>>2]]=0;j[d+124>>2]=0;break o}h[d+131|0]=0;h[d+120|0]=0}e=c>>>0>1?c:1;c=0;while(1){Z(d+120|0,46);c=c+1|0;if((e|0)!=(c|0)){continue}break}j[d+136>>2]=0}c=0;j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;l=b;if(j[b+40>>2]!=36){break g}if(!e){break j}f=j[d+120>>2];if(h[d+131|0]<0){break m}while(1){b=f<<24>>24;if((b|0)>57){break k}p:{if((b|0)>47){break p}q:{switch((f&255)-44|0){case 0:case 2:break q;default:break k}}if(c){break p}c=0;break k}r:{s:{t:{b=c+1|0;f=k[b+(d+120|0)|0];switch(f-44|0){case 2:break s;case 0:break t;default:break r}}f=44}if(!(c>>>0<=2|n)){c=b;break k}u:{if(!n){break u}p=(d+120|0)+c|0;c=b;switch(k[p|0]-44|0){case 0:case 2:break k;default:break u}}n=n+1|0;g=b}c=b;if((b|0)!=(e|0)){continue}break}break l}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break e}p=k[f|0];while(1){b=p<<24>>24;if((b|0)>57){break k}v:{if((b|0)>47){break v}w:{switch((p&255)-44|0){case 0:case 2:break w;default:break k}}if(c){break v}c=0;break k}x:{y:{z:{b=c+1|0;p=k[b+f|0];switch(p-44|0){case 2:break y;case 0:break z;default:break x}}p=44}if(!(c>>>0<=2|n)){c=b;break k}A:{if(!n){break A}o=c+f|0;c=b;switch(k[o|0]-44|0){case 0:case 2:break k;default:break A}}n=n+1|0;g=b}c=b;if((b|0)!=(e|0)){continue}break}}c=e}if(!(!g|(c|0)!=(e|0)|c-g>>>0<4)){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break f}if((c|0)!=(e|0)){break i}}e=1;f=d+120|0;break h}if(!c){break g}B:{C:{if(h[d+131|0]<=-1){e=k[j[d+120>>2]+c|0];if((e|0)!=37){break C}break B}e=k[(d+120|0)+c|0];if((e|0)==37){break B}}if((e|0)!=176){break g}}e=0;b=sa(d+72|0,d+120|0,c,-1);g=_a(l,b,0,0);if(h[b+11|0]<=-1){T(j[b>>2])}f=d+120|0;if(!g){break g}}b=k[f+11|0];f=b<<24>>24<0;aa(d+88|0,f?j[d+120>>2]:d+120|0,f?j[d+124>>2]:b);b=c-1|0;Va(d+88|0,b);D:{if(e){c=j[l+16>>2];e=sa(d+56|0,d+120|0,b,-1);Za(d+72|0,c,e);c=k[d+83|0];b=c<<24>>24;f=j[d+76>>2];if((b|0)<0?f:c){g=k[d+99|0];if(g<<24>>24<0?j[d+92>>2]:g){$(d+88|0,121137);f=j[d+76>>2];c=k[d+83|0];b=c}b=b<<24>>24<0;aa(d+88|0,b?j[d+72>>2]:d+72|0,b?f:c);b=k[d+83|0]}if(b<<24>>24<=-1){T(j[d+72>>2])}if(h[e+11|0]>-1){break D}T(j[e>>2]);break D}e=sa(d+72|0,d+120|0,b,1);Za(d+56|0,j[l+16>>2],e);f=k[d+67|0];b=f<<24>>24;g=j[d+60>>2];if((b|0)<0?g:f){p=k[d+99|0];if(p<<24>>24<0?j[d+92>>2]:p){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];b=f}b=b<<24>>24<0;aa(d+88|0,b?j[d+56>>2]:d+56|0,b?g:f);b=k[d+67|0]}if(b<<24>>24<=-1){T(j[d+56>>2])}Z(d+88|0,43);b=j[l+16>>2];f=sa(d+40|0,d+120|0,c,-1);Za(d+56|0,b,f);c=k[d+67|0];b=c<<24>>24;g=j[d+60>>2];if((b|0)<0?g:c){l=k[d+99|0];if(l<<24>>24<0?j[d+92>>2]:l){$(d+88|0,121137);g=j[d+60>>2];c=k[d+67|0];b=c}b=b<<24>>24<0;aa(d+88|0,b?j[d+56>>2]:d+56|0,b?g:c);b=k[d+67|0]}if(b<<24>>24<=-1){T(j[d+56>>2])}if(h[f+11|0]<=-1){T(j[f>>2])}if(h[e+11|0]>-1){break D}T(j[e>>2])}Ab(a,d+88|0,10);break f}E:{F:{switch(j[d+140>>2]){case 0:case 3:case 4:Za(d+72|0,j[l+16>>2],d+120|0);e=k[d+83|0];c=e<<24>>24;f=j[d+76>>2];if((c|0)<0?f:e){b=k[d+99|0];if(b<<24>>24<0?j[d+92>>2]:b){$(d+88|0,121137);f=j[d+76>>2];e=k[d+83|0];c=e}b=c<<24>>24<0;aa(d+88|0,b?j[d+72>>2]:d+72|0,b?f:e);c=k[d+83|0]}if(c<<24>>24<=-1){T(j[d+72>>2])}if(!j[d+136>>2]){break E}b=ha(d+72|0,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];c=f<<24>>24;g=j[d+60>>2];if((c|0)<0?g:f){e=k[d+99|0];if(e<<24>>24<0?j[d+92>>2]:e){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];c=f}c=c<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);c=k[d+67|0]}if(c<<24>>24<=-1){T(j[d+56>>2])}if(h[b+11|0]>-1){break E}T(j[b>>2]);break E;case 1:G:{if(j[l+44>>2]){Ta(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break G}Pa(d+120|0,j[l+36>>2])}b=ha(d+72|0,d+120|0);H:{if(j[l+44>>2]){wb(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break H}nb(d+120|0,j[l+36>>2])}Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}Za(d+56|0,j[l+16>>2],d+120|0);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}I:{if(!j[d+136>>2]){break I}Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}ua(b,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24>-1){break I}T(j[d+56>>2])}if(h[b+11|0]>-1){break E}T(j[b>>2]);break E;case 2:break F;default:break E}}Za(d+72|0,j[l+16>>2],d+120|0);e=k[d+83|0];c=e<<24>>24;f=j[d+76>>2];if((c|0)<0?f:e){b=k[d+99|0];if(b<<24>>24<0?j[d+92>>2]:b){$(d+88|0,121137);f=j[d+76>>2];e=k[d+83|0];c=e}b=c<<24>>24<0;aa(d+88|0,b?j[d+72>>2]:d+72|0,b?f:e);c=k[d+83|0]}if(c<<24>>24<=-1){T(j[d+72>>2])}p=j[d+136>>2];J:{if(!p){break J}b=ha(d+72|0,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];c=f<<24>>24;g=j[d+60>>2];if((c|0)<0?g:f){e=k[d+99|0];if(e<<24>>24<0?j[d+92>>2]:e){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];c=f}c=c<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);c=k[d+67|0]}if(c<<24>>24<=-1){T(j[d+56>>2])}if(h[b+11|0]>-1){break J}T(j[b>>2])}K:{if(j[l+44>>2]){Ta(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break K}Pa(d+120|0,j[l+36>>2])}b=ha(d+72|0,d+120|0);L:{if(j[l+44>>2]){wb(d+104|0,j[l+40>>2]);da(d+120|0,d+104|0);break L}nb(d+120|0,j[l+36>>2])}Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}Za(d+56|0,j[l+16>>2],d+120|0);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}M:{if(!p){break M}Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24<=-1){T(j[d+56>>2])}ua(b,d+120|0);Z(b,46);Za(d+56|0,j[l+16>>2],b);f=k[d+67|0];e=f<<24>>24;g=j[d+60>>2];if((e|0)<0?g:f){c=k[d+99|0];if(c<<24>>24<0?j[d+92>>2]:c){$(d+88|0,121137);g=j[d+60>>2];f=k[d+67|0];e=f}c=e<<24>>24<0;aa(d+88|0,c?j[d+56>>2]:d+56|0,c?g:f);e=k[d+67|0]}if(e<<24>>24>-1){break M}T(j[d+56>>2])}if(h[b+11|0]>-1){break E}T(j[b>>2])}b=k[d+99|0];if(b<<24>>24<0?j[d+92>>2]:b){N:{if(!j[l+48>>2]){break N}if(j[l+44>>2]){ob(d+88|0);break N}Ua(d+88|0)}Ab(a,d+88|0,10);break f}O:{if(j[l+40>>2]!=36){break O}e=Ba(d+120|0,45,0);if((e|0)==-1){break O}c=sa(d+72|0,d+120|0,0,e);P:{Q:{R:{S:{T:{p=e+1|0;o=sa(d+56|0,d+120|0,p,-1);b=h[o+11|0];if((b|0)<=-1){switch(j[o+4>>2]){case 1:break S;case 0:break T;default:break Q}}n=d+56|0;switch(b&255){case 1:break R;case 0:break T;default:break Q}}if(!ib(l,c,0)){break P}Za(d+40|0,j[l+16>>2],c);b=h[d+51|0];U:{if((b|0)<=-1){if(j[d+44>>2]){break U}T(j[d+40>>2]);break P}if(!b){break P}}Ab(d+24|0,d+40|0,10);b=j[d+28>>2];e=j[d+24>>2];j[a+8>>2]=j[d+32>>2];j[a>>2]=e;j[a+4>>2]=b;if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}n=j[o>>2]}if(k[n|0]!=101){break Q}if(!ib(l,c,0)){break P}if(!Ic(l,121139)){break P}Za(d+40|0,j[l+16>>2],c);e=k[d+51|0];b=e<<24>>24<0;e=b?j[d+44>>2]:e;if(e){aa(d+88|0,b?j[d+40>>2]:d+40|0,e)}Z(d+88|0,43);b=j[l+16>>2];h[d+10|0]=0;i[d+8>>1]=25901;h[d+19|0]=2;Za(d+24|0,b,d+8|0);if(h[d+51|0]<=-1){T(j[d+40>>2])}j[d+48>>2]=j[d+32>>2];b=j[d+28>>2];j[d+40>>2]=j[d+24>>2];j[d+44>>2]=b;h[d+24|0]=0;h[d+35|0]=0;if(h[d+19|0]<=-1){T(j[d+8>>2])}b=h[d+51|0];e=(b|0)<0?j[d+44>>2]:b&255;if(e){aa(d+88|0,(b|0)<0?j[d+40>>2]:d+40|0,e)}Ab(a,d+88|0,10);if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}Z(c,32);b=ib(l,c,0);f=k[c+11|0];pb(c,(f<<24>>24<0?j[c+4>>2]:f)-1|0,-1);if(!b){break P}V:{if(!ib(l,o,0)){break V}b=h[o+11|0];W:{X:{if((b|0)<=-1){if(m[o+4>>2]>1){break W}f=h[j[o>>2]];if((f|0)>=49){break X}break V}if((b&255)>>>0>1){break W}f=h[d+56|0];if((f|0)<=48){break V}}if((f|0)>56){break V}}Za(d+40|0,j[l+16>>2],c);e=k[d+51|0];b=e<<24>>24<0;e=b?j[d+44>>2]:e;if(e){aa(d+88|0,b?j[d+40>>2]:d+40|0,e);Z(d+88|0,43)}Za(d+24|0,j[l+16>>2],o);if(h[d+51|0]<=-1){T(j[d+40>>2])}j[d+48>>2]=j[d+32>>2];b=j[d+28>>2];j[d+40>>2]=j[d+24>>2];j[d+44>>2]=b;e=h[d+51|0];b=(e|0)<0;e=b?j[d+44>>2]:e&255;if(e){aa(d+88|0,b?j[d+40>>2]:d+40|0,e)}Ab(a,d+88|0,10);if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}if(!e){break P}b=e-1|0;g=h[d+131|0];Y:{Z:{if((g|0)<=-1){if((k[b+j[d+120>>2]|0]-48&255)>>>0<10){break Y}n=j[d+120>>2];break Z}n=d+120|0;if((k[b+(d+120|0)|0]-48&255)>>>0<10){break Y}}if(k[b+n|0]!=46){break P}}_:{$:{n=(g|0)<0?j[d+120>>2]:d+120|0;f=k[n+b|0];b=(f|0)==46?2:1;if(b>>>0>e>>>0){p=b;break $}if((b|0)==(e|0)){break $}q=(f|0)==46;f=b+1|0;if(k[n+(e-f|0)|0]!=48?q:0){break _}if((e|0)==(f|0)){break $}f=b+2|0;if(k[n+(e-f|0)|0]!=48){break _}if((e|0)==(f|0)){break $}f=b+3|0;if(k[n+(e-f|0)|0]!=48){break _}if((e|0)==(f|0)){break $}f=b|4;if(f>>>0>5|k[n+(e-f|0)|0]!=48){break _}if((e|0)==(f|0)){break $}b=f+1|0;if((f|0)!=4){f=b;break _}if(k[n+(e-b|0)|0]!=48){f=b;break _}if((b|0)==(e|0)){break $}f=f+2|0;break _}f=p-1|0;if(!f){break P}}while(1){b=e-f|0;aa:{ba:{if(g<<24>>24<=-1){g=h[b+j[d+120>>2]|0];if((g|0)>=48){break ba}break aa}g=h[b+(d+120|0)|0];if((g|0)<48){break aa}}if((g|0)>57){break aa}b=sa(d+40|0,d+120|0,b,-1);p=_a(l,b,0,0);n=k[d+51|0];g=n<<24>>24;if(p){e=(g|0)<0;aa(d+88|0,e?j[d+40>>2]:d+40|0,e?j[b+4>>2]:n);Za(d+24|0,j[l+16>>2],b);e=k[d+35|0];b=e<<24>>24<0;e=b?j[d+28>>2]:e;if(e){aa(d+88|0,b?j[d+24>>2]:d+24|0,e)}Ab(a,d+88|0,10);if(h[d+35|0]<=-1){T(j[d+24>>2])}if(h[d+51|0]<=-1){T(j[d+40>>2])}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break f}T(j[c>>2]);break f}if((g|0)>-1){break aa}T(j[d+40>>2])}f=f-1|0;if(!f){break P}g=k[d+131|0];continue}}if(h[o+11|0]<=-1){T(j[o>>2])}if(h[c+11|0]>-1){break O}T(j[c>>2])}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0}if(h[d+99|0]>-1){break e}T(j[d+88>>2])}a=j[d+104>>2];if(a){j[d+108>>2]=a;T(a)}if(h[d+131|0]>-1){break a}T(j[d+120>>2])}M=d+144|0}function ja(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;p=M-16|0;M=p;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{if(a>>>0<=244){f=j[37684];i=a>>>0<11?16:a+11&-8;c=i>>>3|0;b=f>>>c|0;if(b&3){d=c+((b^-1)&1)|0;b=d<<3;e=j[b+150784>>2];a=e+8|0;c=j[e+8>>2];b=b+150776|0;m:{if((c|0)==(b|0)){q=150736,r=qr(-2,d)&f,j[q>>2]=r;break m}j[c+12>>2]=b;j[b+8>>2]=c}b=d<<3;j[e+4>>2]=b|3;b=b+e|0;j[b+4>>2]=j[b+4>>2]|1;break a}n=j[37686];if(n>>>0>=i>>>0){break l}if(b){a=2<>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;c=(c|a)+(b>>>a|0)|0;a=c<<3;g=j[a+150784>>2];b=j[g+8>>2];a=a+150776|0;n:{if((b|0)==(a|0)){f=qr(-2,c)&f;j[37684]=f;break n}j[b+12>>2]=a;j[a+8>>2]=b}a=g+8|0;j[g+4>>2]=i|3;d=g+i|0;b=c<<3;e=b-i|0;j[d+4>>2]=e|1;j[b+g>>2]=e;if(n){b=n>>>3|0;c=(b<<3)+150776|0;g=j[37689];b=1<>2]}j[c+8>>2]=g;j[b+12>>2]=g;j[g+12>>2]=c;j[g+8>>2]=b}j[37689]=d;j[37686]=e;break a}h=j[37685];if(!h){break l}b=(h&0-h)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;b=j[((c|a)+(b>>>a|0)<<2)+151040>>2];e=(j[b+4>>2]&-8)-i|0;c=b;while(1){p:{a=j[c+16>>2];if(!a){a=j[c+20>>2];if(!a){break p}}c=(j[a+4>>2]&-8)-i|0;d=c>>>0>>0;e=d?c:e;b=d?a:b;c=a;continue}break}l=b+i|0;if(l>>>0<=b>>>0){break k}o=j[b+24>>2];d=j[b+12>>2];if((d|0)!=(b|0)){a=j[b+8>>2];j[a+12>>2]=d;j[d+8>>2]=a;break b}c=b+20|0;a=j[c>>2];if(!a){a=j[b+16>>2];if(!a){break j}c=b+16|0}while(1){g=c;d=a;c=a+20|0;a=j[c>>2];if(a){continue}c=d+16|0;a=j[d+16>>2];if(a){continue}break}j[g>>2]=0;break b}i=-1;if(a>>>0>4294967231){break l}a=a+11|0;i=a&-8;l=j[37685];if(!l){break l}f=31;e=0-i|0;if(i>>>0<=16777215){a=a>>>8|0;g=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|g))|0;f=(a<<1|i>>>a+21&1)+28|0}c=j[(f<<2)+151040>>2];q:{r:{s:{if(!c){a=0;break s}a=0;b=i<<((f|0)==31?0:25-(f>>>1|0)|0);while(1){t:{g=(j[c+4>>2]&-8)-i|0;if(g>>>0>=e>>>0){break t}d=c;e=g;if(e){break t}e=0;a=c;break r}g=j[c+20>>2];c=j[((b>>>29&4)+c|0)+16>>2];a=g?(g|0)==(c|0)?a:g:a;b=b<<1;if(c){continue}break}}if(!(a|d)){a=2<>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;a=j[((c|a)+(b>>>a|0)<<2)+151040>>2]}if(!a){break q}}while(1){b=(j[a+4>>2]&-8)-i|0;c=b>>>0>>0;e=c?b:e;d=c?a:d;b=j[a+16>>2];if(b){a=b}else{a=j[a+20>>2]}if(a){continue}break}}if(!d|j[37686]-i>>>0<=e>>>0){break l}h=d+i|0;if(h>>>0<=d>>>0){break k}f=j[d+24>>2];b=j[d+12>>2];if((d|0)!=(b|0)){a=j[d+8>>2];j[a+12>>2]=b;j[b+8>>2]=a;break c}c=d+20|0;a=j[c>>2];if(!a){a=j[d+16>>2];if(!a){break i}c=d+16|0}while(1){g=c;b=a;c=a+20|0;a=j[c>>2];if(a){continue}c=b+16|0;a=j[b+16>>2];if(a){continue}break}j[g>>2]=0;break c}c=j[37686];if(c>>>0>=i>>>0){d=j[37689];b=c-i|0;u:{if(b>>>0>=16){j[37686]=b;a=d+i|0;j[37689]=a;j[a+4>>2]=b|1;j[c+d>>2]=b;j[d+4>>2]=i|3;break u}j[37689]=0;j[37686]=0;j[d+4>>2]=c|3;a=c+d|0;j[a+4>>2]=j[a+4>>2]|1}a=d+8|0;break a}h=j[37687];if(h>>>0>i>>>0){b=h-i|0;j[37687]=b;c=j[37690];a=c+i|0;j[37690]=a;j[a+4>>2]=b|1;j[c+4>>2]=i|3;a=c+8|0;break a}a=0;l=i+47|0;b=l;if(j[37802]){c=j[37804]}else{j[37805]=-1;j[37806]=-1;j[37803]=4096;j[37804]=4096;j[37802]=p+12&-16^1431655768;j[37807]=0;j[37795]=0;c=4096}g=b+c|0;e=0-c|0;c=g&e;if(c>>>0<=i>>>0){break a}d=j[37794];if(d){b=j[37792];f=b+c|0;if(d>>>0>>0|b>>>0>=f>>>0){break a}}if(k[151180]&4){break f}v:{w:{d=j[37690];if(d){a=151184;while(1){b=j[a>>2];if(d>>>0>2]>>>0?b>>>0<=d>>>0:0){break w}a=j[a+8>>2];if(a){continue}break}}b=nc(0);if((b|0)==-1){break g}f=c;d=j[37803];a=d-1|0;if(a&b){f=(c-b|0)+(a+b&0-d)|0}if(f>>>0<=i>>>0|f>>>0>2147483646){break g}d=j[37794];if(d){a=j[37792];e=a+f|0;if(d>>>0>>0|a>>>0>=e>>>0){break g}}a=nc(f);if((b|0)!=(a|0)){break v}break e}f=e&g-h;if(f>>>0>2147483646){break g}b=nc(f);if((b|0)==(j[a>>2]+j[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|i+48>>>0<=f>>>0)){b=j[37804];b=b+(l-f|0)&0-b;if(b>>>0>2147483646){b=a;break e}if((nc(b)|0)!=-1){f=b+f|0;b=a;break e}nc(0-f|0);break g}b=a;if((a|0)!=-1){break e}break g}z()}d=0;break b}b=0;break c}if((b|0)!=-1){break e}}j[37795]=j[37795]|4}if(c>>>0>2147483646){break d}b=nc(c);a=nc(0);if(b>>>0>=a>>>0|(b|0)==-1|(a|0)==-1){break d}f=a-b|0;if(f>>>0<=i+40>>>0){break d}}a=j[37792]+f|0;j[37792]=a;if(a>>>0>m[37793]){j[37793]=a}x:{y:{z:{g=j[37690];if(g){a=151184;while(1){d=j[a>>2];c=j[a+4>>2];if((d+c|0)==(b|0)){break z}a=j[a+8>>2];if(a){continue}break}break y}a=j[37688];if(!(a>>>0<=b>>>0?a:0)){j[37688]=b}a=0;j[37797]=f;j[37796]=b;j[37692]=-1;j[37693]=j[37802];j[37799]=0;while(1){d=a<<3;c=d+150776|0;j[d+150784>>2]=c;j[d+150788>>2]=c;a=a+1|0;if((a|0)!=32){continue}break}d=f-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;j[37687]=c;a=a+b|0;j[37690]=a;j[a+4>>2]=c|1;j[(b+d|0)+4>>2]=40;j[37691]=j[37806];break x}if(j[a+12>>2]&8|(b>>>0<=g>>>0|d>>>0>g>>>0)){break y}j[a+4>>2]=c+f;a=g+8&7?-8-g&7:0;c=a+g|0;j[37690]=c;b=j[37687]+f|0;a=b-a|0;j[37687]=a;j[c+4>>2]=a|1;j[(b+g|0)+4>>2]=40;j[37691]=j[37806];break x}d=j[37688];if(d>>>0>b>>>0){j[37688]=b;d=0}c=b+f|0;a=151184;A:{B:{C:{D:{E:{F:{while(1){if((c|0)!=j[a>>2]){a=j[a+8>>2];if(a){continue}break F}break}if(!(k[a+12|0]&8)){break E}}a=151184;while(1){c=j[a>>2];if(c>>>0<=g>>>0){e=c+j[a+4>>2]|0;if(e>>>0>g>>>0){break D}}a=j[a+8>>2];continue}}j[a>>2]=b;j[a+4>>2]=j[a+4>>2]+f;l=(b+8&7?-8-b&7:0)+b|0;j[l+4>>2]=i|3;f=c+(c+8&7?-8-c&7:0)|0;c=(f-l|0)-i|0;h=i+l|0;if((f|0)==(g|0)){j[37690]=h;a=j[37687]+c|0;j[37687]=a;j[h+4>>2]=a|1;break B}if(j[37689]==(f|0)){j[37689]=h;a=j[37686]+c|0;j[37686]=a;j[h+4>>2]=a|1;j[a+h>>2]=a;break B}a=j[f+4>>2];if((a&3)==1){g=a&-8;G:{if(a>>>0<=255){d=j[f+8>>2];a=a>>>3|0;b=j[f+12>>2];if((b|0)==(d|0)){q=150736,r=j[37684]&qr(-2,a),j[q>>2]=r;break G}j[d+12>>2]=b;j[b+8>>2]=d;break G}i=j[f+24>>2];b=j[f+12>>2];H:{if((f|0)!=(b|0)){a=j[f+8>>2];j[a+12>>2]=b;j[b+8>>2]=a;break H}I:{a=f+20|0;e=j[a>>2];if(e){break I}a=f+16|0;e=j[a>>2];if(e){break I}b=0;break H}while(1){d=a;b=e;a=b+20|0;e=j[a>>2];if(e){continue}a=b+16|0;e=j[b+16>>2];if(e){continue}break}j[d>>2]=0}if(!i){break G}d=j[f+28>>2];a=(d<<2)+151040|0;J:{if(j[a>>2]==(f|0)){j[a>>2]=b;if(b){break J}q=150740,r=j[37685]&qr(-2,d),j[q>>2]=r;break G}j[i+(j[i+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break G}}j[b+24>>2]=i;a=j[f+16>>2];if(a){j[b+16>>2]=a;j[a+24>>2]=b}a=j[f+20>>2];if(!a){break G}j[b+20>>2]=a;j[a+24>>2]=b}f=f+g|0;c=c+g|0}j[f+4>>2]=j[f+4>>2]&-2;j[h+4>>2]=c|1;j[c+h>>2]=c;if(c>>>0<=255){a=c>>>3|0;b=(a<<3)+150776|0;c=j[37684];a=1<>2]}j[b+8>>2]=h;j[a+12>>2]=h;j[h+12>>2]=b;j[h+8>>2]=a;break B}a=31;if(c>>>0<=16777215){a=c>>>8|0;e=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(d|e))|0;a=(a<<1|c>>>a+21&1)+28|0}j[h+28>>2]=a;j[h+16>>2]=0;j[h+20>>2]=0;e=(a<<2)+151040|0;d=j[37685];b=1<>2]=h;j[h+24>>2]=e;break L}a=c<<((a|0)==31?0:25-(a>>>1|0)|0);b=j[e>>2];while(1){d=b;if((j[b+4>>2]&-8)==(c|0)){break C}b=a>>>29|0;a=a<<1;e=d+(b&4)|0;b=j[e+16>>2];if(b){continue}break}j[e+16>>2]=h;j[h+24>>2]=d}j[h+12>>2]=h;j[h+8>>2]=h;break B}d=f-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;j[37687]=c;a=a+b|0;j[37690]=a;j[a+4>>2]=c|1;j[(b+d|0)+4>>2]=40;j[37691]=j[37806];a=(e+(e-39&7?39-e&7:0)|0)-47|0;c=a>>>0>>0?g:a;j[c+4>>2]=27;a=j[37799];j[c+16>>2]=j[37798];j[c+20>>2]=a;a=j[37797];j[c+8>>2]=j[37796];j[c+12>>2]=a;j[37798]=c+8;j[37797]=f;j[37796]=b;j[37799]=0;a=c+24|0;while(1){j[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((c|0)==(g|0)){break x}j[c+4>>2]=j[c+4>>2]&-2;e=c-g|0;j[g+4>>2]=e|1;j[c>>2]=e;if(e>>>0<=255){a=e>>>3|0;b=(a<<3)+150776|0;c=j[37684];a=1<>2]}j[b+8>>2]=g;j[a+12>>2]=g;j[g+12>>2]=b;j[g+8>>2]=a;break x}a=31;j[g+16>>2]=0;j[g+20>>2]=0;if(e>>>0<=16777215){a=e>>>8|0;d=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|d))|0;a=(a<<1|e>>>a+21&1)+28|0}j[g+28>>2]=a;d=(a<<2)+151040|0;c=j[37685];b=1<>2]=g;j[g+24>>2]=d;break N}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);b=j[d>>2];while(1){c=b;if((e|0)==(j[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;d=c+(b&4)|0;b=j[d+16>>2];if(b){continue}break}j[d+16>>2]=g;j[g+24>>2]=c}j[g+12>>2]=g;j[g+8>>2]=g;break x}a=j[d+8>>2];j[a+12>>2]=h;j[d+8>>2]=h;j[h+24>>2]=0;j[h+12>>2]=d;j[h+8>>2]=a}a=l+8|0;break a}a=j[c+8>>2];j[a+12>>2]=g;j[c+8>>2]=g;j[g+24>>2]=0;j[g+12>>2]=c;j[g+8>>2]=a}a=j[37687];if(a>>>0<=i>>>0){break d}b=a-i|0;j[37687]=b;c=j[37690];a=c+i|0;j[37690]=a;j[a+4>>2]=b|1;j[c+4>>2]=i|3;a=c+8|0;break a}j[37140]=48;a=0;break a}O:{if(!f){break O}c=j[d+28>>2];a=(c<<2)+151040|0;P:{if(j[a>>2]==(d|0)){j[a>>2]=b;if(b){break P}l=qr(-2,c)&l;j[37685]=l;break O}j[f+(j[f+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break O}}j[b+24>>2]=f;a=j[d+16>>2];if(a){j[b+16>>2]=a;j[a+24>>2]=b}a=j[d+20>>2];if(!a){break O}j[b+20>>2]=a;j[a+24>>2]=b}Q:{if(e>>>0<=15){a=e+i|0;j[d+4>>2]=a|3;a=a+d|0;j[a+4>>2]=j[a+4>>2]|1;break Q}j[d+4>>2]=i|3;j[h+4>>2]=e|1;j[e+h>>2]=e;if(e>>>0<=255){a=e>>>3|0;b=(a<<3)+150776|0;c=j[37684];a=1<>2]}j[b+8>>2]=h;j[a+12>>2]=h;j[h+12>>2]=b;j[h+8>>2]=a;break Q}a=31;if(e>>>0<=16777215){a=e>>>8|0;g=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|g))|0;a=(a<<1|e>>>a+21&1)+28|0}j[h+28>>2]=a;j[h+16>>2]=0;j[h+20>>2]=0;c=(a<<2)+151040|0;S:{b=1<>2]=h;j[h+24>>2]=c;break T}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);i=j[c>>2];while(1){b=i;if((j[b+4>>2]&-8)==(e|0)){break S}c=a>>>29|0;a=a<<1;c=b+(c&4)|0;i=j[c+16>>2];if(i){continue}break}j[c+16>>2]=h;j[h+24>>2]=b}j[h+12>>2]=h;j[h+8>>2]=h;break Q}a=j[b+8>>2];j[a+12>>2]=h;j[b+8>>2]=h;j[h+24>>2]=0;j[h+12>>2]=b;j[h+8>>2]=a}a=d+8|0;break a}U:{if(!o){break U}c=j[b+28>>2];a=(c<<2)+151040|0;V:{if(j[a>>2]==(b|0)){j[a>>2]=d;if(d){break V}q=150740,r=qr(-2,c)&h,j[q>>2]=r;break U}j[(j[o+16>>2]==(b|0)?16:20)+o>>2]=d;if(!d){break U}}j[d+24>>2]=o;a=j[b+16>>2];if(a){j[d+16>>2]=a;j[a+24>>2]=d}a=j[b+20>>2];if(!a){break U}j[d+20>>2]=a;j[a+24>>2]=d}W:{if(e>>>0<=15){a=e+i|0;j[b+4>>2]=a|3;a=a+b|0;j[a+4>>2]=j[a+4>>2]|1;break W}j[b+4>>2]=i|3;j[l+4>>2]=e|1;j[e+l>>2]=e;if(n){a=n>>>3|0;c=(a<<3)+150776|0;d=j[37689];a=1<>2]}j[c+8>>2]=d;j[a+12>>2]=d;j[d+12>>2]=c;j[d+8>>2]=a}j[37689]=l;j[37686]=e}a=b+8|0}M=p+16|0;return a|0}function Lc(a,b,c,d,e,f,g,n){var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;o=M-176|0;M=o;w=a+56|0;a:{b:{c:{d:{p=k[a+67|0];t=p<<24>>24;q=j[a+60>>2];e:{if((t|0)<=-1){break e}q=p}f:{if(!q){break f}q=p;p=(t|0)<0;q=p?j[a+60>>2]:q;if(!q){break f}p=p?j[a+56>>2]:w;q=q+p|0;while(1){if((Ba(b,h[p|0],0)|0)!=-1){break d}p=p+1|0;if((q|0)!=(p|0)){continue}break}}if(j[a+12>>2]){break d}t=b;break c}t=ha(U(12),b);p=h[w+11|0];q=j[a+60>>2];g:{if((p|0)<=-1){break g}q=p&255}h:{if(!q){break h}if(j[a+16>>2]){c=Jd(t,a+68|0);break h}Id(t,w)}if(!j[a+12>>2]){v=t;break c}i:{if(j[a+16>>2]){c=ob(t);break i}Ua(t)}if(!f){f=0;A=1;v=t;p=0;break a}if(j[a+96>>2]){v=t;break b}f=ha(U(12),f);j:{if(!j[a+12>>2]){break j}if(j[a+16>>2]){ob(f);break j}Ua(f)}v=t;u=f;break b}if(f){break b}A=1;f=0;p=0;break a}p=4;if(j[a+96>>2]){break a}p=h[f+11|0];q=j[f+4>>2];k:{if((p|0)<=-1){break k}q=p&255}p=q+1|0}w=k[t+11|0];x=w<<24>>24;q=j[t+4>>2];l:{if((x|0)<=-1){break l}q=w}s=ja((p+q|0)+20|0);m:{n:{if(!s){if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=1;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}q=s+17|0;if((x|0)<=-1){p=j[t>>2]}else{p=t}y=ze(q,p);p=h[y|0];o:{if(!p){p=0;break o}q=h[s+18|0];if(!q){break o}p=q|p<<8;q=h[s+19|0];if(!q){break o}p=q|p<<8;q=h[s+20|0];if(!q){break o}p=q|p<<8;q=s+21|0;r=k[q|0];if(!r){break o}while(1){p=qr(p,5)^r<<24>>24;r=k[q+1|0];q=q+1|0;if(r){continue}break}}B=(p>>>0)%m[a>>2]|0;if((x|0)<=-1){p=j[t+4>>2]}else{p=w}j[s+8>>2]=0;j[s+12>>2]=0;j[s+4>>2]=d;i[s+2>>1]=e;h[s+1|0]=c;h[s|0]=p;c=((n|0)==1)<<3;h[s+16|0]=c;p:{if(A){break p}h[s+16|0]=c|1;e=j[a+96>>2];q:{if(e){h[s+16|0]=c|3;if((x|0)<=-1){w=j[t+4>>2]}c=(w+y|0)+1|0;p=0;if(h[f+11|0]<=-1){f=j[f>>2]}d=ta(f);if(!((d|0)<1|(d|0)>j[a+92>>2])){p=j[(e+(d<<2)|0)-4>>2]}h[c|0]=p;h[c+1|0]=p>>>8;h[c+2|0]=p>>>16;h[c+3|0]=p>>>24;break q}if((x|0)<=-1){w=j[t+4>>2]}c=(w+y|0)+1|0;if(h[f+11|0]<=-1){f=j[f>>2]}ze(c,f)}e=k[s+16|0];d=0;r:{if(!(e&1)){break r}c=(k[s|0]+s|0)+18|0;d=c;if(!(e&2)){break r}d=k[c|0]|k[c+1|0]<<8|(k[c+2|0]<<16|k[c+3|0]<<24)}if(!ca(d,120898)){break p}p=k[s+16|0]+4|0;h[s+16|0]=p;t=a+100|0;c=j[a>>2]/500|0;if(c>>>0>(j[a+108>>2]-j[a+100>>2]|0)/60>>>0){Vh(t,c);p=k[s+16|0]}c=0;s:{if(!(p&1)){break s}d=(k[s|0]+s|0)+18|0;c=d;if(!(p&2)){break s}c=k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24)}d=W(c);if(d>>>0<4294967280){t:{u:{if(d>>>0>=11){e=d+16&-16;r=U(e);j[o+168>>2]=e|-2147483648;j[o+160>>2]=r;j[o+164>>2]=d;e=o+160|0;break u}h[o+171|0]=d;e=o+160|0;r=e;if(!d){break t}}V(r,c,d)}h[d+r|0]=0;j[o+152>>2]=h[e+11|0]<0?j[o+160>>2]:o+160|0;r=ka(o+160|0,o+152|0);w=o- -64|0;while(1){c=h[e+11|0];v:{if((c|0)<=-1){c=j[o+160>>2];if((c+j[o+164>>2]|0)!=(r|0)){break v}T(c);break p}if(((o+160|0)+(c&255)|0)==(r|0)){break p}}w:{x:{y:{z:{A:{d=j[o+152>>2];c=d-r|0;if(c>>>0<4294967280){B:{if(c>>>0<=10){h[o+19|0]=c;p=o+8|0;break B}f=c+16&-16;p=U(f);j[o+16>>2]=f|-2147483648;j[o+8>>2]=p;j[o+12>>2]=c}q=r;if((d|0)!=(q|0)){while(1){h[p|0]=k[q|0];p=p+1|0;q=q+1|0;if((d|0)!=(q|0)){continue}break}}h[p|0]=0;f=j[o+8>>2];d=k[o+19|0];x=d<<24>>24;p=(x|0)<0;c=p?f:o+8|0;p=p?j[o+12>>2]:d;d=c+p|0;q=c;C:{D:{if((p|0)<3){break D}while(1){p=Aa(q,112,p-2|0);if(!p){break D}if(!qa(p,120898,3)){break C}q=p+1|0;p=d-q|0;if((p|0)>2){continue}break}}p=d}if((x|0)<=-1){T(f)}if(!((c|0)==(p|0)&(d|0)!=(p|0))){break w}d=j[o+152>>2];c=d-r|0;if(c>>>0>=4294967280){break A}E:{if(c>>>0<=10){h[o+19|0]=c;p=o+8|0;break E}f=c+16&-16;p=U(f);j[o+16>>2]=f|-2147483648;j[o+8>>2]=p;j[o+12>>2]=c}if((d|0)!=(r|0)){while(1){h[p|0]=k[r|0];p=p+1|0;r=r+1|0;if((d|0)!=(r|0)){continue}break}}h[p|0]=0;f=sa(o+136|0,o+8|0,3,-1);if(h[o+19|0]<=-1){T(j[o+8>>2])}p=h[o+147|0];d=(p|0)<0;c=d?j[o+140>>2]:p&255;if(!c){break x}j[o+128>>2]=0;j[o+120>>2]=0;j[o+124>>2]=0;j[o+112>>2]=0;j[o+104>>2]=0;j[o+108>>2]=0;if((c|0)<2){break z}d=d?j[o+136>>2]:o+136|0;r=d+c|0;p=c;q=d;while(1){p=Aa(q,45,p-1|0);if(!p){break z}if((k[p|0]|k[p+1|0]<<8)!=15917){q=p+1|0;p=r-q|0;if((p|0)>=2){continue}break z}break}d=(p|0)==(r|0)?-1:p-d|0;if(d+1>>>0<2|d>>>0>=c-2>>>0){break z}sa(o+8|0,f,d+2|0,-1);if(h[o+115|0]<=-1){T(j[o+104>>2])}j[o+112>>2]=j[o+16>>2];c=j[o+12>>2];j[o+104>>2]=j[o+8>>2];j[o+108>>2]=c;p=h[o+147|0];c=(p|0)<0;q=j[o+136>>2];pb(f,d,(c?q+j[o+140>>2]|0:(o+136|0)+(p&255)|0)-(d+(c?q:o+136|0)|0)|0);break y}X();z()}X();z()}ua(o+104|0,b)}c=k[o+147|0];F:{if(k[Td(f,(c<<24>>24<0?j[o+140>>2]:c)-1|0)|0]!=42){break F}p=1;G:{if(!j[a+16>>2]){q=0;break G}while(1){H:{c=h[o+147|0];I:{if((c|0)<=-1){q=j[o+140>>2];if(q>>>0>p>>>0){break I}break H}q=c&255;if(q>>>0<=p>>>0){break H}}if((k[Td(f,(p^-1)+q|0)|0]&192)!=128){break H}p=p+1|0;continue}break}q=0;while(1){c=h[o+115|0];J:{if((c|0)<=-1){r=j[o+108>>2];if(r>>>0<=q>>>0){break G}break J}r=c&255;if(r>>>0<=q>>>0){break G}}if((k[Td(o+104|0,(q^-1)+r|0)|0]&192)!=128){break G}q=q+1|0;continue}}c=k[o+147|0];r=c<<24>>24<0?j[o+140>>2]:c;c=p+1|0;if(r>>>0<=c>>>0){break F}d=k[o+115|0];p=d<<24>>24<0?j[o+108>>2]:d;d=q+1|0;if(p>>>0<=d>>>0){break F}pb(f,r-c|0,c);c=k[b+11|0];pb(o+104|0,(c<<24>>24<0?j[b+4>>2]:c)-d|0,d)}K:{if((n|0)!=1){break K}j[o+96>>2]=0;j[o+88>>2]=0;j[o+92>>2]=0;L:{if(j[a+16>>2]){ia(o+120|0,f);if(Mc(o+120|0,j[a+24>>2])){break L}wb(o+120|0,j[a+24>>2]);da(o+88|0,o+120|0);break L}if(Nc(f,j[a+52>>2])){break L}nb(o+88|0,j[a+52>>2])}d=k[o+99|0];c=d<<24>>24;if((c|0)<0?j[o+92>>2]:d){c=j[a+24>>2]-36|0;M:{if((c|0)!=13?c:0){break M}d=ha(o+72|0,o+104|0);N:{if(j[a+16>>2]){ia(o+120|0,d);Ta(o+120|0,j[a+24>>2]);da(d,o+120|0);break N}Pa(d,j[a+52>>2])}j[w>>2]=0;j[o+56>>2]=0;j[o+60>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[o+40>>2]=0;j[o+44>>2]=0;j[o+32>>2]=0;j[o+36>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[o+16>>2]=0;j[o+20>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;c=j[a+104>>2];O:{if(c>>>0>2]){p=j[o+12>>2];j[c>>2]=j[o+8>>2];j[c+4>>2]=p;j[c+8>>2]=j[o+16>>2];j[o+16>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;j[c+20>>2]=j[o+28>>2];p=j[o+24>>2];j[c+12>>2]=j[o+20>>2];j[c+16>>2]=p;j[o+20>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[c+32>>2]=j[o+40>>2];p=j[o+36>>2];j[c+24>>2]=j[o+32>>2];j[c+28>>2]=p;j[o+32>>2]=0;j[o+36>>2]=0;j[o+40>>2]=0;j[c+44>>2]=j[o+52>>2];p=j[o+48>>2];j[c+36>>2]=j[o+44>>2];j[c+40>>2]=p;j[o+44>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[c+56>>2]=j[o+64>>2];p=j[o+60>>2];j[c+48>>2]=j[o+56>>2];j[c+52>>2]=p;j[o+56>>2]=0;j[o+60>>2]=0;j[o+64>>2]=0;j[a+104>>2]=c+60;break O}Fd(t,o+8|0);if(h[o+67|0]>-1){break O}T(j[o+56>>2])}if(h[o+55|0]<0){T(j[o+44>>2])}if(h[o+43|0]<=-1){T(j[o+32>>2])}if(h[o+31|0]<=-1){T(j[o+20>>2])}if(h[o+19|0]<0){T(j[o+8>>2])}ua(j[a+104>>2]-60|0,f);ua(j[a+104>>2]-48|0,d);if(h[o+83|0]>-1){break M}T(j[o+72>>2])}j[w>>2]=0;j[o+56>>2]=0;j[o+60>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[o+40>>2]=0;j[o+44>>2]=0;j[o+32>>2]=0;j[o+36>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[o+16>>2]=0;j[o+20>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;c=j[a+104>>2];P:{if(c>>>0>2]){d=j[o+12>>2];j[c>>2]=j[o+8>>2];j[c+4>>2]=d;j[c+8>>2]=j[o+16>>2];j[o+16>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;j[c+20>>2]=j[o+28>>2];d=j[o+24>>2];j[c+12>>2]=j[o+20>>2];j[c+16>>2]=d;j[o+20>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[c+32>>2]=j[o+40>>2];d=j[o+36>>2];j[c+24>>2]=j[o+32>>2];j[c+28>>2]=d;j[o+32>>2]=0;j[o+36>>2]=0;j[o+40>>2]=0;j[c+44>>2]=j[o+52>>2];d=j[o+48>>2];j[c+36>>2]=j[o+44>>2];j[c+40>>2]=d;j[o+44>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[c+56>>2]=j[o+64>>2];d=j[o+60>>2];j[c+48>>2]=j[o+56>>2];j[c+52>>2]=d;j[o+56>>2]=0;j[o+60>>2]=0;j[o+64>>2]=0;j[a+104>>2]=c+60;break P}Fd(t,o+8|0);if(h[o+67|0]>-1){break P}T(j[o+56>>2])}if(h[o+55|0]<0){T(j[o+44>>2])}if(h[o+43|0]<=-1){T(j[o+32>>2])}if(h[o+31|0]<=-1){T(j[o+20>>2])}if(h[o+19|0]<0){T(j[o+8>>2])}ua(j[a+104>>2]-60|0,o+88|0);ua(j[a+104>>2]-48|0,o+104|0);c=k[o+99|0]}if(c<<24>>24>-1){break K}T(j[o+88>>2])}j[w>>2]=0;j[o+56>>2]=0;j[o+60>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[o+40>>2]=0;j[o+44>>2]=0;j[o+32>>2]=0;j[o+36>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[o+16>>2]=0;j[o+20>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;c=j[a+104>>2];Q:{if(c>>>0>2]){d=j[o+12>>2];j[c>>2]=j[o+8>>2];j[c+4>>2]=d;j[c+8>>2]=j[o+16>>2];j[o+16>>2]=0;j[o+8>>2]=0;j[o+12>>2]=0;j[c+20>>2]=j[o+28>>2];d=j[o+24>>2];j[c+12>>2]=j[o+20>>2];j[c+16>>2]=d;j[o+20>>2]=0;j[o+24>>2]=0;j[o+28>>2]=0;j[c+32>>2]=j[o+40>>2];d=j[o+36>>2];j[c+24>>2]=j[o+32>>2];j[c+28>>2]=d;j[o+32>>2]=0;j[o+36>>2]=0;j[o+40>>2]=0;j[c+44>>2]=j[o+52>>2];d=j[o+48>>2];j[c+36>>2]=j[o+44>>2];j[c+40>>2]=d;j[o+44>>2]=0;j[o+48>>2]=0;j[o+52>>2]=0;j[c+56>>2]=j[o+64>>2];d=j[o+60>>2];j[c+48>>2]=j[o+56>>2];j[c+52>>2]=d;j[o+56>>2]=0;j[o+60>>2]=0;j[o+64>>2]=0;j[a+104>>2]=c+60;break Q}Fd(t,o+8|0);if(h[o+67|0]>-1){break Q}T(j[o+56>>2])}if(h[o+55|0]<0){T(j[o+44>>2])}if(h[o+43|0]<=-1){T(j[o+32>>2])}if(h[o+31|0]<=-1){T(j[o+20>>2])}if(h[o+19|0]<0){T(j[o+8>>2])}ua(j[a+104>>2]-60|0,f);ua(j[a+104>>2]-48|0,o+104|0);if(h[o+115|0]<=-1){T(j[o+104>>2])}c=j[o+120>>2];if(c){j[o+124>>2]=c;T(c)}p=k[o+147|0]}if(p<<24>>24>-1){break w}T(j[o+136>>2])}r=ka(o+160|0,o+152|0);continue}}X();z()}R:{S:{T:{a=j[a+4>>2]+(B<<2)|0;p=j[a>>2];if(p){q=j[p+8>>2];if(!q){c=0;b=p+8|0;break R}c=0;if(!g){break T}r=p;while(1){p=q;if(!j[r+12>>2]){c=!ba(y,r+17|0)|c}r=p;q=j[p+8>>2];if(q){continue}break}break S}j[a>>2]=s;if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}while(1){a=p;p=q;U:{if(j[a+12>>2]){break U}b=ba(y,a+17|0);if(b){c=!b|c;break U}V:{b=j[a+4>>2];if(!b){break V}r=i[a+2>>1];f=b+(r<<1)|0;q=b;if(r){while(1){d=r>>>1|0;n=(d<<1)+q|0;e=l[n>>1]<65511;q=e?n+2|0:q;r=e?(d^-1)+r|0:d;if(r){continue}break}}if((f|0)==(q|0)|l[q>>1]>65511){break V}T(b);j[a+4>>2]=j[s+4>>2];i[a+2>>1]=l[s+2>>1];T(s);if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}j[a+12>>2]=s}q=j[p+8>>2];if(q){continue}break}}b=p+8|0}W:{X:{if(!ba(y,p+17|0)){if(g){break X}Y:{a=j[p+4>>2];if(!a){break Y}r=i[p+2>>1];f=a+(r<<1)|0;q=a;if(r){while(1){d=r>>>1|0;g=(d<<1)+q|0;e=l[g>>1]<65511;q=e?g+2|0:q;r=e?(d^-1)+r|0:d;if(r){continue}break}}if((f|0)==(q|0)|l[q>>1]>65511){break Y}T(a);j[p+4>>2]=j[s+4>>2];i[p+2>>1]=l[s+2>>1];T(s);if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2]);break n}j[p+12>>2]=s}if(c&1){break X}j[b>>2]=s;break W}a=j[s+4>>2];if(a){T(a)}T(s)}if(u){if(h[u+11|0]<=-1){T(j[u>>2])}T(u)}p=0;if(!v){break m}if(h[v+11|0]>-1){break n}T(j[v>>2])}T(v)}M=o+176|0;return p}function No(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;g=M-80|0;M=g;h[g+72|0]=c;j[g+68>>2]=a;j[g+64>>2]=0;j[g+56>>2]=0;j[g+60>>2]=0;j[g+48>>2]=h[b+11|0]<0?j[b>>2]:b;a:{b:{c:{d:{e:{f:{m=ka(b,g+48|0);n=k[b+11|0];f=n<<24>>24<0;if((m|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:n)|0)){p=(c|0)==83?1:2;y=(c|0)!=80;while(1){g:{h:{switch(q|0){case 0:t=t+1|0;break g;case 1:s=j[g+48>>2];u=s-m|0;if(u>>>0>=4294967280){break d}o=j[a+4100>>2];i:{if(u>>>0<=10){h[g+43|0]=u;f=g+32|0;break i}n=u+16&-16;f=U(n);j[g+40>>2]=n|-2147483648;j[g+32>>2]=f;j[g+36>>2]=u}if((m|0)!=(s|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((s|0)!=(m|0)){continue}break}}h[f|0]=0;v=Ha(o,h[g+43|0]<0?j[g+32>>2]:g+32|0);if(h[g+43|0]<=-1){T(j[g+32>>2])}t=t+1|0;f=e+v|0;h[f|0]=p+k[f|0];break g;case 2:r=k[m|0]==89?1:r;t=t+1|0;break g;case 3:break h;default:break g}}o=j[g+48>>2];s=o-m|0;if(s>>>0>=4294967280){break e}j:{if(s>>>0<=10){h[g+43|0]=s;f=g+32|0;break j}n=s+16&-16;f=U(n);j[g+40>>2]=n|-2147483648;j[g+32>>2]=f;j[g+36>>2]=s}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;k:{if(h[g+43|0]>=0){w=ta(g+32|0);break k}f=j[g+32>>2];w=ta(f);T(f)}if(!(w>>>0<67108864?(w|0)>=1:0)){a=Ib(j[a+4100>>2],v&65535);if(!a){break b}T(a);break b}t=t+1|0;f=j[a+4144>>2]?r+2|0:r;f=j[j[a+4100>>2]+84>>2]?f+4|0:f;Ln(g+56|0,w,(j[j[a+4100>>2]+96>>2]?f+8|0:f)<<24>>24,v&65535)}q=q+1|0;m=ka(b,g+48|0);n=k[b+11|0];f=n<<24>>24<0;if((m|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:n)|0)){continue}break}if((t|0)==4){break f}}a=Ib(j[a+4100>>2],v&65535);if(!a){break b}T(a);break b}f=j[g+60>>2];m=j[g+56>>2];b=0;l:{if((f|0)==(m|0)){break l}b=j[m>>2]}m:{if((w|0)>=1){x=a+4420|0;u=a+4408|0;s=v&65535;y=(c|0)==83;e=0;n:{while(1){j[g+40>>2]=0;j[g+32>>2]=0;j[g+36>>2]=0;o:{p:{if(!vb(d,g+32|0)){break p}bb(g+32|0);j[g+48>>2]=h[g+43|0]<0?j[g+32>>2]:g+32|0;m=ka(g+32|0,g+48|0);n=k[g+43|0];f=n<<24>>24<0;if((m|0)!=((f?j[g+32>>2]:g+32|0)+(f?j[g+36>>2]:n)|0)){t=0;r=0;while(1){q:{r:{s:{t:{u:{v:{w:{switch(t|0){case 0:r=r+1|0;if(!e){break q}b=Jn(g+56|0);break q;case 1:o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}x:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break x}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;m=(Ha(j[a+4100>>2],h[g+27|0]<0?j[g+16>>2]:g+16|0)|0)==(s|0);y:{if(!m){f=Ib(j[a+4100>>2],s);if(!f){break y}T(f);break y}if(!e){break y}i[b+30>>1]=l[j[j[g+56>>2]>>2]+30>>1]}if(h[g+27|0]<=-1){T(j[g+16>>2])}if(!m){break p}r=r+1|0;break q;case 2:o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}z:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break z}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;m=b+16|0;if(h[b+27|0]<=-1){T(j[m>>2])}f=j[g+20>>2];j[m>>2]=j[g+16>>2];j[m+4>>2]=f;j[m+8>>2]=j[g+24>>2];A:{if(!j[a+4148>>2]){break A}if(j[a+4144>>2]){ob(m);break A}Ua(m)}r=r+1|0;if(bf(m)){break q}if(h[m+11|0]>-1){break v}h[j[b+16>>2]]=0;j[b+20>>2]=0;break q;case 3:i[b+60>>1]=0;j[b+52>>2]=0;j[b+56>>2]=0;B:{f=m;q=j[g+48>>2];o=(m|0)==(q|0);if(o){break B}while(1){if(k[f|0]==47){break B}f=f+1|0;if((q|0)!=(f|0)){continue}break}break s}if((f|0)==(q|0)){break s}p=f-m|0;if(p>>>0>=4294967280){break a}C:{if(p>>>0<=10){h[g+27|0]=p;n=g+16|0;break C}o=p+16&-16;n=U(o);j[g+24>>2]=o|-2147483648;j[g+16>>2]=n;j[g+20>>2]=p}if((f|0)!=(m|0)){while(1){h[n|0]=k[m|0];n=n+1|0;m=m+1|0;if((m|0)!=(f|0)){continue}break}}h[n|0]=0;q=b+4|0;if(h[b+15|0]<=-1){T(j[q>>2])}m=j[g+20>>2];j[q>>2]=j[g+16>>2];j[q+4>>2]=m;j[q+8>>2]=j[g+24>>2];o=j[g+48>>2];f=f+1|0;p=o-f|0;if(p>>>0>=4294967280){break a}D:{if(p>>>0<=10){h[g+27|0]=p;m=g+16|0;break D}n=p+16&-16;m=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=m;j[g+20>>2]=p}if((f|0)!=(o|0)){while(1){h[m|0]=k[f|0];m=m+1|0;f=f+1|0;if((o|0)!=(f|0)){continue}break}}h[m|0]=0;m=k[u+11|0];n=m<<24>>24;f=j[a+4412>>2];E:{if((n|0)<=-1){break E}f=m}F:{if(!f){break F}f=m;m=(n|0)<0;f=m?j[a+4412>>2]:f;if(!f){break F}m=m?j[a+4408>>2]:u;f=f+m|0;while(1){if((Ba(q,h[m|0],0)|0)==-1){m=m+1|0;if((f|0)!=(m|0)){continue}break F}break}if(j[a+4144>>2]){Jd(q,x);break F}Id(q,u)}G:{if(!j[a+4148>>2]){break G}if(j[a+4144>>2]){ob(q);break G}Ua(q)}p=b+56|0;H:{if(j[j[a+4100>>2]+84>>2]){n=Oq(j[a+4100>>2],ta(h[g+27|0]<0?j[g+16>>2]:g+16|0),p);i[b+60>>1]=n;break H}o=j[a+4100>>2];m=h[g+27|0]<0?j[g+16>>2]:g+16|0;q=W(m);if(q>>>0>=4294967280){break u}I:{J:{if(q>>>0>=11){f=q+16&-16;n=U(f);j[g+8>>2]=f|-2147483648;j[g>>2]=n;j[g+4>>2]=q;break J}h[g+11|0]=q;n=g;if(!q){break I}}V(n,m,q)}h[n+q|0]=0;m=Qe(o,p,g);i[b+60>>1]=m;if(h[g+11|0]<=-1){T(j[g>>2]);m=l[b+60>>1]}f=j[b+56>>2];Wc(f,f+(m<<16>>16<<1)|0,g);n=l[b+60>>1]}j[a+4488>>2]=1;m=0;f=0;if(n<<16>>16<=0){break t}while(1){h[(l[j[b+56>>2]+(m<<1)>>1]+a|0)+4492|0]=1;f=f+1|0;m=f&65535;if((m|0)>1]){continue}break}break t;case 4:o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}K:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break K}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;L:{if(!j[a+4148>>2]){break L}M:{if(j[a+4144>>2]){ob(g+16|0);break M}Ua(g+16|0)}m=k[g+27|0];f=m<<24>>24;N:{if((f|0)<=-1){m=j[g+20>>2];if(!m){break L}f=j[g+16>>2];break N}if(!f){break L}f=g+16|0}m=f+m|0;f=0;while(1){n=f;o=m;O:{P:{Q:{R:{S:{T:{m=m-1|0;p=h[m|0];switch(p-91|0){case 3:break R;case 2:break S;case 0:break T;default:break Q}}if(n){h[o|0]=91;break P}h[m|0]=93;f=0;break O}h[m|0]=91;f=0;if(!n){break O}h[o|0]=94;break O}f=1;if(k[o|0]==93){break O}h[o|0]=p;f=n;break O}if(!n){f=0;break O}h[o|0]=p}f=1}if(((h[g+27|0]<0?j[g+16>>2]:g+16|0)|0)!=(m|0)){continue}break}}m=k[b+27|0];f=m<<24>>24;if((f|0)<=-1){m=j[b+20>>2]}U:{if(!m){break U}m=b+16|0;n=k[g+27|0];if(((n<<24>>24<0?j[g+20>>2]:n)|0)==1){if(!_(g+16|0,0,-1,1742,1)){break U}f=k[m+11|0]}V:{if(f<<24>>24<=-1){m=j[b+16>>2];f=j[b+20>>2];break V}f=f&255}if(!En(a,c,m,f,h[g+27|0]<0?j[g+16>>2]:g+16|0)){break U}Ja(g+16|0,1742)}W:{X:{if(!y){n=k[g+27|0];break X}Ua(g+16|0);f=k[g+27|0];m=f<<24>>24;Y:{if((m|0)<=-1){m=j[g+16>>2];f=j[g+20>>2];n=m;if(f){break Y}break W}if(!m){m=g+16|0;break W}n=g+16|0}m=f+n|0;f=0;while(1){n=f;o=m;Z:{_:{$:{aa:{ba:{ca:{m=m-1|0;p=h[m|0];switch(p-91|0){case 3:break aa;case 2:break ba;case 0:break ca;default:break $}}if(n){h[o|0]=91;break _}h[m|0]=93;f=0;break Z}h[m|0]=91;f=0;if(!n){break Z}h[o|0]=94;break Z}f=1;if(k[o|0]==93){break Z}h[o|0]=p;f=n;break Z}if(!n){f=0;break Z}h[o|0]=p}f=1}n=h[g+27|0];if((((n|0)<0?j[g+16>>2]:g+16|0)|0)!=(m|0)){continue}break}}m=g+16|0;if(n<<24>>24>-1){break W}m=j[g+16>>2]}f=xn(a,b,m);if(h[g+27|0]<=-1){T(j[g+16>>2])}if(f){break p}r=r+1|0;break q;case 5:break w;default:break q}}o=j[g+48>>2];p=o-m|0;if(p>>>0>=4294967280){break a}da:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break da}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if((m|0)!=(o|0)){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}h[f|0]=0;ea:{fa:{if(j[j[a+4100>>2]+96>>2]){A=b,B=Qq(j[a+4100>>2],ta(h[g+27|0]<0?j[g+16>>2]:g+16|0)),j[A+52>>2]=B;break fa}ga:{if(!j[a+4148>>2]){break ga}if(j[a+4144>>2]){ob(g+16|0);break ga}Ua(g+16|0)}n=j[g+48>>2];m=k[g+43|0];f=m<<24>>24<0;f=(f?j[g+32>>2]:g+32|0)+(f?j[g+36>>2]:m)|0;if((n|0)!=(f|0)){sn(g+16|0,n,f)}m=cb(h[g+27|0]<0?j[g+16>>2]:g+16|0);j[b+52>>2]=m;f=0;if(!m){break ea}}f=1}if(h[g+27|0]<=-1){T(j[g+16>>2])}if(!f){break p}r=r+1|0;break q}h[m+11|0]=0;h[m|0]=0;break q}X();z()}if(h[g+27|0]>-1){break r}T(j[g+16>>2]);break r}p=q-m|0;if(p>>>0>=4294967280){break m}ha:{if(p>>>0<=10){h[g+27|0]=p;f=g+16|0;break ha}n=p+16&-16;f=U(n);j[g+24>>2]=n|-2147483648;j[g+16>>2]=f;j[g+20>>2]=p}if(!o){while(1){h[f|0]=k[m|0];f=f+1|0;m=m+1|0;if((q|0)!=(m|0)){continue}break}}h[f|0]=0;o=b+4|0;if(h[b+15|0]<=-1){T(j[o>>2])}f=j[g+20>>2];j[o>>2]=j[g+16>>2];j[o+4>>2]=f;j[o+8>>2]=j[g+24>>2];m=k[u+11|0];n=m<<24>>24;f=j[a+4412>>2];ia:{if((n|0)<=-1){break ia}f=m}ja:{if(!f){break ja}f=m;m=(n|0)<0;f=m?j[a+4412>>2]:f;if(!f){break ja}m=m?j[a+4408>>2]:u;f=f+m|0;while(1){if((Ba(o,h[m|0],0)|0)==-1){m=m+1|0;if((f|0)!=(m|0)){continue}break ja}break}if(j[a+4144>>2]){Jd(o,x);break ja}Id(o,u)}if(!j[a+4148>>2]){break r}if(j[a+4144>>2]){ob(o);break r}Ua(o)}r=r+1|0;if(bf(b+4|0)){break q}if(h[b+15|0]<=-1){h[j[b+4>>2]]=0;j[b+8>>2]=0;break q}h[b+15|0]=0;h[b+4|0]=0}t=t+1|0;m=ka(g+32|0,g+48|0);n=k[g+43|0];f=n<<24>>24<0;if((m|0)!=((f?j[g+32>>2]:g+32|0)+(f?j[g+36>>2]:n)|0)){continue}break}f=1;if((r|0)>3){break o}}f=Ib(j[a+4100>>2],s);if(!f){break p}T(f)}f=0}if(h[g+43|0]<=-1){T(j[g+32>>2])}if(f){e=e+1|0;if((w|0)==(e|0)){break n}continue}break}x=0;break b}m=j[g+56>>2];f=j[g+60>>2]}if((f|0)==(m|0)){break c}if((c|0)==80){while(1){kn(a,j[m>>2]);m=m+4|0;if((m|0)!=(f|0)){continue}break c}}while(1){dn(a,j[m>>2]);m=m+4|0;if((m|0)!=(f|0)){continue}break}break c}break a}X();z()}X();z()}j[g+60>>2]=j[g+56>>2];x=1}a=j[g+60>>2];f=j[g+56>>2];ka:{if((a|0)==(f|0)){f=a;break ka}m=0;while(1){b=j[(m<<2)+f>>2];if(b){O[j[j[b>>2]+4>>2]](b);f=j[g+56>>2];a=j[g+60>>2]}m=m+1|0;if(m>>>0>2>>>0){continue}break}}if(f){j[g+60>>2]=f;T(f)}M=g+80|0;return x}X();z()}function Sg(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0;n=M-192|0;M=n;z=h;F=i&65535;o=d;p=e&65535;G=(e^i)&-2147483648;m=i>>>16&32767;a:{u=e>>>16&32767;b:{c:{if(m-1>>>0<32766?u-1>>>0<=32765:0){break c}H=e&2147483647;l=H;k=d;if(!(!k&(l|0)==2147418112?!(b|c):l>>>0<2147418112)){J=d;G=e|32768;break b}H=i&2147483647;e=H;d=h;if(!(!d&(e|0)==2147418112?!(f|g):e>>>0<2147418112)){J=h;G=i|32768;b=f;c=g;break b}if(!(b|k|(l^2147418112|c))){if(!(d|f|(e^2147418112|g))){b=0;c=0;G=2147450880;break b}G=G|2147418112;b=0;c=0;break b}if(!(d|f|(e^2147418112|g))){b=0;c=0;break b}if(!(b|k|(c|l))){break a}if(!(d|f|(e|g))){G=G|2147418112;b=0;c=0;break b}if((l|0)==65535|l>>>0<65535){i=b;d=!(p|o);h=d<<6;k=s(d?b:o)+32|0;b=s(d?c:p);b=h+((b|0)==32?k:b)|0;mb(n+176|0,i,c,o,p,b-15|0);I=16-b|0;o=j[n+184>>2];p=j[n+188>>2];c=j[n+180>>2];b=j[n+176>>2]}if(e>>>0>65535){break c}d=!(z|F);e=d<<6;h=s(d?f:z)+32|0;d=s(d?g:F);d=e+((d|0)==32?h:d)|0;mb(n+160|0,f,g,z,F,d-15|0);I=(d+I|0)-16|0;z=j[n+168>>2];F=j[n+172>>2];f=j[n+160>>2];g=j[n+164>>2]}e=F|65536;H=e;P=z;d=z;l=e<<15|d>>>17;d=d<<15|g>>>17;h=-102865788-d|0;e=l;k=l;i=1963258675-(k+(d>>>0>4192101508)|0)|0;Nb(n+144|0,d,k,h,i);k=j[n+152>>2];Nb(n+128|0,0-k|0,0-(j[n+156>>2]+((k|0)!=0)|0)|0,h,i);h=j[n+136>>2];i=h<<1|j[n+132>>2]>>>31;h=j[n+140>>2]<<1|h>>>31;Nb(n+112|0,i,h,d,l);k=h;h=j[n+120>>2];Nb(n+96|0,i,k,0-h|0,0-(j[n+124>>2]+((h|0)!=0)|0)|0);h=j[n+104>>2];i=h<<1|j[n+100>>2]>>>31;h=j[n+108>>2]<<1|h>>>31;Nb(n+80|0,i,h,d,l);k=h;h=j[n+88>>2];Nb(n- -64|0,i,k,0-h|0,0-(j[n+92>>2]+((h|0)!=0)|0)|0);h=j[n+72>>2];i=h<<1|j[n+68>>2]>>>31;h=j[n+76>>2]<<1|h>>>31;Nb(n+48|0,i,h,d,l);k=h;h=j[n+56>>2];Nb(n+32|0,i,k,0-h|0,0-(j[n+60>>2]+((h|0)!=0)|0)|0);h=j[n+40>>2];i=h<<1|j[n+36>>2]>>>31;h=j[n+44>>2]<<1|h>>>31;Nb(n+16|0,i,h,d,l);k=h;h=j[n+24>>2];Nb(n,i,k,0-h|0,0-(j[n+28>>2]+((h|0)!=0)|0)|0);I=(u-m|0)+I|0;h=j[n+8>>2];k=j[n+12>>2]<<1|h>>>31;l=h<<1|j[n+4>>2]>>>31;h=l-1|0;l=k-(l>>>0<1)|0;k=0;C=k;i=h;q=e;e=0;r=or(h,k,q,e);k=N;v=k;y=l;m=0;u=d;h=or(l,m,d,0);d=h+r|0;k=N+k|0;k=d>>>0>>0?k+1|0:k;h=d;d=k;k=0;l=(d|0)==(v|0)&h>>>0>>0|d>>>0>>0;r=or(y,m,q,e);e=r+d|0;l=N+(k|l)|0;k=e;e=k>>>0>>0?l+1|0:l;q=k;l=h;r=0;h=or(i,C,u,t);d=r+h|0;k=N+l|0;k=d>>>0>>0?k+1|0:k;h=k;u=(l|0)==(k|0)&r>>>0>d>>>0|k>>>0>>0;l=q+u|0;k=e;A=l;e=l>>>0>>0?k+1|0:k;q=d;r=d;u=h;d=g;B=(d&131071)<<15|f>>>17;v=or(i,C,B,0);d=N;t=d;k=f;l=k<<15&-32768;x=0;D=or(y,m,l,x);h=D+v|0;k=N+d|0;k=h>>>0>>0?k+1|0:k;d=k;D=0;E=or(i,C,l,x);x=D+E|0;l=h;k=l+N|0;k=x>>>0>>0?k+1|0:k;w=(k|0)==(l|0)&x>>>0>>0|k>>>0>>0;k=(d|0)==(t|0)&l>>>0>>0|d>>>0>>0;h=d;d=or(y,m,B,K)+d|0;l=k+N|0;l=d>>>0>>0?l+1|0:l;h=d;d=w+d|0;k=l;k=d>>>0>>0?k+1|0:k;h=d;d=d+r|0;k=k+u|0;k=d>>>0>>0?k+1|0:k;r=d;v=k;h=(k|0)==(u|0)&d>>>0>>0|k>>>0>>0;d=h+A|0;k=e;k=d>>>0>>0?k+1|0:k;e=(r|0)!=0|(v|0)!=0;d=e+d|0;l=d>>>0>>0?k+1|0:k;h=d;t=0-d|0;A=0;u=or(t,A,i,C);d=N;x=d;e=u;q=d;A=or(y,m,t,A);d=N;w=d;B=0-(((h|0)!=0)+l|0)|0;t=0;l=or(i,C,B,t);h=l+A|0;k=N+d|0;k=h>>>0>>0?k+1|0:k;d=k;l=h+q|0;e=0+e|0;q=e;k=e;l=k>>>0>>0?l+1|0:l;e=l;l=(x|0)==(l|0)&k>>>0>>0|l>>>0>>0;k=(d|0)==(w|0)&h>>>0>>0|d>>>0>>0;h=d;d=or(y,m,B,t)+d|0;k=k+N|0;k=d>>>0>>0?k+1|0:k;h=d;d=l+d|0;w=d;h=d>>>0>>0?k+1|0:k;d=0-r|0;B=0-(((r|0)!=0)+v|0)|0;r=0;A=or(B,r,i,C);x=N;v=d;l=or(d,0,y,m);d=l+A|0;k=N+x|0;k=d>>>0>>0?k+1|0:k;l=d;d=k;C=or(i,C,v,K);v=0+C|0;k=l+N|0;k=v>>>0>>0?k+1|0:k;v=(l|0)==(k|0)&v>>>0>>0|l>>>0>k>>>0;i=(d|0)==(x|0)&l>>>0>>0|d>>>0>>0;l=d;d=or(y,m,B,r)+l|0;k=i+N|0;k=d>>>0>>0?k+1|0:k;i=d;d=d+v|0;l=d>>>0>>0?k+1|0:k;i=d;d=d+q|0;k=l+e|0;k=d>>>0>>0?k+1|0:k;i=d;l=d;d=k;l=(e|0)==(k|0)&l>>>0>>0|e>>>0>k>>>0;e=l+w|0;k=h;k=e>>>0>>0?k+1|0:k;l=e;e=i;v=e-2|0;h=v;r=d-(e>>>0<2)|0;e=r;e=(d|0)==(e|0)&h>>>0>>0|d>>>0>e>>>0;d=l+e|0;k=d>>>0>>0?k+1|0:k;e=d;d=d-1|0;h=k-(e>>>0<1)|0;e=0;x=e;m=d;i=o;w=i<<2|c>>>30;B=0;q=or(d,e,w,B);e=N;t=e;l=e;e=c;K=(e&1073741823)<<2|b>>>30;u=0;D=h;i=0;e=or(K,u,h,i);d=e+q|0;l=N+l|0;l=d>>>0>>0?l+1|0:l;k=(l|0)==(t|0)&d>>>0>>0|l>>>0>>0;q=d;h=l;A=r;l=0;r=l;c=k;E=((p&1073741823)<<2|o>>>30)&-262145|262144;l=or(A,l,E,0);d=l+d|0;k=N+h|0;k=d>>>0>>0?k+1|0:k;p=d;e=k;h=(k|0)==(h|0)&d>>>0>>0|h>>>0>k>>>0;d=c+h|0;k=0;k=d>>>0>>0?1:k;h=or(D,i,E,O);d=h+d|0;l=N+k|0;l=d>>>0>>0?l+1|0:l;o=or(m,x,E,O);h=N;c=d;t=or(w,B,D,i);d=t+o|0;k=N+h|0;k=d>>>0>>0?k+1|0:k;t=d;d=k;k=(h|0)==(k|0)&o>>>0>t>>>0|h>>>0>k>>>0;o=c+d|0;k=k+l|0;l=o;h=l>>>0>>0?k+1|0:k;q=p;c=l;p=0;d=q+p|0;o=e;l=t+e|0;l=d>>>0

                                                                    >>0?l+1|0:l;k=d;e=l;p=(l|0)==(o|0)&k>>>0>>0|l>>>0>>0;l=c+p|0;k=h;C=l;h=l>>>0

                                                                    >>0?k+1|0:k;o=d;p=e;q=or(K,u,A,r);e=N;t=or(v,0,w,B);d=t+q|0;l=N+e|0;l=d>>>0>>0?l+1|0:l;t=d;q=(e|0)==(l|0)&q>>>0>d>>>0|e>>>0>l>>>0;e=l;y=q;k=b;L=k<<2&-4;c=0;k=or(m,x,L,c);d=k+d|0;l=N+l|0;l=d>>>0>>0?l+1|0:l;q=d;k=d;d=l;l=(l|0)==(e|0)&k>>>0>>0|e>>>0>l>>>0;e=y+l|0;k=0;k=e>>>0>>0?1:k;l=e;e=o+l|0;k=k+p|0;k=e>>>0>>0?k+1|0:k;t=e;l=e;e=k;p=(k|0)==(p|0)&l>>>0>>0|k>>>0

                                                                    >>0;k=p+C|0;l=h;C=k;p=k>>>0

                                                                    >>0?l+1|0:l;y=or(D,i,L,c);D=N;i=or(E,O,v,Q);h=i+y|0;k=N+D|0;k=h>>>0>>0?k+1|0:k;E=h;l=or(w,B,A,r);h=h+l|0;i=k;k=k+N|0;k=h>>>0>>0?k+1|0:k;w=h;o=or(m,x,K,u);h=h+o|0;l=k+N|0;l=h>>>0>>0?l+1|0:l;o=h;h=l;x=0;m=(l|0)==(k|0)&o>>>0>>0|l>>>0>>0;l=(i|0)==(k|0)&w>>>0>>0|i>>>0>k>>>0;i=l+((i|0)==(D|0)&E>>>0>>0|i>>>0>>0)|0;k=0;i=m+i|0;k=i;l=h|0;i=l+t|0;k=(k|x)+e|0;k=i>>>0>>0?k+1|0:k;l=k;m=(e|0)==(k|0)&i>>>0>>0|e>>>0>k>>>0;e=m+C|0;k=p;w=e;e=e>>>0>>0?k+1|0:k;t=i;p=l;A=or(A,r,L,c);r=N;k=or(K,u,v,Q);i=k+A|0;l=N+r|0;l=i>>>0>>0?l+1|0:l;m=l;l=0;k=(m|0)==(r|0)&i>>>0>>0|m>>>0>>0;i=m+q|0;k=(k|l)+d|0;k=i>>>0>>0?k+1|0:k;m=i;l=i;i=k;l=(d|0)==(k|0)&l>>>0>>0|d>>>0>k>>>0;d=k;q=l;k=o;o=0;h=o+m|0;l=d+k|0;d=h;l=d>>>0>>0?l+1|0:l;h=(i|0)==(l|0)&d>>>0>>0|i>>>0>l>>>0;d=q+h|0;l=0;l=d>>>0>>0?1:l;h=d;d=d+t|0;k=l+p|0;k=d>>>0>>0?k+1|0:k;h=d;i=k;k=(k|0)==(p|0)&d>>>0>>0|k>>>0

                                                                    >>0;d=k+w|0;l=e;l=d>>>0>>0?l+1|0:l;e=l;d:{if((l|0)==131071|l>>>0<131071){y=0;m=f;x=0;k=or(h,y,m,x);o=N;l=b<<17;b=0;c=(k|0)!=0|(o|0)!=0;u=b-c|0;D=l-(b>>>0>>0)|0;b=0-(((k|0)!=0)+o|0)|0;r=0-k|0;v=b;c=0;w=or(i,c,m,x);b=N;B=b;o=0;q=or(h,y,g,o);k=q+w|0;l=N+b|0;l=k>>>0>>0?l+1|0:l;b=k;q=0;t=k;k=(k|0)==(v|0)&r>>>0>>0|k>>>0>v>>>0;C=u-k|0;u=D-(k>>>0>u>>>0)|0;k=or(d,0,m,x);m=N;y=or(h,y,z,0);p=y+k|0;k=N+m|0;k=p>>>0>>0?k+1|0:k;m=or(g,o,i,c);p=m+p|0;k=N+k|0;k=((l|0)==(B|0)&b>>>0>>0|l>>>0>>0)+(m>>>0>p>>>0?k+1|0:k)|0;b=l+p|0;p=b;b=b>>>0>>0?k+1|0:k;k=or(h,i,H,0);m=N;w=p;p=or(f,g,e,0);k=p+k|0;l=N+m|0;l=k>>>0

                                                                    >>0?l+1|0:l;m=or(d,e,g,o);p=m+k|0;l=or(i,c,z,F);c=l+p|0;l=c;z=0;c=w+z|0;k=b+l|0;k=c>>>0>>0?k+1|0:k;b=c;z=C-b|0;F=u-((b>>>0>C>>>0)+k|0)|0;I=I-1|0;p=r-q|0;b=v-((r>>>0>>0)+t|0)|0;break d}r=i>>>1|0;l=0;o=b<<16;h=(i&1)<<31|h>>>1;i=d<<31|i>>>1;w=0;m=f;B=0;b=or(h,w,m,B);k=N;u=k;k=(b|0)!=0|(k|0)!=0;v=0-k|0;E=o-(c>>>0>>0)|0;q=0-b|0;t=0-(((b|0)!=0)+u|0)|0;o=0;u=or(h,w,g,o);b=N;D=b;k=e<<31|d>>>1;r=r|d<<31;Q=k|l;C=r;L=0;l=or(r,L,m,B);c=l+u|0;k=N+b|0;k=c>>>0>>0?k+1|0:k;b=k;l=c;x=l;y=0;k=(l|0)==(t|0)&y>>>0>q>>>0|l>>>0>t>>>0;A=v-k|0;v=E-(k>>>0>v>>>0)|0;k=or(h,i,H,0);E=N;O=or(m,g,e>>>1|0,0);l=O+k|0;k=N+E|0;E=l;l=l>>>0>>0?k+1|0:k;k=E;d=(e&1)<<31|d>>>1;e=e>>>1|0;E=or(d,e,g,o);k=k+E|0;l=N+l|0;F=or(r,Q,z,F);k=F+k|0;r=0;F=k;k=or(g,o,C,L);o=N;m=or(d,0,m,B);l=m+k|0;k=N+o|0;k=l>>>0>>0?k+1|0:k;z=or(h,w,z,0);l=z+l|0;k=N+k|0;p=l;l=l>>>0>>0?k+1|0:k;z=(b|0)==(D|0)&c>>>0>>0|b>>>0>>0;c=b;b=b+p|0;l=l+z|0;l=b>>>0>>0?l+1|0:l;c=b;b=b+r|0;l=l+F|0;l=b>>>0>>0?l+1|0:l;z=A-b|0;F=v-((b>>>0>A>>>0)+l|0)|0;p=q-y|0;b=t-((q>>>0>>0)+x|0)|0}if((I|0)>=16384){G=G|2147418112;b=0;c=0;break b}m=I+16383|0;if((I|0)<=-16383){e:{if(m){break e}m=p;k=b<<1|m>>>31;m=m<<1;c=(g|0)==(k|0)&f>>>0>>0|g>>>0>>0;f=z;k=F<<1|f>>>31;g=f<<1|b>>>31;l=g;f=(l|0)==(P|0)&(k|0)==(H|0)?c:(H|0)==(k|0)&l>>>0>P>>>0|k>>>0>H>>>0;b=f+h|0;k=i;k=b>>>0>>0?k+1|0:k;c=k;f=d+((i|0)==(k|0)&b>>>0>>0|i>>>0>k>>>0)|0;l=e&65535;e=f;l=d>>>0>e>>>0?l+1|0:l;d=l;if(!(l&65536)){break e}J=e|J;G=d|G;break b}b=0;c=0;break b}o=p;l=b<<1|o>>>31;o=o<<1;c=(g|0)==(l|0)&f>>>0<=o>>>0|g>>>0>>0;f=z;l=F<<1|f>>>31;f=f<<1|b>>>31;f=(f|0)==(P|0)&(l|0)==(H|0)?c:(H|0)==(l|0)&f>>>0>=P>>>0|l>>>0>H>>>0;b=f+h|0;k=i;k=b>>>0>>0?k+1|0:k;c=k;f=d+((i|0)==(k|0)&b>>>0>>0|i>>>0>k>>>0)|0;l=e&65535;l=d>>>0>f>>>0?l+1|0:l;e=0;d=e+f|0;k=(m<<16)+l|0;J=d|J;G=G|(d>>>0>>0?k+1|0:k)}j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=J;j[a+12>>2]=G;M=n+192|0;return}j[a>>2]=0;j[a+4>>2]=0;b=!(d|f|(e|g));j[a+8>>2]=b?0:J;j[a+12>>2]=b?2147450880:G;M=n+192|0}function In(a,b,c,d,e,f,g){var h=0,i=0,l=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;h=M-8976|0;M=h;z=d+e|0;F=0-z|0;a:{b:{while(1){if((c|0)!=48){c:{if((c|0)!=46){break a}c=j[b+4>>2];if(c>>>0>=m[b+104>>2]){break c}j[b+4>>2]=c+1;c=k[c|0];break b}}else{c=j[b+4>>2];if(c>>>0>2]){q=1;j[b+4>>2]=c+1;c=k[c|0]}else{q=1;c=pa(b)}continue}break}c=pa(b)}t=1;if((c|0)!=48){break a}while(1){c=l;l=c-1|0;n=n-(c>>>0<1)|0;c=j[b+4>>2];d:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break d}c=pa(b)}if((c|0)==48){continue}break}q=1}j[h+784>>2]=0;e:{f:{i=(c|0)==46;s=c-48|0;g:{h:{i:{if(i|s>>>0<=9){while(1){j:{if(i&1){if(!t){l=r;n=o;t=1;break j}i=!q;break i}i=r+1|0;o=i>>>0<1?o+1|0:o;r=i;if((v|0)<=2044){y=(c|0)==48?y:r;i=(h+784|0)+(v<<2)|0;q=i;if(u){s=(p(j[i>>2],10)+c|0)-48|0}j[q>>2]=s;q=1;i=u+1|0;c=(i|0)==9;u=c?0:i;v=c+v|0;break j}if((c|0)==48){break j}j[h+8960>>2]=j[h+8960>>2]|1;y=18396}c=j[b+4>>2];k:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break k}c=pa(b)}i=(c|0)==46;s=c-48|0;if(i|s>>>0<10){continue}break}}l=t?l:r;n=t?n:o;if(!(!q|(c&-33)!=69)){i=Qg(b,g);c=N;s=c;l:{if(i|(c|0)!=-2147483648){break l}if(!g){break g}i=0;s=0;if(!j[b+104>>2]){break l}j[b+4>>2]=j[b+4>>2]-1}n=n+s|0;b=i+l|0;n=b>>>0>>0?n+1|0:n;l=b;break f}i=!q;if((c|0)<0){break h}}if(!j[b+104>>2]){break h}j[b+4>>2]=j[b+4>>2]-1}if(!i){break f}j[37140]=28}r=0;o=0;Hb(b,0,0);c=0;b=0;break e}b=j[h+784>>2];if(!b){Ub(h,+(f|0)*0);r=j[h>>2];o=j[h+4>>2];c=j[h+12>>2];b=j[h+8>>2];break e}if(!((l|0)!=(r|0)|(o|0)!=(n|0)|((o|0)>0?1:(o|0)>=0?r>>>0>9:0)|(b>>>d|0?(d|0)<=30:0))){Cb(h+48|0,f);Cc(h+32|0,b);xa(h+16|0,j[h+48>>2],j[h+52>>2],j[h+56>>2],j[h+60>>2],j[h+32>>2],j[h+36>>2],j[h+40>>2],j[h+44>>2]);r=j[h+16>>2];o=j[h+20>>2];c=j[h+28>>2];b=j[h+24>>2];break e}if((n|0)>0?1:(n|0)>=0?l>>>0>(e|0)/-2>>>0:0){j[37140]=68;Cb(h+96|0,f);xa(h+80|0,j[h+96>>2],j[h+100>>2],j[h+104>>2],j[h+108>>2],-1,-1,-1,2147418111);xa(h- -64|0,j[h+80>>2],j[h+84>>2],j[h+88>>2],j[h+92>>2],-1,-1,-1,2147418111);r=j[h+64>>2];o=j[h+68>>2];c=j[h+76>>2];b=j[h+72>>2];break e}b=e-226|0;c=l>>>0>>0;b=b>>31;if((b|0)>(n|0)?1:(n|0)<=(b|0)?c:0){j[37140]=68;Cb(h+144|0,f);xa(h+128|0,j[h+144>>2],j[h+148>>2],j[h+152>>2],j[h+156>>2],0,0,0,65536);xa(h+112|0,j[h+128>>2],j[h+132>>2],j[h+136>>2],j[h+140>>2],0,0,0,65536);r=j[h+112>>2];o=j[h+116>>2];c=j[h+124>>2];b=j[h+120>>2];break e}if(u){if((u|0)<=8){c=(h+784|0)+(v<<2)|0;b=j[c>>2];while(1){b=p(b,10);u=u+1|0;if((u|0)!=9){continue}break}j[c>>2]=b}v=v+1|0}m:{t=l;if((y|0)>(l|0)|(y|0)>=9|(l|0)>17){break m}if((t|0)==9){Cb(h+192|0,f);Cc(h+176|0,j[h+784>>2]);xa(h+160|0,j[h+192>>2],j[h+196>>2],j[h+200>>2],j[h+204>>2],j[h+176>>2],j[h+180>>2],j[h+184>>2],j[h+188>>2]);r=j[h+160>>2];o=j[h+164>>2];c=j[h+172>>2];b=j[h+168>>2];break e}if((t|0)<=8){Cb(h+272|0,f);Cc(h+256|0,j[h+784>>2]);xa(h+240|0,j[h+272>>2],j[h+276>>2],j[h+280>>2],j[h+284>>2],j[h+256>>2],j[h+260>>2],j[h+264>>2],j[h+268>>2]);Cb(h+224|0,j[(0-t<<2)+122816>>2]);Sg(h+208|0,j[h+240>>2],j[h+244>>2],j[h+248>>2],j[h+252>>2],j[h+224>>2],j[h+228>>2],j[h+232>>2],j[h+236>>2]);r=j[h+208>>2];o=j[h+212>>2];c=j[h+220>>2];b=j[h+216>>2];break e}b=(p(t,-3)+d|0)+27|0;c=j[h+784>>2];if(c>>>b|0?(b|0)<=30:0){break m}Cb(h+352|0,f);Cc(h+336|0,c);xa(h+320|0,j[h+352>>2],j[h+356>>2],j[h+360>>2],j[h+364>>2],j[h+336>>2],j[h+340>>2],j[h+344>>2],j[h+348>>2]);Cb(h+304|0,j[(t<<2)+122744>>2]);xa(h+288|0,j[h+320>>2],j[h+324>>2],j[h+328>>2],j[h+332>>2],j[h+304>>2],j[h+308>>2],j[h+312>>2],j[h+316>>2]);r=j[h+288>>2];o=j[h+292>>2];c=j[h+300>>2];b=j[h+296>>2];break e}while(1){c=v;v=c-1|0;if(!j[(h+784|0)+(v<<2)>>2]){continue}break}u=0;b=(t|0)%9|0;n:{if(!b){i=0;break n}g=(t|0)>-1?b:b+9|0;o:{if(!c){i=0;c=0;break o}l=j[(0-g<<2)+122816>>2];o=1e9/(l|0)|0;s=0;b=0;i=0;while(1){q=s;n=(h+784|0)+(b<<2)|0;s=j[n>>2];r=(s>>>0)/(l>>>0)|0;q=q+r|0;j[n>>2]=q;q=!q&(b|0)==(i|0);i=q?i+1&2047:i;t=q?t-9|0:t;s=p(o,s-p(l,r)|0);b=b+1|0;if((c|0)!=(b|0)){continue}break}if(!s){break o}j[(h+784|0)+(c<<2)>>2]=s;c=c+1|0}t=(t-g|0)+9|0}while(1){if(!((t|0)!=36|m[(h+784|0)+(i<<2)>>2]>=10384593?(t|0)>=36:0)){v=c+2047|0;s=0;q=c;while(1){c=q;g=v&2047;q=(h+784|0)+(g<<2)|0;b=j[q>>2];n=b>>>3|0;l=b<<29;b=l+s|0;o=b>>>0>>0?n+1|0:n;l=b;s=0;n=o;if(!(!n&b>>>0<1000000001)){s=pr(b,n,1e9);l=l-or(s,N,1e9,0)|0}j[q>>2]=l;q=(g|0)!=(c-1&2047)?c:(g|0)==(i|0)?c:l?c:g;v=g-1|0;if((g|0)!=(i|0)){continue}break}u=u-29|0;if(!s){continue}i=i-1&2047;if((q|0)==(i|0)){b=(h+784|0)+((q+2046&2047)<<2)|0;c=q-1&2047;j[b>>2]=j[b>>2]|j[(h+784|0)+(c<<2)>>2]}t=t+9|0;j[(h+784|0)+(i<<2)>>2]=s;continue}break}p:{q:while(1){g=c+1&2047;o=(h+784|0)+((c-1&2047)<<2)|0;while(1){q=i;b=0;r:{s:{while(1){t:{l=b+q&2047;if((l|0)==(c|0)){break t}l=j[(h+784|0)+(l<<2)>>2];i=j[(b<<2)+122768>>2];if(l>>>0>>0){break t}if(i>>>0>>0){break s}b=b+1|0;if((b|0)!=4){continue}}break}if((t|0)!=36){break s}l=0;n=0;b=0;r=0;o=0;while(1){g=b+q&2047;if((g|0)==(c|0)){c=c+1&2047;j[((c<<2)+h|0)+780>>2]=0}xa(h+768|0,l,n,r,o,0,0,1342177280,1075633366);Cc(h+752|0,j[(h+784|0)+(g<<2)>>2]);yb(h+736|0,j[h+768>>2],j[h+772>>2],j[h+776>>2],j[h+780>>2],j[h+752>>2],j[h+756>>2],j[h+760>>2],j[h+764>>2]);r=j[h+744>>2];o=j[h+748>>2];l=j[h+736>>2];n=j[h+740>>2];b=b+1|0;if((b|0)!=4){continue}break}Cb(h+720|0,f);xa(h+704|0,l,n,r,o,j[h+720>>2],j[h+724>>2],j[h+728>>2],j[h+732>>2]);r=j[h+712>>2];o=j[h+716>>2];l=0;n=0;i=j[h+704>>2];s=j[h+708>>2];t=u+113|0;e=t-e|0;g=(e|0)<(d|0);d=g?(e|0)>0?e:0:d;if((d|0)<=112){break r}break p}l=(t|0)>45?9:1;u=l+u|0;i=c;if((c|0)==(q|0)){continue}n=1e9>>>l|0;s=-1<>2];b=(v>>>l|0)+b|0;j[r>>2]=b;b=!b&(i|0)==(q|0);i=b?i+1&2047:i;t=b?t-9|0:t;b=p(n,s&v);q=q+1&2047;if((q|0)!=(c|0)){continue}break}if(!b){continue}if((g|0)!=(i|0)){j[(h+784|0)+(c<<2)>>2]=b;c=g;continue q}j[o>>2]=j[o>>2]|1;i=g;continue}break}break}Ub(h+656|0,Md(225-d|0));Ug(h+688|0,j[h+656>>2],j[h+660>>2],j[h+664>>2],j[h+668>>2],i,s,r,o);A=j[h+696>>2];B=j[h+700>>2];C=j[h+688>>2];D=j[h+692>>2];Ub(h+640|0,Md(113-d|0));Xe(h+672|0,i,s,r,o,j[h+640>>2],j[h+644>>2],j[h+648>>2],j[h+652>>2]);l=j[h+672>>2];n=j[h+676>>2];w=j[h+680>>2];x=j[h+684>>2];le(h+624|0,i,s,r,o,l,n,w,x);yb(h+608|0,C,D,A,B,j[h+624>>2],j[h+628>>2],j[h+632>>2],j[h+636>>2]);r=j[h+616>>2];o=j[h+620>>2];i=j[h+608>>2];s=j[h+612>>2]}b=q+4&2047;u:{if((b|0)==(c|0)){break u}b=j[(h+784|0)+(b<<2)>>2];v:{if(b>>>0<=499999999){if((q+5&2047)==(c|0)?!b:0){break v}Ub(h+496|0,+(f|0)*.25);yb(h+480|0,l,n,w,x,j[h+496>>2],j[h+500>>2],j[h+504>>2],j[h+508>>2]);w=j[h+488>>2];x=j[h+492>>2];l=j[h+480>>2];n=j[h+484>>2];break v}if((b|0)!=5e8){Ub(h+592|0,+(f|0)*.75);yb(h+576|0,l,n,w,x,j[h+592>>2],j[h+596>>2],j[h+600>>2],j[h+604>>2]);w=j[h+584>>2];x=j[h+588>>2];l=j[h+576>>2];n=j[h+580>>2];break v}E=+(f|0);if((q+5&2047)==(c|0)){Ub(h+528|0,E*.5);yb(h+512|0,l,n,w,x,j[h+528>>2],j[h+532>>2],j[h+536>>2],j[h+540>>2]);w=j[h+520>>2];x=j[h+524>>2];l=j[h+512>>2];n=j[h+516>>2];break v}Ub(h+560|0,E*.75);yb(h+544|0,l,n,w,x,j[h+560>>2],j[h+564>>2],j[h+568>>2],j[h+572>>2]);w=j[h+552>>2];x=j[h+556>>2];l=j[h+544>>2];n=j[h+548>>2]}if((d|0)>111){break u}Xe(h+464|0,l,n,w,x,0,0,0,1073676288);if(sc(j[h+464>>2],j[h+468>>2],j[h+472>>2],j[h+476>>2],0,0,0,0)){break u}yb(h+448|0,l,n,w,x,0,0,0,1073676288);w=j[h+456>>2];x=j[h+460>>2];l=j[h+448>>2];n=j[h+452>>2]}yb(h+432|0,i,s,r,o,l,n,w,x);le(h+416|0,j[h+432>>2],j[h+436>>2],j[h+440>>2],j[h+444>>2],C,D,A,B);r=j[h+424>>2];o=j[h+428>>2];i=j[h+416>>2];s=j[h+420>>2];w:{if((-2-z|0)>=(t&2147483647)){break w}j[h+408>>2]=r;j[h+412>>2]=o&2147483647;j[h+400>>2]=i;j[h+404>>2]=s;xa(h+384|0,i,s,r,o,0,0,0,1073610752);c=lh(j[h+400>>2],j[h+404>>2],j[h+408>>2],j[h+412>>2],1081081856);b=(c|0)<0;r=b?r:j[h+392>>2];o=b?o:j[h+396>>2];i=b?i:j[h+384>>2];s=b?s:j[h+388>>2];u=((c|0)>-1)+u|0;if(G=!(g&(b|(d|0)!=(e|0))&(sc(l,n,w,x,0,0,0,0)|0)!=0),H=0,I=(u+110|0)<=(F|0),I?G:H){break w}j[37140]=68}Tg(h+368|0,i,s,r,o,u);r=j[h+368>>2];o=j[h+372>>2];c=j[h+380>>2];b=j[h+376>>2]}j[a>>2]=r;j[a+4>>2]=o;j[a+8>>2]=b;j[a+12>>2]=c;M=h+8976|0}function Rc(a,b,c,d,e,f,g,m){var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=M-16|0;M=t;j[t+8>>2]=0;j[t>>2]=0;j[t+4>>2]=0;o=j[b+1024>>2];if(o){while(1){a:{if(j[o+56>>2]?0:g){break a}p=l[b+4462>>1];b:{if(!p){break b}c:{d:{if(!f){break d}n=j[f+56>>2];if(!n){break d}q=i[f+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)){break d}if(p>>>0>=l[n>>1]){break c}}n=j[o+56>>2];if(!n){break b}q=i[o+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)|p>>>0>1]){break b}}if(!f){break a}n=j[f+56>>2];if(!n){break a}q=i[f+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)|p>>>0>1]){break a}n=j[o+56>>2];if(!n){break a}q=i[o+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)|p>>>0>1]){break a}}n=j[o+56>>2];e:{if(!n){break e}q=i[o+60>>1];r=(q<<1)+n|0;if(q){u=l[b+4464>>1];while(1){p=q>>>1|0;v=(p<<1)+n|0;s=u>>>0>l[v>>1];n=s?v+2|0:n;q=s?(p^-1)+q|0:p;if(q){continue}break}}if((n|0)==(r|0)){break e}if(l[b+4464>>1]>=l[n>>1]){break a}}f:{if(g){break f}n=j[o+56>>2];if(!n){break f}q=i[o+60>>1];r=(q<<1)+n|0;if(q){u=l[b+4198>>1];while(1){p=q>>>1|0;v=(p<<1)+n|0;s=u>>>0>l[v>>1];n=s?v+2|0:n;q=s?(p^-1)+q|0:p;if(q){continue}break}}if((n|0)==(r|0)){break f}p=l[b+4198>>1];if(p>>>0>1]){break f}if(!f){break a}n=j[f+56>>2];if(!n){break f}q=i[f+60>>1];u=(q<<1)+n|0;if(q){while(1){s=q>>>1|0;v=(s<<1)+n|0;r=p>>>0>l[v>>1];n=r?v+2|0:n;q=r?(s^-1)+q|0:s;if(q){continue}break}}if((n|0)==(u|0)){break f}if(p>>>0>=l[n>>1]){break a}}n=Gd(o,c,d,e,f,g,m,0);if(!n){break a}while(1){g:{if(!f){break g}p=j[f+52>>2];if(p){$(t,p);Z(t,32);break g}p=Ib(j[b+4100>>2],l[f+30>>1]);Z(t,32);$(t,1738);if(!p){break g}$(t,p);T(p)}h:{if(!j[b+4148>>2]){break h}q=k[n+16|0];if(!(q&1)){break h}r=t;i:{if(q&2){s=k[n|0]+n|0;if(!(k[s+18|0]|k[s+19|0]<<8|(k[s+20|0]<<16|k[s+21|0]<<24))){break h}q=k[n+16|0];p=1810;if(!(q&1)){break i}}s=(k[n|0]+n|0)+18|0;p=s;if(!(q&2)){break i}p=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}$(r,p)}q=k[n+16|0];j:{k:{if(!(q&1)){break k}l:{if(q&2){p=k[n|0]+n|0;if(!(k[p+18|0]|k[p+19|0]<<8|(k[p+20|0]<<16|k[p+21|0]<<24))){break k}q=k[n+16|0];s=0;if(!(q&1)){break l}}p=(k[n|0]+n|0)+18|0;s=p;if(!(q&2)){break l}s=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}if(ca(s,1748)){break j}}Z(t,32);$(t,1748);$(t,n+17|0)}m:{if(j[b+4148>>2]){break m}p=k[n+16|0];if(!(p&1)){break m}if(p&2){p=k[n|0]+n|0;if(!(k[p+18|0]|k[p+19|0]<<8|(k[p+20|0]<<16|k[p+21|0]<<24))){break m}}Z(t,32);r=t;q=k[n+16|0];p=1810;n:{if(!(q&1)){break n}s=(k[n|0]+n|0)+18|0;p=s;if(!(q&2)){break n}p=k[s|0]|k[s+1|0]<<8|(k[s+2|0]<<16|k[s+3|0]<<24)}$(r,p)}o:{if(j[o+52>>2]){Z(t,32);$(t,j[o+52>>2]);break o}p=Ib(j[b+4100>>2],l[o+30>>1]);Z(t,32);$(t,1738);if(!p){break o}$(t,p);T(p)}Z(t,10);n=Qh(o,n,e,f,g,m);if(n){continue}break}}o=j[o+80>>2];if(o){continue}break}}p:{if(d){s=(c+d|0)-1|0;q=j[((k[s|0]<<2)+b|0)+1024>>2];if(q){v=(d|0)<1;while(1){n=q+68|0;n=h[q+79|0]<=-1?j[n>>2]:n;q:{r:{s:{t:{if(v){break t}r=d+n|0;o=d;p=s;while(1){u=k[n|0];if(!u){break s}if((u|0)!=k[p|0]?(u|0)!=46:0){break t}p=p-1|0;n=n+1|0;u=(o|0)>1;o=o-1|0;if(u){continue}break}n=r}if(k[n|0]){break r}}p=l[b+4462>>1];u:{v:{if(!p){break v}w:{x:{if(!f){break x}n=j[f+56>>2];if(!n){break x}o=i[f+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)){break x}if(p>>>0>=l[n>>1]){break w}}n=j[q+56>>2];if(!n){break v}o=i[q+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)|p>>>0>1]){break v}}if(!f){break u}n=j[f+56>>2];if(!n){break u}o=i[f+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)|p>>>0>1]){break u}n=j[q+56>>2];if(!n){break u}o=i[q+60>>1];x=(o<<1)+n|0;if(o){while(1){r=o>>>1|0;w=(r<<1)+n|0;u=p>>>0>l[w>>1];n=u?w+2|0:n;o=u?(r^-1)+o|0:r;if(o){continue}break}}if((n|0)==(x|0)|p>>>0>1]){break u}}n=j[q+56>>2];y:{if(!n){break y}o=i[q+60>>1];u=(o<<1)+n|0;if(o){x=l[b+4464>>1];while(1){p=o>>>1|0;w=(p<<1)+n|0;r=x>>>0>l[w>>1];n=r?w+2|0:n;o=r?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(u|0)){break y}if(l[b+4464>>1]>=l[n>>1]){break u}}z:{if(g){break z}n=j[q+56>>2];if(!n){break z}o=i[q+60>>1];u=(o<<1)+n|0;if(o){x=l[b+4198>>1];while(1){p=o>>>1|0;w=(p<<1)+n|0;r=x>>>0>l[w>>1];n=r?w+2|0:n;o=r?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(u|0)){break z}if(l[b+4198>>1]>=l[n>>1]){break u}}n=Gd(q,c,d,e,f,g,m,0);if(!n){break u}while(1){A:{if(!f){break A}o=j[f+52>>2];if(o){$(t,o);Z(t,32);break A}o=Ib(j[b+4100>>2],l[f+30>>1]);Z(t,32);$(t,1738);if(!o){break A}$(t,o);T(o)}B:{if(!j[b+4148>>2]){break B}o=k[n+16|0];if(!(o&1)){break B}u=t;C:{if(o&2){o=k[n|0]+n|0;if(!(k[o+18|0]|k[o+19|0]<<8|(k[o+20|0]<<16|k[o+21|0]<<24))){break B}o=k[n+16|0];p=1810;if(!(o&1)){break C}}r=(k[n|0]+n|0)+18|0;p=r;if(!(o&2)){break C}p=k[r|0]|k[r+1|0]<<8|(k[r+2|0]<<16|k[r+3|0]<<24)}$(u,p)}o=k[n+16|0];D:{E:{if(!(o&1)){break E}F:{if(o&2){o=k[n|0]+n|0;if(!(k[o+18|0]|k[o+19|0]<<8|(k[o+20|0]<<16|k[o+21|0]<<24))){break E}o=k[n+16|0];r=0;if(!(o&1)){break F}}p=(k[n|0]+n|0)+18|0;r=p;if(!(o&2)){break F}r=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}if(ca(r,1748)){break D}}Z(t,32);$(t,1748);$(t,n+17|0)}G:{if(j[b+4148>>2]){break G}o=k[n+16|0];if(!(o&1)){break G}if(o&2){o=k[n|0]+n|0;if(!(k[o+18|0]|k[o+19|0]<<8|(k[o+20|0]<<16|k[o+21|0]<<24))){break G}}Z(t,32);o=t;u=k[n+16|0];r=1810;H:{if(!(u&1)){break H}p=(k[n|0]+n|0)+18|0;r=p;if(!(u&2)){break H}r=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}$(o,r)}I:{if(j[q+52>>2]){Z(t,32);$(t,j[q+52>>2]);break I}o=Ib(j[b+4100>>2],l[q+30>>1]);Z(t,32);$(t,1738);if(!o){break I}$(t,o);T(o)}Z(t,10);n=Qh(q,n,e,f,g,m);if(n){continue}break}}p=q+84|0;break q}p=q+88|0}q=j[p>>2];if(q){continue}break}}b=j[t+4>>2];j[a>>2]=j[t>>2];j[a+4>>2]=b;j[a+8>>2]=j[t+8>>2];break p}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;if(h[t+11|0]>-1){break p}T(j[t>>2])}M=t+16|0}function Bh(a,b,c,d){var e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0;e=M-160|0;M=e;f=j[c+4>>2];g=j[c>>2];a:{if(!(j[b+44>>2]?(f|0)!=(g|0):0)){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}o=j[d>>2];l=h[d+11|0];j[e+152>>2]=0;j[e+144>>2]=0;j[e+148>>2]=0;j[e+136>>2]=0;j[e+128>>2]=0;j[e+132>>2]=0;r=(l|0)<0?o:d;while(1){t=0;if((f|0)!=(g|0)){while(1){j[e+120>>2]=0;j[e+112>>2]=0;j[e+116>>2]=0;b:{c:{o=p(t,12)+g|0;if(h[o+11|0]<=-1){o=j[o>>2]}d=ca(o,121405);d:{if(!d){break d}o=d;g=ca(d+1|0,121405);if(!g){break d}while(1){o=g;j[e+104>>2]=0;j[e+96>>2]=0;j[e+100>>2]=0;g=W(d);if(g>>>0>=4294967280){break c}e:{f:{if(g>>>0>=11){l=g+16&-16;f=U(l);j[e+88>>2]=l|-2147483648;j[e+80>>2]=f;j[e+84>>2]=g;break f}h[e+91|0]=g;f=e+80|0;if(!g){break e}}V(f,d,g)}h[f+g|0]=0;h[e+75|0]=3;i[e+64>>1]=k[121405]|k[121406]<<8;h[e+66|0]=k[121407];h[e+67|0]=0;ec(e+96|0,e+80|0,e- -64|0);if(h[e+75|0]<=-1){T(j[e+64>>2])}if(h[e+91|0]<=-1){T(j[e+80>>2])}d=h[e+107|0];f=(d|0)<0;aa(e+112|0,f?j[e+96>>2]:e+96|0,f?j[e+100>>2]:d&255);g=ca(o+1|0,121405);if(h[e+107|0]<=-1){T(j[e+96>>2])}d=o;if(g){continue}break}}d=W(o);if(d>>>0<4294967280){g:{h:{if(d>>>0>=11){g=d+16&-16;f=U(g);j[e+104>>2]=g|-2147483648;j[e+96>>2]=f;j[e+100>>2]=d;break h}h[e+107|0]=d;f=e+96|0;if(!d){break g}}V(f,o,d)}h[d+f|0]=0;d=k[e+107|0];n=d<<24>>24;f=(n|0)<0;g=f?j[e+100>>2]:d;i:{if((g|0)<3){break i}d=j[e+96>>2];l=f?d:e+96|0;m=l+g|0;f=l;while(1){f=Aa(f,32,g-2|0);if(!f){break i}if(qa(f,121409,3)){f=f+1|0;g=m-f|0;if((g|0)>=3){continue}break i}break}if((f|0)==(m|0)){break i}g=f-l|0;if((g|0)==-1){break i}while(1){h[((n<<24>>24<0?d:e+96|0)+g|0)+1|0]=11;d=k[e+107|0];n=d<<24>>24;f=(n|0)<0;d=f?j[e+100>>2]:d;if(d>>>0>>0){break i}m=d;d=j[e+96>>2];l=f?d:e+96|0;m=m+l|0;g=g+l|0;f=m-g|0;if((f|0)<3){break i}while(1){f=Aa(g,32,f-2|0);if(!f){break i}if(qa(f,121409,3)){g=f+1|0;f=m-g|0;if((f|0)>=3){continue}break i}break}if((f|0)==(m|0)){break i}g=f-l|0;if((g|0)!=-1){continue}break}}Ab(e+80|0,e+96|0,11);u=0;g=j[e+84>>2];f=g;n=j[e+80>>2];if((f|0)==(n|0)){break b}while(1){q=p(u,12);m=q+n|0;g=k[m+11|0];d=g<<24>>24;j:{if((d|0)<=-1){g=j[m+4>>2];l=j[m>>2];break j}l=m}k:{if((g|0)<3){break k}s=g+l|0;f=l;while(1){f=Aa(f,105,g-2|0);if(!f){break k}if(qa(f,121413,3)){f=f+1|0;g=s-f|0;if((g|0)>=3){continue}break k}break}if((f|0)==(s|0)){break k}f=f-l|0;if((f|0)==-1){break k}Va(m,f);n=j[e+80>>2];d=k[(q+n|0)+11|0]}l=n+q|0;l:{if(d<<24>>24<=-1){g=j[l+4>>2];l=j[l>>2];break l}g=d&255}m:{if((g|0)<3){break m}m=g+l|0;f=l;while(1){f=Aa(f,116,g-2|0);if(!f){break m}if(qa(f,121417,3)){f=f+1|0;g=m-f|0;if((g|0)>=3){continue}break m}break}if((f|0)==(m|0)){break m}f=f-l|0;if((f|0)==-1){break m}while(1){g=n+q|0;if(d<<24>>24<=-1){g=j[g>>2]}h[f+g|0]=95;n=j[e+80>>2];l=q+n|0;g=k[l+11|0];d=g<<24>>24;if((d|0)<=-1){g=j[l+4>>2];l=j[l>>2]}if((g|0)<3){break m}m=g+l|0;f=l;while(1){f=Aa(f,116,g-2|0);if(!f){break m}if(qa(f,121417,3)){f=f+1|0;g=m-f|0;if((g|0)>=3){continue}break m}break}f=(f|0)==(m|0)?-1:f-l|0;if((f|0)!=-1){continue}break}}n:{g=ca(o,121397);o:{if(!g){break o}f=W(g);if(f>>>0>=4294967280){break n}p:{q:{if(f>>>0>=11){l=f+16&-16;d=U(l);j[e+72>>2]=l|-2147483648;j[e+64>>2]=d;j[e+68>>2]=f;break q}h[e+75|0]=f;d=e- -64|0;if(!f){break p}}V(d,g,f)}h[d+f|0]=0;h[e+59|0]=3;i[e+48>>1]=k[121397]|k[121398]<<8;h[e+50|0]=k[121399];h[e+51|0]=0;ec(e+96|0,e- -64|0,e+48|0);if(h[e+59|0]<=-1){T(j[e+48>>2])}if(h[e+75|0]<=-1){T(j[e+64>>2])}l=Xb(j[b+44>>2],h[e+107|0]<0?j[e+96>>2]:e+96|0);if(!l){break o}while(1){$(ha(e- -64|0,j[e+80>>2]+q|0),r);Dh(e+48|0,b,l,h[e+75|0]<0?j[e+64>>2]:e- -64|0);f=k[e+59|0];g=f<<24>>24;d=j[e+52>>2];if(!((g|0)<0?d:f)){Dh(e+32|0,b,l,r);if(h[e+59|0]<=-1){T(j[e+48>>2])}j[e+56>>2]=j[e+40>>2];d=j[e+36>>2];j[e+48>>2]=j[e+32>>2];j[e+52>>2]=d;f=k[e+59|0];g=f;d=j[e+52>>2]}if(g<<24>>24<0?d:f){Ab(e+32|0,e+48|0,10);n=0;g=j[e+36>>2];d=g;if(j[e+32>>2]!=(g|0)){while(1){Z(e+144|0,10);d=k[e+123|0];f=d<<24>>24<0;aa(e+144|0,f?j[e+112>>2]:e+112|0,f?j[e+116>>2]:d);m=j[e+80>>2]+q|0;d=h[m+11|0];r:{if((d|0)<=-1){g=j[m+4>>2];d=j[m>>2];break r}g=d&255;d=m}s:{if((g|0)<3){break s}s=d+g|0;f=d;while(1){f=Aa(f,115,g-2|0);if(!f){break s}if(qa(f,121421,3)){f=f+1|0;g=s-f|0;if((g|0)>=3){continue}break s}break}if((f|0)==(s|0)|(f-d|0)==-1){break s}j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;h[e+11|0]=3;i[e>>1]=k[121421]|k[121422]<<8;h[e+2|0]=k[121423];h[e+3|0]=0;ec(e+16|0,m,e);if(h[e+11|0]<=-1){T(j[e>>2])}d=h[e+27|0];f=(d|0)<0;aa(e+144|0,f?j[e+16>>2]:e+16|0,f?j[e+20>>2]:d&255);if(h[e+27|0]>-1){break s}T(j[e+16>>2])}d=j[e+32>>2]+p(n,12)|0;g=k[d+11|0];f=g<<24>>24<0;aa(e+144|0,f?j[d>>2]:d,f?j[d+4>>2]:g);n=n+1|0;g=j[e+36>>2];d=j[e+32>>2];if(n>>>0<(g-d|0)/12>>>0){continue}break}}if(d){if((d|0)==(g|0)){f=d}else{while(1){f=g-12|0;if(h[g-1|0]<=-1){T(j[f>>2])}g=f;if((f|0)!=(d|0)){continue}break}f=j[e+32>>2]}j[e+36>>2]=d;T(f)}g=k[e+59|0]}l=j[l+12>>2];if(g<<24>>24<=-1){T(j[e+48>>2])}if(h[e+75|0]<=-1){T(j[e+64>>2])}if(l){continue}break}}f=j[e+80>>2];n=f;u=u+1|0;g=j[e+84>>2];if(u>>>0>=(g-f|0)/12>>>0){break b}continue}break}X();z()}X();z()}X();z()}if(f){if((f|0)==(g|0)){d=f}else{while(1){d=g-12|0;if(h[g-1|0]<=-1){T(j[d>>2])}g=d;if((g|0)!=(f|0)){continue}break}d=j[e+80>>2]}j[e+84>>2]=f;T(d)}if(h[e+107|0]<=-1){T(j[e+96>>2])}if(h[e+123|0]<=-1){T(j[e+112>>2])}t=t+1|0;g=j[c>>2];if(t>>>0<(j[c+4>>2]-g|0)/12>>>0){continue}break}}t:{d=k[e+155|0];if(d<<24>>24<0?j[e+148>>2]:d){break t}if(!ca(r,121425)){break t}Ja(e+128|0,r);h[e+123|0]=3;i[e+112>>1]=k[121425]|k[121426]<<8;h[e+114|0]=k[121427];h[e+115|0]=0;h[e+107|0]=3;i[e+96>>1]=k[121417]|k[121418]<<8;h[e+98|0]=k[121419];h[e+99|0]=0;xb(e+128|0,e+112|0,e+96|0);if(h[e+107|0]<=-1){T(j[e+96>>2])}if(h[e+123|0]<=-1){T(j[e+112>>2])}r=h[e+139|0]<0?j[e+128>>2]:e+128|0;g=j[c>>2];f=j[c+4>>2];continue}break}b=j[e+148>>2];j[a>>2]=j[e+144>>2];j[a+4>>2]=b;j[a+8>>2]=j[e+152>>2];j[e+152>>2]=0;j[e+144>>2]=0;j[e+148>>2]=0;if(h[e+139|0]>=0){break a}T(j[e+128>>2]);if(h[e+155|0]>-1){break a}T(j[e+144>>2])}M=e+160|0}function Hn(a,b,c){var d=0,e=0,f=0,g=0,l=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=q(0),F=0;g=M-304|0;M=g;e=k[b|0];a:{if(!e){break a}b:{c:{while(1){d:{e=e&255;e:{if((e|0)==32|e-9>>>0<5){while(1){e=b;b=b+1|0;d=k[e+1|0];if((d|0)==32|d-9>>>0<5){continue}break}Hb(a,0,0);while(1){b=j[a+4>>2];f:{if(b>>>0>2]){j[a+4>>2]=b+1;b=k[b|0];break f}b=pa(a)}if((b|0)==32|b-9>>>0<5){continue}break}b=j[a+4>>2];if(j[a+104>>2]){b=b-1|0;j[a+4>>2]=b}d=b-j[a+8>>2]|0;b=d;d=d>>31;f=b;l=l+j[a+124>>2]|0;b=t+j[a+120>>2]|0;l=b>>>0>>0?l+1|0:l;t=f+b|0;l=d+l|0;l=b>>>0>t>>>0?l+1|0:l;break e}g:{h:{i:{e=k[b|0];if((e|0)==37){d=k[b+1|0];if((d|0)==42){break i}if((d|0)!=37){break h}}Hb(a,0,0);e=((e|0)==37)+b|0;b=j[a+4>>2];j:{if(b>>>0>2]){j[a+4>>2]=b+1;b=k[b|0];break j}b=pa(a)}if((b|0)!=k[e|0]){if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}A=0;if((b|0)>=0){break a}break c}b=t+1|0;l=b>>>0<1?l+1|0:l;t=b;break e}s=0;e=b+2|0;break g}if(!(k[b+2|0]!=36|d-48>>>0>=10)){s=Gn(c,k[b+1|0]-48|0);e=b+3|0;break g}s=j[c>>2];c=c+4|0;e=b+1|0}A=0;b=0;if(k[e|0]-48>>>0<10){while(1){b=(k[e|0]+p(b,10)|0)-48|0;d=k[e+1|0];e=e+1|0;if(d-48>>>0<10){continue}break}}d=e;f=k[d|0];k:{if((f|0)!=109){break k}v=0;A=(s|0)!=0;f=k[e+1|0];w=0;d=e+1|0}e=d+1|0;r=3;l:{m:{switch(f-65|0){case 39:f=d+2|0;d=k[d+1|0]==104;e=d?f:e;r=d?-2:-1;break l;case 43:f=d+2|0;d=k[d+1|0]==108;e=d?f:e;r=d?3:1;break l;case 51:case 57:r=1;break l;case 11:r=2;break l;case 41:break l;case 0:case 2:case 4:case 5:case 6:case 18:case 23:case 26:case 32:case 34:case 35:case 36:case 37:case 38:case 40:case 45:case 46:case 47:case 50:case 52:case 55:break m;default:break c}}r=0;e=d}f=k[e|0];d=(f&47)==3;z=d?1:r;x=d?f|32:f;n:{if((x|0)==91){break n}o:{if((x|0)!=110){if((x|0)!=99){break o}b=(b|0)>1?b:1;break n}Ng(s,z,t,l);break e}Hb(a,0,0);while(1){d=j[a+4>>2];p:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break p}d=pa(a)}if((d|0)==32|d-9>>>0<5){continue}break}d=j[a+4>>2];if(j[a+104>>2]){d=d-1|0;j[a+4>>2]=d}d=d-j[a+8>>2]|0;f=d;d=d>>31;u=f;y=l+j[a+124>>2]|0;f=t+j[a+120>>2]|0;y=f>>>0>>0?y+1|0:y;t=u+f|0;d=d+y|0;d=f>>>0>t>>>0?d+1|0:d;l=d}y=b;C=b>>31;Hb(a,b,C);d=j[a+104>>2];f=j[a+4>>2];q:{if(d>>>0>f>>>0){j[a+4>>2]=f+1;break q}if((pa(a)|0)<0){break c}d=j[a+104>>2]}if(d){j[a+4>>2]=j[a+4>>2]-1}d=16;r:{s:{t:{u:{v:{w:{x:{switch(x-88|0){default:b=x-65|0;if(b>>>0>6|!(1<>2]-j[a+8>>2]|0;if(j[a+120>>2]==(0-d|0)&j[a+124>>2]==(0-((d>>31)+((d|0)!=0)|0)|0)){break b}if(!s){break r}y=j[g+8>>2];f=j[g+12>>2];d=j[g>>2];b=j[g+4>>2];switch(z|0){case 2:break t;case 1:break u;case 0:break v;default:break r};case 3:case 11:case 27:if((x&239)==99){ya(g+32|0,-1,257);h[g+32|0]=0;if((x|0)!=115){break s}h[g+65|0]=0;h[g+46|0]=0;i[g+42>>1]=0;i[g+44>>1]=0;break s}u=k[e+1|0];f=(u|0)==94;ya(g+32|0,f,257);h[g+32|0]=0;d=f?e+2|0:e+1|0;y:{z:{A:{e=k[(f?2:1)+e|0];if((e|0)!=45){if((e|0)==93){break A}r=(u|0)!=94;break y}r=(u|0)!=94;h[g+78|0]=r;break z}r=(u|0)!=94;h[g+126|0]=r}d=d+1|0}e=d;while(1){d=k[e|0];B:{if((d|0)!=45){if(!d){break c}if((d|0)!=93){break B}break s}d=45;u=k[e+1|0];if(!u|(u|0)==93){break B}f=e+1|0;e=k[e-1|0];C:{if(u>>>0<=e>>>0){d=u;break C}while(1){e=e+1|0;h[e+(g+32|0)|0]=r;d=k[f|0];if(e>>>0>>0){continue}break}}e=f}h[(d+g|0)+33|0]=r;e=e+1|0;continue};case 23:d=8;break w;case 12:case 29:d=10;break w;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 22:case 25:case 26:case 28:case 30:case 31:break r;case 0:case 24:case 32:break w;case 17:break x}}d=0}y=Pg(a,d,0,-1,-1);f=N;d=j[a+4>>2]-j[a+8>>2]|0;if(j[a+120>>2]==(0-d|0)&j[a+124>>2]==(0-((d>>31)+((d|0)!=0)|0)|0)){break b}if(!(!s|(x|0)!=112)){j[s>>2]=y;break r}Ng(s,z,y,f);break r}D=s,E=Og(d,b,y,f),n[D>>2]=E;break r}D=s,F=ye(d,b,y,f),o[D>>3]=F;break r}j[s>>2]=d;j[s+4>>2]=b;j[s+8>>2]=y;j[s+12>>2]=f;break r}x=(x|0)==99;r=x?b+1|0:31;u=(z|0)!=1;D:{if(!u){d=s;if(A){d=ja(r<<2);if(!d){break d}}j[g+296>>2]=0;j[g+300>>2]=0;b=0;while(1){w=d;E:{while(1){d=j[a+4>>2];F:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break F}d=pa(a)}if(!k[(d+g|0)+33|0]){break E}h[g+27|0]=d;d=sd(g+28|0,g+27|0,1,g+296|0);if((d|0)==-2){continue}v=0;if((d|0)==-1){break c}if(w){j[(b<<2)+w>>2]=j[g+28>>2];b=b+1|0}if(!A|(b|0)!=(r|0)){continue}break}r=r<<1|1;d=vc(w,r<<2);if(!d){break c}continue}break}v=0;d=g+296|0;f=1;G:{if(!d){break G}f=!j[d>>2]}if(!f){break c}break D}if(A){b=0;d=ja(r);if(!d){break d}while(1){v=d;while(1){d=j[a+4>>2];H:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break H}d=pa(a)}if(!k[(d+g|0)+33|0]){w=0;break D}h[b+v|0]=d;b=b+1|0;if((r|0)!=(b|0)){continue}break}w=0;r=r<<1|1;d=vc(v,r);if(d){continue}break}break c}b=0;if(s){while(1){d=j[a+4>>2];I:{if(d>>>0>2]){j[a+4>>2]=d+1;d=k[d|0];break I}d=pa(a)}if(k[(d+g|0)+33|0]){h[b+s|0]=d;b=b+1|0;continue}else{w=0;v=s;break D}}}while(1){b=j[a+4>>2];J:{if(b>>>0>2]){j[a+4>>2]=b+1;b=k[b|0];break J}b=pa(a)}if(k[(b+g|0)+33|0]){continue}break}v=0;w=0;b=0}d=j[a+4>>2];if(j[a+104>>2]){d=d-1|0;j[a+4>>2]=d}d=d-j[a+8>>2]|0;f=d;z=d+j[a+120>>2]|0;d=j[a+124>>2]+(d>>31)|0;d=f>>>0>z>>>0?d+1|0:d;if(!(d|z)|x&((y|0)!=(z|0)|(d|0)!=(C|0))){break b}K:{if(!A){break K}if(!u){j[s>>2]=w;break K}j[s>>2]=v}if(x){break r}if(w){j[(b<<2)+w>>2]=0}if(!v){v=0;break r}h[b+v|0]=0}d=j[a+4>>2]-j[a+8>>2]|0;b=d;d=d>>31;f=b;l=l+j[a+124>>2]|0;b=t+j[a+120>>2]|0;l=b>>>0>>0?l+1|0:l;t=f+b|0;l=d+l|0;l=b>>>0>t>>>0?l+1|0:l;B=((s|0)!=0)+B|0}b=e+1|0;e=k[e+1|0];if(e){continue}break a}break}v=0;w=0}B=B?B:-1}if(!A){break a}T(v);T(w)}M=g+304|0;return B}function Io(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;o=M-560|0;M=o;j[o+44>>2]=0;vr(+b);g=sr(1)|0;sr(0)|0;a:{if((g|0)<-1?1:(g|0)<=-1){B=1;b=-b;vr(+b);g=sr(1)|0;sr(0)|0;w=121984;break a}B=1;w=121987;if(e&2048){break a}w=121990;if(e&1){break a}B=0;A=1;w=121985}b:{if((g&2146435072)==2146435072){n=B+3|0;ub(a,32,c,n,e&-65537);ab(a,w,B);d=f&32;ab(a,b!=b?d?122011:122015:d?122003:122007,3);break b}x=o+16|0;c:{d:{e:{b=qh(b,o+44|0);b=b+b;if(b!=0){g=j[o+44>>2];j[o+44>>2]=g-1;C=f|32;if((C|0)!=97){break e}break c}C=f|32;if((C|0)==97){break c}n=j[o+44>>2];q=(d|0)<0?6:d;break d}n=g-29|0;j[o+44>>2]=n;b=b*268435456;q=(d|0)<0?6:d}s=(n|0)<0?o+48|0:o+336|0;m=s;while(1){d=m;if(b<4294967296&b>=0){g=~~b>>>0}else{g=0}j[d>>2]=g;m=m+4|0;b=(b- +(g>>>0))*1e9;if(b!=0){continue}break}f:{if((n|0)<1){d=n;g=m;i=s;break f}i=s;d=n;while(1){t=(d|0)<29?d:29;g=m-4|0;g:{if(i>>>0>g>>>0){break g}d=t;l=0;while(1){v=g;D=l;E=j[g>>2];u=d&31;if((d&63)>>>0>=32){l=E<>>32-u;E=E<>>0>>0?l+1|0:l;l=pr(u,l,1e9);D=v;v=or(l,N,1e9,0);j[D>>2]=u-v;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!l){break g}i=i-4|0;j[i>>2]=l}while(1){g=m;if(i>>>0>>0){m=g-4|0;if(!j[m>>2]){continue}}break}d=j[o+44>>2]-t|0;j[o+44>>2]=d;m=g;if((d|0)>0){continue}break}}if((d|0)<=-1){y=((q+25|0)/9|0)+1|0;t=(C|0)==102;while(1){l=(d|0)<-9?9:0-d|0;h:{if(g>>>0<=i>>>0){i=j[i>>2]?i:i+4|0;break h}v=1e9>>>l|0;u=-1<>2];j[m>>2]=D+(d>>>l|0);d=p(v,d&u);m=m+4|0;if(m>>>0>>0){continue}break}i=j[i>>2]?i:i+4|0;if(!d){break h}j[g>>2]=d;g=g+4|0}d=j[o+44>>2]+l|0;j[o+44>>2]=d;m=t?s:i;g=g-m>>2>(y|0)?m+(y<<2)|0:g;if((d|0)<0){continue}break}}m=0;i:{if(g>>>0<=i>>>0){break i}m=p(s-i>>2,9);d=10;l=j[i>>2];if(l>>>0<10){break i}while(1){m=m+1|0;d=p(d,10);if(l>>>0>=d>>>0){continue}break}}d=(q-((C|0)==102?0:m)|0)-((C|0)==103&(q|0)!=0)|0;if((d|0)<(p(g-s>>2,9)-9|0)){l=d+9216|0;t=(l|0)/9|0;n=((t<<2)+((n|0)<0?o+48|4:o+340|0)|0)-4096|0;d=10;l=l-p(t,9)|0;if((l|0)<=7){while(1){d=p(d,10);l=l+1|0;if((l|0)!=8){continue}break}}t=j[n>>2];v=(t>>>0)/(d>>>0)|0;y=n+4|0;l=t-p(d,v)|0;j:{if(l?0:(y|0)==(g|0)){break j}u=d>>>1|0;z=l>>>0>>0?.5:(g|0)==(y|0)?(u|0)==(l|0)?1:1.5:1.5;b=v&1?9007199254740994:9007199254740992;if(!(k[w|0]!=45|A)){z=-z;b=-b}l=t-l|0;j[n>>2]=l;if(b+z==b){break j}d=d+l|0;j[n>>2]=d;if(d>>>0>=1e9){while(1){j[n>>2]=0;n=n-4|0;if(n>>>0>>0){i=i-4|0;j[i>>2]=0}d=j[n>>2]+1|0;j[n>>2]=d;if(d>>>0>999999999){continue}break}}m=p(s-i>>2,9);d=10;l=j[i>>2];if(l>>>0<10){break j}while(1){m=m+1|0;d=p(d,10);if(l>>>0>=d>>>0){continue}break}}d=n+4|0;g=d>>>0>>0?d:g}while(1){d=g;n=g>>>0<=i>>>0;if(!n){g=d-4|0;if(!j[g>>2]){continue}}break}k:{if((C|0)!=103){A=e&8;break k}g=q?q:1;l=(g|0)>(m|0)&(m|0)>-5;q=(l?m^-1:-1)+g|0;f=(l?-1:-2)+f|0;A=e&8;if(A){break k}g=-9;l:{if(n){break l}t=j[d-4>>2];if(!t){break l}l=10;g=0;if((t>>>0)%10|0){break l}while(1){n=g;g=g+1|0;l=p(l,10);if(!((t>>>0)%(l>>>0)|0)){continue}break}g=n^-1}n=p(d-s>>2,9);if((f&-33)==70){A=0;g=(g+n|0)-9|0;g=(g|0)>0?g:0;q=(g|0)>(q|0)?q:g;break k}A=0;g=((m+n|0)+g|0)-9|0;g=(g|0)>0?g:0;q=(g|0)>(q|0)?q:g}t=q|A;v=(t|0)!=0;D=a;l=c;u=f&-33;g=(m|0)>0?m:0;m:{if((u|0)==70){break m}g=m>>31;g=Gc(g+m^g,0,x);if((x-g|0)<=1){while(1){g=g-1|0;h[g|0]=48;if((x-g|0)<2){continue}break}}y=g-2|0;h[y|0]=f;h[g-1|0]=(m|0)<0?45:43;g=x-y|0}n=(g+(v+(q+B|0)|0)|0)+1|0;ub(D,32,l,n,e);ab(a,w,B);ub(a,48,c,n,e^65536);n:{o:{p:{if((u|0)==70){f=o+16|8;m=o+16|9;l=i>>>0>s>>>0?s:i;i=l;while(1){g=Gc(j[i>>2],0,m);q:{if((i|0)!=(l|0)){if(o+16>>>0>=g>>>0){break q}while(1){g=g-1|0;h[g|0]=48;if(o+16>>>0>>0){continue}break}break q}if((g|0)!=(m|0)){break q}h[o+24|0]=48;g=f}ab(a,g,m-g|0);i=i+4|0;if(s>>>0>=i>>>0){continue}break}if(t){ab(a,122019,1)}if((q|0)<1|d>>>0<=i>>>0){break p}while(1){g=Gc(j[i>>2],0,m);if(g>>>0>o+16>>>0){while(1){g=g-1|0;h[g|0]=48;if(o+16>>>0>>0){continue}break}}ab(a,g,(q|0)<9?q:9);g=q-9|0;i=i+4|0;if(d>>>0<=i>>>0){break o}f=(q|0)>9;q=g;if(f){continue}break}break o}r:{if((q|0)<0){break r}s=d>>>0>i>>>0?d:i+4|0;d=o+16|8;f=o+16|9;m=i;while(1){g=Gc(j[m>>2],0,f);if((f|0)==(g|0)){h[o+24|0]=48;g=d}s:{if((i|0)!=(m|0)){if(o+16>>>0>=g>>>0){break s}while(1){g=g-1|0;h[g|0]=48;if(o+16>>>0>>0){continue}break}break s}ab(a,g,1);g=g+1|0;if((q|0)<1?!A:0){break s}ab(a,122019,1)}v=g;g=f-g|0;ab(a,v,(g|0)<(q|0)?g:q);q=q-g|0;m=m+4|0;if(s>>>0<=m>>>0){break r}if((q|0)>-1){continue}break}}ub(a,48,q+18|0,18,0);ab(a,y,x-y|0);break n}g=q}ub(a,48,g+9|0,9,0)}break b}q=f&32;l=q?w+9|0:w;t:{if(d>>>0>11){break t}g=12-d|0;if(!g){break t}z=8;while(1){z=z*16;g=g-1|0;if(g){continue}break}if(k[l|0]==45){b=-(z+(-b-z));break t}b=b+z-z}i=j[o+44>>2];g=i>>31;g=Gc(g^g+i,0,x);if((x|0)==(g|0)){h[o+15|0]=48;g=o+15|0}m=B|2;i=j[o+44>>2];s=g-2|0;h[s|0]=f+15;h[g-1|0]=(i|0)<0?45:43;n=e&8;i=o+16|0;while(1){f=i;v=i;i=q;if(r(b)<2147483648){g=~~b}else{g=-2147483648}h[v|0]=i|k[g+121968|0];b=(b- +(g|0))*16;i=f+1|0;if(!((i-(o+16|0)|0)!=1|(b==0?!((d|0)>0|n):0))){h[f+1|0]=46;i=f+2|0}if(b!=0){continue}break}g=a;f=c;if(!d|((i-o|0)-18|0)>=(d|0)){q=((x-(o+16|0)|0)-s|0)+i|0}else{q=((d+x|0)-s|0)+2|0}d=q;n=d+m|0;ub(g,32,f,n,e);ab(a,l,m);ub(a,48,c,n,e^65536);f=i-(o+16|0)|0;ab(a,o+16|0,f);d=x-s|0;ub(a,48,q-(d+f|0)|0,0,0);ab(a,s,d)}ub(a,32,c,n,e^8192);M=o+560|0;return((c|0)>(n|0)?c:n)|0}function nk(a,b,c,d,e,f,g,m,n){var o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;t=M-48|0;M=t;a:{b:{c:{if(!f){break c}r=l[a+4198>>1];d:{if(!r){break d}o=e;q=f;while(1){u=q>>>1|0;x=(u<<1)+o|0;s=r>>>0>l[x>>1];o=s?x+2|0:o;q=s?(u^-1)+q|0:u;if(q){continue}break}if(((f<<1)+e|0)==(o|0)){break d}if(r>>>0>=l[o>>1]){break b}}r=l[a+4464>>1];if(!r){break c}o=e;q=f;while(1){u=q>>>1|0;x=(u<<1)+o|0;s=r>>>0>l[x>>1];o=s?x+2|0:o;q=s?(u^-1)+q|0:u;if(q){continue}break}if(((f<<1)+e|0)==(o|0)){break c}if(r>>>0>=l[o>>1]){break b}}o=cb(c);j[b>>2]=o;if(!o){break a}j[b+8>>2]=0;h[b+4|0]=0;v=1;if(!n){break b}o=cb(n);j[b+12>>2]=o;if(!o){break a}h[b+16|0]=0;o=cb(c);j[b+20>>2]=o;v=2;if(!o){break a}}if(f){F=g+m|0;x=1;while(1){e:{E=(B<<1)+e|0;q=l[E>>1];u=j[(((q&255)<<2)+a|0)+3072>>2];if(u){while(1){f:{g:{if(l[u+30>>1]!=(q&65535)){break g}s=u+4|0;o=k[u+15|0];r=o<<24>>24;h:{i:{if((r|0)<=-1){o=j[u+8>>2];if(!(o&65535)){break h}o=o<<16>>16;if((o|0)>=(m|0)){break g}s=j[s>>2];break i}if(!r){break h}if((m|0)<=(o|0)){break g}}if(ba(s,F-o|0)){break g}}r=j[u+56>>2];j:{if(!r){break j}s=l[a+4198>>1];k:{if(!s){break k}q=i[u+60>>1];C=(q<<1)+r|0;o=r;if(q){while(1){w=q>>>1|0;D=(w<<1)+o|0;A=s>>>0>l[D>>1];o=A?D+2|0:o;q=A?(w^-1)+q|0:w;if(q){continue}break}}if((o|0)==(C|0)){break k}if(s>>>0>=l[o>>1]){break g}}s=l[a+4462>>1];l:{if(!s){break l}q=i[u+60>>1];C=(q<<1)+r|0;o=r;if(q){while(1){w=q>>>1|0;D=(w<<1)+o|0;A=s>>>0>l[D>>1];o=A?D+2|0:o;q=A?(w^-1)+q|0:w;if(q){continue}break}}if((o|0)==(C|0)){break l}if(s>>>0>=l[o>>1]){break g}}q=l[a+4464>>1];if(!q){break j}o=i[u+60>>1];A=(o<<1)+r|0;if(o){while(1){s=o>>>1|0;C=(s<<1)+r|0;w=q>>>0>l[C>>1];r=w?C+2|0:r;o=w?(s^-1)+o|0:s;if(o){continue}break}}if((r|0)==(A|0)){break j}if(q>>>0>=l[r>>1]){break g}}Te(t+32|0,u,c,d);m:{n:{o:{p:{q:{r:{r=h[t+43|0];if((r|0)<=-1){if((v|0)>=100){o=v;break p}if(j[t+36>>2]){break r}o=v;break p}if((v|0)>=100){o=v;break p}o=t+32|0;if(r){break q}o=v;break p}o=j[t+32>>2]}r=p(v,12)+b|0;G=r,H=cb(o),j[G>>2]=H;o=k[u+29|0];j[r+8>>2]=0;h[r+4|0]=o&1;o=v+1|0;if(!n|(o|0)>=100){break p}r=W(n);if(r>>>0>=4294967280){break n}s:{t:{if(r>>>0>=11){q=r+16&-16;s=U(q);j[t+24>>2]=q|-2147483648;j[t+16>>2]=s;j[t+20>>2]=r;break t}h[t+27|0]=r;s=t+16|0;if(!r){break s}}V(s,n,r)}h[r+s|0]=0;s=u+68|0;s=h[u+79|0]<=-1?j[s>>2]:s;q=W(s);if(q>>>0>=4294967280){break m}u:{v:{if(q>>>0>=11){w=q+16&-16;r=U(w);j[t+8>>2]=w|-2147483648;j[t>>2]=r;j[t+4>>2]=q;break v}h[t+11|0]=q;r=t;if(!q){break u}}V(r,s,q)}s=0;h[r+q|0]=0;Ua(t);r=k[t+11|0];q=r<<24>>24<0;aa(t+16|0,q?j[t>>2]:t,q?j[t+4>>2]:r);r=p(o,12)+b|0;q=cb(h[t+27|0]<0?j[t+16>>2]:t+16|0);j[r>>2]=q;w:{if(!q){y=v;break w}h[r+4|0]=0;q=r;r=cb(h[t+43|0]<0?j[t+32>>2]:t+32|0);j[q+8>>2]=r;if(!r){y=v;break w}o=v+2|0;s=1}if(h[t+11|0]<=-1){T(j[t>>2])}if(h[t+27|0]<=-1){T(j[t+16>>2])}v=0;if(!s){break o}}v=1}if(h[t+43|0]<=-1){T(j[t+32>>2])}if(v){break f}v=o;break e}X();z()}X();z()}o=v}u=j[u+92>>2];if(u){q=l[E>>1];v=o;continue}break}v=o}B=B+1|0;x=B>>>0>>0;if((f|0)!=(B|0)){continue}}break}if(x){break a}}x:{if((v|0)<2){y=v;break x}y=v;n=1;while(1){B=p(n,12)+b|0;if(!(!k[B+4|0]|!f)){s=0;while(1){y:{x=(s<<1)+e|0;q=l[x>>1];o=j[(((q&255)<<2)+a|0)+2048>>2];if(!o){break y}while(1){z:{if(!(h[o+29|0]&1)|l[o+30>>1]!=(q&65535)){break z}r=o+4|0;q=k[o+15|0];u=q<<24>>24;A:{B:{if((u|0)<=-1){q=j[o+8>>2];if(!(q&65535)){break A}q=q<<16>>16;if((q|0)>=(m|0)){break z}r=j[r>>2];break B}if(!u){break A}if((m|0)<=(q|0)){break z}}if(Db(r,g,q)){break z}}r=j[B>>2];fh(t+32|0,o,r,W(r));r=h[t+43|0];C:{D:{if((r|0)<=-1){if(!j[t+36>>2]|(y|0)>=100){break C}u=j[t+32>>2];break D}if((y|0)>=100){break z}u=t+32|0;if(!r){break z}}r=p(y,12)+b|0;G=r,H=cb(u),j[G>>2]=H;q=k[o+29|0];j[r+8>>2]=0;h[r+4|0]=q&1;y=y+1|0;if(h[t+43|0]>-1){break z}}T(j[t+32>>2])}o=j[o+80>>2];if(!o){break y}q=l[x>>1];continue}}s=s+1|0;if((s|0)!=(f|0)){continue}break}}n=n+1|0;if((v|0)!=(n|0)){continue}break}}if(!f){break a}B=0;while(1){E:{x=(B<<1)+e|0;o=l[x>>1];u=j[(((o&255)<<2)+a|0)+2048>>2];if(!u){break E}while(1){F:{if(l[u+30>>1]!=(o&65535)){break F}s=u+4|0;o=k[u+15|0];n=o<<24>>24;G:{H:{if((n|0)<=-1){n=j[u+8>>2];if(!(n&65535)){break G}o=n<<16>>16;if((o|0)>=(m|0)){break F}s=j[s>>2];break H}if(!n){break G}if((m|0)<=(o|0)){break F}}if(Db(s,g,o)){break F}}r=j[u+56>>2];I:{if(!r){break I}n=l[a+4198>>1];J:{if(!n){break J}q=i[u+60>>1];w=(q<<1)+r|0;o=r;if(q){while(1){v=q>>>1|0;A=(v<<1)+o|0;s=n>>>0>l[A>>1];o=s?A+2|0:o;q=s?(v^-1)+q|0:v;if(q){continue}break}}if((o|0)==(w|0)){break J}if(n>>>0>=l[o>>1]){break F}}n=l[a+4462>>1];K:{if(!n){break K}q=i[u+60>>1];w=(q<<1)+r|0;o=r;if(q){while(1){v=q>>>1|0;A=(v<<1)+o|0;s=n>>>0>l[A>>1];o=s?A+2|0:o;q=s?(v^-1)+q|0:v;if(q){continue}break}}if((o|0)==(w|0)){break K}if(n>>>0>=l[o>>1]){break F}}n=l[a+4464>>1];if(!n){break I}o=i[u+60>>1];s=(o<<1)+r|0;if(o){while(1){v=o>>>1|0;w=(v<<1)+r|0;q=n>>>0>l[w>>1];r=q?w+2|0:r;o=q?(v^-1)+o|0:v;if(o){continue}break}}if((r|0)==(s|0)){break I}if(n>>>0>=l[r>>1]){break F}}fh(t+32|0,u,c,d);n=h[t+43|0];L:{M:{if((n|0)<=-1){if(!j[t+36>>2]|(y|0)>=100){break L}q=j[t+32>>2];break M}if((y|0)>=100){break F}q=t+32|0;if(!n){break F}}n=p(y,12)+b|0;G=n,H=cb(q),j[G>>2]=H;o=k[u+29|0];j[n+8>>2]=0;h[n+4|0]=o&1;y=y+1|0;if(h[t+43|0]>-1){break F}}T(j[t+32>>2])}u=j[u+80>>2];if(!u){break E}o=l[x>>1];continue}}B=B+1|0;if((B|0)!=(f|0)){continue}break}}M=t+48|0;return y}function Qa(a,b,c,d,e,f,g,m){var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=j[a+1024>>2];if(v){w=(m|0)!=1;while(1){a:{if(j[v+56>>2]?0:f){break a}if(!w){n=j[v+56>>2];if(!n){break a}q=l[a+4164>>1];if(!q){break a}o=i[v+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break a}}q=l[a+4462>>1];b:{if(!q){break b}c:{d:{if(!e){break d}n=j[e+56>>2];if(!n){break d}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break d}if(q>>>0>=l[n>>1]){break c}}n=j[v+56>>2];if(!n){break b}o=i[v+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break b}}if(!e){break a}n=j[e+56>>2];if(!n){break a}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break a}n=j[v+56>>2];if(!n){break a}o=i[v+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break a}}e:{if(m){break e}n=j[v+56>>2];if(!n){break e}o=i[v+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4464>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break e}if(l[a+4464>>1]>=l[n>>1]){break a}}f:{if(f){break f}n=j[v+56>>2];if(!n){break f}o=i[v+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4198>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break f}q=l[a+4198>>1];if(q>>>0>1]){break f}if(!e){break a}n=j[e+56>>2];if(!n){break f}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break f}if(q>>>0>=l[n>>1]){break a}}n=Gd(v,b,c,d,e,f,g,m?0:l[a+4464>>1]);if(!n){break a}j[a+4372>>2]=v;return n}v=j[v+80>>2];if(v){continue}break}}n=0;g:{if(!c){break g}v=(b+c|0)-1|0;u=j[((k[v|0]<<2)+a|0)+1024>>2];if(!u){break g}x=(e|0)!=0|(m|0)!=2;y=(c|0)<1;while(1){w=u+68|0;if(h[u+79|0]<=-1){n=j[w>>2]}else{n=w}h:{i:{j:{k:{if(y){break k}r=c+n|0;o=c;t=v;while(1){s=k[n|0];if(!s){break j}if((s|0)!=k[t|0]?(s|0)!=46:0){break k}t=t-1|0;n=n+1|0;s=(o|0)>1;o=o-1|0;if(s){continue}break}n=r}if(k[n|0]){break i}}l:{if((m|0)==1){n=j[u+56>>2];if(!n){break l}q=l[a+4164>>1];if(!q){break l}o=i[u+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break l}}q=l[a+4462>>1];m:{if(!q){break m}n:{o:{if(!e){break o}n=j[e+56>>2];if(!n){break o}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break o}if(q>>>0>=l[n>>1]){break n}}n=j[u+56>>2];if(!n){break m}o=i[u+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break m}}if(!e){break l}n=j[e+56>>2];if(!n){break l}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break l}n=j[u+56>>2];if(!n){break l}o=i[u+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)|q>>>0>1]){break l}}p:{if(m){break p}n=j[u+56>>2];if(!n){break p}o=i[u+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4464>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break p}if(l[a+4464>>1]>=l[n>>1]){break l}}q:{r:{if(f){break r}n=j[u+56>>2];if(!n){break r}o=i[u+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4198>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break r}q=l[a+4198>>1];if(q>>>0>1]){break r}if(!e){break l}n=j[e+56>>2];if(!n){break q}o=i[e+60>>1];t=(o<<1)+n|0;if(o){while(1){p=o>>>1|0;r=(p<<1)+n|0;s=q>>>0>l[r>>1];n=s?r+2|0:n;o=s?(p^-1)+o|0:p;if(o){continue}break}}if((n|0)==(t|0)){break r}if(q>>>0>=l[n>>1]){break l}}if(x){break q}n=j[u+56>>2];if(!n){break q}o=i[u+60>>1];s=(o<<1)+n|0;if(o){t=l[a+4464>>1];while(1){q=o>>>1|0;r=(q<<1)+n|0;p=t>>>0>l[r>>1];n=p?r+2|0:n;o=p?(q^-1)+o|0:q;if(o){continue}break}}if((n|0)==(s|0)){break q}if(l[a+4464>>1]>=l[n>>1]){break l}}n=Gd(u,b,c,d,e,f,g,m?0:l[a+4464>>1]);if(!n){break l}j[a+4372>>2]=u;i[a+4364>>1]=l[u+30>>1];if(!j[u+56>>2]){if(h[w+11|0]<=-1){j[a+4356>>2]=j[w>>2];return n}j[a+4356>>2]=w;return n}if(j[a+4456>>2]!=36){break g}b=h[u+15|0];c=j[u+8>>2];s:{if((b|0)<=-1){break s}c=b&255}if(!(c&65535)){break g}t:{if(h[w+11|0]<=-1){b=j[w>>2];if(k[b|0]!=105){break g}o=k[b+1|0];if((o|0)!=121){break t}break g}if(k[w|0]!=105){break g}o=k[w+1|0];if((o|0)==121){break g}}if((o|0)==116){break g}j[a+4360>>2]=1;return n}n=u+84|0;break h}n=u+88|0}u=j[n>>2];if(u){continue}break}n=0}return n}function Wf(a,b,c,d,e,f,g,i,l,m,n){var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;o=M-560|0;M=o;j[o+548>>2]=n;j[o+552>>2]=b;j[o+96>>2]=78;r=Da(o+136|0,o+144|0,o+96|0);b=j[r>>2];j[o+132>>2]=b;j[o+128>>2]=b+400;u=ga(o+96|0);s=ga(o+80|0);p=ga(o- -64|0);q=ga(o+48|0);t=ga(o+32|0);hl(c,d,o+120|0,o+116|0,o+112|0,u,s,p,q,o+28|0);j[m>>2]=j[l>>2];w=e&512;x=w>>>9|0;b=0;c=0;while(1){n=c;a:{b:{c:{d:{if((b|0)==4){break d}if(!jb(a,o+552|0)){break d}e=0;e:{f:{g:{h:{i:{switch(h[(o+120|0)+b|0]){case 1:if((b|0)==3){break b}c=i;e=j[a>>2];d=j[e+12>>2];j:{if((d|0)==j[e+16>>2]){d=O[j[j[e>>2]+36>>2]](e)|0;break j}d=j[d>>2]}if(O[j[j[i>>2]+12>>2]](c,8192,d)|0){Vf(o+16|0,a);bd(t,j[o+16>>2]);break h}j[f>>2]=j[f>>2]|4;a=0;break c;case 0:break i;case 4:break e;case 2:break f;case 3:break g;default:break a}}if((b|0)==3){break b}}while(1){if(!jb(a,o+552|0)){break b}c=i;e=j[a>>2];d=j[e+12>>2];k:{if((d|0)==j[e+16>>2]){d=O[j[j[e>>2]+36>>2]](e)|0;break k}d=j[d>>2]}if(!(O[j[j[i>>2]+12>>2]](c,8192,d)|0)){break b}Vf(o+16|0,a);bd(t,j[o+16>>2]);continue}}if(k[p+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}if((c|0)==(0-d|0)){break b}if(k[p+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}if(!(d?c:0)){if(k[p+11|0]>>>7|0){d=j[p+4>>2]}else{d=k[p+11|0]}e=j[a>>2];c=j[e+12>>2];l:{if((c|0)==j[e+16>>2]){c=O[j[j[e>>2]+36>>2]](e)|0;break l}c=j[c>>2]}if(d){if(k[p+11|0]>>>7|0){d=j[p>>2]}else{d=p}if((c|0)==j[d>>2]){Na(a);c=p;d=c;if(k[c+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}c=c>>>0>1?d:n;break a}h[g|0]=1;break b}if(k[q+11|0]>>>7|0){d=j[q>>2]}else{d=q}if(j[d>>2]!=(c|0)){break b}Na(a);h[g|0]=1;c=q;d=c;if(k[c+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}c=c>>>0>1?d:n;break a}d=j[a>>2];c=j[d+12>>2];m:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break m}c=j[c>>2]}if(k[p+11|0]>>>7|0){d=j[p>>2]}else{d=p}if((c|0)==j[d>>2]){Na(a);c=p;d=c;if(k[c+11|0]>>>7|0){c=j[p+4>>2]}else{c=k[p+11|0]}c=c>>>0>1?d:n;break a}d=j[a>>2];c=j[d+12>>2];n:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break n}c=j[c>>2]}if(k[q+11|0]>>>7|0){d=j[q>>2]}else{d=q}if((c|0)==j[d>>2]){Na(a);h[g|0]=1;c=q;d=c;if(k[c+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}c=c>>>0>1?d:n;break a}j[f>>2]=j[f>>2]|4;a=0;break c}if(!(n|b>>>0<2)){c=0;if(!((b|0)==2&k[o+123|0]!=0|x)){break a}}y=o,z=rb(s),j[y+8>>2]=z;j[o+16>>2]=j[o+8>>2];o:{if(!b|k[(b+o|0)+119|0]>1){break o}while(1){p:{y=o,z=ic(s),j[y+8>>2]=z;if(!(j[o+16>>2]==j[o+8>>2]^1)){break p}if(!(O[j[j[i>>2]+12>>2]](i,8192,j[j[o+16>>2]>>2])|0)){break p}j[o+16>>2]=j[o+16>>2]+4;continue}break}y=o,z=rb(s),j[y+8>>2]=z;if(k[t+11|0]>>>7|0){d=j[t+4>>2]}else{d=k[t+11|0]}c=j[o+16>>2]-j[o+8>>2]>>2;if(d>>>0>=c>>>0){y=o,z=ic(t),j[y+8>>2]=z;if(cl(Sf(o+8|0,0-c|0),ic(t),rb(s))){break o}}y=o,z=rb(s),j[y>>2]=z;j[o+8>>2]=j[o>>2];j[o+16>>2]=j[o+8>>2]}j[o+8>>2]=j[o+16>>2];while(1){q:{y=o,z=ic(s),j[y>>2]=z;if(!(j[o+8>>2]==j[o>>2]^1)){break q}if(!jb(a,o+552|0)){break q}d=j[a>>2];c=j[d+12>>2];r:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break r}c=j[c>>2]}if((c|0)!=j[j[o+8>>2]>>2]){break q}Na(a);j[o+8>>2]=j[o+8>>2]+4;continue}break}if(!w){break b}y=o,z=ic(s),j[y>>2]=z;if(!(j[o+8>>2]==j[o>>2]^1)){break b}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){s:{if(!jb(a,o+552|0)){break s}v=i;c=j[a>>2];d=j[c+12>>2];t:{if((d|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break t}c=j[d>>2]}u:{if(O[j[j[i>>2]+12>>2]](v,2048,c)|0){d=j[m>>2];if((d|0)==j[o+548>>2]){xc(l,m,o+548|0);d=j[m>>2]}j[m>>2]=d+4;j[d>>2]=c;e=e+1|0;break u}d=!e;if(k[u+11|0]>>>7|0){v=j[u+4>>2]}else{v=k[u+11|0]}if(d|!v|(c|0)!=j[o+112>>2]){break s}c=j[o+132>>2];if((c|0)==j[o+128>>2]){xc(r,o+132|0,o+128|0);c=j[o+132>>2]}j[o+132>>2]=c+4;j[c>>2]=e;e=0}Na(a);continue}break}d=j[r>>2];v:{if(!e){break v}c=j[o+132>>2];if((d|0)==(c|0)){break v}if(j[o+128>>2]==(c|0)){xc(r,o+132|0,o+128|0);c=j[o+132>>2]}j[o+132>>2]=c+4;j[c>>2]=e}w:{if(j[o+28>>2]<1){break w}x:{if(!Ra(a,o+552|0)){d=j[a>>2];c=j[d+12>>2];y:{if((c|0)==j[d+16>>2]){c=O[j[j[d>>2]+36>>2]](d)|0;break y}c=j[c>>2]}if((c|0)==j[o+116>>2]){break x}}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){Na(a);if(j[o+28>>2]<1){break w}z:{if(!Ra(a,o+552|0)){c=i;e=j[a>>2];d=j[e+12>>2];A:{if((d|0)==j[e+16>>2]){d=O[j[j[e>>2]+36>>2]](e)|0;break A}d=j[d>>2]}if(O[j[j[i>>2]+12>>2]](c,2048,d)|0){break z}}j[f>>2]=j[f>>2]|4;a=0;break c}if(j[m>>2]==j[o+548>>2]){xc(l,m,o+548|0)}d=j[a>>2];c=j[d+12>>2];B:{if((c|0)==j[d+16>>2]){d=O[j[j[d>>2]+36>>2]](d)|0;break B}d=j[c>>2]}c=j[m>>2];j[m>>2]=c+4;j[c>>2]=d;j[o+28>>2]=j[o+28>>2]-1;continue}}c=n;if(j[l>>2]!=j[m>>2]){break a}j[f>>2]=j[f>>2]|4;a=0;break c}C:{if(!n){break C}e=1;while(1){if(k[n+11|0]>>>7|0){b=j[n+4>>2]}else{b=k[n+11|0]}if(b>>>0<=e>>>0){break C}D:{if(!Ra(a,o+552|0)){c=j[a>>2];b=j[c+12>>2];E:{if((b|0)==j[c+16>>2]){b=O[j[j[c>>2]+36>>2]](c)|0;break E}b=j[b>>2]}if(k[n+11|0]>>>7|0){c=j[n>>2]}else{c=n}if((b|0)==j[c+(e<<2)>>2]){break D}}j[f>>2]=j[f>>2]|4;a=0;break c}Na(a);e=e+1|0;continue}}a=1;if(j[r>>2]==j[o+132>>2]){break c}a=0;j[o+16>>2]=0;hb(u,j[r>>2],j[o+132>>2],o+16|0);if(j[o+16>>2]){j[f>>2]=j[f>>2]|4;break c}a=1}Y(t);Y(q);Y(p);Y(s);Y(u);b=j[r>>2];j[r>>2]=0;if(b){O[j[r+4>>2]](b)}M=o+560|0;return a}c=n}b=b+1|0;continue}}function Kh(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;f=M-1056|0;M=f;d=h[b+11|0];a:{b:{if((d|0)<=-1){w=j[b+4>>2];if(w>>>0>=1025){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}b=j[b>>2];A=f+16|0;break b}w=d&255;A=f+16|0}Ao(A,b);h[f+1040|0]=0;j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;o=k[f+16|0];if(o){m=-333;while(1){c:{d:{x=o&255;v=j[((x<<2)+c|0)+16>>2];if((v|0)<0){break d}r=j[c+4>>2];d=r+p(v,12)|0;b=k[d+11|0];u=b<<24>>24;if((u|0)<=-1){b=j[d+4>>2]}if(!b){break d}J=f+n|0;E=n-1|0;F=E+(f+16|0)|0;while(1){B=p(v,12);t=B+r|0;G=(u|0)>-1;e:{if(!G){d=j[t>>2];if(k[d|0]==(x|0)){break e}break d}d=t;if(k[d|0]!=(x|0)){break d}}l=1;b=d+1|0;m=0;i=k[d+1|0];f:{g:{if(!i){break g}e=d;g=k[J+17|0];h:{if((g|0)!=(i|0)){break h}while(1){i:{e=b;if((i&255)-48>>>0<10){break i}if(Aa(121384,i<<24>>24,6)){break i}b=e+1|0;l=l+1|0;i=k[e+1|0];if(!i){break g}d=e;g=k[f+16+(l+n)|0];if((g|0)==(i|0)){continue}break h}break}e=d}j:{if((i&255)==40){d=g<<24>>24;if((g&255|32)-97>>>0>=26?(d|0)>=0:0){break j}if(!Ya(e+2|0,d)){break j}e=b+1|0;while(1){d=k[e|0];b=e+1|0;e=b;if((d|0)!=41){continue}break}l=l+1|0;i=k[b|0]}s=(l|0)>1;m=i<<24>>24;k:{if((l|0)<2){break k}e=l;if((i&255)!=45){break k}while(1){l:{s=(e|0)>2;g=b+1|0;q=e-1|0;d=k[b+1|0];if((e|0)<3){break l}b=g;e=q;if((d&255)==45){continue}}break}b=g;break f}q=l;d=i;break f}m=40}s=(l|0)>1;q=l;i=m;d=i}b=(d&255)==60?b+1|0:b;g=h[b|0];e=(g&255)-48>>>0<10;b=e?b+1|0:b;d=k[b|0];if((d|0)==94){b=k[b+1|0]==94?b+1|0:b;d=k[b|0]}m:{d=d&255;n:{if(!d){break n}if((d|0)==94){if(n){d=h[F|0];if((d|0)<0|(d&255|32)-97>>>0<26){break m}}if(k[b+1|0]!=36){break n}b=h[f+16+(l+n)|0];if((b|0)<0){break m}if((b&255|32)-97>>>0>=26){break n}break m}if((d|0)!=36|(n|0)<1){break m}b=h[F|0];if((b&255|32)-97>>>0>=26?(b|0)>=0:0){break m}b=h[f+16+(l+n)|0];if((b|0)<0|(b&255|32)-97>>>0<26){break m}}o:{if((i&255)==45){break o}b=n+q|0;y=k[(b+f|0)+15|0];l=j[((y<<2)+c|0)+16>>2];if(!((l|0)>-1&s)){break o}H=b+(f+16|0)|0;if(!k[H|0]){break o}i=p(l,12)+r|0;d=k[i+11|0];b=d<<24>>24;if((b|0)<=-1){d=j[i+4>>2]}if(!d){break o}z=e?g-48|0:5;p:{q:{while(1){C=p(l,12)+r|0;r:{s:{t:{u:{I=b<<24>>24>-1;v:{if(!I){s=j[C>>2];g=s;if(k[g|0]==(y|0)){break v}if((m|0)<(z|0)){break o}break q}s=y;g=C;b=k[g|0];if((b|0)!=(y|0)){break u}}b=g+1|0;e=k[g+1|0];if(!e){i=q;break r}i=q;d=g;m=k[H|0];if((m|0)==(e|0)){break t}break s}s=b;if((m|0)<(z|0)){break o}break p}while(1){w:{d=b;if((e&255)-48>>>0<10){break w}if(Aa(121384,e<<24>>24,6)){break w}b=d+1|0;i=i+1|0;e=k[d+1|0];if(!e){break r}g=d;m=k[f+16+(i+n)|0];if((m|0)==(e|0)){continue}break s}break}d=g}if((e&255)!=40){break r}e=m<<24>>24;if((m&255|32)-97>>>0>=26?(e|0)>=0:0){break r}if(!Ya(d+2|0,e)){break r}i=i+1|0;e=40;while(1){d=e&255;if(!(!d|(d|0)==41)){e=k[b+1|0];b=b+1|0;continue}break}b=(d|0)==41?b+1|0:b}x:{while(1){e=k[b|0];if((e|0)!=45){d=b;if((e|0)!=60){break x}}else{b=b+1|0;continue}break}e=k[b+1|0];d=b+1|0}b=(e&255)-48>>>0<10;m=b?(e<<24>>24)-48|0:5;y:{b=k[(b?d+1|0:d)|0];z:{if(b){if((b|0)!=36){break z}b=h[f+16+(i+n)|0];if((b|0)<0|(b&255|32)-97>>>0<26|((i|0)==(q|0)|(m|0)<(z|0))){break z}break y}if((i|0)==(q|0)){break z}if((m|0)>=(z|0)){break y}}l=l+2|0;b=k[(p(l,12)+r|0)+11|0];continue}break}if(I){break p}}s=k[j[C>>2]]}if((s&255)==(y|0)){break m}}b=t+12|0;b=h[t+23|0]<=-1?j[b>>2]:b;A:{B:{C:{D:{if(!G){if(j[t+4>>2]){break D}break B}if(!(u&255)){break B}break C}t=j[t>>2]}d=Ya(t+1|0,60);m=(d|0)!=0;if(!d|D){break A}e=k[f+11|0];g=e<<24>>24;d=j[f+4>>2];E:{F:{if(!((g|0)<0?d:e)){break F}i=k[b|0];if(!i){e=0;break E}G:{if((g|0)<=-1){e=k[(j[f>>2]+d|0)-1|0];if((e|0)==(x|0)|(e|0)==(i|0)){break G}break F}g=k[(e+f|0)-1|0];if((g|0)==(x|0)){d=e;break G}d=e;if((i|0)!=(g|0)){break F}}pb(f,d-1|0,-1)}e=0;d=k[b|0];if(!d){break E}while(1){g=f+16+(e+n)|0;if(!k[g|0]){break E}h[g|0]=d;e=e+1|0;d=k[b+1|0];b=b+1|0;if(d){continue}break}}D=1;if((e|0)>=(q|0)){break c}d=(f+16|0)+n|0;b=d+e|0;e=d+q|0;d=k[e|0];if(d){while(1){h[b|0]=d;b=b+1|0;d=k[e+1|0];e=e+1|0;if(d){continue}break}}h[b|0]=0;break c}m=0}o=k[b|0];H:{if(!o){g=1;o=0;break H}I:{while(1){g=0;e=k[b+1|0];if(!e){break I}b=b+1|0;d=k[f+11|0];i=d<<24>>24;J:{K:{L:{if((i|0)<=-1){d=j[f+4>>2];if(w>>>0<=d>>>0){break I}if(!d){break K}g=j[f>>2];break L}if(d>>>0>=w>>>0){break I}g=f;if(!i){break K}}if(k[(d+g|0)-1|0]==(o&255)){break J}}Z(f,o<<24>>24);e=k[b|0]}o=e;if(e&255){continue}break}g=1;o=0}r=j[c+4>>2];u=h[(B+r|0)+11|0]}n=q+E|0;b=r+B|0;M:{if((u|0)<=-1){if(!j[b+4>>2]){break d}b=j[b>>2];break M}if(!(u&255)){break d}}if(!ca(b+1|0,121390)){break d}if(!g){Z(f,o<<24>>24)}b=A;d=(f+16|0)+n|0;e=k[d+1|0];if(e){d=d+1|0;while(1){h[b|0]=e;b=b+1|0;e=k[d+1|0];d=d+1|0;if(e){continue}break}}D=0;h[b|0]=0;n=0;break c}v=v+2|0;u=h[(p(v,12)+r|0)+11|0];continue}}N:{if(!(o&255)|(m|!q)){break N}b=k[f+11|0];if((b<<24>>24<0?j[f+4>>2]:b)>>>0>=w>>>0){break N}Z(f,o<<24>>24)}n=n+1|0;D=0;q=0}o=k[(f+16|0)+n|0];if(o){continue}break}}b=j[f+4>>2];j[a>>2]=j[f>>2];j[a+4>>2]=b;j[a+8>>2]=j[f+8>>2]}M=f+1056|0}function zq(a,b,c){var d=0,e=0,f=0,g=0;d=M-96|0;M=d;j[d+64>>2]=0;j[d+68>>2]=0;j[d+72>>2]=0;e=ca(h[c+11|0]<0?j[c>>2]:c,121148);a:{if(!e){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[d+72>>2]=0;break a}c=Ya(e,62);if(!c){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[d+72>>2]=0;break a}c=ca(c,121155);if(!c){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[d+72>>2]=0;break a}b:{c:{d:{e:{if(Ed(e,121167)){mc(d+80|0,Ya(c,62));c=k[d+91|0];f:{if(!(c<<24>>24<0?j[d+84>>2]:c)){c=j[d+68>>2];b=j[d+64>>2];break f}Dd(d+48|0,b,d+80|0);c=j[d+64>>2];if(c){b=j[d+68>>2];e=c;g:{if((c|0)==(b|0)){break g}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+64>>2]}j[d+68>>2]=c;T(e)}b=j[d+48>>2];j[d+64>>2]=b;c=j[d+52>>2];j[d+68>>2]=c;j[d+72>>2]=j[d+56>>2]}h:{if((b|0)==(c|0)){j[a+4>>2]=c;j[a>>2]=c;j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;break h}j[d+56>>2]=0;j[d+48>>2]=0;j[d+52>>2]=0;$(d+48|0,121175);if(j[d+68>>2]!=j[d+64>>2]){e=k[121142]|k[121143]<<8|(k[121144]<<16|k[121145]<<24);f=k[121146];b=0;while(1){$(d+48|0,121182);c=ha(d+32|0,j[d+64>>2]+p(b,12)|0);i[d+16>>1]=9;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;xb(c,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}i[d+16>>1]=38;h[d+27|0]=1;h[d+11|0]=5;h[d+5|0]=0;j[d>>2]=e;h[d+4|0]=f;xb(c,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}i[d+16>>1]=60;h[d+27|0]=1;h[d+4|0]=0;j[d>>2]=997485606;h[d+11|0]=4;xb(c,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}c=h[d+43|0];g=(c|0)<0;aa(d+48|0,g?j[d+32>>2]:d+32|0,g?j[d+36>>2]:c&255);$(d+48|0,121186);if(h[d+43|0]<=-1){T(j[d+32>>2])}b=b+1|0;if(b>>>0<(j[d+68>>2]-j[d+64>>2]|0)/12>>>0){continue}break}}$(d+48|0,121191);b=j[d+68>>2];e=j[d+64>>2];if((b|0)!=(e|0)){while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((c|0)!=(e|0)){continue}break}}j[d+68>>2]=e;i:{if((e|0)!=j[d+72>>2]){b=ha(e,d+48|0)+12|0;break i}Wb(d- -64|0,d+48|0);b=j[d+68>>2]}c=j[d+64>>2];j[a+4>>2]=b;j[a>>2]=c;j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;if(h[d+59|0]>-1){break h}T(j[d+48>>2])}if(h[d+91|0]>-1){break e}T(j[d+80>>2]);break e}if(Ed(e,121199)){mc(d+48|0,Ya(c,62));c=h[d+59|0];j:{if((c|0)<=-1){if(j[d+52>>2]){break j}T(j[d+48>>2]);break d}if(!c){break d}}Dd(d+80|0,b,d+48|0);xq(a,b,d+80|0);a=j[d+80>>2];if(a){c=a;b=j[d+84>>2];e=c;k:{if((c|0)==(b|0)){break k}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((a|0)!=(c|0)){continue}break}e=j[d+80>>2]}c=e;j[d+84>>2]=a;T(c)}if(h[d+59|0]>-1){break e}T(j[d+48>>2]);break e}l:{if(Ed(e,121204)){mc(d+48|0,Ya(c,62));e=k[d+59|0];if(!(e<<24>>24<0?j[d+52>>2]:e)){j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;break l}f=1;c=c+1|0;e=ca(c,121155);if(e){mc(d+32|0,Ya(e,62));c=h[d+43|0];m:{if((c|0)<=-1){if(j[d+36>>2]){break m}T(j[d+32>>2]);break l}if(!c){break l}}Dd(d+80|0,b,d+32|0);Mh(a,b,d+48|0,d+80|0);Kd(a);c=j[d+80>>2];if(c){b=j[d+84>>2];e=c;n:{if((c|0)==(b|0)){break n}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+80>>2]}j[d+84>>2]=c;T(e)}if(h[d+43|0]<=-1){T(j[d+32>>2])}f=0;break l}c=ca(c,121213);if(!c){break l}wq(d+80|0,Ya(c,62));c=j[d+80>>2];if((c|0)!=j[d+84>>2]){Mh(d+32|0,b,d+48|0,d+80|0);c=j[d+64>>2];if(c){b=j[d+68>>2];e=c;o:{if((c|0)==(b|0)){break o}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+64>>2]}j[d+68>>2]=c;T(e)}j[d+64>>2]=j[d+32>>2];b=j[d+40>>2];j[d+68>>2]=j[d+36>>2];j[d+72>>2]=b;Kd(d- -64|0);j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];f=0;j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;c=j[d+80>>2];if(!c){break l}b=j[d+84>>2];e=c;p:{if((c|0)==(b|0)){break p}while(1){e=b-12|0;if(h[b-1|0]<=-1){T(j[e>>2])}b=e;if((b|0)!=(c|0)){continue}break}e=j[d+80>>2]}j[d+84>>2]=c;T(e);break l}if(!c){break l}j[d+84>>2]=c;T(c);break l}if(!Ed(e,121219)){break d}mc(d+80|0,Ya(c,62));e=k[d+91|0];e=e<<24>>24<0?j[d+84>>2]:e;q:{if(!e){j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;break q}c=ca(c+1|0,121155);if(c){mc(d+48|0,Ya(c,62));c=j[b+8>>2];b=j[b+4>>2];f=k[d+59|0];r:{if(f<<24>>24<0?j[d+52>>2]:f){if((b|0)==(c|0)){break r}Pq(j[b>>2],d+80|0,d+48|0);break r}if((b|0)==(c|0)){break r}Sh(j[b>>2],d+80|0)}if(h[d+59|0]>-1){break q}T(j[d+48>>2]);break q}c=j[b+8>>2];b=j[b+4>>2];if((c|0)==(b|0)){break q}Sh(j[b>>2],d+80|0)}if(h[d+91|0]<=-1){T(j[d+80>>2])}if(!e){break e}break d}if(h[d+59|0]<=-1){T(j[d+48>>2])}if(f){break d}}a=j[d+64>>2];if(!a){break a}b=j[d+68>>2];if((a|0)!=(b|0)){break c}b=a;break b}j[a>>2]=j[d+64>>2];j[a+4>>2]=j[d+68>>2];j[a+8>>2]=j[d+72>>2];j[d+72>>2]=0;break a}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((a|0)!=(c|0)){continue}break}b=j[d+64>>2]}j[d+68>>2]=a;T(b)}M=d+96|0}function xq(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;d=M-112|0;M=d;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;j[d+104>>2]=0;j[d+96>>2]=0;j[d+100>>2]=0;f=j[c>>2];a:{if((f|0)==j[c+4>>2]){break a}while(1){j[d+88>>2]=0;j[d+80>>2]=0;j[d+84>>2]=0;b:{c:{e=p(r,12)+f|0;if(h[e+11|0]<=-1){e=j[e>>2]}n=ca(e,121113);d:{if(!n){break d}e=n;f=ca(e+1|0,121113);if(!f){break d}while(1){e=f;j[d+72>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;l=W(n);if(l>>>0>=4294967280){break c}e:{f:{if(l>>>0>=11){f=l+16&-16;g=U(f);j[d+56>>2]=f|-2147483648;j[d+48>>2]=g;j[d+52>>2]=l;break f}h[d+59|0]=l;g=d+48|0;if(!l){break e}}V(g,n,l)}h[g+l|0]=0;h[d+43|0]=3;i[d+32>>1]=k[121113]|k[121114]<<8;h[d+34|0]=k[121115];h[d+35|0]=0;ec(d- -64|0,d+48|0,d+32|0);if(h[d+43|0]<=-1){T(j[d+32>>2])}if(h[d+59|0]<=-1){T(j[d+48>>2])}g=h[d+75|0];f=(g|0)<0;aa(d+80|0,f?j[d+64>>2]:d- -64|0,f?j[d+68>>2]:g&255);f=ca(e+1|0,121113);if(h[d+75|0]<=-1){T(j[d+64>>2])}n=e;if(f){continue}break}}l=W(e);if(l>>>0<4294967280){g:{h:{if(l>>>0>=11){f=l+16&-16;g=U(f);j[d+72>>2]=f|-2147483648;j[d+64>>2]=g;j[d+68>>2]=l;break h}h[d+75|0]=l;g=d- -64|0;if(!l){break g}}V(g,e,l)}e=0;h[g+l|0]=0;f=k[d+75|0];g=f<<24>>24<0;f=g?j[d+68>>2]:f;m=j[d+64>>2];n=g?m:d- -64|0;while(1){i:{l=f+n|0;f=e+n|0;e=l-f|0;if((e|0)<3){break i}while(1){e=Aa(f,32,e-2|0);if(!e){break i}if(qa(e,121117,3)){f=e+1|0;e=l-f|0;if((e|0)>=3){continue}break i}break}if((e|0)==(l|0)){break i}e=e-n|0;if((e|0)==-1){break i}h[((g?m:d- -64|0)+e|0)+1|0]=11;m=j[d+64>>2];f=k[d+75|0];g=f<<24>>24<0;n=g?m:d- -64|0;f=g?j[d+68>>2]:f;if(f>>>0>=e>>>0){continue}}break}Ab(d+48|0,d- -64|0,11);n=0;f=j[d+52>>2];e=f;o=j[d+48>>2];if((e|0)==(o|0)){break b}while(1){j:{k:{q=p(n,12);l=q+o|0;m=k[l+11|0];s=m<<24>>24>-1;l:{if(!s){g=j[l>>2];f=j[l+4>>2];break l}g=l;f=m}if((f|0)<3){break k}t=f+g|0;e=g;while(1){e=Aa(e,100,f-2|0);if(!e){break k}if(qa(e,121121,3)){e=e+1|0;f=t-e|0;if((f|0)>=3){continue}break k}break}if((e|0)==(t|0)|(e-g|0)==-1){break k}m:{if(!s){m=j[l+4>>2];e=j[l>>2];break m}e=l}n:{if((m|0)<3){break n}g=e+m|0;f=e;while(1){f=Aa(f,105,m-2|0);if(!f){break n}if(qa(f,121125,3)){f=f+1|0;m=g-f|0;if((m|0)>=3){continue}break n}break}if((f|0)==(g|0)){break n}e=f-e|0;if((e|0)==-1){break n}Va(l,e);o=j[d+48>>2]}j[d+32>>2]=0;j[d+36>>2]=0;j[d+40>>2]=0;Wb(d+32|0,o+q|0);Bh(d+16|0,j[b+16>>2],d+32|0,j[d+48>>2]+q|0);f=k[d+27|0];e=f<<24>>24;if((e|0)<0?j[d+20>>2]:f){Ab(d,d+16|0,10);e=0;f=j[d+4>>2];g=f;if(j[d>>2]!=(f|0)){while(1){Z(d+96|0,10);g=k[d+91|0];f=g<<24>>24<0;aa(d+96|0,f?j[d+80>>2]:d+80|0,f?j[d+84>>2]:g);l=j[d>>2]+p(e,12)|0;f=k[l+11|0];g=f<<24>>24<0;aa(d+96|0,g?j[l>>2]:l,g?j[l+4>>2]:f);e=e+1|0;f=j[d+4>>2];g=j[d>>2];if(e>>>0<(f-g|0)/12>>>0){continue}break}}if(g){if((f|0)==(g|0)){e=g}else{while(1){e=f-12|0;if(h[f-1|0]<=-1){T(j[e>>2])}f=e;if((e|0)!=(g|0)){continue}break}e=j[d>>2]}j[d+4>>2]=g;T(e)}e=k[d+27|0]}if(e<<24>>24<=-1){T(j[d+16>>2])}g=j[d+32>>2];if(!g){break j}f=g;e=j[d+36>>2];l=f;o:{if((f|0)==(e|0)){break o}while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((g|0)!=(e|0)){continue}break}l=j[d+32>>2]}f=l;j[d+36>>2]=g;T(f);break j}Z(d+96|0,10);f=k[d+91|0];e=f<<24>>24<0;aa(d+96|0,e?j[d+80>>2]:d+80|0,e?j[d+84>>2]:f);o=j[d+48>>2];l=q+o|0;e=h[l+11|0];p:{if((e|0)<=-1){g=j[l>>2];f=j[l+4>>2];break p}g=l;f=e&255}q:{if((f|0)<3){break q}m=f+g|0;e=g;while(1){e=Aa(e,115,f-2|0);if(!e){break q}if(qa(e,121129,3)){e=e+1|0;f=m-e|0;if((f|0)>=3){continue}break q}break}if((e|0)==(m|0)|(e-g|0)==-1){break q}j[d+40>>2]=0;j[d+32>>2]=0;j[d+36>>2]=0;h[d+27|0]=3;i[d+16>>1]=k[121129]|k[121130]<<8;h[d+18|0]=k[121131];h[d+19|0]=0;ec(d+32|0,l,d+16|0);if(h[d+27|0]<=-1){T(j[d+16>>2])}f=h[d+43|0];e=(f|0)<0;aa(d+96|0,e?j[d+32>>2]:d+32|0,e?j[d+36>>2]:f&255);if(h[d+43|0]<=-1){T(j[d+32>>2])}o=j[d+48>>2]}j[d+40>>2]=0;j[d+32>>2]=0;j[d+36>>2]=0;h[d+27|0]=3;i[d+16>>1]=k[121133]|k[121134]<<8;h[d+18|0]=k[121135];h[d+19|0]=0;ec(d+32|0,o+q|0,d+16|0);if(h[d+27|0]<=-1){T(j[d+16>>2])}f=h[d+43|0];e=(f|0)<0;aa(d+96|0,e?j[d+32>>2]:d+32|0,e?j[d+36>>2]:f&255);if(h[d+43|0]>-1){break j}T(j[d+32>>2])}e=j[d+48>>2];o=e;n=n+1|0;f=j[d+52>>2];if(n>>>0<(f-e|0)/12>>>0){continue}break}break b}X();z()}X();z()}if(e){if((e|0)==(f|0)){f=e}else{while(1){g=f-12|0;if(h[f-1|0]<=-1){T(j[g>>2])}f=g;if((f|0)!=(e|0)){continue}break}f=j[d+48>>2]}j[d+52>>2]=e;T(f)}if(h[d+75|0]<=-1){T(j[d+64>>2])}if(h[d+91|0]<=-1){T(j[d+80>>2])}r=r+1|0;f=j[c>>2];if(r>>>0<(j[c+4>>2]-f|0)/12>>>0){continue}break}c=j[a>>2];Ab(d+80|0,d+96|0,10);if(c){e=j[a+4>>2];b=c;r:{if((c|0)==(e|0)){break r}while(1){b=e-12|0;if(h[e-1|0]<=-1){T(j[b>>2])}e=b;if((c|0)!=(e|0)){continue}break}b=j[a>>2]}j[a+4>>2]=c;T(b)}j[a>>2]=j[d+80>>2];j[a+4>>2]=j[d+84>>2];j[a+8>>2]=j[d+88>>2];Kd(a);if(h[d+107|0]>-1){break a}T(j[d+96>>2])}M=d+112|0}function Ae(a,b,c,d,e,f,g){var l=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;l=M-80|0;M=l;j[l+76>>2]=b;B=l+55|0;y=l+56|0;b=0;a:{b:while(1){c:{if((v|0)<0){break c}if((2147483647-v|0)<(b|0)){j[37140]=61;v=-1;break c}v=b+v|0}d:{e:{f:{q=j[l+76>>2];b=q;m=k[b|0];if(m){while(1){g:{m=m&255;h:{if(!m){m=b;break h}if((m|0)!=37){break g}m=b;while(1){if(k[b+1|0]!=37){break h}n=b+2|0;j[l+76>>2]=n;m=m+1|0;r=k[b+2|0];b=n;if((r|0)==37){continue}break}}b=m-q|0;if(a){ab(a,q,b)}if(b){continue b}m=l;b=j[l+76>>2];i:{if(!(k[b+2|0]!=36|h[j[l+76>>2]+1|0]-48>>>0>=10)){x=h[b+1|0]-48|0;z=1;b=b+3|0;break i}x=-1;b=b+1|0}j[m+76>>2]=b;s=0;w=h[b|0];n=w-32|0;j:{if(n>>>0>31){m=b;break j}m=b;n=1<>2]=m;s=n|s;w=h[b+1|0];n=w-32|0;if(n>>>0>=32){break j}b=m;n=1<>>0>=10){break m}b=j[l+76>>2];if(k[b+2|0]!=36){break m}j[((h[b+1|0]<<2)+e|0)-192>>2]=10;t=j[((h[b+1|0]<<3)+d|0)-384>>2];z=1;b=b+3|0;break l}if(z){break f}z=0;t=0;if(a){b=j[c>>2];j[c>>2]=b+4;t=j[b>>2]}b=j[l+76>>2]+1|0}j[n+76>>2]=b;if((t|0)>-1){break k}t=0-t|0;s=s|8192;break k}t=oh(l+76|0);if((t|0)<0){break f}b=j[l+76>>2]}r=-1;n:{if(k[b|0]!=46){break n}if(k[b+1|0]==42){o:{if(h[b+2|0]-48>>>0>=10){break o}b=j[l+76>>2];if(k[b+3|0]!=36){break o}j[((h[b+2|0]<<2)+e|0)-192>>2]=10;r=j[((h[b+2|0]<<3)+d|0)-384>>2];b=b+4|0;j[l+76>>2]=b;break n}if(z){break f}if(a){b=j[c>>2];j[c>>2]=b+4;r=j[b>>2]}else{r=0}b=j[l+76>>2]+2|0;j[l+76>>2]=b;break n}j[l+76>>2]=b+1;r=oh(l+76|0);b=j[l+76>>2]}m=0;while(1){A=m;u=-1;if(h[b|0]-65>>>0>57){break a}w=b+1|0;j[l+76>>2]=w;m=h[b|0];b=w;m=k[(m+p(A,58)|0)+121439|0];if(m-1>>>0<8){continue}break}p:{q:{if((m|0)!=19){if(!m){break a}if((x|0)>=0){j[(x<<2)+e>>2]=m;b=(x<<3)+d|0;m=j[b+4>>2];j[l+64>>2]=j[b>>2];j[l+68>>2]=m;break q}if(!a){break d}nh(l- -64|0,m,c,g);w=j[l+76>>2];break p}if((x|0)>-1){break a}}b=0;if(!a){continue b}}n=s&-65537;m=s&8192?n:s;u=0;x=121480;s=y;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{b=h[w-1|0];b=A?(b&15)==3?b&-33:b:b;switch(b-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break e;default:break G}}H:{switch(b-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break e;default:break H}}if((b|0)==83){break w}break e}b=j[l+64>>2];q=j[l+68>>2];x=121480;break z}b=0;I:{switch(A&255){case 0:j[j[l+64>>2]>>2]=v;continue b;case 1:j[j[l+64>>2]>>2]=v;continue b;case 2:m=j[l+64>>2];j[m>>2]=v;j[m+4>>2]=v>>31;continue b;case 3:i[j[l+64>>2]>>1]=v;continue b;case 4:h[j[l+64>>2]]=v;continue b;case 6:j[j[l+64>>2]>>2]=v;continue b;case 7:break I;default:continue b}}m=j[l+64>>2];j[m>>2]=v;j[m+4>>2]=v>>31;continue b}r=r>>>0>8?r:8;m=m|8;b=120}q=Ko(j[l+64>>2],j[l+68>>2],y,b&32);if(!(m&8)|!(j[l+64>>2]|j[l+68>>2])){break y}x=(b>>>4|0)+121480|0;u=2;break y}q=Jo(j[l+64>>2],j[l+68>>2],y);if(!(m&8)){break y}b=y-q|0;r=(b|0)<(r|0)?r:b+1|0;break y}n=j[l+68>>2];q=n;b=j[l+64>>2];if((n|0)<-1?1:(n|0)<=-1){q=0-(q+((b|0)!=0)|0)|0;b=0-b|0;j[l+64>>2]=b;j[l+68>>2]=q;u=1;x=121480;break z}if(m&2048){u=1;x=121481;break z}u=m&1;x=u?121482:121480}q=Gc(b,q,y)}m=(r|0)>-1?m&-65537:m;b=j[l+64>>2];n=j[l+68>>2];if(!(!!(b|n)|r)){r=0;q=y;break e}b=!(b|n)+(y-q|0)|0;r=(b|0)<(r|0)?r:b;break e}b=j[l+64>>2];q=b?b:121490;b=Aa(q,0,r);s=b?b:r+q|0;m=n;r=b?b-q|0:r;break e}n=j[l+64>>2];if(r){break u}b=0;ub(a,32,t,0,m);break t}j[l+12>>2]=0;j[l+8>>2]=j[l+64>>2];j[l+64>>2]=l+8;r=-1;n=l+8|0}b=0;J:{while(1){q=j[n>>2];if(!q){break J}q=rh(l+4|0,q);s=(q|0)<0;if(!(s|q>>>0>r-b>>>0)){n=n+4|0;b=b+q|0;if(r>>>0>b>>>0){continue}break J}break}u=-1;if(s){break a}}ub(a,32,t,b,m);if(!b){b=0;break t}n=0;w=j[l+64>>2];while(1){q=j[w>>2];if(!q){break t}q=rh(l+4|0,q);n=q+n|0;if((n|0)>(b|0)){break t}ab(a,l+4|0,q);w=w+4|0;if(b>>>0>n>>>0){continue}break}}ub(a,32,t,b,m^8192);b=(b|0)<(t|0)?t:b;continue b}b=O[f|0](a,o[l+64>>3],t,r,m,b)|0;continue b}h[l+55|0]=j[l+64>>2];r=1;q=B;m=n;break e}n=b+1|0;j[l+76>>2]=n;m=k[b+1|0];b=n;continue}}u=v;if(a){break a}if(!z){break d}b=1;while(1){a=j[(b<<2)+e>>2];if(a){nh((b<<3)+d|0,a,c,g);u=1;b=b+1|0;if((b|0)!=10){continue}break a}break}u=1;if(b>>>0>=10){break a}while(1){if(j[(b<<2)+e>>2]){break f}b=b+1|0;if((b|0)!=10){continue}break}break a}u=-1;break a}s=s-q|0;r=(r|0)<(s|0)?s:r;n=r+u|0;b=(n|0)>(t|0)?n:t;ub(a,32,b,n,m);ab(a,x,u);ub(a,48,b,n,m^65536);ub(a,48,r,s,0);ab(a,q,s);ub(a,32,b,n,m^8192);continue}break}u=0}M=l+80|0;return u}function rp(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=M+ -64|0;M=e;a:{d=0;b:{if(k[a+4244|0]){break b}h[a+4244|0]=1;j[e+56>>2]=h[b+11|0]<0?j[b>>2]:b;c:{d:{e:{g=ka(b,e+56|0);d=k[b+11|0];f=d<<24>>24<0;if((g|0)==((f?j[b>>2]:b)+(f?j[b+4>>2]:d)|0)){break e}n=a+4248|0;q=-1;while(1){f:{switch(o|0){case 1:q=j[e+56>>2];f=q-g|0;if(f>>>0>=4294967280){break a}g:{if(f>>>0<=10){h[e+11|0]=f;d=e;break g}p=f+16&-16;d=U(p);j[e+8>>2]=p|-2147483648;j[e>>2]=d;j[e+4>>2]=f}if((g|0)!=(q|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}}h[d|0]=0;h:{if(h[e+11|0]>=0){q=ta(e);break h}d=j[e>>2];q=ta(d);T(d)}d=0;if((q|0)<=0){break b}so(n,q);case 0:l=l+1|0;break;default:break f}}o=o+1|0;g=ka(b,e+56|0);d=k[b+11|0];f=d<<24>>24<0;if((g|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:d)|0)){continue}break}if((l|0)!=2){break e}if((q|0)>=1){break d}break c}d=0;break b}t=a+4248|0;s=1;while(1){j[e+48>>2]=0;j[e+40>>2]=0;j[e+44>>2]=0;i:{if(vb(c,e+40|0)){bb(e+40|0);j[e+32>>2]=0;j[e+36>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;j[e>>2]=0;j[e+4>>2]=0;b=j[a+4252>>2];j:{if(b>>>0>2]){d=j[e+4>>2];j[b>>2]=j[e>>2];j[b+4>>2]=d;j[b+8>>2]=j[e+8>>2];j[e+8>>2]=0;j[e>>2]=0;j[e+4>>2]=0;j[b+20>>2]=j[e+20>>2];d=j[e+16>>2];j[b+12>>2]=j[e+12>>2];j[b+16>>2]=d;j[e+12>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;j[b+32>>2]=j[e+32>>2];d=j[e+28>>2];j[b+24>>2]=j[e+24>>2];j[b+28>>2]=d;j[e+24>>2]=0;j[e+28>>2]=0;j[e+32>>2]=0;j[b+36>>2]=j[e+36>>2];j[a+4252>>2]=b+40;break j}no(t,e);if(h[e+35|0]>-1){break j}T(j[e+24>>2])}if(h[e+23|0]<=-1){T(j[e+12>>2])}if(h[e+11|0]<=-1){T(j[e>>2])}b=0;j[e+56>>2]=h[e+51|0]<0?j[e+40>>2]:e+40|0;while(1){g=ka(e+40|0,e+56|0);d=k[e+51|0];f=d<<24>>24;k:{if((f|0)<=-1){d=j[e+40>>2];if((d+j[e+44>>2]|0)!=(g|0)){break k}T(d);break i}if((d+(e+40|0)|0)==(g|0)){break i}}l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{v:{w:{x:{switch(b|0){case 0:if(!_(e+40|0,g-((f|0)<0?j[e+40>>2]:e+40|0)|0,20,1534,20)){break m}if(h[e+51|0]>-1){break c}T(j[e+40>>2]);break c;case 1:p=j[e+56>>2];l=p-g|0;n=j[a+4252>>2];f=n-40|0;d=h[n-29|0];if((d|0)<=-1){d=(j[n-32>>2]&2147483647)-1|0;if(l>>>0<=d>>>0){break p}o=j[n-36>>2];break q}if(l>>>0>10){break r}break o;case 2:p=j[e+56>>2];l=p-g|0;n=j[a+4252>>2];f=n-28|0;d=h[n-17|0];if((d|0)<=-1){d=(j[n-20>>2]&2147483647)-1|0;if(l>>>0<=d>>>0){break u}o=j[n-24>>2];break v}if(l>>>0>10){break w}break t;case 3:break x;default:break m}}p=j[e+56>>2];l=p-g|0;n=j[a+4252>>2];f=n-16|0;y:{z:{d=h[n-5|0];A:{B:{if((d|0)<=-1){d=(j[n-8>>2]&2147483647)-1|0;if(l>>>0<=d>>>0){break A}o=j[n-12>>2];break B}if(l>>>0<=10){break z}o=d&255;d=10}qb(f,d,l-d|0,o,0,o,0);if(h[f+11|0]>-1){break z}}d=j[f>>2];break y}d=f}if((g|0)!=(p|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[d|0]=0;C:{if(h[f+11|0]<=-1){j[n-12>>2]=l;break C}h[f+11|0]=l}j[a+4260>>2]=1;break m}o=d&255;d=10}qb(f,d,l-d|0,o,0,o,0);if(h[f+11|0]>-1){break t}}d=j[f>>2];break s}d=f}if((g|0)!=(p|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[d|0]=0;D:{if(h[f+11|0]<=-1){j[n-24>>2]=l;break D}h[f+11|0]=l}l=Ba(j[a+4252>>2]-28|0,47,0);if((l|0)==-1){break m}d=j[a+4252>>2];o=d-28|0;f=h[d-17|0];E:{if((f|0)<=-1){g=j[d-24>>2];if(l>>>0>=g>>>0){break l}o=j[o>>2];break E}g=f&255;if(l>>>0>=g>>>0){break l}}d=g;g=l+1|0;f=d-g|0;if(f>>>0>=4294967280){break a}F:{G:{if(f>>>0>=11){n=f+16&-16;d=U(n);j[e+8>>2]=n|-2147483648;j[e>>2]=d;j[e+4>>2]=f;break G}h[e+11|0]=f;d=e;if(!f){break F}}V(d,g+o|0,f)}h[d+f|0]=0;Va(j[a+4252>>2]-28|0,l);d=Ha(j[a+4100>>2],h[e+11|0]<0?j[e>>2]:e);i[j[a+4252>>2]-2>>1]=d;if(h[e+11|0]>-1){break m}T(j[e>>2]);b=b+1|0;continue}o=d&255;d=10}qb(f,d,l-d|0,o,0,o,0);if(h[f+11|0]>-1){break o}}d=j[f>>2];break n}d=f}if((g|0)!=(p|0)){while(1){h[d|0]=k[g|0];d=d+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[d|0]=0;H:{if(h[f+11|0]<=-1){j[n-36>>2]=l;break H}h[f+11|0]=l}l=Ba(j[a+4252>>2]-40|0,47,0);if((l|0)==-1){break m}d=j[a+4252>>2];o=d-40|0;f=h[d-29|0];I:{if((f|0)<=-1){g=j[d-36>>2];if(l>>>0>=g>>>0){break l}o=j[o>>2];break I}g=f&255;if(l>>>0>=g>>>0){break l}}d=g;g=l+1|0;f=d-g|0;if(f>>>0>=4294967280){break a}J:{K:{if(f>>>0>=11){n=f+16&-16;d=U(n);j[e+8>>2]=n|-2147483648;j[e>>2]=d;j[e+4>>2]=f;break K}h[e+11|0]=f;d=e;if(!f){break J}}V(d,g+o|0,f)}h[d+f|0]=0;Va(j[a+4252>>2]-40|0,l);d=Ha(j[a+4100>>2],h[e+11|0]<0?j[e>>2]:e);i[j[a+4252>>2]-4>>1]=d;if(h[e+11|0]>-1){break m}T(j[e>>2]);b=b+1|0;continue}b=b+1|0;continue}break}X();z()}if(h[e+51|0]>-1){break c}T(j[e+40>>2]);break c}r=r+1|0;s=(r|0)<(q|0);if((q|0)!=(r|0)){continue}break}}d=s^1}a=d;M=e- -64|0;return a&1}X();z()}function wd(a,b,c){var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0;a:{b:{c:while(1){j=b-2|0;d:while(1){d=a;e:while(1){f:{g:{h:{i:{j:{k:{l:{m:{a=b-d|0;e=a>>1;switch(e|0){case 4:break k;case 3:break l;case 2:break m;case 0:case 1:break f;case 5:break i;default:break j}}a=b-2|0;b=k[a|0]|k[a+1|0]<<8;c=k[d|0]|k[d+1|0]<<8;if(b>>>0>=c>>>0){break f}h[d|0]=b;h[d+1|0]=b>>>8;h[a|0]=c;h[a+1|0]=c>>>8;return}a=b-2|0;c=k[a|0]|k[a+1|0]<<8;e=k[d+2|0]|k[d+3|0]<<8;b=k[d|0]|k[d+1|0]<<8;if(e>>>0>=b>>>0){if(c>>>0>=e>>>0){break f}h[d+2|0]=c;h[d+3|0]=c>>>8;h[a|0]=e;h[a+1|0]=e>>>8;a=k[d+2|0]|k[d+3|0]<<8;b=k[d|0]|k[d+1|0]<<8;if(a>>>0>=b>>>0){break f}break b}if(c>>>0>>0){h[d|0]=c;h[d+1|0]=c>>>8;break a}h[d+2|0]=b;h[d+3|0]=b>>>8;h[d|0]=e;h[d+1|0]=e>>>8;c=k[a|0]|k[a+1|0]<<8;if(c>>>0>=b>>>0){break f}h[d+2|0]=c;h[d+3|0]=c>>>8;break a}e=b-2|0;b=k[d+4|0]|k[d+5|0]<<8;a=k[d+2|0]|k[d+3|0]<<8;c=k[d|0]|k[d+1|0]<<8;n:{if(a>>>0>=c>>>0){if(a>>>0<=b>>>0){a=b;break n}h[d+4|0]=a;h[d+5|0]=a>>>8;h[d+2|0]=b;h[d+3|0]=b>>>8;if(b>>>0>=c>>>0){break n}h[d+2|0]=c;h[d+3|0]=c>>>8;h[d|0]=b;h[d+1|0]=b>>>8;break n}o:{if(a>>>0>b>>>0){h[d+4|0]=c;h[d+5|0]=c>>>8;h[d|0]=b;h[d+1|0]=b>>>8;break o}h[d+2|0]=c;h[d+3|0]=c>>>8;h[d|0]=a;h[d+1|0]=a>>>8;if(b>>>0>=c>>>0){a=b;break n}h[d+4|0]=c;h[d+5|0]=c>>>8;h[d+2|0]=b;h[d+3|0]=b>>>8}a=c}b=k[e|0]|k[e+1|0]<<8;if(b>>>0>=(a&65535)>>>0){break f}h[d+4|0]=b;h[d+5|0]=b>>>8;h[e|0]=a;h[e+1|0]=a>>>8;a=k[d+4|0]|k[d+5|0]<<8;b=k[d+2|0]|k[d+3|0]<<8;if(a>>>0>=b>>>0){break f}h[d+4|0]=b;h[d+5|0]=b>>>8;h[d+2|0]=a;h[d+3|0]=a>>>8;b=k[d|0]|k[d+1|0]<<8;if(b>>>0<=a>>>0){break f}break b}if((a|0)<=61){a=k[d+4|0]|k[d+5|0]<<8;c=k[d+2|0]|k[d+3|0]<<8;e=k[d|0]|k[d+1|0]<<8;p:{if(c>>>0>=e>>>0){if(a>>>0>=c>>>0){c=a;break p}h[d+4|0]=c;h[d+5|0]=c>>>8;h[d+2|0]=a;h[d+3|0]=a>>>8;if(a>>>0>=e>>>0){break p}h[d+2|0]=e;h[d+3|0]=e>>>8;h[d|0]=a;h[d+1|0]=a>>>8;break p}q:{if(a>>>0>>0){h[d+4|0]=e;h[d+5|0]=e>>>8;h[d|0]=a;h[d+1|0]=a>>>8;break q}h[d+2|0]=e;h[d+3|0]=e>>>8;h[d|0]=c;h[d+1|0]=c>>>8;if(a>>>0>=e>>>0){c=a;break p}h[d+4|0]=e;h[d+5|0]=e>>>8;h[d+2|0]=a;h[d+3|0]=a>>>8}c=e}a=d+6|0;if((b|0)==(a|0)){break f}f=d+4|0;while(1){j=a;e=a;i=k[a|0]|k[a+1|0]<<8;if(i>>>0<(c&65535)>>>0){while(1){r:{h[e|0]=c;h[e+1|0]=c>>>8;a=f;if((d|0)==(a|0)){a=d;break r}e=a;f=a-2|0;c=k[f|0]|k[f+1|0]<<8;if(i>>>0>>0){continue}}break}h[a|0]=i;h[a+1|0]=i>>>8}a=j+2|0;if((b|0)==(a|0)){break f}c=k[j|0]|k[j+1|0]<<8;f=j;continue}}g=((e|0)/2<<1)+d|0;s:{if((a|0)>=1999){a=(e|0)/4<<1;i=Xd(d,a+d|0,g,a+g|0,j);break s}e=k[g|0]|k[g+1|0]<<8;a=k[d|0]|k[d+1|0]<<8;t:{if(e>>>0>=a>>>0){a=k[j|0]|k[j+1|0]<<8;i=0;if(a>>>0>=e>>>0){break s}h[g|0]=a;h[g+1|0]=a>>>8;h[j|0]=e;h[j+1|0]=e>>>8;a=k[g|0]|k[g+1|0]<<8;e=k[d|0]|k[d+1|0]<<8;i=1;if(a>>>0>=e>>>0){break s}h[d|0]=a;h[d+1|0]=a>>>8;h[g|0]=e;h[g+1|0]=e>>>8;break t}f=k[j|0]|k[j+1|0]<<8;if(f>>>0>>0){h[d|0]=f;h[d+1|0]=f>>>8;h[j|0]=a;h[j+1|0]=a>>>8;i=1;break s}h[d|0]=e;h[d+1|0]=e>>>8;h[g|0]=a;h[g+1|0]=a>>>8;e=k[j|0]|k[j+1|0]<<8;i=1;if(e>>>0>=a>>>0){break s}h[g|0]=e;h[g+1|0]=e>>>8;h[j|0]=a;h[j+1|0]=a>>>8}i=2}a=j;f=k[d|0]|k[d+1|0]<<8;l=k[g|0]|k[g+1|0]<<8;if(f>>>0>=l>>>0){while(1){a=a-2|0;if((d|0)==(a|0)){e=d+2|0;a=k[j|0]|k[j+1|0]<<8;if(a>>>0>f>>>0){break g}if((e|0)==(j|0)){break f}while(1){i=k[e|0]|k[e+1|0]<<8;if(i>>>0>f>>>0){h[e|0]=a;h[e+1|0]=a>>>8;h[j|0]=i;h[j+1|0]=i>>>8;e=e+2|0;break g}e=e+2|0;if((j|0)!=(e|0)){continue}break}break f}e=k[a|0]|k[a+1|0]<<8;if(e>>>0>=l>>>0){continue}break}h[d|0]=e;h[d+1|0]=e>>>8;h[a|0]=f;h[a+1|0]=f>>>8;i=i+1|0}e=d+2|0;if(e>>>0>=a>>>0){break h}while(1){l=k[g|0]|k[g+1|0]<<8;while(1){f=e;e=e+2|0;m=k[f|0]|k[f+1|0]<<8;if(l>>>0>m>>>0){continue}break}while(1){a=a-2|0;n=k[a|0]|k[a+1|0]<<8;if(l>>>0<=n>>>0){continue}break}if(a>>>0>>0){e=f;break h}else{h[f|0]=n;h[f+1|0]=n>>>8;h[a|0]=m;h[a+1|0]=m>>>8;g=(f|0)==(g|0)?a:g;i=i+1|0;continue}}}Xd(d,d+2|0,d+4|0,d+6|0,b-2|0);break f}u:{if((e|0)==(g|0)){break u}a=k[g|0]|k[g+1|0]<<8;f=k[e|0]|k[e+1|0]<<8;if(a>>>0>=f>>>0){break u}h[e|0]=a;h[e+1|0]=a>>>8;h[g|0]=f;h[g+1|0]=f>>>8;i=i+1|0}if(!i){f=rf(d,e);a=e+2|0;if(rf(a,b)){b=e;a=d;if(!f){continue c}break f}if(f){continue d}}if((e-d|0)<(b-e|0)){wd(d,e,c);a=e+2|0;continue d}wd(e+2|0,b,c);b=e;a=d;continue c}a=j;if((e|0)==(a|0)){break f}while(1){i=k[d|0]|k[d+1|0]<<8;while(1){f=e;e=e+2|0;g=k[f|0]|k[f+1|0]<<8;if(g>>>0<=i>>>0){continue}break}while(1){a=a-2|0;l=k[a|0]|k[a+1|0]<<8;if(l>>>0>i>>>0){continue}break}if(a>>>0<=f>>>0){d=f;continue e}else{h[f|0]=l;h[f+1|0]=l>>>8;h[a|0]=g;h[a+1|0]=g>>>8;continue}}}break}break}break}return}h[d+2|0]=b;h[d+3|0]=b>>>8;h[d|0]=a;h[d+1|0]=a>>>8;return}h[a|0]=b;h[a+1|0]=b>>>8}function xa(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;m=M-96|0;M=m;t=c;w=(g&131071)<<15|f>>>17;k=i&65535;x=k;q=h;B=h<<15|g>>>17;o=(e^i)&-2147483648;n=e&65535;p=n;r=d;A=n;n=0;C=(k&131071)<<15|h>>>17;K=i>>>16&32767;L=e>>>16&32767;a:{b:{if(L-1>>>0<=32765){k=0;if(K-1>>>0<32766){break b}}v=e&2147483647;l=v;k=d;if(!(!k&(l|0)==2147418112?!(b|c):l>>>0<2147418112)){y=d;o=e|32768;break a}v=i&2147483647;e=v;d=h;if(!(!d&(e|0)==2147418112?!(f|g):e>>>0<2147418112)){y=h;o=i|32768;b=f;c=g;break a}if(!(b|k|(l^2147418112|c))){if(!(d|f|(e|g))){o=2147450880;b=0;c=0;break a}o=o|2147418112;b=0;c=0;break a}if(!(d|f|(e^2147418112|g))){d=b|k;e=c|l;b=0;c=0;if(!(d|e)){o=2147450880;break a}o=o|2147418112;break a}if(!(b|k|(c|l))){b=0;c=0;break a}if(!(d|f|(e|g))){b=0;c=0;break a}if((l|0)==65535|l>>>0<65535){i=b;d=!(p|r);h=d<<6;k=s(d?b:r)+32|0;b=s(d?c:p);b=h+((b|0)==32?k:b)|0;mb(m+80|0,i,c,r,p,b-15|0);r=j[m+88>>2];t=j[m+84>>2];A=j[m+92>>2];u=16-b|0;b=j[m+80>>2]}k=u;if(e>>>0>65535){break b}c=!(q|x);d=c<<6;e=s(c?f:q)+32|0;c=s(c?g:x);c=d+((c|0)==32?e:c)|0;i=c;mb(m- -64|0,f,g,q,x,c-15|0);e=j[m+76>>2];c=e;h=j[m+72>>2];d=h;d=d<<15;e=j[m+68>>2];B=e>>>17|d;d=0;f=j[m+64>>2];w=d|((e&131071)<<15|f>>>17);C=(c&131071)<<15|h>>>17;k=(u-i|0)+16|0}u=k;l=w;d=b;i=0;D=or(l,0,b,i);b=N;E=b;p=f<<15&-32768;q=0;f=or(p,q,t,0);c=f+D|0;e=N+b|0;e=c>>>0>>0?e+1|0:e;k=c;h=0;g=or(d,i,p,q);b=h+g|0;f=N+k|0;f=b>>>0>>0?f+1|0:f;w=b;g=f;H=(k|0)==(f|0)&b>>>0>>0|f>>>0>>0;P=or(l,z,t,O);I=N;v=r;f=or(p,q,r,0);b=f+P|0;k=N+I|0;k=b>>>0>>0?k+1|0:k;Q=b;h=or(B,0,d,i);f=b+h|0;b=k;k=k+N|0;R=f;k=f>>>0>>0?k+1|0:k;x=k;f=e+f|0;c=((e|0)==(E|0)&c>>>0>>0|e>>>0>>0)+k|0;D=f;c=f>>>0>>0?c+1|0:c;r=c;e=f;T=or(l,z,v,S);J=N;F=A|65536;A=n;k=or(p,q,F,n);h=k+T|0;f=N+J|0;f=h>>>0>>0?f+1|0:f;U=h;n=or(B,V,t,O);h=h+n|0;p=f;k=f+N|0;W=h;G=C&2147483647|-2147483648;f=or(d,i,G,0);d=h+f|0;q=h>>>0>>0?k+1|0:k;k=q+N|0;C=d;d=d>>>0>>0?k+1|0:k;i=H;h=0;f=h+e|0;c=c+C|0;c=f>>>0>>0?c+1|0:c;H=f;e=i+f|0;E=c;k=c;h=e;i=e>>>0>>0?k+1|0:k;u=(u+(K+L|0)|0)-16383|0;k=or(v,S,B,V);e=N;n=or(l,z,F,A);c=n+k|0;f=N+e|0;f=c>>>0>>0?f+1|0:f;n=c;k=(e|0)==(f|0)&k>>>0>c>>>0|e>>>0>f>>>0;e=f;z=k;l=or(G,X,t,O);c=l+c|0;k=N+f|0;k=c>>>0>>0?k+1|0:k;f=c;c=k;n=(k|0)==(e|0)&n>>>0>f>>>0|e>>>0>k>>>0;k=z+n|0;e=0;e=k>>>0>>0?1:e;l=f;z=k;k=(b|0)==(x|0)&R>>>0>>0|b>>>0>x>>>0;b=k+((b|0)==(I|0)&P>>>0>Q>>>0|b>>>0>>0)|0;f=0;f=b>>>0>>0?1:f;t=b;b=l+b|0;k=f+c|0;k=b>>>0>>0?k+1|0:k;t=b;n=k;c=(k|0)==(c|0)&b>>>0>>0|c>>>0>k>>>0;b=z+c|0;k=e;k=b>>>0>>0?k+1|0:k;e=or(G,X,F,A);b=e+b|0;c=N+k|0;c=b>>>0>>0?c+1|0:c;z=b;f=or(G,X,v,S);e=N;l=or(B,V,F,A);b=l+f|0;k=N+e|0;k=b>>>0>>0?k+1|0:k;l=b;b=k;k=(e|0)==(k|0)&f>>>0>l>>>0|e>>>0>k>>>0;f=b+z|0;e=c+k|0;e=f>>>0>>0?e+1|0:e;v=f;k=l;l=0;b=l+t|0;f=k+n|0;f=b>>>0>>0?f+1|0:f;k=b;c=f;n=(n|0)==(f|0)&k>>>0>>0|f>>>0>>0;f=v+n|0;k=e;v=f;n=f>>>0>>0?k+1|0:k;t=b;l=c;f=(p|0)==(q|0)&U>>>0>W>>>0|p>>>0>q>>>0;e=f+((p|0)==(J|0)&T>>>0>U>>>0|p>>>0>>0)|0;c=0;k=e;e=k+((d|0)==(q|0)&C>>>0>>0|d>>>0>>0)|0;k=e;b=d+b|0;e=k+l|0;p=b;c=b;e=b>>>0>>0?e+1|0:e;b=e;d=(e|0)==(l|0)&c>>>0>>0|e>>>0>>0;c=d+v|0;k=n;k=c>>>0>>0?k+1|0:k;d=c;f=k;l=d;e=(r|0)==(E|0)&D>>>0>H>>>0|r>>>0>E>>>0;d=e+((r|0)==(x|0)&D>>>0>>0|r>>>0>>0)|0;k=0;k=d>>>0>>0?1:k;n=d;d=d+p|0;e=b+k|0;e=d>>>0>>0?e+1|0:e;c=d;c=(b|0)==(e|0)&c>>>0

                                                                    >>0|b>>>0>e>>>0;b=l+c|0;f=b>>>0>>0?f+1|0:f;c=f;c:{if(f&65536){u=u+1|0;break c}r=g>>>31|0;n=0;f=c<<1|b>>>31;b=b<<1|e>>>31;c=f;f=e<<1|d>>>31;d=d<<1|i>>>31;e=f;k=w;f=g<<1|k>>>31;w=k<<1;g=f;f=h;k=i<<1|f>>>31;h=f<<1|r;i=k|n}if((u|0)>=32767){o=o|2147418112;b=0;c=0;break a}d:{if((u|0)<=0){f=1-u|0;if(f>>>0>=128){b=0;c=0;break a}k=u+127|0;mb(m+48|0,w,g,h,i,k);mb(m+32|0,d,e,b,c,k);Fc(m+16|0,w,g,h,i,f);Fc(m,d,e,b,c,f);w=(j[m+48>>2]|j[m+56>>2])!=0|(j[m+52>>2]|j[m+60>>2])!=0|(j[m+32>>2]|j[m+16>>2]);g=j[m+36>>2]|j[m+20>>2];h=j[m+40>>2]|j[m+24>>2];i=j[m+44>>2]|j[m+28>>2];d=j[m>>2];e=j[m+4>>2];c=j[m+12>>2];b=j[m+8>>2];break d}c=c&65535|u<<16}y=b|y;o=c|o;if(!(!h&(i|0)==-2147483648?!(g|w):(i|0)>-1)){k=e;b=d+1|0;k=b>>>0<1?k+1|0:k;f=b;c=k;f=(e|0)==(k|0)&d>>>0>f>>>0|e>>>0>k>>>0;d=f+y|0;e=o;y=d;o=d>>>0>>0?e+1|0:e;break a}if(h|w|(i^-2147483648|g)){b=d;c=e;break a}k=o;c=d&1;b=c+d|0;f=e;f=b>>>0>>0?f+1|0:f;c=f;e=(e|0)==(f|0)&d>>>0>b>>>0|e>>>0>f>>>0;d=e+y|0;y=d;o=d>>>0>>0?k+1|0:k}j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=y;j[a+12>>2]=o;M=m+96|0}function _a(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=M-432|0;M=m;j[m+424>>2]=0;j[m+416>>2]=0;j[m+420>>2]=0;Ph(a,m+416|0,b);a:{b=k[m+427|0];u=b<<24>>24<0?j[m+420>>2]:b;b:{if(!u){break b}c:{if(!j[a+48>>2]){break c}if(j[a+44>>2]){ob(m+416|0);break c}Ua(m+416|0)}s=h[m+427|0]<0?j[m+416>>2]:m+416|0;b=j[a+4>>2];if((b|0)!=j[a+8>>2]){while(1){g=0;f=dc(j[(t<<2)+b>>2],s);d:{if(!f){break d}e:{b=j[f+4>>2];if(!b){break e}n=j[a>>2];if(!n){break e}e=i[f+2>>1];q=(e<<1)+b|0;n=l[n+4192>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)|n>>>0>1]){break e}if(c){j[c>>2]=j[c>>2]+2}if(!l[j[a>>2]+4152>>1]|j[a+40>>2]!=36){break b}b=j[f+4>>2];e=i[f+2>>1];s=b+(e<<1)|0;a=l[j[a>>2]+4152>>1];if(e){while(1){d=e>>>1|0;u=(d<<1)+b|0;f=a>>>0>l[u>>1];b=f?u+2|0:b;e=f?(d^-1)+e|0:d;if(e){continue}break}}if(!c|(b|0)==(s|0)|a>>>0>1]){break b}j[c>>2]=j[c>>2]+1;break b}if(!c){while(1){if(!j[f+4>>2]){g=f;break d}b=j[a>>2];if(!b){g=f;break d}f:{g:{if(!l[b+4198>>1]){break g}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4198>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){break g}if(n>>>0>=l[b>>1]){break f}}if(!l[j[a>>2]+4464>>1]){g=f;break d}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4464>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){g=f;break d}if(n>>>0>=l[b>>1]){break f}g=f;break d}f=j[f+12>>2];if(f){continue}break d}}while(1){if(!j[f+4>>2]){g=f;break d}b=j[a>>2];if(!b){g=f;break d}h:{i:{if(!l[b+4198>>1]){break i}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4198>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){break i}if(n>>>0>=l[b>>1]){break h}}j:{if(!l[j[a>>2]+4464>>1]){break j}b=j[f+4>>2];e=i[f+2>>1];q=b+(e<<1)|0;n=l[j[a>>2]+4464>>1];if(e){while(1){o=e>>>1|0;r=(o<<1)+b|0;p=n>>>0>l[r>>1];b=p?r+2|0:b;e=p?(o^-1)+e|0:o;if(e){continue}break}}if((b|0)==(q|0)){break j}if(n>>>0>=l[b>>1]){break h}}if(!(k[c|0]&16)){g=f;break d}b=j[f+4>>2];e=i[f+2>>1];p=b+(e<<1)|0;if(e){while(1){n=e>>>1|0;q=(n<<1)+b|0;o=l[q>>1]<65511;b=o?q+2|0:b;e=o?(n^-1)+e|0:n;if(e){continue}break}}if((b|0)==(p|0)){g=f;break d}if(l[b>>1]<=65511){break h}g=f;break d}f=j[f+12>>2];if(f){continue}break}}if(!g){t=t+1|0;b=j[a+4>>2];if(t>>>0>2]-b>>2>>>0){continue}}break}if(g){break b}}b=j[a>>2];if(!b){g=0;break b}g=0;k:{f=el(b,s,u);if(!f){break k}l:{if(!j[f+4>>2]){break l}m:{if(!l[j[a>>2]+4464>>1]){break m}b=j[f+4>>2];e=i[f+2>>1];p=b+(e<<1)|0;t=l[j[a>>2]+4464>>1];if(e){while(1){n=e>>>1|0;q=(n<<1)+b|0;o=t>>>0>l[q>>1];b=o?q+2|0:b;e=o?(n^-1)+e|0:n;if(e){continue}break}}if((b|0)==(p|0)){break m}if(t>>>0>=l[b>>1]){break k}}n:{if(!c|!(k[c|0]&16)){break n}b=j[f+4>>2];e=i[f+2>>1];o=b+(e<<1)|0;if(e){while(1){t=e>>>1|0;p=(t<<1)+b|0;n=l[p>>1]<65511;b=n?p+2|0:b;e=n?(t^-1)+e|0:t;if(e){continue}break}}if((b|0)==(o|0)){break n}if(l[b>>1]<65512){break k}}b=j[f+4>>2];if(!b){break l}g=j[a>>2];if(!g){break l}e=i[f+2>>1];t=(e<<1)+b|0;g=l[g+4192>>1];if(e){while(1){s=e>>>1|0;n=(s<<1)+b|0;u=g>>>0>l[n>>1];b=u?n+2|0:b;e=u?(s^-1)+e|0:s;if(e){continue}break}}if((b|0)==(t|0)|g>>>0>1]){break l}g=0;if(!c){break b}j[c>>2]=j[c>>2]+2;break b}if(!d){g=f;break b}Ja(d,f+17|0);if(!j[a+48>>2]){g=f;break b}if(j[a+44>>2]){ob(d);g=f;break b}Ua(d);g=f;break b}f=1;b=j[a>>2];if(!(l[b+4152>>1]|l[b+4154>>1])){f=j[b+4268>>2]!=j[b+4272>>2]}if(!f){break b}f=j[a>>2];b=W(s);if(b>>>0>=4294967280){break a}o:{p:{if(b>>>0>=11){g=b+16&-16;e=U(g);j[m+8>>2]=g|-2147483648;j[m>>2]=e;j[m+4>>2]=b;g=m;break p}h[m+11|0]=b;g=m;e=m;if(!b){break o}}V(e,s,b)}h[b+e|0]=0;b=ed(f,m,0,0,100,0,0,m+16|0,0,0,c);if(h[g+11|0]<=-1){T(j[m>>2])}if(!b){g=0;if(j[a+40>>2]!=36){break b}b=u-1|0;if(k[b+s|0]!=45){break b}if(b>>>0>=4294967280){break a}q:{r:{if(b>>>0>=11){g=u+15&-16;e=U(g);j[m+8>>2]=g|-2147483648;j[m>>2]=e;j[m+4>>2]=b;f=m;break r}h[m+11|0]=b;f=m;e=f;if(!b){break q}}V(e,s,b)}g=0;h[b+e|0]=0;b=ed(j[a>>2],m,-5,0,100,0,0,m+16|0,1,0,c);if(h[f+11|0]<=-1){T(j[m>>2])}if(!b){break b}}s:{if(!d){break s}Ja(d,b+17|0);if(!j[a+48>>2]){break s}if(j[a+44>>2]){ob(d);break s}Ua(d)}if(c){j[c>>2]=j[c>>2]+1}g=b}if(h[m+427|0]<=-1){T(j[m+416>>2])}M=m+432|0;return g}X();z()}function ag(a,b,c,d,e,f,g,i,m,n,o){var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;p=M-560|0;M=p;j[p+548>>2]=o;j[p+552>>2]=b;j[p+104>>2]=78;s=Da(p+136|0,p+144|0,p+104|0);b=j[s>>2];j[p+132>>2]=b;j[p+128>>2]=b+400;v=ga(p+104|0);t=ga(p+88|0);q=ga(p+72|0);r=ga(p+56|0);u=ga(p+40|0);nl(c,d,p+120|0,p+119|0,p+118|0,v,t,q,r,p+36|0);j[n>>2]=j[m>>2];w=e&512;x=w>>>9|0;b=0;c=0;while(1){o=c;a:{b:{c:{d:{if((b|0)==4){break d}if(!kb(a,p+552|0)){break d}e=0;e:{f:{g:{h:{i:{switch(h[(p+120|0)+b|0]){case 1:if((b|0)==3){break b}c=Ga(a);if((c|0)>=0){c=l[j[i+8>>2]+((c&255)<<1)>>1]&8192}else{c=0}if(c){$f(p+24|0,a);Z(u,h[p+24|0]);break h}j[f>>2]=j[f>>2]|4;a=0;break c;case 0:break i;case 4:break e;case 2:break f;case 3:break g;default:break a}}if((b|0)==3){break b}}while(1){if(!kb(a,p+552|0)){break b}c=Ga(a);if((c|0)>=0){c=(l[j[i+8>>2]+((c&255)<<1)>>1]&8192)!=0}else{c=0}if(!c){break b}$f(p+24|0,a);Z(u,h[p+24|0]);continue}}if(k[q+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}if((c|0)==(0-d|0)){break b}if(k[q+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}if(!(d?c:0)){if(k[q+11|0]>>>7|0){c=j[q+4>>2]}else{c=k[q+11|0]}d=Ga(a);if(c){if(k[q+11|0]>>>7|0){c=j[q>>2]}else{c=q}if(k[c|0]==(d&255)){Oa(a);c=q;if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}c=d>>>0>1?c:o;break a}h[g|0]=1;break b}if(k[r+11|0]>>>7|0){c=j[r>>2]}else{c=r}if(k[c|0]!=(d&255)){break b}Oa(a);h[g|0]=1;c=r;if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}c=d>>>0>1?c:o;break a}d=Ga(a)&255;if(k[q+11|0]>>>7|0){c=j[q>>2]}else{c=q}if((d|0)==k[c|0]){Oa(a);c=q;if(k[q+11|0]>>>7|0){d=j[q+4>>2]}else{d=k[q+11|0]}c=d>>>0>1?c:o;break a}d=Ga(a)&255;if(k[r+11|0]>>>7|0){c=j[r>>2]}else{c=r}if((d|0)==k[c|0]){Oa(a);h[g|0]=1;c=r;if(k[r+11|0]>>>7|0){d=j[r+4>>2]}else{d=k[r+11|0]}c=d>>>0>1?c:o;break a}j[f>>2]=j[f>>2]|4;a=0;break c}if(!(o|b>>>0<2)){c=0;if(!((b|0)==2&k[p+123|0]!=0|x)){break a}}z=p,A=rb(t),j[z+16>>2]=A;j[p+24>>2]=j[p+16>>2];j:{if(!b|k[(b+p|0)+119|0]>1){break j}while(1){k:{z=p,A=kc(t),j[z+16>>2]=A;if(!(j[p+24>>2]==j[p+16>>2]^1)){break k}c=h[j[p+24>>2]];if((c|0)>=0){c=(l[j[i+8>>2]+((c&255)<<1)>>1]&8192)!=0}else{c=0}if(!c){break k}j[p+24>>2]=j[p+24>>2]+1;continue}break}z=p,A=rb(t),j[z+16>>2]=A;if(k[u+11|0]>>>7|0){d=j[u+4>>2]}else{d=k[u+11|0]}c=j[p+24>>2]-j[p+16>>2]|0;if(d>>>0>=c>>>0){z=p,A=kc(u),j[z+16>>2]=A;if(jl(be(p+16|0,0-c|0),kc(u),rb(t))){break j}}z=p,A=rb(t),j[z+8>>2]=A;j[p+16>>2]=j[p+8>>2];j[p+24>>2]=j[p+16>>2]}j[p+16>>2]=j[p+24>>2];while(1){l:{z=p,A=kc(t),j[z+8>>2]=A;if(!(j[p+16>>2]==j[p+8>>2]^1)){break l}if(!kb(a,p+552|0)){break l}if((Ga(a)&255)!=k[j[p+16>>2]]){break l}Oa(a);j[p+16>>2]=j[p+16>>2]+1;continue}break}if(!w){break b}z=p,A=kc(t),j[z+8>>2]=A;if(!(j[p+16>>2]==j[p+8>>2]^1)){break b}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){m:{if(!kb(a,p+552|0)){break m}c=Ga(a);n:{if((c|0)>=0?l[j[i+8>>2]+((c&255)<<1)>>1]&2048:0){d=j[n>>2];if((d|0)==j[p+548>>2]){_f(m,n,p+548|0);d=j[n>>2]}j[n>>2]=d+1;h[d|0]=c;e=e+1|0;break n}y=!e;if(k[v+11|0]>>>7|0){d=j[v+4>>2]}else{d=k[v+11|0]}if(y|!d|k[p+118|0]!=(c&255)){break m}c=j[p+132>>2];if((c|0)==j[p+128>>2]){xc(s,p+132|0,p+128|0);c=j[p+132>>2]}j[p+132>>2]=c+4;j[c>>2]=e;e=0}Oa(a);continue}break}d=j[s>>2];o:{if(!e){break o}c=j[p+132>>2];if((d|0)==(c|0)){break o}if(j[p+128>>2]==(c|0)){xc(s,p+132|0,p+128|0);c=j[p+132>>2]}j[p+132>>2]=c+4;j[c>>2]=e}p:{if(j[p+36>>2]<1){break p}q:{if(!Sa(a,p+552|0)){if((Ga(a)&255)==k[p+119|0]){break q}}j[f>>2]=j[f>>2]|4;a=0;break c}while(1){Oa(a);if(j[p+36>>2]<1){break p}r:{if(!Sa(a,p+552|0)){c=Ga(a);if((c|0)>=0){c=l[j[i+8>>2]+((c&255)<<1)>>1]&2048}else{c=0}if(c){break r}}j[f>>2]=j[f>>2]|4;a=0;break c}if(j[n>>2]==j[p+548>>2]){_f(m,n,p+548|0)}c=Ga(a);d=j[n>>2];j[n>>2]=d+1;h[d|0]=c;j[p+36>>2]=j[p+36>>2]-1;continue}}c=o;if(j[m>>2]!=j[n>>2]){break a}j[f>>2]=j[f>>2]|4;a=0;break c}s:{if(!o){break s}e=1;while(1){if(k[o+11|0]>>>7|0){b=j[o+4>>2]}else{b=k[o+11|0]}if(b>>>0<=e>>>0){break s}t:{if(!Sa(a,p+552|0)){c=Ga(a)&255;if(k[o+11|0]>>>7|0){b=j[o>>2]}else{b=o}if((c|0)==k[b+e|0]){break t}}j[f>>2]=j[f>>2]|4;a=0;break c}Oa(a);e=e+1|0;continue}}a=1;if(j[s>>2]==j[p+132>>2]){break c}a=0;j[p+24>>2]=0;hb(v,j[s>>2],j[p+132>>2],p+24|0);if(j[p+24>>2]){j[f>>2]=j[f>>2]|4;break c}a=1}Y(u);Y(r);Y(q);Y(t);Y(v);b=j[s>>2];j[s>>2]=0;if(b){O[j[s+4>>2]](b)}M=p+560|0;return a}c=o}b=b+1|0;continue}}function Kn(a,b,c,d,e,f){var g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=M-432|0;M=g;h=j[b+4>>2];a:{if(h>>>0>2]){j[b+4>>2]=h+1;i=k[h|0];break a}i=pa(b)}b:{c:{while(1){if((i|0)!=48){d:{if((i|0)!=46){break b}h=j[b+4>>2];if(h>>>0>=m[b+104>>2]){break d}j[b+4>>2]=h+1;i=k[h|0];break c}}else{h=j[b+4>>2];if(h>>>0>2]){z=1;j[b+4>>2]=h+1;i=k[h|0]}else{z=1;i=pa(b)}continue}break}i=pa(b)}y=1;if((i|0)!=48){break b}while(1){h=u;u=h-1|0;v=v-(h>>>0<1)|0;h=j[b+4>>2];e:{if(h>>>0>2]){j[b+4>>2]=h+1;i=k[h|0];break e}i=pa(b)}if((i|0)==48){continue}break}z=1}h=1073676288;while(1){f:{A=i|32;g:{h:{B=i-48|0;if(B>>>0<10){break h}if(A-97>>>0>5?(i|0)!=46:0){break f}if((i|0)!=46){break h}if(y){break f}y=1;u=p;v=l;break g}i=(i|0)>57?A-87|0:B;i:{if((l|0)<0?1:(l|0)<=0?p>>>0<=7:0){r=i+(r<<4)|0;break i}if((l|0)<0?1:(l|0)<=0?p>>>0<=28:0){Cb(g+48|0,i);xa(g+32|0,w,x,q,h,0,0,0,1073414144);w=j[g+32>>2];x=j[g+36>>2];q=j[g+40>>2];h=j[g+44>>2];xa(g+16|0,w,x,q,h,j[g+48>>2],j[g+52>>2],j[g+56>>2],j[g+60>>2]);yb(g,n,o,s,t,j[g+16>>2],j[g+20>>2],j[g+24>>2],j[g+28>>2]);s=j[g+8>>2];t=j[g+12>>2];n=j[g>>2];o=j[g+4>>2];break i}if(!i|E){break i}xa(g+80|0,w,x,q,h,0,0,0,1073610752);yb(g- -64|0,n,o,s,t,j[g+80>>2],j[g+84>>2],j[g+88>>2],j[g+92>>2]);s=j[g+72>>2];t=j[g+76>>2];E=1;n=j[g+64>>2];o=j[g+68>>2]}p=p+1|0;l=p>>>0<1?l+1|0:l;z=1}i=j[b+4>>2];if(i>>>0>2]){j[b+4>>2]=i+1;i=k[i|0]}else{i=pa(b)}continue}break}j:{k:{l:{if(!z){if(!j[b+104>>2]){if(f){break k}break l}c=j[b+4>>2];j[b+4>>2]=c-1;if(!f){break l}j[b+4>>2]=c-2;if(!y){break k}j[b+4>>2]=c-3;break k}if((l|0)<0?1:(l|0)<=0?p>>>0<=7:0){q=p;h=l;while(1){r=r<<4;q=q+1|0;h=q>>>0<1?h+1|0:h;if((q|0)!=8|h){continue}break}}m:{if((i&-33)==80){q=Qg(b,f);i=N;h=i;if(q|(h|0)!=-2147483648){break m}if(f){q=0;h=0;if(!j[b+104>>2]){break m}j[b+4>>2]=j[b+4>>2]-1;break m}n=0;o=0;Hb(b,0,0);c=0;b=0;break j}q=0;h=0;if(!j[b+104>>2]){break m}j[b+4>>2]=j[b+4>>2]-1}if(!r){Ub(g+112|0,+(e|0)*0);n=j[g+112>>2];o=j[g+116>>2];c=j[g+120>>2];b=j[g+124>>2];break j}f=y?u:p;l=(y?v:l)<<2|f>>>30;b=q+(f<<2)|0;f=h+l|0;f=b>>>0>>0?f+1|0:f;p=b-32|0;l=f-(b>>>0<32)|0;b=l;if((b|0)>0?1:(b|0)>=0?p>>>0>0-d>>>0:0){j[37140]=68;Cb(g+160|0,e);xa(g+144|0,j[g+160>>2],j[g+164>>2],j[g+168>>2],j[g+172>>2],-1,-1,-1,2147418111);xa(g+128|0,j[g+144>>2],j[g+148>>2],j[g+152>>2],j[g+156>>2],-1,-1,-1,2147418111);n=j[g+128>>2];o=j[g+132>>2];c=j[g+136>>2];b=j[g+140>>2];break j}b=d-226|0;f=p>>>0>=b>>>0;b=b>>31;if((b|0)<(l|0)?1:(l|0)>=(b|0)?f:0){if((r|0)>-1){while(1){yb(g+416|0,n,o,s,t,0,0,0,-1073807360);h=lh(n,o,s,t,1073610752);f=(h|0)<0;b=f;yb(g+400|0,n,o,s,t,b?n:j[g+416>>2],b?o:j[g+420>>2],b?s:j[g+424>>2],b?t:j[g+428>>2]);b=p;p=b-1|0;l=l-(b>>>0<1)|0;s=j[g+408>>2];t=j[g+412>>2];n=j[g+400>>2];o=j[g+404>>2];r=r<<1|(h|0)>-1;if((r|0)>-1){continue}break}}b=d;h=(p-b|0)+32|0;l=l-((b>>31)+(b>>>0>p>>>0)|0)|0;b=h;l=b>>>0<32?l+1|0:l;c=((l|0)<0?1:(l|0)<=0?c>>>0>b>>>0:0)?(b|0)>0?b:0:c;n:{if((c|0)>=113){Cb(g+384|0,e);u=j[g+392>>2];v=j[g+396>>2];w=j[g+384>>2];x=j[g+388>>2];d=0;b=0;break n}Ub(g+352|0,Md(144-c|0));Cb(g+336|0,e);w=j[g+336>>2];x=j[g+340>>2];u=j[g+344>>2];v=j[g+348>>2];Ug(g+368|0,j[g+352>>2],j[g+356>>2],j[g+360>>2],j[g+364>>2],w,x,u,v);C=j[g+376>>2];D=j[g+380>>2];d=j[g+372>>2];b=j[g+368>>2]}c=!(r&1)&((sc(n,o,s,t,0,0,0,0)|0)!=0&(c|0)<32);Cc(g+320|0,c+r|0);xa(g+304|0,w,x,u,v,j[g+320>>2],j[g+324>>2],j[g+328>>2],j[g+332>>2]);yb(g+272|0,j[g+304>>2],j[g+308>>2],j[g+312>>2],j[g+316>>2],b,d,C,D);xa(g+288|0,c?0:n,c?0:o,c?0:s,c?0:t,w,x,u,v);yb(g+256|0,j[g+288>>2],j[g+292>>2],j[g+296>>2],j[g+300>>2],j[g+272>>2],j[g+276>>2],j[g+280>>2],j[g+284>>2]);le(g+240|0,j[g+256>>2],j[g+260>>2],j[g+264>>2],j[g+268>>2],b,d,C,D);e=j[g+240>>2];d=j[g+244>>2];c=j[g+248>>2];b=j[g+252>>2];if(!sc(e,d,c,b,0,0,0,0)){j[37140]=68}Tg(g+224|0,e,d,c,b,p);n=j[g+224>>2];o=j[g+228>>2];c=j[g+232>>2];b=j[g+236>>2];break j}j[37140]=68;Cb(g+208|0,e);xa(g+192|0,j[g+208>>2],j[g+212>>2],j[g+216>>2],j[g+220>>2],0,0,0,65536);xa(g+176|0,j[g+192>>2],j[g+196>>2],j[g+200>>2],j[g+204>>2],0,0,0,65536);n=j[g+176>>2];o=j[g+180>>2];c=j[g+184>>2];b=j[g+188>>2];break j}Hb(b,0,0)}Ub(g+96|0,+(e|0)*0);n=j[g+96>>2];o=j[g+100>>2];c=j[g+104>>2];b=j[g+108>>2]}j[a>>2]=n;j[a+4>>2]=o;j[a+8>>2]=c;j[a+12>>2]=b;M=g+432|0}function Sq(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=M-112|0;M=d;a:{e=0;b:{if(j[a+100>>2]!=j[a+104>>2]){break b}j[d+104>>2]=h[b+11|0]<0?j[b>>2]:b;c:{d:{e:{g=ka(b,d+104|0);e=k[b+11|0];f=e<<24>>24<0;if((g|0)==((f?j[b>>2]:b)+(f?j[b+4>>2]:e)|0)){break e}t=a+100|0;o=-1;while(1){f:{switch(l|0){case 1:o=j[d+104>>2];f=o-g|0;if(f>>>0>=4294967280){break a}g:{if(f>>>0<=10){h[d+35|0]=f;e=d+24|0;break g}n=f+16&-16;e=U(n);j[d+32>>2]=n|-2147483648;j[d+24>>2]=e;j[d+28>>2]=f}if((g|0)!=(o|0)){while(1){h[e|0]=k[g|0];e=e+1|0;g=g+1|0;if((o|0)!=(g|0)){continue}break}}h[e|0]=0;h:{if(h[d+35|0]>=0){o=ta(d+24|0);break h}e=j[d+24>>2];o=ta(e);T(e)}e=0;if((o|0)<=0){break b}Vh(t,o);case 0:r=r+1|0;break;default:break f}}l=l+1|0;g=ka(b,d+104|0);e=k[b+11|0];f=e<<24>>24<0;if((g|0)!=((f?j[b>>2]:b)+(f?j[b+4>>2]:e)|0)){continue}break}if((r|0)!=2){break e}if((o|0)<1){break c}v=d- -64|0;w=1;break d}e=0;break b}while(1){j[d+96>>2]=0;j[d+88>>2]=0;j[d+92>>2]=0;b=0;i:{if(!vb(c,d+88|0)){break i}bb(d+88|0);j[d+80>>2]=0;j[d+72>>2]=0;j[d+76>>2]=0;j[v>>2]=0;j[v+4>>2]=0;j[d+56>>2]=0;j[d+60>>2]=0;j[d+48>>2]=0;j[d+52>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[d+32>>2]=0;j[d+36>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;b=j[a+104>>2];j:{if(b>>>0>2]){e=j[d+28>>2];j[b>>2]=j[d+24>>2];j[b+4>>2]=e;j[b+8>>2]=j[d+32>>2];j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;j[b+20>>2]=j[d+44>>2];e=j[d+40>>2];j[b+12>>2]=j[d+36>>2];j[b+16>>2]=e;j[d+36>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[b+32>>2]=j[d+56>>2];e=j[d+52>>2];j[b+24>>2]=j[d+48>>2];j[b+28>>2]=e;j[d+48>>2]=0;j[d+52>>2]=0;j[d+56>>2]=0;j[b+44>>2]=j[d+68>>2];e=j[d+64>>2];j[b+36>>2]=j[d+60>>2];j[b+40>>2]=e;j[d+60>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;j[b+56>>2]=j[d+80>>2];e=j[d+76>>2];j[b+48>>2]=j[d+72>>2];j[b+52>>2]=e;j[d+72>>2]=0;j[d+76>>2]=0;j[d+80>>2]=0;j[a+104>>2]=b+60;break j}Fd(t,d+24|0);if(h[d+83|0]>-1){break j}T(j[d+72>>2])}if(h[d+71|0]<0){T(j[d+60>>2])}if(h[d+59|0]<=-1){T(j[d+48>>2])}if(h[d+47|0]<=-1){T(j[d+36>>2])}if(h[d+35|0]<0){T(j[d+24>>2])}b=0;j[d+104>>2]=h[d+99|0]<0?j[d+88>>2]:d+88|0;r=0;g=ka(d+88|0,d+104|0);l=j[d+88>>2];f=k[d+99|0];e=f<<24>>24<0;k:{if((g|0)!=((e?l:d+88|0)+(e?j[d+92>>2]:f)|0)){while(1){l:{m:{n:{o:{p:{q:{r:{switch(b|0){case 0:if(!_(d+88|0,g-(e&1?l:d+88|0)|0,3,120980,3)){break l}break k;case 1:q=j[a+104>>2];f=q-60|0;s=j[d+104>>2];r=k[g|0]==94?1:r;g=r+g|0;n=s-g|0;e=h[q-49|0];if((e|0)<=-1){e=(j[q-52>>2]&2147483647)-1|0;if(n>>>0<=e>>>0){break o}l=j[q-56>>2];break p}if(n>>>0>10){break q}break n;case 2:break r;default:break l}}s=j[d+104>>2];n=s-g|0;x=p(r,12);q=x+j[a+104>>2]|0;f=q-48|0;s:{t:{e=h[q-37|0];u:{v:{if((e|0)<=-1){e=(j[q-40>>2]&2147483647)-1|0;if(n>>>0<=e>>>0){break u}l=j[q-44>>2];break v}if(n>>>0<=10){break t}l=e&255;e=10}qb(f,e,n-e|0,l,0,l,0);if(h[f+11|0]>-1){break t}}e=j[f>>2];break s}e=f}if((g|0)!=(s|0)){while(1){h[e|0]=k[g|0];e=e+1|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}}h[e|0]=0;w:{if(h[f+11|0]<=-1){j[q-44>>2]=n;break w}h[f+11|0]=n}e=j[a+104>>2];i[d+24>>1]=95;h[d+35|0]=1;i[d+8>>1]=32;h[d+19|0]=1;xb((e+x|0)-48|0,d+24|0,d+8|0);if(h[d+19|0]<=-1){T(j[d+8>>2])}if(h[d+35|0]>-1){break l}T(j[d+24>>2]);break l}l=e&255;e=10}qb(f,e,n-e|0,l,0,l,0);if(h[f+11|0]>-1){break n}}e=j[f>>2];break m}e=f}if((g|0)!=(s|0)){while(1){h[e|0]=k[g|0];e=e+1|0;g=g+1|0;if((s|0)!=(g|0)){continue}break}}h[e|0]=0;x:{if(h[f+11|0]<=-1){j[q-56>>2]=n;break x}h[f+11|0]=n}e=j[a+104>>2];i[d+24>>1]=95;h[d+35|0]=1;i[d+8>>1]=32;h[d+19|0]=1;xb(e-60|0,d+24|0,d+8|0);if(h[d+19|0]<=-1){T(j[d+8>>2])}if(h[d+35|0]<=-1){T(j[d+24>>2])}f=j[a+104>>2];e=f-60|0;g=k[f-49|0];l=g<<24>>24;y:{if((l|0)<=-1){f=j[f-56>>2];if(!f){break l}g=f-1|0;if(k[g+j[e>>2]|0]==36){break y}break l}if(!l){break l}g=g-1|0;if(k[e+g|0]!=36){break l}}Va(e,g);r=r+2|0}b=b+1|0;g=ka(d+88|0,d+104|0);l=j[d+88>>2];f=k[d+99|0];e=f<<24>>24<0;if((g|0)!=((e?l:d+88|0)+(e?j[d+92>>2]:f)|0)){continue}break}}b=j[a+104>>2];e=h[b-49|0];z:{if((e|0)<=-1){e=j[b-56>>2];break z}e=e&255}if(e){b=b+p(r,12)|0;e=h[b-37|0];A:{if((e|0)<=-1){e=j[b-44>>2];break A}e=e&255}b=1;if(e){break i}}}Wh(t);b=0}if(h[d+99|0]<=-1){T(j[d+88>>2])}if(!b){break c}u=u+1|0;w=(u|0)<(o|0);if((o|0)!=(u|0)){continue}break}}e=w^1}a=e;M=d+112|0;return a&1}X();z()}function Ih(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0;g=M-16|0;M=g;a:{f=W(c);if((f|0)>=3){if(j[a+60>>2]==36){u=Cp(a,c,f)}l=ja(f+2|0);c=ze(l+1|0,c);b:{if(!k[l+2|0]){o=e;break b}o=e;s=1;while(1){h[c-1|0]=k[c|0];c=l+s|0;if(j[a+56>>2]){f=s+1|0;e=l+f|0;i=k[e|0];if((i&192)==128){while(1){h[c|0]=i;c=e;s=f;f=f+1|0;e=l+f|0;i=k[e|0];if((i&192)==128){continue}break}}if(!k[c+1|0]){break b}}h[c|0]=32;c:{d:{e:{if(!d){f=W(l);if(f>>>0>=4294967280){break a}f:{g:{if(f>>>0>=11){i=f+16&-16;e=U(i);j[g+8>>2]=i|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break g}h[g+11|0]=f;e=g;if(!f){break f}}V(e,l,f)}h[e+f|0]=0;e=cc(a,g,0,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!e){break e}if(!(o&1)){e=j[b+4>>2];i=j[b>>2];if((e|0)!=(i|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((f|0)!=(i|0)){continue}break}}j[b+4>>2]=i}i=j[b>>2];f=W(l);if(f>>>0>=4294967280){break a}h:{i:{if(f>>>0>=11){o=f+16&-16;e=U(o);j[g+8>>2]=o|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break i}h[g+11|0]=f;e=g;if(!f){break h}}V(e,l,f)}h[e+f|0]=0;Ke(b,i,g);if(h[g+11|0]<=-1){T(j[g>>2])}o=1;if(k[a+40|0]){break d}break c}if(!k[a+40|0]){break c}h[c|0]=45;break c}if(!k[a+40|0]){break c}}h[c|0]=45;f=W(l);if(f>>>0>=4294967280){break a}j:{k:{if(f>>>0>=11){i=f+16&-16;e=U(i);j[g+8>>2]=i|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break k}h[g+11|0]=f;e=g;if(!f){break j}}V(e,l,f)}h[e+f|0]=0;e=cc(a,g,0,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!e){break c}if(!(o&1)){e=j[b+4>>2];i=j[b>>2];if((e|0)!=(i|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((f|0)!=(i|0)){continue}break}}j[b+4>>2]=i}i=j[b>>2];f=W(l);if(f>>>0>=4294967280){break a}l:{m:{if(f>>>0>=11){o=f+16&-16;e=U(o);j[g+8>>2]=o|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break m}h[g+11|0]=f;e=g;if(!f){break l}}V(e,l,f)}h[e+f|0]=0;Ke(b,i,g);if(h[g+11|0]<=-1){T(j[g>>2])}o=1}n:{if((j[a+64>>2]!=0|o)&1|m[a+48>>2]<=(j[b+4>>2]-j[b>>2]|0)/12>>>0){break n}h[c|0]=0;f=W(l);if(f>>>0>=4294967280){break a}o:{p:{if(f>>>0>=11){i=f+16&-16;e=U(i);j[g+8>>2]=i|-2147483648;j[g>>2]=e;j[g+4>>2]=f;break p}h[g+11|0]=f;e=g;if(!f){break o}}V(e,l,f)}h[e+f|0]=0;n=cc(a,g,d,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!n){break n}r=c+1|0;e=W(r);if(e>>>0>=4294967280){break a}q:{r:{if(e>>>0>=11){f=e+16&-16;i=U(f);j[g+8>>2]=f|-2147483648;j[g>>2]=i;j[g+4>>2]=e;break r}h[g+11|0]=e;i=g;if(!e){break q}}V(i,r,e)}h[e+i|0]=0;i=cc(a,g,d,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}if(!i){break n}e=c;s:{t:{if(j[a+60>>2]!=36|u){break t}q=k[c-1|0];if((q|0)==k[c+1|0]){if((s|0)>=2){f=45;if((q|0)==k[c-2|0]){break s}}f=45;if((q|0)==k[c+2|0]){break s}}if((n|0)!=3){break t}f=45;if((i|0)>1){break s}}f=32}h[e|0]=f;f=0;i=0;e=j[b>>2];n=j[b+4>>2];u:{if((e|0)!=(n|0)){while(1){i=W(l);q=p(f,12)+e|0;t=k[q+11|0];if((i|0)==((t<<24>>24<0?j[q+4>>2]:t)|0)){e=0;if(!_(q,0,-1,l,i)){break u}n=j[b+4>>2];e=j[b>>2]}f=f+1|0;i=(n-e|0)/12|0;if(f>>>0>>0){continue}break}}e=1;if(m[a+48>>2]<=i>>>0){break u}f=W(l);if(f>>>0>=4294967280){break a}v:{w:{if(f>>>0>=11){n=f+16&-16;i=U(n);j[g+8>>2]=n|-2147483648;j[g>>2]=i;j[g+4>>2]=f;break w}h[g+11|0]=f;i=g;if(!f){break v}}V(i,l,f)}h[f+i|0]=0;f=j[b+4>>2];if(f>>>0>2]){i=j[g+4>>2];j[f>>2]=j[g>>2];j[f+4>>2]=i;j[f+8>>2]=j[g+8>>2];j[b+4>>2]=f+12;break u}Eb(b,g);if(h[g+11|0]>-1){break u}T(j[g>>2])}if(j[a+64>>2]|!k[a+40|0]){break n}if((Ge(a,r)|0)<2){break n}if((Ge(a,l)-Ge(a,c)|0)<2){break n}h[c|0]=45;c=0;f=j[b>>2];n=j[b+4>>2];x:{y:{if((f|0)==(n|0)){f=n;break y}while(1){i=W(l);r=p(c,12)+f|0;q=k[r+11|0];if((i|0)==((q<<24>>24<0?j[r+4>>2]:q)|0)){r=_(r,0,-1,l,i);f=j[b>>2];n=j[b+4>>2];i=0;if(!r){break x}}c=c+1|0;if(c>>>0<(n-f|0)/12>>>0){continue}break}}i=e}if(!i|m[a+48>>2]<=(n-f|0)/12>>>0){break n}c=W(l);if(c>>>0>=4294967280){break a}z:{A:{if(c>>>0>=11){e=c+16&-16;f=U(e);j[g+8>>2]=e|-2147483648;j[g>>2]=f;j[g+4>>2]=c;break A}h[g+11|0]=c;f=g;if(!c){break z}}V(f,l,c)}h[c+f|0]=0;c=j[b+4>>2];if(c>>>0>2]){e=j[g+4>>2];j[c>>2]=j[g>>2];j[c+4>>2]=e;j[c+8>>2]=j[g+8>>2];j[b+4>>2]=c+12;break n}Eb(b,g);if(h[g+11|0]>-1){break n}T(j[g>>2])}s=s+1|0;c=s+l|0;if(k[c+1|0]){continue}break}}T(l)}M=g+16|0;return o&1}X();z()}function cc(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0;r=M-400|0;M=r;a:{b:{if(!d){break b}f=j[d>>2]-1|0;j[d>>2]=f;if(f|!e){break b}f=0;if(((C()|0)-j[e>>2]|0)>5e4){break a}j[d>>2]=100}f=0;d=j[a+44>>2];if(!d){break a}if((c|0)==1){c=1;if(!(l[d+4152>>1]|l[d+4154>>1]?c:j[d+4268>>2]!=j[d+4272>>2])){break a}if(!ed(j[a+44>>2],b,0,0,100,0,0,r,0,1,0)){break a}b=Xb(j[a+44>>2],h[b+11|0]<0?j[b>>2]:b);c:{if(!b){break c}d=j[b+4>>2];if(!d){break c}e=i[b+2>>1];o=(e<<1)+d|0;c=l[j[a+44>>2]+4192>>1];if(e){while(1){n=e>>>1|0;m=(n<<1)+d|0;g=c>>>0>l[m>>1];d=g?m+2|0:d;e=g?(n^-1)+e|0:n;if(e){continue}break}}if(c>>>0>=l[d>>1]?(d|0)!=(o|0):0){break a}d=j[b+4>>2];e=i[b+2>>1];n=d+(e<<1)|0;a=l[j[a+44>>2]+4194>>1];if(e){while(1){b=e>>>1|0;g=(b<<1)+d|0;c=a>>>0>l[g>>1];d=c?g+2|0:d;e=c?(b^-1)+e|0:b;if(e){continue}break}}if((d|0)==(n|0)){break c}if(a>>>0>=l[d>>1]){break a}}f=3;break a}g=Xb(d,h[b+11|0]<0?j[b>>2]:b);d:{e:{f:{if(g){d=j[g+4>>2];g:{if(!d){break g}f=i[g+2>>1];o=(f<<1)+d|0;c=l[j[a+44>>2]+4192>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(c>>>0>=l[d>>1]){break a}}d=j[g+4>>2];f=i[g+2>>1];o=d+(f<<1)|0;c=l[j[a+44>>2]+4194>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(c>>>0>=l[d>>1]){break a}}d=j[g+4>>2];f=i[g+2>>1];o=d+(f<<1)|0;c=l[j[a+44>>2]+4476>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}if((d|0)==(o|0)){break g}f=0;if(c>>>0>=l[d>>1]){break a}}while(1){d=j[g+4>>2];if(!d){n=3;break d}f=i[g+2>>1];o=(f<<1)+d|0;c=l[j[a+44>>2]+4198>>1];if(f){while(1){e=f>>>1|0;m=(e<<1)+d|0;n=c>>>0>l[m>>1];d=n?m+2|0:d;f=n?(e^-1)+f|0:e;if(f){continue}break}}h:{if(c>>>0>=l[d>>1]?(d|0)!=(o|0):0){break h}c=j[g+4>>2];n=l[g+2>>1];e=n<<16>>16;o=c+(e<<1)|0;d=c;f=e;if(n){while(1){m=f>>>1|0;p=(m<<1)+d|0;q=l[p>>1]<65511;d=q?p+2|0:d;f=q?(m^-1)+f|0:m;if(f){continue}break}}if(l[d>>1]<65512?(d|0)!=(o|0):0){break h}d=l[j[a+44>>2]+4464>>1];if(n){while(1){f=e>>>1|0;m=(f<<1)+c|0;n=d>>>0>l[m>>1];c=n?m+2|0:c;e=n?(f^-1)+e|0:f;if(e){continue}break}}if((c|0)==(o|0)|d>>>0>1]){break f}}g=j[g+12>>2];if(g){continue}break}break e}c=k[b+11|0];d=c<<24>>24<0;g=gb(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0,0)}n=3;if(g){break d}}f=0;n=2;c=k[b+11|0];d=c<<24>>24<0;g=Qa(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0,0,0,0,0);if(g){break d}if(!j[j[a+44>>2]+4488>>2]){break a}c=k[b+11|0];d=c<<24>>24<0;g=eb(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0,0,0);if(g){break d}c=k[b+11|0];d=c<<24>>24<0;g=Lb(j[a+44>>2],d?j[b>>2]:b,d?j[b+4>>2]:c,0);if(!g){break a}}d=j[g+4>>2];i:{if(!d){break i}f=i[g+2>>1];o=(f<<1)+d|0;b=l[j[a+44>>2]+4192>>1];if(f){while(1){c=f>>>1|0;m=(c<<1)+d|0;e=b>>>0>l[m>>1];d=e?m+2|0:d;f=e?(c^-1)+f|0:c;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(b>>>0>=l[d>>1]){break a}}c=j[g+4>>2];b=l[g+2>>1];e=b<<16>>16;o=c+(e<<1)|0;d=c;if(b){f=e;while(1){m=f>>>1|0;p=(m<<1)+d|0;q=l[p>>1]<65511;d=q?p+2|0:d;f=q?(m^-1)+f|0:m;if(f){continue}break}}if((d|0)!=(o|0)){f=0;if(l[d>>1]<65512){break a}}d=l[j[a+44>>2]+4194>>1];if(b){while(1){b=e>>>1|0;m=(b<<1)+c|0;f=d>>>0>l[m>>1];c=f?m+2|0:c;e=f?(b^-1)+e|0:b;if(e){continue}break}}if((c|0)!=(o|0)){f=0;if(d>>>0>=l[c>>1]){break a}}d=j[g+4>>2];f=i[g+2>>1];o=d+(f<<1)|0;b=l[j[a+44>>2]+4464>>1];if(f){while(1){c=f>>>1|0;m=(c<<1)+d|0;e=b>>>0>l[m>>1];d=e?m+2|0:d;f=e?(c^-1)+f|0:c;if(f){continue}break}}if((d|0)==(o|0)){break i}f=0;if(b>>>0>=l[d>>1]){break a}}j:{if(!l[j[a+44>>2]+4152>>1]){break j}d=j[g+4>>2];f=i[g+2>>1];e=d+(f<<1)|0;a=l[j[a+44>>2]+4152>>1];if(f){while(1){b=f>>>1|0;g=(b<<1)+d|0;c=a>>>0>l[g>>1];d=c?g+2|0:d;f=c?(b^-1)+f|0:b;if(f){continue}break}}if((d|0)==(e|0)){break j}f=n;if(a>>>0>=l[d>>1]){break a}}f=1}M=r+400|0;return f}function yp(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0;d=M+ -64|0;M=d;a:{b:{c:{e=0;d:{if(j[a+4280>>2]){break d}j[d+56>>2]=h[b+11|0]<0?j[b>>2]:b;e:{f:{g:{f=ka(b,d+56|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){break g}n=-1;g=0;while(1){h:{switch(g|0){case 1:l=j[d+56>>2];n=l-f|0;if(n>>>0>=4294967280){break c}i:{if(n>>>0<=10){h[d+51|0]=n;e=d+40|0;break i}o=n+16&-16;e=U(o);j[d+48>>2]=o|-2147483648;j[d+40>>2]=e;j[d+44>>2]=n}if((f|0)!=(l|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[e|0]=0;j:{if(h[d+51|0]>=0){n=ta(d+40|0);break j}e=j[d+40>>2];n=ta(e);T(e)}e=0;if((n|0)<=0){break d}e=U(1040);j[e+12>>2]=0;j[e+4>>2]=0;j[e+8>>2]=0;j[a+4280>>2]=e;h[e|0]=j[a+4144>>2];case 0:p=p+1|0;break;default:break h}}g=g+1|0;f=ka(b,d+56|0);e=k[b+11|0];l=e<<24>>24<0;if((f|0)!=((l?j[b>>2]:b)+(l?j[b+4>>2]:e)|0)){continue}break}if((p|0)!=2){break g}if((n|0)<1){break e}p=0;break f}e=0;break d}while(1){j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;b=0;k:{if(!vb(c,d+40|0)){break k}bb(d+40|0);e=j[a+4280>>2];f=j[e+8>>2];b=0;e=j[e+4>>2];j[d+56>>2]=h[d+51|0]<0?j[d+40>>2]:d+40|0;r=(f-e|0)/12|0;f=ka(d+40|0,d+56|0);g=j[d+40>>2];l=k[d+51|0];e=l<<24>>24<0;l:{if((f|0)!=((e?g:d+40|0)+(e?j[d+44>>2]:l)|0)){while(1){m:{n:{switch(b|0){case 0:if(!_(d+40|0,f-(e&1?g:d+40|0)|0,5,1528,5)){break m}break l;case 1:o=j[d+56>>2];g=o-f|0;if(g>>>0>=4294967280){break b}l=j[a+4280>>2];o:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break o}q=g+16&-16;e=U(q);j[d+32>>2]=q|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(o|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((o|0)!=(f|0)){continue}break}}h[e|0]=0;e=j[l+8>>2];p:{if(e>>>0>2]){f=j[d+28>>2];j[e>>2]=j[d+24>>2];j[e+4>>2]=f;j[e+8>>2]=j[d+32>>2];j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;j[l+8>>2]=e+12;break p}Eb(l+4|0,d+24|0)}if(h[d+35|0]>-1){break m}T(j[d+24>>2]);break m;case 2:break n;default:break m}}o=j[d+56>>2];g=o-f|0;if(g>>>0>=4294967280){break a}l=j[a+4280>>2];q:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break q}q=g+16&-16;e=U(q);j[d+32>>2]=q|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(o|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((o|0)!=(f|0)){continue}break}}h[e|0]=0;e=j[l+8>>2];r:{if(e>>>0>2]){f=j[d+28>>2];j[e>>2]=j[d+24>>2];j[e+4>>2]=f;j[e+8>>2]=j[d+32>>2];j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;j[l+8>>2]=e+12;break r}Eb(l+4|0,d+24|0)}if(h[d+35|0]<=-1){T(j[d+24>>2])}e=j[j[a+4280>>2]+8>>2];i[d+24>>1]=95;h[d+35|0]=1;h[d+8|0]=0;h[d+19|0]=0;xb(e-12|0,d+24|0,d+8|0);if(h[d+19|0]<=-1){T(j[d+8>>2])}if(h[d+35|0]>-1){break m}T(j[d+24>>2])}b=b+1|0;f=ka(d+40|0,d+56|0);g=j[d+40>>2];l=k[d+51|0];e=l<<24>>24<0;if((f|0)!=((e?g:d+40|0)+(e?j[d+44>>2]:l)|0)){continue}break}}e=j[a+4280>>2];b=1;if((r+2|0)==((j[e+8>>2]-j[e+4>>2]|0)/12|0)){break k}f=j[a+4280>>2];e=j[f+8>>2];g=j[f+4>>2];if((e|0)!=(g|0)){while(1){b=e-12|0;if(h[e-1|0]<=-1){T(j[b>>2])}e=b;if((g|0)!=(e|0)){continue}break}}j[f+8>>2]=g}b=0}if(h[d+51|0]<=-1){T(j[d+40>>2])}if(b){p=p+1|0;if((p|0)==(n|0)){break e}continue}break}e=0;break d}b=j[a+4280>>2];h[d+40|0]=0;h[d+51|0]=0;c=j[b+8>>2];s:{if(c>>>0>2]){e=j[d+44>>2];j[c>>2]=j[d+40>>2];j[c+4>>2]=e;j[c+8>>2]=j[d+48>>2];j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[b+8>>2]=c+12;break s}Eb(b+4|0,d+40|0)}if(h[d+51|0]<=-1){T(j[d+40>>2])}b=j[a+4280>>2];h[d+40|0]=0;h[d+51|0]=0;c=j[b+8>>2];t:{if(c>>>0>2]){e=j[d+44>>2];j[c>>2]=j[d+40>>2];j[c+4>>2]=e;j[c+8>>2]=j[d+48>>2];j[d+48>>2]=0;j[d+40>>2]=0;j[d+44>>2]=0;j[b+8>>2]=c+12;break t}Eb(b+4|0,d+40|0)}if(h[d+51|0]<=-1){T(j[d+40>>2])}aq(j[a+4280>>2]);e=1}a=e;M=d- -64|0;return a}X();z()}X();z()}X();z()}function Oh(a,b,c){var d=0,e=0,f=0,g=0,i=0,m=0,n=0,o=0,q=0,r=0,s=0;f=M-48|0;M=f;Aq(a,b,c,f+31|0,f+24|0,f+20|0);a:{if(!j[b+48>>2]){break a}d=j[a>>2];if((d|0)==j[a+4>>2]){break a}while(1){d=p(e,12)+d|0;b:{if(j[b+44>>2]){ob(d);break b}Ua(d)}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}c:{if(!k[f+31|0]){break c}d=j[a>>2];if((d|0)==j[a+4>>2]){break c}e=0;while(1){d=p(e,12)+d|0;d:{if(j[b+44>>2]){j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;ia(f+32|0,d);wb(f+32|0,j[b+40>>2]);da(d,f+32|0);d=j[f+32>>2];if(!d){break d}j[f+36>>2]=d;T(d);break d}nb(d,j[b+36>>2])}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}g=j[f+24>>2];e:{if(!g){break e}e=j[b>>2];if(!e|!j[e+4304>>2]){break e}d=j[a>>2];if((d|0)==j[a+4>>2]){break e}e=0;while(1){m=k[c+11|0];sa(f+32|0,c,(m<<24>>24<0?j[c+4>>2]:m)-g|0,-1);q=p(e,12)+d|0;d=k[f+43|0];m=d<<24>>24<0;aa(q,m?j[f+32>>2]:f+32|0,m?j[f+36>>2]:d);if(h[f+43|0]<=-1){T(j[f+32>>2])}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}c=j[b>>2];f:{if(!c|(l[j[b>>2]+4192>>1]?0:!l[c+4466>>1])|j[f+20>>2]-1>>>0>1){break f}g:{c=j[a+4>>2];g=j[a>>2];if((c|0)==(g|0)){d=0;break g}e=0;d=0;while(1){h:{i:{c=p(e,12);if((Ba(c+g|0,32,0)|0)!=-1){break i}if(ib(b,c+j[a>>2]|0,0)){break i}j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;j[f+16>>2]=0;j[f+8>>2]=0;j[f+12>>2]=0;c=c+j[a>>2]|0;j:{if(j[b+44>>2]){ia(f+8|0,c);break j}ua(f+32|0,c)}k:{if(j[b+44>>2]){Ta(f+8|0,j[b+40>>2]);da(f+32|0,f+8|0);break k}Pa(f+32|0,j[b+36>>2])}l:{if(!ib(b,f+32|0,0)){m:{if(j[b+44>>2]){wb(f+8|0,j[b+40>>2]);da(f+32|0,f+8|0);break m}nb(f+32|0,j[b+36>>2])}if(!ib(b,f+32|0,0)){break l}}ua(j[a>>2]+p(d,12)|0,f+32|0);d=d+1|0}c=j[f+8>>2];if(c){j[f+12>>2]=c;T(c)}if(h[f+43|0]>-1){break h}T(j[f+32>>2]);break h}g=j[a>>2];ua(g+p(d,12)|0,c+g|0);d=d+1|0}e=e+1|0;c=j[a+4>>2];g=j[a>>2];i=(c-g|0)/12|0;if(e>>>0>>0){continue}break}if(d>>>0<=i>>>0){break g}Nh(a,d-i|0);break f}if(d>>>0>=i>>>0){break f}d=p(d,12)+g|0;if((d|0)!=(c|0)){while(1){e=c-12|0;if(h[c-1|0]<=-1){T(j[e>>2])}c=e;if((d|0)!=(e|0)){continue}break}}j[a+4>>2]=d}m=0;n:{o:{e=j[a+4>>2];o=j[a>>2];p:{if((e|0)==(o|0)){g=0;break p}g=0;while(1){e=p(m,12);ua(p(g,12)+o|0,e+o|0);o=j[a>>2];c=0;q:{if(!g){break q}i=0;q=e+o|0;e=k[q+11|0];c=e<<24>>24;r=(c|0)<0?j[q+4>>2]:e;r:{s:{if((c|0)<=-1){while(1){d=p(i,12)+o|0;c=k[d+11|0];n=c<<24>>24<0;t:{if(((n?j[d+4>>2]:c)|0)!=(r|0)){break t}s=j[d>>2];e=j[q>>2];if(!n){if(!r){break r}if(k[e|0]!=(s&255)){break t}while(1){c=c-1|0;if(!c){break r}n=k[e+1|0];e=e+1|0;d=d+1|0;if((n|0)==k[d|0]){continue}break}break t}if(!r){break r}if(!qa(n?s:d,e,r)){break r}}i=i+1|0;if((i|0)!=(g|0)){continue}break s}}while(1){e=p(i,12)+o|0;c=k[e+11|0];d=c<<24>>24<0;u:{if(((d?j[e+4>>2]:c)|0)!=(r|0)){break u}n=j[e>>2];if(!d){if(!r){break r}if(k[q|0]!=(n&255)){break u}d=q;while(1){c=c-1|0;if(!c){break r}n=k[d+1|0];d=d+1|0;e=e+1|0;if((n|0)==k[e|0]){continue}break}break u}if(!r){break r}if(!qa(d?n:e,q,r)){break r}}i=i+1|0;if((i|0)!=(g|0)){continue}break}}c=g;break q}c=g-1|0}g=c+1|0;m=m+1|0;e=j[a+4>>2];c=(e-o|0)/12|0;if(m>>>0>>0){continue}break}if(c>>>0>>0){break o}m=c}if(g>>>0>=m>>>0){break n}d=p(g,12)+o|0;if((d|0)!=(e|0)){while(1){c=e-12|0;if(h[e-1|0]<=-1){T(j[c>>2])}e=c;if((e|0)!=(d|0)){continue}break}}j[a+4>>2]=d;break n}Nh(a,g-c|0)}b=j[b>>2];v:{if(!b){break v}b=j[b+4208>>2];if(!b){break v}d=j[a>>2];if((d|0)==j[a+4>>2]){break v}e=0;while(1){j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;c=p(e,12);if(Yc(b,c+d|0,f+32|0)){ua(c+j[a>>2]|0,f+32|0)}if(h[f+43|0]<=-1){T(j[f+32>>2])}e=e+1|0;d=j[a>>2];if(e>>>0<(j[a+4>>2]-d|0)/12>>>0){continue}break}}M=f+48|0}function ip(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=M-48|0;M=d;a:{if(k[a+4264|0]){break a}h[a+4264|0]=1;j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;b:{c:{e=ka(b,d+40|0);f=k[b+11|0];g=f<<24>>24<0;if((e|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:f)|0)){break c}n=a+4268|0;o=-1;while(1){d:{switch(l|0){case 1:o=j[d+40>>2];g=o-e|0;if(g>>>0>=4294967280){break b}e:{if(g>>>0<=10){h[d+35|0]=g;f=d+24|0;break e}r=g+16&-16;f=U(r);j[d+32>>2]=r|-2147483648;j[d+24>>2]=f;j[d+28>>2]=g}if((e|0)!=(o|0)){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((o|0)!=(e|0)){continue}break}}h[f|0]=0;f:{if(h[d+35|0]>=0){o=ta(d+24|0);break f}e=j[d+24>>2];o=ta(e);T(e)}if((o|0)<=0){e=0;break a}go(n,o);case 0:s=s+1|0;break;default:break d}}l=l+1|0;e=ka(b,d+40|0);f=k[b+11|0];g=f<<24>>24<0;if((e|0)!=((g?j[b>>2]:b)+(g?j[b+4>>2]:f)|0)){continue}break}if((s|0)!=2){break c}e=1;if((o|0)<1){break a}v=a+4268|0;r=0;while(1){g:{j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;h:{if(vb(c,d+24|0)){bb(d+24|0);j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;b=j[a+4272>>2];i:{if(b>>>0>2]){j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;j[b>>2]=j[d+8>>2];j[b+4>>2]=j[d+12>>2];j[b+8>>2]=j[d+16>>2];j[a+4272>>2]=b+12;break i}bo(v,d+8|0);b=j[d+8>>2];if(!b){break i}j[d+12>>2]=b;T(b)}s=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;e=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];f=g<<24>>24<0;if((e|0)!=((f?b:d+24|0)+(f?j[d+28>>2]:g)|0)){while(1){j:{k:{switch(s|0){case 0:if(!_(d+24|0,e-(f&1?b:d+24|0)|0,12,1555,12)){break j}o=0;e=0;break h;case 1:break k;default:break j}}f=e;l:{l=j[d+40>>2];g=(l|0)==(e|0);if(g){break l}while(1){if(k[f|0]!=40){f=f+1|0;if((l|0)!=(f|0)){continue}break l}break}if((f|0)==(l|0)){break l}if(g){break j}m:{n:{while(1){b=e+1|0;f=e;g=k[e|0];if((g|0)==40){o:{p:{while(1){f=f+1|0;if((l|0)==(f|0)){break p}if(k[f|0]!=41){continue}break}e=b;b=f;break o}f=e}g=k[e|0]}q:{g=g&255;r:{if(!((g|0)!=42?(g|0)!=63:0)){e=j[a+4272>>2];q=e-8|0;b=j[q>>2];p=e-4|0;n=j[p>>2];if(b>>>0>>0){i[b>>1]=g;j[q>>2]=b+2;break r}u=e-12|0;e=j[u>>2];l=b-e|0;if((l|0)<=-3){break q}t=l>>1;b=t+1|0;n=n-e|0;n=n>>1>>>0<1073741823?b>>>0>n>>>0?b:n:2147483647;b=0;s:{if(!n){break s}if((n|0)<=-1){break n}b=U(n<<1)}t=b+(t<<1)|0;i[t>>1]=g;if((l|0)>=1){V(b,e,l)}j[u>>2]=b;j[q>>2]=t+2;j[p>>2]=b+(n<<1);if(!e){break r}T(e);break r}g=b-e|0;if(g>>>0>=4294967280){break m}n=j[a+4272>>2];q=j[a+4100>>2];t:{if(g>>>0<=10){h[d+19|0]=g;l=d+8|0;break t}p=g+16&-16;l=U(p);j[d+16>>2]=p|-2147483648;j[d+8>>2]=l;j[d+12>>2]=g}if((b|0)!=(e|0)){while(1){h[l|0]=k[e|0];l=l+1|0;e=e+1|0;if((e|0)!=(b|0)){continue}break}}h[l|0]=0;Rh(q,n-12|0,d+8|0);if(h[d+19|0]>-1){break r}T(j[d+8>>2])}e=f+1|0;l=j[d+40>>2];if((e|0)!=(l|0)){continue}break j}break}X();z()}D();z()}X();z()}b=l-e|0;if(b>>>0>=4294967280){break g}n=j[a+4272>>2];q=j[a+4100>>2];u:{if(b>>>0<=10){h[d+19|0]=b;f=d+8|0;break u}p=b+16&-16;f=U(p);j[d+16>>2]=p|-2147483648;j[d+8>>2]=f;j[d+12>>2]=b}if(!g){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}h[f|0]=0;Rh(q,n-12|0,d+8|0);if(h[d+19|0]>-1){break j}T(j[d+8>>2])}s=s+1|0;e=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];f=g<<24>>24<0;if((e|0)!=((f?b:d+24|0)+(f?j[d+28>>2]:g)|0)){continue}break}}b=j[a+4272>>2]-12|0;e=1;if(j[b>>2]!=j[b+4>>2]){break h}}e=0}if(h[d+35|0]<=-1){T(j[d+24>>2])}r=r+1|0;if((r|0)<(o|0)&e){continue}break a}break}X();z()}e=0;break a}X();z()}M=d+48|0;return e}function hc(a,b,c,d,e,f){var g=0,h=0,k=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;r=M-16|0;M=r;a:{b:{C=j[b>>2];k=C;if(k){break b}j[b>>2]=e;k=e;if(e){break b}d=0;break a}g=U(8);j[r>>2]=g;e=g+8|0;j[r+8>>2]=e;j[g>>2]=0;j[g+4>>2]=0;j[r+4>>2]=e;e=c<<2;j[e+k>>2]=d;g=i[d+2>>1];c:{d:{if(g){e:{m=j[a+4268>>2];e=j[a+4272>>2];z=(m|0)==(e|0);if(z){break e}e=(e-m|0)/12|0;A=e>>>0>1?e:1;while(1){k=p(n,12)+m|0;e=j[k+4>>2];t=j[k>>2];f:{if((e|0)==(t|0)){break f}u=e-t>>1;o=0;while(1){g:{x=l[t+(o<<1)>>1];if((x|0)==42|(x|0)==63){break g}s=j[d+4>>2];e=s;k=g;while(1){v=k>>>1|0;q=(v<<1)+e|0;y=x>>>0>l[q>>1];e=y?q+2|0:e;k=y?(v^-1)+k|0:v;if(k){continue}break}if((s+(g<<1)|0)==(e|0)|x>>>0>1]){break g}h=1;break f}o=o+1|0;if(u>>>0>o>>>0){continue}break}}n=n+1|0;if((A|0)!=(n|0)){continue}break}if(!h){break e}h:{if(z){break h}i:while(1){w=0;h=0;g=0;o=1;while(1){B=p(D,12);n=1;j:{k:{l:{if(g<<16>>16>(c|0)){break l}d=m+B|0;e=j[d>>2];d=j[d+4>>2]-e>>1;if(h>>>0>=d>>>0){break l}while(1){t=g<<16;q=t>>16;m:{n:{s=h+1|0;if(s>>>0>=d>>>0){break n}u=l[(s<<1)+e>>1];k=(u|0)==63;if((u|0)!=42?!k:0){break n}E=j[r>>2];F=E+(w<<16>>16<<3)|0;i[F+2>>1]=g;d=h+2|0;i[F>>1]=d;m=0;v=(k?g:c)<<16>>16;o:{if((v|0)>16){h=q;break o}y=(h<<1)+e|0;z=j[b>>2];h=q;while(1){e=j[z+(h<<2)>>2];s=i[e+2>>1];if(!s){m=1;break o}o=l[y>>1];A=j[e+4>>2];e=A;k=s;while(1){x=k>>>1|0;u=(x<<1)+e|0;t=o>>>0>l[u>>1];e=t?u+2|0:e;k=t?(x^-1)+k|0:x;if(k){continue}break}if((A+(s<<1)|0)==(e|0)){m=1;break o}if(o>>>0>1]){m=1;break o}h=(g<<16)+65536>>16;g=h;if((v|0)>=(g|0)){continue}break}g=h}e=h-q|0;j[F+4>>2]=e;p:{if((e|0)<1){break p}w=w+1|0;h=(w<<16>>16)+1|0;e=j[r+4>>2]-E>>3;if(h>>>0>e>>>0){Bl(r,h-e|0);break p}if(e>>>0<=h>>>0){break p}j[r+4>>2]=(h<<3)+E}o=1;if((m^1)&g<<16>>16>(c|0)){h=d;break l}m=j[a+4268>>2];o=0;break m}g=0;k=j[j[b>>2]+(q<<2)>>2];if(!k){break k}q=i[k+2>>1];if(!q){break k}v=l[(h<<1)+e>>1];A=j[k+4>>2];e=A;k=q;while(1){y=k>>>1|0;u=(y<<1)+e|0;z=v>>>0>l[u>>1];e=z?u+2|0:e;k=z?(y^-1)+k|0:y;if(k){continue}break}if((A+(q<<1)|0)==(e|0)|v>>>0>1]){break k}g=t+65536>>16;n=(g|0)>(c|0)?n:(d|0)!=(s|0)?n:0;o=1;d=s}h=d;if(g<<16>>16>(c|0)){break l}d=m+B|0;e=j[d>>2];d=j[d+4>>2]-e>>1;if(h>>>0>>0){continue}break}}k=(o|0)!=0;if(!n){g=n;break j}if(!o){g=n;break j}d=1;g=j[a+4268>>2]+B|0;q=j[g>>2];e=h;g=j[g+4>>2]-q>>1;if(e>>>0>=g>>>0){break c}while(1){k=1;d=e+1|0;if(d>>>0>=g>>>0){g=n;break j}d=l[q+(d<<1)>>1];if(!((d|0)==63|(d|0)==42)){g=n;break j}e=e+2|0;if(g>>>0>e>>>0){continue}break}d=1;break c}k=1;o=1}q:{if(w&65535){e=j[r>>2];while(1){h=e+((w<<16>>16)-1<<3)|0;d=j[h+4>>2];g=d-1|0;j[h+4>>2]=g;if((d|0)>0){break q}w=w-1|0;if(w&65535){continue}break}h=i[h>>1];g=1}r:{if(!(!g|k^1)){if(!f){d=1;break c}d=1;e=j[a+4268>>2]+B|0;if(j[e+4>>2]-j[e>>2]>>1>>>0<=h>>>0){break c}m=j[a+4268>>2];e=B+m|0;n=j[e>>2];g=j[e+4>>2]-n>>1;if(g>>>0<=h>>>0){break c}while(1){e=h+1|0;if(e>>>0>=g>>>0){break r}e=l[n+(e<<1)>>1];if((e|0)!=42?(e|0)!=63:0){break r}h=h+2|0;if(g>>>0>h>>>0){continue}break}break c}m=j[a+4268>>2]}D=D+1|0;if(D>>>0<(j[a+4272>>2]-m|0)/12>>>0){continue i}break h}g=g+l[h+2>>1]|0;h=i[h>>1];m=j[a+4268>>2];continue}}}d=0;j[j[b>>2]+(c<<2)>>2]=0;if(C){break c}break d}d=0;j[j[b>>2]+(c<<2)>>2]=0;if(!C){break d}break c}d=0;j[e+j[b>>2]>>2]=0;if(C){break c}}j[b>>2]=0}a=j[r>>2];if(!a){break a}j[r+4>>2]=a;T(a)}M=r+16|0;return d}function yb(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0;l=M-112|0;M=l;m=h;o=i&2147483647;p=c-(b>>>0<1)|0;k=b-1|0;r=(k|0)==-1&(p|0)==-1;q=d;t=(c|0)==(p|0)&b>>>0>k>>>0|c>>>0>p>>>0;n=d+t|0;p=e&2147483647;k=p;k=n>>>0>>0?k+1|0:k;t=n-1|0;a:{b:{k=k-(n>>>0<1)|0;if(!((t|0)==-1&(k|0)==2147418111?r:k>>>0>2147418111)){k=f;n=g-(k>>>0<1)|0;k=k-1|0;r=(k|0)!=-1|(n|0)!=-1;t=(g|0)==(n|0)&f>>>0>k>>>0|g>>>0>n>>>0;n=t+m|0;k=o;k=n>>>0>>0?k+1|0:k;t=n;n=n-1|0;k=k-(t>>>0<1)|0;if((n|0)==-1&(k|0)==2147418111?r:(k|0)==2147418111&(n|0)!=-1|k>>>0<2147418111){break b}}if(!(!q&(p|0)==2147418112?!(b|c):p>>>0<2147418112)){h=d;i=e|32768;f=b;g=c;break a}if(!(!m&(o|0)==2147418112?!(f|g):o>>>0<2147418112)){i=i|32768;break a}if(!(b|q|(p^2147418112|c))){k=d;d=!(b^f|d^h|(c^g|e^i^-2147483648));h=d?0:k;i=d?2147450880:e;f=d?0:b;g=d?0:c;break a}if(!(f|m|(o^2147418112|g))){break a}if(!(b|q|(c|p))){if(f|m|(g|o)){break a}f=b&f;g=c&g;h=d&h;i=e&i;break a}if(f|m|(g|o)){break b}f=b;g=c;h=d;i=e;break a}k=(m|0)==(q|0)&(o|0)==(p|0)?(c|0)==(g|0)&b>>>0>>0|c>>>0>>0:(o|0)==(p|0)&m>>>0>q>>>0|o>>>0>p>>>0;n=k?f:b;o=k?g:c;q=k?i:e;p=q;r=k?h:d;q=p&65535;i=k?e:i;e=i;h=k?d:h;t=i>>>16&32767;m=p>>>16&32767;if(!m){d=!(q|r);i=d<<6;m=s(d?n:r)+32|0;d=s(d?o:q);d=i+((d|0)==32?m:d)|0;mb(l+96|0,n,o,r,q,d-15|0);r=j[l+104>>2];q=j[l+108>>2];n=j[l+96>>2];m=16-d|0;o=j[l+100>>2]}f=k?b:f;g=k?c:g;i=e&65535;if(!t){b=!(h|i);c=b<<6;d=s(b?f:h)+32|0;b=s(b?g:i);b=c+((b|0)==32?d:b)|0;mb(l+80|0,f,g,h,i,b-15|0);t=16-b|0;h=j[l+88>>2];i=j[l+92>>2];g=j[l+84>>2];f=j[l+80>>2]}b=h;i=i<<3|b>>>29;h=b<<3|g>>>29;i=i|524288;b=r;k=q<<3|b>>>29;q=b<<3|o>>>29;r=k;k=e^p;b=f;c=g<<3|b>>>29;b=b<<3;d=c;f=m-t|0;e=b;c:{if(!f){break c}if(f>>>0>127){h=0;i=0;c=0;e=1;break c}mb(l- -64|0,b,d,h,i,128-f|0);Fc(l+48|0,b,d,h,i,f);h=j[l+56>>2];i=j[l+60>>2];c=j[l+52>>2];e=j[l+48>>2]|((j[l+64>>2]|j[l+72>>2])!=0|(j[l+68>>2]|j[l+76>>2])!=0)}g=c;d=q;r=r|524288;b=n;c=o<<3|b>>>29;f=b<<3;d:{if((k|0)<-1?1:(k|0)<=-1){k=f;o=e;b=k-e|0;q=h;n=d-h|0;e=(c|0)==(g|0)&e>>>0>k>>>0|c>>>0>>0;h=n-e|0;c=c-((k>>>0>>0)+g|0)|0;i=(r-((d>>>0>>0)+i|0)|0)-(e>>>0>n>>>0)|0;if(!(b|h|(c|i))){f=0;g=0;h=0;i=0;break a}if(i>>>0>524287){break d}f=b;d=!(h|i);e=d<<6;g=s(d?b:h)+32|0;b=s(d?c:i);b=e+((b|0)==32?g:b)|0;b=b-12|0;mb(l+32|0,f,c,h,i,b);m=m-b|0;h=j[l+40>>2];i=j[l+44>>2];b=j[l+32>>2];c=j[l+36>>2];break d}c=c+g|0;b=e+f|0;c=b>>>0>>0?c+1|0:c;f=(c|0)==(g|0)&e>>>0>b>>>0|c>>>0>>0;k=i+r|0;e=d+h|0;k=e>>>0>>0?k+1|0:k;d=f+e|0;h=d;i=d>>>0>>0?k+1|0:k;if(!(i&1048576)){break d}k=h<<31;b=b&1|((c&1)<<31|b>>>1);c=k|c>>>1;m=m+1|0;h=(i&1)<<31|h>>>1;i=i>>>1|0}o=0;q=p&-2147483648;if((m|0)>=32767){h=o;i=q|2147418112;f=0;g=0;break a}d=0;e:{if((m|0)>0){d=m;break e}mb(l+16|0,b,c,h,i,m+127|0);Fc(l,b,c,h,i,1-m|0);b=j[l>>2]|((j[l+16>>2]|j[l+24>>2])!=0|(j[l+20>>2]|j[l+28>>2])!=0);c=j[l+4>>2];h=j[l+8>>2];i=j[l+12>>2]}k=h<<29;p=(c&7)<<29|b>>>3;f=p;m=b&7;b=f+(m>>>0>4)|0;e=c>>>3|k;c=e;c=b>>>0>>0?c+1|0:c;f=b;k=d<<16;d=o|((i&7)<<29|h>>>3);g=c;b=d+((e|0)==(c|0)&b>>>0

                                                                    >>0|c>>>0>>0)|0;i=q|(k|i>>>3&65535);i=b>>>0>>0?i+1|0:i;h=b;f:{if((m|0)==4){c=0;k=g+c|0;d=f&1;b=f+d|0;k=b>>>0>>0?k+1|0:k;f=b;g=k;c=(c|0)==(k|0)&b>>>0>>0|c>>>0>k>>>0;b=c+h|0;k=i;h=b;i=b>>>0>>0?k+1|0:k;break f}if(!m){break a}}}j[a>>2]=f;j[a+4>>2]=g;j[a+8>>2]=h;j[a+12>>2]=i;M=l+112|0}function Wq(a,b){var c=0,d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=M-32|0;M=c;g=U(65796);e=Fe(g,b);j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;a:{b:{if(!vb(e,c+16|0)){break b}bb(c+16|0);if(!_(c+16|0,0,3,120902,3)){pb(c+16|0,0,3)}p=c+16|2;r=a+68|0;s=a+56|0;q=a+40|0;o=a+28|0;t=c+16|4;while(1){c:{if(_(c+16|0,0,4,120913,4)){break c}d=h[c+27|0];d:{if((d|0)<=-1){if(m[c+20>>2]<=4){break c}b=j[c+16>>2]+4|0;break d}b=t;if((d&255)>>>0<=4){break c}}b=h[b|0];if(!((b|0)==32|b-9>>>0<5)){break c}d=j[a+8>>2]?k[c+27|0]:d;f=d<<24>>24<0;b=f?j[c+16>>2]:c+16|0;f=f?j[c+20>>2]:d&255;n=b+f|0;l=b;d=f;e:{if((d|0)<4){break e}while(1){d=Aa(l,108,d-3|0);if(!d){break e}if((k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24))!=1735290732){l=d+1|0;d=n-l|0;if((d|0)>=4){continue}break e}break}if((d|0)==(n|0)|(d-b|0)==-1){break e}j[a+8>>2]=1}l=b;f:{d=f;if((d|0)<3){break f}g:{while(1){d=Aa(l,110,d-2|0);if(!d){break g}if(qa(d,120918,3)){l=d+1|0;d=n-l|0;if((d|0)>=3){continue}break g}break}if((d|0)==(n|0)|(d-b|0)==-1){break g}j[a+8>>2]=2}d=b;if((f|0)<5){break f}while(1){d=Aa(d,85,f-4|0);if(!d){break f}if(qa(d,120922,5)){d=d+1|0;f=n-d|0;if((f|0)>=5){continue}break f}break}if((d|0)==(n|0)|(d-b|0)==-1){break f}j[a+8>>2]=3;break c}if(j[a+8>>2]){break c}}h:{if(_(c+16|0,0,13,120928,13)){break h}j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;b=va(c+16|0,c);i:{if(!b){ea(e);T(g);break i}u=a,v=Ha(a,h[c+11|0]<0?j[c>>2]:c),i[u+20>>1]=v}if(h[c+11|0]<=-1){T(j[c>>2])}if(b){break h}a=c+16|0;break a}j:{if(_(c+16|0,0,3,120942,3)){break j}if(!va(c+16|0,o)){ea(e);T(g);a=c+16|0;break a}k:{b=k[a+39|0];if(((b<<24>>24<0?j[a+32>>2]:b)|0)!=5){break k}if(_(o,0,-1,120922,5)){break k}j[a+16>>2]=1;Xh();break j}u=a,v=_c(o),j[u+52>>2]=v}if(!_(c+16|0,0,4,120946,4)){if(!va(c+16|0,q)){ea(e);T(g);a=c+16|0;break a}u=a,v=Yh(q),j[u+24>>2]=v}l:{if(_(c+16|0,0,6,120951,6)){break l}if(Se(c+16|0,s,r,j[a+16>>2])){break l}ea(e);T(g);a=c+16|0;break a}m:{if(_(c+16|0,0,2,120958,2)){break m}d=h[c+27|0];n:{if((d|0)<=-1){if(m[c+20>>2]<=2){break m}b=j[c+16>>2]+2|0;break n}b=p;if((d&255)>>>0<=2){break m}}b=h[b|0];if(!((b|0)==32|b-9>>>0<5)){break m}if(Uq(a,c+16|0,e)){break m}ea(e);T(g);a=c+16|0;break a}o:{if(_(c+16|0,0,2,120961,2)){break o}d=h[c+27|0];p:{if((d|0)<=-1){if(m[c+20>>2]<=2){break o}b=j[c+16>>2]+2|0;break p}b=p;if((d&255)>>>0<=2){break o}}b=h[b|0];if(!((b|0)==32|b-9>>>0<5)){break o}if(Tq(a,c+16|0,e)){break o}ea(e);T(g);a=c+16|0;break a}if(!_(c+16|0,0,15,120964,15)){j[a+12>>2]=1}q:{if(_(c+16|0,0,3,120980,3)){break q}if(Sq(a,c+16|0,e)){break q}ea(e);T(g);a=c+16|0;break a}r:{if(_(c+16|0,0,3,120984,3)){if(_(c+16|0,0,3,120988,3)){break r}}d=h[c+27|0];s:{if((d|0)<=-1){if(m[c+20>>2]<=3){break r}b=j[c+16>>2];break s}b=c+16|0;if((d&255)>>>0<=3){break r}}b=h[b+3|0];if(!((b|0)==32|b-9>>>0<5)){break r}if(j[a+100>>2]!=j[a+104>>2]){break b}}if(!vb(e,c+16|0)){break b}bb(c+16|0);continue}}t:{if(j[a+52>>2]){break t}h[c+9|0]=0;h[c+8|0]=k[121e3];h[c+11|0]=9;b=k[120996]|k[120997]<<8|(k[120998]<<16|k[120999]<<24);j[c>>2]=k[120992]|k[120993]<<8|(k[120994]<<16|k[120995]<<24);j[c+4>>2]=b;u=a,v=_c(c),j[u+52>>2]=v;if(h[c+11|0]>-1){break t}T(j[c>>2])}ea(e);T(g);a=c+16|0}if(h[a+11|0]<=-1){T(j[c+16>>2])}M=c+32|0}function Pg(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0,o=0,q=0,r=0,s=0;q=M-16|0;M=q;a:{b:{c:{d:{e:{f:{if(b>>>0<=36){while(1){f=j[a+4>>2];g:{if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break g}f=pa(a)}if((f|0)==32|f-9>>>0<5){continue}break}h:{i:{switch(f-43|0){case 0:case 2:break i;default:break h}}r=(f|0)==45?-1:0;f=j[a+4>>2];if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break h}f=pa(a)}j:{if(!(b&-17|(f|0)!=48)){f=j[a+4>>2];k:{if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break k}f=pa(a)}if((f&-33)==88){b=16;f=j[a+4>>2];l:{if(f>>>0>2]){j[a+4>>2]=f+1;f=k[f|0];break l}f=pa(a)}if(k[f+122849|0]<16){break e}if(!j[a+104>>2]){d=0;e=0;if(c){break a}break b}b=j[a+4>>2];j[a+4>>2]=b-1;if(!c){break b}j[a+4>>2]=b-2;d=0;e=0;break a}if(b){break j}b=8;break e}b=b?b:10;if(b>>>0>k[f+122849|0]){break j}if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}d=0;e=0;Hb(a,0,0);j[37140]=28;break a}if((b|0)!=10){break e}c=f-48|0;if(c>>>0<=9){b=0;while(1){b=p(b,10)+c|0;c=j[a+4>>2];m:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break m}f=pa(a)}c=f-48|0;if(b>>>0<429496729?c>>>0<=9:0){continue}break}g=b}if(c>>>0>9){break f}i=or(g,0,10,0);b=N;while(1){f=c+i|0;l=f>>>0>>0?b+1|0:b;g=f;i=(l|0)==429496729&f>>>0>=2576980378|l>>>0>429496729;b=j[a+4>>2];n:{if(b>>>0>2]){j[a+4>>2]=b+1;f=k[b|0];break n}f=pa(a)}c=f-48|0;if(i|c>>>0>9){break f}i=or(g,l,10,0);b=N;if((b|0)==-1&(c^-1)>>>0>=i>>>0|(b|0)!=-1){continue}break}b=10;break d}j[37140]=28;d=0;e=0;break a}b=10;if(c>>>0<=9){break d}break c}if(b-1&b){c=k[f+122849|0];if(c>>>0>>0){while(1){i=p(b,i)+c|0;g=i>>>0<=119304646;c=j[a+4>>2];o:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break o}f=pa(a)}c=k[f+122849|0];if(c>>>0>>0?g:0){continue}break}g=i}if(b>>>0<=c>>>0){break d}i=b;while(1){n=or(g,l,i,0);o=N;c=c&255;if((o|0)==-1&(c^-1)>>>0>>0){break d}l=o;f=c+n|0;l=f>>>0>>0?l+1|0:l;g=f;o=b;c=j[a+4>>2];p:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break p}f=pa(a)}c=k[f+122849|0];if(o>>>0<=c>>>0){break d}Nb(q,i,0,g,l);if(!(j[q+8>>2]|j[q+12>>2])){continue}break}break d}o=h[(p(b,23)>>>5&7)+123105|0];c=k[f+122849|0];if(c>>>0>>0){while(1){i=i<>>0<=134217727;c=j[a+4>>2];q:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break q}f=pa(a)}c=k[f+122849|0];if(c>>>0>>0?g:0){continue}break}g=i}i=o;n=i&31;if((i&63)>>>0>=32){o=0;n=-1>>>n|0}else{o=-1>>>n|0;n=(1<>>n}if(!o&g>>>0>n>>>0|b>>>0<=c>>>0){break d}while(1){s=c&255;c=i;f=c&31;if((c&63)>>>0>=32){l=g<>>32-f|l<>2];r:{if(c>>>0>2]){j[a+4>>2]=c+1;f=k[c|0];break r}f=pa(a)}if((l|0)==(o|0)&g>>>0>n>>>0|l>>>0>o>>>0){break d}c=k[f+122849|0];if(c>>>0>>0){continue}break}}if(k[f+122849|0]>=b>>>0){break c}while(1){f=j[a+4>>2];s:{if(f>>>0>2]){j[a+4>>2]=f+1;c=k[f|0];break s}c=pa(a)}if(k[c+122849|0]>>0){continue}break}j[37140]=68;r=d&1?0:r;g=d;l=e}if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}t:{if((e|0)==(l|0)&d>>>0>g>>>0|e>>>0>l>>>0){break t}if(!(r|d&1)){j[37140]=68;a=d;d=a-1|0;e=e-(a>>>0<1)|0;break a}if((e|0)==(l|0)&d>>>0>=g>>>0|e>>>0>l>>>0){break t}j[37140]=68;break a}a=r;b=a^g;d=b-a|0;c=a>>31;e=(c^l)-((a>>>0>b>>>0)+c|0)|0;break a}d=0;e=0;Hb(a,0,0)}M=q+16|0;N=e;return d}function Vb(a,b,c,d){var e=0,f=0,g=0,i=0,k=0,l=0,n=0,o=0,p=0,q=0;e=M-48|0;M=e;j[e+40>>2]=0;j[e+32>>2]=0;j[e+36>>2]=0;k=j[b+4>>2];i=j[b>>2];j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;p=(k-i|0)/12|0;a:{if(!j[a+76>>2]){break a}Ja(e+16|0,c);b:{if(j[a+56>>2]){ob(e+16|0);break b}Ua(e+16|0)}c=e+16|0;if(h[e+27|0]>-1){break a}c=j[e+16>>2]}c:{d:{if(j[a+56>>2]){l=W(c);if(l>>>0>=4294967280){break c}e:{f:{if(l>>>0>=11){k=l+16&-16;i=U(k);j[e+8>>2]=k|-2147483648;j[e>>2]=i;j[e+4>>2]=l;k=e;break f}h[e+11|0]=l;k=e;i=e;if(!l){break e}}V(i,c,l)}h[i+l|0]=0;l=ia(e+32|0,e);if(h[k+11|0]<=-1){T(j[e>>2])}if((l|0)==-1){break d}}k=0;while(1){q=C()|0;i=(j[b+4>>2]-j[b>>2]|0)/12|0;f=i;n=0;o=j[a+48>>2];if(f>>>0>>0){g:{if(j[a+56>>2]){Xp(a,b,j[e+32>>2],l,g);break g}Wp(a,b,c,g)}o=j[a+48>>2];f=(j[b+4>>2]-j[b>>2]|0)/12|0;n=i>>>0>>0}k=g?i:k;h:{if(f>>>0>=o>>>0){break h}i:{if(!g){i=0;break i}i=1;if(j[a+72>>2]+k>>>0<=f>>>0){break h}}Vp(a,b,c,i);n=(j[b+4>>2]-j[b>>2]|0)/12>>>0>f>>>0|n}i=q+1e5|0;if((C()|0)>(i|0)){break d}j:{k:{l:{m:{n:{f=(j[b+4>>2]-j[b>>2]|0)/12|0;o:{if(f>>>0>=m[a+48>>2]){break o}if(!g){break n}if(f>>>0>=j[a+72>>2]+k>>>0){break o}Jh(a,b,c,1)}if((C()|0)>(i|0)){break d}if(!g){break m}o=0;f=(j[b+4>>2]-j[b>>2]|0)/12|0;if(f>>>0>2]){break l}break j}Jh(a,b,c,0);if((C()|0)>(i|0)){break d}}f=(j[b+4>>2]-j[b>>2]|0)/12|0;o=p>>>0>>0;if(m[a+48>>2]<=f>>>0){break j}if(!g){break k}}if(j[a+72>>2]+k>>>0<=f>>>0){break j}}if(j[a+56>>2]){Up(a,b,j[e+32>>2],l,g);break j}Tp(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;p:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break p}if(j[a+56>>2]){Sp(a,b,j[e+32>>2],l,g);break p}Rp(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;q:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break q}if(j[a+56>>2]){Qp(a,b,j[e+32>>2],l,g);break q}Pp(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;r:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break r}if(j[a+56>>2]){Op(a,b,j[e+32>>2],l,g);break r}Np(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;s:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break s}if(j[a+56>>2]){Mp(a,b,j[e+32>>2],l,g);break s}Lp(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;t:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break t}if(j[a+56>>2]){Kp(a,b,j[e+32>>2],l,g);break t}Jp(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;u:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break u}if(j[a+56>>2]){Ip(a,b,j[e+32>>2],l,g);break u}Hp(a,b,c,g)}if((C()|0)>(i|0)){break d}v:{w:{x:{f=(j[b+4>>2]-j[b>>2]|0)/12|0;y:{if(f>>>0>=m[a+48>>2]){break y}if(f>>>0>=j[a+72>>2]+k>>>0?g:0){break x}if(j[a+56>>2]){Gp(a,b,j[e+32>>2],l,g);break y}Ep(a,b,c,g)}if((C()|0)>(i|0)){break d}if(g){break w}n=Ih(a,b,c,0,n);break v}if((C()|0)>(i|0)){break d}}if(j[a+64>>2]|j[a+72>>2]+k>>>0<=(j[b+4>>2]-j[b>>2]|0)/12>>>0){break v}n=Ih(a,b,c,1,n)}if((C()|0)>(i|0)){break d}i=g|o;g=g+1|0;if(!((i|0)!=0|n)){continue}break}if(!d|o|j[b>>2]==j[b+4>>2]){break d}j[d>>2]=1}if(h[e+27|0]<=-1){T(j[e+16>>2])}a=j[e+32>>2];if(a){j[e+36>>2]=a;T(a)}M=e+48|0;return n}X();z()}function Po(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;f=M-32|0;M=f;c=j[a+4>>2];e=j[a+8>>2];d=((c|0)==(e|0))+b|0;b=(d>>>0)/341|0;g=((p(b,341)|0)!=(d|0))+b|0;d=j[a+16>>2];b=(d>>>0)/341|0;h=b>>>0>g>>>0?g:b;a:{b=g-h|0;b:{if(!b){j[a+16>>2]=d+p(h,-341);if(!h){break b}while(1){k=j[c>>2];b=c+4|0;j[a+4>>2]=b;c:{if(j[a+12>>2]!=(e|0)){break c}i=j[a>>2];if(i>>>0>>0){c=((b-i>>2)+1|0)/-2<<2;g=c+b|0;d=e-b|0;if(d){Ka(g,b,d);b=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break c}c=e-i|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;l=U(c);g=c+l|0;c=e-b|0;d=l+(d&-4)|0;e=d;if(c){e=c+d|0;c=d;while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=l;if(!i){break c}T(i);e=j[a+8>>2]}j[e>>2]=k;e=j[a+8>>2]+4|0;j[a+8>>2]=e;h=h-1|0;if(!h){break b}c=j[a+4>>2];continue}}d:{e:{g=j[a+12>>2];d=g-j[a>>2]|0;k=e-c>>2;if((d>>2)-k>>>0>=b>>>0){if((e|0)!=(g|0)){while(1){n=f,o=U(4092),j[n+8>>2]=o;yd(a,f+8|0);b=b-1|0;if(!b){break e}if(j[a+12>>2]!=j[a+8>>2]){continue}break}}c=b;while(1){n=f,o=U(4092),j[n+8>>2]=o;xd(a,f+8|0);e=j[a+16>>2]+((j[a+8>>2]-j[a+4>>2]|0)==4?340:341)|0;j[a+16>>2]=e;c=c-1|0;if(c){continue}break}h=b+h|0;break d}j[f+24>>2]=a+12;g=b+k|0;d=d>>1;g=d>>>0>>0?g:d;c=0;f:{if(!g){break f}if(g>>>0>=1073741824){break a}c=U(g<<2)}l=p(h,-341);j[f+8>>2]=c;d=c+(k-h<<2)|0;j[f+16>>2]=d;j[f+20>>2]=c+(g<<2);j[f+12>>2]=d;while(1){n=f,o=U(4092),j[n+4>>2]=o;yd(f+8|0,f+4|0);b=b-1|0;if(b){continue}break}g:{if(!h){g=j[a+4>>2];break g}g=j[a+4>>2];e=j[f+16>>2];while(1){h:{if(j[f+20>>2]!=(e|0)){break h}b=j[f+12>>2];m=j[f+8>>2];if(b>>>0>m>>>0){c=((b-m>>2)+1|0)/-2<<2;k=c+b|0;d=e-b|0;if(d){Ka(k,b,d);b=j[f+12>>2]}e=d+k|0;j[f+16>>2]=e;j[f+12>>2]=b+c;break h}c=e-m|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;i=U(c);k=c+i|0;c=e-b|0;d=i+(d&-4)|0;e=d;if(c){e=c+d|0;c=d;while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}j[f+20>>2]=k;j[f+16>>2]=e;j[f+12>>2]=d;j[f+8>>2]=i;if(!m){break h}T(m);e=j[f+16>>2]}j[e>>2]=j[g>>2];e=j[f+16>>2]+4|0;j[f+16>>2]=e;g=j[a+4>>2]+4|0;j[a+4>>2]=g;h=h-1|0;if(h){continue}break}}b=j[a+8>>2];c=g;if((b|0)!=(c|0)){while(1){b=b-4|0;xd(f+8|0,b);if(j[a+4>>2]!=(b|0)){continue}break}g=j[a+8>>2];c=b}d=j[a>>2];j[a>>2]=j[f+8>>2];j[f+8>>2]=d;j[a+4>>2]=j[f+12>>2];j[f+12>>2]=c;j[a+8>>2]=j[f+16>>2];j[f+16>>2]=g;b=j[a+12>>2];j[a+12>>2]=j[f+20>>2];j[f+20>>2]=b;j[a+16>>2]=l+j[a+16>>2];if((c|0)!=(g|0)){j[f+16>>2]=(((g-c|0)-4>>>2^-1)<<2)+g}if(!d){break b}T(d);break b}e=j[a+16>>2]}j[a+16>>2]=p(h,-341)+e;if(!h){break b}e=j[a+8>>2];while(1){b=j[a+4>>2];k=j[b>>2];b=b+4|0;j[a+4>>2]=b;i:{if(j[a+12>>2]!=(e|0)){break i}i=j[a>>2];if(i>>>0>>0){c=((b-i>>2)+1|0)/-2<<2;g=c+b|0;d=e-b|0;if(d){Ka(g,b,d);b=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break i}c=e-i|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;l=U(c);g=c+l|0;c=e-b|0;d=l+(d&-4)|0;e=d;if(c){e=c+d|0;c=d;while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=l;if(!i){break i}T(i);e=j[a+8>>2]}j[e>>2]=k;e=j[a+8>>2]+4|0;j[a+8>>2]=e;h=h-1|0;if(h){continue}break}}M=f+32|0;return}D();z()}function bp(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0;c=M-80|0;M=c;a:{b:{d=W(b);if(d>>>0<4294967280){c:{d:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+40>>2]=f|-2147483648;j[c+32>>2]=e;j[c+36>>2]=d;f=c+32|0;break d}h[c+43|0]=d;f=c+32|0;e=f;if(!d){break c}}V(e,b,d)}h[d+e|0]=0;e=Hc(a,c+32|0);if(h[f+11|0]<=-1){T(j[c+32>>2])}e:{if((e|0)==(a+4|0)){break e}j[c+48>>2]=0;j[c+52>>2]=0;j[c+40>>2]=0;j[c+44>>2]=0;j[c+32>>2]=0;j[c+36>>2]=0;d=W(b);if(d>>>0>=4294967280){break b}f:{g:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+24>>2]=f|-2147483648;j[c+16>>2]=e;j[c+20>>2]=d;f=c+16|0;break g}h[c+27|0]=d;f=c+16|0;e=f;if(!d){break f}}V(e,b,d)}h[d+e|0]=0;j[c+64>>2]=c+16;To(c+72|0,a,c+16|0,c- -64|0);Je(j[j[c+72>>2]+28>>2]);if(h[f+11|0]<=-1){T(j[c+16>>2])}d=W(b);if(d>>>0>=4294967280){break a}h:{i:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+24>>2]=f|-2147483648;j[c+16>>2]=e;j[c+20>>2]=d;f=c+16|0;break i}h[c+27|0]=d;f=c+16|0;e=f;if(!d){break h}}V(e,b,d)}h[d+e|0]=0;yh(a,c+16|0);if(h[f+11|0]<=-1){T(j[c+16>>2])}if(j[a+32>>2]){d=j[a+28>>2];while(1){g=W(b);e=(d>>>0)/341|0;f=j[j[a+16>>2]+(e<<2)>>2];e=d-p(e,341)|0;d=f+p(e,12)|0;i=k[d+11|0];j:{if((g|0)==((i<<24>>24<0?j[d+4>>2]:i)|0)){if(!_(d,0,-1,b,g)){break j}e=j[a+28>>2];f=(e>>>0)/341|0;e=e-p(f,341)|0;f=j[j[a+16>>2]+(f<<2)>>2]}i=p(e,12);e=j[c+52>>2]+j[c+48>>2]|0;g=j[c+40>>2];d=j[c+36>>2];l=g-d|0;if((e|0)==((l?p(l>>2,341)-1|0:0)|0)){xh(c+32|0);g=j[c+40>>2];d=j[c+36>>2];e=j[c+48>>2]+j[c+52>>2]|0}f=f+i|0;if((d|0)==(g|0)){e=0}else{g=d;d=(e>>>0)/341|0;e=j[g+(d<<2)>>2]+p(e-p(d,341)|0,12)|0}ha(e,f);j[c+52>>2]=j[c+52>>2]+1}f=a;e=j[a+28>>2];d=(e>>>0)/341|0;d=j[j[a+16>>2]+(d<<2)>>2]+p(e-p(d,341)|0,12)|0;if(h[d+11|0]<=-1){T(j[d>>2]);e=j[a+28>>2]}d=e+1|0;j[f+28>>2]=d;e=j[a+32>>2]-1|0;j[a+32>>2]=e;if(d>>>0>=682){T(j[j[a+16>>2]>>2]);j[a+16>>2]=j[a+16>>2]+4;d=j[a+28>>2]-341|0;j[a+28>>2]=d;e=j[a+32>>2]}if(e){continue}break}}g=a+12|0;if((g|0)!=(c+32|0)){e=j[c+36>>2];b=j[c+48>>2];d=(b>>>0)/341|0;f=e+(d<<2)|0;i=(e|0)==j[c+40>>2];j[c+20>>2]=i?0:j[f>>2]+p(b-p(d,341)|0,12)|0;j[c+16>>2]=f;f=b+j[c+52>>2]|0;d=(f>>>0)/341|0;b=e+(d<<2)|0;j[c+76>>2]=i?0:j[b>>2]+p(f-p(d,341)|0,12)|0;j[c+72>>2]=b;a=j[c+20>>2];j[c+8>>2]=j[c+16>>2];j[c+12>>2]=a;a=j[c+76>>2];j[c>>2]=j[c+72>>2];j[c+4>>2]=a;So(g,c+8|0,c)}b=j[c+48>>2];d=(b>>>0)/341|0;a=j[c+36>>2];e=j[c+40>>2];k:{if((a|0)==(e|0)){e=a;break k}g=(d<<2)+a|0;f=j[g>>2];d=f+p(b-p(d,341)|0,12)|0;b=b+j[c+52>>2]|0;i=(b>>>0)/341|0;b=j[(i<<2)+a>>2]+p(b-p(i,341)|0,12)|0;if((d|0)==(b|0)){break k}while(1){if(h[d+11|0]<=-1){T(j[d>>2]);f=j[g>>2]}d=d+12|0;if((d-f|0)==4092){f=j[g+4>>2];g=g+4|0;d=f}if((b|0)!=(d|0)){continue}break}a=j[c+36>>2];e=j[c+40>>2]}j[c+52>>2]=0;d=e-a>>2;if(d>>>0>2){while(1){T(j[a>>2]);a=j[c+36>>2]+4|0;j[c+36>>2]=a;e=j[c+40>>2];d=e-a>>2;if(d>>>0>2){continue}break}}f=170;l:{switch(d-1|0){case 1:f=341;case 0:j[c+48>>2]=f;break;default:break l}}m:{if((a|0)==(e|0)){break m}while(1){T(j[a>>2]);a=a+4|0;if((e|0)!=(a|0)){continue}break}a=j[c+40>>2];b=j[c+36>>2];if((a|0)==(b|0)){break m}j[c+40>>2]=a+(((a-b|0)-4>>>2^-1)<<2)}a=j[c+32>>2];if(!a){break e}T(a)}M=c+80|0;return}X();z()}X();z()}X();z()}function Hd(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:{s=k[a+28|0];b:{if(!s){break b}i=a+52|0;l=a+48|0;e=b-1|0;b=a+32|0;d=k[a+29|0];q=d&2;m=d&16;o=1;while(1){c:{d:{e:{f:{g:{h:{i:{j:{f=h[b|0];switch(f-91|0){case 0:break i;case 1:break d;case 2:break g;case 3:break h;default:break j}}if((f|0)==46){break f}if(!f){break b}break d}b=b+1|0;k:{if(m){if((b|0)!=(l|0)){break k}b=j[a+48>>2];g=e;break c}if((b|0)==(i|0)){break b}}g=e;if(k[b|0]){break c}break b}b=b+1|0;l:{if(m){if((b|0)!=(l|0)){break l}b=j[a+48>>2];p=1;break c}if((b|0)==(i|0)){break b}}p=1;if(k[b|0]){break c}break b}if(!(p|r)){break a}if(!r){m:{if(!q|c>>>0>e>>>0){break m}while(1){if((k[e|0]&192)!=128){break m}e=e-1|0;if(e>>>0>=c>>>0){continue}break}}e=e-1|0}b=b+1|0;n:{o:{if(m){if((b|0)!=(l|0)){break o}b=j[a+48>>2];break n}if((b|0)==(i|0)){break b}}b=k[b|0]?b:0}o=o+1|0;g=0;if(!b|c>>>0<=e>>>0){break e}break a}if(g){break d}b=b+1|0;p:{q:{if(m){if((b|0)!=(l|0)){break q}b=j[a+48>>2];break p}if((b|0)!=(i|0)){break q}b=0;break p}b=k[b|0]?b:0}r:{if(q){while(1){d=e;e=d-1|0;if(e>>>0>>0){break r}if((k[e|0]&192)==128){continue}break}g=0;if(!q|h[e|0]>-1){break c}e=d-2|0;if(e>>>0>=c>>>0){break c}return!b}g=0;e=e-1|0;if(e>>>0>=c>>>0){break c}}return!b}p=0;r=0;break c}s:{t:{u:{if(k[e|0]==(f&255)){b=b+1|0;v:{w:{if(m){if((b|0)!=(l|0)){break w}d=j[a+48>>2];break v}if((b|0)!=(i|0)){break w}d=0;break v}d=k[b|0]?b:0}if(!(!q|(f|0)>-1)){f=e-1|0;x:{if(!d|f>>>0>>0){break x}if(!m){while(1){n=k[d|0];b=f;if((n|0)!=k[b|0]){break u}if((n&192)!=128){break x}d=d+1|0;if((d|0)==(i|0)){f=b-1|0;d=0;e=b;break x}f=b-1|0;d=k[d|0]?d:0;if(!d){e=b;break x}e=b;if(c>>>0<=f>>>0){continue}break x}}while(1){n=k[d|0];b=f;if((n|0)!=k[b|0]){break u}if((n&192)!=128){break x}f=b-1|0;d=d+1|0;e=j[a+48>>2];y:{if((d|0)==(l|0)){break y}e=k[d|0]?d:0}d=e;if(!d){e=b;break x}e=b;if(c>>>0<=f>>>0){continue}break}}z:{if(!g){b=d;break z}if((f|0)==(g|0)){b=d;break z}if(p){break a}if((o|0)==(s|0)){break b}A:{if(!m){while(1){b=0;if(!d){break A}if(k[d|0]==93){b=d;break A}d=d+1|0;if((i|0)==(d|0)){break A}if(k[d|0]){continue}break A}}while(1){b=0;if(!d){break A}if(k[d|0]==93){b=d;break A}d=d+1|0;B:{if((l|0)==(d|0)){d=j[a+48>>2];break B}if(!k[d|0]){break A}}if(d){continue}break}}f=e-2|0;r=1}if(!b){b=0;break s}n=k[b|0];break t}if(!g){f=e;b=d;break s}if(p){break a}if((o|0)==(s|0)){break b}C:{if(!m){while(1){b=0;if(!d){break C}if(k[d|0]==93){b=d;break C}d=d+1|0;if((i|0)==(d|0)){break C}if(k[d|0]){continue}break C}}while(1){b=0;if(!d){break C}if(k[d|0]==93){b=d;break C}d=d+1|0;D:{if((l|0)==(d|0)){d=j[a+48>>2];break D}if(!k[d|0]){break C}}if(d){continue}break}}f=e-1|0;r=1;break s}if(!g){break a}b=b+1|0;E:{if(m){if((b|0)!=(l|0)){break E}b=j[a+48>>2];break c}if((b|0)==(i|0)){break b}}if(!k[b|0]){break b}break c}b=d;f=g;if(f){break t}break a}if((n|0)==93){break s}b=b+1|0;F:{if(m){if((b|0)!=(l|0)){break F}b=j[a+48>>2];break s}if((b|0)!=(i|0)){break F}b=0;break s}b=k[b|0]?b:0}o=!g+o|0;e=g?f:f-1|0;if(!b|e>>>0>=c>>>0|k[b|0]==93){break c}break a}if(b){continue}break}}return 1}return 0}function T(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0;a:{if(!a){break a}d=a-8|0;b=j[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=j[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=j[d+8>>2];b=b>>>3|0;c=j[d+12>>2];if((c|0)==(e|0)){i=150736,k=j[37684]&qr(-2,b),j[i>>2]=k;break b}j[e+12>>2]=c;j[c+8>>2]=e;break b}h=j[d+24>>2];b=j[d+12>>2];c:{if((d|0)!=(b|0)){c=j[d+8>>2];j[c+12>>2]=b;j[b+8>>2]=c;break c}d:{e=d+20|0;c=j[e>>2];if(c){break d}e=d+16|0;c=j[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=j[e>>2];if(c){continue}e=b+16|0;c=j[b+16>>2];if(c){continue}break}j[g>>2]=0}if(!h){break b}e=j[d+28>>2];c=(e<<2)+151040|0;e:{if(j[c>>2]==(d|0)){j[c>>2]=b;if(b){break e}i=150740,k=j[37685]&qr(-2,e),j[i>>2]=k;break b}j[h+(j[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}j[b+24>>2]=h;c=j[d+16>>2];if(c){j[b+16>>2]=c;j[c+24>>2]=b}c=j[d+20>>2];if(!c){break b}j[b+20>>2]=c;j[c+24>>2]=b;break b}b=j[f+4>>2];if((b&3)!=3){break b}j[37686]=a;j[f+4>>2]=b&-2;j[d+4>>2]=a|1;j[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=j[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(j[37690]==(f|0)){j[37690]=d;a=j[37687]+a|0;j[37687]=a;j[d+4>>2]=a|1;if(j[37689]!=(d|0)){break a}j[37686]=0;j[37689]=0;return}if(j[37689]==(f|0)){j[37689]=d;a=j[37686]+a|0;j[37686]=a;j[d+4>>2]=a|1;j[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){c=j[f+8>>2];b=b>>>3|0;e=j[f+12>>2];if((c|0)==(e|0)){i=150736,k=j[37684]&qr(-2,b),j[i>>2]=k;break g}j[c+12>>2]=e;j[e+8>>2]=c;break g}h=j[f+24>>2];b=j[f+12>>2];h:{if((f|0)!=(b|0)){c=j[f+8>>2];j[c+12>>2]=b;j[b+8>>2]=c;break h}i:{e=f+20|0;c=j[e>>2];if(c){break i}e=f+16|0;c=j[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=j[e>>2];if(c){continue}e=b+16|0;c=j[b+16>>2];if(c){continue}break}j[g>>2]=0}if(!h){break g}e=j[f+28>>2];c=(e<<2)+151040|0;j:{if(j[c>>2]==(f|0)){j[c>>2]=b;if(b){break j}i=150740,k=j[37685]&qr(-2,e),j[i>>2]=k;break g}j[h+(j[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}j[b+24>>2]=h;c=j[f+16>>2];if(c){j[b+16>>2]=c;j[c+24>>2]=b}c=j[f+20>>2];if(!c){break g}j[b+20>>2]=c;j[c+24>>2]=b}j[d+4>>2]=a|1;j[a+d>>2]=a;if(j[37689]!=(d|0)){break f}j[37686]=a;return}j[f+4>>2]=b&-2;j[d+4>>2]=a|1;j[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;b=(a<<3)+150776|0;c=j[37684];a=1<>2]}j[b+8>>2]=d;j[a+12>>2]=d;j[d+12>>2]=b;j[d+8>>2]=a;return}e=31;j[d+16>>2]=0;j[d+20>>2]=0;if(a>>>0<=16777215){b=a>>>8|0;g=b+1048320>>>16&8;b=b<>>16&4;b=b<>>16&2;b=(b<>>15|0)-(c|(e|g))|0;e=(b<<1|a>>>b+21&1)+28|0}j[d+28>>2]=e;g=(e<<2)+151040|0;l:{m:{c=j[37685];b=1<>2]=d;j[d+24>>2]=g;break n}e=a<<((e|0)==31?0:25-(e>>>1|0)|0);b=j[g>>2];while(1){c=b;if((j[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=j[g+16>>2];if(b){continue}break}j[g+16>>2]=d;j[d+24>>2]=c}j[d+12>>2]=d;j[d+8>>2]=d;break l}a=j[c+8>>2];j[a+12>>2]=d;j[c+8>>2]=d;j[d+24>>2]=0;j[d+12>>2]=c;j[d+8>>2]=a}a=j[37692]-1|0;j[37692]=a?a:-1}}function Ye(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0;f=a+b|0;a:{b:{c=j[a+4>>2];if(c&1){break b}if(!(c&3)){break a}c=j[a>>2];b=c+b|0;a=a-c|0;if((a|0)!=j[37689]){if(c>>>0<=255){e=j[a+8>>2];c=c>>>3|0;d=j[a+12>>2];if((d|0)==(e|0)){i=150736,k=j[37684]&qr(-2,c),j[i>>2]=k;break b}j[e+12>>2]=d;j[d+8>>2]=e;break b}h=j[a+24>>2];c=j[a+12>>2];c:{if((c|0)!=(a|0)){d=j[a+8>>2];j[d+12>>2]=c;j[c+8>>2]=d;break c}d:{e=a+20|0;d=j[e>>2];if(d){break d}e=a+16|0;d=j[e>>2];if(d){break d}c=0;break c}while(1){g=e;c=d;e=c+20|0;d=j[e>>2];if(d){continue}e=c+16|0;d=j[c+16>>2];if(d){continue}break}j[g>>2]=0}if(!h){break b}e=j[a+28>>2];d=(e<<2)+151040|0;e:{if(j[d>>2]==(a|0)){j[d>>2]=c;if(c){break e}i=150740,k=j[37685]&qr(-2,e),j[i>>2]=k;break b}j[h+(j[h+16>>2]==(a|0)?16:20)>>2]=c;if(!c){break b}}j[c+24>>2]=h;d=j[a+16>>2];if(d){j[c+16>>2]=d;j[d+24>>2]=c}d=j[a+20>>2];if(!d){break b}j[c+20>>2]=d;j[d+24>>2]=c;break b}c=j[f+4>>2];if((c&3)!=3){break b}j[37686]=b;j[f+4>>2]=c&-2;j[a+4>>2]=b|1;j[f>>2]=b;return}c=j[f+4>>2];f:{if(!(c&2)){if(j[37690]==(f|0)){j[37690]=a;b=j[37687]+b|0;j[37687]=b;j[a+4>>2]=b|1;if(j[37689]!=(a|0)){break a}j[37686]=0;j[37689]=0;return}if(j[37689]==(f|0)){j[37689]=a;b=j[37686]+b|0;j[37686]=b;j[a+4>>2]=b|1;j[a+b>>2]=b;return}b=(c&-8)+b|0;g:{if(c>>>0<=255){e=j[f+8>>2];c=c>>>3|0;d=j[f+12>>2];if((d|0)==(e|0)){i=150736,k=j[37684]&qr(-2,c),j[i>>2]=k;break g}j[e+12>>2]=d;j[d+8>>2]=e;break g}h=j[f+24>>2];c=j[f+12>>2];h:{if((f|0)!=(c|0)){d=j[f+8>>2];j[d+12>>2]=c;j[c+8>>2]=d;break h}i:{d=f+20|0;e=j[d>>2];if(e){break i}d=f+16|0;e=j[d>>2];if(e){break i}c=0;break h}while(1){g=d;c=e;d=c+20|0;e=j[d>>2];if(e){continue}d=c+16|0;e=j[c+16>>2];if(e){continue}break}j[g>>2]=0}if(!h){break g}e=j[f+28>>2];d=(e<<2)+151040|0;j:{if(j[d>>2]==(f|0)){j[d>>2]=c;if(c){break j}i=150740,k=j[37685]&qr(-2,e),j[i>>2]=k;break g}j[h+(j[h+16>>2]==(f|0)?16:20)>>2]=c;if(!c){break g}}j[c+24>>2]=h;d=j[f+16>>2];if(d){j[c+16>>2]=d;j[d+24>>2]=c}d=j[f+20>>2];if(!d){break g}j[c+20>>2]=d;j[d+24>>2]=c}j[a+4>>2]=b|1;j[a+b>>2]=b;if(j[37689]!=(a|0)){break f}j[37686]=b;return}j[f+4>>2]=c&-2;j[a+4>>2]=b|1;j[a+b>>2]=b}if(b>>>0<=255){b=b>>>3|0;c=(b<<3)+150776|0;d=j[37684];b=1<>2]}j[c+8>>2]=a;j[b+12>>2]=a;j[a+12>>2]=c;j[a+8>>2]=b;return}e=31;j[a+16>>2]=0;j[a+20>>2]=0;if(b>>>0<=16777215){c=b>>>8|0;g=c+1048320>>>16&8;c=c<>>16&4;c=c<>>16&2;c=(c<>>15|0)-(d|(e|g))|0;e=(c<<1|b>>>c+21&1)+28|0}j[a+28>>2]=e;g=(e<<2)+151040|0;l:{d=j[37685];c=1<>2]=a;j[a+24>>2]=g;break m}e=b<<((e|0)==31?0:25-(e>>>1|0)|0);c=j[g>>2];while(1){d=c;if((j[c+4>>2]&-8)==(b|0)){break l}c=e>>>29|0;e=e<<1;g=d+(c&4)|0;c=j[g+16>>2];if(c){continue}break}j[g+16>>2]=a;j[a+24>>2]=d}j[a+12>>2]=a;j[a+8>>2]=a;return}b=j[d+8>>2];j[b+12>>2]=a;j[d+8>>2]=a;j[a+24>>2]=0;j[a+12>>2]=d;j[a+8>>2]=b}}function Zo(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;d=M-48|0;M=d;a:{if(k[a+4212|0]){break a}h[a+4212|0]=1;j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;b:{c:{f=ka(b,d+40|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){break c}l=a+4216|0;i=-1;while(1){d:{switch(n|0){case 1:i=j[d+40>>2];g=i-f|0;if(g>>>0>=4294967280){break b}e:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break e}o=g+16&-16;e=U(o);j[d+32>>2]=o|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(i|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((i|0)!=(f|0)){continue}break}}h[e|0]=0;f:{if(h[d+35|0]>=0){i=ta(d+24|0);break f}e=j[d+24>>2];i=ta(e);T(e)}if((i|0)<=0){f=0;break a}$n(l,i);case 0:p=p+1|0;break;default:break d}}n=n+1|0;f=ka(b,d+40|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)!=((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){continue}break}if((p|0)!=2){break c}f=1;if((i|0)<1){break a}r=a+4216|0;n=0;while(1){g:{j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;h:{if(vb(c,d+24|0)){bb(d+24|0);j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;b=j[a+4220>>2];i:{if(b>>>0>2]){j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;j[b>>2]=j[d+8>>2];j[b+4>>2]=j[d+12>>2];j[b+8>>2]=j[d+16>>2];j[a+4220>>2]=b+12;break i}Vn(r,d+8|0);b=j[d+8>>2];if(!b){break i}e=j[d+12>>2];f=b;j:{if((b|0)==(e|0)){break j}while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((e|0)!=(b|0)){continue}break}f=j[d+8>>2]}j[d+12>>2]=b;T(f)}p=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;f=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];e=g<<24>>24<0;if((f|0)!=((e?b:d+24|0)+(e?j[d+28>>2]:g)|0)){while(1){k:{l:{switch(p|0){case 0:if(!_(d+24|0,f-(e&1?b:d+24|0)|0,3,1568,3)){break k}i=0;f=0;break h;case 1:break l;default:break k}}g=j[d+40>>2];if((f|0)==(g|0)){break k}while(1){e=f+1|0;m:{n:{b=f;l=k[b|0];if((l|0)==40){while(1){b=b+1|0;if((g|0)==(b|0)){break n}if(k[b|0]!=41){continue}break}f=e;g=b;break m}if(!j[a+4144>>2]|l>>>0<192){break n}o:{if((e|0)==(g|0)){break o}while(1){if((k[e|0]&192)!=128){g=e;break o}e=e+1|0;if((g|0)!=(e|0)){continue}break}}b=g-1|0;break m}b=f;g=e}l=g-f|0;if(l>>>0>=4294967280){break g}o=j[a+4220>>2];p:{if(l>>>0<=10){h[d+19|0]=l;e=d+8|0;break p}q=l+16&-16;e=U(q);j[d+16>>2]=q|-2147483648;j[d+8>>2]=e;j[d+12>>2]=l}if((f|0)!=(g|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((f|0)!=(g|0)){continue}break}}h[e|0]=0;f=o-8|0;e=j[f>>2];q:{if(e>>>0>2]){g=j[d+12>>2];j[e>>2]=j[d+8>>2];j[e+4>>2]=g;j[e+8>>2]=j[d+16>>2];j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;j[f>>2]=e+12;break q}Eb(o-12|0,d+8|0)}if(h[d+19|0]<=-1){T(j[d+8>>2])}g=j[d+40>>2];f=b+1|0;if((g|0)!=(f|0)){continue}break}}p=p+1|0;f=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];e=g<<24>>24<0;if((f|0)!=((e?b:d+24|0)+(e?j[d+28>>2]:g)|0)){continue}break}}b=j[a+4220>>2]-12|0;f=1;if(j[b>>2]!=j[b+4>>2]){break h}}f=0}if(h[d+35|0]<=-1){T(j[d+24>>2])}n=n+1|0;if((n|0)<(i|0)&f){continue}break a}break}X();z()}f=0;break a}X();z()}M=d+48|0;return f}function Bp(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,q=0,r=0,s=0;e=M+ -64|0;M=e;j[d>>2]=0;a:{b:{c:{d:{e:{f:{g:{if(j[a+56>>2]){j[e+56>>2]=0;j[e+48>>2]=0;j[e+52>>2]=0;j[e+40>>2]=0;j[e+32>>2]=0;j[e+36>>2]=0;g=W(b);if(g>>>0>=4294967280){break g}h:{i:{if(g>>>0>=11){f=g+16&-16;m=U(f);j[e+24>>2]=f|-2147483648;j[e+16>>2]=m;j[e+20>>2]=g;f=e+16|0;break i}h[e+27|0]=g;f=e+16|0;m=f;if(!g){break h}}V(m,b,g)}h[g+m|0]=0;n=ia(e+48|0,e+16|0);if(h[f+11|0]<=-1){T(j[e+16>>2])}g=W(c);if(g>>>0>=4294967280){break f}j:{k:{if(g>>>0>=11){f=g+16&-16;b=U(f);j[e+24>>2]=f|-2147483648;j[e+16>>2]=b;j[e+20>>2]=g;f=e+16|0;break k}h[e+27|0]=g;f=e+16|0;b=f;if(!g){break j}}V(b,c,g)}m=0;h[b+g|0]=0;b=ia(e+32|0,e+16|0);if(h[f+11|0]<=-1){T(j[e+16>>2])}g=(n|0)<1|(b|0)<1;if(g){break c}l:{if(j[a+76>>2]){c=(b<<1)-2|0;f=c+j[e+32>>2]|0;f=k[f|0]|k[f+1|0]<<8;i[e+14>>1]=f;a=j[a+60>>2];i[e+10>>1]=f;Zh(e+16|0,e+10|0,a);a=c+j[e+32>>2]|0;c=l[e+16>>1];h[a|0]=c;h[a+1|0]=c>>>8;break l}c=j[e+32>>2];c=k[c|0]|k[c+1|0]<<8;i[e+12>>1]=c;a=j[a+60>>2];i[e+8>>1]=c;Zh(e+16|0,e+8|0,a);a=j[e+32>>2];c=l[e+16>>1];h[a|0]=c;h[a+1|0]=c>>>8}a=b-1>>>0>>0?b:n;f=0;o=j[e+32>>2];s=j[e+48>>2];c=0;while(1){q=f<<1;r=q+s|0;r=k[r|0]|k[r+1|0]<<8;q=o+q|0;q=k[q|0]|k[q+1|0]<<8;m:{if(!((r&255)!=(q&255)|(r>>>8|0)!=(q>>>8|0))){m=m+1|0;break m}if((c|0)<=1){j[(e+16|0)+(c<<2)>>2]=f}c=c+1|0}f=f+1|0;if((a|0)!=(f|0)){continue}break}break d}f=W(c);if(f>>>0>=4294967280){break e}n:{o:{if(f>>>0>=11){g=f+16&-16;m=U(g);j[e+56>>2]=g|-2147483648;j[e+48>>2]=m;j[e+52>>2]=f;break o}h[e+59|0]=f;m=e+48|0;if(!f){break n}}V(m,c,f)}h[f+m|0]=0;p:{if(j[a+76>>2]){c=h[e+59|0];q:{if((c|0)<=-1){c=j[e+52>>2]-1|0;f=j[e+48>>2];m=c+f|0;break q}f=e+48|0;c=(c&255)-1|0;m=c+(e+48|0)|0}h[c+f|0]=k[(j[a+52>>2]+p(k[m|0],3)|0)+1|0];a=e+48|0;break p}Pa(e+48|0,j[a+52>>2]);a=e+48|0}m=0;a=k[a+11|0];g=a<<24>>24;a=(g|0)<0?j[e+52>>2]:a;r:{s:{if(!a){break s}f=0;n=(g|0)<0?j[e+48>>2]:e+48|0;c=0;t:{while(1){o=k[b+f|0];if(!o){break t}u:{if((o|0)==k[f+n|0]){m=m+1|0;break u}if((c|0)<=1){j[(e+16|0)+(c<<2)>>2]=f}c=c+1|0}f=f+1|0;if((a|0)!=(f|0)){continue}break}f=a}if(k[b+f|0]|(c|0)!=2|(a|0)!=(f|0)){break s}n=j[e+16>>2];c=k[n+b|0];a=j[e+20>>2];v:{if((g|0)<=-1){f=j[e+48>>2];if((c|0)==k[a+f|0]){break v}break r}f=e+48|0;if((c|0)!=k[a+(e+48|0)|0]){break b}}if(k[a+b|0]!=k[f+n|0]){break s}j[d>>2]=1}if((g|0)>-1){break b}}T(j[e+48>>2]);break b}X();z()}X();z()}X();z()}if((b|0)!=(n|0)|(c|0)!=2){break c}b=j[e+48>>2];a=j[e+16>>2];c=b+(a<<1)|0;c=k[c|0]|k[c+1|0]<<8;n=j[e+32>>2];f=j[e+20>>2];o=n+(f<<1)|0;o=k[o|0]|k[o+1|0]<<8;if((c&255)!=(o&255)|(c>>>8|0)!=(o>>>8|0)){break c}b=b+(f<<1)|0;b=k[b|0]|k[b+1|0]<<8;a=n+(a<<1)|0;a=k[a|0]|k[a+1|0]<<8;if((b&255)!=(a&255)|(b>>>8|0)!=(a>>>8|0)){break c}j[d>>2]=1}a=j[e+32>>2];if(a){j[e+36>>2]=a;T(a)}a=j[e+48>>2];if(a){j[e+52>>2]=a;T(a)}a=0;if(g){break a}}a=m}M=e- -64|0;return a}function Vq(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,m=0,n=0;c=M-80|0;M=c;i=U(65796);g=Fe(i,b);j[c+72>>2]=0;j[c+64>>2]=0;j[c+68>>2]=0;a:{b:{if(!vb(g,c- -64|0)){ea(g);T(i);m=2;a=c- -64|0;break b}bb(c- -64|0);if(!_(c- -64|0,0,3,120902,3)){pb(c- -64|0,0,3)}b=ta(h[c+75|0]<0?j[c+64>>2]:c- -64|0);j[a>>2]=b;if(b-1>>>0>=536870659){ea(g);T(i);m=4;a=c- -64|0;break b}d=b+1005|0;b=d&1?d:b+1006|0;j[a>>2]=b;b=Nd(b,4);j[a+4>>2]=b;if(!b){ea(g);T(i);m=3;a=c- -64|0;break b}j[c+56>>2]=0;j[c+48>>2]=0;j[c+52>>2]=0;c:{while(1){if(vb(g,c- -64|0)){bb(c- -64|0);b=Ba(c- -64|0,58,0);d:{if((b|0)==-1){d=-1;break d}while(1){e:{if(b>>>0<4){break e}d=b-3|0;f:{g:{f=h[c+75|0];h:{i:{if((f|0)<=-1){e=k[j[c+64>>2]+d|0];if((e|0)!=32){break i}break h}e=k[(c- -64|0)+d|0];if((e|0)==32){break g}}if((e|0)!=9){break e}if((f|0)>=0){break g}}e=j[c+64>>2];while(1){b=d-1|0;f=k[b+e|0];if((f|0)!=9?(f|0)!=32:0){break f}d=b;if(b){continue}break}d=-1;break d}while(1){b=d-1|0;e=k[b+(c- -64|0)|0];if((e|0)!=9?(e|0)!=32:0){break f}d=b;if(b){continue}break}d=-1;break d}d=d+1|0;break d}d=-1;b=Ba(c- -64|0,58,b+1|0);if((b|0)!=-1){continue}break}}b=Ba(c- -64|0,9,0);if((b|0)!=-1){e=b+1|0;d=(d|0)==-1?e:b>>>0>>0?e:d}j[c+40>>2]=0;j[c+32>>2]=0;j[c+36>>2]=0;if((d|0)!=-1){sa(c+16|0,c- -64|0,d,-1);if(h[c+43|0]<=-1){T(j[c+32>>2])}j[c+40>>2]=j[c+24>>2];b=j[c+20>>2];j[c+32>>2]=j[c+16>>2];j[c+36>>2]=b;Va(c- -64|0,d-1|0)}b=0;j:{k:{l:{while(1){d=Ba(c- -64|0,47,b);while(1){b=d;d=1;if(!b){continue}break}if((b|0)==-1){break l}f=b-1|0;d=k[c+75|0];e=d<<24>>24<0;if(k[f+(e?j[c+64>>2]:c- -64|0)|0]==92){pb(c- -64|0,f,1);continue}break}if(((e?j[c+68>>2]:d)|0)==(b|0)){break l}sa(c+16|0,c- -64|0,b+1|0,-1);Va(c- -64|0,b);d=j[a+84>>2];m:{if(d){b=ta(h[c+27|0]<0?j[c+16>>2]:c+16|0);n:{if(!((b|0)<=j[a+80>>2]?(b|0)>=1:0)){j[c+12>>2]=0;break n}b=b-1|0;j[c+12>>2]=j[d+(b<<2)>>2];b=l[j[a+88>>2]+(b<<1)>>1];e=1;if(b){break m}}b=0;e=1;break m}e=h[c+27|0]<0?j[c+16>>2]:c+16|0;b=W(e);if(b>>>0>=4294967280){break a}o:{p:{if(b>>>0>=11){f=b+16&-16;d=U(f);j[c+8>>2]=f|-2147483648;j[c>>2]=d;j[c+4>>2]=b;break p}h[c+11|0]=b;d=c;if(!b){break o}}V(d,e,b)}h[b+d|0]=0;b=Qe(a,c+12|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}if((b|0)==-1){ea(g);T(i);m=6;b=-1;e=0;break m}d=j[c+12>>2];Wc(d,d+(b<<1)|0,c);e=1}if(h[c+27|0]<=-1){T(j[c+16>>2])}d=0;if(e){break k}break j}b=0;j[c+12>>2]=0}q:{if(j[a+16>>2]){d=ia(c+48|0,c- -64|0);e=Mc(c+48|0,j[a+24>>2]);break q}d=k[c+75|0];d=d<<24>>24<0?j[c+68>>2]:d;e=Nc(c- -64|0,j[a+52>>2])}r:{f=j[c+12>>2];n=k[c+43|0];n=(n<<24>>24<0?j[c+36>>2]:n)?c+32|0:0;if(Lc(a,c- -64|0,d,f,b,n,0,e)){break r}if(Pe(a,c- -64|0,d,f,b,n,e)){break r}d=1;break j}ea(g);T(i);m=5;d=0}if(h[c+43|0]<=-1){T(j[c+32>>2])}if(d){continue}break c}break}ea(g);T(i);m=0}a=j[c+48>>2];if(a){j[c+52>>2]=a;T(a)}a=c- -64|0}if(h[a+11|0]<=-1){T(j[c+64>>2])}M=c+80|0;return m}X();z()}function Gl(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,l=0,m=0,n=0,o=0;h=M+ -64|0;M=h;j[h+56>>2]=b;j[e>>2]=0;i=j[d+28>>2];j[h>>2]=i;j[i+4>>2]=j[i+4>>2]+1;i=sb(h);l=j[h>>2];m=j[l+4>>2]-1|0;j[l+4>>2]=m;if((m|0)==-1){O[j[j[l>>2]+8>>2]](l)}a:{b:{c:{d:{switch(g-65|0){case 0:case 32:gg(a,f+24|0,h+56|0,c,e,i);break b;case 1:case 33:case 39:fg(a,f+16|0,h+56|0,c,e,i);break b;case 34:b=O[j[j[a+8>>2]+12>>2]](a+8|0)|0;g=h;i=a;m=j[h+56>>2];a=b;e:{if(k[a+11|0]>>>7|0){b=j[a>>2];break e}b=a}l=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}n=g,o=Yb(i,m,c,d,e,f,l,b+(a<<2)|0),j[n+56>>2]=o;break b;case 35:case 36:Fl(f+12|0,h+56|0,c,e,i);break b;case 3:g=j[31919];j[h+24>>2]=j[31918];j[h+28>>2]=g;g=j[31917];j[h+16>>2]=j[31916];j[h+20>>2]=g;g=j[31915];j[h+8>>2]=j[31914];j[h+12>>2]=g;g=j[31913];j[h>>2]=j[31912];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+32|0),j[n+56>>2]=o;break b;case 5:g=j[31927];j[h+24>>2]=j[31926];j[h+28>>2]=g;g=j[31925];j[h+16>>2]=j[31924];j[h+20>>2]=g;g=j[31923];j[h+8>>2]=j[31922];j[h+12>>2]=g;g=j[31921];j[h>>2]=j[31920];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+32|0),j[n+56>>2]=o;break b;case 7:El(f+8|0,h+56|0,c,e,i);break b;case 8:Dl(f+8|0,h+56|0,c,e,i);break b;case 41:Cl(f+28|0,h+56|0,c,e,i);break b;case 44:Al(f+16|0,h+56|0,c,e,i);break b;case 12:zl(f+4|0,h+56|0,c,e,i);break b;case 45:case 51:yl(h+56|0,c,e,i);break b;case 47:xl(a,f+8|0,h+56|0,c,e,i);break b;case 49:g=V(h,127712,44);n=g,o=Yb(a,b,c,d,e,f,g,g+44|0),j[n+56>>2]=o;break b;case 17:j[h+16>>2]=j[31944];g=j[31943];j[h+8>>2]=j[31942];j[h+12>>2]=g;g=j[31941];j[h>>2]=j[31940];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+20|0),j[n+56>>2]=o;break b;case 18:wl(f,h+56|0,c,e,i);break b;case 19:g=j[31955];j[h+24>>2]=j[31954];j[h+28>>2]=g;g=j[31953];j[h+16>>2]=j[31952];j[h+20>>2]=g;g=j[31951];j[h+8>>2]=j[31950];j[h+12>>2]=g;g=j[31949];j[h>>2]=j[31948];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+32|0),j[n+56>>2]=o;break b;case 54:vl(f+24|0,h+56|0,c,e,i);break b;case 55:a=O[j[j[a>>2]+20>>2]](a,b,c,d,e,f)|0;break a;case 23:b=O[j[j[a+8>>2]+24>>2]](a+8|0)|0;g=h;i=a;m=j[h+56>>2];a=b;f:{if(k[a+11|0]>>>7|0){b=j[a>>2];break f}b=a}l=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}n=g,o=Yb(i,m,c,d,e,f,l,b+(a<<2)|0),j[n+56>>2]=o;break b;case 56:eg(f+20|0,h+56|0,c,e,i);break b;case 24:ul(f+20|0,h+56|0,c,e,i);break b;default:if((g|0)==37){break c}break;case 2:case 4:case 6:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 20:case 21:case 22:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 37:case 38:case 40:case 42:case 43:case 46:case 48:case 50:case 52:case 53:break d}}j[e>>2]=j[e>>2]|4;break b}tl(h+56|0,c,e,i)}a=j[h+56>>2]}M=h- -64|0;return a|0}function Rh(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0;n=M-16|0;M=n;d=k[c+11|0];e=d<<24>>24;a:{d=(e|0)<0?j[c+4>>2]:d;if(!d){break a}b:{c:{d:{switch(j[a+8>>2]-1|0){case 0:a=j[b>>2];e=j[b+4>>2]-a|0;g=e>>1;l=d>>>1|0;d=g+l|0;e:{if(d>>>0<=j[b+8>>2]-a>>1>>>0){break e}if((d|0)<=-1){break c}o=d<<1;d=U(o);if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+o;j[b+4>>2]=d+(g<<1);j[b>>2]=d;if(!a){break e}T(a)}if(!l){break a}while(1){a=h[c+11|0]<0?j[c>>2]:c;d=f<<1;o=k[a+d|0]<<8|k[a+(d|1)|0];a=j[b+4>>2];d=j[b+8>>2];f:{if(a>>>0>>0){i[a>>1]=o;j[b+4>>2]=a+2;break f}e=a;a=j[b>>2];e=e-a|0;if((e|0)<=-3){break b}p=e>>1;g=p+1|0;d=d-a|0;g=d>>1>>>0<1073741823?d>>>0>>0?g:d:2147483647;d=0;g:{if(!g){break g}if((g|0)<=-1){break c}d=U(g<<1)}p=d+(p<<1)|0;i[p>>1]=o;if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+(g<<1);j[b+4>>2]=p+2;j[b>>2]=d;if(!a){break f}T(a)}f=f+1|0;if((l|0)!=(f|0)){continue}break}break a;case 1:c=(e|0)<0?j[c>>2]:c;a=c;h:{while(1){i:{f=k[c|0];j:{if((f|0)!=44){if(f){break j}e=ta(a);a=j[b+4>>2];c=j[b+8>>2];if(a>>>0>=c>>>0){break i}i[a>>1]=e;j[b+4>>2]=a+2;break h}g=ta(a);a=j[b+4>>2];f=j[b+8>>2];k:{if(a>>>0>>0){i[a>>1]=g;j[b+4>>2]=a+2;break k}d=a;a=j[b>>2];d=d-a|0;if((d|0)<=-3){break b}l=d>>1;e=l+1|0;f=f-a|0;e=f>>1>>>0<1073741823?e>>>0>f>>>0?e:f:2147483647;f=0;l:{if(!e){break l}if((e|0)<=-1){break c}f=U(e<<1)}l=f+(l<<1)|0;i[l>>1]=g;if((d|0)>=1){V(f,a,d)}j[b+8>>2]=f+(e<<1);j[b+4>>2]=l+2;j[b>>2]=f;if(!a){break k}T(a)}a=c+1|0}c=c+1|0;continue}break}d=a;a=j[b>>2];f=d-a|0;if((f|0)<=-3){break b}g=f>>1;d=g+1|0;c=c-a|0;d=c>>1>>>0<1073741823?c>>>0>>0?d:c:2147483647;c=0;m:{if(!d){break m}if((d|0)<=-1){break c}c=U(d<<1)}g=c+(g<<1)|0;i[g>>1]=e;if((f|0)>=1){V(c,a,f)}j[b+8>>2]=c+(d<<1);j[b+4>>2]=g+2;j[b>>2]=c;if(!a){break h}T(a)}break a;case 2:j[n+8>>2]=0;j[n>>2]=0;j[n+4>>2]=0;ia(n,c);f=j[b>>2];c=j[b+4>>2]-f>>1;a=j[n>>2];e=j[n+4>>2]-a|0;g=e>>1;d=c+g|0;n:{if(c>>>0>>0){Nq(b,g);f=j[b>>2];a=j[n>>2];break n}if(c>>>0<=d>>>0){break n}j[b+4>>2]=(d<<1)+f}V((c<<1)+f|0,a,e);a=j[n>>2];if(!a){break a}j[n+4>>2]=a;T(a);break a;default:break d}}a=j[b>>2];o:{if(d>>>0<=j[b+8>>2]-a>>1>>>0){break o}if((d|0)<=-1){break c}e=j[b+4>>2];g=d<<1;d=U(g);e=e-a|0;l=d+e|0;if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+g;j[b+4>>2]=l;j[b>>2]=d;if(!a){break o}T(a)}while(1){d=h[c+11|0];p:{if((d|0)<=-1){if(m[c+4>>2]<=f>>>0){break a}a=j[c>>2];break p}a=c;if((d&255)>>>0<=f>>>0){break a}}l=k[a+f|0];a=j[b+4>>2];d=j[b+8>>2];if(a>>>0>>0){i[a>>1]=l;j[b+4>>2]=a+2;f=f+1|0;continue}e=a;a=j[b>>2];e=e-a|0;if((e|0)<=-3){break b}o=e>>1;g=o+1|0;d=d-a|0;g=d>>1>>>0<1073741823?d>>>0>>0?g:d:2147483647;d=0;q:{if(!g){break q}if((g|0)<=-1){break c}d=U(g<<1)}o=d+(o<<1)|0;i[o>>1]=l;if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+(g<<1);j[b+4>>2]=o+2;j[b>>2]=d;if(a){T(a)}f=f+1|0;continue}}D();z()}X();z()}M=n+16|0}function Fh(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;e=M+ -64|0;M=e;a:{f=0;b:{if(j[c>>2]){break b}j[e+56>>2]=h[a+11|0]<0?j[a>>2]:a;c:{d:{e:{g=ka(a,e+56|0);f=k[a+11|0];o=f<<24>>24<0;if((g|0)==((o?j[a>>2]:a)+(o?j[a+4>>2]:f)|0)){break e}o=0;while(1){f:{switch(l|0){case 1:n=j[e+56>>2];m=n-g|0;if(m>>>0>=4294967280){break a}g:{if(m>>>0<=10){h[e+51|0]=m;f=e+40|0;break g}i=m+16&-16;f=U(i);j[e+48>>2]=i|-2147483648;j[e+40>>2]=f;j[e+44>>2]=m}if((g|0)!=(n|0)){while(1){h[f|0]=k[g|0];f=f+1|0;g=g+1|0;if((n|0)!=(g|0)){continue}break}}h[f|0]=0;h:{if(h[e+51|0]>=0){m=ta(e+40|0);break h}f=j[e+40>>2];m=ta(f);T(f)}f=0;if((m|0)<=0){break b}f=U(12);$p(f,m);j[c>>2]=f;case 0:o=o+1|0;break;default:break f}}l=l+1|0;g=ka(a,e+56|0);f=k[a+11|0];n=f<<24>>24<0;if((g|0)!=((n?j[a>>2]:a)+(n?j[a+4>>2]:f)|0)){continue}break}if((o|0)!=2){break e}if((m|0)<1){o=0;break c}o=1;n=0;break d}f=0;break b}while(1){j[e+48>>2]=0;j[e+40>>2]=0;j[e+44>>2]=0;g=1;i:{if(!vb(b,e+40|0)){break i}bb(e+40|0);a=0;j[e+32>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;j[e+16>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;j[e+56>>2]=h[e+51|0]<0?j[e+40>>2]:e+40|0;g=ka(e+40|0,e+56|0);l=j[e+40>>2];i=k[e+51|0];f=i<<24>>24<0;j:{if((g|0)!=((f?l:e+40|0)+(f?j[e+44>>2]:i)|0)){while(1){k:{l:{switch(a|0){case 0:i=g-(f&1?l:e+40|0)|0;f=k[d+11|0];f=f<<24>>24<0?j[d+4>>2]:f;if(!Sd(e+40|0,i,f,d,0,f)){break k}a=j[c>>2];if(a){T(Ie(a))}j[c>>2]=0;g=1;break j;case 1:p=j[e+56>>2];l=p-g|0;i=h[e+35|0];m:{n:{o:{if((i|0)<=-1){f=(j[e+32>>2]&2147483647)-1|0;if(l>>>0<=f>>>0){break n}i=j[e+28>>2];break o}f=e+24|0;if(l>>>0<=10){break m}f=10;i=i&255}qb(e+24|0,f,l-f|0,i,0,i,0);f=e+24|0;if(h[e+35|0]>-1){break m}}f=j[e+24>>2]}if((g|0)!=(p|0)){while(1){h[f|0]=k[g|0];f=f+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[f|0]=0;if(h[e+35|0]<=-1){j[e+28>>2]=l;break k}h[e+35|0]=l;break k;case 2:break l;default:break k}}p=j[e+56>>2];l=p-g|0;i=h[e+19|0];p:{q:{r:{if((i|0)<=-1){f=(j[e+16>>2]&2147483647)-1|0;if(l>>>0<=f>>>0){break q}i=j[e+12>>2];break r}f=e+8|0;if(l>>>0<=10){break p}f=10;i=i&255}qb(e+8|0,f,l-f|0,i,0,i,0);f=e+8|0;if(h[e+19|0]>-1){break p}}f=j[e+8>>2]}if((g|0)!=(p|0)){while(1){h[f|0]=k[g|0];f=f+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[f|0]=0;if(h[e+19|0]<=-1){j[e+12>>2]=l;break k}h[e+19|0]=l}a=a+1|0;g=ka(e+40|0,e+56|0);l=j[e+40>>2];i=k[e+51|0];f=i<<24>>24<0;if((g|0)!=((f?l:e+40|0)+(f?j[e+44>>2]:i)|0)){continue}break}}s:{a=k[e+35|0];if(a<<24>>24<0?j[e+28>>2]:a){a=k[e+19|0];if(a<<24>>24<0?j[e+12>>2]:a){break s}}g=1;break j}_p(j[c>>2],e+24|0,e+8|0);g=0}if(h[e+19|0]<=-1){T(j[e+8>>2])}if(h[e+35|0]>-1){break i}T(j[e+24>>2])}if(h[e+51|0]<=-1){T(j[e+40>>2])}if(g){break c}n=n+1|0;o=(n|0)<(m|0);if((m|0)!=(n|0)){continue}break}}f=o^1}a=f;M=e- -64|0;return a&1}X();z()}function $d(a,b,c,d,e,f,g,m,n){var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;q=M-32|0;M=q;a:{if(!g){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}o=e;if(f){x=l[b+4476>>1];p=f;while(1){u=p>>>1|0;r=(u<<1)+o|0;s=x>>>0>l[r>>1];o=s?r+2|0:o;p=s?(u^-1)+p|0:u;if(p){continue}break}}if(!(((f<<1)+e|0)==(o|0)|l[b+4476>>1]>1])){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}b:{c:{d:{if(!Af(g,m)){e=W(c);if(e>>>0>=4294967280){break d}e:{f:{if(e>>>0>=11){d=e+16&-16;b=U(d);j[a+8>>2]=d|-2147483648;j[a>>2]=b;j[a+4>>2]=e;a=b;break f}h[a+11|0]=e;if(!e){break e}}V(a,c,e)}h[a+e|0]=0;break a}j[q+24>>2]=0;j[q+16>>2]=0;j[q+20>>2]=0;g:{h:{if(ca(g,1752)){break h}if(ca(g,1756)){break h}x=-1;break g}Ja(q+16|0,g);Z(q+16|0,32);g=h[q+27|0];x=j[q+20>>2];if((g|0)<=-1){break g}x=g&255}if(f){G=(x|0)==-1;while(1){i:{E=(A<<1)+e|0;o=l[E>>1];t=j[(((o&255)<<2)+b|0)+3072>>2];if(!t){break i}while(1){j:{if(l[t+30>>1]!=(o&65535)){break j}y=j[t+52>>2];if(!y){break j}g=i[t+60>>1];k:{if(!g){break k}w=l[b+4476>>1];s=j[t+56>>2];o=s;p=g;while(1){v=p>>>1|0;r=(v<<1)+o|0;u=w>>>0>l[r>>1];o=u?r+2|0:o;p=u?(v^-1)+p|0:v;if(p){continue}break}if((s+(g<<1)|0)==(o|0)){break k}if(w>>>0>=l[o>>1]){break j}}if(!G){gf(q+16|0,x,-1,y);y=h[q+27|0]<0?j[q+16>>2]:q+16|0}v=Af(y,m);l:{if(v){break l}Te(a,t,c,d);g=h[a+11|0];m:{n:{if((g|0)<=-1){if(!j[a+4>>2]){break m}p=j[a>>2];break n}p=a;if(!g){break j}}B=q+16|0;p=dc(j[b+4100>>2],p);if(!p){break b}g=j[p+4>>2];if(!g){break b}C=l[p+2>>1];r=C<<16>>16;F=(r<<1)+g|0;o=g;if(C){u=l[b+4192>>1];p=r;while(1){D=p>>>1|0;s=(D<<1)+o|0;w=l[s>>1]>>0;o=w?s+2|0:o;p=w?(D^-1)+p|0:D;if(p){continue}break}}if(!(l[b+4192>>1]>=l[o>>1]?(o|0)!=(F|0):0)){if(C){while(1){s=r>>>1|0;p=(s<<1)+g|0;o=l[p>>1]<65511;g=o?p+2|0:g;r=o?(s^-1)+r|0:s;if(r){continue}break}}if((g|0)==(F|0)|l[g>>1]>65511){break b}}if(h[a+11|0]>-1){break l}}T(j[a>>2])}if((v|0)!=1|n){break j}g=i[t+60>>1];if((g|0)<1){break j}w=l[b+4476>>1];s=j[t+56>>2];o=s;r=g&65535;p=r;while(1){v=p>>>1|0;g=(v<<1)+o|0;u=w>>>0>l[g>>1];o=u?g+2|0:o;p=u?(v^-1)+p|0:v;if(p){continue}break}if(w>>>0>=l[o>>1]?(s+(r<<1)|0)!=(o|0):0){break j}Te(q,t,c,d);p=a;s=b;o=k[q+11|0];r=o<<24>>24;o:{p:{if((r|0)<=-1){o=j[q+4>>2];if(!o){break o}g=j[q>>2];break p}if(!r){break j}g=q}$d(p,s,g,o,j[t+56>>2],l[t+60>>1],y,m,1);g=h[a+11|0];q:{if((g|0)<=-1){if(j[a+4>>2]){break c}T(j[a>>2]);break q}if(g){break c}}if(h[q+11|0]>-1){break j}}T(j[q>>2])}t=j[t+92>>2];if(!t){break i}o=l[E>>1];continue}}A=A+1|0;if((A|0)!=(f|0)){continue}break}}B=q+16|0;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break b}X();z()}if(h[q+11|0]<=-1){T(j[q>>2])}B=q+16|0}if(h[B+11|0]>-1){break a}T(j[q+16>>2])}M=q+32|0}function Vc(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;a:{if(!k[a+28|0]){break a}f=a+52|0;g=a+48|0;c=a+32|0;d=k[a+29|0];n=d&2;i=d&16;while(1){b:{c:{d:{e:{f:{g:{h:{d=h[c|0];switch(d-91|0){case 1:break c;case 2:break e;case 3:break f;case 0:break g;default:break h}}if((d|0)==46){break d}if(!d){break a}break c}c=c+1|0;i:{if(i){if((c|0)!=(g|0)){break i}c=j[a+48>>2];o=0;e=b;m=0;break b}if((c|0)==(f|0)){break a}}o=0;e=b;m=0;if(k[c|0]){break b}break a}c=c+1|0;j:{if(i){if((c|0)!=(g|0)){break j}c=j[a+48>>2];o=1;break b}if((c|0)==(f|0)){break a}}o=1;if(k[c|0]){break b}break a}if((m|0)==(o|0)){return 0}d=c+1|0;k:{l:{if(i){if((d|0)!=(g|0)){break l}c=j[a+48>>2];break k}if((d|0)!=(f|0)){break l}c=0;break k}c=k[d|0]?d:0}m:{if(m){d=b;break m}if(!k[b|0]){d=b;break m}if(!n){d=b+1|0;break m}while(1){e=k[b+1|0];d=b+1|0;b=d;if((e&192)==128){continue}break}}e=0;if(!c){b=d;break b}if(k[d|0]){b=d;break b}return 0}if(e){break c}d=c+1|0;n:{o:{if(i){if((d|0)!=(g|0)){break o}c=j[a+48>>2];break n}if((d|0)!=(f|0)){break o}c=0;break n}c=k[d|0]?d:0}p:{if(!n){d=b+1|0;l=k[b+1|0];break p}while(1){l=k[b+1|0];d=b+1|0;b=d;if((l&192)==128){continue}break}}e=0;if(!c){b=d;break b}if(l){b=d;break b}return 0}q:{r:{s:{t:{u:{v:{if(k[b|0]==(d&255)){c=c+1|0;b=b+1|0;w:{x:{if(i){if((c|0)!=(g|0)){break x}c=j[a+48>>2];break w}if((c|0)==(f|0)){break u}}c=k[c|0]?c:0}if(!(!n|(d|0)>-1)){if(!c){break r}if(!i){l=k[c|0];if((l&192)!=128){break q}while(1){if(k[b|0]!=(l|0)){break v}c=c+1|0;if((f|0)==(c|0)|!k[c|0]){break s}b=b+1|0;l=k[c|0];if((l&192)==128){continue}break}break q}while(1){d=k[c|0];if((d&192)!=128){break q}if((d|0)!=k[b|0]){break v}c=c+1|0;y:{if((g|0)==(c|0)){c=j[a+48>>2];break y}if(!k[c|0]){break s}}b=b+1|0;if(c){continue}break}break r}if(!e){e=0;break b}if(!i){break t}while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;z:{if((g|0)==(c|0)){c=j[a+48>>2];break z}if(!k[c|0]){break a}}if(c){continue}break}break a}if(!e){return 0}c=c+1|0;A:{if(i){if((c|0)!=(g|0)){break A}c=j[a+48>>2];break b}if((c|0)==(f|0)){break a}}if(!k[c|0]){break a}break b}b=e;if(b){break b}return 0}if((d|0)<=-1){c=0;if(n){break q}}c=0;if(!e){break a}}while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;if((f|0)==(c|0)){break a}if(k[c|0]){continue}break}break a}b=b+1|0}c=0}if(!e){e=0;break b}if((b|0)==(e|0)){b=e;break b}if(!i){while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;if((f|0)==(c|0)){break a}if(k[c|0]){continue}break a}}while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;B:{if((g|0)==(c|0)){c=j[a+48>>2];break B}if(!k[c|0]){break a}}if(c){continue}break}break a}if(c){continue}break}}return 1}function Yl(a,b,c,d,e,f,g,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var l=0,m=0,n=0,o=0,p=0;i=M-32|0;M=i;j[i+24>>2]=b;j[e>>2]=0;l=j[d+28>>2];j[i+8>>2]=l;j[l+4>>2]=j[l+4>>2]+1;l=tb(i+8|0);m=j[i+8>>2];n=j[m+4>>2]-1|0;j[m+4>>2]=n;if((n|0)==-1){O[j[j[m>>2]+8>>2]](m)}a:{b:{c:{d:{switch(g-65|0){case 0:case 32:kg(a,f+24|0,i+24|0,c,e,l);break b;case 1:case 33:case 39:jg(a,f+16|0,i+24|0,c,e,l);break b;case 34:b=O[j[j[a+8>>2]+12>>2]](a+8|0)|0;g=i;l=a;n=j[i+24>>2];a=b;e:{if(k[a+11|0]>>>7|0){b=j[a>>2];break e}b=a}m=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}o=g,p=Zb(l,n,c,d,e,f,m,b+a|0),j[o+24>>2]=p;break b;case 35:case 36:Xl(f+12|0,i+24|0,c,e,l);break b;case 3:j[i+8>>2]=623865125;j[i+12>>2]=2032480100;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+16|0),j[o+24>>2]=p;break b;case 5:j[i+8>>2]=623728933;j[i+12>>2]=1680158061;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+16|0),j[o+24>>2]=p;break b;case 7:Wl(f+8|0,i+24|0,c,e,l);break b;case 8:Vl(f+8|0,i+24|0,c,e,l);break b;case 41:Ul(f+28|0,i+24|0,c,e,l);break b;case 44:Tl(f+16|0,i+24|0,c,e,l);break b;case 12:Sl(f+4|0,i+24|0,c,e,l);break b;case 45:case 51:Rl(i+24|0,c,e,l);break b;case 47:Ql(a,f+8|0,i+24|0,c,e,l);break b;case 49:g=k[127631]|k[127632]<<8|(k[127633]<<16|k[127634]<<24);h[i+15|0]=g;h[i+16|0]=g>>>8;h[i+17|0]=g>>>16;h[i+18|0]=g>>>24;g=k[127628]|k[127629]<<8|(k[127630]<<16|k[127631]<<24);j[i+8>>2]=k[127624]|k[127625]<<8|(k[127626]<<16|k[127627]<<24);j[i+12>>2]=g;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+19|0),j[o+24>>2]=p;break b;case 17:h[i+12|0]=k[127639];j[i+8>>2]=k[127635]|k[127636]<<8|(k[127637]<<16|k[127638]<<24);o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+13|0),j[o+24>>2]=p;break b;case 18:Pl(f,i+24|0,c,e,l);break b;case 19:j[i+8>>2]=624576549;j[i+12>>2]=1394948685;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+16|0),j[o+24>>2]=p;break b;case 54:Ol(f+24|0,i+24|0,c,e,l);break b;case 55:a=O[j[j[a>>2]+20>>2]](a,b,c,d,e,f)|0;break a;case 23:b=O[j[j[a+8>>2]+24>>2]](a+8|0)|0;g=i;l=a;n=j[i+24>>2];a=b;f:{if(k[a+11|0]>>>7|0){b=j[a>>2];break f}b=a}m=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}o=g,p=Zb(l,n,c,d,e,f,m,b+a|0),j[o+24>>2]=p;break b;case 56:ig(f+20|0,i+24|0,c,e,l);break b;case 24:Nl(f+20|0,i+24|0,c,e,l);break b;default:if((g|0)==37){break c}break;case 2:case 4:case 6:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 20:case 21:case 22:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 37:case 38:case 40:case 42:case 43:case 46:case 48:case 50:case 52:case 53:break d}}j[e>>2]=j[e>>2]|4;break b}Ml(i+24|0,c,e,l)}a=j[i+24>>2]}M=i+32|0;return a|0}function Tk(){var a=0,b=0;j[37617]=0;j[37616]=133796;j[37616]=128380;j[37616]=127856;Sk();Rk();Hf(28);qc(150640,127845);Gf(150480);j[37537]=0;j[37536]=133796;j[37536]=128380;j[37536]=129448;Ca(150144,za(148672));j[37539]=0;j[37538]=133796;j[37538]=128380;j[37538]=129480;Ca(150152,za(148680));Qk();Ca(150160,za(148876));j[37545]=0;j[37544]=133796;j[37544]=128380;j[37544]=128436;Ca(150176,za(148868));j[37547]=0;j[37546]=133796;j[37546]=128380;j[37546]=128584;Ca(150184,za(148884));j[37549]=0;j[37548]=133796;j[37548]=128380;j[37548]=127928;a=150200,b=ra(),j[a>>2]=b;Ca(150192,za(148892));j[37553]=0;j[37552]=133796;j[37552]=128380;j[37552]=128732;Ca(150208,za(148900));j[37555]=0;j[37554]=133796;j[37554]=128380;j[37554]=128848;Ca(150216,za(148908));j[37557]=0;j[37556]=133796;j[37556]=128380;i[75116]=11310;j[37556]=127976;ga(150236);Ca(150224,za(148916));j[37565]=0;j[37564]=133796;j[37564]=128380;j[37566]=46;j[37567]=44;j[37564]=128016;ga(150272);Ca(150256,za(148924));j[37573]=0;j[37572]=133796;j[37572]=128380;j[37572]=129512;Ca(150288,za(148688));j[37575]=0;j[37574]=133796;j[37574]=128380;j[37574]=129756;Ca(150296,za(148696));j[37577]=0;j[37576]=133796;j[37576]=128380;j[37576]=129968;Ca(150304,za(148704));j[37579]=0;j[37578]=133796;j[37578]=128380;j[37578]=130200;Ca(150312,za(148712));j[37581]=0;j[37580]=133796;j[37580]=128380;j[37580]=131184;Ca(150320,za(148752));j[37583]=0;j[37582]=133796;j[37582]=128380;j[37582]=131332;Ca(150328,za(148760));j[37585]=0;j[37584]=133796;j[37584]=128380;j[37584]=131448;Ca(150336,za(148768));j[37587]=0;j[37586]=133796;j[37586]=128380;j[37586]=131564;Ca(150344,za(148776));j[37589]=0;j[37588]=133796;j[37588]=128380;j[37588]=131680;Ca(150352,za(148784));j[37591]=0;j[37590]=133796;j[37590]=128380;j[37590]=131844;Ca(150360,za(148792));j[37593]=0;j[37592]=133796;j[37592]=128380;j[37592]=132008;Ca(150368,za(148800));j[37595]=0;j[37594]=133796;j[37594]=128380;j[37594]=132172;Ca(150376,za(148808));j[37597]=0;j[37596]=133796;j[37596]=128380;j[37598]=133724;j[37596]=130400;j[37598]=130448;Ca(150384,za(148720));j[37601]=0;j[37600]=133796;j[37600]=128380;j[37602]=133760;j[37600]=130664;j[37602]=130712;Ca(150400,za(148728));j[37605]=0;j[37604]=133796;j[37604]=128380;lf(150424);j[37604]=130900;Ca(150416,za(148736));j[37609]=0;j[37608]=133796;j[37608]=128380;lf(150440);j[37608]=131056;Ca(150432,za(148744));j[37613]=0;j[37612]=133796;j[37612]=128380;j[37612]=132336;Ca(150448,za(148816));j[37615]=0;j[37614]=133796;j[37614]=128380;j[37614]=132456;Ca(150456,za(148824))}function Uq(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=M-48|0;M=d;a:{b:{c:{d:{e:{if(j[a+80>>2]){break e}j[d+32>>2]=h[b+11|0]<0?j[b>>2]:b;f=ka(b,d+32|0);g=k[b+11|0];e=g<<24>>24<0;if((f|0)==((e?j[b>>2]:b)+(e?j[b+4>>2]:g)|0)){break c}while(1){f:{g:{h:{switch(l|0){case 1:break h;case 0:break g;default:break f}}n=j[d+32>>2];m=n-f|0;if(m>>>0>=4294967280){break d}i:{if(m>>>0<=10){h[d+27|0]=m;e=d+16|0;break i}g=m+16&-16;e=U(g);j[d+24>>2]=g|-2147483648;j[d+16>>2]=e;j[d+20>>2]=m}if((f|0)!=(n|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((n|0)!=(f|0)){continue}break}}h[e|0]=0;j:{if(h[d+27|0]>=0){f=ta(d+16|0);j[a+80>>2]=f;break j}e=j[d+16>>2];q=a,r=ta(e),j[q+80>>2]=r;T(e);f=j[a+80>>2]}if((f|0)<=0){f=0;j[a+88>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;break a}g=ja(f<<2);j[a+84>>2]=g;e=ja(f<<1);j[a+88>>2]=e;if(e?g:0){break g}j[a+80>>2]=0;if(g){T(g)}if(e){T(e)}j[a+84>>2]=0;j[a+88>>2]=0;break e}o=o+1|0}l=l+1|0;f=ka(b,d+32|0);g=k[b+11|0];e=g<<24>>24<0;if((f|0)!=((e?j[b>>2]:b)+(e?j[b+4>>2]:g)|0)){continue}break}if((o|0)!=2){break c}f=1;if(j[a+80>>2]<1){break a}while(1){k:{j[d+24>>2]=0;j[d+16>>2]=0;j[d+20>>2]=0;if(!vb(c,d+16|0)){break k}bb(d+16|0);b=0;m=p<<2;j[m+j[a+84>>2]>>2]=0;o=p<<1;i[o+j[a+88>>2]>>1]=0;j[d+32>>2]=h[d+27|0]<0?j[d+16>>2]:d+16|0;f=ka(d+16|0,d+32|0);l=j[d+16>>2];g=k[d+27|0];e=g<<24>>24<0;if((f|0)!=((e?l:d+16|0)+(e?j[d+20>>2]:g)|0)){while(1){l:{m:{switch(b|0){case 0:if(!_(d+16|0,f-(e&1?l:d+16|0)|0,2,120958,2)){break l}f=0;j[a+80>>2]=0;T(j[a+84>>2]);T(j[a+88>>2]);j[a+84>>2]=0;j[a+88>>2]=0;if(h[d+27|0]>-1){break a}T(j[d+16>>2]);break a;case 1:break m;default:break l}}n=j[d+32>>2];l=n-f|0;if(l>>>0>=4294967280){break b}n:{if(l>>>0<=10){h[d+11|0]=l;e=d;break n}g=l+16&-16;e=U(g);j[d+8>>2]=g|-2147483648;j[d>>2]=e;j[d+4>>2]=l}if((f|0)!=(n|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((n|0)!=(f|0)){continue}break}}h[e|0]=0;g=Qe(a,m+j[a+84>>2]|0,d);i[o+j[a+88>>2]>>1]=g;e=j[m+j[a+84>>2]>>2];Wc(e,e+((g&65535)<<1)|0,d+40|0);if(h[d+11|0]>-1){break l}T(j[d>>2])}b=b+1|0;f=ka(d+16|0,d+32|0);l=j[d+16>>2];g=k[d+27|0];e=g<<24>>24<0;if((f|0)!=((e?l:d+16|0)+(e?j[d+20>>2]:g)|0)){continue}break}}b=j[a+84>>2];if(!j[b+m>>2]){T(b);T(j[a+88>>2]);f=0;j[a+88>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;if(h[d+27|0]>-1){break a}T(j[d+16>>2]);break a}if(e){T(l)}f=1;p=p+1|0;if((p|0)>2]){continue}break a}break}if(h[d+27|0]>-1){break e}T(j[d+16>>2])}f=0;break a}X();z()}f=0;j[a+80>>2]=0;T(j[a+84>>2]);T(j[a+88>>2]);j[a+84>>2]=0;j[a+88>>2]=0;break a}X();z()}M=d+48|0;return f}function rf(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,j=0;d=1;a:{b:{c:{d:{switch(b-a>>1){case 2:b=b-2|0;c=k[b|0]|k[b+1|0]<<8;e=k[a|0]|k[a+1|0]<<8;if(c>>>0>=e>>>0){break c}h[a|0]=c;h[a+1|0]=c>>>8;h[b|0]=e;h[b+1|0]=e>>>8;return 1;case 3:b=b-2|0;c=k[b|0]|k[b+1|0]<<8;e=k[a+2|0]|k[a+3|0]<<8;f=k[a|0]|k[a+1|0]<<8;if(e>>>0>=f>>>0){if(c>>>0>=e>>>0){break c}h[a+2|0]=c;h[a+3|0]=c>>>8;h[b|0]=e;h[b+1|0]=e>>>8;b=k[a+2|0]|k[a+3|0]<<8;c=k[a|0]|k[a+1|0]<<8;if(b>>>0>=c>>>0){break c}break a}if(c>>>0>>0){h[a|0]=c;h[a+1|0]=c>>>8;break b}h[a+2|0]=f;h[a+3|0]=f>>>8;h[a|0]=e;h[a+1|0]=e>>>8;c=k[b|0]|k[b+1|0]<<8;if(c>>>0>=f>>>0){break c}h[a+2|0]=c;h[a+3|0]=c>>>8;break b;case 4:e=b-2|0;b=k[a+4|0]|k[a+5|0]<<8;c=k[a+2|0]|k[a+3|0]<<8;d=k[a|0]|k[a+1|0]<<8;e:{if(c>>>0>=d>>>0){if(b>>>0>=c>>>0){c=b;break e}h[a+4|0]=c;h[a+5|0]=c>>>8;h[a+2|0]=b;h[a+3|0]=b>>>8;if(b>>>0>=d>>>0){break e}h[a+2|0]=d;h[a+3|0]=d>>>8;h[a|0]=b;h[a+1|0]=b>>>8;break e}f:{if(b>>>0>>0){h[a+4|0]=d;h[a+5|0]=d>>>8;h[a|0]=b;h[a+1|0]=b>>>8;break f}h[a+2|0]=d;h[a+3|0]=d>>>8;h[a|0]=c;h[a+1|0]=c>>>8;if(b>>>0>=d>>>0){c=b;break e}h[a+4|0]=d;h[a+5|0]=d>>>8;h[a+2|0]=b;h[a+3|0]=b>>>8}c=d}d=1;b=k[e|0]|k[e+1|0]<<8;if(b>>>0>=(c&65535)>>>0){break c}h[a+4|0]=b;h[a+5|0]=b>>>8;h[e|0]=c;h[e+1|0]=c>>>8;b=k[a+4|0]|k[a+5|0]<<8;c=k[a+2|0]|k[a+3|0]<<8;if(b>>>0>=c>>>0){break c}h[a+4|0]=c;h[a+5|0]=c>>>8;h[a+2|0]=b;h[a+3|0]=b>>>8;c=k[a|0]|k[a+1|0]<<8;if(c>>>0<=b>>>0){break c}break a;case 5:Xd(a,a+2|0,a+4|0,a+6|0,b-2|0);return 1;case 0:case 1:break c;default:break d}}d=k[a+4|0]|k[a+5|0]<<8;c=k[a+2|0]|k[a+3|0]<<8;e=k[a|0]|k[a+1|0]<<8;g:{if(c>>>0>=e>>>0){if(c>>>0<=d>>>0){c=d;break g}h[a+4|0]=c;h[a+5|0]=c>>>8;h[a+2|0]=d;h[a+3|0]=d>>>8;if(d>>>0>=e>>>0){break g}h[a+2|0]=e;h[a+3|0]=e>>>8;h[a|0]=d;h[a+1|0]=d>>>8;break g}h:{if(c>>>0>d>>>0){h[a+4|0]=e;h[a+5|0]=e>>>8;h[a|0]=d;h[a+1|0]=d>>>8;break h}h[a+2|0]=e;h[a+3|0]=e>>>8;h[a|0]=c;h[a+1|0]=c>>>8;if(d>>>0>=e>>>0){c=d;break g}h[a+4|0]=e;h[a+5|0]=e>>>8;h[a+2|0]=d;h[a+3|0]=d>>>8}c=e}i:{j:{d=a+6|0;if((d|0)==(b|0)){break j}f=a+4|0;while(1){k:{e=d;i=d;g=k[d|0]|k[d+1|0]<<8;if(g>>>0<(c&65535)>>>0){while(1){l:{h[i|0]=c;h[i+1|0]=c>>>8;d=f;if((d|0)==(a|0)){d=a;break l}i=d;f=d-2|0;c=k[f|0]|k[f+1|0]<<8;if(g>>>0>>0){continue}}break}h[d|0]=g;h[d+1|0]=g>>>8;j=j+1|0;if((j|0)==8){break k}}d=e+2|0;if((d|0)==(b|0)){break j}c=k[e|0]|k[e+1|0]<<8;f=e;continue}break}c=(e+2|0)==(b|0);a=0;break i}a=1}d=a|c}return d&1}h[b|0]=f;h[b+1|0]=f>>>8;return 1}h[a+2|0]=c;h[a+3|0]=c>>>8;h[a|0]=b;h[a+1|0]=b>>>8;return 1}function Gd(a,b,c,d,e,f,g,m){var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=M-16|0;M=q;x=d&1;a:{if(h[a+29|0]&1?0:x){break a}d=h[a+15|0];o=j[a+8>>2];b:{if((d|0)<=-1){break b}o=d&255}d=c-o|0;c:{if(!j[j[a+64>>2]+4484>>2]|d?(d|0)<=0:0){break c}n=k[a+28|0];c=h[a+27|0];o=j[a+20>>2];d:{if((c|0)<=-1){break d}o=c&255}if(n>>>0>o+d>>>0){break c}o=a+16|0;e:{f:{if(d>>>0>=11){s=d+16&-16;c=U(s);j[q+8>>2]=s|-2147483648;j[q>>2]=c;j[q+4>>2]=d;break f}h[q+11|0]=d;c=q;if(!d){break e}}V(c,b,d)}h[c+d|0]=0;b=k[o+11|0];d=b<<24>>24;c=j[a+20>>2];g:{if((d|0)<=-1){break g}c=b}if(c){c=(d|0)<0;aa(q,c?j[a+16>>2]:o,c?j[a+20>>2]:b)}n=1;c=k[q+11|0];d=c<<24>>24<0;b=d?j[q>>2]:q;h:{if(!Hd(a,b+(d?j[q+4>>2]:c)|0,b)){break h}d=Xb(j[a+64>>2],b);if(!d){break h}while(1){w=d;b=j[d+4>>2];s=l[d+2>>1];o=s<<16>>16;u=b+(o<<1)|0;d=b;if(s){r=l[a+30>>1];c=o;while(1){n=c>>>1|0;t=(n<<1)+d|0;p=r>>>0>l[t>>1];d=p?t+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}i:{if(!(l[a+30>>1]>=l[d>>1]?(d|0)!=(u|0):0)){if(!e){break i}d=j[e+56>>2];if(!d){break i}c=i[e+60>>1];r=(c<<1)+d|0;if(c){t=l[a+30>>1];while(1){n=c>>>1|0;v=(n<<1)+d|0;p=t>>>0>l[v>>1];d=p?v+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((d|0)==(r|0)|l[a+30>>1]>1]){break i}}j:{if(!x){break j}if(!e){break i}n=l[e+30>>1];d=b;c=o;if(s){while(1){p=c>>>1|0;t=(p<<1)+d|0;r=n>>>0>l[t>>1];d=r?t+2|0:d;c=r?(p^-1)+c|0:p;if(c){continue}break}}if(n>>>0>=l[d>>1]?(d|0)!=(u|0):0){break j}d=j[a+56>>2];if(!d){break i}c=i[a+60>>1];t=(c<<1)+d|0;if(c){while(1){p=c>>>1|0;v=(p<<1)+d|0;r=n>>>0>l[v>>1];d=r?v+2|0:d;c=r?(p^-1)+c|0:p;if(c){continue}break}}if((d|0)==(t|0)|n>>>0>1]){break i}}if(f){d=j[a+56>>2];if(!d){break i}c=i[a+60>>1];r=(c<<1)+d|0;if(c){while(1){n=c>>>1|0;t=(n<<1)+d|0;p=l[t>>1]>>0;d=p?t+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((d|0)==(r|0)|l[d>>1]>f>>>0){break i}}k:{if(!m){break k}d=b;c=o;if(s){while(1){n=c>>>1|0;r=(n<<1)+d|0;p=l[r>>1]>>0;d=p?r+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((d|0)==(u|0)){break k}if(l[d>>1]<=m>>>0){break i}}n=0;if(!g){break h}if(s){while(1){c=o>>>1|0;s=(c<<1)+b|0;d=l[s>>1]>>0;b=d?s+2|0:b;o=d?(c^-1)+o|0:c;if(o){continue}break}}if(l[b>>1]<=g>>>0?(b|0)!=(u|0):0){break h}d=j[a+56>>2];if(!d){break i}c=i[a+60>>1];s=(c<<1)+d|0;if(c){while(1){b=c>>>1|0;u=(b<<1)+d|0;o=l[u>>1]>>0;d=o?u+2|0:d;c=o?(b^-1)+c|0:b;if(c){continue}break}}if((d|0)==(s|0)){break i}if(l[d>>1]<=g>>>0){break h}}d=j[w+12>>2];if(d){continue}break}n=1}if(h[q+11|0]<=-1){T(j[q>>2])}if(!n){break a}}w=0}M=q+16|0;return w}function Oc(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,m=0;a:{e=j[a>>2];c=j[a+4>>2];if((e|0)==(c|0)){break a}a=c-e|0;f=j[37135];b:{switch(b-90|0){case 0:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=48;b=1;c=k[e|0]|k[e+1|0]<<8;c:{if((c|0)!=105){if(!f){break c}a=l[(f+p(c,6)|0)+2>>1];if((c|0)==(a|0)){break c}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=48;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;d:{if((g|0)!=105){if(!f){break d}b=l[(f+p(g,6)|0)+2>>1];if((g|0)==(b|0)){break d}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;case 10:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=48;b=1;c=k[e|0]|k[e+1|0]<<8;e:{if((c|0)!=105){if(!f){break e}a=l[(f+p(c,6)|0)+2>>1];if((c|0)==(a|0)){break e}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=48;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;f:{if((g|0)!=105){if(!f){break f}b=l[(f+p(g,6)|0)+2>>1];if((g|0)==(b|0)){break f}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;default:d=e-c|0;c=((a|0)<(d|0)?d:a)>>>1|0;a=(a|0)>-1?a:-1;g=p(c,(a|0)<1?a:1);g:{h:{i:{a=k[e|0]|k[e+1|0]<<8;if((a|0)!=105){break i}d=48;c=1;switch(b-100|0){case 0:case 2:break h;default:break i}}if(!f){break g}d=l[(f+p(a,6)|0)+2>>1];if((a|0)==(d|0)){break g}c=d>>>8|0}h[e|0]=d;h[e+1|0]=c}a=1;if(g>>>0<=1){break a}g=g>>>0>1?g:1;i=b-90|0;m=i>>>0>12;while(1){b=(a<<1)+e|0;c=k[b|0]|k[b+1|0]<<8;j:{k:{if(!(!(1<>1];if((c|0)==(d|0)){break j}c=d>>>8|0}h[b+1|0]=c;h[b|0]=d}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a;case 12:break b}}d=1;b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;c=p(b,(a|0)<1?a:1);g=c>>>0>1?c:1;a=k[e|0]|k[e+1|0]<<8;if(f){b=48;l:{if((a|0)!=105){b=l[(f+p(a,6)|0)+2>>1];if((a|0)==(b|0)){break l}d=b>>>8|0}h[e|0]=b;h[e+1|0]=d}a=1;if(c>>>0<=1){break a}while(1){b=48;c=1;d=(a<<1)+e|0;i=k[d|0]|k[d+1|0]<<8;m:{if((i|0)!=105){b=l[(f+p(i,6)|0)+2>>1];if((i|0)==(b|0)){break m}c=b>>>8|0}h[d+1|0]=c;h[d|0]=b}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a}if((a|0)==105){h[e|0]=48;h[e+1|0]=1}if(c>>>0<2){break a}a=1;b=g-1|0;f=b&1;if((g|0)!=2){b=b&-2;while(1){d=(a<<1)+e|0;if((k[d|0]|k[d+1|0]<<8)==105){h[d+1|0]=1;h[d|0]=48}if((k[d+2|0]|k[d+3|0]<<8)==105){h[d+3|0]=1;h[d+2|0]=48}a=a+2|0;b=b-2|0;if(b){continue}break}}if(!f){break a}a=(a<<1)+e|0;if((k[a|0]|k[a+1|0]<<8)!=105){break a}h[a+1|0]=1;h[a|0]=48}}function Ta(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,m=0;a:{e=j[a>>2];c=j[a+4>>2];if((e|0)==(c|0)){break a}a=c-e|0;f=j[37135];b:{switch(b-90|0){case 0:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=49;b=1;c=k[e|0]|k[e+1|0]<<8;c:{if((c|0)!=73){if(!f){break c}a=l[(f+p(c,6)|0)+4>>1];if((c|0)==(a|0)){break c}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=49;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;d:{if((g|0)!=73){if(!f){break d}b=l[(f+p(g,6)|0)+4>>1];if((g|0)==(b|0)){break d}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;case 10:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=49;b=1;c=k[e|0]|k[e+1|0]<<8;e:{if((c|0)!=73){if(!f){break e}a=l[(f+p(c,6)|0)+4>>1];if((c|0)==(a|0)){break e}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=49;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;f:{if((g|0)!=73){if(!f){break f}b=l[(f+p(g,6)|0)+4>>1];if((g|0)==(b|0)){break f}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;default:d=e-c|0;c=((a|0)<(d|0)?d:a)>>>1|0;a=(a|0)>-1?a:-1;g=p(c,(a|0)<1?a:1);g:{h:{i:{a=k[e|0]|k[e+1|0]<<8;if((a|0)!=73){break i}d=49;c=1;switch(b-100|0){case 0:case 2:break h;default:break i}}if(!f){break g}d=l[(f+p(a,6)|0)+4>>1];if((a|0)==(d|0)){break g}c=d>>>8|0}h[e|0]=d;h[e+1|0]=c}a=1;if(g>>>0<=1){break a}g=g>>>0>1?g:1;i=b-90|0;m=i>>>0>12;while(1){b=(a<<1)+e|0;c=k[b|0]|k[b+1|0]<<8;j:{k:{if(!(!(1<>1];if((c|0)==(d|0)){break j}c=d>>>8|0}h[b+1|0]=c;h[b|0]=d}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a;case 12:break b}}d=1;b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;c=p(b,(a|0)<1?a:1);g=c>>>0>1?c:1;a=k[e|0]|k[e+1|0]<<8;if(f){b=49;l:{if((a|0)!=73){b=l[(f+p(a,6)|0)+4>>1];if((a|0)==(b|0)){break l}d=b>>>8|0}h[e|0]=b;h[e+1|0]=d}a=1;if(c>>>0<=1){break a}while(1){b=49;c=1;d=(a<<1)+e|0;i=k[d|0]|k[d+1|0]<<8;m:{if((i|0)!=73){b=l[(f+p(i,6)|0)+4>>1];if((i|0)==(b|0)){break m}c=b>>>8|0}h[d+1|0]=c;h[d|0]=b}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a}if((a|0)==73){h[e|0]=49;h[e+1|0]=1}if(c>>>0<2){break a}a=1;b=g-1|0;f=b&1;if((g|0)!=2){b=b&-2;while(1){d=(a<<1)+e|0;if((k[d|0]|k[d+1|0]<<8)==73){h[d+1|0]=1;h[d|0]=49}if((k[d+2|0]|k[d+3|0]<<8)==73){h[d+3|0]=1;h[d+2|0]=49}a=a+2|0;b=b-2|0;if(b){continue}break}}if(!f){break a}a=(a<<1)+e|0;if((k[a|0]|k[a+1|0]<<8)!=73){break a}h[a+1|0]=1;h[a|0]=49}}function gb(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j[a+4360>>2]=0;j[a+4352>>2]=0;j[a+4356>>2]=0;j[a+4376>>2]=0;a:{q=j[a>>2];b:{if(!q){break b}if(!d){t=(d|0)!=2;while(1){n=j[q+56>>2];c:{d:{if(!n){break d}u=l[q+60>>1];m=u<<16>>16;v=(m<<1)+n|0;f=n;if(u){p=l[a+4464>>1];g=m;while(1){s=g>>>1|0;o=(s<<1)+f|0;r=p>>>0>l[o>>1];f=r?o+2|0:f;g=r?(s^-1)+g|0:s;if(g){continue}break}}if(l[a+4464>>1]>=l[f>>1]?(f|0)!=(v|0):0){break c}if(t){break d}if(u){f=l[a+4164>>1];while(1){p=m>>>1|0;g=(p<<1)+n|0;o=f>>>0>l[g>>1];n=o?g+2|0:n;m=o?(p^-1)+m|0:p;if(m){continue}break}}if((n|0)==(v|0)|l[a+4164>>1]>1]){break c}}f=jd(q,b,c,0,e);if(f){break a}}q=j[q+68>>2];if(q){continue}break}break b}p=(d|0)!=2;while(1){e:{if(!p){f=j[q+56>>2];if(!f){break e}g=i[q+60>>1];o=(g<<1)+f|0;if(g){n=l[a+4164>>1];while(1){r=g>>>1|0;m=(r<<1)+f|0;t=n>>>0>l[m>>1];f=t?m+2|0:f;g=t?(r^-1)+g|0:r;if(g){continue}break}}if((f|0)==(o|0)|l[a+4164>>1]>1]){break e}}f=jd(q,b,c,d,e);if(f){break a}}q=j[q+68>>2];if(q){continue}break}}f:{n=j[(k[b|0]<<2)+a>>2];g:{if(!n){break g}if(!d){t=(d|0)!=2;while(1){g=n+4|0;g=h[n+15|0]<0?j[g>>2]:g;f=k[g|0];h:{if(!f){break h}m=b;if((f|0)!=46&k[m|0]!=(f|0)){break h}while(1){f=k[g+1|0];if(!f){break h}d=k[m+1|0];m=m+1|0;g=g+1|0;if(!((f|0)!=46&(d|0)!=(f|0))){continue}break}}if(f){d=n+76|0}else{m=j[n+56>>2];i:{j:{if(!m){break j}u=l[n+60>>1];d=u<<16>>16;v=(d<<1)+m|0;f=m;if(u){p=l[a+4464>>1];g=d;while(1){s=g>>>1|0;o=(s<<1)+f|0;r=p>>>0>l[o>>1];f=r?o+2|0:f;g=r?(s^-1)+g|0:s;if(g){continue}break}}if(l[a+4464>>1]>=l[f>>1]?(f|0)!=(v|0):0){break i}if(t){break j}if(u){f=l[a+4164>>1];while(1){p=d>>>1|0;g=(p<<1)+m|0;o=f>>>0>l[g>>1];m=o?g+2|0:m;d=o?(p^-1)+d|0:p;if(d){continue}break}}if((m|0)==(v|0)|l[a+4164>>1]>1]){break i}}f=jd(n,b,c,0,e);if(f){break f}}d=n+72|0}n=j[d>>2];if(n){continue}break}break g}t=(d|0)!=2;while(1){g=n+4|0;g=h[n+15|0]<=-1?j[g>>2]:g;f=k[g|0];k:{if(!f){break k}m=b;if((f|0)!=46&k[m|0]!=(f|0)){break k}while(1){f=k[g+1|0];if(!f){break k}o=k[m+1|0];m=m+1|0;g=g+1|0;if(!((f|0)!=46&(f|0)!=(o|0))){continue}break}}l:{if(!f){m:{if(!t){f=j[n+56>>2];if(!f){break m}g=i[n+60>>1];p=(g<<1)+f|0;if(g){o=l[a+4164>>1];while(1){s=g>>>1|0;m=(s<<1)+f|0;r=o>>>0>l[m>>1];f=r?m+2|0:f;g=r?(s^-1)+g|0:s;if(g){continue}break}}if((f|0)==(p|0)|l[a+4164>>1]>1]){break m}}f=jd(n,b,c,d,e);if(f){break f}}m=n+72|0;break l}m=n+76|0}n=j[m>>2];if(n){continue}break}}return 0}j[a+4376>>2]=n;return f}j[a+4376>>2]=q;return f}function Za(a,b,c){var d=0,e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0;d=M-448|0;M=d;j[d+440>>2]=0;j[d+432>>2]=0;j[d+436>>2]=0;a:{if(!j[b+44>>2]){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}m=ha(d+416|0,c);b:{if(!j[b+76>>2]){break b}if(j[b+56>>2]){ob(m);break b}Ua(m)}e=Xb(j[b+44>>2],h[m+11|0]<0?j[m>>2]:d+416|0);if(e){while(1){c=j[e+4>>2];c:{d:{if(!c){break d}f=i[e+2>>1];q=(f<<1)+c|0;n=l[j[b+44>>2]+4192>>1];if(f){while(1){g=f>>>1|0;o=(g<<1)+c|0;p=n>>>0>l[o>>1];c=p?o+2|0:c;f=p?(g^-1)+f|0:g;if(f){continue}break}}if(n>>>0>=l[c>>1]?(c|0)!=(q|0):0){break c}c=j[e+4>>2];f=i[e+2>>1];q=c+(f<<1)|0;n=l[j[b+44>>2]+4198>>1];if(f){while(1){g=f>>>1|0;o=(g<<1)+c|0;p=n>>>0>l[o>>1];c=p?o+2|0:c;f=p?(g^-1)+f|0:g;if(f){continue}break}}if(n>>>0>=l[c>>1]?(c|0)!=(q|0):0){break c}c=j[e+4>>2];f=i[e+2>>1];q=c+(f<<1)|0;n=l[j[b+44>>2]+4464>>1];if(f){while(1){g=f>>>1|0;o=(g<<1)+c|0;p=n>>>0>l[o>>1];c=p?o+2|0:c;f=p?(g^-1)+f|0:g;if(f){continue}break}}if((c|0)==(q|0)){break d}if(n>>>0>=l[c>>1]){break c}}c=k[e+16|0];e:{f:{if(!(c&1)){break f}g:{if(c&2){c=k[e|0]+e|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break f}c=k[e+16|0];g=0;if(!(c&1)){break g}}f=(k[e|0]+e|0)+18|0;g=f;if(!(c&2)){break g}g=k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24)}if(ca(g,121397)){break e}}Z(d+432|0,32);$(d+432|0,121397);c=k[m+11|0];f=c<<24>>24<0;aa(d+432|0,f?j[m>>2]:d+416|0,f?j[m+4>>2]:c)}c=k[e+16|0];h:{if(!(c&1)){break h}if(c&2){c=k[e|0]+e|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break h}}Z(d+432|0,32);n=d+432|0;g=k[e+16|0];f=121429;i:{if(!(g&1)){break i}c=(k[e|0]+e|0)+18|0;f=c;if(!(g&2)){break i}f=k[c|0]|k[c+1|0]<<8|(k[c+2|0]<<16|k[c+3|0]<<24)}$(n,f)}Z(d+432|0,10)}e=j[e+12>>2];if(e){continue}break}}c=k[m+11|0];e=c<<24>>24<0;fc(d+400|0,j[b+44>>2],e?j[m>>2]:d+416|0,e?j[m+4>>2]:c,0);e=k[d+411|0];c=e<<24>>24;e=(c|0)<0?j[d+404>>2]:e;if(e){aa(d+432|0,(c|0)<0?j[d+400>>2]:d+400|0,e)}e=1;c=j[b+44>>2];if(!(l[c+4152>>1]|l[c+4154>>1])){e=j[c+4268>>2]!=j[c+4272>>2]}j:{if(!e){break j}c=k[d+443|0];if(c<<24>>24<0?j[d+436>>2]:c){break j}e=j[b+44>>2];b=k[m+11|0];c=b<<24>>24<0;Qf(e,c?j[m>>2]:d+416|0,c?j[m+4>>2]:b,0,0,100,0,0,d,d+432|0,0)}oi(d+432|0);j[a+8>>2]=j[d+440>>2];b=j[d+436>>2];j[a>>2]=j[d+432>>2];j[a+4>>2]=b;j[d+440>>2]=0;j[d+432>>2]=0;j[d+436>>2]=0;if(h[d+411|0]<=-1){T(j[d+400>>2])}if(h[m+11|0]<=-1){T(j[m>>2])}if(h[d+443|0]>-1){break a}T(j[d+432>>2])}M=d+448|0}function Tq(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;d=M-48|0;M=d;a:{b:{c:{d:{e:{if(j[a+92>>2]){break e}j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;e=ka(b,d+40|0);f=k[b+11|0];g=f<<24>>24<0;if((e|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:f)|0)){break c}g=0;while(1){f:{g:{h:{switch(g|0){case 1:break h;case 0:break g;default:break f}}n=j[d+40>>2];i=n-e|0;if(i>>>0>=4294967280){break d}i:{if(i>>>0<=10){h[d+35|0]=i;f=d+24|0;break i}m=i+16&-16;f=U(m);j[d+32>>2]=m|-2147483648;j[d+24>>2]=f;j[d+28>>2]=i}if((e|0)!=(n|0)){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((n|0)!=(e|0)){continue}break}}h[f|0]=0;j:{if(h[d+35|0]>=0){e=ta(d+24|0);j[a+92>>2]=e;break j}e=j[d+24>>2];p=a,q=ta(e),j[p+92>>2]=q;T(e);e=j[a+92>>2]}if((e|0)<=0){break e}e=ja(e<<2);j[a+96>>2]=e;if(e){break g}e=0;j[a+92>>2]=0;break a}l=l+1|0}g=g+1|0;e=ka(b,d+40|0);f=k[b+11|0];i=f<<24>>24<0;if((e|0)!=((i?j[b>>2]:b)+(i?j[b+4>>2]:f)|0)){continue}break}if((l|0)!=2){break c}e=1;if(j[a+92>>2]<1){break a}i=0;while(1){k:{j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;if(!vb(c,d+24|0)){break k}bb(d+24|0);b=0;n=i<<2;j[n+j[a+96>>2]>>2]=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;e=ka(d+24|0,d+40|0);g=j[d+24>>2];o=k[d+35|0];l=o<<24>>24;f=(l|0)<0;m=j[d+28>>2];if((e|0)!=((f?g:d+24|0)+(f?m:o)|0)){while(1){l:{m:{switch(b|0){case 0:if(!_(d+24|0,e-(f&1?g:d+24|0)|0,2,120961,2)){break l}e=0;j[a+92>>2]=0;T(j[a+96>>2]);j[a+96>>2]=0;if(h[d+35|0]>-1){break a}T(j[d+24>>2]);break a;case 1:break m;default:break l}}f=f&1;l=(f?g:d+24|0)+(f?m:l&255)|0;g=l-e|0;if(g>>>0>=4294967280){break b}n:{if(g>>>0<=10){h[d+19|0]=g;f=d+8|0;break n}m=g+16&-16;f=U(m);j[d+16>>2]=m|-2147483648;j[d+8>>2]=f;j[d+12>>2]=g}if((e|0)!=(l|0)){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}h[f|0]=0;o:{if(!j[a+12>>2]){break o}if(j[a+16>>2]){ob(d+8|0);break o}Ua(d+8|0)}e=cb(h[d+19|0]<0?j[d+8>>2]:d+8|0);j[n+j[a+96>>2]>>2]=e;if(h[d+19|0]>-1){break l}T(j[d+8>>2])}b=b+1|0;e=ka(d+24|0,d+40|0);g=j[d+24>>2];o=k[d+35|0];l=o<<24>>24;f=(l|0)<0;m=j[d+28>>2];if((e|0)!=((f?g:d+24|0)+(f?m:o)|0)){continue}break}}b=j[a+96>>2];if(!j[b+n>>2]){e=0;j[a+92>>2]=0;T(b);j[a+96>>2]=0;if(h[d+35|0]>-1){break a}T(j[d+24>>2]);break a}if(f){T(g)}e=1;i=i+1|0;if((i|0)>2]){continue}break a}break}if(h[d+35|0]>-1){break e}T(j[d+24>>2])}e=0;break a}X();z()}e=0;j[a+92>>2]=0;T(j[a+96>>2]);j[a+96>>2]=0;break a}X();z()}M=d+48|0;return e}function Qe(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0;l=M-16|0;M=l;d=k[c+11|0];f=d<<24>>24;m=j[c+4>>2];g=(f|0)<0?m:d;a:{if(!g){j[b>>2]=0;break a}e=-1;b:{c:{d:{e:{f:{g:{h:{i:{switch(j[a+8>>2]-1|0){case 1:if((f|0)>=0){if(!f){e=1;break c}a=d&3;if(d-1>>>0>=3){break h}d=0;e=1;break d}if(!m){e=1;break c}a=j[c>>2];f=m&3;j:{if(m-1>>>0<3){d=0;e=1;break j}g=m&-4;d=0;e=1;while(1){e=((((k[a+d|0]==44)+e|0)+(k[a+(d|1)|0]==44)|0)+(k[a+(d|2)|0]==44)|0)+(k[a+(d|3)|0]==44)|0;d=d+4|0;g=g-4|0;if(g){continue}break}}if(!f){break c}while(1){e=(k[a+d|0]==44)+e|0;d=d+1|0;f=f-1|0;if(f){continue}break}break c;case 0:break i;case 2:break g;default:break f}}e=(g|0)/2|0;d=ja(e<<1);j[b>>2]=d;if(!d){break b}if((g|0)<2){break a}a=0;b=h[c+11|0]<0?j[c>>2]:c;if((g&-2)!=2){g=e&-2;while(1){c=a<<1;i[c+d>>1]=k[b+(c|1)|0]|k[b+c|0]<<8;f=c|2;i[f+d>>1]=k[b+(c|3)|0]|k[b+f|0]<<8;a=a+2|0;g=g-2|0;if(g){continue}break}}if(!(e&1)){break a}a=a<<1;i[a+d>>1]=k[b+(a|1)|0]|k[a+b|0]<<8;break a}f=d&252;d=0;e=1;while(1){e=((((k[c+d|0]==44)+e|0)+(k[(d|1)+c|0]==44)|0)+(k[(d|2)+c|0]==44)|0)+(k[(d|3)+c|0]==44)|0;d=d+4|0;f=f-4|0;if(f){continue}break}break d}j[l+8>>2]=0;j[l>>2]=0;j[l+4>>2]=0;ia(l,c);e=b;a=j[l>>2];b=j[l+4>>2]-a|0;c=ja(b);j[e>>2]=c;if(!c){break e}V(c,a,b);if(a){j[l+4>>2]=a;T(a)}e=b>>1;break a}d=ja(g<<1);j[b>>2]=d;if(!d){break a}k:{l:{m:{b=k[c+11|0];a=b<<24>>24;if((a|0)>=0){if(!a){break k}a=b&3;if(b-1>>>0>=3){break m}e=0;break l}e=j[c+4>>2];if(!e){break k}b=j[c>>2];a=e&3;n:{if(e-1>>>0<3){c=0;break n}f=e&-4;c=0;while(1){i[d>>1]=k[b+c|0];i[d+2>>1]=k[b+(c|1)|0];i[d+4>>1]=k[b+(c|2)|0];i[d+6>>1]=k[b+(c|3)|0];c=c+4|0;d=d+8|0;f=f-4|0;if(f){continue}break}}if(!a){break k}while(1){i[d>>1]=k[b+c|0];c=c+1|0;d=d+2|0;a=a-1|0;if(a){continue}break}break k}f=b&252;e=0;while(1){i[d>>1]=k[c+e|0];i[d+2>>1]=k[(e|1)+c|0];i[d+4>>1]=k[(e|2)+c|0];i[d+6>>1]=k[(e|3)+c|0];e=e+4|0;d=d+8|0;f=f-4|0;if(f){continue}break}}if(!a){break k}while(1){i[d>>1]=k[c+e|0];e=e+1|0;d=d+2|0;a=a-1|0;if(a){continue}break}}e=g;break a}if(!a){break b}j[l+4>>2]=a;T(a);break b}if(!a){break c}while(1){e=(k[c+d|0]==44)+e|0;d=d+1|0;a=a-1|0;if(a){continue}break}}d=ja(e<<1);j[b>>2]=d;if(!d){break b}f=h[c+11|0]<0?j[c>>2]:c;c=f;while(1){a=k[c|0];o:{if((a|0)!=44){if(a){break o}n=d,o=ta(f),i[n>>1]=o;break a}n=d,o=ta(f),i[n>>1]=o;d=d+2|0;f=c+1|0}c=c+1|0;continue}}e=-1}M=l+16|0;return e}function vo(a){var b=0,c=0,d=0,e=0,f=0,g=0;while(1){b=(c<<2)+a|0;j[b+2048>>2]=0;b=j[b>>2];if(b){while(1){d=j[b+68>>2];O[j[j[b>>2]+4>>2]](b);b=d;if(b){continue}break}}c=c+1|0;if((c|0)!=256){continue}break}c=0;while(1){b=(c<<2)+a|0;j[b+3072>>2]=0;e=b+1024|0;b=j[e>>2];if(b){while(1){d=j[b+80>>2];O[j[j[b>>2]+4>>2]](b);b=d;if(b){continue}break}}j[e>>2]=0;c=c+1|0;if((c|0)!=256){continue}break}b=j[a+4204>>2];if(b){T(Ie(b))}b=j[a+4208>>2];if(b){T(Ie(b))}e=j[a+4280>>2];if(e){d=j[e+4>>2];if(d){b=j[e+8>>2];c=d;a:{if((d|0)==(b|0)){break a}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((d|0)!=(b|0)){continue}break}c=j[e+4>>2]}j[e+8>>2]=d;T(c)}T(e)}i[a+4464>>1]=0;j[a+4460>>2]=0;j[a+4308>>2]=0;j[a+4312>>2]=0;j[a+4100>>2]=0;j[a+4152>>2]=0;j[a+4156>>2]=0;j[a+4192>>2]=0;j[a+4196>>2]=0;b=a+4158|0;i[b>>1]=0;i[b+2>>1]=0;i[b+4>>1]=0;i[b+6>>1]=0;j[a+4200>>2]=0;j[a+4380>>2]=0;if(h[a+4455|0]<=-1){T(j[a+4444>>2])}if(h[a+4443|0]<=-1){T(j[a+4432>>2])}b=j[a+4420>>2];if(b){j[a+4424>>2]=b;T(b)}if(h[a+4419|0]<=-1){T(j[a+4408>>2])}b=j[a+4396>>2];if(b){j[a+4400>>2]=b;T(b)}if(h[a+4395|0]<=-1){T(j[a+4384>>2])}if(h[a+4351|0]<=-1){T(j[a+4340>>2])}b=j[a+4328>>2];if(b){j[a+4332>>2]=b;T(b)}if(h[a+4327|0]<=-1){T(j[a+4316>>2])}d=j[a+4268>>2];if(d){b=j[a+4272>>2];c=d;b:{if((d|0)==(b|0)){break b}while(1){c=b-12|0;e=j[c>>2];if(e){j[b-8>>2]=e;T(e)}b=c;if((d|0)!=(b|0)){continue}break}c=j[a+4268>>2]}j[a+4272>>2]=d;T(c)}d=j[a+4248>>2];if(d){b=j[a+4252>>2];c=d;c:{if((d|0)==(b|0)){break c}while(1){if(h[b-5|0]<=-1){T(j[b-16>>2])}if(h[b-17|0]<=-1){T(j[b-28>>2])}b=b-40|0;if(h[b+11|0]<=-1){T(j[b>>2])}if((b|0)!=(d|0)){continue}break}c=j[a+4248>>2]}j[a+4252>>2]=d;T(c)}d=j[a+4232>>2];if(d){b=j[a+4236>>2];c=d;d:{if((d|0)==(b|0)){break d}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((d|0)!=(b|0)){continue}break}c=j[a+4232>>2]}j[a+4236>>2]=d;T(c)}d=j[a+4216>>2];if(d){b=j[a+4220>>2];c=d;e:{if((d|0)==(b|0)){break e}while(1){e=b-12|0;c=j[e>>2];if(c){g=b-8|0;b=j[g>>2];f=c;f:{if((c|0)==(b|0)){break f}while(1){f=b-12|0;if(h[b-1|0]<=-1){T(j[f>>2])}b=f;if((c|0)!=(b|0)){continue}break}f=j[e>>2]}j[g>>2]=c;T(f)}b=e;if((d|0)!=(b|0)){continue}break}c=j[a+4216>>2]}j[a+4220>>2]=d;T(c)}if(h[a+4139|0]<=-1){T(j[a+4128>>2])}if(h[a+4127|0]<=-1){T(j[a+4116>>2])}if(h[a+4115|0]<=-1){T(j[a+4104>>2])}return a}function zh(a,b){var c=0,d=0,e=0,f=0,g=0,i=0;d=b;a:{b:{g=j[b>>2];if(g){c=j[b+4>>2];if(!c){break b}while(1){d=c;c=j[c>>2];if(c){continue}break}}g=j[d+4>>2];if(g){break b}g=0;e=1;break a}j[g+8>>2]=j[d+8>>2];e=0}f=j[d+8>>2];c=j[f>>2];c:{if((d|0)==(c|0)){j[f>>2]=g;if((a|0)==(d|0)){c=0;a=g;break c}c=j[f+4>>2];break c}j[f+4>>2]=g}d:{e:{f:{i=!k[d+12|0];if((b|0)!=(d|0)){f=j[b+8>>2];j[d+8>>2]=f;j[f+((j[j[b+8>>2]>>2]!=(b|0))<<2)>>2]=d;f=j[b>>2];j[d>>2]=f;j[f+8>>2]=d;f=j[b+4>>2];j[d+4>>2]=f;if(f){j[f+8>>2]=d}h[d+12|0]=k[b+12|0];a=(a|0)==(b|0)?d:a}if(!(i|!a)){if(e){while(1){b=k[c+12|0];g:{e=j[c+8>>2];if(j[e>>2]!=(c|0)){if(!b){h[c+12|0]=1;h[e+12|0]=0;d=j[e+4>>2];b=j[d>>2];j[e+4>>2]=b;if(b){j[b+8>>2]=e}j[d+8>>2]=j[e+8>>2];b=j[e+8>>2];j[(((e|0)!=j[b>>2])<<2)+b>>2]=d;j[d>>2]=e;j[e+8>>2]=d;b=j[c>>2];a=(b|0)==(a|0)?c:a;c=j[b+4>>2]}d=j[c>>2];if(!(k[d+12|0]?0:d)){b=j[c+4>>2];if(k[b+12|0]?0:b){break f}h[c+12|0]=0;c=j[c+8>>2];h:{if((c|0)==(a|0)){c=a;break h}if(k[c+12|0]){break g}}h[c+12|0]=1;return}b=j[c+4>>2];if(b){break f}break e}i:{if(b){b=c;break i}h[c+12|0]=1;h[e+12|0]=0;b=j[c+4>>2];j[e>>2]=b;if(b){j[b+8>>2]=e}j[c+8>>2]=j[e+8>>2];d=j[e+8>>2];j:{if((e|0)==j[d>>2]){j[d>>2]=c;b=j[e>>2];break j}j[d+4>>2]=c}j[c+4>>2]=e;j[e+8>>2]=c;a=(a|0)==(e|0)?c:a}d=j[b>>2];k:{if(!(!d|k[d+12|0])){c=b;break k}c=j[b+4>>2];if(!(k[c+12|0]?0:c)){h[b+12|0]=0;c=j[b+8>>2];if(k[c+12|0]?(c|0)!=(a|0):0){break g}h[c+12|0]=1;return}if(d){if(!k[d+12|0]){c=b;break k}c=j[b+4>>2]}h[c+12|0]=1;h[b+12|0]=0;a=j[c>>2];j[b+4>>2]=a;if(a){j[a+8>>2]=b}j[c+8>>2]=j[b+8>>2];a=j[b+8>>2];j[((j[a>>2]!=(b|0))<<2)+a>>2]=c;j[c>>2]=b;j[b+8>>2]=c;d=b}a=c;c=j[c+8>>2];h[a+12|0]=k[c+12|0];h[c+12|0]=1;h[d+12|0]=1;b=j[c>>2];a=j[b+4>>2];j[c>>2]=a;if(a){j[a+8>>2]=c}j[b+8>>2]=j[c+8>>2];a=j[c+8>>2];j[(((c|0)!=j[a>>2])<<2)+a>>2]=b;j[b+4>>2]=c;j[c+8>>2]=b;return}b=j[c+8>>2];c=j[((j[b>>2]==(c|0))<<2)+b>>2];continue}}h[g+12|0]=1}return}if(k[b+12|0]){break e}d=c;break d}h[d+12|0]=1;h[c+12|0]=0;a=j[d+4>>2];j[c>>2]=a;if(a){j[a+8>>2]=c}j[d+8>>2]=j[c+8>>2];a=j[c+8>>2];j[((j[a>>2]!=(c|0))<<2)+a>>2]=d;j[d+4>>2]=c;j[c+8>>2]=d;b=c}c=j[d+8>>2];h[d+12|0]=k[c+12|0];h[c+12|0]=1;h[b+12|0]=1;b=j[c+4>>2];a=j[b>>2];j[c+4>>2]=a;if(a){j[a+8>>2]=c}j[b+8>>2]=j[c+8>>2];a=j[c+8>>2];j[(((c|0)!=j[a>>2])<<2)+a>>2]=b;j[b>>2]=c;j[c+8>>2]=b}function _p(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;d=M-48|0;M=d;a:{if(j[a+8>>2]>=j[a+4>>2]){break a}l=k[b+11|0];if(!(l<<24>>24<0?j[b+4>>2]:l)){break a}l=k[c+11|0];if(!(l<<24>>24<0?j[c+4>>2]:l)){break a}m=ha(d+32|0,b);f=h[m+11|0];if(k[((f|0)<0?j[m>>2]:d+32|0)|0]==95){q=1;pb(m,0,1);f=k[m+11|0]}b:{c:{if(f<<24>>24<=-1){b=j[m+4>>2];if(!b){break b}f=b-1|0;if(k[f+j[m>>2]|0]==95){break c}break b}b=f&255;if(!b){break b}f=b-1|0;if(k[f+(d+32|0)|0]!=95){break b}}pb(m,f,-1);q=q|2}i[d+16>>1]=95;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;xb(m,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}d:{e:{b=j[a+8>>2];if((b|0)<1){break e}n=k[m+11|0];e=n<<24>>24;o=(e|0)<0?j[m>>2]:d+32|0;r=b-1|0;t=j[a>>2];f=0;l=-1;while(1){s=f+r>>>1|0;b=j[t+(s<<2)>>2];g=h[b+11|0];f:{if((g|0)<=-1){g=j[b+4>>2];b=j[b>>2];break f}g=g&255}b=Db(o,b,g);g=(b|0)<0;l=g?l:b?l:s;r=g?s-1|0:r;f=g?f:s+1|0;if((r|0)>=(f|0)){continue}break}if((l|0)<0){break e}g=j[t+(l<<2)>>2];f=k[g+11|0];b=f<<24>>24;e=(e|0)<0?j[m+4>>2]:n;n=(b|0)<0?j[g+4>>2]:f;if((e|0)!=(n|0)){break e}e=j[g>>2];b=(b|0)<0;g:{if(!b){if(!n){break g}if(k[o|0]!=(e&255)){break e}b=g;while(1){f=f-1|0;if(!f){break g}e=k[o+1|0];o=o+1|0;b=b+1|0;if((e|0)==k[b|0]){continue}break}break e}if(!n){break g}if(qa(b?e:g,o,n)){break e}}b=p(q,12);ua((b+g|0)+12|0,c);a=j[j[a>>2]+(l<<2)>>2];i[d+16>>1]=95;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;xb((a+b|0)+12|0,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]>-1){break d}T(j[d+16>>2]);break d}e=U(60);j[e>>2]=0;j[e+4>>2]=0;j[e+56>>2]=0;j[e+48>>2]=0;j[e+52>>2]=0;j[e+40>>2]=0;j[e+44>>2]=0;j[e+32>>2]=0;j[e+36>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;ua(e,m);b=(e+p(q,12)|0)+12|0;ua(b,c);i[d+16>>1]=95;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;xb(b,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}l=j[a+8>>2];f=l+1|0;j[a+8>>2]=f;j[j[a>>2]+(l<<2)>>2]=e;h:{if((l|0)<1){break h}while(1){b=l;n=h[e+11|0]<=-1?j[e>>2]:e;c=f<<2;f=j[a>>2];g=j[(c+f|0)-8>>2];i:{if(h[g+11|0]<=-1){c=j[g>>2];break i}c=g}if((ba(n,c)|0)>-1){break h}j[f+(b<<2)>>2]=g;l=b-1|0;f=b;if((b|0)>1){continue}break}l=0}j[j[a>>2]+(l<<2)>>2]=e}if(h[m+11|0]<=-1){T(j[m>>2])}}M=d+48|0}function Dh(a,b,c,d){var e=0,f=0,g=0,i=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=M-32|0;M=g;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;f=Ch(d);a:{m=k[c+16|0];n=0;b:{if(!(m&1)){break b}e=(k[c|0]+c|0)+18|0;n=e;if(!(m&2)){break b}n=k[e|0]|k[e+1|0]<<8|(k[e+2|0]<<16|k[e+3|0]<<24)}c:{if((Ch(n)|0)>(f|0)){break c}e=k[c+16|0];d:{if(!(e&1)){break d}f=0;if(e&2){e=k[c|0]+c|0;if(!(k[e+18|0]|k[e+19|0]<<8|(k[e+20|0]<<16|k[e+21|0]<<24))){break d}e=k[c+16|0];f=!(e&1)}o=c+17|0;p=l[c+2>>1];q=j[c+4>>2];m=k[c|0];n=j[b+44>>2];e:{if(f){break e}i=(c+m|0)+18|0;if(!(e&2)){break e}i=k[i|0]|k[i+1|0]<<8|(k[i+2|0]<<16|k[i+3|0]<<24)}$d(g+16|0,n,o,m,q,p,i,d,0);f=k[g+27|0];e=f<<24>>24;i=(e|0)<0;f=i?j[g+20>>2]:f;if(f){aa(a,i?j[g+16>>2]:g+16|0,f);Z(a,10);e=k[g+27|0]}if(e<<24>>24>-1){break d}T(j[g+16>>2])}e=k[c+16|0];if(!(e&1)){break c}f:{if(e&2){e=k[c|0]+c|0;if(!(k[e+18|0]|k[e+19|0]<<8|(k[e+20|0]<<16|k[e+21|0]<<24))){break c}e=k[c+16|0];f=121429;if(!(e&1)){break f}}i=(k[c|0]+c|0)+18|0;f=i;if(!(e&2)){break f}f=k[i|0]|k[i+1|0]<<8|(k[i+2|0]<<16|k[i+3|0]<<24)}e=ca(f,121401);if(!e){break c}p=c+17|0;while(1){o=e+3|0;i=We(o);if(i>>>0>=4294967280){break a}g:{h:{if(i>>>0>=11){c=i+16&-16;e=U(c);j[g+24>>2]=c|-2147483648;j[g+16>>2]=e;j[g+20>>2]=i;break h}h[g+27|0]=i;e=g+16|0;if(!i){break g}}V(e,o,i)}h[e+i|0]=0;e=Xb(j[b+44>>2],h[g+27|0]<0?j[g+16>>2]:g+16|0);if(e){while(1){c=k[e+16|0];i:{if(!(c&1)){break i}j:{if(c&2){c=k[e|0]+e|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break i}c=k[e+16|0];n=121429;if(!(c&1)){break j}}f=(k[e|0]+e|0)+18|0;n=f;if(!(c&2)){break j}n=k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24)}c=ca(n,121397);if(!c){break i}c=c+3|0;if(Db(c,p,We(c))){break i}q=g;r=j[b+44>>2];s=e+17|0;f=k[e|0];n=f;t=j[e+4>>2];u=l[e+2>>1];c=k[e+16|0];m=0;k:{if(!(c&1)){break k}f=(e+f|0)+18|0;m=f;if(!(c&2)){break k}m=k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24)}$d(q,r,s,n,t,u,m,d,0);m=k[g+11|0];c=m<<24>>24;f=(c|0)<0;m=f?j[g+4>>2]:m;if(m){aa(a,f?j[g>>2]:g,m);Z(a,10);c=k[g+11|0]}if(c<<24>>24>-1){break i}T(j[g>>2])}e=j[e+12>>2];if(e){continue}break}}e=ca(i+o|0,121401);if(h[g+27|0]<=-1){T(j[g+16>>2])}if(e){continue}break}}M=g+32|0;return}X();z()}function Rg(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,n=0,o=0;f=M-48|0;M=f;a:{if(c>>>0<=2){c=c<<2;i=j[c+122828>>2];o=j[c+122816>>2];while(1){c=j[b+4>>2];b:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break b}c=pa(b)}if((c|0)==32|c-9>>>0<5){continue}break}g=1;c:{d:{switch(c-43|0){case 0:case 2:break d;default:break c}}g=(c|0)==45?-1:1;c=j[b+4>>2];if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break c}c=pa(b)}e:{f:{while(1){if(h[e+122752|0]==(c|32)){g:{if(e>>>0>6){break g}c=j[b+4>>2];if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break g}c=pa(b)}e=e+1|0;if((e|0)!=8){continue}break f}break}if((e|0)!=3){if((e|0)==8){break f}if(!d|e>>>0<4){break e}if((e|0)==8){break f}}c=j[b+104>>2];if(c){j[b+4>>2]=j[b+4>>2]-1}if(!d|e>>>0<4){break f}while(1){if(c){j[b+4>>2]=j[b+4>>2]-1}e=e-1|0;if(e>>>0>3){continue}break}}Mn(f,q(q(g|0)*q(B)));g=j[f+8>>2];i=j[f+12>>2];l=j[f>>2];n=j[f+4>>2];break a}h:{i:{j:{if(e){break j}e=0;while(1){if(h[e+122761|0]!=(c|32)){break j}k:{if(e>>>0>1){break k}c=j[b+4>>2];if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break k}c=pa(b)}e=e+1|0;if((e|0)!=3){continue}break}break i}l:{switch(e|0){case 0:m:{if((c|0)!=48){break m}e=j[b+4>>2];n:{if(e>>>0>2]){j[b+4>>2]=e+1;e=k[e|0];break n}e=pa(b)}if((e&-33)==88){Kn(f+16|0,b,o,i,g,d);g=j[f+24>>2];i=j[f+28>>2];l=j[f+16>>2];n=j[f+20>>2];break a}if(!j[b+104>>2]){break m}j[b+4>>2]=j[b+4>>2]-1}In(f+32|0,b,c,o,i,g,d);g=j[f+40>>2];i=j[f+44>>2];l=j[f+32>>2];n=j[f+36>>2];break a;case 3:break i;default:break l}}if(j[b+104>>2]){j[b+4>>2]=j[b+4>>2]-1}break h}o:{c=j[b+4>>2];p:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break p}c=pa(b)}if((c|0)==40){e=1;break o}g=0;i=2147450880;if(!j[b+104>>2]){break a}j[b+4>>2]=j[b+4>>2]-1;break a}while(1){q:{c=j[b+4>>2];r:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break r}c=pa(b)}if(!(c-48>>>0<10|c-65>>>0<26|(c|0)==95)){if(c-97>>>0>=26){break q}}e=e+1|0;continue}break}g=0;i=2147450880;if((c|0)==41){break a}c=j[b+104>>2];if(c){j[b+4>>2]=j[b+4>>2]-1}if(d){if(!e){break a}while(1){e=e-1|0;if(c){j[b+4>>2]=j[b+4>>2]-1}if(e){continue}break}break a}}j[37140]=28;Hb(b,0,0)}g=0;i=0}j[a>>2]=l;j[a+4>>2]=n;j[a+8>>2]=g;j[a+12>>2]=i;M=f+48|0}function Mh(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;e=M-80|0;M=e;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;a:{if(!j[b+16>>2]|j[d>>2]==j[d+4>>2]){break a}Dd(e+48|0,b,c);j[e+44>>2]=0;j[e+40>>2]=0;j[e+32>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;Eq(b,e+24|0,c,e+44|0,e+40|0);j[e+16>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;c=j[d>>2];b:{if((c|0)==j[d+4>>2]){break b}while(1){Bh(e- -64|0,j[b+16>>2],e+48|0,p(f,12)+c|0);g=k[e+75|0];c=g<<24>>24;i=j[e+68>>2];if((c|0)<0?i:g){l=k[e+19|0];if(l<<24>>24<0?j[e+12>>2]:l){$(e+8|0,121137);i=j[e+68>>2];g=k[e+75|0];c=g}c=c<<24>>24<0;aa(e+8|0,c?j[e+64>>2]:e- -64|0,c?i:g);c=k[e+75|0]}if(c<<24>>24<=-1){T(j[e+64>>2])}f=f+1|0;c=j[d>>2];if(f>>>0<(j[d+4>>2]-c|0)/12>>>0){continue}break}c=k[e+19|0];if(!(c<<24>>24<0?j[e+12>>2]:c)){break b}f=j[e+44>>2];c:{if((f|0)!=2){break c}if(j[b+44>>2]){j[e+72>>2]=0;j[e+64>>2]=0;j[e+68>>2]=0;ia(e- -64|0,e+8|0);Oc(e- -64|0,j[b+40>>2]);da(e+8|0,e- -64|0);c=j[e+64>>2];if(!c){break c}j[e+68>>2]=c;T(c);break c}Pc(e+8|0,j[b+36>>2])}Ab(e- -64|0,e+8|0,10);d=j[e+64>>2];j[a>>2]=d;g=j[e+68>>2];j[a+4>>2]=g;j[a+8>>2]=j[e+72>>2];d:{e:{switch(f-1|0){case 0:case 3:break e;default:break d}}c=g-d|0;if(!c){break d}c=(c|0)/12|0;i=c>>>0>1?c:1;c=0;while(1){f=p(c,12)+d|0;f:{if(j[b+44>>2]){j[e+72>>2]=0;j[e+64>>2]=0;j[e+68>>2]=0;ia(e- -64|0,f);wb(e- -64|0,j[b+40>>2]);da(f,e- -64|0);f=j[e+64>>2];if(!f){break f}j[e+68>>2]=f;T(f);break f}nb(f,j[b+36>>2])}c=c+1|0;if((i|0)!=(c|0)){continue}break}}if((d|0)==(g|0)){break b}while(1){f=d+12|0;g:{if(ib(b,d,0)){d=f;break g}c=d;h:{if((f|0)!=(g|0)){while(1){if(h[c+11|0]<=-1){T(j[c>>2])}i=j[f+4>>2];j[c>>2]=j[f>>2];j[c+4>>2]=i;j[c+8>>2]=j[f+8>>2];h[f+11|0]=0;h[f|0]=0;c=c+12|0;f=f+12|0;if((g|0)!=(f|0)){continue}break}g=j[a+4>>2];if((g|0)==(c|0)){break h}}while(1){f=g-12|0;if(h[g-1|0]<=-1){T(j[f>>2])}g=f;if((f|0)!=(c|0)){continue}break}}j[a+4>>2]=c;g=c}if((d|0)!=(g|0)){continue}break}}if(h[e+19|0]<=-1){T(j[e+8>>2])}if(h[e+35|0]<=-1){T(j[e+24>>2])}a=j[e+48>>2];if(!a){break a}b=a;f=j[e+52>>2];c=b;i:{if((b|0)==(f|0)){break i}while(1){b=f-12|0;if(h[f-1|0]<=-1){T(j[b>>2])}f=b;if((a|0)!=(f|0)){continue}break}c=j[e+48>>2]}b=c;j[e+52>>2]=a;T(b)}M=e+80|0}function _e(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=M-32|0;M=f;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;q=h[b+15|0];g=j[b+8>>2];a:{if((q|0)<=-1){break a}g=q&255}u=d-g|0;b:{if(!j[j[b+64>>2]+4484>>2]|u?(u|0)<=0:0){break b}q=k[b+28|0];d=h[b+27|0];g=j[b+20>>2];c:{if((d|0)<=-1){break c}g=d&255}if(q>>>0>g+u>>>0){break b}o=ha(f+16|0,b+16|0);g=o;q=b+4|0;d=h[q+11|0];s=j[b+8>>2];d:{if((d|0)<=-1){break d}s=d&255}$(g,s+c|0);e:{if(!Vc(b,h[o+11|0]<0?j[o>>2]:f+16|0)){break e}c=h[b+27|0];g=j[b+20>>2];f:{if((c|0)<=-1){break f}g=c&255}c=Xb(j[b+64>>2],h[o+11|0]<0?j[o>>2]:f+16|0);if(c){s=b+52|0;while(1){d=j[c+4>>2];m=i[c+2>>1];n=d+(m<<1)|0;if(m){p=l[b+30>>1];while(1){t=m>>>1|0;r=(t<<1)+d|0;e=p>>>0>l[r>>1];d=e?r+2|0:d;m=e?(t^-1)+m|0:t;if(m){continue}break}}g:{if((d|0)==(n|0)|l[b+30>>1]>1]){break g}d=j[b+56>>2];m=i[b+60>>1];p=d+(m<<1)|0;t=l[j[b+64>>2]+4198>>1];if(m){while(1){e=m>>>1|0;r=(e<<1)+d|0;n=t>>>0>l[r>>1];d=n?r+2|0:d;m=n?(e^-1)+m|0:e;if(m){continue}break}}if(t>>>0>=l[d>>1]?(d|0)!=(p|0):0){break g}h:{i:{if(j[s>>2]){Z(a,32);d=s;break i}d=q;if(h[d+11|0]>-1){break h}d=q}d=j[d>>2]}$(a,d);d=k[c+16|0];j:{k:{if(!(d&1)){break k}l:{if(d&2){d=k[c|0]+c|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break k}d=k[c+16|0];e=0;if(!(d&1)){break l}}p=(k[c|0]+c|0)+18|0;e=p;if(!(d&2)){break l}e=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}if(ca(e,1056)){break j}}Z(a,32);$(a,1056);$(a,c+17|0)}m:{n:{d=k[c+16|0];if(!(d&1)){break n}if(d&2){d=k[c|0]+c|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break n}}Z(a,32);d=a;r=k[c+16|0];e=1080;o:{if(!(r&1)){break o}n=(k[c|0]+c|0)+18|0;e=n;if(!(r&2)){break o}e=k[n|0]|k[n+1|0]<<8|(k[n+2|0]<<16|k[n+3|0]<<24)}$(d,e);break m}d=Ib(j[j[b+64>>2]+4100>>2],l[b+30>>1]);Z(a,32);$(a,1060);$(a,d);T(d)}Z(a,10)}c=j[c+12>>2];if(c){continue}break}}if(!(h[b+29|0]&1)){break e}Rc(f,j[b+64>>2],h[o+11|0]<0?j[o>>2]:f+16|0,u+g|0,1,b,0,0);c=k[f+11|0];b=c<<24>>24;d=(b|0)<0;c=d?j[f+4>>2]:c;if(c){aa(a,d?j[f>>2]:f,c);b=k[f+11|0]}if(b<<24>>24>-1){break e}T(j[f>>2])}if(h[o+11|0]>-1){break b}T(j[o>>2])}M=f+32|0}function Uo(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0;d=M-48|0;M=d;a:{b:{c:{d:{if(k[a+4228|0]){break d}h[a+4228|0]=1;j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;f=ka(b,d+40|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){break d}o=a+4232|0;g=-1;while(1){e:{switch(l|0){case 1:n=j[d+40>>2];g=n-f|0;if(g>>>0>=4294967280){break b}f:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break f}q=g+16&-16;e=U(q);j[d+32>>2]=q|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(n|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((n|0)!=(f|0)){continue}break}}h[e|0]=0;g:{if(h[d+35|0]>=0){g=ta(d+24|0);break g}e=j[d+24>>2];g=ta(e);T(e)}if((g|0)<=-1){break d}if(!g){n=1;break c}Pn(o,g);case 0:i=i+1|0;break;default:break e}}l=l+1|0;f=ka(b,d+40|0);e=k[b+11|0];n=e<<24>>24<0;if((f|0)!=((n?j[b>>2]:b)+(n?j[b+4>>2]:e)|0)){continue}break}if((i|0)!=2){break d}n=1;if((g|0)>=1){q=a+4232|0;o=0;while(1){j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;h:{if(!vb(c,d+24|0)){i=0;break h}bb(d+24|0);b=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;f=ka(d+24|0,d+40|0);l=j[d+24>>2];i=k[d+35|0];e=i<<24>>24<0;if((f|0)==((e?l:d+24|0)+(e?j[d+28>>2]:i)|0)){i=1;break h}while(1){i:{j:{switch(b|0){case 0:if(!_(d+24|0,f-(e&1?l:d+24|0)|0,5,1572,5)){break i}i=0;g=0;break h;case 1:break j;default:break i}}l=j[d+40>>2];i=l-f|0;if(i>>>0>=4294967280){break a}k:{if(i>>>0<=10){h[d+19|0]=i;e=d+8|0;break k}p=i+16&-16;e=U(p);j[d+16>>2]=p|-2147483648;j[d+8>>2]=e;j[d+12>>2]=i}if((f|0)!=(l|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[e|0]=0;e=j[a+4236>>2];if(e>>>0>2]){f=j[d+12>>2];j[e>>2]=j[d+8>>2];j[e+4>>2]=f;j[e+8>>2]=j[d+16>>2];j[a+4236>>2]=e+12;break i}Eb(q,d+8|0);if(h[d+19|0]>-1){break i}T(j[d+8>>2])}i=1;b=b+1|0;f=ka(d+24|0,d+40|0);l=j[d+24>>2];p=k[d+35|0];e=p<<24>>24<0;if((f|0)!=((e?l:d+24|0)+(e?j[d+28>>2]:p)|0)){continue}break}}if(h[d+35|0]<=-1){T(j[d+24>>2])}if(!i){break d}o=o+1|0;if((o|0)<(g|0)){continue}break}}if(((j[a+4236>>2]-j[a+4232>>2]|0)/12|0)==(g|0)){break c}}n=0}M=d+48|0;return n}X();z()}X();z()}function Ef(a,b,c,d,e,f,g){var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=M+ -64|0;M=m;j[m+56>>2]=0;j[m+48>>2]=0;j[m+52>>2]=0;j[m+40>>2]=0;j[m+32>>2]=0;j[m+36>>2]=0;j[m+24>>2]=0;j[m+16>>2]=0;j[m+20>>2]=0;n=j[b+1024>>2];if(n){while(1){a:{if(!k[(l[n+30>>1]+b|0)+4492|0]){break a}Th(m,n,c,d,e,f,g);q=k[m+11|0];o=q<<24>>24;if((o|0)<0?j[m+4>>2]:q){b:{if(!f){break b}o=j[f+52>>2];if(o){$(m+48|0,o);Z(m+48|0,32);break b}o=Ib(j[b+4100>>2],l[f+30>>1]);Z(m+48|0,32);$(m+48|0,1738);if(!o){break b}$(m+48|0,o);T(o)}o=k[m+11|0];q=o<<24>>24<0;aa(m+48|0,q?j[m>>2]:m,q?j[m+4>>2]:o);c:{if(j[n+52>>2]){Z(m+48|0,32);$(m+48|0,j[n+52>>2]);break c}o=Ib(j[b+4100>>2],l[n+30>>1]);Z(m+48|0,32);$(m+48|0,1738);if(!o){break c}$(m+48|0,o);T(o)}Z(m+48|0,10);o=k[m+11|0]}if(o<<24>>24>-1){break a}T(j[m>>2])}n=j[n+80>>2];if(n){continue}break}}if(d){t=(c+d|0)-1|0;p=j[((k[t|0]<<2)+b|0)+1024>>2];if(p){u=(d|0)<1;while(1){o=p+68|0;if(h[p+79|0]<=-1){n=j[o>>2]}else{n=o}d:{e:{f:{g:{if(u){break g}v=d+n|0;q=d;s=t;while(1){r=k[n|0];if(!r){break f}if((r|0)!=k[s|0]?(r|0)!=46:0){break g}s=s-1|0;n=n+1|0;r=(q|0)>1;q=q-1|0;if(r){continue}break}n=v}if(k[n|0]){break e}}h:{if(!k[(l[p+30>>1]+b|0)+4492|0]){break h}Th(m,p,c,d,e,f,g);q=k[m+11|0];n=q<<24>>24;if((n|0)<0?j[m+4>>2]:q){i[b+4364>>1]=l[p+30>>1];if(!j[p+56>>2]){n=b;if(h[o+11|0]<=-1){o=j[o>>2]}j[n+4356>>2]=o}ua(m+32|0,m);i:{if(h[m+27|0]<=-1){h[j[m+16>>2]]=0;j[m+20>>2]=0;break i}h[m+27|0]=0;h[m+16|0]=0}j:{if(j[p+52>>2]){Z(m+16|0,32);$(m+16|0,j[p+52>>2]);break j}n=Ib(j[b+4100>>2],l[p+30>>1]);Z(m+16|0,32);$(m+16|0,1738);if(!n){break j}$(m+16|0,n);T(n)}ci(m+32|0,m+16|0);Z(m+32|0,10);n=k[m+43|0];o=n<<24>>24<0;aa(m+48|0,o?j[m+32>>2]:m+32|0,o?j[m+36>>2]:n);n=k[m+11|0]}if(n<<24>>24>-1){break h}T(j[m>>2])}n=p+84|0;break d}n=p+88|0}p=j[n>>2];if(p){continue}break}}b=j[m+52>>2];j[a>>2]=j[m+48>>2];j[a+4>>2]=b;j[a+8>>2]=j[m+56>>2];a=m+48|0}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;if(h[m+27|0]<=-1){T(j[m+16>>2])}if(h[m+43|0]<=-1){T(j[m+32>>2])}if(h[m+59|0]<=-1){T(j[m+48>>2])}M=m- -64|0}function Xe(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=M-128|0;M=k;a:{b:{c:{if(!sc(f,g,h,i,0,0,0,0)){break c}m=bi(f,g,h,i);s=e>>>16|0;o=s&32767;if((o|0)==32767){break c}if(m){break b}}xa(k+16|0,b,c,d,e,f,g,h,i);e=j[k+16>>2];d=j[k+20>>2];c=j[k+24>>2];b=j[k+28>>2];Sg(k,e,d,c,b,e,d,c,b);d=j[k+8>>2];e=j[k+12>>2];h=j[k>>2];i=j[k+4>>2];break a}m=o<<16;p=d;r=m|e&65535;n=r;q=h;r=i>>>16&32767;l=i&65535|r<<16;if((sc(b,c,p,n,f,g,h,l)|0)<=0){if(sc(b,c,p,n,f,g,q,l)){h=b;i=c;break a}xa(k+112|0,b,c,d,e,0,0,0,0);d=j[k+120>>2];e=j[k+124>>2];h=j[k+112>>2];i=j[k+116>>2];break a}if(o){i=c;h=b}else{xa(k+96|0,b,c,p,n,0,0,0,1081540608);h=j[k+108>>2];n=h;p=j[k+104>>2];o=(h>>>16|0)-120|0;i=j[k+100>>2];h=j[k+96>>2]}if(!r){xa(k+80|0,f,g,q,l,0,0,0,1081540608);f=j[k+92>>2];l=f;q=j[k+88>>2];r=(l>>>16|0)-120|0;g=j[k+84>>2];f=j[k+80>>2]}t=l&65535|65536;n=n&65535|65536;if((o|0)>(r|0)){while(1){l=p;m=q;u=l-m|0;m=n-((l>>>0>>0)+t|0)|0;l=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;m=m-(l>>>0>u>>>0)|0;l=u-l|0;d:{if((m|0)>0?1:(m|0)>=0){n=h;h=h-f|0;i=i-((f>>>0>n>>>0)+g|0)|0;if(!(h|l|(i|m))){xa(k+32|0,b,c,d,e,0,0,0,0);d=j[k+40>>2];e=j[k+44>>2];h=j[k+32>>2];i=j[k+36>>2];break a}m=m<<1|l>>>31;p=l<<1|i>>>31;break d}m=n<<1|p>>>31;p=p<<1|i>>>31}n=m;m=i<<1|h>>>31;h=h<<1;i=m;o=o-1|0;if((r|0)<(o|0)){continue}break}o=r}m=p;r=m-q|0;l=n-((m>>>0>>0)+t|0)|0;m=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;l=l-(m>>>0>r>>>0)|0;q=r-m|0;e:{if((l|0)<0){q=p;l=n;break e}p=h;h=h-f|0;i=i-((f>>>0>p>>>0)+g|0)|0;if(h|q|(i|l)){break e}xa(k+48|0,b,c,d,e,0,0,0,0);d=j[k+56>>2];e=j[k+60>>2];h=j[k+48>>2];i=j[k+52>>2];break a}if((l|0)==65535|l>>>0<65535){while(1){b=i>>>31|0;o=o-1|0;n=i<<1|h>>>31;h=h<<1;i=n;c=b;b=q;l=l<<1|b>>>31;q=c|b<<1;if(l>>>0<65536){continue}break}}b=s&32768;if((o|0)<=0){xa(k- -64|0,h,i,q,l&65535|(b|o+120)<<16,0,0,0,1065811968);d=j[k+72>>2];e=j[k+76>>2];h=j[k+64>>2];i=j[k+68>>2];break a}d=q;e=l&65535|(b|o)<<16}j[a>>2]=h;j[a+4>>2]=i;j[a+8>>2]=d;j[a+12>>2]=e;M=k+128|0}function Eh(a,b,c,d,e,f){var g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;l=M-48|0;M=l;j[l+40>>2]=0;j[l+32>>2]=0;j[l+36>>2]=0;j[l+24>>2]=0;j[l+16>>2]=0;j[l+20>>2]=0;a:{b:{c:{d:{if(j[a+56>>2]){m=W(b);if(m>>>0>=4294967280){break c}e:{f:{if(m>>>0>=11){g=m+16&-16;i=U(g);j[l+8>>2]=g|-2147483648;j[l>>2]=i;j[l+4>>2]=m;g=l;break f}h[l+11|0]=m;g=l;i=l;if(!m){break e}}V(i,b,m)}h[i+m|0]=0;q=ia(l+32|0,l);if(h[g+11|0]<=-1){T(j[l>>2])}m=W(c);if(m>>>0>=4294967280){break c}g:{h:{if(m>>>0>=11){g=m+16&-16;i=U(g);j[l+8>>2]=g|-2147483648;j[l>>2]=i;j[l+4>>2]=m;g=l;break h}h[l+11|0]=m;i=l;if(!m){break g}}V(i,c,m)}h[i+m|0]=0;t=ia(l+16|0,l);if(h[g+11|0]>-1){break d}T(j[l>>2]);break d}q=W(b);t=W(c)}r=t+1|0;g=p(r,q+1|0);o=ja(g);u=ja(g);if(!o|!u){break b}i=1;i:{if((q|0)<1){break i}g=q&3;if(q-1>>>0>=3){m=q&-4;while(1){h[p(i,r)+o|0]=0;h[p(i+1|0,r)+o|0]=0;h[p(i+2|0,r)+o|0]=0;h[p(i+3|0,r)+o|0]=0;i=i+4|0;m=m-4|0;if(m){continue}break}}if(!g){break i}while(1){h[p(i,r)+o|0]=0;i=i+1|0;g=g-1|0;if(g){continue}break}}if((t|0)>=0){ya(o,0,r)}if((q|0)>=1){A=j[l+16>>2];B=j[l+32>>2];i=1;while(1){m=i;j:{if((t|0)<1){break j}x=p(m,r);i=m-1|0;y=p(i,r);if(j[a+56>>2]){g=1;v=(i<<1)+B|0;while(1){s=k[v|0]|k[v+1|0]<<8;i=g;n=i-1|0;g=(n<<1)+A|0;g=k[g|0]|k[g+1|0]<<8;k:{if(!((s&255)!=(g&255)|(s>>>8|0)!=(g>>>8|0))){g=i+x|0;h[o+g|0]=k[(n+y|0)+o|0]+1;n=2;break k}s=h[(i+y|0)+o|0];g=i+x|0;w=o+g|0;n=h[w-1|0];if((s|0)>=(n|0)){h[w|0]=s;n=0;break k}h[w|0]=n;n=1}h[g+u|0]=n;g=i+1|0;if((i|0)!=(t|0)){continue}break}break j}w=k[b+i|0];g=1;while(1){i=g;n=i-1|0;l:{if((w|0)!=k[n+c|0]){s=h[(i+y|0)+o|0];g=i+x|0;v=o+g|0;n=h[v-1|0];if((s|0)>=(n|0)){h[v|0]=s;n=0;break l}h[v|0]=n;n=1;break l}g=i+x|0;h[o+g|0]=k[(n+y|0)+o|0]+1;n=2}h[g+u|0]=n;g=i+1|0;if((i|0)!=(t|0)){continue}break}}i=m+1|0;if((m|0)!=(q|0)){continue}break}}j[f>>2]=u;T(o);j[d>>2]=q;j[e>>2]=t;break a}X();z()}if(o){T(o)}if(u){T(u)}j[f>>2]=0}a=j[l+16>>2];if(a){j[l+20>>2]=a;T(a)}a=j[l+32>>2];if(a){j[l+36>>2]=a;T(a)}M=l+48|0}function Hg(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;f=j[b>>2];a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{if(!d){break l}g=j[d>>2];if(!g){break l}if(!a){d=c;break j}j[d>>2]=0;d=c;break k}m:{if(!j[j[37115]>>2]){if(!a){break m}if(!c){break a}g=c;while(1){d=h[f|0];if(d){j[a>>2]=d&57343;a=a+4|0;f=f+1|0;g=g-1|0;if(g){continue}break a}break}j[a>>2]=0;j[b>>2]=0;return c-g|0}d=c;if(!a){break i}break g}return W(f)}e=1;break g}e=0;break h}e=1}while(1){if(!e){e=k[f|0]>>>3|0;if((e-16|e+(g>>26))>>>0>7){break f}i=f+1|0;e=i;n:{if(!(g&33554432)){break n}if((k[i|0]&192)!=128){break f}i=f+2|0;e=i;if(!(g&524288)){break n}if((k[i|0]&192)!=128){break f}e=f+3|0}f=e;d=d-1|0;e=1;continue}while(1){g=k[f|0];o:{if(f&3|g-1>>>0>126){break o}g=j[f>>2];if((g|g-16843009)&-2139062144){break o}while(1){d=d-4|0;g=j[f+4>>2];e=f+4|0;f=e;if(!((g-16843009|g)&-2139062144)){continue}break}f=e}e=g&255;if(e-1>>>0<=126){d=d-1|0;f=f+1|0;continue}break}e=e-194|0;if(e>>>0>50){break e}f=f+1|0;g=j[(e<<2)+123120>>2];e=0;continue}}while(1){if(!e){if(!d){break a}while(1){p:{e=k[f|0];i=e-1|0;q:{r:{if(i>>>0>126){g=e;break r}if(f&3|d>>>0<5){break q}s:{while(1){g=j[f>>2];if((g|g-16843009)&-2139062144){break s}j[a>>2]=g&255;j[a+4>>2]=k[f+1|0];j[a+8>>2]=k[f+2|0];j[a+12>>2]=k[f+3|0];a=a+16|0;f=f+4|0;d=d-4|0;if(d>>>0>4){continue}break}g=k[f|0]}e=g&255;i=e-1|0}if(i>>>0>126){break p}}j[a>>2]=e;a=a+4|0;f=f+1|0;d=d-1|0;if(d){continue}break a}break}e=e-194|0;if(e>>>0>50){break e}f=f+1|0;g=j[(e<<2)+123120>>2];e=1;continue}i=k[f|0];e=i>>>3|0;if((e-16|e+(g>>26))>>>0>7){break f}t:{u:{l=f+1|0;e=i-128|g<<6;i=l;v:{if((e|0)>-1){break v}i=k[l|0]-128|0;if(i>>>0>63){break u}l=f+2|0;e=i|e<<6;i=l;if((e|0)>-1){break v}i=k[l|0]-128|0;if(i>>>0>63){break u}e=i|e<<6;i=f+3|0}f=i;j[a>>2]=e;d=d-1|0;a=a+4|0;break t}j[37140]=25;f=f-1|0;break c}e=0;continue}}f=f-1|0;if(g){break d}g=k[f|0]}if(g&255){break d}if(a){j[a>>2]=0;j[b>>2]=0}return c-d|0}j[37140]=25;if(!a){break b}}j[b>>2]=f}return-1}j[b>>2]=f;return c}function jd(a,b,c,d,e){var f=0,g=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=M-16|0;M=r;q=h[a+15|0];n=j[a+8>>2];a:{if((q|0)<=-1){break a}n=q&255}s=c-n|0;b:{if(!(!j[j[a+64>>2]+4484>>2]|s?(s|0)<=0:0)){n=ha(r,a+16|0);q=n;c=h[a+15|0];f=j[a+8>>2];c:{if((c|0)<=-1){break c}f=c&255}$(q,f+b|0);d:{e:{if(!Vc(a,h[n+11|0]<0?j[n>>2]:r)){break e}b=h[a+27|0];q=j[a+20>>2];f:{if((b|0)<=-1){break f}q=b&255}g=Xb(j[a+64>>2],h[n+11|0]<0?j[n>>2]:r);g:{if(!g){break g}if(!e){while(1){c=j[g+4>>2];b=i[g+2>>1];m=c+(b<<1)|0;if(b){p=l[a+30>>1];while(1){o=b>>>1|0;k=(o<<1)+c|0;f=p>>>0>l[k>>1];c=f?k+2|0:c;b=f?(o^-1)+b|0:o;if(b){continue}break}}if(!((c|0)==(m|0)|l[a+30>>1]>1])){c=j[a+56>>2];b=i[a+60>>1];p=c+(b<<1)|0;o=l[j[a+64>>2]+4198>>1];if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=o>>>0>l[k>>1];c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}b=0;if((c|0)==(p|0)|o>>>0>1]){break d}}g=j[g+12>>2];if(g){continue}break g}}while(1){c=j[g+4>>2];b=i[g+2>>1];m=c+(b<<1)|0;if(b){p=l[a+30>>1];while(1){o=b>>>1|0;k=(o<<1)+c|0;f=p>>>0>l[k>>1];c=f?k+2|0:c;b=f?(o^-1)+b|0:o;if(b){continue}break}}h:{if((c|0)==(m|0)|l[a+30>>1]>1]){break h}c=j[a+56>>2];b=i[a+60>>1];p=c+(b<<1)|0;o=l[j[a+64>>2]+4198>>1];if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=o>>>0>l[k>>1];c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}if(o>>>0>=l[c>>1]?(c|0)!=(p|0):0){break h}c=j[g+4>>2];b=i[g+2>>1];p=c+(b<<1)|0;if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=l[k>>1]>>0;c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}b=0;if(!((c|0)==(p|0)|l[c>>1]>e>>>0)){break d}c=j[a+56>>2];if(!c){break h}b=i[a+60>>1];p=(b<<1)+c|0;if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=l[k>>1]>>0;c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}if((c|0)==(p|0)|l[c>>1]>e>>>0){break h}b=0;break d}g=j[g+12>>2];if(g){continue}break}}if(!(h[a+29|0]&1)){break e}g=Qa(j[a+64>>2],h[n+11|0]<0?j[n>>2]:r,q+s|0,1,a,0,e,d);b=0;if(g){break d}}b=1}if(h[n+11|0]<=-1){T(j[n>>2])}if(!b){break b}}g=0}M=r+16|0;return g}function xh(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0;f=M-32|0;M=f;a:{b:{c:{d:{b=j[a+16>>2];if(b>>>0>=341){j[a+16>>2]=b-341;b=j[a+4>>2];k=j[b>>2];c=b+4|0;j[a+4>>2]=c;e=j[a+8>>2];e:{if((e|0)!=j[a+12>>2]){break e}h=j[a>>2];if(h>>>0>>0){b=((c-h>>2)+1|0)/-2<<2;g=b+c|0;d=e-c|0;if(d){Ka(g,c,d);c=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break e}b=e-h|0;d=b?b>>1:1;if(d>>>0>=1073741824){break d}b=d<<2;i=U(b);g=b+i|0;b=e-c|0;d=i+(d&-4)|0;e=d;if(b){e=b+d|0;b=d;while(1){j[b>>2]=j[c>>2];c=c+4|0;b=b+4|0;if((e|0)!=(b|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=i;if(!h){break e}T(h);e=j[a+8>>2]}j[e>>2]=k;j[a+8>>2]=j[a+8>>2]+4;break a}b=j[a+8>>2];c=b-j[a+4>>2]>>2;d=j[a+12>>2];g=d-j[a>>2]|0;if(c>>>0>2>>>0){if((b|0)!=(d|0)){l=f,m=U(4092),j[l+8>>2]=m;yd(a,f+8|0);break a}l=f,m=U(4092),j[l+8>>2]=m;xd(a,f+8|0);b=j[a+4>>2];k=j[b>>2];c=b+4|0;j[a+4>>2]=c;e=j[a+8>>2];f:{if((e|0)!=j[a+12>>2]){break f}h=j[a>>2];if(h>>>0>>0){b=((c-h>>2)+1|0)/-2<<2;g=b+c|0;d=e-c|0;if(d){Ka(g,c,d);c=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break f}b=e-h|0;d=b?b>>1:1;if(d>>>0>=1073741824){break d}b=d<<2;i=U(b);g=b+i|0;b=e-c|0;d=i+(d&-4)|0;e=d;if(b){e=b+d|0;b=d;while(1){j[b>>2]=j[c>>2];c=c+4|0;b=b+4|0;if((e|0)!=(b|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=i;if(!h){break f}T(h);e=j[a+8>>2]}j[e>>2]=k;j[a+8>>2]=j[a+8>>2]+4;break a}j[f+24>>2]=a+12;b=g?g>>1:1;if(b>>>0>=1073741824){break d}d=b<<2;g=U(d);j[f+8>>2]=g;b=g+(c<<2)|0;j[f+16>>2]=b;j[f+20>>2]=d+g;j[f+12>>2]=b;l=f,m=U(4092),j[l+4>>2]=m;yd(f+8|0,f+4|0);c=j[a+8>>2];if((c|0)==j[a+4>>2]){b=c;break b}while(1){c=c-4|0;xd(f+8|0,c);if(j[a+4>>2]!=(c|0)){continue}break}break c}D();z()}b=j[a+8>>2]}g=j[a>>2];j[a>>2]=j[f+8>>2];j[f+8>>2]=g;j[a+4>>2]=j[f+12>>2];j[f+12>>2]=c;j[a+8>>2]=j[f+16>>2];j[f+16>>2]=b;d=j[a+12>>2];j[a+12>>2]=j[f+20>>2];j[f+20>>2]=d;if((b|0)!=(c|0)){j[f+16>>2]=b+(((b-c|0)-4>>>2^-1)<<2)}if(!g){break a}T(g)}M=f+32|0}function Go(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;n=1;while(1){p=((n<<2)+a|0)+1024|0;f=j[p>>2];a:{if(!f){break a}while(1){l=0;i=f;f=j[f+80>>2];b:{if(!f){break b}g=i+68|0;if(h[i+79|0]>=0){m=k[g|0];d=f;while(1){c=d+68|0;c=h[d+79|0]<=-1?j[c>>2]:c;b=m;c:{if(!b){break c}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break c}while(1){b=k[e+1|0];if(!b){break c}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+80>>2];if(d){continue}break}break b}g=j[g>>2];m=k[g|0];d=f;while(1){c=d+68|0;c=h[d+79|0]<0?j[c>>2]:c;b=m;d:{if(!b){break d}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break d}while(1){b=k[e+1|0];if(!b){break d}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+80>>2];if(d){continue}break}}j[i+84>>2]=0;j[i+88>>2]=l;if(f){c=i+68|0;e=f+68|0;c=h[i+79|0]<=-1?j[c>>2]:c;b=k[c|0];e=h[f+79|0]<=-1?j[e>>2]:e;e:{if(!b|(b|0)!=46&k[e|0]!=(b|0)){break e}while(1){b=k[c+1|0];if(!b){break e}d=k[e+1|0];e=e+1|0;c=c+1|0;if(!((b|0)!=46&(b|0)!=(d|0))){continue}break}}if(b){continue}j[i+84>>2]=f;continue}break}b=j[p>>2];if(!b){break a}while(1){l=j[b+80>>2];if(!l){break a}g=b+68|0;f:{g:{h:{if(h[b+79|0]>=0){m=k[g|0];f=0;b=l;while(1){d=b;c=b+68|0;c=h[b+79|0]<=-1?j[c>>2]:c;b=m;i:{if(!b){break i}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break i}while(1){b=k[e+1|0];if(!b){break i}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+80>>2];if(b){continue}break}break g}g=j[g>>2];m=k[g|0];f=0;b=l;while(1){d=b;c=b+68|0;c=h[b+79|0]<0?j[c>>2]:c;b=m;j:{if(!b){break j}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break j}while(1){b=k[e+1|0];if(!b){break j}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+80>>2];if(b){continue}break}break g}d=f;if(!d){break f}}j[d+88>>2]=0}b=l;if(b){continue}break}}n=n+1|0;if((n|0)!=256){continue}break}}function Ke(a,b,c){var d=0,e=0,f=0,g=0,i=0,k=0,l=0;g=M-32|0;M=g;i=j[a>>2];l=(b-i|0)/12|0;a:{b:{e=j[a+4>>2];d=j[a+8>>2];c:{if(e>>>0>>0){if((b|0)==(e|0)){e=j[c+4>>2];j[b>>2]=j[c>>2];j[b+4>>2]=e;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[a+4>>2]=b+12;break c}i=e;k=(e-b|0)-12|0;d=p((k|0)/12|0,12)+b|0;if(e>>>0>d>>>0){f=d;while(1){l=j[f+4>>2];j[i>>2]=j[f>>2];j[i+4>>2]=l;j[i+8>>2]=j[f+8>>2];j[f>>2]=0;j[f+4>>2]=0;j[f+8>>2]=0;i=i+12|0;f=f+12|0;if(f>>>0>>0){continue}break}}j[a+4>>2]=i;if(k){while(1){a=e-12|0;d=d-12|0;if(h[e-1|0]<=-1){T(j[a>>2])}e=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=e;j[a+8>>2]=j[d+8>>2];h[d+11|0]=0;h[d|0]=0;e=a;if((b|0)!=(d|0)){continue}break}}if(h[b+11|0]<=-1){T(j[b>>2])}a=j[c+4>>2];j[b>>2]=j[c>>2];j[b+4>>2]=a;j[b+8>>2]=j[c+8>>2];h[c+11|0]=0;h[c|0]=0;break c}k=((e-i|0)/12|0)+1|0;if(k>>>0>=357913942){break b}j[g+24>>2]=a+8;f=g;i=(d-i|0)/12|0;d=i<<1;d=i>>>0<178956970?d>>>0>>0?k:d:357913941;e=0;d:{if(!d){break d}if(d>>>0>=357913942){break a}e=U(p(d,12))}j[f+8>>2]=e;f=e+p(l,12)|0;j[g+16>>2]=f;j[g+20>>2]=e+p(d,12);j[g+12>>2]=f;vq(g+8|0,c);c=j[g+12>>2];f=c;e=j[a>>2];if((e|0)!=(b|0)){f=c;d=b;while(1){d=d-12|0;c=j[d+4>>2];f=f-12|0;j[f>>2]=j[d>>2];j[f+4>>2]=c;j[f+8>>2]=j[d+8>>2];j[d>>2]=0;j[d+4>>2]=0;j[d+8>>2]=0;f=j[g+12>>2]-12|0;j[g+12>>2]=f;if((d|0)!=(e|0)){continue}break}}e=j[a+4>>2];e:{if((e|0)==(b|0)){d=j[g+16>>2];break e}d=j[g+16>>2];while(1){c=j[b+4>>2];j[d>>2]=j[b>>2];j[d+4>>2]=c;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;d=j[g+16>>2]+12|0;j[g+16>>2]=d;b=b+12|0;if((e|0)!=(b|0)){continue}break}b=j[a+4>>2];f=j[g+12>>2]}e=j[a>>2];j[a>>2]=f;j[g+12>>2]=e;j[a+4>>2]=d;j[g+16>>2]=b;c=j[a+8>>2];j[a+8>>2]=j[g+20>>2];j[g+8>>2]=e;j[g+20>>2]=c;if((b|0)!=(e|0)){while(1){b=b-12|0;j[g+16>>2]=b;if(h[b+11|0]<=-1){T(j[b>>2]);b=j[g+16>>2]}if((b|0)!=(e|0)){continue}break}b=j[g+8>>2]}if(b){T(b)}}M=g+32|0;return}X();z()}D();z()}function Gb(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;l=M-16|0;M=l;a:{if(!j[a+4312>>2]){break a}b:{if(!j[a+4144>>2]){c=k[b+11|0];e=c<<24>>24;c=(e|0)<0?j[b+4>>2]:c;if(!c){break a}d=j[b>>2];i=h[a+4327|0];if((i|0)<0){break b}r=(e|0)<0?d:b;o=c>>>0>1?c:1;c=a+4316|0;e=i&255;q=c+e|0;d=0;while(1){i=d+r|0;c:{if(!e){a=c;break c}s=h[i|0];a=c;b=e;while(1){g=b>>>1|0;m=g+a|0;n=(s|0)>h[m|0];a=n?m+1|0:a;b=n?(g^-1)+b|0:g;if(b){continue}break}}f=(a|0)!=(q|0)?(h[i|0]>=h[a|0])+f|0:f;d=d+1|0;if((o|0)!=(d|0)){continue}break}break a}if(j[a+4328>>2]==j[a+4332>>2]){break a}j[l+8>>2]=0;j[l>>2]=0;j[l+4>>2]=0;ia(l,b);c=j[l>>2];b=j[l+4>>2];d:{if((c|0)==(b|0)){c=b;break d}e=b-c|0;d=(e|0)>-1?e:-1;b=c-b|0;d=p((d|0)<1?d:1,((b|0)>(e|0)?b:e)>>>1|0);i=d>>>0>1?d:1;g=j[a+4332>>2];e=j[a+4328>>2];a=g-e|0;if(a){d=a>>1;while(1){a=(n<<1)+c|0;r=k[a|0]|k[a+1|0]<<8;a=e;b=d;while(1){o=b>>>1|0;q=(o<<1)+a|0;s=r>>>0>(k[q|0]|k[q+1|0]<<8)>>>0;a=s?q+2|0:a;b=s?(o^-1)+b|0:o;if(b){continue}break}f=(a|0)!=(g|0)?(r>>>0>=(k[a|0]|k[a+1|0]<<8)>>>0)+f|0:f;n=n+1|0;if((i|0)!=(n|0)){continue}break}break d}b=(e|0)==(g|0);f=0;e:{if(b){break e}f=(k[c|0]|k[c+1|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0}if(d>>>0<2){break d}a=1;d=i-1|0;g=d&1;if((i|0)!=2){d=d&-2;while(1){if(!b){m=f;f=(a<<1)+c|0;f=m+((k[f|0]|k[f+1|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0)|0}if(!b){m=f;f=(a<<1)+c|0;f=m+((k[f+2|0]|k[f+3|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0)|0}a=a+2|0;d=d-2|0;if(d){continue}break}}if(b|!g){break d}a=(a<<1)+c|0;f=((k[a|0]|k[a+1|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0)+f|0}if(!c){break a}j[l+4>>2]=c;T(c);break a}r=(e|0)<0?d:b;o=c>>>0>1?c:1;e=j[a+4316>>2];c=j[a+4320>>2];q=e+c|0;d=0;while(1){i=d+r|0;a=e;if(c){s=h[i|0];b=c;while(1){g=b>>>1|0;m=g+a|0;n=(s|0)>h[m|0];a=n?m+1|0:a;b=n?(g^-1)+b|0:g;if(b){continue}break}}f=(a|0)!=(q|0)?(h[i|0]>=h[a|0])+f|0:f;d=d+1|0;if((o|0)!=(d|0)){continue}break}}M=l+16|0;return f<<16>>16}function Lo(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;n=1;while(1){p=(n<<2)+a|0;f=j[p>>2];a:{if(!f){break a}while(1){l=0;i=f;f=j[f+68>>2];b:{if(!f){break b}g=i+4|0;if(h[i+15|0]>=0){m=k[g|0];d=f;while(1){c=d+4|0;c=h[d+15|0]<=-1?j[c>>2]:c;b=m;c:{if(!b){break c}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break c}while(1){b=k[e+1|0];if(!b){break c}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+68>>2];if(d){continue}break}break b}g=j[g>>2];m=k[g|0];d=f;while(1){c=d+4|0;c=h[d+15|0]<0?j[c>>2]:c;b=m;d:{if(!b){break d}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break d}while(1){b=k[e+1|0];if(!b){break d}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+68>>2];if(d){continue}break}}j[i+72>>2]=0;j[i+76>>2]=l;if(f){c=i+4|0;e=f+4|0;c=h[i+15|0]<=-1?j[c>>2]:c;b=k[c|0];e=h[f+15|0]<=-1?j[e>>2]:e;e:{if(!b|(b|0)!=46&k[e|0]!=(b|0)){break e}while(1){b=k[c+1|0];if(!b){break e}d=k[e+1|0];e=e+1|0;c=c+1|0;if(!((b|0)!=46&(b|0)!=(d|0))){continue}break}}if(b){continue}j[i+72>>2]=f;continue}break}b=j[p>>2];if(!b){break a}while(1){l=j[b+68>>2];if(!l){break a}g=b+4|0;f:{g:{h:{if(h[b+15|0]>=0){m=k[g|0];f=0;b=l;while(1){d=b;c=b+4|0;c=h[b+15|0]<=-1?j[c>>2]:c;b=m;i:{if(!b){break i}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break i}while(1){b=k[e+1|0];if(!b){break i}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+68>>2];if(b){continue}break}break g}g=j[g>>2];m=k[g|0];f=0;b=l;while(1){d=b;c=b+4|0;c=h[b+15|0]<0?j[c>>2]:c;b=m;j:{if(!b){break j}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break j}while(1){b=k[e+1|0];if(!b){break j}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+68>>2];if(b){continue}break}break g}d=f;if(!d){break f}}j[d+76>>2]=0}b=l;if(b){continue}break}}n=n+1|0;if((n|0)!=256){continue}break}}function Af(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,j=0,l=0;c=1;a:{if(!(!a|!b)){f=Ya(a,10);b:{c:{c=ca(a,1756);if(!(!f|c>>>0<=f>>>0?c:0)){c=ca(a,1752);if(!c){break c}}i=a;if(!f){break b}if(c>>>0>f>>>0){break c}i=a;break b}c=ca(a,1813);i=0}d=Ya(b,10);a=ca(b,1756);d:{e:{if(!(!d|a>>>0<=d>>>0?a:0)){a=ca(b,1752);if(!a){break e}}if(!d|a>>>0<=d>>>0){break d}}a=ca(b,1813)}b=(a|0)!=0;e=(c|0)!=0;g=1;f:{if(!a|!c){break f}g:{if(f){if(c>>>0>=f>>>0){e=1;b=1;break f}e=1;b=1;j=!d;if(!(j|a>>>0>>0)){break f}break g}if(d){e=1;b=1;if(a>>>0>=d>>>0){break f}}while(1){if(k[c+3|0]!=k[a+3|0]){break a}b=a+3|0;a=c+3|0;c=0;g=0;while(1){b=b+1|0;h:{i:{f=h[a+1|0];switch(f|0){case 0:case 9:case 10:case 32:break i;default:break h}}g=1}j:{k:{e=h[b|0];switch(e|0){case 0:case 9:case 10:case 32:break k;default:break j}}c=1}a=a+1|0;if((e|0)==(f|0)?!(c|g):0){continue}break}if(!g|!c){break a}c=ca(a,1756);i=a;l:{if(c){break l}c=ca(a,1752);i=a;if(c){break l}c=ca(a,1813);i=0}a=ca(b,1756);m:{n:{if(!(!d^a>>>0>d>>>0?0:a)){a=ca(b,1752);if(!a){break n}}if(!d|a>>>0<=d>>>0){break m}}a=ca(b,1813)}g=0;b=(a|0)!=0;e=(c|0)!=0;if(!a|!c){break f}if(!d){continue}e=1;b=1;if(a>>>0>>0){continue}break}break f}while(1){if(k[c+3|0]!=k[a+3|0]){break a}b=a+3|0;a=c+3|0;c=0;g=0;while(1){b=b+1|0;o:{p:{e=h[a+1|0];switch(e|0){case 0:case 9:case 10:case 32:break p;default:break o}}g=1}q:{r:{l=h[b|0];switch(l|0){case 0:case 9:case 10:case 32:break r;default:break q}}c=1}a=a+1|0;if((e|0)==(l|0)?!(c|g):0){continue}break}if(!g|!c){break a}s:{t:{c=ca(a,1756);if(!(c>>>0<=f>>>0?c:0)){c=ca(a,1752);if(!c){break t}}if(c>>>0>f>>>0){break t}break s}c=ca(a,1813);a=0}i=a;a=ca(b,1756);u:{v:{if(!(a>>>0>d>>>0^j?0:a)){a=ca(b,1752);if(!a){break v}}if(!d|a>>>0<=d>>>0){break u}}a=ca(b,1813)}g=0;b=(a|0)!=0;e=(c|0)!=0;if(!a|!c){break f}e=1;if(c>>>0>=f>>>0){b=1;break f}b=1;if(a>>>0>>0|j){continue}break}}c=b|e|g}return c}return i?-1:1}function Pf(a,b,c,d,e,f,g,i,m,n,o,p,q,r,s){var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;y=M-16|0;M=y;j[c>>2]=a;B=d&512;while(1){if((z|0)==4){if(k[r+11|0]>>>7|0){e=j[r+4>>2]}else{e=k[r+11|0]}if(e>>>0>1){D=y,E=rb(r),j[D+8>>2]=E;D=c,E=dd(be(y+8|0,1),kc(r),j[c>>2]),j[D>>2]=E}d=d&176;if((d|0)!=16){if((d|0)==32){a=j[c>>2]}j[b>>2]=a}M=y+16|0;return}a:{b:{switch(h[m+z|0]){case 0:j[b>>2]=j[c>>2];break a;case 1:j[b>>2]=j[c>>2];u=O[j[j[g>>2]+28>>2]](g,32)|0;t=j[c>>2];j[c>>2]=t+1;h[t|0]=u;break a;case 3:if(k[r+11|0]>>>7|0){t=j[r+4>>2]}else{t=k[r+11|0]}if(!t){break a}if(k[r+11|0]>>>7|0){t=j[r>>2]}else{t=r}u=k[t|0];t=j[c>>2];j[c>>2]=t+1;h[t|0]=u;break a;case 2:t=!B;if(k[q+11|0]>>>7|0){u=j[q+4>>2]}else{u=k[q+11|0]}if(t|!u){break a}D=c,E=dd(rb(q),kc(q),j[c>>2]),j[D>>2]=E;break a;case 4:break b;default:break a}}C=j[c>>2];e=i?e+1|0:e;v=e;while(1){c:{if(f>>>0<=v>>>0){break c}u=h[v|0];if((u|0)>=0){t=(l[j[g+8>>2]+((u&255)<<1)>>1]&2048)!=0}else{t=0}if(!t){break c}v=v+1|0;continue}break}u=s;if((u|0)>=1){while(1){t=(u|0)<1;if(!(t|e>>>0>=v>>>0)){v=v-1|0;t=k[v|0];w=j[c>>2];j[c>>2]=w+1;h[w|0]=t;u=u-1|0;continue}break}if(t){t=0}else{t=O[j[j[g>>2]+28>>2]](g,48)|0}while(1){w=j[c>>2];j[c>>2]=w+1;if((u|0)>=1){h[w|0]=t;u=u-1|0;continue}break}h[w|0]=n}d:{if((e|0)==(v|0)){u=O[j[j[g>>2]+28>>2]](g,48)|0;t=j[c>>2];j[c>>2]=t+1;h[t|0]=u;break d}if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}if(t){if(k[p+11|0]>>>7|0){t=j[p>>2]}else{t=p}t=h[t|0]}else{t=-1}u=0;x=0;while(1){if((e|0)==(v|0)){break d}e:{if((u|0)!=(t|0)){w=u;break e}t=j[c>>2];j[c>>2]=t+1;h[t|0]=o;w=0;if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}x=x+1|0;if(t>>>0<=x>>>0){t=u;break e}if(k[p+11|0]>>>7|0){t=j[p>>2]}else{t=p}if(k[t+x|0]==127){t=-1;break e}if(k[p+11|0]>>>7|0){t=j[p>>2]}else{t=p}t=h[t+x|0]}v=v-1|0;u=k[v|0];A=j[c>>2];j[c>>2]=A+1;h[A|0]=u;u=w+1|0;continue}}pc(C,j[c>>2])}z=z+1|0;continue}}function Nf(a,b,c,d,e,f,g,i,l,m,n,o,p,q,r){var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;x=M-16|0;M=x;j[c>>2]=a;A=d&512;while(1){if((y|0)==4){if(k[q+11|0]>>>7|0){e=j[q+4>>2]}else{e=k[q+11|0]}if(e>>>0>1){C=x,D=rb(q),j[C+8>>2]=D;C=c,D=dd(Sf(x+8|0,1),ic(q),j[c>>2]),j[C>>2]=D}d=d&176;if((d|0)!=16){if((d|0)==32){a=j[c>>2]}j[b>>2]=a}M=x+16|0}else{a:{b:{switch(h[l+y|0]){case 0:j[b>>2]=j[c>>2];break a;case 1:j[b>>2]=j[c>>2];s=O[j[j[g>>2]+44>>2]](g,32)|0;t=j[c>>2];j[c>>2]=t+4;j[t>>2]=s;break a;case 3:if(k[q+11|0]>>>7|0){s=j[q+4>>2]}else{s=k[q+11|0]}if(!s){break a}if(k[q+11|0]>>>7|0){s=j[q>>2]}else{s=q}s=j[s>>2];t=j[c>>2];j[c>>2]=t+4;j[t>>2]=s;break a;case 2:s=!A;if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}if(s|!t){break a}C=c,D=dd(rb(p),ic(p),j[c>>2]),j[C>>2]=D;break a;case 4:break b;default:break a}}B=j[c>>2];e=i?e+4|0:e;u=e;while(1){c:{if(f>>>0<=u>>>0){break c}if(!(O[j[j[g>>2]+12>>2]](g,2048,j[u>>2])|0)){break c}u=u+4|0;continue}break}s=r;if((s|0)>=1){while(1){t=(s|0)<1;if(!(t|e>>>0>=u>>>0)){u=u-4|0;t=j[u>>2];v=j[c>>2];j[c>>2]=v+4;j[v>>2]=t;s=s-1|0;continue}break}if(t){t=0}else{t=O[j[j[g>>2]+44>>2]](g,48)|0}while(1){v=j[c>>2];j[c>>2]=v+4;if((s|0)>=1){j[v>>2]=t;s=s-1|0;continue}break}j[v>>2]=m}d:{if((e|0)==(u|0)){s=O[j[j[g>>2]+44>>2]](g,48)|0;t=j[c>>2];u=t+4|0;j[c>>2]=u;j[t>>2]=s;break d}if(k[o+11|0]>>>7|0){s=j[o+4>>2]}else{s=k[o+11|0]}if(s){if(k[o+11|0]>>>7|0){s=j[o>>2]}else{s=o}t=h[s|0]}else{t=-1}s=0;w=0;while(1){if((e|0)!=(u|0)){e:{if((s|0)!=(t|0)){v=s;break e}t=j[c>>2];j[c>>2]=t+4;j[t>>2]=n;v=0;if(k[o+11|0]>>>7|0){t=j[o+4>>2]}else{t=k[o+11|0]}w=w+1|0;if(t>>>0<=w>>>0){t=s;break e}if(k[o+11|0]>>>7|0){s=j[o>>2]}else{s=o}if(k[s+w|0]==127){t=-1;break e}if(k[o+11|0]>>>7|0){s=j[o>>2]}else{s=o}t=h[s+w|0]}u=u-4|0;s=j[u>>2];z=j[c>>2];j[c>>2]=z+4;j[z>>2]=s;s=v+1|0;continue}break}u=j[c>>2]}kd(B,u)}y=y+1|0;continue}break}}function Kp(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0;g=M-32|0;M=g;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;a:{b:{if(!d){break b}if((d|0)<=-1){break a}l=d<<1;f=U(l);j[g+16>>2]=f;d=d<<1;i=d+f|0;j[g+24>>2]=i;l=V(f,c,l);j[g+20>>2]=i;if(d>>1>>>0<2){break b}if(i>>>0>l>>>0){while(1){d=f+2|0;c:{if(d>>>0>=i>>>0){break c}i=qr(k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24),16);h[f|0]=i;h[f+1|0]=i>>>8;h[f+2|0]=i>>>16;h[f+3|0]=i>>>24;i=j[g+20>>2];if(i>>>0<=f+4>>>0){break c}i=qr(k[f+2|0]|k[f+3|0]<<8|(k[f+4|0]<<16|k[f+5|0]<<24),16);h[f+2|0]=i;h[f+3|0]=i>>>8;h[f+4|0]=i>>>16;h[f+5|0]=i>>>24;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]<0){T(j[g>>2])}i=j[g+20>>2];if(i>>>0<=f+6>>>0){break c}i=qr(k[f+4|0]|k[f+5|0]<<8|(k[f+6|0]<<16|k[f+7|0]<<24),16);h[f+4|0]=i;h[f+5|0]=i>>>8;h[f+6|0]=i>>>16;h[f+7|0]=i>>>24;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}i=j[g+20>>2];if(i>>>0<=f+8>>>0){break c}i=qr(k[f+6|0]|k[f+7|0]<<8|(k[f+8|0]<<16|k[f+9|0]<<24),16);h[f+6|0]=i;h[f+7|0]=i>>>8;h[f+8|0]=i>>>16;h[f+9|0]=i>>>24;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}i=j[g+20>>2]}l=j[g+16>>2];m=i-l|0;if(m){Ka(l,c,m);i=j[g+20>>2]}f=d;if(i>>>0>f>>>0){continue}break}f=j[g+16>>2]}if(f>>>0>=i>>>0){break b}m=i;while(1){n=2;i=i-2|0;d=i;l=i;d:{if(f>>>0>=i>>>0){break d}while(1){d=d-2|0;f=k[d|0]|k[d+1|0]<<8;o=k[l|0]|k[l+1|0]<<8;h[d|0]=o;h[d+1|0]=o>>>8;h[l|0]=f;h[l+1|0]=f>>>8;e:{if(n>>>0<4){break e}j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]>-1){break e}T(j[g>>2])}f=j[g+16>>2];if(f>>>0>=d>>>0){break d}l=d;n=m-d|0;if((n|0)<10){continue}break}}m=i;d=j[g+20>>2]-f|0;if(d){Ka(f,c,d);f=j[g+16>>2]}if(f>>>0>>0){continue}break}}if(f){j[g+20>>2]=f;T(f)}M=g+32|0;return}X();z()}function Vp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;g=M-48|0;M=g;j[g+40>>2]=0;j[g+32>>2]=0;j[g+36>>2]=0;a:{b:{if((W(c)|0)>=2){e=j[a+44>>2];if(e){break b}}break a}c:{o=j[e+4100>>2]+100|0;f=j[o>>2];if((f|0)==j[o+4>>2]){e=0;break c}d:while(1){e=c;while(1){e:{f:{n=e;r=p(q,60);i=r+f|0;e=k[i+11|0];l=e<<24>>24>-1;g:{if(!l){m=j[i>>2];break g}m=i}n=ca(n,m);if(n){m=n-c|0;e=l?e:j[i+4>>2];f=(c|0)==(n|0);f=(W(c)|0)==(e+m|0)?f?3:2:f;if(!f){e=0;break e}if((c|0)==(n|0)){e=i+p(f,12)|0;l=h[e+23|0];h:{if((l|0)>=0){e=l&255;break h}e=j[e+16>>2]}if(e){e=f;break e}e=f-1|0;if(e){break f}e=0;break e}while(1){e=i+p(f,12)|0;l=h[e+23|0];i:{if((l|0)<=-1){e=j[e+16>>2];break i}e=l&255}if(e){e=f;break e}e=0;f=(f|0)==2?0:f-1|0;if(f){continue}break}break e}q=q+1|0;if(q>>>0<(j[o+4>>2]-f|0)/60>>>0){continue d}e=h[g+43|0]<0;break c}l=i+p(e,12)|0;s=h[l+23|0];j:{if((s|0)>=0){l=s&255;break j}l=j[l+16>>2]}if(l){break e}e=0;f=f-2|0;if(!f){break e}e=i+p(f,12)|0;l=h[e+23|0];if((l|0)>=0){e=l&255?f:0;break e}e=j[e+16>>2]?f:0}f=p(e,12);e=f+i|0;i=h[e+23|0];k:{if((i|0)<=-1){e=j[e+16>>2];break k}e=i&255}l:{if(!e){break l}Ja(g+32|0,c);Va(g+32|0,m);e=f+(r+j[o>>2]|0)|0;f=e+12|0;l=j[f>>2];m=f;f=k[e+23|0];i=f<<24>>24<0;aa(g+32|0,i?l:m,i?j[e+16>>2]:f);f=g+32|0;e=r+j[o>>2]|0;i=h[e+11|0];m:{if((i|0)<=-1){e=j[e+4>>2];break m}e=i&255}$(f,e+n|0);f=0;wa(a,b,g+32|0,d,0,0);e=Ba(g+32|0,32,0);if((e|0)==-1){break l}while(1){n:{if(!cc(a,sa(g+16|0,g+32|0,f,e-f|0),0,0,0)){f=e+1|0;break n}i=j[b>>2];m=j[b+4>>2];f=e+1|0;wa(a,b,sa(g,g+32|0,f,-1),d,0,0);m=(m-i|0)/12|0;e=j[b>>2];i=(j[b+4>>2]-e|0)/12|0;if(m>>>0>>0){ua((e+p(i,12)|0)-12|0,g+32|0)}if(h[g+11|0]>-1){break n}T(j[g>>2])}e=Ba(g+32|0,32,f);if(h[g+27|0]<=-1){T(j[g+16>>2])}if((e|0)!=-1){continue}break}}e=n+1|0;f=j[o>>2];continue}}}if(!e){break a}T(j[g+32>>2])}M=g+48|0}function Jc(a,b,c){var d=0,e=0,f=0,g=0,i=0,k=0,l=0,n=0,o=0;g=M-32|0;M=g;i=j[a>>2];l=(b-i|0)/12|0;a:{b:{e=j[a+4>>2];d=j[a+8>>2];c:{if(e>>>0>>0){if((b|0)==(e|0)){n=a,o=ha(b,c)+12|0,j[n+4>>2]=o;break c}i=e;k=(e-b|0)-12|0;d=p((k|0)/12|0,12)+b|0;if(e>>>0>d>>>0){f=d;while(1){l=j[f+4>>2];j[i>>2]=j[f>>2];j[i+4>>2]=l;j[i+8>>2]=j[f+8>>2];j[f>>2]=0;j[f+4>>2]=0;j[f+8>>2]=0;i=i+12|0;f=f+12|0;if(e>>>0>f>>>0){continue}break}}j[a+4>>2]=i;if(k){while(1){f=e-12|0;d=d-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=j[d+4>>2];j[f>>2]=j[d>>2];j[f+4>>2]=e;j[f+8>>2]=j[d+8>>2];h[d+11|0]=0;h[d|0]=0;e=f;if((b|0)!=(d|0)){continue}break}}e=b;if(b>>>0<=c>>>0){c=m[a+4>>2]>c>>>0?c+12|0:c}ua(e,c);break c}k=((e-i|0)/12|0)+1|0;if(k>>>0>=357913942){break b}j[g+24>>2]=a+8;f=g;i=(d-i|0)/12|0;d=i<<1;d=i>>>0<178956970?d>>>0>>0?k:d:357913941;e=0;d:{if(!d){break d}if(d>>>0>=357913942){break a}e=U(p(d,12))}j[f+8>>2]=e;f=e+p(l,12)|0;j[g+16>>2]=f;j[g+20>>2]=e+p(d,12);j[g+12>>2]=f;Cq(g+8|0,c);c=j[g+12>>2];f=c;e=j[a>>2];if((e|0)!=(b|0)){f=c;d=b;while(1){d=d-12|0;c=j[d+4>>2];f=f-12|0;j[f>>2]=j[d>>2];j[f+4>>2]=c;j[f+8>>2]=j[d+8>>2];j[d>>2]=0;j[d+4>>2]=0;j[d+8>>2]=0;f=j[g+12>>2]-12|0;j[g+12>>2]=f;if((d|0)!=(e|0)){continue}break}}e=j[a+4>>2];e:{if((e|0)==(b|0)){d=j[g+16>>2];break e}d=j[g+16>>2];while(1){c=j[b+4>>2];j[d>>2]=j[b>>2];j[d+4>>2]=c;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;d=j[g+16>>2]+12|0;j[g+16>>2]=d;b=b+12|0;if((e|0)!=(b|0)){continue}break}b=j[a+4>>2];f=j[g+12>>2]}e=j[a>>2];j[a>>2]=f;j[g+12>>2]=e;j[a+4>>2]=d;j[g+16>>2]=b;c=j[a+8>>2];j[a+8>>2]=j[g+20>>2];j[g+8>>2]=e;j[g+20>>2]=c;if((b|0)!=(e|0)){while(1){b=b-12|0;j[g+16>>2]=b;if(h[b+11|0]<=-1){T(j[b>>2]);b=j[g+16>>2]}if((b|0)!=(e|0)){continue}break}b=j[g+8>>2]}if(b){T(b)}}M=g+32|0;return}X();z()}D();z()}function Od(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0;e=M-16|0;M=e;a:{if((Ba(a,10,0)|0)==-1){break a}Ab(e,a,10);b:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break b}h[a+11|0]=0;h[a|0]=0}b=j[e>>2];if((b|0)!=j[e+4>>2]){ua(a,b);o=j[e+4>>2];f=j[e>>2];d=o-f|0;if((d|0)/12>>>0>=2){i=1;while(1){q=p(i,12);g=q+f|0;m=k[g+11|0];c=m<<24>>24;n=(c|0)<0?j[g+4>>2]:m;c:{d:{if((c|0)<=-1){d=0;if(!n){while(1){b=p(d,12)+f|0;c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){break c}d=d+1|0;if((i|0)!=(d|0)){continue}break d}}while(1){c=p(d,12)+f|0;m=k[c+11|0];b=m<<24>>24<0;if(((b?j[c+4>>2]:m)|0)==(n|0)){if(!qa(j[g>>2],b?j[c>>2]:c,n)){break c}}d=d+1|0;if((i|0)!=(d|0)){continue}break}break d}l=0;if(!n){while(1){b=p(l,12)+f|0;c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){break c}l=l+1|0;if((l|0)!=(i|0)){continue}break d}}while(1){c=p(l,12)+f|0;d=k[c+11|0];b=d<<24>>24<0;e:{if(((b?j[c+4>>2]:d)|0)!=(n|0)){break e}d=b?j[c>>2]:c;c=g;b=m;while(1){if(k[c|0]!=k[d|0]){break e}d=d+1|0;c=c+1|0;b=b-1|0;if(b){continue}break}break c}l=l+1|0;if((l|0)!=(i|0)){continue}break}}c=a;b=k[c+11|0];if(b<<24>>24<0?j[c+4>>2]:b){Z(a,10);f=j[e>>2]}b=f+q|0;g=k[b+11|0];f=g<<24>>24<0;aa(c,f?j[b>>2]:b,f?j[b+4>>2]:g);f=j[e>>2];o=j[e+4>>2]}i=i+1|0;d=o-f|0;if(i>>>0<(d|0)/12>>>0){continue}break}}f:{if((d|0)==12){ua(a,f);break f}Ja(a,1817);d=j[e>>2];if((d|0)!=j[e+4>>2]){c=0;while(1){b=p(c,12)+d|0;g=k[b+11|0];f=g<<24>>24<0;aa(a,f?j[b>>2]:b,f?j[b+4>>2]:g);$(a,1821);c=c+1|0;d=j[e>>2];if(c>>>0<(j[e+4>>2]-d|0)/12>>>0){continue}break}}b=k[a+11|0];c=b<<24>>24<0;h[((c?j[a+4>>2]:b)+(c?j[a>>2]:a)|0)-2|0]=41}b=j[e>>2]}if(!b){break a}c=j[e+4>>2];a=b;g:{if((b|0)==(c|0)){break g}while(1){a=c-12|0;if(h[c-1|0]<=-1){T(j[a>>2])}c=a;if((b|0)!=(c|0)){continue}break}a=j[e>>2]}j[e+4>>2]=b;T(a)}M=e+16|0}function Fp(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;d=M-32|0;M=d;j[d+16>>2]=h[b+11|0]<0?j[b>>2]:b;a:{b:{c:{f=ka(b,d+16|0);c=k[b+11|0];g=c<<24>>24<0;if((f|0)!=((g?j[b>>2]:b)+(g?j[b+4>>2]:c)|0)){g=a+4316|0;o=a+4328|0;while(1){d:{e:{f:{switch(n|0){case 1:l=j[d+16>>2];e=l-f|0;if(e>>>0>=4294967280){break a}g:{if(e>>>0<=10){h[d+11|0]=e;c=d;break g}i=e+16&-16;c=U(i);j[d+8>>2]=i|-2147483648;j[d>>2]=c;j[d+4>>2]=e}if((f|0)!=(l|0)){while(1){h[c|0]=k[f|0];c=c+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[c|0]=0;if(h[d+11|0]>=0){p=a,q=ta(d),j[p+4312>>2]=q;break e}c=j[d>>2];p=a,q=ta(c),j[p+4312>>2]=q;T(c);break e;case 0:break e;case 2:break f;default:break d}}if(!j[a+4144>>2]){l=j[d+16>>2];e=l-f|0;i=h[g+11|0];h:{i:{j:{if((i|0)<=-1){c=(j[a+4324>>2]&2147483647)-1|0;if(e>>>0<=c>>>0){break i}i=j[a+4320>>2];break j}c=g;if(e>>>0<=10){break h}c=10;i=i&255}qb(g,c,e-c|0,i,0,i,0);c=g;if(h[c+11|0]>-1){break h}}c=j[g>>2]}if((f|0)!=(l|0)){while(1){h[c|0]=k[f|0];c=c+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[c|0]=0;k:{l:{if(h[g+11|0]>=0){h[g+11|0]=e;if(e<<24>>24>-1){break l}e=j[a+4320>>2];c=j[g>>2];break k}j[a+4320>>2]=e;c=j[g>>2];break k}e=e&255;c=g}xe(c,c+e|0,d);break e}l=j[d+16>>2];e=l-f|0;if(e>>>0>=4294967280){break a}m:{if(e>>>0<=10){h[d+11|0]=e;c=d;break m}i=e+16&-16;c=U(i);j[d+8>>2]=i|-2147483648;j[d>>2]=c;j[d+4>>2]=e}if((f|0)!=(l|0)){while(1){h[c|0]=k[f|0];c=c+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[c|0]=0;ia(o,d);wd(j[a+4328>>2],j[a+4332>>2],d+24|0);if(h[d+11|0]>-1){break e}T(j[d>>2])}m=m+1|0}n=n+1|0;f=ka(b,d+16|0);c=k[b+11|0];e=c<<24>>24<0;if((f|0)!=((e?j[b>>2]:b)+(e?j[b+4>>2]:c)|0)){continue}break}f=1;if((m|0)>1){break c}}f=0;break b}if((m|0)!=2){break b}Ja(a+4316|0,1799)}M=d+32|0;return f}X();z()}function Th(a,b,c,d,e,f,g){var m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=M-32|0;M=m;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;a:{b:{if(h[b+29|0]&1?0:e&1){break b}p=h[b+15|0];n=j[b+8>>2];c:{if((p|0)<=-1){break c}n=p&255}q=d-n|0;if(!j[j[b+64>>2]+4484>>2]|q?(q|0)<=0:0){break b}o=k[b+28|0];d=h[b+27|0];n=j[b+20>>2];d:{if((d|0)<=-1){break d}n=d&255}if(o>>>0>n+q>>>0){break b}n=W(c);if(n>>>0>=4294967280){break a}p=b+16|0;e:{f:{if(n>>>0>=11){d=n+16&-16;o=U(d);j[m+24>>2]=d|-2147483648;j[m+16>>2]=o;j[m+20>>2]=n;break f}h[m+27|0]=n;o=m+16|0;if(!n){break e}}V(o,c,n)}h[n+o|0]=0;Va(m+16|0,q);d=k[b+27|0];c=d<<24>>24<0;aa(m+16|0,c?j[b+16>>2]:p,c?j[b+20>>2]:d);c=b;n=h[m+27|0]<0?j[m+16>>2]:m+16|0;o=n;d=h[b+27|0];p=j[b+20>>2];g:{if((d|0)<=-1){break g}p=d&255}r=p+q|0;h:{if(!Hd(c,o+r|0,n)){break h}if(f){i:{d=j[b+56>>2];if(!d){break i}o=i[b+60>>1];p=(o<<1)+d|0;s=l[f+30>>1];if(o){while(1){q=o>>>1|0;c=(q<<1)+d|0;n=s>>>0>l[c>>1];d=n?c+2|0:d;o=n?(q^-1)+o|0:q;if(o){continue}break}}if((d|0)==(p|0)|s>>>0>1]){break i}Rc(m,j[b+64>>2],h[m+27|0]<0?j[m+16>>2]:m+16|0,r,0,0,l[b+30>>1],g);d=k[m+11|0];b=d<<24>>24;o=j[m+4>>2];if((b|0)<0?o:d){c=j[f+52>>2];if(c){$(a,c);Z(a,32);o=j[m+4>>2];d=k[m+11|0];b=d}b=b<<24>>24<0;aa(a,b?j[m>>2]:m,b?o:d);bb(a);b=k[m+11|0]}if(b<<24>>24>-1){break h}T(j[m>>2]);break h}Rc(m,j[b+64>>2],h[m+27|0]<0?j[m+16>>2]:m+16|0,r,e,f,l[b+30>>1],g);c=k[m+11|0];b=c<<24>>24;d=(b|0)<0;c=d?j[m+4>>2]:c;if(c){aa(a,d?j[m>>2]:m,c);bb(a);b=k[m+11|0]}if(b<<24>>24>-1){break h}T(j[m>>2]);break h}Rc(m,j[b+64>>2],h[m+27|0]<0?j[m+16>>2]:m+16|0,r,0,0,l[b+30>>1],g);c=k[m+11|0];b=c<<24>>24;d=(b|0)<0;c=d?j[m+4>>2]:c;if(c){aa(a,d?j[m>>2]:m,c);bb(a);b=k[m+11|0]}if(b<<24>>24>-1){break h}T(j[m>>2])}if(h[m+27|0]>-1){break b}T(j[m+16>>2])}M=m+32|0;return}X();z()}function ei(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;g=j[a+4>>2];c=g&3;d=g&-8;f=d+a|0;a:{if(!c){c=0;if(b>>>0<256){break a}if(d>>>0>=b+4>>>0){c=a;if(d-b>>>0<=j[37804]<<1>>>0){break a}}return 0}b:{if(b>>>0<=d>>>0){c=d-b|0;if(c>>>0<16){break b}j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=c|3;j[f+4>>2]=j[f+4>>2]|1;Ye(b,c);break b}c=0;if(j[37690]==(f|0)){d=d+j[37687]|0;if(d>>>0<=b>>>0){break a}j[a+4>>2]=g&1|b|2;c=a+b|0;b=d-b|0;j[c+4>>2]=b|1;j[37687]=b;j[37690]=c;break b}if(j[37689]==(f|0)){d=d+j[37686]|0;if(d>>>0>>0){break a}c=d-b|0;c:{if(c>>>0>=16){j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=c|1;d=a+d|0;j[d>>2]=c;j[d+4>>2]=j[d+4>>2]&-2;break c}j[a+4>>2]=d|g&1|2;b=a+d|0;j[b+4>>2]=j[b+4>>2]|1;c=0;b=0}j[37689]=b;j[37686]=c;break b}e=j[f+4>>2];if(e&2){break a}h=d+(e&-8)|0;if(h>>>0>>0){break a}k=h-b|0;d:{if(e>>>0<=255){c=j[f+8>>2];e=e>>>3|0;d=j[f+12>>2];if((d|0)==(c|0)){m=150736,n=j[37684]&qr(-2,e),j[m>>2]=n;break d}j[c+12>>2]=d;j[d+8>>2]=c;break d}i=j[f+24>>2];d=j[f+12>>2];e:{if((f|0)!=(d|0)){c=j[f+8>>2];j[c+12>>2]=d;j[d+8>>2]=c;break e}f:{c=f+20|0;e=j[c>>2];if(e){break f}c=f+16|0;e=j[c>>2];if(e){break f}d=0;break e}while(1){l=c;d=e;c=d+20|0;e=j[c>>2];if(e){continue}c=d+16|0;e=j[d+16>>2];if(e){continue}break}j[l>>2]=0}if(!i){break d}c=j[f+28>>2];e=(c<<2)+151040|0;g:{if(j[e>>2]==(f|0)){j[e>>2]=d;if(d){break g}m=150740,n=j[37685]&qr(-2,c),j[m>>2]=n;break d}j[i+(j[i+16>>2]==(f|0)?16:20)>>2]=d;if(!d){break d}}j[d+24>>2]=i;c=j[f+16>>2];if(c){j[d+16>>2]=c;j[c+24>>2]=d}c=j[f+20>>2];if(!c){break d}j[d+20>>2]=c;j[c+24>>2]=d}if(k>>>0<=15){j[a+4>>2]=g&1|h|2;b=a+h|0;j[b+4>>2]=j[b+4>>2]|1;break b}j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=k|3;c=a+h|0;j[c+4>>2]=j[c+4>>2]|1;Ye(b,k)}c=a}return c}function Fd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;f=M-32|0;M=f;a:{d=j[a>>2];e=(j[a+4>>2]-d|0)/60|0;c=e+1|0;if(c>>>0<71582789){h=j[a+8>>2];j[f+24>>2]=a+8;j[f+20>>2]=0;d=(h-d|0)/60|0;h=d<<1;d=d>>>0<35791394?c>>>0>h>>>0?c:h:71582788;if(d){if(d>>>0>=71582789){break a}g=U(p(d,60))}c=p(e,60)+g|0;j[f+16>>2]=c;j[c+8>>2]=j[b+8>>2];e=j[b+4>>2];j[c>>2]=j[b>>2];j[c+4>>2]=e;j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];e=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=e;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];e=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=e;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+44>>2]=j[b+44>>2];e=j[b+40>>2];j[c+36>>2]=j[b+36>>2];j[c+40>>2]=e;j[b+44>>2]=0;j[b+36>>2]=0;j[b+40>>2]=0;j[c+56>>2]=j[b+56>>2];e=j[b+52>>2];j[c+48>>2]=j[b+48>>2];j[c+52>>2]=e;j[b+48>>2]=0;j[b+52>>2]=0;j[b+56>>2]=0;e=p(d,60)+g|0;h=c+60|0;b=j[a+4>>2];g=j[a>>2];b:{if((b|0)==(g|0)){b=g;break b}while(1){b=b-60|0;d=j[b+4>>2];c=c-60|0;j[c>>2]=j[b>>2];j[c+4>>2]=d;j[c+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];d=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=d;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];d=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=d;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+44>>2]=j[b+44>>2];d=j[b+40>>2];j[c+36>>2]=j[b+36>>2];j[c+40>>2]=d;j[b+44>>2]=0;j[b+36>>2]=0;j[b+40>>2]=0;j[c+56>>2]=j[b+56>>2];d=j[b+52>>2];j[c+48>>2]=j[b+48>>2];j[c+52>>2]=d;j[b+48>>2]=0;j[b+52>>2]=0;j[b+56>>2]=0;if((b|0)!=(g|0)){continue}break}g=j[a+4>>2];b=j[a>>2]}j[a>>2]=c;j[f+12>>2]=b;j[a+4>>2]=h;j[f+16>>2]=g;g=j[a+8>>2];j[a+8>>2]=e;j[f+8>>2]=b;j[f+20>>2]=g;Uh(f+8|0,b);a=j[f+8>>2];if(a){T(a)}M=f+32|0;return}X();z()}D();z()}function Jp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;e=M-16|0;M=e;a:{l=W(c);if(l>>>0<4294967280){b:{c:{if(l>>>0>=11){f=l+16&-16;g=U(f);j[e+8>>2]=f|-2147483648;j[e>>2]=g;j[e+4>>2]=l;p=e;break c}h[e+11|0]=l;p=e;g=e;if(!l){break b}}V(g,c,l)}h[g+l|0]=0;n=h[p+11|0];d:{if((n|0)<=-1){if(m[e+4>>2]<2){break a}l=j[e>>2];break d}l=e;if((n&255)>>>0<2){break a}}while(1){i=l;e:{f:{g:{h:{i:{q=n<<24>>24;j:{if((q|0)<=-1){f=j[e>>2];o=f;g=j[e+4>>2];l=g+f|0;if(i>>>0>=l>>>0){break j}break h}g=n&255;l=g+e|0;if(i>>>0>>0){break i}f=e}o=f+1|0;if((o|0)==(l|0)){break a}break g}o=j[e>>2];f=e}l=i+1|0;if(l>>>0>=f+g>>>0){f=(q|0)<0;break e}f=k[i+1|0];h[i+1|0]=k[i|0];h[i|0]=f;g=k[p+11|0];n=g<<24>>24;f=(n|0)<0;g=f?j[e+4>>2]:g;o=j[e>>2];if(i+2>>>0>=g+(f?o:e)>>>0){break e}f=k[i+2|0];h[i+2|0]=k[i+1|0];h[i+1|0]=f;wa(a,b,e,d,0,0);g=k[p+11|0];n=g<<24>>24;f=(n|0)<0;g=f?j[e+4>>2]:g;o=j[e>>2];if(i+3>>>0>>0){break f}break e}while(1){f=1;i=l-1|0;g=i;q=n<<24>>24<0?j[e>>2]:e;if((q|0)!=(i|0)){while(1){n=k[g|0];r=g;g=g-1|0;h[r|0]=k[g|0];h[g|0]=n;if(f>>>0>=2){wa(a,b,e,d,0,0)}if((g|0)!=(q|0)){f=l-g|0;if((f|0)<5){continue}}break}n=k[p+11|0]}l=n<<24>>24<0;f=l?j[e+4>>2]:n&255;if(f){Ka(l?j[e>>2]:e,c,f)}n=k[p+11|0];l=i;if((i|0)!=(o|0)){continue}break}break a}f=k[i+3|0];h[i+3|0]=k[i+2|0];h[i+2|0]=f;wa(a,b,e,d,0,0);g=k[p+11|0];n=g<<24>>24;f=(n|0)<0;g=f?j[e+4>>2]:g;o=j[e>>2];if(i+4>>>0>=g+(f?o:e)>>>0){break e}f=k[i+4|0];h[i+4|0]=k[i+3|0];h[i+3|0]=f;wa(a,b,e,d,0,0);q=k[p+11|0];n=q<<24>>24;f=(n|0)<0;r=i+5|0;i=j[e+4>>2];g=f?i:q;o=j[e>>2];if(r>>>0>=g+(f?o:e)>>>0){break e}g=(n|0)<0?i:q}if(!g){continue}Ka(f?o:e,c,g);n=k[p+11|0];continue}}X();z()}if(n<<24>>24<=-1){T(j[e>>2])}M=e+16|0}function jp(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=M-32|0;M=e;j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;d=k[c+11|0];f=d<<24>>24;g=k[b+11|0];i=g<<24>>24<0;a:{b:{c:{l=(f|0)<0?j[c+4>>2]:d;g=i?j[b+4>>2]:g;d=l+g|0;if(d>>>0<4294967280){m=j[b>>2];d:{if(d>>>0<=10){h[e+27|0]=g;d=e+16|0;break d}n=d+16&-16;d=U(n);j[e+24>>2]=n|-2147483648;j[e+16>>2]=d;j[e+20>>2]=g}if(g){V(d,i?m:b,g)}h[d+g|0]=0;aa(e+16|0,(f|0)<0?j[c>>2]:c,l);g=a+40|0;d=k[e+27|0];n=d<<24>>24;i=(n|0)<0;l=k[a+51|0];f=l<<24>>24<0;e:{f:{g:{m=i?j[e+20>>2]:d;if((m|0)==((f?j[a+44>>2]:l)|0)){f=f?j[g>>2]:g;l=j[e+16>>2];if(i){break g}if(!m){break b}i=k[f|0]==(l&255);h:{if(!i){break h}l=e+16|0;while(1){d=d-1|0;if(!d){break h}i=k[f+1|0];f=f+1|0;l=l+1|0;i=(i|0)==k[l|0];if(i){continue}break}}if((n|0)>=0){break f}T(j[e+16>>2]);if(i){break b}break e}if(!i){break e}T(j[e+16>>2]);break e}if(m){d=qa(i?l:e+16|0,f,m);T(l);if(!d){break b}break e}T(l);break b}if(i){break b}}j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;d=k[c+11|0];i=d<<24>>24;f=k[b+11|0];l=f<<24>>24<0;m=(i|0)<0?j[c+4>>2]:d;f=l?j[b+4>>2]:f;d=m+f|0;if(d>>>0>=4294967280){break c}n=j[b>>2];i:{if(d>>>0<=10){h[e+27|0]=f;d=e+16|0;break i}o=d+16&-16;d=U(o);j[e+24>>2]=o|-2147483648;j[e+16>>2]=d;j[e+20>>2]=f}if(f){V(d,l?n:b,f)}h[d+f|0]=0;aa(e+16|0,(i|0)<0?j[c>>2]:c,m);if(h[g+11|0]<=-1){T(j[g>>2])}d=j[e+20>>2];j[g>>2]=j[e+16>>2];j[g+4>>2]=d;j[g+8>>2]=j[e+24>>2];j[a+52>>2]=0;d=Hc(a,g);j:{if((d|0)!=(a+4|0)){c=j[d+28>>2];break j}b=h[b+11|0]<0?j[b>>2]:b;d=h[c+11|0]<0?j[c>>2]:c;c=U(64);Hq(c,b,d);ha(e+16|0,g);j[e+28>>2]=c;Xo(e+8|0,a,e+16|0);if(h[e+27|0]>-1){break j}T(j[e+16>>2])}j[a+52>>2]=c;break a}X();z()}X();z()}c=j[a+52>>2]}M=e+32|0;return c}function vq(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0;a:{e=j[a+8>>2];b:{if((e|0)!=j[a+12>>2]){break b}c=j[a+4>>2];d=j[a>>2];if(c>>>0>d>>>0){f=p((((c-d|0)/12|0)+1|0)/-2|0,12);d=f+c|0;if((c|0)!=(e|0)){while(1){if(h[d+11|0]<=-1){T(j[d>>2])}g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];h[c+11|0]=0;h[c|0]=0;d=d+12|0;c=c+12|0;if((e|0)!=(c|0)){continue}break}e=j[a+4>>2]}j[a+8>>2]=d;j[a+4>>2]=e+f;break b}f=e-d|0;f=f?(f|0)/12<<1:1;if(f>>>0>=357913942){break a}g=p(f,12);i=U(g);m=i+g|0;f=p(f>>>2|0,12)+i|0;g=e-c|0;k=(g|0)/12|0;c:{if(!g){g=f;break c}k=p(k,12);l=g-12|0;e=((l>>>0)/12|0)+1&3;d:{if(!e){d=f;break d}d=f;while(1){g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;c=c+12|0;d=d+12|0;e=e-1|0;if(e){continue}break}}g=f+k|0;if(l>>>0>=36){while(1){e=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=e;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[d+20>>2]=j[c+20>>2];e=j[c+16>>2];j[d+12>>2]=j[c+12>>2];j[d+16>>2]=e;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[d+32>>2]=j[c+32>>2];e=j[c+28>>2];j[d+24>>2]=j[c+24>>2];j[d+28>>2]=e;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[d+44>>2]=j[c+44>>2];e=j[c+40>>2];j[d+36>>2]=j[c+36>>2];j[d+40>>2]=e;j[c+44>>2]=0;j[c+36>>2]=0;j[c+40>>2]=0;c=c+48|0;d=d+48|0;if((g|0)!=(d|0)){continue}break}}e=j[a+8>>2];c=j[a+4>>2];d=j[a>>2]}j[a+12>>2]=m;j[a+8>>2]=g;j[a+4>>2]=f;j[a>>2]=i;if((c|0)!=(e|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((f|0)!=(c|0)){continue}break}}if(!d){break b}T(d)}d=j[b+4>>2];f=j[a+8>>2];j[f>>2]=j[b>>2];j[f+4>>2]=d;j[f+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[a+8>>2]=j[a+8>>2]+12;return}D();z()}function Mc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0;i=j[a>>2];m=j[a+4>>2];if((i|0)==(m|0)){return 0}g=j[37135];a=0;c=i;d=c;a:{b:{switch(b-100|0){case 2:if(!g){e=i;while(1){d=k[e|0]|k[e+1|0]<<8;c:{if((d|0)==105){c=d;d=304;break c}if((d|0)!=73){c=d;break c}f=f+1|0;c=305}a=((c|0)==(d|0))+a|0;e=e+2|0;if((m|0)!=(e|0)){continue}break}break a}while(1){e=k[c|0]|k[c+1|0]<<8;d:{e:{if((e|0)==73){f=f+1|0;d=305;break e}d=l[(p(e,6)+g|0)+4>>1];f=((e|0)!=(d|0))+f|0;h=304;if((e|0)==105){break d}}h=l[(p(e,6)+g|0)+2>>1]}e=h;a=((e&65535)==(d|0))+a|0;c=c+2|0;if((m|0)!=(c|0)){continue}break}break a;case 0:while(1){e=a;a=k[c|0]|k[c+1|0]<<8;f:{g:{if((a|0)==73){f=f+1|0;d=305;break g}d=g?l[(p(a,6)+g|0)+4>>1]:a;f=((a|0)!=(d&65535))+f|0;h=304;if((a|0)==105){break f}}h=a;if(!g){break f}h=l[(p(a,6)+g|0)+2>>1]}a=e+((h&65535)==(d&65535))|0;c=c+2|0;if((m|0)!=(c|0)){continue}break}break a;default:break b}}while(1){h=a;h:{i:{j:{a=k[d|0]|k[d+1|0]<<8;k:{if((a|0)!=73){break k}c=b-90|0;if(c>>>0>12){break k}if(1<>1]:a;f=((a|0)!=(c&65535))+f|0;if((a|0)!=105){break i}e=b-90|0;if(e>>>0>12){break i}n=304;if(1<>1]}a=h+((n&65535)==(c&65535))|0;d=d+2|0;if((m|0)!=(d|0)){continue}break}}if(!f){return 0}d=k[i|0]|k[i+1|0]<<8;l:{m:{n:{o:{if((d|0)!=73){break o}c=b-90|0;if(c>>>0>12){break o}b=305;if(1<>1]}c=(b|0)!=(d|0);e=1;if((f|0)!=1){break m}if((b|0)!=(d|0)){break l}}e=2;b=m-i>>1;if((b|0)==(f|0)|(b|0)==(a+f|0)){break l}e=f>>>0>1?c?4:3:3}return e}function wo(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=M-1056|0;M=i;d=i+1048|0;j[d>>2]=0;j[d+4>>2]=0;d=i+1040|0;j[d>>2]=0;j[d+4>>2]=0;j[i+1032>>2]=0;j[i+1036>>2]=0;j[i+1024>>2]=0;j[i+1028>>2]=0;a:{b:{c:{d:{c=k[b|0];e:{if(!c){l=-1;d=1;break e}while(1){if(!k[a+f|0]){break b}d=c&255;f=f+1|0;j[(d<<2)+i>>2]=f;c=(i+1024|0)+(d>>>3&28)|0;j[c>>2]=j[c>>2]|1<>>0>1){break d}}g=-1;e=1;break c}m=1;c=1;while(1){g=k[(c+l|0)+b|0];h=k[b+d|0];f:{if((g|0)==(h|0)){if((c|0)==(m|0)){e=e+m|0;c=1;break f}c=c+1|0;break f}if(g>>>0>h>>>0){m=d-l|0;e=d;c=1;break f}l=e;e=e+1|0;m=1;c=1}d=c+e|0;if(f>>>0>d>>>0){continue}break}e=1;g=-1;if(f>>>0<=1){d=m;break c}d=0;h=1;c=1;while(1){o=k[(c+g|0)+b|0];n=k[b+e|0];g:{if((o|0)==(n|0)){if((c|0)==(h|0)){d=d+h|0;c=1;break g}c=c+1|0;break g}if(n>>>0>o>>>0){h=e-g|0;d=e;c=1;break g}g=d;d=d+1|0;h=1;c=1}e=d+c|0;if(f>>>0>e>>>0){continue}break}d=m;e=h}c=d;d=g+1>>>0>l+1>>>0;h=d?e:c;n=d?g:l;o=n+1|0;h:{if(qa(b,h+b|0,o)){d=(n^-1)+f|0;h=(d>>>0>>0?n:d)+1|0;p=f-h|0;m=0;break h}p=f-h|0;m=p}r=f-1|0;q=f|63;g=0;d=a;while(1){i:{if(a-d>>>0>=f>>>0){break i}c=Aa(a,0,q);if(c){a=c;if(c-d>>>0>>0){break b}break i}a=a+q|0}e=k[d+r|0];c=f;j:{k:{if(!(j[(i+1024|0)+(e>>>3&28)>>2]>>>e&1)){break k}c=f-j[(e<<2)+i>>2]|0;if(c){c=m?g?c>>>0>>0?p:c:c:c;break k}l:{c=o;e=c>>>0>g>>>0?c:g;l=k[e+b|0];if(l){while(1){if(k[d+e|0]!=(l&255)){break l}e=e+1|0;l=k[e+b|0];if(l){continue}break}}while(1){if(c>>>0<=g>>>0){break a}c=c-1|0;if(k[c+b|0]==k[d+c|0]){continue}break}c=h;g=m;break j}c=e-n|0}g=0}d=d+c|0;continue}}d=0}M=i+1056|0;return d}function mg(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=M-16|0;M=m;n=sb(g);r=zc(g);g=r;O[j[j[g>>2]+20>>2]](m,g);j[f>>2]=d;a:{b:{i=a;g=k[i|0];switch(g-43|0){case 0:case 2:break b;default:break a}}g=O[j[j[n>>2]+44>>2]](n,g<<24>>24)|0;i=j[f>>2];j[f>>2]=i+4;j[i>>2]=g;i=a+1|0}c:{g=i;if(!((c-g|0)<=1|k[g|0]!=48|(k[g+1|0]|32)!=120)){g=O[j[j[n>>2]+44>>2]](n,48)|0;l=j[f>>2];j[f>>2]=l+4;j[l>>2]=g;g=O[j[j[n>>2]+44>>2]](n,h[i+1|0])|0;l=j[f>>2];j[f>>2]=l+4;j[l>>2]=g;i=i+2|0;g=i;while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(!(l-48>>>0<10|(l|32)-97>>>0<6)){break c}g=g+1|0;continue}}while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(l-48>>>0>=10){break c}g=g+1|0;continue}}if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}d:{if(!o){O[j[j[n>>2]+48>>2]](n,i,g,j[f>>2])|0;j[f>>2]=j[f>>2]+(g-i<<2);break d}pc(i,g);t=O[j[j[r>>2]+16>>2]](r)|0;l=i;while(1){if(g>>>0<=l>>>0){kd((i-a<<2)+d|0,j[f>>2])}else{if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}s=h[o+p|0]!=(q|0);if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}if(!(s|h[o+p|0]<1)){q=j[f>>2];j[f>>2]=q+4;j[q>>2]=t;if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}p=(o-1>>>0>p>>>0)+p|0;q=0}o=O[j[j[n>>2]+44>>2]](n,h[l|0])|0;s=j[f>>2];j[f>>2]=s+4;j[s>>2]=o;l=l+1|0;q=q+1|0;continue}break}}e:{f:{while(1){if(c>>>0<=g>>>0){break f}i=k[g|0];if((i|0)!=46){i=O[j[j[n>>2]+44>>2]](n,i<<24>>24)|0;p=j[f>>2];j[f>>2]=p+4;j[p>>2]=i;g=g+1|0;continue}break}i=O[j[j[r>>2]+12>>2]](r)|0;p=j[f>>2];l=p+4|0;j[f>>2]=l;j[p>>2]=i;g=g+1|0;break e}l=j[f>>2]}O[j[j[n>>2]+48>>2]](n,g,c,l)|0;i=f;f=j[f>>2]+(c-g<<2)|0;j[i>>2]=f;j[e>>2]=(b|0)==(c|0)?f:(b-a<<2)+d|0;Y(m);M=m+16|0}function kq(a,b,c){j[a+4096>>2]=c;c=j[j[c>>2]>>2];j[a+4104>>2]=0;j[a+4108>>2]=0;j[a+4100>>2]=c;c=a+4112|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4120|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4128|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4136|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4144|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4152|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4158|0;i[c>>1]=0;i[c+2>>1]=0;i[c+4>>1]=0;i[c+6>>1]=0;j[a+4168>>2]=0;j[a+4172>>2]=0;c=a+4176|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4184|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4204>>2]=0;j[a+4208>>2]=0;h[a+4212|0]=0;j[a+4216>>2]=0;j[a+4220>>2]=0;c=a+4221|0;h[c|0]=0;h[c+1|0]=0;h[c+2|0]=0;h[c+3|0]=0;h[c+4|0]=0;h[c+5|0]=0;h[c+6|0]=0;h[c+7|0]=0;c=a+4237|0;h[c|0]=0;h[c+1|0]=0;h[c+2|0]=0;h[c+3|0]=0;h[c+4|0]=0;h[c+5|0]=0;h[c+6|0]=0;h[c+7|0]=0;j[a+4232>>2]=0;j[a+4236>>2]=0;h[a+4264|0]=0;c=a+4256|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4248>>2]=0;j[a+4252>>2]=0;j[a+4268>>2]=0;j[a+4272>>2]=0;c=a+4276|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4316>>2]=0;j[a+4320>>2]=0;c=a+4324|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4332|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4340|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4348>>2]=0;ya(a+4384|0,0,72);j[a+4192>>2]=65510;j[a+4196>>2]=0;j[a+4488>>2]=0;j[a+4380>>2]=0;j[a+4360>>2]=0;j[a+4352>>2]=0;j[a+4356>>2]=0;j[a+4308>>2]=-1;j[a+4312>>2]=0;j[a+4200>>2]=-1;i[a+4464>>1]=0;j[a+4456>>2]=0;j[a+4460>>2]=0;j[a+4292>>2]=-1;j[a+4296>>2]=0;j[a+4284>>2]=-1;j[a+4288>>2]=-1;j[a+4300>>2]=0;j[a+4304>>2]=0;j[a+4480>>2]=0;j[a+4484>>2]=0;j[a+4372>>2]=0;j[a+4376>>2]=0;ya(a+4492|0,0,65536);c=ya(a,0,4096);a=c+4474|0;i[a>>1]=0;i[a+2>>1]=0;a=c;i[a+4466>>1]=0;i[a+4468>>1]=0;i[a+4470>>1]=0;i[a+4472>>1]=0;bq(a,b);if(j[a+4200>>2]==-1){j[c+4200>>2]=3}return c}function Zk(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a=M-1072|0;M=a;j[a+16>>2]=f;j[a+20>>2]=g;j[a+24>>2]=h;j[a+28>>2]=i;j[a+956>>2]=a+960;l=Kg(a+960|0,a+16|0);j[a+544>>2]=77;n=Da(a+536|0,0,a+544|0);j[a+544>>2]=77;m=Da(a+528|0,0,a+544|0);q=a+544|0;a:{if(l>>>0>=100){p=ra();j[a>>2]=f;j[a+4>>2]=g;j[a+8>>2]=h;j[a+12>>2]=i;l=Sb(a+956|0,p,127839,a);f=j[a+956>>2];if(!f){break a}g=j[n>>2];j[n>>2]=f;if(g){O[j[n+4>>2]](g)}f=ja(l<<2);g=j[m>>2];j[m>>2]=f;if(g){O[j[m+4>>2]](g)}if(j[m>>2]!=0^1){break a}q=j[m>>2]}f=j[d+28>>2];j[a+520>>2]=f;j[f+4>>2]=j[f+4>>2]+1;h=sb(a+520|0);g=h;f=j[a+956>>2];O[j[j[g>>2]+48>>2]](g,f,f+l|0,q)|0;r=l?k[j[a+956>>2]]==45:r;p=ga(a+488|0);o=ga(a+472|0);g=ga(a+456|0);Of(c,r,a+520|0,a+512|0,a+508|0,a+504|0,p,o,g,a+452|0);j[a+48>>2]=77;i=Da(a+40|0,0,a+48|0);c=j[a+452>>2];b:{if((c|0)<(l|0)){if(k[g+11|0]>>>7|0){f=j[g+4>>2]}else{f=k[g+11|0]}f=f+(l-c<<1|1)|0;break b}if(k[g+11|0]>>>7|0){c=j[g+4>>2]}else{c=k[g+11|0]}f=c+2|0}c=a+48|0;t=j[a+452>>2];if(k[o+11|0]>>>7|0){s=j[o+4>>2]}else{s=k[o+11|0]}f=t+(s+f|0)|0;if(f>>>0>=101){c=ja(f<<2);f=j[i>>2];j[i>>2]=c;if(f){O[j[i+4>>2]](f)}c=j[i>>2];if(!c){break a}}Nf(c,a+36|0,a+32|0,j[d+4>>2],q,(l<<2)+q|0,h,r,a+512|0,j[a+508>>2],j[a+504>>2],p,o,g,j[a+452>>2]);b=_b(b,c,j[a+36>>2],j[a+32>>2],d,e);c=j[i>>2];j[i>>2]=0;if(c){O[j[i+4>>2]](c)}Y(g);Y(o);Y(p);d=j[a+520>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}c=j[m>>2];j[m>>2]=0;if(c){O[j[m+4>>2]](c)}c=j[n>>2];j[n>>2]=0;if(c){O[j[n+4>>2]](c)}M=a+1072|0;return b|0}Fa();z()}function Qh(a,b,c,d,e,f){var g=0,h=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=d?l[d+30>>1]:s;p=j[b+12>>2];if(p){u=c&1;while(1){k=j[p+4>>2];q=l[p+2>>1];m=q<<16>>16;r=k+(m<<1)|0;b=k;if(q){n=l[a+30>>1];c=m;while(1){g=c>>>1|0;o=(g<<1)+b|0;h=n>>>0>l[o>>1];b=h?o+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}a:{if(!(l[a+30>>1]>=l[b>>1]?(b|0)!=(r|0):0)){if(!d){break a}b=j[d+56>>2];if(!b){break a}c=i[d+60>>1];n=(c<<1)+b|0;if(c){o=l[a+30>>1];while(1){g=c>>>1|0;t=(g<<1)+b|0;h=o>>>0>l[t>>1];b=h?t+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if((b|0)==(n|0)|l[a+30>>1]>1]){break a}}b:{if(!u){break b}b=k;c=m;if(q){while(1){g=c>>>1|0;n=(g<<1)+b|0;h=l[n>>1]>>0;b=h?n+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if(l[b>>1]<=s>>>0?(b|0)!=(r|0):0){break b}b=j[a+56>>2];if(!b){break a}c=i[a+60>>1];n=(c<<1)+b|0;if(c){while(1){g=c>>>1|0;o=(g<<1)+b|0;h=l[o>>1]>>0;b=h?o+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if((b|0)==(n|0)|l[b>>1]>s>>>0){break a}}if(e){b=j[a+56>>2];if(!b){break a}c=i[a+60>>1];n=(c<<1)+b|0;if(c){while(1){g=c>>>1|0;o=(g<<1)+b|0;h=l[o>>1]>>0;b=h?o+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if((b|0)==(n|0)|l[b>>1]>e>>>0){break a}}if(!f){return p}if(q){while(1){b=m>>>1|0;q=(b<<1)+k|0;c=l[q>>1]>>0;k=c?q+2|0:k;m=c?(b^-1)+m|0:b;if(m){continue}break}}if(!((k|0)==(r|0)|l[k>>1]>f>>>0)){return p}b=j[a+56>>2];if(!b){break a}c=i[a+60>>1];q=(c<<1)+b|0;if(c){while(1){k=c>>>1|0;r=(k<<1)+b|0;m=l[r>>1]>>0;b=m?r+2|0:b;c=m?(k^-1)+c|0:k;if(c){continue}break}}if((b|0)==(q|0)|l[b>>1]>f>>>0){break a}return p}p=j[p+12>>2];if(p){continue}break}}return 0}function Qp(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=M-48|0;M=f;j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;a:{if(!d){break a}b:{if((d|0)>-1){n=d<<1;g=U(n);j[f+16>>2]=g;o=(d<<1)+g|0;j[f+24>>2]=o;V(g,c,n);j[f+20>>2]=o;while(1){o=q<<1;c=o+g|0;n=k[c|0]|k[c+1|0]<<8;i[f+12>>1]=n;i[f+10>>1]=n;kr(f+14|0,f+10|0);c=o+j[f+16>>2]|0;g=l[f+14>>1];h[c|0]=g;h[c+1|0]=g>>>8;r=n&255;c=o+j[f+16>>2]|0;c=k[c|0]|k[c+1|0]<<8;s=n>>>8|0;if(!((s|0)==(c>>>8|0)?(r|0)==(c&255):0)){da(f+32|0,f+16|0);wa(a,b,f+32|0,e,0,0);c=o+j[f+16>>2]|0;h[c|0]=n;h[c+1|0]=n>>>8}if(j[a>>2]){c=j[a+4>>2];c:{if(!c){g=0;break c}m=j[a+8>>2];g=0;while(1){p=m+(g<<1)|0;p=k[p|0]|k[p+1|0]<<8;if((p>>>8|0)==(s|0)?(p&255)==(r|0):0){break c}g=g+1|0;if(g>>>0>>0){continue}break}}d:{if(c>>>0<=g>>>0){break d}while(1){e:{if(!g){break e}m=(j[a+8>>2]+(g<<1)|0)-2|0;m=k[m|0]|k[m+1|0]<<8;if((m&65280)==31744?!(m&255):0){break e}c=o+j[f+16>>2]|0;h[c|0]=m;h[c+1|0]=m>>>8;da(f+32|0,f+16|0);wa(a,b,f+32|0,e,0,0);c=j[a+4>>2]}m=g+1|0;f:{if(m>>>0>=c>>>0){break f}m=j[a+8>>2]+(m<<1)|0;m=k[m|0]|k[m+1|0]<<8;if((m&65280)==31744?!(m&255):0){break f}c=o+j[f+16>>2]|0;h[c|0]=m;h[c+1|0]=m>>>8;da(f+32|0,f+16|0);wa(a,b,f+32|0,e,0,0);c=j[a+4>>2]}while(1){g=g+1|0;if(g>>>0>=c>>>0){break d}m=j[a+8>>2]+(g<<1)|0;m=k[m|0]|k[m+1|0]<<8;if((m&255)!=(r|0)|(m>>>8|0)!=(s|0)){continue}break}if(c>>>0>g>>>0){continue}break}}c=o+j[f+16>>2]|0;h[c|0]=n;h[c+1|0]=n>>>8}g=j[f+16>>2];q=q+1|0;if((q|0)!=(d|0)){continue}break}break b}X();z()}if(!g){break a}j[f+20>>2]=g;T(g)}if(h[f+43|0]<=-1){T(j[f+32>>2])}M=f+48|0}function og(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=M-16|0;M=m;n=tb(g);r=Bc(g);g=r;O[j[j[g>>2]+20>>2]](m,g);j[f>>2]=d;a:{b:{i=a;g=k[i|0];switch(g-43|0){case 0:case 2:break b;default:break a}}g=O[j[j[n>>2]+28>>2]](n,g<<24>>24)|0;i=j[f>>2];j[f>>2]=i+1;h[i|0]=g;i=a+1|0}c:{g=i;if(!((c-g|0)<=1|k[g|0]!=48|(k[g+1|0]|32)!=120)){g=O[j[j[n>>2]+28>>2]](n,48)|0;l=j[f>>2];j[f>>2]=l+1;h[l|0]=g;g=O[j[j[n>>2]+28>>2]](n,h[i+1|0])|0;l=j[f>>2];j[f>>2]=l+1;h[l|0]=g;i=i+2|0;g=i;while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(!(l-48>>>0<10|(l|32)-97>>>0<6)){break c}g=g+1|0;continue}}while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(l-48>>>0>=10){break c}g=g+1|0;continue}}if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}d:{if(!o){O[j[j[n>>2]+32>>2]](n,i,g,j[f>>2])|0;j[f>>2]=j[f>>2]+(g-i|0);break d}pc(i,g);t=O[j[j[r>>2]+16>>2]](r)|0;l=i;while(1){if(g>>>0<=l>>>0){pc((i-a|0)+d|0,j[f>>2])}else{if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}s=h[o+p|0]!=(q|0);if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}if(!(s|h[o+p|0]<1)){q=j[f>>2];j[f>>2]=q+1;h[q|0]=t;if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}p=(o-1>>>0>p>>>0)+p|0;q=0}o=O[j[j[n>>2]+28>>2]](n,h[l|0])|0;s=j[f>>2];j[f>>2]=s+1;h[s|0]=o;l=l+1|0;q=q+1|0;continue}break}}while(1){e:{i=n;if(c>>>0>g>>>0){p=k[g|0];if((p|0)!=46){break e}p=O[j[j[r>>2]+12>>2]](r)|0;l=j[f>>2];j[f>>2]=l+1;h[l|0]=p;g=g+1|0}O[j[j[n>>2]+32>>2]](i,g,c,j[f>>2])|0;i=f;f=j[f>>2]+(c-g|0)|0;j[i>>2]=f;j[e>>2]=(b|0)==(c|0)?f:(b-a|0)+d|0;Y(m);M=m+16|0;return}i=O[j[j[n>>2]+28>>2]](n,p<<24>>24)|0;p=j[f>>2];j[f>>2]=p+1;h[p|0]=i;g=g+1|0;continue}}function $k(a,b,c,d,e,f,g,i,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a=M-464|0;M=a;j[a+16>>2]=f;j[a+20>>2]=g;j[a+24>>2]=i;j[a+28>>2]=l;j[a+348>>2]=a+352;m=Kg(a+352|0,a+16|0);j[a+240>>2]=77;o=Da(a+232|0,0,a+240|0);j[a+240>>2]=77;n=Da(a+224|0,0,a+240|0);r=a+240|0;a:{if(m>>>0>=100){q=ra();j[a>>2]=f;j[a+4>>2]=g;j[a+8>>2]=i;j[a+12>>2]=l;m=Sb(a+348|0,q,127839,a);f=j[a+348>>2];if(!f){break a}g=j[o>>2];j[o>>2]=f;if(g){O[j[o+4>>2]](g)}f=ja(m);g=j[n>>2];j[n>>2]=f;if(g){O[j[n+4>>2]](g)}if(j[n>>2]!=0^1){break a}r=j[n>>2]}f=j[d+28>>2];j[a+216>>2]=f;j[f+4>>2]=j[f+4>>2]+1;i=tb(a+216|0);g=i;f=j[a+348>>2];O[j[j[g>>2]+32>>2]](g,f,f+m|0,r)|0;s=m?k[j[a+348>>2]]==45:s;q=ga(a+192|0);p=ga(a+176|0);g=ga(a+160|0);Rf(c,s,a+216|0,a+208|0,a+207|0,a+206|0,q,p,g,a+156|0);j[a+48>>2]=77;l=Da(a+40|0,0,a+48|0);c=j[a+156>>2];b:{if((c|0)<(m|0)){if(k[g+11|0]>>>7|0){f=j[g+4>>2]}else{f=k[g+11|0]}f=f+(m-c<<1|1)|0;break b}if(k[g+11|0]>>>7|0){c=j[g+4>>2]}else{c=k[g+11|0]}f=c+2|0}c=a+48|0;u=j[a+156>>2];if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}f=u+(t+f|0)|0;if(f>>>0>=101){c=ja(f);f=j[l>>2];j[l>>2]=c;if(f){O[j[l+4>>2]](f)}c=j[l>>2];if(!c){break a}}Pf(c,a+36|0,a+32|0,j[d+4>>2],r,m+r|0,i,s,a+208|0,h[a+207|0],h[a+206|0],q,p,g,j[a+156>>2]);b=$b(b,c,j[a+36>>2],j[a+32>>2],d,e);c=j[l>>2];j[l>>2]=0;if(c){O[j[l+4>>2]](c)}Y(g);Y(p);Y(q);d=j[a+216>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}c=j[n>>2];j[n>>2]=0;if(c){O[j[n+4>>2]](c)}c=j[o>>2];j[o>>2]=0;if(c){O[j[o+4>>2]](c)}M=a+464|0;return b|0}Fa();z()}function Cq(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0;a:{e=j[a+8>>2];b:{if((e|0)!=j[a+12>>2]){break b}c=j[a+4>>2];d=j[a>>2];if(c>>>0>d>>>0){f=p((((c-d|0)/12|0)+1|0)/-2|0,12);d=f+c|0;if((c|0)!=(e|0)){while(1){if(h[d+11|0]<=-1){T(j[d>>2])}g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];h[c+11|0]=0;h[c|0]=0;d=d+12|0;c=c+12|0;if((e|0)!=(c|0)){continue}break}e=j[a+4>>2]}j[a+8>>2]=d;j[a+4>>2]=e+f;break b}f=e-d|0;f=f?(f|0)/12<<1:1;if(f>>>0>=357913942){break a}g=p(f,12);i=U(g);m=i+g|0;f=p(f>>>2|0,12)+i|0;g=e-c|0;k=(g|0)/12|0;c:{if(!g){g=f;break c}k=p(k,12);l=g-12|0;e=((l>>>0)/12|0)+1&3;d:{if(!e){d=f;break d}d=f;while(1){g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;c=c+12|0;d=d+12|0;e=e-1|0;if(e){continue}break}}g=f+k|0;if(l>>>0>=36){while(1){e=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=e;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[d+20>>2]=j[c+20>>2];e=j[c+16>>2];j[d+12>>2]=j[c+12>>2];j[d+16>>2]=e;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[d+32>>2]=j[c+32>>2];e=j[c+28>>2];j[d+24>>2]=j[c+24>>2];j[d+28>>2]=e;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[d+44>>2]=j[c+44>>2];e=j[c+40>>2];j[d+36>>2]=j[c+36>>2];j[d+40>>2]=e;j[c+44>>2]=0;j[c+36>>2]=0;j[c+40>>2]=0;c=c+48|0;d=d+48|0;if((g|0)!=(d|0)){continue}break}}e=j[a+8>>2];c=j[a+4>>2];d=j[a>>2]}j[a+12>>2]=m;j[a+8>>2]=g;j[a+4>>2]=f;j[a>>2]=i;if((c|0)!=(e|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((e|0)!=(c|0)){continue}break}}if(!d){break b}T(d)}ha(j[a+8>>2],b);j[a+8>>2]=j[a+8>>2]+12;return}D();z()}function So(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;d=M-160|0;M=d;a:{b:{e=j[b+4>>2];f=j[c+4>>2];if((e|0)==(f|0)){break b}i=j[a+20>>2];g=j[c>>2];h=j[b>>2];if(i>>>0>=(p(g-h>>2,341)+((f-j[g>>2]|0)/12|0)|0)+((e-j[h>>2]|0)/-12|0)>>>0){break b}f=j[b>>2];g=j[b+4>>2];c:{if(!i){break c}b=f;e=i+((g-j[b>>2]|0)/12|0)|0;if((e|0)>=1){i=(e>>>0)/341|0;h=b+(i<<2)|0;e=j[h>>2]+p(e-p(i,341)|0,12)|0;break c}e=340-e|0;h=b+((e|0)/-341<<2)|0;e=j[h>>2]+p(340-((e|0)%341|0)|0,12)|0}j[d+148>>2]=e;j[d+144>>2]=h;j[d+152>>2]=f;j[d+156>>2]=g;b=j[a+4>>2];g=j[a+16>>2];i=(g>>>0)/341|0;f=b+(i<<2)|0;j[d+140>>2]=(b|0)!=j[a+8>>2]?j[f>>2]+p(g-p(i,341)|0,12)|0:0;j[d+136>>2]=f;b=j[d+156>>2];j[d+72>>2]=j[d+152>>2];j[d+76>>2]=b;b=j[d+148>>2];j[d+64>>2]=j[d+144>>2];j[d+68>>2]=b;b=j[d+140>>2];j[d+56>>2]=j[d+136>>2];j[d+60>>2]=b;vh(d+128|0,d+72|0,d- -64|0,d+56|0);j[d+124>>2]=e;j[d+120>>2]=h;b=j[c+4>>2];c=j[c>>2];j[d+112>>2]=c;j[d+116>>2]=b;f=j[d+124>>2];j[d+48>>2]=j[d+120>>2];j[d+52>>2]=f;j[d+40>>2]=c;j[d+44>>2]=b;Ro(a,d+48|0,d+40|0);break a}f=j[b+4>>2];j[d+96>>2]=j[b>>2];j[d+100>>2]=f;b=j[c+4>>2];j[d+88>>2]=j[c>>2];j[d+92>>2]=b;h=j[a+4>>2];g=j[a+16>>2];e=(g>>>0)/341|0;c=h+(e<<2)|0;b=d;if((h|0)==j[a+8>>2]){f=0}else{f=j[c>>2]+p(g-p(e,341)|0,12)|0}j[b+84>>2]=f;j[d+80>>2]=c;b=j[d+100>>2];j[d+32>>2]=j[d+96>>2];j[d+36>>2]=b;b=j[d+92>>2];j[d+24>>2]=j[d+88>>2];j[d+28>>2]=b;b=j[d+84>>2];j[d+16>>2]=j[d+80>>2];j[d+20>>2]=b;vh(d+128|0,d+32|0,d+24|0,d+16|0);b=j[d+132>>2];c=j[d+128>>2];j[d+104>>2]=c;j[d+108>>2]=b;j[d+8>>2]=c;j[d+12>>2]=b;Qo(a,d+8|0)}M=d+160|0}function Yc(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;f=M-16|0;M=f;a:{if(h[c+11|0]<=-1){h[j[c>>2]]=0;j[c+4>>2]=0;break a}h[c+11|0]=0;h[c|0]=0}i=k[b+11|0];d=i<<24>>24<0;q=d?j[b+4>>2]:i;if(q){r=d?j[b>>2]:b;while(1){o=m+r|0;b:{c:{b=j[a+8>>2];d:{if((b|0)<=0){i=-1;break d}i=-1;b=b-1|0;n=j[a>>2];g=0;while(1){e=b+g>>>1|0;d=j[n+(e<<2)>>2];l=h[d+11|0];e:{if((l|0)<=-1){l=j[d+4>>2];d=j[d>>2];break e}l=l&255}l=Db(o,d,l);d=(l|0)<0;i=d?i:l?i:e;b=d?e-1|0:b;g=d?g:e+1|0;if((b|0)>=(g|0)){continue}break}if((i|0)>-1){break c}}d=0;j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;b=0;break b}d=W(o);e=m?2:3;l=!m;g=j[n+(i<<2)>>2];b=h[g+11|0];f:{if((b|0)<=-1){b=j[g+4>>2];break f}b=b&255}b=(b|0)==(d|0)?e:l;g:{if(!b){d=0;break g}h:{if(!m){d=g+p(b,12)|0;e=h[d+23|0];i:{if((e|0)>=0){d=e&255;break i}d=j[d+16>>2]}if(d){d=b;break g}d=b-1|0;if(d){break h}d=0;break g}while(1){d=g+p(b,12)|0;e=h[d+23|0];j:{if((e|0)<=-1){d=j[d+16>>2];break j}d=e&255}if(d){d=b;break g}d=0;b=(b|0)==2?0:b-1|0;if(b){continue}break}break g}e=g+p(d,12)|0;n=h[e+23|0];k:{if((n|0)>=0){e=n&255;break k}e=j[e+16>>2]}if(e){break g}d=0;b=b-2|0;if(!b){break g}d=g+p(b,12)|0;e=h[d+23|0];if((e|0)>=0){d=e&255?b:0;break g}d=j[d+16>>2]?b:0}ha(f,(g+p(d,12)|0)+12|0);d=j[f+4>>2];b=k[f+11|0]}e=b&255;b=b<<24>>24<0;d=b?d:e;l:{if(d){aa(c,b?j[f>>2]:f,d);b=j[j[a>>2]+(i<<2)>>2];d=h[b+11|0];m:{if((d|0)<=-1){b=j[b+4>>2];break m}b=d&255}m=(b+m|0)-1|0;s=1;break l}Z(c,h[o|0])}if(h[f+11|0]<=-1){T(j[f>>2])}m=m+1|0;if(q>>>0>m>>>0){continue}break}}M=f+16|0;return s}function He(a,b,c,d,e,f,g,i,l){var m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;a:{u=b+d|0;if(k[u|0]){n=j[g+4>>2];q=j[g>>2];if((n|0)!=(q|0)){while(1){s=0;t=p(v,12);m=t+q|0;r=j[m+4>>2];o=j[m>>2];if((r|0)!=(o|0)){while(1){m=p(s,12)+o|0;n=h[m+11|0];b:{if((n|0)<=-1){n=j[m+4>>2];m=j[m>>2];break b}n=n&255}c:{if(Db(m,u,n)){break c}x=1;if((o|0)==(r|0)){break c}m=k[c+11|0];r=m<<24>>24<0?j[c+4>>2]:m;n=d+n|0;o=0;while(1){d:{Va(c,r);m=j[t+j[g>>2]>>2]+p(o,12)|0;w=k[m+11|0];q=w<<24>>24<0;aa(c,q?j[m>>2]:m,q?j[m+4>>2]:w);He(a,b,c,n,e,f,g,i,l);if(!j[i>>2]){break d}o=o+1|0;q=j[g>>2];m=t+q|0;if(o>>>0<(j[m+4>>2]-j[m>>2]|0)/12>>>0){continue}break c}break}break a}s=s+1|0;m=q+t|0;r=j[m+4>>2];o=j[m>>2];if(s>>>0<(r-o|0)/12>>>0){continue}break}n=j[g+4>>2]}v=v+1|0;if(v>>>0<(n-q|0)/12>>>0){continue}break}if(x){break a}}Z(c,h[u|0]);He(a,b,c,d+1|0,e,f,g,i,l);break a}b=j[e+4>>2];n=j[e>>2];if((b|0)!=(n|0)){b=(b-n|0)/12|0;s=b>>>0>1?b:1;d=k[c+11|0];g=d<<24>>24<0;b=g?j[c>>2]:c;d=g?j[c+4>>2]:d;while(1){g=n+p(q,12)|0;o=k[g+11|0];m=o<<24>>24<0;e:{if((d|0)!=((m?j[g+4>>2]:o)|0)){break e}r=j[g>>2];if(!m){if(!d){break a}m=b;if(k[m|0]!=(r&255)){break e}while(1){o=o-1|0;if(!o){break a}r=k[m+1|0];m=m+1|0;g=g+1|0;if((r|0)==k[g|0]){continue}break}break e}if(!d){break a}if(!qa(m?r:g,b,d)){break a}}q=q+1|0;if((s|0)!=(q|0)){continue}break}}if(!cc(a,c,f,i,l)){break a}b=j[a+48>>2];a=j[e+4>>2];if(b>>>0<=(a-j[e>>2]|0)/12>>>0){break a}if((a|0)!=j[e+8>>2]){y=e,z=ha(a,c)+12|0,j[y+4>>2]=z;break a}Wb(e,c)}}function Zp(a,b,c){var d=0,e=0,f=0,g=0,i=0,k=0,l=0;d=M-16|0;M=d;j[a+52>>2]=0;j[a+44>>2]=c;j[a+28>>2]=0;j[a+32>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;j[a>>2]=0;j[a+4>>2]=0;j[a+56>>2]=0;j[a+60>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;j[a+72>>2]=3;j[a+76>>2]=0;j[a+64>>2]=0;j[a+68>>2]=4;j[a+48>>2]=15;j[a+36>>2]=0;j[a+16>>2]=0;a:{b:{if(!c){break b}j[a+60>>2]=j[c+4456>>2];k=a,l=Yj(j[a+44>>2]),j[k>>2]=l;j[a+64>>2]=j[j[a+44>>2]+4300>>2];if(j[j[a+44>>2]+4284>>2]>=0){j[a+68>>2]=j[j[a+44>>2]+4284>>2]}j[a+56>>2]=j[j[a+44>>2]+4144>>2];if(j[j[a+44>>2]+4288>>2]>=0){j[a+72>>2]=j[j[a+44>>2]+4288>>2]}if(!j[a+56>>2]){k=a,l=_c(Ag(j[a+44>>2])),j[k+52>>2]=l}j[a+76>>2]=j[j[a+44>>2]+4148>>2];f=j[a>>2];if(!f){break b}if(j[a+56>>2]){g=W(f);if(g>>>0>=4294967280){break a}i=a+8|0;c:{d:{if(g>>>0>=11){e=g+16&-16;c=U(e);j[d+8>>2]=e|-2147483648;j[d>>2]=c;j[d+4>>2]=g;e=d;break d}h[d+11|0]=g;e=d;c=d;if(!g){break c}}V(c,f,g)}h[c+g|0]=0;k=a,l=ia(i,d),j[k+4>>2]=l;if(h[e+11|0]>-1){break b}T(j[d>>2]);break b}k=a,l=W(f),j[k+4>>2]=l}g=a;e:{f:{if(!b){break f}e=cb(b);j[a+20>>2]=e;c=0;if(!e){break e}k=a,l=W(e),j[k+24>>2]=l;if(!j[a+56>>2]){break f}f=W(b);if(f>>>0>=4294967280){break a}i=a+28|0;g:{h:{if(f>>>0>=11){c=f+16&-16;e=U(c);j[d+8>>2]=c|-2147483648;j[d>>2]=e;j[d+4>>2]=f;c=d;break h}h[d+11|0]=f;c=d;e=d;if(!f){break g}}V(e,b,f)}h[e+f|0]=0;k=a,l=ia(i,d),j[k+24>>2]=l;if(h[c+11|0]>-1){break f}T(j[d>>2])}a=j[a+20>>2];c=0;if(!a){break e}c=1;if(Ya(a,45)){break e}c=(Ya(a,97)|0)!=0}h[g+40|0]=c;M=d+16|0;return}X();z()}function bc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=j[c+4>>2];m=j[c>>2];c=e-m|0;if(!c){return 0}s=c>>1;f=j[b+4>>2];n=j[b>>2];b=f-n|0;t=b>>1;a:{if((a|0)<1){break a}e=m-e|0;e=((c|0)<(e|0)?e:c)>>>1|0;c=(c|0)>-1?c:-1;o=p(e,(c|0)<1?c:1);i=d&8;c=n-f|0;c=((b|0)<(c|0)?c:b)>>>1|0;b=(b|0)>-1?b:-1;r=p(c,(b|0)<1?b:1);q=r;c=1;while(1){b=u;u=b+1|0;e=0;f=c;h=t-c|0;b:{if((h|0)<0){break b}if((f|0)>(s|0)){e=r-b|0;g=e&1;b=0;c=0;if((r|0)!=(u|0)){e=e&-2;while(1){c=i?(b?(b|0)==(h|0)?-2:-1:-2)+c|0:c;c=i?c+((h|0)==(b|1)?-2:-1)|0:c;b=b+2|0;e=e-2|0;if(e){continue}break}}e=c;if(!g|!i){break b}e=(b?(b|0)==(h|0)?-2:-1:-2)+e|0;break b}b=0;if(!i){while(1){g=0;while(1){c=0;c:{d:{e:{while(1){h=(b+c<<1)+n|0;l=(c+g<<1)+m|0;if(!(k[h|0]!=k[l|0]|k[h+1|0]!=k[l+1|0])){c=c+1|0;if((f|0)!=(c|0)){continue}break e}break}if((c|0)!=(f|0)){break d}}e=e+1|0;break c}g=g+1|0;if((o|0)!=(g|0)){continue}}break}b=b+1|0;if((q|0)!=(b|0)){continue}break b}}while(1){g=0;f:{g:{while(1){c=0;h:{while(1){l=(b+c<<1)+n|0;v=(c+g<<1)+m|0;if(!(k[l|0]!=k[v|0]|k[l+1|0]!=k[v+1|0])){c=c+1|0;if((f|0)!=(c|0)){continue}break h}break}if((c|0)==(f|0)){break h}g=g+1|0;if((o|0)==(g|0)){break g}continue}break}e=e+1|0;break f}if((c|0)==(f|0)){break f}e=(b?(b|0)==(h|0)?-2:-1:-2)+e|0}b=b+1|0;if((q|0)!=(b|0)){continue}break}}w=e+w|0;if((e|0)<2?!i:0){break a}q=q-1|0;o=o-1|0;c=f+1|0;if((a|0)!=(f|0)){continue}break}}a=s-t|0;b=a>>31;a=d&2?(b^a+b)-2|0:a-2&0-(d&1);return w-((a|0)>0?a:0)|0}function Xd(a,b,c,d,e){var f=0,g=0,i=0,j=0;j=k[c|0]|k[c+1|0]<<8;f=k[b|0]|k[b+1|0]<<8;g=k[a|0]|k[a+1|0]<<8;a:{if(f>>>0>=g>>>0){if(f>>>0<=j>>>0){f=j;break a}h[b|0]=j;h[b+1|0]=j>>>8;h[c|0]=f;h[c+1|0]=f>>>8;i=1;g=k[b|0]|k[b+1|0]<<8;j=k[a|0]|k[a+1|0]<<8;if(g>>>0>=j>>>0){break a}h[a|0]=g;h[a+1|0]=g>>>8;h[b|0]=j;h[b+1|0]=j>>>8;f=k[c|0]|k[c+1|0]<<8;i=2;break a}b:{if(f>>>0>j>>>0){h[a|0]=j;h[a+1|0]=j>>>8;h[c|0]=g;h[c+1|0]=g>>>8;i=1;break b}h[a|0]=f;h[a+1|0]=f>>>8;h[b|0]=g;h[b+1|0]=g>>>8;i=1;f=k[c|0]|k[c+1|0]<<8;if(g>>>0<=f>>>0){break a}h[b|0]=f;h[b+1|0]=f>>>8;h[c|0]=g;h[c+1|0]=g>>>8;i=2}f=g}g=k[d|0]|k[d+1|0]<<8;c:{if(g>>>0>=(f&65535)>>>0){break c}h[c|0]=g;h[c+1|0]=g>>>8;h[d|0]=f;h[d+1|0]=f>>>8;f=k[c|0]|k[c+1|0]<<8;g=k[b|0]|k[b+1|0]<<8;if(f>>>0>=g>>>0){i=i+1|0;break c}h[b|0]=f;h[b+1|0]=f>>>8;h[c|0]=g;h[c+1|0]=g>>>8;f=k[b|0]|k[b+1|0]<<8;g=k[a|0]|k[a+1|0]<<8;if(f>>>0>=g>>>0){i=i+2|0;break c}h[a|0]=f;h[a+1|0]=f>>>8;h[b|0]=g;h[b+1|0]=g>>>8;i=i+3|0}f=k[e|0]|k[e+1|0]<<8;g=k[d|0]|k[d+1|0]<<8;if(f>>>0>>0){h[d|0]=f;h[d+1|0]=f>>>8;h[e|0]=g;h[e+1|0]=g>>>8;e=k[d|0]|k[d+1|0]<<8;f=k[c|0]|k[c+1|0]<<8;if(e>>>0>=f>>>0){return i+1|0}h[c|0]=e;h[c+1|0]=e>>>8;h[d|0]=f;h[d+1|0]=f>>>8;d=k[c|0]|k[c+1|0]<<8;e=k[b|0]|k[b+1|0]<<8;if(d>>>0>=e>>>0){return i+2|0}h[b|0]=d;h[b+1|0]=d>>>8;h[c|0]=e;h[c+1|0]=e>>>8;c=k[b|0]|k[b+1|0]<<8;d=k[a|0]|k[a+1|0]<<8;if(c>>>0>=d>>>0){return i+3|0}h[a|0]=c;h[a+1|0]=c>>>8;h[b|0]=d;h[b+1|0]=d>>>8;i=i+4|0}return i}function ia(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0;c=j[a>>2];j[a+4>>2]=c;d=c;a:{b:{e=k[b+11|0];f=e<<24>>24<0;e=f?j[b+4>>2]:e;c:{if((e|0)>=1){b=f?j[b>>2]:b;m=e+b|0;while(1){f=0;d:{e:{f:{g:{h:{i:{d=k[b|0];switch((d>>>4|0)-8|0){case 0:case 1:case 2:case 3:break h;case 4:case 5:break i;case 7:break f;case 6:break g;default:break d}}c=k[b+1|0];if((c&192)==128){break e}}f=255;d=253;break d}f=255;c=k[b+1|0];if((c&192)!=128){d=253;break d}e=k[b+2|0];if((e&192)!=128){b=b+1|0;d=253;break d}b=b+2|0;f=c>>>2&15|d<<4;d=e&63|c<<6;break d}b=j[a+4>>2];if((b|0)!=j[a+8>>2]){h[b|0]=253;h[b+1|0]=255;j[a+4>>2]=b+2;return-1}c=j[a>>2];d=b-c|0;if((d|0)<=-3){break b}e=d>>1;f=e+1|0;f=e>>>0<1073741823?d>>>0>>0?f:d:2147483647;b=0;j:{if(!f){break j}if((f|0)<=-1){break a}b=U(f<<1)}e=b+(e<<1)|0;h[e|0]=253;h[e+1|0]=255;if((d|0)>=1){V(b,c,d)}j[a+8>>2]=b+(f<<1);j[a+4>>2]=e+2;j[a>>2]=b;a=-1;if(!c){break c}T(c);return-1}b=b+1|0;f=d>>>2&7;d=c&63|d<<6}c=j[a+4>>2];k:{if((c|0)!=j[a+8>>2]){d=d&255|f<<8;h[c|0]=d;h[c+1|0]=d>>>8;j[a+4>>2]=c+2;break k}l=j[a>>2];e=c-l|0;if((e|0)<=-3){break b}g=e>>1;i=g+1|0;i=g>>>0<1073741823?e>>>0>>0?i:e:2147483647;c=0;l:{if(!i){break l}if((i|0)<=-1){break a}c=U(i<<1)}g=c+(g<<1)|0;d=d&255|f<<8;h[g|0]=d;h[g+1|0]=d>>>8;if((e|0)>=1){V(c,l,e)}j[a+8>>2]=(i<<1)+c;j[a+4>>2]=g+2;j[a>>2]=c;if(!l){break k}T(l)}b=b+1|0;if(m>>>0>b>>>0){continue}break}c=j[a>>2];d=j[a+4>>2]}a=d-c>>1}return a}X();z()}D();z()}function Up(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0;g=M-32|0;M=g;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;a:{b:{if(!d){d=0;break b}if((d|0)<=-1){break a}i=d<<1;f=U(i);j[g+16>>2]=f;d=(d<<1)+f|0;j[g+24>>2]=d;V(f,c,i);j[g+20>>2]=d}i=d-f|0;if(i>>1>>>0>1){d=0;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;c:{if((i|0)==2){break c}while(1){l=d<<1;i=l+f|0;m=k[i|0]|k[i+1|0]<<8;d=d+1|0;n=d<<1;f=n+f|0;o=k[f|0]|k[f+1|0]<<8;h[i|0]=o;h[i+1|0]=o>>>8;h[f|0]=m;h[f+1|0]=m>>>8;da(g,g+16|0);wa(a,b,g,e,0,0);i=j[g+16>>2];f=i+l|0;m=k[f|0]|k[f+1|0]<<8;i=i+n|0;l=k[i|0]|k[i+1|0]<<8;h[f|0]=l;h[f+1|0]=l>>>8;h[i|0]=m;h[i+1|0]=m>>>8;f=j[g+16>>2];i=j[g+20>>2]-f|0;if((i>>1)-1>>>0>d>>>0){continue}break}if((i&-4)!=8){break c}d=k[c+2|0]|k[c+3|0]<<8;h[f|0]=d;h[f+1|0]=d>>>8;d=j[g+16>>2];f=k[c|0]|k[c+1|0]<<8;h[d+2|0]=f;h[d+3|0]=f>>>8;d=j[g+16>>2];f=k[c+4|0]|k[c+5|0]<<8;h[d+4|0]=f;h[d+5|0]=f>>>8;f=j[g+20>>2];i=f-4|0;d=((f-d|0)+c|0)-2|0;d=k[d|0]|k[d+1|0]<<8;h[i|0]=d;h[i+1|0]=d>>>8;d=j[g+20>>2];f=d-2|0;d=((d-j[g+16>>2]|0)+c|0)-4|0;d=k[d|0]|k[d+1|0]<<8;h[f|0]=d;h[f+1|0]=d>>>8;da(g,g+16|0);wa(a,b,g,e,0,0);d=j[g+16>>2];if((j[g+20>>2]-d|0)!=10){break c}f=k[c|0]|k[c+1|0]<<8;h[d|0]=f;h[d+1|0]=f>>>8;d=j[g+16>>2];f=k[c+4|0]|k[c+5|0]<<8;h[d+2|0]=f;h[d+3|0]=f>>>8;d=j[g+16>>2];c=k[c+2|0]|k[c+3|0]<<8;h[d+4|0]=c;h[d+5|0]=c>>>8;da(g,g+16|0);wa(a,b,g,e,0,0)}if(h[g+11|0]<=-1){T(j[g>>2])}f=j[g+16>>2]}if(f){j[g+20>>2]=f;T(f)}M=g+32|0;return}X();z()}function Wc(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:while(1){g=b-2|0;d=a;b:while(1){c:{d:{e:{f:{g:{h:{i:{j:{e=b-d|0;a=e>>1;switch(a|0){case 2:break j;case 0:case 1:break c;case 3:break f;case 5:break h;case 4:break i;default:break g}}a=b-2|0;if(l[a>>1]>=l[d>>1]){break c}$a(d,a);return}ue(d,d+2|0,d+4|0,b-2|0);return}te(d,d+2|0,d+4|0,d+6|0,b-2|0);return}if((e|0)<=61){to(d,b);return}f=((a|0)/2<<1)+d|0;k:{if((e|0)>=1999){a=(a|0)/4<<1;h=te(d,a+d|0,f,a+f|0,g);break k}h=Dc(d,f,g)}a=g;if(l[d>>1]>=l[f>>1]){while(1){a=a-2|0;if((d|0)==(a|0)){f=d+2|0;if(l[d>>1]>1]){break d}while(1){if((f|0)==(g|0)){break c}if(l[d>>1]>1]){$a(f,g);f=f+2|0;break d}else{f=f+2|0;continue}}}if(l[a>>1]>=l[f>>1]){continue}break}$a(d,a);h=h+1|0}e=d+2|0;if(e>>>0>=a>>>0){break e}while(1){g=e;e=e+2|0;if(l[g>>1]>1]){continue}while(1){a=a-2|0;if(l[a>>1]>=l[f>>1]){continue}break}if(a>>>0>>0){e=g;break e}else{$a(g,a);f=(f|0)==(g|0)?a:f;h=h+1|0;continue}}}Dc(d,d+2|0,b-2|0);break c}if(!((e|0)==(f|0)|l[f>>1]>=l[e>>1])){$a(e,f);h=h+1|0}if(!h){g=jh(d,e);a=e+2|0;if(jh(a,b)){b=e;a=d;if(!g){continue a}break c}if(g){continue a}}if((e-d|0)<(b-e|0)){Wc(d,e,c);a=e+2|0;continue a}Wc(e+2|0,b,c);b=e;a=d;continue a}a=g;if((f|0)==(a|0)){break c}while(1){e=f;f=e+2|0;if(l[d>>1]>=l[e>>1]){continue}while(1){a=a-2|0;if(l[d>>1]>1]){continue}break}if(a>>>0<=e>>>0){d=e;continue b}else{$a(e,a);continue}}}break}break}}function oi(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0;g=M-16|0;M=g;Ab(g,a,10);a:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break a}h[a+11|0]=0;h[a|0]=0}f=j[g>>2];b:{if((f|0)==j[g+4>>2]){c=f;break b}ua(a,f);f=j[g+4>>2];c=j[g>>2];if((f-c|0)/12>>>0<2){break b}l=1;while(1){q=p(l,12);d=q+c|0;n=k[d+11|0];b=n<<24>>24;o=(b|0)<0?j[d+4>>2]:n;c:{d:{if((b|0)<=-1){e=0;if(!o){while(1){b=p(e,12)+c|0;d=k[b+11|0];if(!(d<<24>>24<0?j[b+4>>2]:d)){break c}e=e+1|0;if((l|0)!=(e|0)){continue}break d}}while(1){b=p(e,12)+c|0;i=k[b+11|0];n=i<<24>>24<0;if(((n?j[b+4>>2]:i)|0)==(o|0)){if(!qa(j[d>>2],n?j[b>>2]:b,o)){break c}}e=e+1|0;if((l|0)!=(e|0)){continue}break}break d}m=0;if(!o){while(1){b=p(m,12)+c|0;d=k[b+11|0];if(!(d<<24>>24<0?j[b+4>>2]:d)){break c}m=m+1|0;if((m|0)!=(l|0)){continue}break d}}while(1){b=p(m,12)+c|0;e=k[b+11|0];i=e<<24>>24<0;e:{if(((i?j[b+4>>2]:e)|0)!=(o|0)){break e}e=i?j[b>>2]:b;b=d;i=n;while(1){if(k[b|0]!=k[e|0]){break e}e=e+1|0;b=b+1|0;i=i-1|0;if(i){continue}break}break c}m=m+1|0;if((m|0)!=(l|0)){continue}break}}f=a;d=k[a+11|0];if(d<<24>>24<0?j[a+4>>2]:d){Z(a,10);c=j[g>>2]}c=c+q|0;b=k[c+11|0];d=b<<24>>24<0;aa(f,d?j[c>>2]:c,d?j[c+4>>2]:b);c=j[g>>2];f=j[g+4>>2]}l=l+1|0;if(l>>>0<(f-c|0)/12>>>0){continue}break}}if(c){if((c|0)==(f|0)){a=c}else{while(1){a=f-12|0;if(h[f-1|0]<=-1){T(j[a>>2])}f=a;if((a|0)!=(c|0)){continue}break}a=j[g>>2]}j[g+4>>2]=c;T(a)}M=g+16|0}function pd(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=M-128|0;M=m;j[m+120>>2]=b;j[m+16>>2]=77;q=Da(m+8|0,0,m+16|0);n=m+16|0;a:{o=(d-c|0)/12|0;if(o>>>0>=101){n=ja(o);if(!n){break a}b=j[q>>2];j[q>>2]=n;if(b){O[j[q+4>>2]](b)}}i=n;b=c;while(1)if((b|0)==(d|0)){b:while(1){c:{if(!(jb(a,m+120|0)?o:0)){if(Ra(a,m+120|0)){j[f>>2]=j[f>>2]|2}break c}i=j[a>>2];b=j[i+12>>2];d:{if((b|0)==j[i+16>>2]){b=O[j[j[i>>2]+36>>2]](i)|0;break d}b=j[b>>2]}r=b;if(!g){r=O[j[j[e>>2]+28>>2]](e,r)|0}t=s+1|0;u=0;i=n;b=c;while(1)if((b|0)==(d|0)){s=t;if(!u){continue b}Na(a);i=n;b=c;if(o+p>>>0<2){continue b}while(1){if((b|0)==(d|0)){continue b}if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if(!((l|0)==(s|0)|k[i|0]!=2)){h[i|0]=0;p=p-1|0}i=i+1|0;b=b+12|0;continue}}else{e:{if(k[i|0]!=1){break e}if(k[b+11|0]>>>7|0){l=j[b>>2]}else{l=b}l=j[l+(s<<2)>>2];if(!g){l=O[j[j[e>>2]+28>>2]](e,l)|0}f:{if((r|0)==(l|0)){u=1;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if((l|0)!=(t|0)){break e}h[i|0]=2;p=p+1|0;break f}h[i|0]=0}o=o-1|0}i=i+1|0;b=b+12|0;continue}}break}g:{h:{while(1){if((c|0)==(d|0)){break h}if(k[n|0]!=2){n=n+1|0;c=c+12|0;continue}break}d=c;break g}j[f>>2]=j[f>>2]|4}a=q;b=j[a>>2];j[a>>2]=0;if(b){O[j[a+4>>2]](b)}M=m+128|0;return d}else{if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}i:{if(l){h[i|0]=1;break i}h[i|0]=2;p=p+1|0;o=o-1|0}i=i+1|0;b=b+12|0;continue}}Fa();z()}function Yk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a=M-496|0;M=a;g=j[d+28>>2];j[a+488>>2]=g;j[g+4>>2]=j[g+4>>2]+1;n=sb(a+488|0);h=c;c=f;g=j[f+4>>2];a:{if(k[f+11|0]>>>7|0){break a}g=k[c+11|0]}if(g){if(k[c+11|0]>>>7|0){g=j[c>>2]}else{g=c}q=j[g>>2]==(O[j[j[n>>2]+44>>2]](n,45)|0)}o=ga(a+456|0);m=ga(a+440|0);i=ga(a+424|0);Of(h,q,a+488|0,a+480|0,a+476|0,a+472|0,o,m,i,a+420|0);j[a+16>>2]=77;l=Da(a+8|0,0,a+16|0);if(k[c+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}b:{if((c|0)>j[a+420>>2]){if(k[f+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}g=j[a+420>>2];if(k[i+11|0]>>>7|0){h=j[i+4>>2]}else{h=k[i+11|0]}g=(h+(c-g<<1)|0)+1|0;break b}if(k[i+11|0]>>>7|0){c=j[i+4>>2]}else{c=k[i+11|0]}g=c+2|0}c=a+16|0;c:{p=j[a+420>>2];if(k[m+11|0]>>>7|0){h=j[m+4>>2]}else{h=k[m+11|0]}g=p+(h+g|0)|0;if(g>>>0<101){break c}c=ja(g<<2);g=j[l>>2];j[l>>2]=c;if(g){O[j[l+4>>2]](g)}c=j[l>>2];if(c){break c}Fa();z()}h=c;r=a+4|0;p=a;s=j[d+4>>2];if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}t=g;if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}Nf(h,r,p,s,t,g+(f<<2)|0,n,q,a+480|0,j[a+476>>2],j[a+472>>2],o,m,i,j[a+420>>2]);b=_b(b,c,j[a+4>>2],j[a>>2],d,e);c=j[l>>2];j[l>>2]=0;if(c){O[j[l+4>>2]](c)}Y(i);Y(m);Y(o);d=j[a+488>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}M=a+496|0;return b|0}function eq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=M-16|0;M=f;a:{if(!j[a+64>>2]){b=-1;break a}d=j[a+92>>2]&8;b:{if(d){b=j[a+12>>2];break b}j[a+28>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;b=k[a+98|0];c=j[(b?52:60)+a>>2];b=j[(b?32:56)+a>>2];j[a+92>>2]=8;j[a+8>>2]=b;b=b+c|0;j[a+16>>2]=b;j[a+12>>2]=b}if(!b){b=f+16|0;j[a+16>>2]=b;j[a+12>>2]=b;j[a+8>>2]=f+15}c=j[a+16>>2];if(d){e=(c-j[a+8>>2]|0)/2|0;e=e>>>0<4?e:4}c:{d:{e:{if((b|0)==(c|0)){Ka(j[a+8>>2],b-e|0,e);if(k[a+98|0]){c=j[a+8>>2];c=uh(c+e|0,(j[a+16>>2]-e|0)-c|0,j[a+64>>2]);b=-1;if(!c){break c}b=j[a+8>>2]+e|0;j[a+12>>2]=b;j[a+16>>2]=b+c;b=k[b|0];break c}g=a;b=j[a+40>>2];c=j[a+36>>2];f:{if((b|0)==(c|0)){d=b;break f}Ka(j[a+32>>2],c,b-c|0);b=j[a+36>>2];d=j[a+40>>2]}c=j[a+32>>2];d=(d-b|0)+c|0;j[g+36>>2]=d;c=c+((c|0)==(a+44|0)?8:j[a+52>>2])|0;j[a+40>>2]=c;b=j[a+76>>2];j[a+80>>2]=j[a+72>>2];j[a+84>>2]=b;b=d;c=c-d|0;d=j[a+60>>2]-e|0;c=uh(b,c>>>0>>0?c:d,j[a+64>>2]);b=-1;if(!c){break c}b=j[a+68>>2];if(!b){break e}c=c+j[a+36>>2]|0;j[a+40>>2]=c;g=c;c=j[a+8>>2];if((O[j[j[b>>2]+16>>2]](b,a+72|0,j[a+32>>2],g,a+36|0,c+e|0,c+j[a+60>>2]|0,f+8|0)|0)==3){b=j[a+32>>2];j[a+8>>2]=b;c=j[a+40>>2];break d}b=j[a+8>>2]+e|0;c=j[f+8>>2];if((b|0)!=(c|0)){break d}b=-1;break c}b=k[b|0];break c}Fa();z()}j[a+16>>2]=c;j[a+12>>2]=b;b=k[b|0]}if(j[a+8>>2]!=(f+15|0)){break a}j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0}M=f+16|0;return b|0}function _k(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a=M-192|0;M=a;g=j[d+28>>2];j[a+184>>2]=g;j[g+4>>2]=j[g+4>>2]+1;o=tb(a+184|0);i=c;c=f;g=j[f+4>>2];a:{if(k[f+11|0]>>>7|0){break a}g=k[c+11|0]}if(g){if(k[c+11|0]>>>7|0){g=j[c>>2]}else{g=c}r=k[g|0]==(O[j[j[o>>2]+28>>2]](o,45)&255)}p=ga(a+160|0);n=ga(a+144|0);l=ga(a+128|0);Rf(i,r,a+184|0,a+176|0,a+175|0,a+174|0,p,n,l,a+124|0);j[a+16>>2]=77;m=Da(a+8|0,0,a+16|0);if(k[c+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}b:{if((c|0)>j[a+124>>2]){if(k[f+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}g=j[a+124>>2];if(k[l+11|0]>>>7|0){i=j[l+4>>2]}else{i=k[l+11|0]}g=(i+(c-g<<1)|0)+1|0;break b}if(k[l+11|0]>>>7|0){c=j[l+4>>2]}else{c=k[l+11|0]}g=c+2|0}c=a+16|0;c:{q=j[a+124>>2];if(k[n+11|0]>>>7|0){i=j[n+4>>2]}else{i=k[n+11|0]}g=q+(i+g|0)|0;if(g>>>0<101){break c}c=ja(g);g=j[m>>2];j[m>>2]=c;if(g){O[j[m+4>>2]](g)}c=j[m>>2];if(c){break c}Fa();z()}i=c;s=a+4|0;q=a;t=j[d+4>>2];if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}u=g;if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}Pf(i,s,q,t,u,g+f|0,o,r,a+176|0,h[a+175|0],h[a+174|0],p,n,l,j[a+124>>2]);b=$b(b,c,j[a+4>>2],j[a>>2],d,e);c=j[m>>2];j[m>>2]=0;if(c){O[j[m+4>>2]](c)}Y(l);Y(n);Y(p);d=j[a+184>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}M=a+192|0;return b|0}function xe(a,b,c){var d=0,e=0,f=0,g=0,i=0;a:while(1){g=b-1|0;d=a;b:while(1){c:{d:{e:{f:{g:{h:{i:{j:{a=b-d|0;switch(a|0){case 2:break j;case 0:case 1:break c;case 3:break f;case 5:break h;case 4:break i;default:break g}}a=b-1|0;if(h[a|0]>=h[d|0]){break c}Xa(d,a);return}we(d,d+1|0,d+2|0,b-1|0);return}ve(d,d+1|0,d+2|0,d+3|0,b-1|0);return}if((a|0)<=30){uo(d,b);return}e=(a>>>1|0)+d|0;k:{if((a|0)>=1e3){a=a>>>2|0;i=ve(d,a+d|0,e,a+e|0,g);break k}i=Ec(d,e,g)}a=g;if(h[d|0]>=h[e|0]){while(1){a=a-1|0;if((d|0)==(a|0)){e=d+1|0;if(h[d|0]=h[e|0]){continue}break}Xa(d,a);i=i+1|0}f=d+1|0;if(f>>>0>=a>>>0){break e}while(1){g=f;f=f+1|0;if(h[g|0]=h[e|0]){continue}break}if(a>>>0>>0){f=g;break e}else{Xa(g,a);e=(e|0)==(g|0)?a:e;i=i+1|0;continue}}}Ec(d,d+1|0,b-1|0);break c}if(!((e|0)==(f|0)|h[e|0]>=h[f|0])){Xa(f,e);i=i+1|0}if(!i){g=kh(d,f);a=f+1|0;if(kh(a,b)){b=f;a=d;if(!g){continue a}break c}if(g){continue a}}if((f-d|0)<(b-f|0)){xe(d,f,c);a=f+1|0;continue a}xe(f+1|0,b,c);b=f;a=d;continue a}a=g;if((e|0)==(a|0)){break c}while(1){f=e;e=f+1|0;if(h[d|0]>=h[f|0]){continue}while(1){a=a-1|0;if(h[d|0]>>0<=f>>>0){d=f;continue b}else{Xa(f,a);continue}}}break}break}}function Tp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0;e=M-16|0;M=e;a:{b:{c:{i=W(c);if(i>>>0<4294967280){d:{e:{if(i>>>0>=11){m=i+16&-16;f=U(m);j[e+8>>2]=m|-2147483648;j[e>>2]=f;j[e+4>>2]=i;m=e;break e}h[e+11|0]=i;m=e;f=e;if(!i){break d}}V(f,c,i)}h[f+i|0]=0;f=k[m+11|0];g=f<<24>>24;if(((g|0)<0?j[e+4>>2]:f)>>>0<2){break a}f=0;f:{g:{while(1){h:{i:{j:{if(g<<24>>24<=-1){i=j[e+4>>2];if(i-1>>>0>f>>>0){break j}if((i|0)!=4){break h}f=k[c+1|0];break g}i=g&255;l=e;if(i-1>>>0>f>>>0){break i}if((g&255)!=4){break h}f=k[c+1|0];l=e;break f}l=j[e>>2]}i=f+1|0;g=l+i|0;n=k[g|0];l=f+l|0;h[g|0]=k[l|0];h[l|0]=n;wa(a,b,e,d,0,0);l=h[m+11|0]<0?j[e>>2]:e;g=l+i|0;n=k[g|0];f=f+l|0;h[g|0]=k[f|0];h[f|0]=n;g=k[m+11|0];f=i;continue}break}if((i|0)!=5){break a}f=k[c+1|0];l=e;if(g<<24>>24>-1){break f}}l=j[e>>2]}h[l|0]=f;i=e|1;h[(h[m+11|0]<0?j[e>>2]+1|0:i)|0]=k[c|0];l=e|2;h[(h[m+11|0]<0?j[e>>2]+2|0:l)|0]=k[c+2|0];f=k[m+11|0];g=f<<24>>24<0;f=g?j[e+4>>2]:f;h[((g?j[e>>2]:e)+f|0)-2|0]=k[(c+f|0)-1|0];f=k[m+11|0];g=f<<24>>24<0;f=g?j[e+4>>2]:f;h[((g?j[e>>2]:e)+f|0)-1|0]=k[(c+f|0)-2|0];wa(a,b,e,d,0,0);g=h[m+11|0];if((g|0)>-1){break c}if(j[e+4>>2]!=5){break a}f=j[e>>2];break b}X();z()}f=e;if((g|0)!=5){break a}}h[f|0]=k[c|0];h[(h[m+11|0]<0?j[e>>2]+1|0:i)|0]=k[c+2|0];h[(h[m+11|0]<0?j[e>>2]+2|0:l)|0]=k[c+1|0];wa(a,b,e,d,0,0);g=k[m+11|0]}if(g<<24>>24<=-1){T(j[e>>2])}M=e+16|0}function no(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{d=j[a>>2];g=(j[a+4>>2]-d|0)/40|0;c=g+1|0;if(c>>>0<107374183){d=(j[a+8>>2]-d|0)/40|0;e=d<<1;d=d>>>0<53687091?c>>>0>e>>>0?c:e:107374182;if(d){if(d>>>0>=107374183){break c}f=U(p(d,40))}e=j[b+4>>2];c=p(g,40)+f|0;j[c>>2]=j[b>>2];j[c+4>>2]=e;j[c+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];g=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=g;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];g=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=g;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+36>>2]=j[b+36>>2];d=p(d,40)+f|0;g=c+40|0;b=j[a+4>>2];f=j[a>>2];if((b|0)==(f|0)){break b}while(1){b=b-40|0;e=j[b+4>>2];c=c-40|0;j[c>>2]=j[b>>2];j[c+4>>2]=e;j[c+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];e=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=e;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];e=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=e;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+36>>2]=j[b+36>>2];if((b|0)!=(f|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=g;f=j[a>>2];j[a>>2]=c;if((b|0)==(f|0)){break a}while(1){if(h[b-5|0]<=-1){T(j[b-16>>2])}if(h[b-17|0]<=-1){T(j[b-28>>2])}b=b-40|0;if(h[b+11|0]<=-1){T(j[b>>2])}if((b|0)!=(f|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=g;j[a>>2]=c}if(f){T(f)}}function il(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,l=0,n=0;a=M-624|0;M=a;j[a+608>>2]=c;j[a+616>>2]=b;j[a+16>>2]=78;i=Da(a+200|0,a+208|0,a+16|0);b=j[e+28>>2];j[a+192>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(a+192|0);h[a+191|0]=0;a:{if(!Wf(a+616|0,c,d,a+192|0,j[e+4>>2],f,a+191|0,b,i,a+196|0,a+608|0)){break a}c=k[127835]|k[127836]<<8|(k[127837]<<16|k[127838]<<24);h[a+183|0]=c;h[a+184|0]=c>>>8;h[a+185|0]=c>>>16;h[a+186|0]=c>>>24;c=k[127832]|k[127833]<<8|(k[127834]<<16|k[127835]<<24);j[a+176>>2]=k[127828]|k[127829]<<8|(k[127830]<<16|k[127831]<<24);j[a+180>>2]=c;O[j[j[b>>2]+48>>2]](b,a+176|0,a+186|0,a+128|0)|0;j[a+16>>2]=77;b=Da(a+8|0,0,a+16|0);c=a+16|0;b:{if((j[a+196>>2]-j[i>>2]|0)>=393){d=ja((j[a+196>>2]-j[i>>2]>>2)+2|0);c=j[b>>2];j[b>>2]=d;if(c){O[j[b+4>>2]](c)}if(!j[b>>2]){break b}c=j[b>>2]}if(k[a+191|0]){h[c|0]=45;c=c+1|0}e=j[i>>2];while(1){if(m[a+196>>2]<=e>>>0){c:{h[c|0]=0;j[a>>2]=g;if((Lg(a+16|0,a)|0)!=1){break c}c=j[b>>2];j[b>>2]=0;if(c){O[j[b+4>>2]](c)}break a}}else{l=c,n=k[(a+176|0)+(ce(a+128|0,a+168|0,e)-(a+128|0)>>2)|0],h[l|0]=n;c=c+1|0;e=e+4|0;continue}break}Fa();z()}Fa();z()}if(Ra(a+616|0,a+608|0)){j[f>>2]=j[f>>2]|2}d=j[a+616>>2];b=j[a+192>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+624|0;return d|0}function hd(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;s=j[a+4248>>2];a=j[a+4252>>2];if((s|0)!=(a|0)){u=d+17|0;v=(a-s|0)/40|0;r=b+c|0;w=k[r|0];while(1){f=p(t,40)+s|0;b=f+12|0;b=h[f+23|0]<=-1?j[b>>2]:b;a=k[b|0];a:{if(!a){break a}g=r;if((a|0)!=46&(a|0)!=(w|0)){break a}while(1){a=k[b+1|0];if(!a){break a}o=k[g+1|0];g=g+1|0;b=b+1|0;if(!((a|0)!=46&(a|0)!=(o|0))){continue}break}}b:{if(a){break b}c:{if(!d){break c}m=l[f+36>>1];if(!m){break c}a=j[d+4>>2];if(!a){break b}b=i[d+2>>1];o=(b<<1)+a|0;if(b){while(1){n=b>>>1|0;g=(n<<1)+a|0;q=m>>>0>l[g>>1];a=q?g+2|0:a;b=q?(n^-1)+b|0:n;if(b){continue}break}}if((a|0)==(o|0)|m>>>0>1]){break b}}d:{if(!e){break d}m=l[f+38>>1];if(!m){break d}a=j[e+4>>2];if(!a){break b}b=i[e+2>>1];o=(b<<1)+a|0;if(b){while(1){n=b>>>1|0;g=(n<<1)+a|0;q=m>>>0>l[g>>1];a=q?g+2|0:a;b=q?(n^-1)+b|0:n;if(b){continue}break}}if((a|0)==(o|0)|m>>>0>1]){break b}}e:{f:{g:{h:{a=k[f+11|0];b=a<<24>>24;g=(b|0)>-1;if(!g){if(j[f+4>>2]){break h}return 1}if(b){break g}return 1}b=j[f>>2];break f}b=f}if(k[b|0]!=48){break e}b=k[d|0];if((b|0)>(c|0)){break e}if(Db(r-b|0,u,b)){break e}return 1}i:{if(!g){b=j[f>>2];if(k[b|0]==48){break b}a=j[f+4>>2];if(a){break i}break b}if(k[f|0]==48){break b}b=f}if(Db(r-a|0,b,a)){break b}return 1}t=t+1|0;if(v>>>0>t>>>0){continue}break}}return 0}function Yb(a,b,c,d,e,f,g,h){var i=0,k=0,l=0,m=0,n=0;k=M-32|0;M=k;j[k+16>>2]=c;j[k+24>>2]=b;b=j[d+28>>2];j[k+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(k+8|0);c=j[k+8>>2];i=j[c+4>>2]-1|0;j[c+4>>2]=i;if((i|0)==-1){O[j[j[c>>2]+8>>2]](c)}j[e>>2]=0;c=0;a:{while(1){if(c|(g|0)==(h|0)){break a}b:{if(Ra(k+24|0,k+16|0)){break b}c:{if((O[j[j[b>>2]+52>>2]](b,j[g>>2],0)|0)==37){c=g+4|0;if((h|0)==(c|0)){break b}l=0;i=O[j[j[b>>2]+52>>2]](b,j[c>>2],0)|0;d:{if(!((i|0)==69|(i&255)==48)){c=g;break d}if((g+8|0)==(h|0)){break b}l=i;i=O[j[j[b>>2]+52>>2]](b,j[g+8>>2],0)|0}m=k,n=O[j[j[a>>2]+36>>2]](a,j[k+24>>2],j[k+16>>2],d,e,f,i,l)|0,j[m+24>>2]=n;g=c+8|0;break c}if(O[j[j[b>>2]+12>>2]](b,8192,j[g>>2])|0){while(1){e:{g=g+4|0;if((h|0)==(g|0)){g=h;break e}if(O[j[j[b>>2]+12>>2]](b,8192,j[g>>2])|0){continue}}break}while(1){if(!jb(k+24|0,k+16|0)){break c}c=b;i=j[k+24>>2];l=j[i+12>>2];f:{if((l|0)==j[i+16>>2]){i=O[j[j[i>>2]+36>>2]](i)|0;break f}i=j[l>>2]}if(!(O[j[j[b>>2]+12>>2]](c,8192,i)|0)){break c}Na(k+24|0);continue}}c=b;i=j[k+24>>2];l=j[i+12>>2];g:{if((l|0)==j[i+16>>2]){i=O[j[j[i>>2]+36>>2]](i)|0;break g}i=j[l>>2]}if((O[j[j[b>>2]+28>>2]](c,i)|0)==(O[j[j[b>>2]+28>>2]](b,j[g>>2])|0)){g=g+4|0;Na(k+24|0);break c}j[e>>2]=4}c=j[e>>2];continue}break}j[e>>2]=4}if(Ra(k+24|0,k+16|0)){j[e>>2]=j[e>>2]|2}M=k+32|0;return j[k+24>>2]}function ol(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,l=0,n=0;a=M-288|0;M=a;j[a+272>>2]=c;j[a+280>>2]=b;j[a+16>>2]=78;i=Da(a+152|0,a+160|0,a+16|0);b=j[e+28>>2];j[a+144>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=tb(a+144|0);h[a+143|0]=0;a:{if(!ag(a+280|0,c,d,a+144|0,j[e+4>>2],f,a+143|0,b,i,a+148|0,a+260|0)){break a}c=k[127835]|k[127836]<<8|(k[127837]<<16|k[127838]<<24);h[a+135|0]=c;h[a+136|0]=c>>>8;h[a+137|0]=c>>>16;h[a+138|0]=c>>>24;c=k[127832]|k[127833]<<8|(k[127834]<<16|k[127835]<<24);j[a+128>>2]=k[127828]|k[127829]<<8|(k[127830]<<16|k[127831]<<24);j[a+132>>2]=c;O[j[j[b>>2]+32>>2]](b,a+128|0,a+138|0,a+118|0)|0;j[a+16>>2]=77;b=Da(a+8|0,0,a+16|0);c=a+16|0;b:{if((j[a+148>>2]-j[i>>2]|0)>=99){d=ja((j[a+148>>2]-j[i>>2]|0)+2|0);c=j[b>>2];j[b>>2]=d;if(c){O[j[b+4>>2]](c)}if(!j[b>>2]){break b}c=j[b>>2]}if(k[a+143|0]){h[c|0]=45;c=c+1|0}e=j[i>>2];while(1){if(m[a+148>>2]<=e>>>0){c:{h[c|0]=0;j[a>>2]=g;if((Lg(a+16|0,a)|0)!=1){break c}c=j[b>>2];j[b>>2]=0;if(c){O[j[b+4>>2]](c)}break a}}else{l=c,n=k[((fe(a+118|0,a+128|0,e)-a|0)+a|0)+10|0],h[l|0]=n;c=c+1|0;e=e+1|0;continue}break}Fa();z()}Fa();z()}if(Sa(a+280|0,a+272|0)){j[f>>2]=j[f>>2]|2}d=j[a+280>>2];b=j[a+144>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+288|0;return d|0}function qd(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=M-128|0;M=m;j[m+120>>2]=b;j[m+16>>2]=77;q=Da(m+8|0,0,m+16|0);n=m+16|0;a:{o=(d-c|0)/12|0;if(o>>>0>=101){n=ja(o);if(!n){break a}b=j[q>>2];j[q>>2]=n;if(b){O[j[q+4>>2]](b)}}i=n;b=c;while(1)if((b|0)==(d|0)){b:while(1){c:{if(!(kb(a,m+120|0)?o:0)){if(Sa(a,m+120|0)){j[f>>2]=j[f>>2]|2}break c}r=Ga(a);if(!g){r=O[j[j[e>>2]+12>>2]](e,r)|0}u=s+1|0;v=0;i=n;b=c;while(1)if((b|0)==(d|0)){s=u;if(!v){continue b}Oa(a);i=n;b=c;if(o+p>>>0<2){continue b}while(1){if((b|0)==(d|0)){continue b}if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if(!((l|0)==(s|0)|k[i|0]!=2)){h[i|0]=0;p=p-1|0}i=i+1|0;b=b+12|0;continue}}else{d:{if(k[i|0]!=1){break d}if(k[b+11|0]>>>7|0){l=j[b>>2]}else{l=b}t=h[l+s|0];l=r&255;if(!g){t=O[j[j[e>>2]+12>>2]](e,t)|0}e:{if((t&255)==(l|0)){v=1;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if((l|0)!=(u|0)){break d}h[i|0]=2;p=p+1|0;break e}h[i|0]=0}o=o-1|0}i=i+1|0;b=b+12|0;continue}}break}f:{g:{while(1){if((c|0)==(d|0)){break g}if(k[n|0]!=2){n=n+1|0;c=c+12|0;continue}break}d=c;break f}j[f>>2]=j[f>>2]|4}a=q;b=j[a>>2];j[a>>2]=0;if(b){O[j[a+4>>2]](b)}M=m+128|0;return d}else{if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}h:{if(l){h[i|0]=1;break h}h[i|0]=2;p=p+1|0;o=o-1|0}i=i+1|0;b=b+12|0;continue}}Fa();z()}function nm(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0;a=M-256|0;M=a;j[a+248>>2]=37;j[a+252>>2]=0;l=md(a+248|1,127610,j[c+4>>2]);j[a+204>>2]=a+208;i=ra();a:{if(l){k=j[c+8>>2];j[a+72>>2]=g;j[a+76>>2]=h;m=a- -64|0;j[m>>2]=e;j[m+4>>2]=f;j[a+48>>2]=k;i=fb(a+208|0,30,i,a+248|0,a+48|0);break a}j[a+80>>2]=e;j[a+84>>2]=f;j[a+88>>2]=g;j[a+92>>2]=h;i=fb(a+208|0,30,i,a+248|0,a+80|0)}j[a+128>>2]=77;k=Da(a+192|0,0,a+128|0);b:{if((i|0)>=30){i=ra();c:{if(l){l=j[c+8>>2];j[a+24>>2]=g;j[a+28>>2]=h;j[a+16>>2]=e;j[a+20>>2]=f;j[a>>2]=l;i=Sb(a+204|0,i,a+248|0,a);break c}j[a+32>>2]=e;j[a+36>>2]=f;j[a+40>>2]=g;j[a+44>>2]=h;i=Sb(a+204|0,i,a+248|0,a+32|0)}f=j[a+204>>2];if(!f){break b}e=j[k>>2];j[k>>2]=f;if(e){O[j[k+4>>2]](e)}}e=j[a+204>>2];f=e+i|0;l=Bb(e,f,c);j[a+128>>2]=77;e=Da(a+120|0,0,a+128|0);d:{if(j[a+204>>2]==(a+208|0)){i=a+128|0;g=a+208|0;break d}i=ja(i<<1);if(!i){break b}g=j[e>>2];j[e>>2]=i;if(g){O[j[e+4>>2]](g)}g=j[a+204>>2]}h=j[c+28>>2];j[a+104>>2]=h;j[h+4>>2]=j[h+4>>2]+1;og(g,l,f,i,a+116|0,a+112|0,a+104|0);f=j[a+104>>2];g=j[f+4>>2]-1|0;j[f+4>>2]=g;if((g|0)==-1){O[j[j[f>>2]+8>>2]](f)}c=$b(b,i,j[a+116>>2],j[a+112>>2],c,d);b=j[e>>2];j[e>>2]=0;if(b){O[j[e+4>>2]](b)}b=j[k>>2];j[k>>2]=0;if(b){O[j[k+4>>2]](b)}M=a+256|0;return c|0}Fa();z()}function fm(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0;a=M-432|0;M=a;j[a+424>>2]=37;j[a+428>>2]=0;l=md(a+424|1,127610,j[c+4>>2]);j[a+380>>2]=a+384;i=ra();a:{if(l){k=j[c+8>>2];j[a+72>>2]=g;j[a+76>>2]=h;m=a- -64|0;j[m>>2]=e;j[m+4>>2]=f;j[a+48>>2]=k;i=fb(a+384|0,30,i,a+424|0,a+48|0);break a}j[a+80>>2]=e;j[a+84>>2]=f;j[a+88>>2]=g;j[a+92>>2]=h;i=fb(a+384|0,30,i,a+424|0,a+80|0)}j[a+128>>2]=77;k=Da(a+368|0,0,a+128|0);b:{if((i|0)>=30){i=ra();c:{if(l){l=j[c+8>>2];j[a+24>>2]=g;j[a+28>>2]=h;j[a+16>>2]=e;j[a+20>>2]=f;j[a>>2]=l;i=Sb(a+380|0,i,a+424|0,a);break c}j[a+32>>2]=e;j[a+36>>2]=f;j[a+40>>2]=g;j[a+44>>2]=h;i=Sb(a+380|0,i,a+424|0,a+32|0)}f=j[a+380>>2];if(!f){break b}e=j[k>>2];j[k>>2]=f;if(e){O[j[k+4>>2]](e)}}e=j[a+380>>2];f=e+i|0;l=Bb(e,f,c);j[a+128>>2]=77;e=Da(a+120|0,0,a+128|0);d:{if(j[a+380>>2]==(a+384|0)){i=a+128|0;g=a+384|0;break d}i=ja(i<<3);if(!i){break b}g=j[e>>2];j[e>>2]=i;if(g){O[j[e+4>>2]](g)}g=j[a+380>>2]}h=j[c+28>>2];j[a+104>>2]=h;j[h+4>>2]=j[h+4>>2]+1;mg(g,l,f,i,a+116|0,a+112|0,a+104|0);f=j[a+104>>2];g=j[f+4>>2]-1|0;j[f+4>>2]=g;if((g|0)==-1){O[j[j[f>>2]+8>>2]](f)}c=_b(b,i,j[a+116>>2],j[a+112>>2],c,d);b=j[e>>2];j[e>>2]=0;if(b){O[j[e+4>>2]](b)}b=j[k>>2];j[k>>2]=0;if(b){O[j[k+4>>2]](b)}M=a+432|0;return c|0}Fa();z()}function ym(a,b,c,d,e){var f=0,g=0,i=0;f=M-384|0;M=f;j[f+368>>2]=b;j[f+376>>2]=a;ee(f+216|0,c,f+240|0,f+236|0,f+232|0);b=ga(f+200|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+196>>2]=a;j[f+28>>2]=f+32;j[f+24>>2]=0;h[f+23|0]=1;h[f+22|0]=69;while(1){a:{if(!jb(f+376|0,f+368|0)){break a}g=j[f+196>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+196>>2]=c+a}c=j[f+376>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(de(c,f+23|0,f+22|0,a,f+196|0,j[f+236>>2],j[f+232>>2],f+216|0,f+32|0,f+28|0,f+24|0,f+240|0)){break a}Na(f+376|0);continue}break}if(k[f+227|0]>>>7|0){c=j[f+220>>2]}else{c=k[f+227|0]}d:{if(!c|!k[f+23|0]){break d}c=j[f+28>>2];if((c-(f+32|0)|0)>159){break d}j[f+28>>2]=c+4;j[c>>2]=j[f+24>>2]}tg(f,a,j[f+196>>2],d);a=j[f+4>>2];j[e>>2]=j[f>>2];j[e+4>>2]=a;a=j[f+12>>2];j[e+8>>2]=j[f+8>>2];j[e+12>>2]=a;hb(f+216|0,f+32|0,j[f+28>>2],d);if(Ra(f+376|0,f+368|0)){j[d>>2]=j[d>>2]|2}a=j[f+376>>2];Y(b);Y(f+216|0);M=f+384|0;return a}function Xj(a,b,c,d,e,f){var g=0,h=0,l=0,m=0,n=0,o=0;j[c>>2]=a;j[f>>2]=d;a:{b:{c:{while(1){a=j[c>>2];if(!(a>>>0>=b>>>0|d>>>0>=e>>>0)){m=2;g=k[a|0];if(g>>>0>1114111){break a}o=c;d:{if(g<<24>>24>=0){i[d>>1]=g;a=a+1|0;break d}if(g>>>0<194){break a}if(g>>>0<=223){if((b-a|0)<2){break b}h=k[a+1|0];if((h&192)!=128){break c}g=h&63|g<<6&1984;if(g>>>0>1114111){break c}i[d>>1]=g;a=a+2|0;break d}if(g>>>0<=239){if((b-a|0)<3){break b}l=k[a+2|0];h=k[a+1|0];e:{f:{if((g|0)!=237){if((g|0)!=224){break f}if((h&224)==160){break e}break c}if((h&224)==128){break e}break c}if((h&192)!=128){break c}}if((l&192)!=128){break c}g=l&63|((h&63)<<6|g<<12);if((g&65535)>>>0>1114111){break c}i[d>>1]=g;a=a+3|0;break d}if(g>>>0>244){break a}m=1;if((b-a|0)<4){break c}l=k[a+2|0];h=k[a+1|0];g:{h:{switch(g-240|0){case 0:if((h+112&255)>>>0>=48){break a}break g;case 4:if((h&240)!=128){break a}break g;default:break h}}if((h&192)!=128){break a}}if((l&192)!=128){break a}a=k[a+3|0];if((a&192)!=128){break a}if((e-d|0)<4){break c}m=2;a=a&63;n=l<<6;g=g&7;if((a|(n&4032|(h<<12&258048|g<<18)))>>>0>1114111){break c}h=h<<2;i[d>>1]=(l>>>4&3|(h&192|g<<8|h&60))+16320|55296;j[f>>2]=d+2;i[d+2>>1]=a|n&960|56320;a=j[c>>2]+4|0}j[o>>2]=a;d=j[f>>2]+2|0;j[f>>2]=d;continue}break}m=a>>>0>>0}return m}return 1}return 2}function Zb(a,b,c,d,e,f,g,i){var k=0,m=0,n=0,o=0,p=0,q=0;k=M-32|0;M=k;j[k+16>>2]=c;j[k+24>>2]=b;b=j[d+28>>2];j[k+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;m=tb(k+8|0);b=j[k+8>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}j[e>>2]=0;c=0;a:{while(1){if(c|(g|0)==(i|0)){break a}b:{if(Sa(k+24|0,k+16|0)){break b}c:{if((O[j[j[m>>2]+36>>2]](m,h[g|0],0)|0)==37){c=g+1|0;if((i|0)==(c|0)){break b}n=0;b=O[j[j[m>>2]+36>>2]](m,h[c|0],0)|0;d:{if(!((b|0)==69|(b&255)==48)){c=g;break d}if((g+2|0)==(i|0)){break b}n=b;b=O[j[j[m>>2]+36>>2]](m,h[g+2|0],0)|0}o=k,p=O[j[j[a>>2]+36>>2]](a,j[k+24>>2],j[k+16>>2],d,e,f,b,n)|0,j[o+24>>2]=p;g=c+2|0;break c}b=h[g|0];if((b|0)>=0){b=l[j[m+8>>2]+((b&255)<<1)>>1]&8192}else{b=0}if(b){while(1){e:{g=g+1|0;if((i|0)==(g|0)){g=i;break e}b=h[g|0];if((b|0)>=0){b=l[j[m+8>>2]+((b&255)<<1)>>1]&8192}else{b=0}if(b){continue}}break}while(1){if(!kb(k+24|0,k+16|0)){break c}b=Ga(k+24|0);if((b|0)>=0){b=(l[j[m+8>>2]+((b&255)<<1)>>1]&8192)!=0}else{b=0}if(!b){break c}Oa(k+24|0);continue}}if(((p=m,q=Ga(k+24|0),o=j[j[m>>2]+12>>2],O[o](p|0,q|0)|0)|0)==(O[j[j[m>>2]+12>>2]](m,h[g|0])|0)){g=g+1|0;Oa(k+24|0);break c}j[e>>2]=4}c=j[e>>2];continue}break}j[e>>2]=4}if(Sa(k+24|0,k+16|0)){j[e>>2]=j[e>>2]|2}M=k+32|0;return j[k+24>>2]}function Lh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=M-16|0;M=f;a:{b:{if(!j[a+64>>2]){break b}c=j[a+68>>2];if(!c){break a}c:{b=j[a+92>>2];d:{if(b&16){if(j[a+24>>2]!=j[a+20>>2]){c=-1;if((O[j[j[a>>2]+52>>2]](a,-1)|0)==-1){break b}}e=a+72|0;while(1){c=j[a+68>>2];b=j[a+32>>2];b=O[j[j[c>>2]+20>>2]](c,e,b,b+j[a+52>>2]|0,f+12|0)|0;c=-1;g=j[a+32>>2];d=j[f+12>>2]-g|0;if(($c(g,d,j[a+64>>2])|0)!=(d|0)){break b}if((b|0)==1){continue}break}if((b|0)==2){break b}if(!De(j[a+64>>2])){break d}break b}if(!(b&8)){break d}b=j[a+84>>2];j[f>>2]=j[a+80>>2];j[f+4>>2]=b;e:{if(k[a+98|0]){b=j[a+16>>2]-j[a+12>>2]|0;c=b;b=b>>31;d=0;break e}d=O[j[j[c>>2]+24>>2]](c)|0;e=j[a+36>>2];b=j[a+40>>2]-e|0;c=b;b=b>>31;if((d|0)>=1){e=p(d,j[a+16>>2]-j[a+12>>2]|0);d=c+e|0;b=b+(e>>31)|0;b=c>>>0>d>>>0?b+1|0:b;c=d;d=0;break e}g=j[a+12>>2];d=0;if((g|0)==j[a+16>>2]){break e}d=j[a+68>>2];d=O[j[j[d>>2]+32>>2]](d,f,j[a+32>>2],e,g-j[a+8>>2]|0)|0;e=(j[a+36>>2]-d|0)-j[a+32>>2]|0;d=c+e|0;b=(e>>31)+b|0;b=c>>>0>d>>>0?b+1|0:b;c=d;d=1}if(Be(j[a+64>>2],0-c|0,0-(b+((c|0)!=0)|0)|0,1)){break c}if(d){c=j[f+4>>2];j[a+72>>2]=j[f>>2];j[a+76>>2]=c}j[a+92>>2]=0;j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;c=j[a+32>>2];j[a+40>>2]=c;j[a+36>>2]=c}c=0;break b}c=-1}M=f+16|0;return c|0}Fa();z()}function Re(a,b,c,d,e,f){var g=0,m=0,n=0,o=0,p=0,q=0,r=0;m=M-16|0;M=m;a:{b:{if(h[a+29|0]&1?0:d&1){break b}g=h[a+15|0];n=j[a+8>>2];c:{if((g|0)<=-1){break c}n=g&255}o=c-n|0;d:{if(!j[j[a+64>>2]+4484>>2]|o?(o|0)<=0:0){break d}n=k[a+28|0];c=h[a+27|0];g=j[a+20>>2];e:{if((c|0)<=-1){break e}g=c&255}if(n>>>0>g+o>>>0){break d}g=W(b);if(g>>>0>=4294967280){break a}n=a+16|0;f:{g:{if(g>>>0>=11){p=g+16&-16;c=U(p);j[m+8>>2]=p|-2147483648;j[m>>2]=c;j[m+4>>2]=g;break g}h[m+11|0]=g;c=m;if(!g){break f}}V(c,b,g)}h[c+g|0]=0;Va(m,o);b=k[a+27|0];c=b<<24>>24<0;aa(m,c?j[a+16>>2]:n,c?j[a+20>>2]:b);n=a;g=h[m+11|0]<0?j[m>>2]:m;p=g;c=h[a+27|0];b=j[a+20>>2];h:{if((c|0)<=-1){break h}b=c&255}b=b+o|0;i:{if(Hd(n,p+b|0,g)){j:{if(e){k:{g=j[a+56>>2];if(!g){break k}c=i[a+60>>1];r=(c<<1)+g|0;o=l[e+30>>1];if(c){while(1){n=c>>>1|0;q=(n<<1)+g|0;p=o>>>0>l[q>>1];g=p?q+2|0:g;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((g|0)==(r|0)|o>>>0>1]){break k}g=Qa(j[a+64>>2],h[m+11|0]<0?j[m>>2]:m,b,0,0,l[a+30>>1],f,0);break j}g=Qa(j[a+64>>2],h[m+11|0]<0?j[m>>2]:m,b,d,e,l[a+30>>1],f,0);break j}g=Qa(j[a+64>>2],h[m+11|0]<0?j[m>>2]:m,b,0,0,l[a+30>>1],f,0)}a=0;if(g){break i}}g=0;a=1}if(h[m+11|0]<=-1){T(j[m>>2])}if(!a){break b}}g=0}M=m+16|0;return g}X();z()}function Eq(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0;i=M-16|0;M=i;a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}g=h[c+11|0]<0?j[c>>2]:c;while(1){f=g;g=f+1|0;if(k[f|0]==32){continue}break}j[e>>2]=0;g=W(f);b:{if((g|0)<1){break b}m=f-1|0;c:{while(1){if(k[g+m|0]!=46){break c}l=l+1|0;j[e>>2]=l;n=(g|0)>1;g=g-1|0;if(n){continue}break}m=0;break b}d:{if(!j[a+44>>2]){l=0;c=0;e=0;if((g|0)>=1){m=0;while(1){n=h[f|0];e=j[a+36>>2]+p(n&255,3)|0;o=k[e|0];q=k[e+1|0];e=k[e+2|0];Z(b,n);c=((e|0)==(q|0))+c|0;f=f+1|0;l=((o|0)!=0)+l|0;m=m+1|0;if((m|0)!=(g|0)){continue}break}e=g}f=k[j[a+36>>2]+p(k[(h[b+11|0]<0?j[b>>2]:b)|0],3)|0];break d}g=0;j[i+8>>2]=0;j[i>>2]=0;j[i+4>>2]=0;ia(i,c);e:{f:{f=j[i>>2];g:{if((f|0)==j[i+4>>2]){da(b,i);c=0;break g}c=0;l=0;while(1){e=(g<<1)+f|0;e=k[e|0]|k[e+1|0]<<8;f=Ue(e,j[a+40>>2]);l=((e|0)!=(f|0))+l|0;c=((Ve(e,j[a+40>>2])|0)==(f|0))+c|0;g=g+1|0;f=j[i>>2];if(g>>>0>2]-f>>1>>>0){continue}break}da(b,i);if(l){break f}}l=0;f=0;break e}b=j[i>>2];b=k[b|0]|k[b+1|0]<<8;f=(Ue(b,j[a+40>>2])|0)!=(b|0)}a=j[i>>2];if(a){j[i+4>>2]=a;T(a)}e=0}if(!l){m=0;break b}m=1;if(f?(l|0)==1:0){break b}m=2;if((e|0)==(l|0)|(c+l|0)==(e|0)){break b}m=(l|0)>1?f?4:3:3}j[d>>2]=m;M=i+16|0}function xm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-352|0;M=a;j[a+336>>2]=c;j[a+344>>2]=b;h=ga(a+208|0);b=j[d+28>>2];j[a+16>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(a+16|0);O[j[j[b>>2]+48>>2]](b,127568,127594,a+224|0)|0;b=j[a+16>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}c=ga(a+192|0);fa(c,k[c+11|0]>>>7|0?(j[c+8>>2]&2147483647)-1|0:10);d=a;if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[d+188>>2]=b;j[a+12>>2]=a+16;j[a+8>>2]=0;while(1){a:{if(!jb(a+344|0,a+336|0)){break a}g=j[a+188>>2];if(k[c+11|0]>>>7|0){d=j[c+4>>2]}else{d=k[c+11|0]}if((g|0)==(d+b|0)){b=c;b:{if(k[b+11|0]>>>7|0){d=j[b+4>>2];break b}d=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=a;if(k[b+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[g+188>>2]=d+b}d=j[a+344>>2];g=j[d+12>>2];c:{if((g|0)==j[d+16>>2]){d=O[j[j[d>>2]+36>>2]](d)|0;break c}d=j[g>>2]}if(yc(d,16,b,a+188|0,a+8|0,0,h,a+16|0,a+12|0,a+224|0)){break a}Na(a+344|0);continue}break}fa(c,j[a+188>>2]-b|0);if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}d=ra();j[a>>2]=f;if((sg(b,d,a)|0)!=1){j[e>>2]=4}if(Ra(a+344|0,a+336|0)){j[e>>2]=j[e>>2]|2}b=j[a+344>>2];Y(c);Y(h);M=a+352|0;return b|0}function Cm(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=q(0);f=M-368|0;M=f;j[f+352>>2]=b;j[f+360>>2]=a;ee(f+200|0,c,f+224|0,f+220|0,f+216|0);b=ga(f+184|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+180>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!jb(f+360|0,f+352|0)){break a}g=j[f+180>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+180>>2]=c+a}c=j[f+360>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(de(c,f+7|0,f+6|0,a,f+180|0,j[f+220>>2],j[f+216>>2],f+200|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Na(f+360|0);continue}break}if(k[f+211|0]>>>7|0){c=j[f+204>>2]}else{c=k[f+211|0]}d:{if(!c|!k[f+7|0]){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=vg(a,j[f+180>>2],d),n[l>>2]=m;hb(f+200|0,f+16|0,j[f+12>>2],d);if(Ra(f+360|0,f+352|0)){j[d>>2]=j[d>>2]|2}a=j[f+360>>2];Y(b);Y(f+200|0);M=f+368|0;return a}function cq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0;e=M-16|0;M=e;a:{b:{if(!j[a+64>>2]){break b}c:{if(k[a+92|0]&16){g=j[a+20>>2];c=j[a+28>>2];break c}j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;d=j[a+52>>2];c=0;d:{if(d>>>0<9){break d}if(k[a+98|0]){g=j[a+32>>2];c=(d+g|0)-1|0;break d}g=j[a+56>>2];c=(g+j[a+60>>2]|0)-1|0}j[a+92>>2]=16;j[a+28>>2]=c;j[a+20>>2]=g;j[a+24>>2]=g}m=c;d=j[a+24>>2];if((b|0)==-1){c=g}else{if(!d){j[a+28>>2]=e+16;j[a+20>>2]=e+15;j[a+24>>2]=e+15;d=e+15|0}h[d|0]=b;d=j[a+24>>2]+1|0;j[a+24>>2]=d;c=j[a+20>>2]}if((c|0)!=(d|0)){e:{if(k[a+98|0]){l=c;c=d-c|0;f=-1;if(($c(l,c,j[a+64>>2])|0)!=(c|0)){break a}break e}f=j[a+32>>2];j[e+8>>2]=f;f:{i=j[a+68>>2];if(!i){break f}l=a+72|0;while(1){c=O[j[j[i>>2]+12>>2]](i,l,c,d,e+4|0,f,j[a+52>>2]+f|0,e+8|0)|0;d=j[a+20>>2];if((d|0)==j[e+4>>2]){break b}if((c|0)==3){c=j[a+24>>2]-d|0;if(($c(d,c,j[a+64>>2])|0)!=(c|0)){break b}break e}if(c>>>0>1){break b}f=j[a+32>>2];d=j[e+8>>2]-f|0;if(($c(f,d,j[a+64>>2])|0)!=(d|0)){break b}if((c|0)!=1){break e}c=j[e+4>>2];j[a+20>>2]=c;d=j[a+24>>2];j[a+28>>2]=d;i=j[a+68>>2];if(!i){break f}f=j[a+32>>2];continue}}Fa();z()}j[a+28>>2]=m;j[a+20>>2]=g;j[a+24>>2]=g}f=(b|0)==-1?0:b;break a}f=-1}M=e+16|0;return f|0}function Am(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0;f=M-368|0;M=f;j[f+352>>2]=b;j[f+360>>2]=a;ee(f+200|0,c,f+224|0,f+220|0,f+216|0);b=ga(f+184|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+180>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!jb(f+360|0,f+352|0)){break a}g=j[f+180>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+180>>2]=c+a}c=j[f+360>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(de(c,f+7|0,f+6|0,a,f+180|0,j[f+220>>2],j[f+216>>2],f+200|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Na(f+360|0);continue}break}if(k[f+211|0]>>>7|0){c=j[f+204>>2]}else{c=k[f+211|0]}d:{if(!c|!k[f+7|0]){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=ug(a,j[f+180>>2],d),o[l>>3]=m;hb(f+200|0,f+16|0,j[f+12>>2],d);if(Ra(f+360|0,f+352|0)){j[d>>2]=j[d>>2]|2}a=j[f+360>>2];Y(b);Y(f+200|0);M=f+368|0;return a}function Kd(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0;d=M-16|0;M=d;b=j[a>>2];a:{if((j[a+4>>2]-b|0)/12>>>0<2){break a}j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;Wb(d,b);m=1;b=j[a+4>>2];c=j[a>>2];if((b-c|0)/12>>>0>1){while(1){f=p(m,12)+c|0;b:{c:{d:{b=j[d>>2];g=j[d+4>>2];if((b|0)==(g|0)){break d}e=k[f+11|0];c=e<<24>>24<0;n=c?j[f+4>>2]:e;if(n){e=c?j[f>>2]:f;while(1){l=k[b+11|0];c=l<<24>>24<0;e:{if(((c?j[b+4>>2]:l)|0)!=(n|0)){break e}i=j[b>>2];if(!c){if(k[e|0]!=(i&255)){break e}i=b;c=e;while(1){l=l-1|0;if(!l){break d}o=k[c+1|0];c=c+1|0;i=i+1|0;if(k[i|0]==(o|0)){continue}break}break e}if(!qa(i,e,n)){break d}}b=b+12|0;if((g|0)!=(b|0)){continue}break}break c}while(1){c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){break d}b=b+12|0;if((g|0)!=(b|0)){continue}break}break c}if((b|0)!=(g|0)){break b}}if(j[d+8>>2]!=(g|0)){q=d,r=ha(g,f)+12|0,j[q+4>>2]=r;break b}Wb(d,f)}m=m+1|0;b=j[a+4>>2];c=j[a>>2];if(m>>>0<(b-c|0)/12>>>0){continue}break}}j[a>>2]=j[d>>2];j[d>>2]=c;j[a+4>>2]=j[d+4>>2];j[d+4>>2]=b;e=j[a+8>>2];j[a+8>>2]=j[d+8>>2];j[d+8>>2]=e;if(!c){break a}if((b|0)==(c|0)){a=c}else{while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((b|0)!=(c|0)){continue}break}a=j[d>>2]}j[d+4>>2]=c;T(a)}M=d+16|0}function En(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;f=W(e);a:{b:{if((b|0)==80){if(!Db(c,e,f)){return 1}if(j[a+4144>>2]){break b}b=(f|0)>0;c:{if((d|0)<1|(f|0)<1){break c}h=f-1|0;while(1){a=k[e+g|0];d:{if((a|0)!=91){b=g;if((a|0)==k[c+i|0]){break d}break b}a=g+1|0;m=(a|0)<(h|0)?h:a;n=k[c+i|0];o=k[a+e|0];a=0;b=g;e:{while(1){f:{b=b+1|0;l=k[e+b|0];a=(l|0)==(n|0)?1:a;if((b|0)>=(h|0)){break f}if((l|0)!=93){continue}break e}break}if((g|0)>=(h|0)){b=m;break e}b=m;if((l|0)!=93){break b}}g=0;if((o|0)!=94^(a|0)!=0){break a}}g=b+1|0;b=(g|0)<(f|0);i=i+1|0;if((i|0)>=(d|0)){break c}if((f|0)>(g|0)){continue}break}}g=1;if(b){break b}break a}g:{if((d|0)<(f|0)){break g}if(ba((c+d|0)-f|0,e)){break g}return 1}if(j[a+4144>>2]){break b}h:{if((d|0)<1){b=f;break h}if((f|0)<1){b=f;break h}while(1){h=d-1|0;i=k[h+c|0];b=f-1|0;a=k[e+b|0];i:{if((a|0)==93){m=(f|0)>1?1:b;g=m-1|0;a=0;j:{while(1){k:{f=b;b=f-1|0;l=k[e+b|0];a=(l|0)==(i|0)?1:a;if((f|0)<2){break k}if((l|0)!=91){continue}break j}break}if(g){f=m;b=g;break j}f=m;b=g;if((l|0)!=91){break b}}g=0;if((a|0)!=0^k[e+f|0]!=94){break a}break i}if((a|0)!=(i|0)){break b}}if((d|0)<2){break h}d=h;f=b;if((f|0)>0){continue}break}}g=1;if((b|0)<1){break a}}g=0}return g}function Hh(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0;g=j[a+4>>2];d=j[a+8>>2];if(g>>>0>>0){if((b|0)==(g|0)){c=k[c|0]|k[c+1|0]<<8;h[b|0]=c;h[b+1|0]=c>>>8;j[a+4>>2]=b+2;return}d=g;e=d-2|0;if(d>>>0>e>>>0){while(1){f=k[e|0]|k[e+1|0]<<8;h[d|0]=f;h[d+1|0]=f>>>8;d=d+2|0;e=e+2|0;if(g>>>0>e>>>0){continue}break}}j[a+4>>2]=d;d=(g-b|0)-2|0;if(d){Ka(g-(d>>1<<1)|0,b,d)}d=b;if(c>>>0>=d>>>0){c=m[a+4>>2]>c>>>0?c+2|0:c}a=k[c|0]|k[c+1|0]<<8;h[d|0]=a;h[d+1|0]=a>>>8;return}a:{l=j[a>>2];e=g-l|0;if((e|0)>-3){e=(e>>1)+1|0;d=d-l|0;e=d>>1>>>0<1073741823?d>>>0>>0?e:d:2147483647;g=0;b:{if(!e){break b}if((e|0)<=-1){break a}g=U(e<<1)}n=g+(e<<1)|0;i=b-l|0;f=i>>1;d=g+(f<<1)|0;c:{d:{if((e|0)==(f|0)){if((i|0)>=1){d=((f+1|0)/-2<<1)+d|0;c=k[c|0]|k[c+1|0]<<8;h[d|0]=c;h[d+1|0]=c>>>8;f=d-(f<<1)|0;e=d+2|0;break d}d=i?i:1;if((d|0)<=-1){break a}i=d<<1;e=U(i);n=e+i|0;d=e+(d>>>1&2147483646)|0;if(!g){c=k[c|0]|k[c+1|0]<<8;h[d|0]=c;h[d+1|0]=c>>>8;e=d+2|0;f=d-(f<<1)|0;break c}T(g);l=j[a>>2];i=b-l|0;f=i>>1}c=k[c|0]|k[c+1|0]<<8;h[d|0]=c;h[d+1|0]=c>>>8;e=d+2|0;f=d-(f<<1)|0;if((i|0)<1){break c}}V(f,l,i)}c=j[a+4>>2]-b|0;if((c|0)>=1){e=V(e,b,c)+c|0}j[a+8>>2]=n;j[a+4>>2]=e;b=j[a>>2];j[a>>2]=f;if(b){T(b)}return}X();z()}D();z()}function ki(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,l=0,m=0,n=0;if(zb(a,j[b+8>>2],e)){if(!(j[b+28>>2]==1|j[b+4>>2]!=(c|0))){j[b+28>>2]=d}return}a:{if(zb(a,j[b>>2],e)){if(!(j[b+20>>2]!=(c|0)?j[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}j[b+32>>2]=1;return}j[b+32>>2]=d;if(j[b+44>>2]!=4){f=a+16|0;m=f+(j[a+12>>2]<<3)|0;n=b;b:{c:{while(1){d:{if(f>>>0>=m>>>0){break d}i[b+52>>1]=0;Pd(f,b,c,c,1,e);if(k[b+54|0]){break d}e:{if(!k[b+53|0]){break e}if(k[b+52|0]){d=1;if(j[b+24>>2]==1){break c}l=1;g=1;if(k[a+8|0]&2){break e}break c}l=1;d=g;if(!(h[a+8|0]&1)){break c}}f=f+8|0;continue}break}d=g;a=4;if(!l){break b}}a=3}j[n+44>>2]=a;if(d&1){break a}}j[b+20>>2]=c;j[b+40>>2]=j[b+40>>2]+1;if(j[b+36>>2]!=1|j[b+24>>2]!=2){break a}h[b+54|0]=1;return}g=j[a+12>>2];f=a+16|0;ad(f,b,c,d,e);if((g|0)<2){break a}g=f+(g<<3)|0;f=a+24|0;a=j[a+8>>2];if(!(j[b+36>>2]!=1?!(a&2):0)){while(1){if(k[b+54|0]){break a}ad(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}break a}if(!(a&1)){while(1){if(k[b+54|0]|j[b+36>>2]==1){break a}ad(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break a}}while(1){if(k[b+54|0]|(j[b+24>>2]==1?j[b+36>>2]==1:0)){break a}ad(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}}}function Sm(a,b,c,d,e){var f=0,g=0,i=0;f=M-288|0;M=f;j[f+272>>2]=b;j[f+280>>2]=a;he(f+224|0,c,f+240|0,f+239|0,f+238|0);b=ga(f+208|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+204>>2]=a;j[f+28>>2]=f+32;j[f+24>>2]=0;h[f+23|0]=1;h[f+22|0]=69;while(1){a:{if(!kb(f+280|0,f+272|0)){break a}g=j[f+204>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+204>>2]=c+a}if(ge(Ga(f+280|0),f+23|0,f+22|0,a,f+204|0,h[f+239|0],h[f+238|0],f+224|0,f+32|0,f+28|0,f+24|0,f+240|0)){break a}Oa(f+280|0);continue}break}if(k[f+235|0]>>>7|0){c=j[f+228>>2]}else{c=k[f+235|0]}c:{if(!c|!k[f+23|0]){break c}c=j[f+28>>2];if((c-(f+32|0)|0)>159){break c}j[f+28>>2]=c+4;j[c>>2]=j[f+24>>2]}tg(f,a,j[f+204>>2],d);a=j[f+4>>2];j[e>>2]=j[f>>2];j[e+4>>2]=a;a=j[f+12>>2];j[e+8>>2]=j[f+8>>2];j[e+12>>2]=a;hb(f+224|0,f+32|0,j[f+28>>2],d);if(Sa(f+280|0,f+272|0)){j[d>>2]=j[d>>2]|2}a=j[f+280>>2];Y(b);Y(f+224|0);M=f+288|0;return a}function Km(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Tc(c,f+224|0);Sc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!jb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(yc(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Bg(b,j[f+188>>2],d,h),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function Em(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Tc(c,f+224|0);Sc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!jb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(yc(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=wg(b,j[f+188>>2],d,h),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function Mm(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Tc(c,f+224|0);Sc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!jb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(yc(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Cg(b,j[f+188>>2],d,h),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function Im(a,b,c,d,e){var f=0,g=0,h=0,l=0,m=0,n=0,o=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);m=Tc(c,f+224|0);Sc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!jb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(yc(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,m)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}n=e,o=zg(b,j[f+188>>2],d,h),i[n>>1]=o;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function Hm(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Tc(c,f+224|0);Sc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!jb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(yc(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=xg(b,j[f+188>>2],d,h),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function Qg(a,b){var c=0,d=0,e=0,f=0;a:{b:{c:{c=j[a+4>>2];d:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break d}c=pa(a)}switch(c-43|0){case 0:case 2:break b;default:break c}}d=c-48|0;break a}f=(c|0)==45;b=!b;c=j[a+4>>2];e:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break e}c=pa(a)}d=c-48|0;if(!(b|d>>>0<10|!j[a+104>>2])){j[a+4>>2]=j[a+4>>2]-1}}f:{if(d>>>0<10){d=0;while(1){d=p(d,10)+c|0;b=j[a+4>>2];g:{if(b>>>0>2]){j[a+4>>2]=b+1;c=k[b|0];break g}c=pa(a)}e=c-48|0;d=d-48|0;if((d|0)<214748364?e>>>0<=9:0){continue}break}b=d;d=d>>31;h:{if(e>>>0>=10){break h}while(1){d=or(b,d,10,0);b=d+c|0;c=N;c=b>>>0>>0?c+1|0:c;d=b;b=d-48|0;d=c-(d>>>0<48)|0;c=j[a+4>>2];i:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break i}c=pa(a)}e=c-48|0;if(e>>>0>9){break h}if((d|0)<21474836?1:(d|0)<=21474836?b>>>0<2061584302:0){continue}break}}if(e>>>0<10){while(1){c=j[a+4>>2];j:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break j}c=pa(a)}if(c-48>>>0<10){continue}break}}if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}a=b;b=f?0-a|0:a;d=f?0-(((a|0)!=0)+d|0)|0:d;break f}b=0;d=-2147483648;if(!j[a+104>>2]){break f}j[a+4>>2]=j[a+4>>2]-1;N=-2147483648;return 0}N=d;return b} -function ir(a,b){var c=0,d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=M-32|0;M=c;g=U(65788);e=Ie(g,b);j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;a:{b:{if(!ub(e,c+16|0)){break b}bb(c+16|0);if(!_(c+16|0,0,3,120902,3)){xb(c+16|0,0,3)}p=c+16|2;r=a+68|0;s=a+56|0;q=a+40|0;o=a+28|0;t=c+16|4;while(1){c:{if(_(c+16|0,0,4,120913,4)){break c}d=h[c+27|0];d:{if((d|0)<=-1){if(m[c+20>>2]<=4){break c}b=j[c+16>>2]+4|0;break d}b=t;if((d&255)>>>0<=4){break c}}b=h[b|0];if(!((b|0)==32|b-9>>>0<5)){break c}d=j[a+8>>2]?k[c+27|0]:d;f=d<<24>>24<0;b=f?j[c+16>>2]:c+16|0;f=f?j[c+20>>2]:d&255;n=b+f|0;l=b;d=f;e:{if((d|0)<4){break e}while(1){d=Aa(l,108,d-3|0);if(!d){break e}if((k[d|0]|k[d+1|0]<<8|(k[d+2|0]<<16|k[d+3|0]<<24))!=1735290732){l=d+1|0;d=n-l|0;if((d|0)>=4){continue}break e}break}if((d|0)==(n|0)|(d-b|0)==-1){break e}j[a+8>>2]=1}l=b;f:{d=f;if((d|0)<3){break f}g:{while(1){d=Aa(l,110,d-2|0);if(!d){break g}if(qa(d,120918,3)){l=d+1|0;d=n-l|0;if((d|0)>=3){continue}break g}break}if((d|0)==(n|0)|(d-b|0)==-1){break g}j[a+8>>2]=2}d=b;if((f|0)<5){break f}while(1){d=Aa(d,85,f-4|0);if(!d){break f}if(qa(d,120922,5)){d=d+1|0;f=n-d|0;if((f|0)>=5){continue}break f}break}if((d|0)==(n|0)|(d-b|0)==-1){break f}j[a+8>>2]=3;break c}if(j[a+8>>2]){break c}}h:{if(_(c+16|0,0,13,120928,13)){break h}j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;b=va(c+16|0,c);i:{if(!b){ea(e);T(g);break i}u=a,v=Ha(a,h[c+11|0]<0?j[c>>2]:c),i[u+20>>1]=v}if(h[c+11|0]<=-1){T(j[c>>2])}if(b){break h}a=c+16|0;break a}j:{if(_(c+16|0,0,3,120942,3)){break j}if(!va(c+16|0,o)){ea(e);T(g);a=c+16|0;break a}k:{b=k[a+39|0];if(((b<<24>>24<0?j[a+32>>2]:b)|0)!=5){break k}if(_(o,0,-1,120922,5)){break k}j[a+16>>2]=1;_h();break j}u=a,v=_c(o),j[u+52>>2]=v}if(!_(c+16|0,0,4,120946,4)){if(!va(c+16|0,q)){ea(e);T(g);a=c+16|0;break a}u=a,v=$h(q),j[u+24>>2]=v}l:{if(_(c+16|0,0,6,120951,6)){break l}if(Ve(c+16|0,s,r,j[a+16>>2])){break l}ea(e);T(g);a=c+16|0;break a}m:{if(_(c+16|0,0,2,120958,2)){break m}d=h[c+27|0];n:{if((d|0)<=-1){if(m[c+20>>2]<=2){break m}b=j[c+16>>2]+2|0;break n}b=p;if((d&255)>>>0<=2){break m}}b=h[b|0];if(!((b|0)==32|b-9>>>0<5)){break m}if(gr(a,c+16|0,e)){break m}ea(e);T(g);a=c+16|0;break a}o:{if(_(c+16|0,0,2,120961,2)){break o}d=h[c+27|0];p:{if((d|0)<=-1){if(m[c+20>>2]<=2){break o}b=j[c+16>>2]+2|0;break p}b=p;if((d&255)>>>0<=2){break o}}b=h[b|0];if(!((b|0)==32|b-9>>>0<5)){break o}if(fr(a,c+16|0,e)){break o}ea(e);T(g);a=c+16|0;break a}if(!_(c+16|0,0,15,120964,15)){j[a+12>>2]=1}q:{if(_(c+16|0,0,3,120980,3)){break q}if(er(a,c+16|0,e)){break q}ea(e);T(g);a=c+16|0;break a}r:{if(_(c+16|0,0,3,120984,3)){if(_(c+16|0,0,3,120988,3)){break r}}d=h[c+27|0];s:{if((d|0)<=-1){if(m[c+20>>2]<=3){break r}b=j[c+16>>2];break s}b=c+16|0;if((d&255)>>>0<=3){break r}}b=h[b+3|0];if(!((b|0)==32|b-9>>>0<5)){break r}if(j[a+100>>2]!=j[a+104>>2]){break b}}if(!ub(e,c+16|0)){break b}bb(c+16|0);continue}}t:{if(j[a+52>>2]){break t}h[c+9|0]=0;h[c+8|0]=k[121e3];h[c+11|0]=9;b=k[120996]|k[120997]<<8|(k[120998]<<16|k[120999]<<24);j[c>>2]=k[120992]|k[120993]<<8|(k[120994]<<16|k[120995]<<24);j[c+4>>2]=b;u=a,v=_c(c),j[u+52>>2]=v;if(h[c+11|0]>-1){break t}T(j[c>>2])}ea(e);T(g);a=c+16|0}if(h[a+11|0]<=-1){T(j[c+16>>2])}M=c+32|0}function Vb(a,b,c,d){var e=0,f=0,g=0,i=0,k=0,l=0,n=0,o=0,p=0,q=0;e=M-48|0;M=e;j[e+40>>2]=0;j[e+32>>2]=0;j[e+36>>2]=0;k=j[b+4>>2];i=j[b>>2];j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;p=(k-i|0)/12|0;a:{if(!j[a+76>>2]){break a}Ka(e+16|0,c);b:{if(j[a+56>>2]){ob(e+16|0);break b}Va(e+16|0)}c=e+16|0;if(h[e+27|0]>-1){break a}c=j[e+16>>2]}c:{d:{if(j[a+56>>2]){l=W(c);if(l>>>0>=4294967280){break c}e:{f:{if(l>>>0>=11){k=l+16&-16;i=U(k);j[e+8>>2]=k|-2147483648;j[e>>2]=i;j[e+4>>2]=l;k=e;break f}h[e+11|0]=l;k=e;i=e;if(!l){break e}}V(i,c,l)}h[i+l|0]=0;l=ia(e+32|0,e);if(h[k+11|0]<=-1){T(j[e>>2])}if((l|0)==-1){break d}}k=0;while(1){q=C()|0;i=(j[b+4>>2]-j[b>>2]|0)/12|0;f=i;n=0;o=j[a+48>>2];if(f>>>0>>0){g:{if(j[a+56>>2]){jq(a,b,j[e+32>>2],l,g);break g}iq(a,b,c,g)}o=j[a+48>>2];f=(j[b+4>>2]-j[b>>2]|0)/12|0;n=i>>>0>>0}k=g?i:k;h:{if(f>>>0>=o>>>0){break h}i:{if(!g){i=0;break i}i=1;if(j[a+72>>2]+k>>>0<=f>>>0){break h}}hq(a,b,c,i);n=(j[b+4>>2]-j[b>>2]|0)/12>>>0>f>>>0|n}i=q+1e5|0;if((C()|0)>(i|0)){break d}j:{k:{l:{m:{n:{f=(j[b+4>>2]-j[b>>2]|0)/12|0;o:{if(f>>>0>=m[a+48>>2]){break o}if(!g){break n}if(f>>>0>=j[a+72>>2]+k>>>0){break o}Mh(a,b,c,1)}if((C()|0)>(i|0)){break d}if(!g){break m}o=0;f=(j[b+4>>2]-j[b>>2]|0)/12|0;if(f>>>0>2]){break l}break j}Mh(a,b,c,0);if((C()|0)>(i|0)){break d}}f=(j[b+4>>2]-j[b>>2]|0)/12|0;o=p>>>0>>0;if(m[a+48>>2]<=f>>>0){break j}if(!g){break k}}if(j[a+72>>2]+k>>>0<=f>>>0){break j}}if(j[a+56>>2]){gq(a,b,j[e+32>>2],l,g);break j}fq(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;p:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break p}if(j[a+56>>2]){eq(a,b,j[e+32>>2],l,g);break p}dq(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;q:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break q}if(j[a+56>>2]){cq(a,b,j[e+32>>2],l,g);break q}bq(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;r:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break r}if(j[a+56>>2]){aq(a,b,j[e+32>>2],l,g);break r}$p(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;s:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break s}if(j[a+56>>2]){_p(a,b,j[e+32>>2],l,g);break s}Zp(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;t:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break t}if(j[a+56>>2]){Yp(a,b,j[e+32>>2],l,g);break t}Xp(a,b,c,g)}if((C()|0)>(i|0)){break d}f=(j[b+4>>2]-j[b>>2]|0)/12|0;u:{if(f>>>0>=m[a+48>>2]|(f>>>0>=j[a+72>>2]+k>>>0?g:0)){break u}if(j[a+56>>2]){Wp(a,b,j[e+32>>2],l,g);break u}Vp(a,b,c,g)}if((C()|0)>(i|0)){break d}v:{w:{x:{f=(j[b+4>>2]-j[b>>2]|0)/12|0;y:{if(f>>>0>=m[a+48>>2]){break y}if(f>>>0>=j[a+72>>2]+k>>>0?g:0){break x}if(j[a+56>>2]){Up(a,b,j[e+32>>2],l,g);break y}Sp(a,b,c,g)}if((C()|0)>(i|0)){break d}if(g){break w}n=Lh(a,b,c,0,n);break v}if((C()|0)>(i|0)){break d}}if(j[a+64>>2]|j[a+72>>2]+k>>>0<=(j[b+4>>2]-j[b>>2]|0)/12>>>0){break v}n=Lh(a,b,c,1,n)}if((C()|0)>(i|0)){break d}i=g|o;g=g+1|0;if(!((i|0)!=0|n)){continue}break}if(!d|o|j[b>>2]==j[b+4>>2]){break d}j[d>>2]=1}if(h[e+27|0]<=-1){T(j[e+16>>2])}a=j[e+32>>2];if(a){j[e+36>>2]=a;T(a)}M=e+48|0;return n}X();z()}function bp(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0;f=M-32|0;M=f;c=j[a+4>>2];e=j[a+8>>2];d=((c|0)==(e|0))+b|0;b=(d>>>0)/341|0;g=((p(b,341)|0)!=(d|0))+b|0;d=j[a+16>>2];b=(d>>>0)/341|0;h=b>>>0>g>>>0?g:b;a:{b=g-h|0;b:{if(!b){j[a+16>>2]=d+p(h,-341);if(!h){break b}while(1){k=j[c>>2];b=c+4|0;j[a+4>>2]=b;c:{if(j[a+12>>2]!=(e|0)){break c}i=j[a>>2];if(i>>>0>>0){c=((b-i>>2)+1|0)/-2<<2;g=c+b|0;d=e-b|0;if(d){Ja(g,b,d);b=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break c}c=e-i|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;l=U(c);g=c+l|0;c=e-b|0;d=l+(d&-4)|0;e=d;if(c){e=c+d|0;c=d;while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=l;if(!i){break c}T(i);e=j[a+8>>2]}j[e>>2]=k;e=j[a+8>>2]+4|0;j[a+8>>2]=e;h=h-1|0;if(!h){break b}c=j[a+4>>2];continue}}d:{e:{g=j[a+12>>2];d=g-j[a>>2]|0;k=e-c>>2;if((d>>2)-k>>>0>=b>>>0){if((e|0)!=(g|0)){while(1){n=f,o=U(4092),j[n+8>>2]=o;Ad(a,f+8|0);b=b-1|0;if(!b){break e}if(j[a+12>>2]!=j[a+8>>2]){continue}break}}c=b;while(1){n=f,o=U(4092),j[n+8>>2]=o;zd(a,f+8|0);e=j[a+16>>2]+((j[a+8>>2]-j[a+4>>2]|0)==4?340:341)|0;j[a+16>>2]=e;c=c-1|0;if(c){continue}break}h=b+h|0;break d}j[f+24>>2]=a+12;g=b+k|0;d=d>>1;g=d>>>0>>0?g:d;c=0;f:{if(!g){break f}if(g>>>0>=1073741824){break a}c=U(g<<2)}l=p(h,-341);j[f+8>>2]=c;d=c+(k-h<<2)|0;j[f+16>>2]=d;j[f+20>>2]=c+(g<<2);j[f+12>>2]=d;while(1){n=f,o=U(4092),j[n+4>>2]=o;Ad(f+8|0,f+4|0);b=b-1|0;if(b){continue}break}g:{if(!h){g=j[a+4>>2];break g}g=j[a+4>>2];e=j[f+16>>2];while(1){h:{if(j[f+20>>2]!=(e|0)){break h}b=j[f+12>>2];m=j[f+8>>2];if(b>>>0>m>>>0){c=((b-m>>2)+1|0)/-2<<2;k=c+b|0;d=e-b|0;if(d){Ja(k,b,d);b=j[f+12>>2]}e=d+k|0;j[f+16>>2]=e;j[f+12>>2]=b+c;break h}c=e-m|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;i=U(c);k=c+i|0;c=e-b|0;d=i+(d&-4)|0;e=d;if(c){e=c+d|0;c=d;while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}j[f+20>>2]=k;j[f+16>>2]=e;j[f+12>>2]=d;j[f+8>>2]=i;if(!m){break h}T(m);e=j[f+16>>2]}j[e>>2]=j[g>>2];e=j[f+16>>2]+4|0;j[f+16>>2]=e;g=j[a+4>>2]+4|0;j[a+4>>2]=g;h=h-1|0;if(h){continue}break}}b=j[a+8>>2];c=g;if((b|0)!=(c|0)){while(1){b=b-4|0;zd(f+8|0,b);if(j[a+4>>2]!=(b|0)){continue}break}g=j[a+8>>2];c=b}d=j[a>>2];j[a>>2]=j[f+8>>2];j[f+8>>2]=d;j[a+4>>2]=j[f+12>>2];j[f+12>>2]=c;j[a+8>>2]=j[f+16>>2];j[f+16>>2]=g;b=j[a+12>>2];j[a+12>>2]=j[f+20>>2];j[f+20>>2]=b;j[a+16>>2]=l+j[a+16>>2];if((c|0)!=(g|0)){j[f+16>>2]=(((g-c|0)-4>>>2^-1)<<2)+g}if(!d){break b}T(d);break b}e=j[a+16>>2]}j[a+16>>2]=p(h,-341)+e;if(!h){break b}e=j[a+8>>2];while(1){b=j[a+4>>2];k=j[b>>2];b=b+4|0;j[a+4>>2]=b;i:{if(j[a+12>>2]!=(e|0)){break i}i=j[a>>2];if(i>>>0>>0){c=((b-i>>2)+1|0)/-2<<2;g=c+b|0;d=e-b|0;if(d){Ja(g,b,d);b=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break i}c=e-i|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;l=U(c);g=c+l|0;c=e-b|0;d=l+(d&-4)|0;e=d;if(c){e=c+d|0;c=d;while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=l;if(!i){break i}T(i);e=j[a+8>>2]}j[e>>2]=k;e=j[a+8>>2]+4|0;j[a+8>>2]=e;h=h-1|0;if(h){continue}break}}M=f+32|0;return}D();z()}function pp(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0;c=M-80|0;M=c;a:{b:{d=W(b);if(d>>>0<4294967280){c:{d:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+40>>2]=f|-2147483648;j[c+32>>2]=e;j[c+36>>2]=d;f=c+32|0;break d}h[c+43|0]=d;f=c+32|0;e=f;if(!d){break c}}V(e,b,d)}h[d+e|0]=0;e=Hc(a,c+32|0);if(h[f+11|0]<=-1){T(j[c+32>>2])}e:{if((e|0)==(a+4|0)){break e}j[c+48>>2]=0;j[c+52>>2]=0;j[c+40>>2]=0;j[c+44>>2]=0;j[c+32>>2]=0;j[c+36>>2]=0;d=W(b);if(d>>>0>=4294967280){break b}f:{g:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+24>>2]=f|-2147483648;j[c+16>>2]=e;j[c+20>>2]=d;f=c+16|0;break g}h[c+27|0]=d;f=c+16|0;e=f;if(!d){break f}}V(e,b,d)}h[d+e|0]=0;j[c+64>>2]=c+16;fp(c+72|0,a,c+16|0,c- -64|0);Me(j[j[c+72>>2]+28>>2]);if(h[f+11|0]<=-1){T(j[c+16>>2])}d=W(b);if(d>>>0>=4294967280){break a}h:{i:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+24>>2]=f|-2147483648;j[c+16>>2]=e;j[c+20>>2]=d;f=c+16|0;break i}h[c+27|0]=d;f=c+16|0;e=f;if(!d){break h}}V(e,b,d)}h[d+e|0]=0;Bh(a,c+16|0);if(h[f+11|0]<=-1){T(j[c+16>>2])}if(j[a+32>>2]){d=j[a+28>>2];while(1){g=W(b);e=(d>>>0)/341|0;f=j[j[a+16>>2]+(e<<2)>>2];e=d-p(e,341)|0;d=f+p(e,12)|0;i=k[d+11|0];j:{if((g|0)==((i<<24>>24<0?j[d+4>>2]:i)|0)){if(!_(d,0,-1,b,g)){break j}e=j[a+28>>2];f=(e>>>0)/341|0;e=e-p(f,341)|0;f=j[j[a+16>>2]+(f<<2)>>2]}i=p(e,12);e=j[c+52>>2]+j[c+48>>2]|0;g=j[c+40>>2];d=j[c+36>>2];l=g-d|0;if((e|0)==((l?p(l>>2,341)-1|0:0)|0)){Ah(c+32|0);g=j[c+40>>2];d=j[c+36>>2];e=j[c+48>>2]+j[c+52>>2]|0}f=f+i|0;if((d|0)==(g|0)){e=0}else{g=d;d=(e>>>0)/341|0;e=j[g+(d<<2)>>2]+p(e-p(d,341)|0,12)|0}ha(e,f);j[c+52>>2]=j[c+52>>2]+1}f=a;e=j[a+28>>2];d=(e>>>0)/341|0;d=j[j[a+16>>2]+(d<<2)>>2]+p(e-p(d,341)|0,12)|0;if(h[d+11|0]<=-1){T(j[d>>2]);e=j[a+28>>2]}d=e+1|0;j[f+28>>2]=d;e=j[a+32>>2]-1|0;j[a+32>>2]=e;if(d>>>0>=682){T(j[j[a+16>>2]>>2]);j[a+16>>2]=j[a+16>>2]+4;d=j[a+28>>2]-341|0;j[a+28>>2]=d;e=j[a+32>>2]}if(e){continue}break}}g=a+12|0;if((g|0)!=(c+32|0)){e=j[c+36>>2];b=j[c+48>>2];d=(b>>>0)/341|0;f=e+(d<<2)|0;i=(e|0)==j[c+40>>2];j[c+20>>2]=i?0:j[f>>2]+p(b-p(d,341)|0,12)|0;j[c+16>>2]=f;f=b+j[c+52>>2]|0;d=(f>>>0)/341|0;b=e+(d<<2)|0;j[c+76>>2]=i?0:j[b>>2]+p(f-p(d,341)|0,12)|0;j[c+72>>2]=b;a=j[c+20>>2];j[c+8>>2]=j[c+16>>2];j[c+12>>2]=a;a=j[c+76>>2];j[c>>2]=j[c+72>>2];j[c+4>>2]=a;ep(g,c+8|0,c)}b=j[c+48>>2];d=(b>>>0)/341|0;a=j[c+36>>2];e=j[c+40>>2];k:{if((a|0)==(e|0)){e=a;break k}g=(d<<2)+a|0;f=j[g>>2];d=f+p(b-p(d,341)|0,12)|0;b=b+j[c+52>>2]|0;i=(b>>>0)/341|0;b=j[(i<<2)+a>>2]+p(b-p(i,341)|0,12)|0;if((d|0)==(b|0)){break k}while(1){if(h[d+11|0]<=-1){T(j[d>>2]);f=j[g>>2]}d=d+12|0;if((d-f|0)==4092){f=j[g+4>>2];g=g+4|0;d=f}if((b|0)!=(d|0)){continue}break}a=j[c+36>>2];e=j[c+40>>2]}j[c+52>>2]=0;d=e-a>>2;if(d>>>0>2){while(1){T(j[a>>2]);a=j[c+36>>2]+4|0;j[c+36>>2]=a;e=j[c+40>>2];d=e-a>>2;if(d>>>0>2){continue}break}}f=170;l:{switch(d-1|0){case 1:f=341;case 0:j[c+48>>2]=f;break;default:break l}}m:{if((a|0)==(e|0)){break m}while(1){T(j[a>>2]);a=a+4|0;if((e|0)!=(a|0)){continue}break}a=j[c+40>>2];b=j[c+36>>2];if((a|0)==(b|0)){break m}j[c+40>>2]=a+(((a-b|0)-4>>>2^-1)<<2)}a=j[c+32>>2];if(!a){break e}T(a)}M=c+80|0;return}X();z()}X();z()}X();z()}function Jd(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:{s=k[a+28|0];b:{if(!s){break b}i=a+52|0;l=a+48|0;e=b-1|0;b=a+32|0;d=k[a+29|0];q=d&2;m=d&16;o=1;while(1){c:{d:{e:{f:{g:{h:{i:{j:{f=h[b|0];switch(f-91|0){case 0:break i;case 1:break d;case 2:break g;case 3:break h;default:break j}}if((f|0)==46){break f}if(!f){break b}break d}b=b+1|0;k:{if(m){if((b|0)!=(l|0)){break k}b=j[a+48>>2];g=e;break c}if((b|0)==(i|0)){break b}}g=e;if(k[b|0]){break c}break b}b=b+1|0;l:{if(m){if((b|0)!=(l|0)){break l}b=j[a+48>>2];p=1;break c}if((b|0)==(i|0)){break b}}p=1;if(k[b|0]){break c}break b}if(!(p|r)){break a}if(!r){m:{if(!q|c>>>0>e>>>0){break m}while(1){if((k[e|0]&192)!=128){break m}e=e-1|0;if(e>>>0>=c>>>0){continue}break}}e=e-1|0}b=b+1|0;n:{o:{if(m){if((b|0)!=(l|0)){break o}b=j[a+48>>2];break n}if((b|0)==(i|0)){break b}}b=k[b|0]?b:0}o=o+1|0;g=0;if(!b|c>>>0<=e>>>0){break e}break a}if(g){break d}b=b+1|0;p:{q:{if(m){if((b|0)!=(l|0)){break q}b=j[a+48>>2];break p}if((b|0)!=(i|0)){break q}b=0;break p}b=k[b|0]?b:0}r:{if(q){while(1){d=e;e=d-1|0;if(e>>>0>>0){break r}if((k[e|0]&192)==128){continue}break}g=0;if(!q|h[e|0]>-1){break c}e=d-2|0;if(e>>>0>=c>>>0){break c}return!b}g=0;e=e-1|0;if(e>>>0>=c>>>0){break c}}return!b}p=0;r=0;break c}s:{t:{u:{if(k[e|0]==(f&255)){b=b+1|0;v:{w:{if(m){if((b|0)!=(l|0)){break w}d=j[a+48>>2];break v}if((b|0)!=(i|0)){break w}d=0;break v}d=k[b|0]?b:0}if(!(!q|(f|0)>-1)){f=e-1|0;x:{if(!d|f>>>0>>0){break x}if(!m){while(1){n=k[d|0];b=f;if((n|0)!=k[b|0]){break u}if((n&192)!=128){break x}d=d+1|0;if((d|0)==(i|0)){f=b-1|0;d=0;e=b;break x}f=b-1|0;d=k[d|0]?d:0;if(!d){e=b;break x}e=b;if(c>>>0<=f>>>0){continue}break x}}while(1){n=k[d|0];b=f;if((n|0)!=k[b|0]){break u}if((n&192)!=128){break x}f=b-1|0;d=d+1|0;e=j[a+48>>2];y:{if((d|0)==(l|0)){break y}e=k[d|0]?d:0}d=e;if(!d){e=b;break x}e=b;if(c>>>0<=f>>>0){continue}break}}z:{if(!g){b=d;break z}if((f|0)==(g|0)){b=d;break z}if(p){break a}if((o|0)==(s|0)){break b}A:{if(!m){while(1){b=0;if(!d){break A}if(k[d|0]==93){b=d;break A}d=d+1|0;if((i|0)==(d|0)){break A}if(k[d|0]){continue}break A}}while(1){b=0;if(!d){break A}if(k[d|0]==93){b=d;break A}d=d+1|0;B:{if((l|0)==(d|0)){d=j[a+48>>2];break B}if(!k[d|0]){break A}}if(d){continue}break}}f=e-2|0;r=1}if(!b){b=0;break s}n=k[b|0];break t}if(!g){f=e;b=d;break s}if(p){break a}if((o|0)==(s|0)){break b}C:{if(!m){while(1){b=0;if(!d){break C}if(k[d|0]==93){b=d;break C}d=d+1|0;if((i|0)==(d|0)){break C}if(k[d|0]){continue}break C}}while(1){b=0;if(!d){break C}if(k[d|0]==93){b=d;break C}d=d+1|0;D:{if((l|0)==(d|0)){d=j[a+48>>2];break D}if(!k[d|0]){break C}}if(d){continue}break}}f=e-1|0;r=1;break s}if(!g){break a}b=b+1|0;E:{if(m){if((b|0)!=(l|0)){break E}b=j[a+48>>2];break c}if((b|0)==(i|0)){break b}}if(!k[b|0]){break b}break c}b=d;f=g;if(f){break t}break a}if((n|0)==93){break s}b=b+1|0;F:{if(m){if((b|0)!=(l|0)){break F}b=j[a+48>>2];break s}if((b|0)!=(i|0)){break F}b=0;break s}b=k[b|0]?b:0}o=!g+o|0;e=g?f:f-1|0;if(!b|e>>>0>=c>>>0|k[b|0]==93){break c}break a}if(b){continue}break}}return 1}return 0}function T(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0;a:{if(!a){break a}d=a-8|0;b=j[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=j[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=j[d+8>>2];b=b>>>3|0;c=j[d+12>>2];if((c|0)==(e|0)){i=150992,k=j[37748]&Er(-2,b),j[i>>2]=k;break b}j[e+12>>2]=c;j[c+8>>2]=e;break b}h=j[d+24>>2];b=j[d+12>>2];c:{if((d|0)!=(b|0)){c=j[d+8>>2];j[c+12>>2]=b;j[b+8>>2]=c;break c}d:{e=d+20|0;c=j[e>>2];if(c){break d}e=d+16|0;c=j[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=j[e>>2];if(c){continue}e=b+16|0;c=j[b+16>>2];if(c){continue}break}j[g>>2]=0}if(!h){break b}e=j[d+28>>2];c=(e<<2)+151296|0;e:{if(j[c>>2]==(d|0)){j[c>>2]=b;if(b){break e}i=150996,k=j[37749]&Er(-2,e),j[i>>2]=k;break b}j[h+(j[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}j[b+24>>2]=h;c=j[d+16>>2];if(c){j[b+16>>2]=c;j[c+24>>2]=b}c=j[d+20>>2];if(!c){break b}j[b+20>>2]=c;j[c+24>>2]=b;break b}b=j[f+4>>2];if((b&3)!=3){break b}j[37750]=a;j[f+4>>2]=b&-2;j[d+4>>2]=a|1;j[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=j[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(j[37754]==(f|0)){j[37754]=d;a=j[37751]+a|0;j[37751]=a;j[d+4>>2]=a|1;if(j[37753]!=(d|0)){break a}j[37750]=0;j[37753]=0;return}if(j[37753]==(f|0)){j[37753]=d;a=j[37750]+a|0;j[37750]=a;j[d+4>>2]=a|1;j[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){c=j[f+8>>2];b=b>>>3|0;e=j[f+12>>2];if((c|0)==(e|0)){i=150992,k=j[37748]&Er(-2,b),j[i>>2]=k;break g}j[c+12>>2]=e;j[e+8>>2]=c;break g}h=j[f+24>>2];b=j[f+12>>2];h:{if((f|0)!=(b|0)){c=j[f+8>>2];j[c+12>>2]=b;j[b+8>>2]=c;break h}i:{e=f+20|0;c=j[e>>2];if(c){break i}e=f+16|0;c=j[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=j[e>>2];if(c){continue}e=b+16|0;c=j[b+16>>2];if(c){continue}break}j[g>>2]=0}if(!h){break g}e=j[f+28>>2];c=(e<<2)+151296|0;j:{if(j[c>>2]==(f|0)){j[c>>2]=b;if(b){break j}i=150996,k=j[37749]&Er(-2,e),j[i>>2]=k;break g}j[h+(j[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}j[b+24>>2]=h;c=j[f+16>>2];if(c){j[b+16>>2]=c;j[c+24>>2]=b}c=j[f+20>>2];if(!c){break g}j[b+20>>2]=c;j[c+24>>2]=b}j[d+4>>2]=a|1;j[a+d>>2]=a;if(j[37753]!=(d|0)){break f}j[37750]=a;return}j[f+4>>2]=b&-2;j[d+4>>2]=a|1;j[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;b=(a<<3)+151032|0;c=j[37748];a=1<>2]}j[b+8>>2]=d;j[a+12>>2]=d;j[d+12>>2]=b;j[d+8>>2]=a;return}e=31;j[d+16>>2]=0;j[d+20>>2]=0;if(a>>>0<=16777215){b=a>>>8|0;g=b+1048320>>>16&8;b=b<>>16&4;b=b<>>16&2;b=(b<>>15|0)-(c|(e|g))|0;e=(b<<1|a>>>b+21&1)+28|0}j[d+28>>2]=e;g=(e<<2)+151296|0;l:{m:{c=j[37749];b=1<>2]=d;j[d+24>>2]=g;break n}e=a<<((e|0)==31?0:25-(e>>>1|0)|0);b=j[g>>2];while(1){c=b;if((j[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=j[g+16>>2];if(b){continue}break}j[g+16>>2]=d;j[d+24>>2]=c}j[d+12>>2]=d;j[d+8>>2]=d;break l}a=j[c+8>>2];j[a+12>>2]=d;j[c+8>>2]=d;j[d+24>>2]=0;j[d+12>>2]=c;j[d+8>>2]=a}a=j[37756]-1|0;j[37756]=a?a:-1}}function _e(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0;f=a+b|0;a:{b:{c=j[a+4>>2];if(c&1){break b}if(!(c&3)){break a}c=j[a>>2];b=c+b|0;a=a-c|0;if((a|0)!=j[37753]){if(c>>>0<=255){e=j[a+8>>2];c=c>>>3|0;d=j[a+12>>2];if((d|0)==(e|0)){i=150992,k=j[37748]&Er(-2,c),j[i>>2]=k;break b}j[e+12>>2]=d;j[d+8>>2]=e;break b}h=j[a+24>>2];c=j[a+12>>2];c:{if((c|0)!=(a|0)){d=j[a+8>>2];j[d+12>>2]=c;j[c+8>>2]=d;break c}d:{e=a+20|0;d=j[e>>2];if(d){break d}e=a+16|0;d=j[e>>2];if(d){break d}c=0;break c}while(1){g=e;c=d;e=c+20|0;d=j[e>>2];if(d){continue}e=c+16|0;d=j[c+16>>2];if(d){continue}break}j[g>>2]=0}if(!h){break b}e=j[a+28>>2];d=(e<<2)+151296|0;e:{if(j[d>>2]==(a|0)){j[d>>2]=c;if(c){break e}i=150996,k=j[37749]&Er(-2,e),j[i>>2]=k;break b}j[h+(j[h+16>>2]==(a|0)?16:20)>>2]=c;if(!c){break b}}j[c+24>>2]=h;d=j[a+16>>2];if(d){j[c+16>>2]=d;j[d+24>>2]=c}d=j[a+20>>2];if(!d){break b}j[c+20>>2]=d;j[d+24>>2]=c;break b}c=j[f+4>>2];if((c&3)!=3){break b}j[37750]=b;j[f+4>>2]=c&-2;j[a+4>>2]=b|1;j[f>>2]=b;return}c=j[f+4>>2];f:{if(!(c&2)){if(j[37754]==(f|0)){j[37754]=a;b=j[37751]+b|0;j[37751]=b;j[a+4>>2]=b|1;if(j[37753]!=(a|0)){break a}j[37750]=0;j[37753]=0;return}if(j[37753]==(f|0)){j[37753]=a;b=j[37750]+b|0;j[37750]=b;j[a+4>>2]=b|1;j[a+b>>2]=b;return}b=(c&-8)+b|0;g:{if(c>>>0<=255){e=j[f+8>>2];c=c>>>3|0;d=j[f+12>>2];if((d|0)==(e|0)){i=150992,k=j[37748]&Er(-2,c),j[i>>2]=k;break g}j[e+12>>2]=d;j[d+8>>2]=e;break g}h=j[f+24>>2];c=j[f+12>>2];h:{if((f|0)!=(c|0)){d=j[f+8>>2];j[d+12>>2]=c;j[c+8>>2]=d;break h}i:{d=f+20|0;e=j[d>>2];if(e){break i}d=f+16|0;e=j[d>>2];if(e){break i}c=0;break h}while(1){g=d;c=e;d=c+20|0;e=j[d>>2];if(e){continue}d=c+16|0;e=j[c+16>>2];if(e){continue}break}j[g>>2]=0}if(!h){break g}e=j[f+28>>2];d=(e<<2)+151296|0;j:{if(j[d>>2]==(f|0)){j[d>>2]=c;if(c){break j}i=150996,k=j[37749]&Er(-2,e),j[i>>2]=k;break g}j[h+(j[h+16>>2]==(f|0)?16:20)>>2]=c;if(!c){break g}}j[c+24>>2]=h;d=j[f+16>>2];if(d){j[c+16>>2]=d;j[d+24>>2]=c}d=j[f+20>>2];if(!d){break g}j[c+20>>2]=d;j[d+24>>2]=c}j[a+4>>2]=b|1;j[a+b>>2]=b;if(j[37753]!=(a|0)){break f}j[37750]=b;return}j[f+4>>2]=c&-2;j[a+4>>2]=b|1;j[a+b>>2]=b}if(b>>>0<=255){b=b>>>3|0;c=(b<<3)+151032|0;d=j[37748];b=1<>2]}j[c+8>>2]=a;j[b+12>>2]=a;j[a+12>>2]=c;j[a+8>>2]=b;return}e=31;j[a+16>>2]=0;j[a+20>>2]=0;if(b>>>0<=16777215){c=b>>>8|0;g=c+1048320>>>16&8;c=c<>>16&4;c=c<>>16&2;c=(c<>>15|0)-(d|(e|g))|0;e=(c<<1|b>>>c+21&1)+28|0}j[a+28>>2]=e;g=(e<<2)+151296|0;l:{d=j[37749];c=1<>2]=a;j[a+24>>2]=g;break m}e=b<<((e|0)==31?0:25-(e>>>1|0)|0);c=j[g>>2];while(1){d=c;if((j[c+4>>2]&-8)==(b|0)){break l}c=e>>>29|0;e=e<<1;g=d+(c&4)|0;c=j[g+16>>2];if(c){continue}break}j[g+16>>2]=a;j[a+24>>2]=d}j[a+12>>2]=a;j[a+8>>2]=a;return}b=j[d+8>>2];j[b+12>>2]=a;j[d+8>>2]=a;j[a+24>>2]=0;j[a+12>>2]=d;j[a+8>>2]=b}}function lp(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;d=M-48|0;M=d;a:{if(k[a+4212|0]){break a}h[a+4212|0]=1;j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;b:{c:{f=ka(b,d+40|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){break c}l=a+4216|0;i=-1;while(1){d:{switch(n|0){case 1:i=j[d+40>>2];g=i-f|0;if(g>>>0>=4294967280){break b}e:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break e}o=g+16&-16;e=U(o);j[d+32>>2]=o|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(i|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((i|0)!=(f|0)){continue}break}}h[e|0]=0;f:{if(h[d+35|0]>=0){i=ta(d+24|0);break f}e=j[d+24>>2];i=ta(e);T(e)}if((i|0)<=0){f=0;break a}io(l,i);case 0:p=p+1|0;break;default:break d}}n=n+1|0;f=ka(b,d+40|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)!=((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){continue}break}if((p|0)!=2){break c}f=1;if((i|0)<1){break a}r=a+4216|0;n=0;while(1){g:{j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;h:{if(ub(c,d+24|0)){bb(d+24|0);j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;b=j[a+4220>>2];i:{if(b>>>0>2]){j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;j[b>>2]=j[d+8>>2];j[b+4>>2]=j[d+12>>2];j[b+8>>2]=j[d+16>>2];j[a+4220>>2]=b+12;break i}bo(r,d+8|0);b=j[d+8>>2];if(!b){break i}e=j[d+12>>2];f=b;j:{if((b|0)==(e|0)){break j}while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((e|0)!=(b|0)){continue}break}f=j[d+8>>2]}j[d+12>>2]=b;T(f)}p=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;f=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];e=g<<24>>24<0;if((f|0)!=((e?b:d+24|0)+(e?j[d+28>>2]:g)|0)){while(1){k:{l:{switch(p|0){case 0:if(!_(d+24|0,f-(e&1?b:d+24|0)|0,3,1568,3)){break k}i=0;f=0;break h;case 1:break l;default:break k}}g=j[d+40>>2];if((f|0)==(g|0)){break k}while(1){e=f+1|0;m:{n:{b=f;l=k[b|0];if((l|0)==40){while(1){b=b+1|0;if((g|0)==(b|0)){break n}if(k[b|0]!=41){continue}break}f=e;g=b;break m}if(!j[a+4144>>2]|l>>>0<192){break n}o:{if((e|0)==(g|0)){break o}while(1){if((k[e|0]&192)!=128){g=e;break o}e=e+1|0;if((g|0)!=(e|0)){continue}break}}b=g-1|0;break m}b=f;g=e}l=g-f|0;if(l>>>0>=4294967280){break g}o=j[a+4220>>2];p:{if(l>>>0<=10){h[d+19|0]=l;e=d+8|0;break p}q=l+16&-16;e=U(q);j[d+16>>2]=q|-2147483648;j[d+8>>2]=e;j[d+12>>2]=l}if((f|0)!=(g|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((f|0)!=(g|0)){continue}break}}h[e|0]=0;f=o-8|0;e=j[f>>2];q:{if(e>>>0>2]){g=j[d+12>>2];j[e>>2]=j[d+8>>2];j[e+4>>2]=g;j[e+8>>2]=j[d+16>>2];j[d+16>>2]=0;j[d+8>>2]=0;j[d+12>>2]=0;j[f>>2]=e+12;break q}Db(o-12|0,d+8|0)}if(h[d+19|0]<=-1){T(j[d+8>>2])}g=j[d+40>>2];f=b+1|0;if((g|0)!=(f|0)){continue}break}}p=p+1|0;f=ka(d+24|0,d+40|0);b=j[d+24>>2];g=k[d+35|0];e=g<<24>>24<0;if((f|0)!=((e?b:d+24|0)+(e?j[d+28>>2]:g)|0)){continue}break}}b=j[a+4220>>2]-12|0;f=1;if(j[b>>2]!=j[b+4>>2]){break h}}f=0}if(h[d+35|0]<=-1){T(j[d+24>>2])}n=n+1|0;if((n|0)<(i|0)&f){continue}break a}break}X();z()}f=0;break a}X();z()}M=d+48|0;return f}function Pp(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,q=0,r=0,s=0;e=M+ -64|0;M=e;j[d>>2]=0;a:{b:{c:{d:{e:{f:{g:{if(j[a+56>>2]){j[e+56>>2]=0;j[e+48>>2]=0;j[e+52>>2]=0;j[e+40>>2]=0;j[e+32>>2]=0;j[e+36>>2]=0;g=W(b);if(g>>>0>=4294967280){break g}h:{i:{if(g>>>0>=11){f=g+16&-16;m=U(f);j[e+24>>2]=f|-2147483648;j[e+16>>2]=m;j[e+20>>2]=g;f=e+16|0;break i}h[e+27|0]=g;f=e+16|0;m=f;if(!g){break h}}V(m,b,g)}h[g+m|0]=0;n=ia(e+48|0,e+16|0);if(h[f+11|0]<=-1){T(j[e+16>>2])}g=W(c);if(g>>>0>=4294967280){break f}j:{k:{if(g>>>0>=11){f=g+16&-16;b=U(f);j[e+24>>2]=f|-2147483648;j[e+16>>2]=b;j[e+20>>2]=g;f=e+16|0;break k}h[e+27|0]=g;f=e+16|0;b=f;if(!g){break j}}V(b,c,g)}m=0;h[b+g|0]=0;b=ia(e+32|0,e+16|0);if(h[f+11|0]<=-1){T(j[e+16>>2])}g=(n|0)<1|(b|0)<1;if(g){break c}l:{if(j[a+76>>2]){c=(b<<1)-2|0;f=c+j[e+32>>2]|0;f=k[f|0]|k[f+1|0]<<8;i[e+14>>1]=f;a=j[a+60>>2];i[e+10>>1]=f;ai(e+16|0,e+10|0,a);a=c+j[e+32>>2]|0;c=l[e+16>>1];h[a|0]=c;h[a+1|0]=c>>>8;break l}c=j[e+32>>2];c=k[c|0]|k[c+1|0]<<8;i[e+12>>1]=c;a=j[a+60>>2];i[e+8>>1]=c;ai(e+16|0,e+8|0,a);a=j[e+32>>2];c=l[e+16>>1];h[a|0]=c;h[a+1|0]=c>>>8}a=b-1>>>0>>0?b:n;f=0;o=j[e+32>>2];s=j[e+48>>2];c=0;while(1){q=f<<1;r=q+s|0;r=k[r|0]|k[r+1|0]<<8;q=o+q|0;q=k[q|0]|k[q+1|0]<<8;m:{if(!((r&255)!=(q&255)|(r>>>8|0)!=(q>>>8|0))){m=m+1|0;break m}if((c|0)<=1){j[(e+16|0)+(c<<2)>>2]=f}c=c+1|0}f=f+1|0;if((a|0)!=(f|0)){continue}break}break d}f=W(c);if(f>>>0>=4294967280){break e}n:{o:{if(f>>>0>=11){g=f+16&-16;m=U(g);j[e+56>>2]=g|-2147483648;j[e+48>>2]=m;j[e+52>>2]=f;break o}h[e+59|0]=f;m=e+48|0;if(!f){break n}}V(m,c,f)}h[f+m|0]=0;p:{if(j[a+76>>2]){c=h[e+59|0];q:{if((c|0)<=-1){c=j[e+52>>2]-1|0;f=j[e+48>>2];m=c+f|0;break q}f=e+48|0;c=(c&255)-1|0;m=c+(e+48|0)|0}h[c+f|0]=k[(j[a+52>>2]+p(k[m|0],3)|0)+1|0];a=e+48|0;break p}Pa(e+48|0,j[a+52>>2]);a=e+48|0}m=0;a=k[a+11|0];g=a<<24>>24;a=(g|0)<0?j[e+52>>2]:a;r:{s:{if(!a){break s}f=0;n=(g|0)<0?j[e+48>>2]:e+48|0;c=0;t:{while(1){o=k[b+f|0];if(!o){break t}u:{if((o|0)==k[f+n|0]){m=m+1|0;break u}if((c|0)<=1){j[(e+16|0)+(c<<2)>>2]=f}c=c+1|0}f=f+1|0;if((a|0)!=(f|0)){continue}break}f=a}if(k[b+f|0]|(c|0)!=2|(a|0)!=(f|0)){break s}n=j[e+16>>2];c=k[n+b|0];a=j[e+20>>2];v:{if((g|0)<=-1){f=j[e+48>>2];if((c|0)==k[a+f|0]){break v}break r}f=e+48|0;if((c|0)!=k[a+(e+48|0)|0]){break b}}if(k[a+b|0]!=k[f+n|0]){break s}j[d>>2]=1}if((g|0)>-1){break b}}T(j[e+48>>2]);break b}X();z()}X();z()}X();z()}if((b|0)!=(n|0)|(c|0)!=2){break c}b=j[e+48>>2];a=j[e+16>>2];c=b+(a<<1)|0;c=k[c|0]|k[c+1|0]<<8;n=j[e+32>>2];f=j[e+20>>2];o=n+(f<<1)|0;o=k[o|0]|k[o+1|0]<<8;if((c&255)!=(o&255)|(c>>>8|0)!=(o>>>8|0)){break c}b=b+(f<<1)|0;b=k[b|0]|k[b+1|0]<<8;a=n+(a<<1)|0;a=k[a|0]|k[a+1|0]<<8;if((b&255)!=(a&255)|(b>>>8|0)!=(a>>>8|0)){break c}j[d>>2]=1}a=j[e+32>>2];if(a){j[e+36>>2]=a;T(a)}a=j[e+48>>2];if(a){j[e+52>>2]=a;T(a)}a=0;if(g){break a}}a=m}M=e- -64|0;return a}function hr(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,m=0,n=0;c=M-80|0;M=c;i=U(65788);g=Ie(i,b);j[c+72>>2]=0;j[c+64>>2]=0;j[c+68>>2]=0;a:{b:{if(!ub(g,c- -64|0)){ea(g);T(i);m=2;a=c- -64|0;break b}bb(c- -64|0);if(!_(c- -64|0,0,3,120902,3)){xb(c- -64|0,0,3)}b=ta(h[c+75|0]<0?j[c+64>>2]:c- -64|0);j[a>>2]=b;if(b-1>>>0>=536870659){ea(g);T(i);m=4;a=c- -64|0;break b}d=b+1005|0;b=d&1?d:b+1006|0;j[a>>2]=b;b=Pd(b,4);j[a+4>>2]=b;if(!b){ea(g);T(i);m=3;a=c- -64|0;break b}j[c+56>>2]=0;j[c+48>>2]=0;j[c+52>>2]=0;c:{while(1){if(ub(g,c- -64|0)){bb(c- -64|0);b=Ba(c- -64|0,58,0);d:{if((b|0)==-1){d=-1;break d}while(1){e:{if(b>>>0<4){break e}d=b-3|0;f:{g:{f=h[c+75|0];h:{i:{if((f|0)<=-1){e=k[j[c+64>>2]+d|0];if((e|0)!=32){break i}break h}e=k[(c- -64|0)+d|0];if((e|0)==32){break g}}if((e|0)!=9){break e}if((f|0)>=0){break g}}e=j[c+64>>2];while(1){b=d-1|0;f=k[b+e|0];if((f|0)!=9?(f|0)!=32:0){break f}d=b;if(b){continue}break}d=-1;break d}while(1){b=d-1|0;e=k[b+(c- -64|0)|0];if((e|0)!=9?(e|0)!=32:0){break f}d=b;if(b){continue}break}d=-1;break d}d=d+1|0;break d}d=-1;b=Ba(c- -64|0,58,b+1|0);if((b|0)!=-1){continue}break}}b=Ba(c- -64|0,9,0);if((b|0)!=-1){e=b+1|0;d=(d|0)==-1?e:b>>>0>>0?e:d}j[c+40>>2]=0;j[c+32>>2]=0;j[c+36>>2]=0;if((d|0)!=-1){sa(c+16|0,c- -64|0,d,-1);if(h[c+43|0]<=-1){T(j[c+32>>2])}j[c+40>>2]=j[c+24>>2];b=j[c+20>>2];j[c+32>>2]=j[c+16>>2];j[c+36>>2]=b;Wa(c- -64|0,d-1|0)}b=0;j:{k:{l:{while(1){d=Ba(c- -64|0,47,b);while(1){b=d;d=1;if(!b){continue}break}if((b|0)==-1){break l}f=b-1|0;d=k[c+75|0];e=d<<24>>24<0;if(k[f+(e?j[c+64>>2]:c- -64|0)|0]==92){xb(c- -64|0,f,1);continue}break}if(((e?j[c+68>>2]:d)|0)==(b|0)){break l}sa(c+16|0,c- -64|0,b+1|0,-1);Wa(c- -64|0,b);d=j[a+84>>2];m:{if(d){b=ta(h[c+27|0]<0?j[c+16>>2]:c+16|0);n:{if(!((b|0)<=j[a+80>>2]?(b|0)>=1:0)){j[c+12>>2]=0;break n}b=b-1|0;j[c+12>>2]=j[d+(b<<2)>>2];b=l[j[a+88>>2]+(b<<1)>>1];e=1;if(b){break m}}b=0;e=1;break m}e=h[c+27|0]<0?j[c+16>>2]:c+16|0;b=W(e);if(b>>>0>=4294967280){break a}o:{p:{if(b>>>0>=11){f=b+16&-16;d=U(f);j[c+8>>2]=f|-2147483648;j[c>>2]=d;j[c+4>>2]=b;break p}h[c+11|0]=b;d=c;if(!b){break o}}V(d,e,b)}h[b+d|0]=0;b=Te(a,c+12|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}if((b|0)==-1){ea(g);T(i);m=6;b=-1;e=0;break m}d=j[c+12>>2];Qc(d,d+(b<<1)|0,c);e=1}if(h[c+27|0]<=-1){T(j[c+16>>2])}d=0;if(e){break k}break j}b=0;j[c+12>>2]=0}q:{if(j[a+16>>2]){d=ia(c+48|0,c- -64|0);e=Mc(c+48|0,j[a+24>>2]);break q}d=k[c+75|0];d=d<<24>>24<0?j[c+68>>2]:d;e=Nc(c- -64|0,j[a+52>>2])}r:{f=j[c+12>>2];n=k[c+43|0];n=(n<<24>>24<0?j[c+36>>2]:n)?c+32|0:0;if(Lc(a,c- -64|0,d,f,b,n,0,e)){break r}if(Se(a,c- -64|0,d,f,b,n,e)){break r}d=1;break j}ea(g);T(i);m=5;d=0}if(h[c+43|0]<=-1){T(j[c+32>>2])}if(d){continue}break c}break}ea(g);T(i);m=0}a=j[c+48>>2];if(a){j[c+52>>2]=a;T(a)}a=c- -64|0}if(h[a+11|0]<=-1){T(j[c+64>>2])}M=c+80|0;return m}X();z()}function Wl(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,l=0,m=0,n=0,o=0;h=M+ -64|0;M=h;j[h+56>>2]=b;j[e>>2]=0;i=j[d+28>>2];j[h>>2]=i;j[i+4>>2]=j[i+4>>2]+1;i=rb(h);l=j[h>>2];m=j[l+4>>2]-1|0;j[l+4>>2]=m;if((m|0)==-1){O[j[j[l>>2]+8>>2]](l)}a:{b:{c:{d:{switch(g-65|0){case 0:case 32:mg(a,f+24|0,h+56|0,c,e,i);break b;case 1:case 33:case 39:lg(a,f+16|0,h+56|0,c,e,i);break b;case 34:b=O[j[j[a+8>>2]+12>>2]](a+8|0)|0;g=h;i=a;m=j[h+56>>2];a=b;e:{if(k[a+11|0]>>>7|0){b=j[a>>2];break e}b=a}l=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}n=g,o=Yb(i,m,c,d,e,f,l,b+(a<<2)|0),j[n+56>>2]=o;break b;case 35:case 36:Vl(f+12|0,h+56|0,c,e,i);break b;case 3:g=j[31927];j[h+24>>2]=j[31926];j[h+28>>2]=g;g=j[31925];j[h+16>>2]=j[31924];j[h+20>>2]=g;g=j[31923];j[h+8>>2]=j[31922];j[h+12>>2]=g;g=j[31921];j[h>>2]=j[31920];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+32|0),j[n+56>>2]=o;break b;case 5:g=j[31935];j[h+24>>2]=j[31934];j[h+28>>2]=g;g=j[31933];j[h+16>>2]=j[31932];j[h+20>>2]=g;g=j[31931];j[h+8>>2]=j[31930];j[h+12>>2]=g;g=j[31929];j[h>>2]=j[31928];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+32|0),j[n+56>>2]=o;break b;case 7:Ul(f+8|0,h+56|0,c,e,i);break b;case 8:Tl(f+8|0,h+56|0,c,e,i);break b;case 41:Sl(f+28|0,h+56|0,c,e,i);break b;case 44:Rl(f+16|0,h+56|0,c,e,i);break b;case 12:Ql(f+4|0,h+56|0,c,e,i);break b;case 45:case 51:Pl(h+56|0,c,e,i);break b;case 47:Ol(a,f+8|0,h+56|0,c,e,i);break b;case 49:g=V(h,127744,44);n=g,o=Yb(a,b,c,d,e,f,g,g+44|0),j[n+56>>2]=o;break b;case 17:j[h+16>>2]=j[31952];g=j[31951];j[h+8>>2]=j[31950];j[h+12>>2]=g;g=j[31949];j[h>>2]=j[31948];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+20|0),j[n+56>>2]=o;break b;case 18:Nl(f,h+56|0,c,e,i);break b;case 19:g=j[31963];j[h+24>>2]=j[31962];j[h+28>>2]=g;g=j[31961];j[h+16>>2]=j[31960];j[h+20>>2]=g;g=j[31959];j[h+8>>2]=j[31958];j[h+12>>2]=g;g=j[31957];j[h>>2]=j[31956];j[h+4>>2]=g;n=h,o=Yb(a,b,c,d,e,f,h,h+32|0),j[n+56>>2]=o;break b;case 54:Ml(f+24|0,h+56|0,c,e,i);break b;case 55:a=O[j[j[a>>2]+20>>2]](a,b,c,d,e,f)|0;break a;case 23:b=O[j[j[a+8>>2]+24>>2]](a+8|0)|0;g=h;i=a;m=j[h+56>>2];a=b;f:{if(k[a+11|0]>>>7|0){b=j[a>>2];break f}b=a}l=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}n=g,o=Yb(i,m,c,d,e,f,l,b+(a<<2)|0),j[n+56>>2]=o;break b;case 56:jg(f+20|0,h+56|0,c,e,i);break b;case 24:Ll(f+20|0,h+56|0,c,e,i);break b;default:if((g|0)==37){break c}break;case 2:case 4:case 6:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 20:case 21:case 22:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 37:case 38:case 40:case 42:case 43:case 46:case 48:case 50:case 52:case 53:break d}}j[e>>2]=j[e>>2]|4;break b}Kl(h+56|0,c,e,i)}a=j[h+56>>2]}M=h- -64|0;return a|0}function Uh(a,b,c){var d=0,e=0,f=0,g=0,l=0,n=0,o=0,p=0;n=M-16|0;M=n;d=k[c+11|0];e=d<<24>>24;a:{d=(e|0)<0?j[c+4>>2]:d;if(!d){break a}b:{c:{d:{switch(j[a+8>>2]-1|0){case 0:a=j[b>>2];e=j[b+4>>2]-a|0;g=e>>1;l=d>>>1|0;d=g+l|0;e:{if(d>>>0<=j[b+8>>2]-a>>1>>>0){break e}if((d|0)<=-1){break c}o=d<<1;d=U(o);if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+o;j[b+4>>2]=d+(g<<1);j[b>>2]=d;if(!a){break e}T(a)}if(!l){break a}while(1){a=h[c+11|0]<0?j[c>>2]:c;d=f<<1;o=k[a+d|0]<<8|k[a+(d|1)|0];a=j[b+4>>2];d=j[b+8>>2];f:{if(a>>>0>>0){i[a>>1]=o;j[b+4>>2]=a+2;break f}e=a;a=j[b>>2];e=e-a|0;if((e|0)<=-3){break b}p=e>>1;g=p+1|0;d=d-a|0;g=d>>1>>>0<1073741823?d>>>0>>0?g:d:2147483647;d=0;g:{if(!g){break g}if((g|0)<=-1){break c}d=U(g<<1)}p=d+(p<<1)|0;i[p>>1]=o;if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+(g<<1);j[b+4>>2]=p+2;j[b>>2]=d;if(!a){break f}T(a)}f=f+1|0;if((l|0)!=(f|0)){continue}break}break a;case 1:c=(e|0)<0?j[c>>2]:c;a=c;h:{while(1){i:{f=k[c|0];j:{if((f|0)!=44){if(f){break j}e=ta(a);a=j[b+4>>2];c=j[b+8>>2];if(a>>>0>=c>>>0){break i}i[a>>1]=e;j[b+4>>2]=a+2;break h}g=ta(a);a=j[b+4>>2];f=j[b+8>>2];k:{if(a>>>0>>0){i[a>>1]=g;j[b+4>>2]=a+2;break k}d=a;a=j[b>>2];d=d-a|0;if((d|0)<=-3){break b}l=d>>1;e=l+1|0;f=f-a|0;e=f>>1>>>0<1073741823?e>>>0>f>>>0?e:f:2147483647;f=0;l:{if(!e){break l}if((e|0)<=-1){break c}f=U(e<<1)}l=f+(l<<1)|0;i[l>>1]=g;if((d|0)>=1){V(f,a,d)}j[b+8>>2]=f+(e<<1);j[b+4>>2]=l+2;j[b>>2]=f;if(!a){break k}T(a)}a=c+1|0}c=c+1|0;continue}break}d=a;a=j[b>>2];f=d-a|0;if((f|0)<=-3){break b}g=f>>1;d=g+1|0;c=c-a|0;d=c>>1>>>0<1073741823?c>>>0>>0?d:c:2147483647;c=0;m:{if(!d){break m}if((d|0)<=-1){break c}c=U(d<<1)}g=c+(g<<1)|0;i[g>>1]=e;if((f|0)>=1){V(c,a,f)}j[b+8>>2]=c+(d<<1);j[b+4>>2]=g+2;j[b>>2]=c;if(!a){break h}T(a)}break a;case 2:j[n+8>>2]=0;j[n>>2]=0;j[n+4>>2]=0;ia(n,c);f=j[b>>2];c=j[b+4>>2]-f>>1;a=j[n>>2];e=j[n+4>>2]-a|0;g=e>>1;d=c+g|0;n:{if(c>>>0>>0){$q(b,g);f=j[b>>2];a=j[n>>2];break n}if(c>>>0<=d>>>0){break n}j[b+4>>2]=(d<<1)+f}V((c<<1)+f|0,a,e);a=j[n>>2];if(!a){break a}j[n+4>>2]=a;T(a);break a;default:break d}}a=j[b>>2];o:{if(d>>>0<=j[b+8>>2]-a>>1>>>0){break o}if((d|0)<=-1){break c}e=j[b+4>>2];g=d<<1;d=U(g);e=e-a|0;l=d+e|0;if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+g;j[b+4>>2]=l;j[b>>2]=d;if(!a){break o}T(a)}while(1){d=h[c+11|0];p:{if((d|0)<=-1){if(m[c+4>>2]<=f>>>0){break a}a=j[c>>2];break p}a=c;if((d&255)>>>0<=f>>>0){break a}}l=k[a+f|0];a=j[b+4>>2];d=j[b+8>>2];if(a>>>0>>0){i[a>>1]=l;j[b+4>>2]=a+2;f=f+1|0;continue}e=a;a=j[b>>2];e=e-a|0;if((e|0)<=-3){break b}o=e>>1;g=o+1|0;d=d-a|0;g=d>>1>>>0<1073741823?d>>>0>>0?g:d:2147483647;d=0;q:{if(!g){break q}if((g|0)<=-1){break c}d=U(g<<1)}o=d+(o<<1)|0;i[o>>1]=l;if((e|0)>=1){V(d,a,e)}j[b+8>>2]=d+(g<<1);j[b+4>>2]=o+2;j[b>>2]=d;if(a){T(a)}f=f+1|0;continue}}D();z()}X();z()}M=n+16|0}function Ih(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;e=M+ -64|0;M=e;a:{f=0;b:{if(j[c>>2]){break b}j[e+56>>2]=h[a+11|0]<0?j[a>>2]:a;c:{d:{e:{g=ka(a,e+56|0);f=k[a+11|0];o=f<<24>>24<0;if((g|0)==((o?j[a>>2]:a)+(o?j[a+4>>2]:f)|0)){break e}o=0;while(1){f:{switch(l|0){case 1:n=j[e+56>>2];m=n-g|0;if(m>>>0>=4294967280){break a}g:{if(m>>>0<=10){h[e+51|0]=m;f=e+40|0;break g}i=m+16&-16;f=U(i);j[e+48>>2]=i|-2147483648;j[e+40>>2]=f;j[e+44>>2]=m}if((g|0)!=(n|0)){while(1){h[f|0]=k[g|0];f=f+1|0;g=g+1|0;if((n|0)!=(g|0)){continue}break}}h[f|0]=0;h:{if(h[e+51|0]>=0){m=ta(e+40|0);break h}f=j[e+40>>2];m=ta(f);T(f)}f=0;if((m|0)<=0){break b}f=U(12);nq(f,m);j[c>>2]=f;case 0:o=o+1|0;break;default:break f}}l=l+1|0;g=ka(a,e+56|0);f=k[a+11|0];n=f<<24>>24<0;if((g|0)!=((n?j[a>>2]:a)+(n?j[a+4>>2]:f)|0)){continue}break}if((o|0)!=2){break e}if((m|0)<1){o=0;break c}o=1;n=0;break d}f=0;break b}while(1){j[e+48>>2]=0;j[e+40>>2]=0;j[e+44>>2]=0;g=1;i:{if(!ub(b,e+40|0)){break i}bb(e+40|0);a=0;j[e+32>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;j[e+16>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;j[e+56>>2]=h[e+51|0]<0?j[e+40>>2]:e+40|0;g=ka(e+40|0,e+56|0);l=j[e+40>>2];i=k[e+51|0];f=i<<24>>24<0;j:{if((g|0)!=((f?l:e+40|0)+(f?j[e+44>>2]:i)|0)){while(1){k:{l:{switch(a|0){case 0:i=g-(f&1?l:e+40|0)|0;f=k[d+11|0];f=f<<24>>24<0?j[d+4>>2]:f;if(!Ud(e+40|0,i,f,d,0,f)){break k}a=j[c>>2];if(a){T(Le(a))}j[c>>2]=0;g=1;break j;case 1:p=j[e+56>>2];l=p-g|0;i=h[e+35|0];m:{n:{o:{if((i|0)<=-1){f=(j[e+32>>2]&2147483647)-1|0;if(l>>>0<=f>>>0){break n}i=j[e+28>>2];break o}f=e+24|0;if(l>>>0<=10){break m}f=10;i=i&255}pb(e+24|0,f,l-f|0,i,0,i,0);f=e+24|0;if(h[e+35|0]>-1){break m}}f=j[e+24>>2]}if((g|0)!=(p|0)){while(1){h[f|0]=k[g|0];f=f+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[f|0]=0;if(h[e+35|0]<=-1){j[e+28>>2]=l;break k}h[e+35|0]=l;break k;case 2:break l;default:break k}}p=j[e+56>>2];l=p-g|0;i=h[e+19|0];p:{q:{r:{if((i|0)<=-1){f=(j[e+16>>2]&2147483647)-1|0;if(l>>>0<=f>>>0){break q}i=j[e+12>>2];break r}f=e+8|0;if(l>>>0<=10){break p}f=10;i=i&255}pb(e+8|0,f,l-f|0,i,0,i,0);f=e+8|0;if(h[e+19|0]>-1){break p}}f=j[e+8>>2]}if((g|0)!=(p|0)){while(1){h[f|0]=k[g|0];f=f+1|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}h[f|0]=0;if(h[e+19|0]<=-1){j[e+12>>2]=l;break k}h[e+19|0]=l}a=a+1|0;g=ka(e+40|0,e+56|0);l=j[e+40>>2];i=k[e+51|0];f=i<<24>>24<0;if((g|0)!=((f?l:e+40|0)+(f?j[e+44>>2]:i)|0)){continue}break}}s:{a=k[e+35|0];if(a<<24>>24<0?j[e+28>>2]:a){a=k[e+19|0];if(a<<24>>24<0?j[e+12>>2]:a){break s}}g=1;break j}mq(j[c>>2],e+24|0,e+8|0);g=0}if(h[e+19|0]<=-1){T(j[e+8>>2])}if(h[e+35|0]>-1){break i}T(j[e+24>>2])}if(h[e+51|0]<=-1){T(j[e+40>>2])}if(g){break c}n=n+1|0;o=(n|0)<(m|0);if((m|0)!=(n|0)){continue}break}}f=o^1}a=f;M=e- -64|0;return a&1}X();z()}function je(a,b,c,d,e,f,g,m,n){var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;q=M-32|0;M=q;a:{if(!g){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}o=e;if(f){x=l[b+4476>>1];p=f;while(1){u=p>>>1|0;r=(u<<1)+o|0;s=x>>>0>l[r>>1];o=s?r+2|0:o;p=s?(u^-1)+p|0:u;if(p){continue}break}}if(!(((f<<1)+e|0)==(o|0)|l[b+4476>>1]>1])){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}b:{c:{d:{if(!Df(g,m)){e=W(c);if(e>>>0>=4294967280){break d}e:{f:{if(e>>>0>=11){d=e+16&-16;b=U(d);j[a+8>>2]=d|-2147483648;j[a>>2]=b;j[a+4>>2]=e;a=b;break f}h[a+11|0]=e;if(!e){break e}}V(a,c,e)}h[a+e|0]=0;break a}j[q+24>>2]=0;j[q+16>>2]=0;j[q+20>>2]=0;g:{h:{if(ca(g,1752)){break h}if(ca(g,1756)){break h}x=-1;break g}Ka(q+16|0,g);Z(q+16|0,32);g=h[q+27|0];x=j[q+20>>2];if((g|0)<=-1){break g}x=g&255}if(f){G=(x|0)==-1;while(1){i:{E=(A<<1)+e|0;o=l[E>>1];t=j[(((o&255)<<2)+b|0)+3072>>2];if(!t){break i}while(1){j:{if(l[t+30>>1]!=(o&65535)){break j}y=j[t+52>>2];if(!y){break j}g=i[t+60>>1];k:{if(!g){break k}w=l[b+4476>>1];s=j[t+56>>2];o=s;p=g;while(1){v=p>>>1|0;r=(v<<1)+o|0;u=w>>>0>l[r>>1];o=u?r+2|0:o;p=u?(v^-1)+p|0:v;if(p){continue}break}if((s+(g<<1)|0)==(o|0)){break k}if(w>>>0>=l[o>>1]){break j}}if(!G){jf(q+16|0,x,-1,y);y=h[q+27|0]<0?j[q+16>>2]:q+16|0}v=Df(y,m);l:{if(v){break l}We(a,t,c,d);g=h[a+11|0];m:{n:{if((g|0)<=-1){if(!j[a+4>>2]){break m}p=j[a>>2];break n}p=a;if(!g){break j}}B=q+16|0;p=dc(j[b+4100>>2],p);if(!p){break b}g=j[p+4>>2];if(!g){break b}C=l[p+2>>1];r=C<<16>>16;F=(r<<1)+g|0;o=g;if(C){u=l[b+4192>>1];p=r;while(1){D=p>>>1|0;s=(D<<1)+o|0;w=l[s>>1]>>0;o=w?s+2|0:o;p=w?(D^-1)+p|0:D;if(p){continue}break}}if(!(l[b+4192>>1]>=l[o>>1]?(o|0)!=(F|0):0)){if(C){while(1){s=r>>>1|0;p=(s<<1)+g|0;o=l[p>>1]<65511;g=o?p+2|0:g;r=o?(s^-1)+r|0:s;if(r){continue}break}}if((g|0)==(F|0)|l[g>>1]>65511){break b}}if(h[a+11|0]>-1){break l}}T(j[a>>2])}if((v|0)!=1|n){break j}g=i[t+60>>1];if((g|0)<1){break j}w=l[b+4476>>1];s=j[t+56>>2];o=s;r=g&65535;p=r;while(1){v=p>>>1|0;g=(v<<1)+o|0;u=w>>>0>l[g>>1];o=u?g+2|0:o;p=u?(v^-1)+p|0:v;if(p){continue}break}if(w>>>0>=l[o>>1]?(s+(r<<1)|0)!=(o|0):0){break j}We(q,t,c,d);p=a;s=b;o=k[q+11|0];r=o<<24>>24;o:{p:{if((r|0)<=-1){o=j[q+4>>2];if(!o){break o}g=j[q>>2];break p}if(!r){break j}g=q}je(p,s,g,o,j[t+56>>2],l[t+60>>1],y,m,1);g=h[a+11|0];q:{if((g|0)<=-1){if(j[a+4>>2]){break c}T(j[a>>2]);break q}if(g){break c}}if(h[q+11|0]>-1){break j}}T(j[q>>2])}t=j[t+92>>2];if(!t){break i}o=l[E>>1];continue}}A=A+1|0;if((A|0)!=(f|0)){continue}break}}B=q+16|0;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break b}X();z()}if(h[q+11|0]<=-1){T(j[q>>2])}B=q+16|0}if(h[B+11|0]>-1){break a}T(j[q+16>>2])}M=q+32|0}function Vc(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;a:{if(!k[a+28|0]){break a}f=a+52|0;g=a+48|0;c=a+32|0;d=k[a+29|0];n=d&2;i=d&16;while(1){b:{c:{d:{e:{f:{g:{h:{d=h[c|0];switch(d-91|0){case 1:break c;case 2:break e;case 3:break f;case 0:break g;default:break h}}if((d|0)==46){break d}if(!d){break a}break c}c=c+1|0;i:{if(i){if((c|0)!=(g|0)){break i}c=j[a+48>>2];o=0;e=b;m=0;break b}if((c|0)==(f|0)){break a}}o=0;e=b;m=0;if(k[c|0]){break b}break a}c=c+1|0;j:{if(i){if((c|0)!=(g|0)){break j}c=j[a+48>>2];o=1;break b}if((c|0)==(f|0)){break a}}o=1;if(k[c|0]){break b}break a}if((m|0)==(o|0)){return 0}d=c+1|0;k:{l:{if(i){if((d|0)!=(g|0)){break l}c=j[a+48>>2];break k}if((d|0)!=(f|0)){break l}c=0;break k}c=k[d|0]?d:0}m:{if(m){d=b;break m}if(!k[b|0]){d=b;break m}if(!n){d=b+1|0;break m}while(1){e=k[b+1|0];d=b+1|0;b=d;if((e&192)==128){continue}break}}e=0;if(!c){b=d;break b}if(k[d|0]){b=d;break b}return 0}if(e){break c}d=c+1|0;n:{o:{if(i){if((d|0)!=(g|0)){break o}c=j[a+48>>2];break n}if((d|0)!=(f|0)){break o}c=0;break n}c=k[d|0]?d:0}p:{if(!n){d=b+1|0;l=k[b+1|0];break p}while(1){l=k[b+1|0];d=b+1|0;b=d;if((l&192)==128){continue}break}}e=0;if(!c){b=d;break b}if(l){b=d;break b}return 0}q:{r:{s:{t:{u:{v:{if(k[b|0]==(d&255)){c=c+1|0;b=b+1|0;w:{x:{if(i){if((c|0)!=(g|0)){break x}c=j[a+48>>2];break w}if((c|0)==(f|0)){break u}}c=k[c|0]?c:0}if(!(!n|(d|0)>-1)){if(!c){break r}if(!i){l=k[c|0];if((l&192)!=128){break q}while(1){if(k[b|0]!=(l|0)){break v}c=c+1|0;if((f|0)==(c|0)|!k[c|0]){break s}b=b+1|0;l=k[c|0];if((l&192)==128){continue}break}break q}while(1){d=k[c|0];if((d&192)!=128){break q}if((d|0)!=k[b|0]){break v}c=c+1|0;y:{if((g|0)==(c|0)){c=j[a+48>>2];break y}if(!k[c|0]){break s}}b=b+1|0;if(c){continue}break}break r}if(!e){e=0;break b}if(!i){break t}while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;z:{if((g|0)==(c|0)){c=j[a+48>>2];break z}if(!k[c|0]){break a}}if(c){continue}break}break a}if(!e){return 0}c=c+1|0;A:{if(i){if((c|0)!=(g|0)){break A}c=j[a+48>>2];break b}if((c|0)==(f|0)){break a}}if(!k[c|0]){break a}break b}b=e;if(b){break b}return 0}if((d|0)<=-1){c=0;if(n){break q}}c=0;if(!e){break a}}while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;if((f|0)==(c|0)){break a}if(k[c|0]){continue}break}break a}b=b+1|0}c=0}if(!e){e=0;break b}if((b|0)==(e|0)){b=e;break b}if(!i){while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;if((f|0)==(c|0)){break a}if(k[c|0]){continue}break a}}while(1){if(!c){break a}if(k[c|0]==93){m=1;break b}c=c+1|0;B:{if((g|0)==(c|0)){c=j[a+48>>2];break B}if(!k[c|0]){break a}}if(c){continue}break}break a}if(c){continue}break}}return 1}function mm(a,b,c,d,e,f,g,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var l=0,m=0,n=0,o=0,p=0;i=M-32|0;M=i;j[i+24>>2]=b;j[e>>2]=0;l=j[d+28>>2];j[i+8>>2]=l;j[l+4>>2]=j[l+4>>2]+1;l=sb(i+8|0);m=j[i+8>>2];n=j[m+4>>2]-1|0;j[m+4>>2]=n;if((n|0)==-1){O[j[j[m>>2]+8>>2]](m)}a:{b:{c:{d:{switch(g-65|0){case 0:case 32:pg(a,f+24|0,i+24|0,c,e,l);break b;case 1:case 33:case 39:og(a,f+16|0,i+24|0,c,e,l);break b;case 34:b=O[j[j[a+8>>2]+12>>2]](a+8|0)|0;g=i;l=a;n=j[i+24>>2];a=b;e:{if(k[a+11|0]>>>7|0){b=j[a>>2];break e}b=a}m=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}o=g,p=Zb(l,n,c,d,e,f,m,b+a|0),j[o+24>>2]=p;break b;case 35:case 36:lm(f+12|0,i+24|0,c,e,l);break b;case 3:j[i+8>>2]=623865125;j[i+12>>2]=2032480100;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+16|0),j[o+24>>2]=p;break b;case 5:j[i+8>>2]=623728933;j[i+12>>2]=1680158061;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+16|0),j[o+24>>2]=p;break b;case 7:km(f+8|0,i+24|0,c,e,l);break b;case 8:jm(f+8|0,i+24|0,c,e,l);break b;case 41:im(f+28|0,i+24|0,c,e,l);break b;case 44:hm(f+16|0,i+24|0,c,e,l);break b;case 12:gm(f+4|0,i+24|0,c,e,l);break b;case 45:case 51:fm(i+24|0,c,e,l);break b;case 47:em(a,f+8|0,i+24|0,c,e,l);break b;case 49:g=k[127663]|k[127664]<<8|(k[127665]<<16|k[127666]<<24);h[i+15|0]=g;h[i+16|0]=g>>>8;h[i+17|0]=g>>>16;h[i+18|0]=g>>>24;g=k[127660]|k[127661]<<8|(k[127662]<<16|k[127663]<<24);j[i+8>>2]=k[127656]|k[127657]<<8|(k[127658]<<16|k[127659]<<24);j[i+12>>2]=g;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+19|0),j[o+24>>2]=p;break b;case 17:h[i+12|0]=k[127671];j[i+8>>2]=k[127667]|k[127668]<<8|(k[127669]<<16|k[127670]<<24);o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+13|0),j[o+24>>2]=p;break b;case 18:dm(f,i+24|0,c,e,l);break b;case 19:j[i+8>>2]=624576549;j[i+12>>2]=1394948685;o=i,p=Zb(a,b,c,d,e,f,i+8|0,i+16|0),j[o+24>>2]=p;break b;case 54:cm(f+24|0,i+24|0,c,e,l);break b;case 55:a=O[j[j[a>>2]+20>>2]](a,b,c,d,e,f)|0;break a;case 23:b=O[j[j[a+8>>2]+24>>2]](a+8|0)|0;g=i;l=a;n=j[i+24>>2];a=b;f:{if(k[a+11|0]>>>7|0){b=j[a>>2];break f}b=a}m=b;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}o=g,p=Zb(l,n,c,d,e,f,m,b+a|0),j[o+24>>2]=p;break b;case 56:ng(f+20|0,i+24|0,c,e,l);break b;case 24:bm(f+20|0,i+24|0,c,e,l);break b;default:if((g|0)==37){break c}break;case 2:case 4:case 6:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 20:case 21:case 22:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 37:case 38:case 40:case 42:case 43:case 46:case 48:case 50:case 52:case 53:break d}}j[e>>2]=j[e>>2]|4;break b}am(i+24|0,c,e,l)}a=j[i+24>>2]}M=i+32|0;return a|0}function hl(){var a=0,b=0;j[37681]=0;j[37680]=134060;j[37680]=128412;j[37680]=127888;gl();fl();Nf(28);rc(150896,127877);Mf(150736);j[37601]=0;j[37600]=134060;j[37600]=128412;j[37600]=129480;Ca(150400,za(148928));j[37603]=0;j[37602]=134060;j[37602]=128412;j[37602]=129512;Ca(150408,za(148936));el();Ca(150416,za(149132));j[37609]=0;j[37608]=134060;j[37608]=128412;j[37608]=128468;Ca(150432,za(149124));j[37611]=0;j[37610]=134060;j[37610]=128412;j[37610]=128616;Ca(150440,za(149140));j[37613]=0;j[37612]=134060;j[37612]=128412;j[37612]=127960;a=150456,b=ra(),j[a>>2]=b;Ca(150448,za(149148));j[37617]=0;j[37616]=134060;j[37616]=128412;j[37616]=128764;Ca(150464,za(149156));j[37619]=0;j[37618]=134060;j[37618]=128412;j[37618]=128880;Ca(150472,za(149164));j[37621]=0;j[37620]=134060;j[37620]=128412;i[75244]=11310;j[37620]=128008;ga(150492);Ca(150480,za(149172));j[37629]=0;j[37628]=134060;j[37628]=128412;j[37630]=46;j[37631]=44;j[37628]=128048;ga(150528);Ca(150512,za(149180));j[37637]=0;j[37636]=134060;j[37636]=128412;j[37636]=129544;Ca(150544,za(148944));j[37639]=0;j[37638]=134060;j[37638]=128412;j[37638]=129788;Ca(150552,za(148952));j[37641]=0;j[37640]=134060;j[37640]=128412;j[37640]=13e4;Ca(150560,za(148960));j[37643]=0;j[37642]=134060;j[37642]=128412;j[37642]=130232;Ca(150568,za(148968));j[37645]=0;j[37644]=134060;j[37644]=128412;j[37644]=131216;Ca(150576,za(149008));j[37647]=0;j[37646]=134060;j[37646]=128412;j[37646]=131364;Ca(150584,za(149016));j[37649]=0;j[37648]=134060;j[37648]=128412;j[37648]=131480;Ca(150592,za(149024));j[37651]=0;j[37650]=134060;j[37650]=128412;j[37650]=131596;Ca(150600,za(149032));j[37653]=0;j[37652]=134060;j[37652]=128412;j[37652]=131712;Ca(150608,za(149040));j[37655]=0;j[37654]=134060;j[37654]=128412;j[37654]=131876;Ca(150616,za(149048));j[37657]=0;j[37656]=134060;j[37656]=128412;j[37656]=132040;Ca(150624,za(149056));j[37659]=0;j[37658]=134060;j[37658]=128412;j[37658]=132204;Ca(150632,za(149064));j[37661]=0;j[37660]=134060;j[37660]=128412;j[37662]=133756;j[37660]=130432;j[37662]=130480;Ca(150640,za(148976));j[37665]=0;j[37664]=134060;j[37664]=128412;j[37666]=133792;j[37664]=130696;j[37666]=130744;Ca(150656,za(148984));j[37669]=0;j[37668]=134060;j[37668]=128412;qf(150680);j[37668]=130932;Ca(150672,za(148992));j[37673]=0;j[37672]=134060;j[37672]=128412;qf(150696);j[37672]=131088;Ca(150688,za(149e3));j[37677]=0;j[37676]=134060;j[37676]=128412;j[37676]=132368;Ca(150704,za(149072));j[37679]=0;j[37678]=134060;j[37678]=128412;j[37678]=132488;Ca(150712,za(149080))}function gr(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=M-48|0;M=d;a:{b:{c:{d:{e:{if(j[a+80>>2]){break e}j[d+32>>2]=h[b+11|0]<0?j[b>>2]:b;f=ka(b,d+32|0);g=k[b+11|0];e=g<<24>>24<0;if((f|0)==((e?j[b>>2]:b)+(e?j[b+4>>2]:g)|0)){break c}while(1){f:{g:{h:{switch(l|0){case 1:break h;case 0:break g;default:break f}}n=j[d+32>>2];m=n-f|0;if(m>>>0>=4294967280){break d}i:{if(m>>>0<=10){h[d+27|0]=m;e=d+16|0;break i}g=m+16&-16;e=U(g);j[d+24>>2]=g|-2147483648;j[d+16>>2]=e;j[d+20>>2]=m}if((f|0)!=(n|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((n|0)!=(f|0)){continue}break}}h[e|0]=0;j:{if(h[d+27|0]>=0){f=ta(d+16|0);j[a+80>>2]=f;break j}e=j[d+16>>2];q=a,r=ta(e),j[q+80>>2]=r;T(e);f=j[a+80>>2]}if((f|0)<=0){f=0;j[a+88>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;break a}g=ja(f<<2);j[a+84>>2]=g;e=ja(f<<1);j[a+88>>2]=e;if(e?g:0){break g}j[a+80>>2]=0;if(g){T(g)}if(e){T(e)}j[a+84>>2]=0;j[a+88>>2]=0;break e}o=o+1|0}l=l+1|0;f=ka(b,d+32|0);g=k[b+11|0];e=g<<24>>24<0;if((f|0)!=((e?j[b>>2]:b)+(e?j[b+4>>2]:g)|0)){continue}break}if((o|0)!=2){break c}f=1;if(j[a+80>>2]<1){break a}while(1){k:{j[d+24>>2]=0;j[d+16>>2]=0;j[d+20>>2]=0;if(!ub(c,d+16|0)){break k}bb(d+16|0);b=0;m=p<<2;j[m+j[a+84>>2]>>2]=0;o=p<<1;i[o+j[a+88>>2]>>1]=0;j[d+32>>2]=h[d+27|0]<0?j[d+16>>2]:d+16|0;f=ka(d+16|0,d+32|0);l=j[d+16>>2];g=k[d+27|0];e=g<<24>>24<0;if((f|0)!=((e?l:d+16|0)+(e?j[d+20>>2]:g)|0)){while(1){l:{m:{switch(b|0){case 0:if(!_(d+16|0,f-(e&1?l:d+16|0)|0,2,120958,2)){break l}f=0;j[a+80>>2]=0;T(j[a+84>>2]);T(j[a+88>>2]);j[a+84>>2]=0;j[a+88>>2]=0;if(h[d+27|0]>-1){break a}T(j[d+16>>2]);break a;case 1:break m;default:break l}}n=j[d+32>>2];l=n-f|0;if(l>>>0>=4294967280){break b}n:{if(l>>>0<=10){h[d+11|0]=l;e=d;break n}g=l+16&-16;e=U(g);j[d+8>>2]=g|-2147483648;j[d>>2]=e;j[d+4>>2]=l}if((f|0)!=(n|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((n|0)!=(f|0)){continue}break}}h[e|0]=0;g=Te(a,m+j[a+84>>2]|0,d);i[o+j[a+88>>2]>>1]=g;e=j[m+j[a+84>>2]>>2];Qc(e,e+((g&65535)<<1)|0,d+40|0);if(h[d+11|0]>-1){break l}T(j[d>>2])}b=b+1|0;f=ka(d+16|0,d+32|0);l=j[d+16>>2];g=k[d+27|0];e=g<<24>>24<0;if((f|0)!=((e?l:d+16|0)+(e?j[d+20>>2]:g)|0)){continue}break}}b=j[a+84>>2];if(!j[b+m>>2]){T(b);T(j[a+88>>2]);f=0;j[a+88>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;if(h[d+27|0]>-1){break a}T(j[d+16>>2]);break a}if(e){T(l)}f=1;p=p+1|0;if((p|0)>2]){continue}break a}break}if(h[d+27|0]>-1){break e}T(j[d+16>>2])}f=0;break a}X();z()}f=0;j[a+80>>2]=0;T(j[a+84>>2]);T(j[a+88>>2]);j[a+84>>2]=0;j[a+88>>2]=0;break a}X();z()}M=d+48|0;return f}function wf(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,j=0;d=1;a:{b:{c:{d:{switch(b-a>>1){case 2:b=b-2|0;c=k[b|0]|k[b+1|0]<<8;e=k[a|0]|k[a+1|0]<<8;if(c>>>0>=e>>>0){break c}h[a|0]=c;h[a+1|0]=c>>>8;h[b|0]=e;h[b+1|0]=e>>>8;return 1;case 3:b=b-2|0;c=k[b|0]|k[b+1|0]<<8;e=k[a+2|0]|k[a+3|0]<<8;f=k[a|0]|k[a+1|0]<<8;if(e>>>0>=f>>>0){if(c>>>0>=e>>>0){break c}h[a+2|0]=c;h[a+3|0]=c>>>8;h[b|0]=e;h[b+1|0]=e>>>8;b=k[a+2|0]|k[a+3|0]<<8;c=k[a|0]|k[a+1|0]<<8;if(b>>>0>=c>>>0){break c}break a}if(c>>>0>>0){h[a|0]=c;h[a+1|0]=c>>>8;break b}h[a+2|0]=f;h[a+3|0]=f>>>8;h[a|0]=e;h[a+1|0]=e>>>8;c=k[b|0]|k[b+1|0]<<8;if(c>>>0>=f>>>0){break c}h[a+2|0]=c;h[a+3|0]=c>>>8;break b;case 4:e=b-2|0;b=k[a+4|0]|k[a+5|0]<<8;c=k[a+2|0]|k[a+3|0]<<8;d=k[a|0]|k[a+1|0]<<8;e:{if(c>>>0>=d>>>0){if(b>>>0>=c>>>0){c=b;break e}h[a+4|0]=c;h[a+5|0]=c>>>8;h[a+2|0]=b;h[a+3|0]=b>>>8;if(b>>>0>=d>>>0){break e}h[a+2|0]=d;h[a+3|0]=d>>>8;h[a|0]=b;h[a+1|0]=b>>>8;break e}f:{if(b>>>0>>0){h[a+4|0]=d;h[a+5|0]=d>>>8;h[a|0]=b;h[a+1|0]=b>>>8;break f}h[a+2|0]=d;h[a+3|0]=d>>>8;h[a|0]=c;h[a+1|0]=c>>>8;if(b>>>0>=d>>>0){c=b;break e}h[a+4|0]=d;h[a+5|0]=d>>>8;h[a+2|0]=b;h[a+3|0]=b>>>8}c=d}d=1;b=k[e|0]|k[e+1|0]<<8;if(b>>>0>=(c&65535)>>>0){break c}h[a+4|0]=b;h[a+5|0]=b>>>8;h[e|0]=c;h[e+1|0]=c>>>8;b=k[a+4|0]|k[a+5|0]<<8;c=k[a+2|0]|k[a+3|0]<<8;if(b>>>0>=c>>>0){break c}h[a+4|0]=c;h[a+5|0]=c>>>8;h[a+2|0]=b;h[a+3|0]=b>>>8;c=k[a|0]|k[a+1|0]<<8;if(c>>>0<=b>>>0){break c}break a;case 5:fe(a,a+2|0,a+4|0,a+6|0,b-2|0);return 1;case 0:case 1:break c;default:break d}}d=k[a+4|0]|k[a+5|0]<<8;c=k[a+2|0]|k[a+3|0]<<8;e=k[a|0]|k[a+1|0]<<8;g:{if(c>>>0>=e>>>0){if(c>>>0<=d>>>0){c=d;break g}h[a+4|0]=c;h[a+5|0]=c>>>8;h[a+2|0]=d;h[a+3|0]=d>>>8;if(d>>>0>=e>>>0){break g}h[a+2|0]=e;h[a+3|0]=e>>>8;h[a|0]=d;h[a+1|0]=d>>>8;break g}h:{if(c>>>0>d>>>0){h[a+4|0]=e;h[a+5|0]=e>>>8;h[a|0]=d;h[a+1|0]=d>>>8;break h}h[a+2|0]=e;h[a+3|0]=e>>>8;h[a|0]=c;h[a+1|0]=c>>>8;if(d>>>0>=e>>>0){c=d;break g}h[a+4|0]=e;h[a+5|0]=e>>>8;h[a+2|0]=d;h[a+3|0]=d>>>8}c=e}i:{j:{d=a+6|0;if((d|0)==(b|0)){break j}f=a+4|0;while(1){k:{e=d;i=d;g=k[d|0]|k[d+1|0]<<8;if(g>>>0<(c&65535)>>>0){while(1){l:{h[i|0]=c;h[i+1|0]=c>>>8;d=f;if((d|0)==(a|0)){d=a;break l}i=d;f=d-2|0;c=k[f|0]|k[f+1|0]<<8;if(g>>>0>>0){continue}}break}h[d|0]=g;h[d+1|0]=g>>>8;j=j+1|0;if((j|0)==8){break k}}d=e+2|0;if((d|0)==(b|0)){break j}c=k[e|0]|k[e+1|0]<<8;f=e;continue}break}c=(e+2|0)==(b|0);a=0;break i}a=1}d=a|c}return d&1}h[b|0]=f;h[b+1|0]=f>>>8;return 1}h[a+2|0]=c;h[a+3|0]=c>>>8;h[a|0]=b;h[a+1|0]=b>>>8;return 1}function Id(a,b,c,d,e,f,g,m){var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=M-16|0;M=q;x=d&1;a:{if(h[a+29|0]&1?0:x){break a}d=h[a+15|0];o=j[a+8>>2];b:{if((d|0)<=-1){break b}o=d&255}d=c-o|0;c:{if(!j[j[a+64>>2]+4484>>2]|d?(d|0)<=0:0){break c}n=k[a+28|0];c=h[a+27|0];o=j[a+20>>2];d:{if((c|0)<=-1){break d}o=c&255}if(n>>>0>o+d>>>0){break c}o=a+16|0;e:{f:{if(d>>>0>=11){s=d+16&-16;c=U(s);j[q+8>>2]=s|-2147483648;j[q>>2]=c;j[q+4>>2]=d;break f}h[q+11|0]=d;c=q;if(!d){break e}}V(c,b,d)}h[c+d|0]=0;b=k[o+11|0];d=b<<24>>24;c=j[a+20>>2];g:{if((d|0)<=-1){break g}c=b}if(c){c=(d|0)<0;aa(q,c?j[a+16>>2]:o,c?j[a+20>>2]:b)}n=1;c=k[q+11|0];d=c<<24>>24<0;b=d?j[q>>2]:q;h:{if(!Jd(a,b+(d?j[q+4>>2]:c)|0,b)){break h}d=Xb(j[a+64>>2],b);if(!d){break h}while(1){w=d;b=j[d+4>>2];s=l[d+2>>1];o=s<<16>>16;u=b+(o<<1)|0;d=b;if(s){r=l[a+30>>1];c=o;while(1){n=c>>>1|0;t=(n<<1)+d|0;p=r>>>0>l[t>>1];d=p?t+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}i:{if(!(l[a+30>>1]>=l[d>>1]?(d|0)!=(u|0):0)){if(!e){break i}d=j[e+56>>2];if(!d){break i}c=i[e+60>>1];r=(c<<1)+d|0;if(c){t=l[a+30>>1];while(1){n=c>>>1|0;v=(n<<1)+d|0;p=t>>>0>l[v>>1];d=p?v+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((d|0)==(r|0)|l[a+30>>1]>1]){break i}}j:{if(!x){break j}if(!e){break i}n=l[e+30>>1];d=b;c=o;if(s){while(1){p=c>>>1|0;t=(p<<1)+d|0;r=n>>>0>l[t>>1];d=r?t+2|0:d;c=r?(p^-1)+c|0:p;if(c){continue}break}}if(n>>>0>=l[d>>1]?(d|0)!=(u|0):0){break j}d=j[a+56>>2];if(!d){break i}c=i[a+60>>1];t=(c<<1)+d|0;if(c){while(1){p=c>>>1|0;v=(p<<1)+d|0;r=n>>>0>l[v>>1];d=r?v+2|0:d;c=r?(p^-1)+c|0:p;if(c){continue}break}}if((d|0)==(t|0)|n>>>0>1]){break i}}if(f){d=j[a+56>>2];if(!d){break i}c=i[a+60>>1];r=(c<<1)+d|0;if(c){while(1){n=c>>>1|0;t=(n<<1)+d|0;p=l[t>>1]>>0;d=p?t+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((d|0)==(r|0)|l[d>>1]>f>>>0){break i}}k:{if(!m){break k}d=b;c=o;if(s){while(1){n=c>>>1|0;r=(n<<1)+d|0;p=l[r>>1]>>0;d=p?r+2|0:d;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((d|0)==(u|0)){break k}if(l[d>>1]<=m>>>0){break i}}n=0;if(!g){break h}if(s){while(1){c=o>>>1|0;s=(c<<1)+b|0;d=l[s>>1]>>0;b=d?s+2|0:b;o=d?(c^-1)+o|0:c;if(o){continue}break}}if(l[b>>1]<=g>>>0?(b|0)!=(u|0):0){break h}d=j[a+56>>2];if(!d){break i}c=i[a+60>>1];s=(c<<1)+d|0;if(c){while(1){b=c>>>1|0;u=(b<<1)+d|0;o=l[u>>1]>>0;d=o?u+2|0:d;c=o?(b^-1)+c|0:b;if(c){continue}break}}if((d|0)==(s|0)){break i}if(l[d>>1]<=g>>>0){break h}}d=j[w+12>>2];if(d){continue}break}n=1}if(h[q+11|0]<=-1){T(j[q>>2])}if(!n){break a}}w=0}M=q+16|0;return w}function Oc(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,m=0;a:{e=j[a>>2];c=j[a+4>>2];if((e|0)==(c|0)){break a}a=c-e|0;f=j[37199];b:{switch(b-90|0){case 0:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=48;b=1;c=k[e|0]|k[e+1|0]<<8;c:{if((c|0)!=105){if(!f){break c}a=l[(f+p(c,6)|0)+2>>1];if((c|0)==(a|0)){break c}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=48;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;d:{if((g|0)!=105){if(!f){break d}b=l[(f+p(g,6)|0)+2>>1];if((g|0)==(b|0)){break d}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;case 10:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=48;b=1;c=k[e|0]|k[e+1|0]<<8;e:{if((c|0)!=105){if(!f){break e}a=l[(f+p(c,6)|0)+2>>1];if((c|0)==(a|0)){break e}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=48;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;f:{if((g|0)!=105){if(!f){break f}b=l[(f+p(g,6)|0)+2>>1];if((g|0)==(b|0)){break f}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;default:d=e-c|0;c=((a|0)<(d|0)?d:a)>>>1|0;a=(a|0)>-1?a:-1;g=p(c,(a|0)<1?a:1);g:{h:{i:{a=k[e|0]|k[e+1|0]<<8;if((a|0)!=105){break i}d=48;c=1;switch(b-100|0){case 0:case 2:break h;default:break i}}if(!f){break g}d=l[(f+p(a,6)|0)+2>>1];if((a|0)==(d|0)){break g}c=d>>>8|0}h[e|0]=d;h[e+1|0]=c}a=1;if(g>>>0<=1){break a}g=g>>>0>1?g:1;i=b-90|0;m=i>>>0>12;while(1){b=(a<<1)+e|0;c=k[b|0]|k[b+1|0]<<8;j:{k:{if(!(!(1<>1];if((c|0)==(d|0)){break j}c=d>>>8|0}h[b+1|0]=c;h[b|0]=d}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a;case 12:break b}}d=1;b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;c=p(b,(a|0)<1?a:1);g=c>>>0>1?c:1;a=k[e|0]|k[e+1|0]<<8;if(f){b=48;l:{if((a|0)!=105){b=l[(f+p(a,6)|0)+2>>1];if((a|0)==(b|0)){break l}d=b>>>8|0}h[e|0]=b;h[e+1|0]=d}a=1;if(c>>>0<=1){break a}while(1){b=48;c=1;d=(a<<1)+e|0;i=k[d|0]|k[d+1|0]<<8;m:{if((i|0)!=105){b=l[(f+p(i,6)|0)+2>>1];if((i|0)==(b|0)){break m}c=b>>>8|0}h[d+1|0]=c;h[d|0]=b}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a}if((a|0)==105){h[e|0]=48;h[e+1|0]=1}if(c>>>0<2){break a}a=1;b=g-1|0;f=b&1;if((g|0)!=2){b=b&-2;while(1){d=(a<<1)+e|0;if((k[d|0]|k[d+1|0]<<8)==105){h[d+1|0]=1;h[d|0]=48}if((k[d+2|0]|k[d+3|0]<<8)==105){h[d+3|0]=1;h[d+2|0]=48}a=a+2|0;b=b-2|0;if(b){continue}break}}if(!f){break a}a=(a<<1)+e|0;if((k[a|0]|k[a+1|0]<<8)!=105){break a}h[a+1|0]=1;h[a|0]=48}}function Ua(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,m=0;a:{e=j[a>>2];c=j[a+4>>2];if((e|0)==(c|0)){break a}a=c-e|0;f=j[37199];b:{switch(b-90|0){case 0:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=49;b=1;c=k[e|0]|k[e+1|0]<<8;c:{if((c|0)!=73){if(!f){break c}a=l[(f+p(c,6)|0)+4>>1];if((c|0)==(a|0)){break c}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=49;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;d:{if((g|0)!=73){if(!f){break d}b=l[(f+p(g,6)|0)+4>>1];if((g|0)==(b|0)){break d}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;case 10:b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;d=p(b,(a|0)<1?a:1);a=49;b=1;c=k[e|0]|k[e+1|0]<<8;e:{if((c|0)!=73){if(!f){break e}a=l[(f+p(c,6)|0)+4>>1];if((c|0)==(a|0)){break e}b=a>>>8|0}h[e|0]=a;h[e+1|0]=b}a=1;if(d>>>0<=1){break a}i=d>>>0>1?d:1;while(1){b=49;d=1;c=(a<<1)+e|0;g=k[c|0]|k[c+1|0]<<8;f:{if((g|0)!=73){if(!f){break f}b=l[(f+p(g,6)|0)+4>>1];if((g|0)==(b|0)){break f}d=b>>>8|0}h[c+1|0]=d;h[c|0]=b}a=a+1|0;if((i|0)!=(a|0)){continue}break}break a;default:d=e-c|0;c=((a|0)<(d|0)?d:a)>>>1|0;a=(a|0)>-1?a:-1;g=p(c,(a|0)<1?a:1);g:{h:{i:{a=k[e|0]|k[e+1|0]<<8;if((a|0)!=73){break i}d=49;c=1;switch(b-100|0){case 0:case 2:break h;default:break i}}if(!f){break g}d=l[(f+p(a,6)|0)+4>>1];if((a|0)==(d|0)){break g}c=d>>>8|0}h[e|0]=d;h[e+1|0]=c}a=1;if(g>>>0<=1){break a}g=g>>>0>1?g:1;i=b-90|0;m=i>>>0>12;while(1){b=(a<<1)+e|0;c=k[b|0]|k[b+1|0]<<8;j:{k:{if(!(!(1<>1];if((c|0)==(d|0)){break j}c=d>>>8|0}h[b+1|0]=c;h[b|0]=d}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a;case 12:break b}}d=1;b=e-c|0;b=((a|0)<(b|0)?b:a)>>>1|0;a=(a|0)>-1?a:-1;c=p(b,(a|0)<1?a:1);g=c>>>0>1?c:1;a=k[e|0]|k[e+1|0]<<8;if(f){b=49;l:{if((a|0)!=73){b=l[(f+p(a,6)|0)+4>>1];if((a|0)==(b|0)){break l}d=b>>>8|0}h[e|0]=b;h[e+1|0]=d}a=1;if(c>>>0<=1){break a}while(1){b=49;c=1;d=(a<<1)+e|0;i=k[d|0]|k[d+1|0]<<8;m:{if((i|0)!=73){b=l[(f+p(i,6)|0)+4>>1];if((i|0)==(b|0)){break m}c=b>>>8|0}h[d+1|0]=c;h[d|0]=b}a=a+1|0;if((g|0)!=(a|0)){continue}break}break a}if((a|0)==73){h[e|0]=49;h[e+1|0]=1}if(c>>>0<2){break a}a=1;b=g-1|0;f=b&1;if((g|0)!=2){b=b&-2;while(1){d=(a<<1)+e|0;if((k[d|0]|k[d+1|0]<<8)==73){h[d+1|0]=1;h[d|0]=49}if((k[d+2|0]|k[d+3|0]<<8)==73){h[d+3|0]=1;h[d+2|0]=49}a=a+2|0;b=b-2|0;if(b){continue}break}}if(!f){break a}a=(a<<1)+e|0;if((k[a|0]|k[a+1|0]<<8)!=73){break a}h[a+1|0]=1;h[a|0]=49}}function gb(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j[a+4360>>2]=0;j[a+4352>>2]=0;j[a+4356>>2]=0;j[a+4376>>2]=0;a:{q=j[a>>2];b:{if(!q){break b}if(!d){t=(d|0)!=2;while(1){n=j[q+56>>2];c:{d:{if(!n){break d}u=l[q+60>>1];m=u<<16>>16;v=(m<<1)+n|0;f=n;if(u){p=l[a+4464>>1];g=m;while(1){s=g>>>1|0;o=(s<<1)+f|0;r=p>>>0>l[o>>1];f=r?o+2|0:f;g=r?(s^-1)+g|0:s;if(g){continue}break}}if(l[a+4464>>1]>=l[f>>1]?(f|0)!=(v|0):0){break c}if(t){break d}if(u){f=l[a+4164>>1];while(1){p=m>>>1|0;g=(p<<1)+n|0;o=f>>>0>l[g>>1];n=o?g+2|0:n;m=o?(p^-1)+m|0:p;if(m){continue}break}}if((n|0)==(v|0)|l[a+4164>>1]>1]){break c}}f=jd(q,b,c,0,e);if(f){break a}}q=j[q+68>>2];if(q){continue}break}break b}p=(d|0)!=2;while(1){e:{if(!p){f=j[q+56>>2];if(!f){break e}g=i[q+60>>1];o=(g<<1)+f|0;if(g){n=l[a+4164>>1];while(1){r=g>>>1|0;m=(r<<1)+f|0;t=n>>>0>l[m>>1];f=t?m+2|0:f;g=t?(r^-1)+g|0:r;if(g){continue}break}}if((f|0)==(o|0)|l[a+4164>>1]>1]){break e}}f=jd(q,b,c,d,e);if(f){break a}}q=j[q+68>>2];if(q){continue}break}}f:{n=j[(k[b|0]<<2)+a>>2];g:{if(!n){break g}if(!d){t=(d|0)!=2;while(1){g=n+4|0;g=h[n+15|0]<0?j[g>>2]:g;f=k[g|0];h:{if(!f){break h}m=b;if((f|0)!=46&k[m|0]!=(f|0)){break h}while(1){f=k[g+1|0];if(!f){break h}d=k[m+1|0];m=m+1|0;g=g+1|0;if(!((f|0)!=46&(d|0)!=(f|0))){continue}break}}if(f){d=n+76|0}else{m=j[n+56>>2];i:{j:{if(!m){break j}u=l[n+60>>1];d=u<<16>>16;v=(d<<1)+m|0;f=m;if(u){p=l[a+4464>>1];g=d;while(1){s=g>>>1|0;o=(s<<1)+f|0;r=p>>>0>l[o>>1];f=r?o+2|0:f;g=r?(s^-1)+g|0:s;if(g){continue}break}}if(l[a+4464>>1]>=l[f>>1]?(f|0)!=(v|0):0){break i}if(t){break j}if(u){f=l[a+4164>>1];while(1){p=d>>>1|0;g=(p<<1)+m|0;o=f>>>0>l[g>>1];m=o?g+2|0:m;d=o?(p^-1)+d|0:p;if(d){continue}break}}if((m|0)==(v|0)|l[a+4164>>1]>1]){break i}}f=jd(n,b,c,0,e);if(f){break f}}d=n+72|0}n=j[d>>2];if(n){continue}break}break g}t=(d|0)!=2;while(1){g=n+4|0;g=h[n+15|0]<=-1?j[g>>2]:g;f=k[g|0];k:{if(!f){break k}m=b;if((f|0)!=46&k[m|0]!=(f|0)){break k}while(1){f=k[g+1|0];if(!f){break k}o=k[m+1|0];m=m+1|0;g=g+1|0;if(!((f|0)!=46&(f|0)!=(o|0))){continue}break}}l:{if(!f){m:{if(!t){f=j[n+56>>2];if(!f){break m}g=i[n+60>>1];p=(g<<1)+f|0;if(g){o=l[a+4164>>1];while(1){s=g>>>1|0;m=(s<<1)+f|0;r=o>>>0>l[m>>1];f=r?m+2|0:f;g=r?(s^-1)+g|0:s;if(g){continue}break}}if((f|0)==(p|0)|l[a+4164>>1]>1]){break m}}f=jd(n,b,c,d,e);if(f){break f}}m=n+72|0;break l}m=n+76|0}n=j[m>>2];if(n){continue}break}}return 0}j[a+4376>>2]=n;return f}j[a+4376>>2]=q;return f}function Za(a,b,c){var d=0,e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0;d=M-448|0;M=d;j[d+440>>2]=0;j[d+432>>2]=0;j[d+436>>2]=0;a:{if(!j[b+44>>2]){j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;break a}m=ha(d+416|0,c);b:{if(!j[b+76>>2]){break b}if(j[b+56>>2]){ob(m);break b}Va(m)}e=Xb(j[b+44>>2],h[m+11|0]<0?j[m>>2]:d+416|0);if(e){while(1){c=j[e+4>>2];c:{d:{if(!c){break d}f=i[e+2>>1];q=(f<<1)+c|0;n=l[j[b+44>>2]+4192>>1];if(f){while(1){g=f>>>1|0;o=(g<<1)+c|0;p=n>>>0>l[o>>1];c=p?o+2|0:c;f=p?(g^-1)+f|0:g;if(f){continue}break}}if(n>>>0>=l[c>>1]?(c|0)!=(q|0):0){break c}c=j[e+4>>2];f=i[e+2>>1];q=c+(f<<1)|0;n=l[j[b+44>>2]+4198>>1];if(f){while(1){g=f>>>1|0;o=(g<<1)+c|0;p=n>>>0>l[o>>1];c=p?o+2|0:c;f=p?(g^-1)+f|0:g;if(f){continue}break}}if(n>>>0>=l[c>>1]?(c|0)!=(q|0):0){break c}c=j[e+4>>2];f=i[e+2>>1];q=c+(f<<1)|0;n=l[j[b+44>>2]+4464>>1];if(f){while(1){g=f>>>1|0;o=(g<<1)+c|0;p=n>>>0>l[o>>1];c=p?o+2|0:c;f=p?(g^-1)+f|0:g;if(f){continue}break}}if((c|0)==(q|0)){break d}if(n>>>0>=l[c>>1]){break c}}c=k[e+16|0];e:{f:{if(!(c&1)){break f}g:{if(c&2){c=k[e|0]+e|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break f}c=k[e+16|0];g=0;if(!(c&1)){break g}}f=(k[e|0]+e|0)+18|0;g=f;if(!(c&2)){break g}g=k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24)}if(ca(g,121397)){break e}}Z(d+432|0,32);$(d+432|0,121397);c=k[m+11|0];f=c<<24>>24<0;aa(d+432|0,f?j[m>>2]:d+416|0,f?j[m+4>>2]:c)}c=k[e+16|0];h:{if(!(c&1)){break h}if(c&2){c=k[e|0]+e|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break h}}Z(d+432|0,32);n=d+432|0;g=k[e+16|0];f=121429;i:{if(!(g&1)){break i}c=(k[e|0]+e|0)+18|0;f=c;if(!(g&2)){break i}f=k[c|0]|k[c+1|0]<<8|(k[c+2|0]<<16|k[c+3|0]<<24)}$(n,f)}Z(d+432|0,10)}e=j[e+12>>2];if(e){continue}break}}c=k[m+11|0];e=c<<24>>24<0;fc(d+400|0,j[b+44>>2],e?j[m>>2]:d+416|0,e?j[m+4>>2]:c,0);e=k[d+411|0];c=e<<24>>24;e=(c|0)<0?j[d+404>>2]:e;if(e){aa(d+432|0,(c|0)<0?j[d+400>>2]:d+400|0,e)}e=1;c=j[b+44>>2];if(!(l[c+4152>>1]|l[c+4154>>1])){e=j[c+4268>>2]!=j[c+4272>>2]}j:{if(!e){break j}c=k[d+443|0];if(c<<24>>24<0?j[d+436>>2]:c){break j}e=j[b+44>>2];b=k[m+11|0];c=b<<24>>24<0;Pf(e,c?j[m>>2]:d+416|0,c?j[m+4>>2]:b,0,0,100,0,0,d,d+432|0,0)}zi(d+432|0);j[a+8>>2]=j[d+440>>2];b=j[d+436>>2];j[a>>2]=j[d+432>>2];j[a+4>>2]=b;j[d+440>>2]=0;j[d+432>>2]=0;j[d+436>>2]=0;if(h[d+411|0]<=-1){T(j[d+400>>2])}if(h[m+11|0]<=-1){T(j[m>>2])}if(h[d+443|0]>-1){break a}T(j[d+432>>2])}M=d+448|0}function fr(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;d=M-48|0;M=d;a:{b:{c:{d:{e:{if(j[a+92>>2]){break e}j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;e=ka(b,d+40|0);f=k[b+11|0];g=f<<24>>24<0;if((e|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:f)|0)){break c}g=0;while(1){f:{g:{h:{switch(g|0){case 1:break h;case 0:break g;default:break f}}n=j[d+40>>2];i=n-e|0;if(i>>>0>=4294967280){break d}i:{if(i>>>0<=10){h[d+35|0]=i;f=d+24|0;break i}m=i+16&-16;f=U(m);j[d+32>>2]=m|-2147483648;j[d+24>>2]=f;j[d+28>>2]=i}if((e|0)!=(n|0)){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((n|0)!=(e|0)){continue}break}}h[f|0]=0;j:{if(h[d+35|0]>=0){e=ta(d+24|0);j[a+92>>2]=e;break j}e=j[d+24>>2];p=a,q=ta(e),j[p+92>>2]=q;T(e);e=j[a+92>>2]}if((e|0)<=0){break e}e=ja(e<<2);j[a+96>>2]=e;if(e){break g}e=0;j[a+92>>2]=0;break a}l=l+1|0}g=g+1|0;e=ka(b,d+40|0);f=k[b+11|0];i=f<<24>>24<0;if((e|0)!=((i?j[b>>2]:b)+(i?j[b+4>>2]:f)|0)){continue}break}if((l|0)!=2){break c}e=1;if(j[a+92>>2]<1){break a}i=0;while(1){k:{j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;if(!ub(c,d+24|0)){break k}bb(d+24|0);b=0;n=i<<2;j[n+j[a+96>>2]>>2]=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;e=ka(d+24|0,d+40|0);g=j[d+24>>2];o=k[d+35|0];l=o<<24>>24;f=(l|0)<0;m=j[d+28>>2];if((e|0)!=((f?g:d+24|0)+(f?m:o)|0)){while(1){l:{m:{switch(b|0){case 0:if(!_(d+24|0,e-(f&1?g:d+24|0)|0,2,120961,2)){break l}e=0;j[a+92>>2]=0;T(j[a+96>>2]);j[a+96>>2]=0;if(h[d+35|0]>-1){break a}T(j[d+24>>2]);break a;case 1:break m;default:break l}}f=f&1;l=(f?g:d+24|0)+(f?m:l&255)|0;g=l-e|0;if(g>>>0>=4294967280){break b}n:{if(g>>>0<=10){h[d+19|0]=g;f=d+8|0;break n}m=g+16&-16;f=U(m);j[d+16>>2]=m|-2147483648;j[d+8>>2]=f;j[d+12>>2]=g}if((e|0)!=(l|0)){while(1){h[f|0]=k[e|0];f=f+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}h[f|0]=0;o:{if(!j[a+12>>2]){break o}if(j[a+16>>2]){ob(d+8|0);break o}Va(d+8|0)}e=cb(h[d+19|0]<0?j[d+8>>2]:d+8|0);j[n+j[a+96>>2]>>2]=e;if(h[d+19|0]>-1){break l}T(j[d+8>>2])}b=b+1|0;e=ka(d+24|0,d+40|0);g=j[d+24>>2];o=k[d+35|0];l=o<<24>>24;f=(l|0)<0;m=j[d+28>>2];if((e|0)!=((f?g:d+24|0)+(f?m:o)|0)){continue}break}}b=j[a+96>>2];if(!j[b+n>>2]){e=0;j[a+92>>2]=0;T(b);j[a+96>>2]=0;if(h[d+35|0]>-1){break a}T(j[d+24>>2]);break a}if(f){T(g)}e=1;i=i+1|0;if((i|0)>2]){continue}break a}break}if(h[d+35|0]>-1){break e}T(j[d+24>>2])}e=0;break a}X();z()}e=0;j[a+92>>2]=0;T(j[a+96>>2]);j[a+96>>2]=0;break a}X();z()}M=d+48|0;return e}function Te(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0;l=M-16|0;M=l;d=k[c+11|0];f=d<<24>>24;m=j[c+4>>2];g=(f|0)<0?m:d;a:{if(!g){j[b>>2]=0;break a}e=-1;b:{c:{d:{e:{f:{g:{h:{i:{switch(j[a+8>>2]-1|0){case 1:if((f|0)>=0){if(!f){e=1;break c}a=d&3;if(d-1>>>0>=3){break h}d=0;e=1;break d}if(!m){e=1;break c}a=j[c>>2];f=m&3;j:{if(m-1>>>0<3){d=0;e=1;break j}g=m&-4;d=0;e=1;while(1){e=((((k[a+d|0]==44)+e|0)+(k[a+(d|1)|0]==44)|0)+(k[a+(d|2)|0]==44)|0)+(k[a+(d|3)|0]==44)|0;d=d+4|0;g=g-4|0;if(g){continue}break}}if(!f){break c}while(1){e=(k[a+d|0]==44)+e|0;d=d+1|0;f=f-1|0;if(f){continue}break}break c;case 0:break i;case 2:break g;default:break f}}e=(g|0)/2|0;d=ja(e<<1);j[b>>2]=d;if(!d){break b}if((g|0)<2){break a}a=0;b=h[c+11|0]<0?j[c>>2]:c;if((g&-2)!=2){g=e&-2;while(1){c=a<<1;i[c+d>>1]=k[b+(c|1)|0]|k[b+c|0]<<8;f=c|2;i[f+d>>1]=k[b+(c|3)|0]|k[b+f|0]<<8;a=a+2|0;g=g-2|0;if(g){continue}break}}if(!(e&1)){break a}a=a<<1;i[a+d>>1]=k[b+(a|1)|0]|k[a+b|0]<<8;break a}f=d&252;d=0;e=1;while(1){e=((((k[c+d|0]==44)+e|0)+(k[(d|1)+c|0]==44)|0)+(k[(d|2)+c|0]==44)|0)+(k[(d|3)+c|0]==44)|0;d=d+4|0;f=f-4|0;if(f){continue}break}break d}j[l+8>>2]=0;j[l>>2]=0;j[l+4>>2]=0;ia(l,c);e=b;a=j[l>>2];b=j[l+4>>2]-a|0;c=ja(b);j[e>>2]=c;if(!c){break e}V(c,a,b);if(a){j[l+4>>2]=a;T(a)}e=b>>1;break a}d=ja(g<<1);j[b>>2]=d;if(!d){break a}k:{l:{m:{b=k[c+11|0];a=b<<24>>24;if((a|0)>=0){if(!a){break k}a=b&3;if(b-1>>>0>=3){break m}e=0;break l}e=j[c+4>>2];if(!e){break k}b=j[c>>2];a=e&3;n:{if(e-1>>>0<3){c=0;break n}f=e&-4;c=0;while(1){i[d>>1]=k[b+c|0];i[d+2>>1]=k[b+(c|1)|0];i[d+4>>1]=k[b+(c|2)|0];i[d+6>>1]=k[b+(c|3)|0];c=c+4|0;d=d+8|0;f=f-4|0;if(f){continue}break}}if(!a){break k}while(1){i[d>>1]=k[b+c|0];c=c+1|0;d=d+2|0;a=a-1|0;if(a){continue}break}break k}f=b&252;e=0;while(1){i[d>>1]=k[c+e|0];i[d+2>>1]=k[(e|1)+c|0];i[d+4>>1]=k[(e|2)+c|0];i[d+6>>1]=k[(e|3)+c|0];e=e+4|0;d=d+8|0;f=f-4|0;if(f){continue}break}}if(!a){break k}while(1){i[d>>1]=k[c+e|0];e=e+1|0;d=d+2|0;a=a-1|0;if(a){continue}break}}e=g;break a}if(!a){break b}j[l+4>>2]=a;T(a);break b}if(!a){break c}while(1){e=(k[c+d|0]==44)+e|0;d=d+1|0;a=a-1|0;if(a){continue}break}}d=ja(e<<1);j[b>>2]=d;if(!d){break b}f=h[c+11|0]<0?j[c>>2]:c;c=f;while(1){a=k[c|0];o:{if((a|0)!=44){if(a){break o}n=d,o=ta(f),i[n>>1]=o;break a}n=d,o=ta(f),i[n>>1]=o;d=d+2|0;f=c+1|0}c=c+1|0;continue}}e=-1}M=l+16|0;return e}function Jo(a){var b=0,c=0,d=0,e=0,f=0,g=0;while(1){b=(c<<2)+a|0;j[b+2048>>2]=0;b=j[b>>2];if(b){while(1){d=j[b+68>>2];O[j[j[b>>2]+4>>2]](b);b=d;if(b){continue}break}}c=c+1|0;if((c|0)!=256){continue}break}c=0;while(1){b=(c<<2)+a|0;j[b+3072>>2]=0;e=b+1024|0;b=j[e>>2];if(b){while(1){d=j[b+80>>2];O[j[j[b>>2]+4>>2]](b);b=d;if(b){continue}break}}j[e>>2]=0;c=c+1|0;if((c|0)!=256){continue}break}b=j[a+4204>>2];if(b){T(Le(b))}b=j[a+4208>>2];if(b){T(Le(b))}e=j[a+4280>>2];if(e){d=j[e+4>>2];if(d){b=j[e+8>>2];c=d;a:{if((d|0)==(b|0)){break a}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((d|0)!=(b|0)){continue}break}c=j[e+4>>2]}j[e+8>>2]=d;T(c)}T(e)}i[a+4464>>1]=0;j[a+4460>>2]=0;j[a+4308>>2]=0;j[a+4312>>2]=0;j[a+4100>>2]=0;j[a+4152>>2]=0;j[a+4156>>2]=0;j[a+4192>>2]=0;j[a+4196>>2]=0;b=a+4158|0;i[b>>1]=0;i[b+2>>1]=0;i[b+4>>1]=0;i[b+6>>1]=0;j[a+4200>>2]=0;j[a+4380>>2]=0;if(h[a+4455|0]<=-1){T(j[a+4444>>2])}if(h[a+4443|0]<=-1){T(j[a+4432>>2])}b=j[a+4420>>2];if(b){j[a+4424>>2]=b;T(b)}if(h[a+4419|0]<=-1){T(j[a+4408>>2])}b=j[a+4396>>2];if(b){j[a+4400>>2]=b;T(b)}if(h[a+4395|0]<=-1){T(j[a+4384>>2])}if(h[a+4351|0]<=-1){T(j[a+4340>>2])}b=j[a+4328>>2];if(b){j[a+4332>>2]=b;T(b)}if(h[a+4327|0]<=-1){T(j[a+4316>>2])}d=j[a+4268>>2];if(d){b=j[a+4272>>2];c=d;b:{if((d|0)==(b|0)){break b}while(1){c=b-12|0;e=j[c>>2];if(e){j[b-8>>2]=e;T(e)}b=c;if((d|0)!=(b|0)){continue}break}c=j[a+4268>>2]}j[a+4272>>2]=d;T(c)}d=j[a+4248>>2];if(d){b=j[a+4252>>2];c=d;c:{if((d|0)==(b|0)){break c}while(1){if(h[b-5|0]<=-1){T(j[b-16>>2])}if(h[b-17|0]<=-1){T(j[b-28>>2])}b=b-40|0;if(h[b+11|0]<=-1){T(j[b>>2])}if((b|0)!=(d|0)){continue}break}c=j[a+4248>>2]}j[a+4252>>2]=d;T(c)}d=j[a+4232>>2];if(d){b=j[a+4236>>2];c=d;d:{if((d|0)==(b|0)){break d}while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((d|0)!=(b|0)){continue}break}c=j[a+4232>>2]}j[a+4236>>2]=d;T(c)}d=j[a+4216>>2];if(d){b=j[a+4220>>2];c=d;e:{if((d|0)==(b|0)){break e}while(1){e=b-12|0;c=j[e>>2];if(c){g=b-8|0;b=j[g>>2];f=c;f:{if((c|0)==(b|0)){break f}while(1){f=b-12|0;if(h[b-1|0]<=-1){T(j[f>>2])}b=f;if((c|0)!=(b|0)){continue}break}f=j[e>>2]}j[g>>2]=c;T(f)}b=e;if((d|0)!=(b|0)){continue}break}c=j[a+4216>>2]}j[a+4220>>2]=d;T(c)}if(h[a+4139|0]<=-1){T(j[a+4128>>2])}if(h[a+4127|0]<=-1){T(j[a+4116>>2])}if(h[a+4115|0]<=-1){T(j[a+4104>>2])}return a}function Ch(a,b){var c=0,d=0,e=0,f=0,g=0,i=0;d=b;a:{b:{g=j[b>>2];if(g){c=j[b+4>>2];if(!c){break b}while(1){d=c;c=j[c>>2];if(c){continue}break}}g=j[d+4>>2];if(g){break b}g=0;e=1;break a}j[g+8>>2]=j[d+8>>2];e=0}f=j[d+8>>2];c=j[f>>2];c:{if((d|0)==(c|0)){j[f>>2]=g;if((a|0)==(d|0)){c=0;a=g;break c}c=j[f+4>>2];break c}j[f+4>>2]=g}d:{e:{f:{i=!k[d+12|0];if((b|0)!=(d|0)){f=j[b+8>>2];j[d+8>>2]=f;j[f+((j[j[b+8>>2]>>2]!=(b|0))<<2)>>2]=d;f=j[b>>2];j[d>>2]=f;j[f+8>>2]=d;f=j[b+4>>2];j[d+4>>2]=f;if(f){j[f+8>>2]=d}h[d+12|0]=k[b+12|0];a=(a|0)==(b|0)?d:a}if(!(i|!a)){if(e){while(1){b=k[c+12|0];g:{e=j[c+8>>2];if(j[e>>2]!=(c|0)){if(!b){h[c+12|0]=1;h[e+12|0]=0;d=j[e+4>>2];b=j[d>>2];j[e+4>>2]=b;if(b){j[b+8>>2]=e}j[d+8>>2]=j[e+8>>2];b=j[e+8>>2];j[(((e|0)!=j[b>>2])<<2)+b>>2]=d;j[d>>2]=e;j[e+8>>2]=d;b=j[c>>2];a=(b|0)==(a|0)?c:a;c=j[b+4>>2]}d=j[c>>2];if(!(k[d+12|0]?0:d)){b=j[c+4>>2];if(k[b+12|0]?0:b){break f}h[c+12|0]=0;c=j[c+8>>2];h:{if((c|0)==(a|0)){c=a;break h}if(k[c+12|0]){break g}}h[c+12|0]=1;return}b=j[c+4>>2];if(b){break f}break e}i:{if(b){b=c;break i}h[c+12|0]=1;h[e+12|0]=0;b=j[c+4>>2];j[e>>2]=b;if(b){j[b+8>>2]=e}j[c+8>>2]=j[e+8>>2];d=j[e+8>>2];j:{if((e|0)==j[d>>2]){j[d>>2]=c;b=j[e>>2];break j}j[d+4>>2]=c}j[c+4>>2]=e;j[e+8>>2]=c;a=(a|0)==(e|0)?c:a}d=j[b>>2];k:{if(!(!d|k[d+12|0])){c=b;break k}c=j[b+4>>2];if(!(k[c+12|0]?0:c)){h[b+12|0]=0;c=j[b+8>>2];if(k[c+12|0]?(c|0)!=(a|0):0){break g}h[c+12|0]=1;return}if(d){if(!k[d+12|0]){c=b;break k}c=j[b+4>>2]}h[c+12|0]=1;h[b+12|0]=0;a=j[c>>2];j[b+4>>2]=a;if(a){j[a+8>>2]=b}j[c+8>>2]=j[b+8>>2];a=j[b+8>>2];j[((j[a>>2]!=(b|0))<<2)+a>>2]=c;j[c>>2]=b;j[b+8>>2]=c;d=b}a=c;c=j[c+8>>2];h[a+12|0]=k[c+12|0];h[c+12|0]=1;h[d+12|0]=1;b=j[c>>2];a=j[b+4>>2];j[c>>2]=a;if(a){j[a+8>>2]=c}j[b+8>>2]=j[c+8>>2];a=j[c+8>>2];j[(((c|0)!=j[a>>2])<<2)+a>>2]=b;j[b+4>>2]=c;j[c+8>>2]=b;return}b=j[c+8>>2];c=j[((j[b>>2]==(c|0))<<2)+b>>2];continue}}h[g+12|0]=1}return}if(k[b+12|0]){break e}d=c;break d}h[d+12|0]=1;h[c+12|0]=0;a=j[d+4>>2];j[c>>2]=a;if(a){j[a+8>>2]=c}j[d+8>>2]=j[c+8>>2];a=j[c+8>>2];j[((j[a>>2]!=(c|0))<<2)+a>>2]=d;j[d+4>>2]=c;j[c+8>>2]=d;b=c}c=j[d+8>>2];h[d+12|0]=k[c+12|0];h[c+12|0]=1;h[b+12|0]=1;b=j[c+4>>2];a=j[b>>2];j[c+4>>2]=a;if(a){j[a+8>>2]=c}j[b+8>>2]=j[c+8>>2];a=j[c+8>>2];j[(((c|0)!=j[a>>2])<<2)+a>>2]=b;j[b>>2]=c;j[c+8>>2]=b}function mq(a,b,c){var d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;d=M-48|0;M=d;a:{if(j[a+8>>2]>=j[a+4>>2]){break a}l=k[b+11|0];if(!(l<<24>>24<0?j[b+4>>2]:l)){break a}l=k[c+11|0];if(!(l<<24>>24<0?j[c+4>>2]:l)){break a}m=ha(d+32|0,b);f=h[m+11|0];if(k[((f|0)<0?j[m>>2]:d+32|0)|0]==95){q=1;xb(m,0,1);f=k[m+11|0]}b:{c:{if(f<<24>>24<=-1){b=j[m+4>>2];if(!b){break b}f=b-1|0;if(k[f+j[m>>2]|0]==95){break c}break b}b=f&255;if(!b){break b}f=b-1|0;if(k[f+(d+32|0)|0]!=95){break b}}xb(m,f,-1);q=q|2}i[d+16>>1]=95;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;wb(m,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}d:{e:{b=j[a+8>>2];if((b|0)<1){break e}n=k[m+11|0];e=n<<24>>24;o=(e|0)<0?j[m>>2]:d+32|0;r=b-1|0;t=j[a>>2];f=0;l=-1;while(1){s=f+r>>>1|0;b=j[t+(s<<2)>>2];g=h[b+11|0];f:{if((g|0)<=-1){g=j[b+4>>2];b=j[b>>2];break f}g=g&255}b=Eb(o,b,g);g=(b|0)<0;l=g?l:b?l:s;r=g?s-1|0:r;f=g?f:s+1|0;if((r|0)>=(f|0)){continue}break}if((l|0)<0){break e}g=j[t+(l<<2)>>2];f=k[g+11|0];b=f<<24>>24;e=(e|0)<0?j[m+4>>2]:n;n=(b|0)<0?j[g+4>>2]:f;if((e|0)!=(n|0)){break e}e=j[g>>2];b=(b|0)<0;g:{if(!b){if(!n){break g}if(k[o|0]!=(e&255)){break e}b=g;while(1){f=f-1|0;if(!f){break g}e=k[o+1|0];o=o+1|0;b=b+1|0;if((e|0)==k[b|0]){continue}break}break e}if(!n){break g}if(qa(b?e:g,o,n)){break e}}b=p(q,12);ua((b+g|0)+12|0,c);a=j[j[a>>2]+(l<<2)>>2];i[d+16>>1]=95;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;wb((a+b|0)+12|0,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]>-1){break d}T(j[d+16>>2]);break d}e=U(60);j[e>>2]=0;j[e+4>>2]=0;j[e+56>>2]=0;j[e+48>>2]=0;j[e+52>>2]=0;j[e+40>>2]=0;j[e+44>>2]=0;j[e+32>>2]=0;j[e+36>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;ua(e,m);b=(e+p(q,12)|0)+12|0;ua(b,c);i[d+16>>1]=95;h[d+27|0]=1;i[d>>1]=32;h[d+11|0]=1;wb(b,d+16|0,d);if(h[d+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}l=j[a+8>>2];f=l+1|0;j[a+8>>2]=f;j[j[a>>2]+(l<<2)>>2]=e;h:{if((l|0)<1){break h}while(1){b=l;n=h[e+11|0]<=-1?j[e>>2]:e;c=f<<2;f=j[a>>2];g=j[(c+f|0)-8>>2];i:{if(h[g+11|0]<=-1){c=j[g>>2];break i}c=g}if((ba(n,c)|0)>-1){break h}j[f+(b<<2)>>2]=g;l=b-1|0;f=b;if((b|0)>1){continue}break}l=0}j[j[a>>2]+(l<<2)>>2]=e}if(h[m+11|0]<=-1){T(j[m>>2])}}M=d+48|0}function Gh(a,b,c,d){var e=0,f=0,g=0,i=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=M-32|0;M=g;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;f=Fh(d);a:{m=k[c+16|0];n=0;b:{if(!(m&1)){break b}e=(k[c|0]+c|0)+18|0;n=e;if(!(m&2)){break b}n=k[e|0]|k[e+1|0]<<8|(k[e+2|0]<<16|k[e+3|0]<<24)}c:{if((Fh(n)|0)>(f|0)){break c}e=k[c+16|0];d:{if(!(e&1)){break d}f=0;if(e&2){e=k[c|0]+c|0;if(!(k[e+18|0]|k[e+19|0]<<8|(k[e+20|0]<<16|k[e+21|0]<<24))){break d}e=k[c+16|0];f=!(e&1)}o=c+17|0;p=l[c+2>>1];q=j[c+4>>2];m=k[c|0];n=j[b+44>>2];e:{if(f){break e}i=(c+m|0)+18|0;if(!(e&2)){break e}i=k[i|0]|k[i+1|0]<<8|(k[i+2|0]<<16|k[i+3|0]<<24)}je(g+16|0,n,o,m,q,p,i,d,0);f=k[g+27|0];e=f<<24>>24;i=(e|0)<0;f=i?j[g+20>>2]:f;if(f){aa(a,i?j[g+16>>2]:g+16|0,f);Z(a,10);e=k[g+27|0]}if(e<<24>>24>-1){break d}T(j[g+16>>2])}e=k[c+16|0];if(!(e&1)){break c}f:{if(e&2){e=k[c|0]+c|0;if(!(k[e+18|0]|k[e+19|0]<<8|(k[e+20|0]<<16|k[e+21|0]<<24))){break c}e=k[c+16|0];f=121429;if(!(e&1)){break f}}i=(k[c|0]+c|0)+18|0;f=i;if(!(e&2)){break f}f=k[i|0]|k[i+1|0]<<8|(k[i+2|0]<<16|k[i+3|0]<<24)}e=ca(f,121401);if(!e){break c}p=c+17|0;while(1){o=e+3|0;i=$e(o);if(i>>>0>=4294967280){break a}g:{h:{if(i>>>0>=11){c=i+16&-16;e=U(c);j[g+24>>2]=c|-2147483648;j[g+16>>2]=e;j[g+20>>2]=i;break h}h[g+27|0]=i;e=g+16|0;if(!i){break g}}V(e,o,i)}h[e+i|0]=0;e=Xb(j[b+44>>2],h[g+27|0]<0?j[g+16>>2]:g+16|0);if(e){while(1){c=k[e+16|0];i:{if(!(c&1)){break i}j:{if(c&2){c=k[e|0]+e|0;if(!(k[c+18|0]|k[c+19|0]<<8|(k[c+20|0]<<16|k[c+21|0]<<24))){break i}c=k[e+16|0];n=121429;if(!(c&1)){break j}}f=(k[e|0]+e|0)+18|0;n=f;if(!(c&2)){break j}n=k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24)}c=ca(n,121397);if(!c){break i}c=c+3|0;if(Eb(c,p,$e(c))){break i}q=g;r=j[b+44>>2];s=e+17|0;f=k[e|0];n=f;t=j[e+4>>2];u=l[e+2>>1];c=k[e+16|0];m=0;k:{if(!(c&1)){break k}f=(e+f|0)+18|0;m=f;if(!(c&2)){break k}m=k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24)}je(q,r,s,n,t,u,m,d,0);m=k[g+11|0];c=m<<24>>24;f=(c|0)<0;m=f?j[g+4>>2]:m;if(m){aa(a,f?j[g>>2]:g,m);Z(a,10);c=k[g+11|0]}if(c<<24>>24>-1){break i}T(j[g>>2])}e=j[e+12>>2];if(e){continue}break}}e=ca(i+o|0,121401);if(h[g+27|0]<=-1){T(j[g+16>>2])}if(e){continue}break}}M=g+32|0;return}X();z()}function Vg(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,n=0,o=0;f=M-48|0;M=f;a:{if(c>>>0<=2){c=c<<2;i=j[c+123020>>2];o=j[c+123008>>2];while(1){c=j[b+4>>2];b:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break b}c=pa(b)}if((c|0)==32|c-9>>>0<5){continue}break}g=1;c:{d:{switch(c-43|0){case 0:case 2:break d;default:break c}}g=(c|0)==45?-1:1;c=j[b+4>>2];if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break c}c=pa(b)}e:{f:{while(1){if(h[e+122944|0]==(c|32)){g:{if(e>>>0>6){break g}c=j[b+4>>2];if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break g}c=pa(b)}e=e+1|0;if((e|0)!=8){continue}break f}break}if((e|0)!=3){if((e|0)==8){break f}if(!d|e>>>0<4){break e}if((e|0)==8){break f}}c=j[b+104>>2];if(c){j[b+4>>2]=j[b+4>>2]-1}if(!d|e>>>0<4){break f}while(1){if(c){j[b+4>>2]=j[b+4>>2]-1}e=e-1|0;if(e>>>0>3){continue}break}}$n(f,q(q(g|0)*q(B)));g=j[f+8>>2];i=j[f+12>>2];l=j[f>>2];n=j[f+4>>2];break a}h:{i:{j:{if(e){break j}e=0;while(1){if(h[e+122953|0]!=(c|32)){break j}k:{if(e>>>0>1){break k}c=j[b+4>>2];if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break k}c=pa(b)}e=e+1|0;if((e|0)!=3){continue}break}break i}l:{switch(e|0){case 0:m:{if((c|0)!=48){break m}e=j[b+4>>2];n:{if(e>>>0>2]){j[b+4>>2]=e+1;e=k[e|0];break n}e=pa(b)}if((e&-33)==88){Yn(f+16|0,b,o,i,g,d);g=j[f+24>>2];i=j[f+28>>2];l=j[f+16>>2];n=j[f+20>>2];break a}if(!j[b+104>>2]){break m}j[b+4>>2]=j[b+4>>2]-1}Xn(f+32|0,b,c,o,i,g,d);g=j[f+40>>2];i=j[f+44>>2];l=j[f+32>>2];n=j[f+36>>2];break a;case 3:break i;default:break l}}if(j[b+104>>2]){j[b+4>>2]=j[b+4>>2]-1}break h}o:{c=j[b+4>>2];p:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break p}c=pa(b)}if((c|0)==40){e=1;break o}g=0;i=2147450880;if(!j[b+104>>2]){break a}j[b+4>>2]=j[b+4>>2]-1;break a}while(1){q:{c=j[b+4>>2];r:{if(c>>>0>2]){j[b+4>>2]=c+1;c=k[c|0];break r}c=pa(b)}if(!(c-48>>>0<10|c-65>>>0<26|(c|0)==95)){if(c-97>>>0>=26){break q}}e=e+1|0;continue}break}g=0;i=2147450880;if((c|0)==41){break a}c=j[b+104>>2];if(c){j[b+4>>2]=j[b+4>>2]-1}if(d){if(!e){break a}while(1){e=e-1|0;if(c){j[b+4>>2]=j[b+4>>2]-1}if(e){continue}break}break a}}j[37203]=28;Ib(b,0,0)}g=0;i=0}j[a>>2]=l;j[a+4>>2]=n;j[a+8>>2]=g;j[a+12>>2]=i;M=f+48|0}function Ph(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;e=M-80|0;M=e;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;a:{if(!j[b+16>>2]|j[d>>2]==j[d+4>>2]){break a}Fd(e+48|0,b,c);j[e+44>>2]=0;j[e+40>>2]=0;j[e+32>>2]=0;j[e+24>>2]=0;j[e+28>>2]=0;Sq(b,e+24|0,c,e+44|0,e+40|0);j[e+16>>2]=0;j[e+8>>2]=0;j[e+12>>2]=0;c=j[d>>2];b:{if((c|0)==j[d+4>>2]){break b}while(1){Eh(e- -64|0,j[b+16>>2],e+48|0,p(f,12)+c|0);g=k[e+75|0];c=g<<24>>24;i=j[e+68>>2];if((c|0)<0?i:g){l=k[e+19|0];if(l<<24>>24<0?j[e+12>>2]:l){$(e+8|0,121137);i=j[e+68>>2];g=k[e+75|0];c=g}c=c<<24>>24<0;aa(e+8|0,c?j[e+64>>2]:e- -64|0,c?i:g);c=k[e+75|0]}if(c<<24>>24<=-1){T(j[e+64>>2])}f=f+1|0;c=j[d>>2];if(f>>>0<(j[d+4>>2]-c|0)/12>>>0){continue}break}c=k[e+19|0];if(!(c<<24>>24<0?j[e+12>>2]:c)){break b}f=j[e+44>>2];c:{if((f|0)!=2){break c}if(j[b+44>>2]){j[e+72>>2]=0;j[e+64>>2]=0;j[e+68>>2]=0;ia(e- -64|0,e+8|0);Oc(e- -64|0,j[b+40>>2]);da(e+8|0,e- -64|0);c=j[e+64>>2];if(!c){break c}j[e+68>>2]=c;T(c);break c}Pc(e+8|0,j[b+36>>2])}Ab(e- -64|0,e+8|0,10);d=j[e+64>>2];j[a>>2]=d;g=j[e+68>>2];j[a+4>>2]=g;j[a+8>>2]=j[e+72>>2];d:{e:{switch(f-1|0){case 0:case 3:break e;default:break d}}c=g-d|0;if(!c){break d}c=(c|0)/12|0;i=c>>>0>1?c:1;c=0;while(1){f=p(c,12)+d|0;f:{if(j[b+44>>2]){j[e+72>>2]=0;j[e+64>>2]=0;j[e+68>>2]=0;ia(e- -64|0,f);vb(e- -64|0,j[b+40>>2]);da(f,e- -64|0);f=j[e+64>>2];if(!f){break f}j[e+68>>2]=f;T(f);break f}nb(f,j[b+36>>2])}c=c+1|0;if((i|0)!=(c|0)){continue}break}}if((d|0)==(g|0)){break b}while(1){f=d+12|0;g:{if(jb(b,d,0)){d=f;break g}c=d;h:{if((f|0)!=(g|0)){while(1){if(h[c+11|0]<=-1){T(j[c>>2])}i=j[f+4>>2];j[c>>2]=j[f>>2];j[c+4>>2]=i;j[c+8>>2]=j[f+8>>2];h[f+11|0]=0;h[f|0]=0;c=c+12|0;f=f+12|0;if((g|0)!=(f|0)){continue}break}g=j[a+4>>2];if((g|0)==(c|0)){break h}}while(1){f=g-12|0;if(h[g-1|0]<=-1){T(j[f>>2])}g=f;if((f|0)!=(c|0)){continue}break}}j[a+4>>2]=c;g=c}if((d|0)!=(g|0)){continue}break}}if(h[e+19|0]<=-1){T(j[e+8>>2])}if(h[e+35|0]<=-1){T(j[e+24>>2])}a=j[e+48>>2];if(!a){break a}b=a;f=j[e+52>>2];c=b;i:{if((b|0)==(f|0)){break i}while(1){b=f-12|0;if(h[f-1|0]<=-1){T(j[b>>2])}f=b;if((a|0)!=(f|0)){continue}break}c=j[e+48>>2]}b=c;j[e+52>>2]=a;T(b)}M=e+80|0}function gf(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=M-32|0;M=f;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;q=h[b+15|0];g=j[b+8>>2];a:{if((q|0)<=-1){break a}g=q&255}u=d-g|0;b:{if(!j[j[b+64>>2]+4484>>2]|u?(u|0)<=0:0){break b}q=k[b+28|0];d=h[b+27|0];g=j[b+20>>2];c:{if((d|0)<=-1){break c}g=d&255}if(q>>>0>g+u>>>0){break b}o=ha(f+16|0,b+16|0);g=o;q=b+4|0;d=h[q+11|0];s=j[b+8>>2];d:{if((d|0)<=-1){break d}s=d&255}$(g,s+c|0);e:{if(!Vc(b,h[o+11|0]<0?j[o>>2]:f+16|0)){break e}c=h[b+27|0];g=j[b+20>>2];f:{if((c|0)<=-1){break f}g=c&255}c=Xb(j[b+64>>2],h[o+11|0]<0?j[o>>2]:f+16|0);if(c){s=b+52|0;while(1){d=j[c+4>>2];m=i[c+2>>1];n=d+(m<<1)|0;if(m){p=l[b+30>>1];while(1){t=m>>>1|0;r=(t<<1)+d|0;e=p>>>0>l[r>>1];d=e?r+2|0:d;m=e?(t^-1)+m|0:t;if(m){continue}break}}g:{if((d|0)==(n|0)|l[b+30>>1]>1]){break g}d=j[b+56>>2];m=i[b+60>>1];p=d+(m<<1)|0;t=l[j[b+64>>2]+4198>>1];if(m){while(1){e=m>>>1|0;r=(e<<1)+d|0;n=t>>>0>l[r>>1];d=n?r+2|0:d;m=n?(e^-1)+m|0:e;if(m){continue}break}}if(t>>>0>=l[d>>1]?(d|0)!=(p|0):0){break g}h:{i:{if(j[s>>2]){Z(a,32);d=s;break i}d=q;if(h[d+11|0]>-1){break h}d=q}d=j[d>>2]}$(a,d);d=k[c+16|0];j:{k:{if(!(d&1)){break k}l:{if(d&2){d=k[c|0]+c|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break k}d=k[c+16|0];e=0;if(!(d&1)){break l}}p=(k[c|0]+c|0)+18|0;e=p;if(!(d&2)){break l}e=k[p|0]|k[p+1|0]<<8|(k[p+2|0]<<16|k[p+3|0]<<24)}if(ca(e,1056)){break j}}Z(a,32);$(a,1056);$(a,c+17|0)}m:{n:{d=k[c+16|0];if(!(d&1)){break n}if(d&2){d=k[c|0]+c|0;if(!(k[d+18|0]|k[d+19|0]<<8|(k[d+20|0]<<16|k[d+21|0]<<24))){break n}}Z(a,32);d=a;r=k[c+16|0];e=1080;o:{if(!(r&1)){break o}n=(k[c|0]+c|0)+18|0;e=n;if(!(r&2)){break o}e=k[n|0]|k[n+1|0]<<8|(k[n+2|0]<<16|k[n+3|0]<<24)}$(d,e);break m}d=Jb(j[j[b+64>>2]+4100>>2],l[b+30>>1]);Z(a,32);$(a,1060);$(a,d);T(d)}Z(a,10)}c=j[c+12>>2];if(c){continue}break}}if(!(h[b+29|0]&1)){break e}Sc(f,j[b+64>>2],h[o+11|0]<0?j[o>>2]:f+16|0,u+g|0,1,b,0,0);c=k[f+11|0];b=c<<24>>24;d=(b|0)<0;c=d?j[f+4>>2]:c;if(c){aa(a,d?j[f>>2]:f,c);b=k[f+11|0]}if(b<<24>>24>-1){break e}T(j[f>>2])}if(h[o+11|0]>-1){break b}T(j[o>>2])}M=f+32|0}function gp(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0;d=M-48|0;M=d;a:{b:{c:{d:{if(k[a+4228|0]){break d}h[a+4228|0]=1;j[d+40>>2]=h[b+11|0]<0?j[b>>2]:b;f=ka(b,d+40|0);e=k[b+11|0];g=e<<24>>24<0;if((f|0)==((g?j[b>>2]:b)+(g?j[b+4>>2]:e)|0)){break d}o=a+4232|0;g=-1;while(1){e:{switch(l|0){case 1:n=j[d+40>>2];g=n-f|0;if(g>>>0>=4294967280){break b}f:{if(g>>>0<=10){h[d+35|0]=g;e=d+24|0;break f}q=g+16&-16;e=U(q);j[d+32>>2]=q|-2147483648;j[d+24>>2]=e;j[d+28>>2]=g}if((f|0)!=(n|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((n|0)!=(f|0)){continue}break}}h[e|0]=0;g:{if(h[d+35|0]>=0){g=ta(d+24|0);break g}e=j[d+24>>2];g=ta(e);T(e)}if((g|0)<=-1){break d}if(!g){n=1;break c}_n(o,g);case 0:i=i+1|0;break;default:break e}}l=l+1|0;f=ka(b,d+40|0);e=k[b+11|0];n=e<<24>>24<0;if((f|0)!=((n?j[b>>2]:b)+(n?j[b+4>>2]:e)|0)){continue}break}if((i|0)!=2){break d}n=1;if((g|0)>=1){q=a+4232|0;o=0;while(1){j[d+32>>2]=0;j[d+24>>2]=0;j[d+28>>2]=0;h:{if(!ub(c,d+24|0)){i=0;break h}bb(d+24|0);b=0;j[d+40>>2]=h[d+35|0]<0?j[d+24>>2]:d+24|0;f=ka(d+24|0,d+40|0);l=j[d+24>>2];i=k[d+35|0];e=i<<24>>24<0;if((f|0)==((e?l:d+24|0)+(e?j[d+28>>2]:i)|0)){i=1;break h}while(1){i:{j:{switch(b|0){case 0:if(!_(d+24|0,f-(e&1?l:d+24|0)|0,5,1572,5)){break i}i=0;g=0;break h;case 1:break j;default:break i}}l=j[d+40>>2];i=l-f|0;if(i>>>0>=4294967280){break a}k:{if(i>>>0<=10){h[d+19|0]=i;e=d+8|0;break k}p=i+16&-16;e=U(p);j[d+16>>2]=p|-2147483648;j[d+8>>2]=e;j[d+12>>2]=i}if((f|0)!=(l|0)){while(1){h[e|0]=k[f|0];e=e+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[e|0]=0;e=j[a+4236>>2];if(e>>>0>2]){f=j[d+12>>2];j[e>>2]=j[d+8>>2];j[e+4>>2]=f;j[e+8>>2]=j[d+16>>2];j[a+4236>>2]=e+12;break i}Db(q,d+8|0);if(h[d+19|0]>-1){break i}T(j[d+8>>2])}i=1;b=b+1|0;f=ka(d+24|0,d+40|0);l=j[d+24>>2];p=k[d+35|0];e=p<<24>>24<0;if((f|0)!=((e?l:d+24|0)+(e?j[d+28>>2]:p)|0)){continue}break}}if(h[d+35|0]<=-1){T(j[d+24>>2])}if(!i){break d}o=o+1|0;if((o|0)<(g|0)){continue}break}}if(((j[a+4236>>2]-j[a+4232>>2]|0)/12|0)==(g|0)){break c}}n=0}M=d+48|0;return n}X();z()}X();z()}function Hf(a,b,c,d,e,f,g){var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=M+ -64|0;M=m;j[m+56>>2]=0;j[m+48>>2]=0;j[m+52>>2]=0;j[m+40>>2]=0;j[m+32>>2]=0;j[m+36>>2]=0;j[m+24>>2]=0;j[m+16>>2]=0;j[m+20>>2]=0;n=j[b+1024>>2];if(n){while(1){a:{if(!k[(l[n+30>>1]+b|0)+4492|0]){break a}Wh(m,n,c,d,e,f,g);q=k[m+11|0];o=q<<24>>24;if((o|0)<0?j[m+4>>2]:q){b:{if(!f){break b}o=j[f+52>>2];if(o){$(m+48|0,o);Z(m+48|0,32);break b}o=Jb(j[b+4100>>2],l[f+30>>1]);Z(m+48|0,32);$(m+48|0,1738);if(!o){break b}$(m+48|0,o);T(o)}o=k[m+11|0];q=o<<24>>24<0;aa(m+48|0,q?j[m>>2]:m,q?j[m+4>>2]:o);c:{if(j[n+52>>2]){Z(m+48|0,32);$(m+48|0,j[n+52>>2]);break c}o=Jb(j[b+4100>>2],l[n+30>>1]);Z(m+48|0,32);$(m+48|0,1738);if(!o){break c}$(m+48|0,o);T(o)}Z(m+48|0,10);o=k[m+11|0]}if(o<<24>>24>-1){break a}T(j[m>>2])}n=j[n+80>>2];if(n){continue}break}}if(d){t=(c+d|0)-1|0;p=j[((k[t|0]<<2)+b|0)+1024>>2];if(p){u=(d|0)<1;while(1){o=p+68|0;if(h[p+79|0]<=-1){n=j[o>>2]}else{n=o}d:{e:{f:{g:{if(u){break g}v=d+n|0;q=d;s=t;while(1){r=k[n|0];if(!r){break f}if((r|0)!=k[s|0]?(r|0)!=46:0){break g}s=s-1|0;n=n+1|0;r=(q|0)>1;q=q-1|0;if(r){continue}break}n=v}if(k[n|0]){break e}}h:{if(!k[(l[p+30>>1]+b|0)+4492|0]){break h}Wh(m,p,c,d,e,f,g);q=k[m+11|0];n=q<<24>>24;if((n|0)<0?j[m+4>>2]:q){i[b+4364>>1]=l[p+30>>1];if(!j[p+56>>2]){n=b;if(h[o+11|0]<=-1){o=j[o>>2]}j[n+4356>>2]=o}ua(m+32|0,m);i:{if(h[m+27|0]<=-1){h[j[m+16>>2]]=0;j[m+20>>2]=0;break i}h[m+27|0]=0;h[m+16|0]=0}j:{if(j[p+52>>2]){Z(m+16|0,32);$(m+16|0,j[p+52>>2]);break j}n=Jb(j[b+4100>>2],l[p+30>>1]);Z(m+16|0,32);$(m+16|0,1738);if(!n){break j}$(m+16|0,n);T(n)}mi(m+32|0,m+16|0);Z(m+32|0,10);n=k[m+43|0];o=n<<24>>24<0;aa(m+48|0,o?j[m+32>>2]:m+32|0,o?j[m+36>>2]:n);n=k[m+11|0]}if(n<<24>>24>-1){break h}T(j[m>>2])}n=p+84|0;break d}n=p+88|0}p=j[n>>2];if(p){continue}break}}b=j[m+52>>2];j[a>>2]=j[m+48>>2];j[a+4>>2]=b;j[a+8>>2]=j[m+56>>2];a=m+48|0}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;if(h[m+27|0]<=-1){T(j[m+16>>2])}if(h[m+43|0]<=-1){T(j[m+32>>2])}if(h[m+59|0]<=-1){T(j[m+48>>2])}M=m- -64|0}function Ze(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=M-128|0;M=k;a:{b:{c:{if(!qc(f,g,h,i,0,0,0,0)){break c}m=ei(f,g,h,i);s=e>>>16|0;o=s&32767;if((o|0)==32767){break c}if(m){break b}}xa(k+16|0,b,c,d,e,f,g,h,i);e=j[k+16>>2];d=j[k+20>>2];c=j[k+24>>2];b=j[k+28>>2];Wg(k,e,d,c,b,e,d,c,b);d=j[k+8>>2];e=j[k+12>>2];h=j[k>>2];i=j[k+4>>2];break a}m=o<<16;p=d;r=m|e&65535;n=r;q=h;r=i>>>16&32767;l=i&65535|r<<16;if((qc(b,c,p,n,f,g,h,l)|0)<=0){if(qc(b,c,p,n,f,g,q,l)){h=b;i=c;break a}xa(k+112|0,b,c,d,e,0,0,0,0);d=j[k+120>>2];e=j[k+124>>2];h=j[k+112>>2];i=j[k+116>>2];break a}if(o){i=c;h=b}else{xa(k+96|0,b,c,p,n,0,0,0,1081540608);h=j[k+108>>2];n=h;p=j[k+104>>2];o=(h>>>16|0)-120|0;i=j[k+100>>2];h=j[k+96>>2]}if(!r){xa(k+80|0,f,g,q,l,0,0,0,1081540608);f=j[k+92>>2];l=f;q=j[k+88>>2];r=(l>>>16|0)-120|0;g=j[k+84>>2];f=j[k+80>>2]}t=l&65535|65536;n=n&65535|65536;if((o|0)>(r|0)){while(1){l=p;m=q;u=l-m|0;m=n-((l>>>0>>0)+t|0)|0;l=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;m=m-(l>>>0>u>>>0)|0;l=u-l|0;d:{if((m|0)>0?1:(m|0)>=0){n=h;h=h-f|0;i=i-((f>>>0>n>>>0)+g|0)|0;if(!(h|l|(i|m))){xa(k+32|0,b,c,d,e,0,0,0,0);d=j[k+40>>2];e=j[k+44>>2];h=j[k+32>>2];i=j[k+36>>2];break a}m=m<<1|l>>>31;p=l<<1|i>>>31;break d}m=n<<1|p>>>31;p=p<<1|i>>>31}n=m;m=i<<1|h>>>31;h=h<<1;i=m;o=o-1|0;if((r|0)<(o|0)){continue}break}o=r}m=p;r=m-q|0;l=n-((m>>>0>>0)+t|0)|0;m=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;l=l-(m>>>0>r>>>0)|0;q=r-m|0;e:{if((l|0)<0){q=p;l=n;break e}p=h;h=h-f|0;i=i-((f>>>0>p>>>0)+g|0)|0;if(h|q|(i|l)){break e}xa(k+48|0,b,c,d,e,0,0,0,0);d=j[k+56>>2];e=j[k+60>>2];h=j[k+48>>2];i=j[k+52>>2];break a}if((l|0)==65535|l>>>0<65535){while(1){b=i>>>31|0;o=o-1|0;n=i<<1|h>>>31;h=h<<1;i=n;c=b;b=q;l=l<<1|b>>>31;q=c|b<<1;if(l>>>0<65536){continue}break}}b=s&32768;if((o|0)<=0){xa(k- -64|0,h,i,q,l&65535|(b|o+120)<<16,0,0,0,1065811968);d=j[k+72>>2];e=j[k+76>>2];h=j[k+64>>2];i=j[k+68>>2];break a}d=q;e=l&65535|(b|o)<<16}j[a>>2]=h;j[a+4>>2]=i;j[a+8>>2]=d;j[a+12>>2]=e;M=k+128|0}function Hh(a,b,c,d,e,f){var g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;l=M-48|0;M=l;j[l+40>>2]=0;j[l+32>>2]=0;j[l+36>>2]=0;j[l+24>>2]=0;j[l+16>>2]=0;j[l+20>>2]=0;a:{b:{c:{d:{if(j[a+56>>2]){m=W(b);if(m>>>0>=4294967280){break c}e:{f:{if(m>>>0>=11){g=m+16&-16;i=U(g);j[l+8>>2]=g|-2147483648;j[l>>2]=i;j[l+4>>2]=m;g=l;break f}h[l+11|0]=m;g=l;i=l;if(!m){break e}}V(i,b,m)}h[i+m|0]=0;q=ia(l+32|0,l);if(h[g+11|0]<=-1){T(j[l>>2])}m=W(c);if(m>>>0>=4294967280){break c}g:{h:{if(m>>>0>=11){g=m+16&-16;i=U(g);j[l+8>>2]=g|-2147483648;j[l>>2]=i;j[l+4>>2]=m;g=l;break h}h[l+11|0]=m;i=l;if(!m){break g}}V(i,c,m)}h[i+m|0]=0;t=ia(l+16|0,l);if(h[g+11|0]>-1){break d}T(j[l>>2]);break d}q=W(b);t=W(c)}r=t+1|0;g=p(r,q+1|0);o=ja(g);u=ja(g);if(!o|!u){break b}i=1;i:{if((q|0)<1){break i}g=q&3;if(q-1>>>0>=3){m=q&-4;while(1){h[p(i,r)+o|0]=0;h[p(i+1|0,r)+o|0]=0;h[p(i+2|0,r)+o|0]=0;h[p(i+3|0,r)+o|0]=0;i=i+4|0;m=m-4|0;if(m){continue}break}}if(!g){break i}while(1){h[p(i,r)+o|0]=0;i=i+1|0;g=g-1|0;if(g){continue}break}}if((t|0)>=0){ya(o,0,r)}if((q|0)>=1){A=j[l+16>>2];B=j[l+32>>2];i=1;while(1){m=i;j:{if((t|0)<1){break j}x=p(m,r);i=m-1|0;y=p(i,r);if(j[a+56>>2]){g=1;v=(i<<1)+B|0;while(1){s=k[v|0]|k[v+1|0]<<8;i=g;n=i-1|0;g=(n<<1)+A|0;g=k[g|0]|k[g+1|0]<<8;k:{if(!((s&255)!=(g&255)|(s>>>8|0)!=(g>>>8|0))){g=i+x|0;h[o+g|0]=k[(n+y|0)+o|0]+1;n=2;break k}s=h[(i+y|0)+o|0];g=i+x|0;w=o+g|0;n=h[w-1|0];if((s|0)>=(n|0)){h[w|0]=s;n=0;break k}h[w|0]=n;n=1}h[g+u|0]=n;g=i+1|0;if((i|0)!=(t|0)){continue}break}break j}w=k[b+i|0];g=1;while(1){i=g;n=i-1|0;l:{if((w|0)!=k[n+c|0]){s=h[(i+y|0)+o|0];g=i+x|0;v=o+g|0;n=h[v-1|0];if((s|0)>=(n|0)){h[v|0]=s;n=0;break l}h[v|0]=n;n=1;break l}g=i+x|0;h[o+g|0]=k[(n+y|0)+o|0]+1;n=2}h[g+u|0]=n;g=i+1|0;if((i|0)!=(t|0)){continue}break}}i=m+1|0;if((m|0)!=(q|0)){continue}break}}j[f>>2]=u;T(o);j[d>>2]=q;j[e>>2]=t;break a}X();z()}if(o){T(o)}if(u){T(u)}j[f>>2]=0}a=j[l+16>>2];if(a){j[l+20>>2]=a;T(a)}a=j[l+32>>2];if(a){j[l+36>>2]=a;T(a)}M=l+48|0}function Mg(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;f=j[b>>2];a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{if(!d){break l}g=j[d>>2];if(!g){break l}if(!a){d=c;break j}j[d>>2]=0;d=c;break k}m:{if(!j[j[37179]>>2]){if(!a){break m}if(!c){break a}g=c;while(1){d=h[f|0];if(d){j[a>>2]=d&57343;a=a+4|0;f=f+1|0;g=g-1|0;if(g){continue}break a}break}j[a>>2]=0;j[b>>2]=0;return c-g|0}d=c;if(!a){break i}break g}return W(f)}e=1;break g}e=0;break h}e=1}while(1){if(!e){e=k[f|0]>>>3|0;if((e-16|e+(g>>26))>>>0>7){break f}i=f+1|0;e=i;n:{if(!(g&33554432)){break n}if((k[i|0]&192)!=128){break f}i=f+2|0;e=i;if(!(g&524288)){break n}if((k[i|0]&192)!=128){break f}e=f+3|0}f=e;d=d-1|0;e=1;continue}while(1){g=k[f|0];o:{if(f&3|g-1>>>0>126){break o}g=j[f>>2];if((g|g-16843009)&-2139062144){break o}while(1){d=d-4|0;g=j[f+4>>2];e=f+4|0;f=e;if(!((g-16843009|g)&-2139062144)){continue}break}f=e}e=g&255;if(e-1>>>0<=126){d=d-1|0;f=f+1|0;continue}break}e=e-194|0;if(e>>>0>50){break e}f=f+1|0;g=j[(e<<2)+123312>>2];e=0;continue}}while(1){if(!e){if(!d){break a}while(1){p:{e=k[f|0];i=e-1|0;q:{r:{if(i>>>0>126){g=e;break r}if(f&3|d>>>0<5){break q}s:{while(1){g=j[f>>2];if((g|g-16843009)&-2139062144){break s}j[a>>2]=g&255;j[a+4>>2]=k[f+1|0];j[a+8>>2]=k[f+2|0];j[a+12>>2]=k[f+3|0];a=a+16|0;f=f+4|0;d=d-4|0;if(d>>>0>4){continue}break}g=k[f|0]}e=g&255;i=e-1|0}if(i>>>0>126){break p}}j[a>>2]=e;a=a+4|0;f=f+1|0;d=d-1|0;if(d){continue}break a}break}e=e-194|0;if(e>>>0>50){break e}f=f+1|0;g=j[(e<<2)+123312>>2];e=1;continue}i=k[f|0];e=i>>>3|0;if((e-16|e+(g>>26))>>>0>7){break f}t:{u:{l=f+1|0;e=i-128|g<<6;i=l;v:{if((e|0)>-1){break v}i=k[l|0]-128|0;if(i>>>0>63){break u}l=f+2|0;e=i|e<<6;i=l;if((e|0)>-1){break v}i=k[l|0]-128|0;if(i>>>0>63){break u}e=i|e<<6;i=f+3|0}f=i;j[a>>2]=e;d=d-1|0;a=a+4|0;break t}j[37203]=25;f=f-1|0;break c}e=0;continue}}f=f-1|0;if(g){break d}g=k[f|0]}if(g&255){break d}if(a){j[a>>2]=0;j[b>>2]=0}return c-d|0}j[37203]=25;if(!a){break b}}j[b>>2]=f}return-1}j[b>>2]=f;return c}function jd(a,b,c,d,e){var f=0,g=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=M-16|0;M=r;q=h[a+15|0];n=j[a+8>>2];a:{if((q|0)<=-1){break a}n=q&255}s=c-n|0;b:{if(!(!j[j[a+64>>2]+4484>>2]|s?(s|0)<=0:0)){n=ha(r,a+16|0);q=n;c=h[a+15|0];f=j[a+8>>2];c:{if((c|0)<=-1){break c}f=c&255}$(q,f+b|0);d:{e:{if(!Vc(a,h[n+11|0]<0?j[n>>2]:r)){break e}b=h[a+27|0];q=j[a+20>>2];f:{if((b|0)<=-1){break f}q=b&255}g=Xb(j[a+64>>2],h[n+11|0]<0?j[n>>2]:r);g:{if(!g){break g}if(!e){while(1){c=j[g+4>>2];b=i[g+2>>1];m=c+(b<<1)|0;if(b){p=l[a+30>>1];while(1){o=b>>>1|0;k=(o<<1)+c|0;f=p>>>0>l[k>>1];c=f?k+2|0:c;b=f?(o^-1)+b|0:o;if(b){continue}break}}if(!((c|0)==(m|0)|l[a+30>>1]>1])){c=j[a+56>>2];b=i[a+60>>1];p=c+(b<<1)|0;o=l[j[a+64>>2]+4198>>1];if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=o>>>0>l[k>>1];c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}b=0;if((c|0)==(p|0)|o>>>0>1]){break d}}g=j[g+12>>2];if(g){continue}break g}}while(1){c=j[g+4>>2];b=i[g+2>>1];m=c+(b<<1)|0;if(b){p=l[a+30>>1];while(1){o=b>>>1|0;k=(o<<1)+c|0;f=p>>>0>l[k>>1];c=f?k+2|0:c;b=f?(o^-1)+b|0:o;if(b){continue}break}}h:{if((c|0)==(m|0)|l[a+30>>1]>1]){break h}c=j[a+56>>2];b=i[a+60>>1];p=c+(b<<1)|0;o=l[j[a+64>>2]+4198>>1];if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=o>>>0>l[k>>1];c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}if(o>>>0>=l[c>>1]?(c|0)!=(p|0):0){break h}c=j[g+4>>2];b=i[g+2>>1];p=c+(b<<1)|0;if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=l[k>>1]>>0;c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}b=0;if(!((c|0)==(p|0)|l[c>>1]>e>>>0)){break d}c=j[a+56>>2];if(!c){break h}b=i[a+60>>1];p=(b<<1)+c|0;if(b){while(1){f=b>>>1|0;k=(f<<1)+c|0;m=l[k>>1]>>0;c=m?k+2|0:c;b=m?(f^-1)+b|0:f;if(b){continue}break}}if((c|0)==(p|0)|l[c>>1]>e>>>0){break h}b=0;break d}g=j[g+12>>2];if(g){continue}break}}if(!(h[a+29|0]&1)){break e}g=Qa(j[a+64>>2],h[n+11|0]<0?j[n>>2]:r,q+s|0,1,a,0,e,d);b=0;if(g){break d}}b=1}if(h[n+11|0]<=-1){T(j[n>>2])}if(!b){break b}}g=0}M=r+16|0;return g}function Ah(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0;f=M-32|0;M=f;a:{b:{c:{d:{b=j[a+16>>2];if(b>>>0>=341){j[a+16>>2]=b-341;b=j[a+4>>2];k=j[b>>2];c=b+4|0;j[a+4>>2]=c;e=j[a+8>>2];e:{if((e|0)!=j[a+12>>2]){break e}h=j[a>>2];if(h>>>0>>0){b=((c-h>>2)+1|0)/-2<<2;g=b+c|0;d=e-c|0;if(d){Ja(g,c,d);c=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break e}b=e-h|0;d=b?b>>1:1;if(d>>>0>=1073741824){break d}b=d<<2;i=U(b);g=b+i|0;b=e-c|0;d=i+(d&-4)|0;e=d;if(b){e=b+d|0;b=d;while(1){j[b>>2]=j[c>>2];c=c+4|0;b=b+4|0;if((e|0)!=(b|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=i;if(!h){break e}T(h);e=j[a+8>>2]}j[e>>2]=k;j[a+8>>2]=j[a+8>>2]+4;break a}b=j[a+8>>2];c=b-j[a+4>>2]>>2;d=j[a+12>>2];g=d-j[a>>2]|0;if(c>>>0>2>>>0){if((b|0)!=(d|0)){l=f,m=U(4092),j[l+8>>2]=m;Ad(a,f+8|0);break a}l=f,m=U(4092),j[l+8>>2]=m;zd(a,f+8|0);b=j[a+4>>2];k=j[b>>2];c=b+4|0;j[a+4>>2]=c;e=j[a+8>>2];f:{if((e|0)!=j[a+12>>2]){break f}h=j[a>>2];if(h>>>0>>0){b=((c-h>>2)+1|0)/-2<<2;g=b+c|0;d=e-c|0;if(d){Ja(g,c,d);c=j[a+4>>2]}e=d+g|0;j[a+8>>2]=e;j[a+4>>2]=b+c;break f}b=e-h|0;d=b?b>>1:1;if(d>>>0>=1073741824){break d}b=d<<2;i=U(b);g=b+i|0;b=e-c|0;d=i+(d&-4)|0;e=d;if(b){e=b+d|0;b=d;while(1){j[b>>2]=j[c>>2];c=c+4|0;b=b+4|0;if((e|0)!=(b|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=e;j[a+4>>2]=d;j[a>>2]=i;if(!h){break f}T(h);e=j[a+8>>2]}j[e>>2]=k;j[a+8>>2]=j[a+8>>2]+4;break a}j[f+24>>2]=a+12;b=g?g>>1:1;if(b>>>0>=1073741824){break d}d=b<<2;g=U(d);j[f+8>>2]=g;b=g+(c<<2)|0;j[f+16>>2]=b;j[f+20>>2]=d+g;j[f+12>>2]=b;l=f,m=U(4092),j[l+4>>2]=m;Ad(f+8|0,f+4|0);c=j[a+8>>2];if((c|0)==j[a+4>>2]){b=c;break b}while(1){c=c-4|0;zd(f+8|0,c);if(j[a+4>>2]!=(c|0)){continue}break}break c}D();z()}b=j[a+8>>2]}g=j[a>>2];j[a>>2]=j[f+8>>2];j[f+8>>2]=g;j[a+4>>2]=j[f+12>>2];j[f+12>>2]=c;j[a+8>>2]=j[f+16>>2];j[f+16>>2]=b;d=j[a+12>>2];j[a+12>>2]=j[f+20>>2];j[f+20>>2]=d;if((b|0)!=(c|0)){j[f+16>>2]=b+(((b-c|0)-4>>>2^-1)<<2)}if(!g){break a}T(g)}M=f+32|0}function Ro(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;n=1;while(1){p=((n<<2)+a|0)+1024|0;f=j[p>>2];a:{if(!f){break a}while(1){l=0;i=f;f=j[f+80>>2];b:{if(!f){break b}g=i+68|0;if(h[i+79|0]>=0){m=k[g|0];d=f;while(1){c=d+68|0;c=h[d+79|0]<=-1?j[c>>2]:c;b=m;c:{if(!b){break c}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break c}while(1){b=k[e+1|0];if(!b){break c}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+80>>2];if(d){continue}break}break b}g=j[g>>2];m=k[g|0];d=f;while(1){c=d+68|0;c=h[d+79|0]<0?j[c>>2]:c;b=m;d:{if(!b){break d}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break d}while(1){b=k[e+1|0];if(!b){break d}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+80>>2];if(d){continue}break}}j[i+84>>2]=0;j[i+88>>2]=l;if(f){c=i+68|0;e=f+68|0;c=h[i+79|0]<=-1?j[c>>2]:c;b=k[c|0];e=h[f+79|0]<=-1?j[e>>2]:e;e:{if(!b|(b|0)!=46&k[e|0]!=(b|0)){break e}while(1){b=k[c+1|0];if(!b){break e}d=k[e+1|0];e=e+1|0;c=c+1|0;if(!((b|0)!=46&(b|0)!=(d|0))){continue}break}}if(b){continue}j[i+84>>2]=f;continue}break}b=j[p>>2];if(!b){break a}while(1){l=j[b+80>>2];if(!l){break a}g=b+68|0;f:{g:{h:{if(h[b+79|0]>=0){m=k[g|0];f=0;b=l;while(1){d=b;c=b+68|0;c=h[b+79|0]<=-1?j[c>>2]:c;b=m;i:{if(!b){break i}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break i}while(1){b=k[e+1|0];if(!b){break i}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+80>>2];if(b){continue}break}break g}g=j[g>>2];m=k[g|0];f=0;b=l;while(1){d=b;c=b+68|0;c=h[b+79|0]<0?j[c>>2]:c;b=m;j:{if(!b){break j}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break j}while(1){b=k[e+1|0];if(!b){break j}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+80>>2];if(b){continue}break}break g}d=f;if(!d){break f}}j[d+88>>2]=0}b=l;if(b){continue}break}}n=n+1|0;if((n|0)!=256){continue}break}}function Ne(a,b,c){var d=0,e=0,f=0,g=0,i=0,k=0,l=0;g=M-32|0;M=g;i=j[a>>2];l=(b-i|0)/12|0;a:{b:{e=j[a+4>>2];d=j[a+8>>2];c:{if(e>>>0>>0){if((b|0)==(e|0)){e=j[c+4>>2];j[b>>2]=j[c>>2];j[b+4>>2]=e;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[a+4>>2]=b+12;break c}i=e;k=(e-b|0)-12|0;d=p((k|0)/12|0,12)+b|0;if(e>>>0>d>>>0){f=d;while(1){l=j[f+4>>2];j[i>>2]=j[f>>2];j[i+4>>2]=l;j[i+8>>2]=j[f+8>>2];j[f>>2]=0;j[f+4>>2]=0;j[f+8>>2]=0;i=i+12|0;f=f+12|0;if(f>>>0>>0){continue}break}}j[a+4>>2]=i;if(k){while(1){a=e-12|0;d=d-12|0;if(h[e-1|0]<=-1){T(j[a>>2])}e=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=e;j[a+8>>2]=j[d+8>>2];h[d+11|0]=0;h[d|0]=0;e=a;if((b|0)!=(d|0)){continue}break}}if(h[b+11|0]<=-1){T(j[b>>2])}a=j[c+4>>2];j[b>>2]=j[c>>2];j[b+4>>2]=a;j[b+8>>2]=j[c+8>>2];h[c+11|0]=0;h[c|0]=0;break c}k=((e-i|0)/12|0)+1|0;if(k>>>0>=357913942){break b}j[g+24>>2]=a+8;f=g;i=(d-i|0)/12|0;d=i<<1;d=i>>>0<178956970?d>>>0>>0?k:d:357913941;e=0;d:{if(!d){break d}if(d>>>0>=357913942){break a}e=U(p(d,12))}j[f+8>>2]=e;f=e+p(l,12)|0;j[g+16>>2]=f;j[g+20>>2]=e+p(d,12);j[g+12>>2]=f;Jq(g+8|0,c);c=j[g+12>>2];f=c;e=j[a>>2];if((e|0)!=(b|0)){f=c;d=b;while(1){d=d-12|0;c=j[d+4>>2];f=f-12|0;j[f>>2]=j[d>>2];j[f+4>>2]=c;j[f+8>>2]=j[d+8>>2];j[d>>2]=0;j[d+4>>2]=0;j[d+8>>2]=0;f=j[g+12>>2]-12|0;j[g+12>>2]=f;if((d|0)!=(e|0)){continue}break}}e=j[a+4>>2];e:{if((e|0)==(b|0)){d=j[g+16>>2];break e}d=j[g+16>>2];while(1){c=j[b+4>>2];j[d>>2]=j[b>>2];j[d+4>>2]=c;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;d=j[g+16>>2]+12|0;j[g+16>>2]=d;b=b+12|0;if((e|0)!=(b|0)){continue}break}b=j[a+4>>2];f=j[g+12>>2]}e=j[a>>2];j[a>>2]=f;j[g+12>>2]=e;j[a+4>>2]=d;j[g+16>>2]=b;c=j[a+8>>2];j[a+8>>2]=j[g+20>>2];j[g+8>>2]=e;j[g+20>>2]=c;if((b|0)!=(e|0)){while(1){b=b-12|0;j[g+16>>2]=b;if(h[b+11|0]<=-1){T(j[b>>2]);b=j[g+16>>2]}if((b|0)!=(e|0)){continue}break}b=j[g+8>>2]}if(b){T(b)}}M=g+32|0;return}X();z()}D();z()}function Fb(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;l=M-16|0;M=l;a:{if(!j[a+4312>>2]){break a}b:{if(!j[a+4144>>2]){c=k[b+11|0];e=c<<24>>24;c=(e|0)<0?j[b+4>>2]:c;if(!c){break a}d=j[b>>2];i=h[a+4327|0];if((i|0)<0){break b}r=(e|0)<0?d:b;o=c>>>0>1?c:1;c=a+4316|0;e=i&255;q=c+e|0;d=0;while(1){i=d+r|0;c:{if(!e){a=c;break c}s=h[i|0];a=c;b=e;while(1){g=b>>>1|0;m=g+a|0;n=(s|0)>h[m|0];a=n?m+1|0:a;b=n?(g^-1)+b|0:g;if(b){continue}break}}f=(a|0)!=(q|0)?(h[i|0]>=h[a|0])+f|0:f;d=d+1|0;if((o|0)!=(d|0)){continue}break}break a}if(j[a+4328>>2]==j[a+4332>>2]){break a}j[l+8>>2]=0;j[l>>2]=0;j[l+4>>2]=0;ia(l,b);c=j[l>>2];b=j[l+4>>2];d:{if((c|0)==(b|0)){c=b;break d}e=b-c|0;d=(e|0)>-1?e:-1;b=c-b|0;d=p((d|0)<1?d:1,((b|0)>(e|0)?b:e)>>>1|0);i=d>>>0>1?d:1;g=j[a+4332>>2];e=j[a+4328>>2];a=g-e|0;if(a){d=a>>1;while(1){a=(n<<1)+c|0;r=k[a|0]|k[a+1|0]<<8;a=e;b=d;while(1){o=b>>>1|0;q=(o<<1)+a|0;s=r>>>0>(k[q|0]|k[q+1|0]<<8)>>>0;a=s?q+2|0:a;b=s?(o^-1)+b|0:o;if(b){continue}break}f=(a|0)!=(g|0)?(r>>>0>=(k[a|0]|k[a+1|0]<<8)>>>0)+f|0:f;n=n+1|0;if((i|0)!=(n|0)){continue}break}break d}b=(e|0)==(g|0);f=0;e:{if(b){break e}f=(k[c|0]|k[c+1|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0}if(d>>>0<2){break d}a=1;d=i-1|0;g=d&1;if((i|0)!=2){d=d&-2;while(1){if(!b){m=f;f=(a<<1)+c|0;f=m+((k[f|0]|k[f+1|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0)|0}if(!b){m=f;f=(a<<1)+c|0;f=m+((k[f+2|0]|k[f+3|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0)|0}a=a+2|0;d=d-2|0;if(d){continue}break}}if(b|!g){break d}a=(a<<1)+c|0;f=((k[a|0]|k[a+1|0]<<8)>>>0>=(k[e|0]|k[e+1|0]<<8)>>>0)+f|0}if(!c){break a}j[l+4>>2]=c;T(c);break a}r=(e|0)<0?d:b;o=c>>>0>1?c:1;e=j[a+4316>>2];c=j[a+4320>>2];q=e+c|0;d=0;while(1){i=d+r|0;a=e;if(c){s=h[i|0];b=c;while(1){g=b>>>1|0;m=g+a|0;n=(s|0)>h[m|0];a=n?m+1|0:a;b=n?(g^-1)+b|0:g;if(b){continue}break}}f=(a|0)!=(q|0)?(h[i|0]>=h[a|0])+f|0:f;d=d+1|0;if((o|0)!=(d|0)){continue}break}}M=l+16|0;return f<<16>>16}function Uo(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;n=1;while(1){p=(n<<2)+a|0;f=j[p>>2];a:{if(!f){break a}while(1){l=0;i=f;f=j[f+68>>2];b:{if(!f){break b}g=i+4|0;if(h[i+15|0]>=0){m=k[g|0];d=f;while(1){c=d+4|0;c=h[d+15|0]<=-1?j[c>>2]:c;b=m;c:{if(!b){break c}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break c}while(1){b=k[e+1|0];if(!b){break c}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+68>>2];if(d){continue}break}break b}g=j[g>>2];m=k[g|0];d=f;while(1){c=d+4|0;c=h[d+15|0]<0?j[c>>2]:c;b=m;d:{if(!b){break d}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break d}while(1){b=k[e+1|0];if(!b){break d}o=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(o|0))){continue}break}}if(b&255){l=d;break b}d=j[d+68>>2];if(d){continue}break}}j[i+72>>2]=0;j[i+76>>2]=l;if(f){c=i+4|0;e=f+4|0;c=h[i+15|0]<=-1?j[c>>2]:c;b=k[c|0];e=h[f+15|0]<=-1?j[e>>2]:e;e:{if(!b|(b|0)!=46&k[e|0]!=(b|0)){break e}while(1){b=k[c+1|0];if(!b){break e}d=k[e+1|0];e=e+1|0;c=c+1|0;if(!((b|0)!=46&(b|0)!=(d|0))){continue}break}}if(b){continue}j[i+72>>2]=f;continue}break}b=j[p>>2];if(!b){break a}while(1){l=j[b+68>>2];if(!l){break a}g=b+4|0;f:{g:{h:{if(h[b+15|0]>=0){m=k[g|0];f=0;b=l;while(1){d=b;c=b+4|0;c=h[b+15|0]<=-1?j[c>>2]:c;b=m;i:{if(!b){break i}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break i}while(1){b=k[e+1|0];if(!b){break i}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+68>>2];if(b){continue}break}break g}g=j[g>>2];m=k[g|0];f=0;b=l;while(1){d=b;c=b+4|0;c=h[b+15|0]<0?j[c>>2]:c;b=m;j:{if(!b){break j}e=g;if((b|0)!=46&(b|0)!=k[c|0]){break j}while(1){b=k[e+1|0];if(!b){break j}i=k[c+1|0];c=c+1|0;e=e+1|0;if(!((b|0)!=46&(b|0)!=(i|0))){continue}break}}if(b&255){break h}f=d;b=j[d+68>>2];if(b){continue}break}break g}d=f;if(!d){break f}}j[d+76>>2]=0}b=l;if(b){continue}break}}n=n+1|0;if((n|0)!=256){continue}break}}function Df(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,j=0,l=0;c=1;a:{if(!(!a|!b)){f=Ya(a,10);b:{c:{c=ca(a,1756);if(!(!f|c>>>0<=f>>>0?c:0)){c=ca(a,1752);if(!c){break c}}i=a;if(!f){break b}if(c>>>0>f>>>0){break c}i=a;break b}c=ca(a,1813);i=0}d=Ya(b,10);a=ca(b,1756);d:{e:{if(!(!d|a>>>0<=d>>>0?a:0)){a=ca(b,1752);if(!a){break e}}if(!d|a>>>0<=d>>>0){break d}}a=ca(b,1813)}b=(a|0)!=0;e=(c|0)!=0;g=1;f:{if(!a|!c){break f}g:{if(f){if(c>>>0>=f>>>0){e=1;b=1;break f}e=1;b=1;j=!d;if(!(j|a>>>0>>0)){break f}break g}if(d){e=1;b=1;if(a>>>0>=d>>>0){break f}}while(1){if(k[c+3|0]!=k[a+3|0]){break a}b=a+3|0;a=c+3|0;c=0;g=0;while(1){b=b+1|0;h:{i:{f=h[a+1|0];switch(f|0){case 0:case 9:case 10:case 32:break i;default:break h}}g=1}j:{k:{e=h[b|0];switch(e|0){case 0:case 9:case 10:case 32:break k;default:break j}}c=1}a=a+1|0;if((e|0)==(f|0)?!(c|g):0){continue}break}if(!g|!c){break a}c=ca(a,1756);i=a;l:{if(c){break l}c=ca(a,1752);i=a;if(c){break l}c=ca(a,1813);i=0}a=ca(b,1756);m:{n:{if(!(!d^a>>>0>d>>>0?0:a)){a=ca(b,1752);if(!a){break n}}if(!d|a>>>0<=d>>>0){break m}}a=ca(b,1813)}g=0;b=(a|0)!=0;e=(c|0)!=0;if(!a|!c){break f}if(!d){continue}e=1;b=1;if(a>>>0>>0){continue}break}break f}while(1){if(k[c+3|0]!=k[a+3|0]){break a}b=a+3|0;a=c+3|0;c=0;g=0;while(1){b=b+1|0;o:{p:{e=h[a+1|0];switch(e|0){case 0:case 9:case 10:case 32:break p;default:break o}}g=1}q:{r:{l=h[b|0];switch(l|0){case 0:case 9:case 10:case 32:break r;default:break q}}c=1}a=a+1|0;if((e|0)==(l|0)?!(c|g):0){continue}break}if(!g|!c){break a}s:{t:{c=ca(a,1756);if(!(c>>>0<=f>>>0?c:0)){c=ca(a,1752);if(!c){break t}}if(c>>>0>f>>>0){break t}break s}c=ca(a,1813);a=0}i=a;a=ca(b,1756);u:{v:{if(!(a>>>0>d>>>0^j?0:a)){a=ca(b,1752);if(!a){break v}}if(!d|a>>>0<=d>>>0){break u}}a=ca(b,1813)}g=0;b=(a|0)!=0;e=(c|0)!=0;if(!a|!c){break f}e=1;if(c>>>0>=f>>>0){b=1;break f}b=1;if(a>>>0>>0|j){continue}break}}c=b|e|g}return c}return i?-1:1}function Vf(a,b,c,d,e,f,g,i,m,n,o,p,q,r,s){var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;y=M-16|0;M=y;j[c>>2]=a;B=d&512;while(1){if((z|0)==4){if(k[r+11|0]>>>7|0){e=j[r+4>>2]}else{e=k[r+11|0]}if(e>>>0>1){D=y,E=qb(r),j[D+8>>2]=E;D=c,E=dd(le(y+8|0,1),kc(r),j[c>>2]),j[D>>2]=E}d=d&176;if((d|0)!=16){if((d|0)==32){a=j[c>>2]}j[b>>2]=a}M=y+16|0;return}a:{b:{switch(h[m+z|0]){case 0:j[b>>2]=j[c>>2];break a;case 1:j[b>>2]=j[c>>2];u=O[j[j[g>>2]+28>>2]](g,32)|0;t=j[c>>2];j[c>>2]=t+1;h[t|0]=u;break a;case 3:if(k[r+11|0]>>>7|0){t=j[r+4>>2]}else{t=k[r+11|0]}if(!t){break a}if(k[r+11|0]>>>7|0){t=j[r>>2]}else{t=r}u=k[t|0];t=j[c>>2];j[c>>2]=t+1;h[t|0]=u;break a;case 2:t=!B;if(k[q+11|0]>>>7|0){u=j[q+4>>2]}else{u=k[q+11|0]}if(t|!u){break a}D=c,E=dd(qb(q),kc(q),j[c>>2]),j[D>>2]=E;break a;case 4:break b;default:break a}}C=j[c>>2];e=i?e+1|0:e;v=e;while(1){c:{if(f>>>0<=v>>>0){break c}u=h[v|0];if((u|0)>=0){t=(l[j[g+8>>2]+((u&255)<<1)>>1]&2048)!=0}else{t=0}if(!t){break c}v=v+1|0;continue}break}u=s;if((u|0)>=1){while(1){t=(u|0)<1;if(!(t|e>>>0>=v>>>0)){v=v-1|0;t=k[v|0];w=j[c>>2];j[c>>2]=w+1;h[w|0]=t;u=u-1|0;continue}break}if(t){t=0}else{t=O[j[j[g>>2]+28>>2]](g,48)|0}while(1){w=j[c>>2];j[c>>2]=w+1;if((u|0)>=1){h[w|0]=t;u=u-1|0;continue}break}h[w|0]=n}d:{if((e|0)==(v|0)){u=O[j[j[g>>2]+28>>2]](g,48)|0;t=j[c>>2];j[c>>2]=t+1;h[t|0]=u;break d}if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}if(t){if(k[p+11|0]>>>7|0){t=j[p>>2]}else{t=p}t=h[t|0]}else{t=-1}u=0;x=0;while(1){if((e|0)==(v|0)){break d}e:{if((u|0)!=(t|0)){w=u;break e}t=j[c>>2];j[c>>2]=t+1;h[t|0]=o;w=0;if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}x=x+1|0;if(t>>>0<=x>>>0){t=u;break e}if(k[p+11|0]>>>7|0){t=j[p>>2]}else{t=p}if(k[t+x|0]==127){t=-1;break e}if(k[p+11|0]>>>7|0){t=j[p>>2]}else{t=p}t=h[t+x|0]}v=v-1|0;u=k[v|0];A=j[c>>2];j[c>>2]=A+1;h[A|0]=u;u=w+1|0;continue}}pc(C,j[c>>2])}z=z+1|0;continue}}function Tf(a,b,c,d,e,f,g,i,l,m,n,o,p,q,r){var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;x=M-16|0;M=x;j[c>>2]=a;A=d&512;while(1){if((y|0)==4){if(k[q+11|0]>>>7|0){e=j[q+4>>2]}else{e=k[q+11|0]}if(e>>>0>1){C=x,D=qb(q),j[C+8>>2]=D;C=c,D=dd(Xf(x+8|0,1),ic(q),j[c>>2]),j[C>>2]=D}d=d&176;if((d|0)!=16){if((d|0)==32){a=j[c>>2]}j[b>>2]=a}M=x+16|0}else{a:{b:{switch(h[l+y|0]){case 0:j[b>>2]=j[c>>2];break a;case 1:j[b>>2]=j[c>>2];s=O[j[j[g>>2]+44>>2]](g,32)|0;t=j[c>>2];j[c>>2]=t+4;j[t>>2]=s;break a;case 3:if(k[q+11|0]>>>7|0){s=j[q+4>>2]}else{s=k[q+11|0]}if(!s){break a}if(k[q+11|0]>>>7|0){s=j[q>>2]}else{s=q}s=j[s>>2];t=j[c>>2];j[c>>2]=t+4;j[t>>2]=s;break a;case 2:s=!A;if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}if(s|!t){break a}C=c,D=dd(qb(p),ic(p),j[c>>2]),j[C>>2]=D;break a;case 4:break b;default:break a}}B=j[c>>2];e=i?e+4|0:e;u=e;while(1){c:{if(f>>>0<=u>>>0){break c}if(!(O[j[j[g>>2]+12>>2]](g,2048,j[u>>2])|0)){break c}u=u+4|0;continue}break}s=r;if((s|0)>=1){while(1){t=(s|0)<1;if(!(t|e>>>0>=u>>>0)){u=u-4|0;t=j[u>>2];v=j[c>>2];j[c>>2]=v+4;j[v>>2]=t;s=s-1|0;continue}break}if(t){t=0}else{t=O[j[j[g>>2]+44>>2]](g,48)|0}while(1){v=j[c>>2];j[c>>2]=v+4;if((s|0)>=1){j[v>>2]=t;s=s-1|0;continue}break}j[v>>2]=m}d:{if((e|0)==(u|0)){s=O[j[j[g>>2]+44>>2]](g,48)|0;t=j[c>>2];u=t+4|0;j[c>>2]=u;j[t>>2]=s;break d}if(k[o+11|0]>>>7|0){s=j[o+4>>2]}else{s=k[o+11|0]}if(s){if(k[o+11|0]>>>7|0){s=j[o>>2]}else{s=o}t=h[s|0]}else{t=-1}s=0;w=0;while(1){if((e|0)!=(u|0)){e:{if((s|0)!=(t|0)){v=s;break e}t=j[c>>2];j[c>>2]=t+4;j[t>>2]=n;v=0;if(k[o+11|0]>>>7|0){t=j[o+4>>2]}else{t=k[o+11|0]}w=w+1|0;if(t>>>0<=w>>>0){t=s;break e}if(k[o+11|0]>>>7|0){s=j[o>>2]}else{s=o}if(k[s+w|0]==127){t=-1;break e}if(k[o+11|0]>>>7|0){s=j[o>>2]}else{s=o}t=h[s+w|0]}u=u-4|0;s=j[u>>2];z=j[c>>2];j[c>>2]=z+4;j[z>>2]=s;s=v+1|0;continue}break}u=j[c>>2]}kd(B,u)}y=y+1|0;continue}break}}function Yp(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0;g=M-32|0;M=g;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;a:{b:{if(!d){break b}if((d|0)<=-1){break a}l=d<<1;f=U(l);j[g+16>>2]=f;d=d<<1;i=d+f|0;j[g+24>>2]=i;l=V(f,c,l);j[g+20>>2]=i;if(d>>1>>>0<2){break b}if(i>>>0>l>>>0){while(1){d=f+2|0;c:{if(d>>>0>=i>>>0){break c}i=Er(k[f|0]|k[f+1|0]<<8|(k[f+2|0]<<16|k[f+3|0]<<24),16);h[f|0]=i;h[f+1|0]=i>>>8;h[f+2|0]=i>>>16;h[f+3|0]=i>>>24;i=j[g+20>>2];if(i>>>0<=f+4>>>0){break c}i=Er(k[f+2|0]|k[f+3|0]<<8|(k[f+4|0]<<16|k[f+5|0]<<24),16);h[f+2|0]=i;h[f+3|0]=i>>>8;h[f+4|0]=i>>>16;h[f+5|0]=i>>>24;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]<0){T(j[g>>2])}i=j[g+20>>2];if(i>>>0<=f+6>>>0){break c}i=Er(k[f+4|0]|k[f+5|0]<<8|(k[f+6|0]<<16|k[f+7|0]<<24),16);h[f+4|0]=i;h[f+5|0]=i>>>8;h[f+6|0]=i>>>16;h[f+7|0]=i>>>24;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}i=j[g+20>>2];if(i>>>0<=f+8>>>0){break c}i=Er(k[f+6|0]|k[f+7|0]<<8|(k[f+8|0]<<16|k[f+9|0]<<24),16);h[f+6|0]=i;h[f+7|0]=i>>>8;h[f+8|0]=i>>>16;h[f+9|0]=i>>>24;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]<=-1){T(j[g>>2])}i=j[g+20>>2]}l=j[g+16>>2];m=i-l|0;if(m){Ja(l,c,m);i=j[g+20>>2]}f=d;if(i>>>0>f>>>0){continue}break}f=j[g+16>>2]}if(f>>>0>=i>>>0){break b}m=i;while(1){n=2;i=i-2|0;d=i;l=i;d:{if(f>>>0>=i>>>0){break d}while(1){d=d-2|0;f=k[d|0]|k[d+1|0]<<8;o=k[l|0]|k[l+1|0]<<8;h[d|0]=o;h[d+1|0]=o>>>8;h[l|0]=f;h[l+1|0]=f>>>8;e:{if(n>>>0<4){break e}j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);if(h[g+11|0]>-1){break e}T(j[g>>2])}f=j[g+16>>2];if(f>>>0>=d>>>0){break d}l=d;n=m-d|0;if((n|0)<10){continue}break}}m=i;d=j[g+20>>2]-f|0;if(d){Ja(f,c,d);f=j[g+16>>2]}if(f>>>0>>0){continue}break}}if(f){j[g+20>>2]=f;T(f)}M=g+32|0;return}X();z()}function hq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;g=M-48|0;M=g;j[g+40>>2]=0;j[g+32>>2]=0;j[g+36>>2]=0;a:{b:{if((W(c)|0)>=2){e=j[a+44>>2];if(e){break b}}break a}c:{o=j[e+4100>>2]+100|0;f=j[o>>2];if((f|0)==j[o+4>>2]){e=0;break c}d:while(1){e=c;while(1){e:{f:{n=e;r=p(q,60);i=r+f|0;e=k[i+11|0];l=e<<24>>24>-1;g:{if(!l){m=j[i>>2];break g}m=i}n=ca(n,m);if(n){m=n-c|0;e=l?e:j[i+4>>2];f=(c|0)==(n|0);f=(W(c)|0)==(e+m|0)?f?3:2:f;if(!f){e=0;break e}if((c|0)==(n|0)){e=i+p(f,12)|0;l=h[e+23|0];h:{if((l|0)>=0){e=l&255;break h}e=j[e+16>>2]}if(e){e=f;break e}e=f-1|0;if(e){break f}e=0;break e}while(1){e=i+p(f,12)|0;l=h[e+23|0];i:{if((l|0)<=-1){e=j[e+16>>2];break i}e=l&255}if(e){e=f;break e}e=0;f=(f|0)==2?0:f-1|0;if(f){continue}break}break e}q=q+1|0;if(q>>>0<(j[o+4>>2]-f|0)/60>>>0){continue d}e=h[g+43|0]<0;break c}l=i+p(e,12)|0;s=h[l+23|0];j:{if((s|0)>=0){l=s&255;break j}l=j[l+16>>2]}if(l){break e}e=0;f=f-2|0;if(!f){break e}e=i+p(f,12)|0;l=h[e+23|0];if((l|0)>=0){e=l&255?f:0;break e}e=j[e+16>>2]?f:0}f=p(e,12);e=f+i|0;i=h[e+23|0];k:{if((i|0)<=-1){e=j[e+16>>2];break k}e=i&255}l:{if(!e){break l}Ka(g+32|0,c);Wa(g+32|0,m);e=f+(r+j[o>>2]|0)|0;f=e+12|0;l=j[f>>2];m=f;f=k[e+23|0];i=f<<24>>24<0;aa(g+32|0,i?l:m,i?j[e+16>>2]:f);f=g+32|0;e=r+j[o>>2]|0;i=h[e+11|0];m:{if((i|0)<=-1){e=j[e+4>>2];break m}e=i&255}$(f,e+n|0);f=0;wa(a,b,g+32|0,d,0,0);e=Ba(g+32|0,32,0);if((e|0)==-1){break l}while(1){n:{if(!cc(a,sa(g+16|0,g+32|0,f,e-f|0),0,0,0)){f=e+1|0;break n}i=j[b>>2];m=j[b+4>>2];f=e+1|0;wa(a,b,sa(g,g+32|0,f,-1),d,0,0);m=(m-i|0)/12|0;e=j[b>>2];i=(j[b+4>>2]-e|0)/12|0;if(m>>>0>>0){ua((e+p(i,12)|0)-12|0,g+32|0)}if(h[g+11|0]>-1){break n}T(j[g>>2])}e=Ba(g+32|0,32,f);if(h[g+27|0]<=-1){T(j[g+16>>2])}if((e|0)!=-1){continue}break}}e=n+1|0;f=j[o>>2];continue}}}if(!e){break a}T(j[g+32>>2])}M=g+48|0}function Jc(a,b,c){var d=0,e=0,f=0,g=0,i=0,k=0,l=0,n=0,o=0;g=M-32|0;M=g;i=j[a>>2];l=(b-i|0)/12|0;a:{b:{e=j[a+4>>2];d=j[a+8>>2];c:{if(e>>>0>>0){if((b|0)==(e|0)){n=a,o=ha(b,c)+12|0,j[n+4>>2]=o;break c}i=e;k=(e-b|0)-12|0;d=p((k|0)/12|0,12)+b|0;if(e>>>0>d>>>0){f=d;while(1){l=j[f+4>>2];j[i>>2]=j[f>>2];j[i+4>>2]=l;j[i+8>>2]=j[f+8>>2];j[f>>2]=0;j[f+4>>2]=0;j[f+8>>2]=0;i=i+12|0;f=f+12|0;if(e>>>0>f>>>0){continue}break}}j[a+4>>2]=i;if(k){while(1){f=e-12|0;d=d-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=j[d+4>>2];j[f>>2]=j[d>>2];j[f+4>>2]=e;j[f+8>>2]=j[d+8>>2];h[d+11|0]=0;h[d|0]=0;e=f;if((b|0)!=(d|0)){continue}break}}e=b;if(b>>>0<=c>>>0){c=m[a+4>>2]>c>>>0?c+12|0:c}ua(e,c);break c}k=((e-i|0)/12|0)+1|0;if(k>>>0>=357913942){break b}j[g+24>>2]=a+8;f=g;i=(d-i|0)/12|0;d=i<<1;d=i>>>0<178956970?d>>>0>>0?k:d:357913941;e=0;d:{if(!d){break d}if(d>>>0>=357913942){break a}e=U(p(d,12))}j[f+8>>2]=e;f=e+p(l,12)|0;j[g+16>>2]=f;j[g+20>>2]=e+p(d,12);j[g+12>>2]=f;Qq(g+8|0,c);c=j[g+12>>2];f=c;e=j[a>>2];if((e|0)!=(b|0)){f=c;d=b;while(1){d=d-12|0;c=j[d+4>>2];f=f-12|0;j[f>>2]=j[d>>2];j[f+4>>2]=c;j[f+8>>2]=j[d+8>>2];j[d>>2]=0;j[d+4>>2]=0;j[d+8>>2]=0;f=j[g+12>>2]-12|0;j[g+12>>2]=f;if((d|0)!=(e|0)){continue}break}}e=j[a+4>>2];e:{if((e|0)==(b|0)){d=j[g+16>>2];break e}d=j[g+16>>2];while(1){c=j[b+4>>2];j[d>>2]=j[b>>2];j[d+4>>2]=c;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;d=j[g+16>>2]+12|0;j[g+16>>2]=d;b=b+12|0;if((e|0)!=(b|0)){continue}break}b=j[a+4>>2];f=j[g+12>>2]}e=j[a>>2];j[a>>2]=f;j[g+12>>2]=e;j[a+4>>2]=d;j[g+16>>2]=b;c=j[a+8>>2];j[a+8>>2]=j[g+20>>2];j[g+8>>2]=e;j[g+20>>2]=c;if((b|0)!=(e|0)){while(1){b=b-12|0;j[g+16>>2]=b;if(h[b+11|0]<=-1){T(j[b>>2]);b=j[g+16>>2]}if((b|0)!=(e|0)){continue}break}b=j[g+8>>2]}if(b){T(b)}}M=g+32|0;return}X();z()}D();z()}function Td(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0;e=M-16|0;M=e;a:{if((Ba(a,10,0)|0)==-1){break a}Ab(e,a,10);b:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break b}h[a+11|0]=0;h[a|0]=0}b=j[e>>2];if((b|0)!=j[e+4>>2]){ua(a,b);o=j[e+4>>2];f=j[e>>2];d=o-f|0;if((d|0)/12>>>0>=2){i=1;while(1){q=p(i,12);g=q+f|0;m=k[g+11|0];c=m<<24>>24;n=(c|0)<0?j[g+4>>2]:m;c:{d:{if((c|0)<=-1){d=0;if(!n){while(1){b=p(d,12)+f|0;c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){break c}d=d+1|0;if((i|0)!=(d|0)){continue}break d}}while(1){c=p(d,12)+f|0;m=k[c+11|0];b=m<<24>>24<0;if(((b?j[c+4>>2]:m)|0)==(n|0)){if(!qa(j[g>>2],b?j[c>>2]:c,n)){break c}}d=d+1|0;if((i|0)!=(d|0)){continue}break}break d}l=0;if(!n){while(1){b=p(l,12)+f|0;c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){break c}l=l+1|0;if((l|0)!=(i|0)){continue}break d}}while(1){c=p(l,12)+f|0;d=k[c+11|0];b=d<<24>>24<0;e:{if(((b?j[c+4>>2]:d)|0)!=(n|0)){break e}d=b?j[c>>2]:c;c=g;b=m;while(1){if(k[c|0]!=k[d|0]){break e}d=d+1|0;c=c+1|0;b=b-1|0;if(b){continue}break}break c}l=l+1|0;if((l|0)!=(i|0)){continue}break}}c=a;b=k[c+11|0];if(b<<24>>24<0?j[c+4>>2]:b){Z(a,10);f=j[e>>2]}b=f+q|0;g=k[b+11|0];f=g<<24>>24<0;aa(c,f?j[b>>2]:b,f?j[b+4>>2]:g);f=j[e>>2];o=j[e+4>>2]}i=i+1|0;d=o-f|0;if(i>>>0<(d|0)/12>>>0){continue}break}}f:{if((d|0)==12){ua(a,f);break f}Ka(a,1817);d=j[e>>2];if((d|0)!=j[e+4>>2]){c=0;while(1){b=p(c,12)+d|0;g=k[b+11|0];f=g<<24>>24<0;aa(a,f?j[b>>2]:b,f?j[b+4>>2]:g);$(a,1821);c=c+1|0;d=j[e>>2];if(c>>>0<(j[e+4>>2]-d|0)/12>>>0){continue}break}}b=k[a+11|0];c=b<<24>>24<0;h[((c?j[a+4>>2]:b)+(c?j[a>>2]:a)|0)-2|0]=41}b=j[e>>2]}if(!b){break a}c=j[e+4>>2];a=b;g:{if((b|0)==(c|0)){break g}while(1){a=c-12|0;if(h[c-1|0]<=-1){T(j[a>>2])}c=a;if((b|0)!=(c|0)){continue}break}a=j[e>>2]}j[e+4>>2]=b;T(a)}M=e+16|0}function Tp(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;d=M-32|0;M=d;j[d+16>>2]=h[b+11|0]<0?j[b>>2]:b;a:{b:{c:{f=ka(b,d+16|0);c=k[b+11|0];g=c<<24>>24<0;if((f|0)!=((g?j[b>>2]:b)+(g?j[b+4>>2]:c)|0)){g=a+4316|0;o=a+4328|0;while(1){d:{e:{f:{switch(n|0){case 1:l=j[d+16>>2];e=l-f|0;if(e>>>0>=4294967280){break a}g:{if(e>>>0<=10){h[d+11|0]=e;c=d;break g}i=e+16&-16;c=U(i);j[d+8>>2]=i|-2147483648;j[d>>2]=c;j[d+4>>2]=e}if((f|0)!=(l|0)){while(1){h[c|0]=k[f|0];c=c+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[c|0]=0;if(h[d+11|0]>=0){p=a,q=ta(d),j[p+4312>>2]=q;break e}c=j[d>>2];p=a,q=ta(c),j[p+4312>>2]=q;T(c);break e;case 0:break e;case 2:break f;default:break d}}if(!j[a+4144>>2]){l=j[d+16>>2];e=l-f|0;i=h[g+11|0];h:{i:{j:{if((i|0)<=-1){c=(j[a+4324>>2]&2147483647)-1|0;if(e>>>0<=c>>>0){break i}i=j[a+4320>>2];break j}c=g;if(e>>>0<=10){break h}c=10;i=i&255}pb(g,c,e-c|0,i,0,i,0);c=g;if(h[c+11|0]>-1){break h}}c=j[g>>2]}if((f|0)!=(l|0)){while(1){h[c|0]=k[f|0];c=c+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[c|0]=0;k:{l:{if(h[g+11|0]>=0){h[g+11|0]=e;if(e<<24>>24>-1){break l}e=j[a+4320>>2];c=j[g>>2];break k}j[a+4320>>2]=e;c=j[g>>2];break k}e=e&255;c=g}be(c,c+e|0,d);break e}l=j[d+16>>2];e=l-f|0;if(e>>>0>=4294967280){break a}m:{if(e>>>0<=10){h[d+11|0]=e;c=d;break m}i=e+16&-16;c=U(i);j[d+8>>2]=i|-2147483648;j[d>>2]=c;j[d+4>>2]=e}if((f|0)!=(l|0)){while(1){h[c|0]=k[f|0];c=c+1|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}h[c|0]=0;ia(o,d);xd(j[a+4328>>2],j[a+4332>>2],d+24|0);if(h[d+11|0]>-1){break e}T(j[d>>2])}m=m+1|0}n=n+1|0;f=ka(b,d+16|0);c=k[b+11|0];e=c<<24>>24<0;if((f|0)!=((e?j[b>>2]:b)+(e?j[b+4>>2]:c)|0)){continue}break}f=1;if((m|0)>1){break c}}f=0;break b}if((m|0)!=2){break b}Ka(a+4316|0,1799)}M=d+32|0;return f}X();z()}function Wh(a,b,c,d,e,f,g){var m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=M-32|0;M=m;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;a:{b:{if(h[b+29|0]&1?0:e&1){break b}p=h[b+15|0];n=j[b+8>>2];c:{if((p|0)<=-1){break c}n=p&255}q=d-n|0;if(!j[j[b+64>>2]+4484>>2]|q?(q|0)<=0:0){break b}o=k[b+28|0];d=h[b+27|0];n=j[b+20>>2];d:{if((d|0)<=-1){break d}n=d&255}if(o>>>0>n+q>>>0){break b}n=W(c);if(n>>>0>=4294967280){break a}p=b+16|0;e:{f:{if(n>>>0>=11){d=n+16&-16;o=U(d);j[m+24>>2]=d|-2147483648;j[m+16>>2]=o;j[m+20>>2]=n;break f}h[m+27|0]=n;o=m+16|0;if(!n){break e}}V(o,c,n)}h[n+o|0]=0;Wa(m+16|0,q);d=k[b+27|0];c=d<<24>>24<0;aa(m+16|0,c?j[b+16>>2]:p,c?j[b+20>>2]:d);c=b;n=h[m+27|0]<0?j[m+16>>2]:m+16|0;o=n;d=h[b+27|0];p=j[b+20>>2];g:{if((d|0)<=-1){break g}p=d&255}r=p+q|0;h:{if(!Jd(c,o+r|0,n)){break h}if(f){i:{d=j[b+56>>2];if(!d){break i}o=i[b+60>>1];p=(o<<1)+d|0;s=l[f+30>>1];if(o){while(1){q=o>>>1|0;c=(q<<1)+d|0;n=s>>>0>l[c>>1];d=n?c+2|0:d;o=n?(q^-1)+o|0:q;if(o){continue}break}}if((d|0)==(p|0)|s>>>0>1]){break i}Sc(m,j[b+64>>2],h[m+27|0]<0?j[m+16>>2]:m+16|0,r,0,0,l[b+30>>1],g);d=k[m+11|0];b=d<<24>>24;o=j[m+4>>2];if((b|0)<0?o:d){c=j[f+52>>2];if(c){$(a,c);Z(a,32);o=j[m+4>>2];d=k[m+11|0];b=d}b=b<<24>>24<0;aa(a,b?j[m>>2]:m,b?o:d);bb(a);b=k[m+11|0]}if(b<<24>>24>-1){break h}T(j[m>>2]);break h}Sc(m,j[b+64>>2],h[m+27|0]<0?j[m+16>>2]:m+16|0,r,e,f,l[b+30>>1],g);c=k[m+11|0];b=c<<24>>24;d=(b|0)<0;c=d?j[m+4>>2]:c;if(c){aa(a,d?j[m>>2]:m,c);bb(a);b=k[m+11|0]}if(b<<24>>24>-1){break h}T(j[m>>2]);break h}Sc(m,j[b+64>>2],h[m+27|0]<0?j[m+16>>2]:m+16|0,r,0,0,l[b+30>>1],g);c=k[m+11|0];b=c<<24>>24;d=(b|0)<0;c=d?j[m+4>>2]:c;if(c){aa(a,d?j[m>>2]:m,c);bb(a);b=k[m+11|0]}if(b<<24>>24>-1){break h}T(j[m>>2])}if(h[m+27|0]>-1){break b}T(j[m+16>>2])}M=m+32|0;return}X();z()}function gi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;g=j[a+4>>2];c=g&3;d=g&-8;f=d+a|0;a:{if(!c){c=0;if(b>>>0<256){break a}if(d>>>0>=b+4>>>0){c=a;if(d-b>>>0<=j[37868]<<1>>>0){break a}}return 0}b:{if(b>>>0<=d>>>0){c=d-b|0;if(c>>>0<16){break b}j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=c|3;j[f+4>>2]=j[f+4>>2]|1;_e(b,c);break b}c=0;if(j[37754]==(f|0)){d=d+j[37751]|0;if(d>>>0<=b>>>0){break a}j[a+4>>2]=g&1|b|2;c=a+b|0;b=d-b|0;j[c+4>>2]=b|1;j[37751]=b;j[37754]=c;break b}if(j[37753]==(f|0)){d=d+j[37750]|0;if(d>>>0>>0){break a}c=d-b|0;c:{if(c>>>0>=16){j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=c|1;d=a+d|0;j[d>>2]=c;j[d+4>>2]=j[d+4>>2]&-2;break c}j[a+4>>2]=d|g&1|2;b=a+d|0;j[b+4>>2]=j[b+4>>2]|1;c=0;b=0}j[37753]=b;j[37750]=c;break b}e=j[f+4>>2];if(e&2){break a}h=d+(e&-8)|0;if(h>>>0>>0){break a}k=h-b|0;d:{if(e>>>0<=255){c=j[f+8>>2];e=e>>>3|0;d=j[f+12>>2];if((d|0)==(c|0)){m=150992,n=j[37748]&Er(-2,e),j[m>>2]=n;break d}j[c+12>>2]=d;j[d+8>>2]=c;break d}i=j[f+24>>2];d=j[f+12>>2];e:{if((f|0)!=(d|0)){c=j[f+8>>2];j[c+12>>2]=d;j[d+8>>2]=c;break e}f:{c=f+20|0;e=j[c>>2];if(e){break f}c=f+16|0;e=j[c>>2];if(e){break f}d=0;break e}while(1){l=c;d=e;c=d+20|0;e=j[c>>2];if(e){continue}c=d+16|0;e=j[d+16>>2];if(e){continue}break}j[l>>2]=0}if(!i){break d}c=j[f+28>>2];e=(c<<2)+151296|0;g:{if(j[e>>2]==(f|0)){j[e>>2]=d;if(d){break g}m=150996,n=j[37749]&Er(-2,c),j[m>>2]=n;break d}j[i+(j[i+16>>2]==(f|0)?16:20)>>2]=d;if(!d){break d}}j[d+24>>2]=i;c=j[f+16>>2];if(c){j[d+16>>2]=c;j[c+24>>2]=d}c=j[f+20>>2];if(!c){break d}j[d+20>>2]=c;j[c+24>>2]=d}if(k>>>0<=15){j[a+4>>2]=g&1|h|2;b=a+h|0;j[b+4>>2]=j[b+4>>2]|1;break b}j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=k|3;c=a+h|0;j[c+4>>2]=j[c+4>>2]|1;_e(b,k)}c=a}return c}function Hd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;f=M-32|0;M=f;a:{d=j[a>>2];e=(j[a+4>>2]-d|0)/60|0;c=e+1|0;if(c>>>0<71582789){h=j[a+8>>2];j[f+24>>2]=a+8;j[f+20>>2]=0;d=(h-d|0)/60|0;h=d<<1;d=d>>>0<35791394?c>>>0>h>>>0?c:h:71582788;if(d){if(d>>>0>=71582789){break a}g=U(p(d,60))}c=p(e,60)+g|0;j[f+16>>2]=c;j[c+8>>2]=j[b+8>>2];e=j[b+4>>2];j[c>>2]=j[b>>2];j[c+4>>2]=e;j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];e=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=e;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];e=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=e;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+44>>2]=j[b+44>>2];e=j[b+40>>2];j[c+36>>2]=j[b+36>>2];j[c+40>>2]=e;j[b+44>>2]=0;j[b+36>>2]=0;j[b+40>>2]=0;j[c+56>>2]=j[b+56>>2];e=j[b+52>>2];j[c+48>>2]=j[b+48>>2];j[c+52>>2]=e;j[b+48>>2]=0;j[b+52>>2]=0;j[b+56>>2]=0;e=p(d,60)+g|0;h=c+60|0;b=j[a+4>>2];g=j[a>>2];b:{if((b|0)==(g|0)){b=g;break b}while(1){b=b-60|0;d=j[b+4>>2];c=c-60|0;j[c>>2]=j[b>>2];j[c+4>>2]=d;j[c+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];d=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=d;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];d=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=d;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+44>>2]=j[b+44>>2];d=j[b+40>>2];j[c+36>>2]=j[b+36>>2];j[c+40>>2]=d;j[b+44>>2]=0;j[b+36>>2]=0;j[b+40>>2]=0;j[c+56>>2]=j[b+56>>2];d=j[b+52>>2];j[c+48>>2]=j[b+48>>2];j[c+52>>2]=d;j[b+48>>2]=0;j[b+52>>2]=0;j[b+56>>2]=0;if((b|0)!=(g|0)){continue}break}g=j[a+4>>2];b=j[a>>2]}j[a>>2]=c;j[f+12>>2]=b;j[a+4>>2]=h;j[f+16>>2]=g;g=j[a+8>>2];j[a+8>>2]=e;j[f+8>>2]=b;j[f+20>>2]=g;Xh(f+8|0,b);a=j[f+8>>2];if(a){T(a)}M=f+32|0;return}X();z()}D();z()}function Xp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;e=M-16|0;M=e;a:{l=W(c);if(l>>>0<4294967280){b:{c:{if(l>>>0>=11){f=l+16&-16;g=U(f);j[e+8>>2]=f|-2147483648;j[e>>2]=g;j[e+4>>2]=l;p=e;break c}h[e+11|0]=l;p=e;g=e;if(!l){break b}}V(g,c,l)}h[g+l|0]=0;n=h[p+11|0];d:{if((n|0)<=-1){if(m[e+4>>2]<2){break a}l=j[e>>2];break d}l=e;if((n&255)>>>0<2){break a}}while(1){i=l;e:{f:{g:{h:{i:{q=n<<24>>24;j:{if((q|0)<=-1){f=j[e>>2];o=f;g=j[e+4>>2];l=g+f|0;if(i>>>0>=l>>>0){break j}break h}g=n&255;l=g+e|0;if(i>>>0>>0){break i}f=e}o=f+1|0;if((o|0)==(l|0)){break a}break g}o=j[e>>2];f=e}l=i+1|0;if(l>>>0>=f+g>>>0){f=(q|0)<0;break e}f=k[i+1|0];h[i+1|0]=k[i|0];h[i|0]=f;g=k[p+11|0];n=g<<24>>24;f=(n|0)<0;g=f?j[e+4>>2]:g;o=j[e>>2];if(i+2>>>0>=g+(f?o:e)>>>0){break e}f=k[i+2|0];h[i+2|0]=k[i+1|0];h[i+1|0]=f;wa(a,b,e,d,0,0);g=k[p+11|0];n=g<<24>>24;f=(n|0)<0;g=f?j[e+4>>2]:g;o=j[e>>2];if(i+3>>>0>>0){break f}break e}while(1){f=1;i=l-1|0;g=i;q=n<<24>>24<0?j[e>>2]:e;if((q|0)!=(i|0)){while(1){n=k[g|0];r=g;g=g-1|0;h[r|0]=k[g|0];h[g|0]=n;if(f>>>0>=2){wa(a,b,e,d,0,0)}if((g|0)!=(q|0)){f=l-g|0;if((f|0)<5){continue}}break}n=k[p+11|0]}l=n<<24>>24<0;f=l?j[e+4>>2]:n&255;if(f){Ja(l?j[e>>2]:e,c,f)}n=k[p+11|0];l=i;if((i|0)!=(o|0)){continue}break}break a}f=k[i+3|0];h[i+3|0]=k[i+2|0];h[i+2|0]=f;wa(a,b,e,d,0,0);g=k[p+11|0];n=g<<24>>24;f=(n|0)<0;g=f?j[e+4>>2]:g;o=j[e>>2];if(i+4>>>0>=g+(f?o:e)>>>0){break e}f=k[i+4|0];h[i+4|0]=k[i+3|0];h[i+3|0]=f;wa(a,b,e,d,0,0);q=k[p+11|0];n=q<<24>>24;f=(n|0)<0;r=i+5|0;i=j[e+4>>2];g=f?i:q;o=j[e>>2];if(r>>>0>=g+(f?o:e)>>>0){break e}g=(n|0)<0?i:q}if(!g){continue}Ja(f?o:e,c,g);n=k[p+11|0];continue}}X();z()}if(n<<24>>24<=-1){T(j[e>>2])}M=e+16|0}function xp(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=M-32|0;M=e;j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;d=k[c+11|0];f=d<<24>>24;g=k[b+11|0];i=g<<24>>24<0;a:{b:{c:{l=(f|0)<0?j[c+4>>2]:d;g=i?j[b+4>>2]:g;d=l+g|0;if(d>>>0<4294967280){m=j[b>>2];d:{if(d>>>0<=10){h[e+27|0]=g;d=e+16|0;break d}n=d+16&-16;d=U(n);j[e+24>>2]=n|-2147483648;j[e+16>>2]=d;j[e+20>>2]=g}if(g){V(d,i?m:b,g)}h[d+g|0]=0;aa(e+16|0,(f|0)<0?j[c>>2]:c,l);g=a+40|0;d=k[e+27|0];n=d<<24>>24;i=(n|0)<0;l=k[a+51|0];f=l<<24>>24<0;e:{f:{g:{m=i?j[e+20>>2]:d;if((m|0)==((f?j[a+44>>2]:l)|0)){f=f?j[g>>2]:g;l=j[e+16>>2];if(i){break g}if(!m){break b}i=k[f|0]==(l&255);h:{if(!i){break h}l=e+16|0;while(1){d=d-1|0;if(!d){break h}i=k[f+1|0];f=f+1|0;l=l+1|0;i=(i|0)==k[l|0];if(i){continue}break}}if((n|0)>=0){break f}T(j[e+16>>2]);if(i){break b}break e}if(!i){break e}T(j[e+16>>2]);break e}if(m){d=qa(i?l:e+16|0,f,m);T(l);if(!d){break b}break e}T(l);break b}if(i){break b}}j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;d=k[c+11|0];i=d<<24>>24;f=k[b+11|0];l=f<<24>>24<0;m=(i|0)<0?j[c+4>>2]:d;f=l?j[b+4>>2]:f;d=m+f|0;if(d>>>0>=4294967280){break c}n=j[b>>2];i:{if(d>>>0<=10){h[e+27|0]=f;d=e+16|0;break i}o=d+16&-16;d=U(o);j[e+24>>2]=o|-2147483648;j[e+16>>2]=d;j[e+20>>2]=f}if(f){V(d,l?n:b,f)}h[d+f|0]=0;aa(e+16|0,(i|0)<0?j[c>>2]:c,m);if(h[g+11|0]<=-1){T(j[g>>2])}d=j[e+20>>2];j[g>>2]=j[e+16>>2];j[g+4>>2]=d;j[g+8>>2]=j[e+24>>2];j[a+52>>2]=0;d=Hc(a,g);j:{if((d|0)!=(a+4|0)){c=j[d+28>>2];break j}b=h[b+11|0]<0?j[b>>2]:b;d=h[c+11|0]<0?j[c>>2]:c;c=U(64);Vq(c,b,d);ha(e+16|0,g);j[e+28>>2]=c;jp(e+8|0,a,e+16|0);if(h[e+27|0]>-1){break j}T(j[e+16>>2])}j[a+52>>2]=c;break a}X();z()}X();z()}c=j[a+52>>2]}M=e+32|0;return c}function Jq(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0;a:{e=j[a+8>>2];b:{if((e|0)!=j[a+12>>2]){break b}c=j[a+4>>2];d=j[a>>2];if(c>>>0>d>>>0){f=p((((c-d|0)/12|0)+1|0)/-2|0,12);d=f+c|0;if((c|0)!=(e|0)){while(1){if(h[d+11|0]<=-1){T(j[d>>2])}g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];h[c+11|0]=0;h[c|0]=0;d=d+12|0;c=c+12|0;if((e|0)!=(c|0)){continue}break}e=j[a+4>>2]}j[a+8>>2]=d;j[a+4>>2]=e+f;break b}f=e-d|0;f=f?(f|0)/12<<1:1;if(f>>>0>=357913942){break a}g=p(f,12);i=U(g);m=i+g|0;f=p(f>>>2|0,12)+i|0;g=e-c|0;k=(g|0)/12|0;c:{if(!g){g=f;break c}k=p(k,12);l=g-12|0;e=((l>>>0)/12|0)+1&3;d:{if(!e){d=f;break d}d=f;while(1){g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;c=c+12|0;d=d+12|0;e=e-1|0;if(e){continue}break}}g=f+k|0;if(l>>>0>=36){while(1){e=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=e;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[d+20>>2]=j[c+20>>2];e=j[c+16>>2];j[d+12>>2]=j[c+12>>2];j[d+16>>2]=e;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[d+32>>2]=j[c+32>>2];e=j[c+28>>2];j[d+24>>2]=j[c+24>>2];j[d+28>>2]=e;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[d+44>>2]=j[c+44>>2];e=j[c+40>>2];j[d+36>>2]=j[c+36>>2];j[d+40>>2]=e;j[c+44>>2]=0;j[c+36>>2]=0;j[c+40>>2]=0;c=c+48|0;d=d+48|0;if((g|0)!=(d|0)){continue}break}}e=j[a+8>>2];c=j[a+4>>2];d=j[a>>2]}j[a+12>>2]=m;j[a+8>>2]=g;j[a+4>>2]=f;j[a>>2]=i;if((c|0)!=(e|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((f|0)!=(c|0)){continue}break}}if(!d){break b}T(d)}d=j[b+4>>2];f=j[a+8>>2];j[f>>2]=j[b>>2];j[f+4>>2]=d;j[f+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[a+8>>2]=j[a+8>>2]+12;return}D();z()}function Mc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0;i=j[a>>2];m=j[a+4>>2];if((i|0)==(m|0)){return 0}g=j[37199];a=0;c=i;d=c;a:{b:{switch(b-100|0){case 2:if(!g){e=i;while(1){d=k[e|0]|k[e+1|0]<<8;c:{if((d|0)==105){c=d;d=304;break c}if((d|0)!=73){c=d;break c}f=f+1|0;c=305}a=((c|0)==(d|0))+a|0;e=e+2|0;if((m|0)!=(e|0)){continue}break}break a}while(1){e=k[c|0]|k[c+1|0]<<8;d:{e:{if((e|0)==73){f=f+1|0;d=305;break e}d=l[(p(e,6)+g|0)+4>>1];f=((e|0)!=(d|0))+f|0;h=304;if((e|0)==105){break d}}h=l[(p(e,6)+g|0)+2>>1]}e=h;a=((e&65535)==(d|0))+a|0;c=c+2|0;if((m|0)!=(c|0)){continue}break}break a;case 0:while(1){e=a;a=k[c|0]|k[c+1|0]<<8;f:{g:{if((a|0)==73){f=f+1|0;d=305;break g}d=g?l[(p(a,6)+g|0)+4>>1]:a;f=((a|0)!=(d&65535))+f|0;h=304;if((a|0)==105){break f}}h=a;if(!g){break f}h=l[(p(a,6)+g|0)+2>>1]}a=e+((h&65535)==(d&65535))|0;c=c+2|0;if((m|0)!=(c|0)){continue}break}break a;default:break b}}while(1){h=a;h:{i:{j:{a=k[d|0]|k[d+1|0]<<8;k:{if((a|0)!=73){break k}c=b-90|0;if(c>>>0>12){break k}if(1<>1]:a;f=((a|0)!=(c&65535))+f|0;if((a|0)!=105){break i}e=b-90|0;if(e>>>0>12){break i}n=304;if(1<>1]}a=h+((n&65535)==(c&65535))|0;d=d+2|0;if((m|0)!=(d|0)){continue}break}}if(!f){return 0}d=k[i|0]|k[i+1|0]<<8;l:{m:{n:{o:{if((d|0)!=73){break o}c=b-90|0;if(c>>>0>12){break o}b=305;if(1<>1]}c=(b|0)!=(d|0);e=1;if((f|0)!=1){break m}if((b|0)!=(d|0)){break l}}e=2;b=m-i>>1;if((b|0)==(f|0)|(b|0)==(a+f|0)){break l}e=f>>>0>1?c?4:3:3}return e}function Yo(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=M-1056|0;M=i;d=i+1048|0;j[d>>2]=0;j[d+4>>2]=0;d=i+1040|0;j[d>>2]=0;j[d+4>>2]=0;j[i+1032>>2]=0;j[i+1036>>2]=0;j[i+1024>>2]=0;j[i+1028>>2]=0;a:{b:{c:{d:{c=k[b|0];e:{if(!c){l=-1;d=1;break e}while(1){if(!k[a+f|0]){break b}d=c&255;f=f+1|0;j[(d<<2)+i>>2]=f;c=(i+1024|0)+(d>>>3&28)|0;j[c>>2]=j[c>>2]|1<>>0>1){break d}}g=-1;e=1;break c}m=1;c=1;while(1){g=k[(c+l|0)+b|0];h=k[b+d|0];f:{if((g|0)==(h|0)){if((c|0)==(m|0)){e=e+m|0;c=1;break f}c=c+1|0;break f}if(g>>>0>h>>>0){m=d-l|0;e=d;c=1;break f}l=e;e=e+1|0;m=1;c=1}d=c+e|0;if(f>>>0>d>>>0){continue}break}e=1;g=-1;if(f>>>0<=1){d=m;break c}d=0;h=1;c=1;while(1){o=k[(c+g|0)+b|0];n=k[b+e|0];g:{if((o|0)==(n|0)){if((c|0)==(h|0)){d=d+h|0;c=1;break g}c=c+1|0;break g}if(n>>>0>o>>>0){h=e-g|0;d=e;c=1;break g}g=d;d=d+1|0;h=1;c=1}e=d+c|0;if(f>>>0>e>>>0){continue}break}d=m;e=h}c=d;d=g+1>>>0>l+1>>>0;h=d?e:c;n=d?g:l;o=n+1|0;h:{if(qa(b,h+b|0,o)){d=(n^-1)+f|0;h=(d>>>0>>0?n:d)+1|0;p=f-h|0;m=0;break h}p=f-h|0;m=p}r=f-1|0;q=f|63;g=0;d=a;while(1){i:{if(a-d>>>0>=f>>>0){break i}c=Aa(a,0,q);if(c){a=c;if(c-d>>>0>>0){break b}break i}a=a+q|0}e=k[d+r|0];c=f;j:{k:{if(!(j[(i+1024|0)+(e>>>3&28)>>2]>>>e&1)){break k}c=f-j[(e<<2)+i>>2]|0;if(c){c=m?g?c>>>0>>0?p:c:c:c;break k}l:{c=o;e=c>>>0>g>>>0?c:g;l=k[e+b|0];if(l){while(1){if(k[d+e|0]!=(l&255)){break l}e=e+1|0;l=k[e+b|0];if(l){continue}break}}while(1){if(c>>>0<=g>>>0){break a}c=c-1|0;if(k[c+b|0]==k[d+c|0]){continue}break}c=h;g=m;break j}c=e-n|0}g=0}d=d+c|0;continue}}d=0}M=i+1056|0;return d}function rg(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=M-16|0;M=m;n=rb(g);r=Bc(g);g=r;O[j[j[g>>2]+20>>2]](m,g);j[f>>2]=d;a:{b:{i=a;g=k[i|0];switch(g-43|0){case 0:case 2:break b;default:break a}}g=O[j[j[n>>2]+44>>2]](n,g<<24>>24)|0;i=j[f>>2];j[f>>2]=i+4;j[i>>2]=g;i=a+1|0}c:{g=i;if(!((c-g|0)<=1|k[g|0]!=48|(k[g+1|0]|32)!=120)){g=O[j[j[n>>2]+44>>2]](n,48)|0;l=j[f>>2];j[f>>2]=l+4;j[l>>2]=g;g=O[j[j[n>>2]+44>>2]](n,h[i+1|0])|0;l=j[f>>2];j[f>>2]=l+4;j[l>>2]=g;i=i+2|0;g=i;while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(!(l-48>>>0<10|(l|32)-97>>>0<6)){break c}g=g+1|0;continue}}while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(l-48>>>0>=10){break c}g=g+1|0;continue}}if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}d:{if(!o){O[j[j[n>>2]+48>>2]](n,i,g,j[f>>2])|0;j[f>>2]=j[f>>2]+(g-i<<2);break d}pc(i,g);t=O[j[j[r>>2]+16>>2]](r)|0;l=i;while(1){if(g>>>0<=l>>>0){kd((i-a<<2)+d|0,j[f>>2])}else{if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}s=h[o+p|0]!=(q|0);if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}if(!(s|h[o+p|0]<1)){q=j[f>>2];j[f>>2]=q+4;j[q>>2]=t;if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}p=(o-1>>>0>p>>>0)+p|0;q=0}o=O[j[j[n>>2]+44>>2]](n,h[l|0])|0;s=j[f>>2];j[f>>2]=s+4;j[s>>2]=o;l=l+1|0;q=q+1|0;continue}break}}e:{f:{while(1){if(c>>>0<=g>>>0){break f}i=k[g|0];if((i|0)!=46){i=O[j[j[n>>2]+44>>2]](n,i<<24>>24)|0;p=j[f>>2];j[f>>2]=p+4;j[p>>2]=i;g=g+1|0;continue}break}i=O[j[j[r>>2]+12>>2]](r)|0;p=j[f>>2];l=p+4|0;j[f>>2]=l;j[p>>2]=i;g=g+1|0;break e}l=j[f>>2]}O[j[j[n>>2]+48>>2]](n,g,c,l)|0;i=f;f=j[f>>2]+(c-g<<2)|0;j[i>>2]=f;j[e>>2]=(b|0)==(c|0)?f:(b-a<<2)+d|0;Y(m);M=m+16|0}function yq(a,b,c){j[a+4096>>2]=c;c=j[j[c>>2]>>2];j[a+4104>>2]=0;j[a+4108>>2]=0;j[a+4100>>2]=c;c=a+4112|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4120|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4128|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4136|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4144|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4152|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4158|0;i[c>>1]=0;i[c+2>>1]=0;i[c+4>>1]=0;i[c+6>>1]=0;j[a+4168>>2]=0;j[a+4172>>2]=0;c=a+4176|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4184|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4204>>2]=0;j[a+4208>>2]=0;h[a+4212|0]=0;j[a+4216>>2]=0;j[a+4220>>2]=0;c=a+4221|0;h[c|0]=0;h[c+1|0]=0;h[c+2|0]=0;h[c+3|0]=0;h[c+4|0]=0;h[c+5|0]=0;h[c+6|0]=0;h[c+7|0]=0;c=a+4237|0;h[c|0]=0;h[c+1|0]=0;h[c+2|0]=0;h[c+3|0]=0;h[c+4|0]=0;h[c+5|0]=0;h[c+6|0]=0;h[c+7|0]=0;j[a+4232>>2]=0;j[a+4236>>2]=0;h[a+4264|0]=0;c=a+4256|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4248>>2]=0;j[a+4252>>2]=0;j[a+4268>>2]=0;j[a+4272>>2]=0;c=a+4276|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4316>>2]=0;j[a+4320>>2]=0;c=a+4324|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4332|0;j[c>>2]=0;j[c+4>>2]=0;c=a+4340|0;j[c>>2]=0;j[c+4>>2]=0;j[a+4348>>2]=0;ya(a+4384|0,0,72);j[a+4192>>2]=65510;j[a+4196>>2]=0;j[a+4488>>2]=0;j[a+4380>>2]=0;j[a+4360>>2]=0;j[a+4352>>2]=0;j[a+4356>>2]=0;j[a+4308>>2]=-1;j[a+4312>>2]=0;j[a+4200>>2]=-1;i[a+4464>>1]=0;j[a+4456>>2]=0;j[a+4460>>2]=0;j[a+4292>>2]=-1;j[a+4296>>2]=0;j[a+4284>>2]=-1;j[a+4288>>2]=-1;j[a+4300>>2]=0;j[a+4304>>2]=0;j[a+4480>>2]=0;j[a+4484>>2]=0;j[a+4372>>2]=0;j[a+4376>>2]=0;ya(a+4492|0,0,65536);c=ya(a,0,4096);a=c+4474|0;i[a>>1]=0;i[a+2>>1]=0;a=c;i[a+4466>>1]=0;i[a+4468>>1]=0;i[a+4470>>1]=0;i[a+4472>>1]=0;pq(a,b);if(j[a+4200>>2]==-1){j[c+4200>>2]=3}return c}function nl(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a=M-1072|0;M=a;j[a+16>>2]=f;j[a+20>>2]=g;j[a+24>>2]=h;j[a+28>>2]=i;j[a+956>>2]=a+960;l=oh(a+960|0,a+16|0);j[a+544>>2]=77;n=Da(a+536|0,0,a+544|0);j[a+544>>2]=77;m=Da(a+528|0,0,a+544|0);q=a+544|0;a:{if(l>>>0>=100){p=ra();j[a>>2]=f;j[a+4>>2]=g;j[a+8>>2]=h;j[a+12>>2]=i;l=Sb(a+956|0,p,127871,a);f=j[a+956>>2];if(!f){break a}g=j[n>>2];j[n>>2]=f;if(g){O[j[n+4>>2]](g)}f=ja(l<<2);g=j[m>>2];j[m>>2]=f;if(g){O[j[m+4>>2]](g)}if(j[m>>2]!=0^1){break a}q=j[m>>2]}f=j[d+28>>2];j[a+520>>2]=f;j[f+4>>2]=j[f+4>>2]+1;h=rb(a+520|0);g=h;f=j[a+956>>2];O[j[j[g>>2]+48>>2]](g,f,f+l|0,q)|0;r=l?k[j[a+956>>2]]==45:r;p=ga(a+488|0);o=ga(a+472|0);g=ga(a+456|0);Uf(c,r,a+520|0,a+512|0,a+508|0,a+504|0,p,o,g,a+452|0);j[a+48>>2]=77;i=Da(a+40|0,0,a+48|0);c=j[a+452>>2];b:{if((c|0)<(l|0)){if(k[g+11|0]>>>7|0){f=j[g+4>>2]}else{f=k[g+11|0]}f=f+(l-c<<1|1)|0;break b}if(k[g+11|0]>>>7|0){c=j[g+4>>2]}else{c=k[g+11|0]}f=c+2|0}c=a+48|0;t=j[a+452>>2];if(k[o+11|0]>>>7|0){s=j[o+4>>2]}else{s=k[o+11|0]}f=t+(s+f|0)|0;if(f>>>0>=101){c=ja(f<<2);f=j[i>>2];j[i>>2]=c;if(f){O[j[i+4>>2]](f)}c=j[i>>2];if(!c){break a}}Tf(c,a+36|0,a+32|0,j[d+4>>2],q,(l<<2)+q|0,h,r,a+512|0,j[a+508>>2],j[a+504>>2],p,o,g,j[a+452>>2]);b=_b(b,c,j[a+36>>2],j[a+32>>2],d,e);c=j[i>>2];j[i>>2]=0;if(c){O[j[i+4>>2]](c)}Y(g);Y(o);Y(p);d=j[a+520>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}c=j[m>>2];j[m>>2]=0;if(c){O[j[m+4>>2]](c)}c=j[n>>2];j[n>>2]=0;if(c){O[j[n+4>>2]](c)}M=a+1072|0;return b|0}Fa();z()}function Th(a,b,c,d,e,f){var g=0,h=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=d?l[d+30>>1]:s;p=j[b+12>>2];if(p){u=c&1;while(1){k=j[p+4>>2];q=l[p+2>>1];m=q<<16>>16;r=k+(m<<1)|0;b=k;if(q){n=l[a+30>>1];c=m;while(1){g=c>>>1|0;o=(g<<1)+b|0;h=n>>>0>l[o>>1];b=h?o+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}a:{if(!(l[a+30>>1]>=l[b>>1]?(b|0)!=(r|0):0)){if(!d){break a}b=j[d+56>>2];if(!b){break a}c=i[d+60>>1];n=(c<<1)+b|0;if(c){o=l[a+30>>1];while(1){g=c>>>1|0;t=(g<<1)+b|0;h=o>>>0>l[t>>1];b=h?t+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if((b|0)==(n|0)|l[a+30>>1]>1]){break a}}b:{if(!u){break b}b=k;c=m;if(q){while(1){g=c>>>1|0;n=(g<<1)+b|0;h=l[n>>1]>>0;b=h?n+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if(l[b>>1]<=s>>>0?(b|0)!=(r|0):0){break b}b=j[a+56>>2];if(!b){break a}c=i[a+60>>1];n=(c<<1)+b|0;if(c){while(1){g=c>>>1|0;o=(g<<1)+b|0;h=l[o>>1]>>0;b=h?o+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if((b|0)==(n|0)|l[b>>1]>s>>>0){break a}}if(e){b=j[a+56>>2];if(!b){break a}c=i[a+60>>1];n=(c<<1)+b|0;if(c){while(1){g=c>>>1|0;o=(g<<1)+b|0;h=l[o>>1]>>0;b=h?o+2|0:b;c=h?(g^-1)+c|0:g;if(c){continue}break}}if((b|0)==(n|0)|l[b>>1]>e>>>0){break a}}if(!f){return p}if(q){while(1){b=m>>>1|0;q=(b<<1)+k|0;c=l[q>>1]>>0;k=c?q+2|0:k;m=c?(b^-1)+m|0:b;if(m){continue}break}}if(!((k|0)==(r|0)|l[k>>1]>f>>>0)){return p}b=j[a+56>>2];if(!b){break a}c=i[a+60>>1];q=(c<<1)+b|0;if(c){while(1){k=c>>>1|0;r=(k<<1)+b|0;m=l[r>>1]>>0;b=m?r+2|0:b;c=m?(k^-1)+c|0:k;if(c){continue}break}}if((b|0)==(q|0)|l[b>>1]>f>>>0){break a}return p}p=j[p+12>>2];if(p){continue}break}}return 0}function cq(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=M-48|0;M=f;j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;a:{if(!d){break a}b:{if((d|0)>-1){n=d<<1;g=U(n);j[f+16>>2]=g;o=(d<<1)+g|0;j[f+24>>2]=o;V(g,c,n);j[f+20>>2]=o;while(1){o=q<<1;c=o+g|0;n=k[c|0]|k[c+1|0]<<8;i[f+12>>1]=n;i[f+10>>1]=n;yr(f+14|0,f+10|0);c=o+j[f+16>>2]|0;g=l[f+14>>1];h[c|0]=g;h[c+1|0]=g>>>8;r=n&255;c=o+j[f+16>>2]|0;c=k[c|0]|k[c+1|0]<<8;s=n>>>8|0;if(!((s|0)==(c>>>8|0)?(r|0)==(c&255):0)){da(f+32|0,f+16|0);wa(a,b,f+32|0,e,0,0);c=o+j[f+16>>2]|0;h[c|0]=n;h[c+1|0]=n>>>8}if(j[a>>2]){c=j[a+4>>2];c:{if(!c){g=0;break c}m=j[a+8>>2];g=0;while(1){p=m+(g<<1)|0;p=k[p|0]|k[p+1|0]<<8;if((p>>>8|0)==(s|0)?(p&255)==(r|0):0){break c}g=g+1|0;if(g>>>0>>0){continue}break}}d:{if(c>>>0<=g>>>0){break d}while(1){e:{if(!g){break e}m=(j[a+8>>2]+(g<<1)|0)-2|0;m=k[m|0]|k[m+1|0]<<8;if((m&65280)==31744?!(m&255):0){break e}c=o+j[f+16>>2]|0;h[c|0]=m;h[c+1|0]=m>>>8;da(f+32|0,f+16|0);wa(a,b,f+32|0,e,0,0);c=j[a+4>>2]}m=g+1|0;f:{if(m>>>0>=c>>>0){break f}m=j[a+8>>2]+(m<<1)|0;m=k[m|0]|k[m+1|0]<<8;if((m&65280)==31744?!(m&255):0){break f}c=o+j[f+16>>2]|0;h[c|0]=m;h[c+1|0]=m>>>8;da(f+32|0,f+16|0);wa(a,b,f+32|0,e,0,0);c=j[a+4>>2]}while(1){g=g+1|0;if(g>>>0>=c>>>0){break d}m=j[a+8>>2]+(g<<1)|0;m=k[m|0]|k[m+1|0]<<8;if((m&255)!=(r|0)|(m>>>8|0)!=(s|0)){continue}break}if(c>>>0>g>>>0){continue}break}}c=o+j[f+16>>2]|0;h[c|0]=n;h[c+1|0]=n>>>8}g=j[f+16>>2];q=q+1|0;if((q|0)!=(d|0)){continue}break}break b}X();z()}if(!g){break a}j[f+20>>2]=g;T(g)}if(h[f+43|0]<=-1){T(j[f+32>>2])}M=f+48|0}function ug(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=M-16|0;M=m;n=sb(g);r=Dc(g);g=r;O[j[j[g>>2]+20>>2]](m,g);j[f>>2]=d;a:{b:{i=a;g=k[i|0];switch(g-43|0){case 0:case 2:break b;default:break a}}g=O[j[j[n>>2]+28>>2]](n,g<<24>>24)|0;i=j[f>>2];j[f>>2]=i+1;h[i|0]=g;i=a+1|0}c:{g=i;if(!((c-g|0)<=1|k[g|0]!=48|(k[g+1|0]|32)!=120)){g=O[j[j[n>>2]+28>>2]](n,48)|0;l=j[f>>2];j[f>>2]=l+1;h[l|0]=g;g=O[j[j[n>>2]+28>>2]](n,h[i+1|0])|0;l=j[f>>2];j[f>>2]=l+1;h[l|0]=g;i=i+2|0;g=i;while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(!(l-48>>>0<10|(l|32)-97>>>0<6)){break c}g=g+1|0;continue}}while(1){if(c>>>0<=g>>>0){break c}l=h[g|0];ra();if(l-48>>>0>=10){break c}g=g+1|0;continue}}if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}d:{if(!o){O[j[j[n>>2]+32>>2]](n,i,g,j[f>>2])|0;j[f>>2]=j[f>>2]+(g-i|0);break d}pc(i,g);t=O[j[j[r>>2]+16>>2]](r)|0;l=i;while(1){if(g>>>0<=l>>>0){pc((i-a|0)+d|0,j[f>>2])}else{if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}s=h[o+p|0]!=(q|0);if(k[m+11|0]>>>7|0){o=j[m>>2]}else{o=m}if(!(s|h[o+p|0]<1)){q=j[f>>2];j[f>>2]=q+1;h[q|0]=t;if(k[m+11|0]>>>7|0){o=j[m+4>>2]}else{o=k[m+11|0]}p=(o-1>>>0>p>>>0)+p|0;q=0}o=O[j[j[n>>2]+28>>2]](n,h[l|0])|0;s=j[f>>2];j[f>>2]=s+1;h[s|0]=o;l=l+1|0;q=q+1|0;continue}break}}while(1){e:{i=n;if(c>>>0>g>>>0){p=k[g|0];if((p|0)!=46){break e}p=O[j[j[r>>2]+12>>2]](r)|0;l=j[f>>2];j[f>>2]=l+1;h[l|0]=p;g=g+1|0}O[j[j[n>>2]+32>>2]](i,g,c,j[f>>2])|0;i=f;f=j[f>>2]+(c-g|0)|0;j[i>>2]=f;j[e>>2]=(b|0)==(c|0)?f:(b-a|0)+d|0;Y(m);M=m+16|0;return}i=O[j[j[n>>2]+28>>2]](n,p<<24>>24)|0;p=j[f>>2];j[f>>2]=p+1;h[p|0]=i;g=g+1|0;continue}}function ql(a,b,c,d,e,f,g,i,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a=M-464|0;M=a;j[a+16>>2]=f;j[a+20>>2]=g;j[a+24>>2]=i;j[a+28>>2]=l;j[a+348>>2]=a+352;m=oh(a+352|0,a+16|0);j[a+240>>2]=77;o=Da(a+232|0,0,a+240|0);j[a+240>>2]=77;n=Da(a+224|0,0,a+240|0);r=a+240|0;a:{if(m>>>0>=100){q=ra();j[a>>2]=f;j[a+4>>2]=g;j[a+8>>2]=i;j[a+12>>2]=l;m=Sb(a+348|0,q,127871,a);f=j[a+348>>2];if(!f){break a}g=j[o>>2];j[o>>2]=f;if(g){O[j[o+4>>2]](g)}f=ja(m);g=j[n>>2];j[n>>2]=f;if(g){O[j[n+4>>2]](g)}if(j[n>>2]!=0^1){break a}r=j[n>>2]}f=j[d+28>>2];j[a+216>>2]=f;j[f+4>>2]=j[f+4>>2]+1;i=sb(a+216|0);g=i;f=j[a+348>>2];O[j[j[g>>2]+32>>2]](g,f,f+m|0,r)|0;s=m?k[j[a+348>>2]]==45:s;q=ga(a+192|0);p=ga(a+176|0);g=ga(a+160|0);Wf(c,s,a+216|0,a+208|0,a+207|0,a+206|0,q,p,g,a+156|0);j[a+48>>2]=77;l=Da(a+40|0,0,a+48|0);c=j[a+156>>2];b:{if((c|0)<(m|0)){if(k[g+11|0]>>>7|0){f=j[g+4>>2]}else{f=k[g+11|0]}f=f+(m-c<<1|1)|0;break b}if(k[g+11|0]>>>7|0){c=j[g+4>>2]}else{c=k[g+11|0]}f=c+2|0}c=a+48|0;u=j[a+156>>2];if(k[p+11|0]>>>7|0){t=j[p+4>>2]}else{t=k[p+11|0]}f=u+(t+f|0)|0;if(f>>>0>=101){c=ja(f);f=j[l>>2];j[l>>2]=c;if(f){O[j[l+4>>2]](f)}c=j[l>>2];if(!c){break a}}Vf(c,a+36|0,a+32|0,j[d+4>>2],r,m+r|0,i,s,a+208|0,h[a+207|0],h[a+206|0],q,p,g,j[a+156>>2]);b=$b(b,c,j[a+36>>2],j[a+32>>2],d,e);c=j[l>>2];j[l>>2]=0;if(c){O[j[l+4>>2]](c)}Y(g);Y(p);Y(q);d=j[a+216>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}c=j[n>>2];j[n>>2]=0;if(c){O[j[n+4>>2]](c)}c=j[o>>2];j[o>>2]=0;if(c){O[j[o+4>>2]](c)}M=a+464|0;return b|0}Fa();z()}function Qq(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0;a:{e=j[a+8>>2];b:{if((e|0)!=j[a+12>>2]){break b}c=j[a+4>>2];d=j[a>>2];if(c>>>0>d>>>0){f=p((((c-d|0)/12|0)+1|0)/-2|0,12);d=f+c|0;if((c|0)!=(e|0)){while(1){if(h[d+11|0]<=-1){T(j[d>>2])}g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];h[c+11|0]=0;h[c|0]=0;d=d+12|0;c=c+12|0;if((e|0)!=(c|0)){continue}break}e=j[a+4>>2]}j[a+8>>2]=d;j[a+4>>2]=e+f;break b}f=e-d|0;f=f?(f|0)/12<<1:1;if(f>>>0>=357913942){break a}g=p(f,12);i=U(g);m=i+g|0;f=p(f>>>2|0,12)+i|0;g=e-c|0;k=(g|0)/12|0;c:{if(!g){g=f;break c}k=p(k,12);l=g-12|0;e=((l>>>0)/12|0)+1&3;d:{if(!e){d=f;break d}d=f;while(1){g=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=g;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;c=c+12|0;d=d+12|0;e=e-1|0;if(e){continue}break}}g=f+k|0;if(l>>>0>=36){while(1){e=j[c+4>>2];j[d>>2]=j[c>>2];j[d+4>>2]=e;j[d+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[d+20>>2]=j[c+20>>2];e=j[c+16>>2];j[d+12>>2]=j[c+12>>2];j[d+16>>2]=e;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[d+32>>2]=j[c+32>>2];e=j[c+28>>2];j[d+24>>2]=j[c+24>>2];j[d+28>>2]=e;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[d+44>>2]=j[c+44>>2];e=j[c+40>>2];j[d+36>>2]=j[c+36>>2];j[d+40>>2]=e;j[c+44>>2]=0;j[c+36>>2]=0;j[c+40>>2]=0;c=c+48|0;d=d+48|0;if((g|0)!=(d|0)){continue}break}}e=j[a+8>>2];c=j[a+4>>2];d=j[a>>2]}j[a+12>>2]=m;j[a+8>>2]=g;j[a+4>>2]=f;j[a>>2]=i;if((c|0)!=(e|0)){while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((e|0)!=(c|0)){continue}break}}if(!d){break b}T(d)}ha(j[a+8>>2],b);j[a+8>>2]=j[a+8>>2]+12;return}D();z()}function ep(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;d=M-160|0;M=d;a:{b:{e=j[b+4>>2];f=j[c+4>>2];if((e|0)==(f|0)){break b}i=j[a+20>>2];g=j[c>>2];h=j[b>>2];if(i>>>0>=(p(g-h>>2,341)+((f-j[g>>2]|0)/12|0)|0)+((e-j[h>>2]|0)/-12|0)>>>0){break b}f=j[b>>2];g=j[b+4>>2];c:{if(!i){break c}b=f;e=i+((g-j[b>>2]|0)/12|0)|0;if((e|0)>=1){i=(e>>>0)/341|0;h=b+(i<<2)|0;e=j[h>>2]+p(e-p(i,341)|0,12)|0;break c}e=340-e|0;h=b+((e|0)/-341<<2)|0;e=j[h>>2]+p(340-((e|0)%341|0)|0,12)|0}j[d+148>>2]=e;j[d+144>>2]=h;j[d+152>>2]=f;j[d+156>>2]=g;b=j[a+4>>2];g=j[a+16>>2];i=(g>>>0)/341|0;f=b+(i<<2)|0;j[d+140>>2]=(b|0)!=j[a+8>>2]?j[f>>2]+p(g-p(i,341)|0,12)|0:0;j[d+136>>2]=f;b=j[d+156>>2];j[d+72>>2]=j[d+152>>2];j[d+76>>2]=b;b=j[d+148>>2];j[d+64>>2]=j[d+144>>2];j[d+68>>2]=b;b=j[d+140>>2];j[d+56>>2]=j[d+136>>2];j[d+60>>2]=b;yh(d+128|0,d+72|0,d- -64|0,d+56|0);j[d+124>>2]=e;j[d+120>>2]=h;b=j[c+4>>2];c=j[c>>2];j[d+112>>2]=c;j[d+116>>2]=b;f=j[d+124>>2];j[d+48>>2]=j[d+120>>2];j[d+52>>2]=f;j[d+40>>2]=c;j[d+44>>2]=b;dp(a,d+48|0,d+40|0);break a}f=j[b+4>>2];j[d+96>>2]=j[b>>2];j[d+100>>2]=f;b=j[c+4>>2];j[d+88>>2]=j[c>>2];j[d+92>>2]=b;h=j[a+4>>2];g=j[a+16>>2];e=(g>>>0)/341|0;c=h+(e<<2)|0;b=d;if((h|0)==j[a+8>>2]){f=0}else{f=j[c>>2]+p(g-p(e,341)|0,12)|0}j[b+84>>2]=f;j[d+80>>2]=c;b=j[d+100>>2];j[d+32>>2]=j[d+96>>2];j[d+36>>2]=b;b=j[d+92>>2];j[d+24>>2]=j[d+88>>2];j[d+28>>2]=b;b=j[d+84>>2];j[d+16>>2]=j[d+80>>2];j[d+20>>2]=b;yh(d+128|0,d+32|0,d+24|0,d+16|0);b=j[d+132>>2];c=j[d+128>>2];j[d+104>>2]=c;j[d+108>>2]=b;j[d+8>>2]=c;j[d+12>>2]=b;cp(a,d+8|0)}M=d+160|0}function Yc(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;f=M-16|0;M=f;a:{if(h[c+11|0]<=-1){h[j[c>>2]]=0;j[c+4>>2]=0;break a}h[c+11|0]=0;h[c|0]=0}i=k[b+11|0];d=i<<24>>24<0;q=d?j[b+4>>2]:i;if(q){r=d?j[b>>2]:b;while(1){o=m+r|0;b:{c:{b=j[a+8>>2];d:{if((b|0)<=0){i=-1;break d}i=-1;b=b-1|0;n=j[a>>2];g=0;while(1){e=b+g>>>1|0;d=j[n+(e<<2)>>2];l=h[d+11|0];e:{if((l|0)<=-1){l=j[d+4>>2];d=j[d>>2];break e}l=l&255}l=Eb(o,d,l);d=(l|0)<0;i=d?i:l?i:e;b=d?e-1|0:b;g=d?g:e+1|0;if((b|0)>=(g|0)){continue}break}if((i|0)>-1){break c}}d=0;j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;b=0;break b}d=W(o);e=m?2:3;l=!m;g=j[n+(i<<2)>>2];b=h[g+11|0];f:{if((b|0)<=-1){b=j[g+4>>2];break f}b=b&255}b=(b|0)==(d|0)?e:l;g:{if(!b){d=0;break g}h:{if(!m){d=g+p(b,12)|0;e=h[d+23|0];i:{if((e|0)>=0){d=e&255;break i}d=j[d+16>>2]}if(d){d=b;break g}d=b-1|0;if(d){break h}d=0;break g}while(1){d=g+p(b,12)|0;e=h[d+23|0];j:{if((e|0)<=-1){d=j[d+16>>2];break j}d=e&255}if(d){d=b;break g}d=0;b=(b|0)==2?0:b-1|0;if(b){continue}break}break g}e=g+p(d,12)|0;n=h[e+23|0];k:{if((n|0)>=0){e=n&255;break k}e=j[e+16>>2]}if(e){break g}d=0;b=b-2|0;if(!b){break g}d=g+p(b,12)|0;e=h[d+23|0];if((e|0)>=0){d=e&255?b:0;break g}d=j[d+16>>2]?b:0}ha(f,(g+p(d,12)|0)+12|0);d=j[f+4>>2];b=k[f+11|0]}e=b&255;b=b<<24>>24<0;d=b?d:e;l:{if(d){aa(c,b?j[f>>2]:f,d);b=j[j[a>>2]+(i<<2)>>2];d=h[b+11|0];m:{if((d|0)<=-1){b=j[b+4>>2];break m}b=d&255}m=(b+m|0)-1|0;s=1;break l}Z(c,h[o|0])}if(h[f+11|0]<=-1){T(j[f>>2])}m=m+1|0;if(q>>>0>m>>>0){continue}break}}M=f+16|0;return s}function Ke(a,b,c,d,e,f,g,i,l){var m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;a:{u=b+d|0;if(k[u|0]){n=j[g+4>>2];q=j[g>>2];if((n|0)!=(q|0)){while(1){s=0;t=p(v,12);m=t+q|0;r=j[m+4>>2];o=j[m>>2];if((r|0)!=(o|0)){while(1){m=p(s,12)+o|0;n=h[m+11|0];b:{if((n|0)<=-1){n=j[m+4>>2];m=j[m>>2];break b}n=n&255}c:{if(Eb(m,u,n)){break c}x=1;if((o|0)==(r|0)){break c}m=k[c+11|0];r=m<<24>>24<0?j[c+4>>2]:m;n=d+n|0;o=0;while(1){d:{Wa(c,r);m=j[t+j[g>>2]>>2]+p(o,12)|0;w=k[m+11|0];q=w<<24>>24<0;aa(c,q?j[m>>2]:m,q?j[m+4>>2]:w);Ke(a,b,c,n,e,f,g,i,l);if(!j[i>>2]){break d}o=o+1|0;q=j[g>>2];m=t+q|0;if(o>>>0<(j[m+4>>2]-j[m>>2]|0)/12>>>0){continue}break c}break}break a}s=s+1|0;m=q+t|0;r=j[m+4>>2];o=j[m>>2];if(s>>>0<(r-o|0)/12>>>0){continue}break}n=j[g+4>>2]}v=v+1|0;if(v>>>0<(n-q|0)/12>>>0){continue}break}if(x){break a}}Z(c,h[u|0]);Ke(a,b,c,d+1|0,e,f,g,i,l);break a}b=j[e+4>>2];n=j[e>>2];if((b|0)!=(n|0)){b=(b-n|0)/12|0;s=b>>>0>1?b:1;d=k[c+11|0];g=d<<24>>24<0;b=g?j[c>>2]:c;d=g?j[c+4>>2]:d;while(1){g=n+p(q,12)|0;o=k[g+11|0];m=o<<24>>24<0;e:{if((d|0)!=((m?j[g+4>>2]:o)|0)){break e}r=j[g>>2];if(!m){if(!d){break a}m=b;if(k[m|0]!=(r&255)){break e}while(1){o=o-1|0;if(!o){break a}r=k[m+1|0];m=m+1|0;g=g+1|0;if((r|0)==k[g|0]){continue}break}break e}if(!d){break a}if(!qa(m?r:g,b,d)){break a}}q=q+1|0;if((s|0)!=(q|0)){continue}break}}if(!cc(a,c,f,i,l)){break a}b=j[a+48>>2];a=j[e+4>>2];if(b>>>0<=(a-j[e>>2]|0)/12>>>0){break a}if((a|0)!=j[e+8>>2]){y=e,z=ha(a,c)+12|0,j[y+4>>2]=z;break a}Wb(e,c)}}function lq(a,b,c){var d=0,e=0,f=0,g=0,i=0,k=0,l=0;d=M-16|0;M=d;j[a+52>>2]=0;j[a+44>>2]=c;j[a+28>>2]=0;j[a+32>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;j[a>>2]=0;j[a+4>>2]=0;j[a+56>>2]=0;j[a+60>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;j[a+72>>2]=3;j[a+76>>2]=0;j[a+64>>2]=0;j[a+68>>2]=4;j[a+48>>2]=15;j[a+36>>2]=0;j[a+16>>2]=0;a:{b:{if(!c){break b}j[a+60>>2]=j[c+4456>>2];k=a,l=ck(j[a+44>>2]),j[k>>2]=l;j[a+64>>2]=j[j[a+44>>2]+4300>>2];if(j[j[a+44>>2]+4284>>2]>=0){j[a+68>>2]=j[j[a+44>>2]+4284>>2]}j[a+56>>2]=j[j[a+44>>2]+4144>>2];if(j[j[a+44>>2]+4288>>2]>=0){j[a+72>>2]=j[j[a+44>>2]+4288>>2]}if(!j[a+56>>2]){k=a,l=_c(Bg(j[a+44>>2])),j[k+52>>2]=l}j[a+76>>2]=j[j[a+44>>2]+4148>>2];f=j[a>>2];if(!f){break b}if(j[a+56>>2]){g=W(f);if(g>>>0>=4294967280){break a}i=a+8|0;c:{d:{if(g>>>0>=11){e=g+16&-16;c=U(e);j[d+8>>2]=e|-2147483648;j[d>>2]=c;j[d+4>>2]=g;e=d;break d}h[d+11|0]=g;e=d;c=d;if(!g){break c}}V(c,f,g)}h[c+g|0]=0;k=a,l=ia(i,d),j[k+4>>2]=l;if(h[e+11|0]>-1){break b}T(j[d>>2]);break b}k=a,l=W(f),j[k+4>>2]=l}g=a;e:{f:{if(!b){break f}e=cb(b);j[a+20>>2]=e;c=0;if(!e){break e}k=a,l=W(e),j[k+24>>2]=l;if(!j[a+56>>2]){break f}f=W(b);if(f>>>0>=4294967280){break a}i=a+28|0;g:{h:{if(f>>>0>=11){c=f+16&-16;e=U(c);j[d+8>>2]=c|-2147483648;j[d>>2]=e;j[d+4>>2]=f;c=d;break h}h[d+11|0]=f;c=d;e=d;if(!f){break g}}V(e,b,f)}h[e+f|0]=0;k=a,l=ia(i,d),j[k+24>>2]=l;if(h[c+11|0]>-1){break f}T(j[d>>2])}a=j[a+20>>2];c=0;if(!a){break e}c=1;if(Ya(a,45)){break e}c=(Ya(a,97)|0)!=0}h[g+40|0]=c;M=d+16|0;return}X();z()}function bc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=j[c+4>>2];m=j[c>>2];c=e-m|0;if(!c){return 0}s=c>>1;f=j[b+4>>2];n=j[b>>2];b=f-n|0;t=b>>1;a:{if((a|0)<1){break a}e=m-e|0;e=((c|0)<(e|0)?e:c)>>>1|0;c=(c|0)>-1?c:-1;o=p(e,(c|0)<1?c:1);i=d&8;c=n-f|0;c=((b|0)<(c|0)?c:b)>>>1|0;b=(b|0)>-1?b:-1;r=p(c,(b|0)<1?b:1);q=r;c=1;while(1){b=u;u=b+1|0;e=0;f=c;h=t-c|0;b:{if((h|0)<0){break b}if((f|0)>(s|0)){e=r-b|0;g=e&1;b=0;c=0;if((r|0)!=(u|0)){e=e&-2;while(1){c=i?(b?(b|0)==(h|0)?-2:-1:-2)+c|0:c;c=i?c+((h|0)==(b|1)?-2:-1)|0:c;b=b+2|0;e=e-2|0;if(e){continue}break}}e=c;if(!g|!i){break b}e=(b?(b|0)==(h|0)?-2:-1:-2)+e|0;break b}b=0;if(!i){while(1){g=0;while(1){c=0;c:{d:{e:{while(1){h=(b+c<<1)+n|0;l=(c+g<<1)+m|0;if(!(k[h|0]!=k[l|0]|k[h+1|0]!=k[l+1|0])){c=c+1|0;if((f|0)!=(c|0)){continue}break e}break}if((c|0)!=(f|0)){break d}}e=e+1|0;break c}g=g+1|0;if((o|0)!=(g|0)){continue}}break}b=b+1|0;if((q|0)!=(b|0)){continue}break b}}while(1){g=0;f:{g:{while(1){c=0;h:{while(1){l=(b+c<<1)+n|0;v=(c+g<<1)+m|0;if(!(k[l|0]!=k[v|0]|k[l+1|0]!=k[v+1|0])){c=c+1|0;if((f|0)!=(c|0)){continue}break h}break}if((c|0)==(f|0)){break h}g=g+1|0;if((o|0)==(g|0)){break g}continue}break}e=e+1|0;break f}if((c|0)==(f|0)){break f}e=(b?(b|0)==(h|0)?-2:-1:-2)+e|0}b=b+1|0;if((q|0)!=(b|0)){continue}break}}w=e+w|0;if((e|0)<2?!i:0){break a}q=q-1|0;o=o-1|0;c=f+1|0;if((a|0)!=(f|0)){continue}break}}a=s-t|0;b=a>>31;a=d&2?(b^a+b)-2|0:a-2&0-(d&1);return w-((a|0)>0?a:0)|0}function fe(a,b,c,d,e){var f=0,g=0,i=0,j=0;j=k[c|0]|k[c+1|0]<<8;f=k[b|0]|k[b+1|0]<<8;g=k[a|0]|k[a+1|0]<<8;a:{if(f>>>0>=g>>>0){if(f>>>0<=j>>>0){f=j;break a}h[b|0]=j;h[b+1|0]=j>>>8;h[c|0]=f;h[c+1|0]=f>>>8;i=1;g=k[b|0]|k[b+1|0]<<8;j=k[a|0]|k[a+1|0]<<8;if(g>>>0>=j>>>0){break a}h[a|0]=g;h[a+1|0]=g>>>8;h[b|0]=j;h[b+1|0]=j>>>8;f=k[c|0]|k[c+1|0]<<8;i=2;break a}b:{if(f>>>0>j>>>0){h[a|0]=j;h[a+1|0]=j>>>8;h[c|0]=g;h[c+1|0]=g>>>8;i=1;break b}h[a|0]=f;h[a+1|0]=f>>>8;h[b|0]=g;h[b+1|0]=g>>>8;i=1;f=k[c|0]|k[c+1|0]<<8;if(g>>>0<=f>>>0){break a}h[b|0]=f;h[b+1|0]=f>>>8;h[c|0]=g;h[c+1|0]=g>>>8;i=2}f=g}g=k[d|0]|k[d+1|0]<<8;c:{if(g>>>0>=(f&65535)>>>0){break c}h[c|0]=g;h[c+1|0]=g>>>8;h[d|0]=f;h[d+1|0]=f>>>8;f=k[c|0]|k[c+1|0]<<8;g=k[b|0]|k[b+1|0]<<8;if(f>>>0>=g>>>0){i=i+1|0;break c}h[b|0]=f;h[b+1|0]=f>>>8;h[c|0]=g;h[c+1|0]=g>>>8;f=k[b|0]|k[b+1|0]<<8;g=k[a|0]|k[a+1|0]<<8;if(f>>>0>=g>>>0){i=i+2|0;break c}h[a|0]=f;h[a+1|0]=f>>>8;h[b|0]=g;h[b+1|0]=g>>>8;i=i+3|0}f=k[e|0]|k[e+1|0]<<8;g=k[d|0]|k[d+1|0]<<8;if(f>>>0>>0){h[d|0]=f;h[d+1|0]=f>>>8;h[e|0]=g;h[e+1|0]=g>>>8;e=k[d|0]|k[d+1|0]<<8;f=k[c|0]|k[c+1|0]<<8;if(e>>>0>=f>>>0){return i+1|0}h[c|0]=e;h[c+1|0]=e>>>8;h[d|0]=f;h[d+1|0]=f>>>8;d=k[c|0]|k[c+1|0]<<8;e=k[b|0]|k[b+1|0]<<8;if(d>>>0>=e>>>0){return i+2|0}h[b|0]=d;h[b+1|0]=d>>>8;h[c|0]=e;h[c+1|0]=e>>>8;c=k[b|0]|k[b+1|0]<<8;d=k[a|0]|k[a+1|0]<<8;if(c>>>0>=d>>>0){return i+3|0}h[a|0]=c;h[a+1|0]=c>>>8;h[b|0]=d;h[b+1|0]=d>>>8;i=i+4|0}return i}function ia(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0;c=j[a>>2];j[a+4>>2]=c;d=c;a:{b:{e=k[b+11|0];f=e<<24>>24<0;e=f?j[b+4>>2]:e;c:{if((e|0)>=1){b=f?j[b>>2]:b;m=e+b|0;while(1){f=0;d:{e:{f:{g:{h:{i:{d=k[b|0];switch((d>>>4|0)-8|0){case 0:case 1:case 2:case 3:break h;case 4:case 5:break i;case 7:break f;case 6:break g;default:break d}}c=k[b+1|0];if((c&192)==128){break e}}f=255;d=253;break d}f=255;c=k[b+1|0];if((c&192)!=128){d=253;break d}e=k[b+2|0];if((e&192)!=128){b=b+1|0;d=253;break d}b=b+2|0;f=c>>>2&15|d<<4;d=e&63|c<<6;break d}b=j[a+4>>2];if((b|0)!=j[a+8>>2]){h[b|0]=253;h[b+1|0]=255;j[a+4>>2]=b+2;return-1}c=j[a>>2];d=b-c|0;if((d|0)<=-3){break b}e=d>>1;f=e+1|0;f=e>>>0<1073741823?d>>>0>>0?f:d:2147483647;b=0;j:{if(!f){break j}if((f|0)<=-1){break a}b=U(f<<1)}e=b+(e<<1)|0;h[e|0]=253;h[e+1|0]=255;if((d|0)>=1){V(b,c,d)}j[a+8>>2]=b+(f<<1);j[a+4>>2]=e+2;j[a>>2]=b;a=-1;if(!c){break c}T(c);return-1}b=b+1|0;f=d>>>2&7;d=c&63|d<<6}c=j[a+4>>2];k:{if((c|0)!=j[a+8>>2]){d=d&255|f<<8;h[c|0]=d;h[c+1|0]=d>>>8;j[a+4>>2]=c+2;break k}l=j[a>>2];e=c-l|0;if((e|0)<=-3){break b}g=e>>1;i=g+1|0;i=g>>>0<1073741823?e>>>0>>0?i:e:2147483647;c=0;l:{if(!i){break l}if((i|0)<=-1){break a}c=U(i<<1)}g=c+(g<<1)|0;d=d&255|f<<8;h[g|0]=d;h[g+1|0]=d>>>8;if((e|0)>=1){V(c,l,e)}j[a+8>>2]=(i<<1)+c;j[a+4>>2]=g+2;j[a>>2]=c;if(!l){break k}T(l)}b=b+1|0;if(m>>>0>b>>>0){continue}break}c=j[a>>2];d=j[a+4>>2]}a=d-c>>1}return a}X();z()}D();z()}function gq(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0;g=M-32|0;M=g;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;a:{b:{if(!d){d=0;break b}if((d|0)<=-1){break a}i=d<<1;f=U(i);j[g+16>>2]=f;d=(d<<1)+f|0;j[g+24>>2]=d;V(f,c,i);j[g+20>>2]=d}i=d-f|0;if(i>>1>>>0>1){d=0;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;c:{if((i|0)==2){break c}while(1){l=d<<1;i=l+f|0;m=k[i|0]|k[i+1|0]<<8;d=d+1|0;n=d<<1;f=n+f|0;o=k[f|0]|k[f+1|0]<<8;h[i|0]=o;h[i+1|0]=o>>>8;h[f|0]=m;h[f+1|0]=m>>>8;da(g,g+16|0);wa(a,b,g,e,0,0);i=j[g+16>>2];f=i+l|0;m=k[f|0]|k[f+1|0]<<8;i=i+n|0;l=k[i|0]|k[i+1|0]<<8;h[f|0]=l;h[f+1|0]=l>>>8;h[i|0]=m;h[i+1|0]=m>>>8;f=j[g+16>>2];i=j[g+20>>2]-f|0;if((i>>1)-1>>>0>d>>>0){continue}break}if((i&-4)!=8){break c}d=k[c+2|0]|k[c+3|0]<<8;h[f|0]=d;h[f+1|0]=d>>>8;d=j[g+16>>2];f=k[c|0]|k[c+1|0]<<8;h[d+2|0]=f;h[d+3|0]=f>>>8;d=j[g+16>>2];f=k[c+4|0]|k[c+5|0]<<8;h[d+4|0]=f;h[d+5|0]=f>>>8;f=j[g+20>>2];i=f-4|0;d=((f-d|0)+c|0)-2|0;d=k[d|0]|k[d+1|0]<<8;h[i|0]=d;h[i+1|0]=d>>>8;d=j[g+20>>2];f=d-2|0;d=((d-j[g+16>>2]|0)+c|0)-4|0;d=k[d|0]|k[d+1|0]<<8;h[f|0]=d;h[f+1|0]=d>>>8;da(g,g+16|0);wa(a,b,g,e,0,0);d=j[g+16>>2];if((j[g+20>>2]-d|0)!=10){break c}f=k[c|0]|k[c+1|0]<<8;h[d|0]=f;h[d+1|0]=f>>>8;d=j[g+16>>2];f=k[c+4|0]|k[c+5|0]<<8;h[d+2|0]=f;h[d+3|0]=f>>>8;d=j[g+16>>2];c=k[c+2|0]|k[c+3|0]<<8;h[d+4|0]=c;h[d+5|0]=c>>>8;da(g,g+16|0);wa(a,b,g,e,0,0)}if(h[g+11|0]<=-1){T(j[g>>2])}f=j[g+16>>2]}if(f){j[g+20>>2]=f;T(f)}M=g+32|0;return}X();z()}function Qc(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:while(1){g=b-2|0;d=a;b:while(1){c:{d:{e:{f:{g:{h:{i:{j:{e=b-d|0;a=e>>1;switch(a|0){case 2:break j;case 0:case 1:break c;case 3:break f;case 5:break h;case 4:break i;default:break g}}a=b-2|0;if(l[a>>1]>=l[d>>1]){break c}$a(d,a);return}_d(d,d+2|0,d+4|0,b-2|0);return}Zd(d,d+2|0,d+4|0,d+6|0,b-2|0);return}if((e|0)<=61){Ri(d,b);return}f=((a|0)/2<<1)+d|0;k:{if((e|0)>=1999){a=(a|0)/4<<1;h=Zd(d,a+d|0,f,a+f|0,g);break k}h=wc(d,f,g)}a=g;if(l[d>>1]>=l[f>>1]){while(1){a=a-2|0;if((d|0)==(a|0)){f=d+2|0;if(l[d>>1]>1]){break d}while(1){if((f|0)==(g|0)){break c}if(l[d>>1]>1]){$a(f,g);f=f+2|0;break d}else{f=f+2|0;continue}}}if(l[a>>1]>=l[f>>1]){continue}break}$a(d,a);h=h+1|0}e=d+2|0;if(e>>>0>=a>>>0){break e}while(1){g=e;e=e+2|0;if(l[g>>1]>1]){continue}while(1){a=a-2|0;if(l[a>>1]>=l[f>>1]){continue}break}if(a>>>0>>0){e=g;break e}else{$a(g,a);f=(f|0)==(g|0)?a:f;h=h+1|0;continue}}}wc(d,d+2|0,b-2|0);break c}if(!((e|0)==(f|0)|l[f>>1]>=l[e>>1])){$a(e,f);h=h+1|0}if(!h){g=nf(d,e);a=e+2|0;if(nf(a,b)){b=e;a=d;if(!g){continue a}break c}if(g){continue a}}if((e-d|0)<(b-e|0)){Qc(d,e,c);a=e+2|0;continue a}Qc(e+2|0,b,c);b=e;a=d;continue a}a=g;if((f|0)==(a|0)){break c}while(1){e=f;f=e+2|0;if(l[d>>1]>=l[e>>1]){continue}while(1){a=a-2|0;if(l[d>>1]>1]){continue}break}if(a>>>0<=e>>>0){d=e;continue b}else{$a(e,a);continue}}}break}break}}function zi(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0;g=M-16|0;M=g;Ab(g,a,10);a:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break a}h[a+11|0]=0;h[a|0]=0}f=j[g>>2];b:{if((f|0)==j[g+4>>2]){c=f;break b}ua(a,f);f=j[g+4>>2];c=j[g>>2];if((f-c|0)/12>>>0<2){break b}l=1;while(1){q=p(l,12);d=q+c|0;n=k[d+11|0];b=n<<24>>24;o=(b|0)<0?j[d+4>>2]:n;c:{d:{if((b|0)<=-1){e=0;if(!o){while(1){b=p(e,12)+c|0;d=k[b+11|0];if(!(d<<24>>24<0?j[b+4>>2]:d)){break c}e=e+1|0;if((l|0)!=(e|0)){continue}break d}}while(1){b=p(e,12)+c|0;i=k[b+11|0];n=i<<24>>24<0;if(((n?j[b+4>>2]:i)|0)==(o|0)){if(!qa(j[d>>2],n?j[b>>2]:b,o)){break c}}e=e+1|0;if((l|0)!=(e|0)){continue}break}break d}m=0;if(!o){while(1){b=p(m,12)+c|0;d=k[b+11|0];if(!(d<<24>>24<0?j[b+4>>2]:d)){break c}m=m+1|0;if((m|0)!=(l|0)){continue}break d}}while(1){b=p(m,12)+c|0;e=k[b+11|0];i=e<<24>>24<0;e:{if(((i?j[b+4>>2]:e)|0)!=(o|0)){break e}e=i?j[b>>2]:b;b=d;i=n;while(1){if(k[b|0]!=k[e|0]){break e}e=e+1|0;b=b+1|0;i=i-1|0;if(i){continue}break}break c}m=m+1|0;if((m|0)!=(l|0)){continue}break}}f=a;d=k[a+11|0];if(d<<24>>24<0?j[a+4>>2]:d){Z(a,10);c=j[g>>2]}c=c+q|0;b=k[c+11|0];d=b<<24>>24<0;aa(f,d?j[c>>2]:c,d?j[c+4>>2]:b);c=j[g>>2];f=j[g+4>>2]}l=l+1|0;if(l>>>0<(f-c|0)/12>>>0){continue}break}}if(c){if((c|0)==(f|0)){a=c}else{while(1){a=f-12|0;if(h[f-1|0]<=-1){T(j[a>>2])}f=a;if((a|0)!=(c|0)){continue}break}a=j[g>>2]}j[g+4>>2]=c;T(a)}M=g+16|0}function pd(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=M-128|0;M=m;j[m+120>>2]=b;j[m+16>>2]=77;q=Da(m+8|0,0,m+16|0);n=m+16|0;a:{o=(d-c|0)/12|0;if(o>>>0>=101){n=ja(o);if(!n){break a}b=j[q>>2];j[q>>2]=n;if(b){O[j[q+4>>2]](b)}}i=n;b=c;while(1)if((b|0)==(d|0)){b:while(1){c:{if(!(kb(a,m+120|0)?o:0)){if(Ra(a,m+120|0)){j[f>>2]=j[f>>2]|2}break c}i=j[a>>2];b=j[i+12>>2];d:{if((b|0)==j[i+16>>2]){b=O[j[j[i>>2]+36>>2]](i)|0;break d}b=j[b>>2]}r=b;if(!g){r=O[j[j[e>>2]+28>>2]](e,r)|0}t=s+1|0;u=0;i=n;b=c;while(1)if((b|0)==(d|0)){s=t;if(!u){continue b}Na(a);i=n;b=c;if(o+p>>>0<2){continue b}while(1){if((b|0)==(d|0)){continue b}if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if(!((l|0)==(s|0)|k[i|0]!=2)){h[i|0]=0;p=p-1|0}i=i+1|0;b=b+12|0;continue}}else{e:{if(k[i|0]!=1){break e}if(k[b+11|0]>>>7|0){l=j[b>>2]}else{l=b}l=j[l+(s<<2)>>2];if(!g){l=O[j[j[e>>2]+28>>2]](e,l)|0}f:{if((r|0)==(l|0)){u=1;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if((l|0)!=(t|0)){break e}h[i|0]=2;p=p+1|0;break f}h[i|0]=0}o=o-1|0}i=i+1|0;b=b+12|0;continue}}break}g:{h:{while(1){if((c|0)==(d|0)){break h}if(k[n|0]!=2){n=n+1|0;c=c+12|0;continue}break}d=c;break g}j[f>>2]=j[f>>2]|4}a=q;b=j[a>>2];j[a>>2]=0;if(b){O[j[a+4>>2]](b)}M=m+128|0;return d}else{if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}i:{if(l){h[i|0]=1;break i}h[i|0]=2;p=p+1|0;o=o-1|0}i=i+1|0;b=b+12|0;continue}}Fa();z()}function ml(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a=M-496|0;M=a;g=j[d+28>>2];j[a+488>>2]=g;j[g+4>>2]=j[g+4>>2]+1;n=rb(a+488|0);h=c;c=f;g=j[f+4>>2];a:{if(k[f+11|0]>>>7|0){break a}g=k[c+11|0]}if(g){if(k[c+11|0]>>>7|0){g=j[c>>2]}else{g=c}q=j[g>>2]==(O[j[j[n>>2]+44>>2]](n,45)|0)}o=ga(a+456|0);m=ga(a+440|0);i=ga(a+424|0);Uf(h,q,a+488|0,a+480|0,a+476|0,a+472|0,o,m,i,a+420|0);j[a+16>>2]=77;l=Da(a+8|0,0,a+16|0);if(k[c+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}b:{if((c|0)>j[a+420>>2]){if(k[f+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}g=j[a+420>>2];if(k[i+11|0]>>>7|0){h=j[i+4>>2]}else{h=k[i+11|0]}g=(h+(c-g<<1)|0)+1|0;break b}if(k[i+11|0]>>>7|0){c=j[i+4>>2]}else{c=k[i+11|0]}g=c+2|0}c=a+16|0;c:{p=j[a+420>>2];if(k[m+11|0]>>>7|0){h=j[m+4>>2]}else{h=k[m+11|0]}g=p+(h+g|0)|0;if(g>>>0<101){break c}c=ja(g<<2);g=j[l>>2];j[l>>2]=c;if(g){O[j[l+4>>2]](g)}c=j[l>>2];if(c){break c}Fa();z()}h=c;r=a+4|0;p=a;s=j[d+4>>2];if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}t=g;if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}Tf(h,r,p,s,t,g+(f<<2)|0,n,q,a+480|0,j[a+476>>2],j[a+472>>2],o,m,i,j[a+420>>2]);b=_b(b,c,j[a+4>>2],j[a>>2],d,e);c=j[l>>2];j[l>>2]=0;if(c){O[j[l+4>>2]](c)}Y(i);Y(m);Y(o);d=j[a+488>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}M=a+496|0;return b|0}function sq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=M-16|0;M=f;a:{if(!j[a+64>>2]){b=-1;break a}d=j[a+92>>2]&8;b:{if(d){b=j[a+12>>2];break b}j[a+28>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;b=k[a+98|0];c=j[(b?52:60)+a>>2];b=j[(b?32:56)+a>>2];j[a+92>>2]=8;j[a+8>>2]=b;b=b+c|0;j[a+16>>2]=b;j[a+12>>2]=b}if(!b){b=f+16|0;j[a+16>>2]=b;j[a+12>>2]=b;j[a+8>>2]=f+15}c=j[a+16>>2];if(d){e=(c-j[a+8>>2]|0)/2|0;e=e>>>0<4?e:4}c:{d:{e:{if((b|0)==(c|0)){Ja(j[a+8>>2],b-e|0,e);if(k[a+98|0]){c=j[a+8>>2];c=vh(c+e|0,(j[a+16>>2]-e|0)-c|0,j[a+64>>2]);b=-1;if(!c){break c}b=j[a+8>>2]+e|0;j[a+12>>2]=b;j[a+16>>2]=b+c;b=k[b|0];break c}g=a;b=j[a+40>>2];c=j[a+36>>2];f:{if((b|0)==(c|0)){d=b;break f}Ja(j[a+32>>2],c,b-c|0);b=j[a+36>>2];d=j[a+40>>2]}c=j[a+32>>2];d=(d-b|0)+c|0;j[g+36>>2]=d;c=c+((c|0)==(a+44|0)?8:j[a+52>>2])|0;j[a+40>>2]=c;b=j[a+76>>2];j[a+80>>2]=j[a+72>>2];j[a+84>>2]=b;b=d;c=c-d|0;d=j[a+60>>2]-e|0;c=vh(b,c>>>0>>0?c:d,j[a+64>>2]);b=-1;if(!c){break c}b=j[a+68>>2];if(!b){break e}c=c+j[a+36>>2]|0;j[a+40>>2]=c;g=c;c=j[a+8>>2];if((O[j[j[b>>2]+16>>2]](b,a+72|0,j[a+32>>2],g,a+36|0,c+e|0,c+j[a+60>>2]|0,f+8|0)|0)==3){b=j[a+32>>2];j[a+8>>2]=b;c=j[a+40>>2];break d}b=j[a+8>>2]+e|0;c=j[f+8>>2];if((b|0)!=(c|0)){break d}b=-1;break c}b=k[b|0];break c}Fa();z()}j[a+16>>2]=c;j[a+12>>2]=b;b=k[b|0]}if(j[a+8>>2]!=(f+15|0)){break a}j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0}M=f+16|0;return b|0}function ol(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a=M-192|0;M=a;g=j[d+28>>2];j[a+184>>2]=g;j[g+4>>2]=j[g+4>>2]+1;o=sb(a+184|0);i=c;c=f;g=j[f+4>>2];a:{if(k[f+11|0]>>>7|0){break a}g=k[c+11|0]}if(g){if(k[c+11|0]>>>7|0){g=j[c>>2]}else{g=c}r=k[g|0]==(O[j[j[o>>2]+28>>2]](o,45)&255)}p=ga(a+160|0);n=ga(a+144|0);l=ga(a+128|0);Wf(i,r,a+184|0,a+176|0,a+175|0,a+174|0,p,n,l,a+124|0);j[a+16>>2]=77;m=Da(a+8|0,0,a+16|0);if(k[c+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}b:{if((c|0)>j[a+124>>2]){if(k[f+11|0]>>>7|0){c=j[f+4>>2]}else{c=k[f+11|0]}g=j[a+124>>2];if(k[l+11|0]>>>7|0){i=j[l+4>>2]}else{i=k[l+11|0]}g=(i+(c-g<<1)|0)+1|0;break b}if(k[l+11|0]>>>7|0){c=j[l+4>>2]}else{c=k[l+11|0]}g=c+2|0}c=a+16|0;c:{q=j[a+124>>2];if(k[n+11|0]>>>7|0){i=j[n+4>>2]}else{i=k[n+11|0]}g=q+(i+g|0)|0;if(g>>>0<101){break c}c=ja(g);g=j[m>>2];j[m>>2]=c;if(g){O[j[m+4>>2]](g)}c=j[m>>2];if(c){break c}Fa();z()}i=c;s=a+4|0;q=a;t=j[d+4>>2];if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}u=g;if(k[f+11|0]>>>7|0){g=j[f>>2]}else{g=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}Vf(i,s,q,t,u,g+f|0,o,r,a+176|0,h[a+175|0],h[a+174|0],p,n,l,j[a+124>>2]);b=$b(b,c,j[a+4>>2],j[a>>2],d,e);c=j[m>>2];j[m>>2]=0;if(c){O[j[m+4>>2]](c)}Y(l);Y(n);Y(p);d=j[a+184>>2];c=j[d+4>>2]-1|0;j[d+4>>2]=c;if((c|0)==-1){O[j[j[d>>2]+8>>2]](d)}M=a+192|0;return b|0}function be(a,b,c){var d=0,e=0,f=0,g=0,i=0;a:while(1){g=b-1|0;d=a;b:while(1){c:{d:{e:{f:{g:{h:{i:{j:{a=b-d|0;switch(a|0){case 2:break j;case 0:case 1:break c;case 3:break f;case 5:break h;case 4:break i;default:break g}}a=b-1|0;if(h[a|0]>=h[d|0]){break c}Xa(d,a);return}ae(d,d+1|0,d+2|0,b-1|0);return}$d(d,d+1|0,d+2|0,d+3|0,b-1|0);return}if((a|0)<=30){Si(d,b);return}e=(a>>>1|0)+d|0;k:{if((a|0)>=1e3){a=a>>>2|0;i=$d(d,a+d|0,e,a+e|0,g);break k}i=xc(d,e,g)}a=g;if(h[d|0]>=h[e|0]){while(1){a=a-1|0;if((d|0)==(a|0)){e=d+1|0;if(h[d|0]=h[e|0]){continue}break}Xa(d,a);i=i+1|0}f=d+1|0;if(f>>>0>=a>>>0){break e}while(1){g=f;f=f+1|0;if(h[g|0]=h[e|0]){continue}break}if(a>>>0>>0){f=g;break e}else{Xa(g,a);e=(e|0)==(g|0)?a:e;i=i+1|0;continue}}}xc(d,d+1|0,b-1|0);break c}if(!((e|0)==(f|0)|h[e|0]>=h[f|0])){Xa(f,e);i=i+1|0}if(!i){g=of(d,f);a=f+1|0;if(of(a,b)){b=f;a=d;if(!g){continue a}break c}if(g){continue a}}if((f-d|0)<(b-f|0)){be(d,f,c);a=f+1|0;continue a}be(f+1|0,b,c);b=f;a=d;continue a}a=g;if((e|0)==(a|0)){break c}while(1){f=e;e=f+1|0;if(h[d|0]>=h[f|0]){continue}while(1){a=a-1|0;if(h[d|0]>>0<=f>>>0){d=f;continue b}else{Xa(f,a);continue}}}break}break}}function fq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0;e=M-16|0;M=e;a:{b:{c:{i=W(c);if(i>>>0<4294967280){d:{e:{if(i>>>0>=11){m=i+16&-16;f=U(m);j[e+8>>2]=m|-2147483648;j[e>>2]=f;j[e+4>>2]=i;m=e;break e}h[e+11|0]=i;m=e;f=e;if(!i){break d}}V(f,c,i)}h[f+i|0]=0;f=k[m+11|0];g=f<<24>>24;if(((g|0)<0?j[e+4>>2]:f)>>>0<2){break a}f=0;f:{g:{while(1){h:{i:{j:{if(g<<24>>24<=-1){i=j[e+4>>2];if(i-1>>>0>f>>>0){break j}if((i|0)!=4){break h}f=k[c+1|0];break g}i=g&255;l=e;if(i-1>>>0>f>>>0){break i}if((g&255)!=4){break h}f=k[c+1|0];l=e;break f}l=j[e>>2]}i=f+1|0;g=l+i|0;n=k[g|0];l=f+l|0;h[g|0]=k[l|0];h[l|0]=n;wa(a,b,e,d,0,0);l=h[m+11|0]<0?j[e>>2]:e;g=l+i|0;n=k[g|0];f=f+l|0;h[g|0]=k[f|0];h[f|0]=n;g=k[m+11|0];f=i;continue}break}if((i|0)!=5){break a}f=k[c+1|0];l=e;if(g<<24>>24>-1){break f}}l=j[e>>2]}h[l|0]=f;i=e|1;h[(h[m+11|0]<0?j[e>>2]+1|0:i)|0]=k[c|0];l=e|2;h[(h[m+11|0]<0?j[e>>2]+2|0:l)|0]=k[c+2|0];f=k[m+11|0];g=f<<24>>24<0;f=g?j[e+4>>2]:f;h[((g?j[e>>2]:e)+f|0)-2|0]=k[(c+f|0)-1|0];f=k[m+11|0];g=f<<24>>24<0;f=g?j[e+4>>2]:f;h[((g?j[e>>2]:e)+f|0)-1|0]=k[(c+f|0)-2|0];wa(a,b,e,d,0,0);g=h[m+11|0];if((g|0)>-1){break c}if(j[e+4>>2]!=5){break a}f=j[e>>2];break b}X();z()}f=e;if((g|0)!=5){break a}}h[f|0]=k[c|0];h[(h[m+11|0]<0?j[e>>2]+1|0:i)|0]=k[c+2|0];h[(h[m+11|0]<0?j[e>>2]+2|0:l)|0]=k[c+1|0];wa(a,b,e,d,0,0);g=k[m+11|0]}if(g<<24>>24<=-1){T(j[e>>2])}M=e+16|0}function uo(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{d=j[a>>2];g=(j[a+4>>2]-d|0)/40|0;c=g+1|0;if(c>>>0<107374183){d=(j[a+8>>2]-d|0)/40|0;e=d<<1;d=d>>>0<53687091?c>>>0>e>>>0?c:e:107374182;if(d){if(d>>>0>=107374183){break c}f=U(p(d,40))}e=j[b+4>>2];c=p(g,40)+f|0;j[c>>2]=j[b>>2];j[c+4>>2]=e;j[c+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];g=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=g;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];g=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=g;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+36>>2]=j[b+36>>2];d=p(d,40)+f|0;g=c+40|0;b=j[a+4>>2];f=j[a>>2];if((b|0)==(f|0)){break b}while(1){b=b-40|0;e=j[b+4>>2];c=c-40|0;j[c>>2]=j[b>>2];j[c+4>>2]=e;j[c+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[c+20>>2]=j[b+20>>2];e=j[b+16>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=e;j[b+12>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[c+32>>2]=j[b+32>>2];e=j[b+28>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=e;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[c+36>>2]=j[b+36>>2];if((b|0)!=(f|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=g;f=j[a>>2];j[a>>2]=c;if((b|0)==(f|0)){break a}while(1){if(h[b-5|0]<=-1){T(j[b-16>>2])}if(h[b-17|0]<=-1){T(j[b-28>>2])}b=b-40|0;if(h[b+11|0]<=-1){T(j[b>>2])}if((b|0)!=(f|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=g;j[a>>2]=c}if(f){T(f)}}function yl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,l=0,n=0;a=M-624|0;M=a;j[a+608>>2]=c;j[a+616>>2]=b;j[a+16>>2]=78;i=Da(a+200|0,a+208|0,a+16|0);b=j[e+28>>2];j[a+192>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=rb(a+192|0);h[a+191|0]=0;a:{if(!$f(a+616|0,c,d,a+192|0,j[e+4>>2],f,a+191|0,b,i,a+196|0,a+608|0)){break a}c=k[127867]|k[127868]<<8|(k[127869]<<16|k[127870]<<24);h[a+183|0]=c;h[a+184|0]=c>>>8;h[a+185|0]=c>>>16;h[a+186|0]=c>>>24;c=k[127864]|k[127865]<<8|(k[127866]<<16|k[127867]<<24);j[a+176>>2]=k[127860]|k[127861]<<8|(k[127862]<<16|k[127863]<<24);j[a+180>>2]=c;O[j[j[b>>2]+48>>2]](b,a+176|0,a+186|0,a+128|0)|0;j[a+16>>2]=77;b=Da(a+8|0,0,a+16|0);c=a+16|0;b:{if((j[a+196>>2]-j[i>>2]|0)>=393){d=ja((j[a+196>>2]-j[i>>2]>>2)+2|0);c=j[b>>2];j[b>>2]=d;if(c){O[j[b+4>>2]](c)}if(!j[b>>2]){break b}c=j[b>>2]}if(k[a+191|0]){h[c|0]=45;c=c+1|0}e=j[i>>2];while(1){if(m[a+196>>2]<=e>>>0){c:{h[c|0]=0;j[a>>2]=g;if((Pg(a+16|0,a)|0)!=1){break c}c=j[b>>2];j[b>>2]=0;if(c){O[j[b+4>>2]](c)}break a}}else{l=c,n=k[(a+176|0)+(me(a+128|0,a+168|0,e)-(a+128|0)>>2)|0],h[l|0]=n;c=c+1|0;e=e+4|0;continue}break}Fa();z()}Fa();z()}if(Ra(a+616|0,a+608|0)){j[f>>2]=j[f>>2]|2}d=j[a+616>>2];b=j[a+192>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+624|0;return d|0}function hd(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;s=j[a+4248>>2];a=j[a+4252>>2];if((s|0)!=(a|0)){u=d+17|0;v=(a-s|0)/40|0;r=b+c|0;w=k[r|0];while(1){f=p(t,40)+s|0;b=f+12|0;b=h[f+23|0]<=-1?j[b>>2]:b;a=k[b|0];a:{if(!a){break a}g=r;if((a|0)!=46&(a|0)!=(w|0)){break a}while(1){a=k[b+1|0];if(!a){break a}o=k[g+1|0];g=g+1|0;b=b+1|0;if(!((a|0)!=46&(a|0)!=(o|0))){continue}break}}b:{if(a){break b}c:{if(!d){break c}m=l[f+36>>1];if(!m){break c}a=j[d+4>>2];if(!a){break b}b=i[d+2>>1];o=(b<<1)+a|0;if(b){while(1){n=b>>>1|0;g=(n<<1)+a|0;q=m>>>0>l[g>>1];a=q?g+2|0:a;b=q?(n^-1)+b|0:n;if(b){continue}break}}if((a|0)==(o|0)|m>>>0>1]){break b}}d:{if(!e){break d}m=l[f+38>>1];if(!m){break d}a=j[e+4>>2];if(!a){break b}b=i[e+2>>1];o=(b<<1)+a|0;if(b){while(1){n=b>>>1|0;g=(n<<1)+a|0;q=m>>>0>l[g>>1];a=q?g+2|0:a;b=q?(n^-1)+b|0:n;if(b){continue}break}}if((a|0)==(o|0)|m>>>0>1]){break b}}e:{f:{g:{h:{a=k[f+11|0];b=a<<24>>24;g=(b|0)>-1;if(!g){if(j[f+4>>2]){break h}return 1}if(b){break g}return 1}b=j[f>>2];break f}b=f}if(k[b|0]!=48){break e}b=k[d|0];if((b|0)>(c|0)){break e}if(Eb(r-b|0,u,b)){break e}return 1}i:{if(!g){b=j[f>>2];if(k[b|0]==48){break b}a=j[f+4>>2];if(a){break i}break b}if(k[f|0]==48){break b}b=f}if(Eb(r-a|0,b,a)){break b}return 1}t=t+1|0;if(v>>>0>t>>>0){continue}break}}return 0}function Yb(a,b,c,d,e,f,g,h){var i=0,k=0,l=0,m=0,n=0;k=M-32|0;M=k;j[k+16>>2]=c;j[k+24>>2]=b;b=j[d+28>>2];j[k+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=rb(k+8|0);c=j[k+8>>2];i=j[c+4>>2]-1|0;j[c+4>>2]=i;if((i|0)==-1){O[j[j[c>>2]+8>>2]](c)}j[e>>2]=0;c=0;a:{while(1){if(c|(g|0)==(h|0)){break a}b:{if(Ra(k+24|0,k+16|0)){break b}c:{if((O[j[j[b>>2]+52>>2]](b,j[g>>2],0)|0)==37){c=g+4|0;if((h|0)==(c|0)){break b}l=0;i=O[j[j[b>>2]+52>>2]](b,j[c>>2],0)|0;d:{if(!((i|0)==69|(i&255)==48)){c=g;break d}if((g+8|0)==(h|0)){break b}l=i;i=O[j[j[b>>2]+52>>2]](b,j[g+8>>2],0)|0}m=k,n=O[j[j[a>>2]+36>>2]](a,j[k+24>>2],j[k+16>>2],d,e,f,i,l)|0,j[m+24>>2]=n;g=c+8|0;break c}if(O[j[j[b>>2]+12>>2]](b,8192,j[g>>2])|0){while(1){e:{g=g+4|0;if((h|0)==(g|0)){g=h;break e}if(O[j[j[b>>2]+12>>2]](b,8192,j[g>>2])|0){continue}}break}while(1){if(!kb(k+24|0,k+16|0)){break c}c=b;i=j[k+24>>2];l=j[i+12>>2];f:{if((l|0)==j[i+16>>2]){i=O[j[j[i>>2]+36>>2]](i)|0;break f}i=j[l>>2]}if(!(O[j[j[b>>2]+12>>2]](c,8192,i)|0)){break c}Na(k+24|0);continue}}c=b;i=j[k+24>>2];l=j[i+12>>2];g:{if((l|0)==j[i+16>>2]){i=O[j[j[i>>2]+36>>2]](i)|0;break g}i=j[l>>2]}if((O[j[j[b>>2]+28>>2]](c,i)|0)==(O[j[j[b>>2]+28>>2]](b,j[g>>2])|0)){g=g+4|0;Na(k+24|0);break c}j[e>>2]=4}c=j[e>>2];continue}break}j[e>>2]=4}if(Ra(k+24|0,k+16|0)){j[e>>2]=j[e>>2]|2}M=k+32|0;return j[k+24>>2]}function El(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,l=0,n=0;a=M-288|0;M=a;j[a+272>>2]=c;j[a+280>>2]=b;j[a+16>>2]=78;i=Da(a+152|0,a+160|0,a+16|0);b=j[e+28>>2];j[a+144>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(a+144|0);h[a+143|0]=0;a:{if(!fg(a+280|0,c,d,a+144|0,j[e+4>>2],f,a+143|0,b,i,a+148|0,a+260|0)){break a}c=k[127867]|k[127868]<<8|(k[127869]<<16|k[127870]<<24);h[a+135|0]=c;h[a+136|0]=c>>>8;h[a+137|0]=c>>>16;h[a+138|0]=c>>>24;c=k[127864]|k[127865]<<8|(k[127866]<<16|k[127867]<<24);j[a+128>>2]=k[127860]|k[127861]<<8|(k[127862]<<16|k[127863]<<24);j[a+132>>2]=c;O[j[j[b>>2]+32>>2]](b,a+128|0,a+138|0,a+118|0)|0;j[a+16>>2]=77;b=Da(a+8|0,0,a+16|0);c=a+16|0;b:{if((j[a+148>>2]-j[i>>2]|0)>=99){d=ja((j[a+148>>2]-j[i>>2]|0)+2|0);c=j[b>>2];j[b>>2]=d;if(c){O[j[b+4>>2]](c)}if(!j[b>>2]){break b}c=j[b>>2]}if(k[a+143|0]){h[c|0]=45;c=c+1|0}e=j[i>>2];while(1){if(m[a+148>>2]<=e>>>0){c:{h[c|0]=0;j[a>>2]=g;if((Pg(a+16|0,a)|0)!=1){break c}c=j[b>>2];j[b>>2]=0;if(c){O[j[b+4>>2]](c)}break a}}else{l=c,n=k[((pe(a+118|0,a+128|0,e)-a|0)+a|0)+10|0],h[l|0]=n;c=c+1|0;e=e+1|0;continue}break}Fa();z()}Fa();z()}if(Sa(a+280|0,a+272|0)){j[f>>2]=j[f>>2]|2}d=j[a+280>>2];b=j[a+144>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+288|0;return d|0}function qd(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=M-128|0;M=m;j[m+120>>2]=b;j[m+16>>2]=77;q=Da(m+8|0,0,m+16|0);n=m+16|0;a:{o=(d-c|0)/12|0;if(o>>>0>=101){n=ja(o);if(!n){break a}b=j[q>>2];j[q>>2]=n;if(b){O[j[q+4>>2]](b)}}i=n;b=c;while(1)if((b|0)==(d|0)){b:while(1){c:{if(!(lb(a,m+120|0)?o:0)){if(Sa(a,m+120|0)){j[f>>2]=j[f>>2]|2}break c}r=Ga(a);if(!g){r=O[j[j[e>>2]+12>>2]](e,r)|0}u=s+1|0;v=0;i=n;b=c;while(1)if((b|0)==(d|0)){s=u;if(!v){continue b}Oa(a);i=n;b=c;if(o+p>>>0<2){continue b}while(1){if((b|0)==(d|0)){continue b}if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if(!((l|0)==(s|0)|k[i|0]!=2)){h[i|0]=0;p=p-1|0}i=i+1|0;b=b+12|0;continue}}else{d:{if(k[i|0]!=1){break d}if(k[b+11|0]>>>7|0){l=j[b>>2]}else{l=b}t=h[l+s|0];l=r&255;if(!g){t=O[j[j[e>>2]+12>>2]](e,t)|0}e:{if((t&255)==(l|0)){v=1;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}if((l|0)!=(u|0)){break d}h[i|0]=2;p=p+1|0;break e}h[i|0]=0}o=o-1|0}i=i+1|0;b=b+12|0;continue}}break}f:{g:{while(1){if((c|0)==(d|0)){break g}if(k[n|0]!=2){n=n+1|0;c=c+12|0;continue}break}d=c;break f}j[f>>2]=j[f>>2]|4}a=q;b=j[a>>2];j[a>>2]=0;if(b){O[j[a+4>>2]](b)}M=m+128|0;return d}else{if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}h:{if(l){h[i|0]=1;break h}h[i|0]=2;p=p+1|0;o=o-1|0}i=i+1|0;b=b+12|0;continue}}Fa();z()}function vm(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0;a=M-432|0;M=a;j[a+424>>2]=37;j[a+428>>2]=0;l=md(a+424|1,127642,j[c+4>>2]);j[a+380>>2]=a+384;i=ra();a:{if(l){k=j[c+8>>2];j[a+72>>2]=g;j[a+76>>2]=h;m=a- -64|0;j[m>>2]=e;j[m+4>>2]=f;j[a+48>>2]=k;i=fb(a+384|0,30,i,a+424|0,a+48|0);break a}j[a+80>>2]=e;j[a+84>>2]=f;j[a+88>>2]=g;j[a+92>>2]=h;i=fb(a+384|0,30,i,a+424|0,a+80|0)}j[a+128>>2]=77;k=Da(a+368|0,0,a+128|0);b:{if((i|0)>=30){i=ra();c:{if(l){l=j[c+8>>2];j[a+24>>2]=g;j[a+28>>2]=h;j[a+16>>2]=e;j[a+20>>2]=f;j[a>>2]=l;i=Sb(a+380|0,i,a+424|0,a);break c}j[a+32>>2]=e;j[a+36>>2]=f;j[a+40>>2]=g;j[a+44>>2]=h;i=Sb(a+380|0,i,a+424|0,a+32|0)}f=j[a+380>>2];if(!f){break b}e=j[k>>2];j[k>>2]=f;if(e){O[j[k+4>>2]](e)}}e=j[a+380>>2];f=e+i|0;l=Bb(e,f,c);j[a+128>>2]=77;e=Da(a+120|0,0,a+128|0);d:{if(j[a+380>>2]==(a+384|0)){i=a+128|0;g=a+384|0;break d}i=ja(i<<3);if(!i){break b}g=j[e>>2];j[e>>2]=i;if(g){O[j[e+4>>2]](g)}g=j[a+380>>2]}h=j[c+28>>2];j[a+104>>2]=h;j[h+4>>2]=j[h+4>>2]+1;rg(g,l,f,i,a+116|0,a+112|0,a+104|0);f=j[a+104>>2];g=j[f+4>>2]-1|0;j[f+4>>2]=g;if((g|0)==-1){O[j[j[f>>2]+8>>2]](f)}c=_b(b,i,j[a+116>>2],j[a+112>>2],c,d);b=j[e>>2];j[e>>2]=0;if(b){O[j[e+4>>2]](b)}b=j[k>>2];j[k>>2]=0;if(b){O[j[k+4>>2]](b)}M=a+432|0;return c|0}Fa();z()}function Dm(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0;a=M-256|0;M=a;j[a+248>>2]=37;j[a+252>>2]=0;l=md(a+248|1,127642,j[c+4>>2]);j[a+204>>2]=a+208;i=ra();a:{if(l){k=j[c+8>>2];j[a+72>>2]=g;j[a+76>>2]=h;m=a- -64|0;j[m>>2]=e;j[m+4>>2]=f;j[a+48>>2]=k;i=fb(a+208|0,30,i,a+248|0,a+48|0);break a}j[a+80>>2]=e;j[a+84>>2]=f;j[a+88>>2]=g;j[a+92>>2]=h;i=fb(a+208|0,30,i,a+248|0,a+80|0)}j[a+128>>2]=77;k=Da(a+192|0,0,a+128|0);b:{if((i|0)>=30){i=ra();c:{if(l){l=j[c+8>>2];j[a+24>>2]=g;j[a+28>>2]=h;j[a+16>>2]=e;j[a+20>>2]=f;j[a>>2]=l;i=Sb(a+204|0,i,a+248|0,a);break c}j[a+32>>2]=e;j[a+36>>2]=f;j[a+40>>2]=g;j[a+44>>2]=h;i=Sb(a+204|0,i,a+248|0,a+32|0)}f=j[a+204>>2];if(!f){break b}e=j[k>>2];j[k>>2]=f;if(e){O[j[k+4>>2]](e)}}e=j[a+204>>2];f=e+i|0;l=Bb(e,f,c);j[a+128>>2]=77;e=Da(a+120|0,0,a+128|0);d:{if(j[a+204>>2]==(a+208|0)){i=a+128|0;g=a+208|0;break d}i=ja(i<<1);if(!i){break b}g=j[e>>2];j[e>>2]=i;if(g){O[j[e+4>>2]](g)}g=j[a+204>>2]}h=j[c+28>>2];j[a+104>>2]=h;j[h+4>>2]=j[h+4>>2]+1;ug(g,l,f,i,a+116|0,a+112|0,a+104|0);f=j[a+104>>2];g=j[f+4>>2]-1|0;j[f+4>>2]=g;if((g|0)==-1){O[j[j[f>>2]+8>>2]](f)}c=$b(b,i,j[a+116>>2],j[a+112>>2],c,d);b=j[e>>2];j[e>>2]=0;if(b){O[j[e+4>>2]](b)}b=j[k>>2];j[k>>2]=0;if(b){O[j[k+4>>2]](b)}M=a+256|0;return c|0}Fa();z()}function Pm(a,b,c,d,e){var f=0,g=0,i=0;f=M-384|0;M=f;j[f+368>>2]=b;j[f+376>>2]=a;oe(f+216|0,c,f+240|0,f+236|0,f+232|0);b=ga(f+200|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+196>>2]=a;j[f+28>>2]=f+32;j[f+24>>2]=0;h[f+23|0]=1;h[f+22|0]=69;while(1){a:{if(!kb(f+376|0,f+368|0)){break a}g=j[f+196>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+196>>2]=c+a}c=j[f+376>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(ne(c,f+23|0,f+22|0,a,f+196|0,j[f+236>>2],j[f+232>>2],f+216|0,f+32|0,f+28|0,f+24|0,f+240|0)){break a}Na(f+376|0);continue}break}if(k[f+227|0]>>>7|0){c=j[f+220>>2]}else{c=k[f+227|0]}d:{if(!c|!k[f+23|0]){break d}c=j[f+28>>2];if((c-(f+32|0)|0)>159){break d}j[f+28>>2]=c+4;j[c>>2]=j[f+24>>2]}yg(f,a,j[f+196>>2],d);a=j[f+4>>2];j[e>>2]=j[f>>2];j[e+4>>2]=a;a=j[f+12>>2];j[e+8>>2]=j[f+8>>2];j[e+12>>2]=a;hb(f+216|0,f+32|0,j[f+28>>2],d);if(Ra(f+376|0,f+368|0)){j[d>>2]=j[d>>2]|2}a=j[f+376>>2];Y(b);Y(f+216|0);M=f+384|0;return a}function nk(a,b,c,d,e,f){var g=0,h=0,l=0,m=0,n=0,o=0;j[c>>2]=a;j[f>>2]=d;a:{b:{c:{while(1){a=j[c>>2];if(!(a>>>0>=b>>>0|d>>>0>=e>>>0)){m=2;g=k[a|0];if(g>>>0>1114111){break a}o=c;d:{if(g<<24>>24>=0){i[d>>1]=g;a=a+1|0;break d}if(g>>>0<194){break a}if(g>>>0<=223){if((b-a|0)<2){break b}h=k[a+1|0];if((h&192)!=128){break c}g=h&63|g<<6&1984;if(g>>>0>1114111){break c}i[d>>1]=g;a=a+2|0;break d}if(g>>>0<=239){if((b-a|0)<3){break b}l=k[a+2|0];h=k[a+1|0];e:{f:{if((g|0)!=237){if((g|0)!=224){break f}if((h&224)==160){break e}break c}if((h&224)==128){break e}break c}if((h&192)!=128){break c}}if((l&192)!=128){break c}g=l&63|((h&63)<<6|g<<12);if((g&65535)>>>0>1114111){break c}i[d>>1]=g;a=a+3|0;break d}if(g>>>0>244){break a}m=1;if((b-a|0)<4){break c}l=k[a+2|0];h=k[a+1|0];g:{h:{switch(g-240|0){case 0:if((h+112&255)>>>0>=48){break a}break g;case 4:if((h&240)!=128){break a}break g;default:break h}}if((h&192)!=128){break a}}if((l&192)!=128){break a}a=k[a+3|0];if((a&192)!=128){break a}if((e-d|0)<4){break c}m=2;a=a&63;n=l<<6;g=g&7;if((a|(n&4032|(h<<12&258048|g<<18)))>>>0>1114111){break c}h=h<<2;i[d>>1]=(l>>>4&3|(h&192|g<<8|h&60))+16320|55296;j[f>>2]=d+2;i[d+2>>1]=a|n&960|56320;a=j[c>>2]+4|0}j[o>>2]=a;d=j[f>>2]+2|0;j[f>>2]=d;continue}break}m=a>>>0>>0}return m}return 1}return 2}function Zb(a,b,c,d,e,f,g,i){var k=0,m=0,n=0,o=0,p=0,q=0;k=M-32|0;M=k;j[k+16>>2]=c;j[k+24>>2]=b;b=j[d+28>>2];j[k+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;m=sb(k+8|0);b=j[k+8>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}j[e>>2]=0;c=0;a:{while(1){if(c|(g|0)==(i|0)){break a}b:{if(Sa(k+24|0,k+16|0)){break b}c:{if((O[j[j[m>>2]+36>>2]](m,h[g|0],0)|0)==37){c=g+1|0;if((i|0)==(c|0)){break b}n=0;b=O[j[j[m>>2]+36>>2]](m,h[c|0],0)|0;d:{if(!((b|0)==69|(b&255)==48)){c=g;break d}if((g+2|0)==(i|0)){break b}n=b;b=O[j[j[m>>2]+36>>2]](m,h[g+2|0],0)|0}o=k,p=O[j[j[a>>2]+36>>2]](a,j[k+24>>2],j[k+16>>2],d,e,f,b,n)|0,j[o+24>>2]=p;g=c+2|0;break c}b=h[g|0];if((b|0)>=0){b=l[j[m+8>>2]+((b&255)<<1)>>1]&8192}else{b=0}if(b){while(1){e:{g=g+1|0;if((i|0)==(g|0)){g=i;break e}b=h[g|0];if((b|0)>=0){b=l[j[m+8>>2]+((b&255)<<1)>>1]&8192}else{b=0}if(b){continue}}break}while(1){if(!lb(k+24|0,k+16|0)){break c}b=Ga(k+24|0);if((b|0)>=0){b=(l[j[m+8>>2]+((b&255)<<1)>>1]&8192)!=0}else{b=0}if(!b){break c}Oa(k+24|0);continue}}if(((p=m,q=Ga(k+24|0),o=j[j[m>>2]+12>>2],O[o](p|0,q|0)|0)|0)==(O[j[j[m>>2]+12>>2]](m,h[g|0])|0)){g=g+1|0;Oa(k+24|0);break c}j[e>>2]=4}c=j[e>>2];continue}break}j[e>>2]=4}if(Sa(k+24|0,k+16|0)){j[e>>2]=j[e>>2]|2}M=k+32|0;return j[k+24>>2]}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=M-16|0;M=f;a:{b:{if(!j[a+64>>2]){break b}c=j[a+68>>2];if(!c){break a}c:{b=j[a+92>>2];d:{if(b&16){if(j[a+24>>2]!=j[a+20>>2]){c=-1;if((O[j[j[a>>2]+52>>2]](a,-1)|0)==-1){break b}}e=a+72|0;while(1){c=j[a+68>>2];b=j[a+32>>2];b=O[j[j[c>>2]+20>>2]](c,e,b,b+j[a+52>>2]|0,f+12|0)|0;c=-1;g=j[a+32>>2];d=j[f+12>>2]-g|0;if(($c(g,d,j[a+64>>2])|0)!=(d|0)){break b}if((b|0)==1){continue}break}if((b|0)==2){break b}if(!Fe(j[a+64>>2])){break d}break b}if(!(b&8)){break d}b=j[a+84>>2];j[f>>2]=j[a+80>>2];j[f+4>>2]=b;e:{if(k[a+98|0]){b=j[a+16>>2]-j[a+12>>2]|0;c=b;b=b>>31;d=0;break e}d=O[j[j[c>>2]+24>>2]](c)|0;e=j[a+36>>2];b=j[a+40>>2]-e|0;c=b;b=b>>31;if((d|0)>=1){e=p(d,j[a+16>>2]-j[a+12>>2]|0);d=c+e|0;b=b+(e>>31)|0;b=c>>>0>d>>>0?b+1|0:b;c=d;d=0;break e}g=j[a+12>>2];d=0;if((g|0)==j[a+16>>2]){break e}d=j[a+68>>2];d=O[j[j[d>>2]+32>>2]](d,f,j[a+32>>2],e,g-j[a+8>>2]|0)|0;e=(j[a+36>>2]-d|0)-j[a+32>>2]|0;d=c+e|0;b=(e>>31)+b|0;b=c>>>0>d>>>0?b+1|0:b;c=d;d=1}if(De(j[a+64>>2],0-c|0,0-(b+((c|0)!=0)|0)|0,1)){break c}if(d){c=j[f+4>>2];j[a+72>>2]=j[f>>2];j[a+76>>2]=c}j[a+92>>2]=0;j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;c=j[a+32>>2];j[a+40>>2]=c;j[a+36>>2]=c}c=0;break b}c=-1}M=f+16|0;return c|0}Fa();z()}function Ue(a,b,c,d,e,f){var g=0,m=0,n=0,o=0,p=0,q=0,r=0;m=M-16|0;M=m;a:{b:{if(h[a+29|0]&1?0:d&1){break b}g=h[a+15|0];n=j[a+8>>2];c:{if((g|0)<=-1){break c}n=g&255}o=c-n|0;d:{if(!j[j[a+64>>2]+4484>>2]|o?(o|0)<=0:0){break d}n=k[a+28|0];c=h[a+27|0];g=j[a+20>>2];e:{if((c|0)<=-1){break e}g=c&255}if(n>>>0>g+o>>>0){break d}g=W(b);if(g>>>0>=4294967280){break a}n=a+16|0;f:{g:{if(g>>>0>=11){p=g+16&-16;c=U(p);j[m+8>>2]=p|-2147483648;j[m>>2]=c;j[m+4>>2]=g;break g}h[m+11|0]=g;c=m;if(!g){break f}}V(c,b,g)}h[c+g|0]=0;Wa(m,o);b=k[a+27|0];c=b<<24>>24<0;aa(m,c?j[a+16>>2]:n,c?j[a+20>>2]:b);n=a;g=h[m+11|0]<0?j[m>>2]:m;p=g;c=h[a+27|0];b=j[a+20>>2];h:{if((c|0)<=-1){break h}b=c&255}b=b+o|0;i:{if(Jd(n,p+b|0,g)){j:{if(e){k:{g=j[a+56>>2];if(!g){break k}c=i[a+60>>1];r=(c<<1)+g|0;o=l[e+30>>1];if(c){while(1){n=c>>>1|0;q=(n<<1)+g|0;p=o>>>0>l[q>>1];g=p?q+2|0:g;c=p?(n^-1)+c|0:n;if(c){continue}break}}if((g|0)==(r|0)|o>>>0>1]){break k}g=Qa(j[a+64>>2],h[m+11|0]<0?j[m>>2]:m,b,0,0,l[a+30>>1],f,0);break j}g=Qa(j[a+64>>2],h[m+11|0]<0?j[m>>2]:m,b,d,e,l[a+30>>1],f,0);break j}g=Qa(j[a+64>>2],h[m+11|0]<0?j[m>>2]:m,b,0,0,l[a+30>>1],f,0)}a=0;if(g){break i}}g=0;a=1}if(h[m+11|0]<=-1){T(j[m>>2])}if(!a){break b}}g=0}M=m+16|0;return g}X();z()}function Sq(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0;i=M-16|0;M=i;a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}g=h[c+11|0]<0?j[c>>2]:c;while(1){f=g;g=f+1|0;if(k[f|0]==32){continue}break}j[e>>2]=0;g=W(f);b:{if((g|0)<1){break b}m=f-1|0;c:{while(1){if(k[g+m|0]!=46){break c}l=l+1|0;j[e>>2]=l;n=(g|0)>1;g=g-1|0;if(n){continue}break}m=0;break b}d:{if(!j[a+44>>2]){l=0;c=0;e=0;if((g|0)>=1){m=0;while(1){n=h[f|0];e=j[a+36>>2]+p(n&255,3)|0;o=k[e|0];q=k[e+1|0];e=k[e+2|0];Z(b,n);c=((e|0)==(q|0))+c|0;f=f+1|0;l=((o|0)!=0)+l|0;m=m+1|0;if((m|0)!=(g|0)){continue}break}e=g}f=k[j[a+36>>2]+p(k[(h[b+11|0]<0?j[b>>2]:b)|0],3)|0];break d}g=0;j[i+8>>2]=0;j[i>>2]=0;j[i+4>>2]=0;ia(i,c);e:{f:{f=j[i>>2];g:{if((f|0)==j[i+4>>2]){da(b,i);c=0;break g}c=0;l=0;while(1){e=(g<<1)+f|0;e=k[e|0]|k[e+1|0]<<8;f=Xe(e,j[a+40>>2]);l=((e|0)!=(f|0))+l|0;c=((Ye(e,j[a+40>>2])|0)==(f|0))+c|0;g=g+1|0;f=j[i>>2];if(g>>>0>2]-f>>1>>>0){continue}break}da(b,i);if(l){break f}}l=0;f=0;break e}b=j[i>>2];b=k[b|0]|k[b+1|0]<<8;f=(Xe(b,j[a+40>>2])|0)!=(b|0)}a=j[i>>2];if(a){j[i+4>>2]=a;T(a)}e=0}if(!l){m=0;break b}m=1;if(f?(l|0)==1:0){break b}m=2;if((e|0)==(l|0)|(c+l|0)==(e|0)){break b}m=(l|0)>1?f?4:3:3}j[d>>2]=m;M=i+16|0}function Om(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-352|0;M=a;j[a+336>>2]=c;j[a+344>>2]=b;h=ga(a+208|0);b=j[d+28>>2];j[a+16>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=rb(a+16|0);O[j[j[b>>2]+48>>2]](b,127600,127626,a+224|0)|0;b=j[a+16>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}c=ga(a+192|0);fa(c,k[c+11|0]>>>7|0?(j[c+8>>2]&2147483647)-1|0:10);d=a;if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[d+188>>2]=b;j[a+12>>2]=a+16;j[a+8>>2]=0;while(1){a:{if(!kb(a+344|0,a+336|0)){break a}g=j[a+188>>2];if(k[c+11|0]>>>7|0){d=j[c+4>>2]}else{d=k[c+11|0]}if((g|0)==(d+b|0)){b=c;b:{if(k[b+11|0]>>>7|0){d=j[b+4>>2];break b}d=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=a;if(k[b+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[g+188>>2]=d+b}d=j[a+344>>2];g=j[d+12>>2];c:{if((g|0)==j[d+16>>2]){d=O[j[j[d>>2]+36>>2]](d)|0;break c}d=j[g>>2]}if(Ac(d,16,b,a+188|0,a+8|0,0,h,a+16|0,a+12|0,a+224|0)){break a}Na(a+344|0);continue}break}fa(c,j[a+188>>2]-b|0);if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}d=ra();j[a>>2]=f;if((xg(b,d,a)|0)!=1){j[e>>2]=4}if(Ra(a+344|0,a+336|0)){j[e>>2]=j[e>>2]|2}b=j[a+344>>2];Y(c);Y(h);M=a+352|0;return b|0}function Tm(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=q(0);f=M-368|0;M=f;j[f+352>>2]=b;j[f+360>>2]=a;oe(f+200|0,c,f+224|0,f+220|0,f+216|0);b=ga(f+184|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+180>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!kb(f+360|0,f+352|0)){break a}g=j[f+180>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+180>>2]=c+a}c=j[f+360>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(ne(c,f+7|0,f+6|0,a,f+180|0,j[f+220>>2],j[f+216>>2],f+200|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Na(f+360|0);continue}break}if(k[f+211|0]>>>7|0){c=j[f+204>>2]}else{c=k[f+211|0]}d:{if(!c|!k[f+7|0]){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=Ag(a,j[f+180>>2],d),n[l>>2]=m;hb(f+200|0,f+16|0,j[f+12>>2],d);if(Ra(f+360|0,f+352|0)){j[d>>2]=j[d>>2]|2}a=j[f+360>>2];Y(b);Y(f+200|0);M=f+368|0;return a}function qq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0;e=M-16|0;M=e;a:{b:{if(!j[a+64>>2]){break b}c:{if(k[a+92|0]&16){g=j[a+20>>2];c=j[a+28>>2];break c}j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;d=j[a+52>>2];c=0;d:{if(d>>>0<9){break d}if(k[a+98|0]){g=j[a+32>>2];c=(d+g|0)-1|0;break d}g=j[a+56>>2];c=(g+j[a+60>>2]|0)-1|0}j[a+92>>2]=16;j[a+28>>2]=c;j[a+20>>2]=g;j[a+24>>2]=g}m=c;d=j[a+24>>2];if((b|0)==-1){c=g}else{if(!d){j[a+28>>2]=e+16;j[a+20>>2]=e+15;j[a+24>>2]=e+15;d=e+15|0}h[d|0]=b;d=j[a+24>>2]+1|0;j[a+24>>2]=d;c=j[a+20>>2]}if((c|0)!=(d|0)){e:{if(k[a+98|0]){l=c;c=d-c|0;f=-1;if(($c(l,c,j[a+64>>2])|0)!=(c|0)){break a}break e}f=j[a+32>>2];j[e+8>>2]=f;f:{i=j[a+68>>2];if(!i){break f}l=a+72|0;while(1){c=O[j[j[i>>2]+12>>2]](i,l,c,d,e+4|0,f,j[a+52>>2]+f|0,e+8|0)|0;d=j[a+20>>2];if((d|0)==j[e+4>>2]){break b}if((c|0)==3){c=j[a+24>>2]-d|0;if(($c(d,c,j[a+64>>2])|0)!=(c|0)){break b}break e}if(c>>>0>1){break b}f=j[a+32>>2];d=j[e+8>>2]-f|0;if(($c(f,d,j[a+64>>2])|0)!=(d|0)){break b}if((c|0)!=1){break e}c=j[e+4>>2];j[a+20>>2]=c;d=j[a+24>>2];j[a+28>>2]=d;i=j[a+68>>2];if(!i){break f}f=j[a+32>>2];continue}}Fa();z()}j[a+28>>2]=m;j[a+20>>2]=g;j[a+24>>2]=g}f=(b|0)==-1?0:b;break a}f=-1}M=e+16|0;return f|0}function Rm(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0;f=M-368|0;M=f;j[f+352>>2]=b;j[f+360>>2]=a;oe(f+200|0,c,f+224|0,f+220|0,f+216|0);b=ga(f+184|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+180>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!kb(f+360|0,f+352|0)){break a}g=j[f+180>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+180>>2]=c+a}c=j[f+360>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(ne(c,f+7|0,f+6|0,a,f+180|0,j[f+220>>2],j[f+216>>2],f+200|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Na(f+360|0);continue}break}if(k[f+211|0]>>>7|0){c=j[f+204>>2]}else{c=k[f+211|0]}d:{if(!c|!k[f+7|0]){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=zg(a,j[f+180>>2],d),o[l>>3]=m;hb(f+200|0,f+16|0,j[f+12>>2],d);if(Ra(f+360|0,f+352|0)){j[d>>2]=j[d>>2]|2}a=j[f+360>>2];Y(b);Y(f+200|0);M=f+368|0;return a}function Nn(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;f=W(e);a:{b:{if((b|0)==80){if(!Eb(c,e,f)){return 1}if(j[a+4144>>2]){break b}b=(f|0)>0;c:{if((d|0)<1|(f|0)<1){break c}h=f-1|0;while(1){a=k[e+g|0];d:{if((a|0)!=91){b=g;if((a|0)==k[c+i|0]){break d}break b}a=g+1|0;m=(a|0)<(h|0)?h:a;n=k[c+i|0];o=k[a+e|0];a=0;b=g;e:{while(1){f:{b=b+1|0;l=k[e+b|0];a=(l|0)==(n|0)?1:a;if((b|0)>=(h|0)){break f}if((l|0)!=93){continue}break e}break}if((g|0)>=(h|0)){b=m;break e}b=m;if((l|0)!=93){break b}}g=0;if((o|0)!=94^(a|0)!=0){break a}}g=b+1|0;b=(g|0)<(f|0);i=i+1|0;if((i|0)>=(d|0)){break c}if((f|0)>(g|0)){continue}break}}g=1;if(b){break b}break a}g:{if((d|0)<(f|0)){break g}if(ba((c+d|0)-f|0,e)){break g}return 1}if(j[a+4144>>2]){break b}h:{if((d|0)<1){b=f;break h}if((f|0)<1){b=f;break h}while(1){h=d-1|0;i=k[h+c|0];b=f-1|0;a=k[e+b|0];i:{if((a|0)==93){m=(f|0)>1?1:b;g=m-1|0;a=0;j:{while(1){k:{f=b;b=f-1|0;l=k[e+b|0];a=(l|0)==(i|0)?1:a;if((f|0)<2){break k}if((l|0)!=91){continue}break j}break}if(g){f=m;b=g;break j}f=m;b=g;if((l|0)!=91){break b}}g=0;if((a|0)!=0^k[e+f|0]!=94){break a}break i}if((a|0)!=(i|0)){break b}}if((d|0)<2){break h}d=h;f=b;if((f|0)>0){continue}break}}g=1;if((b|0)<1){break a}}g=0}return g}function Md(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0;d=M-16|0;M=d;b=j[a>>2];a:{if((j[a+4>>2]-b|0)/12>>>0<2){break a}j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;Wb(d,b);m=1;b=j[a+4>>2];c=j[a>>2];if((b-c|0)/12>>>0>1){while(1){f=p(m,12)+c|0;b:{c:{d:{b=j[d>>2];g=j[d+4>>2];if((b|0)==(g|0)){break d}e=k[f+11|0];c=e<<24>>24<0;n=c?j[f+4>>2]:e;if(n){e=c?j[f>>2]:f;while(1){l=k[b+11|0];c=l<<24>>24<0;e:{if(((c?j[b+4>>2]:l)|0)!=(n|0)){break e}i=j[b>>2];if(!c){if(k[e|0]!=(i&255)){break e}i=b;c=e;while(1){l=l-1|0;if(!l){break d}o=k[c+1|0];c=c+1|0;i=i+1|0;if(k[i|0]==(o|0)){continue}break}break e}if(!qa(i,e,n)){break d}}b=b+12|0;if((g|0)!=(b|0)){continue}break}break c}while(1){c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){break d}b=b+12|0;if((g|0)!=(b|0)){continue}break}break c}if((b|0)!=(g|0)){break b}}if(j[d+8>>2]!=(g|0)){q=d,r=ha(g,f)+12|0,j[q+4>>2]=r;break b}Wb(d,f)}m=m+1|0;b=j[a+4>>2];c=j[a>>2];if(m>>>0<(b-c|0)/12>>>0){continue}break}}j[a>>2]=j[d>>2];j[d>>2]=c;j[a+4>>2]=j[d+4>>2];j[d+4>>2]=b;e=j[a+8>>2];j[a+8>>2]=j[d+8>>2];j[d+8>>2]=e;if(!c){break a}if((b|0)==(c|0)){a=c}else{while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((b|0)!=(c|0)){continue}break}a=j[d>>2]}j[d+4>>2]=c;T(a)}M=d+16|0}function Kh(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0;g=j[a+4>>2];d=j[a+8>>2];if(g>>>0>>0){if((b|0)==(g|0)){c=k[c|0]|k[c+1|0]<<8;h[b|0]=c;h[b+1|0]=c>>>8;j[a+4>>2]=b+2;return}d=g;e=d-2|0;if(d>>>0>e>>>0){while(1){f=k[e|0]|k[e+1|0]<<8;h[d|0]=f;h[d+1|0]=f>>>8;d=d+2|0;e=e+2|0;if(g>>>0>e>>>0){continue}break}}j[a+4>>2]=d;d=(g-b|0)-2|0;if(d){Ja(g-(d>>1<<1)|0,b,d)}d=b;if(c>>>0>=d>>>0){c=m[a+4>>2]>c>>>0?c+2|0:c}a=k[c|0]|k[c+1|0]<<8;h[d|0]=a;h[d+1|0]=a>>>8;return}a:{l=j[a>>2];e=g-l|0;if((e|0)>-3){e=(e>>1)+1|0;d=d-l|0;e=d>>1>>>0<1073741823?d>>>0>>0?e:d:2147483647;g=0;b:{if(!e){break b}if((e|0)<=-1){break a}g=U(e<<1)}n=g+(e<<1)|0;i=b-l|0;f=i>>1;d=g+(f<<1)|0;c:{d:{if((e|0)==(f|0)){if((i|0)>=1){d=((f+1|0)/-2<<1)+d|0;c=k[c|0]|k[c+1|0]<<8;h[d|0]=c;h[d+1|0]=c>>>8;f=d-(f<<1)|0;e=d+2|0;break d}d=i?i:1;if((d|0)<=-1){break a}i=d<<1;e=U(i);n=e+i|0;d=e+(d>>>1&2147483646)|0;if(!g){c=k[c|0]|k[c+1|0]<<8;h[d|0]=c;h[d+1|0]=c>>>8;e=d+2|0;f=d-(f<<1)|0;break c}T(g);l=j[a>>2];i=b-l|0;f=i>>1}c=k[c|0]|k[c+1|0]<<8;h[d|0]=c;h[d+1|0]=c>>>8;e=d+2|0;f=d-(f<<1)|0;if((i|0)<1){break c}}V(f,l,i)}c=j[a+4>>2]-b|0;if((c|0)>=1){e=V(e,b,c)+c|0}j[a+8>>2]=n;j[a+4>>2]=e;b=j[a>>2];j[a>>2]=f;if(b){T(b)}return}X();z()}D();z()}function ni(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,l=0,m=0,n=0;if(zb(a,j[b+8>>2],e)){if(!(j[b+28>>2]==1|j[b+4>>2]!=(c|0))){j[b+28>>2]=d}return}a:{if(zb(a,j[b>>2],e)){if(!(j[b+20>>2]!=(c|0)?j[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}j[b+32>>2]=1;return}j[b+32>>2]=d;if(j[b+44>>2]!=4){f=a+16|0;m=f+(j[a+12>>2]<<3)|0;n=b;b:{c:{while(1){d:{if(f>>>0>=m>>>0){break d}i[b+52>>1]=0;Qd(f,b,c,c,1,e);if(k[b+54|0]){break d}e:{if(!k[b+53|0]){break e}if(k[b+52|0]){d=1;if(j[b+24>>2]==1){break c}l=1;g=1;if(k[a+8|0]&2){break e}break c}l=1;d=g;if(!(h[a+8|0]&1)){break c}}f=f+8|0;continue}break}d=g;a=4;if(!l){break b}}a=3}j[n+44>>2]=a;if(d&1){break a}}j[b+20>>2]=c;j[b+40>>2]=j[b+40>>2]+1;if(j[b+36>>2]!=1|j[b+24>>2]!=2){break a}h[b+54|0]=1;return}g=j[a+12>>2];f=a+16|0;ad(f,b,c,d,e);if((g|0)<2){break a}g=f+(g<<3)|0;f=a+24|0;a=j[a+8>>2];if(!(j[b+36>>2]!=1?!(a&2):0)){while(1){if(k[b+54|0]){break a}ad(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}break a}if(!(a&1)){while(1){if(k[b+54|0]|j[b+36>>2]==1){break a}ad(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break a}}while(1){if(k[b+54|0]|(j[b+24>>2]==1?j[b+36>>2]==1:0)){break a}ad(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}}}function fn(a,b,c,d,e){var f=0,g=0,i=0;f=M-288|0;M=f;j[f+272>>2]=b;j[f+280>>2]=a;re(f+224|0,c,f+240|0,f+239|0,f+238|0);b=ga(f+208|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+204>>2]=a;j[f+28>>2]=f+32;j[f+24>>2]=0;h[f+23|0]=1;h[f+22|0]=69;while(1){a:{if(!lb(f+280|0,f+272|0)){break a}g=j[f+204>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+204>>2]=c+a}if(qe(Ga(f+280|0),f+23|0,f+22|0,a,f+204|0,h[f+239|0],h[f+238|0],f+224|0,f+32|0,f+28|0,f+24|0,f+240|0)){break a}Oa(f+280|0);continue}break}if(k[f+235|0]>>>7|0){c=j[f+228>>2]}else{c=k[f+235|0]}c:{if(!c|!k[f+23|0]){break c}c=j[f+28>>2];if((c-(f+32|0)|0)>159){break c}j[f+28>>2]=c+4;j[c>>2]=j[f+24>>2]}yg(f,a,j[f+204>>2],d);a=j[f+4>>2];j[e>>2]=j[f>>2];j[e+4>>2]=a;a=j[f+12>>2];j[e+8>>2]=j[f+8>>2];j[e+12>>2]=a;hb(f+224|0,f+32|0,j[f+28>>2],d);if(Sa(f+280|0,f+272|0)){j[d>>2]=j[d>>2]|2}a=j[f+280>>2];Y(b);Y(f+224|0);M=f+288|0;return a}function Wm(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Uc(c,f+224|0);Tc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(Ac(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Cg(b,j[f+188>>2],d,h),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function $m(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Uc(c,f+224|0);Tc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(Ac(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Gg(b,j[f+188>>2],d,h),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function bn(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Uc(c,f+224|0);Tc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(Ac(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Hg(b,j[f+188>>2],d,h),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function Zm(a,b,c,d,e){var f=0,g=0,h=0,l=0,m=0,n=0,o=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);m=Uc(c,f+224|0);Tc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(Ac(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,m)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}n=e,o=Fg(b,j[f+188>>2],d,h),i[n>>1]=o;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function Ym(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=0,m=0,n=0;f=M-352|0;M=f;j[f+336>>2]=b;j[f+344>>2]=a;h=Tb(c);l=Uc(c,f+224|0);Tc(f+208|0,c,f+332|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+344|0,f+336|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}c=j[f+344>>2];g=j[c+12>>2];c:{if((g|0)==j[c+16>>2]){c=O[j[j[c>>2]+36>>2]](c)|0;break c}c=j[g>>2]}if(Ac(c,h,b,f+188|0,f+8|0,j[f+332>>2],f+208|0,f+16|0,f+12|0,l)){break a}Na(f+344|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}d:{if(!c){break d}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break d}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Dg(b,j[f+188>>2],d,h),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Ra(f+344|0,f+336|0)){j[d>>2]=j[d>>2]|2}b=j[f+344>>2];Y(a);Y(f+208|0);M=f+352|0;return b}function Ug(a,b){var c=0,d=0,e=0,f=0;a:{b:{c:{c=j[a+4>>2];d:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break d}c=pa(a)}switch(c-43|0){case 0:case 2:break b;default:break c}}d=c-48|0;break a}f=(c|0)==45;b=!b;c=j[a+4>>2];e:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break e}c=pa(a)}d=c-48|0;if(!(b|d>>>0<10|!j[a+104>>2])){j[a+4>>2]=j[a+4>>2]-1}}f:{if(d>>>0<10){d=0;while(1){d=p(d,10)+c|0;b=j[a+4>>2];g:{if(b>>>0>2]){j[a+4>>2]=b+1;c=k[b|0];break g}c=pa(a)}e=c-48|0;d=d-48|0;if((d|0)<214748364?e>>>0<=9:0){continue}break}b=d;d=d>>31;h:{if(e>>>0>=10){break h}while(1){d=Cr(b,d,10,0);b=d+c|0;c=N;c=b>>>0>>0?c+1|0:c;d=b;b=d-48|0;d=c-(d>>>0<48)|0;c=j[a+4>>2];i:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break i}c=pa(a)}e=c-48|0;if(e>>>0>9){break h}if((d|0)<21474836?1:(d|0)<=21474836?b>>>0<2061584302:0){continue}break}}if(e>>>0<10){while(1){c=j[a+4>>2];j:{if(c>>>0>2]){j[a+4>>2]=c+1;c=k[c|0];break j}c=pa(a)}if(c-48>>>0<10){continue}break}}if(j[a+104>>2]){j[a+4>>2]=j[a+4>>2]-1}a=b;b=f?0-a|0:a;d=f?0-(((a|0)!=0)+d|0)|0:d;break f}b=0;d=-2147483648;if(!j[a+104>>2]){break f}j[a+4>>2]=j[a+4>>2]-1;N=-2147483648;return 0}N=d;return b}function pk(a,b,c,d,e,f){var g=0,i=0;j[c>>2]=a;j[f>>2]=d;g=j[c>>2];a:{b:{while(1){if(b>>>0<=g>>>0){a=0;break a}a=2;d=l[g>>1];if(d>>>0>1114111){break a}c:{d:{if(d>>>0<=127){a=1;g=j[f>>2];if((e-g|0)<1){break a}j[f>>2]=g+1;h[g|0]=d;break d}if(d>>>0<=2047){a=j[f>>2];if((e-a|0)<2){break b}j[f>>2]=a+1;h[a|0]=d>>>6|192;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d&63|128;break d}if(d>>>0<=55295){a=j[f>>2];if((e-a|0)<3){break b}j[f>>2]=a+1;h[a|0]=d>>>12|224;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d>>>6&63|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d&63|128;break d}if(d>>>0<=56319){a=1;if((b-g|0)<4){break a}i=l[g+2>>1];if((i&64512)!=56320){break c}if((e-j[f>>2]|0)<4){break a}a=d&960;if((i&1023|(d<<10&64512|a<<10))+65536>>>0>1114111){break c}j[c>>2]=g+2;g=j[f>>2];j[f>>2]=g+1;a=(a>>>6|0)+1|0;h[g|0]=a>>>2|240;g=j[f>>2];j[f>>2]=g+1;h[g|0]=a<<4&48|d>>>2&15|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=i>>>6&15|d<<4&48|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=i&63|128;break d}if(d>>>0<57344){break a}a=j[f>>2];if((e-a|0)<3){break b}j[f>>2]=a+1;h[a|0]=d>>>12|224;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d>>>6&63|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d&63|128}g=j[c>>2]+2|0;j[c>>2]=g;continue}break}return 2}return 1}return a}function Zn(a,b,c,d){var e=0,f=0,g=0,l=0,m=0,n=0;a:{b:{f=j[a>>2];c:{if(j[a+8>>2]-f>>2>>>0>=b>>>0){break c}if(b>>>0>=1073741824){break b}e=j[a+4>>2];l=b<<2;b=U(l);l=b+l|0;e=e-f|0;m=e+b|0;if((e|0)>=1){V(b,f,e)}j[a+8>>2]=l;j[a+4>>2]=m;j[a>>2]=b;if(!f){break c}T(f)}d:{if(k[a+16|0]==80){l=U(84);zh(l,j[a+12>>2]);b=j[a+4>>2];g=j[a+8>>2];if(b>>>0>>0){j[b>>2]=l;j[a+4>>2]=b+4;break d}f=j[a>>2];m=b-f|0;b=m>>2;e=b+1|0;if(e>>>0>=1073741824){break a}n=b<<2;g=g-f|0;b=g>>1;e=g>>2>>>0<536870911?b>>>0>>0?e:b:1073741823;b=0;e:{if(!e){break e}if(e>>>0>=1073741824){break b}b=U(e<<2)}g=n+b|0;j[g>>2]=l;if((m|0)>=1){V(b,f,m)}j[a+8>>2]=b+(e<<2);j[a+4>>2]=g+4;j[a>>2]=b;if(!f){break d}T(f);break d}l=U(108);bi(l,j[a+12>>2]);b=j[a+4>>2];g=j[a+8>>2];if(b>>>0>>0){j[b>>2]=l;j[a+4>>2]=b+4;break d}f=j[a>>2];m=b-f|0;b=m>>2;e=b+1|0;if(e>>>0>=1073741824){break a}n=b<<2;g=g-f|0;b=g>>1;e=g>>2>>>0<536870911?b>>>0>>0?e:b:1073741823;b=0;f:{if(!e){break f}if(e>>>0>=1073741824){break b}b=U(e<<2)}g=n+b|0;j[g>>2]=l;if((m|0)>=1){V(b,f,m)}j[a+8>>2]=b+(e<<2);j[a+4>>2]=g+4;j[a>>2]=b;if(!f){break d}T(f)}a=j[j[a+4>>2]-4>>2];i[a+30>>1]=d;h[a+29|0]=c;return}D();z()}X();z()}function yh(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0;a:{f=j[b+4>>2];g=j[c+4>>2];if((f|0)!=(g|0)){c=j[c>>2];e=j[b>>2];l=(p(c-e>>2,341)+((g-j[c>>2]|0)/12|0)|0)+((f-j[e>>2]|0)/-12|0)|0;if((l|0)>0){break a}}b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;return}h=j[d>>2];c=j[d+4>>2];i=j[b>>2];while(1){k=j[i>>2]+4092|0;g=(k-f|0)/12|0;e=(g|0)>(l|0);n=e?l:g;g=c;m=e?p(l,12)+f|0:k;if((m|0)!=(f|0)){e=f;while(1){o=((j[h>>2]-g|0)+4092|0)/12|0;c=e;k=(m-c|0)/12|0;e=(o|0)<(k|0);q=e?o:k;k=g;e=e?p(o,12)+c|0:m;if((e|0)!=(c|0)){while(1){ua(k,c);k=k+12|0;c=c+12|0;if((e|0)!=(c|0)){continue}break}}b:{if(!q){break b}c=((g-j[h>>2]|0)/12|0)+q|0;if((c|0)>=1){g=(c>>>0)/341|0;h=(g<<2)+h|0;g=j[h>>2]+p(c-p(g,341)|0,12)|0;break b}c=340-c|0;h=((c|0)/-341<<2)+h|0;g=j[h>>2]+p(340-((c|0)%341|0)|0,12)|0}if((e|0)!=(m|0)){continue}break}}e=d;j[e>>2]=h;c=g;j[e+4>>2]=c;l=l-n|0;if(n){g=b;f=((f-j[i>>2]|0)/12|0)+n|0;c:{if((f|0)>=1){e=(f>>>0)/341|0;i=(e<<2)+i|0;j[b>>2]=i;f=j[i>>2]+p(f-p(e,341)|0,12)|0;break c}f=340-f|0;i=((f|0)/-341<<2)+i|0;j[b>>2]=i;f=j[i>>2]+p(340-((f|0)%341|0)|0,12)|0}j[g+4>>2]=f}if((l|0)>0){continue}break}j[a>>2]=h;j[a+4>>2]=c}function Xi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=0,l=0,n=0,o=0,p=0;h=M-16|0;M=h;n=f&16;l=f&8;a:{b:{switch(e|0){case 0:case 2:k=(f&24)!=0;break a;case 1:break b;default:break a}}k=(l>>>3|0)!=(n>>>4|0)}k=l?j[b+12>>2]!=0&k:k;c:{d:{if(n){g=-1;i=-1;if(j[b+24>>2]!=0&k){break d}break c}g=-1;i=-1;if(!k){break c}}if(j[b+28>>2]){f=j[b+28>>2]}else{f=j[b+16>>2]}k=f;e:{f:{g:{switch(e-1|0){case 1:break f;case 0:break g;default:break e}}if(l){f=j[b+12>>2];break f}f=j[b+24>>2]}e=f-j[b+8>>2]|0;o=e;p=e>>31}d=d+p|0;c=c+o|0;d=o>>>0>c>>>0?d+1|0:d;e=c;c=d;if((d|0)<0){break c}d=k-j[b+8>>2]|0;f=d>>>0>>0;d=d>>31;if((c|0)>(d|0)?1:(d|0)<=(c|0)?f:0){break c}d=e+j[b+8>>2]|0;j[h+12>>2]=d;if(l){f=j[b+8>>2];j[h+8>>2]=j[b+16>>2];g=M-16|0;M=g;M=g+16|0;g=h+8|0;i=h+12|0;j[b+16>>2]=j[(m[i>>2]>2]?g:i)>>2];j[b+12>>2]=d;j[b+8>>2]=f}if(n){f=j[b+28>>2];g=j[h+12>>2];j[h+4>>2]=j[b+20>>2];d=M-16|0;M=d;M=d+16|0;d=h+12|0;i=h+4|0;d=j[(m[d>>2]>2]?d:i)>>2];j[b+28>>2]=j[b+28>>2];j[b+20>>2]=d;j[b+24>>2]=d;j[b+24>>2]=j[b+24>>2]+(g+j[b+28>>2]-(f+j[b+20>>2])|0)}g=e;i=c}j[a+8>>2]=g;j[a+12>>2]=i;j[a>>2]=0;j[a+4>>2]=0;M=h+16|0}function en(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-272|0;M=a;j[a+256>>2]=c;j[a+264>>2]=b;h=ga(a+208|0);b=j[d+28>>2];j[a+16>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(a+16|0);O[j[j[b>>2]+32>>2]](b,127600,127626,a+224|0)|0;b=j[a+16>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}c=ga(a+192|0);fa(c,k[c+11|0]>>>7|0?(j[c+8>>2]&2147483647)-1|0:10);d=a;if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[d+188>>2]=b;j[a+12>>2]=a+16;j[a+8>>2]=0;while(1){a:{if(!lb(a+264|0,a+256|0)){break a}g=j[a+188>>2];if(k[c+11|0]>>>7|0){d=j[c+4>>2]}else{d=k[c+11|0]}if((g|0)==(d+b|0)){b=c;b:{if(k[b+11|0]>>>7|0){d=j[b+4>>2];break b}d=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=a;if(k[b+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[g+188>>2]=d+b}if(Cc(Ga(a+264|0),16,b,a+188|0,a+8|0,0,h,a+16|0,a+12|0,a+224|0)){break a}Oa(a+264|0);continue}break}fa(c,j[a+188>>2]-b|0);if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}d=ra();j[a>>2]=f;if((xg(b,d,a)|0)!=1){j[e>>2]=4}if(Sa(a+264|0,a+256|0)){j[e>>2]=j[e>>2]|2}b=j[a+264>>2];Y(c);Y(h);M=a+272|0;return b|0}function cp(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0;i=j[a+4>>2];k=j[a+16>>2];n=j[a+20>>2];f=k+n|0;l=(f>>>0)/341|0;d=i+(l<<2)|0;c=j[b+4>>2];m=c;e=j[a+8>>2];o=(i|0)==(e|0);g=0;a:{if(o){break a}g=j[d>>2]+p(f-p(l,341)|0,12)|0}b:{if((m|0)==(g|0)){break b}f=j[b>>2];l=c-j[f>>2]|0;m=(p(d-f>>2,341)+((g-j[d>>2]|0)/12|0)|0)+((l|0)/-12|0)|0;if((m|0)<1){break b}q=(k>>>0)/341|0;b=(q<<2)+i|0;d=c;c=o?0:j[b>>2]+p(k-p(q,341)|0,12)|0;c:{if((d|0)==(c|0)){break c}d=(p(f-b>>2,341)+((l|0)/12|0)|0)+((c-j[b>>2]|0)/-12|0)|0;if(!d){break c}c=d+((c-j[b>>2]|0)/12|0)|0;if((c|0)>=1){d=(c>>>0)/341|0;b=(d<<2)+b|0;c=j[b>>2]+p(c-p(d,341)|0,12)|0;break c}c=340-c|0;b=((c|0)/-341<<2)+b|0;c=j[b>>2]+p(340-((c|0)%341|0)|0,12)|0}if((c|0)!=(g|0)){while(1){if(h[c+11|0]<=-1){T(j[c>>2])}c=c+12|0;if((c-j[b>>2]|0)==4092){c=j[b+4>>2];b=b+4|0}if((c|0)!=(g|0)){continue}break}k=j[a+16>>2];i=j[a+4>>2];n=j[a+20>>2];e=j[a+8>>2]}b=n-m|0;j[a+20>>2]=b;c=e-i|0;if((c?p(c>>2,341)-1|0:0)-(b+k|0)>>>0<682){break b}while(1){T(j[e-4>>2]);e=j[a+8>>2]-4|0;j[a+8>>2]=e;b=e-j[a+4>>2]|0;if((b?p(b>>2,341)-1|0:0)-(j[a+20>>2]+j[a+16>>2]|0)>>>0>681){continue}break}}}function kn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=q(0);f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;re(f+208|0,c,f+224|0,f+223|0,f+222|0);b=ga(f+192|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+188>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+188>>2]=c+a}if(qe(Ga(f+264|0),f+7|0,f+6|0,a,f+188|0,h[f+223|0],h[f+222|0],f+208|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c|!k[f+7|0]){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=Ag(a,j[f+188>>2],d),n[l>>2]=m;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}a=j[f+264>>2];Y(b);Y(f+208|0);M=f+272|0;return a}function hn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;re(f+208|0,c,f+224|0,f+223|0,f+222|0);b=ga(f+192|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+188>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+188>>2]=c+a}if(qe(Ga(f+264|0),f+7|0,f+6|0,a,f+188|0,h[f+223|0],h[f+222|0],f+208|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c|!k[f+7|0]){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=zg(a,j[f+188>>2],d),o[l>>3]=m;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}a=j[f+264>>2];Y(b);Y(f+208|0);M=f+272|0;return a}function dr(a){var b=0,c=0,d=0,e=0,f=0,g=0,k=0,m=0,n=0,o=0;b=j[a+4>>2];if(b){d=j[a>>2];if((d|0)>=1){while(1){c=j[(f<<2)+b>>2];if(c){while(1){g=c;c=j[c+8>>2];e=j[g+4>>2];a:{if(!e){break a}if(j[a+84>>2]){d=i[g+2>>1];o=(d<<1)+e|0;b=e;if(d){while(1){k=d>>>1|0;m=(k<<1)+b|0;n=l[m>>1]<65511;b=n?m+2|0:b;d=n?(k^-1)+d|0:k;if(d){continue}break}}if((b|0)==(o|0)|l[b>>1]>65511){break a}}T(e)}T(g);if(c){continue}break}d=j[a>>2]}f=f+1|0;if((f|0)>=(d|0)){b=j[a+4>>2]}else{b=j[a+4>>2];continue}break}}T(b)}j[a>>2]=0;c=j[a+84>>2];b:{if(!c){break b}b=1;if(j[a+80>>2]>=1){T(j[c>>2]);if(j[a+80>>2]>1){while(1){T(j[j[a+84>>2]+(b<<2)>>2]);b=b+1|0;if((b|0)>2]){continue}break}}c=j[a+84>>2]}T(c);j[a+84>>2]=0;b=j[a+88>>2];if(!b){break b}T(b);j[a+88>>2]=0}c=j[a+96>>2];if(c){b=1;if(j[a+92>>2]>=1){T(j[c>>2]);if(j[a+92>>2]>1){while(1){T(j[j[a+96>>2]+(b<<2)>>2]);b=b+1|0;if((b|0)>2]){continue}break}}c=j[a+96>>2]}T(c);j[a+96>>2]=0}if(j[a+100>>2]){Zh(a+100|0);T(j[a+100>>2])}b=j[a+68>>2];if(b){j[a+72>>2]=b;T(b)}if(h[a+67|0]<=-1){T(j[a+56>>2])}if(h[a+51|0]<=-1){T(j[a+40>>2])}if(h[a+39|0]<=-1){T(j[a+28>>2])}return a}function V(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){F(a|0,b|0,c|0)|0;return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if((c|0)<1){c=a;break b}if(!(a&3)){c=a;break b}c=a;while(1){h[c|0]=k[b|0];b=b+1|0;c=c+1|0;if(e>>>0<=c>>>0){break b}if(c&3){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+ -64|0;if(f>>>0>>0){break c}while(1){j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=j[b+16>>2];j[c+20>>2]=j[b+20>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=j[b+28>>2];j[c+32>>2]=j[b+32>>2];j[c+36>>2]=j[b+36>>2];j[c+40>>2]=j[b+40>>2];j[c+44>>2]=j[b+44>>2];j[c+48>>2]=j[b+48>>2];j[c+52>>2]=j[b+52>>2];j[c+56>>2]=j[b+56>>2];j[c+60>>2]=j[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){h[c|0]=k[b|0];h[c+1|0]=k[b+1|0];h[c+2|0]=k[b+2|0];h[c+3|0]=k[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){h[c|0]=k[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function gk(a,b,c,d,e,f){var g=0,i=0,l=0,m=0,n=0,o=0;j[c>>2]=a;j[f>>2]=d;a:{b:{while(1){g=j[c>>2];if(!(g>>>0>=b>>>0|d>>>0>=e>>>0)){l=h[g|0];a=l&255;c:{if((l|0)>=0){if(a>>>0<=1114111){l=1;break c}return 2}n=2;if(a>>>0<194){break b}if(a>>>0<=223){if((b-g|0)<2){break a}i=k[g+1|0];if((i&192)!=128){break b}l=2;a=i&63|a<<6&1984;if(a>>>0<=1114111){break c}break b}if(a>>>0<=239){if((b-g|0)<3){break a}m=k[g+2|0];i=k[g+1|0];d:{e:{if((a|0)!=237){if((a|0)!=224){break e}if((i&224)==160){break d}break b}if((i&224)==128){break d}break b}if((i&192)!=128){break b}}if((m&192)!=128){break b}l=3;a=m&63|(a<<12&61440|(i&63)<<6);if(a>>>0<=1114111){break c}break b}if(a>>>0>244){break b}if((b-g|0)<4){break a}m=k[g+2|0];i=k[g+1|0];f:{g:{switch(a-240|0){case 0:if((i+112&255)>>>0<48){break f}break b;case 4:if((i&240)==128){break f}break b;default:break g}}if((i&192)!=128){break b}}if((m&192)!=128){break b}o=k[g+3|0];if((o&192)!=128){break b}l=4;a=o&63|(m<<6&4032|(a<<18&1835008|(i&63)<<12));if(a>>>0>1114111){break b}}j[d>>2]=a;j[c>>2]=g+l;d=j[f>>2]+4|0;j[f>>2]=d;continue}break}n=b>>>0>g>>>0}return n}return 1}function Ld(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;d=M-32|0;M=d;j[d+24>>2]=0;j[d+16>>2]=0;j[d+20>>2]=0;j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;ia(d+16|0,a);a:{c=j[d+16>>2];if((c|0)==j[d+20>>2]){break a}b:{while(1){e=(m<<1)+c|0;n=j[b+4>>2];c=j[b>>2];f=n-c|0;if(f){f=f>>1;o=k[e|0]|k[e+1|0]<<8;while(1){l=f>>>1|0;g=(l<<1)+c|0;i=o>>>0>(k[g|0]|k[g+1|0]<<8)>>>0;c=i?g+2|0:c;f=i?(l^-1)+f|0:l;if(f){continue}break}}c:{d:{if((k[e|0]|k[e+1|0]<<8)>>>0>=(k[c|0]|k[c+1|0]<<8)>>>0?(c|0)!=(n|0):0){break d}c=j[d+4>>2];if((c|0)!=j[d+8>>2]){e=k[e|0]|k[e+1|0]<<8;h[c|0]=e;h[c+1|0]=e>>>8;j[d+4>>2]=c+2;break d}l=j[d>>2];f=c-l|0;if((f|0)<=-3){break c}i=f>>1;g=i+1|0;g=i>>>0<1073741823?f>>>0>>0?g:f:2147483647;c=0;e:{if(!g){break e}if((g|0)<=-1){break b}c=U(g<<1)}i=c+(i<<1)|0;e=k[e|0]|k[e+1|0]<<8;h[i|0]=e;h[i+1|0]=e>>>8;if((f|0)>=1){V(c,l,f)}j[d+8>>2]=c+(g<<1);j[d+4>>2]=i+2;j[d>>2]=c;if(!l){break d}T(l)}m=m+1|0;c=j[d+16>>2];if(m>>>0>2]-c>>1>>>0){continue}break a}break}X();z()}D();z()}da(a,d);c=j[d+4>>2];a=j[d>>2];if(a){j[d+4>>2]=a;T(a)}b=j[d+16>>2];if(b){j[d+20>>2]=b;T(b)}M=d+32|0;return c-a>>1}function wm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,k=0,l=0,m=0;a=M-384|0;M=a;j[a+376>>2]=37;j[a+380>>2]=0;g=md(a+376|1,127641,j[c+4>>2]);j[a+332>>2]=a+336;f=ra();a:{if(g){i=j[c+8>>2];o[a+40>>3]=e;j[a+32>>2]=i;f=fb(a+336|0,30,f,a+376|0,a+32|0);break a}o[a+48>>3]=e;f=fb(a+336|0,30,f,a+376|0,a+48|0)}j[a+80>>2]=77;i=Da(a+320|0,0,a+80|0);b:{if((f|0)>=30){f=ra();c:{if(g){g=j[c+8>>2];o[a+8>>3]=e;j[a>>2]=g;f=Sb(a+332|0,f,a+376|0,a);break c}o[a+16>>3]=e;f=Sb(a+332|0,f,a+376|0,a+16|0)}h=j[a+332>>2];if(!h){break b}g=j[i>>2];j[i>>2]=h;if(g){O[j[i+4>>2]](g)}}g=j[a+332>>2];h=g+f|0;m=Bb(g,h,c);j[a+80>>2]=77;g=Da(a+72|0,0,a+80|0);d:{if(j[a+332>>2]==(a+336|0)){f=a+80|0;k=a+336|0;break d}f=ja(f<<3);if(!f){break b}k=j[g>>2];j[g>>2]=f;if(k){O[j[g+4>>2]](k)}k=j[a+332>>2]}l=j[c+28>>2];j[a+56>>2]=l;j[l+4>>2]=j[l+4>>2]+1;rg(k,m,h,f,a+68|0,a- -64|0,a+56|0);h=j[a+56>>2];k=j[h+4>>2]-1|0;j[h+4>>2]=k;if((k|0)==-1){O[j[j[h>>2]+8>>2]](h)}c=_b(b,f,j[a+68>>2],j[a+64>>2],c,d);b=j[g>>2];j[g>>2]=0;if(b){O[j[g+4>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+384|0;return c|0}Fa();z()}function Fm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,k=0,l=0,m=0;a=M-208|0;M=a;j[a+200>>2]=37;j[a+204>>2]=0;g=md(a+200|1,127641,j[c+4>>2]);j[a+156>>2]=a+160;f=ra();a:{if(g){i=j[c+8>>2];o[a+40>>3]=e;j[a+32>>2]=i;f=fb(a+160|0,30,f,a+200|0,a+32|0);break a}o[a+48>>3]=e;f=fb(a+160|0,30,f,a+200|0,a+48|0)}j[a+80>>2]=77;i=Da(a+144|0,0,a+80|0);b:{if((f|0)>=30){f=ra();c:{if(g){g=j[c+8>>2];o[a+8>>3]=e;j[a>>2]=g;f=Sb(a+156|0,f,a+200|0,a);break c}o[a+16>>3]=e;f=Sb(a+156|0,f,a+200|0,a+16|0)}h=j[a+156>>2];if(!h){break b}g=j[i>>2];j[i>>2]=h;if(g){O[j[i+4>>2]](g)}}g=j[a+156>>2];h=g+f|0;m=Bb(g,h,c);j[a+80>>2]=77;g=Da(a+72|0,0,a+80|0);d:{if(j[a+156>>2]==(a+160|0)){f=a+80|0;k=a+160|0;break d}f=ja(f<<1);if(!f){break b}k=j[g>>2];j[g>>2]=f;if(k){O[j[g+4>>2]](k)}k=j[a+156>>2]}l=j[c+28>>2];j[a+56>>2]=l;j[l+4>>2]=j[l+4>>2]+1;ug(k,m,h,f,a+68|0,a- -64|0,a+56|0);h=j[a+56>>2];k=j[h+4>>2]-1|0;j[h+4>>2]=k;if((k|0)==-1){O[j[j[h>>2]+8>>2]](h)}c=$b(b,f,j[a+68>>2],j[a+64>>2],c,d);b=j[g>>2];j[g>>2]=0;if(b){O[j[g+4>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+208|0;return c|0}Fa();z()}function Um(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=M-16|0;M=m;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[b+4356>>2]=0;j[b+4360>>2]=0;j[b+4376>>2]=0;e=j[b>>2];if(e){while(1){gf(m,e,c,d);f=k[m+11|0];g=f<<24>>24;n=(g|0)<0;f=n?j[m+4>>2]:f;if(f){aa(a,n?j[m>>2]:m,f);g=k[m+11|0]}e=j[e+68>>2];if(g<<24>>24<=-1){T(j[m>>2])}if(e){continue}break}}f=j[(k[c|0]<<2)+b>>2];a:{if(!f){break a}while(1){g=f+4|0;g=h[f+15|0]<0?j[g>>2]:g;e=k[g|0];b:{if(!e){break b}n=c;if((e|0)!=46&k[n|0]!=(e|0)){break b}while(1){e=k[g+1|0];if(!e){break b}o=k[n+1|0];n=n+1|0;g=g+1|0;if(!((e|0)!=46&(e|0)!=(o|0))){continue}break}}if(e){f=j[f+76>>2];if(f){continue}break a}gf(m,f,c,d);e=k[m+11|0];n=e<<24>>24;o=(n|0)<0;q=o?j[m+4>>2]:e;c:{if(!q){break c}e=j[f+56>>2];d:{if(!e){break d}g=i[f+60>>1];t=(g<<1)+e|0;if(g){u=l[b+4464>>1];while(1){p=g>>>1|0;r=(p<<1)+e|0;s=l[r>>1]>>0;e=s?r+2|0:e;g=s?(p^-1)+g|0:p;if(g){continue}break}}if((e|0)==(t|0)){break d}if(l[b+4464>>1]>=l[e>>1]){break c}}aa(a,o?j[m>>2]:m,q);j[b+4376>>2]=f;n=h[m+11|0]}f=j[f+72>>2];if((n|0)<=-1){T(j[m>>2])}if(f){continue}break}}M=m+16|0}function sn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Wc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Cc(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127600)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Gg(b,j[f+188>>2],d,i),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function mn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Wc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Cc(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127600)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Cg(b,j[f+188>>2],d,i),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function ld(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=M-16|0;M=l;o=rb(g);i=Bc(g);g=i;O[j[j[g>>2]+20>>2]](l,g);if(k[l+11|0]>>>7|0){g=j[l+4>>2]}else{g=k[l+11|0]}a:{if(!g){O[j[j[o>>2]+48>>2]](o,a,c,d)|0;g=(c-a<<2)+d|0;j[f>>2]=g;break a}j[f>>2]=d;b:{c:{m=a;g=k[m|0];switch(g-43|0){case 0:case 2:break c;default:break b}}n=O[j[j[o>>2]+44>>2]](o,g<<24>>24)|0;g=j[f>>2];j[f>>2]=g+4;j[g>>2]=n;m=a+1|0}if(!(k[m|0]!=48|(c-m|0)<2|(k[m+1|0]|32)!=120)){n=O[j[j[o>>2]+44>>2]](o,48)|0;g=j[f>>2];j[f>>2]=g+4;j[g>>2]=n;n=O[j[j[o>>2]+44>>2]](o,h[m+1|0])|0;g=j[f>>2];j[f>>2]=g+4;j[g>>2]=n;m=m+2|0}pc(m,c);r=O[j[j[i>>2]+16>>2]](i)|0;n=0;g=m;while(1){if(c>>>0<=g>>>0){kd((m-a<<2)+d|0,j[f>>2]);g=j[f>>2]}else{if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}p=!k[i+n|0];if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}if(!(p|h[i+n|0]!=(q|0))){i=j[f>>2];j[f>>2]=i+4;j[i>>2]=r;if(k[l+11|0]>>>7|0){i=j[l+4>>2]}else{i=k[l+11|0]}n=(i-1>>>0>n>>>0)+n|0;q=0}p=O[j[j[o>>2]+44>>2]](o,h[g|0])|0;i=j[f>>2];j[f>>2]=i+4;j[i>>2]=p;g=g+1|0;q=q+1|0;continue}break}}j[e>>2]=(b|0)==(c|0)?g:(b-a<<2)+d|0;Y(l);M=l+16|0}function od(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=M-16|0;M=l;o=sb(g);i=Dc(g);g=i;O[j[j[g>>2]+20>>2]](l,g);if(k[l+11|0]>>>7|0){g=j[l+4>>2]}else{g=k[l+11|0]}a:{if(!g){O[j[j[o>>2]+32>>2]](o,a,c,d)|0;g=(c-a|0)+d|0;j[f>>2]=g;break a}j[f>>2]=d;b:{c:{m=a;g=k[m|0];switch(g-43|0){case 0:case 2:break c;default:break b}}n=O[j[j[o>>2]+28>>2]](o,g<<24>>24)|0;g=j[f>>2];j[f>>2]=g+1;h[g|0]=n;m=a+1|0}if(!(k[m|0]!=48|(c-m|0)<2|(k[m+1|0]|32)!=120)){n=O[j[j[o>>2]+28>>2]](o,48)|0;g=j[f>>2];j[f>>2]=g+1;h[g|0]=n;n=O[j[j[o>>2]+28>>2]](o,h[m+1|0])|0;g=j[f>>2];j[f>>2]=g+1;h[g|0]=n;m=m+2|0}pc(m,c);r=O[j[j[i>>2]+16>>2]](i)|0;n=0;g=m;while(1){if(c>>>0<=g>>>0){pc((m-a|0)+d|0,j[f>>2]);g=j[f>>2]}else{if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}p=!k[i+n|0];if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}if(!(p|h[i+n|0]!=(q|0))){i=j[f>>2];j[f>>2]=i+1;h[i|0]=r;if(k[l+11|0]>>>7|0){i=j[l+4>>2]}else{i=k[l+11|0]}n=(i-1>>>0>n>>>0)+n|0;q=0}p=O[j[j[o>>2]+28>>2]](o,h[g|0])|0;i=j[f>>2];j[f>>2]=i+1;h[i|0]=p;g=g+1|0;q=q+1|0;continue}break}}j[e>>2]=(b|0)==(c|0)?g:(b-a|0)+d|0;Y(l);M=l+16|0}function ne(a,b,c,d,e,f,g,i,l,m,n,o){var p=0;p=M-16|0;M=p;j[p+12>>2]=a;a:{b:{if((a|0)==(f|0)){if(!k[b|0]){break b}a=0;h[b|0]=0;b=j[e>>2];j[e>>2]=b+1;h[b|0]=46;if(k[i+11|0]>>>7|0){b=j[i+4>>2]}else{b=k[i+11|0]}if(!b){break a}b=j[m>>2];if((b-l|0)>159){break a}c=j[n>>2];j[m>>2]=b+4;j[b>>2]=c;break a}if(k[i+11|0]>>>7|0){f=j[i+4>>2]}else{f=k[i+11|0]}if(!(!f|(a|0)!=(g|0))){if(!k[b|0]){break b}a=0;b=j[m>>2];if((b-l|0)>159){break a}a=j[n>>2];j[m>>2]=b+4;j[b>>2]=a;a=0;j[n>>2]=0;break a}a=-1;f=me(o,o+128|0,p+12|0)-o|0;if((f|0)>124){break a}g=k[(f>>2)+127600|0];c:{d:{switch(Er(f-88|0,30)|0){case 2:case 3:b=j[e>>2];if((k[b-1|0]&95)!=(k[c|0]&127)?(b|0)!=(d|0):0){break a}j[e>>2]=b+1;h[b|0]=g;a=0;break a;case 0:case 1:h[c|0]=80;break c;default:break d}}a=h[c|0];if((a|0)!=(g&95)){break c}h[c|0]=a|128;if(!k[b|0]){break c}h[b|0]=0;if(k[i+11|0]>>>7|0){a=j[i+4>>2]}else{a=k[i+11|0]}if(!a){break c}a=j[m>>2];if((a-l|0)>159){break c}b=j[n>>2];j[m>>2]=a+4;j[a>>2]=b}a=j[e>>2];j[e>>2]=a+1;h[a|0]=g;a=0;if((f|0)>84){break a}j[n>>2]=j[n>>2]+1;break a}a=-1}M=p+16|0;return a}function vn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Wc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Cc(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127600)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Hg(b,j[f+188>>2],d,i),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function qn(a,b,c,d,e){var f=0,g=0,l=0,m=0,n=0,o=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;l=Tb(c);Wc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){m=j[b+4>>2]}else{m=k[b+11|0]}fa(g,m<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Cc(Ga(f+264|0),l,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127600)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}n=e,o=Fg(b,j[f+188>>2],d,l),i[n>>1]=o;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function on(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Wc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!lb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Cc(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127600)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Dg(b,j[f+188>>2],d,i),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function Yh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=M-32|0;M=e;a:{d=j[a+8>>2];f=j[a>>2];b:{if((d-f|0)/60>>>0>=b>>>0){break b}c=j[a+4>>2];j[e+24>>2]=a+8;j[e+20>>2]=0;if(b>>>0>=71582789){break a}g=p(b,60);b=U(g);h=b+g|0;g=b+p((c-f|0)/60|0,60)|0;c:{if((c|0)==(f|0)){b=g;c=f;break c}b=g;while(1){c=c-60|0;d=j[c+4>>2];b=b-60|0;j[b>>2]=j[c>>2];j[b+4>>2]=d;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[b+20>>2]=j[c+20>>2];d=j[c+16>>2];j[b+12>>2]=j[c+12>>2];j[b+16>>2]=d;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[b+32>>2]=j[c+32>>2];d=j[c+28>>2];j[b+24>>2]=j[c+24>>2];j[b+28>>2]=d;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[b+44>>2]=j[c+44>>2];d=j[c+40>>2];j[b+36>>2]=j[c+36>>2];j[b+40>>2]=d;j[c+44>>2]=0;j[c+36>>2]=0;j[c+40>>2]=0;j[b+56>>2]=j[c+56>>2];d=j[c+52>>2];j[b+48>>2]=j[c+48>>2];j[b+52>>2]=d;j[c+48>>2]=0;j[c+52>>2]=0;j[c+56>>2]=0;if((c|0)!=(f|0)){continue}break}d=j[a+8>>2];f=j[a+4>>2];c=j[a>>2]}j[a>>2]=b;j[e+12>>2]=c;j[a+4>>2]=g;j[e+16>>2]=f;j[a+8>>2]=h;j[e+8>>2]=c;j[e+20>>2]=d;Xh(e+8|0,c);a=j[e+8>>2];if(!a){break b}T(a)}M=e+32|0;return}D();z()}function qe(a,b,c,d,e,f,g,i,l,m,n,o){var p=0;p=M-16|0;M=p;h[p+15|0]=a;a:{b:{if((a|0)==(f|0)){if(!k[b|0]){break b}a=0;h[b|0]=0;b=j[e>>2];j[e>>2]=b+1;h[b|0]=46;if(k[i+11|0]>>>7|0){b=j[i+4>>2]}else{b=k[i+11|0]}if(!b){break a}b=j[m>>2];if((b-l|0)>159){break a}c=j[n>>2];j[m>>2]=b+4;j[b>>2]=c;break a}if(k[i+11|0]>>>7|0){f=j[i+4>>2]}else{f=k[i+11|0]}if(!(!f|(a|0)!=(g|0))){if(!k[b|0]){break b}a=0;b=j[m>>2];if((b-l|0)>159){break a}a=j[n>>2];j[m>>2]=b+4;j[b>>2]=a;a=0;j[n>>2]=0;break a}a=-1;f=pe(o,o+32|0,p+15|0)-o|0;if((f|0)>31){break a}g=k[f+127600|0];c:{d:{switch(f-22|0){case 2:case 3:b=j[e>>2];if((k[b-1|0]&95)!=(k[c|0]&127)?(b|0)!=(d|0):0){break a}j[e>>2]=b+1;h[b|0]=g;a=0;break a;case 0:case 1:h[c|0]=80;break c;default:break d}}a=h[c|0];if((a|0)!=(g&95)){break c}h[c|0]=a|128;if(!k[b|0]){break c}h[b|0]=0;if(k[i+11|0]>>>7|0){a=j[i+4>>2]}else{a=k[i+11|0]}if(!a){break c}a=j[m>>2];if((a-l|0)>159){break c}b=j[n>>2];j[m>>2]=a+4;j[a>>2]=b}a=j[e>>2];j[e>>2]=a+1;h[a|0]=g;a=0;if((f|0)>21){break a}j[n>>2]=j[n>>2]+1;break a}a=-1}M=p+16|0;return a}function _c(a){var b=0,c=0,d=0;c=h[a+11|0];a:{if((c|0)<=-1){c=U(j[a+4>>2]+1|0);a=j[a>>2];break a}c=U((c&255)+1|0)}d=c;b=k[a|0];if(b){while(1){b:{c:{if((b-65&255)>>>0<=25){b=b+32|0;break c}if((b-97&255)>>>0<26){break c}if((b-48&255)>>>0>9){break b}}h[d|0]=b;d=d+1|0}b=k[a+1|0];a=a+1|0;if(b){continue}break}}b=0;h[d|0]=0;d:{if(!ba(c,120592)){break d}if(!ba(c,120601)){b=1;break d}if(!ba(c,120610)){b=2;break d}if(!ba(c,120619)){b=3;break d}if(!ba(c,120628)){b=4;break d}if(!ba(c,120637)){b=5;break d}if(!ba(c,120646)){b=6;break d}if(!ba(c,120655)){b=7;break d}if(!ba(c,120664)){b=8;break d}if(!ba(c,120673)){b=9;break d}if(!ba(c,120683)){b=10;break d}if(!ba(c,120690)){b=11;break d}if(!ba(c,120701)){b=12;break d}if(!ba(c,120711)){b=13;break d}if(!ba(c,120721)){b=14;break d}if(!ba(c,120731)){b=15;break d}if(!ba(c,120741)){b=16;break d}if(!ba(c,120747)){b=17;break d}if(!ba(c,120753)){b=18;break d}if(!ba(c,120760)){b=19;break d}if(!ba(c,120776)){b=20;break d}if(!ba(c,120785)){b=21;break d}T(c);return 134576}T(c);return j[(b<<3)+1844>>2]}function Jh(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0;g=M-16|0;M=g;a:{b:{c:{d:{e:{f:{g:{f=h[a+11|0];h:{if((f|0)<=-1){i=b-j[a>>2]|0;e=d-c|0;if(!e){break b}f=j[a>>2];l=j[a+4>>2];if(l+f>>>0>c>>>0?f>>>0<=c>>>0:0){break h}b=(j[a+8>>2]&2147483647)-1|0;if(b-l>>>0>=e>>>0){break f}break d}i=b-a|0;e=d-c|0;if(!e){break b}l=f&255;if(l+a>>>0<=c>>>0|a>>>0>c>>>0){break g}}if(e>>>0>=4294967280){break e}i:{if(e>>>0<=10){h[g+11|0]=e;i=g;break i}f=e+16&-16;i=U(f);j[g+8>>2]=f|-2147483648;j[g>>2]=i;j[g+4>>2]=e}if((c|0)!=(d|0)){f=c;c=d-c|0;i=V(i,f,c)+c|0}h[i|0]=0;f=a;d=b;c=k[g+11|0];b=c<<24>>24<0;a=b?j[g>>2]:g;c=Jh(f,d,a,a+(b?j[g+4>>2]:c)|0);if(h[g+11|0]>-1){break a}T(j[g>>2]);break a}b=10;f=a;if(10-l>>>0>>0){break d}}m=l-i|0;if(!m){break c}b=i+f|0;Ja(b+e|0,b,m);break c}X();z()}pb(a,b,(e-b|0)+l|0,l,i,0,e);f=j[a>>2]}b=e+l|0;j:{if(h[a+11|0]<=-1){j[a+4>>2]=b;break j}h[a+11|0]=b}h[b+f|0]=0;if((c|0)==(d|0)){break b}e=i+f|0;while(1){h[e|0]=k[c|0];e=e+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}if(h[a+11|0]<=-1){a=j[a>>2]}c=a+i|0}M=g+16|0;return c}function dp(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0;k=j[b>>2];g=j[c+4>>2];c=j[c>>2];e=j[b+4>>2];if((g|0)!=(e|0)){h=(p(c-k>>2,341)+((g-j[c>>2]|0)/12|0)|0)+((e-j[k>>2]|0)/-12|0)|0}e=j[a+8>>2];d=j[a+4>>2];c=e-d|0;f=c?p(c>>2,341)-1|0:0;c=j[a+20>>2];g=c+j[a+16>>2]|0;f=f-g|0;if(f>>>0>>0){bp(a,h-f|0);c=j[a+20>>2];g=c+j[a+16>>2]|0;d=j[a+4>>2];e=j[a+8>>2]}i=(g>>>0)/341|0;f=(i<<2)+d|0;e=(d|0)==(e|0)?0:j[f>>2]+p(g-p(i,341)|0,12)|0;m=e;a:{if(!h){i=f;g=e;break a}d=((e-j[f>>2]|0)/12|0)+h|0;if((d|0)>=1){l=(d>>>0)/341|0;i=(l<<2)+f|0;g=j[i>>2]+p(d-p(l,341)|0,12)|0;break a}d=340-d|0;i=((d|0)/-341<<2)+f|0;g=j[i>>2]+p(340-((d|0)%341|0)|0,12)|0}b:{if((m|0)==(g|0)){break b}while(1){d=g;m=(f|0)==(i|0);d=m?d:j[f>>2]+4092|0;c:{if((e|0)==(d|0)){d=e;break c}h=j[b+4>>2];c=e;while(1){c=ha(c,h);h=h+12|0;j[b+4>>2]=h;c=c+12|0;if((h-j[k>>2]|0)==4092){l=k+4|0;j[b>>2]=l;h=j[k+4>>2];j[b+4>>2]=h;k=l}if((c|0)!=(d|0)){continue}break}c=j[a+20>>2]}c=((d-e|0)/12|0)+c|0;j[a+20>>2]=c;if(m){break b}e=j[f+4>>2];f=f+4|0;if((e|0)!=(g|0)){continue}break}}}function nd(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0;e=M-16|0;M=e;a:{b:{if((c|0)<2){break b}c=j[a+4100>>2]+100|0;if(j[c>>2]==j[c+4>>2]){break b}c=j[a+4100>>2]+100|0;if(j[c+4>>2]==j[c>>2]){break b}while(1){c:{i=p(l,60);g=i+j[j[a+4100>>2]+100>>2]|0;c=h[g+23|0];d:{if((c|0)<=-1){c=j[g+16>>2];break d}c=c&255}if(!c){break c}g=j[j[a+4100>>2]+100>>2]+i|0;c=h[g+11|0];e:{if((c|0)<=-1){g=j[g+4>>2];break e}g=c&255}c=b;while(1){d=j[j[a+4100>>2]+100>>2]+i|0;if(h[d+11|0]<=-1){d=j[d>>2]}m=ca(c,d);if(!m){break c}f=W(b);if(f>>>0>=4294967280){break a}f:{g:{if(f>>>0>=11){d=f+16&-16;c=U(d);j[e+8>>2]=d|-2147483648;j[e>>2]=c;j[e+4>>2]=f;break g}h[e+11|0]=f;c=e;if(!f){break f}}V(c,b,f)}h[c+f|0]=0;f=j[j[a+4100>>2]+100>>2]+i|0;c=k[f+23|0];d=c<<24>>24<0;oc(e,m-b|0,g,d?j[f+12>>2]:f+12|0,d?j[f+16>>2]:c);d=k[e+11|0];c=d<<24>>24<0;d=tg(a,c?j[e>>2]:e,c?j[e+4>>2]:d);if(h[e+11|0]<=-1){T(j[e>>2])}c=m+1|0;if(!d){continue}break}g=1;break b}g=0;l=l+1|0;c=j[a+4100>>2]+100|0;if(l>>>0<(j[c+4>>2]-j[c>>2]|0)/60>>>0){continue}break}}M=e+16|0;return g}X();z()}function Bk(a,b,c,d,e,f,g,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var l=0,m=0,n=0,o=0;n=M-16|0;M=n;l=c;while(1){a:{if((d|0)==(l|0)){l=d;break a}if(!j[l>>2]){break a}l=l+4|0;continue}break}j[i>>2]=f;j[e>>2]=c;while(1){b:{c:{if(!((f|0)==(g|0)|(c|0)==(d|0))){m=j[b+4>>2];j[n+8>>2]=j[b>>2];j[n+12>>2]=m;m=1;d:{e:{f:{g:{h:{o=Ak(f,e,l-c>>2,g-f|0,j[a+8>>2]);switch(o+1|0){case 0:break h;case 1:break c;default:break g}}j[i>>2]=f;while(1){i:{if(j[e>>2]==(c|0)){break i}b=ge(f,j[c>>2],j[a+8>>2]);if((b|0)==-1){break i}f=b+j[i>>2]|0;j[i>>2]=f;c=c+4|0;continue}break}j[e>>2]=c;break f}f=j[i>>2]+o|0;j[i>>2]=f;if((f|0)==(g|0)){break d}if((d|0)==(l|0)){c=j[e>>2];l=d;continue}l=ge(n+4|0,0,j[a+8>>2]);if((l|0)!=-1){break e}}m=2;break c}c=n+4|0;if(g-j[i>>2]>>>0>>0){break c}while(1){if(l){f=k[c|0];m=j[i>>2];j[i>>2]=m+1;h[m|0]=f;l=l-1|0;c=c+1|0;continue}break}c=j[e>>2]+4|0;j[e>>2]=c;l=c;while(1){if((d|0)==(l|0)){l=d;break b}if(!j[l>>2]){break b}l=l+4|0;continue}}c=j[e>>2]}m=(c|0)!=(d|0)}M=n+16|0;return m|0}f=j[i>>2];continue}}function Bd(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);h[b+12|0]=c;a:{if(c){break a}while(1){d=j[b+8>>2];if(k[d+12|0]){break a}b:{c=j[d+8>>2];e=j[c>>2];if((d|0)==(e|0)){e=j[c+4>>2];if(!(!e|k[e+12|0])){break b}c:{if(j[d>>2]==(b|0)){b=d;break c}b=j[d+4>>2];e=j[b>>2];j[d+4>>2]=e;a=b;if(e){j[e+8>>2]=d;c=j[d+8>>2]}j[a+8>>2]=c;a=j[d+8>>2];j[(((d|0)!=j[a>>2])<<2)+a>>2]=b;j[b>>2]=d;j[d+8>>2]=b;c=j[b+8>>2]}h[b+12|0]=1;h[c+12|0]=0;a=j[c>>2];b=j[a+4>>2];j[c>>2]=b;if(b){j[b+8>>2]=c}j[a+8>>2]=j[c+8>>2];b=j[c+8>>2];j[((j[b>>2]!=(c|0))<<2)+b>>2]=a;j[a+4>>2]=c;j[c+8>>2]=a;return}if(!(k[e+12|0]|!e)){break b}d:{if(j[d>>2]!=(b|0)){b=d;break d}e=j[b+4>>2];j[d>>2]=e;a=b;if(e){j[e+8>>2]=d;c=j[d+8>>2]}j[a+8>>2]=c;a=j[d+8>>2];j[(((d|0)!=j[a>>2])<<2)+a>>2]=b;j[b+4>>2]=d;j[d+8>>2]=b;c=j[b+8>>2]}h[b+12|0]=1;h[c+12|0]=0;a=j[c+4>>2];b=j[a>>2];j[c+4>>2]=b;if(b){j[b+8>>2]=c}j[a+8>>2]=j[c+8>>2];b=j[c+8>>2];j[((j[b>>2]!=(c|0))<<2)+b>>2]=a;j[a>>2]=c;j[c+8>>2]=a;break a}h[d+12|0]=1;h[c+12|0]=(a|0)==(c|0);h[e+12|0]=1;b=c;if((b|0)!=(a|0)){continue}break}}}function Be(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;g=M-32|0;M=g;e=d&2147483647;h=e;f=e-1006698496|0;e=e-1140785152|0;i=c;a:{if((f|0)==(e|0)&c>>>0>c>>>0|e>>>0>f>>>0){e=d<<4|c>>>28;c=c<<4|b>>>28;b=b&268435455;h=b;if((b|0)==134217728&a>>>0>=1|b>>>0>134217728){e=e+1073741824|0;a=c+1|0;e=a>>>0<1?e+1|0:e;f=a;break a}f=c;e=e+1073741824|0;if(a|h^134217728){break a}b=c&1;a=b+f|0;e=a>>>0>>0?e+1|0:e;f=a;break a}if(!(!i&(h|0)==2147418112?!(a|b):h>>>0<2147418112)){f=c;c=d<<4|c>>>28;f=f<<4|b>>>28;e=c&524287|2146959360;break a}f=0;e=2146435072;if(h>>>0>1140785151){break a}e=0;h=h>>>16|0;if(h>>>0<15249){break a}e=d&65535|65536;mb(g+16|0,a,b,c,e,h-15233|0);Fc(g,a,b,c,e,15361-h|0);e=j[g+4>>2];h=e;a=j[g+8>>2];c=j[g+12>>2]<<4|a>>>28;f=a<<4|e>>>28;e=c;a=h&268435455;c=a;b=j[g>>2]|((j[g+16>>2]|j[g+24>>2])!=0|(j[g+20>>2]|j[g+28>>2])!=0);if((a|0)==134217728&b>>>0>=1|a>>>0>134217728){a=f+1|0;e=a>>>0<1?e+1|0:e;f=a;break a}if(b|c^134217728){break a}a=f+(f&1)|0;e=a>>>0>>0?e+1|0:e;f=a}M=g+32|0;Hr(0,f|0);Hr(1,d&-2147483648|e);return+Ir()}function kg(a,b,c){var d=0,e=0,f=0;d=M-32|0;M=d;b=b+c|0;a:{b:{c:{d:{if(j[a+4144>>2]){while(1){b=b-1|0;if((k[b|0]&192)==128){continue}break}c=W(b);if(c>>>0>=4294967280){break c}e:{f:{if(c>>>0>=11){f=c+16&-16;e=U(f);j[d+24>>2]=f|-2147483648;j[d+16>>2]=e;j[d+20>>2]=c;break f}h[d+27|0]=c;e=d+16|0;if(!c){break e}}V(e,b,c)}b=0;h[c+e|0]=0;j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;ia(d,d+16|0);c=0;f=j[d+4>>2];e=j[d>>2];if(f-e>>1>>>0>=2){c=k[e+2|0]|k[e+3|0]<<8}b=(e|0)!=(f|0)?k[e|0]|k[e+1|0]<<8:b;e=c&65535;g:{if((Ye(e,j[a+4456>>2])|0)!=(e|0)){a=Ye(b,j[a+4456>>2]);if((b|0)==45|(c&65535)==45|(a|0)!=(b|0)){break g}break b}if((e|0)==45){break g}if((b|0)!=45){break b}}a=j[d>>2];if(a){j[d+4>>2]=a;T(a)}if(h[d+27|0]>-1){break d}T(j[d+16>>2]);break d}c=k[b|0];a=j[a+4140>>2];b=k[b-1|0];if(!k[a+p(b,3)|0]){if((c|0)==45|(b|0)==45){break d}b=1;if(!k[a+p(c,3)|0]){break d}break a}if((b|0)==45){break d}b=1;if((c|0)!=45){break a}}b=0;break a}X();z()}a=j[d>>2];if(a){j[d+4>>2]=a;T(a)}if(h[d+27|0]<=-1){T(j[d+16>>2])}b=1}M=d+32|0;return b}function jp(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=M-32|0;M=g;a:{if(j[b+32>>2]!=j[b+36>>2]){break a}d=j[b+28>>2];e=(d>>>0)/341|0;if((Hc(b,j[j[b+16>>2]+(e<<2)>>2]+p(d-p(e,341)|0,12)|0)|0)==(b+4|0)){break a}d=j[b+28>>2];e=(d>>>0)/341|0;d=j[j[b+16>>2]+(e<<2)>>2]+p(d-p(e,341)|0,12)|0;j[g+16>>2]=d;ip(g+24|0,b,d,g+16|0);Me(j[j[g+24>>2]+28>>2]);d=j[b+28>>2];e=(d>>>0)/341|0;Bh(b,j[j[b+16>>2]+(e<<2)>>2]+p(d-p(e,341)|0,12)|0);e=b;d=j[b+28>>2];f=(d>>>0)/341|0;f=j[j[b+16>>2]+(f<<2)>>2]+p(d-p(f,341)|0,12)|0;if(h[f+11|0]<=-1){T(j[f>>2]);d=j[b+28>>2]}d=d+1|0;j[e+28>>2]=d;j[b+32>>2]=j[b+32>>2]-1;if(d>>>0<682){break a}T(j[j[b+16>>2]>>2]);j[b+16>>2]=j[b+16>>2]+4;j[b+28>>2]=j[b+28>>2]-341}d=j[b+32>>2]+j[b+28>>2]|0;f=j[b+20>>2];e=j[b+16>>2];i=f-e|0;if((d|0)==((i?p(i>>2,341)-1|0:0)|0)){Ah(b+12|0);f=j[b+20>>2];e=j[b+16>>2];d=j[b+28>>2]+j[b+32>>2]|0}if((e|0)!=(f|0)){f=e;e=(d>>>0)/341|0;e=j[f+(e<<2)>>2]+p(d-p(e,341)|0,12)|0}else{e=0}ha(e,c);j[b+32>>2]=j[b+32>>2]+1;hp(g+24|0,b,c,c);j[a>>2]=j[g+24>>2];h[a+4|0]=k[g+28|0];M=g+32|0}function Uf(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=Zf(c);b:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break b}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}Pb(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=Yf(c);c:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break c}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}Pb(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function Wf(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=cg(c);b:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break b}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}db(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=bg(c);c:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break c}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}db(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function ek(a,b,c){var d=0,e=0,f=0,g=0,i=0,j=0,l=0;d=a;while(1){a:{if(c>>>0<=j>>>0|b>>>0<=d>>>0){break a}g=h[d|0];f=g&255;b:{if((g|0)>=0){g=1;if(f>>>0<=1114111){break b}break a}if(f>>>0<194){break a}if(f>>>0<=223){if((b-d|0)<2){break a}e=k[d+1|0];if((e&192)!=128){break a}g=2;if((e&63|f<<6&1984)>>>0<=1114111){break b}break a}c:{d:{if(f>>>0<=239){if((b-d|0)<3){break a}i=k[d+2|0];e=k[d+1|0];if((f|0)==237){break d}if((f|0)==224){if((e&224)==160){break c}break a}if((e&192)!=128){break a}break c}if((b-d|0)<4|f>>>0>244){break a}i=k[d+2|0];e=k[d+1|0];e:{f:{switch(f-240|0){case 0:if((e+112&255)>>>0<48){break e}break a;case 4:if((e&240)==128){break e}break a;default:break f}}if((e&192)!=128){break a}}if((i&192)!=128){break a}l=k[d+3|0];if((l&192)!=128){break a}g=4;if((l&63|(i<<6&4032|(f<<18&1835008|(e&63)<<12)))>>>0>1114111){break a}break b}if((e&224)!=128){break a}}if((i&192)!=128){break a}g=3;if((i&63|(f<<12&61440|(e&63)<<6))>>>0>1114111){break a}}j=j+1|0;d=d+g|0;continue}break}return d-a|0}function Pq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;a:{b:{e=d-c|0;c:{if((e|0)<1){break c}m=e>>1;i=j[a+8>>2];n=j[a+4>>2];if((m|0)<=i-n>>1){g=n-b|0;e=g>>1;d:{if((e|0)>=(m|0)){f=n;l=d;break d}f=n;l=(e<<1)+c|0;if((l|0)!=(d|0)){e=l;while(1){i=k[e|0]|k[e+1|0]<<8;h[f|0]=i;h[f+1|0]=i>>>8;f=f+2|0;e=e+2|0;if((e|0)!=(d|0)){continue}break}}j[a+4>>2]=f;if((g|0)<1){break c}}d=m<<1;m=f-(d+b|0)|0;e=f;d=e-d|0;if(n>>>0>d>>>0){while(1){g=k[d|0]|k[d+1|0]<<8;h[e|0]=g;h[e+1|0]=g>>>8;e=e+2|0;d=d+2|0;if(n>>>0>d>>>0){continue}break}}j[a+4>>2]=e;if(m){Ja(f-(m>>1<<1)|0,b,m)}a=l-c|0;if(!a){break c}Ja(b,c,a);return}l=j[a>>2];g=m+(n-l>>1)|0;if((g|0)<=-1){break b}i=i-l|0;g=i>>1>>>0<1073741823?g>>>0>i>>>0?g:i:2147483647;f=0;e:{if(!g){break e}if((g|0)<=-1){break a}f=U(g<<1)}i=b-l|0;o=c;c=c-d|0;c=V(f+(i>>1<<1)|0,o,p(((c|0)>(e|0)?c:e)>>>1|0,(e|0)<1?e:1)<<1);if((i|0)>=1){V(f,l,i)}e=c+(m<<1)|0;c=n-b|0;if((c|0)>=1){e=V(e,b,c)+c|0}j[a+8>>2]=f+(g<<1);j[a+4>>2]=e;j[a>>2]=f;if(l){T(l)}}return}X();z()}D();z()}function kk(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=a;while(1){a:{if(c>>>0<=g>>>0|b>>>0<=e>>>0){break a}f=k[e|0];if(f>>>0>1114111){break a}d=e+1|0;b:{if(f<<24>>24>=0){break b}if(f>>>0<194){break a}if(f>>>0<=223){if((b-e|0)<2){break a}d=k[e+1|0];if((d&192)!=128|(d&63|f<<6&1984)>>>0>1114111){break a}d=e+2|0;break b}c:{d:{if(f>>>0<=239){if((b-e|0)<3){break a}h=k[e+2|0];d=k[e+1|0];if((f|0)==237){break d}if((f|0)==224){if((d&224)==160){break c}break a}if((d&192)!=128){break a}break c}if(c-g>>>0<2|f>>>0>244|(b-e|0)<4){break a}h=k[e+2|0];d=k[e+1|0];e:{f:{switch(f-240|0){case 0:if((d+112&255)>>>0<48){break e}break a;case 4:if((d&240)==128){break e}break a;default:break f}}if((d&192)!=128){break a}}if((h&192)!=128){break a}i=k[e+3|0];if((i&192)!=128|(i&63|(h<<6&4032|(f<<18&1835008|(d&63)<<12)))>>>0>1114111){break a}g=g+1|0;d=e+4|0;break b}if((d&224)!=128){break a}}if((h&192)!=128|(h&63|(f<<12&61440|(d&63)<<6))>>>0>1114111){break a}d=e+3|0}e=d;g=g+1|0;continue}break}return e-a|0}function Vq(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[a+44>>2]=0;j[a+48>>2]=0;j[a+12>>2]=0;j[a+32>>2]=0;j[a+36>>2]=0;g=a+52|0;j[g>>2]=0;j[g+4>>2]=0;j[a+60>>2]=0;m=a,n=cb(b),j[m+20>>2]=n;h=U(112);jr(h,c,b);k=a+4|0;a:{b:{c=j[a+8>>2];d=j[a+12>>2];c:{if(c>>>0>>0){j[c>>2]=h;j[a+8>>2]=c+4;break c}e=j[k>>2];i=c-e|0;c=i>>2;f=c+1|0;if(f>>>0>=1073741824){break b}l=c<<2;d=d-e|0;c=d>>1;f=d>>2>>>0<536870911?c>>>0>>0?f:c:1073741823;c=0;d:{if(!f){break d}if(f>>>0>=1073741824){break a}c=U(f<<2)}d=l+c|0;j[d>>2]=h;if((i|0)>=1){V(c,e,i)}j[a+12>>2]=c+(f<<2);j[a+8>>2]=d+4;j[a+4>>2]=c;if(!e){break c}T(e)}c=U(70028);b=yq(c,b,k);j[a>>2]=c;b=Vj(b);c=a+24|0;ua(c,Bg(j[a>>2]));j[a+40>>2]=j[j[a>>2]+4456>>2];e=j[j[a>>2]+4144>>2];j[a+44>>2]=e;if(!e){m=a,n=_c(c),j[m+36>>2]=n}j[a+48>>2]=j[j[a>>2]+4148>>2];c=j[a>>2]+4232|0;if((c|0)!=(g|0)){Uq(g,j[c>>2],j[c+4>>2])}c=U(80);lq(c,b,j[a>>2]);j[a+16>>2]=c;if(b){T(b)}return}X();z()}D();z()}function Uq(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=(c-b|0)/12|0;e=j[a+8>>2];d=j[a>>2];if(g>>>0<=(e-d|0)/12>>>0){f=(j[a+4>>2]-d|0)/12|0;e=p(f,12)+b|0;i=f>>>0>>0?e:c;if((i|0)!=(b|0)){while(1){ua(d,b);d=d+12|0;b=b+12|0;if((i|0)!=(b|0)){continue}break}}b=j[a+4>>2];if(f>>>0>>0){if((c|0)!=(i|0)){while(1){b=ha(b,e)+12|0;e=e+12|0;if((e|0)!=(c|0)){continue}break}}j[a+4>>2]=b;return}if((b|0)!=(d|0)){while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((d|0)!=(b|0)){continue}break}}j[a+4>>2]=d;return}if(d){e=j[a+4>>2];f=d;a:{if((d|0)==(e|0)){break a}while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((d|0)!=(e|0)){continue}break}f=j[a>>2]}j[a+4>>2]=d;T(f);j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;e=0}b:{if(g>>>0>=357913942){break b}d=(e|0)/12|0;e=d<<1;d=d>>>0<178956970?e>>>0>>0?g:e:357913941;if(d>>>0>=357913942){break b}e=p(d,12);d=U(e);j[a>>2]=d;j[a+4>>2]=d;j[a+8>>2]=d+e;if((b|0)!=(c|0)){while(1){d=ha(d,b)+12|0;b=b+12|0;if((c|0)!=(b|0)){continue}break}}j[a+4>>2]=d;return}X();z()}function eb(a,b,c,d,e,f){var g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:{o=j[a+1024>>2];if(o){while(1){if(k[(l[o+30>>1]+a|0)+4492|0]){g=Ue(o,b,c,d,e,f);if(g){break a}}o=j[o+80>>2];if(o){continue}break}}b:{c:{if(!c){break c}r=(b+c|0)-1|0;m=j[((k[r|0]<<2)+a|0)+1024>>2];if(!m){break c}if((c|0)>=1){while(1){n=m+68|0;g=n;d:{if(h[m+79|0]>=0){break d}g=j[n>>2]}o=g;s=o+c|0;g=c;q=r;e:{f:{g:{while(1){p=k[o|0];if(!p){break g}if((p|0)!=k[q|0]?(p|0)!=46:0){break f}q=q-1|0;o=o+1|0;p=(g|0)>1;g=g-1|0;if(p){continue}break}if(k[s|0]){break f}}if(k[(l[m+30>>1]+a|0)+4492|0]){g=Ue(m,b,c,d,e,f);if(g){break b}}n=m+84|0;break e}n=m+88|0}m=j[n>>2];if(m){continue}break c}}while(1){n=m+68|0;if(h[m+79|0]<=-1){g=j[n>>2]}else{g=n}h:{if(!k[g|0]){if(k[(l[m+30>>1]+a|0)+4492|0]){g=Ue(m,b,c,d,e,f);if(g){break b}}n=m+84|0;break h}n=m+88|0}m=j[n>>2];if(m){continue}break}}g=0;break a}i[a+4364>>1]=l[m+30>>1];if(j[m+56>>2]){break a}if(h[n+11|0]<=-1){j[a+4356>>2]=j[n>>2];return g}j[a+4356>>2]=n;return g}return g}function $h(a){var b=0;a=h[a+11|0]<0?j[a>>2]:a;b=0;a:{b:{if(!ba(a,120801)){break b}b=1;if(!ba(a,120804)){break b}b=2;if(!ba(a,120807)){break b}b=3;if(!ba(a,120813)){break b}b=4;if(!ba(a,120816)){break b}b=5;if(!ba(a,120819)){break b}b=6;if(!ba(a,120823)){break b}b=7;if(!ba(a,120826)){break b}b=8;if(!ba(a,120829)){break b}b=9;if(!ba(a,120832)){break b}b=10;if(!ba(a,120835)){break b}b=11;if(!ba(a,120838)){break b}b=12;if(!ba(a,120841)){break b}b=13;if(!ba(a,120844)){break b}b=14;if(!ba(a,120847)){break b}b=15;if(!ba(a,120850)){break b}b=16;if(!ba(a,120853)){break b}b=17;if(!ba(a,120856)){break b}b=18;if(!ba(a,120862)){break b}b=19;if(!ba(a,120865)){break b}b=20;if(!ba(a,120868)){break b}b=21;if(!ba(a,120871)){break b}b=22;if(!ba(a,120874)){break b}b=23;if(!ba(a,120877)){break b}b=24;if(!ba(a,120880)){break b}b=25;if(!ba(a,120883)){break b}b=26;if(!ba(a,120886)){break b}b=27;if(!ba(a,120892)){break b}b=999;if(ba(a,120895)){break a}b=28}b=j[(b<<3)+2020>>2]}return b}function zk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,l=0,m=0;l=M-16|0;M=l;i=c;while(1){a:{if((d|0)==(i|0)){i=d;break a}if(!k[i|0]){break a}i=i+1|0;continue}break}j[h>>2]=f;j[e>>2]=c;while(1){b:{c:{d:{if((f|0)==(g|0)|(c|0)==(d|0)){break d}m=j[b+4>>2];j[l+8>>2]=j[b>>2];j[l+12>>2]=m;e:{f:{g:{m=yk(f,e,i-c|0,g-f>>2,b,j[a+8>>2]);h:{if((m|0)==-1){while(1){i:{j[h>>2]=f;if(j[e>>2]==(c|0)){break i}g=1;j:{k:{l:{b=Cf(f,c,i-c|0,l+8|0,j[a+8>>2]);switch(b+2|0){case 2:break j;case 1:break l;case 0:break f;default:break k}}j[e>>2]=c;break h}g=b}c=c+g|0;f=j[h>>2]+4|0;continue}break}j[e>>2]=c;break d}f=j[h>>2]+(m<<2)|0;j[h>>2]=f;if((f|0)==(g|0)){break e}c=j[e>>2];if((d|0)==(i|0)){i=d;continue}if(!Cf(f,c,1,b,j[a+8>>2])){break g}}a=2;break c}j[h>>2]=j[h>>2]+4;c=j[e>>2]+1|0;j[e>>2]=c;i=c;while(1){if((d|0)==(i|0)){i=d;break b}if(!k[i|0]){break b}i=i+1|0;continue}}j[e>>2]=c;a=1;break c}c=j[e>>2]}a=(c|0)!=(d|0)}M=l+16|0;return a|0}f=j[h>>2];continue}}function bo(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{d=j[a>>2];e=(j[a+4>>2]-d|0)/12|0;c=e+1|0;if(c>>>0<357913942){d=(j[a+8>>2]-d|0)/12|0;g=d<<1;d=d>>>0<178956970?c>>>0>g>>>0?c:g:357913941;if(d){if(d>>>0>=357913942){break c}f=U(p(d,12))}c=p(e,12)+f|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;d=p(d,12)+f|0;f=c+12|0;b=j[a+4>>2];e=j[a>>2];if((b|0)==(e|0)){break b}while(1){c=c-12|0;j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;b=b-12|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;if((b|0)!=(e|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=f;e=j[a>>2];j[a>>2]=c;if((b|0)==(e|0)){break a}while(1){d=b-12|0;a=j[d>>2];if(a){g=b-8|0;c=j[g>>2];b=a;d:{if((a|0)==(c|0)){break d}while(1){b=c-12|0;if(h[c-1|0]<=-1){T(j[b>>2])}c=b;if((b|0)!=(a|0)){continue}break}b=j[d>>2]}f=b;j[g>>2]=a;T(f)}b=d;if((e|0)!=(b|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=f;j[a>>2]=c}if(e){T(e)}}function Jb(a,b){var c=0,d=0;c=M-176|0;M=c;a:{if(!b){b=cb(120906);break a}j[c+168>>2]=0;j[c+160>>2]=0;j[c+164>>2]=0;b:{c:{switch(j[a+8>>2]-1|0){case 0:Z(c+160|0,b<<16>>24);Z(c+160|0,b<<24>>24);break b;case 1:j[c+80>>2]=121092;j[c+24>>2]=121072;a=c+24|4;td(c+80|0,a);j[c+152>>2]=0;j[c+156>>2]=-1;j[c+80>>2]=121036;j[c+24>>2]=121016;d=wd(a);j[c+60>>2]=0;j[c+64>>2]=0;j[c+68>>2]=0;j[c+72>>2]=0;j[c+76>>2]=16;j[c+28>>2]=120536;jo(c+24|0,b);_q(c+8|0,a);if(h[c+171|0]<=-1){T(j[c+160>>2])}j[c+168>>2]=j[c+16>>2];a=j[c+12>>2];j[c+160>>2]=j[c+8>>2];j[c+164>>2]=a;j[c+80>>2]=121036;j[c+24>>2]=121016;j[c+28>>2]=120536;if(h[c+71|0]<=-1){T(j[c+60>>2])}ib(d);Ta(c+80|0);break b;case 2:a=U(2);j[c+24>>2]=a;d=a+2|0;j[c+32>>2]=d;h[a|0]=b;h[a+1|0]=b>>>8;j[c+28>>2]=d;da(c+160|0,c+24|0);a=j[c+24>>2];if(!a){break b}j[c+28>>2]=a;T(a);break b;default:break c}}Z(c+160|0,b<<24>>24)}b=cb(h[c+171|0]<0?j[c+160>>2]:c+160|0);if(h[c+171|0]>-1){break a}T(j[c+160>>2])}M=c+176|0;return b}function Tn(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0;a:{b:{c:{if(k[a+16|0]==80){f=U(84);zh(f,j[a+12>>2]);b=j[a+4>>2];c=j[a+8>>2];if(b>>>0>>0){j[b>>2]=f;j[a+4>>2]=b+4;break c}e=j[a>>2];g=b-e|0;b=g>>2;d=b+1|0;if(d>>>0>=1073741824){break b}i=b<<2;c=c-e|0;b=c>>1;d=c>>2>>>0<536870911?b>>>0>>0?d:b:1073741823;b=0;d:{if(!d){break d}if(d>>>0>=1073741824){break a}b=U(d<<2)}c=i+b|0;j[c>>2]=f;if((g|0)>=1){V(b,e,g)}j[a+8>>2]=b+(d<<2);j[a+4>>2]=c+4;j[a>>2]=b;if(!e){break c}T(e);break c}f=U(108);bi(f,j[a+12>>2]);b=j[a+4>>2];c=j[a+8>>2];if(b>>>0>>0){j[b>>2]=f;j[a+4>>2]=b+4;break c}e=j[a>>2];g=b-e|0;b=g>>2;d=b+1|0;if(d>>>0>=1073741824){break b}i=b<<2;c=c-e|0;b=c>>1;d=c>>2>>>0<536870911?b>>>0>>0?d:b:1073741823;b=0;e:{if(!d){break e}if(d>>>0>=1073741824){break a}b=U(d<<2)}c=i+b|0;j[c>>2]=f;if((g|0)>=1){V(b,e,g)}j[a+8>>2]=b+(d<<2);j[a+4>>2]=c+4;j[a>>2]=b;if(!e){break c}T(e)}b=j[j[a+4>>2]-4>>2];h[b+29|0]=k[j[j[a>>2]>>2]+29|0]&15;return b}X();z()}D();z()}function Kc(a,b,c,d,e,f,g){var l=0,m=0,n=0,o=0;l=M-48|0;M=l;m=k[b+11|0];n=m<<24>>24<0;a:{b:{c:{m=n?j[b+4>>2]:m;if(m>>>0>>0){break c}o=m;m=n?j[b>>2]:b;n=o+m|0;c=c+m|0;o=n-c|0;d:{e:{if((o|0)<2){break e}while(1){c=Aa(c,115,o-1|0);if(!c){break e}if((k[c|0]|k[c+1|0]<<8)==29555){break d}c=c+1|0;o=n-c|0;if((o|0)>1){continue}break}}c=n}if((d|0)>4){break c}n=(c|0)==(n|0)?-1:c-m|0;if((n|0)==-1){break c}h[n+m|0]=195;m=n+1|0;h[m+(h[b+11|0]<0?j[b>>2]:b)|0]=159;o=n+2|0;d=d+1|0;c=Kc(a,b,o,d,e+1|0,f,g);if(c){break a}h[n+(h[b+11|0]<0?j[b>>2]:b)|0]=115;h[m+(h[b+11|0]<0?j[b>>2]:b)|0]=115;c=Kc(a,b,o,d,e,f,g);if(c){break a}break b}if((e|0)<1){break b}if(j[a+44>>2]){c=_a(a,b,f,g);break a}b=ha(l,b);h[l+34|0]=0;i[l+32>>1]=40899;h[l+43|0]=2;i[l+16>>1]=223;h[l+27|0]=1;wb(b,l+32|0,l+16|0);if(h[l+27|0]<=-1){T(j[l+16>>2])}if(h[l+43|0]<=-1){T(j[l+32>>2])}c=_a(a,b,f,g);if(h[b+11|0]>-1){break a}T(j[b>>2]);break a}c=0}M=l+48|0;return c}function Sg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0;h=M-32|0;M=h;f=d&2147483647;g=f;e=f-1065418752|0;i=f-1082064896|0;f=c;a:{if((e|0)==(i|0)&f>>>0>>0|e>>>0>>0){g=(d&33554431)<<7|c>>>25;f=0;k=f;i=c&33554431;if(!(!f&(i|0)==16777216?!(a|b):!f&i>>>0<16777216)){e=g+1073741825|0;break a}e=g+1073741824|0;if(i^16777216|a|(b|k)){break a}e=(g&1)+e|0;break a}if(!(!f&(g|0)==2147418112?!(a|b):g>>>0<2147418112)){e=((d&33554431)<<7|c>>>25)&4194303|2143289344;break a}e=2139095040;if(g>>>0>1082064895){break a}e=0;f=g>>>16|0;if(f>>>0<16145){break a}g=c;e=d&65535|65536;mb(h+16|0,a,b,g,e,f-16129|0);Fc(h,a,b,g,e,16257-f|0);b=j[h+8>>2];e=(j[h+12>>2]&33554431)<<7|b>>>25;g=j[h+4>>2];f=g;a=0;i=a;k=j[h>>2]|((j[h+16>>2]|j[h+24>>2])!=0|(j[h+20>>2]|j[h+28>>2])!=0);b=b&33554431;if(!(!a&(b|0)==16777216?!(f|k):!a&b>>>0<16777216)){e=e+1|0;break a}if(b^16777216|k|(f|i)){break a}e=(e&1)+e|0}M=h+32|0;return Hr(2,d&-2147483648|e),Kr()}function Ao(a,b){var c=0,d=0,e=0,f=0,g=0;a:{d=j[a>>2];if((j[a+8>>2]-d|0)/40>>>0>=b>>>0){break a}b:{c:{if(b>>>0<107374183){c=j[a+4>>2];e=p(b,40);b=U(e);g=b+e|0;e=b+p((c-d|0)/40|0,40)|0;if((c|0)==(d|0)){break c}b=e;while(1){c=c-40|0;f=j[c+4>>2];b=b-40|0;j[b>>2]=j[c>>2];j[b+4>>2]=f;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[b+20>>2]=j[c+20>>2];f=j[c+16>>2];j[b+12>>2]=j[c+12>>2];j[b+16>>2]=f;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[b+32>>2]=j[c+32>>2];f=j[c+28>>2];j[b+24>>2]=j[c+24>>2];j[b+28>>2]=f;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[b+36>>2]=j[c+36>>2];if((c|0)!=(d|0)){continue}break}j[a+8>>2]=g;c=j[a+4>>2];j[a+4>>2]=e;d=j[a>>2];j[a>>2]=b;if((c|0)==(d|0)){break b}while(1){if(h[c-5|0]<=-1){T(j[c-16>>2])}if(h[c-17|0]<=-1){T(j[c-28>>2])}c=c-40|0;if(h[c+11|0]<=-1){T(j[c>>2])}if((c|0)!=(d|0)){continue}break}break b}D();z()}j[a+8>>2]=g;j[a+4>>2]=e;j[a>>2]=e}if(!d){break a}T(d)}}function bq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;e=M-16|0;M=e;g=W(c);if(g>>>0<4294967280){a:{b:{if(g>>>0>=11){i=g+16&-16;f=U(i);j[e+8>>2]=i|-2147483648;j[e>>2]=f;j[e+4>>2]=g;i=e;break b}h[e+11|0]=g;i=e;f=e;if(!g){break a}}V(f,c,g)}h[f+g|0]=0;while(1){c:{d:{f=h[i+11|0];e:{if((f|0)<=-1){if(m[e+4>>2]>l>>>0){break d}T(j[e>>2]);break e}c=e;if((f&255)>>>0>l>>>0){break c}}M=e+16|0;return}c=j[e>>2]}f=c+l|0;g=h[f|0];c=g&255;h[f|0]=k[(j[a+52>>2]+p(c,3)|0)+2|0];if((c|0)!=k[(h[i+11|0]<0?j[e>>2]:e)+l|0]){wa(a,b,e,d,0,0);h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=g}f=j[a>>2];if(f){f:{c=Ya(f,g);if(!c){break f}while(1){g:{if(c>>>0<=f>>>0){break g}f=k[c-1|0];if((f|0)==124){break g}h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=f;wa(a,b,e,d,0,0)}f=c+1|0;c=k[c+1|0];if(!(!c|(c|0)==124)){h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=c;wa(a,b,e,d,0,0)}c=Ya(f,g);if(!c){break f}f=j[a>>2];continue}}h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=g}l=l+1|0;continue}}X();z()}function Rp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;a:{b:{e=d-c|0;c:{if((e|0)<1){break c}m=e>>1;l=j[a+8>>2];n=j[a+4>>2];if((m|0)<=l-n>>1){e=n-b|0;f=e>>1;d:{if((f|0)>=(m|0)){g=n;f=d;break d}g=n;f=(f<<1)+c|0;d=d-f|0;if((d|0)>=1){g=V(n,f,d)+d|0}j[a+4>>2]=g;if((e|0)<1){break c}}d=m<<1;m=g-(d+b|0)|0;e=g;d=e-d|0;if(n>>>0>d>>>0){while(1){i=k[d|0]|k[d+1|0]<<8;h[e|0]=i;h[e+1|0]=i>>>8;e=e+2|0;d=d+2|0;if(n>>>0>d>>>0){continue}break}}j[a+4>>2]=e;if(m){Ja(g-(m>>1<<1)|0,b,m)}a=f-c|0;if(!a){break c}Ja(b,c,a);return}f=j[a>>2];i=m+(n-f>>1)|0;if((i|0)<=-1){break b}l=l-f|0;i=l>>1>>>0<1073741823?i>>>0>l>>>0?i:l:2147483647;g=0;e:{if(!i){break e}if((i|0)<=-1){break a}g=U(i<<1)}l=b-f|0;o=c;c=c-d|0;c=V(g+(l>>1<<1)|0,o,p(((c|0)>(e|0)?c:e)>>>1|0,(e|0)<1?e:1)<<1);if((l|0)>=1){V(g,f,l)}e=c+(m<<1)|0;c=n-b|0;if((c|0)>=1){e=V(e,b,c)+c|0}j[a+8>>2]=g+(i<<1);j[a+4>>2]=e;j[a>>2]=g;if(f){T(f)}}return}X();z()}D();z()}function Qp(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0;f=j[a+44>>2];a:{b:{if(!f){break b}f=Xb(f,b);d=0;c:{if(!f){break c}d=f;e=j[d+4>>2];if(!e){break c}d=i[f+2>>1];n=(d<<1)+e|0;g=l[j[a+44>>2]+4198>>1];if(d){while(1){h=d>>>1|0;k=(h<<1)+e|0;m=g>>>0>l[k>>1];e=m?k+2|0:e;d=m?(h^-1)+d|0:h;if(d){continue}break}}if(!(g>>>0>=l[e>>1]?(e|0)!=(n|0):0)){e=j[f+4>>2];d=i[f+2>>1];n=e+(d<<1)|0;g=l[j[a+44>>2]+4464>>1];if(d){while(1){h=d>>>1|0;k=(h<<1)+e|0;m=g>>>0>l[k>>1];e=m?k+2|0:e;d=m?(h^-1)+d|0:h;if(d){continue}break}}d=f;if((e|0)==(n|0)){break c}d=f;if(g>>>0>1]){break c}}d=0}if(!gb(j[a+44>>2],b,c,1,0)){d=Qa(j[a+44>>2],b,c,0,0,0,0,0)}if(!d){break b}e=j[d+4>>2];if(!e){break b}d=i[d+2>>1];f=(d<<1)+e|0;a=l[j[a+44>>2]+4192>>1];if(d){while(1){b=d>>>1|0;g=(b<<1)+e|0;c=a>>>0>l[g>>1];e=c?g+2|0:e;d=c?(b^-1)+d|0:b;if(d){continue}break}}if((e|0)==(f|0)){break b}b=1;if(a>>>0>=l[e>>1]){break a}}b=0}return b}function br(a,b,c){var d=0,e=0,f=0,g=0,l=0;f=M-16|0;M=f;a:{b:{l=j[a+4>>2];c:{if(!l){break c}e=h[c+11|0]<0?j[c>>2]:c;c=h[e|0];d:{if(!c){break d}d=h[e+1|0];if(!d){d=c;break d}d=d|c<<8;c=h[e+2|0];if(!c){break d}d=c|d<<8;c=h[e+3|0];if(!c){break d}d=c|d<<8;c=e+4|0;g=k[c|0];if(!g){break d}while(1){d=Er(d,5)^g<<24>>24;g=k[c+1|0];c=c+1|0;if(g){continue}break}}d=j[l+((d>>>0)%m[a>>2]<<2)>>2];if(!d){break c}while(1){if(!ba(e,d+17|0)){break b}d=j[d+8>>2];if(d){continue}break}}Re(a,b);break a}Re(a,b);if(!j[d+4>>2]){break a}j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;e:{if(!j[a+16>>2]){c=k[b+11|0];c=c<<24>>24<0?j[b+4>>2]:c;g=Nc(b,j[a+52>>2]);break e}c=ia(f,b);g=Mc(f,j[a+24>>2]);e=j[f>>2];if(!e){break e}j[f+4>>2]=e;T(e)}f:{if(j[a+84>>2]){Lc(a,b,c,j[d+4>>2],i[d+2>>1],0,0,g);break f}e=i[d+2>>1]<<1;l=ja(e);if(!l){break a}Lc(a,b,c,V(l,j[d+4>>2],e),i[d+2>>1],0,0,g)}Se(a,b,c,j[d+4>>2],i[d+2>>1],0,g)}M=f+16|0}function ec(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0;l=M-16|0;M=l;a:{b:{c:{d:{d=k[b+11|0];e=d<<24>>24;if((e|0)<=-1){d=j[b+4>>2];if(d){break d}break a}if(e){break c}break a}e=j[b>>2];break b}e=b}f=k[c+11|0];g=f<<24>>24<0;f=g?j[c+4>>2]:f;if(f){if((d|0)<(f|0)){break a}i=d+e|0;g=g?j[c>>2]:c;o=k[g|0];c=e;while(1){d=d-f|0;n=d+1|0;if(n>>>0>>0){break a}c=Aa(c,o,n);if(!c){break a}if(qa(c,g,f)){c=c+1|0;d=i-c|0;if((f|0)<=(d|0)){continue}break a}break}if((c|0)==(i|0)){break a}i=c-e|0;if((i|0)==-1){break a}}e:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break e}h[a+11|0]=0;h[a|0]=0}c=0;b=sa(l,b,i+3|0,-1);f:{g:{while(1){e=k[b+11|0];f=e<<24>>24;h:{if((f|0)<=-1){if(m[b+4>>2]<=c>>>0){break g}d=j[b>>2];break h}d=l;if(c>>>0>=e>>>0){break f}}e=k[c+d|0];d=e-9|0;if(!(1<>>0<=23:0)){Z(a,e<<24>>24);c=c+1|0;continue}break}if((f|0)>-1){break f}}T(j[b>>2])}p=1}M=l+16|0;return p}function oc(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0;g=M-16|0;M=g;j[g+12>>2]=c;c=b;a:{b:{c:{if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}if(c>>>0<=i>>>0){n=i-b|0;j[g+8>>2]=n;c=M-16|0;M=c;M=c+16|0;c=g+8|0;l=g+12|0;j[g+12>>2]=j[(m[c>>2]>2]?c:l)>>2];f=j[g+12>>2];c=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;if(f+(c-i|0)>>>0>=e>>>0){if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}l=c;c=j[g+12>>2];d:{if((e|0)==(c|0)){break d}n=n-c|0;if(!n){break d}f=b+l|0;if(c>>>0>e>>>0){break c}e:{if(d>>>0<=f>>>0|l+i>>>0<=d>>>0){break e}if(c+f>>>0<=d>>>0){d=(e-c|0)+d|0;break e}Kb(f,d,c);f=j[g+12>>2];c=0;j[g+12>>2]=0;d=d+e|0;e=e-f|0;b=b+f|0}f=b+l|0;Kb(f+e|0,c+f|0,n)}Kb(b+l|0,d,e);break b}cd(a,c,((e+i|0)-c|0)-f|0,i,b,f,e,d);break a}X();z()}Kb(f,d,e);Kb(e+f|0,f+j[g+12>>2]|0,n)}c=(e-j[g+12>>2]|0)+i|0;b=c;f:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break f}h[a+11|0]=b}h[g+7|0]=0;h[c+l|0]=k[g+7|0]}M=g+16|0}function Br(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{e=b;if(b){d=c;if(!d){break i}break h}a=(a>>>0)/(c>>>0)|0;N=0;return a}if(!a){break g}break f}if(!(d-1&d)){break e}h=(s(d)+33|0)-s(e)|0;i=0-h|0;break c}a=(e>>>0)/0|0;N=0;return a}d=32-s(e)|0;if(d>>>0<31){break d}break b}if((d|0)==1){break a}if(d){d=31-s(d-1^d)|0}else{d=32}c=d&31;if((d&63)>>>0>=32){e=0;a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}N=e;return a}h=d+1|0;i=63-d|0}d=b;e=h&63;f=e&31;if(e>>>0>=32){e=0;f=d>>>f|0}else{e=d>>>f|0;f=((1<>>f}i=i&63;d=i&31;if(i>>>0>=32){b=a<>>32-d|b<>>31;j=g;e=e<<1|f>>>31;g=i-(e+(d>>>0>>0)|0)>>31;k=c&g;f=j-k|0;e=e-(j>>>0>>0)|0;b=b<<1|a>>>31;a=l|a<<1;g=g&1;l=g;h=h-1|0;if(h){continue}break}}N=b<<1|a>>>31;return g|a<<1}a=0;b=0}N=b;return a}function Ab(a,b,c){var d=0,e=0,f=0,g=0,i=0;d=M-160|0;M=d;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;e=h[b+11|0];if((e|0)<0?j[b+4>>2]:e&255){j[d+20>>2]=0;j[d+80>>2]=120480;j[d+16>>2]=120460;j[d+24>>2]=120320;e=d+28|0;td(d+80|0,e);j[d+152>>2]=0;j[d+156>>2]=-1;j[d+80>>2]=120340;j[d+16>>2]=120300;j[d+24>>2]=120320;f=wd(e);j[d+60>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;j[d+72>>2]=0;j[d+76>>2]=24;j[d+28>>2]=120536;Ki(e,b);j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;b=Vd(d+16|0,d,c);if(!(k[(j[j[b>>2]-12>>2]+b|0)+16|0]&5)){while(1){b=k[d+11|0];a:{if(!(b<<24>>24<0?j[d+4>>2]:b)){break a}b=j[a+4>>2];if((b|0)!=j[a+8>>2]){g=a,i=ha(b,d)+12|0,j[g+4>>2]=i;break a}Wb(a,d)}b=Vd(d+16|0,d,c);if(!(k[(j[j[b>>2]-12>>2]+b|0)+16|0]&5)){continue}break}}if(h[d+11|0]<=-1){T(j[d>>2])}j[d+80>>2]=120340;j[d+16>>2]=120300;j[d+28>>2]=120536;j[d+24>>2]=120320;if(h[d+71|0]<=-1){T(j[d+60>>2])}ib(f);Ta(d+80|0)}M=d+160|0}function Bp(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0;d=j[37201];a:{b:{if(d){e=k[b+11|0];f=e<<24>>24<0;l=f?j[b>>2]:b;f=f?j[b+4>>2]:e;e=148804;while(1){b=k[d+27|0];g=b<<24>>24<0;b=g?j[d+20>>2]:b;n=b>>>0>>0;c:{d:{e:{f:{g:{m=n?b:f;h:{if(m){i=d+16|0;g=g?j[i>>2]:i;i=qa(l,g,m);if(!i){if(b>>>0>f>>>0){break h}break g}if((i|0)>-1){break g}break h}if(b>>>0<=f>>>0){break f}}b=j[d>>2];if(b){break c}break b}b=qa(g,l,m);if(b){break e}}if(n){break d}break a}if((b|0)>-1){break a}}e=d+4|0;b=j[d+4>>2];if(!b){break a}d=e}e=d;d=b;continue}}d=148804}e=d}f=a;b=j[e>>2];if(b){c=0}else{b=U(32);j[b+24>>2]=j[c+8>>2];l=j[c+4>>2];j[b+16>>2]=j[c>>2];j[b+20>>2]=l;j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;c=j[c+12>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=d;j[b+28>>2]=c;j[e>>2]=b;d=j[j[37200]>>2];c=b;i:{if(!d){break i}j[37200]=d;c=j[e>>2]}Bd(j[37201],c);j[37202]=j[37202]+1;c=1}h[f+4|0]=c;j[a>>2]=b}function fp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=j[b+4>>2];a:{b:{if(e){f=k[c+11|0];g=f<<24>>24<0;m=g?j[c>>2]:c;g=g?j[c+4>>2]:f;f=b+4|0;while(1){c=k[e+27|0];i=c<<24>>24<0;c=i?j[e+20>>2]:c;o=c>>>0>>0;c:{d:{e:{f:{g:{n=o?c:g;h:{if(n){l=e+16|0;i=i?j[l>>2]:l;l=qa(m,i,n);if(!l){if(c>>>0>g>>>0){break h}break g}if((l|0)>-1){break g}break h}if(c>>>0<=g>>>0){break f}}c=j[e>>2];if(c){break c}break b}c=qa(i,m,n);if(c){break e}}if(o){break d}break a}if((c|0)>-1){break a}}f=e+4|0;c=j[e+4>>2];if(!c){break a}e=f}f=e;e=c;continue}}e=b+4|0}f=e}g=a;c=j[f>>2];if(c){b=0}else{c=U(32);d=j[d>>2];m=j[d+4>>2];j[c+16>>2]=j[d>>2];j[c+20>>2]=m;j[c+24>>2]=j[d+8>>2];j[d>>2]=0;j[d+4>>2]=0;j[d+8>>2]=0;j[c+8>>2]=e;j[c>>2]=0;j[c+4>>2]=0;j[c+28>>2]=0;j[f>>2]=c;e=j[j[b>>2]>>2];d=c;i:{if(!e){break i}j[b>>2]=e;d=j[f>>2]}Bd(j[b+4>>2],d);j[b+8>>2]=j[b+8>>2]+1;b=1}h[g+4|0]=b;j[a>>2]=c}function fc(a,b,c,d,e){var f=0,g=0,i=0;f=M-32|0;M=f;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;Um(f+16|0,b,c,d);g=k[f+27|0];i=g<<24>>24<0;g=i?j[f+20>>2]:g;if(g){aa(a,i?j[f+16>>2]:f+16|0,g)}Sc(f,b,c,d,0,0,0,e);if(h[f+27|0]<=-1){T(j[f+16>>2])}j[f+24>>2]=j[f+8>>2];i=j[f+4>>2];j[f+16>>2]=j[f>>2];j[f+20>>2]=i;g=h[f+27|0];i=(g|0)<0;g=i?j[f+20>>2]:g&255;if(g){aa(a,i?j[f+16>>2]:f+16|0,g)}a:{if(!j[b+4488>>2]){break a}j[b+4372>>2]=0;j[b+4376>>2]=0;Hf(f,b,c,d,0,0,e);if(h[f+27|0]<=-1){T(j[f+16>>2])}j[f+24>>2]=j[f+8>>2];i=j[f+4>>2];j[f+16>>2]=j[f>>2];j[f+20>>2]=i;i=h[f+27|0];g=(i|0)<0?j[f+20>>2]:i&255;if(g){aa(a,(i|0)<0?j[f+16>>2]:f+16|0,g)}Mm(f,b,c,d,e);if(h[f+27|0]<=-1){T(j[f+16>>2])}j[f+24>>2]=j[f+8>>2];b=j[f+4>>2];j[f+16>>2]=j[f>>2];j[f+20>>2]=b;b=h[f+27|0];c=(b|0)<0?j[f+20>>2]:b&255;if(!c){break a}aa(a,(b|0)<0?j[f+16>>2]:f+16|0,c)}if(h[f+27|0]<=-1){T(j[f+16>>2])}M=f+32|0}function Qh(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0;d=j[a+8>>2];c=j[a+4>>2];if((d-c|0)/12>>>0>=b>>>0){if(b){b=p((p(b,12)-12>>>0)/12|0,12)+12|0;c=ya(c,0,b)+b|0}j[a+4>>2]=c;return}a:{b:{c:{g=j[a>>2];f=(c-g|0)/12|0;e=f+b|0;if(e>>>0<357913942){d=(d-g|0)/12|0;i=d<<1;d=d>>>0<178956970?e>>>0>i>>>0?e:i:357913941;if(d){if(d>>>0>=357913942){break c}k=U(p(d,12))}e=p(f,12)+k|0;f=p((p(b,12)-12>>>0)/12|0,12)+12|0;b=ya(e,0,f);f=b+f|0;d=p(d,12)+k|0;if((c|0)==(g|0)){break b}while(1){c=c-12|0;b=j[c+4>>2];e=e-12|0;j[e>>2]=j[c>>2];j[e+4>>2]=b;j[e+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;if((c|0)!=(g|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=f;c=j[a>>2];j[a>>2]=e;if((b|0)==(c|0)){break a}while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((a|0)!=(c|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=f;j[a>>2]=b}if(c){T(c)}}function po(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{d=j[a>>2];f=(j[a+4>>2]-d|0)/12|0;c=f+1|0;if(c>>>0<357913942){d=(j[a+8>>2]-d|0)/12|0;g=d<<1;d=d>>>0<178956970?c>>>0>g>>>0?c:g:357913941;if(d){if(d>>>0>=357913942){break c}e=U(p(d,12))}c=p(f,12)+e|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;d=p(d,12)+e|0;f=c+12|0;b=j[a+4>>2];e=j[a>>2];if((b|0)==(e|0)){break b}while(1){c=c-12|0;j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;b=b-12|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;if((b|0)!=(e|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=f;e=j[a>>2];j[a>>2]=c;if((b|0)==(e|0)){break a}while(1){a=b-12|0;c=j[a>>2];if(c){j[b-8>>2]=c;T(c)}b=a;if((e|0)!=(b|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=f;j[a>>2]=c}if(e){T(e)}}function Wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,k=0,l=0;g=M-16|0;M=g;f=-1;i=-1;a:{if(!(d&24)){break a}h=d&8;if(j[b+12>>2]?0:h){break a}k=d&16;if(j[b+24>>2]?0:k){break a}d=j[c+8>>2];c=j[c+12>>2];if(j[b+28>>2]){e=j[b+28>>2]}else{e=j[b+16>>2]}if((c|0)<0){break a}e=e-j[b+8>>2]|0;l=e>>>0>>0;e=e>>31;if((c|0)>(e|0)?1:(e|0)<=(c|0)?l:0){break a}j[g+12>>2]=d+j[b+8>>2];if(h){f=j[b+8>>2];i=j[g+12>>2];j[g+8>>2]=j[b+16>>2];e=M-16|0;M=e;M=e+16|0;e=g+8|0;h=g+12|0;j[b+16>>2]=j[(m[h>>2]>2]?e:h)>>2];j[b+12>>2]=i;j[b+8>>2]=f}if(k){i=j[b+28>>2];e=j[g+12>>2];j[g+4>>2]=j[b+20>>2];f=M-16|0;M=f;M=f+16|0;f=g+12|0;h=g+4|0;f=j[(m[f>>2]>2]?f:h)>>2];j[b+28>>2]=j[b+28>>2];j[b+20>>2]=f;j[b+24>>2]=f;j[b+24>>2]=j[b+24>>2]+(e+j[b+28>>2]-(i+j[b+20>>2])|0)}f=d;i=c}j[a+8>>2]=f;j[a+12>>2]=i;j[a>>2]=0;j[a+4>>2]=0;M=g+16|0}function va(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0;f=M-16|0;M=f;c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){j[f+8>>2]=h[a+11|0]<0?j[a>>2]:a;d=ka(a,f+8|0);c=k[a+11|0];e=c<<24>>24<0;if((d|0)!=((e?j[a>>2]:a)+(e?j[a+4>>2]:c)|0)){while(1){a:{b:{c:{switch(l|0){case 0:break b;case 1:break c;default:break a}}i=j[f+8>>2];e=i-d|0;g=h[b+11|0];d:{e:{f:{if((g|0)<=-1){c=(j[b+8>>2]&2147483647)-1|0;if(e>>>0<=c>>>0){break e}g=j[b+4>>2];break f}c=b;if(e>>>0<=10){break d}c=10;g=g&255}pb(b,c,e-c|0,g,0,g,0);c=b;if(h[b+11|0]>-1){break d}}c=j[b>>2]}if((d|0)!=(i|0)){while(1){h[c|0]=k[d|0];c=c+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}h[c|0]=0;if(h[b+11|0]<=-1){j[b+4>>2]=e;break b}h[b+11|0]=e}m=m+1|0}l=l+1|0;d=ka(a,f+8|0);c=k[a+11|0];e=c<<24>>24<0;if((d|0)!=((e?j[a>>2]:a)+(e?j[a+4>>2]:c)|0)){continue}break}}d=(m|0)==2}M=f+16|0;return d}function _i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0;f=M-16|0;M=f;a:{if((b|0)==-1){break a}if(j[a+24>>2]==j[a+28>>2]){d=-1;if((j[a+32>>2]&12)!=4){break a}if(j[a+28>>2]){c=j[a+28>>2]}else{c=j[a+16>>2]}e=j[a+8>>2];j[f+12>>2]=j[a+36>>2];g=c-e|0;j[f+8>>2]=g<<1;c=M-16|0;M=c;M=c+16|0;c=f+8|0;e=f+12|0;c=j[(m[e>>2]>2]?c:e)>>2];e=c?c:4096;c=j[a+40>>2];b:{if(!c){c=U(e);break b}c=O[c|0](e)|0;if(!c){break a}}if(g){V(c,j[a+8>>2],g)}g=j[a+12>>2]-j[a+8>>2]|0;k=j[a+16>>2]-j[a+8>>2]|0;l=j[a+24>>2]-j[a+20>>2]|0;c:{if(!(h[a+32|0]&1)){break c}d=j[a+8>>2];i=j[a+44>>2];if(i){O[i|0](d);break c}if(!d){break c}T(d)}d=c+k|0;j[a+16>>2]=d;j[a+12>>2]=c+g;j[a+8>>2]=c;j[a+28>>2]=c+e;j[a+20>>2]=d;j[a+24>>2]=d;j[a+24>>2]=l+j[a+24>>2];j[a+32>>2]=j[a+32>>2]|1}h[j[a+24>>2]]=b;j[a+24>>2]=j[a+24>>2]+1;d=b&255}M=f+16|0;return d|0}function zn(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0;e=M-16|0;M=e;f=c-b|0;a:{g=k[a+11|0];i=g<<24>>24;b:{c:{if((i|0)<=-1){if(!f){break b}l=(j[a+8>>2]&2147483647)-1|0;g=j[a+4>>2];d=j[a>>2];break c}if(!f){break b}l=10;d=a}if(!(d>>>0>b>>>0|d+g>>>0<=b>>>0)){if(f>>>0>=4294967280){break a}d:{if(f>>>0<=10){h[e+11|0]=f;d=e;break d}i=f+16&-16;d=U(i);j[e+8>>2]=i|-2147483648;j[e>>2]=d;j[e+4>>2]=f}if((b|0)!=(c|0)){d=V(d,b,f)+f|0}h[d|0]=0;c=a;b=k[e+11|0];a=b<<24>>24<0;aa(c,a?j[e>>2]:e,a?j[e+4>>2]:b);if(h[e+11|0]>-1){break b}T(j[e>>2]);break b}if(l-g>>>0>>0){pb(a,l,(f+g|0)-l|0,g,g,0,0);i=h[a+11|0]}d=j[a>>2];e:{if(i<<24>>24<=-1){break e}d=a}d=d+g|0;if((b|0)!=(c|0)){while(1){h[d|0]=k[b|0];d=d+1|0;b=b+1|0;if((c|0)!=(b|0)){continue}break}}h[d|0]=0;b=f+g|0;if(h[a+11|0]<=-1){j[a+4>>2]=b;break b}h[a+11|0]=b}M=e+16|0;return}X();z()}function xl(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=Zf(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);Pb(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);Pb(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=Yf(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);Pb(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);Pb(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function Se(a,b,c,d,e,f,g){var k=0,m=0,n=0,o=0,p=0,q=0,r=0;k=M-32|0;M=k;n=d?e:0;a:{b:{c:{if(g-3>>>0>=2){if(!n|(g|0)!=2){break a}break c}if(n){break c}e=1;break b}q=(n<<1)+d|0;r=l[a+20>>1];g=d;m=n;while(1){e=m>>>1|0;p=(e<<1)+g|0;o=l[p>>1]>>0;g=o?p+2|0:g;m=o?(e^-1)+m|0:e;if(m){continue}break}if((g|0)==(q|0)){e=0;break b}e=0;m=0;if(l[a+20>>1]>=l[g>>1]){break a}}m=1;o=n+1|0;g=ja(o<<1);if(!g){break a}if(!e){V(g,d,n<<1)}i[g+(n<<1)>>1]=65511;if(j[a+16>>2]){j[k+24>>2]=0;j[k+16>>2]=0;j[k+20>>2]=0;j[k+8>>2]=0;j[k>>2]=0;j[k+4>>2]=0;ia(k,b);Ua(k,j[a+24>>2]);vb(k,j[a+24>>2]);da(k+16|0,k);m=Lc(a,k+16|0,c,g,o,f,1,1);a=j[k>>2];if(a){j[k+4>>2]=a;T(a)}if(h[k+27|0]>-1){break a}T(j[k+16>>2]);break a}b=ha(k+16|0,b);Pa(b,j[a+52>>2]);nb(b,j[a+52>>2]);m=Lc(a,b,c,g,o,f,1,1);if(h[b+11|0]>-1){break a}T(j[b>>2])}M=k+32|0;return m}function Qn(a,b){var c=0,d=0,e=0;a:{if(k[b|0]){break a}b=ue(123616);if(k[b|0]?b:0){break a}b=ue(p(a,12)+123632|0);if(k[b|0]?b:0){break a}b=ue(123704);if(k[b|0]?b:0){break a}b=123709}b:{while(1){e=k[b+c|0];if(!(!e|(e|0)==47)){e=15;c=c+1|0;if((c|0)!=15){continue}break b}break}e=c}d=123709;c:{d:{c=k[b|0];e:{f:{if(!(k[b+e|0]|(c|0)==46)){d=b;if((c|0)!=67){break f}}if(!k[d+1|0]){break e}}if(!ba(d,123709)){break e}if(ba(d,123717)){break d}}if(!a){c=123540;if(k[d+1|0]==46){break c}}return 0}c=j[37230];if(c){while(1){if(!ba(d,c+8|0)){break c}c=j[c+24>>2];if(c){continue}break}}c=j[37230];if(c){while(1){if(!ba(d,c+8|0)){return c}c=j[c+24>>2];if(c){continue}break}}c=ja(28);g:{if(!c){c=0;break g}b=j[30886];j[c>>2]=j[30885];j[c+4>>2]=b;b=c+8|0;V(b,d,e);h[b+e|0]=0;j[c+24>>2]=j[37230];j[37230]=c}c=a|c?c:123540}return c}function Dl(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=cg(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);db(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);db(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=bg(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);db(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);db(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function Mn(a,b,c){var d=0,e=0,f=0,g=0,i=0;i=M-16|0;M=i;a:{b:{c:{d:{if(a){if(c>>>0>=4){break d}d=c;break c}c=0;a=j[b>>2];d=j[a>>2];if(!d){break a}while(1){f=1;if(d>>>0>=128){g=-1;f=tc(i+12|0,d);if((f|0)==-1){break a}}d=j[a+4>>2];a=a+4|0;c=c+f|0;g=c;if(d){continue}break}break a}f=j[b>>2];d=c;while(1){e=j[f>>2];e:{if(e-1>>>0>=127){if(!e){h[a|0]=0;j[b>>2]=0;break b}g=-1;e=tc(a,e);if((e|0)==-1){break a}d=d-e|0;a=a+e|0;break e}h[a|0]=e;d=d-1|0;f=j[b>>2];a=a+1|0}f=f+4|0;j[b>>2]=f;if(d>>>0>3){continue}break}}if(d){f=j[b>>2];while(1){e=j[f>>2];f:{if(e-1>>>0>=127){if(!e){h[a|0]=0;j[b>>2]=0;break b}g=-1;e=tc(i+12|0,e);if((e|0)==-1){break a}if(d>>>0>>0){break b}tc(a,j[f>>2]);d=d-e|0;a=a+e|0;break f}h[a|0]=e;d=d-1|0;f=j[b>>2];a=a+1|0}f=f+4|0;j[b>>2]=f;if(d){continue}break}}g=c;break a}g=c-d|0}M=i+16|0;return g}function Wp(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;f=M-48|0;M=f;j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;a:{if(d){if((d|0)<=-1){break a}g=d<<1;n=U(g);j[f+32>>2]=n;i=n+(d<<1)|0;j[f+40>>2]=i;V(n,c,g);j[f+36>>2]=i}j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;q=f,r=C()|0,j[q+12>>2]=r;j[f+8>>2]=100;b:{if(!j[a+24>>2]|(d|0)<1){break b}while(1){c=d;while(1){n=c-1|0;p=n<<1;g=p+j[f+32>>2]|0;i=k[g|0]|k[g+1|0]<<8;l=j[a+28>>2]+(o<<1)|0;l=k[l|0]|k[l+1|0]<<8;if(!((i>>>8|0)==(l>>>8|0)?(i&255)==(l&255):0)){h[g|0]=l;h[g+1|0]=l>>>8;da(f+16|0,f+32|0);wa(a,b,f+16|0,e,f+8|0,f+12|0);if(!j[f+8>>2]){break b}g=j[f+32>>2]+p|0;h[g|0]=i;h[g+1|0]=i>>>8}g=(c|0)>1;c=n;if(g){continue}break}o=o+1|0;if(o>>>0>2]){continue}break}}if(h[f+27|0]<=-1){T(j[f+16>>2])}a=j[f+32>>2];if(a){j[f+36>>2]=a;T(a)}M=f+48|0;return}X();z()}function Mm(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;i=M-16|0;M=i;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[b+4356>>2]=0;j[b+4360>>2]=0;j[b+4376>>2]=0;f=j[b>>2];if(f){while(1){xf(i,f,c,d,e);l=k[i+11|0];g=l<<24>>24;m=(g|0)<0;l=m?j[i+4>>2]:l;if(l){aa(a,m?j[i>>2]:i,l);g=k[i+11|0]}f=j[f+68>>2];if(g<<24>>24<=-1){T(j[i>>2])}if(f){continue}break}}l=j[(k[c|0]<<2)+b>>2];if(l){while(1){g=l+4|0;g=h[l+15|0]<=-1?j[g>>2]:g;f=k[g|0];a:{if(!f){break a}m=c;if((f|0)!=46&k[m|0]!=(f|0)){break a}while(1){f=k[g+1|0];if(!f){break a}n=k[m+1|0];m=m+1|0;g=g+1|0;if(!((f|0)!=46&(f|0)!=(n|0))){continue}break}}b:{if(!f){xf(i,l,c,d,e);g=k[i+11|0];f=g<<24>>24;m=(f|0)<0;g=m?j[i+4>>2]:g;if(g){aa(a,m?j[i>>2]:i,g);j[b+4376>>2]=l;f=k[i+11|0]}l=j[l+72>>2];if(f<<24>>24>-1){break b}T(j[i>>2]);break b}l=j[l+76>>2]}if(l){continue}break}}M=i+16|0}function Db(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{c=j[a>>2];f=(j[a+4>>2]-c|0)/12|0;d=f+1|0;if(d>>>0<357913942){c=(j[a+8>>2]-c|0)/12|0;g=c<<1;c=c>>>0<178956970?d>>>0>g>>>0?d:g:357913941;if(c){if(c>>>0>=357913942){break c}e=U(p(c,12))}d=p(f,12)+e|0;f=j[b+4>>2];j[d>>2]=j[b>>2];j[d+4>>2]=f;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;e=p(c,12)+e|0;f=d+12|0;b=j[a+4>>2];c=j[a>>2];if((b|0)==(c|0)){break b}while(1){b=b-12|0;g=j[b+4>>2];d=d-12|0;j[d>>2]=j[b>>2];j[d+4>>2]=g;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;if((b|0)!=(c|0)){continue}break}j[a+8>>2]=e;e=j[a+4>>2];j[a+4>>2]=f;c=j[a>>2];j[a>>2]=d;if((c|0)==(e|0)){break a}while(1){a=e-12|0;if(h[e-1|0]<=-1){T(j[a>>2])}e=a;if((a|0)!=(c|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=e;j[a+4>>2]=f;j[a>>2]=d}if(c){T(c)}}function Ko(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,k=0;e=M-32|0;M=e;g=j[a+28>>2];j[e+16>>2]=g;d=j[a+20>>2];j[e+28>>2]=c;j[e+24>>2]=b;b=d-g|0;j[e+20>>2]=b;g=b+c|0;k=2;b=e+16|0;a:{b:{f=E(j[a+60>>2],e+16|0,2,e+12|0)|0;d=0;c:{if(!f){break c}j[37203]=f;d=-1}d:{if(!d){while(1){d=j[e+12>>2];if((d|0)==(g|0)){break d}if((d|0)<=-1){break b}h=j[b+4>>2];f=h>>>0>>0;i=(f<<3)+b|0;h=d-(f?h:0)|0;j[i>>2]=h+j[i>>2];i=(f?12:4)+b|0;j[i>>2]=j[i>>2]-h;g=g-d|0;b=f?b+8|0:b;k=k-f|0;f=E(j[a+60>>2],b|0,k|0,e+12|0)|0;d=0;e:{if(!f){break e}j[37203]=f;d=-1}if(!d){continue}break}}if((g|0)!=-1){break b}}b=j[a+44>>2];j[a+28>>2]=b;j[a+20>>2]=b;j[a+16>>2]=b+j[a+48>>2];a=c;break a}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a>>2]=j[a>>2]|32;a=0;if((k|0)==2){break a}a=c-j[b+4>>2]|0}M=e+32|0;return a|0}function Kn(a,b,c,d,e){var f=0,g=0,h=0,i=0,k=0,l=0;g=M-1040|0;M=g;i=j[b>>2];j[g+12>>2]=i;k=a?a:g+16|0;a:{b:{c:{d=a?d:256;if(!d|!i){break c}f=c>>>2|0;l=f>>>0>=d>>>0;if(d>>>0>f>>>0?c>>>0<=131:0){break b}while(1){f=l?d:f;c=c-f|0;f=Mg(k,g+12|0,f,e);if((f|0)==-1){d=0;i=j[g+12>>2];h=-1;break c}l=(g+16|0)==(k|0);k=l?k:(f<<2)+k|0;h=f+h|0;d=d-(l?0:f)|0;i=j[g+12>>2];if(!d|!i){break c}f=c>>>2|0;l=f>>>0>=d>>>0;if(d>>>0<=f>>>0|c>>>0>131){continue}break}break b}if(!i){break a}}if(!d|!c){break a}f=h;while(1){d:{h=rd(k,i,c,e);e:{if(h+2>>>0<=2){f:{switch(h+1|0){case 1:j[g+12>>2]=0;break e;case 0:break a;default:break f}}j[e>>2]=0;break e}i=j[g+12>>2]+h|0;j[g+12>>2]=i;f=f+1|0;d=d-1|0;if(d){break d}}h=f;break a}k=k+4|0;c=c-h|0;h=f;if(c){continue}break}}if(a){j[b>>2]=j[g+12>>2]}M=g+1040|0;return h}function or(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=j[b+44>>2];k=j[b+24>>2];if(i>>>0>>0){j[b+44>>2]=k;i=k}o=-1;p=-1;q=f&24;a:{if(!q|((q|0)==24?(e|0)==1:0)){break a}if(i){g=b+32|0;l=i;if(h[b+43|0]<=-1){g=j[g>>2]}g=l-g|0;l=g;g=g>>31}b:{c:{switch(e|0){case 1:if(f&8){e=j[b+12>>2]-j[b+8>>2]|0;m=e;n=e>>31;break b}e=k-j[b+20>>2]|0;m=e;n=e>>31;break b;case 0:break b;case 2:break c;default:break a}}m=l;n=g}e=d+n|0;c=c+m|0;e=m>>>0>c>>>0?e+1|0:e;d=c;c=e;if((e|0)<0|((e|0)>(g|0)?1:(e|0)>=(g|0)?d>>>0>l>>>0:0)){break a}e=f&8;d:{if(!(c|d)){break d}if(j[b+12>>2]?0:e){break a}if(!(f&16)){break d}if(!k){break a}}if(e){j[b+16>>2]=i;j[b+12>>2]=d+j[b+8>>2]}if(f&16){j[b+24>>2]=d+j[b+20>>2]}o=d;p=c}j[a+8>>2]=o;j[a+12>>2]=p;j[a>>2]=0;j[a+4>>2]=0}function hp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=j[b+4>>2];a:{b:{if(e){f=k[c+11|0];g=f<<24>>24<0;n=g?j[c>>2]:c;g=g?j[c+4>>2]:f;f=b+4|0;while(1){c=k[e+27|0];i=c<<24>>24<0;c=i?j[e+20>>2]:c;o=c>>>0>>0;c:{d:{e:{f:{g:{m=o?c:g;h:{if(m){l=e+16|0;i=i?j[l>>2]:l;l=qa(n,i,m);if(!l){if(c>>>0>g>>>0){break h}break g}if((l|0)>-1){break g}break h}if(c>>>0<=g>>>0){break f}}c=j[e>>2];if(c){break c}break b}c=qa(i,n,m);if(c){break e}}if(o){break d}break a}if((c|0)>-1){break a}}f=e+4|0;c=j[e+4>>2];if(!c){break a}e=f}f=e;e=c;continue}}e=b+4|0}f=e}g=a;c=j[f>>2];if(c){b=0}else{c=U(32);ha(c+16|0,d);d=j[d+12>>2];j[c+8>>2]=e;j[c>>2]=0;j[c+4>>2]=0;j[c+28>>2]=d;j[f>>2]=c;e=j[j[b>>2]>>2];d=c;i:{if(!e){break i}j[b>>2]=e;d=j[f>>2]}Bd(j[b+4>>2],d);j[b+8>>2]=j[b+8>>2]+1;b=1}h[g+4|0]=b;j[a>>2]=c}function io(a,b){var c=0,d=0,e=0,f=0,g=0;a:{e=j[a>>2];if((j[a+8>>2]-e|0)/12>>>0>=b>>>0){break a}b:{c:{if(b>>>0<357913942){c=j[a+4>>2];b=p(b,12);d=U(b);f=b+d|0;d=d+p((c-e|0)/12|0,12)|0;if((c|0)==(e|0)){break c}b=d;while(1){b=b-12|0;j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;c=c-12|0;j[b>>2]=j[c>>2];j[b+4>>2]=j[c+4>>2];j[b+8>>2]=j[c+8>>2];j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;if((c|0)!=(e|0)){continue}break}j[a+8>>2]=f;c=j[a+4>>2];j[a+4>>2]=d;e=j[a>>2];j[a>>2]=b;if((c|0)==(e|0)){break b}while(1){d=c-12|0;f=j[d>>2];if(f){a=f;c=c-8|0;b=j[c>>2];g=a;d:{if((a|0)==(b|0)){break d}while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((f|0)!=(b|0)){continue}break}g=j[d>>2]}a=g;j[c>>2]=f;T(a)}c=d;if((e|0)!=(c|0)){continue}break}break b}D();z()}j[a+8>>2]=f;j[a+4>>2]=d;j[a>>2]=d}if(!e){break a}T(e)}}function ip(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=j[b+4>>2];a:{b:{if(e){f=k[c+11|0];g=f<<24>>24<0;n=g?j[c>>2]:c;g=g?j[c+4>>2]:f;f=b+4|0;while(1){c=k[e+27|0];i=c<<24>>24<0;c=i?j[e+20>>2]:c;o=c>>>0>>0;c:{d:{e:{f:{g:{m=o?c:g;h:{if(m){l=e+16|0;i=i?j[l>>2]:l;l=qa(n,i,m);if(!l){if(c>>>0>g>>>0){break h}break g}if((l|0)>-1){break g}break h}if(c>>>0<=g>>>0){break f}}c=j[e>>2];if(c){break c}break b}c=qa(i,n,m);if(c){break e}}if(o){break d}break a}if((c|0)>-1){break a}}f=e+4|0;c=j[e+4>>2];if(!c){break a}e=f}f=e;e=c;continue}}e=b+4|0}f=e}g=a;c=j[f>>2];if(c){b=0}else{c=U(32);ha(c+16|0,j[d>>2]);j[c+8>>2]=e;j[c>>2]=0;j[c+4>>2]=0;j[c+28>>2]=0;j[f>>2]=c;e=j[j[b>>2]>>2];d=c;i:{if(!e){break i}j[b>>2]=e;d=j[f>>2]}Bd(j[b+4>>2],d);j[b+8>>2]=j[b+8>>2]+1;b=1}h[g+4|0]=b;j[a>>2]=c}function ik(a,b,c,d,e,f){var g=0;j[c>>2]=a;j[f>>2]=d;d=j[c>>2];a:{while(1){if(b>>>0<=d>>>0){g=0;break a}g=2;a=j[d>>2];if(a>>>0>1114111|(a&-2048)==55296){break a}b:{c:{if(a>>>0<=127){g=1;d=j[f>>2];if((e-d|0)<1){break a}j[f>>2]=d+1;h[d|0]=a;break c}if(a>>>0<=2047){d=j[f>>2];if((e-d|0)<2){break b}j[f>>2]=d+1;h[d|0]=a>>>6|192;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a&63|128;break c}d=j[f>>2];g=e-d|0;if(a>>>0<=65535){if((g|0)<3){break b}j[f>>2]=d+1;h[d|0]=a>>>12|224;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a>>>6&63|128;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a&63|128;break c}if((g|0)<4){break b}j[f>>2]=d+1;h[d|0]=a>>>18|240;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a>>>12&63|128;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a>>>6&63|128;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a&63|128}d=j[c>>2]+4|0;j[c>>2]=d;continue}break}return 1}return g}function dq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=M-16|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){l=f+16&-16;g=U(l);j[e+8>>2]=l|-2147483648;j[e>>2]=g;j[e+4>>2]=f;l=e;break b}h[e+11|0]=f;l=e;g=e;if(!f){break a}}V(g,c,f)}h[f+g|0]=0;m=j[e>>2];c=h[l+11|0];g=(c|0)<0?m:e;while(1){c:{d:{e:{i=c<<24>>24;f:{if((i|0)<=-1){f=m;n=j[e+4>>2];if(f+n>>>0>g>>>0){break f}T(m);break e}if((c&255)+e>>>0<=g>>>0){break e}n=j[e+4>>2];f=e}i=(i|0)<0;if((i?m:e)+(i?n:c&255)>>>0>f>>>0){break d}break c}M=e+16|0;return}while(1){o=g-f|0;i=o>>31;if((i^i+o)-2>>>0<=2){c=k[g|0];h[g|0]=k[f|0];h[f|0]=c;wa(a,b,e,d,0,0);c=k[g|0];h[g|0]=k[f|0];h[f|0]=c;n=j[e+4>>2];m=j[e>>2];c=k[l+11|0]}f=f+1|0;i=c<<24>>24<0;if(f>>>0<(i?m:e)+(i?n:c&255)>>>0){continue}break}}g=g+1|0;continue}}X();z()}function ul(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0;f=M-16|0;M=f;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:1;i=c-b>>2;a:{if(!i){break a}if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}m=g;if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}if(k[a+11|0]>>>7|0){l=j[a+4>>2]}else{l=k[a+11|0]}if(g+(l<<2)>>>0>b>>>0&b>>>0>=m>>>0){d=a;a=M-16|0;M=a;Ig(f,b,c);M=a+16|0;b=f;a=b;if(k[a+11|0]>>>7|0){a=j[a>>2]}if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}yi(d,a,c);Y(b);break a}if(d-e>>>0>>0){bf(a,d,(e+i|0)-d|0,e,e)}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}d=d+(e<<2)|0;while(1){if((b|0)!=(c|0)){j[d>>2]=j[b>>2];b=b+4|0;d=d+4|0;continue}break}j[f>>2]=0;j[d>>2]=j[f>>2];b=e+i|0;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}}M=f+16|0}function _p(a,b,c,d,e){var f=0,g=0,i=0,k=0,l=0,n=0,o=0;f=M-48|0;M=f;j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;a:{if(d){if((d|0)<=-1){break a}k=d<<1;g=U(k);j[f+32>>2]=g;i=(d<<1)+g|0;j[f+40>>2]=i;V(g,c,k);j[f+36>>2]=i}n=f,o=C()|0,j[n+28>>2]=o;j[f+24>>2]=100;if(j[a+24>>2]){b:{k=0;while(1){c=i-g>>1;d=0;c:{while(1){c=c-d<<1;Kh(f+32|0,c+g|0,j[a+28>>2]+(k<<1)|0);j[f+16>>2]=0;j[f+8>>2]=0;j[f+12>>2]=0;da(f+8|0,f+32|0);wa(a,b,f+8|0,e,f+24|0,f+28|0);i=j[f+24>>2];if(i){c=c+j[f+32>>2]|0;l=c+2|0;g=j[f+36>>2]-l|0;if(g){Ja(c,l,g)}j[f+36>>2]=c+g}if(h[f+19|0]<=-1){T(j[f+8>>2])}if(i){i=j[f+36>>2];g=j[f+32>>2];c=i-g>>1;d=d+1|0;if(c>>>0>>0){break c}continue}break}g=j[f+32>>2];break b}k=k+1|0;if(k>>>0>2]){continue}break}}}if(g){j[f+36>>2]=g;T(g)}M=f+48|0;return}X();z()}function Al(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0;f=M-32|0;M=f;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;i=c-b|0;a:{if(!i){break a}if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}m=g;if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}if(k[a+11|0]>>>7|0){l=j[a+4>>2]}else{l=k[a+11|0]}if(g+l>>>0>b>>>0&b>>>0>=m>>>0){d=a;e=M-16|0;M=e;a=f+16|0;Jg(a,b,c);M=e+16|0;b=a;if(k[a+11|0]>>>7|0){a=j[a>>2]}if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}aa(d,a,c);Y(b);break a}if(d-e>>>0>>0){pb(a,d,(e+i|0)-d|0,e,e,0,0)}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}d=d+e|0;while(1){if((b|0)!=(c|0)){h[d|0]=k[b|0];b=b+1|0;d=d+1|0;continue}break}h[f+15|0]=0;h[d|0]=k[f+15|0];b=e+i|0;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}}M=f+32|0}function Cl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,l=0,m=0;a=M-160|0;M=a;j[a+144>>2]=c;j[a+152>>2]=b;j[a+20>>2]=78;i=Da(a+24|0,a+32|0,a+20|0);b=j[e+28>>2];j[a+16>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(a+16|0);h[a+15|0]=0;a:{if(!fg(a+152|0,c,d,a+16|0,j[e+4>>2],f,a+15|0,b,i,a+20|0,a+132|0)){break a}Bl(g);if(k[a+15|0]){Z(g,O[j[j[b>>2]+28>>2]](b,45)|0)}c=O[j[j[b>>2]+28>>2]](b,48)|0;e=j[i>>2];l=j[a+20>>2];d=l-1|0;b=d>>>0>>0?e:d;m=c&255;while(1){c=g;b:{if(d>>>0>e>>>0){if((m|0)==k[e|0]){break b}}else{e=b}Al(c,e,l);break a}e=e+1|0;continue}}if(Sa(a+152|0,a+144|0)){j[f>>2]=j[f>>2]|2}d=j[a+152>>2];b=j[a+16>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+160|0;return d|0}function Cc(a,b,c,d,e,f,g,i,l,m){var n=0,o=0,p=0;n=M-16|0;M=n;h[n+15|0]=a;a:{b:{c:{if(j[d>>2]!=(c|0)){break c}o=43;p=a&255;if((p|0)!=k[m+24|0]){o=45;if(k[m+25|0]!=(p|0)){break c}}j[d>>2]=c+1;h[c|0]=o;break b}if(k[g+11|0]>>>7|0){g=j[g+4>>2]}else{g=k[g+11|0]}if(!(!g|(a|0)!=(f|0))){a=0;b=j[l>>2];if((b-i|0)>159){break a}a=j[e>>2];j[l>>2]=b+4;j[b>>2]=a;break b}a=-1;f=pe(m,m+26|0,n+15|0)-m|0;if((f|0)>23){break a}d:{e:{switch(b-8|0){case 0:case 2:if((b|0)>(f|0)){break d}break a;case 1:break d;default:break e}}if((b|0)!=16|(f|0)<22){break d}b=j[d>>2];if((b|0)==(c|0)|(b-c|0)>2|k[b-1|0]!=48){break a}a=0;j[e>>2]=0;j[d>>2]=b+1;h[b|0]=k[f+127600|0];break a}a=j[d>>2];j[d>>2]=a+1;h[a|0]=k[f+127600|0];j[e>>2]=j[e>>2]+1;a=0;break a}a=0;j[e>>2]=0}M=n+16|0;return a}function Ac(a,b,c,d,e,f,g,i,l,m){var n=0,o=0;n=M-16|0;M=n;j[n+12>>2]=a;a:{b:{c:{if(j[d>>2]!=(c|0)){break c}o=43;if(j[m+96>>2]!=(a|0)){o=45;if(j[m+100>>2]!=(a|0)){break c}}j[d>>2]=c+1;h[c|0]=o;break b}if(k[g+11|0]>>>7|0){g=j[g+4>>2]}else{g=k[g+11|0]}if(!(!g|(a|0)!=(f|0))){a=0;b=j[l>>2];if((b-i|0)>159){break a}a=j[e>>2];j[l>>2]=b+4;j[b>>2]=a;break b}a=-1;g=me(m,m+104|0,n+12|0)-m|0;if((g|0)>92){break a}f=g>>2;d:{e:{switch(b-8|0){case 0:case 2:if((b|0)>(f|0)){break d}break a;case 1:break d;default:break e}}if((b|0)!=16|(g|0)<88){break d}b=j[d>>2];if((b|0)==(c|0)|(b-c|0)>2|k[b-1|0]!=48){break a}a=0;j[e>>2]=0;j[d>>2]=b+1;h[b|0]=k[f+127600|0];break a}a=j[d>>2];j[d>>2]=a+1;h[a|0]=k[f+127600|0];j[e>>2]=j[e>>2]+1;a=0;break a}a=0;j[e>>2]=0}M=n+16|0;return a}function Eq(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0;d=M-16|0;M=d;wd(a);j[a+52>>2]=0;j[a+56>>2]=0;j[a+40>>2]=0;j[a+32>>2]=0;j[a+36>>2]=0;j[a>>2]=121328;j[a+60>>2]=0;j[a+64>>2]=0;j[a+68>>2]=0;j[a+72>>2]=0;j[a+76>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;j[a+88>>2]=0;h[a+91|0]=0;h[a+92|0]=0;h[a+93|0]=0;h[a+94|0]=0;h[a+95|0]=0;h[a+96|0]=0;h[a+97|0]=0;h[a+98|0]=0;b=d+8|0;e=a+4|0;c=j[e>>2];j[b>>2]=c;j[c+4>>2]=j[c+4>>2]+1;f=Jf(j[b>>2],za(149140));b=j[b>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}if(f){b=j[e>>2];j[d>>2]=b;j[b+4>>2]=j[b+4>>2]+1;g=a,i=Hb(d,149140),j[g+68>>2]=i;b=j[d>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[a+68>>2];g=a,i=O[j[j[b>>2]+28>>2]](b)|0,h[g+98|0]=i}O[j[j[a>>2]+12>>2]](a,0,4096)|0;M=d+16|0}function xn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,k=0,l=0;g=M-32|0;M=g;j[g+24>>2]=b;a:{if(!(j[d+4>>2]&1)){j[g>>2]=-1;b=O[j[j[a>>2]+16>>2]](a,b,c,d,e,g)|0;j[g+24>>2]=b;b:{switch(j[g>>2]){case 0:h[f|0]=0;break a;case 1:h[f|0]=1;break a;default:break b}}h[f|0]=1;j[e>>2]=4;break a}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;i=sb(g);a=j[g>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=Dc(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}O[j[j[a>>2]+24>>2]](g,a);O[j[j[a>>2]+28>>2]](g|12,a);d=g+24|0;k=f,l=(qd(g+24|0,c,g,d,i,e,1)|0)==(g|0),h[k|0]=l;b=j[g+24>>2];while(1){d=Y(d-12|0);if((g|0)!=(d|0)){continue}break}}M=g+32|0;return b|0}function dn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,k=0,l=0;g=M-32|0;M=g;j[g+24>>2]=b;a:{if(!(j[d+4>>2]&1)){j[g>>2]=-1;b=O[j[j[a>>2]+16>>2]](a,b,c,d,e,g)|0;j[g+24>>2]=b;b:{switch(j[g>>2]){case 0:h[f|0]=0;break a;case 1:h[f|0]=1;break a;default:break b}}h[f|0]=1;j[e>>2]=4;break a}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;i=rb(g);a=j[g>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=Bc(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}O[j[j[a>>2]+24>>2]](g,a);O[j[j[a>>2]+28>>2]](g|12,a);d=g+24|0;k=f,l=(pd(g+24|0,c,g,d,i,e,1)|0)==(g|0),h[k|0]=l;b=j[g+24>>2];while(1){d=Y(d-12|0);if((g|0)!=(d|0)){continue}break}}M=g+32|0;return b|0}function fi(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0;c=M-16|0;b=a;j[b>>2]=0;j[b+4>>2]=0;j[b+32>>2]=0;j[b+36>>2]=0;j[b+24>>2]=0;j[b+28>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[b+8>>2]=0;j[b+12>>2]=0;if(!j[37866]){j[37869]=-1;j[37870]=-1;j[37867]=4096;j[37868]=4096;j[37866]=c+12&-16^1431655768;j[37871]=0;j[37859]=0}k=j[37754];if(k){c=151440;h=1;l=j[37751];e=l+40|0;g=e;while(1){f=j[c>>2];b=f+(f+8&7?-8-f&7:0)|0;m=j[c+4>>2]+f|0;while(1){a:{if((b|0)==(k|0)|b>>>0>=m>>>0){break a}d=j[b+4>>2];if((d|0)==7){break a}i=d&-8;d=(d&3)==1;g=(d?i:0)+g|0;e=e+i|0;h=d+h|0;b=b+i|0;if(f>>>0<=b>>>0){continue}}break}c=j[c+8>>2];if(c){continue}break}j[a+4>>2]=h;j[a>>2]=e;b=j[37856];j[a+16>>2]=b-e;c=j[37857];j[a+36>>2]=l;j[a+32>>2]=g;j[a+28>>2]=b-g;j[a+20>>2]=c}}function eq(a,b,c,d,e){var f=0,g=0,i=0,l=0;g=M-32|0;M=g;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;a:{if(!d){break a}b:{c:{if((d|0)>-1){l=d<<1;f=U(l);j[g+16>>2]=f;i=(d<<1)+f|0;j[g+24>>2]=i;d=V(f,c,l);j[g+20>>2]=i;if(d>>>0>=i>>>0){break b}while(1){if(f>>>0>>0){while(1){l=d-f|0;c=l>>31;if((c^c+(l>>1))-2>>>0<=2){c=k[d|0]|k[d+1|0]<<8;i=k[f|0]|k[f+1|0]<<8;h[d|0]=i;h[d+1|0]=i>>>8;h[f|0]=c;h[f+1|0]=c>>>8;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);c=k[d|0]|k[d+1|0]<<8;i=k[f|0]|k[f+1|0]<<8;h[d|0]=i;h[d+1|0]=i>>>8;h[f|0]=c;h[f+1|0]=c>>>8;if(h[g+11|0]<=-1){T(j[g>>2])}i=j[g+20>>2]}f=f+2|0;if(i>>>0>f>>>0){continue}break}}f=j[g+16>>2];d=d+2|0;if(i>>>0>d>>>0){continue}break}break c}X();z()}if(!f){break a}}j[g+20>>2]=f;T(f)}M=g+32|0}function Re(a,b){var c=0,d=0,e=0,f=0,g=0,n=0,o=0;f=j[a+4>>2];a:{if(!f){break a}e=h[b+11|0]<0?j[b>>2]:b;b=h[e|0];b:{if(!b){break b}c=h[e+1|0];if(!c){c=b;break b}c=c|b<<8;b=h[e+2|0];if(!b){break b}c=b|c<<8;b=h[e+3|0];if(!b){break b}c=b|c<<8;b=e+4|0;d=k[b|0];if(!d){break b}while(1){c=Er(c,5)^d<<24>>24;d=k[b+1|0];b=b+1|0;if(d){continue}break}}d=j[f+((c>>>0)%m[a>>2]<<2)>>2];if(!d){break a}while(1){if(!ba(e,d+17|0)){while(1){b=j[d+4>>2];c:{if(!b){break c}c=i[d+2>>1];n=(c<<1)+b|0;if(c){o=l[a+20>>1];while(1){e=c>>>1|0;g=(e<<1)+b|0;f=l[g>>1]>>0;b=f?g+2|0:b;c=f?(e^-1)+c|0:e;if(c){continue}break}}if((b|0)==(n|0)|l[a+20>>1]>1]){break c}i[d+2>>1]=0}d=j[d+12>>2];if(d){continue}break}return 0}d=j[d+8>>2];if(d){continue}break}}return 1}function Gq(a,b,c){var d=0,e=0,f=0,g=0;d=M-32|0;M=d;g=W(c);if(g>>>0<4294967280){a:{b:{if(g>>>0>=11){e=g+16&-16;f=U(e);j[d+8>>2]=e|-2147483648;j[d>>2]=f;j[d+4>>2]=g;e=d;break b}h[d+11|0]=g;e=d;f=d;if(!g){break a}}V(f,c,g)}h[f+g|0]=0;Rh(d+16|0,a,d);if(h[e+11|0]<=-1){T(j[d>>2])}c=j[d+16>>2];e=j[d+20>>2];c:{if((c|0)==(e|0)){a=0;j[b>>2]=0;e=c;break c}a=ja((e-c|0)/12<<2);j[b>>2]=a;f=0;if(!a){a=0;break c}while(1){a=p(f,12)+c|0;if(h[a+11|0]<=-1){a=j[a>>2]}a=cb(a);j[j[b>>2]+(f<<2)>>2]=a;e=j[d+20>>2];c=j[d+16>>2];a=(e-c|0)/12|0;f=f+1|0;if(a>>>0>f>>>0){continue}break}}if(c){if((c|0)==(e|0)){b=c}else{while(1){b=e-12|0;if(h[e-1|0]<=-1){T(j[b>>2])}e=b;if((e|0)!=(c|0)){continue}break}b=j[d+16>>2]}j[d+20>>2]=c;T(b)}M=d+32|0;return a}X();z()}function wb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;h=k[b+11|0];f=h<<24>>24<0;m=j[b+4>>2];g=f?m:h;o=f?j[b>>2]:b;e=k[a+11|0];d=e<<24>>24<0;e=d?j[a+4>>2]:e;n=d?j[a>>2]:a;d=0;while(1){a:{if(g){i=e+n|0;e=d+n|0;d=i-e|0;if((g|0)>(d|0)){break a}l=k[o|0];while(1){d=d-g|0;p=d+1|0;if(p>>>0>>0){break a}d=Aa(e,l,p);if(!d){break a}if(qa(d,o,g)){e=d+1|0;d=i-e|0;if((g|0)<=(d|0)){continue}break a}break}if((d|0)==(i|0)){break a}d=d-n|0}if((d|0)==-1){break a}l=f?m:h;f=k[c+11|0];g=f<<24>>24<0;oc(a,d,l,g?j[c>>2]:c,g?j[c+4>>2]:f);h=k[b+11|0];f=h<<24>>24<0;m=j[b+4>>2];g=f?m:h;o=f?j[b>>2]:b;e=k[a+11|0];i=e<<24>>24<0;n=i?j[a>>2]:a;l=d;d=k[c+11|0];d=l+(d<<24>>24<0?j[c+4>>2]:d)|0;e=i?j[a+4>>2]:e;if(d>>>0<=e>>>0){continue}}break}}function Wb(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{e=j[a>>2];f=(j[a+4>>2]-e|0)/12|0;c=f+1|0;if(c>>>0<357913942){e=(j[a+8>>2]-e|0)/12|0;g=e<<1;c=e>>>0<178956970?c>>>0>g>>>0?c:g:357913941;d=0;d:{if(!c){break d}if(c>>>0>=357913942){break c}d=U(p(c,12))}e=d+p(c,12)|0;d=ha(d+p(f,12)|0,b);f=d+12|0;b=j[a+4>>2];c=j[a>>2];if((b|0)==(c|0)){break b}while(1){b=b-12|0;g=j[b+4>>2];d=d-12|0;j[d>>2]=j[b>>2];j[d+4>>2]=g;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;if((b|0)!=(c|0)){continue}break}j[a+8>>2]=e;b=j[a+4>>2];j[a+4>>2]=f;c=j[a>>2];j[a>>2]=d;if((b|0)==(c|0)){break a}while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((a|0)!=(c|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=e;j[a+4>>2]=f;j[a>>2]=d}if(c){T(c)}}function Ja(a,b,c){var d=0;a:{if((a|0)==(b|0)){break a}if((b-a|0)-c>>>0<=0-(c<<1)>>>0){V(a,b,c);return}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){break b}if(!(a&3)){break c}while(1){if(!c){break a}h[a|0]=k[b|0];b=b+1|0;c=c-1|0;a=a+1|0;if(a&3){continue}break}break c}d:{if(d){break d}if(a+c&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;h[d|0]=k[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;j[c+a>>2]=j[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;h[c+a|0]=k[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){j[a>>2]=j[b>>2];b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){h[a|0]=k[b|0];a=a+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}}function Zp(a,b,c,d){var e=0,f=0,g=0,i=0,k=0,l=0,n=0;e=M-32|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){i=f+16&-16;g=U(i);j[e+24>>2]=i|-2147483648;j[e+16>>2]=g;j[e+20>>2]=f;break b}h[e+27|0]=f;g=e+16|0;if(!f){break a}}V(g,c,f)}i=0;h[f+g|0]=0;l=e,n=C()|0,j[l+12>>2]=n;j[e+8>>2]=100;c:{if(!j[a+24>>2]){break c}d:while(1){f=0;while(1){e:{g=h[e+27|0];f:{if((g|0)<=-1){g=j[e+20>>2];if(g>>>0>>0){break f}c=j[e+16>>2];break e}c=e+16|0;g=g&255;if(g>>>0>=f>>>0){break e}}i=i+1|0;if(i>>>0>2]){continue d}break c}k=c;c=g-f|0;kf(e+16|0,k+c|0,h[j[a+20>>2]+i|0]);wa(a,b,e+16|0,d,e+8|0,e+12|0);if(!j[e+8>>2]){break c}xb(e+16|0,c,1);f=f+1|0;continue}}}if(h[e+27|0]<=-1){T(j[e+16>>2])}M=e+32|0;return}X();z()}function ya(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}f=a+c|0;h[f-1|0]=b;h[a|0]=b;if(c>>>0<3){break a}h[f-2|0]=b;h[a+1|0]=b;h[f-3|0]=b;h[a+2|0]=b;if(c>>>0<7){break a}h[f-4|0]=b;h[a+3|0]=b;if(c>>>0<9){break a}f=0-a&3;e=f+a|0;d=p(b&255,16843009);j[e>>2]=d;b=c-f&-4;c=b+e|0;j[c-4>>2]=d;if(b>>>0<9){break a}j[e+8>>2]=d;j[e+4>>2]=d;j[c-8>>2]=d;j[c-12>>2]=d;if(b>>>0<25){break a}j[e+24>>2]=d;j[e+20>>2]=d;j[e+16>>2]=d;j[e+12>>2]=d;j[c-16>>2]=d;j[c-20>>2]=d;j[c-24>>2]=d;j[c-28>>2]=d;c=b;b=e&4|24;c=c-b|0;if(c>>>0<32){break a}d=Cr(d,0,1,1);f=N;b=b+e|0;while(1){j[b+24>>2]=d;e=f;j[b+28>>2]=e;j[b+16>>2]=d;j[b+20>>2]=e;j[b+8>>2]=d;j[b+12>>2]=e;j[b>>2]=d;j[b+4>>2]=e;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function _q(a,b){var c=0,d=0,e=0,f=0;a:{d=j[b+48>>2];if(d&16){d=j[b+44>>2];c=j[b+24>>2];if(d>>>0>>0){j[b+44>>2]=c;d=c}b=j[b+20>>2];e=d-b|0;if(e>>>0>=4294967280){break a}b:{if(e>>>0<=10){h[a+11|0]=e;break b}f=e+16&-16;c=U(f);j[a+8>>2]=f|-2147483648;j[a>>2]=c;j[a+4>>2]=e;a=c}if((b|0)!=(d|0)){while(1){h[a|0]=k[b|0];a=a+1|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}}h[a|0]=0;return}if(d&8){e=j[b+16>>2];b=j[b+8>>2];c=e-b|0;if(c>>>0>=4294967280){break a}c:{if(c>>>0<=10){h[a+11|0]=c;break c}f=c+16&-16;d=U(f);j[a+8>>2]=f|-2147483648;j[a>>2]=d;j[a+4>>2]=c;a=d}if((b|0)!=(e|0)){while(1){h[a|0]=k[b|0];a=a+1|0;b=b+1|0;if((e|0)!=(b|0)){continue}break}}h[a|0]=0;return}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;return}X();z()}function Xg(a,b,c,d,e,f){var g=0;g=M-80|0;M=g;a:{if((f|0)>=16384){xa(g+32|0,b,c,d,e,0,0,0,2147352576);d=j[g+40>>2];e=j[g+44>>2];b=j[g+32>>2];c=j[g+36>>2];if((f|0)<32767){f=f-16383|0;break a}xa(g+16|0,b,c,d,e,0,0,0,2147352576);f=((f|0)<49149?f:49149)-32766|0;d=j[g+24>>2];e=j[g+28>>2];b=j[g+16>>2];c=j[g+20>>2];break a}if((f|0)>-16383){break a}xa(g- -64|0,b,c,d,e,0,0,0,65536);d=j[g+72>>2];e=j[g+76>>2];b=j[g+64>>2];c=j[g+68>>2];if((f|0)>-32765){f=f+16382|0;break a}xa(g+48|0,b,c,d,e,0,0,0,65536);f=((f|0)>-49146?f:-49146)+32764|0;d=j[g+56>>2];e=j[g+60>>2];b=j[g+48>>2];c=j[g+52>>2]}xa(g,b,c,d,e,0,0,0,f+16383<<16);b=j[g+12>>2];j[a+8>>2]=j[g+8>>2];j[a+12>>2]=b;b=j[g+4>>2];j[a>>2]=j[g>>2];j[a+4>>2]=b;M=g+80|0}function Vp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0;e=M-32|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){i=f+16&-16;g=U(i);j[e+24>>2]=i|-2147483648;j[e+16>>2]=g;j[e+20>>2]=f;break b}h[e+27|0]=f;g=e+16|0;if(!f){break a}}V(g,c,f)}h[f+g|0]=0;m=e,n=C()|0,j[m+12>>2]=n;j[e+8>>2]=100;g=j[a+24>>2];c:{if(!g){break c}f=0;while(1){c=k[e+27|0];i=c<<24>>24<0;l=j[e+16>>2];c=i?l+j[e+20>>2]|0:c+(e+16|0)|0;i=i?l:e+16|0;if((c|0)!=(i|0)){while(1){g=k[j[a+20>>2]+f|0];c=c-1|0;l=k[c|0];if((g|0)!=(l|0)){h[c|0]=g;wa(a,b,e+16|0,d,e+8|0,e+12|0);if(!j[e+8>>2]){break c}h[c|0]=l}if((c|0)!=(i|0)){continue}break}g=j[a+24>>2]}f=f+1|0;if(g>>>0>f>>>0){continue}break}}if(h[e+27|0]<=-1){T(j[e+16>>2])}M=e+32|0;return}X();z()}function ph(a,b,c,d){a:{if(b>>>0>20){break a}b:{switch(b-9|0){case 0:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=j[b>>2];return;case 1:b=j[c>>2];j[c>>2]=b+4;b=j[b>>2];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 2:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=j[b>>2];j[a+4>>2]=0;return;case 3:b=j[c>>2]+7&-8;j[c>>2]=b+8;c=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=c;return;case 4:b=j[c>>2];j[c>>2]=b+4;b=i[b>>1];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 5:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=l[b>>1];j[a+4>>2]=0;return;case 6:b=j[c>>2];j[c>>2]=b+4;b=h[b|0];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 7:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=k[b|0];j[a+4>>2]=0;return;case 8:b=j[c>>2]+7&-8;j[c>>2]=b+8;o[a>>3]=o[b>>3];return;case 9:break b;default:break a}}O[d|0](a,c)}}function xf(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0;g=M-32|0;M=g;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;i=h[b+15|0];f=j[b+8>>2];a:{if((i|0)<=-1){break a}f=i&255}i=d-f|0;b:{if(!j[j[b+64>>2]+4484>>2]|i?(i|0)<=0:0){break b}l=k[b+28|0];d=h[b+27|0];f=j[b+20>>2];c:{if((d|0)<=-1){break c}f=d&255}if(l>>>0>f+i>>>0){break b}d=ha(g+16|0,b+16|0);f=d;l=c;c=h[b+15|0];m=j[b+8>>2];d:{if((c|0)<=-1){break d}m=c&255}$(f,l+m|0);e:{if(!Vc(b,h[d+11|0]<0?j[d>>2]:g+16|0)){break e}c=h[b+27|0];f=j[b+20>>2];f:{if((c|0)<=-1){break f}f=c&255}c=f;if(!(h[b+29|0]&1)){break e}Hf(g,j[b+64>>2],h[d+11|0]<0?j[d>>2]:g+16|0,c+i|0,1,b,e);j[a+8>>2]=j[g+8>>2];b=j[g+4>>2];j[a>>2]=j[g>>2];j[a+4>>2]=b}if(h[d+11|0]>-1){break b}T(j[d>>2])}M=g+32|0}function mc(a,b){var c=0,d=0,e=0;c=M-32|0;M=c;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;a:{if(!b){break a}e=60;b:{c:{d=k[b|0];switch(d-34|0){case 28:break b;case 0:case 5:break c;default:break a}}e=d}d=k[b+1|0];d:{if(!d|(d|0)==(e|0)){break d}b=b+1|0;while(1){Z(a,d<<24>>24);d=k[b+1|0];if(!d){break d}b=b+1|0;if((d|0)!=(e|0)){continue}break}}h[c+20|0]=0;j[c+16>>2]=997485606;h[c+27|0]=4;i[c>>1]=60;h[c+11|0]=1;wb(a,c+16|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}if(h[c+27|0]<=-1){T(j[c+16>>2])}h[c+27|0]=5;h[c+21|0]=0;j[c+16>>2]=k[121142]|k[121143]<<8|(k[121144]<<16|k[121145]<<24);h[c+20|0]=k[121146];i[c>>1]=38;h[c+11|0]=1;wb(a,c+16|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}if(h[c+27|0]>-1){break a}T(j[c+16>>2])}M=c+32|0}function kr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0;if((b|0)==-1){return 0}i=j[a+8>>2];l=j[a+12>>2];m=a;f=j[a+24>>2];g=j[a+28>>2];c=j[a+44>>2];a:{b:{if((f|0)!=(g|0)){break b}c=-1;if(!(k[a+48|0]&16)){break a}c=j[a+44>>2];e=j[a+20>>2];d=a+32|0;Z(d,0);n=c-e|0;e=f-e|0;Wa(d,h[a+43|0]<=-1?(j[a+40>>2]&2147483647)-1|0:10);c=h[d+11|0];c:{if((c|0)<=-1){d=j[a+32>>2];c=j[a+36>>2];break c}c=c&255}j[a+20>>2]=d;g=d+c|0;j[a+28>>2]=g;f=d+e|0;j[a+24>>2]=f;c=d+n|0}e=f+1|0;c=c>>>0>e>>>0?c:e;j[m+44>>2]=c;if(k[a+48|0]&8){d=a+32|0;d=h[a+43|0]<=-1?j[d>>2]:d;j[a+16>>2]=c;j[a+8>>2]=d;j[a+12>>2]=(l-i|0)+d}if((f|0)==(g|0)){return O[j[j[a>>2]+52>>2]](a,b&255)|0}j[a+24>>2]=e;h[f|0]=b;c=b&255}return c|0}function Dh(a){var b=0,c=0,d=0,e=0;d=M-16|0;M=d;b=j[a>>2];a=W(b);if(a>>>0<4294967280){a:{b:{if(a>>>0>=11){e=a+16&-16;c=U(e);j[d+8>>2]=e|-2147483648;j[d>>2]=c;j[d+4>>2]=a;break b}h[d+11|0]=a;c=d;if(!a){break a}}V(c,b,a)}h[a+c|0]=0;b=Hc(148800,d);c:{if((b|0)==148804){break c}a=j[b+4>>2];d:{if(!a){c=j[b+8>>2];if((b|0)==j[c>>2]){break d}a=b+8|0;while(1){e=j[a>>2];a=e+8|0;c=j[e+8>>2];if((e|0)!=j[c>>2]){continue}break}break d}while(1){c=a;a=j[a>>2];if(a){continue}break}}if((b|0)==j[37200]){j[37200]=c}a=j[b+28>>2];j[37202]=j[37202]-1;Ch(j[37201],b);if(h[b+27|0]<=-1){T(j[b+16>>2])}T(b);if(!a){break c}c=j[a>>2];if(c){T(c);j[a>>2]=0}T(a)}if(h[d+11|0]<=-1){T(j[d>>2])}M=d+16|0;return}X();z()}function wl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0;a=M-448|0;M=a;j[a+432>>2]=c;j[a+440>>2]=b;j[a+20>>2]=78;b=Da(a+24|0,a+32|0,a+20|0);i=j[e+28>>2];j[a+16>>2]=i;j[i+4>>2]=j[i+4>>2]+1;i=rb(a+16|0);h[a+15|0]=0;if($f(a+440|0,c,d,a+16|0,j[e+4>>2],f,a+15|0,i,b,a+20|0,a+432|0)){vl(g);if(k[a+15|0]){bd(g,O[j[j[i>>2]+44>>2]](i,45)|0)}c=O[j[j[i>>2]+44>>2]](i,48)|0;e=j[b>>2];d=j[a+20>>2];i=d-4|0;while(1){if(!((c|0)!=j[e>>2]|e>>>0>=i>>>0)){e=e+4|0;continue}break}ul(g,e,d)}if(Ra(a+440|0,a+432|0)){j[f>>2]=j[f>>2]|2}e=j[a+440>>2];c=j[a+16>>2];d=j[c+4>>2]-1|0;j[c+4>>2]=d;if((d|0)==-1){O[j[j[c>>2]+8>>2]](c)}c=j[b>>2];j[b>>2]=0;if(c){O[j[b+4>>2]](c)}M=a+448|0;return e|0}function Ln(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0;f=M-272|0;M=f;g=j[b>>2];j[f+12>>2]=g;h=a?a:f+16|0;a:{b:{c:{d=a?d:256;if(!d|!g){break c}e=c>>>0>=d>>>0;if(!(e|c>>>0>32)){break b}while(1){e=e?d:c;c=c-e|0;e=Mn(h,f+12|0,e);if((e|0)==-1){d=0;g=j[f+12>>2];k=-1;break c}i=(f+16|0)==(h|0);h=i?h:e+h|0;k=e+k|0;d=d-(i?0:e)|0;g=j[f+12>>2];if(!d|!g){break c}e=c>>>0>=d>>>0;if(e|c>>>0>=33){continue}break}break b}if(!g){break a}}if(!d|!c){break a}e=k;while(1){d:{i=tc(h,j[g>>2]);e:{if(i+1>>>0<=1){k=-1;if(i){break a}j[f+12>>2]=0;break e}g=j[f+12>>2]+4|0;j[f+12>>2]=g;e=e+i|0;d=d-i|0;if(d){break d}}k=e;break a}h=h+i|0;k=e;c=c-1|0;if(c){continue}break}}if(a){j[b>>2]=j[f+12>>2]}M=f+272|0;return k}function Up(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;f=M-32|0;M=f;a:{if(!(!j[a+44>>2]|(d|0)<5)){p=(d<<1)+c|0;l=2;while(1){i=g;g=0;m=(l<<1)+c|0;o=k[m|0]|k[m+1|0]<<8;n=m-4|0;n=k[n|0]|k[n+1|0]<<8;b:{if((o&255)!=(n&255)|(o>>>8|0)!=(n>>>8|0)){break b}g=i+1|0;if((g|0)!=2|l>>>0<4?(g|0)!=3:0){break b}i=0;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;g=(m-c|0)-2|0;if(g){if((g|0)<=-1){break a}i=U(g);j[f+16>>2]=i;j[f+24>>2]=i+(g>>1<<1);i=V(i,c,g)+g|0;j[f+20>>2]=i}Rp(f+16|0,i,m+2|0,p);j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;da(f,f+16|0);wa(a,b,f,e,0,0);if(h[f+11|0]<=-1){T(j[f>>2])}g=j[f+16>>2];if(g){j[f+20>>2]=g;T(g)}g=0}l=l+1|0;if((l|0)!=(d|0)){continue}break}}M=f+32|0;return}X();z()}function Nc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;if(!b){return 0}h=k[a+11|0];m=h<<24>>24;e=(m|0)<0;a:{f=j[a+4>>2];c=e?f:h;if(!c){break a}e=e?j[a>>2]:a;n=c&1;b:{if((c|0)==1){c=0;a=e;break b}d=c&-2;c=0;a=e;while(1){i=p(k[a|0],3)+b|0;l=p(k[a+1|0],3)+b|0;g=((k[i+2|0]==k[i+1|0])+g|0)+(k[l+2|0]==k[l+1|0])|0;c=((k[i|0]!=0)+c|0)+(k[l|0]!=0)|0;a=a+2|0;d=d-2|0;if(d){continue}break}}if(n){a=p(k[a|0],3)+b|0;g=(k[a+2|0]==k[a+1|0])+g|0;c=(k[a|0]!=0)+c|0}if(!c){return 0}d=1;a=k[p(k[e|0],3)+b|0];if(a?(c|0)==1:0){break a}c:{if((m|0)<=-1){d=2;if((c|0)!=(f|0)){break c}break a}d=2;f=h;if((f|0)==(c|0)){break a}}if((c+g|0)==(f|0)){break a}return c>>>0>1?a?4:3:3}return d}function wa(a,b,c,d,e,f){var g=0,h=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;a:{q=j[b>>2];i=j[b+4>>2]-q|0;g=(i|0)/12|0;if((g|0)==j[a+48>>2]){break a}if(i){r=g>>>0>1?g:1;g=k[c+11|0];h=g<<24>>24<0;i=h?j[c>>2]:c;m=h?j[c+4>>2]:g;while(1){h=p(o,12)+q|0;l=k[h+11|0];g=l<<24>>24<0;b:{if(((g?j[h+4>>2]:l)|0)!=(m|0)){break b}n=j[h>>2];if(!g){if(!m){break a}g=i;if(k[g|0]!=(n&255)){break b}while(1){l=l-1|0;if(!l){break a}n=k[g+1|0];g=g+1|0;h=h+1|0;if((n|0)==k[h|0]){continue}break}break b}if(!m){break a}if(!qa(g?n:h,i,m)){break a}}o=o+1|0;if((r|0)!=(o|0)){continue}break}}if(!cc(a,c,d,e,f)){break a}a=j[b+4>>2];if((a|0)!=j[b+8>>2]){s=b,t=ha(a,c)+12|0,j[s+4>>2]=t;return}Wb(b,c)}}function pn(a,b){var c=0,d=0,e=0;c=b+68|0;ua(c,b+4|0);Va(c);d=b+68|0;if(h[b+79|0]<=-1){c=j[d>>2]}else{c=d}e=((k[b+30|0]<<2)+a|0)+3072|0;j[b+92>>2]=j[e>>2];j[e>>2]=b;a:{if(!k[c|0]){j[b+80>>2]=j[a+1024>>2];a=a+1024|0;break a}j[b+84>>2]=0;j[b+88>>2]=0;a=((k[c|0]<<2)+a|0)+1024|0;c=j[a>>2];if(!c){break a}b:{c:{if(h[d+11|0]>-1){while(1){a=c;c=a+68|0;e=d;if(h[a+79|0]<=-1){c=j[c>>2]}if((ba(e,c)|0)<=0){c=j[a+84>>2];if(c){continue}break c}c=j[a+88>>2];if(c){continue}break b}}d=j[d>>2];while(1){a=c;c=a+68|0;e=d;if(h[a+79|0]<0){c=j[c>>2]}if((ba(e,c)|0)>=1){c=j[a+88>>2];if(c){continue}break b}c=j[a+84>>2];if(c){continue}break}}a=a+84|0;break a}a=a+88|0}j[a>>2]=b}function pa(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,n=0;a:{c=j[a+112>>2];d=j[a+116>>2];b:{if(c|d){b=c>>>0<=m[a+120>>2];c=j[a+124>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?b:0){break b}}g=ao(a);if((g|0)>-1){break a}}j[a+104>>2]=0;return-1}i=a;b=j[a+116>>2];l=b;d=j[a+8>>2];c=d;f=j[a+112>>2];c:{if(!(b|f)){break c}c=d;e=j[a+120>>2]^-1;f=e+f|0;b=(j[a+124>>2]^-1)+l|0;b=f>>>0>>0?b+1|0:b;l=j[a+4>>2];e=d-l|0;n=f>>>0>=e>>>0;e=e>>31;if((b|0)>(e|0)?1:(e|0)<=(b|0)?n:0){break c}c=f+l|0}j[i+104>>2]=c;i=j[a+4>>2];if(d){c=a;b=(d-i|0)+1|0;d=b+j[a+120>>2]|0;a=j[a+124>>2]+(b>>31)|0;j[c+120>>2]=d;j[c+124>>2]=d>>>0>>0?a+1|0:a}a=i-1|0;if(k[a|0]!=(g|0)){h[a|0]=g}return g}function nf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0;f=M-16|0;M=f;c=1;a:{b:{switch(b-a>>1){case 2:b=b-2|0;if(l[b>>1]>=l[a>>1]){break a}$a(a,b);break a;case 3:wc(a,a+2|0,b-2|0);break a;case 4:_d(a,a+2|0,a+4|0,b-2|0);break a;case 5:Zd(a,a+2|0,a+4|0,a+6|0,b-2|0);break a;case 0:case 1:break a;default:break b}}e=a+4|0;wc(a,a+2|0,e);d=a+6|0;c:{while(1){g=(b|0)==(d|0);if(g){break c}d:{if(l[d>>1]>1]){i[f+14>>1]=l[d>>1];h=d;while(1){e:{c=e;i[h>>1]=l[c>>1];if((a|0)==(c|0)){c=a;break e}h=c;e=c-2|0;if(l[f+14>>1]>1]){continue}}break}i[c>>1]=l[f+14>>1];j=j+1|0;if((j|0)==8){break d}}e=d;d=d+2|0;continue}break}c=(d+2|0)==(b|0)}c=c|g}M=f+16|0;return c&1}function qc(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0;j=1;i=d&2147483647;m=i;k=c;a:{if(!c&(i|0)==2147418112?a|b:(i|0)==2147418112&(c|0)!=0|i>>>0>2147418112){break a}l=h&2147483647;n=l;i=g;if(!g&(l|0)==2147418112?e|f:(l|0)==2147418112&(g|0)!=0|l>>>0>2147418112){break a}if(!(a|e|(i|k)|(b|f|(m|n)))){return 0}k=d&h;if((k|0)>0?1:(k|0)>=0){j=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>>0|b>>>0>>0:(d|0)<(h|0)?1:(d|0)<=(h|0)?c>>>0>>0:0){break a}return(a^e|c^g)!=0|(b^f|d^h)!=0}j=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>e>>>0|b>>>0>f>>>0:(d|0)>(h|0)?1:(d|0)>=(h|0)?c>>>0>g>>>0:0){break a}j=(a^e|c^g)!=0|(b^f|d^h)!=0}return j}function Ki(a,b){var c=0,d=0,e=0,f=0;c=a+32|0;ua(c,b);j[a+44>>2]=0;d=j[a+48>>2];if(d&8){f=a;e=h[c+11|0];a:{if((e|0)<=-1){b=j[a+32>>2];e=b+j[a+36>>2]|0;break a}b=c;e=(e&255)+b|0}j[f+16>>2]=e;j[a+12>>2]=b;j[a+8>>2]=b;j[a+44>>2]=e}b:{if(!(d&16)){break b}d=c;b=h[c+11|0];c:{if((b|0)>=0){b=b&255;j[a+44>>2]=c+b;e=10;break c}b=j[a+36>>2];j[a+44>>2]=b+j[a+32>>2];e=(j[a+40>>2]&2147483647)-1|0}Wa(d,e);d=h[c+11|0];d:{if((d|0)<=-1){c=j[a+32>>2];d=j[a+36>>2];break d}d=d&255}j[a+20>>2]=c;j[a+24>>2]=c;j[a+28>>2]=c+d;if(!(k[a+48|0]&3)){break b}e:{if((b|0)<=-1){b=b-2147483647|0;d=(b|0)<0;c=d?c-2|0:c+2147483647|0;b=d?1:b;break e}if(!b){break b}}j[a+24>>2]=b+c}}function rd(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0;i=M-16|0;M=i;f=d?d:148904;d=j[f>>2];a:{b:{c:{if(!b){if(d){break c}break a}e=-2;if(!c){break a}l=a?a:i+12|0;d:{if(d){a=c;break d}a=k[b|0];d=a<<24>>24;if((d|0)>=0){j[l>>2]=a;e=(d|0)!=0;break a}a=h[b|0];if(!j[j[37179]>>2]){j[l>>2]=a&57343;e=1;break a}a=(a&255)-194|0;if(a>>>0>50){break c}d=j[(a<<2)+123312>>2];a=c-1|0;if(!a){break b}b=b+1|0}g=k[b|0];m=g>>>3|0;if((m-16|(d>>26)+m)>>>0>7){break c}while(1){a=a-1|0;d=g-128|d<<6;if((d|0)>=0){j[f>>2]=0;j[l>>2]=d;e=c-a|0;break a}if(!a){break b}b=b+1|0;g=k[b|0];if((g&192)==128){continue}break}}j[f>>2]=0;j[37203]=25;e=-1;break a}j[f>>2]=d}M=i+16|0;return e}function Qb(a,b,c,d,e){var f=0,g=0,h=0,i=0;g=M-16|0;M=g;j[g+8>>2]=b;a:{if(Ra(a,g+8|0)){j[c>>2]=j[c>>2]|6;b=0;break a}h=d;b=j[a>>2];f=j[b+12>>2];b:{if((f|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break b}b=j[f>>2]}if(!(O[j[j[d>>2]+12>>2]](h,2048,b)|0)){j[c>>2]=j[c>>2]|4;b=0;break a}b=O[j[j[d>>2]+52>>2]](d,b,0)|0;while(1){c:{Na(a);b=b-48|0;if(!kb(a,g+8|0)|(e|0)<2){break c}h=d;f=j[a>>2];i=j[f+12>>2];d:{if((i|0)==j[f+16>>2]){f=O[j[j[f>>2]+36>>2]](f)|0;break d}f=j[i>>2]}if(!(O[j[j[d>>2]+12>>2]](h,2048,f)|0)){break a}e=e-1|0;b=(O[j[j[d>>2]+52>>2]](d,f,0)|0)+p(b,10)|0;continue}break}if(!Ra(a,g+8|0)){break a}j[c>>2]=j[c>>2]|2}M=g+16|0;return b}function Lf(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;g=M-16|0;M=g;f=h[a+15|0];e=j[a+8>>2];a:{if((f|0)<=-1){break a}e=f&255}f=c-e|0;b:{c:{if(!j[j[a+64>>2]+4484>>2]|f?(f|0)<=0:0){break c}i=k[a+28|0];c=h[a+27|0];e=j[a+20>>2];d:{if((c|0)<=-1){break d}e=c&255}if(i>>>0>e+f>>>0){break c}c=ha(g,a+16|0);e=c;i=b;b=h[a+15|0];l=j[a+8>>2];e:{if((b|0)<=-1){break e}l=b&255}$(e,i+l|0);f:{g:{if(!Vc(a,h[c+11|0]<0?j[c>>2]:g)){break g}b=h[a+27|0];e=j[a+20>>2];h:{if((b|0)<=-1){break h}e=b&255}b=e;if(!(h[a+29|0]&1)){break g}a=eb(j[a+64>>2],h[c+11|0]<0?j[c>>2]:g,b+f|0,1,a,d);b=0;if(a){break f}}a=0;b=1}if(h[c+11|0]<=-1){T(j[c>>2])}if(!b){break b}}a=0}M=g+16|0;return a}function Sp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=M-16|0;M=f;a:{e=W(c);if(!((e|0)<5|!j[a+44>>2])){p=e-2|0;q=c+e|0;r=c^-1;m=1;i=2;e=0;while(1){g=e;n=n+1|0;e=0;l=c+i|0;b:{if(k[l|0]!=k[l-2|0]){break b}e=g+1|0;if((e|0)!=2|i>>>0<4?(e|0)!=3:0){break b}g=l+r|0;if(g>>>0>=4294967280){break a}c:{if(g>>>0<=10){h[f+11|0]=g;e=f;break c}o=g+16&-16;e=U(o);j[f+8>>2]=o|-2147483648;j[f>>2]=e;j[f+4>>2]=g}s=V(e,c,n)+m|0,t=0,h[s|0]=t;e=k[f+11|0];g=e<<24>>24<0;Jh(f,(g?j[f>>2]:f)+(g?j[f+4>>2]:e)|0,l+1|0,q);wa(a,b,f,d,0,0);if(h[f+11|0]<=-1){T(j[f>>2])}e=0}m=m+1|0;i=i+1|0;if((n|0)!=(p|0)){continue}break}}M=f+16|0;return}X();z()}function of(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,j=0;f=M-16|0;M=f;c=1;a:{b:{switch(b-a|0){case 2:b=b-1|0;if(h[b|0]>=h[a|0]){break a}Xa(a,b);break a;case 3:xc(a,a+1|0,b-1|0);break a;case 4:ae(a,a+1|0,a+2|0,b-1|0);break a;case 5:$d(a,a+1|0,a+2|0,a+3|0,b-1|0);break a;case 0:case 1:break a;default:break b}}e=a+2|0;xc(a,a+1|0,e);d=a+3|0;c:{while(1){g=(b|0)==(d|0);if(g){break c}d:{if(h[d|0]>2];b=(d>>>0)/341|0;c=j[a+4>>2];f=j[a+8>>2];a:{if((c|0)==(f|0)){g=a+20|0;break a}g=a+20|0;e=(b<<2)+c|0;b=j[e>>2]+p(d-p(b,341)|0,12)|0;d=d+j[a+20>>2]|0;i=(d>>>0)/341|0;d=j[(i<<2)+c>>2]+p(d-p(i,341)|0,12)|0;if((b|0)==(d|0)){break a}while(1){if(h[b+11|0]<=-1){T(j[b>>2])}b=b+12|0;if((b-j[e>>2]|0)==4092){b=j[e+4>>2];e=e+4|0}if((b|0)!=(d|0)){continue}break}c=j[a+4>>2];f=j[a+8>>2]}j[g>>2]=0;b=f-c>>2;if(b>>>0>2){while(1){T(j[c>>2]);c=j[a+4>>2]+4|0;j[a+4>>2]=c;b=j[a+8>>2]-c>>2;if(b>>>0>2){continue}break}}c=170;b:{switch(b-1|0){case 1:c=341;case 0:j[a+16>>2]=c;break;default:break b}}}function ro(a,b){var c=0,d=0,e=0,f=0;a:{d=j[a>>2];if((j[a+8>>2]-d|0)/12>>>0>=b>>>0){break a}b:{c:{if(b>>>0<357913942){c=j[a+4>>2];e=p(b,12);b=U(e);f=b+e|0;e=b+p((c-d|0)/12|0,12)|0;if((c|0)==(d|0)){break c}b=e;while(1){b=b-12|0;j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;c=c-12|0;j[b>>2]=j[c>>2];j[b+4>>2]=j[c+4>>2];j[b+8>>2]=j[c+8>>2];j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;if((c|0)!=(d|0)){continue}break}j[a+8>>2]=f;c=j[a+4>>2];j[a+4>>2]=e;d=j[a>>2];j[a>>2]=b;if((c|0)==(d|0)){break b}while(1){a=c-12|0;b=j[a>>2];if(b){j[c-8>>2]=b;T(b)}c=a;if((d|0)!=(c|0)){continue}break}break b}D();z()}j[a+8>>2]=f;j[a+4>>2]=e;j[a>>2]=e}if(!d){break a}T(d)}}function Ep(a){var b=0,c=0,d=0,e=0;b=j[a>>2];e=a+4|0;if((b|0)!=(e|0)){while(1){d=b;Me(j[b+28>>2]);c=j[b+4>>2];a:{if(!c){b=j[d+8>>2];if((d|0)==j[b>>2]){break a}c=d+8|0;while(1){d=j[c>>2];c=d+8|0;b=j[d+8>>2];if((d|0)!=j[b>>2]){continue}break}break a}while(1){b=c;c=j[b>>2];if(c){continue}break}}if((b|0)!=(e|0)){continue}break}}Cd(a,j[a+4>>2]);j[a>>2]=e;j[a+4>>2]=0;j[a+8>>2]=0;kp(a+12|0);c=j[a+16>>2];b=j[a+20>>2];b:{if((c|0)==(b|0)){break b}while(1){T(j[c>>2]);c=c+4|0;if((b|0)!=(c|0)){continue}break}b=j[a+20>>2];c=j[a+16>>2];if((b|0)==(c|0)){break b}j[a+20>>2]=b+(((b-c|0)-4>>>2^-1)<<2)}b=j[a+12>>2];if(b){T(b)}Cd(a,j[a+4>>2])}function $p(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0;e=M-16|0;M=e;a:{f=W(c);if(f>>>0<4294967280){b:{c:{if(f>>>0>=11){i=f+16&-16;g=U(i);j[e+8>>2]=i|-2147483648;j[e>>2]=g;j[e+4>>2]=f;i=e;break c}h[e+11|0]=f;i=e;g=e;if(!f){break b}}V(g,c,f)}h[f+g|0]=0;c=k[i+11|0];g=c<<24>>24;if(((g|0)<0?j[e+4>>2]:c)>>>0<2){break a}f=0;while(1){d:{if(g<<24>>24<=-1){l=j[e+4>>2];if(l>>>0<=f>>>0){break a}c=j[e>>2];l=l+(f^-1)|0;g=c+l|0;break d}c=g&255;if(c>>>0<=f>>>0){break a}l=c+(f^-1)|0;g=l+e|0;c=e}m=h[g|0];xb(e,g-c|0,1);wa(a,b,e,d,0,0);kf(e,(h[i+11|0]<0?j[e>>2]:e)+l|0,m);f=f+1|0;g=k[i+11|0];continue}}X();z()}if(g<<24>>24<=-1){T(j[e>>2])}M=e+16|0}function wq(a,b){a=a|0;b=b|0;var c=0;O[j[j[a>>2]+24>>2]](a)|0;b=Hb(b,149140);j[a+68>>2]=b;c=k[a+98|0];b=O[j[j[b>>2]+28>>2]](b)|0;h[a+98|0]=b;if((b|0)!=(c|0)){j[a+8>>2]=0;j[a+12>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;c=k[a+96|0];if(b){a:{if(!c){break a}b=j[a+32>>2];if(!b){break a}T(b)}h[a+96|0]=k[a+97|0];j[a+52>>2]=j[a+60>>2];b=j[a+56>>2];j[a+56>>2]=0;j[a+60>>2]=0;j[a+32>>2]=b;h[a+97|0]=0;return}b:{if(c){break b}b=j[a+32>>2];if((b|0)==(a+44|0)){break b}h[a+97|0]=0;j[a+56>>2]=b;b=j[a+52>>2];j[a+60>>2]=b;b=U(b);h[a+96|0]=1;j[a+32>>2]=b;return}b=j[a+52>>2];j[a+60>>2]=b;b=U(b);h[a+97|0]=1;j[a+56>>2]=b}}function rp(a,b,c){var d=0,e=0,f=0;e=j[c>>2]+4|0;a:{b:{f=j[a+4>>2];c:{if(!f){d=e>>>0>1e3?e:1e3;j[a+8>>2]=d;d=ja(d);j[a+16>>2]=0;j[a+4>>2]=d;break c}d=j[a+8>>2];e=e+j[a+16>>2]|0;if(d>>>0>=e>>>0){break b}while(1){d=d<<1;if(e>>>0>d>>>0){continue}break}j[a+8>>2]=d;d=vc(f,d);if(d){j[a+4>>2]=d;d=d+j[a+16>>2]|0;break c}d=ja(j[a+8>>2]);e=j[a+4>>2];d=V(d,e,j[a+16>>2]);T(e);j[a+4>>2]=d;d=d+j[a+16>>2]|0}j[a+12>>2]=d;break a}d=j[a+12>>2]}e=j[c>>2];h[d|0]=e;h[d+1|0]=e>>>8;h[d+2|0]=e>>>16;h[d+3|0]=e>>>24;d=j[a+12>>2]+4|0;j[a+12>>2]=d;j[a+16>>2]=j[a+16>>2]+4;V(d,b,j[c>>2]);b=j[c>>2];j[a+12>>2]=b+j[a+12>>2];j[a+16>>2]=b+j[a+16>>2]}function Xc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;h=j[c+4>>2];d=j[c>>2];i=h-d|0;l=i>>1;m=j[b+4>>2];e=j[b>>2];n=m-e|0;o=n>>1;if(!j[a+76>>2]){f=(d|0)!=(h|0)?k[d|0]|k[d+1|0]<<8:f;g=(e|0)!=(m|0)?k[e|0]|k[e+1|0]<<8:g;a:{if((f|0)!=(g|0)){d=0;if((Xe(f,j[a+60>>2])|0)!=(g|0)){break a}}d=1;if((n|0)<3|(i|0)<3){break a}a=j[c>>2];b=j[b>>2];while(1){c=d<<1;e=c+b|0;c=a+c|0;if(k[e|0]!=k[c|0]|k[e+1|0]!=k[c+1|0]){break a}d=d+1|0;if((o|0)<=(d|0)){break a}if((d|0)<(l|0)){continue}break}}return d}a=((o<<1)+e|0)-2|0;a=k[a|0]|k[a+1|0]<<8;b=(d+(l<<1)|0)-2|0;b=k[b|0]|k[b+1|0]<<8;return(a&255)==(b&255)&(a>>>8|0)==(b>>>8|0)}function rh(a,b,c,d,e){var f=0,g=0,i=0;f=M-208|0;M=f;j[f+204>>2]=c;ya(f+160|0,0,40);j[f+200>>2]=j[f+204>>2];a:{if((Ce(0,b,f+200|0,f+80|0,f+160|0,d,e)|0)<0){b=-1;break a}g=j[a+76>>2]>=0;c=j[a>>2];if(h[a+74|0]<=0){j[a>>2]=c&-33}i=c&32;b:{if(j[a+48>>2]){b=Ce(a,b,f+200|0,f+80|0,f+160|0,d,e);break b}j[a+48>>2]=80;j[a+16>>2]=f+80;j[a+28>>2]=f;j[a+20>>2]=f;c=j[a+44>>2];j[a+44>>2]=f;d=Ce(a,b,f+200|0,f+80|0,f+160|0,d,e);b=d;if(!c){break b}O[j[a+36>>2]](a,0,0)|0;j[a+48>>2]=0;j[a+44>>2]=c;j[a+28>>2]=0;j[a+16>>2]=0;b=j[a+20>>2];j[a+20>>2]=0;b=b?d:-1}c=a;a=j[a>>2];j[c>>2]=a|i;b=a&32?-1:b;if(!g){break a}}M=f+208|0;return b}function Pe(a,b,c,d,e,f){var g=0,i=0,l=0,m=0,n=0;g=M-16|0;M=g;a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}j[c+4>>2]=j[c>>2];j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;Sh(a,g,d);d=h[g+11|0]<0?j[g>>2]:g;while(1){l=d;d=d+1|0;if(k[l|0]==32){continue}break}j[f>>2]=0;m=e;d=W(l);e=0;b:{if((d|0)<1){break b}e=l-1|0;c:{while(1){if(k[d+e|0]!=46){break c}i=i+1|0;j[f>>2]=i;n=(d|0)>1;d=d-1|0;if(n){continue}break}i=0;e=0;break b}aa(b,l,d);d=k[b+11|0];i=d<<24>>24<0?j[b+4>>2]:d;if(j[a+44>>2]){ia(c,b);e=Mc(c,j[a+40>>2]);break b}e=Nc(b,j[a+36>>2])}j[m>>2]=e;if(h[g+11|0]<=-1){T(j[g>>2])}M=g+16|0;return i}function id(a,b,c){var d=0,e=0,f=0,g=0;d=M-16|0;M=d;e=0;a:{if((c|0)<3){break a}b:{f=W(b);if(f>>>0<4294967280){c:{d:{if(f>>>0>=11){c=f+16&-16;e=U(c);j[d+8>>2]=c|-2147483648;j[d>>2]=e;j[d+4>>2]=f;c=d;break d}h[d+11|0]=f;c=d;e=d;if(!f){break c}}V(e,b,f)}h[e+f|0]=0;e=1;while(1){f=h[c+11|0];e:{if((f|0)<=-1){if(m[d+4>>2]>e>>>0){break e}T(j[d>>2]);break b}if((f&255)>>>0<=e>>>0){break b}}f:{if(!((k[b+e|0]&192)==128?j[a+4144>>2]:0)){lf(d,e);f=k[c+11|0];g=f<<24>>24<0;if(tg(a,g?j[d>>2]:d,g?j[d+4>>2]:f)){break f}xb(d,e,1)}e=e+1|0;continue}break}if(h[c+11|0]<=-1){T(j[d>>2])}e=1;break a}X();z()}e=0}M=d+16|0;return e}function un(a,b){var c=0,d=0,e=0;d=b+4|0;if(h[b+15|0]<=-1){c=j[d>>2]}else{c=d}e=((k[b+30|0]<<2)+a|0)+2048|0;j[b+80>>2]=j[e>>2];j[e>>2]=b;a:{if(!k[c|0]){j[b+68>>2]=j[a>>2];break a}j[b+72>>2]=0;j[b+76>>2]=0;a=(k[c|0]<<2)+a|0;c=j[a>>2];if(!c){break a}b:{c:{if(h[d+11|0]>-1){while(1){a=c;c=a+4|0;e=d;if(h[a+15|0]<=-1){c=j[c>>2]}if((ba(e,c)|0)<=0){c=j[a+72>>2];if(c){continue}break c}c=j[a+76>>2];if(c){continue}break b}}d=j[d>>2];while(1){a=c;c=a+4|0;e=d;if(h[a+15|0]<0){c=j[c>>2]}if((ba(e,c)|0)>=1){c=j[a+76>>2];if(c){continue}break b}c=j[a+72>>2];if(c){continue}break}}a=a+72|0;break a}a=a+76|0}j[a>>2]=b}function aq(a,b,c,d,e){var f=0,g=0,l=0,m=0;f=M-32|0;M=f;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;a:{if(d){if((d|0)<=-1){break a}m=d<<1;g=U(m);j[f+16>>2]=g;l=(d<<1)+g|0;j[f+24>>2]=l;V(g,c,m);j[f+20>>2]=l}c=l-g|0;if(!(c>>1>>>0<2|!c)){c=c>>1;d=0;while(1){m=(d^-1)+c<<1;c=m+g|0;i[f+14>>1]=k[c|0]|k[c+1|0]<<8;g=l;l=c+2|0;g=g-l|0;if(g){Ja(c,l,g)}j[f+20>>2]=c+g;j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;da(f,f+16|0);wa(a,b,f,e,0,0);Kh(f+16|0,m+j[f+16>>2]|0,f+14|0);if(h[f+11|0]<=-1){T(j[f>>2])}l=j[f+20>>2];g=j[f+16>>2];c=l-g>>1;d=d+1|0;if(c>>>0>d>>>0){continue}break}}if(g){j[f+20>>2]=g;T(g)}M=f+32|0;return}X();z()}function _n(a,b){var c=0,d=0,e=0,f=0,g=0;a:{d=j[a>>2];if((j[a+8>>2]-d|0)/12>>>0>=b>>>0){break a}b:{c:{if(b>>>0<357913942){c=j[a+4>>2];e=p(b,12);b=U(e);f=b+e|0;e=b+p((c-d|0)/12|0,12)|0;if((c|0)==(d|0)){break c}b=e;while(1){c=c-12|0;g=j[c+4>>2];b=b-12|0;j[b>>2]=j[c>>2];j[b+4>>2]=g;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;if((c|0)!=(d|0)){continue}break}j[a+8>>2]=f;c=j[a+4>>2];j[a+4>>2]=e;d=j[a>>2];j[a>>2]=b;if((c|0)==(d|0)){break b}while(1){a=c-12|0;if(h[c-1|0]<=-1){T(j[a>>2])}c=a;if((d|0)!=(c|0)){continue}break}break b}D();z()}j[a+8>>2]=f;j[a+4>>2]=e;j[a>>2]=e}if(!d){break a}T(d)}}function Ha(a,b){var c=0,d=0,e=0;c=M-32|0;M=c;a:{b:{c:{switch(j[a+8>>2]-1|0){case 0:a=k[b|0]|k[b+1|0]<<8;b=a<<8|a>>>8;break b;case 1:b=ta(b);break b;case 2:j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;d=W(b);if(d>>>0>=4294967280){break a}d:{e:{if(d>>>0>=11){a=d+16&-16;e=U(a);j[c+8>>2]=a|-2147483648;j[c>>2]=e;j[c+4>>2]=d;a=c;break e}h[c+11|0]=d;a=c;e=c;if(!d){break d}}V(e,b,d)}h[d+e|0]=0;ia(c+16|0,c);if(h[a+11|0]<=-1){T(j[c>>2])}a=j[c+16>>2];f:{if((a|0)!=j[c+20>>2]){b=k[a|0]|k[a+1|0]<<8;break f}b=0;if(!a){break b}}j[c+20>>2]=a;T(a);break b;default:break c}}b=k[b|0]}M=c+32|0;return b&65535}X();z()}function _h(){var a=0,b=0,c=0,d=0,e=0;j[37198]=j[37198]+1;if(!j[37199]){d=U(393216);j[37199]=d;while(1){a=p(b,6)+d|0;i[a+4>>1]=b;h[a|0]=0;i[a+2>>1]=b;a=b|1;c=p(a,6)+d|0;i[c+4>>1]=a;h[c|0]=0;i[c+2>>1]=a;a=b|2;c=p(a,6)+d|0;i[c+4>>1]=a;h[c|0]=0;i[c+2>>1]=a;a=b|3;c=p(a,6)+d|0;i[c+4>>1]=a;h[c|0]=0;i[c+2>>1]=a;b=b+4|0;if((b|0)!=65536){continue}break}while(1){a=p(e,6);b=p(l[a+2256>>1],6)+d|0;h[b|0]=1;a=a+2258|0;a=l[a>>1]|l[a+2>>1]<<16;i[b+2>>1]=a;i[b+4>>1]=a>>>16;a=p(e|1,6);b=p(l[a+2256>>1],6)+d|0;h[b|0]=1;a=j[a+2258>>2];i[b+2>>1]=a;i[b+4>>1]=a>>>16;e=e+2|0;if((e|0)!=19672){continue}break}}}function cf(a,b,c,d,e,f,g,h){var i=0,l=0,n=0;i=M-16|0;M=i;if((b^-1)+1073741807>>>0>=c>>>0){if(k[a+11|0]>>>7|0){n=j[a>>2]}else{n=a}a:{if(b>>>0<536870887){j[i+8>>2]=b<<1;j[i+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=i+8|0;l=i+12|0;c=j[(m[l>>2]>2]?c:l)>>2];if(c>>>0>=2){l=c+4&-4;c=l-1|0;c=(c|0)==2?l:c}else{c=1}break a}c=1073741806}l=c+1|0;c=Rc(l);if(e){sc(c,n,e)}if(g){sc(c+(e<<2)|0,h,g)}d=d-f|0;h=d-e|0;if(h){e=e<<2;sc((e+c|0)+(g<<2)|0,(e+n|0)+(f<<2)|0,h)}if((b|0)!=1){T(n)}j[a>>2]=c;j[a+8>>2]=l|-2147483648;b=a;a=d+g|0;j[b+4>>2]=a;j[i+4>>2]=0;j[c+(a<<2)>>2]=j[i+4>>2];M=i+16|0;return}X();z()}function kl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=M-32|0;M=b;e=ga(b+16|0);d=b+8|0;c=d;j[c+4>>2]=0;j[c>>2]=134060;j[c>>2]=128412;j[c>>2]=128880;j[c>>2]=128996;c=M-16|0;M=c;j[c+8>>2]=e;M=c+16|0;g=j[c+8>>2];if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}h=c;if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}jl(d,g,h,c+(f<<2)|0);if(k[e+11|0]>>>7|0){c=j[e>>2]}else{c=e}d=ga(a);a=b+8|0;f=a;j[f+4>>2]=0;j[f>>2]=134060;j[f>>2]=128412;j[f>>2]=128880;j[f>>2]=129092;f=M-16|0;M=f;j[f+8>>2]=d;M=f+16|0;il(a,j[f+8>>2],c,W(c)+c|0);Y(e);M=b+32|0}function Bm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=M-48|0;M=f;j[f+40>>2]=b;a:{if(!(j[c+4>>2]&1)){c=O[j[j[a>>2]+24>>2]](a,b,c,d,e)|0;break a}a=j[c+28>>2];j[f+24>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=Bc(f+24|0);b=j[f+24>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b:{if(e){O[j[j[a>>2]+24>>2]](f+24|0,a);break b}O[j[j[a>>2]+28>>2]](f+24|0,a)}g=f,h=qb(f+24|0),j[g+16>>2]=h;while(1){g=f,h=ic(f+24|0),j[g+8>>2]=h;if(j[f+16>>2]==j[f+8>>2]^1){ah(f+40|0,j[j[f+16>>2]>>2]);j[f+16>>2]=j[f+16>>2]+4;continue}else{c=j[f+40>>2];Y(f+24|0)}break}}M=f+48|0;return c|0}function Lm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0;f=M-48|0;M=f;j[f+40>>2]=b;a:{if(!(j[c+4>>2]&1)){c=O[j[j[a>>2]+24>>2]](a,b,c,d,e)|0;break a}a=j[c+28>>2];j[f+24>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=Dc(f+24|0);b=j[f+24>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b:{if(e){O[j[j[a>>2]+24>>2]](f+24|0,a);break b}O[j[j[a>>2]+28>>2]](f+24|0,a)}g=f,i=qb(f+24|0),j[g+16>>2]=i;while(1){g=f,i=kc(f+24|0),j[g+8>>2]=i;if(j[f+16>>2]==j[f+8>>2]^1){bh(f+40|0,h[j[f+16>>2]]);j[f+16>>2]=j[f+16>>2]+1;continue}else{c=j[f+40>>2];Y(f+24|0)}break}}M=f+48|0;return c|0}function ji(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,l=0,m=0,n=0,o=0,p=0;if(zb(a,j[b+8>>2],f)){Rd(b,c,d,e);return}l=k[b+53|0];g=j[a+12>>2];h[b+53|0]=0;m=k[b+52|0];h[b+52|0]=0;n=a+16|0;Qd(n,b,c,d,e,f);o=k[b+53|0];l=l|o;p=k[b+52|0];m=m|p;a:{if((g|0)<2){break a}n=n+(g<<3)|0;g=a+24|0;while(1){if(k[b+54|0]){break a}b:{if(p){if(j[b+24>>2]==1){break a}if(k[a+8|0]&2){break b}break a}if(!o){break b}if(!(h[a+8|0]&1)){break a}}i[b+52>>1]=0;Qd(g,b,c,d,e,f);o=k[b+53|0];l=o|l;p=k[b+52|0];m=p|m;g=g+8|0;if(n>>>0>g>>>0){continue}break}}h[b+53|0]=(l&255)!=0;h[b+52|0]=(m&255)!=0}function Mj(){var a=0;a:{if(h[150016]&1){break a}if(!Ma(150016)){break a}a=149728;while(1){a=ga(a)+12|0;if((a|0)!=150016){continue}break}La(150016)}oa(149728,132996);oa(149740,133004);oa(149752,133013);oa(149764,133019);oa(149776,133025);oa(149788,133029);oa(149800,133034);oa(149812,133039);oa(149824,133046);oa(149836,133056);oa(149848,133064);oa(149860,133073);oa(149872,133082);oa(149884,133086);oa(149896,133090);oa(149908,133094);oa(149920,133025);oa(149932,133098);oa(149944,133102);oa(149956,133106);oa(149968,133110);oa(149980,133114);oa(149992,133118);oa(150004,133122)}function Jj(){var a=0;a:{if(h[150320]&1){break a}if(!Ma(150320)){break a}a=150032;while(1){a=ga(a)+12|0;if((a|0)!=150320){continue}break}La(150320)}na(150032,133128);na(150044,133160);na(150056,133196);na(150068,133220);na(150080,133244);na(150092,133260);na(150104,133280);na(150116,133300);na(150128,133328);na(150140,133368);na(150152,133400);na(150164,133436);na(150176,133472);na(150188,133488);na(150200,133504);na(150212,133520);na(150224,133244);na(150236,133536);na(150248,133552);na(150260,133568);na(150272,133584);na(150284,133600);na(150296,133616);na(150308,133632)}function zd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{f=j[a+4>>2];b:{if((f|0)!=j[a>>2]){c=f;break b}e=j[a+8>>2];c=j[a+12>>2];if(e>>>0>>0){d=((c-e>>2)+1|0)/2<<2;c=d+e|0;g=e-f|0;if(g){c=c-g|0;Ja(c,f,g);e=j[a+8>>2]}j[a+4>>2]=c;j[a+8>>2]=e+d;break b}c=c-f|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;h=U(c);g=h+c|0;c=(d+3&-4)+h|0;i=c;d=e-f|0;if(d){i=c+d|0;e=c;d=f;while(1){j[e>>2]=j[d>>2];d=d+4|0;e=e+4|0;if((i|0)!=(e|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=i;j[a+4>>2]=c;j[a>>2]=h;if(!f){break b}T(f);c=j[a+4>>2]}j[c-4>>2]=j[b>>2];j[a+4>>2]=j[a+4>>2]-4;return}D();z()}function vq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;j[a+8>>2]=0;j[a+12>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;a:{if(!k[a+96|0]){break a}d=j[a+32>>2];if(!d){break a}T(d)}b:{if(!k[a+97|0]){break b}d=j[a+56>>2];if(!d){break b}T(d)}j[a+52>>2]=c;e=a;c:{d:{e:{if(c>>>0>=9){d=k[a+98|0];if(!(!b|!d)){h[a+96|0]=0;j[a+32>>2]=b;break d}f=U(c);h[a+96|0]=1;j[a+32>>2]=f;break e}h[a+96|0]=0;j[a+52>>2]=8;j[a+32>>2]=a+44;d=k[a+98|0]}if(d){break d}d=(c|0)>8?c:8;j[a+60>>2]=d;c=0;if(b){break c}b=U(d);c=1;break c}b=0;j[a+60>>2]=0;c=0}h[e+97|0]=c;j[a+56>>2]=b;return a|0}function Hc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;g=a+4|0;a=j[a+4>>2];a:{b:{if(!a){break b}d=k[b+11|0];c=d<<24>>24<0;i=c?j[b>>2]:b;e=c?j[b+4>>2]:d;c=g;while(1){b=k[a+27|0];l=b<<24>>24<0;h=l?j[a+20>>2]:b;f=h>>>0>e>>>0;d=f?e:h;c:{if(d){b=a+16|0;b=qa(l?j[b>>2]:b,i,d);if(b){break c}}b=e>>>0>h>>>0?-1:f}c=(b|0)<0?c:a;a=j[(b>>>29&4)+a>>2];if(a){continue}break}if((c|0)==(g|0)){break b}a=k[c+27|0];f=a<<24>>24<0;d:{d=f?j[c+20>>2]:a;b=d>>>0>>0?d:e;if(b){a=c+16|0;a=qa(i,f?j[a>>2]:a,b);if(a){break d}}if(d>>>0>e>>>0){break b}break a}if((a|0)>-1){break a}}c=g}return c}function Tq(a){var b=0,c=0,d=0,e=0;b=j[a+16>>2];if(b){T(kq(b))}b=j[a>>2];if(b){T(Jo(b))}c=j[a+4>>2];e=j[a+8>>2];if((c|0)!=(e|0)){while(1){b=j[(d<<2)+c>>2];if(b){T(dr(b));e=j[a+8>>2];c=j[a+4>>2]}d=d+1|0;if(d>>>0>2>>>0){continue}break}}j[a+36>>2]=0;j[a>>2]=0;j[a+16>>2]=0;b=j[a+20>>2];if(b){T(b)}j[a+20>>2]=0;d=j[a+52>>2];if(d){b=d;c=j[a+56>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){b=c-12|0;if(h[c-1|0]<=-1){T(j[b>>2])}c=b;if((b|0)!=(d|0)){continue}break}e=j[a+52>>2]}b=e;j[a+56>>2]=d;T(b)}if(h[a+35|0]<=-1){T(j[a+24>>2])}b=j[a+4>>2];if(b){j[a+8>>2]=b;T(b)}}function yp(a,b,c){var d=0,e=0,f=0,g=0;d=M-32|0;M=d;a:{f=j[b>>2];e=W(f);if(e>>>0<4294967280){b:{c:{if(e>>>0>=11){g=e+16&-16;b=U(g);j[d+24>>2]=g|-2147483648;j[d+16>>2]=b;j[d+20>>2]=e;break c}h[d+27|0]=e;b=d+16|0;if(!e){break b}}V(b,f,e)}h[b+e|0]=0;f=j[c>>2];e=W(f);if(e>>>0>=4294967280){break a}d:{e:{if(e>>>0>=11){c=e+16&-16;b=U(c);j[d+8>>2]=c|-2147483648;j[d>>2]=b;j[d+4>>2]=e;c=d;break e}h[d+11|0]=e;c=d;b=d;if(!e){break d}}V(b,f,e)}h[b+e|0]=0;a=xp(a,d+16|0,d);if(h[c+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}M=d+32|0;return(a|0)!=0}X();z()}X();z()}function Ad(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{e=j[a+8>>2];b:{if((e|0)!=j[a+12>>2]){break b}f=j[a+4>>2];g=j[a>>2];if(f>>>0>g>>>0){g=((f-g>>2)+1|0)/-2<<2;c=g+f|0;d=e-f|0;if(d){Ja(c,f,d);f=j[a+4>>2]}e=c+d|0;j[a+8>>2]=e;j[a+4>>2]=f+g;break b}c=e-g|0;c=c?c>>1:1;if(c>>>0>=1073741824){break a}d=c<<2;h=U(d);i=h+d|0;d=e-f|0;c=(c&-4)+h|0;e=c;if(d){e=c+d|0;d=c;while(1){j[d>>2]=j[f>>2];f=f+4|0;d=d+4|0;if((e|0)!=(d|0)){continue}break}}j[a+12>>2]=i;j[a+8>>2]=e;j[a+4>>2]=c;j[a>>2]=h;if(!g){break b}T(g);e=j[a+8>>2]}j[e>>2]=j[b>>2];j[a+8>>2]=j[a+8>>2]+4;return}D();z()}function Gp(a){var b=0,c=0,d=0;j[a+52>>2]=0;b=j[37200];if((b|0)!=148804){while(1){d=b;b=j[b+28>>2];if(b){c=j[b>>2];if(c){T(c);j[b>>2]=0}T(b)}c=j[d+4>>2];a:{if(!c){b=j[d+8>>2];if((d|0)==j[b>>2]){break a}d=d+8|0;while(1){c=j[d>>2];d=c+8|0;b=j[c+8>>2];if((c|0)!=j[b>>2]){continue}break}break a}while(1){b=c;c=j[b>>2];if(c){continue}break}}if((b|0)!=148804){continue}break}}Dd(148800,j[37201]);j[37200]=148804;j[37201]=0;j[37202]=0;j[a+56>>2]=121508;T(j[a+60>>2]);j[a+68>>2]=0;j[a+72>>2]=0;j[a+60>>2]=0;j[a+64>>2]=0;if(h[a+51|0]<=-1){T(j[a+40>>2])}Ep(a);return a}function Ub(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0;f=M-16|0;M=f;Jr(+b);h=Gr(1)|0;e=Gr(0)|0;g=h&2147483647;c=g;d=e;g=c+ -1048576|0;a:{if((g|0)==2145386495|g>>>0<2145386495){i=d<<28;e=c>>>4|0;c=(c&15)<<28|d>>>4;d=e+1006632960|0;break a}if((c|0)==2146435072|c>>>0>2146435072){i=e<<28;c=h;e=c>>>4|0;c=(c&15)<<28|d>>>4;d=e|2147418112;break a}if(!(c|d)){c=0;d=0;break a}g=c;c=c>>>0<1?s(e)+32|0:s(c);mb(f,d,g,0,0,c+49|0);k=j[f>>2];i=j[f+4>>2];e=15372-c<<16;c=j[f+8>>2];d=e|j[f+12>>2]^65536}j[a>>2]=k;j[a+4>>2]=i;j[a+8>>2]=c;j[a+12>>2]=h&-2147483648|d;M=f+16|0}function um(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0;a=M-208|0;M=a;i[a+204>>1]=k[127654]|k[127655]<<8;j[a+200>>2]=k[127650]|k[127651]<<8|(k[127652]<<16|k[127653]<<24);f=ra();j[a>>2]=e;g=fb(a+176|0,20,f,a+200|0,a);f=g+(a+176|0)|0;h=Bb(a+176|0,f,c);e=j[c+28>>2];j[a+16>>2]=e;j[e+4>>2]=j[e+4>>2]+1;l=rb(a+16|0);e=j[a+16>>2];m=j[e+4>>2]-1|0;j[e+4>>2]=m;if((m|0)==-1){O[j[j[e>>2]+8>>2]](e)}O[j[j[l>>2]+48>>2]](l,a+176|0,f,a+16|0)|0;e=b;b=(a+16|0)+(g<<2)|0;b=_b(e,a+16|0,(f|0)==(h|0)?b:((h-a<<2)+a|0)-688|0,b,c,d);M=a+208|0;return b|0}function li(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(zb(a,j[b+8>>2],e)){if(!(j[b+28>>2]==1|j[b+4>>2]!=(c|0))){j[b+28>>2]=d}return}a:{if(zb(a,j[b>>2],e)){if(!(j[b+20>>2]!=(c|0)?j[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}j[b+32>>2]=1;return}j[b+32>>2]=d;b:{if(j[b+44>>2]==4){break b}i[b+52>>1]=0;a=j[a+8>>2];O[j[j[a>>2]+20>>2]](a,b,c,c,1,e);if(k[b+53|0]){j[b+44>>2]=3;if(!k[b+52|0]){break b}break a}j[b+44>>2]=4}j[b+20>>2]=c;j[b+40>>2]=j[b+40>>2]+1;if(j[b+36>>2]!=1|j[b+24>>2]!=2){break a}h[b+54|0]=1;return}a=j[a+8>>2];O[j[j[a>>2]+24>>2]](a,b,c,d,e)}}function Lb(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;j[a+4356>>2]=0;j[a+4360>>2]=0;j[a+4376>>2]=0;e=j[a>>2];a:{if(e){while(1){f=Lf(e,b,c,d);if(f){break a}e=j[e+68>>2];if(e){continue}break}}g=j[(k[b|0]<<2)+a>>2];if(g){while(1){f=g+4|0;f=h[g+15|0]<=-1?j[f>>2]:f;e=k[f|0];b:{if(!e){break b}i=b;if((e|0)!=46&k[b|0]!=(e|0)){break b}while(1){e=k[f+1|0];if(!e){break b}l=k[i+1|0];i=i+1|0;f=f+1|0;if(!((e|0)!=46&(e|0)!=(l|0))){continue}break}}c:{if(!e){i=Lf(g,b,c,d);if(i){j[a+4376>>2]=g;return i}i=g+72|0;break c}i=g+76|0}g=j[i>>2];if(g){continue}break}}f=0}return f}function cd(a,b,c,d,e,f,g,i){var l=0,n=0,o=0;l=M-16|0;M=l;if((b^-1)-17>>>0>=c>>>0){if(k[a+11|0]>>>7|0){o=j[a>>2]}else{o=a}a:{if(b>>>0<2147483623){j[l+8>>2]=b<<1;j[l+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=l+8|0;n=l+12|0;c=j[(m[n>>2]>2]?c:n)>>2];if(c>>>0>=11){n=c+16&-16;c=n-1|0;c=(c|0)==11?n:c}else{c=10}break a}c=-18}n=c+1|0;c=U(n);if(e){ac(c,o,e)}if(g){ac(c+e|0,i,g)}d=d-f|0;i=d-e|0;if(i){ac((c+e|0)+g|0,(e+o|0)+f|0,i)}if((b|0)!=10){T(o)}j[a>>2]=c;j[a+8>>2]=n|-2147483648;b=a;a=d+g|0;j[b+4>>2]=a;h[l+7|0]=0;h[a+c|0]=k[l+7|0];M=l+16|0;return}X();z()}function tp(a,b){var c=0,d=0,e=0,f=0,g=0,i=0;d=M-16|0;M=d;f=j[a+52>>2];c=0;a:{if(!f){break a}b=Gq(f,d+8|0,j[b>>2]);j[a+72>>2]=0;j[a+68>>2]=j[a+60>>2];j[d+12>>2]=0;c=a+56|0;sp(c,d+12|0);b:{if((b|0)<=0){b=j[a+60>>2];c=j[a+72>>2];h[b|0]=c;h[b+1|0]=c>>>8;h[b+2|0]=c>>>16;h[b+3|0]=c>>>24;break b}while(1){f=j[j[d+8>>2]+(e<<2)>>2];g=d,i=W(f),j[g+4>>2]=i;rp(c,f,d+4|0);e=e+1|0;if((b|0)!=(e|0)){continue}break}c=j[a+60>>2];e=j[a+72>>2];h[c|0]=e;h[c+1|0]=e>>>8;h[c+2|0]=e>>>16;h[c+3|0]=e>>>24;if((b|0)<=0){break b}Fq(d+8|0,b)}c=j[a+60>>2]}M=d+16|0;return c}function Am(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127648]|k[127649]<<8;j[a+24>>2]=k[127644]|k[127645]<<8|(k[127646]<<16|k[127647]<<24);jc(a+24|1,127636,1,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;e=g>>>9&1;h=fb(f,e+13|0,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-((e<<3)+107&112)|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Cm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0;a=M-96|0;M=a;i[a+92>>1]=k[127654]|k[127655]<<8;j[a+88>>2]=k[127650]|k[127651]<<8|(k[127652]<<16|k[127653]<<24);f=ra();j[a>>2]=e;g=fb(a- -64|0,20,f,a+88|0,a);f=g+(a- -64|0)|0;h=Bb(a- -64|0,f,c);e=j[c+28>>2];j[a+16>>2]=e;j[e+4>>2]=j[e+4>>2]+1;l=sb(a+16|0);e=j[a+16>>2];m=j[e+4>>2]-1|0;j[e+4>>2]=m;if((m|0)==-1){O[j[j[e>>2]+8>>2]](e)}O[j[j[l>>2]+32>>2]](l,a- -64|0,f,a+16|0)|0;e=b;b=(a+16|0)+g|0;b=$b(e,a+16|0,(f|0)==(h|0)?b:((h-a|0)+a|0)-48|0,b,c,d);M=a+96|0;return b|0}function ri(a){var b=0,c=0,d=0,e=0;b=M+ -64|0;M=b;c=j[a>>2];d=j[c-4>>2];e=j[c-8>>2];j[b+20>>2]=0;j[b+16>>2]=134284;j[b+12>>2]=a;j[b+8>>2]=134332;c=0;ya(b+24|0,0,39);a=a+e|0;a:{if(zb(d,134332,0)){j[b+56>>2]=1;O[j[j[d>>2]+20>>2]](d,b+8|0,a,a,1,0);c=j[b+32>>2]==1?a:0;break a}O[j[j[d>>2]+24>>2]](d,b+8|0,a,1,0);b:{switch(j[b+44>>2]){case 0:c=j[b+48>>2]==1?j[b+36>>2]==1?j[b+40>>2]==1?j[b+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(j[b+32>>2]!=1){if(j[b+48>>2]|j[b+36>>2]!=1|j[b+40>>2]!=1){break a}}c=j[b+24>>2]}M=b- -64|0;return c}function Oe(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=c-b|0;g=f>>1;d=j[a+8>>2];e=j[a>>2];if(g>>>0<=d-e>>1>>>0){d=j[a+4>>2]-e|0;f=d>>1;d=f>>>0>>0?b+d|0:c;h=d-b|0;if(h){Ja(e,b,h)}if(f>>>0>>0){b=j[a+4>>2];c=c-d|0;if((c|0)>=1){b=V(b,d,c)+c|0}j[a+4>>2]=b;return}j[a+4>>2]=e+h;return}if(e){j[a+4>>2]=e;T(e);j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;d=0}a:{if((f|0)<=-1){break a}c=d>>1>>>0<1073741823?d>>>0>>0?g:d:2147483647;if((c|0)<=-1){break a}e=c<<1;c=U(e);j[a>>2]=c;j[a+4>>2]=c;j[a+8>>2]=c+e;if((f|0)>=1){c=V(c,b,f)+f|0}j[a+4>>2]=c;return}X();z()}function kf(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0;d=M-32|0;M=d;h[d+23|0]=c;j[d+24>>2]=b;i=d,l=qb(a),j[i+16>>2]=l;e=j[d+24>>2]-j[d+16>>2]|0;b=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}a:{if((b|0)==(c|0)){pb(a,c,1,c,e,0,1);b=j[a>>2];break a}if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}f=c-e|0;if(!f){break a}g=b+e|0;Kb(g+1|0,g,f)}h[b+e|0]=k[d+23|0];h[d+15|0]=0;f=b;b=c+1|0;h[f+b|0]=k[d+15|0];b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}i=d,l=qb(a),j[i+8>>2]=l;le(d+8|0,e);M=d+32|0}function Km(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127648]|k[127649]<<8;j[a+24>>2]=k[127644]|k[127645]<<8|(k[127646]<<16|k[127647]<<24);jc(a+24|1,127636,1,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;h=fb(f,(g>>>9&1)+13|0,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-32|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;od(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function We(a,b,c,d){var e=0,f=0,g=0,i=0;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;g=k[b+28|0]>d>>>0;f=h[b+27|0];e=j[b+20>>2];a:{if((f|0)<=-1){break a}e=f&255}b:{if(g|(!j[j[b+64>>2]+4484>>2]|d?e>>>0>=d>>>0:0)){break b}i=c+d|0;if(!Jd(b,i,c)){break b}e=b+16|0;g=k[e+11|0];f=g<<24>>24;c:{d:{if((f|0)<=-1){g=j[b+20>>2];if(!g){break c}f=j[e>>2];break d}if(!f){break c}f=e}if(ba(i-g|0,f)){break b}}Ka(a,c);f=a;c=h[e+11|0];e=j[b+20>>2];e:{if((c|0)<=-1){break e}e=c&255}c=k[b+15|0];a=c<<24>>24<0;oc(f,d-e|0,-1,a?j[b+4>>2]:b+4|0,a?j[b+8>>2]:c)}}function ym(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127648]|k[127649]<<8;j[a+24>>2]=k[127644]|k[127645]<<8|(k[127646]<<16|k[127647]<<24);jc(a+24|1,127636,0,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;h=fb(f,g>>>9&1|12,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-96|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Hm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127648]|k[127649]<<8;j[a+24>>2]=k[127644]|k[127645]<<8|(k[127646]<<16|k[127647]<<24);jc(a+24|1,127636,0,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;h=fb(f,g>>>9&1|12,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-32|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;od(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function ka(a,b){var c=0,d=0,e=0,f=0,g=0;c=M-32|0;M=c;e=j[a>>2];f=j[a+4>>2];d=k[a+11|0];i[c>>1]=2336;h[c+11|0]=2;h[c+2|0]=0;g=a;a=d<<24>>24<0;d=(a?e:g)+(a?f:d)|0;f=ha(c+16|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}a=j[b>>2];a:{if((d|0)==(a|0)){a=d;break a}b:{while(1){if((Ba(f,h[a|0],0)|0)==-1){break b}a=a+1|0;if((d|0)!=(a|0)){continue}break}a=d;break a}if((a|0)==(d|0)){break a}e=a;while(1){if((Ba(f,h[e|0],0)|0)!=-1){d=e;break a}e=e+1|0;if((e|0)!=(d|0)){continue}break}}j[b>>2]=d;if(h[c+27|0]<=-1){T(j[c+16>>2])}M=c+32|0;return a}function Kd(a,b){var c=0,d=0,e=0,f=0,g=0;f=M-16|0;M=f;e=k[a+11|0];d=e<<24>>24<0;c=d?j[a>>2]:a;e=d?j[a+4>>2]:e;d=c+e|0;g=ha(f,b);a:{b:{if(!e){break b}while(1){if((Ba(g,h[c|0],0)|0)!=-1){break b}c=c+1|0;if((d|0)!=(c|0)){continue}break}c=d;break a}if((c|0)==(d|0)){break a}b=c+1|0;if((d|0)==(b|0)){break a}while(1){if((Ba(g,h[b|0],0)|0)==-1){h[c|0]=k[b|0];c=c+1|0}b=b+1|0;if((d|0)!=(b|0)){continue}break}}e=j[a>>2];d=k[a+11|0];b=d<<24>>24<0;xb(a,c-(b?e:a)|0,(b?e+j[a+4>>2]|0:a+d|0)-c|0);if(h[f+11|0]<=-1){T(j[f>>2])}M=f+16|0}function Vd(a,b,c){var d=0,e=0,f=0,g=0,i=0;e=M-16|0;M=e;so(e+8|0,a);if(k[e+8|0]){a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}g=a+24|0;i=c&255;b:{c:{while(1){c=j[j[j[a>>2]-12>>2]+g>>2];d=j[c+12>>2];d:{if((d|0)!=j[c+16>>2]){j[c+12>>2]=d+1;c=k[d|0];break d}c=O[j[j[c>>2]+40>>2]](c)|0;if((c|0)==-1){break c}}d=0;if((c&255)==(i|0)){break b}Z(b,c<<24>>24);f=f+1|0;if(j[b+4>>2]!=-17|h[b+11|0]>-1){continue}break}d=4;break b}d=f?2:6}b=j[j[a>>2]-12>>2]+a|0;gh(b,d|j[b+16>>2])}M=e+16|0;return a}function Ie(a,b){var c=0,d=0,e=0,f=0;d=M-16|0;M=d;j[d+12>>2]=b;b=a+112|0;j[b>>2]=121312;j[a+4>>2]=121292;j[a>>2]=0;j[a+8>>2]=0;c=a+12|0;td(b,c);j[a+184>>2]=0;j[a+188>>2]=-1;j[b>>2]=121256;j[a+4>>2]=121236;Eq(c);j[a+65784>>2]=0;j[a+192>>2]=0;h[a+196|0]=0;c=Np(d+12|0);a:{if(!c){j[d>>2]=j[d+12>>2];Lo(j[30514],d);break a}b=U(136);f=j[c+4>>2];c=j[c>>2];j[b+56>>2]=121488;j[b>>2]=121468;j[b+4>>2]=0;e=b+8|0;td(b+56|0,e);j[b+128>>2]=0;j[b+132>>2]=-1;j[b+56>>2]=133916;j[b>>2]=133896;aj(e,c,f);j[a>>2]=b}M=d+16|0;return a}function sp(a,b){var c=0,d=0,e=0;a:{b:{d=j[a+4>>2];c:{if(!d){j[a+8>>2]=1e3;c=ja(1e3);j[a+16>>2]=0;j[a+4>>2]=c;break c}c=j[a+8>>2];e=j[a+16>>2]+4|0;if(c>>>0>=e>>>0){break b}while(1){c=c<<1;if(e>>>0>c>>>0){continue}break}j[a+8>>2]=c;c=vc(d,c);if(c){j[a+4>>2]=c;c=c+j[a+16>>2]|0;break c}c=ja(j[a+8>>2]);d=j[a+4>>2];c=V(c,d,j[a+16>>2]);T(d);j[a+4>>2]=c;c=c+j[a+16>>2]|0}j[a+12>>2]=c;break a}c=j[a+12>>2]}b=j[b>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;j[a+12>>2]=j[a+12>>2]+4;j[a+16>>2]=j[a+16>>2]+4}function Fc(a,b,c,d,e,f){var g=0,h=0,i=0,k=0;a:{if(f&64){c=f+ -64|0;b=c&31;if((c&63)>>>0>=32){c=0;b=e>>>b|0}else{c=e>>>b|0;b=((1<>>b}d=0;e=0;break a}if(!f){break a}h=e;i=d;k=64-f|0;g=k&31;if((k&63)>>>0>=32){h=i<>>32-g|h<>>0>=32){g=0;b=c>>>b|0}else{g=c>>>b|0;b=((1<>>b}b=k|b;c=g|h;g=d;d=f&31;if((f&63)>>>0>=32){h=0;d=e>>>d|0}else{h=e>>>d|0;d=((1<>>d}e=h}j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=d;j[a+12>>2]=e}function Cp(a,b,c){var d=0,e=0,f=0,g=0;d=M-48|0;M=d;Dh(a);f=j[a>>2];a=W(f);if(a>>>0<4294967280){a:{b:{if(a>>>0>=11){g=a+16&-16;e=U(g);j[d+16>>2]=g|-2147483648;j[d+8>>2]=e;j[d+12>>2]=a;break b}h[d+19|0]=a;e=d+8|0;if(!a){break a}}V(e,f,a)}h[a+e|0]=0;a=U(8);j[a+4>>2]=c;j[a>>2]=b;j[d+32>>2]=j[d+16>>2];j[d+16>>2]=0;j[d+36>>2]=a;a=j[d+12>>2];j[d+24>>2]=j[d+8>>2];j[d+28>>2]=a;j[d+8>>2]=0;j[d+12>>2]=0;Bp(d+40|0,d+24|0,d+24|0);if(h[d+35|0]<=-1){T(j[d+24>>2])}if(h[d+19|0]<=-1){T(j[d+8>>2])}M=d+48|0;return 1}X();z()}function Ji(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;g=M-16|0;M=g;e=b;if(k[a+11|0]>>>7|0){f=j[a+4>>2]}else{f=k[a+11|0]}if(e>>>0<=f>>>0){e=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;a:{if(e-f>>>0>=d>>>0){if(!d){break a}if(k[a+11|0]>>>7|0){e=j[a>>2]}else{e=a}l=e+b|0;i=f-b|0;if(i){b=b+e|0;Kb(b+d|0,b,i);c=b>>>0<=c>>>0?e+f>>>0>c>>>0?c+d|0:c:c}Kb(l,c,d);c=d+f|0;b=c;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}h[g+15|0]=0;h[c+e|0]=k[g+15|0];break a}cd(a,e,(d+f|0)-e|0,f,b,0,d,c)}M=g+16|0;return}X();z()}function Vo(a,b){var c=0,d=0;c=1024;a:{b:{c:{if((a^b)&3){break c}d=1;d:{if(!(b&3)){break d}while(1){d=k[b|0];h[a|0]=d;if(!d){break a}a=a+1|0;b=b+1|0;c=c-1|0;d=(c|0)!=0;if(!c){break d}if(b&3){continue}break}}if(!d){break b}if(!k[b|0]){break a}if(c>>>0<4){break c}while(1){d=j[b>>2];if((d^-1)&d-16843009&-2139062144){break c}j[a>>2]=d;a=a+4|0;b=b+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break b}while(1){d=k[b|0];h[a|0]=d;if(!d){break a}a=a+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}c=0}ya(a,0,c)}function Hn(a,b,c){var d=0,e=0,f=0,g=0,i=0;a:{if(ba(c,1742)){e=k[c|0];if(e){d=c;while(1){i=d;d=f;f=0;b:{c:{switch(e-91|0){case 0:f=1;g=g+1|0;break b;case 2:break b;default:break c}}f=1;if(d&1){break b}g=(!(e&128)|!j[a+4144>>2]|(e&192)==128)+g|0;f=0}d=i+1|0;e=k[i+1|0];if(e){continue}break}}h[b+28|0]=g;a=W(c);d=a>>>0<20?a:20;V(b+32|0,c,d);if(a>>>0<=19){ya((b+d|0)+32|0,0,20-d|0);return 0}if(!k[c+20|0]){break a}h[b+29|0]=k[b+29|0]+16;a=cb(c+16|0);j[b+48>>2]=a;return!a}h[b+32|0]=0;h[b+28|0]=0}return 0}function mb(a,b,c,d,e,f){var g=0,h=0,i=0,k=0;a:{if(f&64){d=b;e=f+ -64|0;b=e&31;if((e&63)>>>0>=32){e=d<>>32-b|c<>>0>=32){h=g<>>32-d|e<>>0>=32){f=0;d=d>>>e|0}else{f=d>>>e|0;d=((1<>>e}d=k|d;e=f|h;f=b;b=i&31;if((i&63)>>>0>=32){h=f<>>32-b|c<>2]=b;j[a+4>>2]=c;j[a+8>>2]=d;j[a+12>>2]=e}function Rb(a,b,c,d,e){var f=0,g=0;f=M-16|0;M=f;j[f+8>>2]=b;a:{if(Sa(a,f+8|0)){j[c>>2]=j[c>>2]|6;b=0;break a}b=Ga(a);if(!((b|0)>=0?(l[j[d+8>>2]+((b&255)<<1)>>1]&2048)!=0:0)){j[c>>2]=j[c>>2]|4;b=0;break a}b=O[j[j[d>>2]+36>>2]](d,b,0)|0;while(1){b:{Oa(a);b=b-48|0;if(!lb(a,f+8|0)|(e|0)<2){break b}g=Ga(a);if(!((g|0)>=0?(l[j[d+8>>2]+((g&255)<<1)>>1]&2048)!=0:0)){break a}e=e-1|0;b=(O[j[j[d>>2]+36>>2]](d,g,0)|0)+p(b,10)|0;continue}break}if(!Sa(a,f+8|0)){break a}j[c>>2]=j[c>>2]|2}M=f+16|0;return b}function zm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127638,1,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;e=h>>>9&1;h=fb(g,e+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-((e<<3)+187&240)|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function xm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127638,0,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;e=h>>>9&1;h=fb(g,e+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-((e<<3)+187&240)|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function zo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=M-16|0;M=e;while(1){a:{if((c|0)<=(g|0)){break a}d=j[a+12>>2];f=j[a+16>>2];b:{if(d>>>0>>0){j[e+12>>2]=2147483647;j[e+8>>2]=f-d;j[e+4>>2]=c-g;d=M-16|0;M=d;M=d+16|0;d=M-16|0;M=d;M=d+16|0;d=e+4|0;f=e+8|0;d=j[d>>2]>2]?d:f;f=e+12|0;d=j[(j[d>>2]>2]?d:f)>>2];ac(b,j[a+12>>2],d);j[a+12>>2]=j[a+12>>2]+d;break b}d=O[j[j[a>>2]+40>>2]](a)|0;if((d|0)==-1){break a}h[b|0]=d;d=1}b=b+d|0;g=d+g|0;continue}break}M=e+16|0;return g|0}function Sh(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}ua(b,c);b:{c=j[a>>2];c:{if(!c){break c}f=lk(c);if(!f){break c}if(j[a+44>>2]){Ld(b,j[a>>2]+4420|0);break c}e=W(f);if(e>>>0>=4294967280){break b}d:{e:{if(e>>>0>=11){a=e+16&-16;c=U(a);j[d+8>>2]=a|-2147483648;j[d>>2]=c;j[d+4>>2]=e;a=d;break e}h[d+11|0]=e;a=d;c=d;if(!e){break d}}V(c,f,e)}h[c+e|0]=0;Kd(b,d);if(h[a+11|0]>-1){break c}T(j[d>>2])}M=d+16|0;return}X();z()}function Im(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127638,1,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;h=fb(g,(h>>>9&1)+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-48|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;od(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Gm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127638,0,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;h=fb(g,(h>>>9&1)+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-48|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;od(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Hg(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;a:{b:{c:{if((a|0)!=(b|0)){g=j[37203];j[37203]=0;a=Kg(a,e+12|0,d,ra());d=N;f=j[37203];d:{if(f){if(j[e+12>>2]!=(b|0)){break d}if((f|0)==68){break b}break c}j[37203]=g;if(j[e+12>>2]==(b|0)){break c}}}j[c>>2]=4;b=0;break a}if(((d|0)<-1?1:(d|0)<=-1?a>>>0<2147483648:0)|((d|0)>0?1:(d|0)>=0?a>>>0>2147483647:0)){break b}b=a;break a}j[c>>2]=4;b=2147483647;if((d|0)>0?1:(d|0)>=0?a>>>0>=1:0){break a}b=-2147483648}M=e+16|0;return b}function pb(a,b,c,d,e,f,g){var h=0,i=0,l=0;i=M-16|0;M=i;if(-17-b>>>0>=c>>>0){if(k[a+11|0]>>>7|0){l=j[a>>2]}else{l=a}a:{if(b>>>0<2147483623){j[i+8>>2]=b<<1;j[i+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=i+8|0;h=i+12|0;c=j[(m[h>>2]>2]?c:h)>>2];if(c>>>0>=11){h=c+16&-16;c=h-1|0;c=(c|0)==11?h:c}else{c=10}break a}c=-18}h=c+1|0;c=U(h);if(e){ac(c,l,e)}d=(d-f|0)-e|0;if(d){ac((c+e|0)+g|0,(e+l|0)+f|0,d)}if((b|0)!=10){T(l)}j[a>>2]=c;j[a+8>>2]=h|-2147483648;M=i+16|0;return}X();z()}function Aa(a,b,c){var d=0,e=0;d=(c|0)!=0;a:{b:{c:{if(!c|!(a&3)){break c}e=b&255;while(1){if((e|0)==k[a|0]){break b}a=a+1|0;c=c-1|0;d=(c|0)!=0;if(!c){break c}if(a&3){continue}break}}if(!d){break a}}d:{if(k[a|0]==(b&255)|c>>>0<4){break d}d=p(b&255,16843009);while(1){e=d^j[a>>2];if((e^-1)&e-16843009&-2139062144){break d}a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}b=b&255;while(1){if((b|0)==k[a|0]){return a}a=a+1|0;c=c-1|0;if(c){continue}break}}return 0}function jo(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=M-32|0;M=d;f=kh(d+24|0,a);a:{if(!k[f|0]){break a}c=j[(j[j[a>>2]-12>>2]+a|0)+28>>2];j[d+16>>2]=c;j[c+4>>2]=j[c+4>>2]+1;g=Hb(d+16|0,148960);c=j[d+16>>2];e=j[c+4>>2]-1|0;j[c+4>>2]=e;if((e|0)==-1){O[j[j[c>>2]+8>>2]](c)}j[d+8>>2]=j[(j[j[a>>2]-12>>2]+a|0)+24>>2];c=j[j[a>>2]-12>>2]+a|0;e=lo(c);h=d,i=O[j[j[g>>2]+24>>2]](g,j[d+8>>2],c,e,b)|0,j[h+16>>2]=i;if(j[d+16>>2]){break a}vd(j[j[a>>2]-12>>2]+a|0,5)}jh(f);M=d+32|0}function lf(a,b){var c=0,d=0,e=0,f=0,g=0;e=M-16|0;M=e;c=a;d=j[a+4>>2];a:{if(k[a+11|0]>>>7|0){break a}d=k[c+11|0]}if(d>>>0>=b>>>0){c=k[c+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;b:{if(c-d>>>0>=1){if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}f=d-b|0;if(!f){break b}g=b+c|0;Kb(g+1|0,g,f);break b}pb(a,c,(d+1|0)-c|0,d,b,0,1);c=j[a>>2]}Xd(b+c|0,1,32);d=d+1|0;b=d;c:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break c}h[a+11|0]=b}h[e+15|0]=0;h[c+d|0]=k[e+15|0];M=e+16|0;return}X();z()}function bf(a,b,c,d,e){var f=0,g=0,h=0;g=M-16|0;M=g;if(1073741807-b>>>0>=c>>>0){if(k[a+11|0]>>>7|0){h=j[a>>2]}else{h=a}a:{if(b>>>0<536870887){j[g+8>>2]=b<<1;j[g+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=g+8|0;f=g+12|0;c=j[(m[f>>2]>2]?c:f)>>2];if(c>>>0>=2){f=c+4&-4;c=f-1|0;c=(c|0)==2?f:c}else{c=1}break a}c=1073741806}f=c+1|0;c=Rc(f);if(e){sc(c,h,e)}d=d-e|0;if(d){e=e<<2;sc(e+c|0,e+h|0,d)}if((b|0)!=1){T(h)}j[a>>2]=c;j[a+8>>2]=f|-2147483648;M=g+16|0;return}X();z()}function Cg(a,b,c,d){var e=0,f=0,g=0,h=0;e=M-16|0;M=e;a:{b:{c:{if((a|0)!=(b|0)){d:{e:{f=k[a|0];if((f|0)!=45){break e}a=a+1|0;if((b|0)!=(a|0)){break e}break d}h=j[37203];j[37203]=0;a=te(a,e+12|0,d,ra());d=N;g=j[37203];f:{if(g){if(j[e+12>>2]!=(b|0)){break f}if((g|0)==68){break c}break b}j[37203]=h;if(j[e+12>>2]==(b|0)){break b}}}}j[c>>2]=4;a=0;b=0;break a}j[c>>2]=4;a=-1;b=-1;break a}b=a;c=(f|0)==45;a=c?0-a|0:a;b=c?0-(d+((b|0)!=0)|0)|0:d}M=e+16|0;N=b;return a}function uq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=0,l=0;f=j[b+68>>2];if(f){g=O[j[j[f>>2]+24>>2]](f)|0;f=-1;h=-1;a:{if(!j[b+64>>2]|((g|0)<1?c|d:0)){break a}if(O[j[j[b>>2]+24>>2]](b)|e>>>0>2){break a}i=j[b+64>>2];d=Cr(g,g>>31,c,d);c=(g|0)>0;if(De(i,c?d:0,c?N:0,e)){break a}c=j[b+64>>2];b:{if(j[c+76>>2]<=-1){f=xh(c);h=N;break b}f=xh(c);h=N}k=j[b+72>>2];l=j[b+76>>2]}j[a+8>>2]=f;j[a+12>>2]=h;j[a>>2]=k;j[a+4>>2]=l;return}Fa();z()}function xb(a,b,c){var d=0,e=0,f=0,g=0,i=0;d=M-16|0;M=d;j[d+12>>2]=c;if(k[a+11|0]>>>7|0){f=j[a+4>>2]}else{f=k[a+11|0]}if(f>>>0>=b>>>0){if(c){if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}g=c;e=f-b|0;j[d+8>>2]=e;c=M-16|0;M=c;M=c+16|0;c=d+8|0;i=d+12|0;c=j[(m[c>>2]>2]?c:i)>>2];j[d+12>>2]=c;e=e-c|0;if(e){b=b+g|0;Kb(b,b+c|0,e);c=j[d+12>>2]}c=f-c|0;b=c;a:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break a}h[a+11|0]=b}h[d+7|0]=0;h[c+g|0]=k[d+7|0]}M=d+16|0;return}X();z()}function _(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+8>>2]=e;j[f+12>>2]=c;e=(e|0)==-1;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if(!(e|c>>>0>>0)){j[f>>2]=c-b;c=M-16|0;M=c;M=c+16|0;c=f+12|0;j[f+4>>2]=j[(m[f>>2]>2]?f:c)>>2];if(k[a+11|0]>>>7|0){a=j[a>>2]}c=M-16|0;M=c;M=c+16|0;c=a+b|0;a=f+8|0;b=f+4|0;b=ke(c,d,j[(m[a>>2]>2]?a:b)>>2]);a:{if(b){break a}b=-1;a=j[f+4>>2];c=j[f+8>>2];if(a>>>0>>0){break a}b=a>>>0>c>>>0}M=f+16|0;return b}X();z()}function Fg(a,b,c,d){var e=0,f=0,g=0,h=0;e=M-16|0;M=e;a:{b:{c:{d:{if((a|0)!=(b|0)){e:{f:{f=k[a|0];if((f|0)!=45){break f}a=a+1|0;if((b|0)!=(a|0)){break f}break e}h=j[37203];j[37203]=0;a=te(a,e+12|0,d,ra());d=N;g=j[37203];g:{if(g){if(j[e+12>>2]!=(b|0)){break g}if((g|0)==68){break c}break d}j[37203]=h;if(j[e+12>>2]==(b|0)){break d}}}}j[c>>2]=4;a=0;break a}if(!d&a>>>0<=65535){break b}}j[c>>2]=4;a=65535;break a}a=(f|0)==45?0-a|0:a}M=e+16|0;return a&65535}function eh(a,b,c,d){var e=0,f=0,g=0;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;g=k[b+28|0]>d>>>0;e=h[b+27|0];f=j[b+20>>2];a:{if((e|0)<=-1){break a}f=e&255}b:{if(g|(!j[j[b+64>>2]+4484>>2]|d?f>>>0>=d>>>0:0)){break b}if(!Vc(b,c)){break b}d=b+16|0;e=k[d+11|0];f=e<<24>>24;c:{d:{if((f|0)<=-1){e=j[b+20>>2];if(!e){break c}d=j[d>>2];break d}if(!f){break c}}if(Eb(c,d,e)){break b}}ua(a,b+4|0);d=h[b+27|0];b=j[b+20>>2];e:{if((d|0)<=-1){break e}b=d&255}$(a,b+c|0)}}function Gd(a,b){var c=0,d=0,e=0,f=0;d=M-16|0;M=d;e=d;f=Ya(a,62);a=ca(a,121161);c=0;a:{if(!a){break a}c=0;if(a>>>0>=f>>>0){break a}b:{while(1){c=k[a-1|0];if((c|0)==10|(c|0)==32){break b}a=ca(W(121161)+a|0,121161);c=0;if(!a){break a}if(a>>>0>>0){continue}break}c=0;break a}c=W(121161)+a|0}mc(e,c);a=0;c=W(b);f=k[d+11|0];e=f<<24>>24;if((c|0)==(((e|0)<0?j[d+4>>2]:f)|0)){a=!_(d,0,-1,b,c);e=k[d+11|0]}if(e<<24>>24<=-1){T(j[d>>2])}M=d+16|0;return a}function Zg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;h=-1;f=d&2147483647;i=f;g=c;a:{if(!c&(f|0)==2147418112?a|b:(f|0)==2147418112&(c|0)!=0|f>>>0>2147418112){break a}f=e&2147483647;j=f;if((f|0)==2147418112?0:f>>>0>2147418112){break a}if(!(a|g|(i|j|b))){return 0}g=d&e;if((g|0)>0?1:(g|0)>=0){if(!c&(d|0)==(e|0)?0:(d|0)<(e|0)){break a}return(a|c)!=0|(d^e|b)!=0}if(!c&(d|0)==(e|0)?a|b:(d|0)>(e|0)?1:(d|0)>=(e|0)?c:0){break a}h=(a|c)!=0|(d^e|b)!=0}return h}function tc(a,b){a:{if(a){if(b>>>0<=127){break a}b:{if(!j[j[37179]>>2]){if((b&-128)==57216){break a}break b}if(b>>>0<=2047){h[a+1|0]=b&63|128;h[a|0]=b>>>6|192;return 2}if(!((b&-8192)!=57344?b>>>0>=55296:0)){h[a+2|0]=b&63|128;h[a|0]=b>>>12|224;h[a+1|0]=b>>>6&63|128;return 3}if(b-65536>>>0<=1048575){h[a+3|0]=b&63|128;h[a|0]=b>>>18|240;h[a+2|0]=b>>>6&63|128;h[a+1|0]=b>>>12&63|128;return 4}}j[37203]=25;a=-1}else{a=1}return a}h[a|0]=b;return 1}function Xo(a,b){var c=0,d=0;a:{d=b&255;if(d){if(a&3){while(1){c=k[a|0];if(!c|(c|0)==(b&255)){break a}a=a+1|0;if(a&3){continue}break}}c=j[a>>2];b:{if((c^-1)&c-16843009&-2139062144){break b}d=p(d,16843009);while(1){c=c^d;if((c^-1)&c-16843009&-2139062144){break b}c=j[a+4>>2];a=a+4|0;if(!(c-16843009&(c^-1)&-2139062144)){continue}break}}while(1){c=a;d=k[c|0];if(d){a=c+1|0;if((d|0)!=(b&255)){continue}}break}return c}return W(a)+a|0}return a}function Gl(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=j[a+8>>2];c=j[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=ya(c,0,b)+b|0}j[a+4>>2]=c;return}a:{f=j[a>>2];g=c-f|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){c=0;e=e-f|0;i=e>>2;d=e>>3>>>0<268435455?d>>>0>i>>>0?d:i:536870911;if(d){if(d>>>0>=536870912){break a}c=U(d<<3)}b=b<<3;b=ya((h<<3)+c|0,0,b)+b|0;if((g|0)>=1){V(c,f,g)}j[a+8>>2]=(d<<3)+c;j[a+4>>2]=b;j[a>>2]=c;if(f){T(f)}return}X();z()}D();z()}function _b(a,b,c,d,e,f){var g=0,h=0,i=0,l=0;i=M-16|0;M=i;a:{if(!a){break a}h=j[e+12>>2];g=c-b|0;if((g|0)>=1){g=g>>2;if((O[j[j[a>>2]+48>>2]](a,b,g)|0)!=(g|0)){break a}}b=d-b>>2;g=(b|0)<(h|0)?h-b|0:0;if((g|0)>=1){h=a;f=sg(i,g,f);b=f;if(k[b+11|0]>>>7|0){b=j[b>>2]}b=O[j[j[a>>2]+48>>2]](h,b,g)|0;Y(f);if((b|0)!=(g|0)){break a}}b=d-c|0;if((b|0)>=1){b=b>>2;if((O[j[j[a>>2]+48>>2]](a,c,b)|0)!=(b|0)){break a}}j[e+12>>2]=0;l=a}M=i+16|0;return l}function Ca(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;j[a+4>>2]=j[a+4>>2]+1;c=M-16|0;M=c;j[c+12>>2]=a;a=d+8|0;j[a>>2]=j[c+12>>2];M=c+16|0;if(j[37685]-j[37684]>>2>>>0<=b>>>0){cl(b+1|0)}if(j[j[37684]+(b<<2)>>2]){c=j[j[37684]+(b<<2)>>2];e=j[c+4>>2]-1|0;j[c+4>>2]=e;if((e|0)==-1){O[j[j[c>>2]+8>>2]](c)}}c=j[a>>2];j[a>>2]=0;j[j[37684]+(b<<2)>>2]=c;b=j[a>>2];j[a>>2]=0;if(b){a=j[b+4>>2]-1|0;j[b+4>>2]=a;if((a|0)==-1){O[j[j[b>>2]+8>>2]](b)}}M=d+16|0}function hb(a,b,c,d){var e=0,f=0;a:{if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}if(!e|(c-b|0)<5){break a}kd(b,c);f=c-4|0;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}if(k[a+11|0]>>>7|0){a=j[a>>2]}c=a;a=e+a|0;while(1){b:{e=h[c|0];if(b>>>0>=f>>>0){break b}if(!((e|0)<1|(e|0)>=127|j[b>>2]==h[c|0])){j[d>>2]=4;return}c=(a-c|0)>1?c+1|0:c;b=b+4|0;continue}break}if((e|0)<1|(e|0)>=127|h[c|0]>>>0>j[f>>2]-1>>>0){break a}j[d>>2]=4}}function Dg(a,b,c,d){var e=0,f=0,g=0,h=0;e=M-16|0;M=e;a:{b:{c:{d:{if((a|0)!=(b|0)){e:{f:{f=k[a|0];if((f|0)!=45){break f}a=a+1|0;if((b|0)!=(a|0)){break f}break e}h=j[37203];j[37203]=0;a=te(a,e+12|0,d,ra());d=N;g=j[37203];g:{if(g){if(j[e+12>>2]!=(b|0)){break g}if((g|0)==68){break c}break d}j[37203]=h;if(j[e+12>>2]==(b|0)){break d}}}}j[c>>2]=4;a=0;break a}if(!d){break b}}j[c>>2]=4;a=-1;break a}a=(f|0)==45?0-a|0:a}M=e+16|0;return a}function Pc(a,b){var c=0,d=0,e=0;a:{d=k[a+11|0];c=d<<24>>24<0;d=c?j[a+4>>2]:d;if(!d){break a}c=c?j[a>>2]:a;a=c;e=d&3;if(e){a=c;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+2|0];a=a+1|0;e=e-1|0;if(e){continue}break}}if(d-1>>>0<=2){break a}c=c+d|0;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+2|0];h[a+1|0]=k[(p(k[a+1|0],3)+b|0)+2|0];h[a+2|0]=k[(p(k[a+2|0],3)+b|0)+2|0];h[a+3|0]=k[(p(k[a+3|0],3)+b|0)+2|0];a=a+4|0;if((c|0)!=(a|0)){continue}break}}}function Pa(a,b){var c=0,d=0,e=0;a:{d=k[a+11|0];c=d<<24>>24<0;d=c?j[a+4>>2]:d;if(!d){break a}c=c?j[a>>2]:a;a=c;e=d&3;if(e){a=c;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+1|0];a=a+1|0;e=e-1|0;if(e){continue}break}}if(d-1>>>0<=2){break a}c=c+d|0;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+1|0];h[a+1|0]=k[(p(k[a+1|0],3)+b|0)+1|0];h[a+2|0]=k[(p(k[a+2|0],3)+b|0)+1|0];h[a+3|0]=k[(p(k[a+3|0],3)+b|0)+1|0];a=a+4|0;if((c|0)!=(a|0)){continue}break}}}function Je(a,b){var c=0,d=0,e=0;c=M-32|0;M=c;a:{b:{if(j[a+56>>2]){j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;d=W(b);if(d>>>0>=4294967280){break a}c:{d:{if(d>>>0>=11){e=d+16&-16;a=U(e);j[c+8>>2]=e|-2147483648;j[c>>2]=a;j[c+4>>2]=d;e=c;break d}h[c+11|0]=d;e=c;a=c;if(!d){break c}}V(a,b,d)}h[a+d|0]=0;a=ia(c+16|0,c);if(h[e+11|0]<=-1){T(j[c>>2])}b=j[c+16>>2];if(!b){break b}j[c+20>>2]=b;T(b);break b}a=W(b)}M=c+32|0;return a}X();z()}function $n(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=M-16|0;M=d;f=(Lr(b),Gr(2));c=f&2147483647;a:{if(c-8388608>>>0<=2130706431){e=c;c=c>>>7|0;g=e<<25;c=c+1065353216|0;break a}if(c>>>0>=2139095040){c=f;e=c>>>7|0;g=c<<25;c=e|2147418112;break a}if(!c){c=0;break a}e=c;c=s(c);mb(d,e,0,0,0,c+81|0);h=j[d>>2];i=j[d+4>>2];g=j[d+8>>2];c=j[d+12>>2]^65536|16265-c<<16}j[a>>2]=h;j[a+4>>2]=i;j[a+8>>2]=g;j[a+12>>2]=f&-2147483648|c;M=d+16|0}function $b(a,b,c,d,e,f){var g=0,h=0,i=0,l=0;i=M-16|0;M=i;a:{if(!a){break a}h=j[e+12>>2];g=c-b|0;if((g|0)>=1){if((O[j[j[a>>2]+48>>2]](a,b,g)|0)!=(g|0)){break a}}b=d-b|0;g=(b|0)<(h|0)?h-b|0:0;if((g|0)>=1){h=a;f=vg(i,g,f);b=f;if(k[b+11|0]>>>7|0){b=j[b>>2]}b=O[j[j[a>>2]+48>>2]](h,b,g)|0;Y(f);if((b|0)!=(g|0)){break a}}b=d-c|0;if((b|0)>=1){if((O[j[j[a>>2]+48>>2]](a,c,b)|0)!=(b|0)){break a}}j[e+12>>2]=0;l=a}M=i+16|0;return l}function tg(a,b,c){var d=0,e=0,f=0,g=0;a:{d=j[a+4096>>2];e=j[d>>2];if((e|0)!=j[d+4>>2]){d=0;while(1){f=dc(j[(d<<2)+e>>2],b);if(!f){g=j[a+4096>>2];e=j[g>>2];d=d+1|0;if(d>>>0>2]-e>>2>>>0){continue}}break}if(f){break a}}d=gb(a,b,c,0,0);b:{if(d){break b}d=Qa(a,b,c,0,0,0,0,0);if(!j[a+4488>>2]){break b}j[a+4372>>2]=0;j[a+4376>>2]=0;if(d){break b}d=eb(a,b,c,0,0,0);if(d){break b}d=Lb(a,b,c,0)}return(d|0)!=0}return 1}function dc(a,b){var c=0,d=0,e=0,f=0;f=j[a+4>>2];if(!f){return 0}d=h[b|0];a:{if(!d){break a}c=h[b+1|0];if(!c){c=d;break a}c=c|d<<8;d=h[b+2|0];if(!d){break a}c=d|c<<8;d=h[b+3|0];if(!d){break a}c=d|c<<8;e=b+4|0;d=k[e|0];if(!d){break a}while(1){c=Er(c,5)^d<<24>>24;d=k[e+1|0];e=e+1|0;if(d){continue}break}}c=j[((c>>>0)%m[a>>2]<<2)+f>>2];if(c){while(1){if(!ba(b,c+17|0)){return c}c=j[c+8>>2];if(c){continue}break}}return 0}function $q(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=j[a+8>>2];c=j[a+4>>2];if(e-c>>1>>>0>=b>>>0){if(b){b=b<<1;c=ya(c,0,b)+b|0}j[a+4>>2]=c;return}a:{f=j[a>>2];g=c-f|0;h=g>>1;d=h+b|0;if((d|0)>-1){c=0;e=e-f|0;d=e>>1>>>0<1073741823?d>>>0>e>>>0?d:e:2147483647;if(d){if((d|0)<=-1){break a}c=U(d<<1)}b=b<<1;b=ya((h<<1)+c|0,0,b)+b|0;if((g|0)>=1){V(c,f,g)}j[a+8>>2]=(d<<1)+c;j[a+4>>2]=b;j[a>>2]=c;if(f){T(f)}return}X();z()}D();z()}function Kq(a,b){var c=0,d=0,e=0,f=0;c=M-16|0;M=c;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;a:{if(!b){break a}b=ca(b,121182);if(!b){break a}while(1){mc(c,(W(121182)+b|0)-1|0);d=h[c+11|0];b:{if((d|0)<=-1){if(j[c+4>>2]){break b}T(j[c>>2]);break a}if(!d){break a}}d=j[a+4>>2];c:{if((d|0)!=j[a+8>>2]){e=a,f=ha(d,c)+12|0,j[e+4>>2]=f;break c}Wb(a,c)}if(h[c+11|0]<=-1){T(j[c>>2])}b=ca(b+1|0,121182);if(b){continue}break}}M=c+16|0}function da(a,b){var c=0,d=0,e=0;a:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break a}h[a+11|0]=0;h[a|0]=0}c=j[b>>2];d=j[b+4>>2];if(c>>>0>>0){while(1){e=a;b=k[c+1|0];b:{c:{if(b){if(b>>>0>=8){Z(a,b>>>4|-32);b=k[c+1|0]<<2&60|k[c|0]>>>6|-128;break c}b=(b<<2|k[c|0]>>>6)+ -64|0;break c}b=h[c|0];if((b|0)>-1){break b}b=(b&192)>>>6|-64}Z(e,b<<24>>24);b=k[c|0]&63|-128}Z(a,b);c=c+2|0;if(d>>>0>c>>>0){continue}break}}}function wo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=M-16|0;M=e;while(1){a:{if((c|0)<=(f|0)){break a}d=j[a+24>>2];g=j[a+28>>2];if(d>>>0>=g>>>0){if((O[j[j[a>>2]+52>>2]](a,k[b|0])|0)==-1){break a}f=f+1|0;b=b+1|0}else{j[e+12>>2]=g-d;j[e+8>>2]=c-f;d=M-16|0;M=d;M=d+16|0;d=e+8|0;g=e+12|0;d=j[(j[d>>2]>2]?d:g)>>2];ac(j[a+24>>2],b,d);j[a+24>>2]=d+j[a+24>>2];f=d+f|0;b=b+d|0}continue}break}M=e+16|0;return f|0}function ll(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;b=M-32|0;M=b;d=ga(b+16|0);c=M-16|0;M=c;j[c+8>>2]=d;M=c+16|0;g=j[c+8>>2];if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}e=c;if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}Rf(g,e,c+f|0);if(k[d+11|0]>>>7|0){c=j[d>>2]}else{c=d}e=ga(a);a=M-16|0;M=a;j[a+8>>2]=e;M=a+16|0;Rf(j[a+8>>2],c,W(c)+c|0);Y(d);M=b+32|0}function se(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0;e=M-160|0;M=e;ya(e+16|0,0,144);j[e+92>>2]=-1;j[e+60>>2]=b;j[e+24>>2]=-1;j[e+20>>2]=b;Ib(e+16|0,0,0);Vg(e,e+16|0,d,1);d=j[e+8>>2];g=j[e+12>>2];h=j[e>>2];i=j[e+4>>2];if(c){k=c;f=b;b=j[e+20>>2]-j[e+24>>2]|0;l=b;c=b+j[e+136>>2]|0;b=j[e+140>>2]+(b>>31)|0;b=c>>>0>>0?b+1|0:b;j[k>>2]=!(b|c)?f:f+c|0}j[a>>2]=h;j[a+4>>2]=i;j[a+8>>2]=d;j[a+12>>2]=g;M=e+160|0}function yi(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:1;g=d;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}a:{if(g-e>>>0>=c>>>0){if(!c){break a}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}sc(d+(e<<2)|0,b,c);b=c+e|0;c=b;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}j[f+12>>2]=0;j[d+(b<<2)>>2]=j[f+12>>2];break a}cf(a,d,(c+e|0)-d|0,e,e,0,c,b)}M=f+16|0}function ob(a){var b=0,c=0,d=0,e=0,f=0;b=M-16|0;M=b;j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;ia(b,a);c=j[b>>2];d=j[b+4>>2];a:{if((c|0)==(d|0)){break a}d=d-2|0;if(d>>>0<=c>>>0){break a}while(1){e=k[c|0]|k[c+1|0]<<8;f=k[d|0]|k[d+1|0]<<8;h[c|0]=f;h[c+1|0]=f>>>8;h[d|0]=e;h[d+1|0]=e>>>8;c=c+2|0;d=d-2|0;if(c>>>0>>0){continue}break}}da(a,b);c=j[b+4>>2];a=j[b>>2];if(a){j[b+4>>2]=a;T(a)}M=b+16|0;return c-a>>1}function Sj(){var a=0;a:{if(h[149544]&1){break a}if(!Ma(149544)){break a}a=149376;while(1){a=ga(a)+12|0;if((a|0)!=149544){continue}break}La(149544)}oa(149376,132568);oa(149388,132575);oa(149400,132582);oa(149412,132590);oa(149424,132600);oa(149436,132609);oa(149448,132616);oa(149460,132625);oa(149472,132629);oa(149484,132633);oa(149496,132637);oa(149508,132641);oa(149520,132645);oa(149532,132649)}function Pj(){var a=0;a:{if(h[149720]&1){break a}if(!Ma(149720)){break a}a=149552;while(1){a=ga(a)+12|0;if((a|0)!=149720){continue}break}La(149720)}na(149552,132656);na(149564,132684);na(149576,132712);na(149588,132744);na(149600,132784);na(149612,132820);na(149624,132848);na(149636,132884);na(149648,132900);na(149660,132916);na(149672,132932);na(149684,132948);na(149696,132964);na(149708,132980)}function il(a,b,c,d){var e=0,f=0;e=M-160|0;M=e;j[e+152>>2]=b;f=e+144|0;a:{b:while(1){if(c>>>0>>0){j[e+8>>2]=c;if((O[j[j[a>>2]+16>>2]](a,e+144|0,c,(d-c|0)>32?c+32|0:d,e+8|0,e+16|0,f,e+12|0)|0)==2){break a}b=e+16|0;if(j[e+8>>2]==(c|0)){break a}while(1)if(m[e+12>>2]<=b>>>0){c=j[e+8>>2];continue b}else{j[e+4>>2]=j[b>>2];bd(j[e+152>>2],j[e+4>>2]);b=b+4|0;continue}}break}M=e+160|0;return}Fa();z()}function Wo(a,b){var c=0;a:{b:{if((a^b)&3){break b}if(b&3){while(1){c=k[b|0];h[a|0]=c;if(!c){break a}a=a+1|0;b=b+1|0;if(b&3){continue}break}}c=j[b>>2];if((c^-1)&c-16843009&-2139062144){break b}while(1){j[a>>2]=c;c=j[b+4>>2];a=a+4|0;b=b+4|0;if(!(c-16843009&(c^-1)&-2139062144)){continue}break}}c=k[b|0];h[a|0]=c;if(!c){break a}while(1){c=k[b+1|0];h[a+1|0]=c;a=a+1|0;b=b+1|0;if(c){continue}break}}}function Op(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;Hh(a,h[b+11|0]<0?j[b>>2]:b,h[c+11|0]<0?j[c>>2]:c,d+12|0,d+8|0,d+4|0);a=j[d+4>>2];if(a){b=j[d+12>>2];a:{if(!b){break a}c=j[d+8>>2];if(!c){break a}f=c+1|0;while(1){b:{c:{switch(k[a+(p(b,f)+c|0)|0]){case 2:c=c-1|0;b=b-1|0;e=e+1|0;break b;case 0:b=b-1|0;break b;default:break c}}c=c-1|0}if(!b){break a}if(c){continue}break}}T(a)}M=d+16|0;return e}function ub(a,b){var c=0,d=0,e=0,f=0,g=0;d=M-16|0;M=d;j[a+65784>>2]=j[a+65784>>2]+1;e=j[a>>2];c=j[(e+j[j[e>>2]-12>>2]|0)+28>>2];j[d+8>>2]=c;j[c+4>>2]=j[c+4>>2]+1;c=Hb(d+8|0,149132);g=O[j[j[c>>2]+28>>2]](c,10)|0;c=j[d+8>>2];f=j[c+4>>2]-1|0;j[c+4>>2]=f;if((f|0)==-1){O[j[j[c>>2]+8>>2]](c)}b=Vd(e,b,g);b=j[(j[j[b>>2]-12>>2]+b|0)+16>>2]&5;if(b){j[a+65784>>2]=j[a+65784>>2]-1}M=d+16|0;return!b}function Nd(a,b,c){var d=0,e=0,f=0;f=j[c+16>>2];a:{if(f){d=f}else{if(di(c)){break a}d=j[c+16>>2]}f=j[c+20>>2];if(d-f>>>0>>0){return O[j[c+36>>2]](c,a,b)|0}b:{if(h[c+75|0]<0){break b}d=b;while(1){e=d;if(!e){e=0;break b}d=e-1|0;if(k[d+a|0]!=10){continue}break}d=O[j[c+36>>2]](c,a,e)|0;if(d>>>0>>0){break a}a=a+e|0;b=b-e|0;f=j[c+20>>2]}V(f,a,b);j[c+20>>2]=j[c+20>>2]+b;d=b+e|0}return d}function aa(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;g=d;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}a:{if(g-e>>>0>=c>>>0){if(!c){break a}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}ac(d+e|0,b,c);b=c+e|0;c=b;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}h[f+15|0]=0;h[b+d|0]=k[f+15|0];break a}cd(a,d,(c+e|0)-d|0,e,e,0,c,b)}M=f+16|0}function yg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0;e=M-32|0;M=e;a:{if((b|0)!=(c|0)){k=j[37203];j[37203]=0;ej(e,b,e+28|0);b=j[e+8>>2];f=j[e+12>>2];g=j[e>>2];h=j[e+4>>2];i=j[37203];b:{if(i){if(j[e+28>>2]!=(c|0)){break b}if((i|0)!=68){break a}j[d>>2]=4;break a}j[37203]=k;if(j[e+28>>2]==(c|0)){break a}}}j[d>>2]=4;g=0;h=0;b=0;f=0}j[a>>2]=g;j[a+4>>2]=h;j[a+8>>2]=b;j[a+12>>2]=f;M=e+32|0}function bd(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;j[d+12>>2]=b;a:{b:{c:{d:{if(k[a+11|0]>>>7|0){c=(j[a+8>>2]&2147483647)-1|0;e=j[a+4>>2];if((c|0)==(e|0)){break d}break b}e=1;c=1;b=k[a+11|0];if((b|0)!=1){break c}}bf(a,c,1,c,c);b=e;if(k[a+11|0]>>>7|0){break b}}c=a;h[a+11|0]=b+1;break a}c=j[a>>2];j[a+4>>2]=e+1;b=e}a=(b<<2)+c|0;j[a>>2]=j[d+12>>2];j[d+8>>2]=0;j[a+4>>2]=j[d+8>>2];M=d+16|0}function Gg(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;a:{b:{if((a|0)!=(b|0)){g=j[37203];j[37203]=0;d=Kg(a,e+12|0,d,ra());a=N;f=j[37203];c:{if(f){if(j[e+12>>2]!=(b|0)){break c}if((f|0)==68){break b}break a}j[37203]=g;if(j[e+12>>2]==(b|0)){break a}}}j[c>>2]=4;d=0;a=0;break a}j[c>>2]=4;if((a|0)>0?1:(a|0)>=0?d>>>0>=1:0){d=-1;a=2147483647;break a}d=0;a=-2147483648}M=e+16|0;N=a;return d}function Z(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;h[d+15|0]=b;a:{b:{c:{d:{if(k[a+11|0]>>>7|0){c=(j[a+8>>2]&2147483647)-1|0;e=j[a+4>>2];if((c|0)==(e|0)){break d}break b}e=10;c=10;b=k[a+11|0];if((b|0)!=10){break c}}pb(a,c,1,c,c,0,0);b=e;if(k[a+11|0]>>>7|0){break b}}c=a;h[a+11|0]=b+1;break a}c=j[a>>2];j[a+4>>2]=e+1;b=e}a=b+c|0;h[a|0]=k[d+15|0];h[d+14|0]=0;h[a+1|0]=k[d+14|0];M=d+16|0}function zc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=M-16|0;M=e;f=j[a+4>>2];d=j[c>>2]-j[a>>2]|0;a:{if(d>>>0<2147483647){d=d<<1;break a}d=-1}g=d?d:4;h=j[b>>2];i=j[a>>2];d=vc((f|0)==78?0:j[a>>2],g);if(d){if((f|0)!=78){j[a>>2]=0}j[e+4>>2]=77;d=Da(e+8|0,d,e+4|0);ag(a,d);f=j[d>>2];j[d>>2]=0;if(f){O[j[d+4>>2]](f)}j[b>>2]=j[a>>2]+(h-i|0);j[c>>2]=j[a>>2]+(g&-4);M=e+16|0;return}Fa();z()}function Ig(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=M-16|0;M=g;e=c-b>>2;if(e>>>0<=1073741807){a:{if(e>>>0<=1){h[a+11|0]=e;d=a;break a}i=a;if(e>>>0>=2){d=e+4&-4;f=d-1|0;d=(f|0)==2?d:f}else{d=1}f=d+1|0;d=Rc(f);j[i>>2]=d;j[a+8>>2]=f|-2147483648;j[a+4>>2]=e}while(1){if((b|0)!=(c|0)){j[d>>2]=j[b>>2];d=d+4|0;b=b+4|0;continue}break}j[g+12>>2]=0;j[d>>2]=j[g+12>>2];M=g+16|0;return}X();z()}function Jg(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=M-16|0;M=g;e=c-b|0;if(e>>>0<=4294967279){a:{if(e>>>0<=10){h[a+11|0]=e;d=a;break a}i=a;if(e>>>0>=11){d=e+16&-16;f=d-1|0;d=(f|0)==11?d:f}else{d=10}f=d+1|0;d=U(f);j[i>>2]=d;j[a+8>>2]=f|-2147483648;j[a+4>>2]=e}while(1){if((b|0)!=(c|0)){h[d|0]=k[b|0];d=d+1|0;b=b+1|0;continue}break}h[g+15|0]=0;h[d|0]=k[g+15|0];M=g+16|0;return}X();z()}function Ai(a,b,c){var d=0,e=0,f=0,g=0;e=M-16|0;M=e;d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:1;a:{if(d>>>0>=c>>>0){if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}f=d;if(c){Ni(d,b,c)}j[e+12>>2]=0;j[(c<<2)+f>>2]=j[e+12>>2];b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}break a}f=a;g=d;d=c-d|0;if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}cf(f,g,d,a,0,a,c,b)}M=e+16|0}function jq(a,b,c,d,e){var f=0,g=0,i=0;f=M-32|0;M=f;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;a:{if(d){if((d|0)<=-1){break a}i=d<<1;g=U(i);j[f+16>>2]=g;d=(d<<1)+g|0;j[f+24>>2]=d;V(g,c,i);j[f+20>>2]=d}Oc(f+16|0,j[a+60>>2]);j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;da(f,f+16|0);wa(a,b,f,e,0,0);if(h[f+11|0]<=-1){T(j[f>>2])}a=j[f+16>>2];if(a){j[f+20>>2]=a;T(a)}M=f+32|0;return}X();z()}function dg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=M-16|0;M=e;f=j[a+4>>2];d=j[c>>2]-j[a>>2]|0;a:{if(d>>>0<2147483647){d=d<<1;break a}d=-1}g=d?d:1;h=j[b>>2];i=j[a>>2];d=vc((f|0)==78?0:j[a>>2],g);if(d){if((f|0)!=78){j[a>>2]=0}j[e+4>>2]=77;d=Da(e+8|0,d,e+4|0);ag(a,d);f=j[d>>2];j[d>>2]=0;if(f){O[j[d+4>>2]](f)}j[b>>2]=j[a>>2]+(h-i|0);j[c>>2]=g+j[a>>2];M=e+16|0;return}Fa();z()}function Bh(a,b){var c=0,d=0,e=0;c=Hc(a,b);if((c|0)==(a+4|0)){return}b=j[c+4>>2];a:{if(!b){d=j[c+8>>2];if(j[d>>2]==(c|0)){break a}b=c+8|0;while(1){d=j[b>>2];b=d+8|0;e=d;d=j[d+8>>2];if((e|0)!=j[d>>2]){continue}break}break a}while(1){d=b;b=j[d>>2];if(b){continue}break}}if(j[a>>2]==(c|0)){j[a>>2]=d}j[a+8>>2]=j[a+8>>2]-1;Ch(j[a+4>>2],c);if(h[c+27|0]<=-1){T(j[c+16>>2])}T(c)}function md(a,b,c){var d=0,e=0;if(c&2048){h[a|0]=43;a=a+1|0}if(c&1024){h[a|0]=35;a=a+1|0}d=c&260;if((d|0)!=260){h[a|0]=46;h[a+1|0]=42;a=a+2|0}c=c&16384;while(1){e=k[b|0];if(e){h[a|0]=e;a=a+1|0;b=b+1|0;continue}break}a:{b:{if((d|0)!=256){if((d|0)!=4){break b}b=c?70:102;break a}b=c?69:101;break a}b=c?65:97;if((d|0)==260){break a}b=c?71:103}h[a|0]=b;return(d|0)!=260}function ki(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(zb(a,j[b+8>>2],e)){if(!(j[b+28>>2]==1|j[b+4>>2]!=(c|0))){j[b+28>>2]=d}return}a:{if(!zb(a,j[b>>2],e)){break a}if(!(j[b+20>>2]!=(c|0)?j[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}j[b+32>>2]=1;return}j[b+20>>2]=c;j[b+32>>2]=d;j[b+40>>2]=j[b+40>>2]+1;if(!(j[b+36>>2]!=1|j[b+24>>2]!=2)){h[b+54|0]=1}j[b+44>>2]=4}}function Ic(a,b){var c=0,d=0,e=0,f=0;c=M-48|0;M=c;j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;d=W(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+8>>2]=f|-2147483648;j[c>>2]=e;j[c+4>>2]=d;break b}h[c+11|0]=d;e=c;if(!d){break a}}V(e,b,d)}h[d+e|0]=0;a=jb(a,c,0);if(h[c+11|0]<=-1){T(j[c>>2])}if(h[c+27|0]<=-1){T(j[c+16>>2])}M=c+48|0;return a}X();z()}function Fd(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;Iq(a,b,c);b=j[b>>2];a:{if(!b){break a}e=j[b+4208>>2];if(!e){break a}c=j[a>>2];if((c|0)==j[a+4>>2]){break a}b=0;while(1){j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;f=c;c=p(b,12);if(Yc(e,f+c|0,d)){ua(j[a>>2]+c|0,d)}if(h[d+11|0]<=-1){T(j[d>>2])}b=b+1|0;c=j[a>>2];if(b>>>0<(j[a+4>>2]-c|0)/12>>>0){continue}break}}M=d+16|0}function oe(a,b,c,d,e){var f=0,g=0,h=0;f=M-16|0;M=f;b=j[b+28>>2];j[f+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=rb(f+8|0);O[j[j[b>>2]+48>>2]](b,127600,127632,c)|0;b=Bc(f+8|0);g=d,h=O[j[j[b>>2]+12>>2]](b)|0,j[g>>2]=h;g=e,h=O[j[j[b>>2]+16>>2]](b)|0,j[g>>2]=h;O[j[j[b>>2]+20>>2]](a,b);a=j[f+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=f+16|0}function bb(a){var b=0,c=0,d=0,e=0,f=0;a:{b:{c:{d:{e:{f:{b=k[a+11|0];e=b<<24>>24;if((e|0)<=-1){b=j[a+4>>2];if(b){break f}break a}if(e){break e}break a}d=b-1|0;c=k[d+j[a>>2]|0];if((c|0)!=13){break d}break c}d=b-1|0;c=k[d+a|0];if((c|0)==13){break c}}f=b;if((c|0)!=10){break b}}f=d}c=f;if(b>>>0<2){break a}c=c-(k[(((e|0)<0?j[a>>2]:a)+b|0)-2|0]==13)|0}Wa(a,c)}function re(a,b,c,d,e){var f=0,g=0,i=0;f=M-16|0;M=f;b=j[b+28>>2];j[f+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(f+8|0);O[j[j[b>>2]+32>>2]](b,127600,127632,c)|0;b=Dc(f+8|0);g=d,i=O[j[j[b>>2]+12>>2]](b)|0,h[g|0]=i;g=e,i=O[j[j[b>>2]+16>>2]](b)|0,h[g|0]=i;O[j[j[b>>2]+20>>2]](a,b);a=j[f+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=f+16|0}function _o(a,b){var c=0,d=0,e=0,f=0;d=a+3|0;c=k[a+3|0];f=(c|0)!=0;e=c|(k[a+1|0]<<16|k[a|0]<<24|k[a+2|0]<<8);a=k[b|0]|k[b+1|0]<<8|(k[b+2|0]<<16|k[b+3|0]<<24);b=a<<24|a<<8&16711680|(a>>>8&65280|a>>>24);a:{if(!(!c|(e|0)==(b|0))){while(1){a=d+1|0;c=k[d+1|0];f=(c|0)!=0;e=c|e<<8;if((b|0)==(e|0)){break a}d=a;if(c){continue}break}break a}a=d}return f?a-3|0:0}function Mi(a,b){var c=0,d=0,e=0,f=0;e=M-16|0;M=e;if(b){d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}f=c+b|0;if(d-c>>>0>>0){pb(a,d,f-d|0,c,c,0,0)}d=c;if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}Xd(d+c|0,b,0);a:{if(k[a+11|0]>>>7|0){j[a+4>>2]=f;break a}h[a+11|0]=f}h[e+15|0]=0;h[c+f|0]=k[e+15|0]}M=e+16|0}function tq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a:{b:{if(j[b+64>>2]){if(!(O[j[j[b>>2]+24>>2]](b)|0)){break b}}break a}if(De(j[b+64>>2],j[c+8>>2],j[c+12>>2],0)){break a}d=j[c+4>>2];j[b+72>>2]=j[c>>2];j[b+76>>2]=d;b=j[c+12>>2];j[a+8>>2]=j[c+8>>2];j[a+12>>2]=b;b=j[c+4>>2];j[a>>2]=j[c>>2];j[a+4>>2]=b;return}j[a+8>>2]=-1;j[a+12>>2]=-1;j[a>>2]=0;j[a+4>>2]=0}function yd(a,b,c,d){var e=0,f=0;e=M-160|0;M=e;V(e+8|0,122072,144);a:{b:{if(b-1>>>0>=2147483647){if(b){break b}b=1;a=e+159|0}j[e+52>>2]=a;j[e+28>>2]=a;f=-2-a|0;b=b>>>0>f>>>0?f:b;j[e+56>>2]=b;a=a+b|0;j[e+36>>2]=a;j[e+24>>2]=a;a=rh(e+8|0,c,d,61,62);if(!b){break a}b=j[e+28>>2];h[b-((b|0)==j[e+24>>2])|0]=0;break a}j[37203]=61;a=-1}M=e+160|0;return a}function jl(a,b,c,d){var e=0,f=0;e=M+ -64|0;M=e;j[e+56>>2]=b;f=e+48|0;a:{b:while(1){if(c>>>0>>0){j[e+8>>2]=c;if((O[j[j[a>>2]+12>>2]](a,e+48|0,c,d,e+8|0,e+16|0,f,e+12|0)|0)==2){break a}b=e+16|0;if(j[e+8>>2]==(c|0)){break a}while(1)if(m[e+12>>2]<=b>>>0){c=j[e+8>>2];continue b}else{Qf(e+56|0,b);b=b+1|0;continue}}break}M=e- -64|0;return}Fa();z()}function Rd(a,b,c,d){h[a+53|0]=1;a:{if(j[a+4>>2]!=(c|0)){break a}h[a+52|0]=1;c=j[a+16>>2];if(!c){j[a+36>>2]=1;j[a+24>>2]=d;j[a+16>>2]=b;if((d|0)!=1|j[a+48>>2]!=1){break a}h[a+54|0]=1;return}if((b|0)==(c|0)){c=j[a+24>>2];if((c|0)==2){j[a+24>>2]=d;c=d}if(j[a+48>>2]!=1|(c|0)!=1){break a}h[a+54|0]=1;return}h[a+54|0]=1;j[a+36>>2]=j[a+36>>2]+1}}function wh(a,b,c,d){var e=0,f=0;if((d|0)==1){f=b;e=j[a+8>>2]-j[a+4>>2]|0;b=b-e|0;c=c-((e>>31)+(f>>>0>>0)|0)|0}a:{if(m[a+20>>2]>m[a+28>>2]){O[j[a+36>>2]](a,0,0)|0;if(!j[a+20>>2]){break a}}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;O[j[a+40>>2]](a,b,c,d)|0;if((N|0)<0){break a}j[a+4>>2]=0;j[a+8>>2]=0;j[a>>2]=j[a>>2]&-17;return 0}return-1}function em(a,b,c,d,e,f){var g=0,h=0;g=O[j[j[a+8>>2]+8>>2]](a+8|0)|0;a=g;h=j[g+4>>2];a:{if(k[g+11|0]>>>7|0){break a}h=k[a+11|0]}if(k[g+23|0]>>>7|0){a=j[g+16>>2]}else{a=k[g+23|0]}if((h|0)==(0-a|0)){j[e>>2]=j[e>>2]|4;return}a=qd(c,d,g,g+24|0,f,e,0)-g|0;c=j[b>>2];if(!(a|(c|0)!=12)){j[b>>2]=0;return}if(!((a|0)!=12|(c|0)>11)){j[b>>2]=c+12}}function Ol(a,b,c,d,e,f){var g=0,h=0;g=O[j[j[a+8>>2]+8>>2]](a+8|0)|0;a=g;h=j[g+4>>2];a:{if(k[g+11|0]>>>7|0){break a}h=k[a+11|0]}if(k[g+23|0]>>>7|0){a=j[g+16>>2]}else{a=k[g+23|0]}if((h|0)==(0-a|0)){j[e>>2]=j[e>>2]|4;return}a=pd(c,d,g,g+24|0,f,e,0)-g|0;c=j[b>>2];if(!(a|(c|0)!=12)){j[b>>2]=0;return}if(!((a|0)!=12|(c|0)>11)){j[b>>2]=c+12}}function Np(a){var b=0,c=0,d=0,e=0;b=M-16|0;M=b;e=j[a>>2];c=W(e);if(c>>>0<4294967280){a:{b:{if(c>>>0>=11){a=c+16&-16;d=U(a);j[b+8>>2]=a|-2147483648;j[b>>2]=d;j[b+4>>2]=c;a=b;break b}h[b+11|0]=c;a=b;d=b;if(!c){break a}}V(d,e,c)}e=0;h[c+d|0]=0;d=Hc(148800,b);if(h[a+11|0]<=-1){T(j[b>>2])}M=b+16|0;return(d|0)!=148804?j[d+28>>2]:e}X();z()}function mf(a,b,c){var d=0,e=0,f=0;f=M-16|0;M=f;d=a;if(k[d+11|0]>>>7|0){e=(j[d+8>>2]&2147483647)-1|0}else{e=10}a:{if(e>>>0>=c>>>0){e=k[d+11|0]>>>7|0?j[d>>2]:d;Kb(e,b,c);h[f+15|0]=0;h[c+e|0]=k[f+15|0];b:{if(k[d+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}break a}a=k[d+11|0]>>>7|0?j[a+4>>2]:k[a+11|0];cd(d,e,c-e|0,a,0,a,c,b)}M=f+16|0}function Nb(a,b,c,d,e){var f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;h=e;e=0;i=e;f=c;c=0;e=Cr(h,e,f,c);k=N;g=b;l=Cr(d,0,b,0);b=N;d=Cr(d,m,f,c);c=b+d|0;b=N;b=c>>>0>>0?b+1|0:b;f=b;d=b+e|0;b=k;b=d>>>0>>0?b+1|0:b;f=d;e=b;b=Cr(g,n,h,i)+c|0;d=N;d=b>>>0>>0?d+1|0:d;g=d;d=d+f|0;j[a+8>>2]=d;j[a+12>>2]=d>>>0>>0?e+1|0:e;j[a>>2]=l;j[a+4>>2]=b}function jh(a){var b=0;a:{b=j[a+4>>2];if(!j[(j[j[b>>2]-12>>2]+b|0)+24>>2]){break a}b=j[a+4>>2];if(j[(j[j[b>>2]-12>>2]+b|0)+16>>2]){break a}b=j[a+4>>2];if(!(j[(j[j[b>>2]-12>>2]+b|0)+4>>2]&8192)){break a}b=j[a+4>>2];b=j[(j[j[b>>2]-12>>2]+b|0)+24>>2];if((O[j[j[b>>2]+24>>2]](b)|0)!=-1){break a}a=j[a+4>>2];vd(j[j[a>>2]-12>>2]+a|0,1)}}function vh(a,b,c){var d=0,e=0,f=0;d=k[c+74|0];h[c+74|0]=d-1|d;d=j[c+4>>2];e=j[c+8>>2]-d|0;f=b;a:{if((e|0)<1){break a}f=d;d=b>>>0>e>>>0?e:b;V(a,f,d);j[c+4>>2]=d+j[c+4>>2];a=a+d|0;f=b-d|0}d=f;if(d){while(1){b:{if(!uh(c)){e=O[j[c+32>>2]](c,a,d)|0;if(e+1>>>0>1){break b}}return b-d|0}a=a+e|0;d=d-e|0;if(d){continue}break}}return b}function ta(a){var b=0,c=0,d=0,e=0,f=0;while(1){b=a;a=b+1|0;c=h[b|0];if((c|0)==32|c-9>>>0<5){continue}break}a:{b:{c:{c=h[b|0];switch(c-43|0){case 0:break b;case 2:break c;default:break a}}e=1}c=h[a|0];b=a;f=e}if(c-48>>>0<10){while(1){d=(p(d,10)-h[b|0]|0)+48|0;a=h[b+1|0];b=b+1|0;if(a-48>>>0<10){continue}break}}return f?d:0-d|0}function si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=M+ -64|0;M=d;e=1;a:{if(zb(a,b,0)){break a}e=0;if(!b){break a}b=ri(b);e=0;if(!b){break a}ya(d+8|4,0,52);j[d+56>>2]=1;j[d+20>>2]=-1;j[d+16>>2]=a;j[d+8>>2]=b;O[j[j[b>>2]+28>>2]](b,d+8|0,j[c>>2],1);a=j[d+32>>2];if((a|0)==1){j[c>>2]=j[d+24>>2]}e=(a|0)==1}a=e;M=d- -64|0;return a|0}function W(a){var b=0,c=0,d=0;a:{b:{b=a;if(!(b&3)){break b}if(!k[a|0]){return 0}while(1){b=b+1|0;if(!(b&3)){break b}if(k[b|0]){continue}break}break a}while(1){c=b;b=b+4|0;d=j[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}if(!(d&255)){return c-a|0}while(1){d=k[c+1|0];b=c+1|0;c=b;if(d){continue}break}}return b-a|0}function Le(a){var b=0,c=0,d=0;c=j[a+8>>2];if((c|0)>=1){while(1){b=j[j[a>>2]+(d<<2)>>2];if(b){if(h[b+59|0]<=-1){T(j[b+48>>2])}if(h[b+47|0]<0){T(j[b+36>>2])}if(h[b+35|0]<=-1){T(j[b+24>>2])}if(h[b+23|0]<=-1){T(j[b+12>>2])}if(h[b+11|0]<0){T(j[b>>2])}T(b);c=j[a+8>>2]}d=d+1|0;if((d|0)<(c|0)){continue}break}}T(j[a>>2]);return a}function lr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=j[a+44>>2];c=j[a+24>>2];if(d>>>0>>0){j[a+44>>2]=c;d=c}c=j[a+12>>2];e=-1;a:{if(c>>>0<=m[a+8>>2]){break a}if((b|0)==-1){j[a+16>>2]=d;j[a+12>>2]=c-1;return 0}if(!(k[a+48|0]&16)){e=-1;if(k[c-1|0]!=(b&255)){break a}}j[a+16>>2]=d;d=a;a=c-1|0;j[d+12>>2]=a;h[a|0]=b;e=b}return e|0}function iq(a,b,c,d){var e=0,f=0,g=0,i=0;e=M-16|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){g=f+16&-16;i=U(g);j[e+8>>2]=g|-2147483648;j[e>>2]=i;j[e+4>>2]=f;g=e;break b}h[e+11|0]=f;g=e;i=e;if(!f){break a}}V(i,c,f)}h[f+i|0]=0;Pc(e,j[a+52>>2]);wa(a,b,e,d,0,0);if(h[g+11|0]<=-1){T(j[e>>2])}M=e+16|0;return}X();z()}function Ri(a,b){var c=0,d=0,e=0,f=0,g=0;e=M-16|0;M=e;c=a+4|0;wc(a,a+2|0,c);d=a+6|0;while(1){if((b|0)!=(d|0)){if(l[d>>1]>1]){i[e+14>>1]=l[d>>1];g=d;while(1){a:{f=c;i[g>>1]=l[c>>1];if((a|0)==(c|0)){f=a;break a}g=f;c=f-2|0;if(l[e+14>>1]>1]){continue}}break}i[f>>1]=l[e+14>>1]}c=d;d=c+2|0;continue}break}M=e+16|0}function Pn(){var a=0,b=0,c=0,d=0;b=M-32|0;M=b;while(1){c=Qn(a,1<>2]=c;d=((c|0)!=0)+d|0;a=a+1|0;if((a|0)!=6){continue}break}a=123568;a:{b:{c:{switch(d|0){case 0:break a;case 1:break c;default:break b}}if(j[b+8>>2]!=123540){break b}a=123592;break a}a=0}M=b+32|0;return a}function Ip(a){a=a|0;var b=0;b=U(76);j[b+4>>2]=0;j[b+8>>2]=0;j[b+12>>2]=0;j[b+16>>2]=0;j[b+40>>2]=0;j[b+44>>2]=0;j[b+36>>2]=a;j[b+60>>2]=0;j[b+64>>2]=0;j[b+56>>2]=121508;j[b>>2]=b+4;j[b+20>>2]=0;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[b+48>>2]=0;j[b+68>>2]=0;j[b+72>>2]=0;Ka(b+40|0,121496);j[b+52>>2]=0;return b|0}function xi(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(b>>>0<=1073741807){a:{if(b>>>0<=1){h[a+11|0]=b;d=a;break a}g=a;if(b>>>0>=2){d=b+4&-4;e=d-1|0;d=(e|0)==2?d:e}else{d=1}e=d+1|0;d=Rc(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=b}if(b){Oi(d,c,b)}j[f+12>>2]=0;j[(b<<2)+d>>2]=j[f+12>>2];M=f+16|0;return}X();z()}function Si(a,b){var c=0,d=0,e=0,f=0,g=0;e=M-16|0;M=e;c=a+2|0;xc(a,a+1|0,c);d=a+3|0;while(1){if((b|0)!=(d|0)){if(h[d|0]>2]=b;b=6;a:{b:{if(Ra(a,f+8|0)){break b}b=4;h=d;e=j[a>>2];g=j[e+12>>2];c:{if((g|0)==j[e+16>>2]){e=O[j[j[e>>2]+36>>2]](e)|0;break c}e=j[g>>2]}if((O[j[j[d>>2]+52>>2]](h,e,0)|0)!=37){break b}b=2;if(!Ra(Na(a),f+8|0)){break a}}j[c>>2]=j[c>>2]|b}M=f+16|0}function Pl(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;j[e+8>>2]=b;while(1){a:{if(!kb(a,e+8|0)){break a}g=d;b=j[a>>2];f=j[b+12>>2];b:{if((f|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break b}b=j[f>>2]}if(!(O[j[j[d>>2]+12>>2]](g,8192,b)|0)){break a}Na(a);continue}break}if(Ra(a,e+8|0)){j[c>>2]=j[c>>2]|2}M=e+16|0}function Bi(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(c>>>0<=1073741807){a:{if(c>>>0<=1){h[a+11|0]=c;d=a;break a}g=a;if(c>>>0>=2){d=c+4&-4;e=d-1|0;d=(e|0)==2?d:e}else{d=1}e=d+1|0;d=Rc(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=c}sc(d,b,c);j[f+12>>2]=0;j[(c<<2)+d>>2]=j[f+12>>2];M=f+16|0;return}X();z()}function Od(a){var b=0;b=1;a:{if((a|0)>=1024){b=8.98846567431158e+307;if((a|0)<2047){a=a-1023|0;break a}b=B;a=((a|0)<3069?a:3069)-2046|0;break a}if((a|0)>-1023){break a}b=2.2250738585072014e-308;if((a|0)>-2045){a=a+1022|0;break a}b=0;a=((a|0)>-3066?a:-3066)+2044|0}Hr(0,0);Hr(1,a+1023<<20);return b*+Ir()}function Yd(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(c>>>0<=4294967279){a:{if(c>>>0<=10){h[a+11|0]=c;d=a;break a}g=a;if(c>>>0>=11){d=c+16&-16;e=d-1|0;d=(e|0)==11?d:e}else{d=10}e=d+1|0;d=U(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=c}ac(d,b,c);h[f+15|0]=0;h[c+d|0]=k[f+15|0];M=f+16|0;return}X();z()}function Mh(a,b,c,d){var e=0,f=0,g=0;e=M-32|0;M=e;j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;a:{if((W(c)|0)<2){break a}f=j[a+44>>2];if(!f){break a}f=f+4216|0;if(j[f>>2]==j[f+4>>2]){break a}g=C()|0;j[e+8>>2]=100;j[e+12>>2]=g;Ke(a,c,e+16|0,0,b,d,f,e+8|0,e+12|0);if(h[e+27|0]>-1){break a}T(j[e+16>>2])}M=e+32|0}function Kf(a){a=a|0;var b=0,c=0,d=0,e=0;j[a>>2]=127888;b=a+16|0;while(1){if(j[b+4>>2]-j[b>>2]>>2>>>0>c>>>0){if(j[j[b>>2]+(c<<2)>>2]){d=j[j[b>>2]+(c<<2)>>2];e=j[d+4>>2]-1|0;j[d+4>>2]=e;if((e|0)==-1){O[j[j[d>>2]+8>>2]](d)}}c=c+1|0;continue}break}Y(a+176|0);if(j[b>>2]){Mf(b);sf(b+32|0,j[b>>2])}return a|0}function Ci(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(b>>>0<=4294967279){a:{if(b>>>0<=10){h[a+11|0]=b;d=a;break a}g=a;if(b>>>0>=11){d=b+16&-16;e=d-1|0;d=(e|0)==11?d:e}else{d=10}e=d+1|0;d=U(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=b}Xd(d,b,c);h[f+15|0]=0;h[b+d|0]=k[f+15|0];M=f+16|0;return}X();z()}function $l(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-32|0;M=g;h=j[31963];j[g+24>>2]=j[31962];j[g+28>>2]=h;h=j[31961];j[g+16>>2]=j[31960];j[g+20>>2]=h;h=j[31959];j[g+8>>2]=j[31958];j[g+12>>2]=h;h=j[31957];j[g>>2]=j[31956];j[g+4>>2]=h;a=Yb(a,b,c,d,e,f,g,g+32|0);M=g+32|0;return a|0}function bi(a,b){i[a+60>>1]=0;j[a+52>>2]=0;j[a+56>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[a+68>>2]=0;j[a+72>>2]=0;j[a+64>>2]=b;j[a>>2]=1072;j[a+12>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+76>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;j[a+88>>2]=0;j[a+92>>2]=0;j[a+96>>2]=0;j[a+100>>2]=0;j[a+104>>2]=0}function al(a){var b=0,c=0,d=0;c=M-32|0;M=c;a:{if(j[37688]-j[37685]>>2>>>0>=a>>>0){Nf(a);break a}b=jj(c+8|0,kj((j[37685]-j[37684]>>2)+a|0),j[37685]-j[37684]>>2);ij(b,a);hj(b);a=b;d=j[a+4>>2];while(1){if(j[a+8>>2]!=(d|0)){j[a+8>>2]=j[a+8>>2]-4;continue}break}if(j[b>>2]){sf(j[b+16>>2],j[b>>2])}}M=c+32|0}function Cb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=M-16|0;M=d;g=a;h=a;a:{if(!b){b=0;break a}c=b>>31;e=c+b^c;c=s(e);mb(d,e,0,0,0,c+81|0);e=0+j[d+8>>2]|0;c=(j[d+12>>2]^65536)+(16414-c<<16)|0;c=e>>>0>>0?c+1|0:c;f=b&-2147483648|c;c=j[d+4>>2];b=j[d>>2]}j[h>>2]=b;j[g+4>>2]=c;j[a+8>>2]=e;j[a+12>>2]=f;M=d+16|0}function xk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=M-16|0;M=f;j[e>>2]=c;a=ge(f+12|0,0,j[a+8>>2]);c=2;a:{if(a+1>>>0<2){break a}b=a-1|0;c=1;if(b>>>0>d-j[e>>2]>>>0){break a}c=f+12|0;while(1){if(b){a=k[c|0];d=j[e>>2];j[e>>2]=d+1;h[d|0]=a;b=b-1|0;c=c+1|0;continue}break}c=0}M=f+16|0;return c|0}function Vh(a,b){var c=0,d=0,e=0,f=0;c=M-16|0;M=c;if(Re(a,b)){j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;a:{if(!j[a+16>>2]){d=k[b+11|0];d=d<<24>>24<0?j[b+4>>2]:d;e=Nc(b,j[a+52>>2]);break a}d=ia(c,b);e=Mc(c,j[a+24>>2]);f=j[c>>2];if(!f){break a}j[c+4>>2]=f;T(f)}Lc(a,b,d,0,0,0,0,e);Se(a,b,d,0,0,0,e)}M=c+16|0}function $o(a,b){var c=0,d=0,e=0,f=0;d=a+2|0;c=k[a+2|0];e=(c|0)!=0;a=k[a+1|0]<<16|k[a|0]<<24|c<<8;f=k[b+1|0]<<16|k[b|0]<<24|k[b+2|0]<<8;a:{if(!(!c|(a|0)==(f|0))){while(1){b=d+1|0;c=k[d+1|0];e=(c|0)!=0;a=(a|c)<<8;if((f|0)==(a|0)){break a}d=b;if(c){continue}break}break a}b=d}return e?b-2|0:0}function xh(a){var b=0,c=0,d=0,e=0,f=0;b=j[a+40>>2];c=O[b|0](a,0,0,k[a|0]&128?m[a+20>>2]>m[a+28>>2]?2:1:1)|0;b=N;d=b;if((b|0)>0?1:(b|0)>=0){e=j[a+20>>2]-j[a+28>>2]|0;a=j[a+8>>2]-j[a+4>>2]|0;f=c-a|0;b=e+f|0;a=(d-((a>>31)+(c>>>0>>0)|0)|0)+(e>>31)|0;c=b;d=b>>>0>>0?a+1|0:a}N=d;return c}function ai(a,b,c){var d=0;a:{b:{c:{d=k[b|0]|k[b+1|0]<<8;if((d|0)!=73){break c}c=c-90|0;if(c>>>0>12|!(1<>1];if((d|0)==(c|0)){break a}d=c>>>8|0}h[b|0]=c;h[b+1|0]=d}b=k[b|0]|k[b+1|0]<<8;h[a|0]=b;h[a+1|0]=b>>>8}function ue(a){var b=0,c=0,d=0,e=0;e=W(a);a:{if(!j[37227]|!k[a|0]){break a}if(Ya(a,61)){break a}b=j[j[37227]>>2];if(!b){break a}b:{while(1){d=Eb(a,b,e);b=j[37227];if(!d){d=j[b+(c<<2)>>2]+e|0;if(k[d|0]==61){break b}}c=c+1|0;b=j[b+(c<<2)>>2];if(b){continue}break}return 0}c=d+1|0}return c}function Xh(a,b){var c=0,d=0;c=j[a+8>>2];if((c|0)!=(b|0)){while(1){d=c-60|0;j[a+8>>2]=d;if(h[d+59|0]<=-1){T(j[d+48>>2])}if(h[c-13|0]<0){T(j[c-24>>2])}if(h[c-25|0]<=-1){T(j[c-36>>2])}if(h[c-37|0]<=-1){T(j[c-48>>2])}if(h[d+11|0]<0){T(j[d>>2])}c=j[a+8>>2];if((c|0)!=(b|0)){continue}break}}}function Ec(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=M-16|0;M=c;g=a;h=a;a:{if(!b){b=0;e=0;break a}d=b;b=s(b);mb(c,d,0,0,0,b+81|0);d=0+j[c+8>>2]|0;b=(j[c+12>>2]^65536)+(16414-b<<16)|0;b=d>>>0>>0?b+1|0:b;f=d;d=b;b=j[c+4>>2];e=j[c>>2]}j[h>>2]=e;j[g+4>>2]=b;j[a+8>>2]=f;j[a+12>>2]=d;M=c+16|0}function mi(a,b){var c=0,d=0,e=0;c=Ba(a,10,0);if((c|0)!=-1){while(1){d=k[b+11|0];e=d<<24>>24<0;Ji(a,c,e?j[b>>2]:b,e?j[b+4>>2]:d);d=c;c=k[b+11|0];c=Ba(a,10,(d+(c<<24>>24<0?j[b+4>>2]:c)|0)+1|0);if((c|0)!=-1){continue}break}}d=a;a=k[b+11|0];c=a<<24>>24<0;aa(d,c?j[b>>2]:b,c?j[b+4>>2]:a)}function vb(a,b){var c=0;a:{c=j[a>>2];if((c|0)==j[a+4>>2]){break a}b:{c:{a=k[c|0]|k[c+1|0]<<8;if((a|0)!=105){break c}b=b-90|0;if(b>>>0>12|!(1<>1];if((a|0)==(b|0)){break a}a=b>>>8|0}h[c|0]=b;h[c+1|0]=a}}function _l(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=a;h=b;b=O[j[j[a+8>>2]+20>>2]](a+8|0)|0;a=b;if(k[b+11|0]>>>7|0){a=j[a>>2]}i=a;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}return Yb(g,h,c,d,e,f,i,a+(b<<2)|0)|0}function wr(a,b){var c=0;a:{c=j[a>>2];if((c|0)==j[a+4>>2]){break a}b:{c:{a=k[c|0]|k[c+1|0]<<8;if((a|0)!=73){break c}b=b-90|0;if(b>>>0>12|!(1<>1];if((a|0)==(b|0)){break a}a=b>>>8|0}h[c|0]=b;h[c+1|0]=a}}function tk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;while(1){a:{if((c|0)==(d|0)|e>>>0<=g>>>0){break a}f=1;b:{c:{h=sk(c,d-c|0,b,j[a+8>>2]);switch(h+2|0){case 0:case 1:break a;case 2:break b;default:break c}}f=h}g=g+1|0;i=f+i|0;c=c+f|0;continue}break}return i|0}function Zh(a){var b=0,c=0;b=j[a+4>>2];c=j[a>>2];if((b|0)!=(c|0)){while(1){if(h[b-1|0]<=-1){T(j[b-12>>2])}if(h[b-13|0]<0){T(j[b-24>>2])}if(h[b-25|0]<=-1){T(j[b-36>>2])}if(h[b-37|0]<=-1){T(j[b-48>>2])}b=b-60|0;if(h[b+11|0]<0){T(j[b>>2])}if((b|0)!=(c|0)){continue}break}}j[a+4>>2]=c}function Ag(a,b,c){var d=0,e=q(0),f=0;d=M-16|0;M=d;a:{if((a|0)!=(b|0)){f=j[37203];j[37203]=0;ra();e=Jn(a,d+12|0);a=j[37203];b:{if(a){if(j[d+12>>2]!=(b|0)){break b}if((a|0)!=68){break a}j[c>>2]=4;break a}j[37203]=f;if(j[d+12>>2]==(b|0)){break a}}}j[c>>2]=4;e=q(0)}M=d+16|0;return e}function qm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=a;h=b;b=O[j[j[a+8>>2]+20>>2]](a+8|0)|0;a=b;if(k[b+11|0]>>>7|0){a=j[a>>2]}i=a;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}return Zb(g,h,c,d,e,f,i,a+b|0)|0}function ca(a,b){var c=0,d=0;c=h[b|0];if(!c){return a}a=Ya(a,c);a:{if(!a){break a}if(!k[b+1|0]){return a}if(!k[a+1|0]){break a}if(!k[b+2|0]){return ap(a,b)}if(!k[a+2|0]){break a}if(!k[b+3|0]){return $o(a,b)}if(!k[a+3|0]){break a}if(!k[b+4|0]){return _o(a,b)}d=Yo(a,b)}return d}function Fh(a){var b=0,c=0;a:{if(!a|!k[a|0]){break a}b=ca(a,121425);b:{if(b){break b}b=ca(a,121413);if(b){break b}b=ca(a,121417);if(!b){break a}}while(1){a=b+1|0;b=ca(a,121425);c:{if(b){break c}b=ca(a,121413);if(b){break c}b=ca(a,121417)}c=c+1|0;if(b){continue}break}}return c}function pm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=sb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}pg(a,f+24|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function om(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=sb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}og(a,f+16|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function Zl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=rb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}mg(a,f+24|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function Yl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=rb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}lg(a,f+16|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function zg(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;a:{if((a|0)!=(b|0)){f=j[37203];j[37203]=0;ra();e=In(a,d+12|0);a=j[37203];b:{if(a){if(j[d+12>>2]!=(b|0)){break b}if((a|0)!=68){break a}j[c>>2]=4;break a}j[37203]=f;if(j[d+12>>2]==(b|0)){break a}}}j[c>>2]=4;e=0}M=d+16|0;return e}function Di(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;j[d+12>>2]=j[a+4>>2];j[d+8>>2]=j[b+4>>2];c=M-16|0;M=c;M=c+16|0;c=d+8|0;e=d+12|0;c=ke(j[a>>2],j[b>>2],j[(m[c>>2]>2]?c:e)>>2]);a:{if(c){break a}c=0;if(j[a+4>>2]==j[b+4>>2]){break a}c=m[a+4>>2]>2]?-1:1}M=d+16|0;return c}function Zi(a,b){a=a|0;b=b|0;var c=0;if(j[a+8>>2]==j[a+12>>2]){return-1}if((b|0)==-1){j[a+12>>2]=j[a+12>>2]-1;return 0}a:{b:{if(k[a+32|0]&2){c=-1;if(k[j[a+12>>2]-1|0]!=(b&255)){break a}j[a+12>>2]=j[a+12>>2]-1;break b}j[a+12>>2]=j[a+12>>2]-1;h[j[a+12>>2]]=b}c=b}return c|0}function Gc(a,b,c){var d=0,e=0,f=0;a:{if(b>>>0<1){d=a;break a}while(1){d=Dr(a,b,10);e=N;f=e;e=Cr(d,e,10,0);c=c-1|0;h[c|0]=a-e|48;e=b>>>0>9;a=d;b=f;if(e){continue}break}}if(d){while(1){c=c-1|0;a=(d>>>0)/10|0;h[c|0]=d-p(a,10)|48;b=d>>>0>9;d=a;if(b){continue}break}}return c}function nm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;a=M-16|0;M=a;j[a+8>>2]=b;b=j[d+28>>2];j[a>>2]=b;j[b+4>>2]=j[b+4>>2]+1;g=sb(a);b=j[a>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}ng(f+20|0,a+8|0,c,e,g);M=a+16|0;return j[a+8>>2]}function Xl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;a=M-16|0;M=a;j[a+8>>2]=b;b=j[d+28>>2];j[a>>2]=b;j[b+4>>2]=j[b+4>>2]+1;g=rb(a);b=j[a>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}jg(f+20|0,a+8|0,c,e,g);M=a+16|0;return j[a+8>>2]}function Ee(a){var b=0,c=0;a:{if(m[a+20>>2]<=m[a+28>>2]){break a}O[j[a+36>>2]](a,0,0)|0;if(j[a+20>>2]){break a}return-1}b=j[a+4>>2];c=j[a+8>>2];if(b>>>0>>0){b=b-c|0;O[j[a+40>>2]](a,b,b>>31,1)|0}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;return 0}function Hi(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;d=d-c|0;a:{if(!d){b=a;break a}if((d|0)>(b-a|0)){break a}h[e+15|0]=k[c|0];g=1-d|0;while(1){f=b-a|0;if((d|0)>(f|0)){break a}a=hf(a,g+f|0,e+15|0);if(!a){break a}if(ke(a,c,d)){a=a+1|0;continue}break}b=a}M=e+16|0;return b}function ap(a,b){var c=0,d=0,e=0,f=0;c=k[a+1|0];e=(c|0)!=0;a:{if(!c){break a}c=c|k[a|0]<<8;f=k[b+1|0]|k[b|0]<<8;if((c|0)==(f|0)){break a}b=a+1|0;while(1){a=b;d=k[a+1|0];e=(d|0)!=0;if(!d){break a}b=a+1|0;c=c<<8&65280|d;if((f|0)!=(c|0)){continue}break}}return e?a:0}function To(a){var b=0,c=0,d=0,e=0;e=j[a+76>>2]>=0;d=j[a>>2]&1;if(!d){b=j[a+52>>2];if(b){j[b+56>>2]=j[a+56>>2]}c=j[a+56>>2];if(c){j[c+52>>2]=b}if(j[37225]==(a|0)){j[37225]=c}}Fe(a);O[j[a+12>>2]](a)|0;b=j[a+96>>2];if(b){T(b)}a:{if(!d){T(a);break a}if(!e){break a}}}function sh(a,b){var c=0,d=0,e=0;Jr(+a);c=Gr(1)|0;d=Gr(0)|0;e=c;c=c>>>20&2047;if((c|0)!=2047){if(!c){c=b;if(a==0){b=0}else{a=sh(a*0x10000000000000000,b);b=j[b>>2]+ -64|0}j[c>>2]=b;return a}j[b>>2]=c-1022;Hr(0,d|0);Hr(1,e&-2146435073|1071644672);a=+Ir()}return a}function oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(zb(a,j[b+8>>2],0)){Sd(b,c,d);return}e=j[a+12>>2];f=a+16|0;af(f,b,c,d);a:{if((e|0)<2){break a}e=(e<<3)+f|0;a=a+24|0;while(1){af(a,b,c,d);a=a+8|0;if(e>>>0<=a>>>0){break a}if(!k[b+54|0]){continue}break}}}function sa(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+12>>2]=d;d=k[b+11|0]>>>7|0?j[b+4>>2]:k[b+11|0];if(d>>>0>>0){X();z()}b=k[b+11|0]>>>7|0?j[b>>2]:b;j[e+4>>2]=d-c;d=M-16|0;M=d;M=d+16|0;d=b+c|0;b=e+4|0;c=e+12|0;Yd(a,d,j[(m[b>>2]>2]?b:c)>>2]);M=e+16|0;return a}function Tc(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;b=j[b+28>>2];j[d+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=Bc(d+8|0);e=c,f=O[j[j[b>>2]+16>>2]](b)|0,j[e>>2]=f;O[j[j[b>>2]+20>>2]](a,b);a=j[d+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=d+16|0}function Wc(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;b=j[b+28>>2];j[d+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=Dc(d+8|0);e=c,f=O[j[j[b>>2]+16>>2]](b)|0,h[e|0]=f;O[j[j[b>>2]+20>>2]](a,b);a=j[d+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=d+16|0}function Bn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;a:{while(1){if((d|0)!=(e|0)){a=-1;if((b|0)==(c|0)){break a}f=j[b>>2];g=j[d>>2];if((f|0)<(g|0)){break a}if((f|0)>(g|0)){return 1}else{d=d+4|0;b=b+4|0;continue}}break}a=(b|0)!=(c|0)}return a|0}function En(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;a:{while(1){if((d|0)!=(e|0)){a=-1;if((b|0)==(c|0)){break a}f=h[b|0];g=h[d|0];if((f|0)<(g|0)){break a}if((f|0)>(g|0)){return 1}else{d=d+1|0;b=b+1|0;continue}}break}a=(b|0)!=(c|0)}return a|0}function lc(a){a=a|0;var b=0;j[a>>2]=121328;b=j[a+64>>2];if(b){Oh(a);To(b);j[a+64>>2]=0;O[j[j[a>>2]+12>>2]](a,0,0)|0}a:{if(!k[a+96|0]){break a}b=j[a+32>>2];if(!b){break a}T(b)}b:{if(!k[a+97|0]){break b}b=j[a+56>>2];if(!b){break b}T(b)}ib(a);return a|0}function Rn(){var a=0,b=0;a=M-16|0;M=a;a:{if(J(a+12|0,a+8|0)|0){break a}b=ja((j[a+12>>2]<<2)+4|0);j[37227]=b;if(!b){break a}b=ja(j[a+8>>2]);if(!b){j[37227]=0;break a}j[j[37227]+(j[a+12>>2]<<2)>>2]=0;if(!(I(j[37227],b|0)|0)){break a}j[37227]=0}M=a+16|0}function uh(a){var b=0,c=0;b=k[a+74|0];h[a+74|0]=b-1|b;if(m[a+20>>2]>m[a+28>>2]){O[j[a+36>>2]](a,0,0)|0}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;b=j[a>>2];if(b&4){j[a>>2]=b|32;return-1}c=j[a+44>>2]+j[a+48>>2]|0;j[a+8>>2]=c;j[a+4>>2]=c;return b<<27>>31}function rq(a,b){a=a|0;b=b|0;var c=0,d=0;c=-1;a:{if(!j[a+64>>2]){break a}d=j[a+12>>2];if(d>>>0<=m[a+8>>2]){break a}if((b|0)==-1){j[a+12>>2]=d-1;return 0}if(k[d-1|0]!=(b&255)?!(k[a+88|0]&16):0){break a}c=a;a=d-1|0;j[c+12>>2]=a;h[a|0]=b;c=b}return c|0}function jc(a,b,c,d){var e=0;if(d&2048){h[a|0]=43;a=a+1|0}if(d&512){h[a|0]=35;a=a+1|0}while(1){e=k[b|0];if(e){h[a|0]=e;a=a+1|0;b=b+1|0;continue}break}e=d&74;b=111;a:{if((e|0)==64){break a}b=d&16384?88:120;if((e|0)==8){break a}b=c?100:117}h[a|0]=b}function am(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=M-16|0;M=e;j[e+8>>2]=b;b=6;a:{b:{if(Sa(a,e+8|0)){break b}b=4;if(((g=d,h=Ga(a),i=0,f=j[j[d>>2]+36>>2],O[f](g|0,h|0,i|0)|0)|0)!=37){break b}b=2;if(!Sa(Oa(a),e+8|0)){break a}}j[c>>2]=j[c>>2]|b}M=e+16|0}function fm(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+8>>2]=b;while(1){a:{if(!lb(a,e+8|0)){break a}b=Ga(a);if((b|0)>=0){b=(l[j[d+8>>2]+((b&255)<<1)>>1]&8192)!=0}else{b=0}if(!b){break a}Oa(a);continue}break}if(Sa(a,e+8|0)){j[c>>2]=j[c>>2]|2}M=e+16|0}function mr(a){a=a|0;var b=0,c=0,d=0;b=j[a+44>>2];c=j[a+24>>2];if(b>>>0>>0){j[a+44>>2]=c;b=c}d=-1;a:{if(!(k[a+48|0]&8)){break a}c=j[a+16>>2];if(c>>>0>>0){j[a+16>>2]=b}else{b=c}a=j[a+12>>2];if(a>>>0>=b>>>0){break a}d=k[a|0]}return d|0}function vc(a,b){var c=0,d=0;if(!a){return ja(b)}if(b>>>0>=4294967232){j[37203]=48;return 0}c=gi(a-8|0,b>>>0<11?16:b+11&-8);if(c){return c+8|0}c=ja(b);if(!c){return 0}d=j[a-4>>2];d=(d&3?-4:-8)+(d&-8)|0;V(c,a,b>>>0>d>>>0?d:b);T(a);return c}function tl(a,b,c){var d=0;d=M-32|0;M=d;j[d+16>>2]=b;j[d+24>>2]=a;j[d+8>>2]=c;while(1){a=j[d+24>>2]==j[d+16>>2]^1;if(!(!a|j[j[d+24>>2]>>2]!=j[j[d+8>>2]>>2])){j[d+24>>2]=j[d+24>>2]+4;j[d+8>>2]=j[d+8>>2]+4;continue}break}M=d+32|0;return a^1}function oq(a){var b=0,c=0,d=0;ya(a+16|0,255,1024);d=j[a+4>>2];while(1){a:{b=p(c,12)+d|0;b:{if(h[b+11|0]<=-1){b=k[j[b>>2]];if(b){break b}break a}b=k[b|0];if(!b){break a}}b=(b<<2)+a|0;if(j[b+16>>2]<=-1){j[b+16>>2]=c}c=c+2|0;continue}break}}function Lg(a,b,c,d,e){var f=0;f=M-144|0;M=f;j[f+44>>2]=a;j[f+4>>2]=a;j[f>>2]=0;j[f+76>>2]=-1;j[f+8>>2]=(a|0)<0?-1:a+2147483647|0;Ib(f,0,0);c=Tg(f,c,1,d,e);d=N;if(b){j[b>>2]=((j[f+4>>2]+j[f+120>>2]|0)-j[f+8>>2]|0)+a}M=f+144|0;N=d;return c}function wc(a,b,c){var d=0,e=0;e=l[c>>1]>1];a:{b:{if(l[b>>1]>=l[a>>1]){d=0;if(!e){break a}$a(b,c);d=1;if(l[b>>1]>=l[a>>1]){break a}$a(a,b);break b}if(e){$a(a,c);return 1}$a(a,b);d=1;if(l[c>>1]>=l[b>>1]){break a}$a(b,c)}d=2}return d}function lh(a){var b=0,c=0,d=0;b=M-16|0;M=b;if(j[(j[j[a>>2]-12>>2]+a|0)+24>>2]){c=kh(b+8|0,a);a:{if(!k[c|0]){break a}d=j[(j[j[a>>2]-12>>2]+a|0)+24>>2];if((O[j[j[d>>2]+24>>2]](d)|0)!=-1){break a}vd(j[j[a>>2]-12>>2]+a|0,1)}jh(c)}M=b+16|0}function Nm(a,b){var c=0,d=0;c=M-16|0;M=c;a=j[a+28>>2];j[c+8>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=rb(c+8|0);O[j[j[a>>2]+48>>2]](a,127600,127626,b)|0;a=j[c+8>>2];d=j[a+4>>2]-1|0;j[a+4>>2]=d;if((d|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=c+16|0;return b}function Nf(a){var b=0,c=0;b=M-16|0;M=b;j[b>>2]=150736;c=j[37685];j[b+4>>2]=c;j[b+8>>2]=(a<<2)+c;a=j[b+4>>2];while(1){if(j[b+8>>2]!=(a|0)){j[j[b+4>>2]>>2]=0;a=j[b+4>>2]+4|0;j[b+4>>2]=a;continue}break}j[j[b>>2]+4>>2]=j[b+4>>2];M=b+16|0}function Ei(a,b,c,d,e,f){var g=0,h=0;g=M-48|0;M=g;h=j[d+4>>2];j[g+40>>2]=j[d>>2];j[g+44>>2]=h;ff(g+24|0,a);ef(g+32|0,g+24|0,b,c);ef(g+16|0,g+40|0,e,f);a=j[g+20>>2];j[g+8>>2]=j[g+16>>2];j[g+12>>2]=a;a=Di(g+32|0,g+8|0);M=g+48|0;return a}function kj(a){var b=0,c=0;c=M-16|0;M=c;j[c+12>>2]=a;b=a;a=uf();if(b>>>0<=a>>>0){b=j[37688]-j[37684]>>2;if(b>>>0>>1>>>0){j[c+8>>2]=b<<1;a=M-16|0;M=a;M=a+16|0;a=c+12|0;b=c+8|0;a=j[(m[b>>2]>2]?a:b)>>2]}M=c+16|0;return a}X();z()}function zl(a,b,c){var d=0;d=M-32|0;M=d;j[d+16>>2]=b;j[d+24>>2]=a;j[d+8>>2]=c;while(1){a=j[d+24>>2]==j[d+16>>2]^1;if(!(!a|k[j[d+24>>2]]!=k[j[d+8>>2]])){j[d+24>>2]=j[d+24>>2]+1;j[d+8>>2]=j[d+8>>2]+1;continue}break}M=d+32|0;return a^1}function ij(a,b){var c=0,d=0;c=M-16|0;M=c;j[c>>2]=j[a+8>>2];d=j[a+8>>2];j[c+8>>2]=a+8;j[c+4>>2]=(b<<2)+d;b=j[c>>2];while(1){if(j[c+4>>2]!=(b|0)){j[j[c>>2]>>2]=0;b=j[c>>2]+4|0;j[c>>2]=b;continue}break}j[j[c+8>>2]>>2]=j[c>>2];M=c+16|0}function Eb(a,b,c){var d=0,e=0,f=0;if(!c){return 0}d=k[a|0];a:{if(!d){break a}while(1){b:{e=k[b|0];if((e|0)!=(d|0)){break b}c=c-1|0;if(!c|!e){break b}b=b+1|0;d=k[a+1|0];a=a+1|0;if(d){continue}break a}break}f=d}return(f&255)-k[b|0]|0}function Bb(a,b,c){c=j[c+4>>2]&176;if((c|0)==32){return b}a:{if((c|0)!=16){break a}b:{c:{c=k[a|0];switch(c-43|0){case 0:case 2:break c;default:break b}}return a+1|0}if((c|0)!=48|(b-a|0)<2|(k[a+1|0]|32)!=120){break a}a=a+2|0}return a}function yr(a,b){var c=0,d=0,e=0;c=k[b|0]|k[b+1|0]<<8;a:{if((c|0)!=105){break a}}d=j[37199];b:{if(!d){break b}e=c;c=l[(d+p(c,6)|0)+2>>1];if((e|0)==(c|0)){break b}h[b|0]=c;h[b+1|0]=c>>>8}b=k[b|0]|k[b+1|0]<<8;h[a|0]=b;h[a+1|0]=b>>>8}function Xb(a,b){var c=0,d=0,e=0,f=0;c=j[a+4096>>2];d=j[c>>2];a:{if((d|0)==j[c+4>>2]){break a}c=0;while(1){e=dc(j[(c<<2)+d>>2],b);if(e){break a}f=j[a+4096>>2];d=j[f>>2];c=c+1|0;if(c>>>0>2]-d>>2>>>0){continue}break}}return e}function so(a,b){var c=0,d=0;c=M-32|0;M=c;h[a|0]=0;d=j[j[b>>2]-12>>2]+b|0;a:{if(!j[(j[j[b>>2]-12>>2]+b|0)+16>>2]){if(j[d+72>>2]){lh(j[(j[j[b>>2]-12>>2]+b|0)+72>>2])}h[a|0]=!j[(j[j[b>>2]-12>>2]+b|0)+16>>2];break a}vd(d,4)}M=c+32|0}function Va(a){var b=0,c=0;a:{c=k[a+11|0];b=c<<24>>24<0;c=b?j[a+4>>2]:c;if(!c){break a}a=b?j[a>>2]:a;b=(c+a|0)-1|0;if(a>>>0>=b>>>0){break a}while(1){c=k[a|0];h[a|0]=k[b|0];h[b|0]=c;a=a+1|0;b=b-1|0;if(a>>>0>>0){continue}break}}}function xc(a,b,c){var d=0,e=0;e=h[c|0]=h[a|0]){d=0;if(!e){break a}Xa(b,c);d=1;if(h[b|0]>=h[a|0]){break a}Xa(a,b);break b}if(e){Xa(a,c);return 1}Xa(a,b);d=1;if(h[c|0]>=h[b|0]){break a}Xa(b,c)}d=2}return d}function ko(a){var b=0,c=0,d=0;b=M-16|0;M=b;a=j[a+28>>2];j[b+8>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=sb(b+8|0);d=O[j[j[a>>2]+28>>2]](a,32)|0;a=j[b+8>>2];c=j[a+4>>2]-1|0;j[a+4>>2]=c;if((c|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=b+16|0;return d}function Zc(a){a=a|0;var b=0;j[a>>2]=1032;if(k[a+29|0]&16){T(j[a+48>>2])}b=j[a+52>>2];if(!(!b|k[a+29|0]&8)){T(b)}b=j[a+56>>2];if(!(!b|k[a+29|0]&4)){T(b)}if(h[a+27|0]<=-1){T(j[a+16>>2])}if(h[a+15|0]<=-1){T(j[a+4>>2])}return a|0}function Hl(a,b,c,d,e,f){var g=0;g=M-144|0;M=g;j[g+28>>2]=g+132;ig(a,g+32|0,g+28|0,d,e,f);j[g+16>>2]=0;j[g+20>>2]=0;j[g+12>>2]=g+32;a=Fl(b,g+12|0,j[c>>2]-b>>2,g+16|0,j[a>>2]);if((a|0)==-1){Fa();z()}j[c>>2]=(a<<2)+b;M=g+144|0}function kq(a){var b=0;j[a+44>>2]=0;b=j[a>>2];if(b){T(b)}j[a>>2]=0;j[a+4>>2]=0;b=j[a+20>>2];if(b){T(b)}j[a+48>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;b=j[a+28>>2];if(b){j[a+32>>2]=b;T(b)}b=j[a+8>>2];if(b){j[a+12>>2]=b;T(b)}return a}function zh(a,b){i[a+60>>1]=0;j[a+52>>2]=0;j[a+56>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[a+68>>2]=0;j[a+72>>2]=0;j[a+64>>2]=b;j[a>>2]=1048;j[a+12>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+76>>2]=0;j[a+80>>2]=0}function Ar(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=p(e,f);g=c&65535;h=a&65535;i=p(g,h);f=(i>>>16|0)+p(f,g)|0;e=(f&65535)+p(e,h)|0;a=(p(b,c)+j|0)+p(a,d)+(f>>>16)+(e>>>16)|0;b=i&65535|e<<16;N=a;return b}function ef(a,b,c,d){var e=0,f=0;e=M-16|0;M=e;j[e+12>>2]=d;if(m[b+4>>2]>>0){Fa();z()}d=j[b>>2];j[e+8>>2]=j[b+4>>2]-c;b=M-16|0;M=b;M=b+16|0;b=e+8|0;f=e+12|0;j[a+4>>2]=j[(m[b>>2]>2]?b:f)>>2];j[a>>2]=c+d;M=e+16|0}function Zd(a,b,c,d,e){var f=0;f=_d(a,b,c,d);if(l[e>>1]>1]){$a(d,e);if(l[d>>1]>=l[c>>1]){return f+1|0}$a(c,d);if(l[c>>1]>=l[b>>1]){return f+2|0}$a(b,c);if(l[b>>1]>=l[a>>1]){return f+3|0}$a(a,b);f=f+4|0}return f}function jr(a,b,c){j[a>>2]=0;j[a+4>>2]=0;i[a+20>>1]=65510;j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;ya(a+24|0,0,88);ir(a,c);a:{if(!hr(a,b)){break a}T(j[a+4>>2]);j[a>>2]=1;b=Pd(1,4);j[a+4>>2]=b;if(b){break a}j[a>>2]=0}}function Fq(a,b){var c=0,d=0;a:{if(!a){break a}c=j[a>>2];if(!c){break a}d=1;if((b|0)>=1){T(j[c>>2]);if((b|0)!=1){while(1){T(j[j[a>>2]+(d<<2)>>2]);d=d+1|0;if((d|0)!=(b|0)){continue}break}}c=j[a>>2]}T(c);j[a>>2]=0}}function za(a){var b=0,c=0,d=0;b=M-32|0;M=b;j[b+12>>2]=0;j[b+8>>2]=79;c=j[b+12>>2];j[b>>2]=j[b+8>>2];j[b+4>>2]=c;d=j[b+4>>2];c=b+16|0;j[c+4>>2]=j[b>>2];j[c+8>>2]=d;j[c>>2]=a;Zk(a,c);M=b+32|0;return j[a+4>>2]-1|0}function Sd(a,b,c){var d=0;d=j[a+16>>2];if(!d){j[a+36>>2]=1;j[a+24>>2]=c;j[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(j[a+24>>2]!=2){break a}j[a+24>>2]=c;return}h[a+54|0]=1;j[a+24>>2]=2;j[a+36>>2]=j[a+36>>2]+1}}function Qe(a,b,c){var d=0;a:{if(c){d=j[c+8>>2];if(d){break a}}c=j[b>>2];while(1){b:{c=c+1|0;j[b>>2]=c;if(j[a>>2]<=(c|0)){break b}d=j[j[a+4>>2]+(c<<2)>>2];if(!d){continue}break a}break}j[b>>2]=-1;d=0}return d}function Fe(a){var b=0;if(a){if(j[a+76>>2]<=-1){return Ee(a)}return Ee(a)}if(j[37204]){b=Fe(j[37204])}a=j[37225];if(a){while(1){if(m[a+20>>2]>m[a+28>>2]){b=Ee(a)|b}a=j[a+56>>2];if(a){continue}break}}return b}function $d(a,b,c,d,e){var f=0;f=ae(a,b,c,d);if(h[e|0]=h[c|0]){return f+1|0}Xa(c,d);if(h[c|0]>=h[b|0]){return f+2|0}Xa(b,c);if(h[b|0]>=h[a|0]){return f+3|0}Xa(a,b);f=f+4|0}return f}function pl(a,b,c){var d=0;d=gb(a,b,c,0,0);a:{if(d){break a}d=Qa(a,b,c,0,0,0,0,0);if(!j[a+4488>>2]){break a}j[a+4372>>2]=0;j[a+4376>>2]=0;if(d){break a}d=eb(a,b,c,0,0,0);if(d){break a}d=Lb(a,b,c,0)}return d}function jj(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;j[d+12>>2]=0;f=a+12|0;j[f>>2]=0;j[f+4>>2]=150768;if(b){e=tf(j[a+16>>2],b)}j[a>>2]=e;c=(c<<2)+e|0;j[a+8>>2]=c;j[a+4>>2]=c;j[a+12>>2]=(b<<2)+e;M=d+16|0;return a}function Ni(a,b,c){var d=0;a:{if(a-b>>2>>>0>>0){while(1){c=c-1|0;d=c<<2;j[d+a>>2]=j[b+d>>2];if(c){continue}break a}}if(!c){break a}while(1){j[a>>2]=j[b>>2];a=a+4|0;b=b+4|0;c=c-1|0;if(c){continue}break}}}function Ib(a,b,c){var d=0,e=0,f=0,g=0;j[a+112>>2]=b;j[a+116>>2]=c;d=j[a+8>>2];g=j[a+4>>2];e=d-g|0;f=e>>31;j[a+120>>2]=e;j[a+124>>2]=f;j[a+104>>2]=b|c?((c|0)<(f|0)?1:(c|0)<=(f|0)?b>>>0>>0:0)?b+g|0:d:d}function Yi(a){a=a|0;var b=0,c=0;a:{if(j[a+12>>2]==j[a+16>>2]){b=-1;if(m[a+16>>2]>=m[a+24>>2]){break a}b=j[a+8>>2];c=j[a+12>>2];j[a+16>>2]=j[a+24>>2];j[a+12>>2]=c;j[a+8>>2]=b}b=k[j[a+12>>2]]}return b|0}function tb(a,b,c,d,e){var f=0;f=M-256|0;M=f;if(!(e&73728|(c|0)<=(d|0))){c=c-d|0;d=c>>>0<256;ya(f,b&255,d?c:256);if(!d){while(1){ab(a,f,256);c=c-256|0;if(c>>>0>255){continue}break}}ab(a,f,c)}M=f+256|0}function On(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;j[d+12>>2]=c;j[d+8>>2]=c;e=-1;c=yd(0,0,b,c);a:{if((c|0)<0){break a}f=a;c=c+1|0;a=ja(c);j[f>>2]=a;if(!a){break a}e=yd(a,c,b,j[d+12>>2])}M=d+16|0;return e}function qk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=pk(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function ok(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=nk(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function jk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=ik(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function hk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=gk(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function ig(a,b,c,d,e,f){var g=0,i=0,k=0;g=M-16|0;M=g;h[g+15|0]=0;h[g+14|0]=f;h[g+13|0]=e;h[g+12|0]=37;if(f){Xa(g+13|0,g+14|0)}i=c,k=(H(b|0,j[c>>2]-b|0,g+12|0,d|0,j[a>>2])|0)+b|0,j[i>>2]=k;M=g+16|0}function So(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=M-16|0;M=e;a=L(j[a+60>>2],b|0,c|0,d&255,e+8|0)|0;b=0;a:{if(!a){break a}j[37203]=a;b=-1}a=b;M=e+16|0;N=a?-1:j[e+12>>2];return(a?-1:j[e+8>>2])|0}function Ae(a){a=a|0;var b=0,c=0;j[a>>2]=122472;Fo(a);b=j[a+28>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}T(j[a+32>>2]);T(j[a+36>>2]);T(j[a+48>>2]);T(j[a+60>>2]);return a|0}function Rg(a,b,c,d){a:{if(!a){break a}b:{switch(b+2|0){case 0:h[a|0]=c;return;case 1:i[a>>1]=c;return;case 2:case 3:j[a>>2]=c;return;case 5:break b;default:break a}}j[a>>2]=c;j[a+4>>2]=d}}function di(a){var b=0;b=k[a+74|0];h[a+74|0]=b-1|b;b=j[a>>2];if(b&8){j[a>>2]=b|32;return-1}j[a+4>>2]=0;j[a+8>>2]=0;b=j[a+44>>2];j[a+28>>2]=b;j[a+20>>2]=b;j[a+16>>2]=b+j[a+48>>2];return 0}function rl(a,b){var c=0,d=0;c=M-16|0;M=c;if(k[a+11|0]>>>7|0){T(j[a>>2])}j[a+8>>2]=j[b+8>>2];d=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=d;h[b+11|0]=0;j[c+12>>2]=0;j[b>>2]=j[c+12>>2];M=c+16|0}function ba(a,b){var c=0,d=0;c=k[a|0];d=k[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=k[b+1|0];c=k[a+1|0];if(!c){break a}b=b+1|0;a=a+1|0;if((c|0)==(d|0)){continue}break}}return c-d|0}function Gj(){var a=0;a:{if(h[150360]&1){break a}if(!Ma(150360)){break a}a=150336;while(1){a=ga(a)+12|0;if((a|0)!=150360){continue}break}La(150360)}oa(150336,133648);oa(150348,133651)}function Dj(){var a=0;a:{if(h[150392]&1){break a}if(!Ma(150392)){break a}a=150368;while(1){a=ga(a)+12|0;if((a|0)!=150392){continue}break}La(150392)}na(150368,133656);na(150380,133668)}function sl(a,b){var c=0,d=0;c=M-16|0;M=c;if(k[a+11|0]>>>7|0){T(j[a>>2])}j[a+8>>2]=j[b+8>>2];d=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=d;h[b+11|0]=0;h[c+15|0]=0;h[b|0]=k[c+15|0];M=c+16|0}function nc(a){var b=0,c=0;b=j[37193];c=a+3&-4;a=b+c|0;a:{if(a>>>0<=b>>>0?(c|0)>=1:0){break a}if(a>>>0>Nr()<<16>>>0){if(!(G(a|0)|0)){break a}}j[37193]=a;return b}j[37203]=48;return-1}function ve(a,b,c,d,e,f,g,h,i){var k=0;k=M-16|0;M=k;yb(k,b,c,d,e,f,g,h,i^-2147483648);b=j[k+4>>2];j[a>>2]=j[k>>2];j[a+4>>2]=b;b=j[k+12>>2];j[a+8>>2]=j[k+8>>2];j[a+12>>2]=b;M=k+16|0}function ic(a){var b=0,c=0,d=0;b=M-16|0;M=b;d=b;if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}j[d+8>>2]=c+(a<<2);M=b+16|0;return j[b+8>>2]}function Ye(a,b){var c=0;a:{b:{if((a|0)!=105){break b}b=b-90|0;if(b>>>0>12){break b}c=304;if(1<>1]}return c&65535}function af(a,b,c,d){var e=0,f=0,g=0,h=0;f=j[a+4>>2];a=j[a>>2];g=a;h=b;e=0;a:{if(!c){break a}b=f>>8;e=b;if(!(f&1)){break a}e=j[b+j[c>>2]>>2]}O[j[j[a>>2]+28>>2]](g,h,e+c|0,f&2?d:2)}function Xe(a,b){var c=0;a:{b:{if((a|0)!=73){break b}b=b-90|0;if(b>>>0>12){break b}c=305;if(1<>1]}return c&65535}function ur(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}ib(a+12|0);Ta(a- -64|0);return a|0}function ha(a,b){var c=0,d=0;c=M-16|0;M=c;a:{if(!(k[b+11|0]>>>7|0)){j[a+8>>2]=j[b+8>>2];d=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=d;break a}Yd(a,j[b>>2],j[b+4>>2])}M=c+16|0;return a}function de(a){a=a|0;var b=0,c=0;j[a>>2]=133828;a:{if(!j[a+8>>2]|(j[a+32>>2]&9)!=1){break a}b=j[a+8>>2];c=j[a+44>>2];if(c){O[c|0](b);break a}if(!b){break a}T(b)}ib(a);return a|0}function Li(a,b){var c=0,d=0;c=M-16|0;M=c;a:{if(k[a+11|0]>>>7|0){d=j[a>>2];h[c+15|0]=0;h[b+d|0]=k[c+15|0];j[a+4>>2]=b;break a}h[c+14|0]=0;h[a+b|0]=k[c+14|0];h[a+11|0]=b}M=c+16|0}function vr(a){a=a|0;var b=0,c=0,d=0;c=a+56|0;j[c>>2]=120340;b=a-8|0;j[b>>2]=120300;d=a+4|0;j[d>>2]=120536;j[a>>2]=120320;if(h[a+47|0]<=-1){T(j[b+44>>2])}ib(d);Ta(c);return b|0}function Jl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;c=M-128|0;M=c;j[c+12>>2]=c+116;ig(a+8|0,c+16|0,c+12|0,e,f,g);a=dj(c+16|0,j[c+12>>2],b);M=c+128|0;return a|0}function Il(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;c=M-416|0;M=c;j[c+12>>2]=c+416;Hl(a+8|0,c+16|0,c+12|0,e,f,g);a=cj(c+16|0,j[c+12>>2],b);M=c+416|0;return a|0}function vl(a){var b=0,c=0;b=M-16|0;M=b;a:{if(k[a+11|0]>>>7|0){c=j[a>>2];j[b+12>>2]=0;j[c>>2]=j[b+12>>2];j[a+4>>2]=0;break a}j[b+8>>2]=0;j[a>>2]=j[b+8>>2];h[a+11|0]=0}M=b+16|0}function kc(a){var b=0,c=0,d=0;b=M-16|0;M=b;d=b;if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}j[d+8>>2]=c+a;M=b+16|0;return j[b+8>>2]}function Dk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=M-16|0;M=a;j[a+12>>2]=e;j[a+8>>2]=d-c;b=M-16|0;M=b;M=b+16|0;M=a+16|0;b=a+8|0;a=a+12|0;return j[(m[b>>2]>2]?b:a)>>2]}function rm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=M-16|0;M=g;j[g+8>>2]=624576549;j[g+12>>2]=1394948685;a=Zb(a,b,c,d,e,f,g+8|0,g+16|0);M=g+16|0;return a|0}function fb(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=c;j[f+8>>2]=e;c=Mb(f,f+12|0);b=yd(a,b,d,j[f+8>>2]);a=j[c>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=f+16|0;return b}function xg(a,b,c){var d=0;d=M-16|0;M=d;j[d+12>>2]=b;j[d+8>>2]=c;b=Mb(d,d+12|0);c=Qg(a,127633,j[d+8>>2]);a=j[b>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=d+16|0;return c}function _g(a){var b=0,c=0;b=j[a>>2];if(b){c=j[b+12>>2];a:{if((c|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break a}b=j[c>>2]}if((b|0)!=-1){return!j[a>>2]}j[a>>2]=0}return 1}function Rk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=j[b>>2];if(a>>>0<=127){a=j[j[31124]+(j[b>>2]<<2)>>2]}j[d>>2]=a;b=b+4|0;continue}break}return c|0}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=j[b>>2];if(a>>>0<=127){a=j[j[31512]+(j[b>>2]<<2)>>2]}j[d>>2]=a;b=b+4|0;continue}break}return c|0}function rr(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}ib(a+12|0);Ta(a- -64|0);T(a)}function $g(a){var b=0,c=0;b=j[a>>2];if(b){c=j[b+12>>2];a:{if((c|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break a}b=k[c|0]}if((b|0)!=-1){return!j[a>>2]}j[a>>2]=0}return 1}function Tk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a:{while(1){if((c|0)==(d|0)){break a}if(!(!(l[j[30931]+(j[c>>2]<<1)>>1]&b)|m[c>>2]>127)){c=c+4|0;continue}break}d=c}return d|0}function Bl(a){var b=0,c=0;b=M-16|0;M=b;a:{if(k[a+11|0]>>>7|0){c=j[a>>2];h[b+15|0]=0;h[c|0]=k[b+15|0];j[a+4>>2]=0;break a}h[b+14|0]=0;h[a|0]=k[b+14|0];h[a+11|0]=0}M=b+16|0}function sr(a){a=a|0;var b=0,c=0,d=0;c=a+56|0;j[c>>2]=120340;b=a-8|0;j[b>>2]=120300;d=a+4|0;j[d>>2]=120536;j[a>>2]=120320;if(h[a+47|0]<=-1){T(j[b+44>>2])}ib(d);Ta(c);T(b)}function Sb(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+12>>2]=b;j[e+8>>2]=d;b=Mb(e,e+12|0);c=On(a,c,j[e+8>>2]);a=j[b>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=e+16|0;return c}function _d(a,b,c,d){var e=0;e=wc(a,b,c);if(l[d>>1]>1]){$a(c,d);if(l[c>>1]>=l[b>>1]){return e+1|0}$a(b,c);if(l[b>>1]>=l[a>>1]){return e+2|0}$a(a,b);e=e+3|0}return e}function Uk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){a:{if((c|0)!=(d|0)){if(!(l[j[30931]+(j[c>>2]<<1)>>1]&b)|m[c>>2]>127){break a}}else{c=d}return c|0}c=c+4|0;continue}}function Pd(a,b){var c=0,d=0,e=0;c=0;a:{if(!a){break a}d=Cr(a,0,b,0);e=N;c=d;if((a|b)>>>0<65536){break a}c=e?-1:d}b=c;a=ja(b);if(!(!a|!(k[a-4|0]&3))){ya(a,0,b)}return a}function Jk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=h[b|0];if((a|0)>=0){a=j[j[31124]+(h[b|0]<<2)>>2]}h[d|0]=a;b=b+1|0;continue}break}return c|0}function Hk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=h[b|0];if((a|0)>=0){a=j[j[31512]+(h[b|0]<<2)>>2]}h[d|0]=a;b=b+1|0;continue}break}return c|0}function qa(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}while(1){d=k[a|0];e=k[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}f=d-e|0}return f}function sk(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+12>>2]=d;d=Mb(e+8|0,e+12|0);b=rd(0,a,b,c?c:148924);a=j[d>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=e+16|0;return b}function uf(){var a=0,b=0;a=M-16|0;M=a;j[a+12>>2]=1073741823;j[a+8>>2]=2147483647;b=M-16|0;M=b;M=b+16|0;M=a+16|0;b=a+8|0;a=a+12|0;return j[(m[b>>2]>2]?b:a)>>2]}function qh(a){var b=0,c=0,d=0;if(h[j[a>>2]]-48>>>0<10){while(1){b=j[a>>2];d=h[b|0];j[a>>2]=b+1;c=(p(c,10)+d|0)-48|0;if(h[b+1|0]-48>>>0<10){continue}break}}return c}function kh(a,b){j[a+4>>2]=b;h[a|0]=0;if(!j[(j[j[b>>2]-12>>2]+b|0)+16>>2]){if(j[(j[j[b>>2]-12>>2]+b|0)+72>>2]){lh(j[(j[j[b>>2]-12>>2]+b|0)+72>>2])}h[a|0]=1}return a}function Un(a,b,c){var d=0,e=0,f=0;e=j[a+84>>2];d=c+256|0;f=Aa(e,0,d);d=f?f-e|0:d;c=c>>>0>d>>>0?d:c;V(b,e,c);b=e+d|0;j[a+84>>2]=b;j[a+8>>2]=b;j[a+4>>2]=c+e;return c}function ae(a,b,c,d){var e=0;e=xc(a,b,c);if(h[d|0]=h[b|0]){return e+1|0}Xa(b,c);if(h[b|0]>=h[a|0]){return e+2|0}Xa(a,b);e=e+3|0}return e}function Vk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((b|0)!=(c|0)){i[d>>1]=m[b>>2]<=127?l[j[30931]+(j[b>>2]<<1)>>1]:0;d=d+2|0;b=b+4|0;continue}break}return c|0}function yk(a,b,c,d,e,f){var g=0;g=M-16|0;M=g;j[g+12>>2]=f;f=Mb(g+8|0,g+12|0);b=Kn(a,b,c,d,e);a=j[f>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=g+16|0;return b}function uk(a){var b=0,c=0;b=M-16|0;M=b;j[b+12>>2]=a;a=Mb(b+8|0,b+12|0);c=M-16|0;M=c;M=c+16|0;a=j[a>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=b+16|0;return 0}function Bf(a){var b=0,c=0;b=M-16|0;M=b;j[b+12>>2]=a;a=Mb(b+8|0,b+12|0);c=j[j[37179]>>2]?4:1;a=j[a>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=b+16|0;return c}function $k(){var a=0;a:{if(h[149116]&1){break a}if(!Ma(149116)){break a}a=j[dl()>>2];j[37277]=a;j[a+4>>2]=j[a+4>>2]+1;j[37278]=149108;La(149116)}return j[37278]}function ck(a){var b=0,c=0;b=k[a+4115|0];c=b<<24>>24;if((c|0)<=-1){b=j[a+4108>>2]}a=a+4104|0;if(!b){Ka(a,1770);c=h[a+11|0]}if((c|0)<=-1){a=j[a>>2]}return cb(a)}function Fl(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=e;e=Mb(f+8|0,f+12|0);b=Mg(a,b,c,d);a=j[e>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=f+16|0;return b}function Cf(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=e;e=Mb(f+8|0,f+12|0);b=rd(a,b,c,d);a=j[e>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=f+16|0;return b}function Ak(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=e;e=Mb(f+8|0,f+12|0);b=Ln(a,b,c,d);a=j[e>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=f+16|0;return b}function yn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=0;while(1){if((b|0)!=(c|0)){a=j[b>>2]+(a<<4)|0;d=a&-268435456;a=(d|d>>>24)^a;b=b+4|0;continue}break}return a|0}function Yq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}ib(a+4|0);Ta(a+56|0);return a|0}function $e(a){var b=0;a:{if(!a){break a}while(1){b:{switch(k[a|0]){case 0:case 9:case 10:case 32:break a;default:break b}}b=b+1|0;a=a+1|0;continue}}return b}function Cn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=0;while(1){if((b|0)!=(c|0)){a=h[b|0]+(a<<4)|0;d=a&-268435456;a=(d|d>>>24)^a;b=b+1|0;continue}break}return a|0}function Fi(a){a=a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}ib(a+12|0);Ta(a- -64|0);return a|0}function dd(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=a;M=d+16|0;d=j[d+8>>2];a=M-16|0;M=a;j[a+8>>2]=b;M=a+16|0;a=j[a+8>>2]-d|0;if(a){Ja(c,d,a)}return a+c|0}function Wq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}ib(a+4|0);Ta(a+56|0);T(a)}function Vj(a){var b=0,c=0;b=a+4116|0;a:{b:{c=h[a+4127|0];if((c|0)<=-1){if(j[a+4120>>2]){break b}return 0}if(c){break a}return 0}b=j[b>>2]}return cb(b)}function Mk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((b|0)!=(c|0)){a=j[b>>2];h[e|0]=a>>>0<128?a:d;e=e+1|0;b=b+4|0;continue}break}return c|0}function ge(a,b,c){var d=0;d=M-16|0;M=d;j[d+12>>2]=c;c=Mb(d+8|0,d+12|0);b=tc(a,b);a=j[c>>2];if(a){if(a){j[37179]=(a|0)==-1?148860:a}}M=d+16|0;return b}function Dq(a){var b=0;b=j[a>>2];if(b){T(b)}b=j[a+212>>2];if(b){j[a+216>>2]=b;T(b)}b=a+112|0;j[b>>2]=121256;j[a+4>>2]=121236;lc(a+12|0);Ta(b);return a}function tr(a){a=a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}ib(a+12|0);Ta(a- -64|0);T(a)}function ej(a,b,c){var d=0;d=M-16|0;M=d;Fn(d,b,c,ra());b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;b=j[d+12>>2];j[a+8>>2]=j[d+8>>2];j[a+12>>2]=b;M=d+16|0}function Ek(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((b|0)!=(c|0)){a=h[b|0];h[e|0]=(a|0)>-1?a:d;e=e+1|0;b=b+1|0;continue}break}return c|0}function ea(a){var b=0;b=j[a+192>>2];if(b){T(Dq(b))}b=j[a>>2];if(b){O[j[j[b>>2]+4>>2]](b)}b=a+112|0;j[b>>2]=121256;j[a+4>>2]=121236;lc(a+12|0);Ta(b)}function xr(a,b){var c=0;a:{c=h[a+11|0];b:{if((c|0)<=-1){if(!j[a+4>>2]){break a}a=j[a>>2];break b}if(!c){break a}}h[a|0]=k[(p(k[a|0],3)+b|0)+1|0]}}function nb(a,b){var c=0;a:{c=h[a+11|0];b:{if((c|0)<=-1){if(!j[a+4>>2]){break a}a=j[a>>2];break b}if(!c){break a}}h[a|0]=k[(p(k[a|0],3)+b|0)+2|0]}}function ii(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(zb(a,j[b+8>>2],f)){Rd(b,c,d,e);return}a=j[a+8>>2];O[j[j[a>>2]+20>>2]](a,b,c,d,e,f)}function Gn(a,b,c){var d=0;d=M-16|0;M=d;se(d,b,c,2);b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;b=j[d+12>>2];j[a+8>>2]=j[d+8>>2];j[a+12>>2]=b;M=d+16|0}function ua(a,b){var c=0;if((a|0)!=(b|0)){c=a;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}mf(c,a,b)}}function cj(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=c;while(1){if((a|0)!=(b|0)){ah(d+8|0,j[a>>2]);a=a+4|0;continue}break}M=d+16|0;return j[d+8>>2]}function dj(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=c;while(1){if((a|0)!=(b|0)){bh(d+8|0,h[a|0]);a=a+1|0;continue}break}M=d+16|0;return j[d+8>>2]}function bj(a,b,c){var d=0,e=0,f=0;e=a;d=b;f=d;a:{if(!c){c=W(d);break a}c=c>>>0<2147483647?c:2147483647}j[e+16>>2]=f+c;j[a+12>>2]=d;j[a+8>>2]=b}function ff(a,b){var c=0,d=0;if(k[b+11|0]>>>7|0){c=j[b>>2]}else{c=b}d=a;if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}j[d+4>>2]=b;j[a>>2]=c}function Qd(a,b,c,d,e,f){var g=0,h=0,i=0;g=j[a+4>>2];h=g>>8;a=j[a>>2];i=a;if(g&1){h=j[j[d>>2]+h>>2]}O[j[j[a>>2]+20>>2]](i,b,c,d+h|0,g&2?e:2,f)}function Wd(a,b){var c=0;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if(c>>>0<=b>>>0){X();z()}if(k[a+11|0]>>>7|0){a=j[a>>2]}return a+b|0}function ma(a,b,c){var d=0,e=0;if(!b){return c}while(1){d=b,e=ma(a,j[b+76>>2],c),j[d+68>>2]=e;c=b;b=j[b+72>>2];if(b){continue}break}return c}function la(a,b,c){var d=0,e=0;if(!b){return c}while(1){d=b,e=la(a,j[b+88>>2],c),j[d+80>>2]=e;c=b;b=j[b+84>>2];if(b){continue}break}return c}function ei(a,b,c,d){var e=0,f=0;f=d&65535;d=d>>>16&32767;a:{if((d|0)!=32767){e=4;if(d){break a}return a|c|(b|f)?3:2}e=!(a|c|(b|f))}return e}function ar(a,b,c){if(!((b|0)<1|j[a+80>>2]<(b|0))){b=b-1|0;j[c>>2]=j[j[a+84>>2]+(b<<2)>>2];return l[j[a+88>>2]+(b<<1)>>1]}j[c>>2]=0;return 0}function ao(a){var b=0,c=0;b=M-16|0;M=b;c=-1;a:{if(uh(a)){break a}if((O[j[a+32>>2]](a,b+15|0,1)|0)!=1){break a}c=k[b+15|0]}M=b+16|0;return c}function Ho(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=j[a+20>>2];d=j[a+16>>2]-e|0;d=c>>>0>>0?c:d;V(e,b,d);j[a+20>>2]=d+j[a+20>>2];return c|0}function Qg(a,b,c){var d=0;d=M-144|0;M=d;d=ya(d,0,144);j[d+76>>2]=-1;j[d+44>>2]=a;j[d+32>>2]=76;j[d+84>>2]=a;a=Wn(d,b,c);M=d+144|0;return a}function zp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=M-16|0;M=d;j[d+8>>2]=c;j[d+12>>2]=b;if(a){a=yp(a,d+12|0,d+8|0)}else{a=0}M=d+16|0;return a|0}function ad(a,b,c,d,e){var f=0,g=0,h=0;f=j[a+4>>2];g=f>>8;a=j[a>>2];h=a;if(f&1){g=j[j[c>>2]+g>>2]}O[j[j[a>>2]+24>>2]](h,b,c+g|0,f&2?d:2,e)}function Fn(a,b,c,d){d=M-16|0;M=d;Gn(d,b,c);b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;b=j[d+12>>2];j[a+8>>2]=j[d+8>>2];j[a+12>>2]=b;M=d+16|0}function Mo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=b;b=j[b>>2]+15&-16;j[c>>2]=b+16;d=a,e=Be(j[b>>2],j[b+4>>2],j[b+8>>2],j[b+12>>2]),o[d>>3]=e}function qo(a,b){var c=0;c=j[a+24>>2];if((c|0)==j[a+28>>2]){return O[j[j[a>>2]+52>>2]](a,b&255)|0}j[a+24>>2]=c+1;h[c|0]=b;return b&255}function ib(a){a=a|0;var b=0,c=0;j[a>>2]=122224;b=j[a+4>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}return a|0}function Zq(a){a=a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}ib(a+4|0);Ta(a+56|0);return a|0}function Po(a,b,c,d){if(a|b){while(1){c=c-1|0;h[c|0]=k[(a&15)+122e3|0]|d;a=(b&15)<<28|a>>>4;b=b>>>4|0;if(a|b){continue}break}}return c}function Ia(a,b,c){var d=0;if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}return Ii(d,a,b,c)}function Ba(a,b,c){var d=0;if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}return Gi(d,a,b,c)}function Ga(a){var b=0;a=j[a>>2];b=j[a+12>>2];a:{if((b|0)==j[a+16>>2]){a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=k[b|0]}return a<<24>>24}function Fo(a){var b=0,c=0;b=j[a+40>>2];while(1){if(b){b=b-1|0;c=b<<2;O[j[j[a+32>>2]+c>>2]](0,a,j[c+j[a+36>>2]>>2]);continue}break}}function lk(a){var b=0,c=0;b=a+4408|0;a:{c=h[a+4419|0];if((c|0)<=-1){if(j[a+4412>>2]){break a}return 0}return c?b:0}return j[b>>2]}function Gi(a,b,c,d){var e=0;e=M-16|0;M=e;h[e+15|0]=c;c=-1;if(b>>>0>d>>>0){b=hf(a+d|0,b-d|0,e+15|0);c=b?b-a|0:-1}M=e+16|0;return c}function Dp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=M-16|0;M=e;j[e+12>>2]=b;if(a){a=Cp(e+12|0,c,d)}else{a=0}M=e+16|0;return a|0}function Bg(a){var b=0,c=0;b=h[a+4139|0];c=j[a+4132>>2];a:{if((b|0)<=-1){break a}c=b&255}b=c;a=a+4128|0;if(!b){Ka(a,1760)}return a}function ra(){var a=0,b=0;a:{if(h[149092]&1){break a}if(!Ma(149092)){break a}a=149088,b=Pn(),j[a>>2]=b;La(149092)}return j[37272]}function dl(){a:{if(h[149104]&1){break a}if(!Ma(149104)){break a}hl();j[37274]=150720;j[37275]=149096;La(149104)}return j[37275]}function Xq(a){a=a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}ib(a+4|0);Ta(a+56|0);T(a)}function oo(a,b){var c=0;c=j[a+24>>2];if((c|0)==j[a+28>>2]){return O[j[j[a>>2]+52>>2]](a,b)|0}j[a+24>>2]=c+4;j[c>>2]=b;return b}function Ok(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((b|0)!=(c|0)){j[d>>2]=h[b|0];d=d+4|0;b=b+1|0;continue}break}return c|0}function og(a,b,c,d,e,f){a=O[j[j[a+8>>2]+4>>2]](a+8|0)|0;a=qd(c,d,a,a+288|0,f,e,0)-a|0;if((a|0)<=287){j[b>>2]=((a|0)/12|0)%12}}function lg(a,b,c,d,e,f){a=O[j[j[a+8>>2]+4>>2]](a+8|0)|0;a=pd(c,d,a,a+288|0,f,e,0)-a|0;if((a|0)<=287){j[b>>2]=((a|0)/12|0)%12}}function Gk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((b|0)!=(c|0)){h[d|0]=k[b|0];d=d+1|0;b=b+1|0;continue}break}return c|0}function wd(a){j[a>>2]=122224;If(a+4|0);j[a+24>>2]=0;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;return a}function pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(zb(a,j[b+8>>2],0)){Sd(b,c,d);return}a=j[a+8>>2];O[j[j[a>>2]+28>>2]](a,b,c,d)}function cl(a){var b=0;b=j[37685]-j[37684]>>2;if(b>>>0>>0){al(a-b|0);return}if(a>>>0>>0){rf(150736,j[37684]+(a<<2)|0)}}function Wa(a,b){var c=0,d=0;d=b;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if(d>>>0>c>>>0){Mi(a,b-c|0);return}Li(a,b)}function td(a,b){j[a+20>>2]=0;j[a+24>>2]=b;j[a+12>>2]=0;j[a+4>>2]=4098;j[a+8>>2]=6;j[a+16>>2]=!b;ya(a+32|0,0,40);If(a+28|0)}function pg(a,b,c,d,e,f){a=O[j[j[a+8>>2]>>2]](a+8|0)|0;a=qd(c,d,a,a+168|0,f,e,0)-a|0;if((a|0)<=167){j[b>>2]=((a|0)/12|0)%7}}function mg(a,b,c,d,e,f){a=O[j[j[a+8>>2]>>2]](a+8|0)|0;a=pd(c,d,a,a+168|0,f,e,0)-a|0;if((a|0)<=167){j[b>>2]=((a|0)/12|0)%7}}function me(a,b,c){c=j[c>>2];while(1){a:{if((a|0)!=(b|0)){if((c|0)!=j[a>>2]){break a}}else{a=b}return a}a=a+4|0;continue}}function U(a){var b=0;a=a?a:1;a:{while(1){b=ja(a);if(b){break a}b=j[37747];if(b){O[b|0]();continue}break}D();z()}return b}function hj(a){var b=0;b=a+4|0;gj(j[37684],j[37685],b);sd(150736,b);sd(150740,a+8|0);sd(150752,a+12|0);j[a>>2]=j[a+4>>2]}function Rf(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=a;while(1){if(b>>>0>>0){Qf(d+8|0,b);b=b+1|0;continue}break}M=d+16|0}function pe(a,b,c){c=k[c|0];while(1){a:{if((a|0)!=(b|0)){if((c|0)!=k[a|0]){break a}}else{a=b}return a}a=a+1|0;continue}}function dh(a){var b=0;b=j[a+12>>2];if((b|0)==j[a+16>>2]){return O[j[j[a>>2]+40>>2]](a)|0}j[a+12>>2]=b+4;return j[b>>2]}function Tj(a){a=a|0;a:{if(h[149192]&1){break a}if(!Ma(149192)){break a}Sj();j[37297]=149376;La(149192)}return j[37297]}function Qj(a){a=a|0;a:{if(h[149200]&1){break a}if(!Ma(149200)){break a}Pj();j[37299]=149552;La(149200)}return j[37299]}function Nj(a){a=a|0;a:{if(h[149208]&1){break a}if(!Ma(149208)){break a}Mj();j[37301]=149728;La(149208)}return j[37301]}function Kj(a){a=a|0;a:{if(h[149216]&1){break a}if(!Ma(149216)){break a}Jj();j[37303]=150032;La(149216)}return j[37303]}function Jn(a,b){var c=0,d=q(0);c=M-16|0;M=c;se(c,a,b,0);d=Sg(j[c>>2],j[c+4>>2],j[c+8>>2],j[c+12>>2]);M=c+16|0;return d}function Hj(a){a=a|0;a:{if(h[149224]&1){break a}if(!Ma(149224)){break a}Gj();j[37305]=150336;La(149224)}return j[37305]}function Ej(a){a=a|0;a:{if(h[149232]&1){break a}if(!Ma(149232)){break a}Dj();j[37307]=150368;La(149232)}return j[37307]}function xo(a){a=a|0;var b=0;if((O[j[j[a>>2]+36>>2]](a)|0)==-1){return-1}b=a;a=j[a+12>>2];j[b+12>>2]=a+1;return k[a|0]}function hh(a){var b=0;b=j[a+12>>2];if((b|0)==j[a+16>>2]){return O[j[j[a>>2]+40>>2]](a)|0}j[a+12>>2]=b+1;return k[b|0]}function Ve(a,b,c,d){var e=0;e=M-16|0;M=e;a=va(a,b);if(!(!d|!a)){ia(c,b);xd(j[c>>2],j[c+4>>2],e+8|0)}M=e+16|0;return a}function Oo(a,b,c){if(a|b){while(1){c=c-1|0;h[c|0]=a&7|48;a=(b&7)<<29|a>>>3;b=b>>>3|0;if(a|b){continue}break}}return c}function fj(a){var b=0,c=0,d=0;c=j[a+4>>2];b=j[a>>2];a=j[a+8>>2];b=b+(a>>1)|0;d=b;if(a&1){c=j[c+j[b>>2]>>2]}O[c|0](d)}function In(a,b){var c=0,d=0;c=M-16|0;M=c;se(c,a,b,1);d=Be(j[c>>2],j[c+4>>2],j[c+8>>2],j[c+12>>2]);M=c+16|0;return d}function Yg(a,b,c,d,e,f,g,h,i){j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=d;j[a+12>>2]=e&65535|(i>>>16&32768|e>>>16&32767)<<16}function Mb(a,b){var c=0;c=j[37179];b=j[b>>2];if(b){j[37179]=(b|0)==-1?148860:b}j[a>>2]=(c|0)==148860?-1:c;return a}function zj(a){a=a|0;a:{if(h[149264]&1){break a}if(!Ma(149264)){break a}yc(149252,128152);La(149264)}return 149252}function xj(a){a=a|0;a:{if(h[149280]&1){break a}if(!Ma(149280)){break a}rc(149268,128188);La(149280)}return 149268}function vj(a){a=a|0;a:{if(h[149296]&1){break a}if(!Ma(149296)){break a}yc(149284,128200);La(149296)}return 149284}function tj(a){a=a|0;a:{if(h[149312]&1){break a}if(!Ma(149312)){break a}rc(149300,128236);La(149312)}return 149300}function rj(a){a=a|0;a:{if(h[149328]&1){break a}if(!Ma(149328)){break a}yc(149316,128260);La(149328)}return 149316}function pj(a){a=a|0;a:{if(h[149344]&1){break a}if(!Ma(149344)){break a}rc(149332,128344);La(149344)}return 149332}function nj(a){a=a|0;a:{if(h[149360]&1){break a}if(!Ma(149360)){break a}yc(149348,128356);La(149360)}return 149348}function Bj(a){a=a|0;a:{if(h[149248]&1){break a}if(!Ma(149248)){break a}rc(149236,128140);La(149248)}return 149236}function wk(a){a=a|0;a:{if(uk(j[a+8>>2])){a=-1}else{a=j[a+8>>2];if(a){break a}a=1}return a|0}return(Bf(a)|0)==1|0}function tm(a,b){a:{if((a|0)==(b|0)){break a}while(1){b=b-1|0;if(b>>>0<=a>>>0){break a}Xa(a,b);a=a+1|0;continue}}}function sm(a,b){a:{if((a|0)==(b|0)){break a}while(1){b=b-4|0;if(b>>>0<=a>>>0){break a}sd(a,b);a=a+4|0;continue}}}function el(){j[37605]=0;j[37604]=134060;j[37604]=128412;h[150428]=0;j[37606]=0;j[37604]=127908;j[37606]=j[30931]}function qb(a){var b=0,c=0;b=M-16|0;M=b;c=b;if(k[a+11|0]>>>7|0){a=j[a>>2]}j[c+8>>2]=a;M=b+16|0;return j[b+8>>2]}function Tb(a){a:{a=j[a+4>>2]&74;if(a){if((a|0)==64){return 8}if((a|0)!=8){break a}return 16}return 0}return 10}function zb(a,b,c){if(!c){return j[a+4>>2]==j[b+4>>2]}if((a|0)==(b|0)){return 1}return!ba(j[a+4>>2],j[b+4>>2])}function vi(a){var b=0;a:{a=j[a+8>>2];b=k[a|0];if((b|0)!=1){if(b&2){break a}h[a|0]=2;a=1}else{a=0}return a}z()}function ag(a,b){var c=0,d=0;d=j[b>>2];j[b>>2]=0;c=j[a>>2];j[a>>2]=d;if(c){O[j[a+4>>2]](c)}j[a+4>>2]=j[b+4>>2]}function Ma(a){var b=0;b=M-16|0;M=b;j[b+12>>2]=0;j[b+4>>2]=a;j[b>>2]=a;j[b+8>>2]=a+1;a=wi(b);M=b+16|0;return a}function Bq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Ta(a+108|0);return a|0}function np(a){a=a|0;j[a>>2]=121508;T(j[a+4>>2]);j[a+12>>2]=0;j[a+16>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;return a|0}function Co(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;j[a+8>>2]=-1;j[a+12>>2]=-1;j[a>>2]=0;j[a+4>>2]=0}function ng(a,b,c,d,e){b=Rb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=((b|0)<69?b+2e3|0:(b|0)<100?b+1900|0:b)-1900}}function jg(a,b,c,d,e){b=Qb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=((b|0)<69?b+2e3|0:(b|0)<100?b+1900|0:b)-1900}}function Xf(a,b){var c=0;c=M-16|0;M=c;j[c+8>>2]=j[a>>2];j[c+8>>2]=j[c+8>>2]+(b<<2);M=c+16|0;return j[c+8>>2]}function lo(a){var b=0;a:{if(j[a+76>>2]!=-1){a=j[a+76>>2];break a}b=a;a=ko(a);j[b+76>>2]=a}return a<<24>>24}function Da(a,b,c){var d=0;d=M-16|0;M=d;j[d+12>>2]=b;j[a>>2]=j[d+12>>2];j[a+4>>2]=j[c>>2];M=d+16|0;return a}function $c(a,b,c){a:{if(j[c+76>>2]<=-1){a=Nd(a,b,c);break a}a=Nd(a,b,c)}if((a|0)==(b|0)){return b}return a}function Ef(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j[e>>2]=c;j[h>>2]=f;return 3}function zq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Ta(a+108|0);T(a)}function aj(a,b,c){wd(a);j[a+40>>2]=0;j[a+44>>2]=0;j[a+32>>2]=0;j[a+36>>2]=4096;j[a>>2]=133828;bj(a,b,c)}function Vn(a,b){var c=0;c=M-16|0;j[c+12>>2]=a;a=b>>>0>1?((b<<2)+a|0)-4|0:a;j[c+8>>2]=a+4;return j[a>>2]}function Jf(a,b){a=a+16|0;if(j[a+4>>2]-j[a>>2]>>2>>>0>b>>>0){a=j[j[a>>2]+(b<<2)>>2]!=0}else{a=0}return a}function wi(a){var b=0,c=0;b=M-16|0;M=b;j[b+8>>2]=j[a+4>>2];if(!k[j[b+8>>2]]){c=vi(a)}M=b+16|0;return c}function le(a,b){var c=0;c=M-16|0;M=c;j[c+8>>2]=j[a>>2];j[c+8>>2]=j[c+8>>2]+b;M=c+16|0;return j[c+8>>2]}function cb(a){var b=0,c=0,d=0;a:{if(!a){break a}b=W(a)+1|0;c=ja(b);if(!c){break a}d=V(c,a,b)}return d}function Zk(a,b){var c=0,d=0;c=M-16|0;M=c;if(j[a>>2]!=-1){d=c+8|0;j[d>>2]=b;j[c>>2]=d;Pi(a,c)}M=c+16|0}function gl(){var a=0;a=M-16|0;M=a;j[37684]=0;j[37685]=0;j[a+12>>2]=0;j[37688]=0;h[150880]=0;M=a+16|0}function sd(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=j[a>>2];j[a>>2]=j[b>>2];j[b>>2]=j[c+12>>2];M=c+16|0}function $a(a,b){var c=0;c=M-16|0;M=c;i[c+14>>1]=l[a>>1];i[a>>1]=l[b>>1];i[b>>1]=l[c+14>>1];M=c+16|0}function lm(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>30|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function jm(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>11|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function hm(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>12|c&4)){j[a>>2]=b-1;return}j[d>>2]=c|4}function Vl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>30|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Tl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>11|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Rl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>12|c&4)){j[a>>2]=b-1;return}j[d>>2]=c|4}function Pi(a,b){while(1){if(j[a>>2]==1){continue}break}if(!j[a>>2]){j[a>>2]=1;O[80](b);j[a>>2]=-1}}function La(a){var b=0;b=M-16|0;M=b;j[b+12>>2]=0;j[b+4>>2]=a;j[b>>2]=a;j[b+8>>2]=a+1;ui(b);M=b+16|0}function im(a,b,c,d,e){b=Rb(b,c,d,e,3);c=j[d>>2];if(!((b|0)>365|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function fl(){var a=0;if(uf()>>>0<28){X();z()}a=tf(150768,28);j[37684]=a;j[37685]=a;j[37688]=a+112}function Sl(a,b,c,d,e){b=Qb(b,c,d,e,3);c=j[d>>2];if(!((b|0)>365|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function up(a,b){a=a|0;b=b|0;var c=0;c=M-16|0;M=c;j[c+12>>2]=b;a=tp(a,c+12|0);M=c+16|0;return a|0}function rf(a,b){var c=0;c=j[a+4>>2];while(1){if((b|0)!=(c|0)){c=c-4|0;continue}break}j[a+4>>2]=b}function km(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>23|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function gm(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>59|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function dm(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>60|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Ul(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>23|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Ud(a,b,c,d,e,f){var g=0;g=M-16|0;M=g;ff(g+8|0,d);a=Ei(a,b,c,g+8|0,e,f);M=g+16|0;return a}function Ql(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>59|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Nl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>60|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function cm(a,b,c,d,e){b=Rb(b,c,d,e,1);c=j[d>>2];if(!((b|0)>6|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Ml(a,b,c,d,e){b=Qb(b,c,d,e,1);c=j[d>>2];if(!((b|0)>6|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Io(a,b,c){if(c){while(1){j[a>>2]=j[b>>2];a=a+4|0;b=b+4|0;c=c-1|0;if(c){continue}break}}}function hi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(zb(a,j[b+8>>2],f)){Rd(b,c,d,e)}}function ui(a){var b=0;b=M-16|0;M=b;j[b+8>>2]=j[a+4>>2];h[j[b+8>>2]]=1;h[j[a+8>>2]]=1;M=b+16|0}function nr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;O[j[j[b>>2]+16>>2]](a,b,j[c+8>>2],j[c+12>>2],0,d)}function Xa(a,b){var c=0;c=M-16|0;M=c;h[c+15|0]=k[a|0];h[a|0]=k[b|0];h[b|0]=k[c+15|0];M=c+16|0}function Go(a){var b=0;b=a;a=0;while(1){if((a|0)!=3){j[(a<<2)+b>>2]=0;a=a+1|0;continue}break}}function Bo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;j[a+8>>2]=-1;j[a+12>>2]=-1;j[a>>2]=0;j[a+4>>2]=0}function Ng(a){var b=0,c=0;c=a;while(1){b=c;c=b+4|0;if(j[b>>2]){continue}break}return b-a>>2}function Ff(a){a=a|0;var b=0;j[a>>2]=127908;b=j[a+8>>2];if(!(!b|!k[a+12|0])){T(b)}return a|0}function bh(a,b){var c=0;a:{c=j[a>>2];if(!c){break a}if((qo(c,b)|0)!=-1){break a}j[a>>2]=0}}function ah(a,b){var c=0;a:{c=j[a>>2];if(!c){break a}if((oo(c,b)|0)!=-1){break a}j[a>>2]=0}}function Er(a,b){var c=0,d=0;c=b&31;d=(-1>>>c&a)<>>a} +function _j(a,b,c,d,e,f){var g=0,i=0;j[c>>2]=a;j[f>>2]=d;g=j[c>>2];a:{b:{while(1){if(b>>>0<=g>>>0){a=0;break a}a=2;d=l[g>>1];if(d>>>0>1114111){break a}c:{d:{if(d>>>0<=127){a=1;g=j[f>>2];if((e-g|0)<1){break a}j[f>>2]=g+1;h[g|0]=d;break d}if(d>>>0<=2047){a=j[f>>2];if((e-a|0)<2){break b}j[f>>2]=a+1;h[a|0]=d>>>6|192;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d&63|128;break d}if(d>>>0<=55295){a=j[f>>2];if((e-a|0)<3){break b}j[f>>2]=a+1;h[a|0]=d>>>12|224;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d>>>6&63|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d&63|128;break d}if(d>>>0<=56319){a=1;if((b-g|0)<4){break a}i=l[g+2>>1];if((i&64512)!=56320){break c}if((e-j[f>>2]|0)<4){break a}a=d&960;if((i&1023|(d<<10&64512|a<<10))+65536>>>0>1114111){break c}j[c>>2]=g+2;g=j[f>>2];j[f>>2]=g+1;a=(a>>>6|0)+1|0;h[g|0]=a>>>2|240;g=j[f>>2];j[f>>2]=g+1;h[g|0]=a<<4&48|d>>>2&15|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=i>>>6&15|d<<4&48|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=i&63|128;break d}if(d>>>0<57344){break a}a=j[f>>2];if((e-a|0)<3){break b}j[f>>2]=a+1;h[a|0]=d>>>12|224;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d>>>6&63|128;a=j[f>>2];j[f>>2]=a+1;h[a|0]=d&63|128}g=j[c>>2]+2|0;j[c>>2]=g;continue}break}return 2}return 1}return a}function Ln(a,b,c,d){var e=0,f=0,g=0,l=0,m=0,n=0;a:{b:{f=j[a>>2];c:{if(j[a+8>>2]-f>>2>>>0>=b>>>0){break c}if(b>>>0>=1073741824){break b}e=j[a+4>>2];l=b<<2;b=U(l);l=b+l|0;e=e-f|0;m=e+b|0;if((e|0)>=1){V(b,f,e)}j[a+8>>2]=l;j[a+4>>2]=m;j[a>>2]=b;if(!f){break c}T(f)}d:{if(k[a+16|0]==80){l=U(84);wh(l,j[a+12>>2]);b=j[a+4>>2];g=j[a+8>>2];if(b>>>0>>0){j[b>>2]=l;j[a+4>>2]=b+4;break d}f=j[a>>2];m=b-f|0;b=m>>2;e=b+1|0;if(e>>>0>=1073741824){break a}n=b<<2;g=g-f|0;b=g>>1;e=g>>2>>>0<536870911?b>>>0>>0?e:b:1073741823;b=0;e:{if(!e){break e}if(e>>>0>=1073741824){break b}b=U(e<<2)}g=n+b|0;j[g>>2]=l;if((m|0)>=1){V(b,f,m)}j[a+8>>2]=b+(e<<2);j[a+4>>2]=g+4;j[a>>2]=b;if(!f){break d}T(f);break d}l=U(108);_h(l,j[a+12>>2]);b=j[a+4>>2];g=j[a+8>>2];if(b>>>0>>0){j[b>>2]=l;j[a+4>>2]=b+4;break d}f=j[a>>2];m=b-f|0;b=m>>2;e=b+1|0;if(e>>>0>=1073741824){break a}n=b<<2;g=g-f|0;b=g>>1;e=g>>2>>>0<536870911?b>>>0>>0?e:b:1073741823;b=0;f:{if(!e){break f}if(e>>>0>=1073741824){break b}b=U(e<<2)}g=n+b|0;j[g>>2]=l;if((m|0)>=1){V(b,f,m)}j[a+8>>2]=b+(e<<2);j[a+4>>2]=g+4;j[a>>2]=b;if(!f){break d}T(f)}a=j[j[a+4>>2]-4>>2];i[a+30>>1]=d;h[a+29|0]=c;return}D();z()}X();z()}function vh(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0;a:{f=j[b+4>>2];g=j[c+4>>2];if((f|0)!=(g|0)){c=j[c>>2];e=j[b>>2];l=(p(c-e>>2,341)+((g-j[c>>2]|0)/12|0)|0)+((f-j[e>>2]|0)/-12|0)|0;if((l|0)>0){break a}}b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;return}h=j[d>>2];c=j[d+4>>2];i=j[b>>2];while(1){k=j[i>>2]+4092|0;g=(k-f|0)/12|0;e=(g|0)>(l|0);n=e?l:g;g=c;m=e?p(l,12)+f|0:k;if((m|0)!=(f|0)){e=f;while(1){o=((j[h>>2]-g|0)+4092|0)/12|0;c=e;k=(m-c|0)/12|0;e=(o|0)<(k|0);q=e?o:k;k=g;e=e?p(o,12)+c|0:m;if((e|0)!=(c|0)){while(1){ua(k,c);k=k+12|0;c=c+12|0;if((e|0)!=(c|0)){continue}break}}b:{if(!q){break b}c=((g-j[h>>2]|0)/12|0)+q|0;if((c|0)>=1){g=(c>>>0)/341|0;h=(g<<2)+h|0;g=j[h>>2]+p(c-p(g,341)|0,12)|0;break b}c=340-c|0;h=((c|0)/-341<<2)+h|0;g=j[h>>2]+p(340-((c|0)%341|0)|0,12)|0}if((e|0)!=(m|0)){continue}break}}e=d;j[e>>2]=h;c=g;j[e+4>>2]=c;l=l-n|0;if(n){g=b;f=((f-j[i>>2]|0)/12|0)+n|0;c:{if((f|0)>=1){e=(f>>>0)/341|0;i=(e<<2)+i|0;j[b>>2]=i;f=j[i>>2]+p(f-p(e,341)|0,12)|0;break c}f=340-f|0;i=((f|0)/-341<<2)+i|0;j[b>>2]=i;f=j[i>>2]+p(340-((f|0)%341|0)|0,12)|0}j[g+4>>2]=f}if((l|0)>0){continue}break}j[a>>2]=h;j[a+4>>2]=c}function Rm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-272|0;M=a;j[a+256>>2]=c;j[a+264>>2]=b;h=ga(a+208|0);b=j[d+28>>2];j[a+16>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=tb(a+16|0);O[j[j[b>>2]+32>>2]](b,127568,127594,a+224|0)|0;b=j[a+16>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}c=ga(a+192|0);fa(c,k[c+11|0]>>>7|0?(j[c+8>>2]&2147483647)-1|0:10);d=a;if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[d+188>>2]=b;j[a+12>>2]=a+16;j[a+8>>2]=0;while(1){a:{if(!kb(a+264|0,a+256|0)){break a}g=j[a+188>>2];if(k[c+11|0]>>>7|0){d=j[c+4>>2]}else{d=k[c+11|0]}if((g|0)==(d+b|0)){b=c;b:{if(k[b+11|0]>>>7|0){d=j[b+4>>2];break b}d=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){i=j[b+4>>2]}else{i=k[b+11|0]}fa(g,i<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=a;if(k[b+11|0]>>>7|0){b=j[c>>2]}else{b=c}j[g+188>>2]=d+b}if(Ac(Ga(a+264|0),16,b,a+188|0,a+8|0,0,h,a+16|0,a+12|0,a+224|0)){break a}Oa(a+264|0);continue}break}fa(c,j[a+188>>2]-b|0);if(k[c+11|0]>>>7|0){b=j[c>>2]}else{b=c}d=ra();j[a>>2]=f;if((sg(b,d,a)|0)!=1){j[e>>2]=4}if(Sa(a+264|0,a+256|0)){j[e>>2]=j[e>>2]|2}b=j[a+264>>2];Y(c);Y(h);M=a+272|0;return b|0}function Qo(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0;i=j[a+4>>2];k=j[a+16>>2];n=j[a+20>>2];f=k+n|0;l=(f>>>0)/341|0;d=i+(l<<2)|0;c=j[b+4>>2];m=c;e=j[a+8>>2];o=(i|0)==(e|0);g=0;a:{if(o){break a}g=j[d>>2]+p(f-p(l,341)|0,12)|0}b:{if((m|0)==(g|0)){break b}f=j[b>>2];l=c-j[f>>2]|0;m=(p(d-f>>2,341)+((g-j[d>>2]|0)/12|0)|0)+((l|0)/-12|0)|0;if((m|0)<1){break b}q=(k>>>0)/341|0;b=(q<<2)+i|0;d=c;c=o?0:j[b>>2]+p(k-p(q,341)|0,12)|0;c:{if((d|0)==(c|0)){break c}d=(p(f-b>>2,341)+((l|0)/12|0)|0)+((c-j[b>>2]|0)/-12|0)|0;if(!d){break c}c=d+((c-j[b>>2]|0)/12|0)|0;if((c|0)>=1){d=(c>>>0)/341|0;b=(d<<2)+b|0;c=j[b>>2]+p(c-p(d,341)|0,12)|0;break c}c=340-c|0;b=((c|0)/-341<<2)+b|0;c=j[b>>2]+p(340-((c|0)%341|0)|0,12)|0}if((c|0)!=(g|0)){while(1){if(h[c+11|0]<=-1){T(j[c>>2])}c=c+12|0;if((c-j[b>>2]|0)==4092){c=j[b+4>>2];b=b+4|0}if((c|0)!=(g|0)){continue}break}k=j[a+16>>2];i=j[a+4>>2];n=j[a+20>>2];e=j[a+8>>2]}b=n-m|0;j[a+20>>2]=b;c=e-i|0;if((c?p(c>>2,341)-1|0:0)-(b+k|0)>>>0<682){break b}while(1){T(j[e-4>>2]);e=j[a+8>>2]-4|0;j[a+8>>2]=e;b=e-j[a+4>>2]|0;if((b?p(b>>2,341)-1|0:0)-(j[a+20>>2]+j[a+16>>2]|0)>>>0>681){continue}break}}}function Wm(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=q(0);f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;he(f+208|0,c,f+224|0,f+223|0,f+222|0);b=ga(f+192|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+188>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!kb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+188>>2]=c+a}if(ge(Ga(f+264|0),f+7|0,f+6|0,a,f+188|0,h[f+223|0],h[f+222|0],f+208|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c|!k[f+7|0]){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=vg(a,j[f+188>>2],d),n[l>>2]=m;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}a=j[f+264>>2];Y(b);Y(f+208|0);M=f+272|0;return a}function Um(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;he(f+208|0,c,f+224|0,f+223|0,f+222|0);b=ga(f+192|0);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);c=f;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[c+188>>2]=a;j[f+12>>2]=f+16;j[f+8>>2]=0;h[f+7|0]=1;h[f+6|0]=69;while(1){a:{if(!kb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}if((g|0)==(c+a|0)){a=b;b:{if(k[a+11|0]>>>7|0){c=j[a+4>>2];break b}c=k[a+11|0]}g=a;if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}fa(g,i<<1);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);g=f;if(k[a+11|0]>>>7|0){a=j[b>>2]}else{a=b}j[g+188>>2]=c+a}if(ge(Ga(f+264|0),f+7|0,f+6|0,a,f+188|0,h[f+223|0],h[f+222|0],f+208|0,f+16|0,f+12|0,f+8|0,f+224|0)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c|!k[f+7|0]){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}l=e,m=ug(a,j[f+188>>2],d),o[l>>3]=m;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}a=j[f+264>>2];Y(b);Y(f+208|0);M=f+272|0;return a}function V(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){F(a|0,b|0,c|0)|0;return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if((c|0)<1){c=a;break b}if(!(a&3)){c=a;break b}c=a;while(1){h[c|0]=k[b|0];b=b+1|0;c=c+1|0;if(e>>>0<=c>>>0){break b}if(c&3){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+ -64|0;if(f>>>0>>0){break c}while(1){j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=j[b+16>>2];j[c+20>>2]=j[b+20>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=j[b+28>>2];j[c+32>>2]=j[b+32>>2];j[c+36>>2]=j[b+36>>2];j[c+40>>2]=j[b+40>>2];j[c+44>>2]=j[b+44>>2];j[c+48>>2]=j[b+48>>2];j[c+52>>2]=j[b+52>>2];j[c+56>>2]=j[b+56>>2];j[c+60>>2]=j[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){h[c|0]=k[b|0];h[c+1|0]=k[b+1|0];h[c+2|0]=k[b+2|0];h[c+3|0]=k[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){h[c|0]=k[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function Rq(a){var b=0,c=0,d=0,e=0,f=0,g=0,k=0,m=0,n=0,o=0;b=j[a+4>>2];if(b){d=j[a>>2];if((d|0)>=1){while(1){c=j[(f<<2)+b>>2];if(c){while(1){g=c;c=j[c+8>>2];e=j[g+4>>2];a:{if(!e){break a}if(j[a+84>>2]){d=i[g+2>>1];o=(d<<1)+e|0;b=e;if(d){while(1){k=d>>>1|0;m=(k<<1)+b|0;n=l[m>>1]<65511;b=n?m+2|0:b;d=n?(k^-1)+d|0:k;if(d){continue}break}}if((b|0)==(o|0)|l[b>>1]>65511){break a}}T(e)}T(g);if(c){continue}break}d=j[a>>2]}f=f+1|0;if((f|0)>=(d|0)){b=j[a+4>>2]}else{b=j[a+4>>2];continue}break}}T(b)}j[a>>2]=0;c=j[a+84>>2];b:{if(!c){break b}b=1;if(j[a+80>>2]>=1){T(j[c>>2]);if(j[a+80>>2]>1){while(1){T(j[j[a+84>>2]+(b<<2)>>2]);b=b+1|0;if((b|0)>2]){continue}break}}c=j[a+84>>2]}T(c);j[a+84>>2]=0;b=j[a+88>>2];if(!b){break b}T(b);j[a+88>>2]=0}c=j[a+96>>2];if(c){b=1;if(j[a+92>>2]>=1){T(j[c>>2]);if(j[a+92>>2]>1){while(1){T(j[j[a+96>>2]+(b<<2)>>2]);b=b+1|0;if((b|0)>2]){continue}break}}c=j[a+96>>2]}T(c);j[a+96>>2]=0}if(j[a+100>>2]){Wh(a+100|0);T(j[a+100>>2])}b=j[a+68>>2];if(b){j[a+72>>2]=b;T(b)}if(h[a+67|0]<=-1){T(j[a+56>>2])}if(h[a+51|0]<=-1){T(j[a+40>>2])}if(h[a+39|0]<=-1){T(j[a+28>>2])}return a}function Rj(a,b,c,d,e,f){var g=0,i=0,l=0,m=0,n=0,o=0;j[c>>2]=a;j[f>>2]=d;a:{b:{while(1){g=j[c>>2];if(!(g>>>0>=b>>>0|d>>>0>=e>>>0)){l=h[g|0];a=l&255;c:{if((l|0)>=0){if(a>>>0<=1114111){l=1;break c}return 2}n=2;if(a>>>0<194){break b}if(a>>>0<=223){if((b-g|0)<2){break a}i=k[g+1|0];if((i&192)!=128){break b}l=2;a=i&63|a<<6&1984;if(a>>>0<=1114111){break c}break b}if(a>>>0<=239){if((b-g|0)<3){break a}m=k[g+2|0];i=k[g+1|0];d:{e:{if((a|0)!=237){if((a|0)!=224){break e}if((i&224)==160){break d}break b}if((i&224)==128){break d}break b}if((i&192)!=128){break b}}if((m&192)!=128){break b}l=3;a=m&63|(a<<12&61440|(i&63)<<6);if(a>>>0<=1114111){break c}break b}if(a>>>0>244){break b}if((b-g|0)<4){break a}m=k[g+2|0];i=k[g+1|0];f:{g:{switch(a-240|0){case 0:if((i+112&255)>>>0<48){break f}break b;case 4:if((i&240)==128){break f}break b;default:break g}}if((i&192)!=128){break b}}if((m&192)!=128){break b}o=k[g+3|0];if((o&192)!=128){break b}l=4;a=o&63|(m<<6&4032|(a<<18&1835008|(i&63)<<12));if(a>>>0>1114111){break b}}j[d>>2]=a;j[c>>2]=g+l;d=j[f>>2]+4|0;j[f>>2]=d;continue}break}n=b>>>0>g>>>0}return n}return 1}function Jd(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;d=M-32|0;M=d;j[d+24>>2]=0;j[d+16>>2]=0;j[d+20>>2]=0;j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;ia(d+16|0,a);a:{c=j[d+16>>2];if((c|0)==j[d+20>>2]){break a}b:{while(1){e=(m<<1)+c|0;n=j[b+4>>2];c=j[b>>2];f=n-c|0;if(f){f=f>>1;o=k[e|0]|k[e+1|0]<<8;while(1){l=f>>>1|0;g=(l<<1)+c|0;i=o>>>0>(k[g|0]|k[g+1|0]<<8)>>>0;c=i?g+2|0:c;f=i?(l^-1)+f|0:l;if(f){continue}break}}c:{d:{if((k[e|0]|k[e+1|0]<<8)>>>0>=(k[c|0]|k[c+1|0]<<8)>>>0?(c|0)!=(n|0):0){break d}c=j[d+4>>2];if((c|0)!=j[d+8>>2]){e=k[e|0]|k[e+1|0]<<8;h[c|0]=e;h[c+1|0]=e>>>8;j[d+4>>2]=c+2;break d}l=j[d>>2];f=c-l|0;if((f|0)<=-3){break c}i=f>>1;g=i+1|0;g=i>>>0<1073741823?f>>>0>>0?g:f:2147483647;c=0;e:{if(!g){break e}if((g|0)<=-1){break b}c=U(g<<1)}i=c+(i<<1)|0;e=k[e|0]|k[e+1|0]<<8;h[i|0]=e;h[i+1|0]=e>>>8;if((f|0)>=1){V(c,l,f)}j[d+8>>2]=c+(g<<1);j[d+4>>2]=i+2;j[d>>2]=c;if(!l){break d}T(l)}m=m+1|0;c=j[d+16>>2];if(m>>>0>2]-c>>1>>>0){continue}break a}break}X();z()}D();z()}da(a,d);c=j[d+4>>2];a=j[d>>2];if(a){j[d+4>>2]=a;T(a)}b=j[d+16>>2];if(b){j[d+20>>2]=b;T(b)}M=d+32|0;return c-a>>1}function pm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,k=0,l=0,m=0;a=M-208|0;M=a;j[a+200>>2]=37;j[a+204>>2]=0;g=md(a+200|1,127609,j[c+4>>2]);j[a+156>>2]=a+160;f=ra();a:{if(g){i=j[c+8>>2];o[a+40>>3]=e;j[a+32>>2]=i;f=fb(a+160|0,30,f,a+200|0,a+32|0);break a}o[a+48>>3]=e;f=fb(a+160|0,30,f,a+200|0,a+48|0)}j[a+80>>2]=77;i=Da(a+144|0,0,a+80|0);b:{if((f|0)>=30){f=ra();c:{if(g){g=j[c+8>>2];o[a+8>>3]=e;j[a>>2]=g;f=Sb(a+156|0,f,a+200|0,a);break c}o[a+16>>3]=e;f=Sb(a+156|0,f,a+200|0,a+16|0)}h=j[a+156>>2];if(!h){break b}g=j[i>>2];j[i>>2]=h;if(g){O[j[i+4>>2]](g)}}g=j[a+156>>2];h=g+f|0;m=Bb(g,h,c);j[a+80>>2]=77;g=Da(a+72|0,0,a+80|0);d:{if(j[a+156>>2]==(a+160|0)){f=a+80|0;k=a+160|0;break d}f=ja(f<<1);if(!f){break b}k=j[g>>2];j[g>>2]=f;if(k){O[j[g+4>>2]](k)}k=j[a+156>>2]}l=j[c+28>>2];j[a+56>>2]=l;j[l+4>>2]=j[l+4>>2]+1;og(k,m,h,f,a+68|0,a- -64|0,a+56|0);h=j[a+56>>2];k=j[h+4>>2]-1|0;j[h+4>>2]=k;if((k|0)==-1){O[j[j[h>>2]+8>>2]](h)}c=$b(b,f,j[a+68>>2],j[a+64>>2],c,d);b=j[g>>2];j[g>>2]=0;if(b){O[j[g+4>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+208|0;return c|0}Fa();z()}function gm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,g=0,h=0,i=0,k=0,l=0,m=0;a=M-384|0;M=a;j[a+376>>2]=37;j[a+380>>2]=0;g=md(a+376|1,127609,j[c+4>>2]);j[a+332>>2]=a+336;f=ra();a:{if(g){i=j[c+8>>2];o[a+40>>3]=e;j[a+32>>2]=i;f=fb(a+336|0,30,f,a+376|0,a+32|0);break a}o[a+48>>3]=e;f=fb(a+336|0,30,f,a+376|0,a+48|0)}j[a+80>>2]=77;i=Da(a+320|0,0,a+80|0);b:{if((f|0)>=30){f=ra();c:{if(g){g=j[c+8>>2];o[a+8>>3]=e;j[a>>2]=g;f=Sb(a+332|0,f,a+376|0,a);break c}o[a+16>>3]=e;f=Sb(a+332|0,f,a+376|0,a+16|0)}h=j[a+332>>2];if(!h){break b}g=j[i>>2];j[i>>2]=h;if(g){O[j[i+4>>2]](g)}}g=j[a+332>>2];h=g+f|0;m=Bb(g,h,c);j[a+80>>2]=77;g=Da(a+72|0,0,a+80|0);d:{if(j[a+332>>2]==(a+336|0)){f=a+80|0;k=a+336|0;break d}f=ja(f<<3);if(!f){break b}k=j[g>>2];j[g>>2]=f;if(k){O[j[g+4>>2]](k)}k=j[a+332>>2]}l=j[c+28>>2];j[a+56>>2]=l;j[l+4>>2]=j[l+4>>2]+1;mg(k,m,h,f,a+68|0,a- -64|0,a+56|0);h=j[a+56>>2];k=j[h+4>>2]-1|0;j[h+4>>2]=k;if((k|0)==-1){O[j[j[h>>2]+8>>2]](h)}c=_b(b,f,j[a+68>>2],j[a+64>>2],c,d);b=j[g>>2];j[g>>2]=0;if(b){O[j[g+4>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+384|0;return c|0}Fa();z()}function Nm(a,b,c,d){var e=0,f=0,g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=M-16|0;M=m;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[b+4356>>2]=0;j[b+4360>>2]=0;j[b+4376>>2]=0;e=j[b>>2];if(e){while(1){_e(m,e,c,d);f=k[m+11|0];g=f<<24>>24;n=(g|0)<0;f=n?j[m+4>>2]:f;if(f){aa(a,n?j[m>>2]:m,f);g=k[m+11|0]}e=j[e+68>>2];if(g<<24>>24<=-1){T(j[m>>2])}if(e){continue}break}}f=j[(k[c|0]<<2)+b>>2];a:{if(!f){break a}while(1){g=f+4|0;g=h[f+15|0]<0?j[g>>2]:g;e=k[g|0];b:{if(!e){break b}n=c;if((e|0)!=46&k[n|0]!=(e|0)){break b}while(1){e=k[g+1|0];if(!e){break b}o=k[n+1|0];n=n+1|0;g=g+1|0;if(!((e|0)!=46&(e|0)!=(o|0))){continue}break}}if(e){f=j[f+76>>2];if(f){continue}break a}_e(m,f,c,d);e=k[m+11|0];n=e<<24>>24;o=(n|0)<0;q=o?j[m+4>>2]:e;c:{if(!q){break c}e=j[f+56>>2];d:{if(!e){break d}g=i[f+60>>1];t=(g<<1)+e|0;if(g){u=l[b+4464>>1];while(1){p=g>>>1|0;r=(p<<1)+e|0;s=l[r>>1]>>0;e=s?r+2|0:e;g=s?(p^-1)+g|0:p;if(g){continue}break}}if((e|0)==(t|0)){break d}if(l[b+4464>>1]>=l[e>>1]){break c}}aa(a,o?j[m>>2]:m,q);j[b+4376>>2]=f;n=h[m+11|0]}f=j[f+72>>2];if((n|0)<=-1){T(j[m>>2])}if(f){continue}break}}M=m+16|0}function bn(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Uc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Ac(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127568)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Bg(b,j[f+188>>2],d,i),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function Ym(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Uc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Ac(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127568)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=wg(b,j[f+188>>2],d,i),j[m>>2]=n;j[e+4>>2]=N;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function ld(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=M-16|0;M=l;o=sb(g);i=zc(g);g=i;O[j[j[g>>2]+20>>2]](l,g);if(k[l+11|0]>>>7|0){g=j[l+4>>2]}else{g=k[l+11|0]}a:{if(!g){O[j[j[o>>2]+48>>2]](o,a,c,d)|0;g=(c-a<<2)+d|0;j[f>>2]=g;break a}j[f>>2]=d;b:{c:{m=a;g=k[m|0];switch(g-43|0){case 0:case 2:break c;default:break b}}n=O[j[j[o>>2]+44>>2]](o,g<<24>>24)|0;g=j[f>>2];j[f>>2]=g+4;j[g>>2]=n;m=a+1|0}if(!(k[m|0]!=48|(c-m|0)<2|(k[m+1|0]|32)!=120)){n=O[j[j[o>>2]+44>>2]](o,48)|0;g=j[f>>2];j[f>>2]=g+4;j[g>>2]=n;n=O[j[j[o>>2]+44>>2]](o,h[m+1|0])|0;g=j[f>>2];j[f>>2]=g+4;j[g>>2]=n;m=m+2|0}pc(m,c);r=O[j[j[i>>2]+16>>2]](i)|0;n=0;g=m;while(1){if(c>>>0<=g>>>0){kd((m-a<<2)+d|0,j[f>>2]);g=j[f>>2]}else{if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}p=!k[i+n|0];if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}if(!(p|h[i+n|0]!=(q|0))){i=j[f>>2];j[f>>2]=i+4;j[i>>2]=r;if(k[l+11|0]>>>7|0){i=j[l+4>>2]}else{i=k[l+11|0]}n=(i-1>>>0>n>>>0)+n|0;q=0}p=O[j[j[o>>2]+44>>2]](o,h[g|0])|0;i=j[f>>2];j[f>>2]=i+4;j[i>>2]=p;g=g+1|0;q=q+1|0;continue}break}}j[e>>2]=(b|0)==(c|0)?g:(b-a<<2)+d|0;Y(l);M=l+16|0}function nd(a,b,c,d,e,f,g){var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=M-16|0;M=l;o=tb(g);i=Bc(g);g=i;O[j[j[g>>2]+20>>2]](l,g);if(k[l+11|0]>>>7|0){g=j[l+4>>2]}else{g=k[l+11|0]}a:{if(!g){O[j[j[o>>2]+32>>2]](o,a,c,d)|0;g=(c-a|0)+d|0;j[f>>2]=g;break a}j[f>>2]=d;b:{c:{m=a;g=k[m|0];switch(g-43|0){case 0:case 2:break c;default:break b}}n=O[j[j[o>>2]+28>>2]](o,g<<24>>24)|0;g=j[f>>2];j[f>>2]=g+1;h[g|0]=n;m=a+1|0}if(!(k[m|0]!=48|(c-m|0)<2|(k[m+1|0]|32)!=120)){n=O[j[j[o>>2]+28>>2]](o,48)|0;g=j[f>>2];j[f>>2]=g+1;h[g|0]=n;n=O[j[j[o>>2]+28>>2]](o,h[m+1|0])|0;g=j[f>>2];j[f>>2]=g+1;h[g|0]=n;m=m+2|0}pc(m,c);r=O[j[j[i>>2]+16>>2]](i)|0;n=0;g=m;while(1){if(c>>>0<=g>>>0){pc((m-a|0)+d|0,j[f>>2]);g=j[f>>2]}else{if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}p=!k[i+n|0];if(k[l+11|0]>>>7|0){i=j[l>>2]}else{i=l}if(!(p|h[i+n|0]!=(q|0))){i=j[f>>2];j[f>>2]=i+1;h[i|0]=r;if(k[l+11|0]>>>7|0){i=j[l+4>>2]}else{i=k[l+11|0]}n=(i-1>>>0>n>>>0)+n|0;q=0}p=O[j[j[o>>2]+28>>2]](o,h[g|0])|0;i=j[f>>2];j[f>>2]=i+1;h[i|0]=p;g=g+1|0;q=q+1|0;continue}break}}j[e>>2]=(b|0)==(c|0)?g:(b-a|0)+d|0;Y(l);M=l+16|0}function de(a,b,c,d,e,f,g,i,l,m,n,o){var p=0;p=M-16|0;M=p;j[p+12>>2]=a;a:{b:{if((a|0)==(f|0)){if(!k[b|0]){break b}a=0;h[b|0]=0;b=j[e>>2];j[e>>2]=b+1;h[b|0]=46;if(k[i+11|0]>>>7|0){b=j[i+4>>2]}else{b=k[i+11|0]}if(!b){break a}b=j[m>>2];if((b-l|0)>159){break a}c=j[n>>2];j[m>>2]=b+4;j[b>>2]=c;break a}if(k[i+11|0]>>>7|0){f=j[i+4>>2]}else{f=k[i+11|0]}if(!(!f|(a|0)!=(g|0))){if(!k[b|0]){break b}a=0;b=j[m>>2];if((b-l|0)>159){break a}a=j[n>>2];j[m>>2]=b+4;j[b>>2]=a;a=0;j[n>>2]=0;break a}a=-1;f=ce(o,o+128|0,p+12|0)-o|0;if((f|0)>124){break a}g=k[(f>>2)+127568|0];c:{d:{switch(qr(f-88|0,30)|0){case 2:case 3:b=j[e>>2];if((k[b-1|0]&95)!=(k[c|0]&127)?(b|0)!=(d|0):0){break a}j[e>>2]=b+1;h[b|0]=g;a=0;break a;case 0:case 1:h[c|0]=80;break c;default:break d}}a=h[c|0];if((a|0)!=(g&95)){break c}h[c|0]=a|128;if(!k[b|0]){break c}h[b|0]=0;if(k[i+11|0]>>>7|0){a=j[i+4>>2]}else{a=k[i+11|0]}if(!a){break c}a=j[m>>2];if((a-l|0)>159){break c}b=j[n>>2];j[m>>2]=a+4;j[a>>2]=b}a=j[e>>2];j[e>>2]=a+1;h[a|0]=g;a=0;if((f|0)>84){break a}j[n>>2]=j[n>>2]+1;break a}a=-1}M=p+16|0;return a}function en(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Uc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Ac(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127568)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=Cg(b,j[f+188>>2],d,i),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function _m(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;i=Tb(c);Uc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){l=j[b+4>>2]}else{l=k[b+11|0]}fa(g,l<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Ac(Ga(f+264|0),i,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127568)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}m=e,n=xg(b,j[f+188>>2],d,i),j[m>>2]=n;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function $m(a,b,c,d,e){var f=0,g=0,l=0,m=0,n=0,o=0;f=M-272|0;M=f;j[f+256>>2]=b;j[f+264>>2]=a;l=Tb(c);Uc(f+208|0,c,f+255|0);a=ga(f+192|0);fa(a,k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10);c=f;if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[c+188>>2]=b;j[f+12>>2]=f+16;j[f+8>>2]=0;while(1){a:{if(!kb(f+264|0,f+256|0)){break a}g=j[f+188>>2];if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if((g|0)==(c+b|0)){b=a;b:{if(k[b+11|0]>>>7|0){c=j[b+4>>2];break b}c=k[b+11|0]}g=b;if(k[b+11|0]>>>7|0){m=j[b+4>>2]}else{m=k[b+11|0]}fa(g,m<<1);fa(b,k[b+11|0]>>>7|0?(j[b+8>>2]&2147483647)-1|0:10);g=f;if(k[b+11|0]>>>7|0){b=j[a>>2]}else{b=a}j[g+188>>2]=c+b}if(Ac(Ga(f+264|0),l,b,f+188|0,f+8|0,h[f+255|0],f+208|0,f+16|0,f+12|0,127568)){break a}Oa(f+264|0);continue}break}if(k[f+219|0]>>>7|0){c=j[f+212>>2]}else{c=k[f+219|0]}c:{if(!c){break c}c=j[f+12>>2];if((c-(f+16|0)|0)>159){break c}j[f+12>>2]=c+4;j[c>>2]=j[f+8>>2]}n=e,o=zg(b,j[f+188>>2],d,l),i[n>>1]=o;hb(f+208|0,f+16|0,j[f+12>>2],d);if(Sa(f+264|0,f+256|0)){j[d>>2]=j[d>>2]|2}b=j[f+264>>2];Y(a);Y(f+208|0);M=f+272|0;return b}function Vh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=M-32|0;M=e;a:{d=j[a+8>>2];f=j[a>>2];b:{if((d-f|0)/60>>>0>=b>>>0){break b}c=j[a+4>>2];j[e+24>>2]=a+8;j[e+20>>2]=0;if(b>>>0>=71582789){break a}g=p(b,60);b=U(g);h=b+g|0;g=b+p((c-f|0)/60|0,60)|0;c:{if((c|0)==(f|0)){b=g;c=f;break c}b=g;while(1){c=c-60|0;d=j[c+4>>2];b=b-60|0;j[b>>2]=j[c>>2];j[b+4>>2]=d;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[b+20>>2]=j[c+20>>2];d=j[c+16>>2];j[b+12>>2]=j[c+12>>2];j[b+16>>2]=d;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[b+32>>2]=j[c+32>>2];d=j[c+28>>2];j[b+24>>2]=j[c+24>>2];j[b+28>>2]=d;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[b+44>>2]=j[c+44>>2];d=j[c+40>>2];j[b+36>>2]=j[c+36>>2];j[b+40>>2]=d;j[c+44>>2]=0;j[c+36>>2]=0;j[c+40>>2]=0;j[b+56>>2]=j[c+56>>2];d=j[c+52>>2];j[b+48>>2]=j[c+48>>2];j[b+52>>2]=d;j[c+48>>2]=0;j[c+52>>2]=0;j[c+56>>2]=0;if((c|0)!=(f|0)){continue}break}d=j[a+8>>2];f=j[a+4>>2];c=j[a>>2]}j[a>>2]=b;j[e+12>>2]=c;j[a+4>>2]=g;j[e+16>>2]=f;j[a+8>>2]=h;j[e+8>>2]=c;j[e+20>>2]=d;Uh(e+8|0,c);a=j[e+8>>2];if(!a){break b}T(a)}M=e+32|0;return}D();z()}function ge(a,b,c,d,e,f,g,i,l,m,n,o){var p=0;p=M-16|0;M=p;h[p+15|0]=a;a:{b:{if((a|0)==(f|0)){if(!k[b|0]){break b}a=0;h[b|0]=0;b=j[e>>2];j[e>>2]=b+1;h[b|0]=46;if(k[i+11|0]>>>7|0){b=j[i+4>>2]}else{b=k[i+11|0]}if(!b){break a}b=j[m>>2];if((b-l|0)>159){break a}c=j[n>>2];j[m>>2]=b+4;j[b>>2]=c;break a}if(k[i+11|0]>>>7|0){f=j[i+4>>2]}else{f=k[i+11|0]}if(!(!f|(a|0)!=(g|0))){if(!k[b|0]){break b}a=0;b=j[m>>2];if((b-l|0)>159){break a}a=j[n>>2];j[m>>2]=b+4;j[b>>2]=a;a=0;j[n>>2]=0;break a}a=-1;f=fe(o,o+32|0,p+15|0)-o|0;if((f|0)>31){break a}g=k[f+127568|0];c:{d:{switch(f-22|0){case 2:case 3:b=j[e>>2];if((k[b-1|0]&95)!=(k[c|0]&127)?(b|0)!=(d|0):0){break a}j[e>>2]=b+1;h[b|0]=g;a=0;break a;case 0:case 1:h[c|0]=80;break c;default:break d}}a=h[c|0];if((a|0)!=(g&95)){break c}h[c|0]=a|128;if(!k[b|0]){break c}h[b|0]=0;if(k[i+11|0]>>>7|0){a=j[i+4>>2]}else{a=k[i+11|0]}if(!a){break c}a=j[m>>2];if((a-l|0)>159){break c}b=j[n>>2];j[m>>2]=a+4;j[a>>2]=b}a=j[e>>2];j[e>>2]=a+1;h[a|0]=g;a=0;if((f|0)>21){break a}j[n>>2]=j[n>>2]+1;break a}a=-1}M=p+16|0;return a}function _c(a){var b=0,c=0,d=0;c=h[a+11|0];a:{if((c|0)<=-1){c=U(j[a+4>>2]+1|0);a=j[a>>2];break a}c=U((c&255)+1|0)}d=c;b=k[a|0];if(b){while(1){b:{c:{if((b-65&255)>>>0<=25){b=b+32|0;break c}if((b-97&255)>>>0<26){break c}if((b-48&255)>>>0>9){break b}}h[d|0]=b;d=d+1|0}b=k[a+1|0];a=a+1|0;if(b){continue}break}}b=0;h[d|0]=0;d:{if(!ba(c,120592)){break d}if(!ba(c,120601)){b=1;break d}if(!ba(c,120610)){b=2;break d}if(!ba(c,120619)){b=3;break d}if(!ba(c,120628)){b=4;break d}if(!ba(c,120637)){b=5;break d}if(!ba(c,120646)){b=6;break d}if(!ba(c,120655)){b=7;break d}if(!ba(c,120664)){b=8;break d}if(!ba(c,120673)){b=9;break d}if(!ba(c,120683)){b=10;break d}if(!ba(c,120690)){b=11;break d}if(!ba(c,120701)){b=12;break d}if(!ba(c,120711)){b=13;break d}if(!ba(c,120721)){b=14;break d}if(!ba(c,120731)){b=15;break d}if(!ba(c,120741)){b=16;break d}if(!ba(c,120747)){b=17;break d}if(!ba(c,120753)){b=18;break d}if(!ba(c,120760)){b=19;break d}if(!ba(c,120776)){b=20;break d}if(!ba(c,120785)){b=21;break d}T(c);return 134320}T(c);return j[(b<<3)+1844>>2]}function Gh(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0;g=M-16|0;M=g;a:{b:{c:{d:{e:{f:{g:{f=h[a+11|0];h:{if((f|0)<=-1){i=b-j[a>>2]|0;e=d-c|0;if(!e){break b}f=j[a>>2];l=j[a+4>>2];if(l+f>>>0>c>>>0?f>>>0<=c>>>0:0){break h}b=(j[a+8>>2]&2147483647)-1|0;if(b-l>>>0>=e>>>0){break f}break d}i=b-a|0;e=d-c|0;if(!e){break b}l=f&255;if(l+a>>>0<=c>>>0|a>>>0>c>>>0){break g}}if(e>>>0>=4294967280){break e}i:{if(e>>>0<=10){h[g+11|0]=e;i=g;break i}f=e+16&-16;i=U(f);j[g+8>>2]=f|-2147483648;j[g>>2]=i;j[g+4>>2]=e}if((c|0)!=(d|0)){f=c;c=d-c|0;i=V(i,f,c)+c|0}h[i|0]=0;f=a;d=b;c=k[g+11|0];b=c<<24>>24<0;a=b?j[g>>2]:g;c=Gh(f,d,a,a+(b?j[g+4>>2]:c)|0);if(h[g+11|0]>-1){break a}T(j[g>>2]);break a}b=10;f=a;if(10-l>>>0>>0){break d}}m=l-i|0;if(!m){break c}b=i+f|0;Ka(b+e|0,b,m);break c}X();z()}qb(a,b,(e-b|0)+l|0,l,i,0,e);f=j[a>>2]}b=e+l|0;j:{if(h[a+11|0]<=-1){j[a+4>>2]=b;break j}h[a+11|0]=b}h[b+f|0]=0;if((c|0)==(d|0)){break b}e=i+f|0;while(1){h[e|0]=k[c|0];e=e+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}if(h[a+11|0]<=-1){a=j[a>>2]}c=a+i|0}M=g+16|0;return c}function Ro(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0;k=j[b>>2];g=j[c+4>>2];c=j[c>>2];e=j[b+4>>2];if((g|0)!=(e|0)){h=(p(c-k>>2,341)+((g-j[c>>2]|0)/12|0)|0)+((e-j[k>>2]|0)/-12|0)|0}e=j[a+8>>2];d=j[a+4>>2];c=e-d|0;f=c?p(c>>2,341)-1|0:0;c=j[a+20>>2];g=c+j[a+16>>2]|0;f=f-g|0;if(f>>>0>>0){Po(a,h-f|0);c=j[a+20>>2];g=c+j[a+16>>2]|0;d=j[a+4>>2];e=j[a+8>>2]}i=(g>>>0)/341|0;f=(i<<2)+d|0;e=(d|0)==(e|0)?0:j[f>>2]+p(g-p(i,341)|0,12)|0;m=e;a:{if(!h){i=f;g=e;break a}d=((e-j[f>>2]|0)/12|0)+h|0;if((d|0)>=1){l=(d>>>0)/341|0;i=(l<<2)+f|0;g=j[i>>2]+p(d-p(l,341)|0,12)|0;break a}d=340-d|0;i=((d|0)/-341<<2)+f|0;g=j[i>>2]+p(340-((d|0)%341|0)|0,12)|0}b:{if((m|0)==(g|0)){break b}while(1){d=g;m=(f|0)==(i|0);d=m?d:j[f>>2]+4092|0;c:{if((e|0)==(d|0)){d=e;break c}h=j[b+4>>2];c=e;while(1){c=ha(c,h);h=h+12|0;j[b+4>>2]=h;c=c+12|0;if((h-j[k>>2]|0)==4092){l=k+4|0;j[b>>2]=l;h=j[k+4>>2];j[b+4>>2]=h;k=l}if((c|0)!=(d|0)){continue}break}c=j[a+20>>2]}c=((d-e|0)/12|0)+c|0;j[a+20>>2]=c;if(m){break b}e=j[f+4>>2];f=f+4|0;if((e|0)!=(g|0)){continue}break}}}function od(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0;e=M-16|0;M=e;a:{b:{if((c|0)<2){break b}c=j[a+4100>>2]+100|0;if(j[c>>2]==j[c+4>>2]){break b}c=j[a+4100>>2]+100|0;if(j[c+4>>2]==j[c>>2]){break b}while(1){c:{i=p(l,60);g=i+j[j[a+4100>>2]+100>>2]|0;c=h[g+23|0];d:{if((c|0)<=-1){c=j[g+16>>2];break d}c=c&255}if(!c){break c}g=j[j[a+4100>>2]+100>>2]+i|0;c=h[g+11|0];e:{if((c|0)<=-1){g=j[g+4>>2];break e}g=c&255}c=b;while(1){d=j[j[a+4100>>2]+100>>2]+i|0;if(h[d+11|0]<=-1){d=j[d>>2]}m=ca(c,d);if(!m){break c}f=W(b);if(f>>>0>=4294967280){break a}f:{g:{if(f>>>0>=11){d=f+16&-16;c=U(d);j[e+8>>2]=d|-2147483648;j[e>>2]=c;j[e+4>>2]=f;break g}h[e+11|0]=f;c=e;if(!f){break f}}V(c,b,f)}h[c+f|0]=0;f=j[j[a+4100>>2]+100>>2]+i|0;c=k[f+23|0];d=c<<24>>24<0;oc(e,m-b|0,g,d?j[f+12>>2]:f+12|0,d?j[f+16>>2]:c);d=k[e+11|0];c=d<<24>>24<0;d=qg(a,c?j[e>>2]:e,c?j[e+4>>2]:d);if(h[e+11|0]<=-1){T(j[e>>2])}c=m+1|0;if(!d){continue}break}g=1;break b}g=0;l=l+1|0;c=j[a+4100>>2]+100|0;if(l>>>0<(j[c+4>>2]-j[c>>2]|0)/60>>>0){continue}break}}M=e+16|0;return g}X();z()}function kk(a,b,c,d,e,f,g,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var l=0,m=0,n=0,o=0;n=M-16|0;M=n;l=c;while(1){a:{if((d|0)==(l|0)){l=d;break a}if(!j[l>>2]){break a}l=l+4|0;continue}break}j[i>>2]=f;j[e>>2]=c;while(1){b:{c:{if(!((f|0)==(g|0)|(c|0)==(d|0))){m=j[b+4>>2];j[n+8>>2]=j[b>>2];j[n+12>>2]=m;m=1;d:{e:{f:{g:{h:{o=jk(f,e,l-c>>2,g-f|0,j[a+8>>2]);switch(o+1|0){case 0:break h;case 1:break c;default:break g}}j[i>>2]=f;while(1){i:{if(j[e>>2]==(c|0)){break i}b=Yd(f,j[c>>2],j[a+8>>2]);if((b|0)==-1){break i}f=b+j[i>>2]|0;j[i>>2]=f;c=c+4|0;continue}break}j[e>>2]=c;break f}f=j[i>>2]+o|0;j[i>>2]=f;if((f|0)==(g|0)){break d}if((d|0)==(l|0)){c=j[e>>2];l=d;continue}l=Yd(n+4|0,0,j[a+8>>2]);if((l|0)!=-1){break e}}m=2;break c}c=n+4|0;if(g-j[i>>2]>>>0>>0){break c}while(1){if(l){f=k[c|0];m=j[i>>2];j[i>>2]=m+1;h[m|0]=f;l=l-1|0;c=c+1|0;continue}break}c=j[e>>2]+4|0;j[e>>2]=c;l=c;while(1){if((d|0)==(l|0)){l=d;break b}if(!j[l>>2]){break b}l=l+4|0;continue}}c=j[e>>2]}m=(c|0)!=(d|0)}M=n+16|0;return m|0}f=j[i>>2];continue}}function zd(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);h[b+12|0]=c;a:{if(c){break a}while(1){d=j[b+8>>2];if(k[d+12|0]){break a}b:{c=j[d+8>>2];e=j[c>>2];if((d|0)==(e|0)){e=j[c+4>>2];if(!(!e|k[e+12|0])){break b}c:{if(j[d>>2]==(b|0)){b=d;break c}b=j[d+4>>2];e=j[b>>2];j[d+4>>2]=e;a=b;if(e){j[e+8>>2]=d;c=j[d+8>>2]}j[a+8>>2]=c;a=j[d+8>>2];j[(((d|0)!=j[a>>2])<<2)+a>>2]=b;j[b>>2]=d;j[d+8>>2]=b;c=j[b+8>>2]}h[b+12|0]=1;h[c+12|0]=0;a=j[c>>2];b=j[a+4>>2];j[c>>2]=b;if(b){j[b+8>>2]=c}j[a+8>>2]=j[c+8>>2];b=j[c+8>>2];j[((j[b>>2]!=(c|0))<<2)+b>>2]=a;j[a+4>>2]=c;j[c+8>>2]=a;return}if(!(k[e+12|0]|!e)){break b}d:{if(j[d>>2]!=(b|0)){b=d;break d}e=j[b+4>>2];j[d>>2]=e;a=b;if(e){j[e+8>>2]=d;c=j[d+8>>2]}j[a+8>>2]=c;a=j[d+8>>2];j[(((d|0)!=j[a>>2])<<2)+a>>2]=b;j[b+4>>2]=d;j[d+8>>2]=b;c=j[b+8>>2]}h[b+12|0]=1;h[c+12|0]=0;a=j[c+4>>2];b=j[a>>2];j[c+4>>2]=b;if(b){j[b+8>>2]=c}j[a+8>>2]=j[c+8>>2];b=j[c+8>>2];j[((j[b>>2]!=(c|0))<<2)+b>>2]=a;j[a>>2]=c;j[c+8>>2]=a;break a}h[d+12|0]=1;h[c+12|0]=(a|0)==(c|0);h[e+12|0]=1;b=c;if((b|0)!=(a|0)){continue}break}}}function ye(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;g=M-32|0;M=g;e=d&2147483647;h=e;f=e-1006698496|0;e=e-1140785152|0;i=c;a:{if((f|0)==(e|0)&c>>>0>c>>>0|e>>>0>f>>>0){e=d<<4|c>>>28;c=c<<4|b>>>28;b=b&268435455;h=b;if((b|0)==134217728&a>>>0>=1|b>>>0>134217728){e=e+1073741824|0;a=c+1|0;e=a>>>0<1?e+1|0:e;f=a;break a}f=c;e=e+1073741824|0;if(a|h^134217728){break a}b=c&1;a=b+f|0;e=a>>>0>>0?e+1|0:e;f=a;break a}if(!(!i&(h|0)==2147418112?!(a|b):h>>>0<2147418112)){f=c;c=d<<4|c>>>28;f=f<<4|b>>>28;e=c&524287|2146959360;break a}f=0;e=2146435072;if(h>>>0>1140785151){break a}e=0;h=h>>>16|0;if(h>>>0<15249){break a}e=d&65535|65536;mb(g+16|0,a,b,c,e,h-15233|0);Fc(g,a,b,c,e,15361-h|0);e=j[g+4>>2];h=e;a=j[g+8>>2];c=j[g+12>>2]<<4|a>>>28;f=a<<4|e>>>28;e=c;a=h&268435455;c=a;b=j[g>>2]|((j[g+16>>2]|j[g+24>>2])!=0|(j[g+20>>2]|j[g+28>>2])!=0);if((a|0)==134217728&b>>>0>=1|a>>>0>134217728){a=f+1|0;e=a>>>0<1?e+1|0:e;f=a;break a}if(b|c^134217728){break a}a=f+(f&1)|0;e=a>>>0>>0?e+1|0:e;f=a}M=g+32|0;tr(0,f|0);tr(1,d&-2147483648|e);return+ur()}function hg(a,b,c){var d=0,e=0,f=0;d=M-32|0;M=d;b=b+c|0;a:{b:{c:{d:{if(j[a+4144>>2]){while(1){b=b-1|0;if((k[b|0]&192)==128){continue}break}c=W(b);if(c>>>0>=4294967280){break c}e:{f:{if(c>>>0>=11){f=c+16&-16;e=U(f);j[d+24>>2]=f|-2147483648;j[d+16>>2]=e;j[d+20>>2]=c;break f}h[d+27|0]=c;e=d+16|0;if(!c){break e}}V(e,b,c)}b=0;h[c+e|0]=0;j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;ia(d,d+16|0);c=0;f=j[d+4>>2];e=j[d>>2];if(f-e>>1>>>0>=2){c=k[e+2|0]|k[e+3|0]<<8}b=(e|0)!=(f|0)?k[e|0]|k[e+1|0]<<8:b;e=c&65535;g:{if((Ve(e,j[a+4456>>2])|0)!=(e|0)){a=Ve(b,j[a+4456>>2]);if((b|0)==45|(c&65535)==45|(a|0)!=(b|0)){break g}break b}if((e|0)==45){break g}if((b|0)!=45){break b}}a=j[d>>2];if(a){j[d+4>>2]=a;T(a)}if(h[d+27|0]>-1){break d}T(j[d+16>>2]);break d}c=k[b|0];a=j[a+4140>>2];b=k[b-1|0];if(!k[a+p(b,3)|0]){if((c|0)==45|(b|0)==45){break d}b=1;if(!k[a+p(c,3)|0]){break d}break a}if((b|0)==45){break d}b=1;if((c|0)!=45){break a}}b=0;break a}X();z()}a=j[d>>2];if(a){j[d+4>>2]=a;T(a)}if(h[d+27|0]<=-1){T(j[d+16>>2])}b=1}M=d+32|0;return b}function Xo(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=M-32|0;M=g;a:{if(j[b+32>>2]!=j[b+36>>2]){break a}d=j[b+28>>2];e=(d>>>0)/341|0;if((Hc(b,j[j[b+16>>2]+(e<<2)>>2]+p(d-p(e,341)|0,12)|0)|0)==(b+4|0)){break a}d=j[b+28>>2];e=(d>>>0)/341|0;d=j[j[b+16>>2]+(e<<2)>>2]+p(d-p(e,341)|0,12)|0;j[g+16>>2]=d;Wo(g+24|0,b,d,g+16|0);Je(j[j[g+24>>2]+28>>2]);d=j[b+28>>2];e=(d>>>0)/341|0;yh(b,j[j[b+16>>2]+(e<<2)>>2]+p(d-p(e,341)|0,12)|0);e=b;d=j[b+28>>2];f=(d>>>0)/341|0;f=j[j[b+16>>2]+(f<<2)>>2]+p(d-p(f,341)|0,12)|0;if(h[f+11|0]<=-1){T(j[f>>2]);d=j[b+28>>2]}d=d+1|0;j[e+28>>2]=d;j[b+32>>2]=j[b+32>>2]-1;if(d>>>0<682){break a}T(j[j[b+16>>2]>>2]);j[b+16>>2]=j[b+16>>2]+4;j[b+28>>2]=j[b+28>>2]-341}d=j[b+32>>2]+j[b+28>>2]|0;f=j[b+20>>2];e=j[b+16>>2];i=f-e|0;if((d|0)==((i?p(i>>2,341)-1|0:0)|0)){xh(b+12|0);f=j[b+20>>2];e=j[b+16>>2];d=j[b+28>>2]+j[b+32>>2]|0}if((e|0)!=(f|0)){f=e;e=(d>>>0)/341|0;e=j[f+(e<<2)>>2]+p(d-p(e,341)|0,12)|0}else{e=0}ha(e,c);j[b+32>>2]=j[b+32>>2]+1;Vo(g+24|0,b,c,c);j[a>>2]=j[g+24>>2];h[a+4|0]=k[g+28|0];M=g+32|0}function Of(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=Uf(c);b:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break b}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}Pb(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=Tf(c);c:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break c}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}Pb(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function Rf(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=Zf(c);b:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break b}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}db(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=Yf(c);c:{if(b){O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);break c}O[j[j[a>>2]+40>>2]](m,a);b=j[m>>2];h[d|0]=b;h[d+1|0]=b>>>8;h[d+2|0]=b>>>16;h[d+3|0]=b>>>24;O[j[j[a>>2]+28>>2]](m,a)}db(k,m);Y(m);n=e,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=f,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(g,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(i,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function Pj(a,b,c){var d=0,e=0,f=0,g=0,i=0,j=0,l=0;d=a;while(1){a:{if(c>>>0<=j>>>0|b>>>0<=d>>>0){break a}g=h[d|0];f=g&255;b:{if((g|0)>=0){g=1;if(f>>>0<=1114111){break b}break a}if(f>>>0<194){break a}if(f>>>0<=223){if((b-d|0)<2){break a}e=k[d+1|0];if((e&192)!=128){break a}g=2;if((e&63|f<<6&1984)>>>0<=1114111){break b}break a}c:{d:{if(f>>>0<=239){if((b-d|0)<3){break a}i=k[d+2|0];e=k[d+1|0];if((f|0)==237){break d}if((f|0)==224){if((e&224)==160){break c}break a}if((e&192)!=128){break a}break c}if((b-d|0)<4|f>>>0>244){break a}i=k[d+2|0];e=k[d+1|0];e:{f:{switch(f-240|0){case 0:if((e+112&255)>>>0<48){break e}break a;case 4:if((e&240)==128){break e}break a;default:break f}}if((e&192)!=128){break a}}if((i&192)!=128){break a}l=k[d+3|0];if((l&192)!=128){break a}g=4;if((l&63|(i<<6&4032|(f<<18&1835008|(e&63)<<12)))>>>0>1114111){break a}break b}if((e&224)!=128){break a}}if((i&192)!=128){break a}g=3;if((i&63|(f<<12&61440|(e&63)<<6))>>>0>1114111){break a}}j=j+1|0;d=d+g|0;continue}break}return d-a|0}function Bq(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;a:{b:{e=d-c|0;c:{if((e|0)<1){break c}m=e>>1;i=j[a+8>>2];n=j[a+4>>2];if((m|0)<=i-n>>1){g=n-b|0;e=g>>1;d:{if((e|0)>=(m|0)){f=n;l=d;break d}f=n;l=(e<<1)+c|0;if((l|0)!=(d|0)){e=l;while(1){i=k[e|0]|k[e+1|0]<<8;h[f|0]=i;h[f+1|0]=i>>>8;f=f+2|0;e=e+2|0;if((e|0)!=(d|0)){continue}break}}j[a+4>>2]=f;if((g|0)<1){break c}}d=m<<1;m=f-(d+b|0)|0;e=f;d=e-d|0;if(n>>>0>d>>>0){while(1){g=k[d|0]|k[d+1|0]<<8;h[e|0]=g;h[e+1|0]=g>>>8;e=e+2|0;d=d+2|0;if(n>>>0>d>>>0){continue}break}}j[a+4>>2]=e;if(m){Ka(f-(m>>1<<1)|0,b,m)}a=l-c|0;if(!a){break c}Ka(b,c,a);return}l=j[a>>2];g=m+(n-l>>1)|0;if((g|0)<=-1){break b}i=i-l|0;g=i>>1>>>0<1073741823?g>>>0>i>>>0?g:i:2147483647;f=0;e:{if(!g){break e}if((g|0)<=-1){break a}f=U(g<<1)}i=b-l|0;o=c;c=c-d|0;c=V(f+(i>>1<<1)|0,o,p(((c|0)>(e|0)?c:e)>>>1|0,(e|0)<1?e:1)<<1);if((i|0)>=1){V(f,l,i)}e=c+(m<<1)|0;c=n-b|0;if((c|0)>=1){e=V(e,b,c)+c|0}j[a+8>>2]=f+(g<<1);j[a+4>>2]=e;j[a>>2]=f;if(l){T(l)}}return}X();z()}D();z()}function Vj(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=a;while(1){a:{if(c>>>0<=g>>>0|b>>>0<=e>>>0){break a}f=k[e|0];if(f>>>0>1114111){break a}d=e+1|0;b:{if(f<<24>>24>=0){break b}if(f>>>0<194){break a}if(f>>>0<=223){if((b-e|0)<2){break a}d=k[e+1|0];if((d&192)!=128|(d&63|f<<6&1984)>>>0>1114111){break a}d=e+2|0;break b}c:{d:{if(f>>>0<=239){if((b-e|0)<3){break a}h=k[e+2|0];d=k[e+1|0];if((f|0)==237){break d}if((f|0)==224){if((d&224)==160){break c}break a}if((d&192)!=128){break a}break c}if(c-g>>>0<2|f>>>0>244|(b-e|0)<4){break a}h=k[e+2|0];d=k[e+1|0];e:{f:{switch(f-240|0){case 0:if((d+112&255)>>>0<48){break e}break a;case 4:if((d&240)==128){break e}break a;default:break f}}if((d&192)!=128){break a}}if((h&192)!=128){break a}i=k[e+3|0];if((i&192)!=128|(i&63|(h<<6&4032|(f<<18&1835008|(d&63)<<12)))>>>0>1114111){break a}g=g+1|0;d=e+4|0;break b}if((d&224)!=128){break a}}if((h&192)!=128|(h&63|(f<<12&61440|(d&63)<<6))>>>0>1114111){break a}d=e+3|0}e=d;g=g+1|0;continue}break}return e-a|0}function Hq(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[a+44>>2]=0;j[a+48>>2]=0;j[a+12>>2]=0;j[a+32>>2]=0;j[a+36>>2]=0;g=a+52|0;j[g>>2]=0;j[g+4>>2]=0;j[a+60>>2]=0;m=a,n=cb(b),j[m+20>>2]=n;h=U(112);Xq(h,c,b);k=a+4|0;a:{b:{c=j[a+8>>2];d=j[a+12>>2];c:{if(c>>>0>>0){j[c>>2]=h;j[a+8>>2]=c+4;break c}e=j[k>>2];i=c-e|0;c=i>>2;f=c+1|0;if(f>>>0>=1073741824){break b}l=c<<2;d=d-e|0;c=d>>1;f=d>>2>>>0<536870911?c>>>0>>0?f:c:1073741823;c=0;d:{if(!f){break d}if(f>>>0>=1073741824){break a}c=U(f<<2)}d=l+c|0;j[d>>2]=h;if((i|0)>=1){V(c,e,i)}j[a+12>>2]=c+(f<<2);j[a+8>>2]=d+4;j[a+4>>2]=c;if(!e){break c}T(e)}c=U(70028);b=kq(c,b,k);j[a>>2]=c;b=Oj(b);c=a+24|0;ua(c,Ag(j[a>>2]));j[a+40>>2]=j[j[a>>2]+4456>>2];e=j[j[a>>2]+4144>>2];j[a+44>>2]=e;if(!e){m=a,n=_c(c),j[m+36>>2]=n}j[a+48>>2]=j[j[a>>2]+4148>>2];c=j[a>>2]+4232|0;if((c|0)!=(g|0)){Gq(g,j[c>>2],j[c+4>>2])}c=U(80);Zp(c,b,j[a>>2]);j[a+16>>2]=c;if(b){T(b)}return}X();z()}D();z()}function Gq(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=(c-b|0)/12|0;e=j[a+8>>2];d=j[a>>2];if(g>>>0<=(e-d|0)/12>>>0){f=(j[a+4>>2]-d|0)/12|0;e=p(f,12)+b|0;i=f>>>0>>0?e:c;if((i|0)!=(b|0)){while(1){ua(d,b);d=d+12|0;b=b+12|0;if((i|0)!=(b|0)){continue}break}}b=j[a+4>>2];if(f>>>0>>0){if((c|0)!=(i|0)){while(1){b=ha(b,e)+12|0;e=e+12|0;if((e|0)!=(c|0)){continue}break}}j[a+4>>2]=b;return}if((b|0)!=(d|0)){while(1){c=b-12|0;if(h[b-1|0]<=-1){T(j[c>>2])}b=c;if((d|0)!=(b|0)){continue}break}}j[a+4>>2]=d;return}if(d){e=j[a+4>>2];f=d;a:{if((d|0)==(e|0)){break a}while(1){f=e-12|0;if(h[e-1|0]<=-1){T(j[f>>2])}e=f;if((d|0)!=(e|0)){continue}break}f=j[a>>2]}j[a+4>>2]=d;T(f);j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;e=0}b:{if(g>>>0>=357913942){break b}d=(e|0)/12|0;e=d<<1;d=d>>>0<178956970?e>>>0>>0?g:e:357913941;if(d>>>0>=357913942){break b}e=p(d,12);d=U(e);j[a>>2]=d;j[a+4>>2]=d;j[a+8>>2]=d+e;if((b|0)!=(c|0)){while(1){d=ha(d,b)+12|0;b=b+12|0;if((c|0)!=(b|0)){continue}break}}j[a+4>>2]=d;return}X();z()}function eb(a,b,c,d,e,f){var g=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:{o=j[a+1024>>2];if(o){while(1){if(k[(l[o+30>>1]+a|0)+4492|0]){g=Re(o,b,c,d,e,f);if(g){break a}}o=j[o+80>>2];if(o){continue}break}}b:{c:{if(!c){break c}r=(b+c|0)-1|0;m=j[((k[r|0]<<2)+a|0)+1024>>2];if(!m){break c}if((c|0)>=1){while(1){n=m+68|0;g=n;d:{if(h[m+79|0]>=0){break d}g=j[n>>2]}o=g;s=o+c|0;g=c;q=r;e:{f:{g:{while(1){p=k[o|0];if(!p){break g}if((p|0)!=k[q|0]?(p|0)!=46:0){break f}q=q-1|0;o=o+1|0;p=(g|0)>1;g=g-1|0;if(p){continue}break}if(k[s|0]){break f}}if(k[(l[m+30>>1]+a|0)+4492|0]){g=Re(m,b,c,d,e,f);if(g){break b}}n=m+84|0;break e}n=m+88|0}m=j[n>>2];if(m){continue}break c}}while(1){n=m+68|0;if(h[m+79|0]<=-1){g=j[n>>2]}else{g=n}h:{if(!k[g|0]){if(k[(l[m+30>>1]+a|0)+4492|0]){g=Re(m,b,c,d,e,f);if(g){break b}}n=m+84|0;break h}n=m+88|0}m=j[n>>2];if(m){continue}break}}g=0;break a}i[a+4364>>1]=l[m+30>>1];if(j[m+56>>2]){break a}if(h[n+11|0]<=-1){j[a+4356>>2]=j[n>>2];return g}j[a+4356>>2]=n;return g}return g}function Yh(a){var b=0;a=h[a+11|0]<0?j[a>>2]:a;b=0;a:{b:{if(!ba(a,120801)){break b}b=1;if(!ba(a,120804)){break b}b=2;if(!ba(a,120807)){break b}b=3;if(!ba(a,120813)){break b}b=4;if(!ba(a,120816)){break b}b=5;if(!ba(a,120819)){break b}b=6;if(!ba(a,120823)){break b}b=7;if(!ba(a,120826)){break b}b=8;if(!ba(a,120829)){break b}b=9;if(!ba(a,120832)){break b}b=10;if(!ba(a,120835)){break b}b=11;if(!ba(a,120838)){break b}b=12;if(!ba(a,120841)){break b}b=13;if(!ba(a,120844)){break b}b=14;if(!ba(a,120847)){break b}b=15;if(!ba(a,120850)){break b}b=16;if(!ba(a,120853)){break b}b=17;if(!ba(a,120856)){break b}b=18;if(!ba(a,120862)){break b}b=19;if(!ba(a,120865)){break b}b=20;if(!ba(a,120868)){break b}b=21;if(!ba(a,120871)){break b}b=22;if(!ba(a,120874)){break b}b=23;if(!ba(a,120877)){break b}b=24;if(!ba(a,120880)){break b}b=25;if(!ba(a,120883)){break b}b=26;if(!ba(a,120886)){break b}b=27;if(!ba(a,120892)){break b}b=999;if(ba(a,120895)){break a}b=28}b=j[(b<<3)+2020>>2]}return b}function ik(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,l=0,m=0;l=M-16|0;M=l;i=c;while(1){a:{if((d|0)==(i|0)){i=d;break a}if(!k[i|0]){break a}i=i+1|0;continue}break}j[h>>2]=f;j[e>>2]=c;while(1){b:{c:{d:{if((f|0)==(g|0)|(c|0)==(d|0)){break d}m=j[b+4>>2];j[l+8>>2]=j[b>>2];j[l+12>>2]=m;e:{f:{g:{m=hk(f,e,i-c|0,g-f>>2,b,j[a+8>>2]);h:{if((m|0)==-1){while(1){i:{j[h>>2]=f;if(j[e>>2]==(c|0)){break i}g=1;j:{k:{l:{b=xf(f,c,i-c|0,l+8|0,j[a+8>>2]);switch(b+2|0){case 2:break j;case 1:break l;case 0:break f;default:break k}}j[e>>2]=c;break h}g=b}c=c+g|0;f=j[h>>2]+4|0;continue}break}j[e>>2]=c;break d}f=j[h>>2]+(m<<2)|0;j[h>>2]=f;if((f|0)==(g|0)){break e}c=j[e>>2];if((d|0)==(i|0)){i=d;continue}if(!xf(f,c,1,b,j[a+8>>2])){break g}}a=2;break c}j[h>>2]=j[h>>2]+4;c=j[e>>2]+1|0;j[e>>2]=c;i=c;while(1){if((d|0)==(i|0)){i=d;break b}if(!k[i|0]){break b}i=i+1|0;continue}}j[e>>2]=c;a=1;break c}c=j[e>>2]}a=(c|0)!=(d|0)}M=l+16|0;return a|0}f=j[h>>2];continue}}function Vn(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{d=j[a>>2];e=(j[a+4>>2]-d|0)/12|0;c=e+1|0;if(c>>>0<357913942){d=(j[a+8>>2]-d|0)/12|0;g=d<<1;d=d>>>0<178956970?c>>>0>g>>>0?c:g:357913941;if(d){if(d>>>0>=357913942){break c}f=U(p(d,12))}c=p(e,12)+f|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;d=p(d,12)+f|0;f=c+12|0;b=j[a+4>>2];e=j[a>>2];if((b|0)==(e|0)){break b}while(1){c=c-12|0;j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;b=b-12|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;if((b|0)!=(e|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=f;e=j[a>>2];j[a>>2]=c;if((b|0)==(e|0)){break a}while(1){d=b-12|0;a=j[d>>2];if(a){g=b-8|0;c=j[g>>2];b=a;d:{if((a|0)==(c|0)){break d}while(1){b=c-12|0;if(h[c-1|0]<=-1){T(j[b>>2])}c=b;if((b|0)!=(a|0)){continue}break}b=j[d>>2]}f=b;j[g>>2]=a;T(f)}b=d;if((e|0)!=(b|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=f;j[a>>2]=c}if(e){T(e)}}function Ib(a,b){var c=0,d=0;c=M-176|0;M=c;a:{if(!b){b=cb(120906);break a}j[c+168>>2]=0;j[c+160>>2]=0;j[c+164>>2]=0;b:{c:{switch(j[a+8>>2]-1|0){case 0:Z(c+160|0,b<<16>>24);Z(c+160|0,b<<24>>24);break b;case 1:j[c+80>>2]=121092;j[c+24>>2]=121072;a=c+24|4;me(c+80|0,a);j[c+152>>2]=0;j[c+156>>2]=-1;j[c+80>>2]=121036;j[c+24>>2]=121016;d=re(a);j[c+60>>2]=0;j[c+64>>2]=0;j[c+68>>2]=0;j[c+72>>2]=0;j[c+76>>2]=16;j[c+28>>2]=120536;Un(c+24|0,b);Mq(c+8|0,a);if(h[c+171|0]<=-1){T(j[c+160>>2])}j[c+168>>2]=j[c+16>>2];a=j[c+12>>2];j[c+160>>2]=j[c+8>>2];j[c+164>>2]=a;j[c+80>>2]=121036;j[c+24>>2]=121016;j[c+28>>2]=120536;if(h[c+71|0]<=-1){T(j[c+60>>2])}lb(d);Wa(c+80|0);break b;case 2:a=U(2);j[c+24>>2]=a;d=a+2|0;j[c+32>>2]=d;h[a|0]=b;h[a+1|0]=b>>>8;j[c+28>>2]=d;da(c+160|0,c+24|0);a=j[c+24>>2];if(!a){break b}j[c+28>>2]=a;T(a);break b;default:break c}}Z(c+160|0,b<<24>>24)}b=cb(h[c+171|0]<0?j[c+160>>2]:c+160|0);if(h[c+171|0]>-1){break a}T(j[c+160>>2])}M=c+176|0;return b}function Jn(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0;a:{b:{c:{if(k[a+16|0]==80){f=U(84);wh(f,j[a+12>>2]);b=j[a+4>>2];c=j[a+8>>2];if(b>>>0>>0){j[b>>2]=f;j[a+4>>2]=b+4;break c}e=j[a>>2];g=b-e|0;b=g>>2;d=b+1|0;if(d>>>0>=1073741824){break b}i=b<<2;c=c-e|0;b=c>>1;d=c>>2>>>0<536870911?b>>>0>>0?d:b:1073741823;b=0;d:{if(!d){break d}if(d>>>0>=1073741824){break a}b=U(d<<2)}c=i+b|0;j[c>>2]=f;if((g|0)>=1){V(b,e,g)}j[a+8>>2]=b+(d<<2);j[a+4>>2]=c+4;j[a>>2]=b;if(!e){break c}T(e);break c}f=U(108);_h(f,j[a+12>>2]);b=j[a+4>>2];c=j[a+8>>2];if(b>>>0>>0){j[b>>2]=f;j[a+4>>2]=b+4;break c}e=j[a>>2];g=b-e|0;b=g>>2;d=b+1|0;if(d>>>0>=1073741824){break b}i=b<<2;c=c-e|0;b=c>>1;d=c>>2>>>0<536870911?b>>>0>>0?d:b:1073741823;b=0;e:{if(!d){break e}if(d>>>0>=1073741824){break a}b=U(d<<2)}c=i+b|0;j[c>>2]=f;if((g|0)>=1){V(b,e,g)}j[a+8>>2]=b+(d<<2);j[a+4>>2]=c+4;j[a>>2]=b;if(!e){break c}T(e)}b=j[j[a+4>>2]-4>>2];h[b+29|0]=k[j[j[a>>2]>>2]+29|0]&15;return b}X();z()}D();z()}function Kc(a,b,c,d,e,f,g){var l=0,m=0,n=0,o=0;l=M-48|0;M=l;m=k[b+11|0];n=m<<24>>24<0;a:{b:{c:{m=n?j[b+4>>2]:m;if(m>>>0>>0){break c}o=m;m=n?j[b>>2]:b;n=o+m|0;c=c+m|0;o=n-c|0;d:{e:{if((o|0)<2){break e}while(1){c=Aa(c,115,o-1|0);if(!c){break e}if((k[c|0]|k[c+1|0]<<8)==29555){break d}c=c+1|0;o=n-c|0;if((o|0)>1){continue}break}}c=n}if((d|0)>4){break c}n=(c|0)==(n|0)?-1:c-m|0;if((n|0)==-1){break c}h[n+m|0]=195;m=n+1|0;h[m+(h[b+11|0]<0?j[b>>2]:b)|0]=159;o=n+2|0;d=d+1|0;c=Kc(a,b,o,d,e+1|0,f,g);if(c){break a}h[n+(h[b+11|0]<0?j[b>>2]:b)|0]=115;h[m+(h[b+11|0]<0?j[b>>2]:b)|0]=115;c=Kc(a,b,o,d,e,f,g);if(c){break a}break b}if((e|0)<1){break b}if(j[a+44>>2]){c=_a(a,b,f,g);break a}b=ha(l,b);h[l+34|0]=0;i[l+32>>1]=40899;h[l+43|0]=2;i[l+16>>1]=223;h[l+27|0]=1;xb(b,l+32|0,l+16|0);if(h[l+27|0]<=-1){T(j[l+16>>2])}if(h[l+43|0]<=-1){T(j[l+32>>2])}c=_a(a,b,f,g);if(h[b+11|0]>-1){break a}T(j[b>>2]);break a}c=0}M=l+48|0;return c}function Og(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0;h=M-32|0;M=h;f=d&2147483647;g=f;e=f-1065418752|0;i=f-1082064896|0;f=c;a:{if((e|0)==(i|0)&f>>>0>>0|e>>>0>>0){g=(d&33554431)<<7|c>>>25;f=0;k=f;i=c&33554431;if(!(!f&(i|0)==16777216?!(a|b):!f&i>>>0<16777216)){e=g+1073741825|0;break a}e=g+1073741824|0;if(i^16777216|a|(b|k)){break a}e=(g&1)+e|0;break a}if(!(!f&(g|0)==2147418112?!(a|b):g>>>0<2147418112)){e=((d&33554431)<<7|c>>>25)&4194303|2143289344;break a}e=2139095040;if(g>>>0>1082064895){break a}e=0;f=g>>>16|0;if(f>>>0<16145){break a}g=c;e=d&65535|65536;mb(h+16|0,a,b,g,e,f-16129|0);Fc(h,a,b,g,e,16257-f|0);b=j[h+8>>2];e=(j[h+12>>2]&33554431)<<7|b>>>25;g=j[h+4>>2];f=g;a=0;i=a;k=j[h>>2]|((j[h+16>>2]|j[h+24>>2])!=0|(j[h+20>>2]|j[h+28>>2])!=0);b=b&33554431;if(!(!a&(b|0)==16777216?!(f|k):!a&b>>>0<16777216)){e=e+1|0;break a}if(b^16777216|k|(f|i)){break a}e=(e&1)+e|0}M=h+32|0;return tr(2,d&-2147483648|e),wr()}function so(a,b){var c=0,d=0,e=0,f=0,g=0;a:{d=j[a>>2];if((j[a+8>>2]-d|0)/40>>>0>=b>>>0){break a}b:{c:{if(b>>>0<107374183){c=j[a+4>>2];e=p(b,40);b=U(e);g=b+e|0;e=b+p((c-d|0)/40|0,40)|0;if((c|0)==(d|0)){break c}b=e;while(1){c=c-40|0;f=j[c+4>>2];b=b-40|0;j[b>>2]=j[c>>2];j[b+4>>2]=f;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;j[b+20>>2]=j[c+20>>2];f=j[c+16>>2];j[b+12>>2]=j[c+12>>2];j[b+16>>2]=f;j[c+12>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;j[b+32>>2]=j[c+32>>2];f=j[c+28>>2];j[b+24>>2]=j[c+24>>2];j[b+28>>2]=f;j[c+24>>2]=0;j[c+28>>2]=0;j[c+32>>2]=0;j[b+36>>2]=j[c+36>>2];if((c|0)!=(d|0)){continue}break}j[a+8>>2]=g;c=j[a+4>>2];j[a+4>>2]=e;d=j[a>>2];j[a>>2]=b;if((c|0)==(d|0)){break b}while(1){if(h[c-5|0]<=-1){T(j[c-16>>2])}if(h[c-17|0]<=-1){T(j[c-28>>2])}c=c-40|0;if(h[c+11|0]<=-1){T(j[c>>2])}if((c|0)!=(d|0)){continue}break}break b}D();z()}j[a+8>>2]=g;j[a+4>>2]=e;j[a>>2]=e}if(!d){break a}T(d)}}function Pp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;e=M-16|0;M=e;g=W(c);if(g>>>0<4294967280){a:{b:{if(g>>>0>=11){i=g+16&-16;f=U(i);j[e+8>>2]=i|-2147483648;j[e>>2]=f;j[e+4>>2]=g;i=e;break b}h[e+11|0]=g;i=e;f=e;if(!g){break a}}V(f,c,g)}h[f+g|0]=0;while(1){c:{d:{f=h[i+11|0];e:{if((f|0)<=-1){if(m[e+4>>2]>l>>>0){break d}T(j[e>>2]);break e}c=e;if((f&255)>>>0>l>>>0){break c}}M=e+16|0;return}c=j[e>>2]}f=c+l|0;g=h[f|0];c=g&255;h[f|0]=k[(j[a+52>>2]+p(c,3)|0)+2|0];if((c|0)!=k[(h[i+11|0]<0?j[e>>2]:e)+l|0]){wa(a,b,e,d,0,0);h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=g}f=j[a>>2];if(f){f:{c=Ya(f,g);if(!c){break f}while(1){g:{if(c>>>0<=f>>>0){break g}f=k[c-1|0];if((f|0)==124){break g}h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=f;wa(a,b,e,d,0,0)}f=c+1|0;c=k[c+1|0];if(!(!c|(c|0)==124)){h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=c;wa(a,b,e,d,0,0)}c=Ya(f,g);if(!c){break f}f=j[a>>2];continue}}h[(h[i+11|0]<0?j[e>>2]:e)+l|0]=g}l=l+1|0;continue}}X();z()}function Dp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;a:{b:{e=d-c|0;c:{if((e|0)<1){break c}m=e>>1;l=j[a+8>>2];n=j[a+4>>2];if((m|0)<=l-n>>1){e=n-b|0;f=e>>1;d:{if((f|0)>=(m|0)){g=n;f=d;break d}g=n;f=(f<<1)+c|0;d=d-f|0;if((d|0)>=1){g=V(n,f,d)+d|0}j[a+4>>2]=g;if((e|0)<1){break c}}d=m<<1;m=g-(d+b|0)|0;e=g;d=e-d|0;if(n>>>0>d>>>0){while(1){i=k[d|0]|k[d+1|0]<<8;h[e|0]=i;h[e+1|0]=i>>>8;e=e+2|0;d=d+2|0;if(n>>>0>d>>>0){continue}break}}j[a+4>>2]=e;if(m){Ka(g-(m>>1<<1)|0,b,m)}a=f-c|0;if(!a){break c}Ka(b,c,a);return}f=j[a>>2];i=m+(n-f>>1)|0;if((i|0)<=-1){break b}l=l-f|0;i=l>>1>>>0<1073741823?i>>>0>l>>>0?i:l:2147483647;g=0;e:{if(!i){break e}if((i|0)<=-1){break a}g=U(i<<1)}l=b-f|0;o=c;c=c-d|0;c=V(g+(l>>1<<1)|0,o,p(((c|0)>(e|0)?c:e)>>>1|0,(e|0)<1?e:1)<<1);if((l|0)>=1){V(g,f,l)}e=c+(m<<1)|0;c=n-b|0;if((c|0)>=1){e=V(e,b,c)+c|0}j[a+8>>2]=g+(i<<1);j[a+4>>2]=e;j[a>>2]=g;if(f){T(f)}}return}X();z()}D();z()}function Cp(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0;f=j[a+44>>2];a:{b:{if(!f){break b}f=Xb(f,b);d=0;c:{if(!f){break c}d=f;e=j[d+4>>2];if(!e){break c}d=i[f+2>>1];n=(d<<1)+e|0;g=l[j[a+44>>2]+4198>>1];if(d){while(1){h=d>>>1|0;k=(h<<1)+e|0;m=g>>>0>l[k>>1];e=m?k+2|0:e;d=m?(h^-1)+d|0:h;if(d){continue}break}}if(!(g>>>0>=l[e>>1]?(e|0)!=(n|0):0)){e=j[f+4>>2];d=i[f+2>>1];n=e+(d<<1)|0;g=l[j[a+44>>2]+4464>>1];if(d){while(1){h=d>>>1|0;k=(h<<1)+e|0;m=g>>>0>l[k>>1];e=m?k+2|0:e;d=m?(h^-1)+d|0:h;if(d){continue}break}}d=f;if((e|0)==(n|0)){break c}d=f;if(g>>>0>1]){break c}}d=0}if(!gb(j[a+44>>2],b,c,1,0)){d=Qa(j[a+44>>2],b,c,0,0,0,0,0)}if(!d){break b}e=j[d+4>>2];if(!e){break b}d=i[d+2>>1];f=(d<<1)+e|0;a=l[j[a+44>>2]+4192>>1];if(d){while(1){b=d>>>1|0;g=(b<<1)+e|0;c=a>>>0>l[g>>1];e=c?g+2|0:e;d=c?(b^-1)+d|0:b;if(d){continue}break}}if((e|0)==(f|0)){break b}b=1;if(a>>>0>=l[e>>1]){break a}}b=0}return b}function Pq(a,b,c){var d=0,e=0,f=0,g=0,l=0;f=M-16|0;M=f;a:{b:{l=j[a+4>>2];c:{if(!l){break c}e=h[c+11|0]<0?j[c>>2]:c;c=h[e|0];d:{if(!c){break d}d=h[e+1|0];if(!d){d=c;break d}d=d|c<<8;c=h[e+2|0];if(!c){break d}d=c|d<<8;c=h[e+3|0];if(!c){break d}d=c|d<<8;c=e+4|0;g=k[c|0];if(!g){break d}while(1){d=qr(d,5)^g<<24>>24;g=k[c+1|0];c=c+1|0;if(g){continue}break}}d=j[l+((d>>>0)%m[a>>2]<<2)>>2];if(!d){break c}while(1){if(!ba(e,d+17|0)){break b}d=j[d+8>>2];if(d){continue}break}}Oe(a,b);break a}Oe(a,b);if(!j[d+4>>2]){break a}j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;e:{if(!j[a+16>>2]){c=k[b+11|0];c=c<<24>>24<0?j[b+4>>2]:c;g=Nc(b,j[a+52>>2]);break e}c=ia(f,b);g=Mc(f,j[a+24>>2]);e=j[f>>2];if(!e){break e}j[f+4>>2]=e;T(e)}f:{if(j[a+84>>2]){Lc(a,b,c,j[d+4>>2],i[d+2>>1],0,0,g);break f}e=i[d+2>>1]<<1;l=ja(e);if(!l){break a}Lc(a,b,c,V(l,j[d+4>>2],e),i[d+2>>1],0,0,g)}Pe(a,b,c,j[d+4>>2],i[d+2>>1],0,g)}M=f+16|0}function ec(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,n=0,o=0,p=0;l=M-16|0;M=l;a:{b:{c:{d:{d=k[b+11|0];e=d<<24>>24;if((e|0)<=-1){d=j[b+4>>2];if(d){break d}break a}if(e){break c}break a}e=j[b>>2];break b}e=b}f=k[c+11|0];g=f<<24>>24<0;f=g?j[c+4>>2]:f;if(f){if((d|0)<(f|0)){break a}i=d+e|0;g=g?j[c>>2]:c;o=k[g|0];c=e;while(1){d=d-f|0;n=d+1|0;if(n>>>0>>0){break a}c=Aa(c,o,n);if(!c){break a}if(qa(c,g,f)){c=c+1|0;d=i-c|0;if((f|0)<=(d|0)){continue}break a}break}if((c|0)==(i|0)){break a}i=c-e|0;if((i|0)==-1){break a}}e:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break e}h[a+11|0]=0;h[a|0]=0}c=0;b=sa(l,b,i+3|0,-1);f:{g:{while(1){e=k[b+11|0];f=e<<24>>24;h:{if((f|0)<=-1){if(m[b+4>>2]<=c>>>0){break g}d=j[b>>2];break h}d=l;if(c>>>0>=e>>>0){break f}}e=k[c+d|0];d=e-9|0;if(!(1<>>0<=23:0)){Z(a,e<<24>>24);c=c+1|0;continue}break}if((f|0)>-1){break f}}T(j[b>>2])}p=1}M=l+16|0;return p}function oc(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0;g=M-16|0;M=g;j[g+12>>2]=c;c=b;a:{b:{c:{if(k[a+11|0]>>>7|0){i=j[a+4>>2]}else{i=k[a+11|0]}if(c>>>0<=i>>>0){n=i-b|0;j[g+8>>2]=n;c=M-16|0;M=c;M=c+16|0;c=g+8|0;l=g+12|0;j[g+12>>2]=j[(m[c>>2]>2]?c:l)>>2];f=j[g+12>>2];c=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;if(f+(c-i|0)>>>0>=e>>>0){if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}l=c;c=j[g+12>>2];d:{if((e|0)==(c|0)){break d}n=n-c|0;if(!n){break d}f=b+l|0;if(c>>>0>e>>>0){break c}e:{if(d>>>0<=f>>>0|l+i>>>0<=d>>>0){break e}if(c+f>>>0<=d>>>0){d=(e-c|0)+d|0;break e}Jb(f,d,c);f=j[g+12>>2];c=0;j[g+12>>2]=0;d=d+e|0;e=e-f|0;b=b+f|0}f=b+l|0;Jb(f+e|0,c+f|0,n)}Jb(b+l|0,d,e);break b}cd(a,c,((e+i|0)-c|0)-f|0,i,b,f,e,d);break a}X();z()}Jb(f,d,e);Jb(e+f|0,f+j[g+12>>2]|0,n)}c=(e-j[g+12>>2]|0)+i|0;b=c;f:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break f}h[a+11|0]=b}h[g+7|0]=0;h[c+l|0]=k[g+7|0]}M=g+16|0}function nr(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{e=b;if(b){d=c;if(!d){break i}break h}a=(a>>>0)/(c>>>0)|0;N=0;return a}if(!a){break g}break f}if(!(d-1&d)){break e}h=(s(d)+33|0)-s(e)|0;i=0-h|0;break c}a=(e>>>0)/0|0;N=0;return a}d=32-s(e)|0;if(d>>>0<31){break d}break b}if((d|0)==1){break a}if(d){d=31-s(d-1^d)|0}else{d=32}c=d&31;if((d&63)>>>0>=32){e=0;a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}N=e;return a}h=d+1|0;i=63-d|0}d=b;e=h&63;f=e&31;if(e>>>0>=32){e=0;f=d>>>f|0}else{e=d>>>f|0;f=((1<>>f}i=i&63;d=i&31;if(i>>>0>=32){b=a<>>32-d|b<>>31;j=g;e=e<<1|f>>>31;g=i-(e+(d>>>0>>0)|0)>>31;k=c&g;f=j-k|0;e=e-(j>>>0>>0)|0;b=b<<1|a>>>31;a=l|a<<1;g=g&1;l=g;h=h-1|0;if(h){continue}break}}N=b<<1|a>>>31;return g|a<<1}a=0;b=0}N=b;return a}function Ab(a,b,c){var d=0,e=0,f=0,g=0,i=0;d=M-160|0;M=d;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;e=h[b+11|0];if((e|0)<0?j[b+4>>2]:e&255){j[d+20>>2]=0;j[d+80>>2]=120480;j[d+16>>2]=120460;j[d+24>>2]=120320;e=d+28|0;me(d+80|0,e);j[d+152>>2]=0;j[d+156>>2]=-1;j[d+80>>2]=120340;j[d+16>>2]=120300;j[d+24>>2]=120320;f=re(e);j[d+60>>2]=0;j[d+64>>2]=0;j[d+68>>2]=0;j[d+72>>2]=0;j[d+76>>2]=24;j[d+28>>2]=120536;Gi(e,b);j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;b=cf(d+16|0,d,c);if(!(k[(j[j[b>>2]-12>>2]+b|0)+16|0]&5)){while(1){b=k[d+11|0];a:{if(!(b<<24>>24<0?j[d+4>>2]:b)){break a}b=j[a+4>>2];if((b|0)!=j[a+8>>2]){g=a,i=ha(b,d)+12|0,j[g+4>>2]=i;break a}Wb(a,d)}b=cf(d+16|0,d,c);if(!(k[(j[j[b>>2]-12>>2]+b|0)+16|0]&5)){continue}break}}if(h[d+11|0]<=-1){T(j[d>>2])}j[d+80>>2]=120340;j[d+16>>2]=120300;j[d+28>>2]=120536;j[d+24>>2]=120320;if(h[d+71|0]<=-1){T(j[d+60>>2])}lb(f);Wa(d+80|0)}M=d+160|0}function np(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0;d=j[37137];a:{b:{if(d){e=k[b+11|0];f=e<<24>>24<0;l=f?j[b>>2]:b;f=f?j[b+4>>2]:e;e=148548;while(1){b=k[d+27|0];g=b<<24>>24<0;b=g?j[d+20>>2]:b;n=b>>>0>>0;c:{d:{e:{f:{g:{m=n?b:f;h:{if(m){i=d+16|0;g=g?j[i>>2]:i;i=qa(l,g,m);if(!i){if(b>>>0>f>>>0){break h}break g}if((i|0)>-1){break g}break h}if(b>>>0<=f>>>0){break f}}b=j[d>>2];if(b){break c}break b}b=qa(g,l,m);if(b){break e}}if(n){break d}break a}if((b|0)>-1){break a}}e=d+4|0;b=j[d+4>>2];if(!b){break a}d=e}e=d;d=b;continue}}d=148548}e=d}f=a;b=j[e>>2];if(b){c=0}else{b=U(32);j[b+24>>2]=j[c+8>>2];l=j[c+4>>2];j[b+16>>2]=j[c>>2];j[b+20>>2]=l;j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;c=j[c+12>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=d;j[b+28>>2]=c;j[e>>2]=b;d=j[j[37136]>>2];c=b;i:{if(!d){break i}j[37136]=d;c=j[e>>2]}zd(j[37137],c);j[37138]=j[37138]+1;c=1}h[f+4|0]=c;j[a>>2]=b}function To(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=j[b+4>>2];a:{b:{if(e){f=k[c+11|0];g=f<<24>>24<0;m=g?j[c>>2]:c;g=g?j[c+4>>2]:f;f=b+4|0;while(1){c=k[e+27|0];i=c<<24>>24<0;c=i?j[e+20>>2]:c;o=c>>>0>>0;c:{d:{e:{f:{g:{n=o?c:g;h:{if(n){l=e+16|0;i=i?j[l>>2]:l;l=qa(m,i,n);if(!l){if(c>>>0>g>>>0){break h}break g}if((l|0)>-1){break g}break h}if(c>>>0<=g>>>0){break f}}c=j[e>>2];if(c){break c}break b}c=qa(i,m,n);if(c){break e}}if(o){break d}break a}if((c|0)>-1){break a}}f=e+4|0;c=j[e+4>>2];if(!c){break a}e=f}f=e;e=c;continue}}e=b+4|0}f=e}g=a;c=j[f>>2];if(c){b=0}else{c=U(32);d=j[d>>2];m=j[d+4>>2];j[c+16>>2]=j[d>>2];j[c+20>>2]=m;j[c+24>>2]=j[d+8>>2];j[d>>2]=0;j[d+4>>2]=0;j[d+8>>2]=0;j[c+8>>2]=e;j[c>>2]=0;j[c+4>>2]=0;j[c+28>>2]=0;j[f>>2]=c;e=j[j[b>>2]>>2];d=c;i:{if(!e){break i}j[b>>2]=e;d=j[f>>2]}zd(j[b+4>>2],d);j[b+8>>2]=j[b+8>>2]+1;b=1}h[g+4|0]=b;j[a>>2]=c}function fc(a,b,c,d,e){var f=0,g=0,i=0;f=M-32|0;M=f;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;Nm(f+16|0,b,c,d);g=k[f+27|0];i=g<<24>>24<0;g=i?j[f+20>>2]:g;if(g){aa(a,i?j[f+16>>2]:f+16|0,g)}Rc(f,b,c,d,0,0,0,e);if(h[f+27|0]<=-1){T(j[f+16>>2])}j[f+24>>2]=j[f+8>>2];i=j[f+4>>2];j[f+16>>2]=j[f>>2];j[f+20>>2]=i;g=h[f+27|0];i=(g|0)<0;g=i?j[f+20>>2]:g&255;if(g){aa(a,i?j[f+16>>2]:f+16|0,g)}a:{if(!j[b+4488>>2]){break a}j[b+4372>>2]=0;j[b+4376>>2]=0;Ef(f,b,c,d,0,0,e);if(h[f+27|0]<=-1){T(j[f+16>>2])}j[f+24>>2]=j[f+8>>2];i=j[f+4>>2];j[f+16>>2]=j[f>>2];j[f+20>>2]=i;i=h[f+27|0];g=(i|0)<0?j[f+20>>2]:i&255;if(g){aa(a,(i|0)<0?j[f+16>>2]:f+16|0,g)}Gm(f,b,c,d,e);if(h[f+27|0]<=-1){T(j[f+16>>2])}j[f+24>>2]=j[f+8>>2];b=j[f+4>>2];j[f+16>>2]=j[f>>2];j[f+20>>2]=b;b=h[f+27|0];c=(b|0)<0?j[f+20>>2]:b&255;if(!c){break a}aa(a,(b|0)<0?j[f+16>>2]:f+16|0,c)}if(h[f+27|0]<=-1){T(j[f+16>>2])}M=f+32|0}function Nh(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,k=0;d=j[a+8>>2];c=j[a+4>>2];if((d-c|0)/12>>>0>=b>>>0){if(b){b=p((p(b,12)-12>>>0)/12|0,12)+12|0;c=ya(c,0,b)+b|0}j[a+4>>2]=c;return}a:{b:{c:{g=j[a>>2];f=(c-g|0)/12|0;e=f+b|0;if(e>>>0<357913942){d=(d-g|0)/12|0;i=d<<1;d=d>>>0<178956970?e>>>0>i>>>0?e:i:357913941;if(d){if(d>>>0>=357913942){break c}k=U(p(d,12))}e=p(f,12)+k|0;f=p((p(b,12)-12>>>0)/12|0,12)+12|0;b=ya(e,0,f);f=b+f|0;d=p(d,12)+k|0;if((c|0)==(g|0)){break b}while(1){c=c-12|0;b=j[c+4>>2];e=e-12|0;j[e>>2]=j[c>>2];j[e+4>>2]=b;j[e+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;if((c|0)!=(g|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=f;c=j[a>>2];j[a>>2]=e;if((b|0)==(c|0)){break a}while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((a|0)!=(c|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=f;j[a>>2]=b}if(c){T(c)}}function bo(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{d=j[a>>2];f=(j[a+4>>2]-d|0)/12|0;c=f+1|0;if(c>>>0<357913942){d=(j[a+8>>2]-d|0)/12|0;g=d<<1;d=d>>>0<178956970?c>>>0>g>>>0?c:g:357913941;if(d){if(d>>>0>=357913942){break c}e=U(p(d,12))}c=p(f,12)+e|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;d=p(d,12)+e|0;f=c+12|0;b=j[a+4>>2];e=j[a>>2];if((b|0)==(e|0)){break b}while(1){c=c-12|0;j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;b=b-12|0;j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;if((b|0)!=(e|0)){continue}break}j[a+8>>2]=d;b=j[a+4>>2];j[a+4>>2]=f;e=j[a>>2];j[a>>2]=c;if((b|0)==(e|0)){break a}while(1){a=b-12|0;c=j[a>>2];if(c){j[b-8>>2]=c;T(c)}b=a;if((e|0)!=(b|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=d;j[a+4>>2]=f;j[a>>2]=c}if(e){T(e)}}function va(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0;f=M-16|0;M=f;c=k[b+11|0];if(!(c<<24>>24<0?j[b+4>>2]:c)){j[f+8>>2]=h[a+11|0]<0?j[a>>2]:a;d=ka(a,f+8|0);c=k[a+11|0];e=c<<24>>24<0;if((d|0)!=((e?j[a>>2]:a)+(e?j[a+4>>2]:c)|0)){while(1){a:{b:{c:{switch(l|0){case 0:break b;case 1:break c;default:break a}}i=j[f+8>>2];e=i-d|0;g=h[b+11|0];d:{e:{f:{if((g|0)<=-1){c=(j[b+8>>2]&2147483647)-1|0;if(e>>>0<=c>>>0){break e}g=j[b+4>>2];break f}c=b;if(e>>>0<=10){break d}c=10;g=g&255}qb(b,c,e-c|0,g,0,g,0);c=b;if(h[b+11|0]>-1){break d}}c=j[b>>2]}if((d|0)!=(i|0)){while(1){h[c|0]=k[d|0];c=c+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}h[c|0]=0;if(h[b+11|0]<=-1){j[b+4>>2]=e;break b}h[b+11|0]=e}m=m+1|0}l=l+1|0;d=ka(a,f+8|0);c=k[a+11|0];e=c<<24>>24<0;if((d|0)!=((e?j[a>>2]:a)+(e?j[a+4>>2]:c)|0)){continue}break}}d=(m|0)==2}M=f+16|0;return d}function sn(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0;e=M-16|0;M=e;f=c-b|0;a:{g=k[a+11|0];i=g<<24>>24;b:{c:{if((i|0)<=-1){if(!f){break b}l=(j[a+8>>2]&2147483647)-1|0;g=j[a+4>>2];d=j[a>>2];break c}if(!f){break b}l=10;d=a}if(!(d>>>0>b>>>0|d+g>>>0<=b>>>0)){if(f>>>0>=4294967280){break a}d:{if(f>>>0<=10){h[e+11|0]=f;d=e;break d}i=f+16&-16;d=U(i);j[e+8>>2]=i|-2147483648;j[e>>2]=d;j[e+4>>2]=f}if((b|0)!=(c|0)){d=V(d,b,f)+f|0}h[d|0]=0;c=a;b=k[e+11|0];a=b<<24>>24<0;aa(c,a?j[e>>2]:e,a?j[e+4>>2]:b);if(h[e+11|0]>-1){break b}T(j[e>>2]);break b}if(l-g>>>0>>0){qb(a,l,(f+g|0)-l|0,g,g,0,0);i=h[a+11|0]}d=j[a>>2];e:{if(i<<24>>24<=-1){break e}d=a}d=d+g|0;if((b|0)!=(c|0)){while(1){h[d|0]=k[b|0];d=d+1|0;b=b+1|0;if((c|0)!=(b|0)){continue}break}}h[d|0]=0;b=f+g|0;if(h[a+11|0]<=-1){j[a+4>>2]=b;break b}h[a+11|0]=b}M=e+16|0;return}X();z()}function hl(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=Uf(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);Pb(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);Pb(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=Tf(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);Pb(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);Pb(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,j[n>>2]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,j[n>>2]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);Pb(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function Pe(a,b,c,d,e,f,g){var k=0,m=0,n=0,o=0,p=0,q=0,r=0;k=M-32|0;M=k;n=d?e:0;a:{b:{c:{if(g-3>>>0>=2){if(!n|(g|0)!=2){break a}break c}if(n){break c}e=1;break b}q=(n<<1)+d|0;r=l[a+20>>1];g=d;m=n;while(1){e=m>>>1|0;p=(e<<1)+g|0;o=l[p>>1]>>0;g=o?p+2|0:g;m=o?(e^-1)+m|0:e;if(m){continue}break}if((g|0)==(q|0)){e=0;break b}e=0;m=0;if(l[a+20>>1]>=l[g>>1]){break a}}m=1;o=n+1|0;g=ja(o<<1);if(!g){break a}if(!e){V(g,d,n<<1)}i[g+(n<<1)>>1]=65511;if(j[a+16>>2]){j[k+24>>2]=0;j[k+16>>2]=0;j[k+20>>2]=0;j[k+8>>2]=0;j[k>>2]=0;j[k+4>>2]=0;ia(k,b);Ta(k,j[a+24>>2]);wb(k,j[a+24>>2]);da(k+16|0,k);m=Lc(a,k+16|0,c,g,o,f,1,1);a=j[k>>2];if(a){j[k+4>>2]=a;T(a)}if(h[k+27|0]>-1){break a}T(j[k+16>>2]);break a}b=ha(k+16|0,b);Pa(b,j[a+52>>2]);nb(b,j[a+52>>2]);m=Lc(a,b,c,g,o,f,1,1);if(h[b+11|0]>-1){break a}T(j[b>>2])}M=k+32|0;return m}function Bn(a,b){var c=0,d=0,e=0;a:{if(k[b|0]){break a}b=ke(123424);if(k[b|0]?b:0){break a}b=ke(p(a,12)+123440|0);if(k[b|0]?b:0){break a}b=ke(123512);if(k[b|0]?b:0){break a}b=123517}b:{while(1){e=k[b+c|0];if(!(!e|(e|0)==47)){e=15;c=c+1|0;if((c|0)!=15){continue}break b}break}e=c}d=123517;c:{d:{c=k[b|0];e:{f:{if(!(k[b+e|0]|(c|0)==46)){d=b;if((c|0)!=67){break f}}if(!k[d+1|0]){break e}}if(!ba(d,123517)){break e}if(ba(d,123525)){break d}}if(!a){c=123348;if(k[d+1|0]==46){break c}}return 0}c=j[37166];if(c){while(1){if(!ba(d,c+8|0)){break c}c=j[c+24>>2];if(c){continue}break}}c=j[37166];if(c){while(1){if(!ba(d,c+8|0)){return c}c=j[c+24>>2];if(c){continue}break}}c=ja(28);g:{if(!c){c=0;break g}b=j[30838];j[c>>2]=j[30837];j[c+4>>2]=b;b=c+8|0;V(b,d,e);h[b+e|0]=0;j[c+24>>2]=j[37166];j[37166]=c}c=a|c?c:123348}return c}function nl(a,b,c,d,e,f,g,i,k,l){var m=0,n=0,o=0;m=M-16|0;M=m;a:{if(a){a=Zf(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);db(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);db(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=Yf(b);O[j[j[a>>2]+44>>2]](m,a);b=j[m>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;O[j[j[a>>2]+32>>2]](m,a);db(k,m);Y(m);O[j[j[a>>2]+28>>2]](m,a);db(i,m);Y(m);n=d,o=O[j[j[a>>2]+12>>2]](a)|0,h[n|0]=o;n=e,o=O[j[j[a>>2]+16>>2]](a)|0,h[n|0]=o;O[j[j[a>>2]+20>>2]](m,a);db(f,m);Y(m);O[j[j[a>>2]+24>>2]](m,a);db(g,m);Y(m);a=O[j[j[a>>2]+36>>2]](a)|0}j[l>>2]=a;M=m+16|0}function wn(a,b,c){var d=0,e=0,f=0,g=0,i=0;i=M-16|0;M=i;a:{b:{c:{d:{if(a){if(c>>>0>=4){break d}d=c;break c}c=0;a=j[b>>2];d=j[a>>2];if(!d){break a}while(1){f=1;if(d>>>0>=128){g=-1;f=uc(i+12|0,d);if((f|0)==-1){break a}}d=j[a+4>>2];a=a+4|0;c=c+f|0;g=c;if(d){continue}break}break a}f=j[b>>2];d=c;while(1){e=j[f>>2];e:{if(e-1>>>0>=127){if(!e){h[a|0]=0;j[b>>2]=0;break b}g=-1;e=uc(a,e);if((e|0)==-1){break a}d=d-e|0;a=a+e|0;break e}h[a|0]=e;d=d-1|0;f=j[b>>2];a=a+1|0}f=f+4|0;j[b>>2]=f;if(d>>>0>3){continue}break}}if(d){f=j[b>>2];while(1){e=j[f>>2];f:{if(e-1>>>0>=127){if(!e){h[a|0]=0;j[b>>2]=0;break b}g=-1;e=uc(i+12|0,e);if((e|0)==-1){break a}if(d>>>0>>0){break b}uc(a,j[f>>2]);d=d-e|0;a=a+e|0;break f}h[a|0]=e;d=d-1|0;f=j[b>>2];a=a+1|0}f=f+4|0;j[b>>2]=f;if(d){continue}break}}g=c;break a}g=c-d|0}M=i+16|0;return g}function Ip(a,b,c,d,e){var f=0,g=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0;f=M-48|0;M=f;j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;a:{if(d){if((d|0)<=-1){break a}g=d<<1;n=U(g);j[f+32>>2]=n;i=n+(d<<1)|0;j[f+40>>2]=i;V(n,c,g);j[f+36>>2]=i}j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;q=f,r=C()|0,j[q+12>>2]=r;j[f+8>>2]=100;b:{if(!j[a+24>>2]|(d|0)<1){break b}while(1){c=d;while(1){n=c-1|0;p=n<<1;g=p+j[f+32>>2]|0;i=k[g|0]|k[g+1|0]<<8;l=j[a+28>>2]+(o<<1)|0;l=k[l|0]|k[l+1|0]<<8;if(!((i>>>8|0)==(l>>>8|0)?(i&255)==(l&255):0)){h[g|0]=l;h[g+1|0]=l>>>8;da(f+16|0,f+32|0);wa(a,b,f+16|0,e,f+8|0,f+12|0);if(!j[f+8>>2]){break b}g=j[f+32>>2]+p|0;h[g|0]=i;h[g+1|0]=i>>>8}g=(c|0)>1;c=n;if(g){continue}break}o=o+1|0;if(o>>>0>2]){continue}break}}if(h[f+27|0]<=-1){T(j[f+16>>2])}a=j[f+32>>2];if(a){j[f+36>>2]=a;T(a)}M=f+48|0;return}X();z()}function Gm(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0;i=M-16|0;M=i;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[b+4356>>2]=0;j[b+4360>>2]=0;j[b+4376>>2]=0;f=j[b>>2];if(f){while(1){sf(i,f,c,d,e);l=k[i+11|0];g=l<<24>>24;m=(g|0)<0;l=m?j[i+4>>2]:l;if(l){aa(a,m?j[i>>2]:i,l);g=k[i+11|0]}f=j[f+68>>2];if(g<<24>>24<=-1){T(j[i>>2])}if(f){continue}break}}l=j[(k[c|0]<<2)+b>>2];if(l){while(1){g=l+4|0;g=h[l+15|0]<=-1?j[g>>2]:g;f=k[g|0];a:{if(!f){break a}m=c;if((f|0)!=46&k[m|0]!=(f|0)){break a}while(1){f=k[g+1|0];if(!f){break a}n=k[m+1|0];m=m+1|0;g=g+1|0;if(!((f|0)!=46&(f|0)!=(n|0))){continue}break}}b:{if(!f){sf(i,l,c,d,e);g=k[i+11|0];f=g<<24>>24;m=(f|0)<0;g=m?j[i+4>>2]:g;if(g){aa(a,m?j[i>>2]:i,g);j[b+4376>>2]=l;f=k[i+11|0]}l=j[l+72>>2];if(f<<24>>24>-1){break b}T(j[i>>2]);break b}l=j[l+76>>2]}if(l){continue}break}}M=i+16|0}function Eb(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{c=j[a>>2];f=(j[a+4>>2]-c|0)/12|0;d=f+1|0;if(d>>>0<357913942){c=(j[a+8>>2]-c|0)/12|0;g=c<<1;c=c>>>0<178956970?d>>>0>g>>>0?d:g:357913941;if(c){if(c>>>0>=357913942){break c}e=U(p(c,12))}d=p(f,12)+e|0;f=j[b+4>>2];j[d>>2]=j[b>>2];j[d+4>>2]=f;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;e=p(c,12)+e|0;f=d+12|0;b=j[a+4>>2];c=j[a>>2];if((b|0)==(c|0)){break b}while(1){b=b-12|0;g=j[b+4>>2];d=d-12|0;j[d>>2]=j[b>>2];j[d+4>>2]=g;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;if((b|0)!=(c|0)){continue}break}j[a+8>>2]=e;e=j[a+4>>2];j[a+4>>2]=f;c=j[a>>2];j[a>>2]=d;if((c|0)==(e|0)){break a}while(1){a=e-12|0;if(h[e-1|0]<=-1){T(j[a>>2])}e=a;if((a|0)!=(c|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=e;j[a+4>>2]=f;j[a>>2]=d}if(c){T(c)}}function un(a,b,c,d,e){var f=0,g=0,h=0,i=0,k=0,l=0;g=M-1040|0;M=g;i=j[b>>2];j[g+12>>2]=i;k=a?a:g+16|0;a:{b:{c:{d=a?d:256;if(!d|!i){break c}f=c>>>2|0;l=f>>>0>=d>>>0;if(d>>>0>f>>>0?c>>>0<=131:0){break b}while(1){f=l?d:f;c=c-f|0;f=Hg(k,g+12|0,f,e);if((f|0)==-1){d=0;i=j[g+12>>2];h=-1;break c}l=(g+16|0)==(k|0);k=l?k:(f<<2)+k|0;h=f+h|0;d=d-(l?0:f)|0;i=j[g+12>>2];if(!d|!i){break c}f=c>>>2|0;l=f>>>0>=d>>>0;if(d>>>0<=f>>>0|c>>>0>131){continue}break}break b}if(!i){break a}}if(!d|!c){break a}f=h;while(1){d:{h=sd(k,i,c,e);e:{if(h+2>>>0<=2){f:{switch(h+1|0){case 1:j[g+12>>2]=0;break e;case 0:break a;default:break f}}j[e>>2]=0;break e}i=j[g+12>>2]+h|0;j[g+12>>2]=i;f=f+1|0;d=d-1|0;if(d){break d}}h=f;break a}k=k+4|0;c=c-h|0;h=f;if(c){continue}break}}if(a){j[b>>2]=j[g+12>>2]}M=g+1040|0;return h}function Do(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,k=0;e=M-32|0;M=e;g=j[a+28>>2];j[e+16>>2]=g;d=j[a+20>>2];j[e+28>>2]=c;j[e+24>>2]=b;b=d-g|0;j[e+20>>2]=b;g=b+c|0;k=2;b=e+16|0;a:{b:{f=E(j[a+60>>2],e+16|0,2,e+12|0)|0;d=0;c:{if(!f){break c}j[37140]=f;d=-1}d:{if(!d){while(1){d=j[e+12>>2];if((d|0)==(g|0)){break d}if((d|0)<=-1){break b}h=j[b+4>>2];f=h>>>0>>0;i=(f<<3)+b|0;h=d-(f?h:0)|0;j[i>>2]=h+j[i>>2];i=(f?12:4)+b|0;j[i>>2]=j[i>>2]-h;g=g-d|0;b=f?b+8|0:b;k=k-f|0;f=E(j[a+60>>2],b|0,k|0,e+12|0)|0;d=0;e:{if(!f){break e}j[37140]=f;d=-1}if(!d){continue}break}}if((g|0)!=-1){break b}}b=j[a+44>>2];j[a+28>>2]=b;j[a+20>>2]=b;j[a+16>>2]=b+j[a+48>>2];a=c;break a}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a>>2]=j[a>>2]|32;a=0;if((k|0)==2){break a}a=c-j[b+4>>2]|0}M=e+32|0;return a|0}function ar(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=j[b+44>>2];k=j[b+24>>2];if(i>>>0>>0){j[b+44>>2]=k;i=k}o=-1;p=-1;q=f&24;a:{if(!q|((q|0)==24?(e|0)==1:0)){break a}if(i){g=b+32|0;l=i;if(h[b+43|0]<=-1){g=j[g>>2]}g=l-g|0;l=g;g=g>>31}b:{c:{switch(e|0){case 1:if(f&8){e=j[b+12>>2]-j[b+8>>2]|0;m=e;n=e>>31;break b}e=k-j[b+20>>2]|0;m=e;n=e>>31;break b;case 0:break b;case 2:break c;default:break a}}m=l;n=g}e=d+n|0;c=c+m|0;e=m>>>0>c>>>0?e+1|0:e;d=c;c=e;if((e|0)<0|((e|0)>(g|0)?1:(e|0)>=(g|0)?d>>>0>l>>>0:0)){break a}e=f&8;d:{if(!(c|d)){break d}if(j[b+12>>2]?0:e){break a}if(!(f&16)){break d}if(!k){break a}}if(e){j[b+16>>2]=i;j[b+12>>2]=d+j[b+8>>2]}if(f&16){j[b+24>>2]=d+j[b+20>>2]}o=d;p=c}j[a+8>>2]=o;j[a+12>>2]=p;j[a>>2]=0;j[a+4>>2]=0}function Vo(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=j[b+4>>2];a:{b:{if(e){f=k[c+11|0];g=f<<24>>24<0;n=g?j[c>>2]:c;g=g?j[c+4>>2]:f;f=b+4|0;while(1){c=k[e+27|0];i=c<<24>>24<0;c=i?j[e+20>>2]:c;o=c>>>0>>0;c:{d:{e:{f:{g:{m=o?c:g;h:{if(m){l=e+16|0;i=i?j[l>>2]:l;l=qa(n,i,m);if(!l){if(c>>>0>g>>>0){break h}break g}if((l|0)>-1){break g}break h}if(c>>>0<=g>>>0){break f}}c=j[e>>2];if(c){break c}break b}c=qa(i,n,m);if(c){break e}}if(o){break d}break a}if((c|0)>-1){break a}}f=e+4|0;c=j[e+4>>2];if(!c){break a}e=f}f=e;e=c;continue}}e=b+4|0}f=e}g=a;c=j[f>>2];if(c){b=0}else{c=U(32);ha(c+16|0,d);d=j[d+12>>2];j[c+8>>2]=e;j[c>>2]=0;j[c+4>>2]=0;j[c+28>>2]=d;j[f>>2]=c;e=j[j[b>>2]>>2];d=c;i:{if(!e){break i}j[b>>2]=e;d=j[f>>2]}zd(j[b+4>>2],d);j[b+8>>2]=j[b+8>>2]+1;b=1}h[g+4|0]=b;j[a>>2]=c}function $n(a,b){var c=0,d=0,e=0,f=0,g=0;a:{e=j[a>>2];if((j[a+8>>2]-e|0)/12>>>0>=b>>>0){break a}b:{c:{if(b>>>0<357913942){c=j[a+4>>2];b=p(b,12);d=U(b);f=b+d|0;d=d+p((c-e|0)/12|0,12)|0;if((c|0)==(e|0)){break c}b=d;while(1){b=b-12|0;j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;c=c-12|0;j[b>>2]=j[c>>2];j[b+4>>2]=j[c+4>>2];j[b+8>>2]=j[c+8>>2];j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;if((c|0)!=(e|0)){continue}break}j[a+8>>2]=f;c=j[a+4>>2];j[a+4>>2]=d;e=j[a>>2];j[a>>2]=b;if((c|0)==(e|0)){break b}while(1){d=c-12|0;f=j[d>>2];if(f){a=f;c=c-8|0;b=j[c>>2];g=a;d:{if((a|0)==(b|0)){break d}while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((f|0)!=(b|0)){continue}break}g=j[d>>2]}a=g;j[c>>2]=f;T(a)}c=d;if((e|0)!=(c|0)){continue}break}break b}D();z()}j[a+8>>2]=f;j[a+4>>2]=d;j[a>>2]=d}if(!e){break a}T(e)}}function Wo(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=j[b+4>>2];a:{b:{if(e){f=k[c+11|0];g=f<<24>>24<0;n=g?j[c>>2]:c;g=g?j[c+4>>2]:f;f=b+4|0;while(1){c=k[e+27|0];i=c<<24>>24<0;c=i?j[e+20>>2]:c;o=c>>>0>>0;c:{d:{e:{f:{g:{m=o?c:g;h:{if(m){l=e+16|0;i=i?j[l>>2]:l;l=qa(n,i,m);if(!l){if(c>>>0>g>>>0){break h}break g}if((l|0)>-1){break g}break h}if(c>>>0<=g>>>0){break f}}c=j[e>>2];if(c){break c}break b}c=qa(i,n,m);if(c){break e}}if(o){break d}break a}if((c|0)>-1){break a}}f=e+4|0;c=j[e+4>>2];if(!c){break a}e=f}f=e;e=c;continue}}e=b+4|0}f=e}g=a;c=j[f>>2];if(c){b=0}else{c=U(32);ha(c+16|0,j[d>>2]);j[c+8>>2]=e;j[c>>2]=0;j[c+4>>2]=0;j[c+28>>2]=0;j[f>>2]=c;e=j[j[b>>2]>>2];d=c;i:{if(!e){break i}j[b>>2]=e;d=j[f>>2]}zd(j[b+4>>2],d);j[b+8>>2]=j[b+8>>2]+1;b=1}h[g+4|0]=b;j[a>>2]=c}function Tj(a,b,c,d,e,f){var g=0;j[c>>2]=a;j[f>>2]=d;d=j[c>>2];a:{while(1){if(b>>>0<=d>>>0){g=0;break a}g=2;a=j[d>>2];if(a>>>0>1114111|(a&-2048)==55296){break a}b:{c:{if(a>>>0<=127){g=1;d=j[f>>2];if((e-d|0)<1){break a}j[f>>2]=d+1;h[d|0]=a;break c}if(a>>>0<=2047){d=j[f>>2];if((e-d|0)<2){break b}j[f>>2]=d+1;h[d|0]=a>>>6|192;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a&63|128;break c}d=j[f>>2];g=e-d|0;if(a>>>0<=65535){if((g|0)<3){break b}j[f>>2]=d+1;h[d|0]=a>>>12|224;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a>>>6&63|128;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a&63|128;break c}if((g|0)<4){break b}j[f>>2]=d+1;h[d|0]=a>>>18|240;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a>>>12&63|128;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a>>>6&63|128;d=j[f>>2];j[f>>2]=d+1;h[d|0]=a&63|128}d=j[c>>2]+4|0;j[c>>2]=d;continue}break}return 1}return g}function Rp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0;e=M-16|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){l=f+16&-16;g=U(l);j[e+8>>2]=l|-2147483648;j[e>>2]=g;j[e+4>>2]=f;l=e;break b}h[e+11|0]=f;l=e;g=e;if(!f){break a}}V(g,c,f)}h[f+g|0]=0;m=j[e>>2];c=h[l+11|0];g=(c|0)<0?m:e;while(1){c:{d:{e:{i=c<<24>>24;f:{if((i|0)<=-1){f=m;n=j[e+4>>2];if(f+n>>>0>g>>>0){break f}T(m);break e}if((c&255)+e>>>0<=g>>>0){break e}n=j[e+4>>2];f=e}i=(i|0)<0;if((i?m:e)+(i?n:c&255)>>>0>f>>>0){break d}break c}M=e+16|0;return}while(1){o=g-f|0;i=o>>31;if((i^i+o)-2>>>0<=2){c=k[g|0];h[g|0]=k[f|0];h[f|0]=c;wa(a,b,e,d,0,0);c=k[g|0];h[g|0]=k[f|0];h[f|0]=c;n=j[e+4>>2];m=j[e>>2];c=k[l+11|0]}f=f+1|0;i=c<<24>>24<0;if(f>>>0<(i?m:e)+(i?n:c&255)>>>0){continue}break}}g=g+1|0;continue}}X();z()}function kl(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0;f=M-32|0;M=f;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;i=c-b|0;a:{if(!i){break a}if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}m=g;if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}if(k[a+11|0]>>>7|0){l=j[a+4>>2]}else{l=k[a+11|0]}if(g+l>>>0>b>>>0&b>>>0>=m>>>0){d=a;e=M-16|0;M=e;a=f+16|0;Eg(a,b,c);M=e+16|0;b=a;if(k[a+11|0]>>>7|0){a=j[a>>2]}if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}aa(d,a,c);Y(b);break a}if(d-e>>>0>>0){qb(a,d,(e+i|0)-d|0,e,e,0,0)}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}d=d+e|0;while(1){if((b|0)!=(c|0)){h[d|0]=k[b|0];b=b+1|0;d=d+1|0;continue}break}h[f+15|0]=0;h[d|0]=k[f+15|0];b=e+i|0;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}}M=f+32|0}function dl(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0,m=0;f=M-16|0;M=f;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:1;i=c-b>>2;a:{if(!i){break a}if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}m=g;if(k[a+11|0]>>>7|0){g=j[a>>2]}else{g=a}if(k[a+11|0]>>>7|0){l=j[a+4>>2]}else{l=k[a+11|0]}if(g+(l<<2)>>>0>b>>>0&b>>>0>=m>>>0){d=a;a=M-16|0;M=a;Dg(f,b,c);M=a+16|0;b=f;a=b;if(k[a+11|0]>>>7|0){a=j[a>>2]}if(k[b+11|0]>>>7|0){c=j[b+4>>2]}else{c=k[b+11|0]}xi(d,a,c);Y(b);break a}if(d-e>>>0>>0){$e(a,d,(e+i|0)-d|0,e,e)}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}d=d+(e<<2)|0;while(1){if((b|0)!=(c|0)){j[d>>2]=j[b>>2];b=b+4|0;d=d+4|0;continue}break}j[f>>2]=0;j[d>>2]=j[f>>2];b=e+i|0;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}}M=f+16|0}function Mp(a,b,c,d,e){var f=0,g=0,i=0,k=0,l=0,n=0,o=0;f=M-48|0;M=f;j[f+40>>2]=0;j[f+32>>2]=0;j[f+36>>2]=0;a:{if(d){if((d|0)<=-1){break a}k=d<<1;g=U(k);j[f+32>>2]=g;i=(d<<1)+g|0;j[f+40>>2]=i;V(g,c,k);j[f+36>>2]=i}n=f,o=C()|0,j[n+28>>2]=o;j[f+24>>2]=100;if(j[a+24>>2]){b:{k=0;while(1){c=i-g>>1;d=0;c:{while(1){c=c-d<<1;Hh(f+32|0,c+g|0,j[a+28>>2]+(k<<1)|0);j[f+16>>2]=0;j[f+8>>2]=0;j[f+12>>2]=0;da(f+8|0,f+32|0);wa(a,b,f+8|0,e,f+24|0,f+28|0);i=j[f+24>>2];if(i){c=c+j[f+32>>2]|0;l=c+2|0;g=j[f+36>>2]-l|0;if(g){Ka(c,l,g)}j[f+36>>2]=c+g}if(h[f+19|0]<=-1){T(j[f+8>>2])}if(i){i=j[f+36>>2];g=j[f+32>>2];c=i-g>>1;d=d+1|0;if(c>>>0>>0){break c}continue}break}g=j[f+32>>2];break b}k=k+1|0;if(k>>>0>2]){continue}break}}}if(g){j[f+36>>2]=g;T(g)}M=f+48|0;return}X();z()}function ml(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,l=0,m=0;a=M-160|0;M=a;j[a+144>>2]=c;j[a+152>>2]=b;j[a+20>>2]=78;i=Da(a+24|0,a+32|0,a+20|0);b=j[e+28>>2];j[a+16>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=tb(a+16|0);h[a+15|0]=0;a:{if(!ag(a+152|0,c,d,a+16|0,j[e+4>>2],f,a+15|0,b,i,a+20|0,a+132|0)){break a}ll(g);if(k[a+15|0]){Z(g,O[j[j[b>>2]+28>>2]](b,45)|0)}c=O[j[j[b>>2]+28>>2]](b,48)|0;e=j[i>>2];l=j[a+20>>2];d=l-1|0;b=d>>>0>>0?e:d;m=c&255;while(1){c=g;b:{if(d>>>0>e>>>0){if((m|0)==k[e|0]){break b}}else{e=b}kl(c,e,l);break a}e=e+1|0;continue}}if(Sa(a+152|0,a+144|0)){j[f>>2]=j[f>>2]|2}d=j[a+152>>2];b=j[a+16>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[i>>2];j[i>>2]=0;if(b){O[j[i+4>>2]](b)}M=a+160|0;return d|0}function yc(a,b,c,d,e,f,g,i,l,m){var n=0,o=0;n=M-16|0;M=n;j[n+12>>2]=a;a:{b:{c:{if(j[d>>2]!=(c|0)){break c}o=43;if(j[m+96>>2]!=(a|0)){o=45;if(j[m+100>>2]!=(a|0)){break c}}j[d>>2]=c+1;h[c|0]=o;break b}if(k[g+11|0]>>>7|0){g=j[g+4>>2]}else{g=k[g+11|0]}if(!(!g|(a|0)!=(f|0))){a=0;b=j[l>>2];if((b-i|0)>159){break a}a=j[e>>2];j[l>>2]=b+4;j[b>>2]=a;break b}a=-1;g=ce(m,m+104|0,n+12|0)-m|0;if((g|0)>92){break a}f=g>>2;d:{e:{switch(b-8|0){case 0:case 2:if((b|0)>(f|0)){break d}break a;case 1:break d;default:break e}}if((b|0)!=16|(g|0)<88){break d}b=j[d>>2];if((b|0)==(c|0)|(b-c|0)>2|k[b-1|0]!=48){break a}a=0;j[e>>2]=0;j[d>>2]=b+1;h[b|0]=k[f+127568|0];break a}a=j[d>>2];j[d>>2]=a+1;h[a|0]=k[f+127568|0];j[e>>2]=j[e>>2]+1;a=0;break a}a=0;j[e>>2]=0}M=n+16|0;return a}function Ac(a,b,c,d,e,f,g,i,l,m){var n=0,o=0,p=0;n=M-16|0;M=n;h[n+15|0]=a;a:{b:{c:{if(j[d>>2]!=(c|0)){break c}o=43;p=a&255;if((p|0)!=k[m+24|0]){o=45;if(k[m+25|0]!=(p|0)){break c}}j[d>>2]=c+1;h[c|0]=o;break b}if(k[g+11|0]>>>7|0){g=j[g+4>>2]}else{g=k[g+11|0]}if(!(!g|(a|0)!=(f|0))){a=0;b=j[l>>2];if((b-i|0)>159){break a}a=j[e>>2];j[l>>2]=b+4;j[b>>2]=a;break b}a=-1;f=fe(m,m+26|0,n+15|0)-m|0;if((f|0)>23){break a}d:{e:{switch(b-8|0){case 0:case 2:if((b|0)>(f|0)){break d}break a;case 1:break d;default:break e}}if((b|0)!=16|(f|0)<22){break d}b=j[d>>2];if((b|0)==(c|0)|(b-c|0)>2|k[b-1|0]!=48){break a}a=0;j[e>>2]=0;j[d>>2]=b+1;h[b|0]=k[f+127568|0];break a}a=j[d>>2];j[d>>2]=a+1;h[a|0]=k[f+127568|0];j[e>>2]=j[e>>2]+1;a=0;break a}a=0;j[e>>2]=0}M=n+16|0;return a}function qq(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0;d=M-16|0;M=d;re(a);j[a+52>>2]=0;j[a+56>>2]=0;j[a+40>>2]=0;j[a+32>>2]=0;j[a+36>>2]=0;j[a>>2]=121328;j[a+60>>2]=0;j[a+64>>2]=0;j[a+68>>2]=0;j[a+72>>2]=0;j[a+76>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;j[a+88>>2]=0;h[a+91|0]=0;h[a+92|0]=0;h[a+93|0]=0;h[a+94|0]=0;h[a+95|0]=0;h[a+96|0]=0;h[a+97|0]=0;h[a+98|0]=0;b=d+8|0;e=a+4|0;c=j[e>>2];j[b>>2]=c;j[c+4>>2]=j[c+4>>2]+1;f=Df(j[b>>2],za(148884));b=j[b>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}if(f){b=j[e>>2];j[d>>2]=b;j[b+4>>2]=j[b+4>>2]+1;g=a,i=Mb(d,148884),j[g+68>>2]=i;b=j[d>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b=j[a+68>>2];g=a,i=O[j[j[b>>2]+28>>2]](b)|0,h[g+98|0]=i}O[j[j[a>>2]+12>>2]](a,0,4096)|0;M=d+16|0}function gn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,k=0,l=0;g=M-32|0;M=g;j[g+24>>2]=b;a:{if(!(j[d+4>>2]&1)){j[g>>2]=-1;b=O[j[j[a>>2]+16>>2]](a,b,c,d,e,g)|0;j[g+24>>2]=b;b:{switch(j[g>>2]){case 0:h[f|0]=0;break a;case 1:h[f|0]=1;break a;default:break b}}h[f|0]=1;j[e>>2]=4;break a}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;i=tb(g);a=j[g>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=Bc(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}O[j[j[a>>2]+24>>2]](g,a);O[j[j[a>>2]+28>>2]](g|12,a);d=g+24|0;k=f,l=(qd(g+24|0,c,g,d,i,e,1)|0)==(g|0),h[k|0]=l;b=j[g+24>>2];while(1){d=Y(d-12|0);if((g|0)!=(d|0)){continue}break}}M=g+32|0;return b|0}function Pm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,k=0,l=0;g=M-32|0;M=g;j[g+24>>2]=b;a:{if(!(j[d+4>>2]&1)){j[g>>2]=-1;b=O[j[j[a>>2]+16>>2]](a,b,c,d,e,g)|0;j[g+24>>2]=b;b:{switch(j[g>>2]){case 0:h[f|0]=0;break a;case 1:h[f|0]=1;break a;default:break b}}h[f|0]=1;j[e>>2]=4;break a}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;i=sb(g);a=j[g>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}a=j[d+28>>2];j[g>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=zc(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}O[j[j[a>>2]+24>>2]](g,a);O[j[j[a>>2]+28>>2]](g|12,a);d=g+24|0;k=f,l=(pd(g+24|0,c,g,d,i,e,1)|0)==(g|0),h[k|0]=l;b=j[g+24>>2];while(1){d=Y(d-12|0);if((g|0)!=(d|0)){continue}break}}M=g+32|0;return b|0}function di(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0;c=M-16|0;b=a;j[b>>2]=0;j[b+4>>2]=0;j[b+32>>2]=0;j[b+36>>2]=0;j[b+24>>2]=0;j[b+28>>2]=0;j[b+16>>2]=0;j[b+20>>2]=0;j[b+8>>2]=0;j[b+12>>2]=0;if(!j[37802]){j[37805]=-1;j[37806]=-1;j[37803]=4096;j[37804]=4096;j[37802]=c+12&-16^1431655768;j[37807]=0;j[37795]=0}k=j[37690];if(k){c=151184;h=1;l=j[37687];e=l+40|0;g=e;while(1){f=j[c>>2];b=f+(f+8&7?-8-f&7:0)|0;m=j[c+4>>2]+f|0;while(1){a:{if((b|0)==(k|0)|b>>>0>=m>>>0){break a}d=j[b+4>>2];if((d|0)==7){break a}i=d&-8;d=(d&3)==1;g=(d?i:0)+g|0;e=e+i|0;h=d+h|0;b=b+i|0;if(f>>>0<=b>>>0){continue}}break}c=j[c+8>>2];if(c){continue}break}j[a+4>>2]=h;j[a>>2]=e;b=j[37792];j[a+16>>2]=b-e;c=j[37793];j[a+36>>2]=l;j[a+32>>2]=g;j[a+28>>2]=b-g;j[a+20>>2]=c}}function Sp(a,b,c,d,e){var f=0,g=0,i=0,l=0;g=M-32|0;M=g;j[g+24>>2]=0;j[g+16>>2]=0;j[g+20>>2]=0;a:{if(!d){break a}b:{c:{if((d|0)>-1){l=d<<1;f=U(l);j[g+16>>2]=f;i=(d<<1)+f|0;j[g+24>>2]=i;d=V(f,c,l);j[g+20>>2]=i;if(d>>>0>=i>>>0){break b}while(1){if(f>>>0>>0){while(1){l=d-f|0;c=l>>31;if((c^c+(l>>1))-2>>>0<=2){c=k[d|0]|k[d+1|0]<<8;i=k[f|0]|k[f+1|0]<<8;h[d|0]=i;h[d+1|0]=i>>>8;h[f|0]=c;h[f+1|0]=c>>>8;j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;da(g,g+16|0);wa(a,b,g,e,0,0);c=k[d|0]|k[d+1|0]<<8;i=k[f|0]|k[f+1|0]<<8;h[d|0]=i;h[d+1|0]=i>>>8;h[f|0]=c;h[f+1|0]=c>>>8;if(h[g+11|0]<=-1){T(j[g>>2])}i=j[g+20>>2]}f=f+2|0;if(i>>>0>f>>>0){continue}break}}f=j[g+16>>2];d=d+2|0;if(i>>>0>d>>>0){continue}break}break c}X();z()}if(!f){break a}}j[g+20>>2]=f;T(f)}M=g+32|0}function Oe(a,b){var c=0,d=0,e=0,f=0,g=0,n=0,o=0;f=j[a+4>>2];a:{if(!f){break a}e=h[b+11|0]<0?j[b>>2]:b;b=h[e|0];b:{if(!b){break b}c=h[e+1|0];if(!c){c=b;break b}c=c|b<<8;b=h[e+2|0];if(!b){break b}c=b|c<<8;b=h[e+3|0];if(!b){break b}c=b|c<<8;b=e+4|0;d=k[b|0];if(!d){break b}while(1){c=qr(c,5)^d<<24>>24;d=k[b+1|0];b=b+1|0;if(d){continue}break}}d=j[f+((c>>>0)%m[a>>2]<<2)>>2];if(!d){break a}while(1){if(!ba(e,d+17|0)){while(1){b=j[d+4>>2];c:{if(!b){break c}c=i[d+2>>1];n=(c<<1)+b|0;if(c){o=l[a+20>>1];while(1){e=c>>>1|0;g=(e<<1)+b|0;f=l[g>>1]>>0;b=f?g+2|0:b;c=f?(e^-1)+c|0:e;if(c){continue}break}}if((b|0)==(n|0)|l[a+20>>1]>1]){break c}i[d+2>>1]=0}d=j[d+12>>2];if(d){continue}break}return 0}d=j[d+8>>2];if(d){continue}break}}return 1}function sq(a,b,c){var d=0,e=0,f=0,g=0;d=M-32|0;M=d;g=W(c);if(g>>>0<4294967280){a:{b:{if(g>>>0>=11){e=g+16&-16;f=U(e);j[d+8>>2]=e|-2147483648;j[d>>2]=f;j[d+4>>2]=g;e=d;break b}h[d+11|0]=g;e=d;f=d;if(!g){break a}}V(f,c,g)}h[f+g|0]=0;Oh(d+16|0,a,d);if(h[e+11|0]<=-1){T(j[d>>2])}c=j[d+16>>2];e=j[d+20>>2];c:{if((c|0)==(e|0)){a=0;j[b>>2]=0;e=c;break c}a=ja((e-c|0)/12<<2);j[b>>2]=a;f=0;if(!a){a=0;break c}while(1){a=p(f,12)+c|0;if(h[a+11|0]<=-1){a=j[a>>2]}a=cb(a);j[j[b>>2]+(f<<2)>>2]=a;e=j[d+20>>2];c=j[d+16>>2];a=(e-c|0)/12|0;f=f+1|0;if(a>>>0>f>>>0){continue}break}}if(c){if((c|0)==(e|0)){b=c}else{while(1){b=e-12|0;if(h[e-1|0]<=-1){T(j[b>>2])}e=b;if((e|0)!=(c|0)){continue}break}b=j[d+16>>2]}j[d+20>>2]=c;T(b)}M=d+32|0;return a}X();z()}function xb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;h=k[b+11|0];f=h<<24>>24<0;m=j[b+4>>2];g=f?m:h;o=f?j[b>>2]:b;e=k[a+11|0];d=e<<24>>24<0;e=d?j[a+4>>2]:e;n=d?j[a>>2]:a;d=0;while(1){a:{if(g){i=e+n|0;e=d+n|0;d=i-e|0;if((g|0)>(d|0)){break a}l=k[o|0];while(1){d=d-g|0;p=d+1|0;if(p>>>0>>0){break a}d=Aa(e,l,p);if(!d){break a}if(qa(d,o,g)){e=d+1|0;d=i-e|0;if((g|0)<=(d|0)){continue}break a}break}if((d|0)==(i|0)){break a}d=d-n|0}if((d|0)==-1){break a}l=f?m:h;f=k[c+11|0];g=f<<24>>24<0;oc(a,d,l,g?j[c>>2]:c,g?j[c+4>>2]:f);h=k[b+11|0];f=h<<24>>24<0;m=j[b+4>>2];g=f?m:h;o=f?j[b>>2]:b;e=k[a+11|0];i=e<<24>>24<0;n=i?j[a>>2]:a;l=d;d=k[c+11|0];d=l+(d<<24>>24<0?j[c+4>>2]:d)|0;e=i?j[a+4>>2]:e;if(d>>>0<=e>>>0){continue}}break}}function Wb(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{e=j[a>>2];f=(j[a+4>>2]-e|0)/12|0;c=f+1|0;if(c>>>0<357913942){e=(j[a+8>>2]-e|0)/12|0;g=e<<1;c=e>>>0<178956970?c>>>0>g>>>0?c:g:357913941;d=0;d:{if(!c){break d}if(c>>>0>=357913942){break c}d=U(p(c,12))}e=d+p(c,12)|0;d=ha(d+p(f,12)|0,b);f=d+12|0;b=j[a+4>>2];c=j[a>>2];if((b|0)==(c|0)){break b}while(1){b=b-12|0;g=j[b+4>>2];d=d-12|0;j[d>>2]=j[b>>2];j[d+4>>2]=g;j[d+8>>2]=j[b+8>>2];j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;if((b|0)!=(c|0)){continue}break}j[a+8>>2]=e;b=j[a+4>>2];j[a+4>>2]=f;c=j[a>>2];j[a>>2]=d;if((b|0)==(c|0)){break a}while(1){a=b-12|0;if(h[b-1|0]<=-1){T(j[a>>2])}b=a;if((a|0)!=(c|0)){continue}break}break a}X();z()}D();z()}j[a+8>>2]=e;j[a+4>>2]=f;j[a>>2]=d}if(c){T(c)}}function Ka(a,b,c){var d=0;a:{if((a|0)==(b|0)){break a}if((b-a|0)-c>>>0<=0-(c<<1)>>>0){V(a,b,c);return}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){break b}if(!(a&3)){break c}while(1){if(!c){break a}h[a|0]=k[b|0];b=b+1|0;c=c-1|0;a=a+1|0;if(a&3){continue}break}break c}d:{if(d){break d}if(a+c&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;h[d|0]=k[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;j[c+a>>2]=j[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;h[c+a|0]=k[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){j[a>>2]=j[b>>2];b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){h[a|0]=k[b|0];a=a+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}}function Lp(a,b,c,d){var e=0,f=0,g=0,i=0,k=0,l=0,n=0;e=M-32|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){i=f+16&-16;g=U(i);j[e+24>>2]=i|-2147483648;j[e+16>>2]=g;j[e+20>>2]=f;break b}h[e+27|0]=f;g=e+16|0;if(!f){break a}}V(g,c,f)}i=0;h[f+g|0]=0;l=e,n=C()|0,j[l+12>>2]=n;j[e+8>>2]=100;c:{if(!j[a+24>>2]){break c}d:while(1){f=0;while(1){e:{g=h[e+27|0];f:{if((g|0)<=-1){g=j[e+20>>2];if(g>>>0>>0){break f}c=j[e+16>>2];break e}c=e+16|0;g=g&255;if(g>>>0>=f>>>0){break e}}i=i+1|0;if(i>>>0>2]){continue d}break c}k=c;c=g-f|0;hf(e+16|0,k+c|0,h[j[a+20>>2]+i|0]);wa(a,b,e+16|0,d,e+8|0,e+12|0);if(!j[e+8>>2]){break c}pb(e+16|0,c,1);f=f+1|0;continue}}}if(h[e+27|0]<=-1){T(j[e+16>>2])}M=e+32|0;return}X();z()}function ya(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}f=a+c|0;h[f-1|0]=b;h[a|0]=b;if(c>>>0<3){break a}h[f-2|0]=b;h[a+1|0]=b;h[f-3|0]=b;h[a+2|0]=b;if(c>>>0<7){break a}h[f-4|0]=b;h[a+3|0]=b;if(c>>>0<9){break a}f=0-a&3;e=f+a|0;d=p(b&255,16843009);j[e>>2]=d;b=c-f&-4;c=b+e|0;j[c-4>>2]=d;if(b>>>0<9){break a}j[e+8>>2]=d;j[e+4>>2]=d;j[c-8>>2]=d;j[c-12>>2]=d;if(b>>>0<25){break a}j[e+24>>2]=d;j[e+20>>2]=d;j[e+16>>2]=d;j[e+12>>2]=d;j[c-16>>2]=d;j[c-20>>2]=d;j[c-24>>2]=d;j[c-28>>2]=d;c=b;b=e&4|24;c=c-b|0;if(c>>>0<32){break a}d=or(d,0,1,1);f=N;b=b+e|0;while(1){j[b+24>>2]=d;e=f;j[b+28>>2]=e;j[b+16>>2]=d;j[b+20>>2]=e;j[b+8>>2]=d;j[b+12>>2]=e;j[b>>2]=d;j[b+4>>2]=e;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function Mq(a,b){var c=0,d=0,e=0,f=0;a:{d=j[b+48>>2];if(d&16){d=j[b+44>>2];c=j[b+24>>2];if(d>>>0>>0){j[b+44>>2]=c;d=c}b=j[b+20>>2];e=d-b|0;if(e>>>0>=4294967280){break a}b:{if(e>>>0<=10){h[a+11|0]=e;break b}f=e+16&-16;c=U(f);j[a+8>>2]=f|-2147483648;j[a>>2]=c;j[a+4>>2]=e;a=c}if((b|0)!=(d|0)){while(1){h[a|0]=k[b|0];a=a+1|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}}h[a|0]=0;return}if(d&8){e=j[b+16>>2];b=j[b+8>>2];c=e-b|0;if(c>>>0>=4294967280){break a}c:{if(c>>>0<=10){h[a+11|0]=c;break c}f=c+16&-16;d=U(f);j[a+8>>2]=f|-2147483648;j[a>>2]=d;j[a+4>>2]=c;a=d}if((b|0)!=(e|0)){while(1){h[a|0]=k[b|0];a=a+1|0;b=b+1|0;if((e|0)!=(b|0)){continue}break}}h[a|0]=0;return}j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;return}X();z()}function Tg(a,b,c,d,e,f){var g=0;g=M-80|0;M=g;a:{if((f|0)>=16384){xa(g+32|0,b,c,d,e,0,0,0,2147352576);d=j[g+40>>2];e=j[g+44>>2];b=j[g+32>>2];c=j[g+36>>2];if((f|0)<32767){f=f-16383|0;break a}xa(g+16|0,b,c,d,e,0,0,0,2147352576);f=((f|0)<49149?f:49149)-32766|0;d=j[g+24>>2];e=j[g+28>>2];b=j[g+16>>2];c=j[g+20>>2];break a}if((f|0)>-16383){break a}xa(g- -64|0,b,c,d,e,0,0,0,65536);d=j[g+72>>2];e=j[g+76>>2];b=j[g+64>>2];c=j[g+68>>2];if((f|0)>-32765){f=f+16382|0;break a}xa(g+48|0,b,c,d,e,0,0,0,65536);f=((f|0)>-49146?f:-49146)+32764|0;d=j[g+56>>2];e=j[g+60>>2];b=j[g+48>>2];c=j[g+52>>2]}xa(g,b,c,d,e,0,0,0,f+16383<<16);b=j[g+12>>2];j[a+8>>2]=j[g+8>>2];j[a+12>>2]=b;b=j[g+4>>2];j[a>>2]=j[g>>2];j[a+4>>2]=b;M=g+80|0}function Hp(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0;e=M-32|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){i=f+16&-16;g=U(i);j[e+24>>2]=i|-2147483648;j[e+16>>2]=g;j[e+20>>2]=f;break b}h[e+27|0]=f;g=e+16|0;if(!f){break a}}V(g,c,f)}h[f+g|0]=0;m=e,n=C()|0,j[m+12>>2]=n;j[e+8>>2]=100;g=j[a+24>>2];c:{if(!g){break c}f=0;while(1){c=k[e+27|0];i=c<<24>>24<0;l=j[e+16>>2];c=i?l+j[e+20>>2]|0:c+(e+16|0)|0;i=i?l:e+16|0;if((c|0)!=(i|0)){while(1){g=k[j[a+20>>2]+f|0];c=c-1|0;l=k[c|0];if((g|0)!=(l|0)){h[c|0]=g;wa(a,b,e+16|0,d,e+8|0,e+12|0);if(!j[e+8>>2]){break c}h[c|0]=l}if((c|0)!=(i|0)){continue}break}g=j[a+24>>2]}f=f+1|0;if(g>>>0>f>>>0){continue}break}}if(h[e+27|0]<=-1){T(j[e+16>>2])}M=e+32|0;return}X();z()}function nh(a,b,c,d){a:{if(b>>>0>20){break a}b:{switch(b-9|0){case 0:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=j[b>>2];return;case 1:b=j[c>>2];j[c>>2]=b+4;b=j[b>>2];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 2:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=j[b>>2];j[a+4>>2]=0;return;case 3:b=j[c>>2]+7&-8;j[c>>2]=b+8;c=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=c;return;case 4:b=j[c>>2];j[c>>2]=b+4;b=i[b>>1];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 5:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=l[b>>1];j[a+4>>2]=0;return;case 6:b=j[c>>2];j[c>>2]=b+4;b=h[b|0];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 7:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=k[b|0];j[a+4>>2]=0;return;case 8:b=j[c>>2]+7&-8;j[c>>2]=b+8;o[a>>3]=o[b>>3];return;case 9:break b;default:break a}}O[d|0](a,c)}}function sf(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0;g=M-32|0;M=g;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;i=h[b+15|0];f=j[b+8>>2];a:{if((i|0)<=-1){break a}f=i&255}i=d-f|0;b:{if(!j[j[b+64>>2]+4484>>2]|i?(i|0)<=0:0){break b}l=k[b+28|0];d=h[b+27|0];f=j[b+20>>2];c:{if((d|0)<=-1){break c}f=d&255}if(l>>>0>f+i>>>0){break b}d=ha(g+16|0,b+16|0);f=d;l=c;c=h[b+15|0];m=j[b+8>>2];d:{if((c|0)<=-1){break d}m=c&255}$(f,l+m|0);e:{if(!Vc(b,h[d+11|0]<0?j[d>>2]:g+16|0)){break e}c=h[b+27|0];f=j[b+20>>2];f:{if((c|0)<=-1){break f}f=c&255}c=f;if(!(h[b+29|0]&1)){break e}Ef(g,j[b+64>>2],h[d+11|0]<0?j[d>>2]:g+16|0,c+i|0,1,b,e);j[a+8>>2]=j[g+8>>2];b=j[g+4>>2];j[a>>2]=j[g>>2];j[a+4>>2]=b}if(h[d+11|0]>-1){break b}T(j[d>>2])}M=g+32|0}function mc(a,b){var c=0,d=0,e=0;c=M-32|0;M=c;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;a:{if(!b){break a}e=60;b:{c:{d=k[b|0];switch(d-34|0){case 28:break b;case 0:case 5:break c;default:break a}}e=d}d=k[b+1|0];d:{if(!d|(d|0)==(e|0)){break d}b=b+1|0;while(1){Z(a,d<<24>>24);d=k[b+1|0];if(!d){break d}b=b+1|0;if((d|0)!=(e|0)){continue}break}}h[c+20|0]=0;j[c+16>>2]=997485606;h[c+27|0]=4;i[c>>1]=60;h[c+11|0]=1;xb(a,c+16|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}if(h[c+27|0]<=-1){T(j[c+16>>2])}h[c+27|0]=5;h[c+21|0]=0;j[c+16>>2]=k[121142]|k[121143]<<8|(k[121144]<<16|k[121145]<<24);h[c+20|0]=k[121146];i[c>>1]=38;h[c+11|0]=1;xb(a,c+16|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}if(h[c+27|0]>-1){break a}T(j[c+16>>2])}M=c+32|0}function Yq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,i=0,l=0,m=0,n=0;if((b|0)==-1){return 0}i=j[a+8>>2];l=j[a+12>>2];m=a;f=j[a+24>>2];g=j[a+28>>2];c=j[a+44>>2];a:{b:{if((f|0)!=(g|0)){break b}c=-1;if(!(k[a+48|0]&16)){break a}c=j[a+44>>2];e=j[a+20>>2];d=a+32|0;Z(d,0);n=c-e|0;e=f-e|0;Va(d,h[a+43|0]<=-1?(j[a+40>>2]&2147483647)-1|0:10);c=h[d+11|0];c:{if((c|0)<=-1){d=j[a+32>>2];c=j[a+36>>2];break c}c=c&255}j[a+20>>2]=d;g=d+c|0;j[a+28>>2]=g;f=d+e|0;j[a+24>>2]=f;c=d+n|0}e=f+1|0;c=c>>>0>e>>>0?c:e;j[m+44>>2]=c;if(k[a+48|0]&8){d=a+32|0;d=h[a+43|0]<=-1?j[d>>2]:d;j[a+16>>2]=c;j[a+8>>2]=d;j[a+12>>2]=(l-i|0)+d}if((f|0)==(g|0)){return O[j[j[a>>2]+52>>2]](a,b&255)|0}j[a+24>>2]=e;h[f|0]=b;c=b&255}return c|0}function Ah(a){var b=0,c=0,d=0,e=0;d=M-16|0;M=d;b=j[a>>2];a=W(b);if(a>>>0<4294967280){a:{b:{if(a>>>0>=11){e=a+16&-16;c=U(e);j[d+8>>2]=e|-2147483648;j[d>>2]=c;j[d+4>>2]=a;break b}h[d+11|0]=a;c=d;if(!a){break a}}V(c,b,a)}h[a+c|0]=0;b=Hc(148544,d);c:{if((b|0)==148548){break c}a=j[b+4>>2];d:{if(!a){c=j[b+8>>2];if((b|0)==j[c>>2]){break d}a=b+8|0;while(1){e=j[a>>2];a=e+8|0;c=j[e+8>>2];if((e|0)!=j[c>>2]){continue}break}break d}while(1){c=a;a=j[a>>2];if(a){continue}break}}if((b|0)==j[37136]){j[37136]=c}a=j[b+28>>2];j[37138]=j[37138]-1;zh(j[37137],b);if(h[b+27|0]<=-1){T(j[b+16>>2])}T(b);if(!a){break c}c=j[a>>2];if(c){T(c);j[a>>2]=0}T(a)}if(h[d+11|0]<=-1){T(j[d>>2])}M=d+16|0;return}X();z()}function gl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0;a=M-448|0;M=a;j[a+432>>2]=c;j[a+440>>2]=b;j[a+20>>2]=78;b=Da(a+24|0,a+32|0,a+20|0);i=j[e+28>>2];j[a+16>>2]=i;j[i+4>>2]=j[i+4>>2]+1;i=sb(a+16|0);h[a+15|0]=0;if(Wf(a+440|0,c,d,a+16|0,j[e+4>>2],f,a+15|0,i,b,a+20|0,a+432|0)){fl(g);if(k[a+15|0]){bd(g,O[j[j[i>>2]+44>>2]](i,45)|0)}c=O[j[j[i>>2]+44>>2]](i,48)|0;e=j[b>>2];d=j[a+20>>2];i=d-4|0;while(1){if(!((c|0)!=j[e>>2]|e>>>0>=i>>>0)){e=e+4|0;continue}break}dl(g,e,d)}if(Ra(a+440|0,a+432|0)){j[f>>2]=j[f>>2]|2}e=j[a+440>>2];c=j[a+16>>2];d=j[c+4>>2]-1|0;j[c+4>>2]=d;if((d|0)==-1){O[j[j[c>>2]+8>>2]](c)}c=j[b>>2];j[b>>2]=0;if(c){O[j[b+4>>2]](c)}M=a+448|0;return e|0}function vn(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0;f=M-272|0;M=f;g=j[b>>2];j[f+12>>2]=g;h=a?a:f+16|0;a:{b:{c:{d=a?d:256;if(!d|!g){break c}e=c>>>0>=d>>>0;if(!(e|c>>>0>32)){break b}while(1){e=e?d:c;c=c-e|0;e=wn(h,f+12|0,e);if((e|0)==-1){d=0;g=j[f+12>>2];k=-1;break c}i=(f+16|0)==(h|0);h=i?h:e+h|0;k=e+k|0;d=d-(i?0:e)|0;g=j[f+12>>2];if(!d|!g){break c}e=c>>>0>=d>>>0;if(e|c>>>0>=33){continue}break}break b}if(!g){break a}}if(!d|!c){break a}e=k;while(1){d:{i=uc(h,j[g>>2]);e:{if(i+1>>>0<=1){k=-1;if(i){break a}j[f+12>>2]=0;break e}g=j[f+12>>2]+4|0;j[f+12>>2]=g;e=e+i|0;d=d-i|0;if(d){break d}}k=e;break a}h=h+i|0;k=e;c=c-1|0;if(c){continue}break}}if(a){j[b>>2]=j[f+12>>2]}M=f+272|0;return k}function Gp(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0;f=M-32|0;M=f;a:{if(!(!j[a+44>>2]|(d|0)<5)){p=(d<<1)+c|0;l=2;while(1){i=g;g=0;m=(l<<1)+c|0;o=k[m|0]|k[m+1|0]<<8;n=m-4|0;n=k[n|0]|k[n+1|0]<<8;b:{if((o&255)!=(n&255)|(o>>>8|0)!=(n>>>8|0)){break b}g=i+1|0;if((g|0)!=2|l>>>0<4?(g|0)!=3:0){break b}i=0;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;g=(m-c|0)-2|0;if(g){if((g|0)<=-1){break a}i=U(g);j[f+16>>2]=i;j[f+24>>2]=i+(g>>1<<1);i=V(i,c,g)+g|0;j[f+20>>2]=i}Dp(f+16|0,i,m+2|0,p);j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;da(f,f+16|0);wa(a,b,f,e,0,0);if(h[f+11|0]<=-1){T(j[f>>2])}g=j[f+16>>2];if(g){j[f+20>>2]=g;T(g)}g=0}l=l+1|0;if((l|0)!=(d|0)){continue}break}}M=f+32|0;return}X();z()}function Nc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;if(!b){return 0}h=k[a+11|0];m=h<<24>>24;e=(m|0)<0;a:{f=j[a+4>>2];c=e?f:h;if(!c){break a}e=e?j[a>>2]:a;n=c&1;b:{if((c|0)==1){c=0;a=e;break b}d=c&-2;c=0;a=e;while(1){i=p(k[a|0],3)+b|0;l=p(k[a+1|0],3)+b|0;g=((k[i+2|0]==k[i+1|0])+g|0)+(k[l+2|0]==k[l+1|0])|0;c=((k[i|0]!=0)+c|0)+(k[l|0]!=0)|0;a=a+2|0;d=d-2|0;if(d){continue}break}}if(n){a=p(k[a|0],3)+b|0;g=(k[a+2|0]==k[a+1|0])+g|0;c=(k[a|0]!=0)+c|0}if(!c){return 0}d=1;a=k[p(k[e|0],3)+b|0];if(a?(c|0)==1:0){break a}c:{if((m|0)<=-1){d=2;if((c|0)!=(f|0)){break c}break a}d=2;f=h;if((f|0)==(c|0)){break a}}if((c+g|0)==(f|0)){break a}return c>>>0>1?a?4:3:3}return d}function wa(a,b,c,d,e,f){var g=0,h=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;a:{q=j[b>>2];i=j[b+4>>2]-q|0;g=(i|0)/12|0;if((g|0)==j[a+48>>2]){break a}if(i){r=g>>>0>1?g:1;g=k[c+11|0];h=g<<24>>24<0;i=h?j[c>>2]:c;m=h?j[c+4>>2]:g;while(1){h=p(o,12)+q|0;l=k[h+11|0];g=l<<24>>24<0;b:{if(((g?j[h+4>>2]:l)|0)!=(m|0)){break b}n=j[h>>2];if(!g){if(!m){break a}g=i;if(k[g|0]!=(n&255)){break b}while(1){l=l-1|0;if(!l){break a}n=k[g+1|0];g=g+1|0;h=h+1|0;if((n|0)==k[h|0]){continue}break}break b}if(!m){break a}if(!qa(g?n:h,i,m)){break a}}o=o+1|0;if((r|0)!=(o|0)){continue}break}}if(!cc(a,c,d,e,f)){break a}a=j[b+4>>2];if((a|0)!=j[b+8>>2]){s=b,t=ha(a,c)+12|0,j[s+4>>2]=t;return}Wb(b,c)}}function dn(a,b){var c=0,d=0,e=0;c=b+68|0;ua(c,b+4|0);Ua(c);d=b+68|0;if(h[b+79|0]<=-1){c=j[d>>2]}else{c=d}e=((k[b+30|0]<<2)+a|0)+3072|0;j[b+92>>2]=j[e>>2];j[e>>2]=b;a:{if(!k[c|0]){j[b+80>>2]=j[a+1024>>2];a=a+1024|0;break a}j[b+84>>2]=0;j[b+88>>2]=0;a=((k[c|0]<<2)+a|0)+1024|0;c=j[a>>2];if(!c){break a}b:{c:{if(h[d+11|0]>-1){while(1){a=c;c=a+68|0;e=d;if(h[a+79|0]<=-1){c=j[c>>2]}if((ba(e,c)|0)<=0){c=j[a+84>>2];if(c){continue}break c}c=j[a+88>>2];if(c){continue}break b}}d=j[d>>2];while(1){a=c;c=a+68|0;e=d;if(h[a+79|0]<0){c=j[c>>2]}if((ba(e,c)|0)>=1){c=j[a+88>>2];if(c){continue}break b}c=j[a+84>>2];if(c){continue}break}}a=a+84|0;break a}a=a+88|0}j[a>>2]=b}function pa(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0,n=0;a:{c=j[a+112>>2];d=j[a+116>>2];b:{if(c|d){b=c>>>0<=m[a+120>>2];c=j[a+124>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?b:0){break b}}g=Nn(a);if((g|0)>-1){break a}}j[a+104>>2]=0;return-1}i=a;b=j[a+116>>2];l=b;d=j[a+8>>2];c=d;f=j[a+112>>2];c:{if(!(b|f)){break c}c=d;e=j[a+120>>2]^-1;f=e+f|0;b=(j[a+124>>2]^-1)+l|0;b=f>>>0>>0?b+1|0:b;l=j[a+4>>2];e=d-l|0;n=f>>>0>=e>>>0;e=e>>31;if((b|0)>(e|0)?1:(e|0)<=(b|0)?n:0){break c}c=f+l|0}j[i+104>>2]=c;i=j[a+4>>2];if(d){c=a;b=(d-i|0)+1|0;d=b+j[a+120>>2]|0;a=j[a+124>>2]+(b>>31)|0;j[c+120>>2]=d;j[c+124>>2]=d>>>0>>0?a+1|0:a}a=i-1|0;if(k[a|0]!=(g|0)){h[a|0]=g}return g}function jh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0;f=M-16|0;M=f;c=1;a:{b:{switch(b-a>>1){case 2:b=b-2|0;if(l[b>>1]>=l[a>>1]){break a}$a(a,b);break a;case 3:Dc(a,a+2|0,b-2|0);break a;case 4:ue(a,a+2|0,a+4|0,b-2|0);break a;case 5:te(a,a+2|0,a+4|0,a+6|0,b-2|0);break a;case 0:case 1:break a;default:break b}}e=a+4|0;Dc(a,a+2|0,e);d=a+6|0;c:{while(1){g=(b|0)==(d|0);if(g){break c}d:{if(l[d>>1]>1]){i[f+14>>1]=l[d>>1];h=d;while(1){e:{c=e;i[h>>1]=l[c>>1];if((a|0)==(c|0)){c=a;break e}h=c;e=c-2|0;if(l[f+14>>1]>1]){continue}}break}i[c>>1]=l[f+14>>1];j=j+1|0;if((j|0)==8){break d}}e=d;d=d+2|0;continue}break}c=(d+2|0)==(b|0)}c=c|g}M=f+16|0;return c&1}function sc(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0;j=1;i=d&2147483647;m=i;k=c;a:{if(!c&(i|0)==2147418112?a|b:(i|0)==2147418112&(c|0)!=0|i>>>0>2147418112){break a}l=h&2147483647;n=l;i=g;if(!g&(l|0)==2147418112?e|f:(l|0)==2147418112&(g|0)!=0|l>>>0>2147418112){break a}if(!(a|e|(i|k)|(b|f|(m|n)))){return 0}k=d&h;if((k|0)>0?1:(k|0)>=0){j=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>>0|b>>>0>>0:(d|0)<(h|0)?1:(d|0)<=(h|0)?c>>>0>>0:0){break a}return(a^e|c^g)!=0|(b^f|d^h)!=0}j=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>e>>>0|b>>>0>f>>>0:(d|0)>(h|0)?1:(d|0)>=(h|0)?c>>>0>g>>>0:0){break a}j=(a^e|c^g)!=0|(b^f|d^h)!=0}return j}function Gi(a,b){var c=0,d=0,e=0,f=0;c=a+32|0;ua(c,b);j[a+44>>2]=0;d=j[a+48>>2];if(d&8){f=a;e=h[c+11|0];a:{if((e|0)<=-1){b=j[a+32>>2];e=b+j[a+36>>2]|0;break a}b=c;e=(e&255)+b|0}j[f+16>>2]=e;j[a+12>>2]=b;j[a+8>>2]=b;j[a+44>>2]=e}b:{if(!(d&16)){break b}d=c;b=h[c+11|0];c:{if((b|0)>=0){b=b&255;j[a+44>>2]=c+b;e=10;break c}b=j[a+36>>2];j[a+44>>2]=b+j[a+32>>2];e=(j[a+40>>2]&2147483647)-1|0}Va(d,e);d=h[c+11|0];d:{if((d|0)<=-1){c=j[a+32>>2];d=j[a+36>>2];break d}d=d&255}j[a+20>>2]=c;j[a+24>>2]=c;j[a+28>>2]=c+d;if(!(k[a+48|0]&3)){break b}e:{if((b|0)<=-1){b=b-2147483647|0;d=(b|0)<0;c=d?c-2|0:c+2147483647|0;b=d?1:b;break e}if(!b){break b}}j[a+24>>2]=b+c}}function sd(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0;i=M-16|0;M=i;f=d?d:148648;d=j[f>>2];a:{b:{c:{if(!b){if(d){break c}break a}e=-2;if(!c){break a}l=a?a:i+12|0;d:{if(d){a=c;break d}a=k[b|0];d=a<<24>>24;if((d|0)>=0){j[l>>2]=a;e=(d|0)!=0;break a}a=h[b|0];if(!j[j[37115]>>2]){j[l>>2]=a&57343;e=1;break a}a=(a&255)-194|0;if(a>>>0>50){break c}d=j[(a<<2)+123120>>2];a=c-1|0;if(!a){break b}b=b+1|0}g=k[b|0];m=g>>>3|0;if((m-16|(d>>26)+m)>>>0>7){break c}while(1){a=a-1|0;d=g-128|d<<6;if((d|0)>=0){j[f>>2]=0;j[l>>2]=d;e=c-a|0;break a}if(!a){break b}b=b+1|0;g=k[b|0];if((g&192)==128){continue}break}}j[f>>2]=0;j[37140]=25;e=-1;break a}j[f>>2]=d}M=i+16|0;return e}function Qb(a,b,c,d,e){var f=0,g=0,h=0,i=0;g=M-16|0;M=g;j[g+8>>2]=b;a:{if(Ra(a,g+8|0)){j[c>>2]=j[c>>2]|6;b=0;break a}h=d;b=j[a>>2];f=j[b+12>>2];b:{if((f|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break b}b=j[f>>2]}if(!(O[j[j[d>>2]+12>>2]](h,2048,b)|0)){j[c>>2]=j[c>>2]|4;b=0;break a}b=O[j[j[d>>2]+52>>2]](d,b,0)|0;while(1){c:{Na(a);b=b-48|0;if(!jb(a,g+8|0)|(e|0)<2){break c}h=d;f=j[a>>2];i=j[f+12>>2];d:{if((i|0)==j[f+16>>2]){f=O[j[j[f>>2]+36>>2]](f)|0;break d}f=j[i>>2]}if(!(O[j[j[d>>2]+12>>2]](h,2048,f)|0)){break a}e=e-1|0;b=(O[j[j[d>>2]+52>>2]](d,f,0)|0)+p(b,10)|0;continue}break}if(!Ra(a,g+8|0)){break a}j[c>>2]=j[c>>2]|2}M=g+16|0;return b}function Kf(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;g=M-16|0;M=g;f=h[a+15|0];e=j[a+8>>2];a:{if((f|0)<=-1){break a}e=f&255}f=c-e|0;b:{c:{if(!j[j[a+64>>2]+4484>>2]|f?(f|0)<=0:0){break c}i=k[a+28|0];c=h[a+27|0];e=j[a+20>>2];d:{if((c|0)<=-1){break d}e=c&255}if(i>>>0>e+f>>>0){break c}c=ha(g,a+16|0);e=c;i=b;b=h[a+15|0];l=j[a+8>>2];e:{if((b|0)<=-1){break e}l=b&255}$(e,i+l|0);f:{g:{if(!Vc(a,h[c+11|0]<0?j[c>>2]:g)){break g}b=h[a+27|0];e=j[a+20>>2];h:{if((b|0)<=-1){break h}e=b&255}b=e;if(!(h[a+29|0]&1)){break g}a=eb(j[a+64>>2],h[c+11|0]<0?j[c>>2]:g,b+f|0,1,a,d);b=0;if(a){break f}}a=0;b=1}if(h[c+11|0]<=-1){T(j[c>>2])}if(!b){break b}}a=0}M=g+16|0;return a}function Ep(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=M-16|0;M=f;a:{e=W(c);if(!((e|0)<5|!j[a+44>>2])){p=e-2|0;q=c+e|0;r=c^-1;m=1;i=2;e=0;while(1){g=e;n=n+1|0;e=0;l=c+i|0;b:{if(k[l|0]!=k[l-2|0]){break b}e=g+1|0;if((e|0)!=2|i>>>0<4?(e|0)!=3:0){break b}g=l+r|0;if(g>>>0>=4294967280){break a}c:{if(g>>>0<=10){h[f+11|0]=g;e=f;break c}o=g+16&-16;e=U(o);j[f+8>>2]=o|-2147483648;j[f>>2]=e;j[f+4>>2]=g}s=V(e,c,n)+m|0,t=0,h[s|0]=t;e=k[f+11|0];g=e<<24>>24<0;Gh(f,(g?j[f>>2]:f)+(g?j[f+4>>2]:e)|0,l+1|0,q);wa(a,b,f,d,0,0);if(h[f+11|0]<=-1){T(j[f>>2])}e=0}m=m+1|0;i=i+1|0;if((n|0)!=(p|0)){continue}break}}M=f+16|0;return}X();z()}function kh(a,b){var c=0,d=0,e=0,f=0,g=0,i=0,j=0;f=M-16|0;M=f;c=1;a:{b:{switch(b-a|0){case 2:b=b-1|0;if(h[b|0]>=h[a|0]){break a}Xa(a,b);break a;case 3:Ec(a,a+1|0,b-1|0);break a;case 4:we(a,a+1|0,a+2|0,b-1|0);break a;case 5:ve(a,a+1|0,a+2|0,a+3|0,b-1|0);break a;case 0:case 1:break a;default:break b}}e=a+2|0;Ec(a,a+1|0,e);d=a+3|0;c:{while(1){g=(b|0)==(d|0);if(g){break c}d:{if(h[d|0]>2];b=(d>>>0)/341|0;c=j[a+4>>2];f=j[a+8>>2];a:{if((c|0)==(f|0)){g=a+20|0;break a}g=a+20|0;e=(b<<2)+c|0;b=j[e>>2]+p(d-p(b,341)|0,12)|0;d=d+j[a+20>>2]|0;i=(d>>>0)/341|0;d=j[(i<<2)+c>>2]+p(d-p(i,341)|0,12)|0;if((b|0)==(d|0)){break a}while(1){if(h[b+11|0]<=-1){T(j[b>>2])}b=b+12|0;if((b-j[e>>2]|0)==4092){b=j[e+4>>2];e=e+4|0}if((b|0)!=(d|0)){continue}break}c=j[a+4>>2];f=j[a+8>>2]}j[g>>2]=0;b=f-c>>2;if(b>>>0>2){while(1){T(j[c>>2]);c=j[a+4>>2]+4|0;j[a+4>>2]=c;b=j[a+8>>2]-c>>2;if(b>>>0>2){continue}break}}c=170;b:{switch(b-1|0){case 1:c=341;case 0:j[a+16>>2]=c;break;default:break b}}}function go(a,b){var c=0,d=0,e=0,f=0;a:{d=j[a>>2];if((j[a+8>>2]-d|0)/12>>>0>=b>>>0){break a}b:{c:{if(b>>>0<357913942){c=j[a+4>>2];e=p(b,12);b=U(e);f=b+e|0;e=b+p((c-d|0)/12|0,12)|0;if((c|0)==(d|0)){break c}b=e;while(1){b=b-12|0;j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;c=c-12|0;j[b>>2]=j[c>>2];j[b+4>>2]=j[c+4>>2];j[b+8>>2]=j[c+8>>2];j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;if((c|0)!=(d|0)){continue}break}j[a+8>>2]=f;c=j[a+4>>2];j[a+4>>2]=e;d=j[a>>2];j[a>>2]=b;if((c|0)==(d|0)){break b}while(1){a=c-12|0;b=j[a>>2];if(b){j[c-8>>2]=b;T(b)}c=a;if((d|0)!=(c|0)){continue}break}break b}D();z()}j[a+8>>2]=f;j[a+4>>2]=e;j[a>>2]=e}if(!d){break a}T(d)}}function qp(a){var b=0,c=0,d=0,e=0;b=j[a>>2];e=a+4|0;if((b|0)!=(e|0)){while(1){d=b;Je(j[b+28>>2]);c=j[b+4>>2];a:{if(!c){b=j[d+8>>2];if((d|0)==j[b>>2]){break a}c=d+8|0;while(1){d=j[c>>2];c=d+8|0;b=j[d+8>>2];if((d|0)!=j[b>>2]){continue}break}break a}while(1){b=c;c=j[b>>2];if(c){continue}break}}if((b|0)!=(e|0)){continue}break}}Ad(a,j[a+4>>2]);j[a>>2]=e;j[a+4>>2]=0;j[a+8>>2]=0;Yo(a+12|0);c=j[a+16>>2];b=j[a+20>>2];b:{if((c|0)==(b|0)){break b}while(1){T(j[c>>2]);c=c+4|0;if((b|0)!=(c|0)){continue}break}b=j[a+20>>2];c=j[a+16>>2];if((b|0)==(c|0)){break b}j[a+20>>2]=b+(((b-c|0)-4>>>2^-1)<<2)}b=j[a+12>>2];if(b){T(b)}Ad(a,j[a+4>>2])}function Np(a,b,c,d){var e=0,f=0,g=0,i=0,l=0,m=0;e=M-16|0;M=e;a:{f=W(c);if(f>>>0<4294967280){b:{c:{if(f>>>0>=11){i=f+16&-16;g=U(i);j[e+8>>2]=i|-2147483648;j[e>>2]=g;j[e+4>>2]=f;i=e;break c}h[e+11|0]=f;i=e;g=e;if(!f){break b}}V(g,c,f)}h[f+g|0]=0;c=k[i+11|0];g=c<<24>>24;if(((g|0)<0?j[e+4>>2]:c)>>>0<2){break a}f=0;while(1){d:{if(g<<24>>24<=-1){l=j[e+4>>2];if(l>>>0<=f>>>0){break a}c=j[e>>2];l=l+(f^-1)|0;g=c+l|0;break d}c=g&255;if(c>>>0<=f>>>0){break a}l=c+(f^-1)|0;g=l+e|0;c=e}m=h[g|0];pb(e,g-c|0,1);wa(a,b,e,d,0,0);hf(e,(h[i+11|0]<0?j[e>>2]:e)+l|0,m);f=f+1|0;g=k[i+11|0];continue}}X();z()}if(g<<24>>24<=-1){T(j[e>>2])}M=e+16|0}function iq(a,b){a=a|0;b=b|0;var c=0;O[j[j[a>>2]+24>>2]](a)|0;b=Mb(b,148884);j[a+68>>2]=b;c=k[a+98|0];b=O[j[j[b>>2]+28>>2]](b)|0;h[a+98|0]=b;if((b|0)!=(c|0)){j[a+8>>2]=0;j[a+12>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;c=k[a+96|0];if(b){a:{if(!c){break a}b=j[a+32>>2];if(!b){break a}T(b)}h[a+96|0]=k[a+97|0];j[a+52>>2]=j[a+60>>2];b=j[a+56>>2];j[a+56>>2]=0;j[a+60>>2]=0;j[a+32>>2]=b;h[a+97|0]=0;return}b:{if(c){break b}b=j[a+32>>2];if((b|0)==(a+44|0)){break b}h[a+97|0]=0;j[a+56>>2]=b;b=j[a+52>>2];j[a+60>>2]=b;b=U(b);h[a+96|0]=1;j[a+32>>2]=b;return}b=j[a+52>>2];j[a+60>>2]=b;b=U(b);h[a+97|0]=1;j[a+56>>2]=b}}function dp(a,b,c){var d=0,e=0,f=0;e=j[c>>2]+4|0;a:{b:{f=j[a+4>>2];c:{if(!f){d=e>>>0>1e3?e:1e3;j[a+8>>2]=d;d=ja(d);j[a+16>>2]=0;j[a+4>>2]=d;break c}d=j[a+8>>2];e=e+j[a+16>>2]|0;if(d>>>0>=e>>>0){break b}while(1){d=d<<1;if(e>>>0>d>>>0){continue}break}j[a+8>>2]=d;d=vc(f,d);if(d){j[a+4>>2]=d;d=d+j[a+16>>2]|0;break c}d=ja(j[a+8>>2]);e=j[a+4>>2];d=V(d,e,j[a+16>>2]);T(e);j[a+4>>2]=d;d=d+j[a+16>>2]|0}j[a+12>>2]=d;break a}d=j[a+12>>2]}e=j[c>>2];h[d|0]=e;h[d+1|0]=e>>>8;h[d+2|0]=e>>>16;h[d+3|0]=e>>>24;d=j[a+12>>2]+4|0;j[a+12>>2]=d;j[a+16>>2]=j[a+16>>2]+4;V(d,b,j[c>>2]);b=j[c>>2];j[a+12>>2]=b+j[a+12>>2];j[a+16>>2]=b+j[a+16>>2]}function Xc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;h=j[c+4>>2];d=j[c>>2];i=h-d|0;l=i>>1;m=j[b+4>>2];e=j[b>>2];n=m-e|0;o=n>>1;if(!j[a+76>>2]){f=(d|0)!=(h|0)?k[d|0]|k[d+1|0]<<8:f;g=(e|0)!=(m|0)?k[e|0]|k[e+1|0]<<8:g;a:{if((f|0)!=(g|0)){d=0;if((Ue(f,j[a+60>>2])|0)!=(g|0)){break a}}d=1;if((n|0)<3|(i|0)<3){break a}a=j[c>>2];b=j[b>>2];while(1){c=d<<1;e=c+b|0;c=a+c|0;if(k[e|0]!=k[c|0]|k[e+1|0]!=k[c+1|0]){break a}d=d+1|0;if((o|0)<=(d|0)){break a}if((d|0)<(l|0)){continue}break}}return d}a=((o<<1)+e|0)-2|0;a=k[a|0]|k[a+1|0]<<8;b=(d+(l<<1)|0)-2|0;b=k[b|0]|k[b+1|0]<<8;return(a&255)==(b&255)&(a>>>8|0)==(b>>>8|0)}function ph(a,b,c,d,e){var f=0,g=0,i=0;f=M-208|0;M=f;j[f+204>>2]=c;ya(f+160|0,0,40);j[f+200>>2]=j[f+204>>2];a:{if((Ae(0,b,f+200|0,f+80|0,f+160|0,d,e)|0)<0){b=-1;break a}g=j[a+76>>2]>=0;c=j[a>>2];if(h[a+74|0]<=0){j[a>>2]=c&-33}i=c&32;b:{if(j[a+48>>2]){b=Ae(a,b,f+200|0,f+80|0,f+160|0,d,e);break b}j[a+48>>2]=80;j[a+16>>2]=f+80;j[a+28>>2]=f;j[a+20>>2]=f;c=j[a+44>>2];j[a+44>>2]=f;d=Ae(a,b,f+200|0,f+80|0,f+160|0,d,e);b=d;if(!c){break b}O[j[a+36>>2]](a,0,0)|0;j[a+48>>2]=0;j[a+44>>2]=c;j[a+28>>2]=0;j[a+16>>2]=0;b=j[a+20>>2];j[a+20>>2]=0;b=b?d:-1}c=a;a=j[a>>2];j[c>>2]=a|i;b=a&32?-1:b;if(!g){break a}}M=f+208|0;return b}function Me(a,b,c,d,e,f){var g=0,i=0,l=0,m=0,n=0;g=M-16|0;M=g;a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}j[c+4>>2]=j[c>>2];j[g+8>>2]=0;j[g>>2]=0;j[g+4>>2]=0;Ph(a,g,d);d=h[g+11|0]<0?j[g>>2]:g;while(1){l=d;d=d+1|0;if(k[l|0]==32){continue}break}j[f>>2]=0;m=e;d=W(l);e=0;b:{if((d|0)<1){break b}e=l-1|0;c:{while(1){if(k[d+e|0]!=46){break c}i=i+1|0;j[f>>2]=i;n=(d|0)>1;d=d-1|0;if(n){continue}break}i=0;e=0;break b}aa(b,l,d);d=k[b+11|0];i=d<<24>>24<0?j[b+4>>2]:d;if(j[a+44>>2]){ia(c,b);e=Mc(c,j[a+40>>2]);break b}e=Nc(b,j[a+36>>2])}j[m>>2]=e;if(h[g+11|0]<=-1){T(j[g>>2])}M=g+16|0;return i}function id(a,b,c){var d=0,e=0,f=0,g=0;d=M-16|0;M=d;e=0;a:{if((c|0)<3){break a}b:{f=W(b);if(f>>>0<4294967280){c:{d:{if(f>>>0>=11){c=f+16&-16;e=U(c);j[d+8>>2]=c|-2147483648;j[d>>2]=e;j[d+4>>2]=f;c=d;break d}h[d+11|0]=f;c=d;e=d;if(!f){break c}}V(e,b,f)}h[e+f|0]=0;e=1;while(1){f=h[c+11|0];e:{if((f|0)<=-1){if(m[d+4>>2]>e>>>0){break e}T(j[d>>2]);break b}if((f&255)>>>0<=e>>>0){break b}}f:{if(!((k[b+e|0]&192)==128?j[a+4144>>2]:0)){jf(d,e);f=k[c+11|0];g=f<<24>>24<0;if(qg(a,g?j[d>>2]:d,g?j[d+4>>2]:f)){break f}pb(d,e,1)}e=e+1|0;continue}break}if(h[c+11|0]<=-1){T(j[d>>2])}e=1;break a}X();z()}e=0}M=d+16|0;return e}function kn(a,b){var c=0,d=0,e=0;d=b+4|0;if(h[b+15|0]<=-1){c=j[d>>2]}else{c=d}e=((k[b+30|0]<<2)+a|0)+2048|0;j[b+80>>2]=j[e>>2];j[e>>2]=b;a:{if(!k[c|0]){j[b+68>>2]=j[a>>2];break a}j[b+72>>2]=0;j[b+76>>2]=0;a=(k[c|0]<<2)+a|0;c=j[a>>2];if(!c){break a}b:{c:{if(h[d+11|0]>-1){while(1){a=c;c=a+4|0;e=d;if(h[a+15|0]<=-1){c=j[c>>2]}if((ba(e,c)|0)<=0){c=j[a+72>>2];if(c){continue}break c}c=j[a+76>>2];if(c){continue}break b}}d=j[d>>2];while(1){a=c;c=a+4|0;e=d;if(h[a+15|0]<0){c=j[c>>2]}if((ba(e,c)|0)>=1){c=j[a+76>>2];if(c){continue}break b}c=j[a+72>>2];if(c){continue}break}}a=a+72|0;break a}a=a+76|0}j[a>>2]=b}function Op(a,b,c,d,e){var f=0,g=0,l=0,m=0;f=M-32|0;M=f;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;a:{if(d){if((d|0)<=-1){break a}m=d<<1;g=U(m);j[f+16>>2]=g;l=(d<<1)+g|0;j[f+24>>2]=l;V(g,c,m);j[f+20>>2]=l}c=l-g|0;if(!(c>>1>>>0<2|!c)){c=c>>1;d=0;while(1){m=(d^-1)+c<<1;c=m+g|0;i[f+14>>1]=k[c|0]|k[c+1|0]<<8;g=l;l=c+2|0;g=g-l|0;if(g){Ka(c,l,g)}j[f+20>>2]=c+g;j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;da(f,f+16|0);wa(a,b,f,e,0,0);Hh(f+16|0,m+j[f+16>>2]|0,f+14|0);if(h[f+11|0]<=-1){T(j[f>>2])}l=j[f+20>>2];g=j[f+16>>2];c=l-g>>1;d=d+1|0;if(c>>>0>d>>>0){continue}break}}if(g){j[f+20>>2]=g;T(g)}M=f+32|0;return}X();z()}function Pn(a,b){var c=0,d=0,e=0,f=0,g=0;a:{d=j[a>>2];if((j[a+8>>2]-d|0)/12>>>0>=b>>>0){break a}b:{c:{if(b>>>0<357913942){c=j[a+4>>2];e=p(b,12);b=U(e);f=b+e|0;e=b+p((c-d|0)/12|0,12)|0;if((c|0)==(d|0)){break c}b=e;while(1){c=c-12|0;g=j[c+4>>2];b=b-12|0;j[b>>2]=j[c>>2];j[b+4>>2]=g;j[b+8>>2]=j[c+8>>2];j[c>>2]=0;j[c+4>>2]=0;j[c+8>>2]=0;if((c|0)!=(d|0)){continue}break}j[a+8>>2]=f;c=j[a+4>>2];j[a+4>>2]=e;d=j[a>>2];j[a>>2]=b;if((c|0)==(d|0)){break b}while(1){a=c-12|0;if(h[c-1|0]<=-1){T(j[a>>2])}c=a;if((d|0)!=(c|0)){continue}break}break b}D();z()}j[a+8>>2]=f;j[a+4>>2]=e;j[a>>2]=e}if(!d){break a}T(d)}}function Ha(a,b){var c=0,d=0,e=0;c=M-32|0;M=c;a:{b:{c:{switch(j[a+8>>2]-1|0){case 0:a=k[b|0]|k[b+1|0]<<8;b=a<<8|a>>>8;break b;case 1:b=ta(b);break b;case 2:j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;d=W(b);if(d>>>0>=4294967280){break a}d:{e:{if(d>>>0>=11){a=d+16&-16;e=U(a);j[c+8>>2]=a|-2147483648;j[c>>2]=e;j[c+4>>2]=d;a=c;break e}h[c+11|0]=d;a=c;e=c;if(!d){break d}}V(e,b,d)}h[d+e|0]=0;ia(c+16|0,c);if(h[a+11|0]<=-1){T(j[c>>2])}a=j[c+16>>2];f:{if((a|0)!=j[c+20>>2]){b=k[a|0]|k[a+1|0]<<8;break f}b=0;if(!a){break b}}j[c+20>>2]=a;T(a);break b;default:break c}}b=k[b|0]}M=c+32|0;return b&65535}X();z()}function Xh(){var a=0,b=0,c=0,d=0,e=0;j[37134]=j[37134]+1;if(!j[37135]){d=U(393216);j[37135]=d;while(1){a=p(b,6)+d|0;i[a+4>>1]=b;h[a|0]=0;i[a+2>>1]=b;a=b|1;c=p(a,6)+d|0;i[c+4>>1]=a;h[c|0]=0;i[c+2>>1]=a;a=b|2;c=p(a,6)+d|0;i[c+4>>1]=a;h[c|0]=0;i[c+2>>1]=a;a=b|3;c=p(a,6)+d|0;i[c+4>>1]=a;h[c|0]=0;i[c+2>>1]=a;b=b+4|0;if((b|0)!=65536){continue}break}while(1){a=p(e,6);b=p(l[a+2256>>1],6)+d|0;h[b|0]=1;a=a+2258|0;a=l[a>>1]|l[a+2>>1]<<16;i[b+2>>1]=a;i[b+4>>1]=a>>>16;a=p(e|1,6);b=p(l[a+2256>>1],6)+d|0;h[b|0]=1;a=j[a+2258>>2];i[b+2>>1]=a;i[b+4>>1]=a>>>16;e=e+2|0;if((e|0)!=19672){continue}break}}}function af(a,b,c,d,e,f,g,h){var i=0,l=0,n=0;i=M-16|0;M=i;if((b^-1)+1073741807>>>0>=c>>>0){if(k[a+11|0]>>>7|0){n=j[a>>2]}else{n=a}a:{if(b>>>0<536870887){j[i+8>>2]=b<<1;j[i+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=i+8|0;l=i+12|0;c=j[(m[l>>2]>2]?c:l)>>2];if(c>>>0>=2){l=c+4&-4;c=l-1|0;c=(c|0)==2?l:c}else{c=1}break a}c=1073741806}l=c+1|0;c=Qc(l);if(e){rc(c,n,e)}if(g){rc(c+(e<<2)|0,h,g)}d=d-f|0;h=d-e|0;if(h){e=e<<2;rc((e+c|0)+(g<<2)|0,(e+n|0)+(f<<2)|0,h)}if((b|0)!=1){T(n)}j[a>>2]=c;j[a+8>>2]=l|-2147483648;b=a;a=d+g|0;j[b+4>>2]=a;j[i+4>>2]=0;j[c+(a<<2)>>2]=j[i+4>>2];M=i+16|0;return}X();z()}function lm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=M-48|0;M=f;j[f+40>>2]=b;a:{if(!(j[c+4>>2]&1)){c=O[j[j[a>>2]+24>>2]](a,b,c,d,e)|0;break a}a=j[c+28>>2];j[f+24>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=zc(f+24|0);b=j[f+24>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b:{if(e){O[j[j[a>>2]+24>>2]](f+24|0,a);break b}O[j[j[a>>2]+28>>2]](f+24|0,a)}g=f,h=rb(f+24|0),j[g+16>>2]=h;while(1){g=f,h=ic(f+24|0),j[g+8>>2]=h;if(j[f+16>>2]==j[f+8>>2]^1){Xg(f+40|0,j[j[f+16>>2]>>2]);j[f+16>>2]=j[f+16>>2]+4;continue}else{c=j[f+40>>2];Y(f+24|0)}break}}M=f+48|0;return c|0}function Wk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=M-32|0;M=b;e=ga(b+16|0);d=b+8|0;c=d;j[c+4>>2]=0;j[c>>2]=133796;j[c>>2]=128380;j[c>>2]=128848;j[c>>2]=128964;c=M-16|0;M=c;j[c+8>>2]=e;M=c+16|0;g=j[c+8>>2];if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}h=c;if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}Vk(d,g,h,c+(f<<2)|0);if(k[e+11|0]>>>7|0){c=j[e>>2]}else{c=e}d=ga(a);a=b+8|0;f=a;j[f+4>>2]=0;j[f>>2]=133796;j[f>>2]=128380;j[f>>2]=128848;j[f>>2]=129060;f=M-16|0;M=f;j[f+8>>2]=d;M=f+16|0;Uk(a,j[f+8>>2],c,W(c)+c|0);Y(e);M=b+32|0}function vm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0;f=M-48|0;M=f;j[f+40>>2]=b;a:{if(!(j[c+4>>2]&1)){c=O[j[j[a>>2]+24>>2]](a,b,c,d,e)|0;break a}a=j[c+28>>2];j[f+24>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=Bc(f+24|0);b=j[f+24>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}b:{if(e){O[j[j[a>>2]+24>>2]](f+24|0,a);break b}O[j[j[a>>2]+28>>2]](f+24|0,a)}g=f,i=rb(f+24|0),j[g+16>>2]=i;while(1){g=f,i=kc(f+24|0),j[g+8>>2]=i;if(j[f+16>>2]==j[f+8>>2]^1){Yg(f+40|0,h[j[f+16>>2]]);j[f+16>>2]=j[f+16>>2]+1;continue}else{c=j[f+40>>2];Y(f+24|0)}break}}M=f+48|0;return c|0}function hi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,l=0,m=0,n=0,o=0,p=0;if(zb(a,j[b+8>>2],f)){Qd(b,c,d,e);return}l=k[b+53|0];g=j[a+12>>2];h[b+53|0]=0;m=k[b+52|0];h[b+52|0]=0;n=a+16|0;Pd(n,b,c,d,e,f);o=k[b+53|0];l=l|o;p=k[b+52|0];m=m|p;a:{if((g|0)<2){break a}n=n+(g<<3)|0;g=a+24|0;while(1){if(k[b+54|0]){break a}b:{if(p){if(j[b+24>>2]==1){break a}if(k[a+8|0]&2){break b}break a}if(!o){break b}if(!(h[a+8|0]&1)){break a}}i[b+52>>1]=0;Pd(g,b,c,d,e,f);o=k[b+53|0];l=o|l;p=k[b+52|0];m=p|m;g=g+8|0;if(n>>>0>g>>>0){continue}break}}h[b+53|0]=(l&255)!=0;h[b+52|0]=(m&255)!=0}function wj(){var a=0;a:{if(h[149760]&1){break a}if(!Ma(149760)){break a}a=149472;while(1){a=ga(a)+12|0;if((a|0)!=149760){continue}break}La(149760)}oa(149472,132964);oa(149484,132972);oa(149496,132981);oa(149508,132987);oa(149520,132993);oa(149532,132997);oa(149544,133002);oa(149556,133007);oa(149568,133014);oa(149580,133024);oa(149592,133032);oa(149604,133041);oa(149616,133050);oa(149628,133054);oa(149640,133058);oa(149652,133062);oa(149664,132993);oa(149676,133066);oa(149688,133070);oa(149700,133074);oa(149712,133078);oa(149724,133082);oa(149736,133086);oa(149748,133090)}function tj(){var a=0;a:{if(h[150064]&1){break a}if(!Ma(150064)){break a}a=149776;while(1){a=ga(a)+12|0;if((a|0)!=150064){continue}break}La(150064)}na(149776,133096);na(149788,133128);na(149800,133164);na(149812,133188);na(149824,133212);na(149836,133228);na(149848,133248);na(149860,133268);na(149872,133296);na(149884,133336);na(149896,133368);na(149908,133404);na(149920,133440);na(149932,133456);na(149944,133472);na(149956,133488);na(149968,133212);na(149980,133504);na(149992,133520);na(150004,133536);na(150016,133552);na(150028,133568);na(150040,133584);na(150052,133600)}function xd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{f=j[a+4>>2];b:{if((f|0)!=j[a>>2]){c=f;break b}e=j[a+8>>2];c=j[a+12>>2];if(e>>>0>>0){d=((c-e>>2)+1|0)/2<<2;c=d+e|0;g=e-f|0;if(g){c=c-g|0;Ka(c,f,g);e=j[a+8>>2]}j[a+4>>2]=c;j[a+8>>2]=e+d;break b}c=c-f|0;d=c?c>>1:1;if(d>>>0>=1073741824){break a}c=d<<2;h=U(c);g=h+c|0;c=(d+3&-4)+h|0;i=c;d=e-f|0;if(d){i=c+d|0;e=c;d=f;while(1){j[e>>2]=j[d>>2];d=d+4|0;e=e+4|0;if((i|0)!=(e|0)){continue}break}}j[a+12>>2]=g;j[a+8>>2]=i;j[a+4>>2]=c;j[a>>2]=h;if(!f){break b}T(f);c=j[a+4>>2]}j[c-4>>2]=j[b>>2];j[a+4>>2]=j[a+4>>2]-4;return}D();z()}function hq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;j[a+8>>2]=0;j[a+12>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;a:{if(!k[a+96|0]){break a}d=j[a+32>>2];if(!d){break a}T(d)}b:{if(!k[a+97|0]){break b}d=j[a+56>>2];if(!d){break b}T(d)}j[a+52>>2]=c;e=a;c:{d:{e:{if(c>>>0>=9){d=k[a+98|0];if(!(!b|!d)){h[a+96|0]=0;j[a+32>>2]=b;break d}f=U(c);h[a+96|0]=1;j[a+32>>2]=f;break e}h[a+96|0]=0;j[a+52>>2]=8;j[a+32>>2]=a+44;d=k[a+98|0]}if(d){break d}d=(c|0)>8?c:8;j[a+60>>2]=d;c=0;if(b){break c}b=U(d);c=1;break c}b=0;j[a+60>>2]=0;c=0}h[e+97|0]=c;j[a+56>>2]=b;return a|0}function Hc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;g=a+4|0;a=j[a+4>>2];a:{b:{if(!a){break b}d=k[b+11|0];c=d<<24>>24<0;i=c?j[b>>2]:b;e=c?j[b+4>>2]:d;c=g;while(1){b=k[a+27|0];l=b<<24>>24<0;h=l?j[a+20>>2]:b;f=h>>>0>e>>>0;d=f?e:h;c:{if(d){b=a+16|0;b=qa(l?j[b>>2]:b,i,d);if(b){break c}}b=e>>>0>h>>>0?-1:f}c=(b|0)<0?c:a;a=j[(b>>>29&4)+a>>2];if(a){continue}break}if((c|0)==(g|0)){break b}a=k[c+27|0];f=a<<24>>24<0;d:{d=f?j[c+20>>2]:a;b=d>>>0>>0?d:e;if(b){a=c+16|0;a=qa(i,f?j[a>>2]:a,b);if(a){break d}}if(d>>>0>e>>>0){break b}break a}if((a|0)>-1){break a}}c=g}return c}function Fq(a){var b=0,c=0,d=0,e=0;b=j[a+16>>2];if(b){T(Yp(b))}b=j[a>>2];if(b){T(vo(b))}c=j[a+4>>2];e=j[a+8>>2];if((c|0)!=(e|0)){while(1){b=j[(d<<2)+c>>2];if(b){T(Rq(b));e=j[a+8>>2];c=j[a+4>>2]}d=d+1|0;if(d>>>0>2>>>0){continue}break}}j[a+36>>2]=0;j[a>>2]=0;j[a+16>>2]=0;b=j[a+20>>2];if(b){T(b)}j[a+20>>2]=0;d=j[a+52>>2];if(d){b=d;c=j[a+56>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){b=c-12|0;if(h[c-1|0]<=-1){T(j[b>>2])}c=b;if((b|0)!=(d|0)){continue}break}e=j[a+52>>2]}b=e;j[a+56>>2]=d;T(b)}if(h[a+35|0]<=-1){T(j[a+24>>2])}b=j[a+4>>2];if(b){j[a+8>>2]=b;T(b)}}function yd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{e=j[a+8>>2];b:{if((e|0)!=j[a+12>>2]){break b}f=j[a+4>>2];g=j[a>>2];if(f>>>0>g>>>0){g=((f-g>>2)+1|0)/-2<<2;c=g+f|0;d=e-f|0;if(d){Ka(c,f,d);f=j[a+4>>2]}e=c+d|0;j[a+8>>2]=e;j[a+4>>2]=f+g;break b}c=e-g|0;c=c?c>>1:1;if(c>>>0>=1073741824){break a}d=c<<2;h=U(d);i=h+d|0;d=e-f|0;c=(c&-4)+h|0;e=c;if(d){e=c+d|0;d=c;while(1){j[d>>2]=j[f>>2];f=f+4|0;d=d+4|0;if((e|0)!=(d|0)){continue}break}}j[a+12>>2]=i;j[a+8>>2]=e;j[a+4>>2]=c;j[a>>2]=h;if(!g){break b}T(g);e=j[a+8>>2]}j[e>>2]=j[b>>2];j[a+8>>2]=j[a+8>>2]+4;return}D();z()}function kp(a,b,c){var d=0,e=0,f=0,g=0;d=M-32|0;M=d;a:{f=j[b>>2];e=W(f);if(e>>>0<4294967280){b:{c:{if(e>>>0>=11){g=e+16&-16;b=U(g);j[d+24>>2]=g|-2147483648;j[d+16>>2]=b;j[d+20>>2]=e;break c}h[d+27|0]=e;b=d+16|0;if(!e){break b}}V(b,f,e)}h[b+e|0]=0;f=j[c>>2];e=W(f);if(e>>>0>=4294967280){break a}d:{e:{if(e>>>0>=11){c=e+16&-16;b=U(c);j[d+8>>2]=c|-2147483648;j[d>>2]=b;j[d+4>>2]=e;c=d;break e}h[d+11|0]=e;c=d;b=d;if(!e){break d}}V(b,f,e)}h[b+e|0]=0;a=jp(a,d+16|0,d);if(h[c+11|0]<=-1){T(j[d>>2])}if(h[d+27|0]<=-1){T(j[d+16>>2])}M=d+32|0;return(a|0)!=0}X();z()}X();z()}function sp(a){var b=0,c=0,d=0;j[a+52>>2]=0;b=j[37136];if((b|0)!=148548){while(1){d=b;b=j[b+28>>2];if(b){c=j[b>>2];if(c){T(c);j[b>>2]=0}T(b)}c=j[d+4>>2];a:{if(!c){b=j[d+8>>2];if((d|0)==j[b>>2]){break a}d=d+8|0;while(1){c=j[d>>2];d=c+8|0;b=j[c+8>>2];if((c|0)!=j[b>>2]){continue}break}break a}while(1){b=c;c=j[b>>2];if(c){continue}break}}if((b|0)!=148548){continue}break}}Bd(148544,j[37137]);j[37136]=148548;j[37137]=0;j[37138]=0;j[a+56>>2]=121464;T(j[a+60>>2]);j[a+68>>2]=0;j[a+72>>2]=0;j[a+60>>2]=0;j[a+64>>2]=0;if(h[a+51|0]<=-1){T(j[a+40>>2])}qp(a);return a}function Ub(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0;f=M-16|0;M=f;vr(+b);h=sr(1)|0;e=sr(0)|0;g=h&2147483647;c=g;d=e;g=c+ -1048576|0;a:{if((g|0)==2145386495|g>>>0<2145386495){i=d<<28;e=c>>>4|0;c=(c&15)<<28|d>>>4;d=e+1006632960|0;break a}if((c|0)==2146435072|c>>>0>2146435072){i=e<<28;c=h;e=c>>>4|0;c=(c&15)<<28|d>>>4;d=e|2147418112;break a}if(!(c|d)){c=0;d=0;break a}g=c;c=c>>>0<1?s(e)+32|0:s(c);mb(f,d,g,0,0,c+49|0);k=j[f>>2];i=j[f+4>>2];e=15372-c<<16;c=j[f+8>>2];d=e|j[f+12>>2]^65536}j[a>>2]=k;j[a+4>>2]=i;j[a+8>>2]=c;j[a+12>>2]=h&-2147483648|d;M=f+16|0}function ji(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(zb(a,j[b+8>>2],e)){if(!(j[b+28>>2]==1|j[b+4>>2]!=(c|0))){j[b+28>>2]=d}return}a:{if(zb(a,j[b>>2],e)){if(!(j[b+20>>2]!=(c|0)?j[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}j[b+32>>2]=1;return}j[b+32>>2]=d;b:{if(j[b+44>>2]==4){break b}i[b+52>>1]=0;a=j[a+8>>2];O[j[j[a>>2]+20>>2]](a,b,c,c,1,e);if(k[b+53|0]){j[b+44>>2]=3;if(!k[b+52|0]){break b}break a}j[b+44>>2]=4}j[b+20>>2]=c;j[b+40>>2]=j[b+40>>2]+1;if(j[b+36>>2]!=1|j[b+24>>2]!=2){break a}h[b+54|0]=1;return}a=j[a+8>>2];O[j[j[a>>2]+24>>2]](a,b,c,d,e)}}function em(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0;a=M-208|0;M=a;i[a+204>>1]=k[127622]|k[127623]<<8;j[a+200>>2]=k[127618]|k[127619]<<8|(k[127620]<<16|k[127621]<<24);f=ra();j[a>>2]=e;g=fb(a+176|0,20,f,a+200|0,a);f=g+(a+176|0)|0;h=Bb(a+176|0,f,c);e=j[c+28>>2];j[a+16>>2]=e;j[e+4>>2]=j[e+4>>2]+1;l=sb(a+16|0);e=j[a+16>>2];m=j[e+4>>2]-1|0;j[e+4>>2]=m;if((m|0)==-1){O[j[j[e>>2]+8>>2]](e)}O[j[j[l>>2]+48>>2]](l,a+176|0,f,a+16|0)|0;e=b;b=(a+16|0)+(g<<2)|0;b=_b(e,a+16|0,(f|0)==(h|0)?b:((h-a<<2)+a|0)-688|0,b,c,d);M=a+208|0;return b|0}function Lb(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;j[a+4356>>2]=0;j[a+4360>>2]=0;j[a+4376>>2]=0;e=j[a>>2];a:{if(e){while(1){f=Kf(e,b,c,d);if(f){break a}e=j[e+68>>2];if(e){continue}break}}g=j[(k[b|0]<<2)+a>>2];if(g){while(1){f=g+4|0;f=h[g+15|0]<=-1?j[f>>2]:f;e=k[f|0];b:{if(!e){break b}i=b;if((e|0)!=46&k[b|0]!=(e|0)){break b}while(1){e=k[f+1|0];if(!e){break b}l=k[i+1|0];i=i+1|0;f=f+1|0;if(!((e|0)!=46&(e|0)!=(l|0))){continue}break}}c:{if(!e){i=Kf(g,b,c,d);if(i){j[a+4376>>2]=g;return i}i=g+72|0;break c}i=g+76|0}g=j[i>>2];if(g){continue}break}}f=0}return f}function cd(a,b,c,d,e,f,g,i){var l=0,n=0,o=0;l=M-16|0;M=l;if((b^-1)-17>>>0>=c>>>0){if(k[a+11|0]>>>7|0){o=j[a>>2]}else{o=a}a:{if(b>>>0<2147483623){j[l+8>>2]=b<<1;j[l+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=l+8|0;n=l+12|0;c=j[(m[n>>2]>2]?c:n)>>2];if(c>>>0>=11){n=c+16&-16;c=n-1|0;c=(c|0)==11?n:c}else{c=10}break a}c=-18}n=c+1|0;c=U(n);if(e){ac(c,o,e)}if(g){ac(c+e|0,i,g)}d=d-f|0;i=d-e|0;if(i){ac((c+e|0)+g|0,(e+o|0)+f|0,i)}if((b|0)!=10){T(o)}j[a>>2]=c;j[a+8>>2]=n|-2147483648;b=a;a=d+g|0;j[b+4>>2]=a;h[l+7|0]=0;h[a+c|0]=k[l+7|0];M=l+16|0;return}X();z()}function fp(a,b){var c=0,d=0,e=0,f=0,g=0,i=0;d=M-16|0;M=d;f=j[a+52>>2];c=0;a:{if(!f){break a}b=sq(f,d+8|0,j[b>>2]);j[a+72>>2]=0;j[a+68>>2]=j[a+60>>2];j[d+12>>2]=0;c=a+56|0;ep(c,d+12|0);b:{if((b|0)<=0){b=j[a+60>>2];c=j[a+72>>2];h[b|0]=c;h[b+1|0]=c>>>8;h[b+2|0]=c>>>16;h[b+3|0]=c>>>24;break b}while(1){f=j[j[d+8>>2]+(e<<2)>>2];g=d,i=W(f),j[g+4>>2]=i;dp(c,f,d+4|0);e=e+1|0;if((b|0)!=(e|0)){continue}break}c=j[a+60>>2];e=j[a+72>>2];h[c|0]=e;h[c+1|0]=e>>>8;h[c+2|0]=e>>>16;h[c+3|0]=e>>>24;if((b|0)<=0){break b}rq(d+8|0,b)}c=j[a+60>>2]}M=d+16|0;return c}function km(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127616]|k[127617]<<8;j[a+24>>2]=k[127612]|k[127613]<<8|(k[127614]<<16|k[127615]<<24);jc(a+24|1,127604,1,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;e=g>>>9&1;h=fb(f,e+13|0,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-((e<<3)+107&112)|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function mm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0;a=M-96|0;M=a;i[a+92>>1]=k[127622]|k[127623]<<8;j[a+88>>2]=k[127618]|k[127619]<<8|(k[127620]<<16|k[127621]<<24);f=ra();j[a>>2]=e;g=fb(a- -64|0,20,f,a+88|0,a);f=g+(a- -64|0)|0;h=Bb(a- -64|0,f,c);e=j[c+28>>2];j[a+16>>2]=e;j[e+4>>2]=j[e+4>>2]+1;l=tb(a+16|0);e=j[a+16>>2];m=j[e+4>>2]-1|0;j[e+4>>2]=m;if((m|0)==-1){O[j[j[e>>2]+8>>2]](e)}O[j[j[l>>2]+32>>2]](l,a- -64|0,f,a+16|0)|0;e=b;b=(a+16|0)+g|0;b=$b(e,a+16|0,(f|0)==(h|0)?b:((h-a|0)+a|0)-48|0,b,c,d);M=a+96|0;return b|0}function pi(a){var b=0,c=0,d=0,e=0;b=M+ -64|0;M=b;c=j[a>>2];d=j[c-4>>2];e=j[c-8>>2];j[b+20>>2]=0;j[b+16>>2]=134028;j[b+12>>2]=a;j[b+8>>2]=134076;c=0;ya(b+24|0,0,39);a=a+e|0;a:{if(zb(d,134076,0)){j[b+56>>2]=1;O[j[j[d>>2]+20>>2]](d,b+8|0,a,a,1,0);c=j[b+32>>2]==1?a:0;break a}O[j[j[d>>2]+24>>2]](d,b+8|0,a,1,0);b:{switch(j[b+44>>2]){case 0:c=j[b+48>>2]==1?j[b+36>>2]==1?j[b+40>>2]==1?j[b+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(j[b+32>>2]!=1){if(j[b+48>>2]|j[b+36>>2]!=1|j[b+40>>2]!=1){break a}}c=j[b+24>>2]}M=b- -64|0;return c}function Le(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=c-b|0;g=f>>1;d=j[a+8>>2];e=j[a>>2];if(g>>>0<=d-e>>1>>>0){d=j[a+4>>2]-e|0;f=d>>1;d=f>>>0>>0?b+d|0:c;h=d-b|0;if(h){Ka(e,b,h)}if(f>>>0>>0){b=j[a+4>>2];c=c-d|0;if((c|0)>=1){b=V(b,d,c)+c|0}j[a+4>>2]=b;return}j[a+4>>2]=e+h;return}if(e){j[a+4>>2]=e;T(e);j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;d=0}a:{if((f|0)<=-1){break a}c=d>>1>>>0<1073741823?d>>>0>>0?g:d:2147483647;if((c|0)<=-1){break a}e=c<<1;c=U(e);j[a>>2]=c;j[a+4>>2]=c;j[a+8>>2]=c+e;if((f|0)>=1){c=V(c,b,f)+f|0}j[a+4>>2]=c;return}X();z()}function hf(a,b,c){var d=0,e=0,f=0,g=0,i=0,l=0;d=M-32|0;M=d;h[d+23|0]=c;j[d+24>>2]=b;i=d,l=rb(a),j[i+16>>2]=l;e=j[d+24>>2]-j[d+16>>2]|0;b=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}a:{if((b|0)==(c|0)){qb(a,c,1,c,e,0,1);b=j[a>>2];break a}if(k[a+11|0]>>>7|0){b=j[a>>2]}else{b=a}f=c-e|0;if(!f){break a}g=b+e|0;Jb(g+1|0,g,f)}h[b+e|0]=k[d+23|0];h[d+15|0]=0;f=b;b=c+1|0;h[f+b|0]=k[d+15|0];b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}i=d,l=rb(a),j[i+8>>2]=l;be(d+8|0,e);M=d+32|0}function um(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127616]|k[127617]<<8;j[a+24>>2]=k[127612]|k[127613]<<8|(k[127614]<<16|k[127615]<<24);jc(a+24|1,127604,1,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;h=fb(f,(g>>>9&1)+13|0,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-32|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;nd(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Te(a,b,c,d){var e=0,f=0,g=0,i=0;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;g=k[b+28|0]>d>>>0;f=h[b+27|0];e=j[b+20>>2];a:{if((f|0)<=-1){break a}e=f&255}b:{if(g|(!j[j[b+64>>2]+4484>>2]|d?e>>>0>=d>>>0:0)){break b}i=c+d|0;if(!Hd(b,i,c)){break b}e=b+16|0;g=k[e+11|0];f=g<<24>>24;c:{d:{if((f|0)<=-1){g=j[b+20>>2];if(!g){break c}f=j[e>>2];break d}if(!f){break c}f=e}if(ba(i-g|0,f)){break b}}Ja(a,c);f=a;c=h[e+11|0];e=j[b+20>>2];e:{if((c|0)<=-1){break e}e=c&255}c=k[b+15|0];a=c<<24>>24<0;oc(f,d-e|0,-1,a?j[b+4>>2]:b+4|0,a?j[b+8>>2]:c)}}function rm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127616]|k[127617]<<8;j[a+24>>2]=k[127612]|k[127613]<<8|(k[127614]<<16|k[127615]<<24);jc(a+24|1,127604,0,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;h=fb(f,g>>>9&1|12,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-32|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;nd(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function im(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;a=M-32|0;M=a;i[a+28>>1]=k[127616]|k[127617]<<8;j[a+24>>2]=k[127612]|k[127613]<<8|(k[127614]<<16|k[127615]<<24);jc(a+24|1,127604,0,j[c+4>>2]);g=j[c+4>>2];f=a-16|0;M=f;h=ra();j[a>>2]=e;h=fb(f,g>>>9&1|12,h,a+24|0,a)+f|0;l=Bb(f,h,c);g=f-96|0;M=g;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(f,l,h,g,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];f=j[e+4>>2]-1|0;j[e+4>>2]=f;if((f|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,g,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function ka(a,b){var c=0,d=0,e=0,f=0,g=0;c=M-32|0;M=c;e=j[a>>2];f=j[a+4>>2];d=k[a+11|0];i[c>>1]=2336;h[c+11|0]=2;h[c+2|0]=0;g=a;a=d<<24>>24<0;d=(a?e:g)+(a?f:d)|0;f=ha(c+16|0,c);if(h[c+11|0]<=-1){T(j[c>>2])}a=j[b>>2];a:{if((d|0)==(a|0)){a=d;break a}b:{while(1){if((Ba(f,h[a|0],0)|0)==-1){break b}a=a+1|0;if((d|0)!=(a|0)){continue}break}a=d;break a}if((a|0)==(d|0)){break a}e=a;while(1){if((Ba(f,h[e|0],0)|0)!=-1){d=e;break a}e=e+1|0;if((e|0)!=(d|0)){continue}break}}j[b>>2]=d;if(h[c+27|0]<=-1){T(j[c+16>>2])}M=c+32|0;return a}function Id(a,b){var c=0,d=0,e=0,f=0,g=0;f=M-16|0;M=f;e=k[a+11|0];d=e<<24>>24<0;c=d?j[a>>2]:a;e=d?j[a+4>>2]:e;d=c+e|0;g=ha(f,b);a:{b:{if(!e){break b}while(1){if((Ba(g,h[c|0],0)|0)!=-1){break b}c=c+1|0;if((d|0)!=(c|0)){continue}break}c=d;break a}if((c|0)==(d|0)){break a}b=c+1|0;if((d|0)==(b|0)){break a}while(1){if((Ba(g,h[b|0],0)|0)==-1){h[c|0]=k[b|0];c=c+1|0}b=b+1|0;if((d|0)!=(b|0)){continue}break}}e=j[a>>2];d=k[a+11|0];b=d<<24>>24<0;pb(a,c-(b?e:a)|0,(b?e+j[a+4>>2]|0:a+d|0)-c|0);if(h[f+11|0]<=-1){T(j[f>>2])}M=f+16|0}function cf(a,b,c){var d=0,e=0,f=0,g=0,i=0;e=M-16|0;M=e;co(e+8|0,a);if(k[e+8|0]){a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}g=a+24|0;i=c&255;b:{c:{while(1){c=j[j[j[a>>2]-12>>2]+g>>2];d=j[c+12>>2];d:{if((d|0)!=j[c+16>>2]){j[c+12>>2]=d+1;c=k[d|0];break d}c=O[j[j[c>>2]+40>>2]](c)|0;if((c|0)==-1){break c}}d=0;if((c&255)==(i|0)){break b}Z(b,c<<24>>24);f=f+1|0;if(j[b+4>>2]!=-17|h[b+11|0]>-1){continue}break}d=4;break b}d=f?2:6}b=j[j[a>>2]-12>>2]+a|0;ah(b,d|j[b+16>>2])}M=e+16|0;return a}function ep(a,b){var c=0,d=0,e=0;a:{b:{d=j[a+4>>2];c:{if(!d){j[a+8>>2]=1e3;c=ja(1e3);j[a+16>>2]=0;j[a+4>>2]=c;break c}c=j[a+8>>2];e=j[a+16>>2]+4|0;if(c>>>0>=e>>>0){break b}while(1){c=c<<1;if(e>>>0>c>>>0){continue}break}j[a+8>>2]=c;c=vc(d,c);if(c){j[a+4>>2]=c;c=c+j[a+16>>2]|0;break c}c=ja(j[a+8>>2]);d=j[a+4>>2];c=V(c,d,j[a+16>>2]);T(d);j[a+4>>2]=c;c=c+j[a+16>>2]|0}j[a+12>>2]=c;break a}c=j[a+12>>2]}b=j[b>>2];h[c|0]=b;h[c+1|0]=b>>>8;h[c+2|0]=b>>>16;h[c+3|0]=b>>>24;j[a+12>>2]=j[a+12>>2]+4;j[a+16>>2]=j[a+16>>2]+4}function op(a,b,c){var d=0,e=0,f=0,g=0;d=M-48|0;M=d;Ah(a);f=j[a>>2];a=W(f);if(a>>>0<4294967280){a:{b:{if(a>>>0>=11){g=a+16&-16;e=U(g);j[d+16>>2]=g|-2147483648;j[d+8>>2]=e;j[d+12>>2]=a;break b}h[d+19|0]=a;e=d+8|0;if(!a){break a}}V(e,f,a)}h[a+e|0]=0;a=U(8);j[a+4>>2]=c;j[a>>2]=b;j[d+32>>2]=j[d+16>>2];j[d+16>>2]=0;j[d+36>>2]=a;a=j[d+12>>2];j[d+24>>2]=j[d+8>>2];j[d+28>>2]=a;j[d+8>>2]=0;j[d+12>>2]=0;np(d+40|0,d+24|0,d+24|0);if(h[d+35|0]<=-1){T(j[d+24>>2])}if(h[d+19|0]<=-1){T(j[d+8>>2])}M=d+48|0;return 1}X();z()}function Fc(a,b,c,d,e,f){var g=0,h=0,i=0,k=0;a:{if(f&64){c=f+ -64|0;b=c&31;if((c&63)>>>0>=32){c=0;b=e>>>b|0}else{c=e>>>b|0;b=((1<>>b}d=0;e=0;break a}if(!f){break a}h=e;i=d;k=64-f|0;g=k&31;if((k&63)>>>0>=32){h=i<>>32-g|h<>>0>=32){g=0;b=c>>>b|0}else{g=c>>>b|0;b=((1<>>b}b=k|b;c=g|h;g=d;d=f&31;if((f&63)>>>0>=32){h=0;d=e>>>d|0}else{h=e>>>d|0;d=((1<>>d}e=h}j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=d;j[a+12>>2]=e}function Hi(a,b,c,d){var e=0,f=0,g=0,i=0,l=0;g=M-16|0;M=g;e=b;if(k[a+11|0]>>>7|0){f=j[a+4>>2]}else{f=k[a+11|0]}if(e>>>0<=f>>>0){e=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;a:{if(e-f>>>0>=d>>>0){if(!d){break a}if(k[a+11|0]>>>7|0){e=j[a>>2]}else{e=a}l=e+b|0;i=f-b|0;if(i){b=b+e|0;Jb(b+d|0,b,i);c=b>>>0<=c>>>0?e+f>>>0>c>>>0?c+d|0:c:c}Jb(l,c,d);c=d+f|0;b=c;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break b}h[a+11|0]=b}h[g+15|0]=0;h[c+e|0]=k[g+15|0];break a}cd(a,e,(d+f|0)-e|0,f,b,0,d,c)}M=g+16|0;return}X();z()}function xn(a,b,c){var d=0,e=0,f=0,g=0,i=0;a:{if(ba(c,1742)){e=k[c|0];if(e){d=c;while(1){i=d;d=f;f=0;b:{c:{switch(e-91|0){case 0:f=1;g=g+1|0;break b;case 2:break b;default:break c}}f=1;if(d&1){break b}g=(!(e&128)|!j[a+4144>>2]|(e&192)==128)+g|0;f=0}d=i+1|0;e=k[i+1|0];if(e){continue}break}}h[b+28|0]=g;a=W(c);d=a>>>0<20?a:20;V(b+32|0,c,d);if(a>>>0<=19){ya((b+d|0)+32|0,0,20-d|0);return 0}if(!k[c+20|0]){break a}h[b+29|0]=k[b+29|0]+16;a=cb(c+16|0);j[b+48>>2]=a;return!a}h[b+32|0]=0;h[b+28|0]=0}return 0}function Ao(a,b){var c=0,d=0;c=1024;a:{b:{c:{if((a^b)&3){break c}d=1;d:{if(!(b&3)){break d}while(1){d=k[b|0];h[a|0]=d;if(!d){break a}a=a+1|0;b=b+1|0;c=c-1|0;d=(c|0)!=0;if(!c){break d}if(b&3){continue}break}}if(!d){break b}if(!k[b|0]){break a}if(c>>>0<4){break c}while(1){d=j[b>>2];if((d^-1)&d-16843009&-2139062144){break c}j[a>>2]=d;a=a+4|0;b=b+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break b}while(1){d=k[b|0];h[a|0]=d;if(!d){break a}a=a+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}c=0}ya(a,0,c)}function mb(a,b,c,d,e,f){var g=0,h=0,i=0,k=0;a:{if(f&64){d=b;e=f+ -64|0;b=e&31;if((e&63)>>>0>=32){e=d<>>32-b|c<>>0>=32){h=g<>>32-d|e<>>0>=32){f=0;d=d>>>e|0}else{f=d>>>e|0;d=((1<>>e}d=k|d;e=f|h;f=b;b=i&31;if((i&63)>>>0>=32){h=f<>>32-b|c<>2]=b;j[a+4>>2]=c;j[a+8>>2]=d;j[a+12>>2]=e}function Rb(a,b,c,d,e){var f=0,g=0;f=M-16|0;M=f;j[f+8>>2]=b;a:{if(Sa(a,f+8|0)){j[c>>2]=j[c>>2]|6;b=0;break a}b=Ga(a);if(!((b|0)>=0?(l[j[d+8>>2]+((b&255)<<1)>>1]&2048)!=0:0)){j[c>>2]=j[c>>2]|4;b=0;break a}b=O[j[j[d>>2]+36>>2]](d,b,0)|0;while(1){b:{Oa(a);b=b-48|0;if(!kb(a,f+8|0)|(e|0)<2){break b}g=Ga(a);if(!((g|0)>=0?(l[j[d+8>>2]+((g&255)<<1)>>1]&2048)!=0:0)){break a}e=e-1|0;b=(O[j[j[d>>2]+36>>2]](d,g,0)|0)+p(b,10)|0;continue}break}if(!Sa(a,f+8|0)){break a}j[c>>2]=j[c>>2]|2}M=f+16|0;return b}function jm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127606,1,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;e=h>>>9&1;h=fb(g,e+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-((e<<3)+187&240)|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function hm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127606,0,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;e=h>>>9&1;h=fb(g,e+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-((e<<3)+187&240)|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;ld(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=_b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=M-16|0;M=e;while(1){a:{if((c|0)<=(g|0)){break a}d=j[a+12>>2];f=j[a+16>>2];b:{if(d>>>0>>0){j[e+12>>2]=2147483647;j[e+8>>2]=f-d;j[e+4>>2]=c-g;d=M-16|0;M=d;M=d+16|0;d=M-16|0;M=d;M=d+16|0;d=e+4|0;f=e+8|0;d=j[d>>2]>2]?d:f;f=e+12|0;d=j[(j[d>>2]>2]?d:f)>>2];ac(b,j[a+12>>2],d);j[a+12>>2]=j[a+12>>2]+d;break b}d=O[j[j[a>>2]+40>>2]](a)|0;if((d|0)==-1){break a}h[b|0]=d;d=1}b=b+d|0;g=d+g|0;continue}break}M=e+16|0;return g|0}function Ph(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;a:{if(h[b+11|0]<=-1){h[j[b>>2]]=0;j[b+4>>2]=0;break a}h[b+11|0]=0;h[b|0]=0}ua(b,c);b:{c=j[a>>2];c:{if(!c){break c}f=gk(c);if(!f){break c}if(j[a+44>>2]){Jd(b,j[a>>2]+4420|0);break c}e=W(f);if(e>>>0>=4294967280){break b}d:{e:{if(e>>>0>=11){a=e+16&-16;c=U(a);j[d+8>>2]=a|-2147483648;j[d>>2]=c;j[d+4>>2]=e;a=d;break e}h[d+11|0]=e;a=d;c=d;if(!e){break d}}V(c,f,e)}h[c+e|0]=0;Id(b,d);if(h[a+11|0]>-1){break c}T(j[d>>2])}M=d+16|0;return}X();z()}function sm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127606,1,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;h=fb(g,(h>>>9&1)+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-48|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;nd(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function qm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=M-32|0;M=a;j[a+24>>2]=37;j[a+28>>2]=0;jc(a+24|1,127606,0,j[c+4>>2]);h=j[c+4>>2];g=a-32|0;M=g;i=ra();j[a>>2]=e;j[a+4>>2]=f;h=fb(g,(h>>>9&1)+23|0,i,a+24|0,a)+g|0;i=Bb(g,h,c);f=g-48|0;M=f;e=j[c+28>>2];j[a+8>>2]=e;j[e+4>>2]=j[e+4>>2]+1;nd(g,i,h,f,a+20|0,a+16|0,a+8|0);e=j[a+8>>2];g=j[e+4>>2]-1|0;j[e+4>>2]=g;if((g|0)==-1){O[j[j[e>>2]+8>>2]](e)}b=$b(b,f,j[a+20>>2],j[a+16>>2],c,d);M=a+32|0;return b|0}function Cg(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;a:{b:{c:{if((a|0)!=(b|0)){g=j[37140];j[37140]=0;a=Fg(a,e+12|0,d,ra());d=N;f=j[37140];d:{if(f){if(j[e+12>>2]!=(b|0)){break d}if((f|0)==68){break b}break c}j[37140]=g;if(j[e+12>>2]==(b|0)){break c}}}j[c>>2]=4;b=0;break a}if(((d|0)<-1?1:(d|0)<=-1?a>>>0<2147483648:0)|((d|0)>0?1:(d|0)>=0?a>>>0>2147483647:0)){break b}b=a;break a}j[c>>2]=4;b=2147483647;if((d|0)>0?1:(d|0)>=0?a>>>0>=1:0){break a}b=-2147483648}M=e+16|0;return b}function qb(a,b,c,d,e,f,g){var h=0,i=0,l=0;i=M-16|0;M=i;if(-17-b>>>0>=c>>>0){if(k[a+11|0]>>>7|0){l=j[a>>2]}else{l=a}a:{if(b>>>0<2147483623){j[i+8>>2]=b<<1;j[i+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=i+8|0;h=i+12|0;c=j[(m[h>>2]>2]?c:h)>>2];if(c>>>0>=11){h=c+16&-16;c=h-1|0;c=(c|0)==11?h:c}else{c=10}break a}c=-18}h=c+1|0;c=U(h);if(e){ac(c,l,e)}d=(d-f|0)-e|0;if(d){ac((c+e|0)+g|0,(e+l|0)+f|0,d)}if((b|0)!=10){T(l)}j[a>>2]=c;j[a+8>>2]=h|-2147483648;M=i+16|0;return}X();z()}function Aa(a,b,c){var d=0,e=0;d=(c|0)!=0;a:{b:{c:{if(!c|!(a&3)){break c}e=b&255;while(1){if((e|0)==k[a|0]){break b}a=a+1|0;c=c-1|0;d=(c|0)!=0;if(!c){break c}if(a&3){continue}break}}if(!d){break a}}d:{if(k[a|0]==(b&255)|c>>>0<4){break d}d=p(b&255,16843009);while(1){e=d^j[a>>2];if((e^-1)&e-16843009&-2139062144){break d}a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}b=b&255;while(1){if((b|0)==k[a|0]){return a}a=a+1|0;c=c-1|0;if(c){continue}break}}return 0}function Un(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=M-32|0;M=d;f=eh(d+24|0,a);a:{if(!k[f|0]){break a}c=j[(j[j[a>>2]-12>>2]+a|0)+28>>2];j[d+16>>2]=c;j[c+4>>2]=j[c+4>>2]+1;g=Mb(d+16|0,148704);c=j[d+16>>2];e=j[c+4>>2]-1|0;j[c+4>>2]=e;if((e|0)==-1){O[j[j[c>>2]+8>>2]](c)}j[d+8>>2]=j[(j[j[a>>2]-12>>2]+a|0)+24>>2];c=j[j[a>>2]-12>>2]+a|0;e=Xn(c);h=d,i=O[j[j[g>>2]+24>>2]](g,j[d+8>>2],c,e,b)|0,j[h+16>>2]=i;if(j[d+16>>2]){break a}ud(j[j[a>>2]-12>>2]+a|0,5)}dh(f);M=d+32|0}function jf(a,b){var c=0,d=0,e=0,f=0,g=0;e=M-16|0;M=e;c=a;d=j[a+4>>2];a:{if(k[a+11|0]>>>7|0){break a}d=k[c+11|0]}if(d>>>0>=b>>>0){c=k[c+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;b:{if(c-d>>>0>=1){if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}f=d-b|0;if(!f){break b}g=b+c|0;Jb(g+1|0,g,f);break b}qb(a,c,(d+1|0)-c|0,d,b,0,1);c=j[a>>2]}Ud(b+c|0,1,32);d=d+1|0;b=d;c:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break c}h[a+11|0]=b}h[e+15|0]=0;h[c+d|0]=k[e+15|0];M=e+16|0;return}X();z()}function $e(a,b,c,d,e){var f=0,g=0,h=0;g=M-16|0;M=g;if(1073741807-b>>>0>=c>>>0){if(k[a+11|0]>>>7|0){h=j[a>>2]}else{h=a}a:{if(b>>>0<536870887){j[g+8>>2]=b<<1;j[g+12>>2]=b+c;c=M-16|0;M=c;M=c+16|0;c=g+8|0;f=g+12|0;c=j[(m[f>>2]>2]?c:f)>>2];if(c>>>0>=2){f=c+4&-4;c=f-1|0;c=(c|0)==2?f:c}else{c=1}break a}c=1073741806}f=c+1|0;c=Qc(f);if(e){rc(c,h,e)}d=d-e|0;if(d){e=e<<2;rc(e+c|0,e+h|0,d)}if((b|0)!=1){T(h)}j[a>>2]=c;j[a+8>>2]=f|-2147483648;M=g+16|0;return}X();z()}function wg(a,b,c,d){var e=0,f=0,g=0,h=0;e=M-16|0;M=e;a:{b:{c:{if((a|0)!=(b|0)){d:{e:{f=k[a|0];if((f|0)!=45){break e}a=a+1|0;if((b|0)!=(a|0)){break e}break d}h=j[37140];j[37140]=0;a=je(a,e+12|0,d,ra());d=N;g=j[37140];f:{if(g){if(j[e+12>>2]!=(b|0)){break f}if((g|0)==68){break c}break b}j[37140]=h;if(j[e+12>>2]==(b|0)){break b}}}}j[c>>2]=4;a=0;b=0;break a}j[c>>2]=4;a=-1;b=-1;break a}b=a;c=(f|0)==45;a=c?0-a|0:a;b=c?0-(d+((b|0)!=0)|0)|0:d}M=e+16|0;N=b;return a}function gq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=0,l=0;f=j[b+68>>2];if(f){g=O[j[j[f>>2]+24>>2]](f)|0;f=-1;h=-1;a:{if(!j[b+64>>2]|((g|0)<1?c|d:0)){break a}if(O[j[j[b>>2]+24>>2]](b)|e>>>0>2){break a}i=j[b+64>>2];d=or(g,g>>31,c,d);c=(g|0)>0;if(Be(i,c?d:0,c?N:0,e)){break a}c=j[b+64>>2];b:{if(j[c+76>>2]<=-1){f=sh(c);h=N;break b}f=sh(c);h=N}k=j[b+72>>2];l=j[b+76>>2]}j[a+8>>2]=f;j[a+12>>2]=h;j[a>>2]=k;j[a+4>>2]=l;return}Fa();z()}function pb(a,b,c){var d=0,e=0,f=0,g=0,i=0;d=M-16|0;M=d;j[d+12>>2]=c;if(k[a+11|0]>>>7|0){f=j[a+4>>2]}else{f=k[a+11|0]}if(f>>>0>=b>>>0){if(c){if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}g=c;e=f-b|0;j[d+8>>2]=e;c=M-16|0;M=c;M=c+16|0;c=d+8|0;i=d+12|0;c=j[(m[c>>2]>2]?c:i)>>2];j[d+12>>2]=c;e=e-c|0;if(e){b=b+g|0;Jb(b,b+c|0,e);c=j[d+12>>2]}c=f-c|0;b=c;a:{if(k[a+11|0]>>>7|0){j[a+4>>2]=b;break a}h[a+11|0]=b}h[d+7|0]=0;h[c+g|0]=k[d+7|0]}M=d+16|0;return}X();z()}function _(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+8>>2]=e;j[f+12>>2]=c;e=(e|0)==-1;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if(!(e|c>>>0>>0)){j[f>>2]=c-b;c=M-16|0;M=c;M=c+16|0;c=f+12|0;j[f+4>>2]=j[(m[f>>2]>2]?f:c)>>2];if(k[a+11|0]>>>7|0){a=j[a>>2]}c=M-16|0;M=c;M=c+16|0;c=a+b|0;a=f+8|0;b=f+4|0;b=ae(c,d,j[(m[a>>2]>2]?a:b)>>2]);a:{if(b){break a}b=-1;a=j[f+4>>2];c=j[f+8>>2];if(a>>>0>>0){break a}b=a>>>0>c>>>0}M=f+16|0;return b}X();z()}function zg(a,b,c,d){var e=0,f=0,g=0,h=0;e=M-16|0;M=e;a:{b:{c:{d:{if((a|0)!=(b|0)){e:{f:{f=k[a|0];if((f|0)!=45){break f}a=a+1|0;if((b|0)!=(a|0)){break f}break e}h=j[37140];j[37140]=0;a=je(a,e+12|0,d,ra());d=N;g=j[37140];g:{if(g){if(j[e+12>>2]!=(b|0)){break g}if((g|0)==68){break c}break d}j[37140]=h;if(j[e+12>>2]==(b|0)){break d}}}}j[c>>2]=4;a=0;break a}if(!d&a>>>0<=65535){break b}}j[c>>2]=4;a=65535;break a}a=(f|0)==45?0-a|0:a}M=e+16|0;return a&65535}function fh(a,b,c,d){var e=0,f=0,g=0;j[a>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;g=k[b+28|0]>d>>>0;e=h[b+27|0];f=j[b+20>>2];a:{if((e|0)<=-1){break a}f=e&255}b:{if(g|(!j[j[b+64>>2]+4484>>2]|d?f>>>0>=d>>>0:0)){break b}if(!Vc(b,c)){break b}d=b+16|0;e=k[d+11|0];f=e<<24>>24;c:{d:{if((f|0)<=-1){e=j[b+20>>2];if(!e){break c}d=j[d>>2];break d}if(!f){break c}}if(Db(c,d,e)){break b}}ua(a,b+4|0);d=h[b+27|0];b=j[b+20>>2];e:{if((d|0)<=-1){break e}b=d&255}$(a,b+c|0)}}function Ed(a,b){var c=0,d=0,e=0,f=0;d=M-16|0;M=d;e=d;f=Ya(a,62);a=ca(a,121161);c=0;a:{if(!a){break a}c=0;if(a>>>0>=f>>>0){break a}b:{while(1){c=k[a-1|0];if((c|0)==10|(c|0)==32){break b}a=ca(W(121161)+a|0,121161);c=0;if(!a){break a}if(a>>>0>>0){continue}break}c=0;break a}c=W(121161)+a|0}mc(e,c);a=0;c=W(b);f=k[d+11|0];e=f<<24>>24;if((c|0)==(((e|0)<0?j[d+4>>2]:f)|0)){a=!_(d,0,-1,b,c);e=k[d+11|0]}if(e<<24>>24<=-1){T(j[d>>2])}M=d+16|0;return a}function lh(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;h=-1;f=d&2147483647;i=f;g=c;a:{if(!c&(f|0)==2147418112?a|b:(f|0)==2147418112&(c|0)!=0|f>>>0>2147418112){break a}f=e&2147483647;j=f;if((f|0)==2147418112?0:f>>>0>2147418112){break a}if(!(a|g|(i|j|b))){return 0}g=d&e;if((g|0)>0?1:(g|0)>=0){if(!c&(d|0)==(e|0)?0:(d|0)<(e|0)){break a}return(a|c)!=0|(d^e|b)!=0}if(!c&(d|0)==(e|0)?a|b:(d|0)>(e|0)?1:(d|0)>=(e|0)?c:0){break a}h=(a|c)!=0|(d^e|b)!=0}return h}function uc(a,b){a:{if(a){if(b>>>0<=127){break a}b:{if(!j[j[37115]>>2]){if((b&-128)==57216){break a}break b}if(b>>>0<=2047){h[a+1|0]=b&63|128;h[a|0]=b>>>6|192;return 2}if(!((b&-8192)!=57344?b>>>0>=55296:0)){h[a+2|0]=b&63|128;h[a|0]=b>>>12|224;h[a+1|0]=b>>>6&63|128;return 3}if(b-65536>>>0<=1048575){h[a+3|0]=b&63|128;h[a|0]=b>>>18|240;h[a+2|0]=b>>>6&63|128;h[a+1|0]=b>>>12&63|128;return 4}}j[37140]=25;a=-1}else{a=1}return a}h[a|0]=b;return 1}function Co(a,b){var c=0,d=0;a:{d=b&255;if(d){if(a&3){while(1){c=k[a|0];if(!c|(c|0)==(b&255)){break a}a=a+1|0;if(a&3){continue}break}}c=j[a>>2];b:{if((c^-1)&c-16843009&-2139062144){break b}d=p(d,16843009);while(1){c=c^d;if((c^-1)&c-16843009&-2139062144){break b}c=j[a+4>>2];a=a+4|0;if(!(c-16843009&(c^-1)&-2139062144)){continue}break}}while(1){c=a;d=k[c|0];if(d){a=c+1|0;if((d|0)!=(b&255)){continue}}break}return c}return W(a)+a|0}return a}function Bl(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=j[a+8>>2];c=j[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=ya(c,0,b)+b|0}j[a+4>>2]=c;return}a:{f=j[a>>2];g=c-f|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){c=0;e=e-f|0;i=e>>2;d=e>>3>>>0<268435455?d>>>0>i>>>0?d:i:536870911;if(d){if(d>>>0>=536870912){break a}c=U(d<<3)}b=b<<3;b=ya((h<<3)+c|0,0,b)+b|0;if((g|0)>=1){V(c,f,g)}j[a+8>>2]=(d<<3)+c;j[a+4>>2]=b;j[a>>2]=c;if(f){T(f)}return}X();z()}D();z()}function _b(a,b,c,d,e,f){var g=0,h=0,i=0,l=0;i=M-16|0;M=i;a:{if(!a){break a}h=j[e+12>>2];g=c-b|0;if((g|0)>=1){g=g>>2;if((O[j[j[a>>2]+48>>2]](a,b,g)|0)!=(g|0)){break a}}b=d-b>>2;g=(b|0)<(h|0)?h-b|0:0;if((g|0)>=1){h=a;f=ng(i,g,f);b=f;if(k[b+11|0]>>>7|0){b=j[b>>2]}b=O[j[j[a>>2]+48>>2]](h,b,g)|0;Y(f);if((b|0)!=(g|0)){break a}}b=d-c|0;if((b|0)>=1){b=b>>2;if((O[j[j[a>>2]+48>>2]](a,c,b)|0)!=(b|0)){break a}}j[e+12>>2]=0;l=a}M=i+16|0;return l}function Ca(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;j[a+4>>2]=j[a+4>>2]+1;c=M-16|0;M=c;j[c+12>>2]=a;a=d+8|0;j[a>>2]=j[c+12>>2];M=c+16|0;if(j[37621]-j[37620]>>2>>>0<=b>>>0){Ok(b+1|0)}if(j[j[37620]+(b<<2)>>2]){c=j[j[37620]+(b<<2)>>2];e=j[c+4>>2]-1|0;j[c+4>>2]=e;if((e|0)==-1){O[j[j[c>>2]+8>>2]](c)}}c=j[a>>2];j[a>>2]=0;j[j[37620]+(b<<2)>>2]=c;b=j[a>>2];j[a>>2]=0;if(b){a=j[b+4>>2]-1|0;j[b+4>>2]=a;if((a|0)==-1){O[j[j[b>>2]+8>>2]](b)}}M=d+16|0}function xg(a,b,c,d){var e=0,f=0,g=0,h=0;e=M-16|0;M=e;a:{b:{c:{d:{if((a|0)!=(b|0)){e:{f:{f=k[a|0];if((f|0)!=45){break f}a=a+1|0;if((b|0)!=(a|0)){break f}break e}h=j[37140];j[37140]=0;a=je(a,e+12|0,d,ra());d=N;g=j[37140];g:{if(g){if(j[e+12>>2]!=(b|0)){break g}if((g|0)==68){break c}break d}j[37140]=h;if(j[e+12>>2]==(b|0)){break d}}}}j[c>>2]=4;a=0;break a}if(!d){break b}}j[c>>2]=4;a=-1;break a}a=(f|0)==45?0-a|0:a}M=e+16|0;return a}function hb(a,b,c,d){var e=0,f=0;a:{if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}if(!e|(c-b|0)<5){break a}kd(b,c);f=c-4|0;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}if(k[a+11|0]>>>7|0){a=j[a>>2]}c=a;a=e+a|0;while(1){b:{e=h[c|0];if(b>>>0>=f>>>0){break b}if(!((e|0)<1|(e|0)>=127|j[b>>2]==h[c|0])){j[d>>2]=4;return}c=(a-c|0)>1?c+1|0:c;b=b+4|0;continue}break}if((e|0)<1|(e|0)>=127|h[c|0]>>>0>j[f>>2]-1>>>0){break a}j[d>>2]=4}}function Pc(a,b){var c=0,d=0,e=0;a:{d=k[a+11|0];c=d<<24>>24<0;d=c?j[a+4>>2]:d;if(!d){break a}c=c?j[a>>2]:a;a=c;e=d&3;if(e){a=c;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+2|0];a=a+1|0;e=e-1|0;if(e){continue}break}}if(d-1>>>0<=2){break a}c=c+d|0;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+2|0];h[a+1|0]=k[(p(k[a+1|0],3)+b|0)+2|0];h[a+2|0]=k[(p(k[a+2|0],3)+b|0)+2|0];h[a+3|0]=k[(p(k[a+3|0],3)+b|0)+2|0];a=a+4|0;if((c|0)!=(a|0)){continue}break}}}function Pa(a,b){var c=0,d=0,e=0;a:{d=k[a+11|0];c=d<<24>>24<0;d=c?j[a+4>>2]:d;if(!d){break a}c=c?j[a>>2]:a;a=c;e=d&3;if(e){a=c;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+1|0];a=a+1|0;e=e-1|0;if(e){continue}break}}if(d-1>>>0<=2){break a}c=c+d|0;while(1){h[a|0]=k[(p(k[a|0],3)+b|0)+1|0];h[a+1|0]=k[(p(k[a+1|0],3)+b|0)+1|0];h[a+2|0]=k[(p(k[a+2|0],3)+b|0)+1|0];h[a+3|0]=k[(p(k[a+3|0],3)+b|0)+1|0];a=a+4|0;if((c|0)!=(a|0)){continue}break}}}function Mn(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=M-16|0;M=d;f=(xr(b),sr(2));c=f&2147483647;a:{if(c-8388608>>>0<=2130706431){e=c;c=c>>>7|0;g=e<<25;c=c+1065353216|0;break a}if(c>>>0>=2139095040){c=f;e=c>>>7|0;g=c<<25;c=e|2147418112;break a}if(!c){c=0;break a}e=c;c=s(c);mb(d,e,0,0,0,c+81|0);h=j[d>>2];i=j[d+4>>2];g=j[d+8>>2];c=j[d+12>>2]^65536|16265-c<<16}j[a>>2]=h;j[a+4>>2]=i;j[a+8>>2]=g;j[a+12>>2]=f&-2147483648|c;M=d+16|0}function Ge(a,b){var c=0,d=0,e=0;c=M-32|0;M=c;a:{b:{if(j[a+56>>2]){j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;d=W(b);if(d>>>0>=4294967280){break a}c:{d:{if(d>>>0>=11){e=d+16&-16;a=U(e);j[c+8>>2]=e|-2147483648;j[c>>2]=a;j[c+4>>2]=d;e=c;break d}h[c+11|0]=d;e=c;a=c;if(!d){break c}}V(a,b,d)}h[a+d|0]=0;a=ia(c+16|0,c);if(h[e+11|0]<=-1){T(j[c>>2])}b=j[c+16>>2];if(!b){break b}j[c+20>>2]=b;T(b);break b}a=W(b)}M=c+32|0;return a}X();z()}function $b(a,b,c,d,e,f){var g=0,h=0,i=0,l=0;i=M-16|0;M=i;a:{if(!a){break a}h=j[e+12>>2];g=c-b|0;if((g|0)>=1){if((O[j[j[a>>2]+48>>2]](a,b,g)|0)!=(g|0)){break a}}b=d-b|0;g=(b|0)<(h|0)?h-b|0:0;if((g|0)>=1){h=a;f=pg(i,g,f);b=f;if(k[b+11|0]>>>7|0){b=j[b>>2]}b=O[j[j[a>>2]+48>>2]](h,b,g)|0;Y(f);if((b|0)!=(g|0)){break a}}b=d-c|0;if((b|0)>=1){if((O[j[j[a>>2]+48>>2]](a,c,b)|0)!=(b|0)){break a}}j[e+12>>2]=0;l=a}M=i+16|0;return l}function qg(a,b,c){var d=0,e=0,f=0,g=0;a:{d=j[a+4096>>2];e=j[d>>2];if((e|0)!=j[d+4>>2]){d=0;while(1){f=dc(j[(d<<2)+e>>2],b);if(!f){g=j[a+4096>>2];e=j[g>>2];d=d+1|0;if(d>>>0>2]-e>>2>>>0){continue}}break}if(f){break a}}d=gb(a,b,c,0,0);b:{if(d){break b}d=Qa(a,b,c,0,0,0,0,0);if(!j[a+4488>>2]){break b}j[a+4372>>2]=0;j[a+4376>>2]=0;if(d){break b}d=eb(a,b,c,0,0,0);if(d){break b}d=Lb(a,b,c,0)}return(d|0)!=0}return 1}function dc(a,b){var c=0,d=0,e=0,f=0;f=j[a+4>>2];if(!f){return 0}d=h[b|0];a:{if(!d){break a}c=h[b+1|0];if(!c){c=d;break a}c=c|d<<8;d=h[b+2|0];if(!d){break a}c=d|c<<8;d=h[b+3|0];if(!d){break a}c=d|c<<8;e=b+4|0;d=k[e|0];if(!d){break a}while(1){c=qr(c,5)^d<<24>>24;d=k[e+1|0];e=e+1|0;if(d){continue}break}}c=j[((c>>>0)%m[a>>2]<<2)+f>>2];if(c){while(1){if(!ba(b,c+17|0)){return c}c=j[c+8>>2];if(c){continue}break}}return 0}function Nq(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=j[a+8>>2];c=j[a+4>>2];if(e-c>>1>>>0>=b>>>0){if(b){b=b<<1;c=ya(c,0,b)+b|0}j[a+4>>2]=c;return}a:{f=j[a>>2];g=c-f|0;h=g>>1;d=h+b|0;if((d|0)>-1){c=0;e=e-f|0;d=e>>1>>>0<1073741823?d>>>0>e>>>0?d:e:2147483647;if(d){if((d|0)<=-1){break a}c=U(d<<1)}b=b<<1;b=ya((h<<1)+c|0,0,b)+b|0;if((g|0)>=1){V(c,f,g)}j[a+8>>2]=(d<<1)+c;j[a+4>>2]=b;j[a>>2]=c;if(f){T(f)}return}X();z()}D();z()}function wq(a,b){var c=0,d=0,e=0,f=0;c=M-16|0;M=c;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;a:{if(!b){break a}b=ca(b,121182);if(!b){break a}while(1){mc(c,(W(121182)+b|0)-1|0);d=h[c+11|0];b:{if((d|0)<=-1){if(j[c+4>>2]){break b}T(j[c>>2]);break a}if(!d){break a}}d=j[a+4>>2];c:{if((d|0)!=j[a+8>>2]){e=a,f=ha(d,c)+12|0,j[e+4>>2]=f;break c}Wb(a,c)}if(h[c+11|0]<=-1){T(j[c>>2])}b=ca(b+1|0,121182);if(b){continue}break}}M=c+16|0}function da(a,b){var c=0,d=0,e=0;a:{if(h[a+11|0]<=-1){h[j[a>>2]]=0;j[a+4>>2]=0;break a}h[a+11|0]=0;h[a|0]=0}c=j[b>>2];d=j[b+4>>2];if(c>>>0>>0){while(1){e=a;b=k[c+1|0];b:{c:{if(b){if(b>>>0>=8){Z(a,b>>>4|-32);b=k[c+1|0]<<2&60|k[c|0]>>>6|-128;break c}b=(b<<2|k[c|0]>>>6)+ -64|0;break c}b=h[c|0];if((b|0)>-1){break b}b=(b&192)>>>6|-64}Z(e,b<<24>>24);b=k[c|0]&63|-128}Z(a,b);c=c+2|0;if(d>>>0>c>>>0){continue}break}}}function ho(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=M-16|0;M=e;while(1){a:{if((c|0)<=(f|0)){break a}d=j[a+24>>2];g=j[a+28>>2];if(d>>>0>=g>>>0){if((O[j[j[a>>2]+52>>2]](a,k[b|0])|0)==-1){break a}f=f+1|0;b=b+1|0}else{j[e+12>>2]=g-d;j[e+8>>2]=c-f;d=M-16|0;M=d;M=d+16|0;d=e+8|0;g=e+12|0;d=j[(j[d>>2]>2]?d:g)>>2];ac(j[a+24>>2],b,d);j[a+24>>2]=d+j[a+24>>2];f=d+f|0;b=b+d|0}continue}break}M=e+16|0;return f|0}function vb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;pb(b,0,-1);d=j[a+4>>2];e=j[a+8>>2];if(d>>>0>>0){f=e;c=d;while(1){a:{g=c+1|0;j[a+4>>2]=g;b:{c:{h=j[a>>2];i=k[h+c|0];switch(i-10|0){case 0:break a;case 3:break c;default:break b}}if(k[g+h|0]!=10|f>>>0<=g>>>0){break a}j[a+4>>2]=c+2;break a}Z(b,i<<24>>24);c=j[a+4>>2];f=j[a+8>>2];if(c>>>0>>0){continue}}break}j[a+65792>>2]=j[a+65792>>2]+1}return d>>>0>>0}function Fe(a,b){var c=0,d=0;c=M-16|0;M=c;j[c+12>>2]=b;b=a+120|0;j[b>>2]=121312;j[a+12>>2]=121292;j[a+8>>2]=0;j[a>>2]=0;j[a+4>>2]=0;j[a+16>>2]=0;d=a+20|0;me(b,d);j[a+192>>2]=0;j[a+196>>2]=-1;j[b>>2]=121256;j[a+12>>2]=121236;qq(d);j[a+65792>>2]=0;j[a+200>>2]=0;h[a+204|0]=0;b=zp(c+12|0);a:{if(!b){j[c>>2]=j[c+12>>2];Mo(j[30369],c);break a}d=j[b>>2];j[a+8>>2]=j[b+4>>2];j[a+4>>2]=0;j[a>>2]=d}M=c+16|0;return a}function Xk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;b=M-32|0;M=b;d=ga(b+16|0);c=M-16|0;M=c;j[c+8>>2]=d;M=c+16|0;g=j[c+8>>2];if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}e=c;if(k[f+11|0]>>>7|0){c=j[f>>2]}else{c=f}if(k[f+11|0]>>>7|0){f=j[f+4>>2]}else{f=k[f+11|0]}Lf(g,e,c+f|0);if(k[d+11|0]>>>7|0){c=j[d>>2]}else{c=d}e=ga(a);a=M-16|0;M=a;j[a+8>>2]=e;M=a+16|0;Lf(j[a+8>>2],c,W(c)+c|0);Y(d);M=b+32|0}function ie(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0;e=M-160|0;M=e;ya(e+16|0,0,144);j[e+92>>2]=-1;j[e+60>>2]=b;j[e+24>>2]=-1;j[e+20>>2]=b;Hb(e+16|0,0,0);Rg(e,e+16|0,d,1);d=j[e+8>>2];g=j[e+12>>2];h=j[e>>2];i=j[e+4>>2];if(c){k=c;f=b;b=j[e+20>>2]-j[e+24>>2]|0;l=b;c=b+j[e+136>>2]|0;b=j[e+140>>2]+(b>>31)|0;b=c>>>0>>0?b+1|0:b;j[k>>2]=!(b|c)?f:f+c|0}j[a>>2]=h;j[a+4>>2]=i;j[a+8>>2]=d;j[a+12>>2]=g;M=e+160|0}function zj(){var a=0;a:{if(h[149464]&1){break a}if(!Ma(149464)){break a}a=149296;while(1){a=ga(a)+12|0;if((a|0)!=149464){continue}break}La(149464)}na(149296,132624);na(149308,132652);na(149320,132680);na(149332,132712);na(149344,132752);na(149356,132788);na(149368,132816);na(149380,132852);na(149392,132868);na(149404,132884);na(149416,132900);na(149428,132916);na(149440,132932);na(149452,132948)}function xi(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:1;g=d;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}a:{if(g-e>>>0>=c>>>0){if(!c){break a}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}rc(d+(e<<2)|0,b,c);b=c+e|0;c=b;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}j[f+12>>2]=0;j[d+(b<<2)>>2]=j[f+12>>2];break a}af(a,d,(c+e|0)-d|0,e,e,0,c,b)}M=f+16|0}function ob(a){var b=0,c=0,d=0,e=0,f=0;b=M-16|0;M=b;j[b+8>>2]=0;j[b>>2]=0;j[b+4>>2]=0;ia(b,a);c=j[b>>2];d=j[b+4>>2];a:{if((c|0)==(d|0)){break a}d=d-2|0;if(d>>>0<=c>>>0){break a}while(1){e=k[c|0]|k[c+1|0]<<8;f=k[d|0]|k[d+1|0]<<8;h[c|0]=f;h[c+1|0]=f>>>8;h[d|0]=e;h[d+1|0]=e>>>8;c=c+2|0;d=d-2|0;if(c>>>0>>0){continue}break}}da(a,b);c=j[b+4>>2];a=j[b>>2];if(a){j[b+4>>2]=a;T(a)}M=b+16|0;return c-a>>1}function Cj(){var a=0;a:{if(h[149288]&1){break a}if(!Ma(149288)){break a}a=149120;while(1){a=ga(a)+12|0;if((a|0)!=149288){continue}break}La(149288)}oa(149120,132536);oa(149132,132543);oa(149144,132550);oa(149156,132558);oa(149168,132568);oa(149180,132577);oa(149192,132584);oa(149204,132593);oa(149216,132597);oa(149228,132601);oa(149240,132605);oa(149252,132609);oa(149264,132613);oa(149276,132617)}function Uk(a,b,c,d){var e=0,f=0;e=M-160|0;M=e;j[e+152>>2]=b;f=e+144|0;a:{b:while(1){if(c>>>0>>0){j[e+8>>2]=c;if((O[j[j[a>>2]+16>>2]](a,e+144|0,c,(d-c|0)>32?c+32|0:d,e+8|0,e+16|0,f,e+12|0)|0)==2){break a}b=e+16|0;if(j[e+8>>2]==(c|0)){break a}while(1)if(m[e+12>>2]<=b>>>0){c=j[e+8>>2];continue b}else{j[e+4>>2]=j[b>>2];bd(j[e+152>>2],j[e+4>>2]);b=b+4|0;continue}}break}M=e+160|0;return}Fa();z()}function Bo(a,b){var c=0;a:{b:{if((a^b)&3){break b}if(b&3){while(1){c=k[b|0];h[a|0]=c;if(!c){break a}a=a+1|0;b=b+1|0;if(b&3){continue}break}}c=j[b>>2];if((c^-1)&c-16843009&-2139062144){break b}while(1){j[a>>2]=c;c=j[b+4>>2];a=a+4|0;b=b+4|0;if(!(c-16843009&(c^-1)&-2139062144)){continue}break}}c=k[b|0];h[a|0]=c;if(!c){break a}while(1){c=k[b+1|0];h[a+1|0]=c;a=a+1|0;b=b+1|0;if(c){continue}break}}}function Ap(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;Eh(a,h[b+11|0]<0?j[b>>2]:b,h[c+11|0]<0?j[c>>2]:c,d+12|0,d+8|0,d+4|0);a=j[d+4>>2];if(a){b=j[d+12>>2];a:{if(!b){break a}c=j[d+8>>2];if(!c){break a}f=c+1|0;while(1){b:{c:{switch(k[a+(p(b,f)+c|0)|0]){case 2:c=c-1|0;b=b-1|0;e=e+1|0;break b;case 0:b=b-1|0;break b;default:break c}}c=c-1|0}if(!b){break a}if(c){continue}break}}T(a)}M=d+16|0;return e}function Ld(a,b,c){var d=0,e=0,f=0;f=j[c+16>>2];a:{if(f){d=f}else{if(ai(c)){break a}d=j[c+16>>2]}f=j[c+20>>2];if(d-f>>>0>>0){return O[j[c+36>>2]](c,a,b)|0}b:{if(h[c+75|0]<0){break b}d=b;while(1){e=d;if(!e){e=0;break b}d=e-1|0;if(k[d+a|0]!=10){continue}break}d=O[j[c+36>>2]](c,a,e)|0;if(d>>>0>>0){break a}a=a+e|0;b=b-e|0;f=j[c+20>>2]}V(f,a,b);j[c+20>>2]=j[c+20>>2]+b;d=b+e|0}return d}function aa(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;g=d;if(k[a+11|0]>>>7|0){e=j[a+4>>2]}else{e=k[a+11|0]}a:{if(g-e>>>0>=c>>>0){if(!c){break a}if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}ac(d+e|0,b,c);b=c+e|0;c=b;b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}h[f+15|0]=0;h[b+d|0]=k[f+15|0];break a}cd(a,d,(c+e|0)-d|0,e,e,0,c,b)}M=f+16|0}function tg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0;e=M-32|0;M=e;a:{if((b|0)!=(c|0)){k=j[37140];j[37140]=0;Qi(e,b,e+28|0);b=j[e+8>>2];f=j[e+12>>2];g=j[e>>2];h=j[e+4>>2];i=j[37140];b:{if(i){if(j[e+28>>2]!=(c|0)){break b}if((i|0)!=68){break a}j[d>>2]=4;break a}j[37140]=k;if(j[e+28>>2]==(c|0)){break a}}}j[d>>2]=4;g=0;h=0;b=0;f=0}j[a>>2]=g;j[a+4>>2]=h;j[a+8>>2]=b;j[a+12>>2]=f;M=e+32|0}function bd(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;j[d+12>>2]=b;a:{b:{c:{d:{if(k[a+11|0]>>>7|0){c=(j[a+8>>2]&2147483647)-1|0;e=j[a+4>>2];if((c|0)==(e|0)){break d}break b}e=1;c=1;b=k[a+11|0];if((b|0)!=1){break c}}$e(a,c,1,c,c);b=e;if(k[a+11|0]>>>7|0){break b}}c=a;h[a+11|0]=b+1;break a}c=j[a>>2];j[a+4>>2]=e+1;b=e}a=(b<<2)+c|0;j[a>>2]=j[d+12>>2];j[d+8>>2]=0;j[a+4>>2]=j[d+8>>2];M=d+16|0}function Bg(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;a:{b:{if((a|0)!=(b|0)){g=j[37140];j[37140]=0;d=Fg(a,e+12|0,d,ra());a=N;f=j[37140];c:{if(f){if(j[e+12>>2]!=(b|0)){break c}if((f|0)==68){break b}break a}j[37140]=g;if(j[e+12>>2]==(b|0)){break a}}}j[c>>2]=4;d=0;a=0;break a}j[c>>2]=4;if((a|0)>0?1:(a|0)>=0?d>>>0>=1:0){d=-1;a=2147483647;break a}d=0;a=-2147483648}M=e+16|0;N=a;return d}function Z(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;h[d+15|0]=b;a:{b:{c:{d:{if(k[a+11|0]>>>7|0){c=(j[a+8>>2]&2147483647)-1|0;e=j[a+4>>2];if((c|0)==(e|0)){break d}break b}e=10;c=10;b=k[a+11|0];if((b|0)!=10){break c}}qb(a,c,1,c,c,0,0);b=e;if(k[a+11|0]>>>7|0){break b}}c=a;h[a+11|0]=b+1;break a}c=j[a>>2];j[a+4>>2]=e+1;b=e}a=b+c|0;h[a|0]=k[d+15|0];h[d+14|0]=0;h[a+1|0]=k[d+14|0];M=d+16|0}function xc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=M-16|0;M=e;f=j[a+4>>2];d=j[c>>2]-j[a>>2]|0;a:{if(d>>>0<2147483647){d=d<<1;break a}d=-1}g=d?d:4;h=j[b>>2];i=j[a>>2];d=vc((f|0)==78?0:j[a>>2],g);if(d){if((f|0)!=78){j[a>>2]=0}j[e+4>>2]=77;d=Da(e+8|0,d,e+4|0);Xf(a,d);f=j[d>>2];j[d>>2]=0;if(f){O[j[d+4>>2]](f)}j[b>>2]=j[a>>2]+(h-i|0);j[c>>2]=j[a>>2]+(g&-4);M=e+16|0;return}Fa();z()}function Dg(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=M-16|0;M=g;e=c-b>>2;if(e>>>0<=1073741807){a:{if(e>>>0<=1){h[a+11|0]=e;d=a;break a}i=a;if(e>>>0>=2){d=e+4&-4;f=d-1|0;d=(f|0)==2?d:f}else{d=1}f=d+1|0;d=Qc(f);j[i>>2]=d;j[a+8>>2]=f|-2147483648;j[a+4>>2]=e}while(1){if((b|0)!=(c|0)){j[d>>2]=j[b>>2];d=d+4|0;b=b+4|0;continue}break}j[g+12>>2]=0;j[d>>2]=j[g+12>>2];M=g+16|0;return}X();z()}function Eg(a,b,c){var d=0,e=0,f=0,g=0,i=0;g=M-16|0;M=g;e=c-b|0;if(e>>>0<=4294967279){a:{if(e>>>0<=10){h[a+11|0]=e;d=a;break a}i=a;if(e>>>0>=11){d=e+16&-16;f=d-1|0;d=(f|0)==11?d:f}else{d=10}f=d+1|0;d=U(f);j[i>>2]=d;j[a+8>>2]=f|-2147483648;j[a+4>>2]=e}while(1){if((b|0)!=(c|0)){h[d|0]=k[b|0];d=d+1|0;b=b+1|0;continue}break}h[g+15|0]=0;h[d|0]=k[g+15|0];M=g+16|0;return}X();z()}function yi(a,b,c){var d=0,e=0,f=0,g=0;e=M-16|0;M=e;d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:1;a:{if(d>>>0>=c>>>0){if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}f=d;if(c){Ki(d,b,c)}j[e+12>>2]=0;j[(c<<2)+f>>2]=j[e+12>>2];b:{if(k[a+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}break a}f=a;g=d;d=c-d|0;if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}af(f,g,d,a,0,a,c,b)}M=e+16|0}function yh(a,b){var c=0,d=0,e=0;c=Hc(a,b);if((c|0)==(a+4|0)){return}b=j[c+4>>2];a:{if(!b){d=j[c+8>>2];if(j[d>>2]==(c|0)){break a}b=c+8|0;while(1){d=j[b>>2];b=d+8|0;e=d;d=j[d+8>>2];if((e|0)!=j[d>>2]){continue}break}break a}while(1){d=b;b=j[d>>2];if(b){continue}break}}if(j[a>>2]==(c|0)){j[a>>2]=d}j[a+8>>2]=j[a+8>>2]-1;zh(j[a+4>>2],c);if(h[c+27|0]<=-1){T(j[c+16>>2])}T(c)}function _f(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=M-16|0;M=e;f=j[a+4>>2];d=j[c>>2]-j[a>>2]|0;a:{if(d>>>0<2147483647){d=d<<1;break a}d=-1}g=d?d:1;h=j[b>>2];i=j[a>>2];d=vc((f|0)==78?0:j[a>>2],g);if(d){if((f|0)!=78){j[a>>2]=0}j[e+4>>2]=77;d=Da(e+8|0,d,e+4|0);Xf(a,d);f=j[d>>2];j[d>>2]=0;if(f){O[j[d+4>>2]](f)}j[b>>2]=j[a>>2]+(h-i|0);j[c>>2]=g+j[a>>2];M=e+16|0;return}Fa();z()}function Xp(a,b,c,d,e){var f=0,g=0,i=0;f=M-32|0;M=f;j[f+24>>2]=0;j[f+16>>2]=0;j[f+20>>2]=0;a:{if(d){if((d|0)<=-1){break a}i=d<<1;g=U(i);j[f+16>>2]=g;d=(d<<1)+g|0;j[f+24>>2]=d;V(g,c,i);j[f+20>>2]=d}Oc(f+16|0,j[a+60>>2]);j[f+8>>2]=0;j[f>>2]=0;j[f+4>>2]=0;da(f,f+16|0);wa(a,b,f,e,0,0);if(h[f+11|0]<=-1){T(j[f>>2])}a=j[f+16>>2];if(a){j[f+20>>2]=a;T(a)}M=f+32|0;return}X();z()}function md(a,b,c){var d=0,e=0;if(c&2048){h[a|0]=43;a=a+1|0}if(c&1024){h[a|0]=35;a=a+1|0}d=c&260;if((d|0)!=260){h[a|0]=46;h[a+1|0]=42;a=a+2|0}c=c&16384;while(1){e=k[b|0];if(e){h[a|0]=e;a=a+1|0;b=b+1|0;continue}break}a:{b:{if((d|0)!=256){if((d|0)!=4){break b}b=c?70:102;break a}b=c?69:101;break a}b=c?65:97;if((d|0)==260){break a}b=c?71:103}h[a|0]=b;return(d|0)!=260}function ii(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(zb(a,j[b+8>>2],e)){if(!(j[b+28>>2]==1|j[b+4>>2]!=(c|0))){j[b+28>>2]=d}return}a:{if(!zb(a,j[b>>2],e)){break a}if(!(j[b+20>>2]!=(c|0)?j[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}j[b+32>>2]=1;return}j[b+20>>2]=c;j[b+32>>2]=d;j[b+40>>2]=j[b+40>>2]+1;if(!(j[b+36>>2]!=1|j[b+24>>2]!=2)){h[b+54|0]=1}j[b+44>>2]=4}}function Ic(a,b){var c=0,d=0,e=0,f=0;c=M-48|0;M=c;j[c+24>>2]=0;j[c+16>>2]=0;j[c+20>>2]=0;d=W(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){f=d+16&-16;e=U(f);j[c+8>>2]=f|-2147483648;j[c>>2]=e;j[c+4>>2]=d;break b}h[c+11|0]=d;e=c;if(!d){break a}}V(e,b,d)}h[d+e|0]=0;a=ib(a,c,0);if(h[c+11|0]<=-1){T(j[c>>2])}if(h[c+27|0]<=-1){T(j[c+16>>2])}M=c+48|0;return a}X();z()}function Dd(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;uq(a,b,c);b=j[b>>2];a:{if(!b){break a}e=j[b+4208>>2];if(!e){break a}c=j[a>>2];if((c|0)==j[a+4>>2]){break a}b=0;while(1){j[d+8>>2]=0;j[d>>2]=0;j[d+4>>2]=0;f=c;c=p(b,12);if(Yc(e,f+c|0,d)){ua(j[a>>2]+c|0,d)}if(h[d+11|0]<=-1){T(j[d>>2])}b=b+1|0;c=j[a>>2];if(b>>>0<(j[a+4>>2]-c|0)/12>>>0){continue}break}}M=d+16|0}function ee(a,b,c,d,e){var f=0,g=0,h=0;f=M-16|0;M=f;b=j[b+28>>2];j[f+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=sb(f+8|0);O[j[j[b>>2]+48>>2]](b,127568,127600,c)|0;b=zc(f+8|0);g=d,h=O[j[j[b>>2]+12>>2]](b)|0,j[g>>2]=h;g=e,h=O[j[j[b>>2]+16>>2]](b)|0,j[g>>2]=h;O[j[j[b>>2]+20>>2]](a,b);a=j[f+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=f+16|0}function bb(a){var b=0,c=0,d=0,e=0,f=0;a:{b:{c:{d:{e:{f:{b=k[a+11|0];e=b<<24>>24;if((e|0)<=-1){b=j[a+4>>2];if(b){break f}break a}if(e){break e}break a}d=b-1|0;c=k[d+j[a>>2]|0];if((c|0)!=13){break d}break c}d=b-1|0;c=k[d+a|0];if((c|0)==13){break c}}f=b;if((c|0)!=10){break b}}f=d}c=f;if(b>>>0<2){break a}c=c-(k[(((e|0)<0?j[a>>2]:a)+b|0)-2|0]==13)|0}Va(a,c)}function xo(a,b){var c=0,d=0,e=0,f=0;d=a+3|0;c=k[a+3|0];f=(c|0)!=0;e=c|(k[a+1|0]<<16|k[a|0]<<24|k[a+2|0]<<8);a=k[b|0]|k[b+1|0]<<8|(k[b+2|0]<<16|k[b+3|0]<<24);b=a<<24|a<<8&16711680|(a>>>8&65280|a>>>24);a:{if(!(!c|(e|0)==(b|0))){while(1){a=d+1|0;c=k[d+1|0];f=(c|0)!=0;e=c|e<<8;if((b|0)==(e|0)){break a}d=a;if(c){continue}break}break a}a=d}return f?a-3|0:0}function he(a,b,c,d,e){var f=0,g=0,i=0;f=M-16|0;M=f;b=j[b+28>>2];j[f+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=tb(f+8|0);O[j[j[b>>2]+32>>2]](b,127568,127600,c)|0;b=Bc(f+8|0);g=d,i=O[j[j[b>>2]+12>>2]](b)|0,h[g|0]=i;g=e,i=O[j[j[b>>2]+16>>2]](b)|0,h[g|0]=i;O[j[j[b>>2]+20>>2]](a,b);a=j[f+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=f+16|0}function Ji(a,b){var c=0,d=0,e=0,f=0;e=M-16|0;M=e;if(b){d=k[a+11|0]>>>7|0?(j[a+8>>2]&2147483647)-1|0:10;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}f=c+b|0;if(d-c>>>0>>0){qb(a,d,f-d|0,c,c,0,0)}d=c;if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}Ud(d+c|0,b,0);a:{if(k[a+11|0]>>>7|0){j[a+4>>2]=f;break a}h[a+11|0]=f}h[e+15|0]=0;h[c+f|0]=k[e+15|0]}M=e+16|0}function fq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a:{b:{if(j[b+64>>2]){if(!(O[j[j[b>>2]+24>>2]](b)|0)){break b}}break a}if(Be(j[b+64>>2],j[c+8>>2],j[c+12>>2],0)){break a}d=j[c+4>>2];j[b+72>>2]=j[c>>2];j[b+76>>2]=d;b=j[c+12>>2];j[a+8>>2]=j[c+8>>2];j[a+12>>2]=b;b=j[c+4>>2];j[a>>2]=j[c>>2];j[a+4>>2]=b;return}j[a+8>>2]=-1;j[a+12>>2]=-1;j[a>>2]=0;j[a+4>>2]=0}function rd(a,b,c,d){var e=0,f=0;e=M-160|0;M=e;V(e+8|0,123536,144);a:{b:{if(b-1>>>0>=2147483647){if(b){break b}b=1;a=e+159|0}j[e+52>>2]=a;j[e+28>>2]=a;f=-2-a|0;b=b>>>0>f>>>0?f:b;j[e+56>>2]=b;a=a+b|0;j[e+36>>2]=a;j[e+24>>2]=a;a=ph(e+8|0,c,d,64,65);if(!b){break a}b=j[e+28>>2];h[b-((b|0)==j[e+24>>2])|0]=0;break a}j[37140]=61;a=-1}M=e+160|0;return a}function Vk(a,b,c,d){var e=0,f=0;e=M+ -64|0;M=e;j[e+56>>2]=b;f=e+48|0;a:{b:while(1){if(c>>>0>>0){j[e+8>>2]=c;if((O[j[j[a>>2]+12>>2]](a,e+48|0,c,d,e+8|0,e+16|0,f,e+12|0)|0)==2){break a}b=e+16|0;if(j[e+8>>2]==(c|0)){break a}while(1)if(m[e+12>>2]<=b>>>0){c=j[e+8>>2];continue b}else{Jf(e+56|0,b);b=b+1|0;continue}}break}M=e- -64|0;return}Fa();z()}function Qd(a,b,c,d){h[a+53|0]=1;a:{if(j[a+4>>2]!=(c|0)){break a}h[a+52|0]=1;c=j[a+16>>2];if(!c){j[a+36>>2]=1;j[a+24>>2]=d;j[a+16>>2]=b;if((d|0)!=1|j[a+48>>2]!=1){break a}h[a+54|0]=1;return}if((b|0)==(c|0)){c=j[a+24>>2];if((c|0)==2){j[a+24>>2]=d;c=d}if(j[a+48>>2]!=1|(c|0)!=1){break a}h[a+54|0]=1;return}h[a+54|0]=1;j[a+36>>2]=j[a+36>>2]+1}}function xl(a,b,c,d,e,f){var g=0,h=0;g=O[j[j[a+8>>2]+8>>2]](a+8|0)|0;a=g;h=j[g+4>>2];a:{if(k[g+11|0]>>>7|0){break a}h=k[a+11|0]}if(k[g+23|0]>>>7|0){a=j[g+16>>2]}else{a=k[g+23|0]}if((h|0)==(0-a|0)){j[e>>2]=j[e>>2]|4;return}a=pd(c,d,g,g+24|0,f,e,0)-g|0;c=j[b>>2];if(!(a|(c|0)!=12)){j[b>>2]=0;return}if(!((a|0)!=12|(c|0)>11)){j[b>>2]=c+12}}function th(a,b,c,d){var e=0,f=0;if((d|0)==1){f=b;e=j[a+8>>2]-j[a+4>>2]|0;b=b-e|0;c=c-((e>>31)+(f>>>0>>0)|0)|0}a:{if(m[a+20>>2]>m[a+28>>2]){O[j[a+36>>2]](a,0,0)|0;if(!j[a+20>>2]){break a}}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;O[j[a+40>>2]](a,b,c,d)|0;if((N|0)<0){break a}j[a+4>>2]=0;j[a+8>>2]=0;j[a>>2]=j[a>>2]&-17;return 0}return-1}function Ql(a,b,c,d,e,f){var g=0,h=0;g=O[j[j[a+8>>2]+8>>2]](a+8|0)|0;a=g;h=j[g+4>>2];a:{if(k[g+11|0]>>>7|0){break a}h=k[a+11|0]}if(k[g+23|0]>>>7|0){a=j[g+16>>2]}else{a=k[g+23|0]}if((h|0)==(0-a|0)){j[e>>2]=j[e>>2]|4;return}a=qd(c,d,g,g+24|0,f,e,0)-g|0;c=j[b>>2];if(!(a|(c|0)!=12)){j[b>>2]=0;return}if(!((a|0)!=12|(c|0)>11)){j[b>>2]=c+12}}function zp(a){var b=0,c=0,d=0,e=0;b=M-16|0;M=b;e=j[a>>2];c=W(e);if(c>>>0<4294967280){a:{b:{if(c>>>0>=11){a=c+16&-16;d=U(a);j[b+8>>2]=a|-2147483648;j[b>>2]=d;j[b+4>>2]=c;a=b;break b}h[b+11|0]=c;a=b;d=b;if(!c){break a}}V(d,e,c)}e=0;h[c+d|0]=0;d=Hc(148544,b);if(h[a+11|0]<=-1){T(j[b>>2])}M=b+16|0;return(d|0)!=148548?j[d+28>>2]:e}X();z()}function kf(a,b,c){var d=0,e=0,f=0;f=M-16|0;M=f;d=a;if(k[d+11|0]>>>7|0){e=(j[d+8>>2]&2147483647)-1|0}else{e=10}a:{if(e>>>0>=c>>>0){e=k[d+11|0]>>>7|0?j[d>>2]:d;Jb(e,b,c);h[f+15|0]=0;h[c+e|0]=k[f+15|0];b:{if(k[d+11|0]>>>7|0){j[a+4>>2]=c;break b}h[a+11|0]=c}break a}a=k[d+11|0]>>>7|0?j[a+4>>2]:k[a+11|0];cd(d,e,c-e|0,a,0,a,c,b)}M=f+16|0}function Nb(a,b,c,d,e){var f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;h=e;e=0;i=e;f=c;c=0;e=or(h,e,f,c);k=N;g=b;l=or(d,0,b,0);b=N;d=or(d,m,f,c);c=b+d|0;b=N;b=c>>>0>>0?b+1|0:b;f=b;d=b+e|0;b=k;b=d>>>0>>0?b+1|0:b;f=d;e=b;b=or(g,n,h,i)+c|0;d=N;d=b>>>0>>0?d+1|0:d;g=d;d=d+f|0;j[a+8>>2]=d;j[a+12>>2]=d>>>0>>0?e+1|0:e;j[a>>2]=l;j[a+4>>2]=b}function dh(a){var b=0;a:{b=j[a+4>>2];if(!j[(j[j[b>>2]-12>>2]+b|0)+24>>2]){break a}b=j[a+4>>2];if(j[(j[j[b>>2]-12>>2]+b|0)+16>>2]){break a}b=j[a+4>>2];if(!(j[(j[j[b>>2]-12>>2]+b|0)+4>>2]&8192)){break a}b=j[a+4>>2];b=j[(j[j[b>>2]-12>>2]+b|0)+24>>2];if((O[j[j[b>>2]+24>>2]](b)|0)!=-1){break a}a=j[a+4>>2];ud(j[j[a>>2]-12>>2]+a|0,1)}}function uh(a,b,c){var d=0,e=0,f=0;d=k[c+74|0];h[c+74|0]=d-1|d;d=j[c+4>>2];e=j[c+8>>2]-d|0;f=b;a:{if((e|0)<1){break a}f=d;d=b>>>0>e>>>0?e:b;V(a,f,d);j[c+4>>2]=d+j[c+4>>2];a=a+d|0;f=b-d|0}d=f;if(d){while(1){b:{if(!mh(c)){e=O[j[c+32>>2]](c,a,d)|0;if(e+1>>>0>1){break b}}return b-d|0}a=a+e|0;d=d-e|0;if(d){continue}break}}return b}function ta(a){var b=0,c=0,d=0,e=0,f=0;while(1){b=a;a=b+1|0;c=h[b|0];if((c|0)==32|c-9>>>0<5){continue}break}a:{b:{c:{c=h[b|0];switch(c-43|0){case 0:break b;case 2:break c;default:break a}}e=1}c=h[a|0];b=a;f=e}if(c-48>>>0<10){while(1){d=(p(d,10)-h[b|0]|0)+48|0;a=h[b+1|0];b=b+1|0;if(a-48>>>0<10){continue}break}}return f?d:0-d|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=M+ -64|0;M=d;e=1;a:{if(zb(a,b,0)){break a}e=0;if(!b){break a}b=pi(b);e=0;if(!b){break a}ya(d+8|4,0,52);j[d+56>>2]=1;j[d+20>>2]=-1;j[d+16>>2]=a;j[d+8>>2]=b;O[j[j[b>>2]+28>>2]](b,d+8|0,j[c>>2],1);a=j[d+32>>2];if((a|0)==1){j[c>>2]=j[d+24>>2]}e=(a|0)==1}a=e;M=d- -64|0;return a|0}function W(a){var b=0,c=0,d=0;a:{b:{b=a;if(!(b&3)){break b}if(!k[a|0]){return 0}while(1){b=b+1|0;if(!(b&3)){break b}if(k[b|0]){continue}break}break a}while(1){c=b;b=b+4|0;d=j[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}if(!(d&255)){return c-a|0}while(1){d=k[c+1|0];b=c+1|0;c=b;if(d){continue}break}}return b-a|0}function Ie(a){var b=0,c=0,d=0;c=j[a+8>>2];if((c|0)>=1){while(1){b=j[j[a>>2]+(d<<2)>>2];if(b){if(h[b+59|0]<=-1){T(j[b+48>>2])}if(h[b+47|0]<0){T(j[b+36>>2])}if(h[b+35|0]<=-1){T(j[b+24>>2])}if(h[b+23|0]<=-1){T(j[b+12>>2])}if(h[b+11|0]<0){T(j[b>>2])}T(b);c=j[a+8>>2]}d=d+1|0;if((d|0)<(c|0)){continue}break}}T(j[a>>2]);return a}function Zq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=j[a+44>>2];c=j[a+24>>2];if(d>>>0>>0){j[a+44>>2]=c;d=c}c=j[a+12>>2];e=-1;a:{if(c>>>0<=m[a+8>>2]){break a}if((b|0)==-1){j[a+16>>2]=d;j[a+12>>2]=c-1;return 0}if(!(k[a+48|0]&16)){e=-1;if(k[c-1|0]!=(b&255)){break a}}j[a+16>>2]=d;d=a;a=c-1|0;j[d+12>>2]=a;h[a|0]=b;e=b}return e|0}function to(a,b){var c=0,d=0,e=0,f=0,g=0;e=M-16|0;M=e;c=a+4|0;Dc(a,a+2|0,c);d=a+6|0;while(1){if((b|0)!=(d|0)){if(l[d>>1]>1]){i[e+14>>1]=l[d>>1];g=d;while(1){a:{f=c;i[g>>1]=l[c>>1];if((a|0)==(c|0)){f=a;break a}g=f;c=f-2|0;if(l[e+14>>1]>1]){continue}}break}i[f>>1]=l[e+14>>1]}c=d;d=c+2|0;continue}break}M=e+16|0}function Wp(a,b,c,d){var e=0,f=0,g=0,i=0;e=M-16|0;M=e;f=W(c);if(f>>>0<4294967280){a:{b:{if(f>>>0>=11){g=f+16&-16;i=U(g);j[e+8>>2]=g|-2147483648;j[e>>2]=i;j[e+4>>2]=f;g=e;break b}h[e+11|0]=f;g=e;i=e;if(!f){break a}}V(i,c,f)}h[f+i|0]=0;Pc(e,j[a+52>>2]);wa(a,b,e,d,0,0);if(h[g+11|0]<=-1){T(j[e>>2])}M=e+16|0;return}X();z()}function An(){var a=0,b=0,c=0,d=0;b=M-32|0;M=b;while(1){c=Bn(a,1<>2]=c;d=((c|0)!=0)+d|0;a=a+1|0;if((a|0)!=6){continue}break}a=123376;a:{b:{c:{switch(d|0){case 0:break a;case 1:break c;default:break b}}if(j[b+8>>2]!=123348){break b}a=123400;break a}a=0}M=b+32|0;return a}function up(a){a=a|0;var b=0;b=U(76);j[b+4>>2]=0;j[b+8>>2]=0;j[b+12>>2]=0;j[b+16>>2]=0;j[b+40>>2]=0;j[b+44>>2]=0;j[b+36>>2]=a;j[b+60>>2]=0;j[b+64>>2]=0;j[b+56>>2]=121464;j[b>>2]=b+4;j[b+20>>2]=0;j[b+24>>2]=0;j[b+28>>2]=0;j[b+32>>2]=0;j[b+48>>2]=0;j[b+68>>2]=0;j[b+72>>2]=0;Ja(b+40|0,121454);j[b+52>>2]=0;return b|0}function wi(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(b>>>0<=1073741807){a:{if(b>>>0<=1){h[a+11|0]=b;d=a;break a}g=a;if(b>>>0>=2){d=b+4&-4;e=d-1|0;d=(e|0)==2?d:e}else{d=1}e=d+1|0;d=Qc(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=b}if(b){Li(d,c,b)}j[f+12>>2]=0;j[(b<<2)+d>>2]=j[f+12>>2];M=f+16|0;return}X();z()}function uo(a,b){var c=0,d=0,e=0,f=0,g=0;e=M-16|0;M=e;c=a+2|0;Ec(a,a+1|0,c);d=a+3|0;while(1){if((b|0)!=(d|0)){if(h[d|0]>2]=b;b=6;a:{b:{if(Ra(a,f+8|0)){break b}b=4;h=d;e=j[a>>2];g=j[e+12>>2];c:{if((g|0)==j[e+16>>2]){e=O[j[j[e>>2]+36>>2]](e)|0;break c}e=j[g>>2]}if((O[j[j[d>>2]+52>>2]](h,e,0)|0)!=37){break b}b=2;if(!Ra(Na(a),f+8|0)){break a}}j[c>>2]=j[c>>2]|b}M=f+16|0}function zi(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(c>>>0<=1073741807){a:{if(c>>>0<=1){h[a+11|0]=c;d=a;break a}g=a;if(c>>>0>=2){d=c+4&-4;e=d-1|0;d=(e|0)==2?d:e}else{d=1}e=d+1|0;d=Qc(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=c}rc(d,b,c);j[f+12>>2]=0;j[(c<<2)+d>>2]=j[f+12>>2];M=f+16|0;return}X();z()}function yl(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;j[e+8>>2]=b;while(1){a:{if(!jb(a,e+8|0)){break a}g=d;b=j[a>>2];f=j[b+12>>2];b:{if((f|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break b}b=j[f>>2]}if(!(O[j[j[d>>2]+12>>2]](g,8192,b)|0)){break a}Na(a);continue}break}if(Ra(a,e+8|0)){j[c>>2]=j[c>>2]|2}M=e+16|0}function Md(a){var b=0;b=1;a:{if((a|0)>=1024){b=8.98846567431158e+307;if((a|0)<2047){a=a-1023|0;break a}b=B;a=((a|0)<3069?a:3069)-2046|0;break a}if((a|0)>-1023){break a}b=2.2250738585072014e-308;if((a|0)>-2045){a=a+1022|0;break a}b=0;a=((a|0)>-3066?a:-3066)+2044|0}tr(0,0);tr(1,a+1023<<20);return b*+ur()}function Vd(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(c>>>0<=4294967279){a:{if(c>>>0<=10){h[a+11|0]=c;d=a;break a}g=a;if(c>>>0>=11){d=c+16&-16;e=d-1|0;d=(e|0)==11?d:e}else{d=10}e=d+1|0;d=U(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=c}ac(d,b,c);h[f+15|0]=0;h[c+d|0]=k[f+15|0];M=f+16|0;return}X();z()}function Ll(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-32|0;M=g;h=j[31955];j[g+24>>2]=j[31954];j[g+28>>2]=h;h=j[31953];j[g+16>>2]=j[31952];j[g+20>>2]=h;h=j[31951];j[g+8>>2]=j[31950];j[g+12>>2]=h;h=j[31949];j[g>>2]=j[31948];j[g+4>>2]=h;a=Yb(a,b,c,d,e,f,g,g+32|0);M=g+32|0;return a|0}function Jh(a,b,c,d){var e=0,f=0,g=0;e=M-32|0;M=e;j[e+24>>2]=0;j[e+16>>2]=0;j[e+20>>2]=0;a:{if((W(c)|0)<2){break a}f=j[a+44>>2];if(!f){break a}f=f+4216|0;if(j[f>>2]==j[f+4>>2]){break a}g=C()|0;j[e+8>>2]=100;j[e+12>>2]=g;He(a,c,e+16|0,0,b,d,f,e+8|0,e+12|0);if(h[e+27|0]>-1){break a}T(j[e+16>>2])}M=e+32|0}function Ff(a){a=a|0;var b=0,c=0,d=0,e=0;j[a>>2]=127856;b=a+16|0;while(1){if(j[b+4>>2]-j[b>>2]>>2>>>0>c>>>0){if(j[j[b>>2]+(c<<2)>>2]){d=j[j[b>>2]+(c<<2)>>2];e=j[d+4>>2]-1|0;j[d+4>>2]=e;if((e|0)==-1){O[j[j[d>>2]+8>>2]](d)}}c=c+1|0;continue}break}Y(a+176|0);if(j[b>>2]){Gf(b);nf(b+32|0,j[b>>2])}return a|0}function Ai(a,b,c){var d=0,e=0,f=0,g=0;f=M-16|0;M=f;if(b>>>0<=4294967279){a:{if(b>>>0<=10){h[a+11|0]=b;d=a;break a}g=a;if(b>>>0>=11){d=b+16&-16;e=d-1|0;d=(e|0)==11?d:e}else{d=10}e=d+1|0;d=U(e);j[g>>2]=d;j[a+8>>2]=e|-2147483648;j[a+4>>2]=b}Ud(d,b,c);h[f+15|0]=0;h[b+d|0]=k[f+15|0];M=f+16|0;return}X();z()}function _h(a,b){i[a+60>>1]=0;j[a+52>>2]=0;j[a+56>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[a+68>>2]=0;j[a+72>>2]=0;j[a+64>>2]=b;j[a>>2]=1072;j[a+12>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+76>>2]=0;j[a+80>>2]=0;j[a+84>>2]=0;j[a+88>>2]=0;j[a+92>>2]=0;j[a+96>>2]=0;j[a+100>>2]=0;j[a+104>>2]=0}function Mk(a){var b=0,c=0,d=0;c=M-32|0;M=c;a:{if(j[37624]-j[37621]>>2>>>0>=a>>>0){Hf(a);break a}b=Vi(c+8|0,Wi((j[37621]-j[37620]>>2)+a|0),j[37621]-j[37620]>>2);Ui(b,a);Ti(b);a=b;d=j[a+4>>2];while(1){if(j[a+8>>2]!=(d|0)){j[a+8>>2]=j[a+8>>2]-4;continue}break}if(j[b>>2]){nf(j[b+16>>2],j[b>>2])}}M=c+32|0}function Cb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=M-16|0;M=d;g=a;h=a;a:{if(!b){b=0;break a}c=b>>31;e=c+b^c;c=s(e);mb(d,e,0,0,0,c+81|0);e=0+j[d+8>>2]|0;c=(j[d+12>>2]^65536)+(16414-c<<16)|0;c=e>>>0>>0?c+1|0:c;f=b&-2147483648|c;c=j[d+4>>2];b=j[d>>2]}j[h>>2]=b;j[g+4>>2]=c;j[a+8>>2]=e;j[a+12>>2]=f;M=d+16|0}function fk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=M-16|0;M=f;j[e>>2]=c;a=Yd(f+12|0,0,j[a+8>>2]);c=2;a:{if(a+1>>>0<2){break a}b=a-1|0;c=1;if(b>>>0>d-j[e>>2]>>>0){break a}c=f+12|0;while(1){if(b){a=k[c|0];d=j[e>>2];j[e>>2]=d+1;h[d|0]=a;b=b-1|0;c=c+1|0;continue}break}c=0}M=f+16|0;return c|0}function Sh(a,b){var c=0,d=0,e=0,f=0;c=M-16|0;M=c;if(Oe(a,b)){j[c+8>>2]=0;j[c>>2]=0;j[c+4>>2]=0;a:{if(!j[a+16>>2]){d=k[b+11|0];d=d<<24>>24<0?j[b+4>>2]:d;e=Nc(b,j[a+52>>2]);break a}d=ia(c,b);e=Mc(c,j[a+24>>2]);f=j[c>>2];if(!f){break a}j[c+4>>2]=f;T(f)}Lc(a,b,d,0,0,0,0,e);Pe(a,b,d,0,0,0,e)}M=c+16|0}function yo(a,b){var c=0,d=0,e=0,f=0;d=a+2|0;c=k[a+2|0];e=(c|0)!=0;a=k[a+1|0]<<16|k[a|0]<<24|c<<8;f=k[b+1|0]<<16|k[b|0]<<24|k[b+2|0]<<8;a:{if(!(!c|(a|0)==(f|0))){while(1){b=d+1|0;c=k[d+1|0];e=(c|0)!=0;a=(a|c)<<8;if((f|0)==(a|0)){break a}d=b;if(c){continue}break}break a}b=d}return e?b-2|0:0}function sh(a){var b=0,c=0,d=0,e=0,f=0;b=j[a+40>>2];c=O[b|0](a,0,0,k[a|0]&128?m[a+20>>2]>m[a+28>>2]?2:1:1)|0;b=N;d=b;if((b|0)>0?1:(b|0)>=0){e=j[a+20>>2]-j[a+28>>2]|0;a=j[a+8>>2]-j[a+4>>2]|0;f=c-a|0;b=e+f|0;a=(d-((a>>31)+(c>>>0>>0)|0)|0)+(e>>31)|0;c=b;d=b>>>0>>0?a+1|0:a}N=d;return c}function Zh(a,b,c){var d=0;a:{b:{c:{d=k[b|0]|k[b+1|0]<<8;if((d|0)!=73){break c}c=c-90|0;if(c>>>0>12|!(1<>1];if((d|0)==(c|0)){break a}d=c>>>8|0}h[b|0]=c;h[b+1|0]=d}b=k[b|0]|k[b+1|0]<<8;h[a|0]=b;h[a+1|0]=b>>>8}function ke(a){var b=0,c=0,d=0,e=0;e=W(a);a:{if(!j[37163]|!k[a|0]){break a}if(Ya(a,61)){break a}b=j[j[37163]>>2];if(!b){break a}b:{while(1){d=Db(a,b,e);b=j[37163];if(!d){d=j[b+(c<<2)>>2]+e|0;if(k[d|0]==61){break b}}c=c+1|0;b=j[b+(c<<2)>>2];if(b){continue}break}return 0}c=d+1|0}return c}function Uh(a,b){var c=0,d=0;c=j[a+8>>2];if((c|0)!=(b|0)){while(1){d=c-60|0;j[a+8>>2]=d;if(h[d+59|0]<=-1){T(j[d+48>>2])}if(h[c-13|0]<0){T(j[c-24>>2])}if(h[c-25|0]<=-1){T(j[c-36>>2])}if(h[c-37|0]<=-1){T(j[c-48>>2])}if(h[d+11|0]<0){T(j[d>>2])}c=j[a+8>>2];if((c|0)!=(b|0)){continue}break}}}function Cc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=M-16|0;M=c;g=a;h=a;a:{if(!b){b=0;e=0;break a}d=b;b=s(b);mb(c,d,0,0,0,b+81|0);d=0+j[c+8>>2]|0;b=(j[c+12>>2]^65536)+(16414-b<<16)|0;b=d>>>0>>0?b+1|0:b;f=d;d=b;b=j[c+4>>2];e=j[c>>2]}j[h>>2]=e;j[g+4>>2]=b;j[a+8>>2]=f;j[a+12>>2]=d;M=c+16|0}function ci(a,b){var c=0,d=0,e=0;c=Ba(a,10,0);if((c|0)!=-1){while(1){d=k[b+11|0];e=d<<24>>24<0;Hi(a,c,e?j[b>>2]:b,e?j[b+4>>2]:d);d=c;c=k[b+11|0];c=Ba(a,10,(d+(c<<24>>24<0?j[b+4>>2]:c)|0)+1|0);if((c|0)!=-1){continue}break}}d=a;a=k[b+11|0];c=a<<24>>24<0;aa(d,c?j[b>>2]:b,c?j[b+4>>2]:a)}function wb(a,b){var c=0;a:{c=j[a>>2];if((c|0)==j[a+4>>2]){break a}b:{c:{a=k[c|0]|k[c+1|0]<<8;if((a|0)!=105){break c}b=b-90|0;if(b>>>0>12|!(1<>1];if((a|0)==(b|0)){break a}a=b>>>8|0}h[c|0]=b;h[c+1|0]=a}}function Kl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=a;h=b;b=O[j[j[a+8>>2]+20>>2]](a+8|0)|0;a=b;if(k[b+11|0]>>>7|0){a=j[a>>2]}i=a;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}return Yb(g,h,c,d,e,f,i,a+(b<<2)|0)|0}function vg(a,b,c){var d=0,e=q(0),f=0;d=M-16|0;M=d;a:{if((a|0)!=(b|0)){f=j[37140];j[37140]=0;ra();e=tn(a,d+12|0);a=j[37140];b:{if(a){if(j[d+12>>2]!=(b|0)){break b}if((a|0)!=68){break a}j[c>>2]=4;break a}j[37140]=f;if(j[d+12>>2]==(b|0)){break a}}}j[c>>2]=4;e=q(0)}M=d+16|0;return e}function ir(a,b){var c=0;a:{c=j[a>>2];if((c|0)==j[a+4>>2]){break a}b:{c:{a=k[c|0]|k[c+1|0]<<8;if((a|0)!=73){break c}b=b-90|0;if(b>>>0>12|!(1<>1];if((a|0)==(b|0)){break a}a=b>>>8|0}h[c|0]=b;h[c+1|0]=a}}function ck(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;while(1){a:{if((c|0)==(d|0)|e>>>0<=g>>>0){break a}f=1;b:{c:{h=bk(c,d-c|0,b,j[a+8>>2]);switch(h+2|0){case 0:case 1:break a;case 2:break b;default:break c}}f=h}g=g+1|0;i=f+i|0;c=c+f|0;continue}break}return i|0}function Wh(a){var b=0,c=0;b=j[a+4>>2];c=j[a>>2];if((b|0)!=(c|0)){while(1){if(h[b-1|0]<=-1){T(j[b-12>>2])}if(h[b-13|0]<0){T(j[b-24>>2])}if(h[b-25|0]<=-1){T(j[b-36>>2])}if(h[b-37|0]<=-1){T(j[b-48>>2])}b=b-60|0;if(h[b+11|0]<0){T(j[b>>2])}if((b|0)!=(c|0)){continue}break}}j[a+4>>2]=c}function ca(a,b){var c=0,d=0;c=h[b|0];if(!c){return a}a=Ya(a,c);a:{if(!a){break a}if(!k[b+1|0]){return a}if(!k[a+1|0]){break a}if(!k[b+2|0]){return zo(a,b)}if(!k[a+2|0]){break a}if(!k[b+3|0]){return yo(a,b)}if(!k[a+3|0]){break a}if(!k[b+4|0]){return xo(a,b)}d=wo(a,b)}return d}function am(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=a;h=b;b=O[j[j[a+8>>2]+20>>2]](a+8|0)|0;a=b;if(k[b+11|0]>>>7|0){a=j[a>>2]}i=a;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}return Zb(g,h,c,d,e,f,i,a+b|0)|0}function Ch(a){var b=0,c=0;a:{if(!a|!k[a|0]){break a}b=ca(a,121425);b:{if(b){break b}b=ca(a,121413);if(b){break b}b=ca(a,121417);if(!b){break a}}while(1){a=b+1|0;b=ca(a,121425);c:{if(b){break c}b=ca(a,121413);if(b){break c}b=ca(a,121417)}c=c+1|0;if(b){continue}break}}return c}function _l(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=tb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}jg(a,f+16|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function Jl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=sb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}gg(a,f+24|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function Il(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=sb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}fg(a,f+16|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function $l(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=M-16|0;M=g;j[g+8>>2]=b;b=j[d+28>>2];j[g>>2]=b;j[b+4>>2]=j[b+4>>2]+1;h=tb(g);b=j[g>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}kg(a,f+24|0,g+8|0,c,e,h);M=g+16|0;return j[g+8>>2]}function ug(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;a:{if((a|0)!=(b|0)){f=j[37140];j[37140]=0;ra();e=rn(a,d+12|0);a=j[37140];b:{if(a){if(j[d+12>>2]!=(b|0)){break b}if((a|0)!=68){break a}j[c>>2]=4;break a}j[37140]=f;if(j[d+12>>2]==(b|0)){break a}}}j[c>>2]=4;e=0}M=d+16|0;return e}function Bi(a,b){var c=0,d=0,e=0;d=M-16|0;M=d;j[d+12>>2]=j[a+4>>2];j[d+8>>2]=j[b+4>>2];c=M-16|0;M=c;M=c+16|0;c=d+8|0;e=d+12|0;c=ae(j[a>>2],j[b>>2],j[(m[c>>2]>2]?c:e)>>2]);a:{if(c){break a}c=0;if(j[a+4>>2]==j[b+4>>2]){break a}c=m[a+4>>2]>2]?-1:1}M=d+16|0;return c}function Gc(a,b,c){var d=0,e=0,f=0;a:{if(b>>>0<1){d=a;break a}while(1){d=pr(a,b,10);e=N;f=e;e=or(d,e,10,0);c=c-1|0;h[c|0]=a-e|48;e=b>>>0>9;a=d;b=f;if(e){continue}break}}if(d){while(1){c=c-1|0;a=(d>>>0)/10|0;h[c|0]=d-p(a,10)|48;b=d>>>0>9;d=a;if(b){continue}break}}return c}function Zl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;a=M-16|0;M=a;j[a+8>>2]=b;b=j[d+28>>2];j[a>>2]=b;j[b+4>>2]=j[b+4>>2]+1;g=tb(a);b=j[a>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}ig(f+20|0,a+8|0,c,e,g);M=a+16|0;return j[a+8>>2]}function Hl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;a=M-16|0;M=a;j[a+8>>2]=b;b=j[d+28>>2];j[a>>2]=b;j[b+4>>2]=j[b+4>>2]+1;g=sb(a);b=j[a>>2];d=j[b+4>>2]-1|0;j[b+4>>2]=d;if((d|0)==-1){O[j[j[b>>2]+8>>2]](b)}eg(f+20|0,a+8|0,c,e,g);M=a+16|0;return j[a+8>>2]}function Ce(a){var b=0,c=0;a:{if(m[a+20>>2]<=m[a+28>>2]){break a}O[j[a+36>>2]](a,0,0)|0;if(j[a+20>>2]){break a}return-1}b=j[a+4>>2];c=j[a+8>>2];if(b>>>0>>0){b=b-c|0;O[j[a+40>>2]](a,b,b>>31,1)|0}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;return 0}function Ei(a,b,c,d){var e=0,f=0,g=0;e=M-16|0;M=e;d=d-c|0;a:{if(!d){b=a;break a}if((d|0)>(b-a|0)){break a}h[e+15|0]=k[c|0];g=1-d|0;while(1){f=b-a|0;if((d|0)>(f|0)){break a}a=ff(a,g+f|0,e+15|0);if(!a){break a}if(ae(a,c,d)){a=a+1|0;continue}break}b=a}M=e+16|0;return b}function zo(a,b){var c=0,d=0,e=0,f=0;c=k[a+1|0];e=(c|0)!=0;a:{if(!c){break a}c=c|k[a|0]<<8;f=k[b+1|0]|k[b|0]<<8;if((c|0)==(f|0)){break a}b=a+1|0;while(1){a=b;d=k[a+1|0];e=(d|0)!=0;if(!d){break a}b=a+1|0;c=c<<8&65280|d;if((f|0)!=(c|0)){continue}break}}return e?a:0}function Oo(a){var b=0,c=0,d=0,e=0;e=j[a+76>>2]>=0;d=j[a>>2]&1;if(!d){b=j[a+52>>2];if(b){j[b+56>>2]=j[a+56>>2]}c=j[a+56>>2];if(c){j[c+52>>2]=b}if(j[37143]==(a|0)){j[37143]=c}}De(a);O[j[a+12>>2]](a)|0;b=j[a+96>>2];if(b){T(b)}a:{if(!d){T(a);break a}if(!e){break a}}}function qh(a,b){var c=0,d=0,e=0;vr(+a);c=sr(1)|0;d=sr(0)|0;e=c;c=c>>>20&2047;if((c|0)!=2047){if(!c){c=b;if(a==0){b=0}else{a=qh(a*0x10000000000000000,b);b=j[b>>2]+ -64|0}j[c>>2]=b;return a}j[b>>2]=c-1022;tr(0,d|0);tr(1,e&-2146435073|1071644672);a=+ur()}return a}function li(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(zb(a,j[b+8>>2],0)){Rd(b,c,d);return}e=j[a+12>>2];f=a+16|0;Ze(f,b,c,d);a:{if((e|0)<2){break a}e=(e<<3)+f|0;a=a+24|0;while(1){Ze(a,b,c,d);a=a+8|0;if(e>>>0<=a>>>0){break a}if(!k[b+54|0]){continue}break}}}function sa(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+12>>2]=d;d=k[b+11|0]>>>7|0?j[b+4>>2]:k[b+11|0];if(d>>>0>>0){X();z()}b=k[b+11|0]>>>7|0?j[b>>2]:b;j[e+4>>2]=d-c;d=M-16|0;M=d;M=d+16|0;d=b+c|0;b=e+4|0;c=e+12|0;Vd(a,d,j[(m[b>>2]>2]?b:c)>>2]);M=e+16|0;return a}function Sc(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;b=j[b+28>>2];j[d+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=zc(d+8|0);e=c,f=O[j[j[b>>2]+16>>2]](b)|0,j[e>>2]=f;O[j[j[b>>2]+20>>2]](a,b);a=j[d+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=d+16|0}function Uc(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;b=j[b+28>>2];j[d+8>>2]=b;j[b+4>>2]=j[b+4>>2]+1;b=Bc(d+8|0);e=c,f=O[j[j[b>>2]+16>>2]](b)|0,h[e|0]=f;O[j[j[b>>2]+20>>2]](a,b);a=j[d+8>>2];b=j[a+4>>2]-1|0;j[a+4>>2]=b;if((b|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=d+16|0}function ln(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;a:{while(1){if((d|0)!=(e|0)){a=-1;if((b|0)==(c|0)){break a}f=j[b>>2];g=j[d>>2];if((f|0)<(g|0)){break a}if((f|0)>(g|0)){return 1}else{d=d+4|0;b=b+4|0;continue}}break}a=(b|0)!=(c|0)}return a|0}function on(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;a:{while(1){if((d|0)!=(e|0)){a=-1;if((b|0)==(c|0)){break a}f=h[b|0];g=h[d|0];if((f|0)<(g|0)){break a}if((f|0)>(g|0)){return 1}else{d=d+1|0;b=b+1|0;continue}}break}a=(b|0)!=(c|0)}return a|0}function lc(a){a=a|0;var b=0;j[a>>2]=121328;b=j[a+64>>2];if(b){Lh(a);Oo(b);j[a+64>>2]=0;O[j[j[a>>2]+12>>2]](a,0,0)|0}a:{if(!k[a+96|0]){break a}b=j[a+32>>2];if(!b){break a}T(b)}b:{if(!k[a+97|0]){break b}b=j[a+56>>2];if(!b){break b}T(b)}lb(a);return a|0}function Cn(){var a=0,b=0;a=M-16|0;M=a;a:{if(J(a+12|0,a+8|0)|0){break a}b=ja((j[a+12>>2]<<2)+4|0);j[37163]=b;if(!b){break a}b=ja(j[a+8>>2]);if(!b){j[37163]=0;break a}j[j[37163]+(j[a+12>>2]<<2)>>2]=0;if(!(I(j[37163],b|0)|0)){break a}j[37163]=0}M=a+16|0}function mh(a){var b=0,c=0;b=k[a+74|0];h[a+74|0]=b-1|b;if(m[a+20>>2]>m[a+28>>2]){O[j[a+36>>2]](a,0,0)|0}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;b=j[a>>2];if(b&4){j[a>>2]=b|32;return-1}c=j[a+44>>2]+j[a+48>>2]|0;j[a+8>>2]=c;j[a+4>>2]=c;return b<<27>>31}function dq(a,b){a=a|0;b=b|0;var c=0,d=0;c=-1;a:{if(!j[a+64>>2]){break a}d=j[a+12>>2];if(d>>>0<=m[a+8>>2]){break a}if((b|0)==-1){j[a+12>>2]=d-1;return 0}if(k[d-1|0]!=(b&255)?!(k[a+88|0]&16):0){break a}c=a;a=d-1|0;j[c+12>>2]=a;h[a|0]=b;c=b}return c|0}function jc(a,b,c,d){var e=0;if(d&2048){h[a|0]=43;a=a+1|0}if(d&512){h[a|0]=35;a=a+1|0}while(1){e=k[b|0];if(e){h[a|0]=e;a=a+1|0;b=b+1|0;continue}break}e=d&74;b=111;a:{if((e|0)==64){break a}b=d&16384?88:120;if((e|0)==8){break a}b=c?100:117}h[a|0]=b}function Ml(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=M-16|0;M=e;j[e+8>>2]=b;b=6;a:{b:{if(Sa(a,e+8|0)){break b}b=4;if(((g=d,h=Ga(a),i=0,f=j[j[d>>2]+36>>2],O[f](g|0,h|0,i|0)|0)|0)!=37){break b}b=2;if(!Sa(Oa(a),e+8|0)){break a}}j[c>>2]=j[c>>2]|b}M=e+16|0}function Rl(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+8>>2]=b;while(1){a:{if(!kb(a,e+8|0)){break a}b=Ga(a);if((b|0)>=0){b=(l[j[d+8>>2]+((b&255)<<1)>>1]&8192)!=0}else{b=0}if(!b){break a}Oa(a);continue}break}if(Sa(a,e+8|0)){j[c>>2]=j[c>>2]|2}M=e+16|0}function _q(a){a=a|0;var b=0,c=0,d=0;b=j[a+44>>2];c=j[a+24>>2];if(b>>>0>>0){j[a+44>>2]=c;b=c}d=-1;a:{if(!(k[a+48|0]&8)){break a}c=j[a+16>>2];if(c>>>0>>0){j[a+16>>2]=b}else{b=c}a=j[a+12>>2];if(a>>>0>=b>>>0){break a}d=k[a|0]}return d|0}function vc(a,b){var c=0,d=0;if(!a){return ja(b)}if(b>>>0>=4294967232){j[37140]=48;return 0}c=ei(a-8|0,b>>>0<11?16:b+11&-8);if(c){return c+8|0}c=ja(b);if(!c){return 0}d=j[a-4>>2];d=(d&3?-4:-8)+(d&-8)|0;V(c,a,b>>>0>d>>>0?d:b);T(a);return c}function cl(a,b,c){var d=0;d=M-32|0;M=d;j[d+16>>2]=b;j[d+24>>2]=a;j[d+8>>2]=c;while(1){a=j[d+24>>2]==j[d+16>>2]^1;if(!(!a|j[j[d+24>>2]>>2]!=j[j[d+8>>2]>>2])){j[d+24>>2]=j[d+24>>2]+4;j[d+8>>2]=j[d+8>>2]+4;continue}break}M=d+32|0;return a^1}function aq(a){var b=0,c=0,d=0;ya(a+16|0,255,1024);d=j[a+4>>2];while(1){a:{b=p(c,12)+d|0;b:{if(h[b+11|0]<=-1){b=k[j[b>>2]];if(b){break b}break a}b=k[b|0];if(!b){break a}}b=(b<<2)+a|0;if(j[b+16>>2]<=-1){j[b+16>>2]=c}c=c+2|0;continue}break}}function Gg(a,b,c,d,e){var f=0;f=M-144|0;M=f;j[f+44>>2]=a;j[f+4>>2]=a;j[f>>2]=0;j[f+76>>2]=-1;j[f+8>>2]=(a|0)<0?-1:a+2147483647|0;Hb(f,0,0);c=Pg(f,c,1,d,e);d=N;if(b){j[b>>2]=((j[f+4>>2]+j[f+120>>2]|0)-j[f+8>>2]|0)+a}M=f+144|0;N=d;return c}function Dc(a,b,c){var d=0,e=0;e=l[c>>1]>1];a:{b:{if(l[b>>1]>=l[a>>1]){d=0;if(!e){break a}$a(b,c);d=1;if(l[b>>1]>=l[a>>1]){break a}$a(a,b);break b}if(e){$a(a,c);return 1}$a(a,b);d=1;if(l[c>>1]>=l[b>>1]){break a}$a(b,c)}d=2}return d}function wm(a,b){var c=0,d=0;c=M-16|0;M=c;a=j[a+28>>2];j[c+8>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=sb(c+8|0);O[j[j[a>>2]+48>>2]](a,127568,127594,b)|0;a=j[c+8>>2];d=j[a+4>>2]-1|0;j[a+4>>2]=d;if((d|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=c+16|0;return b}function gh(a){var b=0,c=0,d=0;b=M-16|0;M=b;if(j[(j[j[a>>2]-12>>2]+a|0)+24>>2]){c=eh(b+8|0,a);a:{if(!k[c|0]){break a}d=j[(j[j[a>>2]-12>>2]+a|0)+24>>2];if((O[j[j[d>>2]+24>>2]](d)|0)!=-1){break a}ud(j[j[a>>2]-12>>2]+a|0,1)}dh(c)}M=b+16|0}function Hf(a){var b=0,c=0;b=M-16|0;M=b;j[b>>2]=150480;c=j[37621];j[b+4>>2]=c;j[b+8>>2]=(a<<2)+c;a=j[b+4>>2];while(1){if(j[b+8>>2]!=(a|0)){j[j[b+4>>2]>>2]=0;a=j[b+4>>2]+4|0;j[b+4>>2]=a;continue}break}j[j[b>>2]+4>>2]=j[b+4>>2];M=b+16|0}function Ci(a,b,c,d,e,f){var g=0,h=0;g=M-48|0;M=g;h=j[d+4>>2];j[g+40>>2]=j[d>>2];j[g+44>>2]=h;ef(g+24|0,a);df(g+32|0,g+24|0,b,c);df(g+16|0,g+40|0,e,f);a=j[g+20>>2];j[g+8>>2]=j[g+16>>2];j[g+12>>2]=a;a=Bi(g+32|0,g+8|0);M=g+48|0;return a}function Wi(a){var b=0,c=0;c=M-16|0;M=c;j[c+12>>2]=a;b=a;a=pf();if(b>>>0<=a>>>0){b=j[37624]-j[37620]>>2;if(b>>>0>>1>>>0){j[c+8>>2]=b<<1;a=M-16|0;M=a;M=a+16|0;a=c+12|0;b=c+8|0;a=j[(m[b>>2]>2]?a:b)>>2]}M=c+16|0;return a}X();z()}function jl(a,b,c){var d=0;d=M-32|0;M=d;j[d+16>>2]=b;j[d+24>>2]=a;j[d+8>>2]=c;while(1){a=j[d+24>>2]==j[d+16>>2]^1;if(!(!a|k[j[d+24>>2]]!=k[j[d+8>>2]])){j[d+24>>2]=j[d+24>>2]+1;j[d+8>>2]=j[d+8>>2]+1;continue}break}M=d+32|0;return a^1}function Ui(a,b){var c=0,d=0;c=M-16|0;M=c;j[c>>2]=j[a+8>>2];d=j[a+8>>2];j[c+8>>2]=a+8;j[c+4>>2]=(b<<2)+d;b=j[c>>2];while(1){if(j[c+4>>2]!=(b|0)){j[j[c>>2]>>2]=0;b=j[c>>2]+4|0;j[c>>2]=b;continue}break}j[j[c+8>>2]>>2]=j[c>>2];M=c+16|0}function Db(a,b,c){var d=0,e=0,f=0;if(!c){return 0}d=k[a|0];a:{if(!d){break a}while(1){b:{e=k[b|0];if((e|0)!=(d|0)){break b}c=c-1|0;if(!c|!e){break b}b=b+1|0;d=k[a+1|0];a=a+1|0;if(d){continue}break a}break}f=d}return(f&255)-k[b|0]|0}function Bb(a,b,c){c=j[c+4>>2]&176;if((c|0)==32){return b}a:{if((c|0)!=16){break a}b:{c:{c=k[a|0];switch(c-43|0){case 0:case 2:break c;default:break b}}return a+1|0}if((c|0)!=48|(b-a|0)<2|(k[a+1|0]|32)!=120){break a}a=a+2|0}return a}function kr(a,b){var c=0,d=0,e=0;c=k[b|0]|k[b+1|0]<<8;a:{if((c|0)!=105){break a}}d=j[37135];b:{if(!d){break b}e=c;c=l[(d+p(c,6)|0)+2>>1];if((e|0)==(c|0)){break b}h[b|0]=c;h[b+1|0]=c>>>8}b=k[b|0]|k[b+1|0]<<8;h[a|0]=b;h[a+1|0]=b>>>8}function Xb(a,b){var c=0,d=0,e=0,f=0;c=j[a+4096>>2];d=j[c>>2];a:{if((d|0)==j[c+4>>2]){break a}c=0;while(1){e=dc(j[(c<<2)+d>>2],b);if(e){break a}f=j[a+4096>>2];d=j[f>>2];c=c+1|0;if(c>>>0>2]-d>>2>>>0){continue}break}}return e}function co(a,b){var c=0,d=0;c=M-32|0;M=c;h[a|0]=0;d=j[j[b>>2]-12>>2]+b|0;a:{if(!j[(j[j[b>>2]-12>>2]+b|0)+16>>2]){if(j[d+72>>2]){gh(j[(j[j[b>>2]-12>>2]+b|0)+72>>2])}h[a|0]=!j[(j[j[b>>2]-12>>2]+b|0)+16>>2];break a}ud(d,4)}M=c+32|0}function Ua(a){var b=0,c=0;a:{c=k[a+11|0];b=c<<24>>24<0;c=b?j[a+4>>2]:c;if(!c){break a}a=b?j[a>>2]:a;b=(c+a|0)-1|0;if(a>>>0>=b>>>0){break a}while(1){c=k[a|0];h[a|0]=k[b|0];h[b|0]=c;a=a+1|0;b=b-1|0;if(a>>>0>>0){continue}break}}}function Ec(a,b,c){var d=0,e=0;e=h[c|0]=h[a|0]){d=0;if(!e){break a}Xa(b,c);d=1;if(h[b|0]>=h[a|0]){break a}Xa(a,b);break b}if(e){Xa(a,c);return 1}Xa(a,b);d=1;if(h[c|0]>=h[b|0]){break a}Xa(b,c)}d=2}return d}function Zc(a){a=a|0;var b=0;j[a>>2]=1032;if(k[a+29|0]&16){T(j[a+48>>2])}b=j[a+52>>2];if(!(!b|k[a+29|0]&8)){T(b)}b=j[a+56>>2];if(!(!b|k[a+29|0]&4)){T(b)}if(h[a+27|0]<=-1){T(j[a+16>>2])}if(h[a+15|0]<=-1){T(j[a+4>>2])}return a|0}function Wn(a){var b=0,c=0,d=0;b=M-16|0;M=b;a=j[a+28>>2];j[b+8>>2]=a;j[a+4>>2]=j[a+4>>2]+1;a=tb(b+8|0);d=O[j[j[a>>2]+28>>2]](a,32)|0;a=j[b+8>>2];c=j[a+4>>2]-1|0;j[a+4>>2]=c;if((c|0)==-1){O[j[j[a>>2]+8>>2]](a)}M=b+16|0;return d}function ql(a,b,c,d,e,f){var g=0;g=M-144|0;M=g;j[g+28>>2]=g+132;dg(a,g+32|0,g+28|0,d,e,f);j[g+16>>2]=0;j[g+20>>2]=0;j[g+12>>2]=g+32;a=pl(b,g+12|0,j[c>>2]-b>>2,g+16|0,j[a>>2]);if((a|0)==-1){Fa();z()}j[c>>2]=(a<<2)+b;M=g+144|0}function Yp(a){var b=0;j[a+44>>2]=0;b=j[a>>2];if(b){T(b)}j[a>>2]=0;j[a+4>>2]=0;b=j[a+20>>2];if(b){T(b)}j[a+48>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;b=j[a+28>>2];if(b){j[a+32>>2]=b;T(b)}b=j[a+8>>2];if(b){j[a+12>>2]=b;T(b)}return a}function wh(a,b){i[a+60>>1]=0;j[a+52>>2]=0;j[a+56>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;j[a+68>>2]=0;j[a+72>>2]=0;j[a+64>>2]=b;j[a>>2]=1048;j[a+12>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+76>>2]=0;j[a+80>>2]=0}function mr(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=p(e,f);g=c&65535;h=a&65535;i=p(g,h);f=(i>>>16|0)+p(f,g)|0;e=(f&65535)+p(e,h)|0;a=(p(b,c)+j|0)+p(a,d)+(f>>>16)+(e>>>16)|0;b=i&65535|e<<16;N=a;return b}function df(a,b,c,d){var e=0,f=0;e=M-16|0;M=e;j[e+12>>2]=d;if(m[b+4>>2]>>0){Fa();z()}d=j[b>>2];j[e+8>>2]=j[b+4>>2]-c;b=M-16|0;M=b;M=b+16|0;b=e+8|0;f=e+12|0;j[a+4>>2]=j[(m[b>>2]>2]?b:f)>>2];j[a>>2]=c+d;M=e+16|0}function te(a,b,c,d,e){var f=0;f=ue(a,b,c,d);if(l[e>>1]>1]){$a(d,e);if(l[d>>1]>=l[c>>1]){return f+1|0}$a(c,d);if(l[c>>1]>=l[b>>1]){return f+2|0}$a(b,c);if(l[b>>1]>=l[a>>1]){return f+3|0}$a(a,b);f=f+4|0}return f}function Xq(a,b,c){j[a>>2]=0;j[a+4>>2]=0;i[a+20>>1]=65510;j[a+16>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;ya(a+24|0,0,88);Wq(a,c);a:{if(!Vq(a,b)){break a}T(j[a+4>>2]);j[a>>2]=1;b=Nd(1,4);j[a+4>>2]=b;if(b){break a}j[a>>2]=0}}function rq(a,b){var c=0,d=0;a:{if(!a){break a}c=j[a>>2];if(!c){break a}d=1;if((b|0)>=1){T(j[c>>2]);if((b|0)!=1){while(1){T(j[j[a>>2]+(d<<2)>>2]);d=d+1|0;if((d|0)!=(b|0)){continue}break}}c=j[a>>2]}T(c);j[a>>2]=0}}function za(a){var b=0,c=0,d=0;b=M-32|0;M=b;j[b+12>>2]=0;j[b+8>>2]=79;c=j[b+12>>2];j[b>>2]=j[b+8>>2];j[b+4>>2]=c;d=j[b+4>>2];c=b+16|0;j[c+4>>2]=j[b>>2];j[c+8>>2]=d;j[c>>2]=a;Jk(a,c);M=b+32|0;return j[a+4>>2]-1|0}function Rd(a,b,c){var d=0;d=j[a+16>>2];if(!d){j[a+36>>2]=1;j[a+24>>2]=c;j[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(j[a+24>>2]!=2){break a}j[a+24>>2]=c;return}h[a+54|0]=1;j[a+24>>2]=2;j[a+36>>2]=j[a+36>>2]+1}}function Ne(a,b,c){var d=0;a:{if(c){d=j[c+8>>2];if(d){break a}}c=j[b>>2];while(1){b:{c=c+1|0;j[b>>2]=c;if(j[a>>2]<=(c|0)){break b}d=j[j[a+4>>2]+(c<<2)>>2];if(!d){continue}break a}break}j[b>>2]=-1;d=0}return d}function ve(a,b,c,d,e){var f=0;f=we(a,b,c,d);if(h[e|0]=h[c|0]){return f+1|0}Xa(c,d);if(h[c|0]>=h[b|0]){return f+2|0}Xa(b,c);if(h[b|0]>=h[a|0]){return f+3|0}Xa(a,b);f=f+4|0}return f}function De(a){var b=0;if(a){if(j[a+76>>2]<=-1){return Ce(a)}return Ce(a)}if(j[37139]){b=De(j[37139])}a=j[37143];if(a){while(1){if(m[a+20>>2]>m[a+28>>2]){b=Ce(a)|b}a=j[a+56>>2];if(a){continue}break}}return b}function el(a,b,c){var d=0;d=gb(a,b,c,0,0);a:{if(d){break a}d=Qa(a,b,c,0,0,0,0,0);if(!j[a+4488>>2]){break a}j[a+4372>>2]=0;j[a+4376>>2]=0;if(d){break a}d=eb(a,b,c,0,0,0);if(d){break a}d=Lb(a,b,c,0)}return d}function Vi(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;j[d+12>>2]=0;f=a+12|0;j[f>>2]=0;j[f+4>>2]=150512;if(b){e=of(j[a+16>>2],b)}j[a>>2]=e;c=(c<<2)+e|0;j[a+8>>2]=c;j[a+4>>2]=c;j[a+12>>2]=(b<<2)+e;M=d+16|0;return a}function Ki(a,b,c){var d=0;a:{if(a-b>>2>>>0>>0){while(1){c=c-1|0;d=c<<2;j[d+a>>2]=j[b+d>>2];if(c){continue}break a}}if(!c){break a}while(1){j[a>>2]=j[b>>2];a=a+4|0;b=b+4|0;c=c-1|0;if(c){continue}break}}}function Hb(a,b,c){var d=0,e=0,f=0,g=0;j[a+112>>2]=b;j[a+116>>2]=c;d=j[a+8>>2];g=j[a+4>>2];e=d-g|0;f=e>>31;j[a+120>>2]=e;j[a+124>>2]=f;j[a+104>>2]=b|c?((c|0)<(f|0)?1:(c|0)<=(f|0)?b>>>0>>0:0)?b+g|0:d:d}function yn(a,b,c){var d=0,e=0,f=0;d=M-16|0;M=d;j[d+12>>2]=c;j[d+8>>2]=c;e=-1;c=rd(0,0,b,c);a:{if((c|0)<0){break a}f=a;c=c+1|0;a=ja(c);j[f>>2]=a;if(!a){break a}e=rd(a,c,b,j[d+12>>2])}M=d+16|0;return e}function ub(a,b,c,d,e){var f=0;f=M-256|0;M=f;if(!(e&73728|(c|0)<=(d|0))){c=c-d|0;d=c>>>0<256;ya(f,b&255,d?c:256);if(!d){while(1){ab(a,f,256);c=c-256|0;if(c>>>0>255){continue}break}}ab(a,f,c)}M=f+256|0}function Zj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=Xj(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function Uj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=Tj(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function Sj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=Rj(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function $j(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=M-16|0;M=a;j[a+12>>2]=c;j[a+8>>2]=f;b=_j(c,d,a+12|0,f,g,a+8|0);j[e>>2]=j[a+12>>2];j[h>>2]=j[a+8>>2];M=a+16|0;return b|0}function se(a){a=a|0;var b=0,c=0;j[a>>2]=122280;qo(a);b=j[a+28>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}T(j[a+32>>2]);T(j[a+36>>2]);T(j[a+48>>2]);T(j[a+60>>2]);return a|0}function dg(a,b,c,d,e,f){var g=0,i=0,k=0;g=M-16|0;M=g;h[g+15|0]=0;h[g+14|0]=f;h[g+13|0]=e;h[g+12|0]=37;if(f){Xa(g+13|0,g+14|0)}i=c,k=(H(b|0,j[c>>2]-b|0,g+12|0,d|0,j[a>>2])|0)+b|0,j[i>>2]=k;M=g+16|0}function Eo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=M-16|0;M=e;a=L(j[a+60>>2],b|0,c|0,d&255,e+8|0)|0;b=0;a:{if(!a){break a}j[37140]=a;b=-1}a=b;M=e+16|0;N=a?-1:j[e+12>>2];return(a?-1:j[e+8>>2])|0}function Ng(a,b,c,d){a:{if(!a){break a}b:{switch(b+2|0){case 0:h[a|0]=c;return;case 1:i[a>>1]=c;return;case 2:case 3:j[a>>2]=c;return;case 5:break b;default:break a}}j[a>>2]=c;j[a+4>>2]=d}}function ai(a){var b=0;b=k[a+74|0];h[a+74|0]=b-1|b;b=j[a>>2];if(b&8){j[a>>2]=b|32;return-1}j[a+4>>2]=0;j[a+8>>2]=0;b=j[a+44>>2];j[a+28>>2]=b;j[a+20>>2]=b;j[a+16>>2]=b+j[a+48>>2];return 0}function ba(a,b){var c=0,d=0;c=k[a|0];d=k[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=k[b+1|0];c=k[a+1|0];if(!c){break a}b=b+1|0;a=a+1|0;if((c|0)==(d|0)){continue}break}}return c-d|0}function al(a,b){var c=0,d=0;c=M-16|0;M=c;if(k[a+11|0]>>>7|0){T(j[a>>2])}j[a+8>>2]=j[b+8>>2];d=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=d;h[b+11|0]=0;j[c+12>>2]=0;j[b>>2]=j[c+12>>2];M=c+16|0}function qj(){var a=0;a:{if(h[150104]&1){break a}if(!Ma(150104)){break a}a=150080;while(1){a=ga(a)+12|0;if((a|0)!=150104){continue}break}La(150104)}oa(150080,133616);oa(150092,133619)}function nj(){var a=0;a:{if(h[150136]&1){break a}if(!Ma(150136)){break a}a=150112;while(1){a=ga(a)+12|0;if((a|0)!=150136){continue}break}La(150136)}na(150112,133624);na(150124,133636)}function nc(a){var b=0,c=0;b=j[37129];c=a+3&-4;a=b+c|0;a:{if(a>>>0<=b>>>0?(c|0)>=1:0){break a}if(a>>>0>zr()<<16>>>0){if(!(G(a|0)|0)){break a}}j[37129]=a;return b}j[37140]=48;return-1}function cp(a,b){a=a|0;b=b|0;var c=0,d=0;bp(a,b);d=W(b);c=k[a+51|0];a:{if((d|0)!=((c<<24>>24<0?j[a+44>>2]:c)|0)){break a}c=a+40|0;if(_(c,0,-1,b,d)){break a}Ja(c,121454);j[a+52>>2]=0}}function bl(a,b){var c=0,d=0;c=M-16|0;M=c;if(k[a+11|0]>>>7|0){T(j[a>>2])}j[a+8>>2]=j[b+8>>2];d=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=d;h[b+11|0]=0;h[c+15|0]=0;h[b|0]=k[c+15|0];M=c+16|0}function le(a,b,c,d,e,f,g,h,i){var k=0;k=M-16|0;M=k;yb(k,b,c,d,e,f,g,h,i^-2147483648);b=j[k+4>>2];j[a>>2]=j[k>>2];j[a+4>>2]=b;b=j[k+12>>2];j[a+8>>2]=j[k+8>>2];j[a+12>>2]=b;M=k+16|0}function ic(a){var b=0,c=0,d=0;b=M-16|0;M=b;d=b;if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}j[d+8>>2]=c+(a<<2);M=b+16|0;return j[b+8>>2]}function Ve(a,b){var c=0;a:{b:{if((a|0)!=105){break b}b=b-90|0;if(b>>>0>12){break b}c=304;if(1<>1]}return c&65535}function Ze(a,b,c,d){var e=0,f=0,g=0,h=0;f=j[a+4>>2];a=j[a>>2];g=a;h=b;e=0;a:{if(!c){break a}b=f>>8;e=b;if(!(f&1)){break a}e=j[b+j[c>>2]>>2]}O[j[j[a>>2]+28>>2]](g,h,e+c|0,f&2?d:2)}function Ue(a,b){var c=0;a:{b:{if((a|0)!=73){break b}b=b-90|0;if(b>>>0>12){break b}c=305;if(1<>1]}return c&65535}function gr(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}lb(a+12|0);Wa(a- -64|0);return a|0}function ha(a,b){var c=0,d=0;c=M-16|0;M=c;a:{if(!(k[b+11|0]>>>7|0)){j[a+8>>2]=j[b+8>>2];d=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=d;break a}Vd(a,j[b>>2],j[b+4>>2])}M=c+16|0;return a}function Ii(a,b){var c=0,d=0;c=M-16|0;M=c;a:{if(k[a+11|0]>>>7|0){d=j[a>>2];h[c+15|0]=0;h[b+d|0]=k[c+15|0];j[a+4>>2]=b;break a}h[c+14|0]=0;h[a+b|0]=k[c+14|0];h[a+11|0]=b}M=c+16|0}function sl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;c=M-128|0;M=c;j[c+12>>2]=c+116;dg(a+8|0,c+16|0,c+12|0,e,f,g);a=Pi(c+16|0,j[c+12>>2],b);M=c+128|0;return a|0}function rl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;c=M-416|0;M=c;j[c+12>>2]=c+416;ql(a+8|0,c+16|0,c+12|0,e,f,g);a=Oi(c+16|0,j[c+12>>2],b);M=c+416|0;return a|0}function hr(a){a=a|0;var b=0,c=0,d=0;c=a+56|0;j[c>>2]=120340;b=a-8|0;j[b>>2]=120300;d=a+4|0;j[d>>2]=120536;j[a>>2]=120320;if(h[a+47|0]<=-1){T(j[b+44>>2])}lb(d);Wa(c);return b|0}function mk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=M-16|0;M=a;j[a+12>>2]=e;j[a+8>>2]=d-c;b=M-16|0;M=b;M=b+16|0;M=a+16|0;b=a+8|0;a=a+12|0;return j[(m[b>>2]>2]?b:a)>>2]}function kc(a){var b=0,c=0,d=0;b=M-16|0;M=b;d=b;if(k[a+11|0]>>>7|0){c=j[a>>2]}else{c=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}j[d+8>>2]=c+a;M=b+16|0;return j[b+8>>2]}function fl(a){var b=0,c=0;b=M-16|0;M=b;a:{if(k[a+11|0]>>>7|0){c=j[a>>2];j[b+12>>2]=0;j[c>>2]=j[b+12>>2];j[a+4>>2]=0;break a}j[b+8>>2]=0;j[a>>2]=j[b+8>>2];h[a+11|0]=0}M=b+16|0}function fb(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=c;j[f+8>>2]=e;c=Kb(f,f+12|0);b=rd(a,b,d,j[f+8>>2]);a=j[c>>2];if(a){if(a){j[37115]=(a|0)==-1?148624:a}}M=f+16|0;return b}function bm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=M-16|0;M=g;j[g+8>>2]=624576549;j[g+12>>2]=1394948685;a=Zb(a,b,c,d,e,f,g+8|0,g+16|0);M=g+16|0;return a|0}function zk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=j[b>>2];if(a>>>0<=127){a=j[j[31504]+(j[b>>2]<<2)>>2]}j[d>>2]=a;b=b+4|0;continue}break}return c|0}function sg(a,b,c){var d=0;d=M-16|0;M=d;j[d+12>>2]=b;j[d+8>>2]=c;b=Kb(d,d+12|0);c=Mg(a,127601,j[d+8>>2]);a=j[b>>2];if(a){if(a){j[37115]=(a|0)==-1?148624:a}}M=d+16|0;return c}function Vg(a){var b=0,c=0;b=j[a>>2];if(b){c=j[b+12>>2];a:{if((c|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break a}b=j[c>>2]}if((b|0)!=-1){return!j[a>>2]}j[a>>2]=0}return 1}function Bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=j[b>>2];if(a>>>0<=127){a=j[j[31116]+(j[b>>2]<<2)>>2]}j[d>>2]=a;b=b+4|0;continue}break}return c|0}function dr(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}lb(a+12|0);Wa(a- -64|0);T(a)}function Wg(a){var b=0,c=0;b=j[a>>2];if(b){c=j[b+12>>2];a:{if((c|0)==j[b+16>>2]){b=O[j[j[b>>2]+36>>2]](b)|0;break a}b=k[c|0]}if((b|0)!=-1){return!j[a>>2]}j[a>>2]=0}return 1}function ll(a){var b=0,c=0;b=M-16|0;M=b;a:{if(k[a+11|0]>>>7|0){c=j[a>>2];h[b+15|0]=0;h[c|0]=k[b+15|0];j[a+4>>2]=0;break a}h[b+14|0]=0;h[a|0]=k[b+14|0];h[a+11|0]=0}M=b+16|0}function Dk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a:{while(1){if((c|0)==(d|0)){break a}if(!(!(l[j[30920]+(j[c>>2]<<1)>>1]&b)|m[c>>2]>127)){c=c+4|0;continue}break}d=c}return d|0}function er(a){a=a|0;var b=0,c=0,d=0;c=a+56|0;j[c>>2]=120340;b=a-8|0;j[b>>2]=120300;d=a+4|0;j[d>>2]=120536;j[a>>2]=120320;if(h[a+47|0]<=-1){T(j[b+44>>2])}lb(d);Wa(c);T(b)}function Sb(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+12>>2]=b;j[e+8>>2]=d;b=Kb(e,e+12|0);c=yn(a,c,j[e+8>>2]);a=j[b>>2];if(a){if(a){j[37115]=(a|0)==-1?148624:a}}M=e+16|0;return c}function ue(a,b,c,d){var e=0;e=Dc(a,b,c);if(l[d>>1]>1]){$a(c,d);if(l[c>>1]>=l[b>>1]){return e+1|0}$a(b,c);if(l[b>>1]>=l[a>>1]){return e+2|0}$a(a,b);e=e+3|0}return e}function Ek(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){a:{if((c|0)!=(d|0)){if(!(l[j[30920]+(j[c>>2]<<1)>>1]&b)|m[c>>2]>127){break a}}else{c=d}return c|0}c=c+4|0;continue}}function tk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=h[b|0];if((a|0)>=0){a=j[j[31116]+(h[b|0]<<2)>>2]}h[d|0]=a;b=b+1|0;continue}break}return c|0}function rk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;while(1){if((b|0)!=(c|0)){d=b;a=h[b|0];if((a|0)>=0){a=j[j[31504]+(h[b|0]<<2)>>2]}h[d|0]=a;b=b+1|0;continue}break}return c|0}function Nd(a,b){var c=0,d=0,e=0;c=0;a:{if(!a){break a}d=or(a,0,b,0);e=N;c=d;if((a|b)>>>0<65536){break a}c=e?-1:d}b=c;a=ja(b);if(!(!a|!(k[a-4|0]&3))){ya(a,0,b)}return a}function qa(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}while(1){d=k[a|0];e=k[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}f=d-e|0}return f}function bk(a,b,c,d){var e=0;e=M-16|0;M=e;j[e+12>>2]=d;d=Kb(e+8|0,e+12|0);b=sd(0,a,b,c?c:148668);a=j[d>>2];if(a){if(a){j[37115]=(a|0)==-1?148624:a}}M=e+16|0;return b}function pf(){var a=0,b=0;a=M-16|0;M=a;j[a+12>>2]=1073741823;j[a+8>>2]=2147483647;b=M-16|0;M=b;M=b+16|0;M=a+16|0;b=a+8|0;a=a+12|0;return j[(m[b>>2]>2]?b:a)>>2]}function oh(a){var b=0,c=0,d=0;if(h[j[a>>2]]-48>>>0<10){while(1){b=j[a>>2];d=h[b|0];j[a>>2]=b+1;c=(p(c,10)+d|0)-48|0;if(h[b+1|0]-48>>>0<10){continue}break}}return c}function eh(a,b){j[a+4>>2]=b;h[a|0]=0;if(!j[(j[j[b>>2]-12>>2]+b|0)+16>>2]){if(j[(j[j[b>>2]-12>>2]+b|0)+72>>2]){gh(j[(j[j[b>>2]-12>>2]+b|0)+72>>2])}h[a|0]=1}return a}function Fn(a,b,c){var d=0,e=0,f=0;e=j[a+84>>2];d=c+256|0;f=Aa(e,0,d);d=f?f-e|0:d;c=c>>>0>d>>>0?d:c;V(b,e,c);b=e+d|0;j[a+84>>2]=b;j[a+8>>2]=b;j[a+4>>2]=c+e;return c}function we(a,b,c,d){var e=0;e=Ec(a,b,c);if(h[d|0]=h[b|0]){return e+1|0}Xa(b,c);if(h[b|0]>=h[a|0]){return e+2|0}Xa(a,b);e=e+3|0}return e}function Fk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((b|0)!=(c|0)){i[d>>1]=m[b>>2]<=127?l[j[30920]+(j[b>>2]<<1)>>1]:0;d=d+2|0;b=b+4|0;continue}break}return c|0}function hk(a,b,c,d,e,f){var g=0;g=M-16|0;M=g;j[g+12>>2]=f;f=Kb(g+8|0,g+12|0);b=un(a,b,c,d,e);a=j[f>>2];if(a){if(a){j[37115]=(a|0)==-1?148624:a}}M=g+16|0;return b}function dk(a){var b=0,c=0;b=M-16|0;M=b;j[b+12>>2]=a;a=Kb(b+8|0,b+12|0);c=M-16|0;M=c;M=c+16|0;a=j[a>>2];if(a){if(a){j[37115]=(a|0)==-1?148624:a}}M=b+16|0;return 0}function wf(a){var b=0,c=0;b=M-16|0;M=b;j[b+12>>2]=a;a=Kb(b+8|0,b+12|0);c=j[j[37115]>>2]?4:1;a=j[a>>2];if(a){if(a){j[37115]=(a|0)==-1?148624:a}}M=b+16|0;return c}function Lk(){var a=0;a:{if(h[148860]&1){break a}if(!Ma(148860)){break a}a=j[Pk()>>2];j[37213]=a;j[a+4>>2]=j[a+4>>2]+1;j[37214]=148852;La(148860)}return j[37214]}function Yj(a){var b=0,c=0;b=k[a+4115|0];c=b<<24>>24;if((c|0)<=-1){b=j[a+4108>>2]}a=a+4104|0;if(!b){Ja(a,1770);c=h[a+11|0]}if((c|0)<=-1){a=j[a>>2]}return cb(a)}function xf(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=e;e=Kb(f+8|0,f+12|0);b=sd(a,b,c,d);a=j[e>>2];if(a){if(a){j[37115]=(a|0)==-1?148624:a}}M=f+16|0;return b}function pl(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=e;e=Kb(f+8|0,f+12|0);b=Hg(a,b,c,d);a=j[e>>2];if(a){if(a){j[37115]=(a|0)==-1?148624:a}}M=f+16|0;return b}function jk(a,b,c,d,e){var f=0;f=M-16|0;M=f;j[f+12>>2]=e;e=Kb(f+8|0,f+12|0);b=vn(a,b,c,d);a=j[e>>2];if(a){if(a){j[37115]=(a|0)==-1?148624:a}}M=f+16|0;return b}function hn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=0;while(1){if((b|0)!=(c|0)){a=j[b>>2]+(a<<4)|0;d=a&-268435456;a=(d|d>>>24)^a;b=b+4|0;continue}break}return a|0}function We(a){var b=0;a:{if(!a){break a}while(1){b:{switch(k[a|0]){case 0:case 9:case 10:case 32:break a;default:break b}}b=b+1|0;a=a+1|0;continue}}return b}function Kq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}lb(a+4|0);Wa(a+56|0);return a|0}function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=0;while(1){if((b|0)!=(c|0)){a=h[b|0]+(a<<4)|0;d=a&-268435456;a=(d|d>>>24)^a;b=b+1|0;continue}break}return a|0}function vi(a){a=a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}lb(a+12|0);Wa(a- -64|0);return a|0}function wk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((b|0)!=(c|0)){a=j[b>>2];h[e|0]=a>>>0<128?a:d;e=e+1|0;b=b+4|0;continue}break}return c|0}function dd(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=a;M=d+16|0;d=j[d+8>>2];a=M-16|0;M=a;j[a+8>>2]=b;M=a+16|0;a=j[a+8>>2]-d|0;if(a){Ka(c,d,a)}return a+c|0}function Oj(a){var b=0,c=0;b=a+4116|0;a:{b:{c=h[a+4127|0];if((c|0)<=-1){if(j[a+4120>>2]){break b}return 0}if(c){break a}return 0}b=j[b>>2]}return cb(b)}function Iq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}lb(a+4|0);Wa(a+56|0);T(a)}function pq(a){var b=0;b=j[a>>2];if(b){T(b)}b=j[a+212>>2];if(b){j[a+216>>2]=b;T(b)}b=a+112|0;j[b>>2]=121256;j[a+4>>2]=121236;lc(a+12|0);Wa(b);return a}function Yd(a,b,c){var d=0;d=M-16|0;M=d;j[d+12>>2]=c;c=Kb(d+8|0,d+12|0);b=uc(a,b);a=j[c>>2];if(a){if(a){j[37115]=(a|0)==-1?148624:a}}M=d+16|0;return b}function ok(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((b|0)!=(c|0)){a=h[b|0];h[e|0]=(a|0)>-1?a:d;e=e+1|0;b=b+1|0;continue}break}return c|0}function fr(a){a=a|0;j[a+64>>2]=120340;j[a>>2]=120300;j[a+12>>2]=120536;j[a+8>>2]=120320;if(h[a+55|0]<=-1){T(j[a+44>>2])}lb(a+12|0);Wa(a- -64|0);T(a)}function Qi(a,b,c){var d=0;d=M-16|0;M=d;pn(d,b,c,ra());b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;b=j[d+12>>2];j[a+8>>2]=j[d+8>>2];j[a+12>>2]=b;M=d+16|0}function qn(a,b,c){var d=0;d=M-16|0;M=d;ie(d,b,c,2);b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;b=j[d+12>>2];j[a+8>>2]=j[d+8>>2];j[a+12>>2]=b;M=d+16|0}function nb(a,b){var c=0;a:{c=h[a+11|0];b:{if((c|0)<=-1){if(!j[a+4>>2]){break a}a=j[a>>2];break b}if(!c){break a}}h[a|0]=k[(p(k[a|0],3)+b|0)+2|0]}}function jr(a,b){var c=0;a:{c=h[a+11|0];b:{if((c|0)<=-1){if(!j[a+4>>2]){break a}a=j[a>>2];break b}if(!c){break a}}h[a|0]=k[(p(k[a|0],3)+b|0)+1|0]}}function gi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(zb(a,j[b+8>>2],f)){Qd(b,c,d,e);return}a=j[a+8>>2];O[j[j[a>>2]+20>>2]](a,b,c,d,e,f)}function ua(a,b){var c=0;if((a|0)!=(b|0)){c=a;if(k[b+11|0]>>>7|0){a=j[b>>2]}else{a=b}if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}kf(c,a,b)}}function Oi(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=c;while(1){if((a|0)!=(b|0)){Xg(d+8|0,j[a>>2]);a=a+4|0;continue}break}M=d+16|0;return j[d+8>>2]}function Pi(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=c;while(1){if((a|0)!=(b|0)){Yg(d+8|0,h[a|0]);a=a+1|0;continue}break}M=d+16|0;return j[d+8>>2]}function ef(a,b){var c=0,d=0;if(k[b+11|0]>>>7|0){c=j[b>>2]}else{c=b}d=a;if(k[b+11|0]>>>7|0){b=j[b+4>>2]}else{b=k[b+11|0]}j[d+4>>2]=b;j[a>>2]=c}function Pd(a,b,c,d,e,f){var g=0,h=0,i=0;g=j[a+4>>2];h=g>>8;a=j[a>>2];i=a;if(g&1){h=j[j[d>>2]+h>>2]}O[j[j[a>>2]+20>>2]](i,b,c,d+h|0,g&2?e:2,f)}function Td(a,b){var c=0;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if(c>>>0<=b>>>0){X();z()}if(k[a+11|0]>>>7|0){a=j[a>>2]}return a+b|0}function zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=j[a+20>>2];d=j[a+16>>2]-e|0;d=c>>>0>>0?c:d;V(e,b,d);j[a+20>>2]=d+j[a+20>>2];return c|0}function ma(a,b,c){var d=0,e=0;if(!b){return c}while(1){d=b,e=ma(a,j[b+76>>2],c),j[d+68>>2]=e;c=b;b=j[b+72>>2];if(b){continue}break}return c}function la(a,b,c){var d=0,e=0;if(!b){return c}while(1){d=b,e=la(a,j[b+88>>2],c),j[d+80>>2]=e;c=b;b=j[b+84>>2];if(b){continue}break}return c}function bi(a,b,c,d){var e=0,f=0;f=d&65535;d=d>>>16&32767;a:{if((d|0)!=32767){e=4;if(d){break a}return a|c|(b|f)?3:2}e=!(a|c|(b|f))}return e}function Oq(a,b,c){if(!((b|0)<1|j[a+80>>2]<(b|0))){b=b-1|0;j[c>>2]=j[j[a+84>>2]+(b<<2)>>2];return l[j[a+88>>2]+(b<<1)>>1]}j[c>>2]=0;return 0}function Nn(a){var b=0,c=0;b=M-16|0;M=b;c=-1;a:{if(mh(a)){break a}if((O[j[a+32>>2]](a,b+15|0,1)|0)!=1){break a}c=k[b+15|0]}M=b+16|0;return c}function Mg(a,b,c){var d=0;d=M-144|0;M=d;d=ya(d,0,144);j[d+76>>2]=-1;j[d+44>>2]=a;j[d+32>>2]=75;j[d+84>>2]=a;a=Hn(d,b,c);M=d+144|0;return a}function pn(a,b,c,d){d=M-16|0;M=d;qn(d,b,c);b=j[d+4>>2];j[a>>2]=j[d>>2];j[a+4>>2]=b;b=j[d+12>>2];j[a+8>>2]=j[d+8>>2];j[a+12>>2]=b;M=d+16|0}function lp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=M-16|0;M=d;j[d+8>>2]=c;j[d+12>>2]=b;if(a){a=kp(a,d+12|0,d+8|0)}else{a=0}M=d+16|0;return a|0}function ad(a,b,c,d,e){var f=0,g=0,h=0;f=j[a+4>>2];g=f>>8;a=j[a>>2];h=a;if(f&1){g=j[j[c>>2]+g>>2]}O[j[j[a>>2]+24>>2]](h,b,c+g|0,f&2?d:2,e)}function Ho(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=b;b=j[b>>2]+15&-16;j[c>>2]=b+16;d=a,e=ye(j[b>>2],j[b+4>>2],j[b+8>>2],j[b+12>>2]),o[d>>3]=e}function Ko(a,b,c,d){if(a|b){while(1){c=c-1|0;h[c|0]=k[(a&15)+121968|0]|d;a=(b&15)<<28|a>>>4;b=b>>>4|0;if(a|b){continue}break}}return c}function lb(a){a=a|0;var b=0,c=0;j[a>>2]=122032;b=j[a+4>>2];c=j[b+4>>2]-1|0;j[b+4>>2]=c;if((c|0)==-1){O[j[j[b>>2]+8>>2]](b)}return a|0}function ao(a,b){var c=0;c=j[a+24>>2];if((c|0)==j[a+28>>2]){return O[j[j[a>>2]+52>>2]](a,b&255)|0}j[a+24>>2]=c+1;h[c|0]=b;return b&255}function Lq(a){a=a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}lb(a+4|0);Wa(a+56|0);return a|0}function Ia(a,b,c){var d=0;if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}return Fi(d,a,b,c)}function Ba(a,b,c){var d=0;if(k[a+11|0]>>>7|0){d=j[a>>2]}else{d=a}if(k[a+11|0]>>>7|0){a=j[a+4>>2]}else{a=k[a+11|0]}return Di(d,a,b,c)}function qo(a){var b=0,c=0;b=j[a+40>>2];while(1){if(b){b=b-1|0;c=b<<2;O[j[j[a+32>>2]+c>>2]](0,a,j[c+j[a+36>>2]>>2]);continue}break}}function Ga(a){var b=0;a=j[a>>2];b=j[a+12>>2];a:{if((b|0)==j[a+16>>2]){a=O[j[j[a>>2]+36>>2]](a)|0;break a}a=k[b|0]}return a<<24>>24}function pp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=M-16|0;M=e;j[e+12>>2]=b;if(a){a=op(e+12|0,c,d)}else{a=0}M=e+16|0;return a|0}function gk(a){var b=0,c=0;b=a+4408|0;a:{c=h[a+4419|0];if((c|0)<=-1){if(j[a+4412>>2]){break a}return 0}return c?b:0}return j[b>>2]}function Di(a,b,c,d){var e=0;e=M-16|0;M=e;h[e+15|0]=c;c=-1;if(b>>>0>d>>>0){b=ff(a+d|0,b-d|0,e+15|0);c=b?b-a|0:-1}M=e+16|0;return c}function Ag(a){var b=0,c=0;b=h[a+4139|0];c=j[a+4132>>2];a:{if((b|0)<=-1){break a}c=b&255}b=c;a=a+4128|0;if(!b){Ja(a,1760)}return a}function ra(){var a=0,b=0;a:{if(h[148836]&1){break a}if(!Ma(148836)){break a}a=148832,b=An(),j[a>>2]=b;La(148836)}return j[37208]}function Pk(){a:{if(h[148848]&1){break a}if(!Ma(148848)){break a}Tk();j[37210]=150464;j[37211]=148840;La(148848)}return j[37211]}function Jq(a){a=a|0;j[a+56>>2]=121036;j[a>>2]=121016;j[a+4>>2]=120536;if(h[a+47|0]<=-1){T(j[a+36>>2])}lb(a+4|0);Wa(a+56|0);T(a)}function yk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((b|0)!=(c|0)){j[d>>2]=h[b|0];d=d+4|0;b=b+1|0;continue}break}return c|0}function _n(a,b){var c=0;c=j[a+24>>2];if((c|0)==j[a+28>>2]){return O[j[j[a>>2]+52>>2]](a,b)|0}j[a+24>>2]=c+4;j[c>>2]=b;return b}function qk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;while(1){if((b|0)!=(c|0)){h[d|0]=k[b|0];d=d+1|0;b=b+1|0;continue}break}return c|0}function jg(a,b,c,d,e,f){a=O[j[j[a+8>>2]+4>>2]](a+8|0)|0;a=qd(c,d,a,a+288|0,f,e,0)-a|0;if((a|0)<=287){j[b>>2]=((a|0)/12|0)%12}}function fg(a,b,c,d,e,f){a=O[j[j[a+8>>2]+4>>2]](a+8|0)|0;a=pd(c,d,a,a+288|0,f,e,0)-a|0;if((a|0)<=287){j[b>>2]=((a|0)/12|0)%12}}function re(a){j[a>>2]=122032;Cf(a+4|0);j[a+24>>2]=0;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;return a}function mi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(zb(a,j[b+8>>2],0)){Rd(b,c,d);return}a=j[a+8>>2];O[j[j[a>>2]+28>>2]](a,b,c,d)}function Va(a,b){var c=0,d=0;d=b;if(k[a+11|0]>>>7|0){c=j[a+4>>2]}else{c=k[a+11|0]}if(d>>>0>c>>>0){Ji(a,b-c|0);return}Ii(a,b)}function Ok(a){var b=0;b=j[37621]-j[37620]>>2;if(b>>>0>>0){Mk(a-b|0);return}if(a>>>0>>0){mf(150480,j[37620]+(a<<2)|0)}}function me(a,b){j[a+20>>2]=0;j[a+24>>2]=b;j[a+12>>2]=0;j[a+4>>2]=4098;j[a+8>>2]=6;j[a+16>>2]=!b;ya(a+32|0,0,40);Cf(a+28|0)}function kg(a,b,c,d,e,f){a=O[j[j[a+8>>2]>>2]](a+8|0)|0;a=qd(c,d,a,a+168|0,f,e,0)-a|0;if((a|0)<=167){j[b>>2]=((a|0)/12|0)%7}}function gg(a,b,c,d,e,f){a=O[j[j[a+8>>2]>>2]](a+8|0)|0;a=pd(c,d,a,a+168|0,f,e,0)-a|0;if((a|0)<=167){j[b>>2]=((a|0)/12|0)%7}}function ce(a,b,c){c=j[c>>2];while(1){a:{if((a|0)!=(b|0)){if((c|0)!=j[a>>2]){break a}}else{a=b}return a}a=a+4|0;continue}}function U(a){var b=0;a=a?a:1;a:{while(1){b=ja(a);if(b){break a}b=j[37683];if(b){O[b|0]();continue}break}D();z()}return b}function Ti(a){var b=0;b=a+4|0;Si(j[37620],j[37621],b);vd(150480,b);vd(150484,a+8|0);vd(150496,a+12|0);j[a>>2]=j[a+4>>2]}function Lf(a,b,c){var d=0;d=M-16|0;M=d;j[d+8>>2]=a;while(1){if(b>>>0>>0){Jf(d+8|0,b);b=b+1|0;continue}break}M=d+16|0}function xj(a){a=a|0;a:{if(h[148952]&1){break a}if(!Ma(148952)){break a}wj();j[37237]=149472;La(148952)}return j[37237]}function uj(a){a=a|0;a:{if(h[148960]&1){break a}if(!Ma(148960)){break a}tj();j[37239]=149776;La(148960)}return j[37239]}function tn(a,b){var c=0,d=q(0);c=M-16|0;M=c;ie(c,a,b,0);d=Og(j[c>>2],j[c+4>>2],j[c+8>>2],j[c+12>>2]);M=c+16|0;return d}function rj(a){a=a|0;a:{if(h[148968]&1){break a}if(!Ma(148968)){break a}qj();j[37241]=150080;La(148968)}return j[37241]}function oj(a){a=a|0;a:{if(h[148976]&1){break a}if(!Ma(148976)){break a}nj();j[37243]=150112;La(148976)}return j[37243]}function fe(a,b,c){c=k[c|0];while(1){a:{if((a|0)!=(b|0)){if((c|0)!=k[a|0]){break a}}else{a=b}return a}a=a+1|0;continue}}function _g(a){var b=0;b=j[a+12>>2];if((b|0)==j[a+16>>2]){return O[j[j[a>>2]+40>>2]](a)|0}j[a+12>>2]=b+4;return j[b>>2]}function Dj(a){a=a|0;a:{if(h[148936]&1){break a}if(!Ma(148936)){break a}Cj();j[37233]=149120;La(148936)}return j[37233]}function Aj(a){a=a|0;a:{if(h[148944]&1){break a}if(!Ma(148944)){break a}zj();j[37235]=149296;La(148944)}return j[37235]}function io(a){a=a|0;var b=0;if((O[j[j[a>>2]+36>>2]](a)|0)==-1){return-1}b=a;a=j[a+12>>2];j[b+12>>2]=a+1;return k[a|0]}function bh(a){var b=0;b=j[a+12>>2];if((b|0)==j[a+16>>2]){return O[j[j[a>>2]+40>>2]](a)|0}j[a+12>>2]=b+1;return k[b|0]}function Se(a,b,c,d){var e=0;e=M-16|0;M=e;a=va(a,b);if(!(!d|!a)){ia(c,b);wd(j[c>>2],j[c+4>>2],e+8|0)}M=e+16|0;return a}function Jo(a,b,c){if(a|b){while(1){c=c-1|0;h[c|0]=a&7|48;a=(b&7)<<29|a>>>3;b=b>>>3|0;if(a|b){continue}break}}return c}function Ri(a){var b=0,c=0,d=0;c=j[a+4>>2];b=j[a>>2];a=j[a+8>>2];b=b+(a>>1)|0;d=b;if(a&1){c=j[c+j[b>>2]>>2]}O[c|0](d)}function rn(a,b){var c=0,d=0;c=M-16|0;M=c;ie(c,a,b,1);d=ye(j[c>>2],j[c+4>>2],j[c+8>>2],j[c+12>>2]);M=c+16|0;return d}function Ug(a,b,c,d,e,f,g,h,i){j[a>>2]=b;j[a+4>>2]=c;j[a+8>>2]=d;j[a+12>>2]=e&65535|(i>>>16&32768|e>>>16&32767)<<16}function Kb(a,b){var c=0;c=j[37115];b=j[b>>2];if(b){j[37115]=(b|0)==-1?148624:b}j[a>>2]=(c|0)==148624?-1:c;return a}function lj(a){a=a|0;a:{if(h[148992]&1){break a}if(!Ma(148992)){break a}qc(148980,128108);La(148992)}return 148980}function jj(a){a=a|0;a:{if(h[149008]&1){break a}if(!Ma(149008)){break a}wc(148996,128120);La(149008)}return 148996}function hj(a){a=a|0;a:{if(h[149024]&1){break a}if(!Ma(149024)){break a}qc(149012,128156);La(149024)}return 149012}function fj(a){a=a|0;a:{if(h[149040]&1){break a}if(!Ma(149040)){break a}wc(149028,128168);La(149040)}return 149028}function dj(a){a=a|0;a:{if(h[149056]&1){break a}if(!Ma(149056)){break a}qc(149044,128204);La(149056)}return 149044}function bj(a){a=a|0;a:{if(h[149072]&1){break a}if(!Ma(149072)){break a}wc(149060,128228);La(149072)}return 149060}function Zi(a){a=a|0;a:{if(h[149104]&1){break a}if(!Ma(149104)){break a}wc(149092,128324);La(149104)}return 149092}function $i(a){a=a|0;a:{if(h[149088]&1){break a}if(!Ma(149088)){break a}qc(149076,128312);La(149088)}return 149076}function ek(a){a=a|0;a:{if(dk(j[a+8>>2])){a=-1}else{a=j[a+8>>2];if(a){break a}a=1}return a|0}return(wf(a)|0)==1|0}function dm(a,b){a:{if((a|0)==(b|0)){break a}while(1){b=b-1|0;if(b>>>0<=a>>>0){break a}Xa(a,b);a=a+1|0;continue}}}function cm(a,b){a:{if((a|0)==(b|0)){break a}while(1){b=b-4|0;if(b>>>0<=a>>>0){break a}vd(a,b);a=a+4|0;continue}}}function Qk(){j[37541]=0;j[37540]=133796;j[37540]=128380;h[150172]=0;j[37542]=0;j[37540]=127876;j[37542]=j[30920]}function rb(a){var b=0,c=0;b=M-16|0;M=b;c=b;if(k[a+11|0]>>>7|0){a=j[a>>2]}j[c+8>>2]=a;M=b+16|0;return j[b+8>>2]}function ea(a){var b=0;b=j[a+200>>2];if(b){T(pq(b))}b=a+120|0;j[b>>2]=121256;j[a+12>>2]=121236;lc(a+20|0);Wa(b)}function Tb(a){a:{a=j[a+4>>2]&74;if(a){if((a|0)==64){return 8}if((a|0)!=8){break a}return 16}return 0}return 10}function zb(a,b,c){if(!c){return j[a+4>>2]==j[b+4>>2]}if((a|0)==(b|0)){return 1}return!ba(j[a+4>>2],j[b+4>>2])}function ti(a){var b=0;a:{a=j[a+8>>2];b=k[a|0];if((b|0)!=1){if(b&2){break a}h[a|0]=2;a=1}else{a=0}return a}z()}function nq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Wa(a+108|0);return a|0}function Xf(a,b){var c=0,d=0;d=j[b>>2];j[b>>2]=0;c=j[a>>2];j[a>>2]=d;if(c){O[j[a+4>>2]](c)}j[a+4>>2]=j[b+4>>2]}function Ma(a){var b=0;b=M-16|0;M=b;j[b+12>>2]=0;j[b+4>>2]=a;j[b>>2]=a;j[b+8>>2]=a+1;a=ui(b);M=b+16|0;return a}function mo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;j[a+8>>2]=-1;j[a+12>>2]=-1;j[a>>2]=0;j[a+4>>2]=0}function $o(a){a=a|0;j[a>>2]=121464;T(j[a+4>>2]);j[a+12>>2]=0;j[a+16>>2]=0;j[a+4>>2]=0;j[a+8>>2]=0;return a|0}function ig(a,b,c,d,e){b=Rb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=((b|0)<69?b+2e3|0:(b|0)<100?b+1900|0:b)-1900}}function eg(a,b,c,d,e){b=Qb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=((b|0)<69?b+2e3|0:(b|0)<100?b+1900|0:b)-1900}}function Sf(a,b){var c=0;c=M-16|0;M=c;j[c+8>>2]=j[a>>2];j[c+8>>2]=j[c+8>>2]+(b<<2);M=c+16|0;return j[c+8>>2]}function Gn(a,b){var c=0;c=M-16|0;j[c+12>>2]=a;a=b>>>0>1?((b<<2)+a|0)-4|0:a;j[c+8>>2]=a+4;return j[a>>2]} -function Vi(a){var b=0;b=j[33481];j[a>>2]=b;j[j[b-12>>2]+a>>2]=j[33484];de(a+8|0);return a}function Ii(a,b,c,d){if(!d){return 0}b=a+b|0;c=Hi(a,b,c,c+d|0);return(b|0)==(c|0)?-1:c-a|0}function Dd(a,b){if(b){Dd(a,j[b>>2]);Dd(a,j[b+4>>2]);if(h[b+27|0]<=-1){T(j[b+16>>2])}T(b)}}function Cd(a,b){if(b){Cd(a,j[b>>2]);Cd(a,j[b+4>>2]);if(h[b+27|0]<=-1){T(j[b+16>>2])}T(b)}}function oh(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=b;a=yd(a,100,127871,b);M=c+16|0;return a}function Wk(a,b,c){a=a|0;b=b|0;c=c|0;return(c>>>0<=127?(l[j[30931]+(c<<1)>>1]&b)!=0:0)|0}function Kk(a,b){a=a|0;b=b|0;if((b|0)>=0){b=j[j[31124]+((b&255)<<2)>>2]}return b<<24>>24}function Ik(a,b){a=a|0;b=b|0;if((b|0)>=0){b=j[j[31512]+((b&255)<<2)>>2]}return b<<24>>24}function Ap(a,b){a=a|0;b=b|0;var c=0;c=M-16|0;M=c;j[c+12>>2]=b;if(a){Dh(c+12|0)}M=c+16|0}function cr(a,b){var c=0;return(b|0)<1|j[a+92>>2]<(b|0)?c:j[(j[a+96>>2]+(b<<2)|0)-4>>2]}function Hb(a,b){a=j[a>>2];b=za(b);if(!Jf(a,b)){Fa();z()}return j[j[a+16>>2]+(b<<2)>>2]}function Cq(a){a=a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Ta(a+108|0);return a|0}function Mq(a){a=a|0;j[a>>2]=1072;if(h[a+79|0]<=-1){T(j[a+68>>2])}Zc(a);return a|0} +function Xn(a){var b=0;a:{if(j[a+76>>2]!=-1){a=j[a+76>>2];break a}b=a;a=Wn(a);j[b+76>>2]=a}return a<<24>>24}function Da(a,b,c){var d=0;d=M-16|0;M=d;j[d+12>>2]=b;j[a>>2]=j[d+12>>2];j[a+4>>2]=j[c>>2];M=d+16|0;return a}function $c(a,b,c){a:{if(j[c+76>>2]<=-1){a=Ld(a,b,c);break a}a=Ld(a,b,c)}if((a|0)==(b|0)){return b}return a}function yf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j[e>>2]=c;j[h>>2]=f;return 3}function lq(a){a=a|0;a=j[j[a>>2]-12>>2]+a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Wa(a+108|0);T(a)}function Df(a,b){a=a+16|0;if(j[a+4>>2]-j[a>>2]>>2>>>0>b>>>0){a=j[j[a>>2]+(b<<2)>>2]!=0}else{a=0}return a}function ui(a){var b=0,c=0;b=M-16|0;M=b;j[b+8>>2]=j[a+4>>2];if(!k[j[b+8>>2]]){c=ti(a)}M=b+16|0;return c}function be(a,b){var c=0;c=M-16|0;M=c;j[c+8>>2]=j[a>>2];j[c+8>>2]=j[c+8>>2]+b;M=c+16|0;return j[c+8>>2]}function cb(a){var b=0,c=0,d=0;a:{if(!a){break a}b=W(a)+1|0;c=ja(b);if(!c){break a}d=V(c,a,b)}return d}function Jk(a,b){var c=0,d=0;c=M-16|0;M=c;if(j[a>>2]!=-1){d=c+8|0;j[d>>2]=b;j[c>>2]=d;Mi(a,c)}M=c+16|0}function Sk(){var a=0;a=M-16|0;M=a;j[37620]=0;j[37621]=0;j[a+12>>2]=0;j[37624]=0;h[150624]=0;M=a+16|0}function vd(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=j[a>>2];j[a>>2]=j[b>>2];j[b>>2]=j[c+12>>2];M=c+16|0}function $a(a,b){var c=0;c=M-16|0;M=c;i[c+14>>1]=l[a>>1];i[a>>1]=l[b>>1];i[b>>1]=l[c+14>>1];M=c+16|0}function Xl(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>30|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Vl(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>11|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Tl(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>12|c&4)){j[a>>2]=b-1;return}j[d>>2]=c|4}function Mi(a,b){while(1){if(j[a>>2]==1){continue}break}if(!j[a>>2]){j[a>>2]=1;O[80](b);j[a>>2]=-1}}function La(a){var b=0;b=M-16|0;M=b;j[b+12>>2]=0;j[b+4>>2]=a;j[b>>2]=a;j[b+8>>2]=a+1;si(b);M=b+16|0}function Fl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>30|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Dl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!(b-1>>>0>11|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Al(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>12|c&4)){j[a>>2]=b-1;return}j[d>>2]=c|4}function Ul(a,b,c,d,e){b=Rb(b,c,d,e,3);c=j[d>>2];if(!((b|0)>365|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Rk(){var a=0;if(pf()>>>0<28){X();z()}a=of(150512,28);j[37620]=a;j[37621]=a;j[37624]=a+112}function Cl(a,b,c,d,e){b=Qb(b,c,d,e,3);c=j[d>>2];if(!((b|0)>365|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function zl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>59|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function wl(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>60|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function mf(a,b){var c=0;c=j[a+4>>2];while(1){if((b|0)!=(c|0)){c=c-4|0;continue}break}j[a+4>>2]=b}function gp(a,b){a=a|0;b=b|0;var c=0;c=M-16|0;M=c;j[c+12>>2]=b;a=fp(a,c+12|0);M=c+16|0;return a|0}function Wl(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>23|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Sl(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>59|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function Sd(a,b,c,d,e,f){var g=0;g=M-16|0;M=g;ef(g+8|0,d);a=Ci(a,b,c,g+8|0,e,f);M=g+16|0;return a}function Pl(a,b,c,d,e){b=Rb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>60|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function El(a,b,c,d,e){b=Qb(b,c,d,e,2);c=j[d>>2];if(!((b|0)>23|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function vl(a,b,c,d,e){b=Qb(b,c,d,e,1);c=j[d>>2];if(!((b|0)>6|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function ro(a,b,c){if(c){while(1){j[a>>2]=j[b>>2];a=a+4|0;b=b+4|0;c=c-1|0;if(c){continue}break}}}function Ol(a,b,c,d,e){b=Rb(b,c,d,e,1);c=j[d>>2];if(!((b|0)>6|c&4)){j[a>>2]=b;return}j[d>>2]=c|4}function fi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(zb(a,j[b+8>>2],f)){Qd(b,c,d,e)}}function si(a){var b=0;b=M-16|0;M=b;j[b+8>>2]=j[a+4>>2];h[j[b+8>>2]]=1;h[j[a+8>>2]]=1;M=b+16|0}function Xa(a,b){var c=0;c=M-16|0;M=c;h[c+15|0]=k[a|0];h[a|0]=k[b|0];h[b|0]=k[c+15|0];M=c+16|0}function $q(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;O[j[j[b>>2]+16>>2]](a,b,j[c+8>>2],j[c+12>>2],0,d)}function lo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;j[a+8>>2]=-1;j[a+12>>2]=-1;j[a>>2]=0;j[a+4>>2]=0}function Qm(a){var b=0;b=a;a=0;while(1){if((a|0)!=3){j[(a<<2)+b>>2]=0;a=a+1|0;continue}break}}function zf(a){a=a|0;var b=0;j[a>>2]=127876;b=j[a+8>>2];if(!(!b|!k[a+12|0])){T(b)}return a|0}function Ig(a){var b=0,c=0;c=a;while(1){b=c;c=b+4|0;if(j[b>>2]){continue}break}return b-a>>2}function qr(a,b){var c=0,d=0;c=b&31;d=(-1>>>c&a)<>>a} -function gj(a,b,c){var d=0;d=c;b=b-a|0;c=j[c>>2]-b|0;j[d>>2]=c;if((b|0)>=1){V(c,a,b)}}function Pg(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=b;a=Qg(a,127856,b);M=c+16|0;return a}function qr(a){a=a|0;j[a>>2]=120536;if(h[a+43|0]<=-1){T(j[a+32>>2])}ib(a);return a|0}function Rj(a){a=a|0;a=149544;while(1){a=Y(a-12|0);if((a|0)!=149376){continue}break}}function Oj(a){a=a|0;a=149720;while(1){a=Y(a-12|0);if((a|0)!=149552){continue}break}}function Of(a){a=a|0;j[a>>2]=127960;if(j[a+8>>2]!=(ra()|0)){Og(j[a+8>>2])}return a|0}function Lj(a){a=a|0;a=150016;while(1){a=Y(a-12|0);if((a|0)!=149728){continue}break}}function Ij(a){a=a|0;a=150320;while(1){a=Y(a-12|0);if((a|0)!=150032){continue}break}}function Fj(a){a=a|0;a=150360;while(1){a=Y(a-12|0);if((a|0)!=150336){continue}break}}function Cj(a){a=a|0;a=150392;while(1){a=Y(a-12|0);if((a|0)!=150368){continue}break}}function wn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return vn(b,c,d,e,f)|0}function wg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Ym(b,c,d,e,f)|0}function tn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return sn(b,c,d,e,f)|0}function rn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return qn(b,c,d,e,f)|0}function nn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return mn(b,c,d,e,f)|0}function ln(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return kn(b,c,d,e,f)|0}function jn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return hn(b,c,d,e,f)|0}function gn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return fn(b,c,d,e,f)|0}function cn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return bn(b,c,d,e,f)|0}function an(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return $m(b,c,d,e,f)|0}function _m(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Zm(b,c,d,e,f)|0}function Xm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Wm(b,c,d,e,f)|0}function Vm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Tm(b,c,d,e,f)|0}function Sm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Rm(b,c,d,e,f)|0}function Qm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Pm(b,c,d,e,f)|0}function Eg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return on(b,c,d,e,f)|0}function op(){var a=0;a=M-48|0;M=a;fi(a+8|0);M=a+48|0;return+(+j[a+36>>2]/1e3/1e3)}function Oi(a,b,c){if(c){while(1){j[a>>2]=b;a=a+4|0;c=c-1|0;if(c){continue}break}}}function Aq(a){a=a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Ta(a+108|0);T(a)}function lj(a,b){if(!(k[a+112|0]|b>>>0>28)){h[a+112|0]=1;return a}return U(b<<2)}function pr(a){a=a|0;j[a>>2]=120536;if(h[a+43|0]<=-1){T(j[a+32>>2])}ib(a);T(a)}function Sk(a,b){a=a|0;b=b|0;if(b>>>0<=127){b=j[j[31124]+(b<<2)>>2]}return b|0}function Qk(a,b){a=a|0;b=b|0;if(b>>>0<=127){b=j[j[31512]+(b<<2)>>2]}return b|0}function Lo(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=b;rh(a,121430,b,0,0);M=c+16|0}function qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(zb(a,j[b+8>>2],0)){Sd(b,c,d)}}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(k[b+11|0]>>>7|0){break a}}return-1}function De(a,b,c,d){if(j[a+76>>2]<=-1){return wh(a,b,c,d)}return wh(a,b,c,d)}function Hq(a){a=a|0;j[a>>2]=1072;if(h[a+79|0]<=-1){T(j[a+68>>2])}Zc(a);T(a)}function Dn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=M-16|0;M=b;Jg(a,c,d);M=b+16|0}function An(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=M-16|0;M=b;Ig(a,c,d);M=b+16|0}function vp(a,b){a=a|0;b=b|0;a=j[a+52>>2];if(!a){return 0}return Ic(a,b)|0}function nq(a,b){var c=0;c=ja(b<<2);j[a+8>>2]=0;j[a>>2]=c;j[a+4>>2]=c?b:0}function eg(a,b){var c=0;c=hh(j[b>>2])<<24;j[a+4>>2]=j[b>>2];h[a|0]=c>>24}function gh(a,b){b=!j[a+24>>2]|b;j[a+16>>2]=b;if(b&j[a+20>>2]){Fa();z()}}function mk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return kk(c,d,e)|0}function ie(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;j[e>>2]=c;return 3}function fk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ek(c,d,e)|0}function If(a){var b=0;b=a;a=j[$k()>>2];j[b>>2]=a;j[a+4>>2]=j[a+4>>2]+1}function gc(a,b){a=a|0;b=b|0;h[a|0]=2;h[a+1|0]=3;h[a+2|0]=0;h[a+3|0]=4}function bm(a,b,c,d,e){b=Rb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=b-1900}}function Ll(a,b,c,d,e){b=Qb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=b-1900}}function ee(a){a=a|0;if(j[a+8>>2]!=(ra()|0)){Og(j[a+8>>2])}return a|0}function vg(a,b,c){var d=0;d=M-16|0;M=d;Ci(a,b,c);M=d+16|0;return a}function sg(a,b,c){var d=0;d=M-16|0;M=d;xi(a,b,c);M=d+16|0;return a}function _k(a){a=a|0;var b=0;b=j[37280]+1|0;j[37280]=b;j[a+4>>2]=b}function _f(a,b){var c=0;c=dh(j[b>>2]);j[a+4>>2]=j[b>>2];j[a>>2]=c}function Nk(a,b,c){a=a|0;b=b|0;c=c|0;return(b>>>0<128?b:c)<<24>>24}function sf(a,b){a:{if((a|0)==(b|0)){h[a+112|0]=0;break a}T(b)}}function rk(a){a=a|0;a=j[a+8>>2];if(!a){return 1}return Bf(a)|0}function Og(a){if((a|0)!=0&(a|0)!=123568&(a|0)!=123592){T(a)}}function yc(a,b){var c=0;c=M-16|0;M=c;Bi(a,b,Ng(b));M=c+16|0}function rc(a,b){var c=0;c=M-16|0;M=c;Yd(a,b,W(b));M=c+16|0}function ga(a){var b=0;b=M-16|0;M=b;Go(a);M=b+16|0;return a}function Sn(a,b,c){a=a|0;b=b|0;c=c|0;return Un(a,b,c)|0} +function Yg(a,b){var c=0;a:{c=j[a>>2];if(!c){break a}if((ao(c,b)|0)!=-1){break a}j[a>>2]=0}}function Xg(a,b){var c=0;a:{c=j[a>>2];if(!c){break a}if((_n(c,b)|0)!=-1){break a}j[a>>2]=0}}function Fi(a,b,c,d){if(!d){return 0}b=a+b|0;c=Ei(a,b,c,c+d|0);return(b|0)==(c|0)?-1:c-a|0}function Bd(a,b){if(b){Bd(a,j[b>>2]);Bd(a,j[b+4>>2]);if(h[b+27|0]<=-1){T(j[b+16>>2])}T(b)}}function Ad(a,b){if(b){Ad(a,j[b>>2]);Ad(a,j[b+4>>2]);if(h[b+27|0]<=-1){T(j[b+16>>2])}T(b)}}function Kg(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=b;a=rd(a,100,127839,b);M=c+16|0;return a}function uk(a,b){a=a|0;b=b|0;if((b|0)>=0){b=j[j[31116]+((b&255)<<2)>>2]}return b<<24>>24}function sk(a,b){a=a|0;b=b|0;if((b|0)>=0){b=j[j[31504]+((b&255)<<2)>>2]}return b<<24>>24}function mp(a,b){a=a|0;b=b|0;var c=0;c=M-16|0;M=c;j[c+12>>2]=b;if(a){Ah(c+12|0)}M=c+16|0}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;return(c>>>0<=127?(l[j[30920]+(c<<1)>>1]&b)!=0:0)|0}function oq(a){a=a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Wa(a+108|0);return a|0}function Qq(a,b){var c=0;return(b|0)<1|j[a+92>>2]<(b|0)?c:j[(j[a+96>>2]+(b<<2)|0)-4>>2]}function Mb(a,b){a=j[a>>2];b=za(b);if(!Df(a,b)){Fa();z()}return j[j[a+16>>2]+(b<<2)>>2]}function yq(a){a=a|0;j[a>>2]=1072;if(h[a+79|0]<=-1){T(j[a+68>>2])}Zc(a);return a|0} -function Rc(a){if(a>>>0>1073741823){Fa();z()}return U(a<<2)}function Fk(a,b,c){a=a|0;b=b|0;c=c|0;return((b|0)>-1?b:c)|0}function zf(a){a=a|0;j[a>>2]=128008;Y(a+12|0);return a|0}function yf(a){a=a|0;j[a>>2]=128048;Y(a+16|0);return a|0}function hf(a,b,c){if(!b){return 0}return Aa(a,k[c|0],b)}function ci(){Rn();j[37201]=0;j[37202]=0;j[37200]=148804}function Kg(a,b,c,d){a=Lg(a,b,c,0,-2147483648);return a}function vo(a){a=a|0;return ye(j[j[a>>2]-12>>2]+a|0)|0}function no(a){a=a|0;return xe(j[j[a>>2]-12>>2]+a|0)|0}function go(a){a=a|0;return ud(j[j[a>>2]-12>>2]+a|0)|0}function Ui(a){a=a|0;return ce(j[j[a>>2]-12>>2]+a|0)|0}function mp(a){a=a|0;j[a>>2]=121508;T(j[a+4>>2]);T(a)}function Ya(a,b){a=Xo(a,b);return k[a|0]==(b&255)?a:0}function Y(a){if(k[a+11|0]>>>7|0){T(j[a>>2])}return a}function ke(a,b,c){if(!c){return 0}return qa(a,b,c)}function ce(a){a=a|0;a=Vi(a);Ta(a+56|0);return a|0}function th(a,b){if(!a){return 0}return tc(a,b)}function te(a,b,c,d){a=Lg(a,b,c,-1,-1);return a}function qf(a){var b=0,c=0;b=a,c=ra(),j[b>>2]=c}function Do(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function ab(a,b,c){if(!(k[a|0]&32)){Nd(b,c,a)}}function to(a){a=a|0;mh(j[j[a>>2]-12>>2]+a|0)}function mo(a){a=a|0;ch(j[j[a>>2]-12>>2]+a|0)}function eo(a){a=a|0;we(j[j[a>>2]-12>>2]+a|0)}function Ti(a){a=a|0;pf(j[j[a>>2]-12>>2]+a|0)}function df(a){return _(a,0,-1,1811,W(1811))}function Qo(a){a=a|0;return K(j[a+60>>2])|0}function Cr(a,b,c,d){a=Ar(a,b,c,d);return a}function ud(a){a=a|0;Ta(a+12|0);return a|0}function Yk(a){a=a|0;O[j[j[a>>2]+4>>2]](a)}function ye(a){a=a|0;Ta(a+8|0);return a|0}function xe(a){a=a|0;Ta(a+4|0);return a|0}function _j(a,b){a=a|0;b=b|0;ha(a,b+12|0)}function Zj(a,b){a=a|0;b=b|0;ha(a,b+16|0)}function Yj(a,b){a=a|0;b=b|0;rc(a,128080)}function Xj(a,b){a=a|0;b=b|0;yc(a,128088)}function Wj(a,b){a=a|0;b=b|0;rc(a,128108)}function Uj(a,b){a=a|0;b=b|0;yc(a,128116)}function Lp(a){a=a|0;Dd(148800,j[37201])}function ho(a){a=a|0;return ud(a-8|0)|0}function hg(a,b){a=a|0;b=b|0;vg(a,1,45)}function gg(a,b){a=a|0;b=b|0;sg(a,1,45)}function Xd(a,b,c){if(b){ya(a,c&255,b)}}function Gf(a,b){a=a|0;b=b|0;return b|0}function fd(a){a=a|0;return 2147483647}function Xk(a){a=a|0;fj(j[j[a>>2]>>2])}function Jm(a){a=a|0;return j[a+12>>2]}function nh(a,b){a=a|0;b=b|0;return-1}function jf(a,b,c,d){oc(a,b,c,d,W(d))}function ih(a,b){return $g(a)^$g(b)^1}function fh(a,b){return _g(a)^_g(b)^1}function Em(a){a=a|0;return j[a+8>>2]}function qp(a,b){a=a|0;b=b|0;pp(a,b)}function ak(a){a=a|0;return h[a+8|0]}function Hp(a){a=a|0;if(a){T(Gp(a))}}function $j(a){a=a|0;return h[a+9|0]}function vd(a,b){gh(a,j[a+16>>2]|b)}function sc(a,b,c){if(c){Io(a,b,c)}}function gd(a){a=a|0;return 127} +function Si(a,b,c){var d=0;d=c;b=b-a|0;c=j[c>>2]-b|0;j[d>>2]=c;if((b|0)>=1){V(c,a,b)}}function Lg(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=b;a=Mg(a,127824,b);M=c+16|0;return a}function yj(a){a=a|0;a=149464;while(1){a=Y(a-12|0);if((a|0)!=149296){continue}break}}function vj(a){a=a|0;a=149760;while(1){a=Y(a-12|0);if((a|0)!=149472){continue}break}}function sj(a){a=a|0;a=150064;while(1){a=Y(a-12|0);if((a|0)!=149776){continue}break}}function pj(a){a=a|0;a=150104;while(1){a=Y(a-12|0);if((a|0)!=150080){continue}break}}function mj(a){a=a|0;a=150136;while(1){a=Y(a-12|0);if((a|0)!=150112){continue}break}}function cr(a){a=a|0;j[a>>2]=120536;if(h[a+43|0]<=-1){T(j[a+32>>2])}lb(a);return a|0}function If(a){a=a|0;j[a>>2]=127928;if(j[a+8>>2]!=(ra()|0)){Jg(j[a+8>>2])}return a|0}function Bj(a){a=a|0;a=149288;while(1){a=Y(a-12|0);if((a|0)!=149120){continue}break}}function zm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ym(b,c,d,e,f)|0}function yg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return _m(b,c,d,e,f)|0}function rg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Hm(b,c,d,e,f)|0}function fn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return en(b,c,d,e,f)|0}function cn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return bn(b,c,d,e,f)|0}function an(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return $m(b,c,d,e,f)|0}function Zm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Ym(b,c,d,e,f)|0}function Xm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Wm(b,c,d,e,f)|0}function Vm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Um(b,c,d,e,f)|0}function Tm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Sm(b,c,d,e,f)|0}function Om(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Mm(b,c,d,e,f)|0}function Lm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Km(b,c,d,e,f)|0}function Jm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Im(b,c,d,e,f)|0}function Fm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Em(b,c,d,e,f)|0}function Dm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Cm(b,c,d,e,f)|0}function Bm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Am(b,c,d,e,f)|0}function ap(){var a=0;a=M-48|0;M=a;di(a+8|0);M=a+48|0;return+(+j[a+36>>2]/1e3/1e3)}function Li(a,b,c){if(c){while(1){j[a>>2]=b;a=a+4|0;c=c-1|0;if(c){continue}break}}}function mq(a){a=a|0;j[a+108>>2]=121256;j[a>>2]=121236;lc(a+8|0);Wa(a+108|0);T(a)}function Xi(a,b){if(!(k[a+112|0]|b>>>0>28)){h[a+112|0]=1;return a}return U(b<<2)}function br(a){a=a|0;j[a>>2]=120536;if(h[a+43|0]<=-1){T(j[a+32>>2])}lb(a);T(a)}function Mo(a,b){var c=0;c=M-16|0;M=c;j[c+12>>2]=b;ph(a,121430,b,0,0);M=c+16|0}function Ck(a,b){a=a|0;b=b|0;if(b>>>0<=127){b=j[j[31116]+(b<<2)>>2]}return b|0}function Ak(a,b){a=a|0;b=b|0;if(b>>>0<=127){b=j[j[31504]+(b<<2)>>2]}return b|0}function ni(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(zb(a,j[b+8>>2],0)){Rd(b,c,d)}}function Mf(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(k[b+11|0]>>>7|0){break a}}return-1}function Be(a,b,c,d){if(j[a+76>>2]<=-1){return th(a,b,c,d)}return th(a,b,c,d)}function tq(a){a=a|0;j[a>>2]=1072;if(h[a+79|0]<=-1){T(j[a+68>>2])}Zc(a);T(a)}function nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=M-16|0;M=b;Eg(a,c,d);M=b+16|0}function jn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=M-16|0;M=b;Dg(a,c,d);M=b+16|0}function hp(a,b){a=a|0;b=b|0;a=j[a+52>>2];if(!a){return 0}return Ic(a,b)|0}function $p(a,b){var c=0;c=ja(b<<2);j[a+8>>2]=0;j[a>>2]=c;j[a+4>>2]=c?b:0}function $f(a,b){var c=0;c=bh(j[b>>2])<<24;j[a+4>>2]=j[b>>2];h[a|0]=c>>24}function ah(a,b){b=!j[a+24>>2]|b;j[a+16>>2]=b;if(b&j[a+20>>2]){Fa();z()}}function _d(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;j[e>>2]=c;return 3}function Wj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Vj(c,d,e)|0}function Qj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Pj(c,d,e)|0}function Cf(a){var b=0;b=a;a=j[Lk()>>2];j[b>>2]=a;j[a+4>>2]=j[a+4>>2]+1}function ul(a,b,c,d,e){b=Qb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=b-1900}}function gc(a,b){a=a|0;b=b|0;h[a|0]=2;h[a+1|0]=3;h[a+2|0]=0;h[a+3|0]=4}function Nl(a,b,c,d,e){b=Rb(b,c,d,e,4);if(!(k[d|0]&4)){j[a>>2]=b-1900}}function Wd(a){a=a|0;if(j[a+8>>2]!=(ra()|0)){Jg(j[a+8>>2])}return a|0}function pg(a,b,c){var d=0;d=M-16|0;M=d;Ai(a,b,c);M=d+16|0;return a}function ng(a,b,c){var d=0;d=M-16|0;M=d;wi(a,b,c);M=d+16|0;return a}function xk(a,b,c){a=a|0;b=b|0;c=c|0;return(b>>>0<128?b:c)<<24>>24}function Vf(a,b){var c=0;c=_g(j[b>>2]);j[a+4>>2]=j[b>>2];j[a>>2]=c}function Kk(a){a=a|0;var b=0;b=j[37216]+1|0;j[37216]=b;j[a+4>>2]=b}function nf(a,b){a:{if((a|0)==(b|0)){h[a+112|0]=0;break a}T(b)}}function ak(a){a=a|0;a=j[a+8>>2];if(!a){return 1}return wf(a)|0}function Jg(a){if((a|0)!=0&(a|0)!=123376&(a|0)!=123400){T(a)}}function wc(a,b){var c=0;c=M-16|0;M=c;zi(a,b,Ig(b));M=c+16|0}function qc(a,b){var c=0;c=M-16|0;M=c;Vd(a,b,W(b));M=c+16|0}function pk(a,b,c){a=a|0;b=b|0;c=c|0;return((b|0)>-1?b:c)|0}function ga(a){var b=0;b=M-16|0;M=b;Qm(a);M=b+16|0;return a}function Qc(a){if(a>>>0>1073741823){Fa();z()}return U(a<<2)}function uf(a){a=a|0;j[a>>2]=127976;Y(a+12|0);return a|0}function tf(a){a=a|0;j[a>>2]=128016;Y(a+16|0);return a|0}function ff(a,b,c){if(!b){return 0}return Aa(a,k[c|0],b)}function $h(){Cn();j[37137]=0;j[37138]=0;j[37136]=148548}function Fg(a,b,c,d){a=Gg(a,b,c,0,-2147483648);return a}function Dn(a,b,c){a=a|0;b=b|0;c=c|0;return Fn(a,b,c)|0}function fo(a){a=a|0;return pe(j[j[a>>2]-12>>2]+a|0)|0}function Zn(a){a=a|0;return oe(j[j[a>>2]-12>>2]+a|0)|0}function Sn(a){a=a|0;return td(j[j[a>>2]-12>>2]+a|0)|0}function _o(a){a=a|0;j[a>>2]=121464;T(j[a+4>>2]);T(a)}function Ya(a,b){a=Co(a,b);return k[a|0]==(b&255)?a:0}function Y(a){if(k[a+11|0]>>>7|0){T(j[a>>2])}return a}function ae(a,b,c){if(!c){return 0}return qa(a,b,c)}function rh(a,b){if(!a){return 0}return uc(a,b)}function oo(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function lf(a){var b=0,c=0;b=a,c=ra(),j[b>>2]=c}function je(a,b,c,d){a=Gg(a,b,c,-1,-1);return a}function ab(a,b,c){if(!(k[a|0]&32)){Ld(b,c,a)}}function eo(a){a=a|0;hh(j[j[a>>2]-12>>2]+a|0)}function Yn(a){a=a|0;Zg(j[j[a>>2]-12>>2]+a|0)}function Qn(a){a=a|0;ne(j[j[a>>2]-12>>2]+a|0)}function bf(a){return _(a,0,-1,1811,W(1811))}function or(a,b,c,d){a=mr(a,b,c,d);return a}function Fo(a){a=a|0;return K(j[a+60>>2])|0}function td(a){a=a|0;Wa(a+12|0);return a|0}function Ik(a){a=a|0;O[j[j[a>>2]+4>>2]](a)}function pe(a){a=a|0;Wa(a+8|0);return a|0}function oe(a){a=a|0;Wa(a+4|0);return a|0}function Jj(a,b){a=a|0;b=b|0;ha(a,b+12|0)}function Ij(a,b){a=a|0;b=b|0;ha(a,b+16|0)}function Hj(a,b){a=a|0;b=b|0;qc(a,128048)}function Gj(a,b){a=a|0;b=b|0;wc(a,128056)}function Fj(a,b){a=a|0;b=b|0;qc(a,128076)}function Ej(a,b){a=a|0;b=b|0;wc(a,128084)}function xp(a){a=a|0;Bd(148544,j[37137])}function cg(a,b){a=a|0;b=b|0;pg(a,1,45)}function bg(a,b){a=a|0;b=b|0;ng(a,1,45)}function Ud(a,b,c){if(b){ya(a,c&255,b)}}function Tn(a){a=a|0;return td(a-8|0)|0}function Bf(a,b){a=a|0;b=b|0;return b|0}function tm(a){a=a|0;return j[a+12>>2]}function fd(a){a=a|0;return 2147483647}function Hk(a){a=a|0;Ri(j[j[a>>2]>>2])}function om(a){a=a|0;return j[a+8>>2]}function ih(a,b){a=a|0;b=b|0;return-1}function gf(a,b,c,d){oc(a,b,c,d,W(d))}function ch(a,b){return Wg(a)^Wg(b)^1}function $g(a,b){return Vg(a)^Vg(b)^1}function tp(a){a=a|0;if(a){T(sp(a))}}function Lj(a){a=a|0;return h[a+8|0]}function Kj(a){a=a|0;return h[a+9|0]}function wp(a){a=a|0;return ja(a)|0}function ud(a,b){ah(a,j[a+16>>2]|b)}function rc(a,b,c){if(c){ro(a,b,c)}}function pr(a,b,c){return nr(a,b,c)}function gd(a){a=a|0;return 127} -function Oa(a){hh(j[a>>2]);return a}function Na(a){dh(j[a>>2]);return a}function Kp(a){a=a|0;return ja(a)|0}function Kb(a,b,c){if(c){Ja(a,b,c)}}function Dr(a,b,c){return Br(a,b,c)}function sb(a){return Hb(a,149132)}function rb(a){return Hb(a,149124)}function cg(a){return Hb(a,149016)}function bg(a){return Hb(a,149008)}function ac(a,b,c){if(c){V(a,b,c)}}function Zf(a){return Hb(a,149032)}function Yf(a){return Hb(a,149024)}function Qf(a,b){Z(j[a>>2],h[b|0])}function Gb(a,b){a=a|0;b=b|0;ga(a)}function Dc(a){return Hb(a,149172)}function Bc(a){return Hb(a,149180)}function lb(a,b){return ih(a,b)^1}function kb(a,b){return fh(a,b)^1}function He(a,b){Wo(a,b);return a}function Me(a){if(a){Tq(a);T(a)}}function Jp(a){a=a|0;if(a){T(a)}}function uc(a){a=a|0;return a|0}function tf(a,b){return lj(a,b)}function Uc(a,b){return Nm(a,b)}function Sa(a,b){return ih(a,b)}function Rq(a){a=a|0;Zc(a);T(a)}function Ra(a,b){return fh(a,b)}function yj(a){a=a|0;Y(149252)}function wj(a){a=a|0;Y(149268)}function uj(a){a=a|0;Y(149284)}function sj(a){a=a|0;Y(149300)}function qj(a){a=a|0;Y(149316)}function oj(a){a=a|0;Y(149332)}function na(a,b){Ai(a,b,Ng(b))}function mj(a){a=a|0;Y(149348)}function fo(a){a=a|0;we(a-8|0)}function Aj(a){a=a|0;Y(149236)}function zr(a){a=a|0;T(Zc(a))}function yo(a){a=a|0;return-1}function xq(a){a=a|0;T(lc(a))}function we(a){a=a|0;T(ud(a))}function vf(a){a=a|0;T(ee(a))}function qg(a){a=a|0;return 2}function pf(a){a=a|0;T(ce(a))}function mh(a){a=a|0;T(ye(a))}function he(a){a=a|0;return 1}function dk(a){a=a|0;T(zf(a))}function co(a){a=a|0;T(Ae(a))}function ch(a){a=a|0;T(xe(a))}function bl(a){a=a|0;T(Kf(a))}function bk(a){a=a|0;T(yf(a))}function Ob(a){a=a|0;return 0}function Lk(a){a=a|0;T(Ff(a))}function Ka(a,b){mf(a,b,W(b))}function Eo(a){a=a|0;T(ib(a))}function Ck(a){a=a|0;T(Of(a))}function Af(a){a=a|0;return 4}function $i(a){a=a|0;T(de(a))}function ze(a,b){a=a|0;b=b|0}function Mf(a){rf(a,j[a>>2])}function $(a,b){aa(a,b,W(b))}function Ea(a){a=a|0;T(a)}function pc(a,b){tm(a,b)}function oa(a,b){Ka(a,b)}function kd(a,b){sm(a,b)}function fa(a,b){Wa(a,b)}function db(a,b){sl(a,b)}function Qi(a){a=a|0;z()}function Pb(a,b){rl(a,b)}function X(){Fa();z()}function Fa(){D();z()}function Ta(a){Ae(a)}function Ge(a){a=a|0}function ti(){z()} +function Oa(a){bh(j[a>>2]);return a}function Na(a){_g(j[a>>2]);return a}function Jb(a,b,c){if(c){Ka(a,b,c)}}function zc(a){return Mb(a,148924)}function tb(a){return Mb(a,148876)}function sb(a){return Mb(a,148868)}function ac(a,b,c){if(c){V(a,b,c)}}function Zf(a){return Mb(a,148760)}function Yf(a){return Mb(a,148752)}function Uf(a){return Mb(a,148776)}function Tf(a){return Mb(a,148768)}function Jf(a,b){Z(j[a>>2],h[b|0])}function Fb(a,b){a=a|0;b=b|0;ga(a)}function Bc(a){return Mb(a,148916)}function ze(a,b){Bo(a,b);return a}function kb(a,b){return ch(a,b)^1}function jb(a,b){return $g(a,b)^1}function vp(a){a=a|0;if(a){T(a)}}function Je(a){if(a){Fq(a);T(a)}}function tc(a){a=a|0;return a|0}function of(a,b){return Xi(a,b)}function Tc(a,b){return wm(a,b)}function Sa(a,b){return ch(a,b)}function Ra(a,b){return $g(a,b)}function Dq(a){a=a|0;Zc(a);T(a)}function na(a,b){yi(a,b,Ig(b))}function kj(a){a=a|0;Y(148980)}function ij(a){a=a|0;Y(148996)}function gj(a){a=a|0;Y(149012)}function ej(a){a=a|0;Y(149028)}function cj(a){a=a|0;Y(149044)}function aj(a){a=a|0;Y(149060)}function _i(a){a=a|0;Y(149076)}function Yi(a){a=a|0;Y(149092)}function Rn(a){a=a|0;ne(a-8|0)}function vk(a){a=a|0;T(zf(a))}function vf(a){a=a|0;return 4}function qf(a){a=a|0;T(Wd(a))}function po(a){a=a|0;T(lb(a))}function ne(a){a=a|0;T(td(a))}function lr(a){a=a|0;T(Zc(a))}function lk(a){a=a|0;T(If(a))}function lg(a){a=a|0;return 2}function jq(a){a=a|0;T(lc(a))}function jo(a){a=a|0;return-1}function hh(a){a=a|0;T(pe(a))}function Zg(a){a=a|0;T(oe(a))}function Zd(a){a=a|0;return 1}function On(a){a=a|0;T(se(a))}function Ob(a){a=a|0;return 0}function Nk(a){a=a|0;T(Ff(a))}function Nj(a){a=a|0;T(uf(a))}function Mj(a){a=a|0;T(tf(a))}function Ja(a,b){kf(a,b,W(b))}function qe(a,b){a=a|0;b=b|0}function Gf(a){mf(a,j[a>>2])}function $(a,b){aa(a,b,W(b))}function Ea(a){a=a|0;T(a)}function pc(a,b){dm(a,b)}function oa(a,b){Ja(a,b)}function kd(a,b){cm(a,b)}function fa(a,b){Va(a,b)}function db(a,b){bl(a,b)}function Pb(a,b){al(a,b)}function Ni(a){a=a|0;z()}function X(){Fa();z()}function Fa(){D();z()}function Wa(a){se(a)}function Ee(a){a=a|0}function ri(){z()} // EMSCRIPTEN_END_FUNCS -a=k;var O=Fr([null,Zc,zr,Rq,Mq,Hq,Fi,tr,vr,sr,ur,rr,ud,we,ho,fo,go,eo,ye,mh,vo,to,xe,ch,no,mo,qr,pr,ze,Do,or,nr,Ob,Ob,zo,mr,xo,lr,wo,kr,Zq,Xq,Yq,Wq,Cq,Aq,Bq,zq,lc,xq,wq,vq,uq,tq,Oh,sq,rq,qq,Lp,np,mp,No,Mo,Qo,Ko,So,Ho,ib,Eo,Co,Bo,yo,nh,nh,Ae,co,Sn,T,Ge,_k,Xk,Rj,Oj,Lj,Ij,Fj,Cj,Aj,yj,wj,uj,sj,qj,oj,mj,Kf,bl,Yk,Ff,Lk,Kk,Jk,Ik,Hk,Gf,Gk,Fk,Ek,Of,Ck,Bk,zk,xk,wk,Ob,tk,rk,zf,dk,ak,$j,_j,Yj,Wj,yf,bk,Em,Jm,Zj,Xj,Uj,uc,Ea,Ea,Wk,Vk,Uk,Tk,Sk,Rk,Qk,Pk,Gf,Ok,Nk,Mk,Ea,Ef,Ef,ie,he,he,Dk,he,Ea,qk,ok,ie,Ob,Ob,mk,Af,Ea,jk,hk,ie,Ob,Ob,fk,Af,Ea,Ea,uc,Ea,En,Dn,Cn,uc,Ea,Bn,An,yn,Ea,xn,wn,tn,rn,Eg,Eg,nn,ln,jn,gn,en,Ea,dn,cn,an,_m,wg,wg,Xm,Vm,Sm,Qm,Om,Ea,Lm,Km,Im,Hm,Gm,Fm,Dm,Cm,Ea,Bm,Am,zm,ym,xm,wm,vm,um,uc,Ea,qg,rm,qm,pm,om,nm,mm,Tj,Nj,Hj,tj,pj,Bj,xj,uc,Ea,qg,$l,_l,Zl,Yl,Xl,Wl,Qj,Kj,Ej,rj,nj,zj,vj,ee,vf,Jl,ee,vf,Il,Ea,gd,gd,Gb,Gb,Gb,hg,Ob,gc,gc,Ea,gd,gd,Gb,Gb,Gb,hg,Ob,gc,gc,Ea,fd,fd,Gb,Gb,Gb,gg,Ob,gc,gc,Ea,fd,fd,Gb,Gb,Gb,gg,Ob,gc,gc,Ea,El,Cl,Ea,yl,wl,Ea,ql,ol,Ea,nl,ml,Ea,Sf,ll,ze,Ea,Sf,kl,ze,de,$i,Xi,Wi,Yi,Zi,_i,ce,pf,Ui,Ti,uc,Qi,ti,uc,Ea,Ge,Ge,si,hi,ki,qi,Ea,ii,li,pi,Ea,ji,ni,oi]);function Nr(){return g.byteLength/65536|0}function Or(Wr){Wr=Wr|0;var P=Nr()|0;var Q=P+Wr|0;if(P this.tmpStrings.length) + if (testLen > this.tmpStrings.byteLength) this.tmpStrings = new ArrayBuffer(testLen); var code = 0; From 4fd6dd9bac0fc33dbfce48dc0f048104a94c7732 Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Mon, 17 May 2021 23:12:19 +0300 Subject: [PATCH 360/381] [se] Fix unnecessary memory consumption in pivot tables --- cell/model/PivotTables.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/cell/model/PivotTables.js b/cell/model/PivotTables.js index 30c87544c6..9383e85d59 100644 --- a/cell/model/PivotTables.js +++ b/cell/model/PivotTables.js @@ -7354,8 +7354,8 @@ CT_Error.prototype.toXml2 = function(writer, name, val, obj) { }; CT_Error.prototype.isSimpleValue = function() { return null === this.u && null === this.f && null === this.c && null === this.cp && null === this.in && - null === this.bc && null === this.fc && null === this.i && null === this.un && null === this.st && - null === this.b && null === 0 === this.tpls.length && 0 === this.x.length; + null === this.bc && null === this.fc && false === this.i && false === this.un && false === this.st && + false === this.b && 0 === this.tpls.length && 0 === this.x.length; }; CT_Error.prototype.clean = function() { this.v = null; @@ -7514,8 +7514,8 @@ CT_Missing.prototype.toXml2 = function(writer, name, obj) { }; CT_Missing.prototype.isSimpleValue = function() { return null === this.u && null === this.f && null === this.c && null === this.cp && null === this.in && - null === this.bc && null === this.fc && null === this.i && null === this.un && null === this.st && - null === this.b && 0 === this.tpls.length && 0 === this.x.length; + null === this.bc && null === this.fc && false === this.i && false === this.un && false === this.st && + false === this.b && 0 === this.tpls.length && 0 === this.x.length; }; CT_Missing.prototype.clean = function() { this.v = null; @@ -7684,8 +7684,8 @@ CT_Number.prototype.toXml2 = function(writer, name, val, obj) { }; CT_Number.prototype.isSimpleValue = function() { return null === this.u && null === this.f && null === this.c && null === this.cp && null === this.in && - null === this.bc && null === this.fc && null === this.i && null === this.un && null === this.st && - null === this.b && 0 === this.tpls.length && 0 === this.x.length; + null === this.bc && null === this.fc && false === this.i && false === this.un && false === this.st && + false === this.b && 0 === this.tpls.length && 0 === this.x.length; }; CT_Number.prototype.clean = function() { this.v = null; @@ -7852,8 +7852,8 @@ CT_String.prototype.toXml2 = function(writer, name, val, obj) { }; CT_String.prototype.isSimpleValue = function() { return null === this.u && null === this.f && null === this.c && null === this.cp && null === this.in && - null === this.bc && null === this.fc && null === this.i && null === this.un && null === this.st && - null === this.b && 0 === this.tpls.length && 0 === this.x.length; + null === this.bc && null === this.fc && false === this.i && false === this.un && false === this.st && + false === this.b && 0 === this.tpls.length && 0 === this.x.length; }; CT_String.prototype.clean = function() { this.v = null; From 24b5de793922dac4860009eabaa212a0e0198c2d Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Mon, 24 May 2021 16:53:20 +0300 Subject: [PATCH 361/381] [bug] Fix bug 50446 --- slide/Drawing/DrawingDocument.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/slide/Drawing/DrawingDocument.js b/slide/Drawing/DrawingDocument.js index cce8cbbff0..aaef358f7e 100644 --- a/slide/Drawing/DrawingDocument.js +++ b/slide/Drawing/DrawingDocument.js @@ -3277,8 +3277,8 @@ function CDrawingDocument() var _pageW = 297; var _pageH = 210; var _canvas = document.createElement('canvas'); - _canvas.width = TABLE_STYLE_WIDTH_PIX; - _canvas.height = TABLE_STYLE_HEIGHT_PIX; + _canvas.width = (TABLE_STYLE_WIDTH_PIX * AscCommon.AscBrowser.retinaPixelRatio) >> 0; + _canvas.height = (TABLE_STYLE_HEIGHT_PIX * AscCommon.AscBrowser.retinaPixelRatio) >> 0; var ctx = _canvas.getContext('2d'); var oTable; for (var i = 0; i < logicDoc.TablesForInterface.length; i++) From 89db503a87cfa91e027b4267c280cb8f599bdffb Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Mon, 24 May 2021 16:12:51 +0300 Subject: [PATCH 362/381] [se] Fix bug 50549 --- cell/model/DataValidation.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cell/model/DataValidation.js b/cell/model/DataValidation.js index df544e7594..c974bd4ddc 100644 --- a/cell/model/DataValidation.js +++ b/cell/model/DataValidation.js @@ -538,6 +538,11 @@ if (list && AscCommonExcel.cElementType.error !== list.type) { if (AscCommonExcel.cElementType.string === list.type) { aValue = list.getValue().split(AscCommon.FormulaSeparators.functionArgumentSeparatorDef); + if (aValue && aValue.length) { + for (var i = 0; i < aValue.length; i++) { + aValue[i] = aValue[i].trim(); + } + } } else { list = list.getRange(); if (list) { From 5b602442c3a3376721a32a8b4c8101acfca9073b Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Mon, 24 May 2021 18:05:30 +0300 Subject: [PATCH 363/381] [se] By bug 50549 --- cell/model/DataValidation.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cell/model/DataValidation.js b/cell/model/DataValidation.js index c974bd4ddc..564e3076a1 100644 --- a/cell/model/DataValidation.js +++ b/cell/model/DataValidation.js @@ -540,7 +540,14 @@ aValue = list.getValue().split(AscCommon.FormulaSeparators.functionArgumentSeparatorDef); if (aValue && aValue.length) { for (var i = 0; i < aValue.length; i++) { - aValue[i] = aValue[i].trim(); + //обрезаем только вначале строки + if (aValue[i] && aValue[i].length) { + var pos = 0; + while((pos < aValue[i].length) && (aValue[i][pos] == ' ')){ + ++pos; + } + aValue[i] = pos ? aValue[i].substr(pos) : aValue[i]; + } } } } else { From 8dfddedef1ab0c5914039d0f2ef4b388e140c2ee Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Wed, 26 May 2021 21:18:40 +0300 Subject: [PATCH 364/381] [bug] Fix changes error --- common/Charts/charts.js | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/common/Charts/charts.js b/common/Charts/charts.js index 85fd782746..40d85b5d5c 100644 --- a/common/Charts/charts.js +++ b/common/Charts/charts.js @@ -908,16 +908,18 @@ TextArtPreviewManager.prototype.getWordArtPreview = function(prst) }; TextArtPreviewManager.prototype.getWordArtPreviews = function() { - var aRet = []; - for(var nIdx = 0; nIdx < AscCommon.g_aTextArtPresets.length; ++nIdx) - { - var sPreset = AscCommon.g_aTextArtPresets[nIdx]; - var oPreview = {}; - oPreview["Type"] = sPreset; - oPreview["Image"] = this.getWordArtPreview(sPreset); - aRet.push(oPreview); - } - return aRet; + return AscFormat.ExecuteNoHistory(function(){ + var aRet = []; + for(var nIdx = 0; nIdx < AscCommon.g_aTextArtPresets.length; ++nIdx) + { + var sPreset = AscCommon.g_aTextArtPresets[nIdx]; + var oPreview = {}; + oPreview["Type"] = sPreset; + oPreview["Image"] = this.getWordArtPreview(sPreset); + aRet.push(oPreview); + } + return aRet; + }, this, []); }; TextArtPreviewManager.prototype.getWordArtPreviewCanvas = function(prst) { From c2ecd21b37ce966f9388aa587f82a9b1b2d40453 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 27 May 2021 14:02:30 +0300 Subject: [PATCH 365/381] [bug] Fix adding changes to history without point --- common/Drawings/Format/ChartFormat.js | 112 ++++++++++++++------------ 1 file changed, 60 insertions(+), 52 deletions(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index 1bc2c02eec..c21f807a60 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -9907,9 +9907,11 @@ this.setParentToChild(pr); }; CMultiLvlStrRef.prototype.updateCache = function(oSeries) { - this.setMultiLvlStrCache(new CMultiLvlStrCache()); - this.multiLvlStrCache.update(this.f, oSeries); - this.onUpdateCache(); + AscFormat.ExecuteNoHistory(function() { + this.setMultiLvlStrCache(new CMultiLvlStrCache()); + this.multiLvlStrCache.update(this.f, oSeries); + this.onUpdateCache(); + }, this, []); }; CMultiLvlStrRef.prototype.getValues = function(nMaxValues) { if(!this.multiLvlStrCache) { @@ -9945,19 +9947,21 @@ this.setParentToChild(pr); }; CNumRef.prototype.updateCache = function(displayEmptyCellsAs, displayHidden, ser) { - if(!this.numCache) { - this.setNumCache(new CNumLit()); - this.numCache.setFormatCode("General"); - this.numCache.setPtCount(0); - } - else { - this.numCache.removeAllPts(); - } - if(ser) { - ser.isHidden = true; - } - this.numCache.update(this.f, displayEmptyCellsAs, displayHidden, ser); - this.onUpdateCache(); + AscFormat.ExecuteNoHistory(function() { + if(!this.numCache) { + this.setNumCache(new CNumLit()); + this.numCache.setFormatCode("General"); + this.numCache.setPtCount(0); + } + else { + this.numCache.removeAllPts(); + } + if(ser) { + ser.isHidden = true; + } + this.numCache.update(this.f, displayEmptyCellsAs, displayHidden, ser); + this.onUpdateCache(); + }, this, []); }; CNumRef.prototype.getValuesCount = function() { if(!this.numCache) { @@ -10014,12 +10018,14 @@ this.setParentToChild(pr); }; CStrRef.prototype.updateCache = function() { - if(!this.strCache) { - this.setStrCache(new CStrCache()); - } - this.strCache.removeAllPts(); - this.strCache.update(this.f); - this.onUpdateCache(); + AscFormat.ExecuteNoHistory(function() { + if(!this.strCache) { + this.setStrCache(new CStrCache()); + } + this.strCache.removeAllPts(); + this.strCache.update(this.f); + this.onUpdateCache(); + }, this, []); }; CStrRef.prototype.getText = function(bNoUpdate) { if(!this.strCache) { @@ -12830,40 +12836,42 @@ return oLit; }; CCat.prototype.update = function(oSeries) { - this.calculatedRef = null; - if(this.numRef || this.strRef || this.multiLvlStrRef) { - var sFormula = this.getFormula(); - if(typeof sFormula === "string" && sFormula.length > 0) { - var oTestCat = new CCat(); - var oRes = oTestCat.setValues(sFormula); - var oNumRef = oTestCat.numRef; - var oStrRef = oTestCat.strRef; - var oMultiLvlStrRef = oTestCat.multiLvlStrRef; - if(oRes && oRes.error === Asc.c_oAscError.ID.No && (oNumRef || oStrRef || oMultiLvlStrRef)) { - this.calculatedRef = oNumRef || oStrRef || oMultiLvlStrRef; - if(this.calculatedRef) { - if(this.calculatedRef.getObjectType() === AscDFH.historyitem_type_MultiLvlStrRef) { - this.calculatedRef.updateCache(oSeries); - } - else { - this.calculatedRef.updateCache(); + return AscFormat.ExecuteNoHistory(function(){ + this.calculatedRef = null; + if(this.numRef || this.strRef || this.multiLvlStrRef) { + var sFormula = this.getFormula(); + if(typeof sFormula === "string" && sFormula.length > 0) { + var oTestCat = new CCat(); + var oRes = oTestCat.setValues(sFormula); + var oNumRef = oTestCat.numRef; + var oStrRef = oTestCat.strRef; + var oMultiLvlStrRef = oTestCat.multiLvlStrRef; + if(oRes && oRes.error === Asc.c_oAscError.ID.No && (oNumRef || oStrRef || oMultiLvlStrRef)) { + this.calculatedRef = oNumRef || oStrRef || oMultiLvlStrRef; + if(this.calculatedRef) { + if(this.calculatedRef.getObjectType() === AscDFH.historyitem_type_MultiLvlStrRef) { + this.calculatedRef.updateCache(oSeries); + } + else { + this.calculatedRef.updateCache(); + } } } } } - } - if(this.multiLvlStrRef) { - this.multiLvlStrRef.updateCache(oSeries); - } - if(this.numRef) { - this.numRef.updateCache(); - } - if(this.strRef) { - this.strRef.updateCache(); - } - if(!this.calculatedRef) { - this.calculatedRef = (this.multiLvlStrRef || this.numRef || this.strRef); - } + if(this.multiLvlStrRef) { + this.multiLvlStrRef.updateCache(oSeries); + } + if(this.numRef) { + this.numRef.updateCache(); + } + if(this.strRef) { + this.strRef.updateCache(); + } + if(!this.calculatedRef) { + this.calculatedRef = (this.multiLvlStrRef || this.numRef || this.strRef); + } + }, this, []); }; CCat.prototype.getSourceNumFormat = function() { if(this.calculatedRef) { From d56e79f3a0f2fb897d1aecceb529d79f3724a540 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Fri, 28 May 2021 12:59:43 +0300 Subject: [PATCH 366/381] [bug] Fix bug 50607 --- common/Drawings/Format/CnxShape.js | 33 +++++++++++++++++++++++++---- common/Drawings/Format/OleObject.js | 9 +++++++- common/Shapes/Serialize.js | 23 +++++--------------- 3 files changed, 42 insertions(+), 23 deletions(-) diff --git a/common/Drawings/Format/CnxShape.js b/common/Drawings/Format/CnxShape.js index 2d1d392bdf..31bc76834f 100644 --- a/common/Drawings/Format/CnxShape.js +++ b/common/Drawings/Format/CnxShape.js @@ -559,9 +559,23 @@ }; CConnectionShape.prototype.assignConnection = function(oObjectsMap){ var oPr = this.nvSpPr.nvUniSpPr; + var oStartSp, oEndSp; + var oCnx; + var aCnx; if(AscFormat.isRealNumber(oPr.stCnxId)){ - if(AscCommon.isRealObject(oObjectsMap[oPr.stCnxId])){ - oPr.stCnxId = oObjectsMap[oPr.stCnxId].Id; + oStartSp = oObjectsMap[oPr.stCnxId]; + if(AscCommon.isRealObject(oStartSp)){ + aCnx = oStartSp.getGeom().cnxLstInfo; + if(aCnx) { + oCnx = aCnx[oPr.stCnxIdx]; + } + if(oCnx) { + oPr.stCnxId = oStartSp.Id; + } + else { + oPr.stCnxId = null; + oPr.stCnxIdx = null; + } } else{ oPr.stCnxId = null; @@ -569,8 +583,19 @@ } } if(AscFormat.isRealNumber(oPr.endCnxId)){ - if(AscCommon.isRealObject(oObjectsMap[oPr.endCnxId])){ - oPr.endCnxId = oObjectsMap[oPr.endCnxId].Id; + oEndSp = oObjectsMap[oPr.endCnxId]; + if(AscCommon.isRealObject(oEndSp)){ + aCnx = oEndSp.getGeom().cnxLstInfo; + if(aCnx) { + oCnx = aCnx[oPr.endCnxIdx]; + } + if(oCnx) { + oPr.endCnxId = oEndSp.Id; + } + else { + oPr.endCnxId = null; + oPr.endCnxIdx = null; + } } else{ oPr.endCnxId = null; diff --git a/common/Drawings/Format/OleObject.js b/common/Drawings/Format/OleObject.js index 2885d2dab3..86db349ccf 100644 --- a/common/Drawings/Format/OleObject.js +++ b/common/Drawings/Format/OleObject.js @@ -206,7 +206,14 @@ function (window, undefined) { AscFormat.CImageShape.prototype.handleUpdateExtents.call(this, []); }; COleObject.prototype.checkTypeCorrect = function(){ - if(!this.m_sData){ + var bCorrectData = false; + if(this.m_sData) { + bCorrectData = true; + } + else if(this.m_sObjectFile && this.m_aBinaryData) { + bCorrectData = true; + } + if(!bCorrectData){ return false; } if(!this.m_sApplicationId){ diff --git a/common/Shapes/Serialize.js b/common/Shapes/Serialize.js index c2b1e3217f..070a8556c1 100644 --- a/common/Shapes/Serialize.js +++ b/common/Shapes/Serialize.js @@ -6937,8 +6937,11 @@ function BinaryPPTYLoader() var _object = this.ReadPic(_type); if (!IsHiddenObj(_object)) { - shapes[shapes.length] = _object; - _object.setParent2(this.TempMainObject); + if(_type !== 6 || _object.checkCorrect()) + { + shapes[shapes.length] = _object; + _object.setParent2(this.TempMainObject); + } } break; } @@ -7044,14 +7047,6 @@ function BinaryPPTYLoader() { if(isOle) { this.ReadOleInfo(pic); - // if(pic.m_sObjectFile === "maskFile.docx" - // || pic.m_sObjectFile === "maskFile.xlsx"){ - // var oParent = pic.parent; - // pic = AscFormat.CImageShape.prototype.copy.call(pic); - // if(oParent){ - // pic.setParent(oParent); - // } - // } } else { s.SkipRecord(); } @@ -12115,14 +12110,6 @@ CCore.prototype.Refresh_RecalcData2 = function(){ { if(isOle) { this.ReadOleInfo(pic); - // if(pic.m_sObjectFile === "maskFile.docx" - // || pic.m_sObjectFile === "maskFile.xlsx"){ - // var oParent = pic.parent; - // pic = AscFormat.CImageShape.prototype.copy.call(pic); - // if(oParent){ - // pic.setParent(oParent); - // } - // } } else { s.SkipRecord(); } From c50c2dceaef1baf0d5b88e773aac17eb966a1a89 Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Fri, 28 May 2021 14:08:55 +0300 Subject: [PATCH 367/381] Fixed pasting text into cells of Api.ReplaceTextSmart() method in SpreadSheet editor --- word/apiBuilder.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/word/apiBuilder.js b/word/apiBuilder.js index e5afc6abf8..97aa91d95d 100644 --- a/word/apiBuilder.js +++ b/word/apiBuilder.js @@ -12035,7 +12035,10 @@ nTextToReplace += nCountLinesInCell; if (resultText !== '') - tempRange.SetValue(resultText); + if (!this.wb.getCellEditMode()) + tempRange.SetValue(resultText); + else + this.wb.cellEditor._addChars(resultText); } } } From 2b38fafa8a1325a7264e8bbef4b375a1bf52a1c6 Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Fri, 28 May 2021 16:20:17 +0300 Subject: [PATCH 368/381] Changed the used _addChars method to pasteText in Api.ReplaceTextSmart() method. --- word/apiBuilder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/word/apiBuilder.js b/word/apiBuilder.js index 97aa91d95d..102eaca9b4 100644 --- a/word/apiBuilder.js +++ b/word/apiBuilder.js @@ -12038,7 +12038,7 @@ if (!this.wb.getCellEditMode()) tempRange.SetValue(resultText); else - this.wb.cellEditor._addChars(resultText); + this.wb.cellEditor.pasteText(resultText); } } } From 4148b8b7b7e7ad069562d63bfd350ae8c063139f Mon Sep 17 00:00:00 2001 From: GoshaZotov Date: Fri, 28 May 2021 17:28:37 +0300 Subject: [PATCH 369/381] [se] Fix bug 50642 --- cell/view/WorksheetView.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cell/view/WorksheetView.js b/cell/view/WorksheetView.js index 7adfc05def..dd630c3e0f 100644 --- a/cell/view/WorksheetView.js +++ b/cell/view/WorksheetView.js @@ -8443,7 +8443,8 @@ var vr = this.visibleRange; var nRowsCount = this.nRowsCount; var nColsCount = this.nColsCount; - var ar = range || this._getSelection().getLast(); + var selection = this.model.selectionRange || this.model.copySelection; + var ar = range || selection.getLast(); if (this.getFormulaEditMode()) { // Для формул нужно сделать ограничение по range (у нас хранится полный диапазон) if (ar.c2 >= this.nColsCount || ar.r2 >= this.nRowsCount) { From 357f563f9e9099d9ab9d7bbcec545a7006b8fc75 Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Mon, 31 May 2021 10:35:53 +0300 Subject: [PATCH 370/381] Added methods to export (#1967) --- word/apiBuilder.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/word/apiBuilder.js b/word/apiBuilder.js index 102eaca9b4..d46f09706b 100644 --- a/word/apiBuilder.js +++ b/word/apiBuilder.js @@ -12426,6 +12426,16 @@ ApiParaPr.prototype["SetTabs"] = ApiParaPr.prototype.SetTabs; ApiParaPr.prototype["SetNumPr"] = ApiParaPr.prototype.SetNumPr; ApiParaPr.prototype["SetBullet"] = ApiParaPr.prototype.SetBullet; + ApiParaPr.prototype["GetStyle"] = ApiParaPr.prototype.GetStyle; + ApiParaPr.prototype["GetSpacingLineValue"] = ApiParaPr.prototype.GetSpacingLineValue; + ApiParaPr.prototype["GetSpacingLineRule"] = ApiParaPr.prototype.GetSpacingLineRule; + ApiParaPr.prototype["GetSpacingBefore"] = ApiParaPr.prototype.GetSpacingBefore; + ApiParaPr.prototype["GetSpacingAfter"] = ApiParaPr.prototype.GetSpacingAfter; + ApiParaPr.prototype["GetShd"] = ApiParaPr.prototype.GetShd; + ApiParaPr.prototype["GetJc"] = ApiParaPr.prototype.GetJc; + ApiParaPr.prototype["GetIndRight"] = ApiParaPr.prototype.GetIndRight; + ApiParaPr.prototype["GetIndLeft"] = ApiParaPr.prototype.GetIndLeft; + ApiParaPr.prototype["GetIndFirstLine"] = ApiParaPr.prototype.GetIndFirstLine; ApiTablePr.prototype["GetClassType"] = ApiTablePr.prototype.GetClassType; ApiTablePr.prototype["SetStyleColBandSize"] = ApiTablePr.prototype.SetStyleColBandSize; From 28b35403453acbbd7ade881ab402251ee7043c4d Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 1 Jun 2021 21:37:01 +0300 Subject: [PATCH 371/381] Fix bug #50604 --- word/Editor/Table.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/word/Editor/Table.js b/word/Editor/Table.js index 1d186d8686..6cd25204db 100644 --- a/word/Editor/Table.js +++ b/word/Editor/Table.js @@ -16066,8 +16066,7 @@ CTable.prototype.AcceptRevisionChanges = function(nType, bAll) } } - isAllSelected = true; - isCellSelection = true; + isAllSelected = true; } if ((bAll || (isCellSelection && !this.ApplyToAll)) && (undefined === nType || c_oAscRevisionsChangeType.TablePr === nType || c_oAscRevisionsChangeType.RowsAdd === nType || c_oAscRevisionsChangeType.RowsRem === nType)) From ca96441378f4ca8c5c94f2e40b35719e4f00b8ff Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Tue, 1 Jun 2021 22:01:50 +0300 Subject: [PATCH 372/381] Fix bug #50662 --- word/Editor/Document.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/word/Editor/Document.js b/word/Editor/Document.js index 46fe316d15..0cea88dacc 100644 --- a/word/Editor/Document.js +++ b/word/Editor/Document.js @@ -2270,12 +2270,12 @@ function CDocument(DrawingDocument, isMainLogicDocument) this.TrackRevisions = null; // Локальный флаг рецензирования, который перекрывает флаг Settings.TrackRevisions, если сам не null this.TrackRevisionsManager = new CTrackRevisionsManager(this); + this.Settings = new CDocumentSettings(); + this.Content[0] = new Paragraph(DrawingDocument, this); this.Content[0].Set_DocumentNext(null); this.Content[0].Set_DocumentPrev(null); - this.Settings = new CDocumentSettings(); - this.CurPos = { X : 0, From 606434c7f5b135e68dd99b0dd91c3fdc69ae718e Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 3 Jun 2021 10:07:53 +0300 Subject: [PATCH 373/381] [bug] Escape sheet name for regexp on changing sheet name or on deleting sheets --- cell/model/FormulaObjects/parserFormula.js | 3 --- common/Drawings/Format/ChartFormat.js | 4 ++-- common/editorscommon.js | 4 ++++ 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/cell/model/FormulaObjects/parserFormula.js b/cell/model/FormulaObjects/parserFormula.js index 0ccb58fe06..c7fb961815 100644 --- a/cell/model/FormulaObjects/parserFormula.js +++ b/cell/model/FormulaObjects/parserFormula.js @@ -600,9 +600,6 @@ Math.trunc = Math.trunc || function(v) { return (v - v % 1) || (!isFinite(v) || v === 0 ? v : v < 0 ? -0 : 0); }; -RegExp.escape = function ( text ) { - return text.replace( /[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&" ); -}; parserHelp.setDigitSeparator(AscCommon.g_oDefaultCultureInfo.NumberDecimalSeparator); diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index c21f807a60..bf8d0841a3 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -9858,7 +9858,7 @@ if(sFormula !== null) { for(var nName = 0; nName < aNames.length; ++nName) { sName = aNames[nName]; - sFormula = sFormula.replace(sName, "#REF"); + sFormula = sFormula.replace(new RegExp(RegExp.escape(sName), 'g'), "#REF"); } if(this.f !== sFormula) { this.setF(sFormula); @@ -9869,7 +9869,7 @@ if(typeof this.f === "string" && this.f.length > 0) { var sFormula = this.f; if(sFormula.indexOf(sOldSheetName) > -1) { - this.setF(sFormula.replace(new RegExp(sOldSheetName, 'g'), sNewSheetName)); + this.setF(sFormula.replace(new RegExp(RegExp.escape(sOldSheetName), 'g'), sNewSheetName)); } } }; diff --git a/common/editorscommon.js b/common/editorscommon.js index bbd347498b..c5e2e62363 100644 --- a/common/editorscommon.js +++ b/common/editorscommon.js @@ -155,6 +155,10 @@ return false; }; + RegExp.escape = function ( text ) { + return text.replace( /[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&" ); + }; + if (typeof require === 'function' && !window['XRegExp']) { window['XRegExp'] = require('xregexp'); From 84a6355099b177185b3c0d3e34988b33801bc7e8 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 3 Jun 2021 13:18:40 +0300 Subject: [PATCH 374/381] [bug] Fix losses ole-objects on opening --- common/Drawings/Format/OleObject.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/Drawings/Format/OleObject.js b/common/Drawings/Format/OleObject.js index 86db349ccf..37d648cfc9 100644 --- a/common/Drawings/Format/OleObject.js +++ b/common/Drawings/Format/OleObject.js @@ -210,7 +210,7 @@ function (window, undefined) { if(this.m_sData) { bCorrectData = true; } - else if(this.m_sObjectFile && this.m_aBinaryData) { + else if(this.m_sObjectFile) { bCorrectData = true; } if(!bCorrectData){ From 7bc028c7dc8b0af94c4d3d7fb099d8bd92e648d9 Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Thu, 3 Jun 2021 13:00:45 +0300 Subject: [PATCH 375/381] Fix bug #50699 --- word/apiBuilder.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/word/apiBuilder.js b/word/apiBuilder.js index d46f09706b..92769b2913 100644 --- a/word/apiBuilder.js +++ b/word/apiBuilder.js @@ -12021,6 +12021,9 @@ { for (var nCol = oRange.range.bbox.c1; nCol <= oRange.range.bbox.c2; nCol++) { + if (oWorksheet.worksheet.getRowHidden(nRow) || oWorksheet.worksheet.getColHidden(nCol)) + continue; + resultText = ''; tempRange = oWorksheet.GetRangeByNumber(nRow, nCol); nCountLinesInCell = tempRange.GetValue().split('\n').length; From 63f3816ca790a25727a23af5f1710bb393e651d4 Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Thu, 3 Jun 2021 14:34:25 +0300 Subject: [PATCH 376/381] Skip checking hidden columns in Api.ReplaceTextSmart() --- word/apiBuilder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/word/apiBuilder.js b/word/apiBuilder.js index 92769b2913..06234cff1f 100644 --- a/word/apiBuilder.js +++ b/word/apiBuilder.js @@ -12021,7 +12021,7 @@ { for (var nCol = oRange.range.bbox.c1; nCol <= oRange.range.bbox.c2; nCol++) { - if (oWorksheet.worksheet.getRowHidden(nRow) || oWorksheet.worksheet.getColHidden(nCol)) + if (oWorksheet.worksheet.getRowHidden(nRow)) continue; resultText = ''; From cb46bd902995abe1c7a61793743b8e7953ed5fa8 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Thu, 3 Jun 2021 16:36:22 +0300 Subject: [PATCH 377/381] [bug] Fix bug 50715 (#1984) --- common/Drawings/Format/OleObject.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/Drawings/Format/OleObject.js b/common/Drawings/Format/OleObject.js index 37d648cfc9..718093c814 100644 --- a/common/Drawings/Format/OleObject.js +++ b/common/Drawings/Format/OleObject.js @@ -216,7 +216,7 @@ function (window, undefined) { if(!bCorrectData){ return false; } - if(!this.m_sApplicationId){ + if(this.m_sApplicationId === null){ return false; } if(this.m_nPixHeight === null || this.m_nPixHeight === null){ From 5348e1e951666890c88a1dde55aea3bf7f64e33f Mon Sep 17 00:00:00 2001 From: Igor Zotov Date: Thu, 3 Jun 2021 17:25:54 +0300 Subject: [PATCH 378/381] [se] Fix bug 50717 (#1985) --- cell/model/clipboard.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cell/model/clipboard.js b/cell/model/clipboard.js index 8b0f9ef634..870dc578cc 100644 --- a/cell/model/clipboard.js +++ b/cell/model/clipboard.js @@ -1539,7 +1539,7 @@ var aPastedImages = this._readExcelBinary(base64, tempWorkbook); if (!isIntoShape && this._checkCutBefore(worksheet, tempWorkbook)) { - return; + return true; } var pasteData = null; From d6c9632fc6234442492c42baba806826adcb08b8 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Mon, 7 Jun 2021 13:21:49 +0300 Subject: [PATCH 379/381] [bug][mobile] fix drawing tracks for chart ranges (#1987) --- cell/native/native.js | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/cell/native/native.js b/cell/native/native.js index efdb71282c..aee4a0afaf 100644 --- a/cell/native/native.js +++ b/cell/native/native.js @@ -4456,7 +4456,7 @@ window["native"]["offline_get_selection"] = function(x, y, width, height, autoco window["native"]["offline_get_charts_ranges"] = function() { var ws = _api.wb.getWorksheet(); - var ranges = _api.wb.getWorksheet().__chartsRanges(); + var ranges = ws.__chartsRanges(); var cattbbox = null; var serbbox = null; @@ -4465,11 +4465,34 @@ window["native"]["offline_get_charts_ranges"] = function() { var selected_objects = controller.selection.groupSelection ? controller.selection.groupSelection.selectedObjects : controller.selectedObjects; if (selected_objects.length === 1 && selected_objects[0].getObjectType() === AscDFH.historyitem_type_ChartSpace) { chart = selected_objects[0]; - ranges = ranges ? ranges : _api.wb.getWorksheet().__chartsRanges([chart.bbox.seriesBBox]); - cattbbox = chart.bbox.catBBox ? _api.wb.getWorksheet().__chartsRanges([chart.bbox.catBBox]) : null; - serbbox = chart.bbox.serBBox ? _api.wb.getWorksheet().__chartsRanges([chart.bbox.serBBox]) : null; + var oDataRange = null, oCatRange = null, oSerRange = null; + if (ws.isChartAreaEditMode && ws.oOtherRanges) { + var aChartRanges = ws.oOtherRanges.ranges; + for(var nRange = 0; nRange < aChartRanges.length; ++nRange) { + var oChartRange = aChartRanges[nRange]; + if(oChartRange.chartRangeIndex === 0) { + oDataRange = oChartRange; + } + else if(oChartRange.chartRangeIndex === 1) { + oSerRange = oChartRange; + } + else if(oChartRange.chartRangeIndex === 2) { + oCatRange = oChartRange; + } + } + if(oDataRange) { + var ranges = ranges ? ranges : ws.__chartsRanges([oDataRange]); + var catbbox = null;//oCatRange ? ws.__chartsRanges([oCatRange]) : null; + var serbbox = null;//oSerRange ? ws.__chartsRanges([oSerRange]) : null; + return { + 'ranges': ranges, + 'cattbbox': catbbox, + 'serbbox': serbbox + }; + } + } + return {'ranges': null, 'cattbbox': null, 'serbbox': null}; } - return {'ranges':ranges, 'cattbbox':cattbbox, 'serbbox':serbbox}; } window["native"]["offline_get_worksheet_bounds"] = function() {return _s.getMaxBounds();} From 028c188e193d058fe64d7b647c4149d3e4c4c662 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Mon, 7 Jun 2021 18:43:27 +0300 Subject: [PATCH 380/381] [bug] Fix bug 50757 --- common/Drawings/Format/OleObject.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/common/Drawings/Format/OleObject.js b/common/Drawings/Format/OleObject.js index 718093c814..4d934c16cf 100644 --- a/common/Drawings/Format/OleObject.js +++ b/common/Drawings/Format/OleObject.js @@ -219,9 +219,6 @@ function (window, undefined) { if(this.m_sApplicationId === null){ return false; } - if(this.m_nPixHeight === null || this.m_nPixHeight === null){ - return false; - } return true; }; window['AscFormat'] = window['AscFormat'] || {}; From 466fb98d4d2cb1957b6df73d3ce1aa2d8ea4a7b5 Mon Sep 17 00:00:00 2001 From: Sergey Luzyanin Date: Mon, 7 Jun 2021 18:44:57 +0300 Subject: [PATCH 381/381] [bug] Fix bug 50762 --- common/Drawings/Format/ChartFormat.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/Drawings/Format/ChartFormat.js b/common/Drawings/Format/ChartFormat.js index bf8d0841a3..b120680bbd 100644 --- a/common/Drawings/Format/ChartFormat.js +++ b/common/Drawings/Format/ChartFormat.js @@ -11858,7 +11858,7 @@ } }; CSurfaceSeries.prototype.fillObject = function(oCopy, oIdMap) { - CSeriesBase.prototype.fillObject.call(oCopy, oIdMap); + CSeriesBase.prototype.fillObject.call(this, oCopy, oIdMap); }; CSurfaceSeries.prototype.setCat = function(pr) { History.CanAddChanges() && History.Add(new CChangesDrawingsObject(this, AscDFH.historyitem_SurfaceSeries_SetCat, this.cat, pr));

                                                                    >>0?l+1|0:l;y=Cr(D,i,L,c);D=N;i=Cr(E,O,v,Q);h=i+y|0;k=N+D|0;k=h>>>0>>0?k+1|0:k;E=h;l=Cr(w,B,A,r);h=h+l|0;i=k;k=k+N|0;k=h>>>0>>0?k+1|0:k;w=h;o=Cr(m,x,K,u);h=h+o|0;l=k+N|0;l=h>>>0>>0?l+1|0:l;o=h;h=l;x=0;m=(l|0)==(k|0)&o>>>0>>0|l>>>0>>0;l=(i|0)==(k|0)&w>>>0>>0|i>>>0>k>>>0;i=l+((i|0)==(D|0)&E>>>0>>0|i>>>0>>0)|0;k=0;i=m+i|0;k=i;l=h|0;i=l+t|0;k=(k|x)+e|0;k=i>>>0>>0?k+1|0:k;l=k;m=(e|0)==(k|0)&i>>>0>>0|e>>>0>k>>>0;e=m+C|0;k=p;w=e;e=e>>>0>>0?k+1|0:k;t=i;p=l;A=Cr(A,r,L,c);r=N;k=Cr(K,u,v,Q);i=k+A|0;l=N+r|0;l=i>>>0>>0?l+1|0:l;m=l;l=0;k=(m|0)==(r|0)&i>>>0>>0|m>>>0>>0;i=m+q|0;k=(k|l)+d|0;k=i>>>0>>0?k+1|0:k;m=i;l=i;i=k;l=(d|0)==(k|0)&l>>>0>>0|d>>>0>k>>>0;d=k;q=l;k=o;o=0;h=o+m|0;l=d+k|0;d=h;l=d>>>0>>0?l+1|0:l;h=(i|0)==(l|0)&d>>>0>>0|i>>>0>l>>>0;d=q+h|0;l=0;l=d>>>0>>0?1:l;h=d;d=d+t|0;k=l+p|0;k=d>>>0>>0?k+1|0:k;h=d;i=k;k=(k|0)==(p|0)&d>>>0>>0|k>>>0

                                                                    >>0?l+1|0:l;y=Dr(D,i,L,c);D=N;i=Dr(E,O,v,Q);h=i+y|0;k=N+D|0;k=h>>>0>>0?k+1|0:k;E=h;l=Dr(w,B,A,r);h=h+l|0;i=k;k=k+N|0;k=h>>>0>>0?k+1|0:k;w=h;o=Dr(m,x,K,u);h=h+o|0;l=k+N|0;l=h>>>0>>0?l+1|0:l;o=h;h=l;x=0;m=(l|0)==(k|0)&o>>>0>>0|l>>>0>>0;l=(i|0)==(k|0)&w>>>0>>0|i>>>0>k>>>0;i=l+((i|0)==(D|0)&E>>>0>>0|i>>>0>>0)|0;k=0;i=m+i|0;k=i;l=h|0;i=l+t|0;k=(k|x)+e|0;k=i>>>0>>0?k+1|0:k;l=k;m=(e|0)==(k|0)&i>>>0>>0|e>>>0>k>>>0;e=m+C|0;k=p;w=e;e=e>>>0>>0?k+1|0:k;t=i;p=l;A=Dr(A,r,L,c);r=N;k=Dr(K,u,v,Q);i=k+A|0;l=N+r|0;l=i>>>0>>0?l+1|0:l;m=l;l=0;k=(m|0)==(r|0)&i>>>0>>0|m>>>0>>0;i=m+q|0;k=(k|l)+d|0;k=i>>>0>>0?k+1|0:k;m=i;l=i;i=k;l=(d|0)==(k|0)&l>>>0>>0|d>>>0>k>>>0;d=k;q=l;k=o;o=0;h=o+m|0;l=d+k|0;d=h;l=d>>>0>>0?l+1|0:l;h=(i|0)==(l|0)&d>>>0>>0|i>>>0>l>>>0;d=q+h|0;l=0;l=d>>>0>>0?1:l;h=d;d=d+t|0;k=l+p|0;k=d>>>0>>0?k+1|0:k;h=d;i=k;k=(k|0)==(p|0)&d>>>0>>0|k>>>0